<?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>196617</bug_id>
          
          <creation_ts>2019-04-04 12:13:29 -0700</creation_ts>
          <short_desc>[JSC] DFG should respect node&apos;s strict flag</short_desc>
          <delta_ts>2019-04-08 20:24:24 -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>JavaScriptCore</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1524350</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-04 12:13:29 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525076</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-07 03:26:03 -0700</bug_when>
    <thetext>Seems like a DFG bug. Looking into it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525509</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-08 18:35:35 -0700</bug_when>
    <thetext>Found the bug. DFGSpeculativeJIT has some code like, `m_jit.codeBlock()-&gt;isStrictMode()`. This is obviously wrong since it does not consider inlined CodeBlocks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525529</commentid>
    <comment_count>3</comment_count>
      <attachid>367014</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-08 19:23:34 -0700</bug_when>
    <thetext>Created attachment 367014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525532</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-04-08 19:27:13 -0700</bug_when>
    <thetext>Attachment 367014 did not pass style-queue:


ERROR: Source/JavaScriptCore/ChangeLog:13:  Please consider whether the use of security-sensitive phrasing could help someone exploit WebKit: fuzzer  [changelog/unwantedsecurityterms] [3]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525545</commentid>
    <comment_count>5</comment_count>
      <attachid>367014</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-04-08 20:15:55 -0700</bug_when>
    <thetext>Comment on attachment 367014
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525546</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-08 20:23:21 -0700</bug_when>
    <thetext>Committed r244067: &lt;https://trac.webkit.org/changeset/244067&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525547</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-08 20:24:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/49722731&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367014</attachid>
            <date>2019-04-08 19:23:34 -0700</date>
            <delta_ts>2019-04-08 20:15:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196617-20190408192334.patch</filename>
            <type>text/plain</type>
            <size>26568</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MDU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NjFjYTI2ZDA5NDE3ZDYxNzA5ZjI0MjBlMTNkNmExNGVjNDllNTFkLi4yYWJkMmM4YTliN2E3MzI1
YzY5OGY2NTEzYzEzNjI3NjVmZWYzNTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxOS0wNC0wOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIERGRyBzaG91bGQgcmVzcGVjdCBub2RlJ3Mgc3RyaWN0IGZsYWcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjYxNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGFjY2lk
ZW50YWxseSB1c2UgY29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSBkaXJlY3RseSBpbiBERkcgYW5k
IEZUTC4gQnV0IHRoaXMgaXMgd3Jvbmcgc2luY2UgdGhpcyBDb2RlQmxvY2sgaXMgdGhlIHRvcCBs
ZXZlbCBERkcvRlRMIENvZGVCbG9jaywKKyAgICAgICAgYW5kIHRoaXMgY29kZSBkb2VzIG5vdCBy
ZXNwZWN0IHRoZSBpc1N0cmljdE1vZGUgZmxhZyBmb3IgdGhlIGlubGluZWQgQ29kZUJsb2Nrcy4g
SW4gdGhpcyBwYXRjaCwgd2Ugc3RhcnQgdXNpbmcgaXNTdHJpY3RNb2RlRm9yKENvZGVPcmlnaW4p
IGNvbnNpc3RlbnRseQorICAgICAgICBpbiBERkcgYW5kIEZUTCB0byBnZXQgdGhlIHJpZ2h0IGlz
U3RyaWN0TW9kZSBmbGFnIGZvciB0aGUgREZHIG5vZGUuCisgICAgICAgIEFuZCB3ZSBhbHNvIHNw
bGl0IGNvbXBpbGVQdXREeW5hbWljVmFyIGludG8gY29tcGlsZVB1dER5bmFtaWNWYXJTdHJpY3Qg
YW5kIGNvbXBpbGVQdXREeW5hbWljVmFyTm9uU3RyaWN0IHNpbmNlICgxKSBpdCBpcyBjbGVhbmVy
IHRoYW4gYWNjZXNzaW5nIGlubGluZWQKKyAgICAgICAgY2FsbGZyYW1lIGluIHRoZSBvcGVyYXRp
b24gZnVuY3Rpb24sIGFuZCAoMikgaXQgaXMgYWxpZ25lZCB0byB0aGUgb3RoZXIgZnVuY3Rpb25z
IGxpa2Ugb3BlcmF0aW9uUHV0QnlWYWxEaXJlY3ROb25TdHJpY3QgZXRjLgorICAgICAgICBUaGlz
IGJ1ZyBpcyBkaXNjb3ZlcmVkIGJ5IFJhbmRvbWl6aW5nRnV6emVyQWdlbnQgYnkgZXhwYW5kaW5n
IHRoZSBERkcgY292ZXJhZ2UuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRl
cklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3Ry
YWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdDb25zdGFu
dEZvbGRpbmdQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Q29uc3RhbnRGb2xkaW5nUGhh
c2U6OmZvbGRDb25zdGFudHMpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cFRvVGhpcyk6CisgICAgICAgICogZGZn
L0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmg6CisgICAg
ICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlRG91YmxlUHV0QnlWYWwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JJbnRUeXBlZEFycmF5KToKKyAgICAgICAgKEpTQzo6
REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dER5bmFtaWNWYXIpOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlVG9UaGlzKToKKyAgICAgICAgKiBkZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVDb250aWd1b3VzUHV0QnlWYWwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1
bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAg
ICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpjb21waWxlUHV0QnlWYWwpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93
ZXJERkdUb0IzOjpjb21waWxlUHV0RHluYW1pY1Zhcik6CisKIDIwMTktMDQtMDggIFl1c3VrZSBT
dXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBpc1JvcGUganVtcCBp
biBTdHJpbmdTbGljZSBzaG91bGQgbm90IGp1bXAgb3ZlciByZWdpc3RlciBhbGxvY2F0aW9ucwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJl
dGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVy
cHJldGVySW5saW5lcy5oCmluZGV4IGU1YjkxYmRjNDNhNDIzMWM5NGViNzBiNjg3MTY3YzFkMjYw
YzZhNTcuLjdhZDQ1MGZiOGQ5OGJlNDM1YWE5Mzc1ODkyY2E5MDIzMjYyNzBjYTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0
ZXJJbmxpbmVzLmgKQEAgLTI1MzEsNyArMjUzMSw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRl
cjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1p
CiAgICAgY2FzZSBUb1RoaXM6IHsKICAgICAgICAgQWJzdHJhY3RWYWx1ZSYgc291cmNlID0gZm9y
Tm9kZShub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIEFic3RyYWN0VmFsdWUmIGRlc3RpbmF0aW9u
ID0gZm9yTm9kZShub2RlKTsKLSAgICAgICAgYm9vbCBzdHJpY3RNb2RlID0gbV9ncmFwaC5leGVj
dXRhYmxlRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmlzU3RyaWN0TW9kZSgpOworICAgICAg
ICBib29sIHN0cmljdE1vZGUgPSBtX2dyYXBoLmlzU3RyaWN0TW9kZUZvcihub2RlLT5vcmlnaW4u
c2VtYW50aWMpOwogCiAgICAgICAgIFRvVGhpc1Jlc3VsdCByZXN1bHQgPSBpc1RvVGhpc0FuSWRl
bnRpdHkobV92bSwgc3RyaWN0TW9kZSwgc291cmNlKTsKICAgICAgICAgc3dpdGNoIChyZXN1bHQp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xk
aW5nUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRp
bmdQaGFzZS5jcHAKaW5kZXggNDUyY2Y3MjczNGI3ODNlZDhkOGJkZGZlZmVjOTVhYTYxNTYwMzM0
OS4uNWU3ZTQ4MTlkZDVkZGZiMTgwMmVmMTYxN2MwMmM2ZjVhOWU3MDFmYiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAK
QEAgLTY5NSw3ICs2OTUsNyBAQCBjbGFzcyBDb25zdGFudEZvbGRpbmdQaGFzZSA6IHB1YmxpYyBQ
aGFzZSB7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGNhc2UgVG9UaGlzOiB7Ci0gICAg
ICAgICAgICAgICAgVG9UaGlzUmVzdWx0IHJlc3VsdCA9IGlzVG9UaGlzQW5JZGVudGl0eShtX2dy
YXBoLm1fdm0sIG1fZ3JhcGguZXhlY3V0YWJsZUZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5p
c1N0cmljdE1vZGUoKSwgbV9zdGF0ZS5mb3JOb2RlKG5vZGUtPmNoaWxkMSgpKSk7CisgICAgICAg
ICAgICAgICAgVG9UaGlzUmVzdWx0IHJlc3VsdCA9IGlzVG9UaGlzQW5JZGVudGl0eShtX2dyYXBo
Lm1fdm0sIG1fZ3JhcGguaXNTdHJpY3RNb2RlRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyksIG1f
c3RhdGUuZm9yTm9kZShub2RlLT5jaGlsZDEoKSkpOwogICAgICAgICAgICAgICAgIGlmIChyZXN1
bHQgPT0gVG9UaGlzUmVzdWx0OjpJZGVudGl0eSkgewogICAgICAgICAgICAgICAgICAgICBub2Rl
LT5jb252ZXJ0VG9JZGVudGl0eSgpOwogICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IGU2
MmIwMDJkMzY0MmVkYWY5YzNmOTE3MWY3MDNhYTUyNWVhODdiNTQuLmM4MWEwY2ZiMjQ5NjEyZmZh
ZTU0OWRmYzYyYzczNDMwYWEzNGRiNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdGaXh1cFBoYXNlLmNwcApAQCAtMjY1NSw5ICsyNjU1LDkgQEAgY2xhc3MgRml4dXBQaGFzZSA6
IHB1YmxpYyBQaGFzZSB7CiAKICAgICB2b2lkIGZpeHVwVG9UaGlzKE5vZGUqIG5vZGUpCiAgICAg
ewotICAgICAgICBFQ01BTW9kZSBlY21hTW9kZSA9IG1fZ3JhcGguZXhlY3V0YWJsZUZvcihub2Rl
LT5vcmlnaW4uc2VtYW50aWMpLT5pc1N0cmljdE1vZGUoKSA/IFN0cmljdE1vZGUgOiBOb3RTdHJp
Y3RNb2RlOworICAgICAgICBib29sIGlzU3RyaWN0TW9kZSA9IG1fZ3JhcGguaXNTdHJpY3RNb2Rl
Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CiAKLSAgICAgICAgaWYgKGVjbWFNb2RlID09IFN0
cmljdE1vZGUpIHsKKyAgICAgICAgaWYgKGlzU3RyaWN0TW9kZSkgewogICAgICAgICAgICAgaWYg
KG5vZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVCb29sZWFuKCkpIHsKICAgICAgICAgICAg
ICAgICBmaXhFZGdlPEJvb2xlYW5Vc2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgICAg
ICBub2RlLT5jb252ZXJ0VG9JZGVudGl0eSgpOwpAQCAtMjcxMCw3ICsyNzEwLDcgQEAgY2xhc3Mg
Rml4dXBQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobm9k
ZS0+Y2hpbGQxKCktPnNob3VsZFNwZWN1bGF0ZU90aGVyKCkpIHsKLSAgICAgICAgICAgIGlmIChl
Y21hTW9kZSA9PSBTdHJpY3RNb2RlKSB7CisgICAgICAgICAgICBpZiAoaXNTdHJpY3RNb2RlKSB7
CiAgICAgICAgICAgICAgICAgZml4RWRnZTxPdGhlclVzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAg
ICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb0lkZW50aXR5KCk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5k
ZXggZGQyODU0YjQ5MjcwNGZiNTcwMWIzOTc4NTMyM2Q1YzZjZjMxN2VlMi4uMDM2ZGIwNzMzOTgx
ZmYxNTk0YWNhZTU1NTI3NTZiZDg5MDc2Mjk2MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuY3BwCkBAIC0yODc1LDEwICsyODc1LDggQEAgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXREeW5hbWljVmFyKEV4ZWNTdGF0ZSogZXhlYywg
SlNPYmplY3QqIHMKICAgICB9KSkpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0RHluYW1pY1ZhcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzY29wZSwgRW5jb2RlZEpT
VmFsdWUgdmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKiBpbXBsLCB1bnNpZ25lZCBnZXRQdXRJbmZv
Qml0cykKK0FMV0FZU19JTkxJTkUgc3RhdGljIHZvaWQgcHV0RHluYW1pY1ZhcihFeGVjU3RhdGUq
IGV4ZWMsIFZNJiB2bSwgSlNPYmplY3QqIHNjb3BlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwgVW5p
cXVlZFN0cmluZ0ltcGwqIGltcGwsIHVuc2lnbmVkIGdldFB1dEluZm9CaXRzLCBib29sIGlzU3Ry
aWN0TW9kZSkKIHsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIE5hdGl2ZUNhbGxGcmFt
ZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKIAogICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0gSWRlbnRp
Zmllcjo6ZnJvbVVpZChleGVjLCBpbXBsKTsKQEAgLTI5MDIsMTggKzI5MDAsMjcgQEAgdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dER5bmFtaWNWYXIoRXhlY1N0YXRlKiBleGVjLCBKU09i
amVjdCogc2NvcGUsIEVuY28KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIENvZGVPcmln
aW4gb3JpZ2luID0gZXhlYy0+Y29kZU9yaWdpbigpOwotICAgIGF1dG8qIGlubGluZUNhbGxGcmFt
ZSA9IG9yaWdpbi5pbmxpbmVDYWxsRnJhbWUoKTsKLSAgICBib29sIHN0cmljdE1vZGU7Ci0gICAg
aWYgKGlubGluZUNhbGxGcmFtZSkKLSAgICAgICAgc3RyaWN0TW9kZSA9IGlubGluZUNhbGxGcmFt
ZS0+YmFzZWxpbmVDb2RlQmxvY2stPmlzU3RyaWN0TW9kZSgpOwotICAgIGVsc2UKLSAgICAgICAg
c3RyaWN0TW9kZSA9IGV4ZWMtPmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKTsKLSAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChzY29wZSwgc3RyaWN0TW9kZSwgUHV0UHJvcGVydHlTbG90OjpVbmtu
b3duQ29udGV4dCwgaXNJbml0aWFsaXphdGlvbihnZXRQdXRJbmZvLmluaXRpYWxpemF0aW9uTW9k
ZSgpKSk7CisgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qoc2NvcGUsIGlzU3RyaWN0TW9kZSwgUHV0
UHJvcGVydHlTbG90OjpVbmtub3duQ29udGV4dCwgaXNJbml0aWFsaXphdGlvbihnZXRQdXRJbmZv
LmluaXRpYWxpemF0aW9uTW9kZSgpKSk7CiAgICAgdGhyb3dTY29wZS5yZWxlYXNlKCk7CiAgICAg
c2NvcGUtPm1ldGhvZFRhYmxlKHZtKS0+cHV0KHNjb3BlLCBleGVjLCBpZGVudCwgSlNWYWx1ZTo6
ZGVjb2RlKHZhbHVlKSwgc2xvdCk7CiB9CiAKK3ZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXREeW5hbWljVmFyU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNjb3BlLCBFbmNv
ZGVkSlNWYWx1ZSB2YWx1ZSwgVW5pcXVlZFN0cmluZ0ltcGwqIGltcGwsIHVuc2lnbmVkIGdldFB1
dEluZm9CaXRzKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgTmF0aXZlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgIGNvbnN0ZXhwciBib29sIGlzU3RyaWN0
TW9kZSA9IHRydWU7CisgICAgcmV0dXJuIHB1dER5bmFtaWNWYXIoZXhlYywgdm0sIHNjb3BlLCB2
YWx1ZSwgaW1wbCwgZ2V0UHV0SW5mb0JpdHMsIGlzU3RyaWN0TW9kZSk7Cit9CisKK3ZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXREeW5hbWljVmFyTm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhl
YywgSlNPYmplY3QqIHNjb3BlLCBFbmNvZGVkSlNWYWx1ZSB2YWx1ZSwgVW5pcXVlZFN0cmluZ0lt
cGwqIGltcGwsIHVuc2lnbmVkIGdldFB1dEluZm9CaXRzKQoreworICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAg
IGNvbnN0ZXhwciBib29sIGlzU3RyaWN0TW9kZSA9IGZhbHNlOworICAgIHJldHVybiBwdXREeW5h
bWljVmFyKGV4ZWMsIHZtLCBzY29wZSwgdmFsdWUsIGltcGwsIGdldFB1dEluZm9CaXRzLCBpc1N0
cmljdE1vZGUpOworfQorCiBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWFwSGFzaChF
eGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGlucHV0KQogewogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJh
dGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCmluZGV4
IGU3NmQ0NDU4NmY5Njc1YjkyOWEzZTMzYjVhOTZjYzRlMTFkNTc5MjIuLjk0OWUzOWE5Yjg2MzRj
ZDcxY2FkYWIyMGNiZjkwZGNmYTRkOGE3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT3BlcmF0aW9ucy5oCkBAIC0yNjgsNyArMjY4LDggQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkNyZWF0ZUZpeGVkQXJyYXkoRXhlY1N0YXRlKiwgdW5zaWduZWQgbGVuZ3RoKTsK
IEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25SZXNvbHZlU2NvcGUoRXhlY1N0YXRlKiwg
SlNTY29wZSosIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblJlc29sdmVTY29wZUZvckhvaXN0aW5nRnVuY0RlY2xJbkV2YWwoRXhlY1N0
YXRlKiwgSlNTY29wZSosIFVuaXF1ZWRTdHJpbmdJbXBsKik7CiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkdldER5bmFtaWNWYXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqIHNj
b3BlLCBVbmlxdWVkU3RyaW5nSW1wbCosIHVuc2lnbmVkKTsKLXZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXREeW5hbWljVmFyKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBzY29wZSwgRW5jb2Rl
ZEpTVmFsdWUsIFVuaXF1ZWRTdHJpbmdJbXBsKiwgdW5zaWduZWQpOwordm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dER5bmFtaWNWYXJTdHJpY3QoRXhlY1N0YXRlKiwgSlNPYmplY3QqIHNj
b3BlLCBFbmNvZGVkSlNWYWx1ZSwgVW5pcXVlZFN0cmluZ0ltcGwqLCB1bnNpZ25lZCk7Cit2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0RHluYW1pY1Zhck5vblN0cmljdChFeGVjU3RhdGUq
LCBKU09iamVjdCogc2NvcGUsIEVuY29kZWRKU1ZhbHVlLCBVbmlxdWVkU3RyaW5nSW1wbCosIHVu
c2lnbmVkKTsKIAogaW50NjRfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbnZlcnRCb3hlZERv
dWJsZVRvSW50NTIoRW5jb2RlZEpTVmFsdWUpOwogaW50NjRfdCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkNvbnZlcnREb3VibGVUb0ludDUyKGRvdWJsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmlu
ZGV4IDIwNmQ0MjRiYjAwODg3ZDk4NzNjNjQwMGFjMmIxM2UxMzZiY2FjYTcuLmVmOGQxYWZiOGMx
MjJmOTUzMTJlNzA0OWM5ZmY1MzFiNDc3YzdmZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBA
IC00NDcsOCArNDQ3LDggQEAgY2xhc3MgUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UgOiBwdWJs
aWMgUGhhc2UgewogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgVG9UaGlzOiB7CiAgICAgICAg
ICAgICAvLyBUb1RoaXMgaW4gbWV0aG9kcyBmb3IgcHJpbWl0aXZlIHR5cGVzIHNob3VsZCBzcGVj
dWxhdGUgcHJpbWl0aXZlIHR5cGVzIGluIHN0cmljdCBtb2RlLgotICAgICAgICAgICAgRUNNQU1v
ZGUgZWNtYU1vZGUgPSBtX2dyYXBoLmV4ZWN1dGFibGVGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGlj
KS0+aXNTdHJpY3RNb2RlKCkgPyBTdHJpY3RNb2RlIDogTm90U3RyaWN0TW9kZTsKLSAgICAgICAg
ICAgIGlmIChlY21hTW9kZSA9PSBTdHJpY3RNb2RlKSB7CisgICAgICAgICAgICBib29sIGlzU3Ry
aWN0TW9kZSA9IG1fZ3JhcGguaXNTdHJpY3RNb2RlRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7
CisgICAgICAgICAgICBpZiAoaXNTdHJpY3RNb2RlKSB7CiAgICAgICAgICAgICAgICAgaWYgKG5v
ZGUtPmNoaWxkMSgpLT5zaG91bGRTcGVjdWxhdGVCb29sZWFuKCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24oU3BlY0Jvb2xlYW4pOwogICAgICAgICAg
ICAgICAgICAgICBicmVhazsKQEAgLTQ5Niw3ICs0OTYsNyBAQCBjbGFzcyBQcmVkaWN0aW9uUHJv
cGFnYXRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIFNwZWN1bGF0ZWRUeXBlIHByZWRpY3Rpb24gPSBub2RlLT5jaGlsZDEoKS0+cHJlZGljdGlv
bigpOwotICAgICAgICAgICAgaWYgKGVjbWFNb2RlID09IFN0cmljdE1vZGUpCisgICAgICAgICAg
ICBpZiAoaXNTdHJpY3RNb2RlKQogICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVk
aWN0aW9uKG5vZGUtPmdldEhlYXBQcmVkaWN0aW9uKCkpOwogICAgICAgICAgICAgZWxzZSBpZiAo
cHJlZGljdGlvbikgewogICAgICAgICAgICAgICAgIGlmIChwcmVkaWN0aW9uICYgflNwZWNPYmpl
Y3QpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKaW5kZXggMTVhYjQ0YmQ2MzgwYTIxZWE3MjRkYWJmNGEyZTI2M2UyNjUwOGUzNi4uZDZkYTE5
ODE5OTNmYmRjODAxMTNiMDQwZjJmNjg3MDM5ZGEyM2NiMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTIxMjIsNyArMjEyMiw3IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVEb3VibGVQdXRCeVZhbChOb2RlKiBub2RlLCBT
cGVjdWxhdGVDZWxsT3BlcmFuZCYgYmFzCiAgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKAog
ICAgICAgICAgICAgc2xvd1BhdGhDYWxsKAogICAgICAgICAgICAgICAgIHNsb3dDYXNlLCB0aGlz
LAotICAgICAgICAgICAgICAgIG1faml0LmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKQorICAg
ICAgICAgICAgICAgIG1faml0LmlzU3RyaWN0TW9kZUZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMp
CiAgICAgICAgICAgICAgICAgICAgID8gKG5vZGUtPm9wKCkgPT0gUHV0QnlWYWxEaXJlY3QgPyBv
cGVyYXRpb25QdXREb3VibGVCeVZhbERpcmVjdEJleW9uZEFycmF5Qm91bmRzU3RyaWN0IDogb3Bl
cmF0aW9uUHV0RG91YmxlQnlWYWxCZXlvbmRBcnJheUJvdW5kc1N0cmljdCkKICAgICAgICAgICAg
ICAgICAgICAgOiAobm9kZS0+b3AoKSA9PSBQdXRCeVZhbERpcmVjdCA/IG9wZXJhdGlvblB1dERv
dWJsZUJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QgOiBvcGVyYXRpb25QdXRE
b3VibGVCeVZhbEJleW9uZEFycmF5Qm91bmRzTm9uU3RyaWN0KSwKICAgICAgICAgICAgICAgICBO
b1Jlc3VsdCwgYmFzZVJlZywgcHJvcGVydHlSZWcsIHZhbHVlUmVnKSk7CkBAIC0zMTUzLDEyICsz
MTUzLDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRCeVZhbEZvckludFR5cGVk
QXJyYXkoR1BSUmVnIGJhc2UsIEdQUlJlZyBwcm9wZXJ0CiAgICAgICAgIGlmIChub2RlLT5vcCgp
ID09IFB1dEJ5VmFsRGlyZWN0KSB7CiAgICAgICAgICAgICBhZGRTbG93UGF0aEdlbmVyYXRvcihz
bG93UGF0aENhbGwoCiAgICAgICAgICAgICAgICAgc2xvd1BhdGhDYXNlcywgdGhpcywKLSAgICAg
ICAgICAgICAgICBtX2ppdC5jb2RlQmxvY2soKS0+aXNTdHJpY3RNb2RlKCkgPyBvcGVyYXRpb25Q
dXRCeVZhbERpcmVjdENlbGxTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbERpcmVjdENlbGxOb25T
dHJpY3QsCisgICAgICAgICAgICAgICAgbV9qaXQuaXNTdHJpY3RNb2RlRm9yKG5vZGUtPm9yaWdp
bi5zZW1hbnRpYykgPyBvcGVyYXRpb25QdXRCeVZhbERpcmVjdENlbGxTdHJpY3QgOiBvcGVyYXRp
b25QdXRCeVZhbERpcmVjdENlbGxOb25TdHJpY3QsCiAgICAgICAgICAgICAgICAgTm9SZXN1bHQs
IGJhc2UsIEpTVmFsdWVSZWdzKHByb3BlcnR5VGFnR1BSLCBwcm9wZXJ0eSksIEpTVmFsdWVSZWdz
KHZhbHVlVGFnR1BSLCB2YWx1ZUdQUikpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbCgKICAgICAgICAgICAgICAgICBzbG93
UGF0aENhc2VzLCB0aGlzLAotICAgICAgICAgICAgICAgIG1faml0LmNvZGVCbG9jaygpLT5pc1N0
cmljdE1vZGUoKSA/IG9wZXJhdGlvblB1dEJ5VmFsQ2VsbFN0cmljdCA6IG9wZXJhdGlvblB1dEJ5
VmFsQ2VsbE5vblN0cmljdCwKKyAgICAgICAgICAgICAgICBtX2ppdC5pc1N0cmljdE1vZGVGb3Io
bm9kZS0+b3JpZ2luLnNlbWFudGljKSA/IG9wZXJhdGlvblB1dEJ5VmFsQ2VsbFN0cmljdCA6IG9w
ZXJhdGlvblB1dEJ5VmFsQ2VsbE5vblN0cmljdCwKICAgICAgICAgICAgICAgICBOb1Jlc3VsdCwg
YmFzZSwgSlNWYWx1ZVJlZ3MocHJvcGVydHlUYWdHUFIsIHByb3BlcnR5KSwgSlNWYWx1ZVJlZ3Mo
dmFsdWVUYWdHUFIsIHZhbHVlR1BSKSkpOwogICAgICAgICB9CiAjZW5kaWYKQEAgLTExMDYwLDcg
KzExMDYwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dER5bmFtaWNWYXIoTm9k
ZSogbm9kZSkKICAgICBKU1ZhbHVlUmVncyB2YWx1ZVJlZ3MgPSB2YWx1ZS5qc1ZhbHVlUmVncygp
OwogCiAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblB1
dER5bmFtaWNWYXIsIE5vUmVzdWx0LCBzY29wZUdQUiwgdmFsdWVSZWdzLCBpZGVudGlmaWVyVUlE
KG5vZGUtPmlkZW50aWZpZXJOdW1iZXIoKSksIG5vZGUtPmdldFB1dEluZm8oKSk7CisgICAgY2Fs
bE9wZXJhdGlvbihtX2ppdC5pc1N0cmljdE1vZGVGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKSA/
IG9wZXJhdGlvblB1dER5bmFtaWNWYXJTdHJpY3QgOiBvcGVyYXRpb25QdXREeW5hbWljVmFyTm9u
U3RyaWN0LCBOb1Jlc3VsdCwgc2NvcGVHUFIsIHZhbHVlUmVncywgaWRlbnRpZmllclVJRChub2Rl
LT5pZGVudGlmaWVyTnVtYmVyKCkpLCBub2RlLT5nZXRQdXRJbmZvKCkpOwogICAgIG1faml0LmV4
Y2VwdGlvbkNoZWNrKCk7CiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CkBAIC0xMjMyOSw3ICsxMjMy
OSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVUb1RoaXMoTm9kZSogbm9kZSkKICAg
ICBtX2ppdC5tb3ZlVmFsdWVSZWdzKHRoaXNWYWx1ZVJlZ3MsIHRlbXBSZWdzKTsKIAogICAgIEpf
SklUT3BlcmF0aW9uX0VKIGZ1bmN0aW9uOwotICAgIGlmIChtX2ppdC5ncmFwaCgpLmV4ZWN1dGFi
bGVGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+aXNTdHJpY3RNb2RlKCkpCisgICAgaWYgKG1f
aml0LmlzU3RyaWN0TW9kZUZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpKQogICAgICAgICBmdW5j
dGlvbiA9IG9wZXJhdGlvblRvVGhpc1N0cmljdDsKICAgICBlbHNlCiAgICAgICAgIGZ1bmN0aW9u
ID0gb3BlcmF0aW9uVG9UaGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggYjU4NTk3OWVjNTA2NWIwYmJhOWFlMWI1
ZGM2ZDQ3MWIzZTUwNWFhYy4uMDZmNWI2MDU2NDg2MDg0M2U0ZDJhODI2MDk0NTI4MjAzOTIxMGE5
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCkBAIC0xNzg1LDEyICsxNzg1LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVDb250aWd1b3VzUHV0QnlWYWwoTm9kZSogbm9kZSwgQmFzZU9wZXJhbmRUeXBlJiBi
YXNlCiAgICAgICAgIGlmIChub2RlLT5vcCgpID09IFB1dEJ5VmFsRGlyZWN0KSB7CiAgICAgICAg
ICAgICBhZGRTbG93UGF0aEdlbmVyYXRvcihzbG93UGF0aENhbGwoCiAgICAgICAgICAgICAgICAg
c2xvd0Nhc2UsIHRoaXMsCi0gICAgICAgICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCktPmlzU3Ry
aWN0TW9kZSgpID8gb3BlcmF0aW9uUHV0QnlWYWxEaXJlY3RCZXlvbmRBcnJheUJvdW5kc1N0cmlj
dCA6IG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QsCisg
ICAgICAgICAgICAgICAgbV9qaXQuaXNTdHJpY3RNb2RlRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRp
YykgPyBvcGVyYXRpb25QdXRCeVZhbERpcmVjdEJleW9uZEFycmF5Qm91bmRzU3RyaWN0IDogb3Bl
cmF0aW9uUHV0QnlWYWxEaXJlY3RCZXlvbmRBcnJheUJvdW5kc05vblN0cmljdCwKICAgICAgICAg
ICAgICAgICBOb1Jlc3VsdCwgYmFzZVJlZywgcHJvcGVydHlSZWcsIEpTVmFsdWVSZWdzKHZhbHVl
VGFnLCB2YWx1ZVBheWxvYWRSZWcpKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBh
ZGRTbG93UGF0aEdlbmVyYXRvcihzbG93UGF0aENhbGwoCiAgICAgICAgICAgICAgICAgc2xvd0Nh
c2UsIHRoaXMsCi0gICAgICAgICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCktPmlzU3RyaWN0TW9k
ZSgpID8gb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlv
blB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QsCisgICAgICAgICAgICAgICAgbV9q
aXQuaXNTdHJpY3RNb2RlRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYykgPyBvcGVyYXRpb25QdXRC
eVZhbEJleW9uZEFycmF5Qm91bmRzU3RyaWN0IDogb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJh
eUJvdW5kc05vblN0cmljdCwKICAgICAgICAgICAgICAgICBOb1Jlc3VsdCwgYmFzZVJlZywgcHJv
cGVydHlSZWcsIEpTVmFsdWVSZWdzKHZhbHVlVGFnLCB2YWx1ZVBheWxvYWRSZWcpKSk7CiAgICAg
ICAgIH0KICAgICB9CkBAIC0yNTU0LDkgKzI1NTQsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIGZsdXNoUmVnaXN0
ZXJzKCk7CiAgICAgICAgICAgICBpZiAobm9kZS0+b3AoKSA9PSBQdXRCeVZhbERpcmVjdCkKLSAg
ICAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG1faml0LmNvZGVCbG9jaygpLT5pc1N0cmljdE1v
ZGUoKSA/IG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0Q2VsbFN0cmljdCA6IG9wZXJhdGlvblB1dEJ5
VmFsRGlyZWN0Q2VsbE5vblN0cmljdCwgYmFzZUdQUiwgcHJvcGVydHlSZWdzLCB2YWx1ZVJlZ3Mp
OworICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24obV9qaXQuaXNTdHJpY3RNb2RlRm9yKG5v
ZGUtPm9yaWdpbi5zZW1hbnRpYykgPyBvcGVyYXRpb25QdXRCeVZhbERpcmVjdENlbGxTdHJpY3Qg
OiBvcGVyYXRpb25QdXRCeVZhbERpcmVjdENlbGxOb25TdHJpY3QsIGJhc2VHUFIsIHByb3BlcnR5
UmVncywgdmFsdWVSZWdzKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBjYWxs
T3BlcmF0aW9uKG1faml0LmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKSA/IG9wZXJhdGlvblB1
dEJ5VmFsQ2VsbFN0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFsQ2VsbE5vblN0cmljdCwgYmFzZUdQ
UiwgcHJvcGVydHlSZWdzLCB2YWx1ZVJlZ3MpOworICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRp
b24obV9qaXQuaXNTdHJpY3RNb2RlRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYykgPyBvcGVyYXRp
b25QdXRCeVZhbENlbGxTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbENlbGxOb25TdHJpY3QsIGJh
c2VHUFIsIHByb3BlcnR5UmVncywgdmFsdWVSZWdzKTsKICAgICAgICAgICAgIG1faml0LmV4Y2Vw
dGlvbkNoZWNrKCk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIG5vUmVzdWx0KG5vZGUpOwpA
QCAtMjY2NywxMiArMjY2NywxMiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUq
IG5vZGUpCiAgICAgICAgICAgICAgICAgaWYgKG5vZGUtPm9wKCkgPT0gUHV0QnlWYWxEaXJlY3Qp
IHsKICAgICAgICAgICAgICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xvd1BhdGhDYWxs
KAogICAgICAgICAgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLCB0aGlzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpID8gb3BlcmF0aW9u
UHV0QnlWYWxEaXJlY3RCZXlvbmRBcnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFs
RGlyZWN0QmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QsCisgICAgICAgICAgICAgICAgICAgICAg
ICBtX2ppdC5pc1N0cmljdE1vZGVGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKSA/IG9wZXJhdGlv
blB1dEJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZh
bERpcmVjdEJleW9uZEFycmF5Qm91bmRzTm9uU3RyaWN0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgTm9SZXN1bHQsIGJhc2VSZWcsIHByb3BlcnR5UmVnLCBKU1ZhbHVlUmVncyh2YWx1ZVRhZ1Jl
ZywgdmFsdWVQYXlsb2FkUmVnKSkpOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICAgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbCgKICAgICAgICAg
ICAgICAgICAgICAgICAgIHNsb3dDYXNlcywgdGhpcywKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1faml0LmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKSA/IG9wZXJhdGlvblB1dEJ5VmFsQmV5
b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRz
Tm9uU3RyaWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgbV9qaXQuaXNTdHJpY3RNb2RlRm9y
KG5vZGUtPm9yaWdpbi5zZW1hbnRpYykgPyBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91
bmRzU3RyaWN0IDogb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kc05vblN0cmljdCwK
ICAgICAgICAgICAgICAgICAgICAgICAgIE5vUmVzdWx0LCBiYXNlUmVnLCBwcm9wZXJ0eVJlZywg
SlNWYWx1ZVJlZ3ModmFsdWVUYWdSZWcsIHZhbHVlUGF5bG9hZFJlZykpKTsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCAzYWZjYzc0MDU2NWRkY2Q1MWQ5MmE5OWM0Yjlm
MTY1ZmQ0ZDFkODg3Li41ZGFiMDhjMDA5ZjY1N2UwMjIwMDc3MmEwNWU0ZTFkYjg2ZGM0YTA5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKQEAgLTI3MjYsNyArMjcyNiw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9k
ZSogbm9kZSkKICAgICAgICAgICAgIGlmIChhcnJheU1vZGUuaXNPdXRPZkJvdW5kcygpKSB7CiAg
ICAgICAgICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xvd1BhdGhDYWxsKAogICAgICAg
ICAgICAgICAgICAgICBzbG93Q2FzZSwgdGhpcywKLSAgICAgICAgICAgICAgICAgICAgbV9qaXQu
Y29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpCisgICAgICAgICAgICAgICAgICAgIG1faml0Lmlz
U3RyaWN0TW9kZUZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpCiAgICAgICAgICAgICAgICAgICAg
ICAgICA/IChub2RlLT5vcCgpID09IFB1dEJ5VmFsRGlyZWN0ID8gb3BlcmF0aW9uUHV0QnlWYWxE
aXJlY3RCZXlvbmRBcnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJy
YXlCb3VuZHNTdHJpY3QpCiAgICAgICAgICAgICAgICAgICAgICAgICA6IChub2RlLT5vcCgpID09
IFB1dEJ5VmFsRGlyZWN0ID8gb3BlcmF0aW9uUHV0QnlWYWxEaXJlY3RCZXlvbmRBcnJheUJvdW5k
c05vblN0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3Qp
LAogICAgICAgICAgICAgICAgICAgICBOb1Jlc3VsdCwgYmFzZVJlZywgcHJvcGVydHlSZWcsIHZh
bHVlUmVnKSk7CkBAIC0yODEwLDcgKzI4MTAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBpZiAoIXNsb3dDYXNlcy5lbXB0eSgpKSB7CiAg
ICAgICAgICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xvd1BhdGhDYWxsKAogICAgICAg
ICAgICAgICAgICAgICBzbG93Q2FzZXMsIHRoaXMsCi0gICAgICAgICAgICAgICAgICAgIG1faml0
LmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKQorICAgICAgICAgICAgICAgICAgICBtX2ppdC5p
c1N0cmljdE1vZGVGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKQogICAgICAgICAgICAgICAgICAg
ICAgICAgPyAobm9kZS0+b3AoKSA9PSBQdXRCeVZhbERpcmVjdCA/IG9wZXJhdGlvblB1dEJ5VmFs
RGlyZWN0QmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFy
cmF5Qm91bmRzU3RyaWN0KQogICAgICAgICAgICAgICAgICAgICAgICAgOiAobm9kZS0+b3AoKSA9
PSBQdXRCeVZhbERpcmVjdCA/IG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3Vu
ZHNOb25TdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRzTm9uU3RyaWN0
KSwKICAgICAgICAgICAgICAgICAgICAgTm9SZXN1bHQsIGJhc2VSZWcsIHByb3BlcnR5UmVnLCB2
YWx1ZVJlZykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMu
Y3BwCmluZGV4IGJjMGQ2NzUxMTYxNjA4OGViMTM4NjBiYjRlMjhkMGJkNDYwMGM4MzYuLmUyYTRm
NTJjYjY2MTY0ZmZmOWM2OTg4MjM0MDIxMmI0ODY2Y2YyMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTQ1NjUsNyArNDU2NSw3IEBAIGNs
YXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgIGNvbnRpZ3VvdXNQdXRCeVZhbE91dE9mQm91bmRzKAotICAgICAgICAg
ICAgICAgICAgICBjb2RlQmxvY2soKS0+aXNTdHJpY3RNb2RlKCkKKyAgICAgICAgICAgICAgICAg
ICAgbV9ncmFwaC5pc1N0cmljdE1vZGVGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpCiAgICAg
ICAgICAgICAgICAgICAgICAgICA/IChtX25vZGUtPm9wKCkgPT0gUHV0QnlWYWxEaXJlY3QgPyBv
cGVyYXRpb25QdXRCeVZhbERpcmVjdEJleW9uZEFycmF5Qm91bmRzU3RyaWN0IDogb3BlcmF0aW9u
UHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kc1N0cmljdCkKICAgICAgICAgICAgICAgICAgICAgICAg
IDogKG1fbm9kZS0+b3AoKSA9PSBQdXRCeVZhbERpcmVjdCA/IG9wZXJhdGlvblB1dEJ5VmFsRGly
ZWN0QmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFy
cmF5Qm91bmRzTm9uU3RyaWN0KSwKICAgICAgICAgICAgICAgICAgICAgYmFzZSwgc3RvcmFnZSwg
aW5kZXgsIHZhbHVlLCBjb250aW51YXRpb24pOwpAQCAtNDU5MSw3ICs0NTkxLDcgQEAgY2xhc3Mg
TG93ZXJERkdUb0IzIHsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgY29udGlndW91c1B1dEJ5VmFsT3V0T2ZCb3VuZHMoCi0gICAgICAgICAgICAg
ICAgICAgIGNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKQorICAgICAgICAgICAgICAgICAgICBt
X2dyYXBoLmlzU3RyaWN0TW9kZUZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYykKICAgICAgICAg
ICAgICAgICAgICAgICAgID8gKG1fbm9kZS0+b3AoKSA9PSBQdXRCeVZhbERpcmVjdCA/IG9wZXJh
dGlvblB1dERvdWJsZUJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBvcGVyYXRp
b25QdXREb3VibGVCeVZhbEJleW9uZEFycmF5Qm91bmRzU3RyaWN0KQogICAgICAgICAgICAgICAg
ICAgICAgICAgOiAobV9ub2RlLT5vcCgpID09IFB1dEJ5VmFsRGlyZWN0ID8gb3BlcmF0aW9uUHV0
RG91YmxlQnlWYWxEaXJlY3RCZXlvbmRBcnJheUJvdW5kc05vblN0cmljdCA6IG9wZXJhdGlvblB1
dERvdWJsZUJ5VmFsQmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QpLAogICAgICAgICAgICAgICAg
ICAgICBiYXNlLCBzdG9yYWdlLCBpbmRleCwgdmFsdWUsIGNvbnRpbnVhdGlvbik7CkBAIC00NjMx
LDcgKzQ2MzEsNyBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICAgICAgTFZhbHVlIGlz
T3V0T2ZCb3VuZHMgPSBtX291dC5hYm92ZU9yRXF1YWwoCiAgICAgICAgICAgICAgICAgaW5kZXgs
IG1fb3V0LmxvYWQzMk5vbk5lZ2F0aXZlKHN0b3JhZ2UsIG1faGVhcHMuQXJyYXlTdG9yYWdlX3Zl
Y3Rvckxlbmd0aCkpOwogCi0gICAgICAgICAgICBhdXRvIHNsb3dQYXRoRnVuY3Rpb24gPSBjb2Rl
QmxvY2soKS0+aXNTdHJpY3RNb2RlKCkKKyAgICAgICAgICAgIGF1dG8gc2xvd1BhdGhGdW5jdGlv
biA9IG1fZ3JhcGguaXNTdHJpY3RNb2RlRm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKQogICAg
ICAgICAgICAgICAgID8gKG1fbm9kZS0+b3AoKSA9PSBQdXRCeVZhbERpcmVjdCA/IG9wZXJhdGlv
blB1dEJ5VmFsRGlyZWN0QmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZh
bEJleW9uZEFycmF5Qm91bmRzU3RyaWN0KQogICAgICAgICAgICAgICAgIDogKG1fbm9kZS0+b3Ao
KSA9PSBQdXRCeVZhbERpcmVjdCA/IG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0QmV5b25kQXJyYXlC
b3VuZHNOb25TdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRzTm9uU3Ry
aWN0KTsKICAgICAgICAgICAgIGlmICghYXJyYXlNb2RlLmlzT3V0T2ZCb3VuZHMoKSkgewpAQCAt
MTIzNTUsNyArMTIzNTUsNyBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgIHZvaWQgY29tcGls
ZVB1dER5bmFtaWNWYXIoKQogICAgIHsKICAgICAgICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCA9
IG1fZ3JhcGguaWRlbnRpZmllcnMoKVttX25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV07Ci0gICAg
ICAgIHNldEpTVmFsdWUodm1DYWxsKFZvaWQsIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25QdXRE
eW5hbWljVmFyKSwKKyAgICAgICAgc2V0SlNWYWx1ZSh2bUNhbGwoVm9pZCwgbV9vdXQub3BlcmF0
aW9uKG1fZ3JhcGguaXNTdHJpY3RNb2RlRm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKSA/IG9w
ZXJhdGlvblB1dER5bmFtaWNWYXJTdHJpY3QgOiBvcGVyYXRpb25QdXREeW5hbWljVmFyTm9uU3Ry
aWN0KSwKICAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkp
LCBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkpLCBtX291dC5jb25zdEludFB0cih1aWQpLCBt
X291dC5jb25zdEludDMyKG1fbm9kZS0+Z2V0UHV0SW5mbygpKSkpOwogICAgIH0KICAgICAKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGI0
ZDY5ZmZkNDFlNTc4NTdkNzg0YzI4MGQ3MzE2MGZiNjYzODMyYy4uODk3NzJlZWNmYmI0OTY5ZmIy
OTljZjEwODY0OTkxMDI5Yzk2NmE4YiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0wNC0wOCAgWXVzdWtl
IFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIERGRyBzaG91bGQg
cmVzcGVjdCBub2RlJ3Mgc3RyaWN0IGZsYWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NjYxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogc3RyZXNzL3B1dC1ieS12YWwtZGlyZWN0LXNob3VsZC1yZXNw
ZWN0LXN0cmljdC1tb2RlLW9mLWlubGluaW5nLWNvZGVibG9jay5qczogQWRkZWQuCisgICAgICAg
IChzaG91bGRFcXVhbCk6CisgICAgICAgIChtYWtlVW53cml0ZWFibGVVbmNvbmZpZ3VyYWJsZU9i
amVjdCk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdHJlc3MvcHV0LWR5bmFtaWMt
dmFyLXN0cmljdC1hbmQtc2xvcHB5LmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKyAg
ICAgICAgKHNob3VsZFRocm93KToKKyAgICAgICAgKHdpdGgucmVzdWx0KToKKyAgICAgICAgKHdp
dGgucHV0VmFsdWVTdHJpY3QpOgorICAgICAgICAod2l0aC5wdXRWYWx1ZVNsb3BweSk6CisKIDIw
MTktMDQtMDggIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBb
SlNDXSBpc1JvcGUganVtcCBpbiBTdHJpbmdTbGljZSBzaG91bGQgbm90IGp1bXAgb3ZlciByZWdp
c3RlciBhbGxvY2F0aW9ucwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvcHV0LWJ5LXZhbC1k
aXJlY3Qtc2hvdWxkLXJlc3BlY3Qtc3RyaWN0LW1vZGUtb2YtaW5saW5pbmctY29kZWJsb2NrLmpz
IGIvSlNUZXN0cy9zdHJlc3MvcHV0LWJ5LXZhbC1kaXJlY3Qtc2hvdWxkLXJlc3BlY3Qtc3RyaWN0
LW1vZGUtb2YtaW5saW5pbmctY29kZWJsb2NrLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1NjMyMTU1YWE1ZjZl
NzM4YWNiMTEwYTQwYmNhZjdhZmRjYjA5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0
cmVzcy9wdXQtYnktdmFsLWRpcmVjdC1zaG91bGQtcmVzcGVjdC1zdHJpY3QtbW9kZS1vZi1pbmxp
bmluZy1jb2RlYmxvY2suanMKQEAgLTAsMCArMSw0MCBAQAorLy9AIHJ1bkRlZmF1bHQoIi0tdXNl
UmFuZG9taXppbmdGdXp6ZXJBZ2VudD0xIiwgIi0tdXNlQ29uY3VycmVudEpJVD0wIikKKworbGV0
IHRvdGFsRmFpbGVkID0gMDsKKworZnVuY3Rpb24gc2hvdWxkRXF1YWwodGVzdElkLCBpdGVyYXRp
b24sIGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9IGV4cGVjdGVkKSB7Cisg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiVGVzdCAjIiArIHRlc3RJZCArICIsIGl0ZXJhdGlvbiAi
ICsgaXRlcmF0aW9uICsgIiwgRVJST1I6IGV4cGVjdGVkIFwiIiArIGV4cGVjdGVkICsgIlwiLCBn
b3QgXCIiICsgYWN0dWFsICsgIlwiIik7CisgICAgfQorfQorCitmdW5jdGlvbiBtYWtlVW53cml0
ZWFibGVVbmNvbmZpZ3VyYWJsZU9iamVjdCgpCit7CisgICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShbXSwgMCwge3ZhbHVlOiAiZnJvemVuIiwgd3JpdGFibGU6IGZhbHNlLCBjb25maWd1
cmFibGU6IGZhbHNlfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3RBcnJheU9mKG9iaikKK3sKKyAgICBB
cnJheS5vZi5jYWxsKGZ1bmN0aW9uKCkgeyByZXR1cm4gb2JqOyB9LCAibm8gbG9uZ2VyIGZyb3pl
biIpOworfQorCitub0lubGluZSh0ZXN0QXJyYXlPZik7CisKK2xldCBudW1JdGVyYXRpb25zID0g
MTAwMDA7CisKK2Z1bmN0aW9uIHJ1blRlc3QodGVzdElkLCB0ZXN0LCBzb3VyY2VNYWtlciwgZXhw
ZWN0ZWRFeGNlcHRpb24pIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUl0ZXJhdGlvbnM7
IGkrKykgeworICAgICAgICB2YXIgZXhjZXB0aW9uID0gIk5vIGV4Y2VwdGlvbiI7CisgICAgICAg
IHZhciBvYmogPSBzb3VyY2VNYWtlcigpOworCisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0
ZXN0KG9iaik7CisgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgIGV4Y2VwdGlvbiA9
ICIiICsgZTsKKyAgICAgICAgICAgIGV4Y2VwdGlvbiA9IGV4Y2VwdGlvbi5zdWJzdHIoMCwgMTAp
OyAvLyBTZWFyY2ggZm9yICJUeXBlRXJyb3I6Ii4KKyAgICAgICAgfQorICAgICAgICBzaG91bGRF
cXVhbCh0ZXN0SWQsIGksIGV4Y2VwdGlvbiwgZXhwZWN0ZWRFeGNlcHRpb24pOworICAgIH0KK30K
KworcnVuVGVzdCgxLCB0ZXN0QXJyYXlPZiwgbWFrZVVud3JpdGVhYmxlVW5jb25maWd1cmFibGVP
YmplY3QsICJUeXBlRXJyb3I6Iik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9wdXQtZHlu
YW1pYy12YXItc3RyaWN0LWFuZC1zbG9wcHkuanMgYi9KU1Rlc3RzL3N0cmVzcy9wdXQtZHluYW1p
Yy12YXItc3RyaWN0LWFuZC1zbG9wcHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjhmOGMxYjlmOGU5MjUwMWYw
NGI1YzI5ZjJhZTQ2MWFmMmNjMGQwYwotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNz
L3B1dC1keW5hbWljLXZhci1zdHJpY3QtYW5kLXNsb3BweS5qcwpAQCAtMCwwICsxLDcwIEBACitm
dW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFs
KTsKK30KKworZnVuY3Rpb24gc2hvdWxkVGhyb3coZnVuYywgZXJyb3JNZXNzYWdlKSB7CisgICAg
dmFyIGVycm9yVGhyb3duID0gZmFsc2U7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0cnkg
eworICAgICAgICBmdW5jKCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvclRocm93
biA9IHRydWU7CisgICAgICAgIGVycm9yID0gZTsKKyAgICB9CisgICAgaWYgKCFlcnJvclRocm93
bikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdub3QgdGhyb3duJyk7CisgICAgaWYgKFN0cmlu
ZyhlcnJvcikgIT09IGVycm9yTWVzc2FnZSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBiYWQg
ZXJyb3I6ICR7U3RyaW5nKGVycm9yKX1gKTsKK30KKworKGZ1bmN0aW9uICgpIHsKKyAgICB2YXIg
ZmxhZyA9IHRydWU7CisgICAgdmFyIHNjb3BlID0geworICAgICAgICByZXNvbHZlU3RyaWN0OiAy
MCwKKyAgICAgICAgcmVzb2x2ZVNsb3BweTogMjAsCisgICAgfTsKKworICAgIHdpdGggKHNjb3Bl
KSB7CisgICAgICAgIHZhciBwdXRWYWx1ZVN0cmljdCA9IGZ1bmN0aW9uICh0ZXh0LCB2YWx1ZSkK
KyAgICAgICAgeworICAgICAgICAgICAgaWYgKGZsYWcpCisgICAgICAgICAgICAgICAgZXZhbCh0
ZXh0KTsgLy8gTWFrZSByZXNvbHV0aW9uIER5bmFtaWMuCisgICAgICAgICAgICB2YXIgcmVzdWx0
ID0gKGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICAidXNlIHN0cmljdCI7CisgICAgICAg
ICAgICAgICAgcmVzb2x2ZVN0cmljdCA9IHZhbHVlOworICAgICAgICAgICAgfSgpKTsKKyAgICAg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH07CisgICAgICAgIG5vSW5saW5lKHB1dFZh
bHVlU3RyaWN0KTsKKworICAgICAgICB2YXIgcmVzb2x2ZVNsb3BweSA9IDIwOworICAgICAgICB2
YXIgcHV0VmFsdWVTbG9wcHkgPSBmdW5jdGlvbiAodGV4dCwgdmFsdWUpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmIChmbGFnKQorICAgICAgICAgICAgICAgIGV2YWwodGV4dCk7IC8vIE1ha2Ug
cmVzb2x1dGlvbiBEeW5hbWljLgorICAgICAgICAgICAgdmFyIHJlc3VsdCA9IChmdW5jdGlvbiAo
KSB7CisgICAgICAgICAgICAgICAgcmVzb2x2ZVNsb3BweSA9IHZhbHVlOworICAgICAgICAgICAg
fSgpKTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgbm9J
bmxpbmUocHV0VmFsdWVTbG9wcHkpOworICAgIH0KKworICAgIHB1dFZhbHVlU3RyaWN0KGB2YXIg
cmVzb2x2ZVN0cmljdCA9IDIwYCwgaSk7CisgICAgcHV0VmFsdWVTbG9wcHkoYHZhciByZXNvbHZl
U2xvcHB5ID0gMjBgLCBpKTsKKyAgICBmbGFnID0gZmFsc2U7CisKKyAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDRlMzsgKytpKSB7CisgICAgICAgIHB1dFZhbHVlU3RyaWN0KGBgLCBpKTsKKyAgICAg
ICAgc2hvdWxkQmUoc2NvcGUucmVzb2x2ZVN0cmljdCwgaSk7CisgICAgICAgIHB1dFZhbHVlU2xv
cHB5KGBgLCBpKTsKKyAgICAgICAgc2hvdWxkQmUoc2NvcGUucmVzb2x2ZVNsb3BweSwgaSk7Cisg
ICAgfQorICAgIE9iamVjdC5mcmVlemUoc2NvcGUpOworICAgIHNob3VsZFRocm93KCgpID0+IHsK
KyAgICAgICAgcHV0VmFsdWVTdHJpY3QoYGAsIDApOworICAgIH0sIGBUeXBlRXJyb3I6IEF0dGVt
cHRlZCB0byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJvcGVydHkuYCk7CisgICAgcHV0VmFsdWVTbG9w
cHkoYGAsIDApOworICAgIHNob3VsZEJlKHNjb3BlLnJlc29sdmVTbG9wcHksIDRlMyAtIDEpOwor
fSgpKTsK
</data>
<flag name="review"
          id="383360"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>