<?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>137617</bug_id>
          
          <creation_ts>2014-10-10 10:54:45 -0700</creation_ts>
          <short_desc>Various arguments optimisations in codegen fail to account for arguments being in lexical record</short_desc>
          <delta_ts>2014-10-17 09:07:11 -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>
          <dependson>137621</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>aestes</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1040965</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-10-10 10:54:45 -0700</bug_when>
    <thetext>Various arguments optimisations in codegen fail to account for arguments being in lexical record</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040966</commentid>
    <comment_count>1</comment_count>
      <attachid>239637</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-10-10 10:57:25 -0700</bug_when>
    <thetext>Created attachment 239637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040976</commentid>
    <comment_count>2</comment_count>
      <attachid>239637</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-10-10 11:26:46 -0700</bug_when>
    <thetext>Comment on attachment 239637
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040990</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-10-10 12:03:35 -0700</bug_when>
    <thetext>Committed r174606: &lt;http://trac.webkit.org/changeset/174606&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040996</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-10-10 12:50:18 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Committed r174606: &lt;http://trac.webkit.org/changeset/174606&gt;

This change caused a JSC test failure:

https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK1%20%28Tests%29/builds/9172/steps/jscore-test/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040999</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-10 12:55:10 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 137621</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042380</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-10-17 09:07:11 -0700</bug_when>
    <thetext>Committed r174821: &lt;http://trac.webkit.org/changeset/174821&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239637</attachid>
            <date>2014-10-10 10:57:25 -0700</date>
            <delta_ts>2014-10-10 11:26:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137617-20141010105728.patch</filename>
            <type>text/plain</type>
            <size>21820</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
OGRhODBmNTI2ZjczZTJjYzQ4OTUzNDYxZjRlMjdjMWNiNWI2NGIwLi5lMjlkMmEwMGNlZTY5YjFl
NjJmYjU1MmFjMTNhNjMwZTJhNGU4NzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NSBAQAorMjAxNC0xMC0xMCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFZhcmlvdXMgYXJndW1lbnRzIG9wdGltaXNhdGlvbnMgaW4gY29kZWdlbiBmYWls
IHRvIGFjY291bnQgZm9yIGFyZ3VtZW50cyBiZWluZyBpbiBsZXhpY2FsIHJlY29yZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NjE3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmV3b3JrIHRoZSB3YXkg
d2UgdHJhY2sgfGFyZ3VtZW50c3wgcmVmZXJlbmNlcyBzbyB0aGF0IHdlIGRvbid0IHRyeQorICAg
ICAgICB0byB1c2UgdGhlIHxhcmd1bWVudHN8IHJlZmVyZW5jZSBvbiB0aGUgc3RhY2sgaWYgaXQn
cyBub3Qgc2FmZS4KKworICAgICAgICBUbyBkbyB0aGlzIHdpdGhvdXQgbnVraW5nIHBlcmZvcm1h
bmNlIGl0IHdhcyBuZWNlc3NhcnkgdG8gdXBkYXRlCisgICAgICAgIHRoZSBwYXJzZXIgdG8gdHJh
Y2sgbW9kaWZpY2F0aW9uIG9mIHRoZSB8YXJndW1lbnRzfCByZWZlcmVuY2UKKyAgICAgICAgaXRz
ZWxmLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKiBieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVy
YXRvcjo6d2lsbFJlc29sdmVUb0FyZ3VtZW50cyk6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjp1bmNoZWNrZWRMb2NhbEFyZ3VtZW50c1JlZ2lzdGVyKToKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRDYWxsKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRDb25zdHJ1Y3QpOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6
ZW1pdEVudW1lcmF0aW9uKToKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OnVuY2hl
Y2tlZFJlZ2lzdGVyRm9yQXJndW1lbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6
Omhhc1NhZmVMb2NhbEFyZ3VtZW50c1JlZ2lzdGVyKToKKyAgICAgICAgKiBieXRlY29tcGlsZXIv
Tm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6QnJhY2tldEFjY2Vzc29yTm9kZTo6ZW1p
dEJ5dGVjb2RlKToKKyAgICAgICAgKEpTQzo6RG90QWNjZXNzb3JOb2RlOjplbWl0Qnl0ZWNvZGUp
OgorICAgICAgICAoSlNDOjpnZXRBcmd1bWVudEJ5VmFsKToKKyAgICAgICAgKEpTQzo6Q2FsbEZ1
bmN0aW9uQ2FsbERvdE5vZGU6OmVtaXRCeXRlY29kZSk6CisgICAgICAgIChKU0M6OkFwcGx5RnVu
Y3Rpb25DYWxsRG90Tm9kZTo6ZW1pdEJ5dGVjb2RlKToKKyAgICAgICAgKEpTQzo6QXJyYXlQYXR0
ZXJuTm9kZTo6ZW1pdERpcmVjdEJpbmRpbmcpOgorICAgICAgICAqIGludGVycHJldGVyL1N0YWNr
VmlzaXRvci5jcHA6CisgICAgICAgIChKU0M6OlN0YWNrVmlzaXRvcjo6RnJhbWU6OmV4aXN0aW5n
QXJndW1lbnRzKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgKEpTQzo6U2Nv
cGVOb2RlOjptb2RpZmllc0FyZ3VtZW50cyk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKToKKyAgICAgICAg
KiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgIChKU0M6OlNjb3BlOjpnZXRDYXB0dXJlZFZhcmlh
Ymxlcyk6CisgICAgICAgICogcGFyc2VyL1BhcnNlck1vZGVzLmg6CisKIDIwMTQtMTAtMDkgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBSZW1vdmUgdW51c2VkIGdlbmVyYXRvciBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IGI5MGEwNWVkY2E4ZjhlN2JmYmU3ODlmM2Zj
MWY4YTBjZjFiYjZjMzYuLjVhNzBiMjg0ZjQ4NmRkMTYxNWQwZjhiYmUzZGY3ZWMyYjVlODM4NjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0z
ODg3LDYgKzM4ODcsOCBAQCBzdHJ1Y3QgVmVyaWZ5Q2FwdHVyZWREZWYgewogCiAgICAgICAgIGlm
IChjb2RlQmxvY2stPnVzZXNBcmd1bWVudHMoKSAmJiB2aXJ0dWFsUmVnID09IGNvZGVCbG9jay0+
YXJndW1lbnRzUmVnaXN0ZXIoKSkKICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKGNv
ZGVCbG9jay0+dXNlc0FyZ3VtZW50cygpICYmIHZpcnR1YWxSZWcgPT0gdW5tb2RpZmllZEFyZ3Vt
ZW50c1JlZ2lzdGVyKGNvZGVCbG9jay0+YXJndW1lbnRzUmVnaXN0ZXIoKSkpCisgICAgICAgICAg
ICByZXR1cm47CiAKICAgICAgICAgaWYgKGNvZGVCbG9jay0+Y2FwdHVyZUNvdW50KCkgJiYgY29k
ZUJsb2NrLT5zeW1ib2xUYWJsZSgpLT5pc0NhcHR1cmVkKG9wZXJhbmQpKSB7CiAgICAgICAgICAg
ICBjb2RlQmxvY2stPmJlZ2luVmFsaWRhdGlvbkRpZEZhaWwoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5k
ZXggZjU2OWNkYjc3OWQzNjkzOWEwYTgzNmNmZGE5N2ZjNWI2ZjA2ZWRiNi4uMzI3YjVkODVmMGIz
MGEyMDIzNTBkMWE5Njk1Y2U1MmIwMTE3ZDRlYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE2Nyw2
ICsxNjcsNyBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IoVk0mIHZtLCBQ
cm9ncmFtTm9kZSogcHJvZ3JhbU5vZGUsIFVubGlua2VkUAogICAgICwgbV9sZXhpY2FsRW52aXJv
bm1lbnRSZWdpc3RlcigwKQogICAgICwgbV9lbXB0eVZhbHVlUmVnaXN0ZXIoMCkKICAgICAsIG1f
Z2xvYmFsT2JqZWN0UmVnaXN0ZXIoMCkKKyAgICAsIG1fbG9jYWxBcmd1bWVudHNSZWdpc3Rlcigw
KQogICAgICwgbV9maW5hbGx5RGVwdGgoMCkKICAgICAsIG1fbG9jYWxTY29wZURlcHRoKDApCiAg
ICAgLCBtX2NvZGVUeXBlKEdsb2JhbENvZGUpCkBAIC0yMTEsNiArMjEyLDcgQEAgQnl0ZWNvZGVH
ZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFZNJiB2bSwgRnVuY3Rpb25Cb2R5Tm9kZSogZnVu
Y3Rpb25Cb2R5LCBVbmwKICAgICAsIG1fbGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXIoMCkKICAg
ICAsIG1fZW1wdHlWYWx1ZVJlZ2lzdGVyKDApCiAgICAgLCBtX2dsb2JhbE9iamVjdFJlZ2lzdGVy
KDApCisgICAgLCBtX2xvY2FsQXJndW1lbnRzUmVnaXN0ZXIoMCkKICAgICAsIG1fZmluYWxseURl
cHRoKDApCiAgICAgLCBtX2xvY2FsU2NvcGVEZXB0aCgwKQogICAgICwgbV9jb2RlVHlwZShGdW5j
dGlvbkNvZGUpCkBAIC0yNTAsNiArMjUyLDcgQEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2Rl
R2VuZXJhdG9yKFZNJiB2bSwgRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb25Cb2R5LCBVbmwKICAg
ICAgICAgZW1pdE9wY29kZShvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudCk7CiAgICAgICAg
IGluc3RydWN0aW9ucygpLmFwcGVuZChtX2xleGljYWxFbnZpcm9ubWVudFJlZ2lzdGVyLT5pbmRl
eCgpKTsKICAgICB9CisgICAgUmVnaXN0ZXJJRCogbG9jYWxBcmd1bWVudHNSZWdpc3RlciA9IG51
bGxwdHI7CiAgICAgUmVnaXN0ZXJJRCogc2NyYXRjaCA9IGFkZFZhcigpOwogICAgIG1fc3ltYm9s
VGFibGUtPnNldENhcHR1cmVTdGFydCh2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChtX2NvZGVCbG9j
ay0+bV9udW1WYXJzKS5vZmZzZXQoKSk7CiAKQEAgLTI1Nyw2ICsyNjAsOCBAQCBCeXRlY29kZUdl
bmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IoVk0mIHZtLCBGdW5jdGlvbkJvZHlOb2RlKiBmdW5j
dGlvbkJvZHksIFVubAogICAgICAgICBSZWdpc3RlcklEKiB1bm1vZGlmaWVkQXJndW1lbnRzUmVn
aXN0ZXIgPSBhZGRWYXIoKTsgLy8gQW5vbnltb3VzLCBzbyBpdCBjYW4ndCBiZSBtb2RpZmllZCBi
eSB1c2VyIGNvZGUuCiAgICAgICAgIFJlZ2lzdGVySUQqIGFyZ3VtZW50c1JlZ2lzdGVyID0gYWRk
VmFyKHByb3BlcnR5TmFtZXMoKS5hcmd1bWVudHMsIElzVmFyaWFibGUsIE5vdFdhdGNoYWJsZSk7
IC8vIENhbiBiZSBjaGFuZ2VkIGJ5IGFzc2lnbmluZyB0byAnYXJndW1lbnRzJy4KIAorICAgICAg
ICBsb2NhbEFyZ3VtZW50c1JlZ2lzdGVyID0gYXJndW1lbnRzUmVnaXN0ZXI7CisKICAgICAgICAg
Ly8gV2UgY2FuIHNhdmUgYSBsaXR0bGUgc3BhY2UgYnkgaGFyZC1jb2RpbmcgdGhlIGtub3dsZWRn
ZSB0aGF0IHRoZSB0d28KICAgICAgICAgLy8gJ2FyZ3VtZW50cycgdmFsdWVzIGFyZSBzdG9yZWQg
aW4gY29uc2VjdXRpdmUgcmVnaXN0ZXJzLCBhbmQgc3RvcmluZwogICAgICAgICAvLyBvbmx5IHRo
ZSBpbmRleCBvZiB0aGUgYXNzaWduYWJsZSBvbmUuCkBAIC0yNzQsNiArMjc5LDE1IEBAIEJ5dGVj
b2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcihWTSYgdm0sIEZ1bmN0aW9uQm9keU5vZGUq
IGZ1bmN0aW9uQm9keSwgVW5sCiAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZUNhcHR1cmVkVmFy
aWFibGUoYXJndW1lbnRzUmVnaXN0ZXIsIHByb3BlcnR5TmFtZXMoKS5hcmd1bWVudHMsIGFyZ3Vt
ZW50c1JlZ2lzdGVyKTsKICAgICAgICAgICAgICAgICBSZWdpc3RlcklEKiB1bmNoZWNrZWRBcmd1
bWVudHNSZWdpc3RlciA9ICZyZWdpc3RlckZvcihKU0M6OnVubW9kaWZpZWRBcmd1bWVudHNSZWdp
c3RlcihtX2NvZGVCbG9jay0+YXJndW1lbnRzUmVnaXN0ZXIoKSkub2Zmc2V0KCkpOwogICAgICAg
ICAgICAgICAgIGluaXRpYWxpemVDYXB0dXJlZFZhcmlhYmxlKHVuY2hlY2tlZEFyZ3VtZW50c1Jl
Z2lzdGVyLCBwcm9wZXJ0eU5hbWVzKCkuYXJndW1lbnRzLCB1bmNoZWNrZWRBcmd1bWVudHNSZWdp
c3Rlcik7CisgICAgICAgICAgICAgICAgaWYgKGZ1bmN0aW9uQm9keS0+bW9kaWZpZXNBcmd1bWVu
dHMoKSkgeworICAgICAgICAgICAgICAgICAgICBlbWl0T3Bjb2RlKG9wX21vdik7CisgICAgICAg
ICAgICAgICAgICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChhcmd1bWVudHNSZWdpc3Rlci0+aW5k
ZXgoKSk7CisgICAgICAgICAgICAgICAgICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChhZGRDb25z
dGFudFZhbHVlKGpzVW5kZWZpbmVkKCkpLT5pbmRleCgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ZW1pdE9wY29kZShvcF9tb3YpOworICAgICAgICAgICAgICAgICAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQodW5jaGVja2VkQXJndW1lbnRzUmVnaXN0ZXItPmluZGV4KCkpOworICAgICAgICAgICAg
ICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoYWRkQ29uc3RhbnRWYWx1ZShqc1VuZGVmaW5l
ZCgpKS0+aW5kZXgoKSk7CisgICAgICAgICAgICAgICAgICAgIGxvY2FsQXJndW1lbnRzUmVnaXN0
ZXIgPSBudWxscHRyOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KQEAgLTM4Niw2ICs0MDAsNyBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVH
ZW5lcmF0b3IoVk0mIHZtLCBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbkJvZHksIFVubAogICAg
IGludCBuZXh0UGFyYW1ldGVySW5kZXggPSBDYWxsRnJhbWU6OnRoaXNBcmd1bWVudE9mZnNldCgp
OwogICAgIG1fdGhpc1JlZ2lzdGVyLnNldEluZGV4KG5leHRQYXJhbWV0ZXJJbmRleCsrKTsKICAg
ICBtX2NvZGVCbG9jay0+YWRkUGFyYW1ldGVyKCk7CisKICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHBhcmFtZXRlcnMuc2l6ZSgpOyArK2ksICsrbmV4dFBhcmFtZXRlckluZGV4KSB7CiAgICAg
ICAgIGludCBpbmRleCA9IG5leHRQYXJhbWV0ZXJJbmRleDsKICAgICAgICAgYXV0byBwYXR0ZXJu
ID0gcGFyYW1ldGVycy5hdChpKTsKQEAgLTQxOSw2ICs0MzQsNyBAQCBCeXRlY29kZUdlbmVyYXRv
cjo6Qnl0ZWNvZGVHZW5lcmF0b3IoVk0mIHZtLCBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbkJv
ZHksIFVubAogICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoMCk7CiAgICAgICAgIGluc3Ry
dWN0aW9ucygpLmFwcGVuZCgwKTsKICAgICB9CisgICAgbV9sb2NhbEFyZ3VtZW50c1JlZ2lzdGVy
ID0gbG9jYWxBcmd1bWVudHNSZWdpc3RlcjsKIH0KIAogQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVj
b2RlR2VuZXJhdG9yKFZNJiB2bSwgRXZhbE5vZGUqIGV2YWxOb2RlLCBVbmxpbmtlZEV2YWxDb2Rl
QmxvY2sqIGNvZGVCbG9jaywgRGVidWdnZXJNb2RlIGRlYnVnZ2VyTW9kZSwgUHJvZmlsZXJNb2Rl
IHByb2ZpbGVyTW9kZSkKQEAgLTQzMSw2ICs0NDcsNyBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0
ZWNvZGVHZW5lcmF0b3IoVk0mIHZtLCBFdmFsTm9kZSogZXZhbE5vZGUsIFVubGlua2VkRXZhbENv
ZAogICAgICwgbV9sZXhpY2FsRW52aXJvbm1lbnRSZWdpc3RlcigwKQogICAgICwgbV9lbXB0eVZh
bHVlUmVnaXN0ZXIoMCkKICAgICAsIG1fZ2xvYmFsT2JqZWN0UmVnaXN0ZXIoMCkKKyAgICAsIG1f
bG9jYWxBcmd1bWVudHNSZWdpc3RlcigwKQogICAgICwgbV9maW5hbGx5RGVwdGgoMCkKICAgICAs
IG1fbG9jYWxTY29wZURlcHRoKDApCiAgICAgLCBtX2NvZGVUeXBlKEV2YWxDb2RlKQpAQCAtNTQ1
LDE5ICs1NjIsMTcgQEAgYm9vbCBCeXRlY29kZUdlbmVyYXRvcjo6d2lsbFJlc29sdmVUb0FyZ3Vt
ZW50cyhjb25zdCBJZGVudGlmaWVyJiBpZGVudCkKICAgICBpZiAoZW50cnkuaXNOdWxsKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtX2NvZGVCbG9jay0+dXNlc0FyZ3VtZW50
cygpICYmIG1fY29kZVR5cGUgPT0gRnVuY3Rpb25Db2RlKQorICAgIGlmIChtX2NvZGVCbG9jay0+
dXNlc0FyZ3VtZW50cygpICYmIG1fY29kZVR5cGUgPT0gRnVuY3Rpb25Db2RlICYmIG1fbG9jYWxB
cmd1bWVudHNSZWdpc3RlcikKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCi1SZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6dW5jaGVja2VkUmVn
aXN0ZXJGb3JBcmd1bWVudHMoKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OnVuY2hl
Y2tlZExvY2FsQXJndW1lbnRzUmVnaXN0ZXIoKQogewogICAgIEFTU0VSVCh3aWxsUmVzb2x2ZVRv
QXJndW1lbnRzKHByb3BlcnR5TmFtZXMoKS5hcmd1bWVudHMpKTsKLQotICAgIFN5bWJvbFRhYmxl
RW50cnkgZW50cnkgPSBzeW1ib2xUYWJsZSgpLmdldChwcm9wZXJ0eU5hbWVzKCkuYXJndW1lbnRz
LmltcGwoKSk7Ci0gICAgQVNTRVJUKCFlbnRyeS5pc051bGwoKSk7Ci0gICAgcmV0dXJuICZyZWdp
c3RlckZvcihlbnRyeS5nZXRJbmRleCgpKTsKKyAgICBBU1NFUlQobV9sb2NhbEFyZ3VtZW50c1Jl
Z2lzdGVyKTsKKyAgICByZXR1cm4gbV9sb2NhbEFyZ3VtZW50c1JlZ2lzdGVyOwogfQogCiBSZWdp
c3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6Y3JlYXRlTGF6eVJlZ2lzdGVySWZOZWNlc3Nhcnko
UmVnaXN0ZXJJRCogcmVnKQpAQCAtMTgyOCw3ICsxODQzLDcgQEAgUmVnaXN0ZXJJRCogQnl0ZWNv
ZGVHZW5lcmF0b3I6OmVtaXRDYWxsKE9wY29kZUlEIG9wY29kZUlELCBSZWdpc3RlcklEKiBkc3Qs
IFJlZ2kKICAgICAgICAgICAgIGF1dG8gZXhwcmVzc2lvbiA9IHN0YXRpY19jYXN0PFNwcmVhZEV4
cHJlc3Npb25Ob2RlKj4obi0+bV9leHByKS0+ZXhwcmVzc2lvbigpOwogICAgICAgICAgICAgUmVm
UHRyPFJlZ2lzdGVySUQ+IGFyZ3VtZW50UmVnaXN0ZXI7CiAgICAgICAgICAgICBpZiAoZXhwcmVz
c2lvbi0+aXNSZXNvbHZlTm9kZSgpICYmIHdpbGxSZXNvbHZlVG9Bcmd1bWVudHMoc3RhdGljX2Nh
c3Q8UmVzb2x2ZU5vZGUqPihleHByZXNzaW9uKS0+aWRlbnRpZmllcigpKSAmJiAhc3ltYm9sVGFi
bGUoKS5zbG93QXJndW1lbnRzKCkpCi0gICAgICAgICAgICAgICAgYXJndW1lbnRSZWdpc3RlciA9
IHVuY2hlY2tlZFJlZ2lzdGVyRm9yQXJndW1lbnRzKCk7CisgICAgICAgICAgICAgICAgYXJndW1l
bnRSZWdpc3RlciA9IHVuY2hlY2tlZExvY2FsQXJndW1lbnRzUmVnaXN0ZXIoKTsKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICBhcmd1bWVudFJlZ2lzdGVyID0gZXhwcmVzc2lvbi0+
ZW1pdEJ5dGVjb2RlKCp0aGlzLCBjYWxsQXJndW1lbnRzLmFyZ3VtZW50UmVnaXN0ZXIoMCkpOwog
ICAgICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHRoaXNSZWdpc3RlciA9IGVtaXRNb3ZlKG5l
d1RlbXBvcmFyeSgpLCBjYWxsQXJndW1lbnRzLnRoaXNSZWdpc3RlcigpKTsKQEAgLTE5NzAsNyAr
MTk4NSw3IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0Q29uc3RydWN0KFJl
Z2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogZnVuYywKICAgICAgICAgICAgIGF1dG8gZXhwcmVz
c2lvbiA9IHN0YXRpY19jYXN0PFNwcmVhZEV4cHJlc3Npb25Ob2RlKj4obi0+bV9leHByKS0+ZXhw
cmVzc2lvbigpOwogICAgICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGFyZ3VtZW50UmVnaXN0
ZXI7CiAgICAgICAgICAgICBpZiAoZXhwcmVzc2lvbi0+aXNSZXNvbHZlTm9kZSgpICYmIHdpbGxS
ZXNvbHZlVG9Bcmd1bWVudHMoc3RhdGljX2Nhc3Q8UmVzb2x2ZU5vZGUqPihleHByZXNzaW9uKS0+
aWRlbnRpZmllcigpKSAmJiAhc3ltYm9sVGFibGUoKS5zbG93QXJndW1lbnRzKCkpCi0gICAgICAg
ICAgICAgICAgYXJndW1lbnRSZWdpc3RlciA9IHVuY2hlY2tlZFJlZ2lzdGVyRm9yQXJndW1lbnRz
KCk7CisgICAgICAgICAgICAgICAgYXJndW1lbnRSZWdpc3RlciA9IHVuY2hlY2tlZExvY2FsQXJn
dW1lbnRzUmVnaXN0ZXIoKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBhcmd1
bWVudFJlZ2lzdGVyID0gZXhwcmVzc2lvbi0+ZW1pdEJ5dGVjb2RlKCp0aGlzLCBjYWxsQXJndW1l
bnRzLmFyZ3VtZW50UmVnaXN0ZXIoMCkpOwogICAgICAgICAgICAgcmV0dXJuIGVtaXRDb25zdHJ1
Y3RWYXJhcmdzKGRzdCwgZnVuYywgYXJndW1lbnRSZWdpc3Rlci5nZXQoKSwgbmV3VGVtcG9yYXJ5
KCksIDAsIGNhbGxBcmd1bWVudHMucHJvZmlsZUhvb2tSZWdpc3RlcigpLCBkaXZvdCwgZGl2b3RT
dGFydCwgZGl2b3RFbmQpOwpAQCAtMjUzOCwxMyArMjU1MywxMyBAQCB2b2lkIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0RW51bWVyYXRpb24oVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEqIG5vZGUsIEV4
cHJlc3NpbwogICAgICAgICBlbWl0SnVtcChsb29wQ29uZGl0aW9uLmdldCgpKTsKICAgICAgICAg
ZW1pdExhYmVsKGxvb3BTdGFydC5nZXQoKSk7CiAgICAgICAgIGVtaXRMb29wSGludCgpOwotICAg
ICAgICBlbWl0R2V0QXJndW1lbnRCeVZhbCh2YWx1ZS5nZXQoKSwgdW5jaGVja2VkUmVnaXN0ZXJG
b3JBcmd1bWVudHMoKSwgaW5kZXguZ2V0KCkpOworICAgICAgICBlbWl0R2V0QXJndW1lbnRCeVZh
bCh2YWx1ZS5nZXQoKSwgdW5jaGVja2VkTG9jYWxBcmd1bWVudHNSZWdpc3RlcigpLCBpbmRleC5n
ZXQoKSk7CiAgICAgICAgIGNhbGxCYWNrKCp0aGlzLCB2YWx1ZS5nZXQoKSk7CiAgICAgCiAgICAg
ICAgIGVtaXRMYWJlbChzY29wZS0+Y29udGludWVUYXJnZXQoKSk7CiAgICAgICAgIGVtaXRJbmMo
aW5kZXguZ2V0KCkpOwogICAgICAgICBlbWl0TGFiZWwobG9vcENvbmRpdGlvbi5nZXQoKSk7Ci0g
ICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBsZW5ndGggPSBlbWl0R2V0QXJndW1lbnRzTGVuZ3Ro
KG5ld1RlbXBvcmFyeSgpLCB1bmNoZWNrZWRSZWdpc3RlckZvckFyZ3VtZW50cygpKTsKKyAgICAg
ICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGxlbmd0aCA9IGVtaXRHZXRBcmd1bWVudHNMZW5ndGgobmV3
VGVtcG9yYXJ5KCksIHVuY2hlY2tlZExvY2FsQXJndW1lbnRzUmVnaXN0ZXIoKSk7CiAgICAgICAg
IGVtaXRKdW1wSWZUcnVlKGVtaXRFcXVhbGl0eU9wKG9wX2xlc3MsIG5ld1RlbXBvcmFyeSgpLCBp
bmRleC5nZXQoKSwgbGVuZ3RoLmdldCgpKSwgbG9vcFN0YXJ0LmdldCgpKTsKICAgICAgICAgZW1p
dExhYmVsKHNjb3BlLT5icmVha1RhcmdldCgpKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
CmluZGV4IGY3YjE0ODFhMzQwYWM3N2Q5MTRiNWZiMGExYTExY2ZhM2JiMzk1ZTguLjQ2ZDU5MGRl
NzAxNmExMmQzNjNmOTQ2MDEzZTIxODJmZDRhY2JjMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTI3Nyw3
ICsyNzcsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBzZXRJc051bWVyaWNDb21w
YXJlRnVuY3Rpb24oYm9vbCBpc051bWVyaWNDb21wYXJlRnVuY3Rpb24pOwogCiAgICAgICAgIGJv
b2wgd2lsbFJlc29sdmVUb0FyZ3VtZW50cyhjb25zdCBJZGVudGlmaWVyJik7Ci0gICAgICAgIFJl
Z2lzdGVySUQqIHVuY2hlY2tlZFJlZ2lzdGVyRm9yQXJndW1lbnRzKCk7CisKKyAgICAgICAgYm9v
bCBoYXNTYWZlTG9jYWxBcmd1bWVudHNSZWdpc3RlcigpIHsgcmV0dXJuIG1fbG9jYWxBcmd1bWVu
dHNSZWdpc3RlcjsgfQorICAgICAgICBSZWdpc3RlcklEKiB1bmNoZWNrZWRMb2NhbEFyZ3VtZW50
c1JlZ2lzdGVyKCk7CiAKICAgICAgICAgYm9vbCBpc0NhcHR1cmVkKGludCBvcGVyYW5kKTsKICAg
ICAgICAgQ2FwdHVyZU1vZGUgY2FwdHVyZU1vZGUoaW50IG9wZXJhbmQpIHsgcmV0dXJuIGlzQ2Fw
dHVyZWQob3BlcmFuZCkgPyBJc0NhcHR1cmVkIDogTm90Q2FwdHVyZWQ7IH0KQEAgLTc1Miw2ICs3
NTQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogbV9sZXhpY2FsRW52
aXJvbm1lbnRSZWdpc3RlcjsKICAgICAgICAgUmVnaXN0ZXJJRCogbV9lbXB0eVZhbHVlUmVnaXN0
ZXI7CiAgICAgICAgIFJlZ2lzdGVySUQqIG1fZ2xvYmFsT2JqZWN0UmVnaXN0ZXI7CisgICAgICAg
IFJlZ2lzdGVySUQqIG1fbG9jYWxBcmd1bWVudHNSZWdpc3RlcjsKKwogICAgICAgICBWZWN0b3I8
SWRlbnRpZmllciwgMTY+IG1fd2F0Y2hhYmxlVmFyaWFibGVzOwogICAgICAgICBTZWdtZW50ZWRW
ZWN0b3I8UmVnaXN0ZXJJRCwgMzI+IG1fY29uc3RhbnRQb29sUmVnaXN0ZXJzOwogICAgICAgICBT
ZWdtZW50ZWRWZWN0b3I8UmVnaXN0ZXJJRCwgMzI+IG1fY2FsbGVlUmVnaXN0ZXJzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmlu
ZGV4IDRiNGU1YTcwYWRiNzRlYWEyNTM3MzJlNTQwN2JmZjNiNzI3ODY1NzcuLmI5OTJiYzYyMGU2
NmJhMmE5ZjNhNjE1N2I5MzlmNThhODIwZWNkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTM4Niw3ICszODYsNyBA
QCBSZWdpc3RlcklEKiBCcmFja2V0QWNjZXNzb3JOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVH
ZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaQogICAgICAgICAmJiAhZ2VuZXJhdG9yLnN5bWJvbFRh
YmxlKCkuc2xvd0FyZ3VtZW50cygpKSB7CiAgICAgICAgIFJlZ2lzdGVySUQqIHByb3BlcnR5ID0g
Z2VuZXJhdG9yLmVtaXROb2RlKG1fc3Vic2NyaXB0KTsKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRF
eHByZXNzaW9uSW5mbyhkaXZvdCgpLCBkaXZvdFN0YXJ0KCksIGRpdm90RW5kKCkpOwotICAgICAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRHZXRBcmd1bWVudEJ5VmFsKGdlbmVyYXRvci5maW5hbERl
c3RpbmF0aW9uKGRzdCksIGdlbmVyYXRvci51bmNoZWNrZWRSZWdpc3RlckZvckFyZ3VtZW50cygp
LCBwcm9wZXJ0eSk7CisgICAgICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEdldEFyZ3VtZW50QnlW
YWwoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgZ2VuZXJhdG9yLnVuY2hlY2tlZExv
Y2FsQXJndW1lbnRzUmVnaXN0ZXIoKSwgcHJvcGVydHkpOwogICAgIH0KIAogICAgIFJlZlB0cjxS
ZWdpc3RlcklEPiBiYXNlID0gZ2VuZXJhdG9yLmVtaXROb2RlRm9yTGVmdEhhbmRTaWRlKG1fYmFz
ZSwgbV9zdWJzY3JpcHRIYXNBc3NpZ25tZW50cywgbV9zdWJzY3JpcHQtPmlzUHVyZShnZW5lcmF0
b3IpKTsKQEAgLTQxMiw3ICs0MTIsNyBAQCBSZWdpc3RlcklEKiBEb3RBY2Nlc3Nvck5vZGU6OmVt
aXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcgogICAgICAg
ICBpZiAoIWdlbmVyYXRvci53aWxsUmVzb2x2ZVRvQXJndW1lbnRzKHJlc29sdmVOb2RlLT5pZGVu
dGlmaWVyKCkpKQogICAgICAgICAgICAgZ290byBub25Bcmd1bWVudHNQYXRoOwogICAgICAgICBn
ZW5lcmF0b3IuZW1pdEV4cHJlc3Npb25JbmZvKGRpdm90KCksIGRpdm90U3RhcnQoKSwgZGl2b3RF
bmQoKSk7Ci0gICAgICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEdldEFyZ3VtZW50c0xlbmd0aChn
ZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCBnZW5lcmF0b3IudW5jaGVja2VkUmVnaXN0
ZXJGb3JBcmd1bWVudHMoKSk7CisgICAgICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEdldEFyZ3Vt
ZW50c0xlbmd0aChnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCBnZW5lcmF0b3IudW5j
aGVja2VkTG9jYWxBcmd1bWVudHNSZWdpc3RlcigpKTsKICAgICB9CiAKIG5vbkFyZ3VtZW50c1Bh
dGg6CkBAIC01OTMsNyArNTkzLDcgQEAgc3RhdGljIFJlZ2lzdGVySUQqIGdldEFyZ3VtZW50QnlW
YWwoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgRXhwcmVzc2lvbk5vZGUKICAgICAgICAg
JiYgZ2VuZXJhdG9yLndpbGxSZXNvbHZlVG9Bcmd1bWVudHMoc3RhdGljX2Nhc3Q8UmVzb2x2ZU5v
ZGUqPihiYXNlKS0+aWRlbnRpZmllcigpKQogICAgICAgICAmJiAhZ2VuZXJhdG9yLnN5bWJvbFRh
YmxlKCkuc2xvd0FyZ3VtZW50cygpKSB7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0RXhwcmVzc2lv
bkluZm8oZGl2b3QsIGRpdm90U3RhcnQsIGRpdm90RW5kKTsKLSAgICAgICAgcmV0dXJuIGdlbmVy
YXRvci5lbWl0R2V0QXJndW1lbnRCeVZhbChnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3Qp
LCBnZW5lcmF0b3IudW5jaGVja2VkUmVnaXN0ZXJGb3JBcmd1bWVudHMoKSwgcHJvcGVydHkpOwor
ICAgICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRHZXRBcmd1bWVudEJ5VmFsKGdlbmVyYXRvci5m
aW5hbERlc3RpbmF0aW9uKGRzdCksIGdlbmVyYXRvci51bmNoZWNrZWRMb2NhbEFyZ3VtZW50c1Jl
Z2lzdGVyKCksIHByb3BlcnR5KTsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CkBAIC02
MjEsNyArNjIxLDcgQEAgUmVnaXN0ZXJJRCogQ2FsbEZ1bmN0aW9uQ2FsbERvdE5vZGU6OmVtaXRC
eXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLAogICAgICAgICAgICAgUmVmUHRy
PFJlZ2lzdGVySUQ+IHRoaXNSZWdpc3RlciA9IGdldEFyZ3VtZW50QnlWYWwoZ2VuZXJhdG9yLCBz
dWJqZWN0LCBnZW5lcmF0b3IuZW1pdExvYWQoMCwganNOdW1iZXIoMCkpLCAwLCBzcHJlYWQtPmRp
dm90KCksIHNwcmVhZC0+ZGl2b3RTdGFydCgpLCBzcHJlYWQtPmRpdm90RW5kKCkpOwogICAgICAg
ICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IGFyZ3VtZW50c1JlZ2lzdGVyOwogICAgICAgICAgICAg
aWYgKHRoaXNSZWdpc3RlcikKLSAgICAgICAgICAgICAgICBhcmd1bWVudHNSZWdpc3RlciA9IGdl
bmVyYXRvci51bmNoZWNrZWRSZWdpc3RlckZvckFyZ3VtZW50cygpOworICAgICAgICAgICAgICAg
IGFyZ3VtZW50c1JlZ2lzdGVyID0gZ2VuZXJhdG9yLnVuY2hlY2tlZExvY2FsQXJndW1lbnRzUmVn
aXN0ZXIoKTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGFyZ3VtZW50c1Jl
Z2lzdGVyID0gZ2VuZXJhdG9yLmVtaXROb2RlKHN1YmplY3QpOwogICAgICAgICAgICAgICAgIGdl
bmVyYXRvci5lbWl0RXhwcmVzc2lvbkluZm8oc3ByZWFkLT5kaXZvdCgpLCBzcHJlYWQtPmRpdm90
U3RhcnQoKSwgc3ByZWFkLT5kaXZvdEVuZCgpKTsKQEAgLTc0OSw3ICs3NDksNyBAQCBSZWdpc3Rl
cklEKiBBcHBseUZ1bmN0aW9uQ2FsbERvdE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVy
YXRvciYgZ2VuZXJhdG9yLAogICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYXJnc1JlZ2lzdGVy
OwogICAgICAgICBBcmd1bWVudExpc3ROb2RlKiBhcmdzID0gbV9hcmdzLT5tX2xpc3ROb2RlLT5t
X25leHQ7CiAgICAgICAgIGlmIChhcmdzLT5tX2V4cHItPmlzUmVzb2x2ZU5vZGUoKSAmJiBnZW5l
cmF0b3Iud2lsbFJlc29sdmVUb0FyZ3VtZW50cyhzdGF0aWNfY2FzdDxSZXNvbHZlTm9kZSo+KGFy
Z3MtPm1fZXhwciktPmlkZW50aWZpZXIoKSkgJiYgIWdlbmVyYXRvci5zeW1ib2xUYWJsZSgpLnNs
b3dBcmd1bWVudHMoKSkKLSAgICAgICAgICAgIGFyZ3NSZWdpc3RlciA9IGdlbmVyYXRvci51bmNo
ZWNrZWRSZWdpc3RlckZvckFyZ3VtZW50cygpOworICAgICAgICAgICAgYXJnc1JlZ2lzdGVyID0g
Z2VuZXJhdG9yLnVuY2hlY2tlZExvY2FsQXJndW1lbnRzUmVnaXN0ZXIoKTsKICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgYXJnc1JlZ2lzdGVyID0gZ2VuZXJhdG9yLmVtaXROb2RlKGFyZ3MtPm1f
ZXhwcik7CiAKQEAgLTI3MjEsNyArMjcyMSw3IEBAIFJlZ2lzdGVySUQqIEFycmF5UGF0dGVybk5v
ZGU6OmVtaXREaXJlY3RCaW5kaW5nKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlCiB7
CiAgICAgaWYgKHJocy0+aXNSZXNvbHZlTm9kZSgpCiAgICAgICAgICYmIGdlbmVyYXRvci53aWxs
UmVzb2x2ZVRvQXJndW1lbnRzKHN0YXRpY19jYXN0PFJlc29sdmVOb2RlKj4ocmhzKS0+aWRlbnRp
ZmllcigpKQotICAgICAgICAmJiAhZ2VuZXJhdG9yLnN5bWJvbFRhYmxlKCkuc2xvd0FyZ3VtZW50
cygpKSB7CisgICAgICAgICYmIGdlbmVyYXRvci5oYXNTYWZlTG9jYWxBcmd1bWVudHNSZWdpc3Rl
cigpJiYgIWdlbmVyYXRvci5zeW1ib2xUYWJsZSgpLnNsb3dBcmd1bWVudHMoKSkgewogICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fdGFyZ2V0UGF0dGVybnMuc2l6ZSgpOyBpKyspIHsK
ICAgICAgICAgICAgIGF1dG8gdGFyZ2V0ID0gbV90YXJnZXRQYXR0ZXJuc1tpXTsKICAgICAgICAg
ICAgIGlmICghdGFyZ2V0KQpAQCAtMjcyOSw3ICsyNzI5LDcgQEAgUmVnaXN0ZXJJRCogQXJyYXlQ
YXR0ZXJuTm9kZTo6ZW1pdERpcmVjdEJpbmRpbmcoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRv
ciwgUmUKICAgICAgICAgICAgIAogICAgICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHRlbXAg
PSBnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCk7CiAgICAgICAgICAgICBnZW5lcmF0b3IuZW1pdExv
YWQodGVtcC5nZXQoKSwganNOdW1iZXIoaSkpOwotICAgICAgICAgICAgZ2VuZXJhdG9yLmVtaXRH
ZXRBcmd1bWVudEJ5VmFsKHRlbXAuZ2V0KCksIGdlbmVyYXRvci51bmNoZWNrZWRSZWdpc3RlckZv
ckFyZ3VtZW50cygpLCB0ZW1wLmdldCgpKTsKKyAgICAgICAgICAgIGdlbmVyYXRvci5lbWl0R2V0
QXJndW1lbnRCeVZhbCh0ZW1wLmdldCgpLCBnZW5lcmF0b3IudW5jaGVja2VkTG9jYWxBcmd1bWVu
dHNSZWdpc3RlcigpLCB0ZW1wLmdldCgpKTsKICAgICAgICAgICAgIHRhcmdldC0+YmluZFZhbHVl
KGdlbmVyYXRvciwgdGVtcC5nZXQoKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGRzdCA9PSBn
ZW5lcmF0b3IuaWdub3JlZFJlc3VsdCgpIHx8ICFkc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCmluZGV4IDI5ZGM5NjdmNDg0ZGRl
ZWYxMWZhYWE1ODVhZWJjZWRjZDI2YmQ1YmIuLmNlM2I0MjNhODc4ZDkzZDg0MWM2YWVlMDcwZmIw
OTk1MzA3MWY5NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9TdGFja1Zpc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9TdGFja1Zpc2l0b3IuY3BwCkBAIC0yOTUsNiArMjk1LDkgQEAgQXJndW1lbnRzKiBTdGFja1Zp
c2l0b3I6OkZyYW1lOjpleGlzdGluZ0FyZ3VtZW50cygpCiAgICAgZWxzZQogI2VuZGlmIC8vIEVO
QUJMRShERkdfSklUKQogICAgICAgICByZWcgPSBjb2RlQmxvY2soKS0+YXJndW1lbnRzUmVnaXN0
ZXIoKTsKKworICAgIGlmIChjb2RlQmxvY2soKS0+bmVlZHNBY3RpdmF0aW9uKCkpCisgICAgICAg
IHJldHVybiBqc0Nhc3Q8QXJndW1lbnRzKj4oY2FsbEZyYW1lKCktPmxleGljYWxFbnZpcm9ubWVu
dCgpLT5yZWdpc3RlckF0KHVubW9kaWZpZWRBcmd1bWVudHNSZWdpc3RlcihyZWcpLm9mZnNldCgp
KS5nZXQoKSk7CiAgICAgCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBjYWxsRnJhbWUoKS0+cih1bm1v
ZGlmaWVkQXJndW1lbnRzUmVnaXN0ZXIocmVnKS5vZmZzZXQoKSkuanNWYWx1ZSgpOwogICAgIGlm
ICghcmVzdWx0IHx8ICFyZXN1bHQuaXNDZWxsKCkpIC8vIFByb3RlY3QgYWdhaW5zdCBVbmRlZmlu
ZWQgaW4gY2FzZSB3ZSB0aHJvdyBpbiBvcF9lbnRlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuaAppbmRleCBiN2JlMjcyM2JiZTY3MWQxY2U4ZGE2MmEzNDJiNTk4MmMzMWI1OGYxLi5h
NjE5OGJjMjY0YWFhYmI1YmYxNzM0M2Y0ZTdjYzY1ZjhjY2ZkNmE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNDQwLDYgKzE0NDAsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgYm9vbCB1c2VzRXZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fZmVhdHVyZXMgJiBFdmFs
RmVhdHVyZTsgfQogICAgICAgICBib29sIHVzZXNBcmd1bWVudHMoKSBjb25zdCB7IHJldHVybiAo
bV9mZWF0dXJlcyAmIEFyZ3VtZW50c0ZlYXR1cmUpICYmICEobV9mZWF0dXJlcyAmIFNoYWRvd3NB
cmd1bWVudHNGZWF0dXJlKTsgfQogICAgICAgICBib29sIG1vZGlmaWVzUGFyYW1ldGVyKCkgY29u
c3QgeyByZXR1cm4gbV9mZWF0dXJlcyAmIE1vZGlmaWVkUGFyYW1ldGVyRmVhdHVyZTsgfQorICAg
ICAgICBib29sIG1vZGlmaWVzQXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlcyAm
IChFdmFsRmVhdHVyZSB8IE1vZGlmaWVkQXJndW1lbnRzRmVhdHVyZSk7IH0KICAgICAgICAgYm9v
bCBpc1N0cmljdE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2ZlYXR1cmVzICYgU3RyaWN0TW9kZUZl
YXR1cmU7IH0KICAgICAgICAgdm9pZCBzZXRVc2VzQXJndW1lbnRzKCkgeyBtX2ZlYXR1cmVzIHw9
IEFyZ3VtZW50c0ZlYXR1cmU7IH0KICAgICAgICAgYm9vbCB1c2VzVGhpcygpIGNvbnN0IHsgcmV0
dXJuIG1fZmVhdHVyZXMgJiBUaGlzRmVhdHVyZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCmluZGV4IDMzMGVlYzQ2YjBkNThlNWE1MzAyMzUwZDRlMzZlNzE5OTI1ODRk
NDEuLjU2Mjk5N2Q3YWY4NmUxMTIwMDBlYjE5OTM4OTBiYzRlZDExOWRiOWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTI3MSw3ICsyNzEsOCBAQCBTdHJpbmcg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoKQogCiAgICAgSWRlbnRpZmllclNldCBjYXB0
dXJlZFZhcmlhYmxlczsKICAgICBib29sIG1vZGlmaWVkUGFyYW1ldGVyID0gZmFsc2U7Ci0gICAg
c2NvcGUtPmdldENhcHR1cmVkVmFyaWFibGVzKGNhcHR1cmVkVmFyaWFibGVzLCBtb2RpZmllZFBh
cmFtZXRlcik7CisgICAgYm9vbCBtb2RpZmllZEFyZ3VtZW50cyA9IGZhbHNlOworICAgIHNjb3Bl
LT5nZXRDYXB0dXJlZFZhcmlhYmxlcyhjYXB0dXJlZFZhcmlhYmxlcywgbW9kaWZpZWRQYXJhbWV0
ZXIsIG1vZGlmaWVkQXJndW1lbnRzKTsKICAgICAKICAgICBDb2RlRmVhdHVyZXMgZmVhdHVyZXMg
PSBjb250ZXh0LmZlYXR1cmVzKCk7CiAgICAgaWYgKHNjb3BlLT5zdHJpY3RNb2RlKCkpCkBAIC0y
ODAsNyArMjgxLDggQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAg
ICAgICAgZmVhdHVyZXMgfD0gU2hhZG93c0FyZ3VtZW50c0ZlYXR1cmU7CiAgICAgaWYgKG1vZGlm
aWVkUGFyYW1ldGVyKQogICAgICAgICBmZWF0dXJlcyB8PSBNb2RpZmllZFBhcmFtZXRlckZlYXR1
cmU7Ci0gICAgCisgICAgaWYgKG1vZGlmaWVkQXJndW1lbnRzKQorICAgICAgICBmZWF0dXJlcyB8
PSBNb2RpZmllZEFyZ3VtZW50c0ZlYXR1cmU7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBs
Pj4gY2xvc2VkVmFyaWFibGVzOwogICAgIGlmIChtX3BhcnNpbmdCdWlsdGluKSB7CiAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKCFjYXB0dXJlZFZhcmlhYmxlcy5zaXplKCkpOwpAQCAtMjkyLDYgKzI5
NCwxMCBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoKQogICAgICAgICAg
ICAgCiAgICAgICAgICAgICBpZiAoc2NvcGUtPmhhc0RlY2xhcmVkUGFyYW1ldGVyKElkZW50aWZp
ZXIobV92bSwgdmFyaWFibGUuZ2V0KCkpKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKKwor
ICAgICAgICAgICAgaWYgKHZhcmlhYmxlID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50
cy5pbXBsKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKICAgICAgICAgICAgIGNsb3Nl
ZFZhcmlhYmxlcy5hcHBlbmQodmFyaWFibGUpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggZWNhMjMwNGMyOTgzOWVkMjI0Zjg0NzBjYjFh
YmI3ZTFjMWRkOTNjZi4uODhlZmM0YWZkNTdkMTYwMmUzZjVmYmZmMDg0N2FmZDNmODdlMzU4NCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0yNzksNyArMjc5LDcgQEAg
c3RydWN0IFNjb3BlIHsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgdm9pZCBn
ZXRDYXB0dXJlZFZhcmlhYmxlcyhJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcywgYm9v
bCYgbW9kaWZpZWRQYXJhbWV0ZXIpCisgICAgdm9pZCBnZXRDYXB0dXJlZFZhcmlhYmxlcyhJZGVu
dGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcywgYm9vbCYgbW9kaWZpZWRQYXJhbWV0ZXIsIGJv
b2wmIG1vZGlmaWVkQXJndW1lbnRzKQogICAgIHsKICAgICAgICAgaWYgKG1fbmVlZHNGdWxsQWN0
aXZhdGlvbiB8fCBtX3VzZXNFdmFsKSB7CiAgICAgICAgICAgICBtb2RpZmllZFBhcmFtZXRlciA9
IHRydWU7CkBAIC0yOTIsOSArMjkyLDEzIEBAIHN0cnVjdCBTY29wZSB7CiAgICAgICAgICAgICBj
YXB0dXJlZFZhcmlhYmxlcy5hZGQoKnB0cik7CiAgICAgICAgIH0KICAgICAgICAgbW9kaWZpZWRQ
YXJhbWV0ZXIgPSBmYWxzZTsKKyAgICAgICAgaWYgKHNoYWRvd3NBcmd1bWVudHMoKSkKKyAgICAg
ICAgICAgIG1vZGlmaWVkQXJndW1lbnRzID0gdHJ1ZTsKICAgICAgICAgaWYgKG1fZGVjbGFyZWRQ
YXJhbWV0ZXJzLnNpemUoKSkgewogICAgICAgICAgICAgSWRlbnRpZmllclNldDo6aXRlcmF0b3Ig
ZW5kID0gbV93cml0dGVuVmFyaWFibGVzLmVuZCgpOwogICAgICAgICAgICAgZm9yIChJZGVudGlm
aWVyU2V0OjppdGVyYXRvciBwdHIgPSBtX3dyaXR0ZW5WYXJpYWJsZXMuYmVnaW4oKTsgcHRyICE9
IGVuZDsgKytwdHIpIHsKKyAgICAgICAgICAgICAgICBpZiAoKnB0ciA9PSBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5hcmd1bWVudHMuaW1wbCgpKQorICAgICAgICAgICAgICAgICAgICBtb2RpZmllZEFy
Z3VtZW50cyA9IHRydWU7CiAgICAgICAgICAgICAgICAgaWYgKCFtX2RlY2xhcmVkUGFyYW1ldGVy
cy5jb250YWlucygqcHRyKSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
ICAgICAgICAgbW9kaWZpZWRQYXJhbWV0ZXIgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJNb2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJNb2Rlcy5oCmluZGV4IDkzMTRiMTk3OTBhMGQ1NThhZTRkMjRmMWZjNjIx
MTc1ZmZmZDQyN2YuLjA2MTFiODhlNzBjZWE2NThjYzgzNTI3OGNiNDY3MGZhMjExYmUxMTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKQEAgLTc1LDYgKzc1
LDcgQEAgY29uc3QgQ29kZUZlYXR1cmVzIFRoaXNGZWF0dXJlID0gMSA8PCA0OwogY29uc3QgQ29k
ZUZlYXR1cmVzIFN0cmljdE1vZGVGZWF0dXJlID0gMSA8PCA1OwogY29uc3QgQ29kZUZlYXR1cmVz
IFNoYWRvd3NBcmd1bWVudHNGZWF0dXJlID0gMSA8PCA2OwogY29uc3QgQ29kZUZlYXR1cmVzIE1v
ZGlmaWVkUGFyYW1ldGVyRmVhdHVyZSA9IDEgPDwgNzsKK2NvbnN0IENvZGVGZWF0dXJlcyBNb2Rp
ZmllZEFyZ3VtZW50c0ZlYXR1cmUgPSAxIDw8IDg7CiAKIGNvbnN0IENvZGVGZWF0dXJlcyBBbGxG
ZWF0dXJlcyA9IEV2YWxGZWF0dXJlIHwgQXJndW1lbnRzRmVhdHVyZSB8IFdpdGhGZWF0dXJlIHwg
Q2F0Y2hGZWF0dXJlIHwgVGhpc0ZlYXR1cmUgfCBTdHJpY3RNb2RlRmVhdHVyZSB8IFNoYWRvd3NB
cmd1bWVudHNGZWF0dXJlIHwgTW9kaWZpZWRQYXJhbWV0ZXJGZWF0dXJlOwogCg==
</data>
<flag name="review"
          id="264367"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>