<?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>161671</bug_id>
          
          <creation_ts>2016-09-06 20:34:00 -0700</creation_ts>
          <short_desc>[JSC] Use GetArrayLength for JSArray.length even when the array type is undecided</short_desc>
          <delta_ts>2016-09-12 15:15:46 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1227033</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-09-06 20:34:00 -0700</bug_when>
    <thetext>[JSC] Use GetArrayLength for JSArray.length even when the array type is undecided</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227497</commentid>
    <comment_count>1</comment_count>
      <attachid>288232</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-09-07 20:12:57 -0700</bug_when>
    <thetext>Created attachment 288232
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1227607</commentid>
    <comment_count>2</comment_count>
      <attachid>288232</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-09-08 09:24:46 -0700</bug_when>
    <thetext>Comment on attachment 288232
Patch

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGArrayMode.cpp:203
&gt; -        if (node-&gt;op() == GetByVal
&gt; +        if ((node-&gt;op() == GetByVal || canBecomeGetArrayLength(graph, node))

Looks like the comment above needs an update.

...The code above returns early if index is not int32. How can we get here if we&apos;re compiling &quot;array.length&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228913</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-09-12 14:51:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; Source/JavaScriptCore/dfg/DFGArrayMode.cpp:203
&gt; &gt; -        if (node-&gt;op() == GetByVal
&gt; &gt; +        if ((node-&gt;op() == GetByVal || canBecomeGetArrayLength(graph, node))
&gt; 
&gt; Looks like the comment above needs an update.
&gt; 
&gt; ...The code above returns early if index is not int32. How can we get here
&gt; if we&apos;re compiling &quot;array.length&quot;?

For GetArrayLength, the index type is the type returned by GetById(&quot;length&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228931</commentid>
    <comment_count>4</comment_count>
      <attachid>288232</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 15:15:43 -0700</bug_when>
    <thetext>Comment on attachment 288232
Patch

Clearing flags on attachment: 288232

Committed r205830: &lt;http://trac.webkit.org/changeset/205830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228932</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 15:15:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288232</attachid>
            <date>2016-09-07 20:12:57 -0700</date>
            <delta_ts>2016-09-12 15:15:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161671-20160907201032.patch</filename>
            <type>text/plain</type>
            <size>9534</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1NTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ODAwMjFlOTE0ZDdkZmRmNDEzNGMyMzk0NjlmMDQzMDIxZDE0NGZmLi44YzYwMjJjNjA0ZGI5YmNj
Y2U1NTQ2NTJhZjA1NGU1NTIxMGZkMmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAxNi0wOS0wNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBVc2UgR2V0QXJyYXlMZW5ndGggZm9yIEpTQXJyYXkubGVu
Z3RoIGV2ZW4gd2hlbiB0aGUgYXJyYXkgdHlwZSBpcyB1bmRlY2lkZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTY3MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuZGVjaWRlZFNoYXBlIGlzIGEgdHlw
ZSB3aXRoIHN0b3JhZ2UuIFdoZW4gd2UgYWxsb2NhdGUgYW4gdW5pbml0aWFsaXplZCBKU0FycmF5
LAorICAgICAgICBpdCBnZXRzIGEgYnV0dGVyZmx5IHdpdGggaXRzIGxlbmd0aC4KKyAgICAgICAg
V2hlbiB3ZSB3ZXJlIHF1ZXJ5aW5nIHRoYXQgbGVuZ3RoLCB3ZSB3ZXJlIGdlbmVyYXRpbmcgYSBn
ZW5lcmljIEdldEJ5SWQgd2l0aCBpbmxpbmUgY2FjaGUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBh
ZGRzIHRoZSBtaXNzaW5nIGJpdHMgdG8gdHJlYXQgVW5kZWNpZGVkIGxpa2UgdGhlIG90aGVyIHR5
cGVzIHdpdGggc3RvcmFnZS4KKworICAgICAgICAqIGRmZy9ERkdBcnJheU1vZGUuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OmNhbkJlY29tZUdldEFycmF5TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6
REZHOjpBcnJheU1vZGU6OnJlZmluZSk6CisgICAgICAgICogZGZnL0RGR0FycmF5TW9kZS5oOgor
ICAgICAgICAoSlNDOjpERkc6OkFycmF5TW9kZTo6dXNlc0J1dHRlcmZseSk6CisgICAgICAgIChK
U0M6OkRGRzo6QXJyYXlNb2RlOjpsZW5ndGhOZWVkc1N0b3JhZ2UpOgorICAgICAgICAqIGRmZy9E
RkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAg
ICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6
OmNoZWNrQXJyYXkpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRBcnJheUxlbmd0aCk6Cisg
ICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2Fu
Q29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChK
U0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVHZXRBcnJheUxlbmd0aCk6CisKIDIw
MTYtMDktMDcgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtl
IGVtaXRBbGxvY2F0ZVdpdGhOb25OdWxsQWxsb2NhdG9yJ3Mgc3ViMzIoKSBkaXNhbGxvdy1zY3Jh
dGNoLWZyaWVuZGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fy
cmF5TW9kZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAK
aW5kZXggNGVhNzUxMmZkMmM1M2Q2YTlkZDU0YTRhYWYyNjg3MzY4M2U3Y2ZlNy4uNTZhMmE2NWJi
YTc0Y2JkZTVlODI4MjM4YWQ1NzQ1NGFkYTRjMWYwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmNwcApAQCAtMTUwLDYgKzE1MCwxNCBAQCBBcnJheU1vZGUgQXJy
YXlNb2RlOjpmcm9tT2JzZXJ2ZWQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2VyLCBB
cnJheVByb2ZpbAogICAgIH0KIH0KIAorc3RhdGljIGJvb2wgY2FuQmVjb21lR2V0QXJyYXlMZW5n
dGgoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQoreworICAgIGlmIChub2RlLT5vcCgpICE9IEdl
dEJ5SWQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBhdXRvIHVpZCA9IGdyYXBoLmlkZW50
aWZpZXJzKClbbm9kZS0+aWRlbnRpZmllck51bWJlcigpXTsKKyAgICByZXR1cm4gdWlkID09IGdy
YXBoLm1fdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLmltcGwoKTsKK30KKwogQXJyYXlNb2RlIEFy
cmF5TW9kZTo6cmVmaW5lKAogICAgIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwKICAgICBTcGVj
dWxhdGVkVHlwZSBiYXNlLCBTcGVjdWxhdGVkVHlwZSBpbmRleCwgU3BlY3VsYXRlZFR5cGUgdmFs
dWUpIGNvbnN0CkBAIC0xOTIsNyArMjAwLDcgQEAgQXJyYXlNb2RlIEFycmF5TW9kZTo6cmVmaW5l
KAogICAgICAgICAvLyBJZiB3ZSBoYXZlIGFuIE9yaWdpbmFsQXJyYXkgYW5kIHRoZSBKU0FycmF5
IHByb3RvdHlwZSBjaGFpbiBpcyBzYW5lLAogICAgICAgICAvLyBhbnkgaW5kZXhlZCBhY2Nlc3Mg
YWx3YXlzIHJldHVybiB1bmRlZmluZWQuIFdlIGhhdmUgYSBmYXN0IHBhdGggZm9yIHRoYXQuCiAg
ICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBncmFwaC5nbG9iYWxPYmplY3RG
b3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKTsKLSAgICAgICAgaWYgKG5vZGUtPm9wKCkgPT0gR2V0
QnlWYWwKKyAgICAgICAgaWYgKChub2RlLT5vcCgpID09IEdldEJ5VmFsIHx8IGNhbkJlY29tZUdl
dEFycmF5TGVuZ3RoKGdyYXBoLCBub2RlKSkKICAgICAgICAgICAgICYmIGFycmF5Q2xhc3MoKSA9
PSBBcnJheTo6T3JpZ2luYWxBcnJheQogICAgICAgICAgICAgJiYgZ2xvYmFsT2JqZWN0LT5hcnJh
eVByb3RvdHlwZUNoYWluSXNTYW5lKCkKICAgICAgICAgICAgICYmICFncmFwaC5oYXNFeGl0U2l0
ZShub2RlLT5vcmlnaW4uc2VtYW50aWMsIE91dE9mQm91bmRzKSkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgKaW5kZXggNzQ5Y2UyYmZhNDExNDlhZGRhMDU3MDkxNmYx
NmU4MjhhOTBmMDk1Yy4uMmVjNDgwMzg3ZGU1YTgwYzFhYWJmMTdkN2ViZDFjOWI3MGI0MjhhOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCkBAIC0yMzQsNiArMjM0
LDcgQEAgcHVibGljOgogICAgIGJvb2wgdXNlc0J1dHRlcmZseSgpIGNvbnN0CiAgICAgewogICAg
ICAgICBzd2l0Y2ggKHR5cGUoKSkgeworICAgICAgICBjYXNlIEFycmF5OjpVbmRlY2lkZWQ6CiAg
ICAgICAgIGNhc2UgQXJyYXk6OkludDMyOgogICAgICAgICBjYXNlIEFycmF5OjpEb3VibGU6CiAg
ICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3VvdXM6CkBAIC0zMTIsNiArMzEzLDcgQEAgcHVibGlj
OgogICAgIGJvb2wgbGVuZ3RoTmVlZHNTdG9yYWdlKCkgY29uc3QKICAgICB7CiAgICAgICAgIHN3
aXRjaCAodHlwZSgpKSB7CisgICAgICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoKICAgICAgICAg
Y2FzZSBBcnJheTo6SW50MzI6CiAgICAgICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKICAgICAgICAg
Y2FzZSBBcnJheTo6Q29udGlndW91czoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmgKaW5kZXggY2Q3NjQ5YmM4NDA2OTYzY2Y1YTY0NGQzZWE1Yjg4MTE5NzhiNWE2My4u
OWJlZDM2ZGY1M2U4MjY4Nzc1ODI0ZDQ2YjgzZjRlZmE5MzA0MTljYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTk0MSw2ICs5NDEsNyBAQCB2b2lkIGNs
b2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVh
ZCwgY29uc3QgV3JpdGVGdQogICAgIGNhc2UgR2V0QXJyYXlMZW5ndGg6IHsKICAgICAgICAgQXJy
YXlNb2RlIG1vZGUgPSBub2RlLT5hcnJheU1vZGUoKTsKICAgICAgICAgc3dpdGNoIChtb2RlLnR5
cGUoKSkgeworICAgICAgICBjYXNlIEFycmF5OjpVbmRlY2lkZWQ6CiAgICAgICAgIGNhc2UgQXJy
YXk6OkludDMyOgogICAgICAgICBjYXNlIEFycmF5OjpEb3VibGU6CiAgICAgICAgIGNhc2UgQXJy
YXk6OkNvbnRpZ3VvdXM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNl
LmNwcAppbmRleCAyODIxMzJlZjY3ZjJiMjcxNmNjYzZkZmQ4NTk2YTU2OWMyZTYxNjdkLi5jODU2
ZDdkY2Q2NWU3NzAwNWJmZDQzMGI4N2M3Yzc5Y2JjYTA1ZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTIwOTEsNyArMjA5MSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGlmICghc3RvcmFnZUNoZWNrKGFycmF5
TW9kZSkpCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgICAgICAKICAgICAgICAgaWYgKGFycmF5TW9kZS51c2VzQnV0dGVyZmx5KCkpIHsKICAg
ICAgICAgICAgIHJldHVybiBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBhMTgyZDQzZTk2
NGVlNDdmZDQyYjI4MzgzYzQ3YWM4YTFhNjUxZjBjLi5kZmY5MmM1ZWFhNzBkN2UyZWYwMWY3NWRk
MTFjZGQ0MTlkODk1Y2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcApAQCAtNjA3NSw2ICs2MDc1LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUdldEdsb2JhbE9iamVjdChOb2RlKiBub2RlKQogdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUdldEFycmF5TGVuZ3RoKE5vZGUqIG5vZGUpCiB7CiAgICAgc3dpdGNoIChub2Rl
LT5hcnJheU1vZGUoKS50eXBlKCkpIHsKKyAgICBjYXNlIEFycmF5OjpVbmRlY2lkZWQ6CiAgICAg
Y2FzZSBBcnJheTo6SW50MzI6CiAgICAgY2FzZSBBcnJheTo6RG91YmxlOgogICAgIGNhc2UgQXJy
YXk6OkNvbnRpZ3VvdXM6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJp
bGl0aWVzLmNwcAppbmRleCA4MjE3NzgzNDA4M2FjOTNjMDcyZWQ5NDBlMWFhZmViNDY5YTY1OGE5
Li4yYTVmZGNkMjc5OGY5YjFlNzYzMmZmYzdhYzM2YmM5MzMwYTQ5NGQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCkBAIC0yODcsNiArMjg3LDcg
QEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgR2V0QXJyYXlMZW5ndGg6CiAgICAgICAgIHN3aXRjaCAobm9kZS0+
YXJyYXlNb2RlKCkudHlwZSgpKSB7CisgICAgICAgIGNhc2UgQXJyYXk6OlVuZGVjaWRlZDoKICAg
ICAgICAgY2FzZSBBcnJheTo6SW50MzI6CiAgICAgICAgIGNhc2UgQXJyYXk6OkRvdWJsZToKICAg
ICAgICAgY2FzZSBBcnJheTo6Q29udGlndW91czoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0IzLmNwcAppbmRleCBjMjBlYTZiMjIxMzg4ZDkxMzczY2ZhYzVkYjE5
OGZkYTg3NTZjZDI5Li4yZTQ4ZDdmNjdmYjdjNmNlYjA1MjYwOGIzOTczNmM5YTExOTAyYmNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC0y
ODg2LDYgKzI4ODYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcGlsZUdldEFycmF5TGVuZ3Ro
KCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAobV9ub2RlLT5hcnJheU1vZGUoKS50eXBlKCkpIHsK
KyAgICAgICAgY2FzZSBBcnJheTo6VW5kZWNpZGVkOgogICAgICAgICBjYXNlIEFycmF5OjpJbnQz
MjoKICAgICAgICAgY2FzZSBBcnJheTo6RG91YmxlOgogICAgICAgICBjYXNlIEFycmF5OjpDb250
aWd1b3VzOiB7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDFiOTkyY2VlMGNlNjZlNTBmYWVmMzZmNDY3ZTI3ZTFmNDg4ZTU5NTIuLmFiOGVi
ZDJiYzUyMmViNTA1YjI0OTliMWI3YWY2OGY2NmNlYTZmMGUgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYt
MDktMDYgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W0pTQ10gVXNlIEdldEFycmF5TGVuZ3RoIGZvciBKU0FycmF5Lmxlbmd0aCBldmVuIHdoZW4gdGhl
IGFycmF5IHR5cGUgaXMgdW5kZWNpZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjE2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHN0cmVzcy9nZXQtYXJyYXktbGVuZ3RoLW9uLXVuZGVjaWRlZC5q
czogQWRkZWQuCisKIDIwMTYtMDktMDYgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+
CiAKICAgICAgICAgUHJveHlPYmplY3QncyBzdHJ1Y3R1cmUgc2hvdWxkIG5vdCBoYXZlIE9iamVj
dFByb3RvdHlwZSBhcyBpdHMgcHJvdG90eXBlIGFuZCBpdCBzaG91bGQgbm90IGhhdmUgc3BlY2lh
bCBiZWhhdmlvciBmb3IgaW50ZXJjZXB0aW5nICJfX3Byb3RvX18iCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3N0cmVzcy9nZXQtYXJyYXktbGVuZ3RoLW9uLXVuZGVjaWRlZC5qcyBiL0pTVGVzdHMvc3Ry
ZXNzL2dldC1hcnJheS1sZW5ndGgtb24tdW5kZWNpZGVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0Mzg2NmRm
ZmE2NmEwNjg1MjQyNzk0YWE3ZDViNGQ3ZjQ2ZmNjOWQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL3N0cmVzcy9nZXQtYXJyYXktbGVuZ3RoLW9uLXVuZGVjaWRlZC5qcwpAQCAtMCwwICsxLDc2
IEBACitmdW5jdGlvbiBmb3JjZVRyYW5zaXRpb24oKSB7CisgICAgLy8gV2Ugd2FudCB0byB0ZXN0
IHRoZSBTdHJ1Y3R1cmVDaGVjayBpbiB0ZXN0U3BhcnNlQXJyYXkoKSwgbm90IHRoaXMgd2F0Y2hw
b2ludC4KKyAgICAvLyBXZSBzdGFydCB3aXRoIHRoZSB0cmFuc2l0aW9uIHNvIHRoYXQgaXQncyBu
b3RoaW5nIG5ldy4KKyAgICBsZXQgYXJyYXkgPSBuZXcgQXJyYXkoKTsKKyAgICBhcnJheVsxMDAw
MDFdID0gIldlYktpdCEiOworfQorZm9yY2VUcmFuc2l0aW9uKCk7CisKK2Z1bmN0aW9uIG9wYXF1
ZUdldEFycmF5TGVuZ3RoKGFycmF5KQoreworICAgIHJldHVybiBhcnJheS5sZW5ndGg7Cit9Citu
b0lubGluZShvcGFxdWVHZXRBcnJheUxlbmd0aCk7CisKK2Z1bmN0aW9uIHRlc3RFbXB0eUFycmF5
KCkKK3sKKyAgICBsZXQgYXJyYXkgPSBbXTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDFlNjsg
KytpKSB7CisgICAgICAgIGlmIChvcGFxdWVHZXRBcnJheUxlbmd0aChhcnJheSkgIT09IDApIHsK
KyAgICAgICAgICAgIHRocm93ICJGYWlsZWQgdGVzdEVtcHR5QXJyYXkiOworICAgICAgICB9Cisg
ICAgfQorCisgICAgYXJyYXkgPSBuZXcgQXJyYXkoKTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8
IDFlNjsgKytpKSB7CisgICAgICAgIGlmIChvcGFxdWVHZXRBcnJheUxlbmd0aChhcnJheSkgIT09
IDApIHsKKyAgICAgICAgICAgIHRocm93ICJGYWlsZWQgdGVzdEVtcHR5QXJyYXkiOworICAgICAg
ICB9CisgICAgfQorfQordGVzdEVtcHR5QXJyYXkoKTsKKworCitmdW5jdGlvbiB0ZXN0VW5pdGlh
bGl6ZWRBcnJheSgpCit7CisgICAgbGV0IGFycmF5ID0gbmV3IEFycmF5KDMyKTsKKyAgICBmb3Ig
KGxldCBpID0gMDsgaSA8IDFlNjsgKytpKSB7CisgICAgICAgIGlmIChvcGFxdWVHZXRBcnJheUxl
bmd0aChhcnJheSkgIT09IDMyKSB7CisgICAgICAgICAgICB0aHJvdyAiRmFpbGVkIHRlc3RVbml0
aWFsaXplZEFycmF5IjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGFycmF5ID0gbmV3IEFycmF5
KCk7CisgICAgYXJyYXkubGVuZ3RoID0gNjQKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDFlNjsg
KytpKSB7CisgICAgICAgIGlmIChvcGFxdWVHZXRBcnJheUxlbmd0aChhcnJheSkgIT09IDY0KSB7
CisgICAgICAgICAgICB0aHJvdyAiRmFpbGVkIHRlc3RVbml0aWFsaXplZEFycmF5IjsKKyAgICAg
ICAgfQorICAgIH0KK30KK3Rlc3RVbml0aWFsaXplZEFycmF5KCk7CisKK2Z1bmN0aW9uIHRlc3RP
dmVyc2l6ZWRBcnJheSgpCit7CisgICAgbGV0IGFycmF5ID0gbmV3IEFycmF5KDEwMDAwMSk7Cisg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxZTY7ICsraSkgeworICAgICAgICBpZiAob3BhcXVlR2V0
QXJyYXlMZW5ndGgoYXJyYXkpICE9PSAxMDAwMDEpIHsKKyAgICAgICAgICAgIHRocm93ICJGYWls
ZWQgdGVzdE92ZXJzaXplZEFycmF5IjsKKyAgICAgICAgfQorICAgIH0KK30KK3Rlc3RPdmVyc2l6
ZWRBcnJheSgpOworCisvLyBUaGlzIHNob3VsZCBPU1IgRXhpdCBhbmQgZmFsbGJhY2sgdG8gR2V0
QnlJZCB0byBnZXQgdGhlIGxlbmd0aC4KK2Z1bmN0aW9uIHRlc3RTcGFyc2VBcnJheSgpCit7Cisg
ICAgbGV0IGFycmF5ID0gbmV3IEFycmF5KCk7CisgICAgYXJyYXlbMTAwMDAxXSA9ICJXZWJLaXQh
IjsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDFlNjsgKytpKSB7CisgICAgICAgIGlmIChvcGFx
dWVHZXRBcnJheUxlbmd0aChhcnJheSkgIT09IDEwMDAwMikgeworICAgICAgICAgICAgdGhyb3cg
IkZhaWxlZCB0ZXN0T3ZlcnNpemVkQXJyYXkiOworICAgICAgICB9CisgICAgfQorfQordGVzdFNw
YXJzZUFycmF5KCk7CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>