<?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>264448</bug_id>
          
          <creation_ts>2023-11-08 15:28:56 -0800</creation_ts>
          <short_desc>[CSS-Sizing] Block size with max-content and min-content in a RenderBox.cpp</short_desc>
          <delta_ts>2025-03-21 02:21:41 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=261986</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=289876</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=289961</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, InRadar, WPTImpact</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ahmad Saleem">ahmad.saleem792</reporter>
          <assigned_to name="Ahmad Saleem">ahmad.saleem792</assigned_to>
          <cc>ntim</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1990975</commentid>
    <comment_count>0</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-11-08 15:28:56 -0800</bug_when>
    <thetext>Hi Team,

This is about other partial portion of changes from Blink Commit in &apos;RenderBox.cpp&apos; (from bug 261986 - in &apos;See Also&apos;):

Blink Commit: https://chromium.googlesource.com/chromium/src.git/+/3a0c4adda19bade345ca115fdcfe825acf0b8869

___

NOTE - In local testing, it progress following tests from WPT:

hori-block-size-small-or-larger-than-container-with-min-or-max-content-1.html

intrinsic-percent-replaced-dynamic-002.html

intrinsic-percent-replaced-dynamic-003.html

intrinsic-percent-replaced-dynamic-004.html

intrinsic-percent-replaced-dynamic-006.html

intrinsic-percent-replaced-dynamic-009.html

intrinsic-percent-replaced-dynamic-010.html

vert-block-size-small-or-larger-than-container-with-min-or-max-content-1.html

___

Although I think it also regress another one but it could be due to a lot of other changes on my test branch as well.

Just wanted to raise, so we can merge &apos;RenderBox.cpp&apos; changes.

I will attach my local &apos;RenderBox.cpp&apos; file or list down all changes with function name (whichever is easier) for reference.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1990976</commentid>
    <comment_count>1</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-11-08 15:37:29 -0800</bug_when>
    <thetext>All changes in &apos;RenderBox.cpp&apos;:

&gt;&gt; RenderBox::constrainLogicalHeightByMinMax (With all changes to compile)

LayoutUnit RenderBox::constrainLogicalHeightByMinMax(LayoutUnit logicalHeight, std::optional&lt;LayoutUnit&gt; intrinsicContentHeight) const
{
    // Note that the values &apos;min-content&apos;, &apos;max-content&apos; and &apos;fit-content&apos; should
    // behave as the initial value if specified in the block direction.
    const auto&amp; logicalMaxHeight = style().logicalMaxHeight();
    std::optional&lt;LayoutUnit&gt; computedLogicalMaxHeight;
    if (!logicalMaxHeight.isUndefined() &amp;&amp; !logicalMaxHeight.isMinContent() &amp;&amp; !logicalMaxHeight.isMaxContent() &amp;&amp; !logicalMaxHeight.isFitContent()) {
        computedLogicalMaxHeight = computeLogicalHeightUsing(MaxSize, logicalMaxHeight, intrinsicContentHeight);
    }

    MinimumSizeIsAutomaticContentBased minimumSizeType = MinimumSizeIsAutomaticContentBased::No;
    Length logicalMinHeight = style().logicalMinHeight();
    if (logicalMinHeight.isAuto() &amp;&amp; shouldComputeLogicalHeightFromAspectRatio() &amp;&amp; intrinsicContentHeight &amp;&amp; !is&lt;RenderReplaced&gt;(*this) &amp;&amp; effectiveOverflowBlockDirection() == Overflow::Visible) {
        auto heightFromAspectRatio = blockSizeFromAspectRatio(borderAndPaddingLogicalWidth(), borderAndPaddingLogicalHeight(), style().logicalAspectRatio(), style().boxSizingForAspectRatio(), logicalWidth(), style().aspectRatioType(), isRenderReplaced()) - borderAndPaddingLogicalHeight();
        if (firstChild())
            heightFromAspectRatio = std::max(heightFromAspectRatio, *intrinsicContentHeight);
        logicalMinHeight = Length(heightFromAspectRatio, LengthType::Fixed);
        minimumSizeType = MinimumSizeIsAutomaticContentBased::Yes;
    }
    if (logicalMinHeight.isMinContent() || logicalMinHeight.isMaxContent() || logicalMinHeight.isFitContent())
        logicalMinHeight = LengthType::Auto;
    std::optional&lt;LayoutUnit&gt; computedLogicalMinHeight = computeLogicalHeightUsing(MinSize, logicalMinHeight, intrinsicContentHeight);
    LayoutUnit maxHeight = computedLogicalMaxHeight ? computedLogicalMaxHeight.value() : LayoutUnit::max();
    LayoutUnit minHeight = computedLogicalMinHeight ? computedLogicalMinHeight.value() : LayoutUnit();
    if (style().hasAspectRatio())
        constrainLogicalMinMaxSizesByAspectRatio(minHeight, maxHeight, logicalHeight, minimumSizeType, ConstrainDimension::Height);
    logicalHeight = std::min(logicalHeight, maxHeight);
    return std::max(logicalHeight, minHeight);
}

___

&gt;&gt; RenderBox::computeLogicalHeightUsing (With all changes to compile)

std::optional&lt;LayoutUnit&gt; RenderBox::computeLogicalHeightUsing(SizeType heightType, const Length&amp; height, std::optional&lt;LayoutUnit&gt; intrinsicContentHeight) const
{
    if (is&lt;RenderReplaced&gt;(this)) {
        if ((heightType == MinSize || heightType == MaxSize) &amp;&amp; !replacedMinMaxLogicalHeightComputesAsNone(heightType))
            return computeReplacedLogicalHeightUsing(heightType, height) + borderAndPaddingLogicalHeight();
        return std::nullopt;
    }
    if (std::optional&lt;LayoutUnit&gt; logicalHeight = computeContentAndScrollbarLogicalHeightUsing(heightType, height, intrinsicContentHeight))
        return adjustBorderBoxLogicalHeightForBoxSizing(logicalHeight.value());
    return std::nullopt;
}

____

&gt;&gt; RenderBox::computePositionedLogicalHeight (With all changes to compile)

From Line 4462 onward - &apos;Calculate constraint equation values for &apos;max-height&apos;..&apos;

const auto&amp; logicalMaxHeight = styleToUse.logicalMaxHeight();
    if (!logicalMaxHeight.isUndefined() &amp;&amp; !logicalMaxHeight.isMinContent() &amp;&amp; !logicalMaxHeight.isMaxContent() &amp;&amp; !logicalMaxHeight.isFitContent()) {
        LogicalExtentComputedValues maxValues;

        computePositionedLogicalHeightUsing(MaxSize, logicalMaxHeight, containerBlock, containerLogicalHeight, bordersPlusPadding, logicalHeight,
            logicalTopLength, logicalBottomLength, marginBefore, marginAfter,
            maxValues);

        if (computedValues.m_extent &gt; maxValues.m_extent) {
            computedValues.m_extent = maxValues.m_extent;
            computedValues.m_position = maxValues.m_position;
            computedValues.m_margins.m_before = maxValues.m_margins.m_before;
            computedValues.m_margins.m_after = maxValues.m_margins.m_after;
        }
    }

    // Calculate constraint equation values for &apos;min-height&apos; case.
    Length logicalMinHeight = styleToUse.logicalMinHeight();
    if (logicalMinHeight.isMinContent() || logicalMinHeight.isMaxContent() || logicalMinHeight.isFitContent())
        logicalMinHeight = LengthType::Auto;
    if (!logicalMinHeight.isZero() || logicalMinHeight.isFillAvailable()) {
        LogicalExtentComputedValues minValues;

        computePositionedLogicalHeightUsing(MinSize, logicalMinHeight, containerBlock, containerLogicalHeight, bordersPlusPadding, logicalHeight,
            logicalTopLength, logicalBottomLength, marginBefore, marginAfter,
            minValues);

...

_____

Just wanted to update here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1992910</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-11-15 15:29:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/118478408&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2043835</commentid>
    <comment_count>3</comment_count>
      <attachid>471774</attachid>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2024-06-30 06:17:04 -0700</bug_when>
    <thetext>Created attachment 471774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2070292</commentid>
    <comment_count>4</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2024-10-23 22:44:57 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/31602</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>471774</attachid>
            <date>2024-06-30 06:17:04 -0700</date>
            <delta_ts>2024-06-30 06:17:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-264448-20240630141703.patch</filename>
            <type>text/plain</type>
            <size>5692</size>
            <attacher name="Ahmad Saleem">ahmad.saleem792</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggZjJkNzVlY2ZkZDhkZWVm
ZmVkMjcwNWJhYWQxOGE5OTQ4NTA4YTdmZC4uZDQ1NDYwZDg3ODEwMmQxODEyNTc1OWQ3NmU1NDA4
ZDI2ZTk4MGY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTMs
OCArMyw4IEBACiAgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3Rv
QGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDIwMDUgQWxsYW4gU2FuZGZlbGQgSmVuc2VuIChr
ZGVAY2FyZXdvbGYuY29tKQogICogICAgICAgICAgIChDKSAyMDA1LCAyMDA2IFNhbXVlbCBXZWlu
aWcgKHNhbS53ZWluaWdAZ21haWwuY29tKQotICogQ29weXJpZ2h0IChDKSAyMDA1LTIwMjMgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTgg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNS0y
MDI0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NS0yMDE5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTcyOSwxMCArNzI5LDEzIEBAIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5M
b2dpY2FsV2lkdGhJbkZyYWdtZW50QnlNaW5NYXgoTGF5b3V0VW5pdCBsb2dpY2FsCiAKIExheW91
dFVuaXQgUmVuZGVyQm94Ojpjb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoTGF5b3V0VW5p
dCBsb2dpY2FsSGVpZ2h0LCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGludHJpbnNpY0NvbnRl
bnRIZWlnaHQpIGNvbnN0CiB7CisgICAgLy8gTm90ZSB0aGF0IHRoZSB2YWx1ZXMgJ21pbi1jb250
ZW50JywgJ21heC1jb250ZW50JyBhbmQgJ2ZpdC1jb250ZW50JyBzaG91bGQKKyAgICAvLyBiZWhh
dmUgYXMgdGhlIGluaXRpYWwgdmFsdWUgaWYgc3BlY2lmaWVkIGluIHRoZSBibG9jayBkaXJlY3Rp
b24uCiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlVG9Vc2UgPSBzdHlsZSgpOworICAgIGNv
bnN0IGF1dG8mIGxvZ2ljYWxNYXhIZWlnaHQgPSBzdHlsZVRvVXNlLmxvZ2ljYWxNYXhIZWlnaHQo
KTsKICAgICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IGNvbXB1dGVkTG9naWNhbE1heEhlaWdo
dDsKLSAgICBpZiAoIXN0eWxlVG9Vc2UubG9naWNhbE1heEhlaWdodCgpLmlzVW5kZWZpbmVkKCkp
Ci0gICAgICAgIGNvbXB1dGVkTG9naWNhbE1heEhlaWdodCA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0
VXNpbmcoTWF4U2l6ZSwgc3R5bGVUb1VzZS5sb2dpY2FsTWF4SGVpZ2h0KCksIGludHJpbnNpY0Nv
bnRlbnRIZWlnaHQpOworICAgIGlmICghbG9naWNhbE1heEhlaWdodC5pc1VuZGVmaW5lZCgpICYm
ICFsb2dpY2FsTWF4SGVpZ2h0LmlzTWluQ29udGVudCgpICYmICFsb2dpY2FsTWF4SGVpZ2h0Lmlz
TWF4Q29udGVudCgpICYmICFsb2dpY2FsTWF4SGVpZ2h0LmlzRml0Q29udGVudCgpKQorICAgICAg
ICBjb21wdXRlZExvZ2ljYWxNYXhIZWlnaHQgPSBjb21wdXRlTG9naWNhbEhlaWdodFVzaW5nKE1h
eFNpemUsIGxvZ2ljYWxNYXhIZWlnaHQsIGludHJpbnNpY0NvbnRlbnRIZWlnaHQpOwogCiAgICAg
TWluaW11bVNpemVJc0F1dG9tYXRpY0NvbnRlbnRCYXNlZCBtaW5pbXVtU2l6ZVR5cGUgPSBNaW5p
bXVtU2l6ZUlzQXV0b21hdGljQ29udGVudEJhc2VkOjpObzsKICAgICBhdXRvIGxvZ2ljYWxNaW5I
ZWlnaHQgPSBzdHlsZVRvVXNlLmxvZ2ljYWxNaW5IZWlnaHQoKTsKQEAgLTc0Myw4ICs3NDYsOCBA
QCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29uc3RyYWluTG9naWNhbEhlaWdodEJ5TWluTWF4KExh
eW91dFVuaXQgbG9naWNhbEhlaWdodCwgcwogICAgICAgICBsb2dpY2FsTWluSGVpZ2h0ID0gTGVu
Z3RoKGhlaWdodEZyb21Bc3BlY3RSYXRpbywgTGVuZ3RoVHlwZTo6Rml4ZWQpOwogICAgICAgICBt
aW5pbXVtU2l6ZVR5cGUgPSBNaW5pbXVtU2l6ZUlzQXV0b21hdGljQ29udGVudEJhc2VkOjpZZXM7
CiAgICAgfQotICAgIGlmIChsb2dpY2FsTWluSGVpZ2h0LmlzTWluQ29udGVudCgpIHx8IGxvZ2lj
YWxNaW5IZWlnaHQuaXNNYXhDb250ZW50KCkpCi0gICAgICAgIGxvZ2ljYWxNaW5IZWlnaHQgPSBM
ZW5ndGgoKTsKKyAgICBpZiAobG9naWNhbE1pbkhlaWdodC5pc01pbkNvbnRlbnQoKSB8fCBsb2dp
Y2FsTWluSGVpZ2h0LmlzTWF4Q29udGVudCgpIHx8IGxvZ2ljYWxNaW5IZWlnaHQuaXNGaXRDb250
ZW50KCkpCisgICAgICAgIGxvZ2ljYWxNaW5IZWlnaHQgPSBMZW5ndGhUeXBlOjpBdXRvOwogICAg
IHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gY29tcHV0ZWRMb2dpY2FsTWluSGVpZ2h0ID0gY29t
cHV0ZUxvZ2ljYWxIZWlnaHRVc2luZyhNaW5TaXplLCBsb2dpY2FsTWluSGVpZ2h0LCBpbnRyaW5z
aWNDb250ZW50SGVpZ2h0KTsKICAgICBMYXlvdXRVbml0IG1heEhlaWdodCA9IGNvbXB1dGVkTG9n
aWNhbE1heEhlaWdodCA/IGNvbXB1dGVkTG9naWNhbE1heEhlaWdodC52YWx1ZSgpIDogTGF5b3V0
VW5pdDo6bWF4KCk7CiAgICAgTGF5b3V0VW5pdCBtaW5IZWlnaHQgPSBjb21wdXRlZExvZ2ljYWxN
aW5IZWlnaHQgPyBjb21wdXRlZExvZ2ljYWxNaW5IZWlnaHQudmFsdWUoKSA6IExheW91dFVuaXQo
KTsKQEAgLTM1NTcsNiArMzU2MCwxMCBAQCBib29sIFJlbmRlckJveDo6cmVwbGFjZWRNaW5NYXhM
b2dpY2FsSGVpZ2h0Q29tcHV0ZXNBc05vbmUoU2l6ZVR5cGUgc2l6ZVR5cGUpIGNvbgogICAgIEFT
U0VSVChzaXplVHlwZSA9PSBNaW5TaXplIHx8IHNpemVUeXBlID09IE1heFNpemUpOwogICAgIAog
ICAgIGF1dG8gbG9naWNhbEhlaWdodCA9IHNpemVUeXBlID09IE1pblNpemUgPyBzdHlsZSgpLmxv
Z2ljYWxNaW5IZWlnaHQoKSA6IHN0eWxlKCkubG9naWNhbE1heEhlaWdodCgpOworICAgIC8vIE5v
dGUgdGhhdCB0aGUgdmFsdWVzICdtaW4tY29udGVudCcsICdtYXgtY29udGVudCcgYW5kICdmaXQt
Y29udGVudCcgc2hvdWxkCisgICAgLy8gYmVoYXZlIGFzIHRoZSBpbml0aWFsIHZhbHVlIGlmIHNw
ZWNpZmllZCBpbiB0aGUgYmxvY2sgZGlyZWN0aW9uLgorICAgIGlmIChsb2dpY2FsSGVpZ2h0Lmlz
TWluQ29udGVudCgpIHx8IGxvZ2ljYWxIZWlnaHQuaXNNYXhDb250ZW50KCkgfHwgbG9naWNhbEhl
aWdodC5pc0ZpdENvbnRlbnQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgYXV0byBpbml0
aWFsTG9naWNhbEhlaWdodCA9IHNpemVUeXBlID09IE1pblNpemUgPyBSZW5kZXJTdHlsZTo6aW5p
dGlhbE1pblNpemUoKSA6IFJlbmRlclN0eWxlOjppbml0aWFsTWF4U2l6ZSgpOwogICAgIAogICAg
IGlmIChsb2dpY2FsSGVpZ2h0ID09IGluaXRpYWxMb2dpY2FsSGVpZ2h0KQpAQCAtNDAxMSw5ICs0
MDE4LDEwIEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aChM
b2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMmIGNvbXB1CiAKICAgICBMb2dpY2FsRXh0ZW50Q29t
cHV0ZWRWYWx1ZXMgbWF4VmFsdWVzOwogICAgIG1heFZhbHVlcy5tX2V4dGVudCA9IExheW91dFVu
aXQ6Om1heCgpOworICAgIGNvbnN0IGF1dG8mIGxvZ2ljYWxNYXhIZWlnaHQgPSBzdHlsZSgpLmxv
Z2ljYWxNYXhIZWlnaHQoKTsKICAgICAvLyBDYWxjdWxhdGUgY29uc3RyYWludCBlcXVhdGlvbiB2
YWx1ZXMgZm9yICdtYXgtd2lkdGgnIGNhc2UuCi0gICAgaWYgKCFzdHlsZSgpLmxvZ2ljYWxNYXhX
aWR0aCgpLmlzVW5kZWZpbmVkKCkpIHsKLSAgICAgICAgY29tcHV0ZVBvc2l0aW9uZWRMb2dpY2Fs
V2lkdGhVc2luZyhNYXhTaXplLCBzdHlsZSgpLmxvZ2ljYWxNYXhXaWR0aCgpLCBjb250YWluZXJC
bG9jaywgY29udGFpbmVyRGlyZWN0aW9uLAorICAgIGlmICghbG9naWNhbE1heEhlaWdodC5pc1Vu
ZGVmaW5lZCgpICYmICFsb2dpY2FsTWF4SGVpZ2h0LmlzTWluQ29udGVudCgpICYmICFsb2dpY2Fs
TWF4SGVpZ2h0LmlzTWF4Q29udGVudCgpICYmICFsb2dpY2FsTWF4SGVpZ2h0LmlzRml0Q29udGVu
dCgpKSB7CisgICAgICAgIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoTWF4U2l6
ZSwgbG9naWNhbE1heEhlaWdodCwgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckRpcmVjdGlvbiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJMb2dp
Y2FsV2lkdGgsIGJvcmRlcnNQbHVzUGFkZGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsb2dpY2FsTGVmdExlbmd0aCwgbG9naWNhbFJpZ2h0TGVuZ3RoLCBt
YXJnaW5Mb2dpY2FsTGVmdCwgbWFyZ2luTG9naWNhbFJpZ2h0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1heFZhbHVlcyk7CkBAIC00MDM0LDggKzQwNDIsMTEg
QEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoKExvZ2ljYWxF
eHRlbnRDb21wdXRlZFZhbHVlcyYgY29tcHUKICAgICBMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1
ZXMgbWluVmFsdWVzOwogICAgIG1pblZhbHVlcy5tX2V4dGVudCA9IExheW91dFVuaXQ6Om1pbigp
OwogICAgIC8vIENhbGN1bGF0ZSBjb25zdHJhaW50IGVxdWF0aW9uIHZhbHVlcyBmb3IgJ21pbi13
aWR0aCcgY2FzZS4KLSAgICBpZiAoIXN0eWxlKCkubG9naWNhbE1pbldpZHRoKCkuaXNaZXJvKCkg
fHwgc3R5bGUoKS5sb2dpY2FsTWluV2lkdGgoKS5pc0ludHJpbnNpYygpKSB7Ci0gICAgICAgIGNv
bXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoTWluU2l6ZSwgc3R5bGUoKS5sb2dpY2Fs
TWluV2lkdGgoKSwgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckRpcmVjdGlvbiwKKyAgICBhdXRv
IGxvZ2ljYWxNaW5IZWlnaHQgPSBzdHlsZSgpLmxvZ2ljYWxNaW5IZWlnaHQoKTsKKyAgICBpZiAo
bG9naWNhbE1pbkhlaWdodC5pc01pbkNvbnRlbnQoKSB8fCBsb2dpY2FsTWluSGVpZ2h0LmlzTWF4
Q29udGVudCgpIHx8IGxvZ2ljYWxNaW5IZWlnaHQuaXNGaXRDb250ZW50KCkpCisgICAgICAgIGxv
Z2ljYWxNaW5IZWlnaHQgPSBMZW5ndGhUeXBlOjpBdXRvOworICAgIGlmICghbG9naWNhbE1pbkhl
aWdodC5pc1plcm8oKSB8fCBsb2dpY2FsTWluSGVpZ2h0LmlzRmlsbEF2YWlsYWJsZSgpKSB7Cisg
ICAgICAgIGNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoVXNpbmcoTWluU2l6ZSwgbG9naWNh
bE1pbkhlaWdodCwgY29udGFpbmVyQmxvY2ssIGNvbnRhaW5lckRpcmVjdGlvbiwKICAgICAgICAg
ICAgIGNvbnRhaW5lckxvZ2ljYWxXaWR0aCwgYm9yZGVyc1BsdXNQYWRkaW5nLAogICAgICAgICAg
ICAgbG9naWNhbExlZnRMZW5ndGgsIGxvZ2ljYWxSaWdodExlbmd0aCwgbWFyZ2luTG9naWNhbExl
ZnQsIG1hcmdpbkxvZ2ljYWxSaWdodCwKICAgICAgICAgICAgIG1pblZhbHVlcyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>