<?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>225950</bug_id>
          
          <creation_ts>2021-05-18 18:13:39 -0700</creation_ts>
          <short_desc>Release assert in Document::updateStyleIfNeeded() via ScrollableArea::updateScrollSnapState</short_desc>
          <delta_ts>2021-05-29 14:29:56 -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>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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-feeder</cc>
    
    <cc>fred.wang</cc>
    
    <cc>gpoo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>product-security</cc>
    
    <cc>rbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1761408</commentid>
    <comment_count>0</comment_count>
      <attachid>429012</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-05-18 18:13:39 -0700</bug_when>
    <thetext>Created attachment 429012
Test

e.g.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x0000000540f3192b WTFCrashWithInfo(int, char const*, char const*, int) + 27 (Assertions.h:695)
1   com.apple.WebCore             	0x000000054489b226 WebCore::Document::updateStyleIfNeeded() + 662 (Document.cpp:2177)
2   com.apple.WebCore             	0x0000000545acfb9f WebCore::FrameViewLayoutContext::updateStyleForLayout() + 111 (FrameViewLayoutContext.cpp:545)
3   com.apple.WebCore             	0x0000000545a9c2d1 WebCore::FrameViewLayoutContext::layout() + 721 (FrameViewLayoutContext.cpp:211)
4   com.apple.WebCore             	0x0000000545aba4d3 WebCore::FrameView::updateContentsSize() + 67 (FrameView.cpp:2788)
5   com.apple.WebCore             	0x0000000545d74195 WebCore::ScrollView::updateScrollbars(WebCore::IntPoint const&amp;) + 3349 (ScrollView.cpp:711)
6   com.apple.WebCore             	0x0000000545d807d4 WebCore::ScrollView::setFrameRect(WebCore::IntRect const&amp;) + 420 (ScrollView.cpp:1119)
7   com.apple.WebCore             	0x0000000545aa4219 WebCore::FrameView::setFrameRect(WebCore::IntRect const&amp;) + 345 (FrameView.cpp:450)
8   com.apple.WebCore             	0x000000054698fc1a WebCore::RenderWidget::setWidgetGeometry(WebCore::LayoutRect const&amp;) + 762 (RenderWidget.cpp:140)
9   com.apple.WebCore             	0x00000005469904d4 WebCore::RenderWidget::updateWidgetGeometry() + 820
10  com.apple.WebCore             	0x0000000546992e57 WebCore::RenderWidget::updateWidgetPosition() + 231 (RenderWidget.cpp:354)
11  com.apple.WebCore             	0x0000000545ab9866 WebCore::FrameView::updateWidgetPositions() + 278 (FrameView.cpp:5443)
12  com.apple.WebCore             	0x0000000545ab8b63 WebCore::FrameView::updateLayerPositionsAfterScrolling() + 83 (FrameView.cpp:2600)
13  com.apple.WebCore             	0x0000000545d78f77 WebCore::ScrollView::completeUpdatesAfterScrollTo(WebCore::IntSize const&amp;) + 71 (ScrollView.cpp:513)
14  com.apple.WebCore             	0x0000000545d79242 WebCore::ScrollView::scrollTo(WebCore::IntPoint const&amp;) + 450 (ScrollView.cpp:508)
15  com.apple.WebCore             	0x0000000545ac0581 WebCore::FrameView::scrollTo(WebCore::IntPoint const&amp;) + 241 (FrameView.cpp:3760)
16  com.apple.WebCore             	0x0000000545d78676 WebCore::ScrollView::setScrollOffset(WebCore::IntPoint const&amp;) + 534 (ScrollView.cpp:447)
17  com.apple.WebCore             	0x0000000545d86753 WebCore::ScrollableArea::scrollPositionChanged(WebCore::IntPoint const&amp;) + 451 (ScrollableArea.cpp:183)
18  com.apple.WebCore             	0x0000000545d8650a WebCore::ScrollableArea::notifyScrollPositionChanged(WebCore::IntPoint const&amp;) + 186 (ScrollableArea.cpp:175)
19  com.apple.WebCore             	0x0000000545ca38b1 WebCore::AsyncScrollingCoordinator::reconcileScrollingState(WebCore::FrameView&amp;, WebCore::FloatPoint const&amp;, WTF::Variant&lt;WTF::Optional&lt;WebCore::FloatPoint&gt;, WTF::Optional&lt;WebCore::FloatRect&gt; &gt; const&amp;, WebCore::ScrollType, WebCore::ViewportRectStability, WebCore::ScrollingLayerPositionAction) + 625 (AsyncScrollingCoordinator.cpp:417)
20  com.apple.WebCore             	0x0000000545ca33fd WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll(unsigned long long, WebCore::FloatPoint const&amp;, WTF::Optional&lt;WebCore::FloatPoint&gt;, WebCore::ScrollType, WebCore::ScrollingLayerPositionAction) + 509 (AsyncScrollingCoordinator.cpp:377)
21  com.apple.WebCore             	0x0000000545ca2c3c WebCore::AsyncScrollingCoordinator::applyScrollUpdate(unsigned long long, WebCore::FloatPoint const&amp;, WTF::Optional&lt;WebCore::FloatPoint&gt;, WebCore::ScrollType, WebCore::ScrollingLayerPositionAction) + 236 (AsyncScrollingCoordinator.cpp:353)
22  com.apple.WebCore             	0x0000000545cfffb3 WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll(WebCore::ScrollingTreeScrollingNode&amp;, WebCore::ScrollingLayerPositionAction) + 675 (ThreadedScrollingTree.cpp:209)
23  com.apple.WebCore             	0x0000000545cfe180 WebCore::ScrollingTreeScrollingNode::currentScrollPositionChanged(WebCore::ScrollType, WebCore::ScrollingLayerPositionAction) + 112 (ScrollingTreeScrollingNode.cpp:270)
24  com.apple.WebCore             	0x0000000542ba8aa0 WebCore::ScrollingTreeFrameScrollingNodeMac::currentScrollPositionChanged(WebCore::ScrollType, WebCore::ScrollingLayerPositionAction) + 80 (ScrollingTreeFrameScrollingNodeMac.mm:156)
25  com.apple.WebCore             	0x0000000545cfe00c WebCore::ScrollingTreeScrollingNode::scrollTo(WebCore::FloatPoint const&amp;, WebCore::ScrollType, WebCore::ScrollClamping) + 556 (ScrollingTreeScrollingNode.cpp:262)
26  com.apple.WebCore             	0x0000000542ba7ec3 WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateAfterChildren(WebCore::ScrollingStateNode const&amp;) + 131 (ScrollingTreeFrameScrollingNodeMac.mm:110)
27  com.apple.WebCore             	0x0000000545ce32e5 WebCore::ScrollingTree::updateTreeFromStateNodeRecursive(WebCore::ScrollingStateNode const*, WebCore::CommitTreeState&amp;) + 1941 (ScrollingTree.cpp:384)
28  com.apple.WebCore             	0x0000000545ce2461 WebCore::ScrollingTree::commitTreeState(std::__1::unique_ptr&lt;WebCore::ScrollingStateTree, std::__1::default_delete&lt;WebCore::ScrollingStateTree&gt; &gt;&amp;&amp;) + 1649 (ScrollingTree.cpp:306)
29  com.apple.WebCore             	0x000000054293e781 WebCore::ScrollingCoordinatorMac::commitTreeStateIfNeeded() + 369 (ScrollingCoordinatorMac.mm:120)
30  com.apple.WebCore             	0x0000000545ca2a0c WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate(WebCore::ScrollableArea&amp;, WebCore::IntPoint const&amp;, WebCore::ScrollType, WebCore::ScrollClamping) + 860 (AsyncScrollingCoordinator.cpp:279)
31  com.apple.WebCore             	0x0000000545ab9e0c WebCore::FrameView::requestScrollPositionUpdate(WebCore::IntPoint const&amp;, WebCore::ScrollType, WebCore::ScrollClamping) + 668 (FrameView.cpp:2690)
32  com.apple.WebCore             	0x0000000545d87002 WebCore::ScrollableArea::setScrollPositionFromAnimation(WebCore::IntPoint const&amp;) + 82 (ScrollableArea.cpp:246)
33  com.apple.WebCore             	0x0000000545d656d1 WebCore::ScrollAnimator::notifyPositionChanged(WebCore::FloatSize const&amp;) + 257 (ScrollAnimator.cpp:283)
34  com.apple.WebCore             	0x0000000541374bad WebCore::ScrollAnimatorMac::notifyPositionChanged(WebCore::FloatSize const&amp;) + 77 (ScrollAnimatorMac.mm:893)
35  com.apple.WebCore             	0x0000000545d642b9 WebCore::ScrollAnimator::scrollToPositionWithoutAnimation(WebCore::FloatPoint const&amp;, WebCore::ScrollClamping) + 1209 (ScrollAnimator.cpp:139)
36  com.apple.WebCore             	0x000000054137389b WebCore::ScrollAnimatorMac::scrollToPositionWithoutAnimation(WebCore::FloatPoint const&amp;, WebCore::ScrollClamping) + 91 (ScrollAnimatorMac.mm:801)
37  com.apple.WebCore             	0x0000000545d8614f WebCore::ScrollableArea::scrollToPositionWithoutAnimation(WebCore::FloatPoint const&amp;, WebCore::ScrollClamping) + 79 (ScrollableArea.cpp:149)
38  com.apple.WebCore             	0x0000000545d888e7 WebCore::ScrollableArea::updateScrollSnapState() + 551 (ScrollableArea.cpp:557)
39  com.apple.WebCore             	0x000000054678f834 WebCore::RenderLayerModelObject::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) + 1556 (RenderLayerModelObject.cpp:202)
40  com.apple.WebCore             	0x0000000546662e7e WebCore::RenderBox::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) + 254 (RenderBox.cpp:300)
41  com.apple.WebCore             	0x00000005465d8fea WebCore::RenderBlock::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) + 42 (RenderBlock.cpp:438)
42  com.apple.WebCore             	0x0000000546620982 WebCore::RenderBlockFlow::styleDidChange(WebCore::StyleDifference, WebCore::RenderStyle const*) + 258 (RenderBlockFlow.cpp:2103)
43  com.apple.WebCore             	0x00000005466df04c WebCore::RenderElement::setStyle(WebCore::RenderStyle&amp;&amp;, WebCore::StyleDifference) + 892 (RenderElement.cpp:527)
44  com.apple.WebCore             	0x0000000546b9fe3d WebCore::RenderTreeUpdater::updateRendererStyle(WebCore::RenderElement&amp;, WebCore::RenderStyle&amp;&amp;, WebCore::StyleDifference) + 269 (RenderTreeUpdater.cpp:299)
45  com.apple.WebCore             	0x0000000546b9ea17 WebCore::RenderTreeUpdater::updateElementRenderer(WebCore::Element&amp;, WebCore::Style::ElementUpdates const&amp;) + 1239
46  com.apple.WebCore             	0x0000000546b9deb2 WebCore::RenderTreeUpdater::updateRenderTree(WebCore::ContainerNode&amp;) + 1170 (RenderTreeUpdater.cpp:194)
47  com.apple.WebCore             	0x0000000546b9d520 WebCore::RenderTreeUpdater::commit(std::__1::unique_ptr&lt;WebCore::Style::Update const, std::__1::default_delete&lt;WebCore::Style::Update const&gt; &gt;) + 624 (RenderTreeUpdater.cpp:126)
48  com.apple.WebCore             	0x0000000544899527 WebCore::Document::updateRenderTree(std::__1::unique_ptr&lt;WebCore::Style::Update const, std::__1::default_delete&lt;WebCore::Style::Update const&gt; &gt;) + 439 (Document.cpp:1996)
49  com.apple.WebCore             	0x0000000544899d30 WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) + 1792 (Document.cpp:2086)
50  com.apple.WebCore             	0x000000054489b1d1 WebCore::Document::updateStyleIfNeeded() + 577 (Document.cpp:2178)
51  com.apple.WebCore             	0x00000005448a45fd WebCore::Document::implicitClose() + 973 (Document.cpp:3183)

&lt;rdar://74275830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761409</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-05-18 18:13:57 -0700</bug_when>
    <thetext>The issue here is that ScrollableArea::updateScrollSnapState which gets called by RenderLayerModelObject::styleDidChange is immediately trying to schedule a scroll. That&apos;s just wrong.
This appears to be a regression from https://trac.webkit.org/changeset/185762.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761410</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-05-18 18:14:18 -0700</bug_when>
    <thetext>I can reproduce this issue with ASAN release build of WebKitTestRunner at r277641.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763466</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-05-25 02:31:28 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #1)
&gt; The issue here is that ScrollableArea::updateScrollSnapState which gets
&gt; called by RenderLayerModelObject::styleDidChange is immediately trying to
&gt; schedule a scroll. That&apos;s just wrong.
&gt; This appears to be a regression from
&gt; https://trac.webkit.org/changeset/185762.

I&apos;m not sure it&apos;s a regression of r185762, the problem is the call to scrollToPositionWithoutAnimation() that was there before r185762. Could it be that the problem is updating snap state from styleDidChange? Should we ensure it&apos;s done after style change/layout? That was introduced in r190330.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763495</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-05-25 06:25:57 -0700</bug_when>
    <thetext>I have been investigating this a bit. I think there are two straight-forward options here: 

 1. Changes to scroll-snap style could just trigger a relayout. This would be very easy to implement and I think it fixes a WPT test.
 2. We could add a new StyleDifference for when it is necessary to recalculate the scroll position.

Ryosuke and Simon, do you have a preference here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763550</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-05-25 10:08:06 -0700</bug_when>
    <thetext>Let&apos;s not introduce a new StyleDifference just to fix this. A relayout seems fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763886</commentid>
    <comment_count>6</comment_count>
      <attachid>429752</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2021-05-26 06:01:21 -0700</bug_when>
    <thetext>Created attachment 429752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764712</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-28 01:59:26 -0700</bug_when>
    <thetext>Committed r278193 (238236@main): &lt;https://commits.webkit.org/238236@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429752.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>429012</attachid>
            <date>2021-05-18 18:13:39 -0700</date>
            <delta_ts>2021-05-18 18:13:39 -0700</delta_ts>
            <desc>Test</desc>
            <filename>repro_517.html</filename>
            <type>text/html</type>
            <size>729</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PHN0eWxlPgogICogewogICAgYm90dG9tOiAwOwogICAgc2Nyb2xsLXNuYXAtdHlwZTogeDsKICAg
IHNjcm9sbC1tYXJnaW46IDFlbSAwIDA7CiAgICB3aWR0aDogMTUwMHB4OwogIH0KICA6bm90KDpl
bXB0eSkgewogICAgc2Nyb2xsLXNuYXAtYWxpZ246IGNlbnRlcjsKICB9CiAgOm50aC1vZi10eXBl
KDEpIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICB9CiAgOnJlYWQtd3JpdGUgewogICAgZm9udC1z
aXplOiAwOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTMwZGVnKTsKICB9CiAgOmxhc3QtY2hpbGQg
ewogICAgd2lkdGg6IDA7CiAgfQo8L3N0eWxlPgo8c2NyaXB0PgogIG9ubG9hZCA9ICgpID0+IHsK
ICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOwogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJykpOwogICAgbGV0IG4wID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBuMC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdmcmFtZScpKTsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobjApOwogICAg
ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpKTsKICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOwogICAgZG9jdW1lbnQuZGVz
aWduTW9kZSA9ICdvbic7CiAgfTsKPC9zY3JpcHQ+Cjxib2R5PjwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429752</attachid>
            <date>2021-05-26 06:01:21 -0700</date>
            <delta_ts>2021-05-28 01:59:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225950-20210526150119.patch</filename>
            <type>text/plain</type>
            <size>10911</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE3NTVhYzdjOGUxZjc3
NDFhZDg5NTI4ZWVlZTE2OTFkZjJiMDIzMy4uN2IyNGUzYTNiYzI4NTkyMGZhMWZlMWM5YTc1MjY4
NTBmMGJlYzcwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA1LTI2ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb3JlIHJlYWRp
bHkgbGF5b3V0IHdoZW4gc2Nyb2xsLXNuYXAgcHJvcGVydGllcyBjaGFuZ2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTk1MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvIGEgbGF5b3V0IHdoZW4gc2Ny
b2xsLXNuYXAgcHJvcGVydGllcyBjaGFuZ2UgaW5zdGVhZCBvZiB0cnlpbmcKKyAgICAgICAgdG8g
dXBkYXRlIHNjcm9sbCBwb3NpdGlvbnMgd2l0aG91dCBhIGxheW91dC4KKworICAgICAgICBUZXN0
OiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0eWxlLWNoYW5nZS1jcmFzaC5odG1sCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdHlsZURpZENoYW5nZSk6IFJlbW92
ZSBjb2RlIGRlYWxpbmcgd2l0aCBzY3JvbGxwb3J0cworICAgICAgICBhcyB0aGlzIGlzIG5vdyBo
YW5kbGVkIGJ5IHRoZSBSZW5kZXJTdHlsZSBkaWZmLiBOb3cgdHJpZ2dlciBhIGxheW91dCBmb3Ig
c2Nyb2xscG9ydHMKKyAgICAgICAgd2hlbiB0aGUgc2Nyb2xsZWQgY2hpbGRyZW4gY2hhbmdlIHRo
ZWlyIHNuYXAgcHJvcGVydGllcy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUNv
bnRhaW5lckZvclNuYXBwaW5nIGNvbnN0KTogTWFkZSB0aGlzIHJldHVybiBhIG5vbi1jb25zdC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpj
aGFuZ2VSZXF1aXJlc0xheW91dCBjb25zdCk6IEFkZGVkIGNvZGUgdG8gaGFuZGxlIHNjcm9sbHBv
cnQgc3BlY2lmaWMKKyAgICAgICAgcHJvcGVydGllcy4KKwogMjAyMS0wNS0xOCAgRnJlZGVyaWMg
V2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXNlIFJlZlB0ciBmb3IgbG9jYWwg
cmVmIGNvdW50ZWQgb2JqZWN0cyBvZiBGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uV2l0aG91
dFVwZGF0aW5nQXBwZWFyYW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyTW9kZWxPYmplY3QuY3BwCmluZGV4IDJiYjVhNTUyODlmNjQ4OTgwMTRmNzQ1ZWI0
ZTFiMTMwMTBhNTE0OWYuLjk3ZWNlZGRlNGIwMzFhZjhjMmUwNGM2MDIwNjMzNzZlZjUyYTViODgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9i
amVjdC5jcHAKQEAgLTEwNywxMyArMTA3LDYgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0
OjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclMKICAg
ICBSZW5kZXJFbGVtZW50OjpzdHlsZVdpbGxDaGFuZ2UoZGlmZiwgbmV3U3R5bGUpOwogfQogCi0j
aWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKLXN0YXRpYyBib29sIHNjcm9sbFNuYXBDb250YWlu
ZXJSZXF1aXJlc1VwZGF0ZUZvclN0eWxlVXBkYXRlKGNvbnN0IFJlbmRlclN0eWxlJiBvbGRTdHls
ZSwgY29uc3QgUmVuZGVyU3R5bGUmIG5ld1N0eWxlKQotewotICAgIHJldHVybiBvbGRTdHlsZS5z
Y3JvbGxQYWRkaW5nKCkgIT0gbmV3U3R5bGUuc2Nyb2xsUGFkZGluZygpIHx8IG9sZFN0eWxlLnNj
cm9sbFNuYXBUeXBlKCkgIT0gbmV3U3R5bGUuc2Nyb2xsU25hcFR5cGUoKTsKLX0KLSNlbmRpZgot
CiB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVy
ZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCiB7CiAgICAgUmVuZGVyRWxl
bWVudDo6c3R5bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOwpAQCAtMTcxLDM4ICsxNjQsMTIg
QEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZl
cmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3QKICAgICB9CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9M
TF9TTkFQKQotICAgIGlmIChvbGRTdHlsZSAmJiBzY3JvbGxTbmFwQ29udGFpbmVyUmVxdWlyZXNV
cGRhdGVGb3JTdHlsZVVwZGF0ZSgqb2xkU3R5bGUsIG5ld1N0eWxlKSkgewotICAgICAgICBpZiAo
UmVuZGVyTGF5ZXIqIHJlbmRlckxheWVyID0gbGF5ZXIoKSkgewotICAgICAgICAgICAgaWYgKGF1
dG8qIHNjcm9sbGFibGVBcmVhID0gcmVuZGVyTGF5ZXItPnNjcm9sbGFibGVBcmVhKCkpIHsKLSAg
ICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+dXBkYXRlU25hcE9mZnNldHMoKTsKLSAgICAg
ICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+dXBkYXRlU2Nyb2xsU25hcFN0YXRlKCk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAoaXNCb2R5KCkgfHwgaXNEb2N1bWVudEVsZW1l
bnRSZW5kZXJlcigpKSB7Ci0gICAgICAgICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IHZpZXco
KS5mcmFtZVZpZXcoKTsKLSAgICAgICAgICAgIGZyYW1lVmlldy51cGRhdGVTbmFwT2Zmc2V0cygp
OwotICAgICAgICAgICAgZnJhbWVWaWV3LnVwZGF0ZVNjcm9sbFNuYXBTdGF0ZSgpOwotICAgICAg
ICAgICAgZnJhbWVWaWV3LnVwZGF0ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yU2Nyb2xsU25hcFByb3Bl
cnRpZXMoKTsKLSAgICAgICAgfQotICAgIH0KLQogICAgIGJvb2wgc2Nyb2xsTWFyZ2luQ2hhbmdl
ZCA9IG9sZFN0eWxlICYmIG9sZFN0eWxlLT5zY3JvbGxNYXJnaW4oKSAhPSBuZXdTdHlsZS5zY3Jv
bGxNYXJnaW4oKTsKICAgICBib29sIHNjcm9sbEFsaWduQ2hhbmdlZCA9IG9sZFN0eWxlICYmIG9s
ZFN0eWxlLT5zY3JvbGxTbmFwQWxpZ24oKSAhPSBuZXdTdHlsZS5zY3JvbGxTbmFwQWxpZ24oKTsK
ICAgICBib29sIHNjcm9sbFNuYXBTdG9wQ2hhbmdlZCA9IG9sZFN0eWxlICYmIG9sZFN0eWxlLT5z
Y3JvbGxTbmFwU3RvcCgpICE9IG5ld1N0eWxlLnNjcm9sbFNuYXBTdG9wKCk7CiAgICAgaWYgKHNj
cm9sbE1hcmdpbkNoYW5nZWQgfHwgc2Nyb2xsQWxpZ25DaGFuZ2VkIHx8IHNjcm9sbFNuYXBTdG9w
Q2hhbmdlZCkgewotICAgICAgICBhdXRvKiBzY3JvbGxTbmFwQm94ID0gZW5jbG9zaW5nU2Nyb2xs
YWJsZUNvbnRhaW5lckZvclNuYXBwaW5nKCk7Ci0gICAgICAgIGlmIChzY3JvbGxTbmFwQm94ICYm
IHNjcm9sbFNuYXBCb3gtPmxheWVyKCkpIHsKLSAgICAgICAgICAgIGNvbnN0IFJlbmRlclN0eWxl
JiBzdHlsZSA9IHNjcm9sbFNuYXBCb3gtPnN0eWxlKCk7Ci0gICAgICAgICAgICBpZiAoc3R5bGUu
c2Nyb2xsU25hcFR5cGUoKS5zdHJpY3RuZXNzICE9IFNjcm9sbFNuYXBTdHJpY3RuZXNzOjpOb25l
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gc2Nyb2xsU25h
cEJveC0+bGF5ZXIoKS0+c2Nyb2xsYWJsZUFyZWEoKSkgewotICAgICAgICAgICAgICAgICAgICBz
Y3JvbGxhYmxlQXJlYS0+dXBkYXRlU25hcE9mZnNldHMoKTsKLSAgICAgICAgICAgICAgICAgICAg
c2Nyb2xsYWJsZUFyZWEtPnVwZGF0ZVNjcm9sbFNuYXBTdGF0ZSgpOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBpZiAoc2Nyb2xsU25hcEJveC0+aXNCb2R5KCkgfHwgc2Nyb2xs
U25hcEJveC0+aXNEb2N1bWVudEVsZW1lbnRSZW5kZXJlcigpKQotICAgICAgICAgICAgICAgICAg
ICBzY3JvbGxTbmFwQm94LT52aWV3KCkuZnJhbWVWaWV3KCkudXBkYXRlU25hcE9mZnNldHMoKTsK
LSAgICAgICAgICAgICAgICAgICAgc2Nyb2xsU25hcEJveC0+dmlldygpLmZyYW1lVmlldygpLnVw
ZGF0ZVNjcm9sbFNuYXBTdGF0ZSgpOwotICAgICAgICAgICAgICAgICAgICBzY3JvbGxTbmFwQm94
LT52aWV3KCkuZnJhbWVWaWV3KCkudXBkYXRlU2Nyb2xsaW5nQ29vcmRpbmF0b3JTY3JvbGxTbmFw
UHJvcGVydGllcygpOwotICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgICAgIGlmIChhdXRv
KiBzY3JvbGxTbmFwQm94ID0gZW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lckZvclNuYXBwaW5n
KCkpCisgICAgICAgICAgICBzY3JvbGxTbmFwQm94LT5zZXROZWVkc0xheW91dCgpOwogICAgIH0K
ICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRl
eCAxZDI5ZDk1ZjAyZTlkOWVlNDI4ZWM3YzdmZjFmYTc5NTkxOTYxOTY1Li4wYTM4ZjYxYjg4NzNj
MDQ5YWZiNWI4NGY0ODkwYzM2YWNlY2ZhYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcApAQCAtNDY5LDcgKzQ2OSw3IEBAIFJlbmRlckJveE1vZGVsT2JqZWN0
JiBSZW5kZXJPYmplY3Q6OmVuY2xvc2luZ0JveE1vZGVsT2JqZWN0KCkgY29uc3QKICAgICByZXR1
cm4gKmxpbmVhZ2VPZlR5cGU8UmVuZGVyQm94TW9kZWxPYmplY3Q+KGNvbnN0X2Nhc3Q8UmVuZGVy
T2JqZWN0Jj4oKnRoaXMpKS5maXJzdCgpOwogfQogCi1jb25zdCBSZW5kZXJCb3gqIFJlbmRlck9i
amVjdDo6ZW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lckZvclNuYXBwaW5nKCkgY29uc3QKK1Jl
bmRlckJveCogUmVuZGVyT2JqZWN0OjplbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyRm9yU25h
cHBpbmcoKSBjb25zdAogewogICAgIC8vIFdhbGsgdXAgdGhlIGNvbnRhaW5lciBjaGFpbiB0byBm
aW5kIHRoZSBzY3JvbGxhYmxlIGNvbnRhaW5lciB0aGF0IGNvbnRhaW5zCiAgICAgLy8gdGhpcyBS
ZW5kZXJPYmplY3QuIFRoZSBpbXBvcnRhbnQgdGhpbmcgaGVyZSBpcyB0aGF0IGBjb250YWluZXIo
KWAgcmVzcGVjdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA4
NmZiNTNjOWVlNDFlZjZhZTVmZWMxMWRkNWJlMDUzNGQ2M2Q0Y2M0Li5hYTBhYjMzY2MzNzY3MWYw
ZGEzMTIxOTkyMGQ3ZDBhNzk0N2E4MmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oCkBAIC0xNTUsNyArMTU1LDcgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBP
UlQgUmVuZGVyQm94JiBlbmNsb3NpbmdCb3goKSBjb25zdDsKICAgICBSZW5kZXJCb3hNb2RlbE9i
amVjdCYgZW5jbG9zaW5nQm94TW9kZWxPYmplY3QoKSBjb25zdDsKLSAgICBjb25zdCBSZW5kZXJC
b3gqIGVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXJGb3JTbmFwcGluZygpIGNvbnN0OworICAg
IFJlbmRlckJveCogZW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lckZvclNuYXBwaW5nKCkgY29u
c3Q7CiAKICAgICAvLyBSZXR1cm4gb3VyIGVuY2xvc2luZyBmbG93IHRocmVhZCBpZiB3ZSBhcmUg
Y29udGFpbmVkIGluc2lkZSBvbmUuIEZvbGxvd3MgdGhlIGNvbnRhaW5pbmcgYmxvY2sgY2hhaW4u
CiAgICAgUmVuZGVyRnJhZ21lbnRlZEZsb3cqIGVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApp
bmRleCBjNDIxM2U3ODBiZTEwNzFkMjUyZTdhYTJmOTg1NzQzZGUzNzYwNjlmLi4yNmE3N2JhMDk0
NWI5ODBhMzhjYzNmNWRhNTkyNDMwOWM0MDUwZjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTk1Miw2ICs5NTIsMTEgQEAgYm9vbCBS
ZW5kZXJTdHlsZTo6Y2hhbmdlUmVxdWlyZXNMYXlvdXQoY29uc3QgUmVuZGVyU3R5bGUmIG90aGVy
LCBPcHRpb25TZXQ8U3R5bGUKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAorI2lm
IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCisgICAgaWYgKHNjcm9sbFBhZGRpbmcoKSAhPSBvdGhl
ci5zY3JvbGxQYWRkaW5nKCkgfHwgc2Nyb2xsU25hcFR5cGUoKSAhPSBvdGhlci5zY3JvbGxTbmFw
VHlwZSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNGEyYWY2ZDhmMTJiZjgxNzlhMzk3ZWRmOWYxNzc1ZjQwNjk1MjRmMC4u
ZGI0ZjFjMTVjMzViYmY2OGY3YmUwYWE3NDE4Mjg0Yjk1MmY2ZGE2MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDIxLTA1LTI2ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBNb3JlIHJlYWRpbHkgbGF5b3V0IHdoZW4gc2Nyb2xsLXNuYXAgcHJvcGVy
dGllcyBjaGFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNTk1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogY3NzMy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1zdHlsZS1jaGFuZ2UtY3Jhc2gtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFw
LXN0eWxlLWNoYW5nZS1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wNS0xOCAgUnlvc3VrZSBO
aXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiBpc1Jl
YWN0aW9uQWxsb3dlZCgpIGluIGVucXVldWVEaXNjb25uZWN0ZWRDYWxsYmFja0lmTmVlZGVkIGR1
cmluZyBkb2N1bWVudCB0ZWFyZG93bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
ZWUxZjY4OTAwZGViNDk4OTViNTBmYmNkZjczMmE5N2YyZDA5MDU4OS4uZWMwMmY0ZDgzNzA0MmQ4
OWMyYmE5NmFjYzVkYzJlOWVmYzUxNzQ3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDUtMjYgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNv
bkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vcmUgcmVhZGlseSBsYXlvdXQgd2hlbiBzY3JvbGwt
c25hcCBwcm9wZXJ0aWVzIGNoYW5nZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI1OTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9z
Y3JvbGwtc25hcC10eXBlLWNoYW5nZS1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgZXhwZWN0YXRpb24K
KyAgICAgICAgZm9yIG5ld2x5IHBhc3NpbmcgdGVzdC4KKwogMjAyMS0wNS0xNiAgQ2FtZXJvbiBN
Y0Nvcm1hY2sgIDxoZXljYW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgTWF0aE1MIFdQVHMg
d2FpdCBmb3IgYWxsIGZvbnQgbG9hZHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvc2Ny
b2xsLXNuYXAvc2Nyb2xsLXNuYXAtc3R5bGUtY2hhbmdlLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtc3R5bGUtY2hhbmdlLWNyYXNo
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQw
MTZjOGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1zdHlsZS1jaGFuZ2UtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEg
QEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvc2Nyb2xsLXNuYXAvc2Nyb2xs
LXNuYXAtc3R5bGUtY2hhbmdlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLXN0eWxlLWNoYW5nZS1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkYjQ4
ZjI2YzY4YmM4MDVjNmUyMjRmNmY5NWJlZTQ5ZTQwNDE3N2UKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jc3MzL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXN0eWxlLWNoYW5nZS1jcmFz
aC5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzxzdHlsZT4KKyAgKiB7CisgICAgYm90dG9tOiAwOwor
ICAgIHNjcm9sbC1zbmFwLXR5cGU6IHg7CisgICAgc2Nyb2xsLW1hcmdpbjogMWVtIDAgMDsKKyAg
ICB3aWR0aDogMTUwMHB4OworICB9CisgIDpub3QoOmVtcHR5KSB7CisgICAgc2Nyb2xsLXNuYXAt
YWxpZ246IGNlbnRlcjsKKyAgfQorICA6bnRoLW9mLXR5cGUoMSkgeworICAgIHBvc2l0aW9uOiBm
aXhlZDsKKyAgfQorICA6cmVhZC13cml0ZSB7CisgICAgZm9udC1zaXplOiAwOworICAgIHRyYW5z
Zm9ybTogcm90YXRlKC0zMGRlZyk7CisgIH0KKyAgOmxhc3QtY2hpbGQgeworICAgIHdpZHRoOiAw
OworICB9Cis8L3N0eWxlPgorPHNjcmlwdD4KKyAgb25sb2FkID0gKCkgPT4geworICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZG9jdW1lbnQu
Ym9keS5vZmZzZXRUb3A7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdzcGFuJykpOworICAgIGxldCBuMCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgIG4wLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zy
YW1lJykpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobjApOworICAgIGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KSk7CisgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisgICAgZG9jdW1lbnQuZGVzaWduTW9k
ZSA9ICdvbic7CisKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgZG9jdW1lbnQuYm9k
eS5pbm5lckhUTUwgPSAnUEFTUyc7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
ICAgIH0sIDApOworICB9OworPC9zY3JpcHQ+Cis8Ym9keT48L2JvZHk+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3Jv
bGwtc25hcC9zY3JvbGwtc25hcC10eXBlLWNoYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Ny
b2xsLXNuYXAtdHlwZS1jaGFuZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGY0MTc1YWEyYmNkNDRjYTZm
YWRhYjEzYTEzNmE0MTliNzMwNjAzNTYuLjcxNjQxZGNlODAyYWM1ZDM3NGQ1ODg5ZTYyZTAxN2Qy
NTEwN2E0ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtc25hcC10eXBlLWNoYW5nZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC1zbmFwLXR5cGUtY2hhbmdlLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBzY3JvbGwtc25hcC10eXBlIG9uIEhUTUwgc2hvdWxk
IGNvbnRyb2wgc25hcHBpbmcgYmVoYXZpb3IgYW5kIGNoYW5naW5nIGl0IHRha2VzIGVmZmVjdCBh
c3NlcnRfZXF1YWxzOiBzY3JvbGxpbmcgc2hvdWxkIG5vdCBzbmFwIGV4cGVjdGVkIDEwMCBidXQg
Z290IDIwMAorUEFTUyBzY3JvbGwtc25hcC10eXBlIG9uIEhUTUwgc2hvdWxkIGNvbnRyb2wgc25h
cHBpbmcgYmVoYXZpb3IgYW5kIGNoYW5naW5nIGl0IHRha2VzIGVmZmVjdAogUEFTUyBzY3JvbGwt
c25hcC10eXBlIG9uIERJViBzaG91bGQgY29udHJvbCBzbmFwcGluZyBiZWhhdmlvciBhbmQgY2hh
bmdpbmcgaXQgdGFrZXMgZWZmZWN0CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>