<?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>170988</bug_id>
          
          <creation_ts>2017-04-19 05:36:38 -0700</creation_ts>
          <short_desc>Do not paint the border of the box if the dirty region does not intersect with border area</short_desc>
          <delta_ts>2017-09-08 10:31:54 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=126124</see_also>
          <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="Gwang Yoon Hwang">yoon</reporter>
          <assigned_to name="Gwang Yoon Hwang">yoon</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1298656</commentid>
    <comment_count>0</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2017-04-19 05:36:38 -0700</bug_when>
    <thetext>Do not paint the border of the box if the dirty region does not intersect with border area</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298657</commentid>
    <comment_count>1</comment_count>
      <attachid>307477</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2017-04-19 05:37:32 -0700</bug_when>
    <thetext>Created attachment 307477
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298661</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-04-19 05:46:55 -0700</bug_when>
    <thetext>Sorry, I thought this was cairo specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1298862</commentid>
    <comment_count>3</comment_count>
      <attachid>307477</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-04-19 15:37:43 -0700</bug_when>
    <thetext>Comment on attachment 307477
Patch

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

Looks OK but I didn&apos;t yet check all the math.

&gt; Source/WebCore/platform/graphics/RoundedRect.cpp:251
&gt; +static bool isCircleContainsPoint(const FloatPoint&amp; point, const FloatPoint&amp; center, const FloatSize&amp; radii)
&gt; +{
&gt; +    FloatPoint transformedPoint(point);
&gt; +    transformedPoint.move(-center.x(), -center.y());
&gt; +    transformedPoint.scale(radii.height(), radii.width());
&gt; +    float radius = radii.width() * radii.height();
&gt; +
&gt; +    if (transformedPoint.x() &gt; radius || transformedPoint.y() &gt; radius)
&gt; +        return false;
&gt; +    if (transformedPoint.x() + transformedPoint.y() &lt;= radius)
&gt; +        return true;
&gt; +    return (transformedPoint.lengthSquared() &lt;= radius * radius);
&gt; +}

Please put this in GeometryUtilities.cpp (and fix the header to use #pragma once at the same time).

&gt; Source/WebCore/platform/graphics/RoundedRect.cpp:260
&gt; +        FloatPoint center(m_rect.x() + topLeft.width(), m_rect.y() + topLeft.height());

We usually do this now like: 

FloatPoint center = { m_rect.x() + topLeft.width(), m_rect.y() + topLeft.height() };</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299104</commentid>
    <comment_count>4</comment_count>
      <attachid>307590</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2017-04-20 05:57:37 -0700</bug_when>
    <thetext>Created attachment 307590
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299106</commentid>
    <comment_count>5</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2017-04-20 06:02:03 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 307477 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=307477&amp;action=review
&gt; 
&gt; Looks OK but I didn&apos;t yet check all the math.
&gt; 
The math stuff :)

&gt; &gt; Source/WebCore/platform/graphics/RoundedRect.cpp:251
&gt; &gt; +static bool isCircleContainsPoint(const FloatPoint&amp; point, const FloatPoint&amp; 
&gt; 
&gt; Please put this in GeometryUtilities.cpp (and fix the header to use #pragma
&gt; once at the same time).

I moved it to the GeometryUtilities and renamed it to ellipseContainsPoint
Also I modernized the header.
 
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/RoundedRect.cpp:260
&gt; &gt; +        FloatPoint center(m_rect.x() + topLeft.width(), m_rect.y() + topLeft.height());
&gt; 
&gt; We usually do this now like: 
&gt; 
&gt; FloatPoint center = { m_rect.x() + topLeft.width(), m_rect.y() +
&gt; topLeft.height() };

Thanks, fixed. I removed unneeded FloatSize declarations from here, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299581</commentid>
    <comment_count>6</comment_count>
      <attachid>307590</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-04-21 03:50:33 -0700</bug_when>
    <thetext>Comment on attachment 307590
Patch

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

&gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1737
&gt; +    // If no borders intersects with the dirty area, we can skip to paint borders.

&quot;skip the border painting&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299639</commentid>
    <comment_count>7</comment_count>
      <attachid>307736</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2017-04-21 09:16:02 -0700</bug_when>
    <thetext>Created attachment 307736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299644</commentid>
    <comment_count>8</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2017-04-21 09:27:14 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #6)
&gt; Comment on attachment 307590 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=307590&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBoxModelObject.cpp:1737
&gt; &gt; +    // If no borders intersects with the dirty area, we can skip to paint borders.
&gt; 
&gt; &quot;skip the border painting&quot;

Thanks for the correction :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299658</commentid>
    <comment_count>9</comment_count>
      <attachid>307736</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-21 09:58:53 -0700</bug_when>
    <thetext>Comment on attachment 307736
Patch

Clearing flags on attachment: 307736

Committed r215613: &lt;http://trac.webkit.org/changeset/215613&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1303661</commentid>
    <comment_count>10</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2017-05-02 07:26:32 -0700</bug_when>
    <thetext>This patch has been landed. Closing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346793</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-09-08 08:06:18 -0700</bug_when>
    <thetext>This caused bug 176498.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346856</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-09-08 10:31:54 -0700</bug_when>
    <thetext>Simon, I think this commit was just an optimization that could be rolled out, but Yoon doesn&apos;t work for us anymore so I can&apos;t ask him. It did function as a workaround for bug #126124, though, so please reopen that bug if you roll this out.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307477</attachid>
            <date>2017-04-19 05:37:32 -0700</date>
            <delta_ts>2017-04-20 05:57:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170988-20170419143730.patch</filename>
            <type>text/plain</type>
            <size>6265</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg4ZWY4MDc1N2M3MzY1
NWNlMTg1MTNkNWQ4Y2NlNmViMGRkNWRhMi4uZWE5OTkzNmI1MzJjOTg5YWE3YWZlNTJkOTMzNTU3
NmFiNTRjNmU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTA0LTE5ICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIERvIG5vdCBwYWludCB0
aGUgYm9yZGVyIG9mIHRoZSBib3ggaWYgdGhlIGRpcnR5IHJlZ2lvbiBkb2VzIG5vdCBpbnRlcnNl
Y3Qgd2l0aCBib3JkZXIgYXJlYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwOTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBzaW5jZSB0aGVyZSBpcyBubyBjaGFuZ2UgaW4gYmVo
YXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjppc0NpcmNsZUNvbnRhaW5zUG9pbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6Um91bmRlZFJlY3Q6OmNvbnRhaW5zKToKKyAgICAgICAgSW1wbGVtZW50ZWQgdG8gZmluZCB0
aGUgZGlydHkgcmVjdGFuZ2xlIGludGVyc2VjdCB3aXRoIHJvdW5kZWQgcmVjdGFuZ2xlIG9yIG5v
dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRCb3JkZXIpOgorICAgICAgICBXaGVuIHR5cGluZyBp
biBkZWNvcmF0ZWQgdGV4dCBib3gsIHRoZSBkaXJ0eSByZWN0IGdlbmVyYXRlZCBvbmx5IGZvciB0
aGUKKyAgICAgICAgaW5zaWRlIG9mIHRoZSB0ZXh0IGJveCwgbm90IGZvciB0aGUgZGVjb3JhdGlv
bnMuICBTbyB3ZSBjYW4gYXZvaWQgdGhlCisgICAgICAgIGNhbGN1bGF0aW9ucyB0byBkcmF3IGJv
cmRlcnMgaWYgdGhlIGlubmVyIGJvcmRlciB0b3RhbGx5IGNvdmVycyB0aGUKKyAgICAgICAgdGFy
Z2V0IHN1cmZhY2UuIEl0IHdpbGwgb3B0aW1pemUgdGhlIHJlbmRlcmluZyBwcm9jZXNzIHNpbmNl
IHdlIGRvbid0CisgICAgICAgIGhhdmUgdG8gcmVuZGVyIGJvcmRlciBkZWNvcmF0aW9ucyB3aGVu
ZXZlciB3ZSB0eXBlIHNvbWV0aGluZ3MgaW4gc2lkZSBvZgorICAgICAgICB0aGUgdGV4dCBpbnB1
dCBlbGVtZW50LgorCiAyMDE3LTA0LTE5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KIAogICAgICAgICBBdm9pZCByZXBhaW50cyBmb3IgaW52aXNpYmxlIGFuaW1hdGlvbnMgb24g
dHVtYmxyLmNvbS9zZWFyY2gvYXd3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Sb3VuZGVkUmVjdC5jcHAKaW5kZXggMjlkODYwNGZiYWM1OGIzMTBiZTYxYmYxOTVjOTli
ZjI4ZTQyOGZkMS4uNDIxNGU1M2FhNTEyNzUyMjlkOGZiYTI1ODA4NjUyZDNmZTc0MTlmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmNwcApA
QCAtMjM2LDYgKzIzNiw2OCBAQCBib29sIFJvdW5kZWRSZWN0OjppbnRlcnNlY3RzUXVhZChjb25z
dCBGbG9hdFF1YWQmIHF1YWQpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBi
b29sIGlzQ2lyY2xlQ29udGFpbnNQb2ludChjb25zdCBGbG9hdFBvaW50JiBwb2ludCwgY29uc3Qg
RmxvYXRQb2ludCYgY2VudGVyLCBjb25zdCBGbG9hdFNpemUmIHJhZGlpKQoreworICAgIEZsb2F0
UG9pbnQgdHJhbnNmb3JtZWRQb2ludChwb2ludCk7CisgICAgdHJhbnNmb3JtZWRQb2ludC5tb3Zl
KC1jZW50ZXIueCgpLCAtY2VudGVyLnkoKSk7CisgICAgdHJhbnNmb3JtZWRQb2ludC5zY2FsZShy
YWRpaS5oZWlnaHQoKSwgcmFkaWkud2lkdGgoKSk7CisgICAgZmxvYXQgcmFkaXVzID0gcmFkaWku
d2lkdGgoKSAqIHJhZGlpLmhlaWdodCgpOworCisgICAgaWYgKHRyYW5zZm9ybWVkUG9pbnQueCgp
ID4gcmFkaXVzIHx8IHRyYW5zZm9ybWVkUG9pbnQueSgpID4gcmFkaXVzKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKHRyYW5zZm9ybWVkUG9pbnQueCgpICsgdHJhbnNmb3JtZWRQb2lu
dC55KCkgPD0gcmFkaXVzKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gKHRyYW5z
Zm9ybWVkUG9pbnQubGVuZ3RoU3F1YXJlZCgpIDw9IHJhZGl1cyAqIHJhZGl1cyk7Cit9CisKK2Jv
b2wgUm91bmRlZFJlY3Q6OmNvbnRhaW5zKGNvbnN0IExheW91dFJlY3QmIG90aGVyUmVjdCkgY29u
c3QKK3sKKyAgICBpZiAoIXJlY3QoKS5jb250YWlucyhvdGhlclJlY3QpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBjb25zdCBMYXlvdXRTaXplJiB0b3BMZWZ0ID0gbV9yYWRpaS50b3BM
ZWZ0KCk7CisgICAgaWYgKCF0b3BMZWZ0LmlzRW1wdHkoKSkgeworICAgICAgICBGbG9hdFBvaW50
IGNlbnRlcihtX3JlY3QueCgpICsgdG9wTGVmdC53aWR0aCgpLCBtX3JlY3QueSgpICsgdG9wTGVm
dC5oZWlnaHQoKSk7CisgICAgICAgIGlmIChvdGhlclJlY3QueCgpIDw9IGNlbnRlci54KCkgJiYg
b3RoZXJSZWN0LnkoKSA8PSBjZW50ZXIueSgpKSB7CisgICAgICAgICAgICBGbG9hdFNpemUgc2l6
ZSh0b3BMZWZ0LndpZHRoKCksIHRvcExlZnQuaGVpZ2h0KCkpOworICAgICAgICAgICAgaWYgKCFp
c0NpcmNsZUNvbnRhaW5zUG9pbnQob3RoZXJSZWN0LmxvY2F0aW9uKCksIGNlbnRlciwgc2l6ZSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAg
Y29uc3QgTGF5b3V0U2l6ZSYgdG9wUmlnaHQgPSBtX3JhZGlpLnRvcFJpZ2h0KCk7CisgICAgaWYg
KCF0b3BSaWdodC5pc0VtcHR5KCkpIHsKKyAgICAgICAgRmxvYXRQb2ludCBjZW50ZXIobV9yZWN0
Lm1heFgoKSAtIHRvcFJpZ2h0LndpZHRoKCksIG1fcmVjdC55KCkgKyB0b3BSaWdodC5oZWlnaHQo
KSk7CisgICAgICAgIGlmIChvdGhlclJlY3QubWF4WCgpID49IGNlbnRlci54KCkgJiYgb3RoZXJS
ZWN0LnkoKSA8PSBjZW50ZXIueSgpKSB7CisgICAgICAgICAgICBGbG9hdFNpemUgc2l6ZSh0b3BS
aWdodC53aWR0aCgpLCB0b3BSaWdodC5oZWlnaHQoKSk7CisgICAgICAgICAgICBpZiAoIWlzQ2ly
Y2xlQ29udGFpbnNQb2ludChvdGhlclJlY3QubG9jYXRpb24oKSwgY2VudGVyLCBzaXplKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBjb25z
dCBMYXlvdXRTaXplJiBib3R0b21MZWZ0ID0gbV9yYWRpaS5ib3R0b21MZWZ0KCk7CisgICAgaWYg
KCFib3R0b21MZWZ0LmlzRW1wdHkoKSkgeworICAgICAgICBGbG9hdFBvaW50IGNlbnRlcihtX3Jl
Y3QueCgpICsgYm90dG9tTGVmdC53aWR0aCgpLCBtX3JlY3QubWF4WSgpIC0gYm90dG9tTGVmdC5o
ZWlnaHQoKSk7CisgICAgICAgIGlmIChvdGhlclJlY3QubWF4WCgpID49IGNlbnRlci54KCkgJiYg
b3RoZXJSZWN0Lm1heFkoKSA+PSBjZW50ZXIueSgpKSB7CisgICAgICAgICAgICBGbG9hdFNpemUg
c2l6ZShib3R0b21MZWZ0LndpZHRoKCksIGJvdHRvbUxlZnQuaGVpZ2h0KCkpOworICAgICAgICAg
ICAgaWYgKCFpc0NpcmNsZUNvbnRhaW5zUG9pbnQob3RoZXJSZWN0LmxvY2F0aW9uKCksIGNlbnRl
ciwgc2l6ZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAg
fQorCisgICAgY29uc3QgTGF5b3V0U2l6ZSYgYm90dG9tUmlnaHQgPSBtX3JhZGlpLmJvdHRvbVJp
Z2h0KCk7CisgICAgaWYgKCFib3R0b21SaWdodC5pc0VtcHR5KCkpIHsKKyAgICAgICAgRmxvYXRQ
b2ludCBjZW50ZXIobV9yZWN0Lm1heFgoKSAtIGJvdHRvbVJpZ2h0LndpZHRoKCksIG1fcmVjdC5t
YXhZKCkgLSBib3R0b21SaWdodC5oZWlnaHQoKSk7CisgICAgICAgIGlmIChvdGhlclJlY3QueCgp
IDw9IGNlbnRlci54KCkgJiYgb3RoZXJSZWN0Lm1heFkoKSA+PSBjZW50ZXIueSgpKSB7CisgICAg
ICAgICAgICBGbG9hdFNpemUgc2l6ZShib3R0b21SaWdodC53aWR0aCgpLCBib3R0b21SaWdodC5o
ZWlnaHQoKSk7CisgICAgICAgICAgICBpZiAoIWlzQ2lyY2xlQ29udGFpbnNQb2ludChvdGhlclJl
Y3QubG9jYXRpb24oKSwgY2VudGVyLCBzaXplKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogRmxvYXRSb3Vu
ZGVkUmVjdCBSb3VuZGVkUmVjdDo6cGl4ZWxTbmFwcGVkUm91bmRlZFJlY3RGb3JQYWludGluZyhm
bG9hdCBkZXZpY2VTY2FsZUZhY3RvcikgY29uc3QKIHsKICAgICBMYXlvdXRSZWN0IG9yaWdpbmFs
UmVjdCA9IHJlY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1JvdW5kZWRSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3Vu
ZGVkUmVjdC5oCmluZGV4IGFjMTQ4MDIyNjk2YmRjYWI0N2IxNTE2Yjk3NThmYTBjMGU4YjU5MDMu
LjNmMmY3ZWJjOGQ0M2EyM2NhOGVjNGViOTM0YmVjYjJmMTM1NzUyM2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaApAQCAtMTA2LDYgKzEwNiw3
IEBAIHB1YmxpYzoKICAgICAvLyBUZXN0cyB3aGV0aGVyIHRoZSBxdWFkIGludGVyc2VjdHMgYW55
IHBhcnQgb2YgdGhpcyByb3VuZGVkIHJlY3RhbmdsZS4KICAgICAvLyBUaGlzIG9ubHkgd29ya3Mg
Zm9yIGNvbnZleCBxdWFkcy4KICAgICBib29sIGludGVyc2VjdHNRdWFkKGNvbnN0IEZsb2F0UXVh
ZCYpIGNvbnN0OworICAgIGJvb2wgY29udGFpbnMoY29uc3QgTGF5b3V0UmVjdCYpIGNvbnN0Owog
CiAgICAgRmxvYXRSb3VuZGVkUmVjdCBwaXhlbFNuYXBwZWRSb3VuZGVkUmVjdEZvclBhaW50aW5n
KGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggYTA2M2UxOGI1NGIxNTU3
MTBhYWJkNmU4NzJmOWVjOWZjZmUxMzZmOS4uOGU4ZmE1NzIzY2JjYmQ3MGE0Mzg2MGYzMTFjNjEz
ZGU4ODVkNTY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCkBAIC0xNzM0LDYgKzE3MzQsMTAgQEAgdm9pZCBSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6cGFpbnRCb3JkZXIoY29uc3QgUGFpbnRJbmZvJiBpbmZvLCBjb25zdCBMYXlvdXRS
ZWN0JgogICAgIFJvdW5kZWRSZWN0IG91dGVyQm9yZGVyID0gc3R5bGUuZ2V0Um91bmRlZEJvcmRl
ckZvcihyZWN0LCBpbmNsdWRlTG9naWNhbExlZnRFZGdlLCBpbmNsdWRlTG9naWNhbFJpZ2h0RWRn
ZSk7CiAgICAgUm91bmRlZFJlY3QgaW5uZXJCb3JkZXIgPSBzdHlsZS5nZXRSb3VuZGVkSW5uZXJC
b3JkZXJGb3IoYm9yZGVySW5uZXJSZWN0QWRqdXN0ZWRGb3JCbGVlZEF2b2lkYW5jZShncmFwaGlj
c0NvbnRleHQsIHJlY3QsIGJsZWVkQXZvaWRhbmNlKSwgaW5jbHVkZUxvZ2ljYWxMZWZ0RWRnZSwg
aW5jbHVkZUxvZ2ljYWxSaWdodEVkZ2UpOwogCisgICAgLy8gSWYgbm8gYm9yZGVycyBpbnRlcnNl
Y3RzIHdpdGggdGhlIGRpcnR5IGFyZWEsIHdlIGNhbiBza2lwIHRvIHBhaW50IGJvcmRlcnMuCisg
ICAgaWYgKGlubmVyQm9yZGVyLmNvbnRhaW5zKGluZm8ucmVjdCkpCisgICAgICAgIHJldHVybjsK
KwogICAgIGJvb2wgaGF2ZUFscGhhQ29sb3IgPSBmYWxzZTsKICAgICBib29sIGhhdmVBbGxTb2xp
ZEVkZ2VzID0gdHJ1ZTsKICAgICBib29sIGhhdmVBbGxEb3VibGVFZGdlcyA9IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307590</attachid>
            <date>2017-04-20 05:57:37 -0700</date>
            <delta_ts>2017-04-21 03:50:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170988-20170420145736.patch</filename>
            <type>text/plain</type>
            <size>7771</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDJjZjlhYWY1N2Q2Y2E2
YjJiYjRkODFlYTkyYTRkNzEwNmUxOWQ4Mi4uZWY3MmUxY2M4YmJlNzNkYmNiMmQyNDQ3MDAwZDYw
MjI5YTkxMzg0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTA0LTIwICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIERvIG5vdCBwYWludCB0
aGUgYm9yZGVyIG9mIHRoZSBib3ggaWYgdGhlIGRpcnR5IHJlZ2lvbiBkb2VzIG5vdCBpbnRlcnNl
Y3Qgd2l0aCBib3JkZXIgYXJlYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwOTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBzaW5jZSB0aGVyZSBpcyBubyBjaGFuZ2UgaW4gYmVo
YXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjplbGxpcHNlQ29udGFpbnNQb2ludCk6CisgICAgICAgIENo
ZWNrcyBpZiBhIHBvaW50IGlzIHdpdGhpbiBhbiBlbGxpcHNlLgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuaDoKKyAgICAgICAgUmVwbGFjZSBoZWFkZXIt
Z3VhcmRzIHdpdGggI3ByYWdtYSBvbmNlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Um91bmRlZFJlY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Um91bmRlZFJlY3Q6OmNvbnRhaW5z
KToKKyAgICAgICAgSW1wbGVtZW50ZWQgdG8ga25vdyB0aGUgZGlydHkgcmVjdGFuZ2xlIGludGVy
c2VjdHMgd2l0aCByb3VuZGVkIHJlY3RhbmdsZSBvciBub3QuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvUm91bmRlZFJlY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBh
aW50Qm9yZGVyKToKKyAgICAgICAgV2hlbiB0eXBpbmcgaW4gZGVjb3JhdGVkIHRleHQgYm94LCB0
aGUgZGlydHkgcmVjdCBnZW5lcmF0ZWQgb25seSBmb3IgdGhlCisgICAgICAgIGluc2lkZSBvZiB0
aGUgdGV4dCBib3gsIG5vdCBmb3IgdGhlIGRlY29yYXRpb25zLiAgU28gd2UgY2FuIGF2b2lkIHRo
ZQorICAgICAgICBjYWxjdWxhdGlvbnMgdG8gZHJhdyBib3JkZXJzIGlmIHRoZSBpbm5lciBib3Jk
ZXIgdG90YWxseSBjb3ZlcnMgdGhlCisgICAgICAgIHRhcmdldCBzdXJmYWNlLiBJdCB3aWxsIG9w
dGltaXplIHRoZSByZW5kZXJpbmcgcHJvY2VzcyBzaW5jZSB3ZSBkb24ndAorICAgICAgICBoYXZl
IHRvIHJlbmRlciBib3JkZXIgZGVjb3JhdGlvbnMgd2hlbmV2ZXIgd2UgdHlwZSBzb21ldGhpbmdz
IGluIHNpZGUgb2YKKyAgICAgICAgdGhlIHRleHQgaW5wdXQgZWxlbWVudC4KKwogMjAxNy0wNC0y
MCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVnaXN0
ZXIgbWlzc2luZyBBRVNfQ1RSLCBFQ0RTQSBhbmQgSEtERiBhbGdvcml0aG1zIGluCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5j
cHAKaW5kZXggMTFhMDllMGE5OTJkYjAyMTEyN2RjMGQzMDI2OGRkNDE5OWUxYTU5Ny4uNWYyOTZh
Yzc0NzkxN2M3ZDc3Mjc4OWIzZGI0YzA2YjM2NzA5NDhkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcApAQCAtMTQ2
LDQgKzE0NiwxOCBAQCBGbG9hdFJlY3Qgc21hbGxlc3RSZWN0V2l0aEFzcGVjdFJhdGlvQXJvdW5k
UmVjdChmbG9hdCBhc3BlY3RSYXRpbywgY29uc3QgRmxvYXRSZQogICAgIHJldHVybiBkZXN0UmVj
dDsKIH0KIAorYm9vbCBlbGxpcHNlQ29udGFpbnNQb2ludChjb25zdCBGbG9hdFBvaW50JiBjZW50
ZXIsIGNvbnN0IEZsb2F0U2l6ZSYgcmFkaWksIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50KQorewor
ICAgIEZsb2F0UG9pbnQgdHJhbnNmb3JtZWRQb2ludChwb2ludCk7CisgICAgdHJhbnNmb3JtZWRQ
b2ludC5tb3ZlKC1jZW50ZXIueCgpLCAtY2VudGVyLnkoKSk7CisgICAgdHJhbnNmb3JtZWRQb2lu
dC5zY2FsZShyYWRpaS5oZWlnaHQoKSwgcmFkaWkud2lkdGgoKSk7CisgICAgZmxvYXQgcmFkaXVz
ID0gcmFkaWkud2lkdGgoKSAqIHJhZGlpLmhlaWdodCgpOworCisgICAgaWYgKHRyYW5zZm9ybWVk
UG9pbnQueCgpID4gcmFkaXVzIHx8IHRyYW5zZm9ybWVkUG9pbnQueSgpID4gcmFkaXVzKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHRyYW5zZm9ybWVkUG9pbnQueCgpICsgdHJhbnNm
b3JtZWRQb2ludC55KCkgPD0gcmFkaXVzKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1
cm4gKHRyYW5zZm9ybWVkUG9pbnQubGVuZ3RoU3F1YXJlZCgpIDw9IHJhZGl1cyAqIHJhZGl1cyk7
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dl
b21ldHJ5VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9t
ZXRyeVV0aWxpdGllcy5oCmluZGV4IGNhMTQ3MmQxZGYyZGY4ODAxNjlkYjNhMWM1MjMzMmJhMjUz
ZDQ4ZWYuLjg2Y2ExOTcyMDVlOTI3N2FiMzg1ZWQwZTVjYjAyM2JmZTg4NjA5MWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMu
aApAQCAtMjMsOCArMjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKLSNpZm5kZWYgR2VvbWV0cnlVdGlsaXRpZXNfaAotI2RlZmluZSBHZW9tZXRyeVV0aWxp
dGllc19oCisjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUg
IkludFJlY3QuaCIKQEAgLTUxLDYgKzUwLDUgQEAgV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0IHNt
YWxsZXN0UmVjdFdpdGhBc3BlY3RSYXRpb0Fyb3VuZFJlY3QoZmxvYXQgYXNwZWN0UmF0aW8KIC8v
IENvbXB1dGUgYSByZWN0IHRoYXQgZW5jbG9zZXMgYWxsIHBvaW50cyBjb3ZlcmVkIGJ5IHRoZSBn
aXZlbiByZWN0IGlmIGl0IHdlcmUgcm90YXRlZCBhIGZ1bGwgdHVybiBhcm91bmQgKDAsMCkuCiBG
bG9hdFJlY3QgYm91bmRzT2ZSb3RhdGluZ1JlY3QoY29uc3QgRmxvYXRSZWN0Jik7CiAKK2Jvb2wg
ZWxsaXBzZUNvbnRhaW5zUG9pbnQoY29uc3QgRmxvYXRQb2ludCYgY2VudGVyLCBjb25zdCBGbG9h
dFNpemUmIHJhZGlpLCBjb25zdCBGbG9hdFBvaW50Jik7CiB9Ci0KLSNlbmRpZiAvLyBHZW9tZXRy
eVV0aWxpdGllc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Sb3VuZGVkUmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3Vu
ZGVkUmVjdC5jcHAKaW5kZXggMjlkODYwNGZiYWM1OGIzMTBiZTYxYmYxOTVjOTliZjI4ZTQyOGZk
MS4uNjBhNDUxZjllZjlhNDhmNjM5MGUzMTExOTM0YTk2Yjk3Y2VjYjYwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmNwcApAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgIlJvdW5kZWRSZWN0LmgiCiAKICNpbmNsdWRlICJGbG9hdFJvdW5k
ZWRSZWN0LmgiCisjaW5jbHVkZSAiR2VvbWV0cnlVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJMYXlv
dXRSZWN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0VW5pdC5oIgogCkBAIC0yMzYsNiArMjM3LDUwIEBA
IGJvb2wgUm91bmRlZFJlY3Q6OmludGVyc2VjdHNRdWFkKGNvbnN0IEZsb2F0UXVhZCYgcXVhZCkg
Y29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBSb3VuZGVkUmVjdDo6Y29udGFpbnMo
Y29uc3QgTGF5b3V0UmVjdCYgb3RoZXJSZWN0KSBjb25zdAoreworICAgIGlmICghcmVjdCgpLmNv
bnRhaW5zKG90aGVyUmVjdCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IExh
eW91dFNpemUmIHRvcExlZnQgPSBtX3JhZGlpLnRvcExlZnQoKTsKKyAgICBpZiAoIXRvcExlZnQu
aXNFbXB0eSgpKSB7CisgICAgICAgIEZsb2F0UG9pbnQgY2VudGVyID0geyBtX3JlY3QueCgpICsg
dG9wTGVmdC53aWR0aCgpLCBtX3JlY3QueSgpICsgdG9wTGVmdC5oZWlnaHQoKSB9OworICAgICAg
ICBpZiAob3RoZXJSZWN0LngoKSA8PSBjZW50ZXIueCgpICYmIG90aGVyUmVjdC55KCkgPD0gY2Vu
dGVyLnkoKSkgeworICAgICAgICAgICAgaWYgKCFlbGxpcHNlQ29udGFpbnNQb2ludChjZW50ZXIs
IHRvcExlZnQsIG90aGVyUmVjdC5sb2NhdGlvbigpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBjb25zdCBMYXlvdXRTaXplJiB0b3BSaWdo
dCA9IG1fcmFkaWkudG9wUmlnaHQoKTsKKyAgICBpZiAoIXRvcFJpZ2h0LmlzRW1wdHkoKSkgewor
ICAgICAgICBGbG9hdFBvaW50IGNlbnRlciA9IHsgbV9yZWN0Lm1heFgoKSAtIHRvcFJpZ2h0Lndp
ZHRoKCksIG1fcmVjdC55KCkgKyB0b3BSaWdodC5oZWlnaHQoKSB9OworICAgICAgICBpZiAob3Ro
ZXJSZWN0Lm1heFgoKSA+PSBjZW50ZXIueCgpICYmIG90aGVyUmVjdC55KCkgPD0gY2VudGVyLnko
KSkgeworICAgICAgICAgICAgaWYgKCFlbGxpcHNlQ29udGFpbnNQb2ludChjZW50ZXIsIHRvcFJp
Z2h0LCBvdGhlclJlY3QubG9jYXRpb24oKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB9CisgICAgfQorCisgICAgY29uc3QgTGF5b3V0U2l6ZSYgYm90dG9tTGVmdCA9
IG1fcmFkaWkuYm90dG9tTGVmdCgpOworICAgIGlmICghYm90dG9tTGVmdC5pc0VtcHR5KCkpIHsK
KyAgICAgICAgRmxvYXRQb2ludCBjZW50ZXIgPSB7IG1fcmVjdC54KCkgKyBib3R0b21MZWZ0Lndp
ZHRoKCksIG1fcmVjdC5tYXhZKCkgLSBib3R0b21MZWZ0LmhlaWdodCgpIH07CisgICAgICAgIGlm
IChvdGhlclJlY3QubWF4WCgpID49IGNlbnRlci54KCkgJiYgb3RoZXJSZWN0Lm1heFkoKSA+PSBj
ZW50ZXIueSgpKSB7CisgICAgICAgICAgICBpZiAoIWVsbGlwc2VDb250YWluc1BvaW50KGNlbnRl
ciwgYm90dG9tTGVmdCwgb3RoZXJSZWN0LmxvY2F0aW9uKCkpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGNvbnN0IExheW91dFNpemUmIGJv
dHRvbVJpZ2h0ID0gbV9yYWRpaS5ib3R0b21SaWdodCgpOworICAgIGlmICghYm90dG9tUmlnaHQu
aXNFbXB0eSgpKSB7CisgICAgICAgIEZsb2F0UG9pbnQgY2VudGVyID0geyBtX3JlY3QubWF4WCgp
IC0gYm90dG9tUmlnaHQud2lkdGgoKSwgbV9yZWN0Lm1heFkoKSAtIGJvdHRvbVJpZ2h0LmhlaWdo
dCgpIH07CisgICAgICAgIGlmIChvdGhlclJlY3QueCgpIDw9IGNlbnRlci54KCkgJiYgb3RoZXJS
ZWN0Lm1heFkoKSA+PSBjZW50ZXIueSgpKSB7CisgICAgICAgICAgICBpZiAoIWVsbGlwc2VDb250
YWluc1BvaW50KGNlbnRlciwgYm90dG9tUmlnaHQsIG90aGVyUmVjdC5sb2NhdGlvbigpKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKwogRmxvYXRSb3VuZGVkUmVjdCBSb3VuZGVkUmVjdDo6cGl4ZWxTbmFwcGVk
Um91bmRlZFJlY3RGb3JQYWludGluZyhmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikgY29uc3QKIHsK
ICAgICBMYXlvdXRSZWN0IG9yaWdpbmFsUmVjdCA9IHJlY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oCmluZGV4IGFjMTQ4MDIyNjk2YmRjYWI0
N2IxNTE2Yjk3NThmYTBjMGU4YjU5MDMuLjNmMmY3ZWJjOGQ0M2EyM2NhOGVjNGViOTM0YmVjYjJm
MTM1NzUyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Jv
dW5kZWRSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRl
ZFJlY3QuaApAQCAtMTA2LDYgKzEwNiw3IEBAIHB1YmxpYzoKICAgICAvLyBUZXN0cyB3aGV0aGVy
IHRoZSBxdWFkIGludGVyc2VjdHMgYW55IHBhcnQgb2YgdGhpcyByb3VuZGVkIHJlY3RhbmdsZS4K
ICAgICAvLyBUaGlzIG9ubHkgd29ya3MgZm9yIGNvbnZleCBxdWFkcy4KICAgICBib29sIGludGVy
c2VjdHNRdWFkKGNvbnN0IEZsb2F0UXVhZCYpIGNvbnN0OworICAgIGJvb2wgY29udGFpbnMoY29u
c3QgTGF5b3V0UmVjdCYpIGNvbnN0OwogCiAgICAgRmxvYXRSb3VuZGVkUmVjdCBwaXhlbFNuYXBw
ZWRSb3VuZGVkUmVjdEZvclBhaW50aW5nKGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKSBjb25zdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAKaW5kZXggYTA2M2UxOGI1NGIxNTU3MTBhYWJkNmU4NzJmOWVjOWZjZmUxMzZmOS4uOGU4ZmE1
NzIzY2JjYmQ3MGE0Mzg2MGYzMTFjNjEzZGU4ODVkNTY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC0xNzM0LDYgKzE3MzQs
MTAgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRCb3JkZXIoY29uc3QgUGFpbnRJ
bmZvJiBpbmZvLCBjb25zdCBMYXlvdXRSZWN0JgogICAgIFJvdW5kZWRSZWN0IG91dGVyQm9yZGVy
ID0gc3R5bGUuZ2V0Um91bmRlZEJvcmRlckZvcihyZWN0LCBpbmNsdWRlTG9naWNhbExlZnRFZGdl
LCBpbmNsdWRlTG9naWNhbFJpZ2h0RWRnZSk7CiAgICAgUm91bmRlZFJlY3QgaW5uZXJCb3JkZXIg
PSBzdHlsZS5nZXRSb3VuZGVkSW5uZXJCb3JkZXJGb3IoYm9yZGVySW5uZXJSZWN0QWRqdXN0ZWRG
b3JCbGVlZEF2b2lkYW5jZShncmFwaGljc0NvbnRleHQsIHJlY3QsIGJsZWVkQXZvaWRhbmNlKSwg
aW5jbHVkZUxvZ2ljYWxMZWZ0RWRnZSwgaW5jbHVkZUxvZ2ljYWxSaWdodEVkZ2UpOwogCisgICAg
Ly8gSWYgbm8gYm9yZGVycyBpbnRlcnNlY3RzIHdpdGggdGhlIGRpcnR5IGFyZWEsIHdlIGNhbiBz
a2lwIHRvIHBhaW50IGJvcmRlcnMuCisgICAgaWYgKGlubmVyQm9yZGVyLmNvbnRhaW5zKGluZm8u
cmVjdCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGJvb2wgaGF2ZUFscGhhQ29sb3IgPSBmYWxz
ZTsKICAgICBib29sIGhhdmVBbGxTb2xpZEVkZ2VzID0gdHJ1ZTsKICAgICBib29sIGhhdmVBbGxE
b3VibGVFZGdlcyA9IHRydWU7Cg==
</data>
<flag name="review"
          id="328851"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307736</attachid>
            <date>2017-04-21 09:16:02 -0700</date>
            <delta_ts>2017-04-21 09:58:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170988-20170421181600.patch</filename>
            <type>text/plain</type>
            <size>7778</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M1MTY5OTk5ZDFmZTY2
ZGYzNDg0ZTg2MTdiNTNmMzIyMjYxZjNjMi4uZGM2MjkyNWQyMWFiNzE3OWU2ZDhjNWVkOTFkNTJi
NzQyNWI3Yjc0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE3LTA0LTIwICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIERvIG5vdCBwYWludCB0
aGUgYm9yZGVyIG9mIHRoZSBib3ggaWYgdGhlIGRpcnR5IHJlZ2lvbiBkb2VzIG5vdCBpbnRlcnNl
Y3Qgd2l0aCBib3JkZXIgYXJlYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcwOTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgc2luY2UgdGhlcmUgaXMgbm8gY2hhbmdlIGluIGJlaGF2
aW9yLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRpZXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6ZWxsaXBzZUNvbnRhaW5zUG9pbnQpOgorICAgICAgICBDaGVj
a3MgaWYgYSBwb2ludCBpcyB3aXRoaW4gYW4gZWxsaXBzZS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmg6CisgICAgICAgIFJlcGxhY2UgaGVhZGVyLWd1
YXJkcyB3aXRoICNwcmFnbWEgb25jZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1Jv
dW5kZWRSZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJvdW5kZWRSZWN0Ojpjb250YWlucyk6
CisgICAgICAgIEltcGxlbWVudGVkIHRvIGtub3cgdGhlIGRpcnR5IHJlY3RhbmdsZSBpbnRlcnNl
Y3RzIHdpdGggcm91bmRlZCByZWN0YW5nbGUgb3Igbm90LgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1JvdW5kZWRSZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWlu
dEJvcmRlcik6CisgICAgICAgIFdoZW4gdHlwaW5nIGluIGRlY29yYXRlZCB0ZXh0IGJveCwgdGhl
IGRpcnR5IHJlY3QgZ2VuZXJhdGVkIG9ubHkgZm9yIHRoZQorICAgICAgICBpbnNpZGUgb2YgdGhl
IHRleHQgYm94LCBub3QgZm9yIHRoZSBkZWNvcmF0aW9ucy4gIFNvIHdlIGNhbiBhdm9pZCB0aGUK
KyAgICAgICAgY2FsY3VsYXRpb25zIHRvIGRyYXcgYm9yZGVycyBpZiB0aGUgaW5uZXIgYm9yZGVy
IHRvdGFsbHkgY292ZXJzIHRoZQorICAgICAgICB0YXJnZXQgc3VyZmFjZS4gSXQgd2lsbCBvcHRp
bWl6ZSB0aGUgcmVuZGVyaW5nIHByb2Nlc3Mgc2luY2Ugd2UgZG9uJ3QKKyAgICAgICAgaGF2ZSB0
byByZW5kZXIgYm9yZGVyIGRlY29yYXRpb25zIHdoZW5ldmVyIHdlIHR5cGUgc29tZXRoaW5ncyBp
biBzaWRlIG9mCisgICAgICAgIHRoZSB0ZXh0IGlucHV0IGVsZW1lbnQuCisKIDIwMTctMDQtMjEg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZWR1Y2UgY29waWVzIGFuZCBhbGxvY2F0aW9ucyBpbiBTaGFyZWRCdWZmZXI6OmFwcGVuZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRp
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VvbWV0cnlVdGlsaXRp
ZXMuY3BwCmluZGV4IDExYTA5ZTBhOTkyZGIwMjExMjdkYzBkMzAyNjhkZDQxOTllMWE1OTcuLjVm
Mjk2YWM3NDc5MTdjN2Q3NzI3ODliM2RiNGMwNmIzNjcwOTQ4ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0aWVzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGllcy5jcHAKQEAg
LTE0Niw0ICsxNDYsMTggQEAgRmxvYXRSZWN0IHNtYWxsZXN0UmVjdFdpdGhBc3BlY3RSYXRpb0Fy
b3VuZFJlY3QoZmxvYXQgYXNwZWN0UmF0aW8sIGNvbnN0IEZsb2F0UmUKICAgICByZXR1cm4gZGVz
dFJlY3Q7CiB9CiAKK2Jvb2wgZWxsaXBzZUNvbnRhaW5zUG9pbnQoY29uc3QgRmxvYXRQb2ludCYg
Y2VudGVyLCBjb25zdCBGbG9hdFNpemUmIHJhZGlpLCBjb25zdCBGbG9hdFBvaW50JiBwb2ludCkK
K3sKKyAgICBGbG9hdFBvaW50IHRyYW5zZm9ybWVkUG9pbnQocG9pbnQpOworICAgIHRyYW5zZm9y
bWVkUG9pbnQubW92ZSgtY2VudGVyLngoKSwgLWNlbnRlci55KCkpOworICAgIHRyYW5zZm9ybWVk
UG9pbnQuc2NhbGUocmFkaWkuaGVpZ2h0KCksIHJhZGlpLndpZHRoKCkpOworICAgIGZsb2F0IHJh
ZGl1cyA9IHJhZGlpLndpZHRoKCkgKiByYWRpaS5oZWlnaHQoKTsKKworICAgIGlmICh0cmFuc2Zv
cm1lZFBvaW50LngoKSA+IHJhZGl1cyB8fCB0cmFuc2Zvcm1lZFBvaW50LnkoKSA+IHJhZGl1cykK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICh0cmFuc2Zvcm1lZFBvaW50LngoKSArIHRy
YW5zZm9ybWVkUG9pbnQueSgpIDw9IHJhZGl1cykKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
cmV0dXJuICh0cmFuc2Zvcm1lZFBvaW50Lmxlbmd0aFNxdWFyZWQoKSA8PSByYWRpdXMgKiByYWRp
dXMpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HZW9tZXRyeVV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R2VvbWV0cnlVdGlsaXRpZXMuaAppbmRleCBjYTE0NzJkMWRmMmRmODgwMTY5ZGIzYTFjNTIzMzJi
YTI1M2Q0OGVmLi44NmNhMTk3MjA1ZTkyNzdhYjM4NWVkMGU1Y2IwMjNiZmU4ODYwOTFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW9tZXRyeVV0aWxpdGll
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlb21ldHJ5VXRpbGl0
aWVzLmgKQEAgLTIzLDggKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCi0jaWZuZGVmIEdlb21ldHJ5VXRpbGl0aWVzX2gKLSNkZWZpbmUgR2VvbWV0cnlV
dGlsaXRpZXNfaAorI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNs
dWRlICJJbnRSZWN0LmgiCkBAIC01MSw2ICs1MCw1IEBAIFdFQkNPUkVfRVhQT1JUIEZsb2F0UmVj
dCBzbWFsbGVzdFJlY3RXaXRoQXNwZWN0UmF0aW9Bcm91bmRSZWN0KGZsb2F0IGFzcGVjdFJhdGlv
CiAvLyBDb21wdXRlIGEgcmVjdCB0aGF0IGVuY2xvc2VzIGFsbCBwb2ludHMgY292ZXJlZCBieSB0
aGUgZ2l2ZW4gcmVjdCBpZiBpdCB3ZXJlIHJvdGF0ZWQgYSBmdWxsIHR1cm4gYXJvdW5kICgwLDAp
LgogRmxvYXRSZWN0IGJvdW5kc09mUm90YXRpbmdSZWN0KGNvbnN0IEZsb2F0UmVjdCYpOwogCiti
b29sIGVsbGlwc2VDb250YWluc1BvaW50KGNvbnN0IEZsb2F0UG9pbnQmIGNlbnRlciwgY29uc3Qg
RmxvYXRTaXplJiByYWRpaSwgY29uc3QgRmxvYXRQb2ludCYpOwogfQotCi0jZW5kaWYgLy8gR2Vv
bWV0cnlVdGlsaXRpZXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUm91bmRlZFJlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Um91bmRlZFJlY3QuY3BwCmluZGV4IDI5ZDg2MDRmYmFjNThiMzEwYmU2MWJmMTk1Yzk5YmYyOGU0
MjhmZDEuLjYwYTQ1MWY5ZWY5YTQ4ZjYzOTBlMzExMTkzNGE5NmI5N2NlY2I2MGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5jcHAKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJSb3VuZGVkUmVjdC5oIgogCiAjaW5jbHVkZSAiRmxvYXRS
b3VuZGVkUmVjdC5oIgorI2luY2x1ZGUgIkdlb21ldHJ5VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAi
TGF5b3V0UmVjdC5oIgogI2luY2x1ZGUgIkxheW91dFVuaXQuaCIKIApAQCAtMjM2LDYgKzIzNyw1
MCBAQCBib29sIFJvdW5kZWRSZWN0OjppbnRlcnNlY3RzUXVhZChjb25zdCBGbG9hdFF1YWQmIHF1
YWQpIGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgUm91bmRlZFJlY3Q6OmNvbnRh
aW5zKGNvbnN0IExheW91dFJlY3QmIG90aGVyUmVjdCkgY29uc3QKK3sKKyAgICBpZiAoIXJlY3Qo
KS5jb250YWlucyhvdGhlclJlY3QpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjb25z
dCBMYXlvdXRTaXplJiB0b3BMZWZ0ID0gbV9yYWRpaS50b3BMZWZ0KCk7CisgICAgaWYgKCF0b3BM
ZWZ0LmlzRW1wdHkoKSkgeworICAgICAgICBGbG9hdFBvaW50IGNlbnRlciA9IHsgbV9yZWN0Lngo
KSArIHRvcExlZnQud2lkdGgoKSwgbV9yZWN0LnkoKSArIHRvcExlZnQuaGVpZ2h0KCkgfTsKKyAg
ICAgICAgaWYgKG90aGVyUmVjdC54KCkgPD0gY2VudGVyLngoKSAmJiBvdGhlclJlY3QueSgpIDw9
IGNlbnRlci55KCkpIHsKKyAgICAgICAgICAgIGlmICghZWxsaXBzZUNvbnRhaW5zUG9pbnQoY2Vu
dGVyLCB0b3BMZWZ0LCBvdGhlclJlY3QubG9jYXRpb24oKSkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgY29uc3QgTGF5b3V0U2l6ZSYgdG9w
UmlnaHQgPSBtX3JhZGlpLnRvcFJpZ2h0KCk7CisgICAgaWYgKCF0b3BSaWdodC5pc0VtcHR5KCkp
IHsKKyAgICAgICAgRmxvYXRQb2ludCBjZW50ZXIgPSB7IG1fcmVjdC5tYXhYKCkgLSB0b3BSaWdo
dC53aWR0aCgpLCBtX3JlY3QueSgpICsgdG9wUmlnaHQuaGVpZ2h0KCkgfTsKKyAgICAgICAgaWYg
KG90aGVyUmVjdC5tYXhYKCkgPj0gY2VudGVyLngoKSAmJiBvdGhlclJlY3QueSgpIDw9IGNlbnRl
ci55KCkpIHsKKyAgICAgICAgICAgIGlmICghZWxsaXBzZUNvbnRhaW5zUG9pbnQoY2VudGVyLCB0
b3BSaWdodCwgb3RoZXJSZWN0LmxvY2F0aW9uKCkpKQorICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGNvbnN0IExheW91dFNpemUmIGJvdHRvbUxl
ZnQgPSBtX3JhZGlpLmJvdHRvbUxlZnQoKTsKKyAgICBpZiAoIWJvdHRvbUxlZnQuaXNFbXB0eSgp
KSB7CisgICAgICAgIEZsb2F0UG9pbnQgY2VudGVyID0geyBtX3JlY3QueCgpICsgYm90dG9tTGVm
dC53aWR0aCgpLCBtX3JlY3QubWF4WSgpIC0gYm90dG9tTGVmdC5oZWlnaHQoKSB9OworICAgICAg
ICBpZiAob3RoZXJSZWN0Lm1heFgoKSA+PSBjZW50ZXIueCgpICYmIG90aGVyUmVjdC5tYXhZKCkg
Pj0gY2VudGVyLnkoKSkgeworICAgICAgICAgICAgaWYgKCFlbGxpcHNlQ29udGFpbnNQb2ludChj
ZW50ZXIsIGJvdHRvbUxlZnQsIG90aGVyUmVjdC5sb2NhdGlvbigpKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBjb25zdCBMYXlvdXRTaXpl
JiBib3R0b21SaWdodCA9IG1fcmFkaWkuYm90dG9tUmlnaHQoKTsKKyAgICBpZiAoIWJvdHRvbVJp
Z2h0LmlzRW1wdHkoKSkgeworICAgICAgICBGbG9hdFBvaW50IGNlbnRlciA9IHsgbV9yZWN0Lm1h
eFgoKSAtIGJvdHRvbVJpZ2h0LndpZHRoKCksIG1fcmVjdC5tYXhZKCkgLSBib3R0b21SaWdodC5o
ZWlnaHQoKSB9OworICAgICAgICBpZiAob3RoZXJSZWN0LngoKSA8PSBjZW50ZXIueCgpICYmIG90
aGVyUmVjdC5tYXhZKCkgPj0gY2VudGVyLnkoKSkgeworICAgICAgICAgICAgaWYgKCFlbGxpcHNl
Q29udGFpbnNQb2ludChjZW50ZXIsIGJvdHRvbVJpZ2h0LCBvdGhlclJlY3QubG9jYXRpb24oKSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAg
cmV0dXJuIHRydWU7Cit9CisKIEZsb2F0Um91bmRlZFJlY3QgUm91bmRlZFJlY3Q6OnBpeGVsU25h
cHBlZFJvdW5kZWRSZWN0Rm9yUGFpbnRpbmcoZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpIGNvbnN0
CiB7CiAgICAgTGF5b3V0UmVjdCBvcmlnaW5hbFJlY3QgPSByZWN0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVjdC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUm91bmRlZFJlY3QuaAppbmRleCBhYzE0ODAyMjY5NmJk
Y2FiNDdiMTUxNmI5NzU4ZmEwYzBlOGI1OTAzLi4zZjJmN2ViYzhkNDNhMjNjYThlYzRlYjkzNGJl
Y2IyZjEzNTc1MjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Sb3VuZGVkUmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Jv
dW5kZWRSZWN0LmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGVzdHMgd2hl
dGhlciB0aGUgcXVhZCBpbnRlcnNlY3RzIGFueSBwYXJ0IG9mIHRoaXMgcm91bmRlZCByZWN0YW5n
bGUuCiAgICAgLy8gVGhpcyBvbmx5IHdvcmtzIGZvciBjb252ZXggcXVhZHMuCiAgICAgYm9vbCBp
bnRlcnNlY3RzUXVhZChjb25zdCBGbG9hdFF1YWQmKSBjb25zdDsKKyAgICBib29sIGNvbnRhaW5z
KGNvbnN0IExheW91dFJlY3QmKSBjb25zdDsKIAogICAgIEZsb2F0Um91bmRlZFJlY3QgcGl4ZWxT
bmFwcGVkUm91bmRlZFJlY3RGb3JQYWludGluZyhmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikgY29u
c3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwCmluZGV4IGEwNjNlMThiNTRiMTU1NzEwYWFiZDZlODcyZjllYzlmY2ZlMTM2ZjkuLjg1
MDkzNjFiMTM1ODFmZjQ3MTRlNTdiNzllN2E4MjUzODY4NGJhODUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtMTczNCw2ICsx
NzM0LDEwIEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50Qm9yZGVyKGNvbnN0IFBh
aW50SW5mbyYgaW5mbywgY29uc3QgTGF5b3V0UmVjdCYKICAgICBSb3VuZGVkUmVjdCBvdXRlckJv
cmRlciA9IHN0eWxlLmdldFJvdW5kZWRCb3JkZXJGb3IocmVjdCwgaW5jbHVkZUxvZ2ljYWxMZWZ0
RWRnZSwgaW5jbHVkZUxvZ2ljYWxSaWdodEVkZ2UpOwogICAgIFJvdW5kZWRSZWN0IGlubmVyQm9y
ZGVyID0gc3R5bGUuZ2V0Um91bmRlZElubmVyQm9yZGVyRm9yKGJvcmRlcklubmVyUmVjdEFkanVz
dGVkRm9yQmxlZWRBdm9pZGFuY2UoZ3JhcGhpY3NDb250ZXh0LCByZWN0LCBibGVlZEF2b2lkYW5j
ZSksIGluY2x1ZGVMb2dpY2FsTGVmdEVkZ2UsIGluY2x1ZGVMb2dpY2FsUmlnaHRFZGdlKTsKIAor
ICAgIC8vIElmIG5vIGJvcmRlcnMgaW50ZXJzZWN0cyB3aXRoIHRoZSBkaXJ0eSBhcmVhLCB3ZSBj
YW4gc2tpcCB0aGUgYm9yZGVyIHBhaW50aW5nLgorICAgIGlmIChpbm5lckJvcmRlci5jb250YWlu
cyhpbmZvLnJlY3QpKQorICAgICAgICByZXR1cm47CisKICAgICBib29sIGhhdmVBbHBoYUNvbG9y
ID0gZmFsc2U7CiAgICAgYm9vbCBoYXZlQWxsU29saWRFZGdlcyA9IHRydWU7CiAgICAgYm9vbCBo
YXZlQWxsRG91YmxlRWRnZXMgPSB0cnVlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>