<?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>93055</bug_id>
          
          <creation_ts>2012-08-02 18:19:08 -0700</creation_ts>
          <short_desc>REGRESSION(r124540): Broke compile on Chromium Win bot (Requested by dimich on #webkit).</short_desc>
          <delta_ts>2012-08-02 18:32:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>92558</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>dgrogan</cc>
    
    <cc>dimich</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>686081</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-02 18:19:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/124540 broke the build:
Broke compile on Chromium Win bot (Requested by dimich 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>686083</commentid>
    <comment_count>1</comment_count>
      <attachid>156228</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-02 18:19:48 -0700</bug_when>
    <thetext>Created attachment 156228
ROLLOUT of r124540

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>686096</commentid>
    <comment_count>2</comment_count>
      <attachid>156228</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2012-08-02 18:32:42 -0700</bug_when>
    <thetext>Comment on attachment 156228
ROLLOUT of r124540

Clearing flags on attachment: 156228

Committed r124545: &lt;http://trac.webkit.org/changeset/124545&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686097</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2012-08-02 18:32:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156228</attachid>
            <date>2012-08-02 18:19:48 -0700</date>
            <delta_ts>2012-08-02 18:32:42 -0700</delta_ts>
            <desc>ROLLOUT of r124540</desc>
            <filename>bug-93055-20120803012523.patch</filename>
            <type>text/plain</type>
            <size>33024</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTgzYTBlY2JiNjIxZGFl
OWQzMDA3ZjhhMTNkYTQ3N2Q2N2RjYzA0Yy4uNTcwNWFiNTY0N2FiOTk2NjEyMDY0Y2U3N2YzODdm
YjM0MWYwMWI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA4LTAyICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI0NTQwLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjQ1NDAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkzMDU1CisKKyAgICAgICAgQnJva2UgY29tcGlsZSBvbiBDaHJvbWl1bSBXaW4g
Ym90IChSZXF1ZXN0ZWQgYnkgZGltaWNoIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChJREJCYWNr
aW5nU3RvcmUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkNhbGxiYWNrcy5oOgor
ICAgICAgICAoSURCQ2FsbGJhY2tzKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJE
YXRhYmFzZUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFj
a2VuZEltcGw6OlBlbmRpbmdPcGVuQ2FsbDo6UGVuZGluZ09wZW5DYWxsKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b3BlbkludGVybmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6Om1ldGFkYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6dHJhbnNhY3Rpb25GaW5pc2hl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpwcm9jZXNzUGVu
ZGluZ0NhbGxzKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZEltcGw6OnJl
Z2lzdGVyRnJvbnRlbmRDYWxsYmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VC
YWNrZW5kSW1wbDo6ZGVsZXRlRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJh
c2VCYWNrZW5kSW1wbDo6Y2xvc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRh
dGFiYXNlQmFja2VuZEltcGwuaDoKKyAgICAgICAgKElEQkRhdGFiYXNlQmFja2VuZEltcGwpOgor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQ2FsbGJhY2tzLmg6CisgICAg
ICAgIChJREJEYXRhYmFzZUNhbGxiYWNrcyk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkZhY3RvcnlC
YWNrZW5kSW1wbDo6b3Blbik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxE
QkJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQmFja2luZ1N0
b3JlOjpnZXRJREJEYXRhYmFzZU1ldGFEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVs
REJCYWNraW5nU3RvcmU6OmNyZWF0ZUlEQkRhdGFiYXNlTWV0YURhdGEpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6ZGVsZXRlRGF0YWJhc2UpOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUuaDoKKyAgICAgICAgKElE
QkxldmVsREJCYWNraW5nU3RvcmUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rp
b25CYWNrZW5kSW1wbDo6Y29tbWl0KToKKwogMjAxMi0wOC0wMiAgQXJ2aWQgTmlsc3NvbiAgPGFu
aWxzc29uQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwc3RyZWFtIEdyYXBoaWNz
TGF5ZXJDbGllbnQ6OmNvbnRlbnRzVmlzaWJsZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmlu
ZGV4IDNlYmJhMzY1NjNlODk5NGQ4Mzk1ZWFkYTZhZDc2NzhiNzNjYzEwOTcuLjQxNmJiYzM2N2U0
MDIxMzg4M2RmNTFjM2FhZDg4YTYzMjAxMmUwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgtMDIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjQ1
NDAuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyNDU0MAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwNTUKKworICAg
ICAgICBCcm9rZSBjb21waWxlIG9uIENocm9taXVtIFdpbiBib3QgKFJlcXVlc3RlZCBieSBkaW1p
Y2ggb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiB0ZXN0cy9JREJBYm9ydE9uQ29y
cnVwdFRlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmFpbGluZ0JhY2tpbmdTdG9yZTo6Y3Jl
YXRlSURCRGF0YWJhc2VNZXRhRGF0YSk6CisgICAgICAgICogdGVzdHMvSURCRmFrZUJhY2tpbmdT
dG9yZS5oOgorCiAyMDEyLTA4LTAyICBBbGV4YW5kcmUgRWxpYXMgIDxhZWxpYXNAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBbY2hyb21pdW1dIGRldmljZVZpZXdwb3J0U2l6ZSBjbGVhbnVwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oCmlu
ZGV4IGQ5YzUxYzQzNTIzYjQ2MzI4NzM4YjQ1YjE2YjMzNTY2OWFmZjM5Y2MuLmY4ZGU2ODIwMjdm
YzI1M2Y3N2ZhNTU5OTRjMWViMGViZmMzMDQxNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oCkBAIC00Nyw5ICs0Nyw4IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5JREJCYWNraW5nU3RvcmUoKSB7fTsKIAogICAgIHZpcnR1YWwg
dm9pZCBnZXREYXRhYmFzZU5hbWVzKFZlY3RvcjxTdHJpbmc+JiBmb3VuZE5hbWVzKSA9IDA7Ci0g
ICAgdmlydHVhbCBib29sIGdldElEQkRhdGFiYXNlTWV0YURhdGEoY29uc3QgU3RyaW5nJiBuYW1l
LCBTdHJpbmcmIGZvdW5kU3RyaW5nVmVyc2lvbiwgaW50NjRfdCYgZm91bmRJbnRWZXJzaW9uLCBp
bnQ2NF90JiBmb3VuZElkKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIGNyZWF0ZUlEQkRhdGFiYXNl
TWV0YURhdGEoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHN0cmluZ1ZlcnNpb24s
IGNvbnN0IGludDY0X3QgaW50VmVyc2lvbiwgaW50NjRfdCYgcm93SWQpID0gMDsKLSAgICB2aXJ0
dWFsIGJvb2wgdXBkYXRlSURCRGF0YWJhc2VJbnRWZXJzaW9uKGludDY0X3Qgcm93SWQsIGludDY0
X3QgaW50VmVyc2lvbikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBnZXRJREJEYXRhYmFzZU1ldGFE
YXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgU3RyaW5nJiBmb3VuZFZlcnNpb24sIGludDY0X3QmIGZv
dW5kSWQpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgY3JlYXRlSURCRGF0YWJhc2VNZXRhRGF0YShj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgaW50NjRfdCYgcm93SWQp
ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgdXBkYXRlSURCRGF0YWJhc2VNZXRhRGF0YShpbnQ2NF90
IHJvd0lkLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgZGVs
ZXRlRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBuYW1lKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkNhbGxiYWNrcy5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ2FsbGJhY2tzLmgKaW5kZXggMmE2YWZlZjM4MzE1YmU2
NWIyNjYyOGU1Njg4NmRiYTMyYWM1MzY0NS4uODUzZmZjNzJkMjYwMzkxZmNjNDM2NjRkNTczZmM1
ZGFlMzAyZGMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCQ2FsbGJhY2tzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
Q2FsbGJhY2tzLmgKQEAgLTU5LDkgKzU5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBv
blN1Y2Nlc3MoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzUmVmUHRyPElE
QktleT4sIGNvbnN0IElEQktleVBhdGgmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vz
c1dpdGhDb250aW51YXRpb24oKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vzc1dpdGhQ
cmVmZXRjaChjb25zdCBWZWN0b3I8UmVmUHRyPElEQktleT4gPiYga2V5cywgY29uc3QgVmVjdG9y
PFJlZlB0cjxJREJLZXk+ID4mIHByaW1hcnlLZXlzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4gPiYgdmFsdWVzKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIG9uQmxv
Y2tlZCgpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgb25CbG9j
a2VkKGludDY0X3QgZXhpc3RpbmdWZXJzaW9uKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0g
ICAgdmlydHVhbCB2b2lkIG9uVXBncmFkZU5lZWRlZChpbnQ2NF90IG9sZFZlcnNpb24sIFBhc3NS
ZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiwgUGFzc1JlZlB0cjxJREJEYXRh
YmFzZUJhY2tlbmRJbnRlcmZhY2U+KSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisgICAgdmly
dHVhbCB2b2lkIG9uQmxvY2tlZCgpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNl
QmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0
YWJhc2VCYWNrZW5kSW1wbC5jcHAKaW5kZXggZDRmOGQxMzczY2JmYzAwYmExYWQxMTczNGFmZjZi
ZDNiNTU1N2Q4MS4uZTQ1MTQ3ZDVjMGIwYjYyYjMzZDNmM2NjZDYzYTYxN2ZiNWI4Yjk4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNr
ZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0
YWJhc2VCYWNrZW5kSW1wbC5jcHAKQEAgLTUyLDI5ICs1Miw5IEBAIHByaXZhdGU6CiAgICAgICAg
IDogbV9jYWxsYmFja3MoY2FsbGJhY2tzKQogICAgIHsKICAgICB9Ci0KICAgICBSZWZQdHI8SURC
Q2FsbGJhY2tzPiBtX2NhbGxiYWNrczsKIH07CiAKLWNsYXNzIElEQkRhdGFiYXNlQmFja2VuZElt
cGw6OlBlbmRpbmdPcGVuV2l0aFZlcnNpb25DYWxsIDogcHVibGljIFJlZkNvdW50ZWQ8UGVuZGlu
Z09wZW5XaXRoVmVyc2lvbkNhbGw+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQ
ZW5kaW5nT3BlbldpdGhWZXJzaW9uQ2FsbD4gY3JlYXRlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiBjYWxsYmFja3MsIGludDY0X3QgdmVyc2lvbikKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgUGVuZGluZ09wZW5XaXRoVmVyc2lvbkNhbGwoY2FsbGJhY2tzLCB2ZXJzaW9uKSk7
Ci0gICAgfQotICAgIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MoKSB7IHJldHVy
biBtX2NhbGxiYWNrczsgfQotICAgIGludDY0X3QgdmVyc2lvbigpIHsgcmV0dXJuIG1fdmVyc2lv
bjsgfQotCi1wcml2YXRlOgotICAgIFBlbmRpbmdPcGVuV2l0aFZlcnNpb25DYWxsKFBhc3NSZWZQ
dHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIGludDY0X3QgdmVyc2lvbikKLSAgICAgICAgOiBt
X2NhbGxiYWNrcyhjYWxsYmFja3MpCi0gICAgICAgICwgbV92ZXJzaW9uKHZlcnNpb24pCi0gICAg
ewotICAgIH0KLSAgICBSZWZQdHI8SURCQ2FsbGJhY2tzPiBtX2NhbGxiYWNrczsKLSAgICBpbnQ2
NF90IG1fdmVyc2lvbjsKLX07Ci0KIGNsYXNzIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OlBlbmRp
bmdEZWxldGVDYWxsIDogcHVibGljIFJlZkNvdW50ZWQ8UGVuZGluZ0RlbGV0ZUNhbGw+IHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZW5kaW5nRGVsZXRlQ2FsbD4gY3JlYXRlKFBh
c3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCkBAIC0xMjYsNyArMTA2LDYgQEAgSURC
RGF0YWJhc2VCYWNrZW5kSW1wbDo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbChjb25zdCBTdHJpbmcm
IG5hbWUsIElEQkJhY2tpbmdTdG8KICAgICAsIG1faWQoSW52YWxpZElkKQogICAgICwgbV9uYW1l
KG5hbWUpCiAgICAgLCBtX3ZlcnNpb24oIiIpCi0gICAgLCBtX2ludFZlcnNpb24oSURCRGF0YWJh
c2VNZXRhZGF0YTo6Tm9JbnRWZXJzaW9uKQogICAgICwgbV9pZGVudGlmaWVyKHVuaXF1ZUlkZW50
aWZpZXIpCiAgICAgLCBtX2ZhY3RvcnkoZmFjdG9yeSkKICAgICAsIG1fdHJhbnNhY3Rpb25Db29y
ZGluYXRvcihjb29yZGluYXRvcikKQEAgLTEzNywxMyArMTE2LDEzIEBAIElEQkRhdGFiYXNlQmFj
a2VuZEltcGw6OklEQkRhdGFiYXNlQmFja2VuZEltcGwoY29uc3QgU3RyaW5nJiBuYW1lLCBJREJC
YWNraW5nU3RvCiAKIGJvb2wgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6b3BlbkludGVybmFsKCkK
IHsKLSAgICBib29sIHN1Y2Nlc3MgPSBtX2JhY2tpbmdTdG9yZS0+Z2V0SURCRGF0YWJhc2VNZXRh
RGF0YShtX25hbWUsIG1fdmVyc2lvbiwgbV9pbnRWZXJzaW9uLCBtX2lkKTsKLSAgICBBU1NFUlRf
V0lUSF9NRVNTQUdFKHN1Y2Nlc3MgPT0gKG1faWQgIT0gSW52YWxpZElkKSwgInN1Y2Nlc3MgPSAl
cywgbV9pZCA9ICUiUFJJZDY0LCBzdWNjZXNzID8gInRydWUiIDogImZhbHNlIiwgbV9pZCk7Cisg
ICAgYm9vbCBzdWNjZXNzID0gbV9iYWNraW5nU3RvcmUtPmdldElEQkRhdGFiYXNlTWV0YURhdGEo
bV9uYW1lLCBtX3ZlcnNpb24sIG1faWQpOworICAgIEFTU0VSVChzdWNjZXNzID09IChtX2lkICE9
IEludmFsaWRJZCkpOwogICAgIGlmIChzdWNjZXNzKSB7CiAgICAgICAgIGxvYWRPYmplY3RTdG9y
ZXMoKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIHJldHVybiBtX2JhY2tpbmdT
dG9yZS0+Y3JlYXRlSURCRGF0YWJhc2VNZXRhRGF0YShtX25hbWUsIG1fdmVyc2lvbiwgbV9pbnRW
ZXJzaW9uLCBtX2lkKTsKKyAgICByZXR1cm4gbV9iYWNraW5nU3RvcmUtPmNyZWF0ZUlEQkRhdGFi
YXNlTWV0YURhdGEobV9uYW1lLCBtX3ZlcnNpb24sIG1faWQpOwogfQogCiBJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjp+SURCRGF0YWJhc2VCYWNrZW5kSW1wbCgpCkBAIC0xNTcsNyArMTM2LDcgQEAg
UGFzc1JlZlB0cjxJREJCYWNraW5nU3RvcmU+IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OmJhY2tp
bmdTdG9yZSgpIGNvbnN0CiAKIElEQkRhdGFiYXNlTWV0YWRhdGEgSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6bWV0YWRhdGEoKSBjb25zdAogewotICAgIElEQkRhdGFiYXNlTWV0YWRhdGEgbWV0YWRh
dGEobV9uYW1lLCBtX3ZlcnNpb24sIG1faW50VmVyc2lvbik7CisgICAgSURCRGF0YWJhc2VNZXRh
ZGF0YSBtZXRhZGF0YShtX25hbWUsIG1fdmVyc2lvbiwgSURCRGF0YWJhc2VNZXRhZGF0YTo6Tm9J
bnRWZXJzaW9uKTsKICAgICBmb3IgKE9iamVjdFN0b3JlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9
IG1fb2JqZWN0U3RvcmVzLmJlZ2luKCk7IGl0ICE9IG1fb2JqZWN0U3RvcmVzLmVuZCgpOyArK2l0
KQogICAgICAgICBtZXRhZGF0YS5vYmplY3RTdG9yZXMuc2V0KGl0LT5maXJzdCwgaXQtPnNlY29u
ZC0+bWV0YWRhdGEoKSk7CiAgICAgcmV0dXJuIG1ldGFkYXRhOwpAQCAtMjM1LDEwICsyMTQsNiBA
QCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldFZlcnNpb24oY29uc3QgU3RyaW5nJiB2
ZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbAogICAgICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURC
RGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJfQUJPUlRfRVJS
LCAiQ29ubmVjdGlvbiB3YXMgY2xvc2VkIGJlZm9yZSBzZXQgdmVyc2lvbiB0cmFuc2FjdGlvbiB3
YXMgY3JlYXRlZCIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAobV9pbnRWZXJz
aW9uICE9IElEQkRhdGFiYXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbikgewotICAgICAgICBjYWxs
YmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpVTktOT1dOX0VSUiwgU3RyaW5nOjpmb3JtYXQoIllvdSBjYW4ndCB1c2UgdGhlIHNldFZl
cnNpb24gZnVuY3Rpb24gaWYgeW91J3ZlIGFscmVhZHkgc2V0IHRoZSB2ZXJzaW9uIHRocm91Z2gg
YW4gb3BlbiBjYWxsLiAgVGhlIGN1cnJlbnQgaW50ZWdlciB2ZXJzaW9uIGlzICUiUFJJZDY0LCBt
X2ludFZlcnNpb24pKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiAgICAgZm9yIChEYXRhYmFz
ZUNhbGxiYWNrc1NldDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2RhdGFiYXNlQ2FsbGJhY2tzU2V0
LmJlZ2luKCk7IGl0ICE9IG1fZGF0YWJhc2VDYWxsYmFja3NTZXQuZW5kKCk7ICsraXQpIHsKICAg
ICAgICAgaWYgKCppdCAhPSBkYXRhYmFzZUNhbGxiYWNrcykKICAgICAgICAgICAgICgqaXQpLT5v
blZlcnNpb25DaGFuZ2UodmVyc2lvbik7CkBAIC0yODQsMjAgKzI1OSw2IEBAIHZvaWQgSURCRGF0
YWJhc2VCYWNrZW5kSW1wbDo6c2V0VmVyc2lvbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmCiAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoUGFzc1JlZlB0cjxJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+KHRyYW5zYWN0aW9uKSk7CiB9CiAKLXZvaWQgSURCRGF0
YWJhc2VCYWNrZW5kSW1wbDo6c2V0SW50VmVyc2lvbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNlLCBpbnQ2
NF90IHZlcnNpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIFBhc3NSZWZQ
dHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPiB0cmFuc2FjdGlvbikKLXsKLSAgICBp
bnQ2NF90IGRhdGFiYXNlSWQgPSBkYXRhYmFzZS0+aWQoKTsKLSAgICBpbnQ2NF90IG9sZFZlcnNp
b24gPSBkYXRhYmFzZS0+bV9pbnRWZXJzaW9uOwotICAgIEFTU0VSVCh2ZXJzaW9uID4gb2xkVmVy
c2lvbik7Ci0gICAgZGF0YWJhc2UtPm1faW50VmVyc2lvbiA9IHZlcnNpb247Ci0gICAgaWYgKCFk
YXRhYmFzZS0+bV9iYWNraW5nU3RvcmUtPnVwZGF0ZUlEQkRhdGFiYXNlSW50VmVyc2lvbihkYXRh
YmFzZUlkLCBkYXRhYmFzZS0+bV9pbnRWZXJzaW9uKSkgewotICAgICAgICBjYWxsYmFja3MtPm9u
RXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktO
T1dOX0VSUiwgIkVycm9yIHdyaXRpbmcgZGF0YSB0byBzdGFibGUgc3RvcmFnZS4iKSk7Ci0gICAg
ICAgIHRyYW5zYWN0aW9uLT5hYm9ydCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGNh
bGxiYWNrcy0+b25VcGdyYWRlTmVlZGVkKG9sZFZlcnNpb24sIHRyYW5zYWN0aW9uLCBkYXRhYmFz
ZSk7Ci19Ci0KIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6dHJhbnNhY3Rpb25TdGFydGVk
KFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4gcHJwVHJhbnNhY3Rpb24pCiB7
CiAgICAgUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+IHRyYW5zYWN0aW9uID0gcHJw
VHJhbnNhY3Rpb247CkBAIC0zMTUsMTYgKzI3Niw2IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5k
SW1wbDo6dHJhbnNhY3Rpb25GaW5pc2hlZChQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2Vu
CiAgICAgaWYgKHRyYW5zYWN0aW9uLT5tb2RlKCkgPT0gSURCVHJhbnNhY3Rpb246OlZFUlNJT05f
Q0hBTkdFKSB7CiAgICAgICAgIEFTU0VSVCh0cmFuc2FjdGlvbi5nZXQoKSA9PSBtX3J1bm5pbmdW
ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24uZ2V0KCkpOwogICAgICAgICBtX3J1bm5pbmdWZXJzaW9u
Q2hhbmdlVHJhbnNhY3Rpb24uY2xlYXIoKTsKLSAgICB9Ci19Ci0KLXZvaWQgSURCRGF0YWJhc2VC
YWNrZW5kSW1wbDo6dHJhbnNhY3Rpb25GaW5pc2hlZEFuZEV2ZW50c0ZpcmVkKFBhc3NSZWZQdHI8
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4gcHJwVHJhbnNhY3Rpb24pCi17Ci0gICAgUmVmUHRy
PElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+IHRyYW5zYWN0aW9uID0gcHJwVHJhbnNhY3Rpb247
Ci0gICAgaWYgKHRyYW5zYWN0aW9uLT5tb2RlKCkgPT0gSURCVHJhbnNhY3Rpb246OlZFUlNJT05f
Q0hBTkdFKSB7Ci0gICAgICAgIC8vIElmIHRoaXMgd2FzIGFuIG9wZW4td2l0aC12ZXJzaW9uIGNh
bGwsIHRoZXJlIHdpbGwgYmUgYSAic2Vjb25kCi0gICAgICAgIC8vIGhhbGYiIG9wZW4gY2FsbCB3
YWl0aW5nIGZvciB1cyBpbiBwcm9jZXNzUGVuZGluZ0NhbGxzLgotICAgICAgICAvLyBGSVhNRTog
V2hlbiB3ZSBubyBsb25nZXIgc3VwcG9ydCBzZXRWZXJzaW9uLCBhc3NlcnQgc3VjaCBhIHRoaW5n
LgogICAgICAgICBwcm9jZXNzUGVuZGluZ0NhbGxzKCk7CiAgICAgfQogfQpAQCAtMzM2LDE2ICsy
ODcsNyBAQCBpbnQzMl90IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OmNvbm5lY3Rpb25Db3VudCgp
CiAKIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6cHJvY2Vzc1BlbmRpbmdDYWxscygpCiB7
Ci0gICAgLy8gRklYTUU6IENoYW5nZSBmcm9tIHF1ZXVlIHRvIGp1c3QgYSBzaW5nbGUgcGxhY2Ug
aG9sZGVyLgotICAgIEFTU0VSVChtX3BlbmRpbmdTZWNvbmRIYWxmT3BlbldpdGhWZXJzaW9uQ2Fs
bHMuc2l6ZSgpIDw9IDEpOwotICAgIHdoaWxlICghbV9wZW5kaW5nU2Vjb25kSGFsZk9wZW5XaXRo
VmVyc2lvbkNhbGxzLmlzRW1wdHkoKSkgewotICAgICAgICBSZWZQdHI8UGVuZGluZ09wZW5XaXRo
VmVyc2lvbkNhbGw+IHBlbmRpbmdPcGVuV2l0aFZlcnNpb25DYWxsID0gbV9wZW5kaW5nU2Vjb25k
SGFsZk9wZW5XaXRoVmVyc2lvbkNhbGxzLnRha2VGaXJzdCgpOwotICAgICAgICBBU1NFUlQocGVu
ZGluZ09wZW5XaXRoVmVyc2lvbkNhbGwtPnZlcnNpb24oKSA9PSBtX2ludFZlcnNpb24pOwotICAg
ICAgICBBU1NFUlQobV9pZCAhPSBJbnZhbGlkSWQpOwotICAgICAgICArK21fcGVuZGluZ0Nvbm5l
Y3Rpb25Db3VudDsKLSAgICAgICAgcGVuZGluZ09wZW5XaXRoVmVyc2lvbkNhbGwtPmNhbGxiYWNr
cygpLT5vblN1Y2Nlc3ModGhpcyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgQVNTRVJU
KGNvbm5lY3Rpb25Db3VudCgpIDw9IDEpOwogCiAgICAgLy8gUGVuZGluZyBjYWxscyBtYXkgYmUg
cmVxdWV1ZWQgb3IgYWJvcnRlZAogICAgIERlcXVlPFJlZlB0cjxQZW5kaW5nU2V0VmVyc2lvbkNh
bGw+ID4gcGVuZGluZ1NldFZlcnNpb25DYWxsczsKQEAgLTM4MywxMyArMzI1LDYgQEAgdm9pZCBJ
REJEYXRhYmFzZUJhY2tlbmRJbXBsOjpwcm9jZXNzUGVuZGluZ0NhbGxzKCkKICAgICBpZiAobV9y
dW5uaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uIHx8ICFtX3BlbmRpbmdTZXRWZXJzaW9uQ2Fs
bHMuaXNFbXB0eSgpIHx8ICFtX3BlbmRpbmdEZWxldGVDYWxscy5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIERlcXVlPFJlZlB0cjxQZW5kaW5nT3BlbldpdGhWZXJzaW9uQ2FsbD4g
PiBwZW5kaW5nT3BlbldpdGhWZXJzaW9uQ2FsbHM7Ci0gICAgbV9wZW5kaW5nT3BlbldpdGhWZXJz
aW9uQ2FsbHMuc3dhcChwZW5kaW5nT3BlbldpdGhWZXJzaW9uQ2FsbHMpOwotICAgIHdoaWxlICgh
cGVuZGluZ09wZW5XaXRoVmVyc2lvbkNhbGxzLmlzRW1wdHkoKSkgewotICAgICAgICBSZWZQdHI8
UGVuZGluZ09wZW5XaXRoVmVyc2lvbkNhbGw+IHBlbmRpbmdPcGVuV2l0aFZlcnNpb25DYWxsID0g
cGVuZGluZ09wZW5XaXRoVmVyc2lvbkNhbGxzLnRha2VGaXJzdCgpOwotICAgICAgICBvcGVuQ29u
bmVjdGlvbldpdGhWZXJzaW9uKHBlbmRpbmdPcGVuV2l0aFZlcnNpb25DYWxsLT5jYWxsYmFja3Mo
KSwgcGVuZGluZ09wZW5XaXRoVmVyc2lvbkNhbGwtPnZlcnNpb24oKSk7Ci0gICAgfQotCiAgICAg
Ly8gR2l2ZW4gdGhlIGNoZWNrIGFib3ZlLCBpdCBhcHBlYXJzIHRoYXQgY2FsbHMgY2Fubm90IGJl
IHJlcXVldWVkIGJ5CiAgICAgLy8gb3BlbkNvbm5lY3Rpb24sIGJ1dCB1c2UgYSBkaWZmZXJlbnQg
cXVldWUgZm9yIGl0ZXJhdGlvbiB0byBiZSBzYWZlLgogICAgIERlcXVlPFJlZlB0cjxQZW5kaW5n
T3BlbkNhbGw+ID4gcGVuZGluZ09wZW5DYWxsczsKQEAgLTQyMSwxMCArMzU2LDYgQEAgdm9pZCBJ
REJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZWdpc3RlckZyb250ZW5kQ2FsbGJhY2tzKFBhc3NSZWZQ
dHI8SURCRGF0YWJhc2VDYWwKICAgICBBU1NFUlQobV9wZW5kaW5nQ29ubmVjdGlvbkNvdW50KTsK
ICAgICAtLW1fcGVuZGluZ0Nvbm5lY3Rpb25Db3VudDsKICAgICBtX2RhdGFiYXNlQ2FsbGJhY2tz
U2V0LmFkZChSZWZQdHI8SURCRGF0YWJhc2VDYWxsYmFja3M+KGNhbGxiYWNrcykpOwotICAgIC8v
IFdlIGdpdmUgbWF4IHByaW9yaXR5IHRvIG9wZW4gY2FsbHMgdGhhdCBmb2xsb3cgdXBncmFkZW5l
ZWRlZAotICAgIC8vIGV2ZW50czsgdHJpZ2dlciB0aGUgcmVzdCBvZiB0aGUgcXVldWVzIHRvIGJl
IHNlcnZpY2VkIHdoZW4gdGhvc2Ugb3BlbgotICAgIC8vIGNhbGxzIGFyZSBmaW5pc2hlZC4KLSAg
ICBwcm9jZXNzUGVuZGluZ0NhbGxzKCk7CiB9CiAKIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1w
bDo6b3BlbkNvbm5lY3Rpb24oUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcykKQEAg
LTQ0Miw4MCArMzczLDYgQEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpvcGVuQ29ubmVj
dGlvbihQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzKQogICAgIH0KIH0KIAotdm9p
ZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpydW5JbnRWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24o
aW50NjRfdCByZXF1ZXN0ZWRWZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2Fs
bGJhY2tzKQotewotICAgIC8vIEZJWE1FOiBUaGlzIGZ1bmN0aW9uIHdvbid0IGJlIHJlYWNoZWQg
dW50aWwgaXQncyBleHBvc2VkIHRvIHNjcmlwdCBpbgotICAgIC8vIHdiay51Zy85Mjg5Ny4KLSAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLQotICAgIFJlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxi
YWNrcyA9IHBycENhbGxiYWNrczsKLSAgICBBU1NFUlQoY2FsbGJhY2tzKTsKLSAgICBmb3IgKERh
dGFiYXNlQ2FsbGJhY2tzU2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fZGF0YWJhc2VDYWxsYmFj
a3NTZXQuYmVnaW4oKTsgaXQgIT0gbV9kYXRhYmFzZUNhbGxiYWNrc1NldC5lbmQoKTsgKytpdCkg
ewotICAgICAgICAvLyBOb3RlIHRoYXQgc29tZSBjb25uZWN0aW9ucyBtaWdodCBjbG9zZSBpbiB0
aGUgdmVyc2lvbmNoYW5nZSBldmVudAotICAgICAgICAvLyBoYW5kbGVyIGZvciBzb21lIG90aGVy
IGNvbm5lY3Rpb24sIGFmdGVyIHdoaWNoIGl0cyBvd24gdmVyc2lvbmNoYW5nZQotICAgICAgICAv
LyBldmVudCBzaG91bGQgbm90IGJlIGZpcmVkLiBUaGUgYmFja2VuZCBkb2Vzbid0IHdvcnJ5IGFi
b3V0IHRoaXMsIHdlCi0gICAgICAgIC8vIGp1c3QgcXVldWUgdXAgYSB2ZXJzaW9uIGNoYW5nZSBl
dmVudCBmb3IgZXZlcnkgY29ubmVjdGlvbi4gVGhlCi0gICAgICAgIC8vIGZyb250ZW5kIHRha2Vz
IGNhcmUgdG8gb25seSBkaXNwYXRjaCB0byBvcGVuIGNvbm5lY3Rpb25zLgotICAgICAgICAoKml0
KS0+b25WZXJzaW9uQ2hhbmdlKG1faW50VmVyc2lvbiwgcmVxdWVzdGVkVmVyc2lvbik7Ci0gICAg
fQotICAgIC8vIFRoZSBzcGVjIGRpY3RhdGVzIHdlIHdhaXQgdW50aWwgYWxsIHRoZSB2ZXJzaW9u
IGNoYW5nZSBldmVudHMgYXJlCi0gICAgLy8gZGVsaXZlcmVkIGFuZCB0aGVuIGNoZWNrIG1fZGF0
YWJhc2VDYWxsYmFja3MuZW1wdHkoKSBiZWZvcmUgcHJvY2VlZGluZwotICAgIC8vIG9yIGZpcmlu
ZyBhIGJsb2NrZWQgZXZlbnQsIGJ1dCBpbnN0ZWFkIHdlIHNob3VsZCBiZSBjb25zaXN0ZW50IHdp
dGggaG93Ci0gICAgLy8gdGhlIG9sZCBzZXRWZXJzaW9uIChpbmNvcnJlY3RseSkgZGlkIGl0Lgot
ICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhlIGNhbGwgdG8gb25CbG9ja2VkIGFuZCBpbnN0ZWFkIHdh
aXQgdW50aWwgdGhlIGZyb250ZW5kCi0gICAgLy8gdGVsbHMgdXMgdGhhdCBhbGwgdGhlIGJsb2Nr
ZWQgZXZlbnRzIGhhdmUgYmVlbiBkZWxpdmVyZWQuICBTZWUKLSAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMzAKLSAgICBpZiAoY29ubmVjdGlvbkNvdW50
KCkgPiAwKQotICAgICAgICBjYWxsYmFja3MtPm9uQmxvY2tlZChtX2ludFZlcnNpb24pOwotICAg
IC8vIEZJWE1FOiBBZGQgdGVzdCBmb3IgbV9ydW5uaW5nVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9u
LgotICAgIGlmIChtX3J1bm5pbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24gfHwgY29ubmVjdGlv
bkNvdW50KCkgPiAwKSB7Ci0gICAgICAgIG1fcGVuZGluZ09wZW5XaXRoVmVyc2lvbkNhbGxzLmFw
cGVuZChQZW5kaW5nT3BlbldpdGhWZXJzaW9uQ2FsbDo6Y3JlYXRlKGNhbGxiYWNrcywgcmVxdWVz
dGVkVmVyc2lvbikpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgUmVmUHRyPERPTVN0
cmluZ0xpc3Q+IG9iamVjdFN0b3JlTmFtZXMgPSBET01TdHJpbmdMaXN0OjpjcmVhdGUoKTsKLSAg
ICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlPiB0cmFuc2FjdGlvbkludGVyZmFjZSA9IHRyYW5zYWN0aW9uKG9iamVjdFN0b3Jl
TmFtZXMuZ2V0KCksIElEQlRyYW5zYWN0aW9uOjpWRVJTSU9OX0NIQU5HRSwgZWMpOwotICAgIFJl
ZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsPiB0cmFuc2FjdGlvbiA9IElEQlRyYW5zYWN0
aW9uQmFja2VuZEltcGw6OmZyb20odHJhbnNhY3Rpb25JbnRlcmZhY2UuZ2V0KCkpOwotICAgIEFT
U0VSVCghZWMpOwotCi0gICAgUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNl
ID0gdGhpczsKLSAgICBQYXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IGlu
dFZlcnNpb25UYXNrID0gY3JlYXRlQ2FsbGJhY2tUYXNrKCZJREJEYXRhYmFzZUJhY2tlbmRJbXBs
OjpzZXRJbnRWZXJzaW9uSW50ZXJuYWwsIGRhdGFiYXNlLCByZXF1ZXN0ZWRWZXJzaW9uLCBjYWxs
YmFja3MsIHRyYW5zYWN0aW9uKTsKLSAgICAvLyBGSVhNRTogTWFrZSB0aGlzIHJlc2V0IHRoZSBp
bnRlZ2VyIHZlcnNpb24gYXMgd2VsbC4KLSAgICBQYXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OlRhc2s+IHJlc2V0VmVyc2lvbk9uQWJvcnRUYXNrID0gY3JlYXRlQ2FsbGJhY2tUYXNr
KCZJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpyZXNldFZlcnNpb24sIGRhdGFiYXNlLCBtX3ZlcnNp
b24pOwotICAgIGlmICghdHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhpbnRWZXJzaW9uVGFzaywg
cmVzZXRWZXJzaW9uT25BYm9ydFRhc2spKQotICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7Ci0gICAgbV9wZW5kaW5nU2Vjb25kSGFsZk9w
ZW5XaXRoVmVyc2lvbkNhbGxzLmFwcGVuZChQZW5kaW5nT3BlbldpdGhWZXJzaW9uQ2FsbDo6Y3Jl
YXRlKGNhbGxiYWNrcywgcmVxdWVzdGVkVmVyc2lvbikpOwotfQotCi12b2lkIElEQkRhdGFiYXNl
QmFja2VuZEltcGw6Om9wZW5Db25uZWN0aW9uV2l0aFZlcnNpb24oUGFzc1JlZlB0cjxJREJDYWxs
YmFja3M+IHBycENhbGxiYWNrcywgaW50NjRfdCB2ZXJzaW9uKQotewotICAgIFJlZlB0cjxJREJD
YWxsYmFja3M+IGNhbGxiYWNrcyA9IHBycENhbGxiYWNrczsKLSAgICBpZiAoIW1fcGVuZGluZ0Rl
bGV0ZUNhbGxzLmlzRW1wdHkoKSB8fCBtX3J1bm5pbmdWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24g
fHwgIW1fcGVuZGluZ1NldFZlcnNpb25DYWxscy5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5k
aW5nT3BlbldpdGhWZXJzaW9uQ2FsbHMuYXBwZW5kKFBlbmRpbmdPcGVuV2l0aFZlcnNpb25DYWxs
OjpjcmVhdGUoY2FsbGJhY2tzLCB2ZXJzaW9uKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0g
ICAgaWYgKG1faWQgPT0gSW52YWxpZElkKSB7Ci0gICAgICAgIGlmIChvcGVuSW50ZXJuYWwoKSkK
LSAgICAgICAgICAgIEFTU0VSVChtX2ludFZlcnNpb24gPT0gSURCRGF0YWJhc2VNZXRhZGF0YTo6
Tm9JbnRWZXJzaW9uKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBjYWxsYmFja3MtPm9u
RXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVTktO
T1dOX0VSUiwgIkludGVybmFsIGVycm9yLiIpKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotICAgIH0KLSAgICBpZiAodmVyc2lvbiA+IG1faW50VmVyc2lvbikgewotICAgICAgICBy
dW5JbnRWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24odmVyc2lvbiwgY2FsbGJhY2tzKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAodmVyc2lvbiA8IG1faW50VmVyc2lvbikgewotICAg
ICAgICBjYWxsYmFja3MtPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFi
YXNlRXhjZXB0aW9uOjpWRVJfRVJSLCBTdHJpbmc6OmZvcm1hdCgiVGhlIHJlcXVlc3RlZCB2ZXJz
aW9uICglIlBSSWQ2NCIpIGlzIGxlc3MgdGhhbiB0aGUgZXhpc3RpbmcgdmVyc2lvbiAoJSJQUklk
NjQiKS4iLCB2ZXJzaW9uLCBtX2ludFZlcnNpb24pKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgQVNTRVJUKHZlcnNpb24gPT0gbV9pbnRWZXJzaW9uKTsKLSAgICArK21fcGVuZGluZ0Nv
bm5lY3Rpb25Db3VudDsKLSAgICBjYWxsYmFja3MtPm9uU3VjY2Vzcyh0aGlzKTsKLX0KLQogdm9p
ZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpkZWxldGVEYXRhYmFzZShQYXNzUmVmUHRyPElEQkNh
bGxiYWNrcz4gcHJwQ2FsbGJhY2tzKQogewogICAgIGlmIChtX3J1bm5pbmdWZXJzaW9uQ2hhbmdl
VHJhbnNhY3Rpb24gfHwgIW1fcGVuZGluZ1NldFZlcnNpb25DYWxscy5pc0VtcHR5KCkpIHsKQEAg
LTUzMSwxOSArMzg4LDE3IEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6ZGVsZXRlRGF0
YWJhc2UoUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IHBycENhbGxiYWNrCiAgICAgLy8gRklYTUU6
IE9ubHkgZmlyZSBvbkJsb2NrZWQgaWYgdGhlcmUgYXJlIG9wZW4gY29ubmVjdGlvbnMgYWZ0ZXIg
dGhlCiAgICAgLy8gVmVyc2lvbkNoYW5nZUV2ZW50cyBhcmUgcmVjZWl2ZWQsIG5vdCBqdXN0IHNl
dCB1cCB0byBmaXJlLgogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MTEzMAotICAgIGlmIChjb25uZWN0aW9uQ291bnQoKSA+PSAxKSB7CisgICAgaWYgKCFt
X2RhdGFiYXNlQ2FsbGJhY2tzU2V0LmlzRW1wdHkoKSkgewogICAgICAgICBtX3BlbmRpbmdEZWxl
dGVDYWxscy5hcHBlbmQoUGVuZGluZ0RlbGV0ZUNhbGw6OmNyZWF0ZShjYWxsYmFja3MpKTsKICAg
ICAgICAgY2FsbGJhY2tzLT5vbkJsb2NrZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAg
ICBBU1NFUlQobV9iYWNraW5nU3RvcmUpOwogICAgIGlmICghbV9iYWNraW5nU3RvcmUtPmRlbGV0
ZURhdGFiYXNlKG1fbmFtZSkpIHsKICAgICAgICAgY2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFi
YXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRl
cm5hbCBlcnJvci4iKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV92ZXJzaW9uID0g
IiI7CiAgICAgbV9pZCA9IEludmFsaWRJZDsKLSAgICBtX2ludFZlcnNpb24gPSBJREJEYXRhYmFz
ZU1ldGFkYXRhOjpOb0ludFZlcnNpb247CiAgICAgbV9vYmplY3RTdG9yZXMuY2xlYXIoKTsKICAg
ICBjYWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6Om51bGxWYWx1ZSgp
KTsKIH0KQEAgLTU1NiwxNyArNDExLDEyIEBAIHZvaWQgSURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6
Y2xvc2UoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUNhbGxiYWNrcz4gcHJwQ2FsbGJhY2tzCiAgICAg
aWYgKGNvbm5lY3Rpb25Db3VudCgpID4gMSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgVHJhbnNh
Y3Rpb25TZXQgdHJhbnNhY3Rpb25zKG1fdHJhbnNhY3Rpb25zKTsKICAgICBwcm9jZXNzUGVuZGlu
Z0NhbGxzKCk7CiAKLSAgICBBU1NFUlQobV90cmFuc2FjdGlvbnMuc2l6ZSgpIC0gdHJhbnNhY3Rp
b25zLnNpemUoKSA8PSAxKTsKLSAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiByZWx5aW5nIG9uIHRy
YW5zYWN0aW9ucy5zaXplKCksIG1ha2UgY29ubmVjdGlvbkNvdW50Ci0gICAgLy8gYXdhcmUgb2Yg
aW4tZmxpZ2h0IHVwZ3JhZGVuZWVkZWQgZXZlbnRzIGFzIHdlbGwgYXMgaW4tZmxpZ2h0IHN1Y2Nl
c3MKLSAgICAvLyBldmVudHMuCi0gICAgaWYgKCFjb25uZWN0aW9uQ291bnQoKSAmJiAhbV9wZW5k
aW5nRGVsZXRlQ2FsbHMuc2l6ZSgpICYmIG1fdHJhbnNhY3Rpb25zLnNpemUoKSA9PSB0cmFuc2Fj
dGlvbnMuc2l6ZSgpKSB7CisgICAgaWYgKCFjb25uZWN0aW9uQ291bnQoKSkgeworICAgICAgICBU
cmFuc2FjdGlvblNldCB0cmFuc2FjdGlvbnMobV90cmFuc2FjdGlvbnMpOwogICAgICAgICBmb3Ig
KFRyYW5zYWN0aW9uU2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9IHRyYW5zYWN0aW9ucy5iZWdpbigp
OyBpdCAhPSB0cmFuc2FjdGlvbnMuZW5kKCk7ICsraXQpCiAgICAgICAgICAgICAoKml0KS0+YWJv
cnQoKTsKLQogICAgICAgICBBU1NFUlQobV90cmFuc2FjdGlvbnMuaXNFbXB0eSgpKTsKIAogICAg
ICAgICBtX2JhY2tpbmdTdG9yZS5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5oCmluZGV4IDIyMGRl
NTExMzNmNzdkMWMxNGVjYjMzMzg5MmYyZGM2YjYwZWI4MzYuLjgwNWViNjE3ZmIzMjE0ZDBiYmIy
NTc1ZjMyYmY4OTVhNDVmMTBkMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgKQEAgLTU3LDcgKzU3LDYg
QEAgcHVibGljOgogCiAgICAgdm9pZCByZWdpc3RlckZyb250ZW5kQ2FsbGJhY2tzKFBhc3NSZWZQ
dHI8SURCRGF0YWJhc2VDYWxsYmFja3M+KTsKICAgICB2b2lkIG9wZW5Db25uZWN0aW9uKFBhc3NS
ZWZQdHI8SURCQ2FsbGJhY2tzPik7Ci0gICAgdm9pZCBvcGVuQ29ubmVjdGlvbldpdGhWZXJzaW9u
KFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgaW50NjRfdCB2ZXJzaW9uKTsKICAgICB2b2lkIGRl
bGV0ZURhdGFiYXNlKFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7CiAKICAgICAvLyBJREJEYXRh
YmFzZUJhY2tlbmRJbnRlcmZhY2UKQEAgLTcyLDEzICs3MSwxMSBAQCBwdWJsaWM6CiAgICAgSURC
VHJhbnNhY3Rpb25Db29yZGluYXRvciogdHJhbnNhY3Rpb25Db29yZGluYXRvcigpIGNvbnN0IHsg
cmV0dXJuIG1fdHJhbnNhY3Rpb25Db29yZGluYXRvci5nZXQoKTsgfQogICAgIHZvaWQgdHJhbnNh
Y3Rpb25TdGFydGVkKFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4pOwogICAg
IHZvaWQgdHJhbnNhY3Rpb25GaW5pc2hlZChQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2Vu
ZEltcGw+KTsKLSAgICB2b2lkIHRyYW5zYWN0aW9uRmluaXNoZWRBbmRFdmVudHNGaXJlZChQYXNz
UmVmUHRyPElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw+KTsKIAogcHJpdmF0ZToKICAgICBJREJE
YXRhYmFzZUJhY2tlbmRJbXBsKGNvbnN0IFN0cmluZyYgbmFtZSwgSURCQmFja2luZ1N0b3JlKiBk
YXRhYmFzZSwgSURCVHJhbnNhY3Rpb25Db29yZGluYXRvciosIElEQkZhY3RvcnlCYWNrZW5kSW1w
bCosIGNvbnN0IFN0cmluZyYgdW5pcXVlSWRlbnRpZmllcik7CiAKICAgICBib29sIG9wZW5JbnRl
cm5hbCgpOwotICAgIHZvaWQgcnVuSW50VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKGludDY0X3Qg
cmVxdWVzdGVkVmVyc2lvbiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+KTsKICAgICB2b2lkIGxv
YWRPYmplY3RTdG9yZXMoKTsKICAgICBpbnQzMl90IGNvbm5lY3Rpb25Db3VudCgpOwogICAgIHZv
aWQgcHJvY2Vzc1BlbmRpbmdDYWxscygpOwpAQCAtODYsNyArODMsNiBAQCBwcml2YXRlOgogICAg
IHN0YXRpYyB2b2lkIGNyZWF0ZU9iamVjdFN0b3JlSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURC
T2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5k
SW1wbD4pOwogICAgIHN0YXRpYyB2b2lkIGRlbGV0ZU9iamVjdFN0b3JlSW50ZXJuYWwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4sIFBh
c3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW1wbD4pOwogICAgIHN0YXRpYyB2b2lkIHNldFZlcnNpb25JbnRlcm5hbChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBs
PiwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIFBhc3NS
ZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbD4pOwotICAgIHN0YXRpYyB2b2lkIHNldElu
dFZlcnNpb25JbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJE
YXRhYmFzZUJhY2tlbmRJbXBsPiwgaW50NjRfdCB2ZXJzaW9uLCBQYXNzUmVmUHRyPElEQkNhbGxi
YWNrcz4sIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlPik7CiAKICAg
ICAvLyBUaGVzZSBhcmUgdXNlZCBhcyBzZXRWZXJzaW9uIHRyYW5zYWN0aW9uIGFib3J0IHRhc2tz
LgogICAgIHN0YXRpYyB2b2lkIHJlbW92ZU9iamVjdFN0b3JlRnJvbU1hcChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0
cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPik7CkBAIC05Nyw3ICs5Myw2IEBAIHByaXZhdGU6
CiAgICAgaW50NjRfdCBtX2lkOwogICAgIFN0cmluZyBtX25hbWU7CiAgICAgU3RyaW5nIG1fdmVy
c2lvbjsKLSAgICBpbnQ2NF90IG1faW50VmVyc2lvbjsKIAogICAgIFN0cmluZyBtX2lkZW50aWZp
ZXI7CiAgICAgLy8gVGhpcyBtaWdodCBub3QgbmVlZCB0byBiZSBhIFJlZlB0ciBzaW5jZSB0aGUg
ZmFjdG9yeSdzIGxpZmV0aW1lIGlzIHRoYXQgb2YgdGhlIHBhZ2UgZ3JvdXAsIGJ1dCBpdCdzIGJl
dHRlciB0byBiZSBjb25zZXJ2aXRpdmUgdGhhbiBzb3JyeS4KQEAgLTExOCwxMCArMTEzLDYgQEAg
cHJpdmF0ZToKICAgICBjbGFzcyBQZW5kaW5nT3BlbkNhbGw7CiAgICAgRGVxdWU8UmVmUHRyPFBl
bmRpbmdPcGVuQ2FsbD4gPiBtX3BlbmRpbmdPcGVuQ2FsbHM7CiAKLSAgICBjbGFzcyBQZW5kaW5n
T3BlbldpdGhWZXJzaW9uQ2FsbDsKLSAgICBEZXF1ZTxSZWZQdHI8UGVuZGluZ09wZW5XaXRoVmVy
c2lvbkNhbGw+ID4gbV9wZW5kaW5nT3BlbldpdGhWZXJzaW9uQ2FsbHM7Ci0gICAgRGVxdWU8UmVm
UHRyPFBlbmRpbmdPcGVuV2l0aFZlcnNpb25DYWxsPiA+IG1fcGVuZGluZ1NlY29uZEhhbGZPcGVu
V2l0aFZlcnNpb25DYWxsczsKLQogICAgIGNsYXNzIFBlbmRpbmdEZWxldGVDYWxsOwogICAgIERl
cXVlPFJlZlB0cjxQZW5kaW5nRGVsZXRlQ2FsbD4gPiBtX3BlbmRpbmdEZWxldGVDYWxsczsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VD
YWxsYmFja3MuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNl
Q2FsbGJhY2tzLmgKaW5kZXggMTZhOWVhNmM1MDhiMGQ5MmI2MWU0OTk3YzU0MzAxMzJhNmQyYWNh
YS4uYjNmMjQ0ZjUxNmI2OTg3ZWExMTljYmY3MDE5YjdiNTQzNzVmMTJiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VDYWxsYmFja3MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUNhbGxiYWNr
cy5oCkBAIC0zOCw3ICszOCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5JREJEYXRhYmFzZUNh
bGxiYWNrcygpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIG9uVmVyc2lvbkNoYW5nZShjb25zdCBT
dHJpbmcmIHZlcnNpb24pID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgb25WZXJzaW9uQ2hhbmdlKGlu
dDY0X3QgY3VycmVudFZlcnNpb24sIGludDY0X3QgcmVxdWVzdGVkVmVyc2lvbikgeyBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeUJhY2tlbmRJbXBs
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3RvcnlCYWNrZW5k
SW1wbC5jcHAKaW5kZXggNjNiZDQ3ODNlNTRhZTMxZjRkNDk1OTZmM2I2MGQ5YWY4MjU0YzlkYy4u
ZGZiMTQ1N2EzMDZkYWE3YTU2OGMyMWFmNmVmYTM0NTQ2Y2UzZmY0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5QmFja2VuZElt
cGwuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiSURCRGF0YWJhc2VFeGNlcHRpb24u
aCIKICNpbmNsdWRlICJJREJMZXZlbERCQmFja2luZ1N0b3JlLmgiCiAjaW5jbHVkZSAiSURCVHJh
bnNhY3Rpb25Db29yZGluYXRvci5oIgotI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSA8d3RmL1RocmVhZGluZy5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCkBA
IC0xNTIsMzQgKzE1MSwzMCBAQCBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZT4gSURCRmFjdG9y
eUJhY2tlbmRJbXBsOjpvcGVuQmFja2luZ1N0b3JlKFBhc3NSZWZQdHI8UwogCiB2b2lkIElEQkZh
Y3RvcnlCYWNrZW5kSW1wbDo6b3Blbihjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8SURC
Q2FsbGJhY2tzPiBjYWxsYmFja3MsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHBycFNlY3Vy
aXR5T3JpZ2luLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBkYXRhRGly
ZWN0b3J5KQogewotICAgIC8vIEZJWE1FOiBNYWtlIHRoaXMgYSBwYXJhbWV0ZXIgYW5kIHBsdW1i
IHRocm91Z2ggZnJvbSBqYXZhc2NyaXB0LgotICAgIGludDY0X3QgdmVyc2lvbiA9IElEQkRhdGFi
YXNlTWV0YWRhdGE6Ok5vSW50VmVyc2lvbjsKICAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNl
Y3VyaXR5T3JpZ2luID0gcHJwU2VjdXJpdHlPcmlnaW47CiAgICAgY29uc3QgU3RyaW5nIHVuaXF1
ZUlkZW50aWZpZXIgPSBjb21wdXRlVW5pcXVlSWRlbnRpZmllcihuYW1lLCBzZWN1cml0eU9yaWdp
bi5nZXQoKSk7CiAKLSAgICBSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW1wbD4gZGF0YWJhc2VC
YWNrZW5kOwogICAgIElEQkRhdGFiYXNlQmFja2VuZE1hcDo6aXRlcmF0b3IgaXQgPSBtX2RhdGFi
YXNlQmFja2VuZE1hcC5maW5kKHVuaXF1ZUlkZW50aWZpZXIpOwotICAgIGlmIChpdCA9PSBtX2Rh
dGFiYXNlQmFja2VuZE1hcC5lbmQoKSkgewotICAgICAgICBSZWZQdHI8SURCQmFja2luZ1N0b3Jl
PiBiYWNraW5nU3RvcmUgPSBvcGVuQmFja2luZ1N0b3JlKHNlY3VyaXR5T3JpZ2luLCBkYXRhRGly
ZWN0b3J5KTsKLSAgICAgICAgaWYgKCFiYWNraW5nU3RvcmUpIHsKLSAgICAgICAgICAgIGNhbGxi
YWNrcy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRp
b246OlVOS05PV05fRVJSLCAiSW50ZXJuYWwgZXJyb3IuIikpOwotICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9Ci0KLSAgICAgICAgZGF0YWJhc2VCYWNrZW5kID0gSURCRGF0YWJhc2VCYWNr
ZW5kSW1wbDo6Y3JlYXRlKG5hbWUsIGJhY2tpbmdTdG9yZS5nZXQoKSwgbV90cmFuc2FjdGlvbkNv
b3JkaW5hdG9yLmdldCgpLCB0aGlzLCB1bmlxdWVJZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKGRh
dGFiYXNlQmFja2VuZCkKLSAgICAgICAgICAgIG1fZGF0YWJhc2VCYWNrZW5kTWFwLnNldCh1bmlx
dWVJZGVudGlmaWVyLCBkYXRhYmFzZUJhY2tlbmQuZ2V0KCkpOwotICAgICAgICBlbHNlIHsKLSAg
ICAgICAgICAgIGNhbGxiYWNrcy0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURC
RGF0YWJhc2VFeGNlcHRpb246OlVOS05PV05fRVJSLCAiSW50ZXJuYWwgZXJyb3IuIikpOwotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfSBlbHNlCi0gICAgICAgIGRhdGFiYXNl
QmFja2VuZCA9IGl0LT5zZWNvbmQ7CisgICAgaWYgKGl0ICE9IG1fZGF0YWJhc2VCYWNrZW5kTWFw
LmVuZCgpKSB7CisgICAgICAgIC8vIElmIGl0J3MgYWxyZWFkeSBiZWVuIG9wZW5lZCwgd2UgaGF2
ZSB0byB3YWl0IGZvciBhbnkgcGVuZGluZworICAgICAgICAvLyBzZXRWZXJzaW9uIGNhbGxzIHRv
IGNvbXBsZXRlLgorICAgICAgICBpdC0+c2Vjb25kLT5vcGVuQ29ubmVjdGlvbihjYWxsYmFja3Mp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gRklYTUU6IEV2ZXJ5dGhpbmcgZnJv
bSBub3cgb24gc2hvdWxkIGJlIGRvbmUgb24gYW5vdGhlciB0aHJlYWQuCisgICAgUmVmUHRyPElE
QkJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlID0gb3BlbkJhY2tpbmdTdG9yZShzZWN1cml0eU9y
aWdpbiwgZGF0YURpcmVjdG9yeSk7CisgICAgaWYgKCFiYWNraW5nU3RvcmUpIHsKKyAgICAgICAg
Y2FsbGJhY2tzLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4
Y2VwdGlvbjo6VU5LTk9XTl9FUlIsICJJbnRlcm5hbCBlcnJvci4iKSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKLSAgICBpZiAodmVyc2lvbiA9PSBJREJEYXRhYmFzZU1ldGFkYXRhOjpOb0lu
dFZlcnNpb24pCisgICAgUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZEltcGw+IGRhdGFiYXNlQmFj
a2VuZCA9IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OmNyZWF0ZShuYW1lLCBiYWNraW5nU3RvcmUu
Z2V0KCksIG1fdHJhbnNhY3Rpb25Db29yZGluYXRvci5nZXQoKSwgdGhpcywgdW5pcXVlSWRlbnRp
Zmllcik7CisgICAgaWYgKGRhdGFiYXNlQmFja2VuZCkgeworICAgICAgICBtX2RhdGFiYXNlQmFj
a2VuZE1hcC5zZXQodW5pcXVlSWRlbnRpZmllciwgZGF0YWJhc2VCYWNrZW5kLmdldCgpKTsKICAg
ICAgICAgZGF0YWJhc2VCYWNrZW5kLT5vcGVuQ29ubmVjdGlvbihjYWxsYmFja3MpOwotICAgIGVs
c2UKLSAgICAgICAgZGF0YWJhc2VCYWNrZW5kLT5vcGVuQ29ubmVjdGlvbldpdGhWZXJzaW9uKGNh
bGxiYWNrcywgdmVyc2lvbik7CisgICAgfSBlbHNlCisgICAgICAgIGNhbGxiYWNrcy0+b25FcnJv
cihJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVOS05PV05f
RVJSLCAiSW50ZXJuYWwgZXJyb3IuIikpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFj
a2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVs
REJCYWNraW5nU3RvcmUuY3BwCmluZGV4IDc2MjhhODA4OWEwYzEyMjI2OTBmN2ZiZmY1NWNiNWRj
ODMwYmQzMDIuLjA1MTNjMzUzM2ZjYWIwZmY4NTJkYzBhOTEzNDQ1N2VjZjM2Mjk3ZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5n
U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVs
REJCYWNraW5nU3RvcmUuY3BwCkBAIC0yMzQsNyArMjM0LDcgQEAgdm9pZCBJREJMZXZlbERCQmFj
a2luZ1N0b3JlOjpnZXREYXRhYmFzZU5hbWVzKFZlY3RvcjxTdHJpbmc+JiBmb3VuZE5hbWVzKQog
ICAgIH0KIH0KIAotYm9vbCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpnZXRJREJEYXRhYmFzZU1l
dGFEYXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgU3RyaW5nJiBmb3VuZFN0cmluZ1ZlcnNpb24sIGlu
dDY0X3QmIGZvdW5kSW50VmVyc2lvbiwgaW50NjRfdCYgZm91bmRJZCkKK2Jvb2wgSURCTGV2ZWxE
QkJhY2tpbmdTdG9yZTo6Z2V0SURCRGF0YWJhc2VNZXRhRGF0YShjb25zdCBTdHJpbmcmIG5hbWUs
IFN0cmluZyYgZm91bmRWZXJzaW9uLCBpbnQ2NF90JiBmb3VuZElkKQogewogICAgIGNvbnN0IFZl
Y3RvcjxjaGFyPiBrZXkgPSBEYXRhYmFzZU5hbWVLZXk6OmVuY29kZShtX2lkZW50aWZpZXIsIG5h
bWUpOwogCkBAIC0yNDIsNyArMjQyLDcgQEAgYm9vbCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpn
ZXRJREJEYXRhYmFzZU1ldGFEYXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgU3RyaW5nJgogICAgIGlm
ICghb2spCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG9rID0gZ2V0U3RyaW5nKG1fZGIu
Z2V0KCksIERhdGFiYXNlTWV0YURhdGFLZXk6OmVuY29kZShmb3VuZElkLCBEYXRhYmFzZU1ldGFE
YXRhS2V5OjpVc2VyVmVyc2lvbiksIGZvdW5kU3RyaW5nVmVyc2lvbik7CisgICAgb2sgPSBnZXRT
dHJpbmcobV9kYi5nZXQoKSwgRGF0YWJhc2VNZXRhRGF0YUtleTo6ZW5jb2RlKGZvdW5kSWQsIERh
dGFiYXNlTWV0YURhdGFLZXk6OlVzZXJWZXJzaW9uKSwgZm91bmRWZXJzaW9uKTsKICAgICBpZiAo
IW9rKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTI2NCw3ICsyNjQsNyBAQCBzdGF0aWMg
aW50NjRfdCBnZXROZXdEYXRhYmFzZUlkKExldmVsREJEYXRhYmFzZSogZGIpCiAgICAgcmV0dXJu
IGRhdGFiYXNlSWQ7CiB9CiAKLWJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6Y3JlYXRlSURC
RGF0YWJhc2VNZXRhRGF0YShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lv
biwgaW50NjRfdCBpbnRWZXJzaW9uLCBpbnQ2NF90JiByb3dJZCkKK2Jvb2wgSURCTGV2ZWxEQkJh
Y2tpbmdTdG9yZTo6Y3JlYXRlSURCRGF0YWJhc2VNZXRhRGF0YShjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgaW50NjRfdCYgcm93SWQpCiB7CiAgICAgcm93SWQgPSBn
ZXROZXdEYXRhYmFzZUlkKG1fZGIuZ2V0KCkpOwogICAgIGlmIChyb3dJZCA8IDApCkBAIC0yNzgs
MTIgKzI3OCw2IEBAIGJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6Y3JlYXRlSURCRGF0YWJh
c2VNZXRhRGF0YShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLWJvb2wgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6dXBkYXRlSURCRGF0YWJhc2VJbnRWZXJz
aW9uKGludDY0X3Qgcm93SWQsIGludDY0X3QgaW50VmVyc2lvbikKLXsKLSAgICAvLyBGSVhNRTog
TWFrZSB0aGlzIGFjdHVhbGx5IGRvIHNvbWV0aGluZy4gaHR0cDovL3drYi51Zy85Mjg4MwotICAg
IHJldHVybiB0cnVlOwotfQotCiBib29sIElEQkxldmVsREJCYWNraW5nU3RvcmU6OnVwZGF0ZUlE
QkRhdGFiYXNlTWV0YURhdGEoaW50NjRfdCByb3dJZCwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uKQog
ewogICAgIEFTU0VSVChtX2N1cnJlbnRUcmFuc2FjdGlvbik7CkBAIC0zMTEsOCArMzA1LDcgQEAg
Ym9vbCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpkZWxldGVEYXRhYmFzZShjb25zdCBTdHJpbmcm
IG5hbWUpCiAKICAgICBpbnQ2NF90IGRhdGFiYXNlSWQ7CiAgICAgU3RyaW5nIHZlcnNpb247Ci0g
ICAgaW50NjRfdCBpbnRWZXJzaW9uOwotICAgIGlmICghZ2V0SURCRGF0YWJhc2VNZXRhRGF0YShu
YW1lLCB2ZXJzaW9uLCBpbnRWZXJzaW9uLCBkYXRhYmFzZUlkKSkgeworICAgIGlmICghZ2V0SURC
RGF0YWJhc2VNZXRhRGF0YShuYW1lLCB2ZXJzaW9uLCBkYXRhYmFzZUlkKSkgewogICAgICAgICB0
cmFuc2FjdGlvbi0+cm9sbGJhY2soKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkJhY2tp
bmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkJh
Y2tpbmdTdG9yZS5oCmluZGV4IDQ3OWVmZWNjMDVhYmIxNjA4MzMxNTJiMjI4ZWNlNmVlNzc2NjM5
ZWMuLjBiZTkzNGZmZGE5YmNmODA5MWQ1MzQxMGE2YWJjYzgwMGY1OTBkMzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJCYWNraW5nU3RvcmUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQmFja2lu
Z1N0b3JlLmgKQEAgLTQ1LDEwICs0NSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5JREJMZXZl
bERCQmFja2luZ1N0b3JlKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZ2V0RGF0YWJhc2VOYW1lcyhW
ZWN0b3I8U3RyaW5nPiYgZm91bmROYW1lcyk7Ci0gICAgdmlydHVhbCBib29sIGdldElEQkRhdGFi
YXNlTWV0YURhdGEoY29uc3QgU3RyaW5nJiBuYW1lLCBTdHJpbmcmIGZvdW5kVmVyc2lvbiwgaW50
NjRfdCYgZm91bmRJbnRWZXJzaW9uLCBpbnQ2NF90JiBmb3VuZElkKTsKLSAgICB2aXJ0dWFsIGJv
b2wgY3JlYXRlSURCRGF0YWJhc2VNZXRhRGF0YShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgdmVyc2lvbiwgaW50NjRfdCBpbnRWZXJzaW9uLCBpbnQ2NF90JiByb3dJZCk7CisgICAg
dmlydHVhbCBib29sIGdldElEQkRhdGFiYXNlTWV0YURhdGEoY29uc3QgU3RyaW5nJiBuYW1lLCBT
dHJpbmcmIGZvdW5kVmVyc2lvbiwgaW50NjRfdCYgZm91bmRJZCk7CisgICAgdmlydHVhbCBib29s
IGNyZWF0ZUlEQkRhdGFiYXNlTWV0YURhdGEoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIHZlcnNpb24sIGludDY0X3QmIHJvd0lkKTsKICAgICB2aXJ0dWFsIGJvb2wgdXBkYXRlSURC
RGF0YWJhc2VNZXRhRGF0YShpbnQ2NF90IHJvd0lkLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pOwot
ICAgIHZpcnR1YWwgYm9vbCB1cGRhdGVJREJEYXRhYmFzZUludFZlcnNpb24oaW50NjRfdCByb3dJ
ZCwgaW50NjRfdCBpbnRWZXJzaW9uKTsKICAgICB2aXJ0dWFsIGJvb2wgZGVsZXRlRGF0YWJhc2Uo
Y29uc3QgU3RyaW5nJiBuYW1lKTsKIAogICAgIHZpcnR1YWwgdm9pZCBnZXRPYmplY3RTdG9yZXMo
aW50NjRfdCBkYXRhYmFzZUlkLCBWZWN0b3I8aW50NjRfdD4mIGZvdW5kSWRzLCBWZWN0b3I8U3Ry
aW5nPiYgZm91bmROYW1lcywgVmVjdG9yPElEQktleVBhdGg+JiBmb3VuZEtleVBhdGhzLCBWZWN0
b3I8Ym9vbD4mIGZvdW5kQXV0b0luY3JlbWVudEZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1w
bC5jcHAKaW5kZXggMWJiZDIzYjU2YmJhMGY5ZTZlZjM0NDk5ZGViODA2YjNjMDg0NzBlZi4uNzBm
MzM2N2FiZmJjMWEwNGE5ZmVjYTFjYWI0ZTQzMzBkZDYzNzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW1wbC5jcHAKQEAgLTIyNyw4ICsyMjcsNiBAQCB2b2lkIElEQlRyYW5zYWN0aW9uQmFja2Vu
ZEltcGw6OmNvbW1pdCgpCiAgICAgZWxzZQogICAgICAgICBtX2NhbGxiYWNrcy0+b25BYm9ydCgp
OwogCi0gICAgbV9kYXRhYmFzZS0+dHJhbnNhY3Rpb25GaW5pc2hlZEFuZEV2ZW50c0ZpcmVkKHRo
aXMpOwotCiAgICAgbV9kYXRhYmFzZSA9IDA7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvSURCQWJvcnRPbkNvcnJ1cHRUZXN0LmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvSURCQWJvcnRPbkNvcnJ1cHRUZXN0LmNwcAppbmRleCA5MWRmMTI2
YTVmYjhmYjY3YmM2ZWFhYzUxZDk0N2U5ZGE0MWQwOWE2Li5kOWUzZDY5N2IxOTdjNzQwNmY2M2Jh
ZWI0ODM5MzFiNGVhYzk1MDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0lEQkFib3J0T25Db3JydXB0VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9JREJBYm9ydE9uQ29ycnVwdFRlc3QuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHB1Ymxp
YzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRmFpbGluZ0JhY2tpbmdTdG9y
ZSk7CiAgICAgfQotICAgIHZpcnR1YWwgYm9vbCBjcmVhdGVJREJEYXRhYmFzZU1ldGFEYXRhKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGludDY0X3QsIGludDY0X3QmKQorICAgIHZpcnR1
YWwgYm9vbCBjcmVhdGVJREJEYXRhYmFzZU1ldGFEYXRhKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIGludDY0X3QmKQogICAgIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCRmFrZUJhY2tpbmdTdG9y
ZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJGYWtlQmFja2luZ1N0b3JlLmgK
aW5kZXggN2VkNGU2N2UzNWJkNzAwMzFmZjYyODg5Yjk3NjVmOTkwOTRiOWIyMy4uNTM2ZDc4NWI5
M2FlZTQzYjlmNTMzMjUyNWM2M2VjNzllNzA5NTliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9JREJGYWtlQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9JREJGYWtlQmFja2luZ1N0b3JlLmgKQEAgLTMzLDEwICszMyw5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIElEQkZha2VCYWNraW5nU3RvcmUgOiBwdWJsaWMg
SURCQmFja2luZ1N0b3JlIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2V0RGF0YWJhc2VO
YW1lcyhWZWN0b3I8U3RyaW5nPiYgZm91bmROYW1lcykgT1ZFUlJJREUgeyB9Ci0gICAgdmlydHVh
bCBib29sIGdldElEQkRhdGFiYXNlTWV0YURhdGEoY29uc3QgU3RyaW5nJiBuYW1lLCBTdHJpbmcm
IGZvdW5kVmVyc2lvbiwgaW50NjRfdCYgZm91bmRJbnRWZXJzaW9uLCBpbnQ2NF90JiBmb3VuZElk
KSBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgYm9vbCBjcmVhdGVJREJE
YXRhYmFzZU1ldGFEYXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9u
LCBjb25zdCBpbnQ2NF90IGludFZlcnNpb24sIGludDY0X3QmIHJvd0lkKSBPVkVSUklERSB7IHJl
dHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIGdldElEQkRhdGFiYXNlTWV0YURhdGEoY29u
c3QgU3RyaW5nJiBuYW1lLCBTdHJpbmcmIGZvdW5kVmVyc2lvbiwgaW50NjRfdCYgZm91bmRJZCkg
T1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY3JlYXRlSURCRGF0
YWJhc2VNZXRhRGF0YShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwg
aW50NjRfdCYgcm93SWQpIE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJv
b2wgdXBkYXRlSURCRGF0YWJhc2VNZXRhRGF0YShpbnQ2NF90IHJvd0lkLCBjb25zdCBTdHJpbmcm
IHZlcnNpb24pIE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIHVw
ZGF0ZUlEQkRhdGFiYXNlSW50VmVyc2lvbihpbnQ2NF90IHJvd0lkLCBpbnQ2NF90IHZlcnNpb24p
IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGRlbGV0ZURhdGFi
YXNlKGNvbnN0IFN0cmluZyYgbmFtZSkgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAg
IHZpcnR1YWwgdm9pZCBnZXRPYmplY3RTdG9yZXMoaW50NjRfdCBkYXRhYmFzZUlkLCBWZWN0b3I8
aW50NjRfdD4mIGZvdW5kSWRzLCBWZWN0b3I8U3RyaW5nPiYgZm91bmROYW1lcywgVmVjdG9yPElE
QktleVBhdGg+JiBmb3VuZEtleVBhdGhzLCBWZWN0b3I8Ym9vbD4mIGZvdW5kQXV0b0luY3JlbWVu
dEZsYWdzKSBPVkVSUklERSB7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>