<?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>150904</bug_id>
          
          <creation_ts>2015-11-04 14:25:35 -0800</creation_ts>
          <short_desc>REGRESSION (r190883): Error calculating the tile size for an SVG with no intrinsic size but with large floating intrinsic ratio</short_desc>
          <delta_ts>2015-11-09 10:10:32 -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>Layout and Rendering</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, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1139441</commentid>
    <comment_count>0</comment_count>
      <attachid>264814</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-04 14:25:35 -0800</bug_when>
    <thetext>Created attachment 264814
test case

1. Open the attached test case.

Results: 40% of the two &lt;div&gt;s rectangle are not covered by the background image.
Expected: 100% of the two  &lt;div&gt;s rectangle are by the background image.

The bug in drawing the background of the first &lt;div&gt; is a regression of r190883 which happens because of missing the following if-statemnet in resolveAgainstIntrinsicRatio() when rolling out the r184895:

   if (!resolvedSize.isEmpty())
       return resolvedSize;

The bug in drawing the background of the second &lt;div&gt; has been there for sometime. At least it is in Safari 9.0. The bug is in calculating the tile width given the a background SVG with non intrinsic size but with a large float intrinsic ratio.

Let&apos;s take a conceder example to show why it happens and consider the attached test case when we draw the second &lt;div&gt;.

1. The css of the second &lt;div&gt; draws a background SVG image whose width is &apos;8000.4px&apos; while the height is not determined.
2. The viewBox of the SVG is &apos;0 0 8000.4 100&apos;
3. RenderBoxModelObject::calculateFillTileSize() calls RenderBoxModelObject::calculateImageIntrinsicDimensions() to calculate the imageIntrinsicSize.
4. In RenderBoxModelObject::calculateImageIntrinsicDimensions(), because (resolvedSize.width() == 0 &amp;&amp; resolvedSize.height() &gt; 0) is true we return resolveAgainstIntrinsicWidthOrHeightAndRatio().
5. The input to this function is the following: intrinsicRatio = FloatSize(8000.4, 100), useWidth = LayoutUnit(512025) and useHeight = LayoutUnit(0)
6. Because useWidth is not zero, resolveHeightForRatio() is called to calculate the height.
7. resolveHeightForRatio() does its calculation in float but it then casts the result to integer. So it returns 99 instead of 100.
8. In resolveAgainstIntrinsicWidthOrHeightAndRatio(), the return of resolveHeightForRatio() is changed back to LayoutUnit but we end up returning LayoutSize(512025, 6336) instead of returning LayoutSize(512025, 6400).
9. In RenderBoxModelObject::calculateFillTileSize(), because the background-size is &quot;auto 100px&quot;, 
        tileSize = LayoutSize(LayoutUnit(imageIntrinsicSize.width() * tileSize.height() / imageIntrinsicSize.height()), LayoutUnit(6400));
        tileSize = LayoutSize(LayoutUnit(512025 * 6400 / 6336), LayoutUnit(6400));
        tileSize = LayoutSize(LayoutUnit(517196), LayoutUnit(6400)); // == FloatSize(8081.2, 100) instead of FloatSize(8000.4, 100)

And this is the cause of not filling the whole rectangle of the second div.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139442</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-04 14:29:11 -0800</bug_when>
    <thetext>The missing lines in resolveAgainstIntrinsicRatio():

   if (!resolvedSize.isEmpty())
       return resolvedSize;

are kind of optimization. But carrying out the imageSize calculation through resolveAgainstIntrinsicWidthOrHeightAndRatio() should have yield the same results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139459</commentid>
    <comment_count>2</comment_count>
      <attachid>264819</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-04 15:09:49 -0800</bug_when>
    <thetext>Created attachment 264819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139461</commentid>
    <comment_count>3</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-04 15:13:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/23364325&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139462</commentid>
    <comment_count>4</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-04 15:15:06 -0800</bug_when>
    <thetext>Another way to see this bug is the clipped logo in http://www.wired.com.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139985</commentid>
    <comment_count>5</comment_count>
      <attachid>264940</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-06 09:42:42 -0800</bug_when>
    <thetext>Created attachment 264940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1139990</commentid>
    <comment_count>6</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-06 09:56:50 -0800</bug_when>
    <thetext>Zalan pointed out that resolveWidthForRatio() and resolveHeightForRatio() should return LayoutUnits instead on integers which I completely agree with. The inputs of these functions are now LayoutUnits. And the return values are passed to LayoutSizes so it does not make sense to convert from LayoutUnit to int and then to LayoutUnit only at return time. This might cause a truncation in other scenarios.

I had resolveWidthForRatio() and resolveHeightForRatio() returning LayoutUnits before submitting the original patches. But I wanted to verify the layout test would fail without the patch. So I reverted the changes manually and then added them back manually also. I must have missed adding them back especially the complier was fine without them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140409</commentid>
    <comment_count>7</comment_count>
      <attachid>264940</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-09 10:10:28 -0800</bug_when>
    <thetext>Comment on attachment 264940
Patch

Clearing flags on attachment: 264940

Committed r192161: &lt;http://trac.webkit.org/changeset/192161&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140410</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-09 10:10:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>264814</attachid>
            <date>2015-11-04 14:25:35 -0800</date>
            <delta_ts>2015-11-04 14:25:35 -0800</delta_ts>
            <desc>test case</desc>
            <filename>background-image-large-float-intrinsic-ratio.html</filename>
            <type>text/html</type>
            <size>1293</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDxzdHlsZT4KICAgICAgICBkaXYgewog
ICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDAwMHB4IDA7CiAgICAgICAgICAgIGJh
Y2tncm91bmQtc2l6ZTogYXV0byAxMDBweDsKICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKICAg
ICAgICAgICAgd2lkdGg6IDEwMHB4OwogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwogICAgICAgICAgICBtYXJnaW46
IDEwcHg7CiAgICAgICAgfQogICAgICAgIC5pbnRyaW5zaWMtc2l6ZSB7CiAgICAgICAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0Zi04LCBcCiAgICAgICAg
ICAgICAgICA8c3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnJyB3aWR0aD0nODAwMC40cHgnIGhlaWdodD0nMTAwcHgnPiBcCiAgICAgICAgICAgICAgICAg
ICAgPHJlY3QgeD0nNDAwMCcgeT0nMCcgd2lkdGg9JzEwMCcgaGVpZ2h0PScxMDAnIGZpbGw9J2dy
ZWVuJy8+IFwKICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSc0MDEwJyB5PScxMCcgd2lkdGg9
JzgwJyBoZWlnaHQ9JzgwJyBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9
JzQnLz4gXAogICAgICAgICAgICAgICAgPC9zdmc+Iik7CiAgICAgICAgfQogICAgICAgIC5ub24t
aW50cmluc2ljLXNpemUgewogICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6
aW1hZ2Uvc3ZnK3htbDt1dGYtOCwgXAogICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPScxLjEn
IHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgwMDAuNHB4JyB2aWV3
Qm94PScwIDAgODAwMC40IDEwMCc+IFwKICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSc0MDAw
JyB5PScwJyB3aWR0aD0nMTAwJyBoZWlnaHQ9JzEwMCcgZmlsbD0nZ3JlZW4nLz4gXAogICAgICAg
ICAgICAgICAgICAgIDxyZWN0IHg9JzQwMTAnIHk9JzEwJyB3aWR0aD0nODAnIGhlaWdodD0nODAn
IGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nNCcvPiBcCiAgICAgICAg
ICAgICAgICA8L3N2Zz4iKTsKICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgog
ICAgPGRpdiBjbGFzcz0iaW50cmluc2ljLXNpemUiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ibm9u
LWludHJpbnNpYy1zaXplIj48L2Rpdj4KPC9ib2R5Pgo8aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264819</attachid>
            <date>2015-11-04 15:09:49 -0800</date>
            <delta_ts>2015-11-06 09:42:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150904-20151104150851.patch</filename>
            <type>text/plain</type>
            <size>8791</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTExLTA0ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAocjE5MDg4Myk6IEVycm9yIGNhbGN1bGF0aW5nIHRoZSB0aWxlIHNpemUgZm9yIGFuIFNWRyB3
aXRoIG5vIGludHJpbnNpYyBzaXplIGJ1dCB3aXRoIGxhcmdlIGZsb2F0aW5nIGludHJpbnNpYyBy
YXRpbworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUw
OTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBUaGlzIHBhdGNoIGFkZHJlc3NlcyB0d28gaXNzdWVzLiBUaGUgZmlyc3Qgb25lIGlzIGEg
cmVncmVzc2lvbiBmcm9tIHIxOTA4ODMKKyAgICAgICAgd2hpY2ggd2FzIHJvbGxpbmcgb3V0IHIx
ODQ4OTUuIFRoZXJlIHdhcyBhIG1pc3NpbmcgaWYtc3RhdGVtZW50IGluIAorICAgICAgICBSZW5k
ZXJCb3hNb2RlbE9iamVjdDo6Y2FsY3VsYXRlSW1hZ2VJbnRyaW5zaWNEaW1lbnNpb24oKS4gV2Ug
c2hvdWxkIHJldHVybgorICAgICAgICBpdC4gQnV0IHRoaXMgaWYtc3RhdGVtZW50IGlzIGFuIG9w
dGltaXphdGlvbjsgaWYgd2UgaGl0IGl0IHdlIHNob3VsZCByZXR1cm4KKyAgICAgICAgdGhlIGNh
bGN1bGF0ZWQgaW1hZ2Ugc2l6ZS4gQnV0IHdlIHNob3VsZCByZXR1cm4gdGhlIHNhbWUgcmVzdWx0
IGlmIHdlCisgICAgICAgIGNvbnRpbnVlIGlmIHdlIGNhbGwgcmVzb2x2ZUFnYWluc3RJbnRyaW5z
aWNXaWR0aE9ySGVpZ2h0QW5kUmF0aW8oKS4gCisgICAgICAgIAorICAgICAgICBXZSBoYWQgYSBi
dWcgaW4gcmVzb2x2aW5nIHRoZSBpbnRyaW5zaWMgc2l6ZSBvZiBhbiBpbWFnZSB1c2luZyBpdHMg
aW50cmluc2ljCisgICAgICAgIHJhdGlvIHdoZW4gaXQgaXMgbGFyZ2UuIFdlIG5lZWQgdG8gZG8g
dGhlIGNhbGN1bGF0aW9uIGluICBMYXlvdXRVbml0cyBhbHdheXMuCisgICAgICAgIFVzaW5nIGZs
b2F0IGNhbGN1bGF0aW9ucyBhbmQgdGhlbiBjYXN0aW5nIHRoZSBmbG9hdCB0byBpbnRlZ2VyIHJl
c3VsdHMgYQorICAgICAgICBzaWduaWZpY2FudCBkaWZmZXJlbmNlIGlmIHRoZSBpbnRyaW5zaWMg
cmF0aW8gaXMgbGFyZ2UuCisKKyAgICAgICAgVGVzdDogZmFzdC9iYWNrZ3JvdW5kcy9iYWNrZ3Jv
dW5kLWltYWdlLWxhcmdlLWZsb2F0LWludHJpbnNpYy1yYXRpby5odG1sCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVz
b2x2ZVdpZHRoRm9yUmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZUhlaWdodEZvclJh
dGlvKToKKyAgICAgICAgKFdlYkNvcmU6OnJlc29sdmVBZ2FpbnN0SW50cmluc2ljV2lkdGhPckhl
aWdodEFuZFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OnJlc29sdmVBZ2FpbnN0SW50cmluc2lj
UmF0aW8pOgorICAgICAgICBEbyB0aGUgaW1hZ2Ugc2l6ZSBjYWxjdWxhdGlvbiBpbiBMYXlvdXRV
bml0cyBpbnN0ZWFkIG9mIGZsb2F0cy4KKyAgICAgICAgCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3hNb2RlbE9iamVjdDo6Y2FsY3VsYXRlSW1hZ2VJbnRyaW5zaWNEaW1lbnNpb25zKToKKyAg
ICAgICAgUHV0IGJhY2sgYW4gaWYtc3RhdGVtZW50IHdoaWNoIHdhcyBtaXNzaW5nIGZyb20gcm9s
bGluZyBvdXQgcjE4NDg5NQorCiAyMDE1LTExLTA0ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0
b25AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSB0aGUgbmFtZSBvZiBhIE1haWwgY2xhc3Mg
dGhhdCB3ZSBoYXJkY29kZQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCShyZXZpc2lvbiAxOTIwMjIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC04NDUsMTcgKzg0NSwxNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEZpbGxM
YXllCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIGludCByZXNvbHZlV2lkdGhGb3JSYXRpbyhM
YXlvdXRVbml0IGhlaWdodCwgY29uc3QgRmxvYXRTaXplJiBpbnRyaW5zaWNSYXRpbykKK3N0YXRp
YyBpbmxpbmUgaW50IHJlc29sdmVXaWR0aEZvclJhdGlvKExheW91dFVuaXQgaGVpZ2h0LCBjb25z
dCBMYXlvdXRTaXplJiBpbnRyaW5zaWNSYXRpbykKIHsKICAgICByZXR1cm4gaGVpZ2h0ICogaW50
cmluc2ljUmF0aW8ud2lkdGgoKSAvIGludHJpbnNpY1JhdGlvLmhlaWdodCgpOwogfQogCi1zdGF0
aWMgaW5saW5lIGludCByZXNvbHZlSGVpZ2h0Rm9yUmF0aW8oTGF5b3V0VW5pdCB3aWR0aCwgY29u
c3QgRmxvYXRTaXplJiBpbnRyaW5zaWNSYXRpbykKK3N0YXRpYyBpbmxpbmUgaW50IHJlc29sdmVI
ZWlnaHRGb3JSYXRpbyhMYXlvdXRVbml0IHdpZHRoLCBjb25zdCBMYXlvdXRTaXplJiBpbnRyaW5z
aWNSYXRpbykKIHsKICAgICByZXR1cm4gd2lkdGggKiBpbnRyaW5zaWNSYXRpby5oZWlnaHQoKSAv
IGludHJpbnNpY1JhdGlvLndpZHRoKCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgTGF5b3V0U2l6ZSBy
ZXNvbHZlQWdhaW5zdEludHJpbnNpY1dpZHRoT3JIZWlnaHRBbmRSYXRpbyhjb25zdCBMYXlvdXRT
aXplJiBzaXplLCBjb25zdCBGbG9hdFNpemUmIGludHJpbnNpY1JhdGlvLCBMYXlvdXRVbml0IHVz
ZVdpZHRoLCBMYXlvdXRVbml0IHVzZUhlaWdodCkKK3N0YXRpYyBpbmxpbmUgTGF5b3V0U2l6ZSBy
ZXNvbHZlQWdhaW5zdEludHJpbnNpY1dpZHRoT3JIZWlnaHRBbmRSYXRpbyhjb25zdCBMYXlvdXRT
aXplJiBzaXplLCBjb25zdCBMYXlvdXRTaXplJiBpbnRyaW5zaWNSYXRpbywgTGF5b3V0VW5pdCB1
c2VXaWR0aCwgTGF5b3V0VW5pdCB1c2VIZWlnaHQpCiB7CiAgICAgaWYgKGludHJpbnNpY1JhdGlv
LmlzRW1wdHkoKSkgewogICAgICAgICBpZiAodXNlV2lkdGgpCkBAIC04NjgsNyArODY4LDcgQEAg
c3RhdGljIGlubGluZSBMYXlvdXRTaXplIHJlc29sdmVBZ2FpbnN0SQogICAgIHJldHVybiBMYXlv
dXRTaXplKHJlc29sdmVXaWR0aEZvclJhdGlvKHVzZUhlaWdodCwgaW50cmluc2ljUmF0aW8pLCB1
c2VIZWlnaHQpOwogfQogCi1zdGF0aWMgaW5saW5lIExheW91dFNpemUgcmVzb2x2ZUFnYWluc3RJ
bnRyaW5zaWNSYXRpbyhjb25zdCBMYXlvdXRTaXplJiBzaXplLCBjb25zdCBGbG9hdFNpemUmIGlu
dHJpbnNpY1JhdGlvKQorc3RhdGljIGlubGluZSBMYXlvdXRTaXplIHJlc29sdmVBZ2FpbnN0SW50
cmluc2ljUmF0aW8oY29uc3QgTGF5b3V0U2l6ZSYgc2l6ZSwgY29uc3QgTGF5b3V0U2l6ZSYgaW50
cmluc2ljUmF0aW8pCiB7CiAgICAgLy8gVHdvIHBvc3NpYmxlIHNvbHV0aW9uczogKHNpemUud2lk
dGgoKSwgc29sdXRpb25IZWlnaHQpIG9yIChzb2x1dGlvbldpZHRoLCBzaXplLmhlaWdodCgpKQog
ICAgIC8vICIuLi4gbXVzdCBiZSBhc3N1bWVkIHRvIGJlIHRoZSBsYXJnZXN0IGRpbWVuc2lvbnMu
Li4iID0gZWFzaWVzdCBhbnN3ZXI6IHRoZSByZWN0IHdpdGggdGhlIGxhcmdlc3Qgc3VyZmFjZSBh
cmVhLgpAQCAtOTE1LDE4ICs5MTUsMjEgQEAgTGF5b3V0U2l6ZSBSZW5kZXJCb3hNb2RlbE9iamVj
dDo6Y2FsY3VsYQogICAgICAgICByZXNvbHZlZFNpemUuc2NhbGUoc3R5bGUoKS5lZmZlY3RpdmVa
b29tKCkpOwogICAgIHJlc29sdmVkU2l6ZS5jbGFtcFRvTWluaW11bVNpemUobWluaW11bVNpemUp
OwogCisgICAgaWYgKCFyZXNvbHZlZFNpemUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gcmVz
b2x2ZWRTaXplOworCiAgICAgLy8gSWYgdGhlIGltYWdlIGhhcyBvbmUgb2YgZWl0aGVyIGFuIGlu
dHJpbnNpYyB3aWR0aCBvciBhbiBpbnRyaW5zaWMgaGVpZ2h0OgogICAgIC8vICogYW5kIGFuIGlu
dHJpbnNpYyBhc3BlY3QgcmF0aW8sIHRoZW4gdGhlIG1pc3NpbmcgZGltZW5zaW9uIGlzIGNhbGN1
bGF0ZWQgZnJvbSB0aGUgZ2l2ZW4gZGltZW5zaW9uIGFuZCB0aGUgcmF0aW8uCiAgICAgLy8gKiBh
bmQgbm8gaW50cmluc2ljIGFzcGVjdCByYXRpbywgdGhlbiB0aGUgbWlzc2luZyBkaW1lbnNpb24g
aXMgYXNzdW1lZCB0byBiZSB0aGUgc2l6ZSBvZiB0aGUgcmVjdGFuZ2xlIHRoYXQKICAgICAvLyAg
IGVzdGFibGlzaGVzIHRoZSBjb29yZGluYXRlIHN5c3RlbSBmb3IgdGhlICdiYWNrZ3JvdW5kLXBv
c2l0aW9uJyBwcm9wZXJ0eS4KICAgICBpZiAocmVzb2x2ZWRTaXplLndpZHRoKCkgPiAwIHx8IHJl
c29sdmVkU2l6ZS5oZWlnaHQoKSA+IDApCi0gICAgICAgIHJldHVybiByZXNvbHZlQWdhaW5zdElu
dHJpbnNpY1dpZHRoT3JIZWlnaHRBbmRSYXRpbyhwb3NpdGlvbmluZ0FyZWFTaXplLCBpbnRyaW5z
aWNSYXRpbywgcmVzb2x2ZWRTaXplLndpZHRoKCksIHJlc29sdmVkU2l6ZS5oZWlnaHQoKSk7Cisg
ICAgICAgIHJldHVybiByZXNvbHZlQWdhaW5zdEludHJpbnNpY1dpZHRoT3JIZWlnaHRBbmRSYXRp
byhwb3NpdGlvbmluZ0FyZWFTaXplLCBMYXlvdXRTaXplKGludHJpbnNpY1JhdGlvKSwgcmVzb2x2
ZWRTaXplLndpZHRoKCksIHJlc29sdmVkU2l6ZS5oZWlnaHQoKSk7CiAKICAgICAvLyBJZiB0aGUg
aW1hZ2UgaGFzIG5vIGludHJpbnNpYyBkaW1lbnNpb25zIGFuZCBoYXMgYW4gaW50cmluc2ljIHJh
dGlvIHRoZSBkaW1lbnNpb25zIG11c3QgYmUgYXNzdW1lZCB0byBiZSB0aGUKICAgICAvLyBsYXJn
ZXN0IGRpbWVuc2lvbnMgYXQgdGhhdCByYXRpbyBzdWNoIHRoYXQgbmVpdGhlciBkaW1lbnNpb24g
ZXhjZWVkcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgcmVjdGFuZ2xlIHRoYXQKICAgICAvLyBlc3Rh
Ymxpc2hlcyB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gZm9yIHRoZSAnYmFja2dyb3VuZC1wb3NpdGlv
bicgcHJvcGVydHkuCiAgICAgaWYgKCFpbnRyaW5zaWNSYXRpby5pc0VtcHR5KCkpCi0gICAgICAg
IHJldHVybiByZXNvbHZlQWdhaW5zdEludHJpbnNpY1JhdGlvKHBvc2l0aW9uaW5nQXJlYVNpemUs
IGludHJpbnNpY1JhdGlvKTsKKyAgICAgICAgcmV0dXJuIHJlc29sdmVBZ2FpbnN0SW50cmluc2lj
UmF0aW8ocG9zaXRpb25pbmdBcmVhU2l6ZSwgTGF5b3V0U2l6ZShpbnRyaW5zaWNSYXRpbykpOwog
CiAgICAgLy8gSWYgdGhlIGltYWdlIGhhcyBubyBpbnRyaW5zaWMgcmF0aW8gZWl0aGVyLCB0aGVu
IHRoZSBkaW1lbnNpb25zIG11c3QgYmUgYXNzdW1lZCB0byBiZSB0aGUgcmVjdGFuZ2xlIHRoYXQK
ICAgICAvLyBlc3RhYmxpc2hlcyB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gZm9yIHRoZSAnYmFja2dy
b3VuZC1wb3NpdGlvbicgcHJvcGVydHkuCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTIwMjIpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAx
NS0xMS0wNCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04gKHIxOTA4ODMpOiBFcnJvciBjYWxjdWxhdGluZyB0aGUgdGlsZSBz
aXplIGZvciBhbiBTVkcgd2l0aCBubyBpbnRyaW5zaWMgc2l6ZSBidXQgd2l0aCBsYXJnZSBmbG9h
dGluZyBpbnRyaW5zaWMgcmF0aW8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1MDkwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGUgaW1hZ2UgaW50cmluc2ljIHNpemUgaXMgY2FsY3Vs
YXRlZCBjb3JyZWN0bHkgd2hlbiB3ZSByZXNvbHZlCisgICAgICAgIGl0cyBzaXplIGFnYWluc3Qg
YSBsYXJnZSBmbG9hdGluZyBpbnRyaW5zaWMgcmF0aW8uCisKKyAgICAgICAgKiBmYXN0L2JhY2tn
cm91bmRzL2JhY2tncm91bmQtaW1hZ2UtbGFyZ2UtZmxvYXQtaW50cmluc2ljLXJhdGlvLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvYmFja2dyb3VuZHMvYmFja2dyb3VuZC1p
bWFnZS1sYXJnZS1mbG9hdC1pbnRyaW5zaWMtcmF0aW8uaHRtbDogQWRkZWQuCisKIDIwMTUtMTEt
MDQgIEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtBWF0g
V2ViUHJvY2VzcyBmcm9tIFdlYktpdEd0aysgMi4xMC4wIGNvbXBpbGVkIGluIERlYnVnIG1vZGUg
aGl0cyBBU1NFUlQgb24gdGV4dFVuZGVyRWxlbWVudApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9i
YWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWltYWdlLWxhcmdlLWZsb2F0LWludHJpbnNpYy1yYXRpby1l
eHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvYmFja2dyb3VuZHMv
YmFja2dyb3VuZC1pbWFnZS1sYXJnZS1mbG9hdC1pbnRyaW5zaWMtcmF0aW8tZXhwZWN0ZWQuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvYmFja2dyb3VuZHMvYmFja2dyb3Vu
ZC1pbWFnZS1sYXJnZS1mbG9hdC1pbnRyaW5zaWMtcmF0aW8tZXhwZWN0ZWQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgICAgPHN0eWxlPgorICAgICAgICBkaXYgeworICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1i
bG9jazsKKyAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOworICAgICAgICAgICAg
bWFyZ2luOiAxMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAg
ICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdj48L2Rpdj4KKyAg
ICA8ZGl2PjwvZGl2PgorPC9ib2R5PgorPGh0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Jh
Y2tncm91bmRzL2JhY2tncm91bmQtaW1hZ2UtbGFyZ2UtZmxvYXQtaW50cmluc2ljLXJhdGlvLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5k
LWltYWdlLWxhcmdlLWZsb2F0LWludHJpbnNpYy1yYXRpby5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWltYWdlLWxhcmdlLWZsb2F0
LWludHJpbnNpYy1yYXRpby5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIGRpdiB7
CisgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDAwMHB4IDA7CisgICAgICAgICAg
ICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgICAgZGlzcGxheTogaW5saW5l
LWJsb2NrOworICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW47CisgICAgICAgICAg
ICBtYXJnaW46IDEwcHg7CisgICAgICAgIH0KKyAgICAgICAgLmludHJpbnNpYy1zaXplIHsKKyAg
ICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0Zi04
LCBcCisgICAgICAgICAgICAgICAgPHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgwMDAuOHB4JyBoZWlnaHQ9JzEwMHB4Jz4gXAorICAg
ICAgICAgICAgICAgICAgICA8cmVjdCB4PSc0MDAwJyB5PScwJyB3aWR0aD0nMTAxJyBoZWlnaHQ9
JzEwMCcgZmlsbD0nZ3JlZW4nLz4gXAorICAgICAgICAgICAgICAgIDwvc3ZnPiIpOworICAgICAg
ICB9CisgICAgICAgIC5ub24taW50cmluc2ljLXNpemUgeworICAgICAgICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmLTgsIFwKKyAgICAgICAgICAgICAg
ICA8c3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3
aWR0aD0nODAwMC44cHgnIHZpZXdCb3g9JzAgMCA4MDAwLjggMTAwJz4gXAorICAgICAgICAgICAg
ICAgICAgICA8cmVjdCB4PSc0MDAwJyB5PScwJyB3aWR0aD0nMTAxJyBoZWlnaHQ9JzEwMCcgZmls
bD0nZ3JlZW4nLz4gXAorICAgICAgICAgICAgICAgIDwvc3ZnPiIpOworICAgICAgICB9CisgICAg
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9ImludHJpbnNpYy1zaXpl
Ij48L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJub24taW50cmluc2ljLXNpemUiPjwvZGl2PgorPC9i
b2R5PgorPGh0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264940</attachid>
            <date>2015-11-06 09:42:42 -0800</date>
            <delta_ts>2015-11-09 10:10:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150904-20151106094142.patch</filename>
            <type>text/plain</type>
            <size>8780</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MjEwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTExLTA2ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAocjE5MDg4Myk6IEVycm9yIGNhbGN1bGF0aW5nIHRoZSB0aWxlIHNpemUgZm9yIGFuIFNWRyB3
aXRoIG5vIGludHJpbnNpYyBzaXplIGJ1dCB3aXRoIGxhcmdlIGZsb2F0aW5nIGludHJpbnNpYyBy
YXRpbworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUw
OTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBUaGlzIHBhdGNoIGFkZHJlc3NlcyB0d28gaXNzdWVzLiBUaGUgZmlyc3Qgb25lIGlzIGEg
cmVncmVzc2lvbiBmcm9tIHIxOTA4ODMKKyAgICAgICAgd2hpY2ggd2FzIHJvbGxpbmcgb3V0IHIx
ODQ4OTUuIFRoZXJlIHdhcyBhIG1pc3NpbmcgaWYtc3RhdGVtZW50IGluIAorICAgICAgICBSZW5k
ZXJCb3hNb2RlbE9iamVjdDo6Y2FsY3VsYXRlSW1hZ2VJbnRyaW5zaWNEaW1lbnNpb24oKS4gV2Ug
c2hvdWxkIHJldHVybgorICAgICAgICBpdCBiYWNrLiBCdXQgdGhpcyBpZi1zdGF0ZW1lbnQgaXMg
YW4gb3B0aW1pemF0aW9uOyBpZiB3ZSBoaXQgaXQgd2Ugc2hvdWxkCisgICAgICAgIHJldHVybiB0
aGUgaW1hZ2UgcmVzb2x2ZWRTaXplLiBCdXQgd2Ugc2hvdWxkIGFsc28gcmV0dXJuIHRoZSBzYW1l
IHJlc3VsdAorICAgICAgICBpZiB3ZSBjYWxsIHJlc29sdmVBZ2FpbnN0SW50cmluc2ljV2lkdGhP
ckhlaWdodEFuZFJhdGlvKCkuCisgICAgICAgIAorICAgICAgICBXZSBoYWQgYSBidWcgaW4gcmVz
b2x2aW5nIHRoZSBpbnRyaW5zaWMgc2l6ZSBvZiBhbiBpbWFnZSB1c2luZyBhIGxhcmdlCisgICAg
ICAgIGludHJpbnNpYyByYXRpby4gV2UgbmVlZCB0byBkbyB0aGUgY2FsY3VsYXRpb24gaW4gTGF5
b3V0VW5pdHMgYWx3YXlzLgorICAgICAgICBVc2luZyBmbG9hdCBjYWxjdWxhdGlvbnMgYW5kIHRo
ZW4gY2FzdGluZyB0aGUgb3V0cHV0IHRvIGFuIGludGVnZXIgcmVzdWx0cworICAgICAgICBpbiBz
aWduaWZpY2FudCB0cnVuY2F0aW9uIGlmIHRoZSBpbnRyaW5zaWMgcmF0aW8gaXMgbGFyZ2UuCisK
KyAgICAgICAgVGVzdDogZmFzdC9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWltYWdlLWxhcmdlLWZs
b2F0LWludHJpbnNpYy1yYXRpby5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZVdpZHRoRm9yUmF0aW8p
OgorICAgICAgICAoV2ViQ29yZTo6cmVzb2x2ZUhlaWdodEZvclJhdGlvKToKKyAgICAgICAgKFdl
YkNvcmU6OnJlc29sdmVBZ2FpbnN0SW50cmluc2ljV2lkdGhPckhlaWdodEFuZFJhdGlvKToKKyAg
ICAgICAgKFdlYkNvcmU6OnJlc29sdmVBZ2FpbnN0SW50cmluc2ljUmF0aW8pOgorICAgICAgICBS
ZXNvbHZlIHRoZSBpbWFnZSBzaXplIHVzaW5nIGl0cyBpbnRyaW5zaWMgcmF0aW8gaW4gTGF5b3V0
VW5pdHMuCisgICAgICAgIAorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6
OmNhbGN1bGF0ZUltYWdlSW50cmluc2ljRGltZW5zaW9ucyk6CisgICAgICAgIFB1dCBiYWNrIGFu
IGlmLXN0YXRlbWVudCB3aGljaCB3YXMgbWlzc2luZyBmcm9tIHJvbGxpbmcgb3V0IHIxODQ4OTUK
KwogMjAxNS0xMS0wNiAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvQGVuZGxlc3NtLmNvbT4K
IAogICAgICAgICBMYXlvdXQgVGVzdCBhY2Nlc3NpYmlsaXR5L3dpbi9saW5rZWQtZWxlbWVudHMu
aHRtbCBpcyBjcmFzaGluZyBvbiB3aW4gZGVidWcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gMTkyMTA2KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtODQ1LDE3ICs4NDUsMTcgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVj
dDo6cGFpbnRGaWxsTGF5ZQogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSBpbnQgcmVzb2x2ZVdp
ZHRoRm9yUmF0aW8oTGF5b3V0VW5pdCBoZWlnaHQsIGNvbnN0IEZsb2F0U2l6ZSYgaW50cmluc2lj
UmF0aW8pCitzdGF0aWMgaW5saW5lIExheW91dFVuaXQgcmVzb2x2ZVdpZHRoRm9yUmF0aW8oTGF5
b3V0VW5pdCBoZWlnaHQsIGNvbnN0IExheW91dFNpemUmIGludHJpbnNpY1JhdGlvKQogewogICAg
IHJldHVybiBoZWlnaHQgKiBpbnRyaW5zaWNSYXRpby53aWR0aCgpIC8gaW50cmluc2ljUmF0aW8u
aGVpZ2h0KCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHJlc29sdmVIZWlnaHRGb3JSYXRpbyhM
YXlvdXRVbml0IHdpZHRoLCBjb25zdCBGbG9hdFNpemUmIGludHJpbnNpY1JhdGlvKQorc3RhdGlj
IGlubGluZSBMYXlvdXRVbml0IHJlc29sdmVIZWlnaHRGb3JSYXRpbyhMYXlvdXRVbml0IHdpZHRo
LCBjb25zdCBMYXlvdXRTaXplJiBpbnRyaW5zaWNSYXRpbykKIHsKICAgICByZXR1cm4gd2lkdGgg
KiBpbnRyaW5zaWNSYXRpby5oZWlnaHQoKSAvIGludHJpbnNpY1JhdGlvLndpZHRoKCk7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgTGF5b3V0U2l6ZSByZXNvbHZlQWdhaW5zdEludHJpbnNpY1dpZHRoT3JI
ZWlnaHRBbmRSYXRpbyhjb25zdCBMYXlvdXRTaXplJiBzaXplLCBjb25zdCBGbG9hdFNpemUmIGlu
dHJpbnNpY1JhdGlvLCBMYXlvdXRVbml0IHVzZVdpZHRoLCBMYXlvdXRVbml0IHVzZUhlaWdodCkK
K3N0YXRpYyBpbmxpbmUgTGF5b3V0U2l6ZSByZXNvbHZlQWdhaW5zdEludHJpbnNpY1dpZHRoT3JI
ZWlnaHRBbmRSYXRpbyhjb25zdCBMYXlvdXRTaXplJiBzaXplLCBjb25zdCBMYXlvdXRTaXplJiBp
bnRyaW5zaWNSYXRpbywgTGF5b3V0VW5pdCB1c2VXaWR0aCwgTGF5b3V0VW5pdCB1c2VIZWlnaHQp
CiB7CiAgICAgaWYgKGludHJpbnNpY1JhdGlvLmlzRW1wdHkoKSkgewogICAgICAgICBpZiAodXNl
V2lkdGgpCkBAIC04NjgsNyArODY4LDcgQEAgc3RhdGljIGlubGluZSBMYXlvdXRTaXplIHJlc29s
dmVBZ2FpbnN0SQogICAgIHJldHVybiBMYXlvdXRTaXplKHJlc29sdmVXaWR0aEZvclJhdGlvKHVz
ZUhlaWdodCwgaW50cmluc2ljUmF0aW8pLCB1c2VIZWlnaHQpOwogfQogCi1zdGF0aWMgaW5saW5l
IExheW91dFNpemUgcmVzb2x2ZUFnYWluc3RJbnRyaW5zaWNSYXRpbyhjb25zdCBMYXlvdXRTaXpl
JiBzaXplLCBjb25zdCBGbG9hdFNpemUmIGludHJpbnNpY1JhdGlvKQorc3RhdGljIGlubGluZSBM
YXlvdXRTaXplIHJlc29sdmVBZ2FpbnN0SW50cmluc2ljUmF0aW8oY29uc3QgTGF5b3V0U2l6ZSYg
c2l6ZSwgY29uc3QgTGF5b3V0U2l6ZSYgaW50cmluc2ljUmF0aW8pCiB7CiAgICAgLy8gVHdvIHBv
c3NpYmxlIHNvbHV0aW9uczogKHNpemUud2lkdGgoKSwgc29sdXRpb25IZWlnaHQpIG9yIChzb2x1
dGlvbldpZHRoLCBzaXplLmhlaWdodCgpKQogICAgIC8vICIuLi4gbXVzdCBiZSBhc3N1bWVkIHRv
IGJlIHRoZSBsYXJnZXN0IGRpbWVuc2lvbnMuLi4iID0gZWFzaWVzdCBhbnN3ZXI6IHRoZSByZWN0
IHdpdGggdGhlIGxhcmdlc3Qgc3VyZmFjZSBhcmVhLgpAQCAtOTE1LDE4ICs5MTUsMjEgQEAgTGF5
b3V0U2l6ZSBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y2FsY3VsYQogICAgICAgICByZXNvbHZlZFNp
emUuc2NhbGUoc3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOwogICAgIHJlc29sdmVkU2l6ZS5jbGFt
cFRvTWluaW11bVNpemUobWluaW11bVNpemUpOwogCisgICAgaWYgKCFyZXNvbHZlZFNpemUuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm4gcmVzb2x2ZWRTaXplOworCiAgICAgLy8gSWYgdGhlIGlt
YWdlIGhhcyBvbmUgb2YgZWl0aGVyIGFuIGludHJpbnNpYyB3aWR0aCBvciBhbiBpbnRyaW5zaWMg
aGVpZ2h0OgogICAgIC8vICogYW5kIGFuIGludHJpbnNpYyBhc3BlY3QgcmF0aW8sIHRoZW4gdGhl
IG1pc3NpbmcgZGltZW5zaW9uIGlzIGNhbGN1bGF0ZWQgZnJvbSB0aGUgZ2l2ZW4gZGltZW5zaW9u
IGFuZCB0aGUgcmF0aW8uCiAgICAgLy8gKiBhbmQgbm8gaW50cmluc2ljIGFzcGVjdCByYXRpbywg
dGhlbiB0aGUgbWlzc2luZyBkaW1lbnNpb24gaXMgYXNzdW1lZCB0byBiZSB0aGUgc2l6ZSBvZiB0
aGUgcmVjdGFuZ2xlIHRoYXQKICAgICAvLyAgIGVzdGFibGlzaGVzIHRoZSBjb29yZGluYXRlIHN5
c3RlbSBmb3IgdGhlICdiYWNrZ3JvdW5kLXBvc2l0aW9uJyBwcm9wZXJ0eS4KICAgICBpZiAocmVz
b2x2ZWRTaXplLndpZHRoKCkgPiAwIHx8IHJlc29sdmVkU2l6ZS5oZWlnaHQoKSA+IDApCi0gICAg
ICAgIHJldHVybiByZXNvbHZlQWdhaW5zdEludHJpbnNpY1dpZHRoT3JIZWlnaHRBbmRSYXRpbyhw
b3NpdGlvbmluZ0FyZWFTaXplLCBpbnRyaW5zaWNSYXRpbywgcmVzb2x2ZWRTaXplLndpZHRoKCks
IHJlc29sdmVkU2l6ZS5oZWlnaHQoKSk7CisgICAgICAgIHJldHVybiByZXNvbHZlQWdhaW5zdElu
dHJpbnNpY1dpZHRoT3JIZWlnaHRBbmRSYXRpbyhwb3NpdGlvbmluZ0FyZWFTaXplLCBMYXlvdXRT
aXplKGludHJpbnNpY1JhdGlvKSwgcmVzb2x2ZWRTaXplLndpZHRoKCksIHJlc29sdmVkU2l6ZS5o
ZWlnaHQoKSk7CiAKICAgICAvLyBJZiB0aGUgaW1hZ2UgaGFzIG5vIGludHJpbnNpYyBkaW1lbnNp
b25zIGFuZCBoYXMgYW4gaW50cmluc2ljIHJhdGlvIHRoZSBkaW1lbnNpb25zIG11c3QgYmUgYXNz
dW1lZCB0byBiZSB0aGUKICAgICAvLyBsYXJnZXN0IGRpbWVuc2lvbnMgYXQgdGhhdCByYXRpbyBz
dWNoIHRoYXQgbmVpdGhlciBkaW1lbnNpb24gZXhjZWVkcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUg
cmVjdGFuZ2xlIHRoYXQKICAgICAvLyBlc3RhYmxpc2hlcyB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0g
Zm9yIHRoZSAnYmFja2dyb3VuZC1wb3NpdGlvbicgcHJvcGVydHkuCiAgICAgaWYgKCFpbnRyaW5z
aWNSYXRpby5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiByZXNvbHZlQWdhaW5zdEludHJpbnNp
Y1JhdGlvKHBvc2l0aW9uaW5nQXJlYVNpemUsIGludHJpbnNpY1JhdGlvKTsKKyAgICAgICAgcmV0
dXJuIHJlc29sdmVBZ2FpbnN0SW50cmluc2ljUmF0aW8ocG9zaXRpb25pbmdBcmVhU2l6ZSwgTGF5
b3V0U2l6ZShpbnRyaW5zaWNSYXRpbykpOwogCiAgICAgLy8gSWYgdGhlIGltYWdlIGhhcyBubyBp
bnRyaW5zaWMgcmF0aW8gZWl0aGVyLCB0aGVuIHRoZSBkaW1lbnNpb25zIG11c3QgYmUgYXNzdW1l
ZCB0byBiZSB0aGUgcmVjdGFuZ2xlIHRoYXQKICAgICAvLyBlc3RhYmxpc2hlcyB0aGUgY29vcmRp
bmF0ZSBzeXN0ZW0gZm9yIHRoZSAnYmFja2dyb3VuZC1wb3NpdGlvbicgcHJvcGVydHkuCkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxOTIxMDYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0xMS0wNiAgU2FpZCBBYm91LUhhbGxhd2EgIDxz
YWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIxOTA4ODMpOiBF
cnJvciBjYWxjdWxhdGluZyB0aGUgdGlsZSBzaXplIGZvciBhbiBTVkcgd2l0aCBubyBpbnRyaW5z
aWMgc2l6ZSBidXQgd2l0aCBsYXJnZSBmbG9hdGluZyBpbnRyaW5zaWMgcmF0aW8KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDkwNAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGUgaW1h
Z2UgcmVzb2x2ZWRTaXplIGlzIGNhbGN1bGF0ZWQgY29ycmVjdGx5IHdoZW4gdGhlIGludHJpbnNp
YworICAgICAgICByYXRpbyBpcyBhIGxhcmdlIG5vbiBpbnRlZ2VyIHZhbHVlLgorCisgICAgICAg
ICogZmFzdC9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLWltYWdlLWxhcmdlLWZsb2F0LWludHJpbnNp
Yy1yYXRpby1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2JhY2tncm91bmRz
L2JhY2tncm91bmQtaW1hZ2UtbGFyZ2UtZmxvYXQtaW50cmluc2ljLXJhdGlvLmh0bWw6IEFkZGVk
LgorCiAyMDE1LTExLTA2ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAg
ICAgICAgIE1hcmtpbmcgdGhyZWUgc3B1dG5pay9Db25mb3JtYW5jZSB0ZXN0cyBhcyBmbGFreSB0
aW1lb3V0cyBvbiB3aW4gZGVidWcKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvYmFja2dyb3VuZHMv
YmFja2dyb3VuZC1pbWFnZS1sYXJnZS1mbG9hdC1pbnRyaW5zaWMtcmF0aW8tZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2JhY2tncm91bmRzL2JhY2tncm91bmQt
aW1hZ2UtbGFyZ2UtZmxvYXQtaW50cmluc2ljLXJhdGlvLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2JhY2tncm91bmRzL2JhY2tncm91bmQtaW1hZ2UtbGFy
Z2UtZmxvYXQtaW50cmluc2ljLXJhdGlvLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHls
ZT4KKyAgICAgICAgZGl2IHsKKyAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAg
ICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKKyAgICAgICAgICAgIG1hcmdpbjogMTBw
eDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgICB9CisgICAg
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXY+PC9kaXY+CisgICAgPGRpdj48L2Rp
dj4KKzwvYm9keT4KKzxodG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9iYWNrZ3JvdW5kcy9i
YWNrZ3JvdW5kLWltYWdlLWxhcmdlLWZsb2F0LWludHJpbnNpYy1yYXRpby5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvYmFja2dyb3VuZHMvYmFja2dyb3VuZC1pbWFnZS1sYXJn
ZS1mbG9hdC1pbnRyaW5zaWMtcmF0aW8uaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvYmFja2dyb3VuZHMvYmFja2dyb3VuZC1pbWFnZS1sYXJnZS1mbG9hdC1pbnRyaW5zaWMt
cmF0aW8uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYgeworICAgICAgICAg
ICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwMDBweCAwOworICAgICAgICAgICAgYmFja2dyb3Vu
ZC1zaXplOiBhdXRvIDEwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
ICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAg
ICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOworICAgICAgICAgICAgbWFyZ2luOiAx
MHB4OworICAgICAgICB9CisgICAgICAgIC5pbnRyaW5zaWMtc2l6ZSB7CisgICAgICAgICAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGYtOCwgXAorICAgICAg
ICAgICAgICAgIDxzdmcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmcnIHdpZHRoPSc4MDAwLjhweCcgaGVpZ2h0PScxMDBweCc+IFwKKyAgICAgICAgICAgICAg
ICAgICAgPHJlY3QgeD0nNDAwMCcgeT0nMCcgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDAnIGZpbGw9
J2dyZWVuJy8+IFwKKyAgICAgICAgICAgICAgICA8L3N2Zz4iKTsKKyAgICAgICAgfQorICAgICAg
ICAubm9uLWludHJpbnNpYy1zaXplIHsKKyAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVy
bCgiZGF0YTppbWFnZS9zdmcreG1sO3V0Zi04LCBcCisgICAgICAgICAgICAgICAgPHN2ZyB2ZXJz
aW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzgwMDAu
OHB4JyB2aWV3Qm94PScwIDAgODAwMC44IDEwMCc+IFwKKyAgICAgICAgICAgICAgICAgICAgPHJl
Y3QgeD0nNDAwMCcgeT0nMCcgd2lkdGg9JzEwMScgaGVpZ2h0PScxMDAnIGZpbGw9J2dyZWVuJy8+
IFwKKyAgICAgICAgICAgICAgICA8L3N2Zz4iKTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGNsYXNzPSJpbnRyaW5zaWMtc2l6ZSI+PC9kaXY+Cisg
ICAgPGRpdiBjbGFzcz0ibm9uLWludHJpbnNpYy1zaXplIj48L2Rpdj4KKzwvYm9keT4KKzxodG1s
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>