<?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>52837</bug_id>
          
          <creation_ts>2011-01-20 13:08:35 -0800</creation_ts>
          <short_desc>[v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters</short_desc>
          <delta_ts>2011-01-20 15:05:21 -0800</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>Other</rep_platform>
          <op_sys>OS X 10.5</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>51218</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>japhet</cc>
    
    <cc>jorlow</cc>
    
    <cc>levin</cc>
    
    <cc>pfeldman</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>337539</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-01-20 13:08:35 -0800</bug_when>
    <thetext>[v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337550</commentid>
    <comment_count>1</comment_count>
      <attachid>79643</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-01-20 13:22:53 -0800</bug_when>
    <thetext>Created attachment 79643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337558</commentid>
    <comment_count>2</comment_count>
      <attachid>79643</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-01-20 13:31:07 -0800</bug_when>
    <thetext>Comment on attachment 79643
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=79643&amp;action=review

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2406
&gt; +            } else {
&gt; +                push(@implContent, &quot;\n    v8::Handle&lt;v8::Value&gt; *argv = 0;\n\n&quot;);
&gt; +            }

Nit: no {} for the else statement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337565</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-01-20 13:38:25 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 79643 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=79643&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2406
&gt; &gt; +            } else {
&gt; &gt; +                push(@implContent, &quot;\n    v8::Handle&lt;v8::Value&gt; *argv = 0;\n\n&quot;);
&gt; &gt; +            }
&gt; 
&gt; Nit: no {} for the else statement

The other one-line conditionals in this file seem to use {}s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337567</commentid>
    <comment_count>4</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-01-20 13:39:36 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 79643 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=79643&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2406
&gt; &gt; &gt; +            } else {
&gt; &gt; &gt; +                push(@implContent, &quot;\n    v8::Handle&lt;v8::Value&gt; *argv = 0;\n\n&quot;);
&gt; &gt; &gt; +            }
&gt; &gt; 
&gt; &gt; Nit: no {} for the else statement
&gt; 
&gt; The other one-line conditionals in this file seem to use {}s

Hmm....I had forgotten that.  nvm then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337568</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-01-20 13:40:09 -0800</bug_when>
    <thetext>Committed r76277: &lt;http://trac.webkit.org/changeset/76277&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337631</commentid>
    <comment_count>6</comment_count>
      <attachid>79643</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-01-20 15:05:21 -0800</bug_when>
    <thetext>Comment on attachment 79643
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=79643&amp;action=review

&gt;&gt;&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2406
&gt;&gt;&gt;&gt; +            } else {
&gt;&gt;&gt;&gt; +                push(@implContent, &quot;\n    v8::Handle&lt;v8::Value&gt; *argv = 0;\n\n&quot;);
&gt;&gt;&gt;&gt; +            }
&gt;&gt;&gt; 
&gt;&gt;&gt; Nit: no {} for the else statement
&gt;&gt; 
&gt;&gt; The other one-line conditionals in this file seem to use {}s
&gt; 
&gt; Hmm....I had forgotten that.  nvm then.

I think they&apos;re required in Perl.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79643</attachid>
            <date>2011-01-20 13:22:53 -0800</date>
            <delta_ts>2011-01-20 15:05:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52837-20110120132251.patch</filename>
            <type>text/plain</type>
            <size>18521</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3MzY1Y2JjMWM4MDkzZTNiM2FhNTZkNjkxNjk0MzQ5MDc2NDBmYzdiLi4w
ODQyNzVlODkzZmY0MmQ5YmRlZjA4ZDI5OTZhYzdlNzkyZjU5MjMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDQgQEAKKzIwMTEtMDEtMjAgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
djhdIENvZGVHZW5lcmF0b3JWOCBnZW5lcmF0ZXMgaW5jb3JyZWN0IGNvZGUgZm9yIGNhbGxiYWNr
cyB3aXRoIG5vIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUyODM3CisKKyAgICAgICAgV2hlbiBnZW5lcmF0aW5nIGNvZGUgdG8gaW52
b2tlIGEgY2FsbGJhY2sgd2l0aCBubyBwYXJhbWV0ZXJzIENvZGVHZW5lcmF0b3JWOC5wbSB3YXMg
Z2VuZXJhdGluZyB0aGUgZm9sbG93aW5nOgorICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
YXJndltdID0ge307IHdoaWNoIGRvZXMgbm90IGNvbXBpbGUgaW4gdmlzdWFsIHN0dWRpby4gIElu
c3RlYWQsIGlmIHRoZSBhcmd1bWVudCBjb3VudAorICAgICAgICBpcyAwLCB3ZSBjYW4ganVzdCBw
YXNzIGEgTlVMTCBwb2ludGVyIGZvciB0aGUgYXJndiBwYXJhbWV0ZXIuCisKKyAgICAgICAgVGVz
dCBhZGRlZCB0byBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENhbGxiYWNrLmlkbCBhbmQgY292
ZXJlZCBieSBydW4tYmluZGluZ3MtdGVzdHMuICBUaGlzCisgICAgICAgIHBhdGNoIGFsc28gaW5j
bHVkZXMgc29tZSBzcHVyaW91cyBjaGFuZ2VzIHRvIHRoZSBiaW5kaW5ncyB0ZXN0cyBnb2xkZW4g
ZmlsZXMgKG1vc3RseSBHT2JqZWN0KQorICAgICAgICBiZWNhdXNlIHRoZSBvbGQgZ29sZGVuIGZp
bGVzIHdlcmUgb3V0IG9mIGRhdGUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJET01UZXN0Q2FsbGJhY2s6OmNhbGxiYWNr
V2l0aE5vUGFyYW0pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9N
VGVzdENhbGxiYWNrLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKHdlYmtpdF9kb21fdGVzdF9jYWxs
YmFja19jYWxsYmFja193aXRoX25vX3BhcmFtKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdE9iai5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNr
OjpjYWxsYmFja1dpdGhOb1BhcmFtKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrLm1tOgorICAgICAgICAoLVtET01UZXN0Q2FsbGJhY2sg
Y2FsbGJhY2tXaXRoTm9QYXJhbV0pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9U
ZXN0Q2FsbGJhY2suaWRsOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFRlc3RDYWxsYmFjazo6Y2FsbGJh
Y2tXaXRoTm9QYXJhbSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dENhbGxiYWNrLmg6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9i
ai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXN0T2JqSW50ZXJuYWw6OnJlZmxlY3RlZFVuc2ln
bmVkSW50ZWdyYWxBdHRyQXR0ckdldHRlcik6CisKIDIwMTEtMDEtMTkgIEphbWVzIFJvYmluc29u
ICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByNzYxOTQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtCmluZGV4IGY1MGU3NGE1YzZlNTY3NTRlNGZiMzkxYTU0MDM3YTAwNjIxYmQ0
MGYuLjY0YjZhMTViZjE0NTYzYTc4YTM4YWVlY2Q1MmY5ZDdlYjYwMjgwOWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0y
Mzk3LDkgKzIzOTcsMTMgQEAgRU5ECiAgICAgICAgICAgICAgICAgcHVzaChAYXJncywgIiAgICAg
ICAgJHtwYXJhbU5hbWV9SGFuZGxlIik7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiXG4gICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSA9IHtc
biIpOwotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIGpvaW4oIixcbiIsIEBhcmdzKSk7
Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIlxuICAgIH07XG5cbiIpOworICAgICAg
ICAgICAgaWYgKHNjYWxhcihAYXJncykgPiAwKSB7CisgICAgICAgICAgICAgICAgcHVzaChAaW1w
bENvbnRlbnQsICJcbiAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltdID0ge1xuIik7Cisg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIGpvaW4oIixcbiIsIEBhcmdzKSk7Cisg
ICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiAgICB9O1xuXG4iKTsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJcbiAg
ICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gKmFyZ3YgPSAwO1xuXG4iKTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGJvb2wgY2FsbGJhY2tSZXR1cm5W
YWx1ZSA9IGZhbHNlO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBy
ZXR1cm4gIWludm9rZUNhbGxiYWNrKG1fY2FsbGJhY2ssICIgLiBzY2FsYXIoQHBhcmFtcykgLiAi
LCBhcmd2LCBjYWxsYmFja1JldHVyblZhbHVlLCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpO1xu
Iik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn1cbiIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Q2FsbGJh
Y2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01U
ZXN0Q2FsbGJhY2suY3BwCmluZGV4IGE1OGRhNDBmMTMxOTM4NDYzYzA3NTNkNjU3YTk1YzgzMDAz
MzYyMjQuLjYyZWJjM2M2ZmRlNzUwMWYwZmVmZjcxZDIxYTYxNDc2Njg2NmI1ZjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENh
bGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQ
L1dlYkRPTVRlc3RDYWxsYmFjay5jcHAKQEAgLTgzLDYgKzgzLDE0IEBAIFdlYkRPTVRlc3RDYWxs
YmFjazo6fldlYkRPTVRlc3RDYWxsYmFjaygpCiAgICAgbV9pbXBsID0gMDsKIH0KIAorYm9vbCBX
ZWJET01UZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aE5vUGFyYW0oKQoreworICAgIGlmICghaW1w
bCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gaW1wbCgpLT5jYWxsYmFj
a1dpdGhOb1BhcmFtKCk7Cit9CisKIGJvb2wgV2ViRE9NVGVzdENhbGxiYWNrOjpjYWxsYmFja1dp
dGhDbGFzczFQYXJhbShjb25zdCBXZWJET01DbGFzczEmIGNsYXNzMVBhcmFtKQogewogICAgIGlm
ICghaW1wbCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0NQUC9XZWJET01UZXN0Q2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmgKaW5kZXggOTFmZjc4NzhmYTZlODAx
YmMwMzUyMGQ1MzM0MDk0NWUwZmVkMDk1My4uN2EwNzdlMjhlYjY3MWU1MDQ4Mzc5MzQxMmEwNDhj
ZDU2YjFhNWJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0NQUC9XZWJET01UZXN0Q2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDYWxsYmFjay5oCkBAIC00Niw2ICs0Niw3IEBA
IHB1YmxpYzoKICAgICBXZWJET01UZXN0Q2FsbGJhY2smIG9wZXJhdG9yPShjb25zdCBXZWJET01U
ZXN0Q2FsbGJhY2smKTsKICAgICB2aXJ0dWFsIH5XZWJET01UZXN0Q2FsbGJhY2soKTsKIAorICAg
IGJvb2wgY2FsbGJhY2tXaXRoTm9QYXJhbSgpOwogICAgIGJvb2wgY2FsbGJhY2tXaXRoQ2xhc3Mx
UGFyYW0oY29uc3QgV2ViRE9NQ2xhc3MxJiBjbGFzczFQYXJhbSk7CiAgICAgYm9vbCBjYWxsYmFj
a1dpdGhDbGFzczJQYXJhbShjb25zdCBXZWJET01DbGFzczImIGNsYXNzMlBhcmFtLCBjb25zdCBX
ZWJET01TdHJpbmcmIHN0ckFyZyk7CiAgICAgaW50IGNhbGxiYWNrV2l0aE5vbkJvb2xSZXR1cm5U
eXBlKGNvbnN0IFdlYkRPTUNsYXNzMyYgY2xhc3MzUGFyYW0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdENhbGxi
YWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RDYWxsYmFjay5jcHAKaW5kZXggOWM4ZmE1OTAyZTQ3YjE3ZjVlNjY1N2ZmYWI1
YWFmZmZkYjcxYmQ4MS4uMDU0ZGMzODllMmQ4ZmYyMGQ0MDMwNzg3NzRjZDNjZDJlZDNlM2JkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdENhbGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwCkBAIC0zOSw4ICsz
OSw5IEBACiAjaW5jbHVkZSAid2Via2l0L1dlYktpdERPTUNsYXNzM1ByaXZhdGUuaCIKICNpbmNs
dWRlICJ3ZWJraXQvV2ViS2l0RE9NVGVzdENhbGxiYWNrLmgiCiAjaW5jbHVkZSAid2Via2l0L1dl
YktpdERPTVRlc3RDYWxsYmFja1ByaXZhdGUuaCIKKyNpbmNsdWRlICJ3ZWJraXRkZWZpbmVzLmgi
CisjaW5jbHVkZSAid2Via2l0Z2xvYmFsc3ByaXZhdGUuaCIKICNpbmNsdWRlICJ3ZWJraXRtYXJz
aGFsLmgiCi0jaW5jbHVkZSAid2Via2l0cHJpdmF0ZS5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
ICAgICAKQEAgLTU3LDYgKzU4LDE2IEBAIFdlYktpdERPTVRlc3RDYWxsYmFjayoga2l0KFdlYkNv
cmU6OlRlc3RDYWxsYmFjayogb2JqKQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0IC8vCiAKIGdib29s
ZWFuCit3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9ub19wYXJhbShXZWJL
aXRET01UZXN0Q2FsbGJhY2sqIHNlbGYpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2Vs
ZiwgMCk7CisgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOworICAgIFdl
YkNvcmU6OlRlc3RDYWxsYmFjayAqIGl0ZW0gPSBXZWJLaXQ6OmNvcmUoc2VsZik7CisgICAgZ2Jv
b2xlYW4gcmVzID0gaXRlbS0+Y2FsbGJhY2tXaXRoTm9QYXJhbSgpOworICAgIHJldHVybiByZXM7
Cit9CisKK2dib29sZWFuCiB3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9j
bGFzczFwYXJhbShXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIFdlYktpdERPTUNsYXNzMSog
Y2xhc3MxcGFyYW0pCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2VsZiwgMCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0Q2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5oCmluZGV4IDRmMGFjOTFkMmRkYTFhM2E1
NDAxZjg4M2IwMDVjMDY3ZGI3YjI0MTMuLjYwNDljNzkwODg1OTgzZjhmZGExYTFmZjA4NGJmZWUx
YzhiYmVkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5oCkBAIC00
Nyw2ICs0Nyw5IEBAIFdFQktJVF9BUEkgR1R5cGUKIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19n
ZXRfdHlwZSAodm9pZCk7CiAKIFdFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF9kb21fdGVzdF9j
YWxsYmFja19jYWxsYmFja193aXRoX25vX3BhcmFtKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2Vs
Zik7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxs
YmFja193aXRoX2NsYXNzMXBhcmFtKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgV2ViS2l0
RE9NQ2xhc3MxKiBjbGFzczFwYXJhbSk7CiAKIFdFQktJVF9BUEkgZ2Jvb2xlYW4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RJbnRlcmZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdEludGVyZmFjZS5jcHAKaW5kZXggYjY4MzQwYmMyMDJiNzA2
YmFlNWY5NWVkNDYxOTg5MTE2MmM0YzUwOS4uNzA4NmM4MGFmZTY3MWE0MjdjYjZhZTk4YzJiMWQx
NzA5NjM1MTQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEludGVyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEludGVyZmFjZS5j
cHAKQEAgLTMzLDggKzMzLDkgQEAKICNpbmNsdWRlICJnb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJp
bmcuaCIKICNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NVGVzdEludGVyZmFjZS5oIgogI2luY2x1
ZGUgIndlYmtpdC9XZWJLaXRET01UZXN0SW50ZXJmYWNlUHJpdmF0ZS5oIgorI2luY2x1ZGUgIndl
YmtpdGRlZmluZXMuaCIKKyNpbmNsdWRlICJ3ZWJraXRnbG9iYWxzcHJpdmF0ZS5oIgogI2luY2x1
ZGUgIndlYmtpdG1hcnNoYWwuaCIKLSNpbmNsdWRlICJ3ZWJraXRwcml2YXRlLmgiCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCmluZGV4IDkzZDBiZGVjNzIyNzg2ZWVl
YTY2NzBkNjdhMzc2YzhmN2Y4MTM1OTIuLjU5NDZlYzBjMDBjZTczZWY1ZDMwMTVjZDk3OGQzMTIy
ZGRkYWUwYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKQEAgLTMxLDggKzMxLDkgQEAKICNpbmNsdWRlICJn
b2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuaCIKICNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9N
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIKICNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9N
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcml2YXRlLmgiCisjaW5jbHVkZSAid2Via2l0ZGVm
aW5lcy5oIgorI2luY2x1ZGUgIndlYmtpdGdsb2JhbHNwcml2YXRlLmgiCiAjaW5jbHVkZSAid2Vi
a2l0bWFyc2hhbC5oIgotI2luY2x1ZGUgIndlYmtpdHByaXZhdGUuaCIKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwCmluZGV4IDZjOTRk
OTQ3YzNmZjgzMjhlZWQ2ZjliYjM1NmY3ZDM1ODg0Mzc2ODMuLjQ0ZDU4ZDRmNmMzYmI4ZTI2MjEz
ZWI1Yzk0Mjk1ZDQzMzMwMTNmODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3Bw
CkBAIC0zOCw4ICszOCw5IEBACiAjaW5jbHVkZSAid2Via2l0L1dlYktpdERPTVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZVByaXZhdGUuaCIKICNpbmNsdWRlICJ3ZWJraXQvV2ViS2l0RE9NVGVzdE9iai5o
IgogI2luY2x1ZGUgIndlYmtpdC9XZWJLaXRET01UZXN0T2JqUHJpdmF0ZS5oIgorI2luY2x1ZGUg
IndlYmtpdGRlZmluZXMuaCIKKyNpbmNsdWRlICJ3ZWJraXRnbG9iYWxzcHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIndlYmtpdG1hcnNoYWwuaCIKLSNpbmNsdWRlICJ3ZWJraXRwcml2YXRlLmgiCiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAKaW5kZXggMDY5YjhhZTcy
NTdhMmM2YjcyMDg2NjZhOGYyNGRlMDIxNGQxZjU2My4uMWY0OGVlOTdjY2Q3NDZmOWM2ZWQ0NGUz
YWQzNGY2MDFkNjJhZGM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCkBAIC01Niw2ICs1NiwyMyBA
QCBKU1Rlc3RDYWxsYmFjazo6fkpTVGVzdENhbGxiYWNrKCkKIAogLy8gRnVuY3Rpb25zCiAKK2Jv
b2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aE5vUGFyYW0oKQoreworICAgIGlmICghY2Fu
SW52b2tlQ2FsbGJhY2soKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBSZWZQdHI8SlNU
ZXN0Q2FsbGJhY2s+IHByb3RlY3QodGhpcyk7CisKKyAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNz
ZXJ0aW9uc09ubHkpOworCisgICAgRXhlY1N0YXRlKiBleGVjID0gbV9kYXRhLT5nbG9iYWxPYmpl
Y3QoKS0+Z2xvYmFsRXhlYygpOworICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisKKyAg
ICBib29sIHJhaXNlZEV4Y2VwdGlvbiA9IGZhbHNlOworICAgIG1fZGF0YS0+aW52b2tlQ2FsbGJh
Y2soYXJncywgJnJhaXNlZEV4Y2VwdGlvbik7CisgICAgcmV0dXJuICFyYWlzZWRFeGNlcHRpb247
Cit9CisKIGJvb2wgSlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aENsYXNzMVBhcmFtKENsYXNz
MSogY2xhc3MxUGFyYW0pCiB7CiAgICAgaWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxi
YWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2Fs
bGJhY2suaAppbmRleCBhZTkxYTZjNTljYjFhMTUwYTkzYWJmMzM5OWJkODdiZjYzM2E5ODlmLi5i
YTM1NTljODU0NDIyNjU1NWVhNDFlN2Y0ZjFkZGNlMzhmZDg3ZGMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2su
aApAQCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+SlNUZXN0Q2FsbGJhY2so
KTsKIAogICAgIC8vIEZ1bmN0aW9ucworICAgIHZpcnR1YWwgYm9vbCBjYWxsYmFja1dpdGhOb1Bh
cmFtKCk7CiAgICAgdmlydHVhbCBib29sIGNhbGxiYWNrV2l0aENsYXNzMVBhcmFtKENsYXNzMSog
Y2xhc3MxUGFyYW0pOwogICAgIHZpcnR1YWwgYm9vbCBjYWxsYmFja1dpdGhDbGFzczJQYXJhbShD
bGFzczIqIGNsYXNzMlBhcmFtLCBjb25zdCBTdHJpbmcmIHN0ckFyZyk7CiAgICAgQ09NUElMRV9B
U1NFUlQoZmFsc2UpICAgIHZpcnR1YWwgaW50IGNhbGxiYWNrV2l0aE5vbkJvb2xSZXR1cm5UeXBl
KENsYXNzMyogY2xhc3MzUGFyYW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAppbmRleCA4ZTcxZGYx
ODRiYzRlYWQ5OWY2MzM5ZmM5ZDhiMzhjMTE3NjNhNGJhLi42ODRmNTg3NDg3ZmM5ZjI5MzJiOTM0
NDY3NTAwZmJjNjBhMGZiMTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcApAQCAtMTY2LDYgKzE2
Niw3IEBAIEpTVmFsdWUganNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIHNsb3RCYXNlLCBjb25zdCBJZGVuCiAgICAgSlNUZXN0SW50ZXJmYWNlKiBkb21P
YmplY3QgPSBzdGF0aWNfY2FzdDxKU1Rlc3RJbnRlcmZhY2UqPihhc09iamVjdChzbG90QmFzZSkp
OwogICAgIHJldHVybiBKU1Rlc3RJbnRlcmZhY2U6OmdldENvbnN0cnVjdG9yKGV4ZWMsIGRvbU9i
amVjdC0+Z2xvYmFsT2JqZWN0KCkpOwogfQorCiBKU1ZhbHVlIEpTVGVzdEludGVyZmFjZTo6Z2V0
Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogewogICAgIHJldHVybiBnZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1
Y3Rvcj4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmplY3Qp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAppbmRleCBl
NTA1ZWQyOTYzZDZiYzZmMGI5MmE1YzA4NjQ0YTM3ZGMzNTE4MjY1Li5mMWMwOWI1ZDNjNmNjODE4
ZGUyOTk2ODBhMjQ1ZjE4YzJjOThlZDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0xNjIsNiArMTYyLDcgQEAgSlNWYWx1ZSBqc1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHNs
b3RCYXMKICAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBkb21PYmplY3QgPSBzdGF0
aWNfY2FzdDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKj4oYXNPYmplY3Qoc2xvdEJhc2Up
KTsKICAgICByZXR1cm4gSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Z2V0Q29uc3RydWN0
b3IoZXhlYywgZG9tT2JqZWN0LT5nbG9iYWxPYmplY3QoKSk7CiB9CisKIEpTVmFsdWUgSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Z2V0Q29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAgIHJldHVybiBnZXRET01Db25zdHJ1
Y3RvcjxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I+KGV4ZWMsIHN0YXRp
Y19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4
IGM0Yzc3ZWU4OTIzOGY2NWU4ZjY0NzM0NDcwM2ZmMDQzZTdiNzVmN2IuLjlkNDQ2YTI0NGY5Zjk3
MTljNjJiZWQ1Nzc3Zjg0MTY1YzZhMDg1ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC02MDcsNiArNjA3LDcg
QEAgSlNWYWx1ZSBqc1Rlc3RPYmpDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUg
c2xvdEJhc2UsIGNvbnN0IElkZW50aWZpZXIKICAgICBKU1Rlc3RPYmoqIGRvbU9iamVjdCA9IHN0
YXRpY19jYXN0PEpTVGVzdE9iaio+KGFzT2JqZWN0KHNsb3RCYXNlKSk7CiAgICAgcmV0dXJuIEpT
VGVzdE9iajo6Z2V0Q29uc3RydWN0b3IoZXhlYywgZG9tT2JqZWN0LT5nbG9iYWxPYmplY3QoKSk7
CiB9CisKIHZvaWQgSlNUZXN0T2JqOjpwdXQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYgc2xvdCkK
IHsKICAgICBsb29rdXBQdXQ8SlNUZXN0T2JqLCBCYXNlPihleGVjLCBwcm9wZXJ0eU5hbWUsIHZh
bHVlLCAmSlNUZXN0T2JqVGFibGUsIHRoaXMsIHNsb3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2suaApp
bmRleCAxMjEzYzZmMzNiODIwNDc0N2EzYTcwYmFkYmMwNjYwZDBkYmVlZGU0Li4wOGMzMGI3ZjI2
MWIwOTgwZGY5NGIwZTc0MDRhMTljMDAxMDdjYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2suaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2suaApA
QCAtMzYsNiArMzYsNyBAQAogQGNsYXNzIE5TU3RyaW5nOwogCiBAaW50ZXJmYWNlIERPTVRlc3RD
YWxsYmFjayA6IERPTU9iamVjdAorLSAoQk9PTCljYWxsYmFja1dpdGhOb1BhcmFtOwogLSAoQk9P
TCljYWxsYmFja1dpdGhDbGFzczFQYXJhbTooRE9NQ2xhc3MxICopY2xhc3MxUGFyYW07CiAtIChC
T09MKWNhbGxiYWNrV2l0aENsYXNzMlBhcmFtOihET01DbGFzczIgKiljbGFzczJQYXJhbSBzdHJB
cmc6KE5TU3RyaW5nICopc3RyQXJnOwogLSAoaW50KWNhbGxiYWNrV2l0aE5vbkJvb2xSZXR1cm5U
eXBlOihET01DbGFzczMgKiljbGFzczNQYXJhbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RDYWxsYmFjay5tbSBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RDYWxsYmFjay5tbQppbmRl
eCBlOTQxZWRhNDY3NmY5MTUxYTFkMDdhNzQ0NzZlYmExNTVmOGNkZGY3Li5jNGJlMzlkMDMxMzg2
OWIxMjNhZTgyMmUzNDZkOTYxYjI1MGQxMTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2subW0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrLm1tCkBA
IC03OSw2ICs3OSwxMiBAQAogICAgIFtzdXBlciBmaW5hbGl6ZV07CiB9CiAKKy0gKEJPT0wpY2Fs
bGJhY2tXaXRoTm9QYXJhbQoreworICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKKyAgICByZXR1cm4gSU1QTC0+Y2FsbGJhY2tXaXRoTm9QYXJhbSgpOworfQorCiAtIChC
T09MKWNhbGxiYWNrV2l0aENsYXNzMVBhcmFtOihET01DbGFzczEgKiljbGFzczFQYXJhbQogewog
ICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDYWxsYmFjay5pZGwKaW5kZXgg
MjVkYjRjNmU1OWQ5YmRmOTliMWE1MTBiZTliYzk0MmYwNzdlYzI4Ni4uOTY3OWE1YWZlZWZhNzk3
NjBiYTZmZGY3YmVkYmM3OGVjZmZiNTJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDYWxsYmFjay5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDYWxsYmFjay5pZGwKQEAgLTMzLDYgKzMzLDcgQEAg
bW9kdWxlIHRlc3QgewogICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFTRSwKICAgICAgICAgQ2Fs
bGJhY2sKICAgICBdIFRlc3RDYWxsYmFjayB7CisgICAgICBib29sZWFuIGNhbGxiYWNrV2l0aE5v
UGFyYW0oKTsKICAgICAgIGJvb2xlYW4gY2FsbGJhY2tXaXRoQ2xhc3MxUGFyYW0oaW4gQ2xhc3Mx
IGNsYXNzMVBhcmFtKTsKICAgICAgIGJvb2xlYW4gY2FsbGJhY2tXaXRoQ2xhc3MyUGFyYW0oaW4g
Q2xhc3MyIGNsYXNzMlBhcmFtLCBpbiBET01TdHJpbmcgc3RyQXJnKTsKICAgICAgIGxvbmcgY2Fs
bGJhY2tXaXRoTm9uQm9vbFJldHVyblR5cGUoaW4gQ2xhc3MzIGNsYXNzM1BhcmFtKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxs
YmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
Q2FsbGJhY2suY3BwCmluZGV4IGMyODZjMjQ1MGE2N2YxODZhM2YwZjcxYjUyZmU0ZjM0ODE3NGNh
ZGMuLjM2YTVjYTI4NWQ2YzgzNzJhZThkZDI1ZDZjYjk5MjNjZjZlMmM1NzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdENh
bGxiYWNrLmNwcApAQCAtNDgsNiArNDgsMjYgQEAgVjhUZXN0Q2FsbGJhY2s6On5WOFRlc3RDYWxs
YmFjaygpCiAKIC8vIEZ1bmN0aW9ucwogCitib29sIFY4VGVzdENhbGxiYWNrOjpjYWxsYmFja1dp
dGhOb1BhcmFtKCkKK3sKKyAgICBpZiAoIWNhbkludm9rZUNhbGxiYWNrKCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworCisgICAgdjg6
OkhhbmRsZTx2ODo6Q29udGV4dD4gdjhDb250ZXh0ID0gdG9WOENvbnRleHQoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLCBtX3dvcmxkQ29udGV4dCk7CisgICAgaWYgKHY4Q29udGV4dC5Jc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3Bl
KHY4Q29udGV4dCk7CisKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiAqYXJndiA9IDA7CisK
KyAgICBib29sIGNhbGxiYWNrUmV0dXJuVmFsdWUgPSBmYWxzZTsKKyAgICByZXR1cm4gIWludm9r
ZUNhbGxiYWNrKG1fY2FsbGJhY2ssIDAsIGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKSk7Cit9CisKIGJvb2wgVjhUZXN0Q2FsbGJhY2s6OmNhbGxiYWNr
V2l0aENsYXNzMVBhcmFtKENsYXNzMSogY2xhc3MxUGFyYW0pCiB7CiAgICAgaWYgKCFjYW5JbnZv
a2VDYWxsYmFjaygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdENhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0Q2FsbGJhY2suaAppbmRleCBhMTA1ZDc1NjlmZWQyM2E5NTc3N2M0
OGQzOGMxNjBjZTRhOThmOWM5Li44ZmY4YzI2MmZmZTE0ZWE4MjBjNzhjODg0YzZlNzc3ZDFmNTQ1
ZDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Q2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0Q2FsbGJhY2suaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB+VjhUZXN0Q2FsbGJhY2soKTsKIAogICAgIC8vIEZ1bmN0aW9ucworICAgIHZpcnR1YWwg
Ym9vbCBjYWxsYmFja1dpdGhOb1BhcmFtKCk7CiAgICAgdmlydHVhbCBib29sIGNhbGxiYWNrV2l0
aENsYXNzMVBhcmFtKENsYXNzMSogY2xhc3MxUGFyYW0pOwogICAgIHZpcnR1YWwgYm9vbCBjYWxs
YmFja1dpdGhDbGFzczJQYXJhbShDbGFzczIqIGNsYXNzMlBhcmFtLCBjb25zdCBTdHJpbmcmIHN0
ckFyZyk7CiAgICAgQ09NUElMRV9BU1NFUlQoZmFsc2UpICAgIHZpcnR1YWwgaW50IGNhbGxiYWNr
V2l0aE5vbkJvb2xSZXR1cm5UeXBlKENsYXNzMyogY2xhc3MzUGFyYW0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRl
eCA3YTc1OWEzNDhmOGQyODJkYmFmNjZkYjIzYjQ2YTVlODg5NDk2NmYxLi40Mjk4NzU2OGQ2N2Qz
YjVlMDlkOTMzNjBjMzc5NWM3YTViMDc1OGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtMjYwLDcgKzI2MCw3
IEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3Jh
bEF0dHJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2CiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVzdE9i
ai5yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0ci5fZ2V0Iik7CiAgICAgVGVzdE9iaiogaW1w
ID0gVjhUZXN0T2JqOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKLSAgICByZXR1cm4gdjg6Oklu
dGVnZXI6Ok5ld0Zyb21VbnNpZ25lZChpbXAtPmdldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUo
V2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWR1bnNpZ25lZGludGVncmFsYXR0ckF0dHIpKTsK
KyAgICByZXR1cm4gdjg6OkludGVnZXI6Ok5ld0Zyb21VbnNpZ25lZChzdGQ6Om1heCgwLCBpbXAt
PmdldEludGVncmFsQXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkdW5zaWdu
ZWRpbnRlZ3JhbGF0dHJBdHRyKSkpOwogfQogCiBzdGF0aWMgdm9pZCByZWZsZWN0ZWRVbnNpZ25l
ZEludGVncmFsQXR0ckF0dHJTZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIHY4OjpM
b2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQo=
</data>
<flag name="review"
          id="71061"
          type_id="1"
          status="+"
          setter="japhet"
    />
          </attachment>
      

    </bug>

</bugzilla>