<?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>187827</bug_id>
          
          <creation_ts>2018-07-19 16:05:10 -0700</creation_ts>
          <short_desc>DFG AbstractInterpreter: CheckArray filters array modes for DirectArguments only using NonArray</short_desc>
          <delta_ts>2018-07-20 16:48:18 -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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1443565</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-07-19 16:05:10 -0700</bug_when>
    <thetext>In the Abstract Interpreter, when we process ArrayCheck nodes, for DirectArgument array types we filter array modes using the mask of 1 (NonIndexingShape).  DirectArguments has a ArrayStorageShape indexing type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443567</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-07-19 16:05:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/42146858&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443792</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-07-20 09:58:12 -0700</bug_when>
    <thetext>Actually, DirectArguments structure can have either a NonArray indexingType or a ArrayStorageShape.  We need to allow for both possibilities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443853</commentid>
    <comment_count>3</comment_count>
      <attachid>345466</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-07-20 11:26:48 -0700</bug_when>
    <thetext>Created attachment 345466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443858</commentid>
    <comment_count>4</comment_count>
      <attachid>345466</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-20 11:30:14 -0700</bug_when>
    <thetext>Comment on attachment 345466
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        When filtering array modes for DirectArguments and ScopedArguments, we need to allow for the possibility that

not ScopedArguments.

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        they can either be NonArray or NonArrayWithArrayStorage (aka ArrayStorageShape).

Might be worth a comment why this is. Also might worth noting why DirectArguments won&apos;t end up with Int32/Double/etc shapes.
(I&apos;d put that explanation here or in a comment in the code perhaps, or both)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443859</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-20 11:31:16 -0700</bug_when>
    <thetext>Actually, it might be worth checking out what ScopedArguments does for out of line arguments (the ones past the length of the arguments object). If like DirectArguments, it stores it in the Butterfly, you actually may need to handle ScopedArguments too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443917</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-07-20 14:13:07 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #5)
&gt; Actually, it might be worth checking out what ScopedArguments does for out
&gt; of line arguments (the ones past the length of the arguments object). If
&gt; like DirectArguments, it stores it in the Butterfly, you actually may need
&gt; to handle ScopedArguments too

As we discussed, I added the change for ScopedArguments and a test as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443921</commentid>
    <comment_count>7</comment_count>
      <attachid>345481</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-07-20 14:17:52 -0700</bug_when>
    <thetext>Created attachment 345481
Updated patch that includes ScopedArguments change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443930</commentid>
    <comment_count>8</comment_count>
      <attachid>345481</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-20 14:37:19 -0700</bug_when>
    <thetext>Comment on attachment 345481
Updated patch that includes ScopedArguments change

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443956</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-07-20 16:48:18 -0700</bug_when>
    <thetext>Committed r234075: &lt;https://trac.webkit.org/changeset/234075&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345466</attachid>
            <date>2018-07-20 11:26:48 -0700</date>
            <delta_ts>2018-07-20 14:17:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>187827.patch</filename>
            <type>text/plain</type>
            <size>3567</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzQwNDIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIwIEBACisyMDE4LTA3LTE5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIERGRyBBYnN0cmFjdEludGVycHJldGVyOiBDaGVja0FycmF5IGZp
bHRlcnMgYXJyYXkgbW9kZXMgZm9yIERpcmVjdEFyZ3VtZW50cyB1c2luZyBvbmx5IE5vbkFycmF5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc4MjcK
KyAgICAgICAgcmRhcjovL3Byb2JsZW0vNDIxNDY4NTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgcmVncmVzc2lvbiB0ZXN0LgorCisgICAgICAg
ICogc3RyZXNzL2FyZ3VtZW50cy1jaGVjay1hcnJheS5qczogQWRkZWQuCisgICAgICAgIChzZXR1
cC5mMik6CisgICAgICAgIChzZXR1cCk6CisgICAgICAgIChmb3JPZkFycmF5KToKKyAgICAgICAg
KGZvck9mQXJncyk6CisgICAgICAgIChjYWxsRXZlcnlPbkFyZ3MpOgorCiAyMDE4LTA3LTE4ICBZ
dXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIEpTT04uc3Ry
aW5naWZ5IHNob3VsZCBlbWl0IG5vbiBvd24gcHJvcGVydGllcyBpZiBzZWNvbmQgYXJyYXkgYXJn
dW1lbnQgaW5jbHVkZXMKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2FyZ3VtZW50cy1jaGVjay1hcnJh
eS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9hcmd1bWVudHMtY2hlY2stYXJyYXku
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvYXJndW1lbnRzLWNoZWNrLWFycmF5
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDAgQEAKKy8vQCBkZWZhdWx0UnVuCisvL0Ag
cnVuTm9MTEludCgiLS11c2VDb25jdXJyZW50SklUPWZhbHNlIiwgIi0tZm9yY2VFYWdlckNvbXBp
bGF0aW9uPVRydWUiKQorCisvLyBUaGlzIGlzIGEgcmVncmVzc2lvbiB0ZXN0IHRoYXQgdmVyaWZp
ZXMgd2UgaGFuZGxlIGRpcmVjdCBhcmd1bWVudHMgYXMgQXJyYXlTdG9yYWdlLiAgVGhpcyB0ZXN0
IHNob3VsZCBjb21wbGV0ZSBhbmQgbm90IGNyYXNoLgorLy8gSXQgaXMgYSByZWR1Y3Rpb24gb2Yg
YSBmdXp6aW5nIGJ1ZyBwcm9kdWNlZCB0ZXN0Y2FzZS4gIEFsbCBvZiB0aGUgY29kZSBwcmVzZW50
IHdhcyBuZWVkZWQgdG8gcmVwcm9kdWNlIHRoZSBpc3N1ZS4KKworbGV0IGE7CitsZXQgZjI7Cits
ZXQgYXJnczsKKworZnVuY3Rpb24gc2V0dXAoKSB7CisgICAgYSA9IFswXTsKKyAgICBhLnVuc2hp
ZnQoMCk7CisgICAgZm9yIChsZXQgeiBvZiBbNCwgNCwgNCwgNCwgNF0pIHt9OworICAgIG5ldyBG
bG9hdDY0QXJyYXkoYSk7CisgICAgZjIgPSBmdW5jdGlvbigpIHt9OworICAgIGFyZ3MgPSBhcmd1
bWVudHM7CisgICAgYXJncy5sZW5ndGggPSAwOworfTsKKworZnVuY3Rpb24gZm9yT2ZBcnJheSgp
IHsKKyAgICBmb3IgKGxldCB6IG9mIFt0cnVlLCB0cnVlLCB0cnVlLCB0cnVlLCB0cnVlLCB0cnVl
LCB0cnVlXSkgeworICAgIH0KK30KKworZnVuY3Rpb24gZm9yT2ZBcmdzKCkgeworICAgIGZvciAo
bGV0IHYgb2YgYXJncykgeworICAgIH0KK30KKworZnVuY3Rpb24gY2FsbEV2ZXJ5T25BcmdzKCkg
eworICAgIGZvciAoaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICAgICAgQXJyYXkucHJvdG90
eXBlLmV2ZXJ5LmNhbGwoYXJncywgZjIsIHt9KTsKKyAgICB9Cit9CisKK3NldHVwKCk7Citmb3JP
ZkFycmF5KCk7Citmb3JPZkFyZ3MoKTsKK2NhbGxFdmVyeU9uQXJncygpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQwMDUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDctMTkg
IE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgREZHIEFic3Ry
YWN0SW50ZXJwcmV0ZXI6IENoZWNrQXJyYXkgZmlsdGVycyBhcnJheSBtb2RlcyBmb3IgRGlyZWN0
QXJndW1lbnRzIHVzaW5nIG9ubHkgTm9uQXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzgyNworICAgICAgICByZGFyOi8vcHJvYmxlbS80MjE0
Njg1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW4gZmlsdGVyaW5nIGFycmF5IG1vZGVzIGZvciBEaXJlY3RBcmd1bWVudHMgYW5kIFNjb3BlZEFy
Z3VtZW50cywgd2UgbmVlZCB0byBhbGxvdyBmb3IgdGhlIHBvc3NpYmlsaXR5IHRoYXQKKyAgICAg
ICAgdGhleSBjYW4gZWl0aGVyIGJlIE5vbkFycmF5IG9yIE5vbkFycmF5V2l0aEFycmF5U3RvcmFn
ZSAoYWthIEFycmF5U3RvcmFnZVNoYXBlKS4KKworICAgICAgICAqIGRmZy9ERkdBcnJheU1vZGUu
aDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1vZGU6OmFycmF5TW9kZXNUaGF0UGFzc0ZpbHRl
cmluZyBjb25zdCk6CisKIDIwMTgtMDctMTkgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzM5OTguCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgJKHJldmlzaW9uIDIz
NDAwNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ0Miw2ICs0NDIsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4g
YXJyYXlNb2Rlc1dpdGhJbmRleGluZ1NoYXBlKEFycmF5U3RvcmFnZVNoYXBlKTsKICAgICAgICAg
Y2FzZSBBcnJheTo6U2xvd1B1dEFycmF5U3RvcmFnZToKICAgICAgICAgICAgIHJldHVybiBhcnJh
eU1vZGVzV2l0aEluZGV4aW5nU2hhcGVzKFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZSwgQXJyYXlT
dG9yYWdlU2hhcGUpOworICAgICAgICBjYXNlIEFycmF5OjpEaXJlY3RBcmd1bWVudHM6CisgICAg
ICAgICAgICByZXR1cm4gYXJyYXlNb2Rlc1dpdGhJbmRleGluZ1NoYXBlcyhBcnJheVN0b3JhZ2VT
aGFwZSwgTm9uQXJyYXkpOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgcmV0dXJuIGFz
QXJyYXlNb2RlcyhOb25BcnJheSk7CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="363412"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345481</attachid>
            <date>2018-07-20 14:17:52 -0700</date>
            <delta_ts>2018-07-20 14:37:19 -0700</delta_ts>
            <desc>Updated patch that includes ScopedArguments change</desc>
            <filename>187827-3.patch</filename>
            <type>text/plain</type>
            <size>5335</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzQwNjMpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI3IEBACisyMDE4LTA3LTIwICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIERGRyBBYnN0cmFjdEludGVycHJldGVyOiBDaGVja0FycmF5IGZp
bHRlcnMgYXJyYXkgbW9kZXMgZm9yIERpcmVjdEFyZ3VtZW50cy9TY29wZWRBcmd1bWVudHMgdXNp
bmcgb25seSBOb25BcnJheQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg3ODI3CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzQyMTQ2ODU4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHJlZ3Jlc3Npb24g
dGVzdHMuCisKKyAgICAgICAgKiBzdHJlc3MvZGlyZWN0LWFyZ3VtZW50cy1jaGVjay1hcnJheS5q
czogQWRkZWQuCisgICAgICAgIChzZXR1cC5mMik6CisgICAgICAgIChzZXR1cCk6CisgICAgICAg
IChmb3JPZkFycmF5KToKKyAgICAgICAgKGZvck9mQXJncyk6CisgICAgICAgIChjYWxsRXZlcnlP
bkFyZ3MpOgorICAgICAgICAqIHN0cmVzcy9zY29wZWQtYXJndW1lbnRzLWNoZWNrLWFycmF5Lmpz
OiBBZGRlZC4KKyAgICAgICAgKHNldHVwLmZvbyk6CisgICAgICAgIChzZXR1cC5mMik6CisgICAg
ICAgIChzZXR1cCk6CisgICAgICAgIChmb3JPZkFycmF5KToKKyAgICAgICAgKGZvck9mQXJncyk6
CisgICAgICAgIChjYWxsRXZlcnlPbkFyZ3MpOgorCiAyMDE4LTA3LTIwICBTYWFtIEJhcmF0aSAg
PHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIENvbXBhcmVFcSBzaG91bGQgYmUgdXNpbmcg
S25vd25PdGhlclVzZSBpbnN0ZWFkIG9mIE90aGVyVXNlCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9k
aXJlY3QtYXJndW1lbnRzLWNoZWNrLWFycmF5LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3Ry
ZXNzL2RpcmVjdC1hcmd1bWVudHMtY2hlY2stYXJyYXkuanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy9zdHJlc3MvZGlyZWN0LWFyZ3VtZW50cy1jaGVjay1hcnJheS5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQwIEBACisvL0AgZGVmYXVsdFJ1bgorLy9AIHJ1bk5vTExJbnQoIi0tdXNl
Q29uY3VycmVudEpJVD1mYWxzZSIsICItLWZvcmNlRWFnZXJDb21waWxhdGlvbj1UcnVlIikKKwor
Ly8gVGhpcyBpcyBhIHJlZ3Jlc3Npb24gdGVzdCB0aGF0IHZlcmlmaWVzIHdlIGhhbmRsZSBkaXJl
Y3QgYXJndW1lbnRzIGFzIEFycmF5U3RvcmFnZS4gIFRoaXMgdGVzdCBzaG91bGQgY29tcGxldGUg
YW5kIG5vdCBjcmFzaC4KKy8vIEl0IGlzIGEgcmVkdWN0aW9uIG9mIGEgZnV6emluZyBidWcgcHJv
ZHVjZWQgdGVzdGNhc2UuICBBbGwgb2YgdGhlIGNvZGUgcHJlc2VudCB3YXMgbmVlZGVkIHRvIHJl
cHJvZHVjZSB0aGUgaXNzdWUuCisKK2xldCBhOworbGV0IGYyOworbGV0IGFyZ3M7CisKK2Z1bmN0
aW9uIHNldHVwKCkgeworICAgIGEgPSBbMF07CisgICAgYS51bnNoaWZ0KDApOworICAgIGZvciAo
bGV0IHogb2YgWzQsIDQsIDQsIDQsIDRdKSB7fTsKKyAgICBuZXcgRmxvYXQ2NEFycmF5KGEpOwor
ICAgIGYyID0gZnVuY3Rpb24oKSB7fTsKKyAgICBhcmdzID0gYXJndW1lbnRzOworICAgIGFyZ3Mu
bGVuZ3RoID0gMDsKK307CisKK2Z1bmN0aW9uIGZvck9mQXJyYXkoKSB7CisgICAgZm9yIChsZXQg
eiBvZiBbdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZV0pIHsKKyAgICB9
Cit9CisKK2Z1bmN0aW9uIGZvck9mQXJncygpIHsKKyAgICBmb3IgKGxldCB2IG9mIGFyZ3MpIHsK
KyAgICB9Cit9CisKK2Z1bmN0aW9uIGNhbGxFdmVyeU9uQXJncygpIHsKKyAgICBmb3IgKGkgPSAw
OyBpIDwgMTAwMDsgKytpKSB7CisgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFy
Z3MsIGYyLCB7fSk7CisgICAgfQorfQorCitzZXR1cCgpOworZm9yT2ZBcnJheSgpOworZm9yT2ZB
cmdzKCk7CitjYWxsRXZlcnlPbkFyZ3MoKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Njb3BlZC1h
cmd1bWVudHMtY2hlY2stYXJyYXkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mvc2Nv
cGVkLWFyZ3VtZW50cy1jaGVjay1hcnJheS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0
cmVzcy9zY29wZWQtYXJndW1lbnRzLWNoZWNrLWFycmF5LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDEgQEAKKy8vQCBkZWZhdWx0UnVuCisvL0AgcnVuTm9MTEludCgiLS11c2VDb25jdXJy
ZW50SklUPWZhbHNlIiwgIi0tZm9yY2VFYWdlckNvbXBpbGF0aW9uPVRydWUiKQorCisvLyBUaGlz
IGlzIGEgcmVncmVzc2lvbiB0ZXN0IHRoYXQgdmVyaWZpZXMgd2UgaGFuZGxlIGRpcmVjdCBhcmd1
bWVudHMgYXMgQXJyYXlTdG9yYWdlLiAgVGhpcyB0ZXN0IHNob3VsZCBjb21wbGV0ZSBhbmQgbm90
IGNyYXNoLgorLy8gSXQgaXMgYSByZWR1Y3Rpb24gb2YgYSBmdXp6aW5nIGJ1ZyBwcm9kdWNlZCB0
ZXN0Y2FzZS4gIEFsbCBvZiB0aGUgY29kZSBwcmVzZW50IHdhcyBuZWVkZWQgdG8gcmVwcm9kdWNl
IHRoZSBpc3N1ZS4KKworbGV0IGE7CitsZXQgZjI7CitsZXQgYXJnczsKKworZnVuY3Rpb24gc2V0
dXAoYXJnMSkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGFyZzE7IH0KKyAgICBhID0g
WzBdOworICAgIGEudW5zaGlmdCgwKTsKKyAgICBmb3IgKGxldCB6IG9mIFs0LCA0LCA0LCA0LCA0
XSkge307CisgICAgbmV3IEZsb2F0NjRBcnJheShhKTsKKyAgICBmMiA9IGZ1bmN0aW9uKCkge307
CisgICAgYXJncyA9IGFyZ3VtZW50czsKKyAgICBhcmdzLmxlbmd0aCA9IDA7Cit9OworCitmdW5j
dGlvbiBmb3JPZkFycmF5KCkgeworICAgIGZvciAobGV0IHogb2YgW3RydWUsIHRydWUsIHRydWUs
IHRydWUsIHRydWUsIHRydWUsIHRydWVdKSB7CisgICAgfQorfQorCitmdW5jdGlvbiBmb3JPZkFy
Z3MoKSB7CisgICAgZm9yIChsZXQgdiBvZiBhcmdzKSB7CisgICAgfQorfQorCitmdW5jdGlvbiBj
YWxsRXZlcnlPbkFyZ3MoKSB7CisgICAgZm9yIChpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAg
ICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmdzLCBmMiwge30pOworICAgIH0KK30K
Kworc2V0dXAoKTsKK2Zvck9mQXJyYXkoKTsKK2Zvck9mQXJncygpOworY2FsbEV2ZXJ5T25Bcmdz
KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzNDA2MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MCBAQAorMjAxOC0wNy0xOSAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KKwor
ICAgICAgICBERkcgQWJzdHJhY3RJbnRlcnByZXRlcjogQ2hlY2tBcnJheSBmaWx0ZXJzIGFycmF5
IG1vZGVzIGZvciBEaXJlY3RBcmd1bWVudHMvU2NvcGVkQXJndW1lbnRzIHVzaW5nIG9ubHkgTm9u
QXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NzgyNworICAgICAgICByZGFyOi8vcHJvYmxlbS80MjE0Njg1OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gZmlsdGVyaW5nIGFycmF5IG1vZGVz
IGZvciBEaXJlY3RBcmd1bWVudHMgb3IgU2NvcGVkQXJndW1lbnRzLCB3ZSBuZWVkIHRvIGFsbG93
IGZvciB0aGUgcG9zc2liaWxpdHkKKyAgICAgICAgdGhhdCB0aGV5IGNhbiBlaXRoZXIgYmUgTm9u
QXJyYXkgb3IgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlIChha2EgQXJyYXlTdG9yYWdlU2hhcGUp
LgorICAgICAgICBXZSBjYW4ndCBlbmQgdXAgd2l0aCBvdGhlciBzaGFwZXMsIEludDMyLCBEb3Vi
bGUsIGV0YyBiZWNhdXNlIEdlbmVyaWNBcmd1bWVudHMgc2V0cyAKKyAgICAgICAgSW50ZXJjZXB0
c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybyB3aGljaCB3
aWxsIGNhdXNlIHVzIHRvIGdvIGRvd24gYQorICAgICAgICBwdXRCeUluZGV4KCkgcGF0aCB0aGF0
IGRvZXNuJ3QgY2hhbmdlIHRoZSBzaGFwZS4KKworICAgICAgICAqIGRmZy9ERkdBcnJheU1vZGUu
aDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJheU1vZGU6OmFycmF5TW9kZXNUaGF0UGFzc0ZpbHRl
cmluZyBjb25zdCk6CisKIDIwMTgtMDctMjAgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgQ29tcGFyZUVxIHNob3VsZCBiZSB1c2luZyBLbm93bk90aGVyVXNlIGlu
c3RlYWQgb2YgT3RoZXJVc2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJy
YXlNb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJh
eU1vZGUuaAkocmV2aXNpb24gMjM0MDYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBcnJheU1vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDQyLDYgKzQ0Miw5IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIHJldHVybiBhcnJheU1vZGVzV2l0aEluZGV4aW5nU2hhcGUoQXJyYXlTdG9y
YWdlU2hhcGUpOwogICAgICAgICBjYXNlIEFycmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOgogICAg
ICAgICAgICAgcmV0dXJuIGFycmF5TW9kZXNXaXRoSW5kZXhpbmdTaGFwZXMoU2xvd1B1dEFycmF5
U3RvcmFnZVNoYXBlLCBBcnJheVN0b3JhZ2VTaGFwZSk7CisgICAgICAgIGNhc2UgQXJyYXk6OkRp
cmVjdEFyZ3VtZW50czoKKyAgICAgICAgY2FzZSBBcnJheTo6U2NvcGVkQXJndW1lbnRzOgorICAg
ICAgICAgICAgcmV0dXJuIGFycmF5TW9kZXNXaXRoSW5kZXhpbmdTaGFwZXMoQXJyYXlTdG9yYWdl
U2hhcGUsIE5vbkFycmF5KTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBh
c0FycmF5TW9kZXMoTm9uQXJyYXkpOwogICAgICAgICB9Cg==
</data>
<flag name="review"
          id="363427"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>