<?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>222545</bug_id>
          
          <creation_ts>2021-03-01 05:04:33 -0800</creation_ts>
          <short_desc>REGRESSION(r272004): transform transition with delay doesn&apos;t behave correctly</short_desc>
          <delta_ts>2021-03-01 11:52:51 -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>Animations</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=221054</see_also>
          <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="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1734379</commentid>
    <comment_count>0</comment_count>
      <attachid>421811</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-01 05:04:33 -0800</bug_when>
    <thetext>Created attachment 421811
Test

I am filing this bug based on a report made in the Apple Developer Forums at https://developer.apple.com/forums/thread/674449. The post has a test which is attached to this bug. I have managed to regress this to r272004.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734380</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-01 05:06:55 -0800</bug_when>
    <thetext>&lt;rdar://problem/74865413&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734419</commentid>
    <comment_count>2</comment_count>
      <attachid>421827</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-01 07:51:06 -0800</bug_when>
    <thetext>Created attachment 421827
Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734420</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-01 07:52:06 -0800</bug_when>
    <thetext>The new test shows the issue is that the scale that is applied during the initial transition is applied as an additional translate while the second transition is in its delay phase, which is made extremely long.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734421</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-01 07:58:25 -0800</bug_when>
    <thetext>The CADebug output shows we have two animations during the second transition&apos;s delay phase:

    (keyframe-animation
      (beginTime 108545.905575)
      (duration 2.000000)
      (fillMode both)
      (repeatCount 1.000000)
      (additive true)
      (removedOnCompletion false)
      (keyPath transform)
      (calculationMode linear)
      (values (array
        (vector 3 0 0 0 0 3 0 0 0 0 1 0 0 0 0 1)
        (vector 0.6000000238 0 0 0 0 0.6000000238 0 0 0 0 1 0 -1232.400024 0 0 1)))
      (keyTimes (vector 0 1))
      (timingFunctions (vector 0.25 0.1000000015 0.25 1)))
    (basic-animation
      (beginTime 8545.905575)
      (duration 100000.000000)
      (additive true)
      (keyPath transform)
      (from (vector 3 0 0 0 0 3 0 0 0 0 1 0 0 0 0 1))
      (to (vector 3 0 0 0 0 3 0 0 0 0 1 0 0 0 0 1)))))))))))))))))))))))))))))

CA additive animations are applied in reverse order, so the keyframe-animation is the second transition, and since it has fillMode = &quot;both&quot; it applies on top of the basic-animation.

In this case we shouldn&apos;t have the basic-animation at all since the transitions has explicit keyframes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734423</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-01 08:05:43 -0800</bug_when>
    <thetext>I think the fix here is to not generate a non-interpolating &quot;base&quot; animation if the first interpolating animation in the stack for this transform-related property fills backwards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734447</commentid>
    <comment_count>6</comment_count>
      <attachid>421834</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-01 09:28:43 -0800</bug_when>
    <thetext>Created attachment 421834
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734486</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-01 10:49:01 -0800</bug_when>
    <thetext>Committed r273656 (234696@main): &lt;https://commits.webkit.org/234696@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734519</commentid>
    <comment_count>8</comment_count>
      <attachid>421834</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-01 11:45:57 -0800</bug_when>
    <thetext>Comment on attachment 421834
Patch

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

&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:3134
&gt; +            // If we have an animation with an explicit begin time that does not fill backwards and starts with a delay,
&gt; +            // we must create a non-interpolating animation to set the current value for this transform-related property
&gt; +            // until that animation begins.
&gt; +            if (earliestAnimation) {
&gt; +                auto fillMode = earliestAnimation-&gt;m_animation-&gt;fillMode();
&gt; +                if (fillMode != PlatformCAAnimation::Backwards &amp;&amp; fillMode != PlatformCAAnimation::Both) {
&gt; +                    Seconds earliestBeginTime = *earliestAnimation-&gt;computedBeginTime() + animationGroupBeginTime;
&gt; +                    if (earliestBeginTime &gt; currentTime) {
&gt; +                        if (auto* baseValueTransformAnimation = makeBaseValueTransformAnimation(property, TransformationMatrixSource::AskClient, earliestBeginTime)) {
&gt; +                            prepareAnimationForAddition(*baseValueTransformAnimation);
&gt; +                            caAnimations.append(baseValueTransformAnimation-&gt;m_animation);
&gt; +                        }
&gt; +                    }

If this is identical to the block above you should share it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734527</commentid>
    <comment_count>9</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-01 11:52:51 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #8)
&gt; Comment on attachment 421834 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=421834&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:3134
&gt; &gt; +            // If we have an animation with an explicit begin time that does not fill backwards and starts with a delay,
&gt; &gt; +            // we must create a non-interpolating animation to set the current value for this transform-related property
&gt; &gt; +            // until that animation begins.
&gt; &gt; +            if (earliestAnimation) {
&gt; &gt; +                auto fillMode = earliestAnimation-&gt;m_animation-&gt;fillMode();
&gt; &gt; +                if (fillMode != PlatformCAAnimation::Backwards &amp;&amp; fillMode != PlatformCAAnimation::Both) {
&gt; &gt; +                    Seconds earliestBeginTime = *earliestAnimation-&gt;computedBeginTime() + animationGroupBeginTime;
&gt; &gt; +                    if (earliestBeginTime &gt; currentTime) {
&gt; &gt; +                        if (auto* baseValueTransformAnimation = makeBaseValueTransformAnimation(property, TransformationMatrixSource::AskClient, earliestBeginTime)) {
&gt; &gt; +                            prepareAnimationForAddition(*baseValueTransformAnimation);
&gt; &gt; +                            caAnimations.append(baseValueTransformAnimation-&gt;m_animation);
&gt; &gt; +                        }
&gt; &gt; +                    }
&gt; 
&gt; If this is identical to the block above you should share it.

That whole IFDEF is going away Real Soon Now, so I didn&apos;t really bother too much.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>421811</attachid>
            <date>2021-03-01 05:04:33 -0800</date>
            <delta_ts>2021-03-01 07:51:15 -0800</delta_ts>
            <desc>Test</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>952</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">PGJvZHk+CjxzY3JpcHQ+CiAgICBjb25zdCBicyA9IGRvY3VtZW50LmJvZHkuc3R5bGU7CiAgICBi
cy5oZWlnaHQgPSAnMTAwJSc7CiAgICBicy53aWR0aCA9ICcxMDAlJzsKICAgIGNvbnN0IGQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGNvbnN0IGRzID0gZC5zdHlsZTsKICAg
IGRzLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKICAgIGRzLmluc2V0ID0gJzAnOwogICAgZHMubWFy
Z2luID0gJ2F1dG8nOwogICAgZHMuYmFja2dyb3VuZENvbG9yID0gJyMwMDAnOwogICAgZHMuaGVp
Z2h0ID0gJzUwcHgnOwogICAgZHMud2lkdGggPSAnNTBweCc7CiAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZChkKTsKICAgIGNvbnN0IHpvb20gPSAoKSA9PiB7CiAgICAgICAgZHMudHJhbnNpdGlvbkRl
bGF5ID0gJzAuMXMnOwogICAgICAgIGRzLnRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiA9ICdjdWJp
Yy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApJzsKICAgICAgICBkcy50cmFuc2l0
aW9uRHVyYXRpb24gPSAnMC40cyc7CiAgICAgICAgZHMudHJhbnNmb3JtID0gJ3NjYWxlKDMpJzsK
ICAgIH07CiAgICBjb25zdCBleGl0ID0gKCkgPT4gewogICAgICAgIGRzLnRyYW5zaXRpb25EZWxh
eSA9ICcwLjVzJzsKICAgICAgICBkcy50cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24gPSAnY3ViaWMt
YmV6aWVyKDAuMTQwLCAxLjAwMCwgMC4xODAsIDEuMDAwKSc7CiAgICAgICAgZHMudHJhbnNpdGlv
bkR1cmF0aW9uID0gJzJzJzsKICAgICAgICBkcy50cmFuc2Zvcm0gPSBgc2NhbGUoMC42KSB0cmFu
c2xhdGVYKC0ke3dpbmRvdy5pbm5lcldpZHRofXB4KWA7CiAgICB9OwogICAgZC5hZGRFdmVudExp
c3RlbmVyKCd0cmFuc2l0aW9uZW5kJywgZXhpdCwgeyBvbmNlOiB0cnVlIH0pOwogICAgc2V0VGlt
ZW91dCh6b29tLCAxMDAwKTsKPC9zY3JpcHQ+ICAgIAo8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>421827</attachid>
            <date>2021-03-01 07:51:06 -0800</date>
            <delta_ts>2021-03-01 07:51:06 -0800</delta_ts>
            <desc>Test</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>657</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">PGJvZHk+CjxzdHlsZT4KCmRpdiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAz
MDBweDsKICAgIHRvcDogMzAwcHg7CiAgICBoZWlnaHQ6IDUwcHg7CiAgICB3aWR0aDogNTBweDsK
ICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOwp9Cgo8L3N0eWxlPgo8ZGl2PjwvZGl2Pgo8c2Ny
aXB0PgogICAgY29uc3QgZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2RpdicpOwogICAgY29u
c3QgZHMgPSBkLnN0eWxlOwoKICAgIGNvbnN0IHpvb20gPSAoKSA9PiB7CiAgICAgICAgZHMudHJh
bnNpdGlvbkR1cmF0aW9uID0gJzAuNXMnOwogICAgICAgIGRzLnRyYW5zZm9ybSA9ICdzY2FsZSgz
KSc7CiAgICB9OwoKICAgIGNvbnN0IGV4aXQgPSAoKSA9PiB7CiAgICAgICAgZHMudHJhbnNpdGlv
bkRlbGF5ID0gJzEwMDAwMHMnOwogICAgICAgIGRzLnRyYW5zaXRpb25EdXJhdGlvbiA9ICcycyc7
CiAgICAgICAgZHMudHJhbnNmb3JtID0gYHNjYWxlKDAuNikgdHJhbnNsYXRlWCgtJHt3aW5kb3cu
aW5uZXJXaWR0aH1weClgOwogICAgfTsKCiAgICBkLmFkZEV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRp
b25lbmQnLCBleGl0LCB7IG9uY2U6IHRydWUgfSk7CgogICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KHpvb20pOwo8L3NjcmlwdD4gICAgCjwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421834</attachid>
            <date>2021-03-01 09:28:43 -0800</date>
            <delta_ts>2021-03-01 09:57:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222545-20210301182841.patch</filename>
            <type>text/plain</type>
            <size>9943</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY5Y2QyNjliMmViMmIw
N2I1MTIyMDBkYjFmN2NjOTE4OTEwYjFkZS4uMjFmMGI5ODg2NjZlY2VkMWIzNjM4MTg5OWQ3NzE3
Y2Y1MzI4YmUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAzLTAxICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3
MjAwNCk6IHRyYW5zZm9ybSB0cmFuc2l0aW9uIHdpdGggZGVsYXkgZG9lc24ndCBiZWhhdmUgY29y
cmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjI1NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc0ODY1NDEzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIHN1cHBvcnQgYWNjZWxlcmF0ZWQg
YW5pbWF0aW9ucyBvZiBpbmRpdmlkdWFsIHRyYW5zZm9ybSBwcm9wZXJ0aWVzLCB3ZSBpbnRyb2R1
Y2VkIHRoZSBub3Rpb24gb2YKKyAgICAgICAgbm9uLWludGVycG9sYXRpbmcgYW5pbWF0aW9ucyB0
byBhcHBseSB0aGUgdW5kZXJseWluZyB2YWx1ZSBmb3IgYSBnaXZlbiBwcm9wZXJ0eSBiZWZvcmUg
YXBwbHlpbmcKKyAgICAgICAgdGhlIGFjdHVhbCBhbmltYXRpb25zIGZvciB0aGlzIHByb3BlcnR5
IHdpdGggYWRkaXRpdml0eSBzZXQgdG8gdHJ1ZS4KKworICAgICAgICBUaGVzZSBub24taW50ZXJw
b2xhdGluZyBhbmltYXRpb25zIHdlcmUgbWVhbnQgdG8gbGFzdCBiZXR3ZWVuIHRoZSB0aW1lIGF0
IHdoaWNoIGFuaW1hdGlvbnMgd2VyZQorICAgICAgICBjb21taXR0ZWQgYW5kIHRoZSBlZmZlY3Rp
dmUgc3RhcnQgb2YgdGhlIGZpcnN0IGFuaW1hdGlvbiBmb3IgdGhhdCBwcm9wZXJ0eSwgYWNjb3Vu
dGluZyBmb3IgYW55CisgICAgICAgIGRlbGF5LgorCisgICAgICAgIEhvd2V2ZXIsIHdlIG5lZ2xl
Y3RlZCB0byBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhhdCBmaXJzdCBhbmltYXRpb24gaGFkIGEg
ZmlsbCBtb2RlIHRoYXQgd291bGQKKyAgICAgICAgbWFrZSBpdCBmaWxsIGJhY2t3YXJkcywgc3Vj
aCBhcyBDU1MgVHJhbnNpdGlvbnMuIEluIHRoYXQgc2l0dWF0aW9uLCB0aGUgYW5pbWF0aW9uIHdv
dWxkIGhhdmUKKyAgICAgICAgaXRzIGZpcnN0IGtleWZyYW1lIGFwcGxpZWQgb24gdG9wIG9mIHRo
ZSB1bmRlcmx5aW5nIHZhbHVlLCBlZmZlY3RpdmVseSBhcHBseWluZyB0aGUgdW5kZXJseWluZwor
ICAgICAgICB2YWx1ZSB0d2ljZSB3aXRoIGFkZGl0aXZpdHkuCisKKyAgICAgICAgV2Ugbm93IG9u
bHkgYWRkIHRoZXNlIG5vbi1pbnRlcnBvbGF0aW5nIGFuaW1hdGlvbnMgaWYgdGhlIGZpcnN0IGFu
aW1hdGlvbiBoYXMgYSBkZWxheSBhbmQgZG9lcworICAgICAgICBub3QgZmlsbCBiYWNrd2FyZHMu
CisKKyAgICAgICAgVGVzdDogd2ViYW5pbWF0aW9ucy90cmFuc2Zvcm0tdHJhbnNpdGlvbi13aXRo
LWRlbGF5LW9uLWZvcmNlZC1sYXllci13aXRoLXRyYW5zZm9ybS5odG1sCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllckNBOjp1cGRhdGVBbmltYXRpb25zKToKKwogMjAyMS0wMi0yNyAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBib3JkZXItaW1hZ2Ut
c2xpY2UgYmxlbmRpbmcgZG9lcyBub3QgYWNjb3VudCBmb3IgdGhlIGZpbGwga2V5d29yZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXll
ckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5
ZXJDQS5jcHAKaW5kZXggYTlkODZiMmUwNjY1ZTIzYmNiMmJmNjY5NGY1YzI5OTA0MTk2ZmI3ZC4u
MDZjYjA0NmExN2NkMjUwNmRiNjA4YTVjYzI4NzYxMzlkYzM0NTVmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3Bw
CkBAIC0zMDYzLDIyICszMDYzLDI5IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVBbmlt
YXRpb25zKCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAg
ICAgICAgIFNlY29uZHMgZWFybGllc3RCZWdpblRpbWUgPSAwX3M7CisgICAgICAgICAgICBMYXll
clByb3BlcnR5QW5pbWF0aW9uKiBlYXJsaWVzdEFuaW1hdGlvbiA9IG51bGxwdHI7CiAgICAgICAg
ICAgICBmb3IgKGF1dG8qIGFuaW1hdGlvbiA6IGFuaW1hdGlvbnMpIHsKICAgICAgICAgICAgICAg
ICBpZiAoYXV0byBiZWdpblRpbWUgPSBhbmltYXRpb24tPmNvbXB1dGVkQmVnaW5UaW1lKCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKCFlYXJsaWVzdEJlZ2luVGltZSB8fCBlYXJsaWVzdEJl
Z2luVGltZSA+ICpiZWdpblRpbWUpCi0gICAgICAgICAgICAgICAgICAgICAgICBlYXJsaWVzdEJl
Z2luVGltZSA9ICpiZWdpblRpbWU7CisgICAgICAgICAgICAgICAgICAgIGlmICghZWFybGllc3RB
bmltYXRpb24gfHwgKmVhcmxpZXN0QW5pbWF0aW9uLT5jb21wdXRlZEJlZ2luVGltZSgpID4gKmJl
Z2luVGltZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVhcmxpZXN0QW5pbWF0aW9uID0gYW5p
bWF0aW9uOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAg
aWYgKGVhcmxpZXN0QmVnaW5UaW1lKQotICAgICAgICAgICAgICAgIGVhcmxpZXN0QmVnaW5UaW1l
ICs9IGFuaW1hdGlvbkdyb3VwQmVnaW5UaW1lOwotCiAgICAgICAgICAgICBWZWN0b3I8UmVmUHRy
PFBsYXRmb3JtQ0FBbmltYXRpb24+PiBjYUFuaW1hdGlvbnM7Ci0gICAgICAgICAgICBpZiAoZWFy
bGllc3RCZWdpblRpbWUgPiBjdXJyZW50VGltZSkgewotICAgICAgICAgICAgICAgIGlmIChhdXRv
KiBiYXNlVmFsdWVUcmFuc2Zvcm1BbmltYXRpb24gPSBtYWtlQmFzZVZhbHVlVHJhbnNmb3JtQW5p
bWF0aW9uKHByb3BlcnR5LCBUcmFuc2Zvcm1hdGlvbk1hdHJpeFNvdXJjZTo6QXNrQ2xpZW50LCBl
YXJsaWVzdEJlZ2luVGltZSkpIHsKLSAgICAgICAgICAgICAgICAgICAgcHJlcGFyZUFuaW1hdGlv
bkZvckFkZGl0aW9uKCpiYXNlVmFsdWVUcmFuc2Zvcm1BbmltYXRpb24pOwotICAgICAgICAgICAg
ICAgICAgICBjYUFuaW1hdGlvbnMuYXBwZW5kKGJhc2VWYWx1ZVRyYW5zZm9ybUFuaW1hdGlvbi0+
bV9hbmltYXRpb24pOworCisgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGFuIGFuaW1hdGlvbiB3
aXRoIGFuIGV4cGxpY2l0IGJlZ2luIHRpbWUgdGhhdCBkb2VzIG5vdCBmaWxsIGJhY2t3YXJkcyBh
bmQgc3RhcnRzIHdpdGggYSBkZWxheSwKKyAgICAgICAgICAgIC8vIHdlIG11c3QgY3JlYXRlIGEg
bm9uLWludGVycG9sYXRpbmcgYW5pbWF0aW9uIHRvIHNldCB0aGUgY3VycmVudCB2YWx1ZSBmb3Ig
dGhpcyB0cmFuc2Zvcm0tcmVsYXRlZCBwcm9wZXJ0eQorICAgICAgICAgICAgLy8gdW50aWwgdGhh
dCBhbmltYXRpb24gYmVnaW5zLgorICAgICAgICAgICAgaWYgKGVhcmxpZXN0QW5pbWF0aW9uKSB7
CisgICAgICAgICAgICAgICAgYXV0byBmaWxsTW9kZSA9IGVhcmxpZXN0QW5pbWF0aW9uLT5tX2Fu
aW1hdGlvbi0+ZmlsbE1vZGUoKTsKKyAgICAgICAgICAgICAgICBpZiAoZmlsbE1vZGUgIT0gUGxh
dGZvcm1DQUFuaW1hdGlvbjo6QmFja3dhcmRzICYmIGZpbGxNb2RlICE9IFBsYXRmb3JtQ0FBbmlt
YXRpb246OkJvdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgU2Vjb25kcyBlYXJsaWVzdEJlZ2lu
VGltZSA9ICplYXJsaWVzdEFuaW1hdGlvbi0+Y29tcHV0ZWRCZWdpblRpbWUoKSArIGFuaW1hdGlv
bkdyb3VwQmVnaW5UaW1lOworICAgICAgICAgICAgICAgICAgICBpZiAoZWFybGllc3RCZWdpblRp
bWUgPiBjdXJyZW50VGltZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGJh
c2VWYWx1ZVRyYW5zZm9ybUFuaW1hdGlvbiA9IG1ha2VCYXNlVmFsdWVUcmFuc2Zvcm1BbmltYXRp
b24ocHJvcGVydHksIFRyYW5zZm9ybWF0aW9uTWF0cml4U291cmNlOjpBc2tDbGllbnQsIGVhcmxp
ZXN0QmVnaW5UaW1lKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXBhcmVBbmlt
YXRpb25Gb3JBZGRpdGlvbigqYmFzZVZhbHVlVHJhbnNmb3JtQW5pbWF0aW9uKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjYUFuaW1hdGlvbnMuYXBwZW5kKGJhc2VWYWx1ZVRyYW5zZm9y
bUFuaW1hdGlvbi0+bV9hbmltYXRpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCkBA
IC0zMTAxLDI0ICszMTA4LDMwIEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVBbmltYXRp
b25zKCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIFNlY29uZHMgZWFybGllc3RCZWdpblRpbWUgPSAwX3M7CisgICAgICAgICAgICBMYXllclBy
b3BlcnR5QW5pbWF0aW9uKiBlYXJsaWVzdEFuaW1hdGlvbiA9IG51bGxwdHI7CiAgICAgICAgICAg
ICBWZWN0b3I8UmVmUHRyPFBsYXRmb3JtQ0FBbmltYXRpb24+PiBjYUFuaW1hdGlvbnM7CiAgICAg
ICAgICAgICBmb3IgKGF1dG8qIGFuaW1hdGlvbiA6IFdURjo6bWFrZVJldmVyc2VkUmFuZ2UoYW5p
bWF0aW9ucykpIHsKICAgICAgICAgICAgICAgICBpZiAoYXV0byBiZWdpblRpbWUgPSBhbmltYXRp
b24tPmNvbXB1dGVkQmVnaW5UaW1lKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFlYXJs
aWVzdEJlZ2luVGltZSB8fCBlYXJsaWVzdEJlZ2luVGltZSA+ICpiZWdpblRpbWUpCi0gICAgICAg
ICAgICAgICAgICAgICAgICBlYXJsaWVzdEJlZ2luVGltZSA9ICpiZWdpblRpbWU7CisgICAgICAg
ICAgICAgICAgICAgIGlmICghZWFybGllc3RBbmltYXRpb24gfHwgKmVhcmxpZXN0QW5pbWF0aW9u
LT5jb21wdXRlZEJlZ2luVGltZSgpID4gKmJlZ2luVGltZSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGVhcmxpZXN0QW5pbWF0aW9uID0gYW5pbWF0aW9uOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICBwcmVwYXJlQW5pbWF0aW9uRm9yQWRkaXRpb24oKmFuaW1hdGlvbik7CiAg
ICAgICAgICAgICAgICAgY2FBbmltYXRpb25zLmFwcGVuZChhbmltYXRpb24tPm1fYW5pbWF0aW9u
KTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKGVhcmxpZXN0QmVnaW5UaW1lKQot
ICAgICAgICAgICAgICAgIGVhcmxpZXN0QmVnaW5UaW1lICs9IGFuaW1hdGlvbkdyb3VwQmVnaW5U
aW1lOwotCi0gICAgICAgICAgICBpZiAoZWFybGllc3RCZWdpblRpbWUgPiBjdXJyZW50VGltZSkg
ewotICAgICAgICAgICAgICAgIGlmIChhdXRvKiBiYXNlVmFsdWVUcmFuc2Zvcm1BbmltYXRpb24g
PSBtYWtlQmFzZVZhbHVlVHJhbnNmb3JtQW5pbWF0aW9uKHByb3BlcnR5LCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeFNvdXJjZTo6QXNrQ2xpZW50LCBlYXJsaWVzdEJlZ2luVGltZSkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgcHJlcGFyZUFuaW1hdGlvbkZvckFkZGl0aW9uKCpiYXNlVmFsdWVUcmFuc2Zv
cm1BbmltYXRpb24pOwotICAgICAgICAgICAgICAgICAgICBjYUFuaW1hdGlvbnMuYXBwZW5kKGJh
c2VWYWx1ZVRyYW5zZm9ybUFuaW1hdGlvbi0+bV9hbmltYXRpb24pOworICAgICAgICAgICAgLy8g
SWYgd2UgaGF2ZSBhbiBhbmltYXRpb24gd2l0aCBhbiBleHBsaWNpdCBiZWdpbiB0aW1lIHRoYXQg
ZG9lcyBub3QgZmlsbCBiYWNrd2FyZHMgYW5kIHN0YXJ0cyB3aXRoIGEgZGVsYXksCisgICAgICAg
ICAgICAvLyB3ZSBtdXN0IGNyZWF0ZSBhIG5vbi1pbnRlcnBvbGF0aW5nIGFuaW1hdGlvbiB0byBz
ZXQgdGhlIGN1cnJlbnQgdmFsdWUgZm9yIHRoaXMgdHJhbnNmb3JtLXJlbGF0ZWQgcHJvcGVydHkK
KyAgICAgICAgICAgIC8vIHVudGlsIHRoYXQgYW5pbWF0aW9uIGJlZ2lucy4KKyAgICAgICAgICAg
IGlmIChlYXJsaWVzdEFuaW1hdGlvbikgeworICAgICAgICAgICAgICAgIGF1dG8gZmlsbE1vZGUg
PSBlYXJsaWVzdEFuaW1hdGlvbi0+bV9hbmltYXRpb24tPmZpbGxNb2RlKCk7CisgICAgICAgICAg
ICAgICAgaWYgKGZpbGxNb2RlICE9IFBsYXRmb3JtQ0FBbmltYXRpb246OkJhY2t3YXJkcyAmJiBm
aWxsTW9kZSAhPSBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpCb3RoKSB7CisgICAgICAgICAgICAgICAg
ICAgIFNlY29uZHMgZWFybGllc3RCZWdpblRpbWUgPSAqZWFybGllc3RBbmltYXRpb24tPmNvbXB1
dGVkQmVnaW5UaW1lKCkgKyBhbmltYXRpb25Hcm91cEJlZ2luVGltZTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGVhcmxpZXN0QmVnaW5UaW1lID4gY3VycmVudFRpbWUpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChhdXRvKiBiYXNlVmFsdWVUcmFuc2Zvcm1BbmltYXRpb24gPSBtYWtl
QmFzZVZhbHVlVHJhbnNmb3JtQW5pbWF0aW9uKHByb3BlcnR5LCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eFNvdXJjZTo6QXNrQ2xpZW50LCBlYXJsaWVzdEJlZ2luVGltZSkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwcmVwYXJlQW5pbWF0aW9uRm9yQWRkaXRpb24oKmJhc2VWYWx1ZVRyYW5z
Zm9ybUFuaW1hdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FBbmltYXRpb25z
LmFwcGVuZChiYXNlVmFsdWVUcmFuc2Zvcm1BbmltYXRpb24tPm1fYW5pbWF0aW9uKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgyMjllYjliMTY1NGQzZTVhZTM4MjU0ZmU5
MGE1ZWFiNzYwNTc0YjEuLjYzYzA0OGEwY2VhZDYxYTVlMGFmNWUwZTFjMDdhMTllY2QyYTlhMDkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0wMy0wMSAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNzIwMDQpOiB0cmFuc2Zvcm0g
dHJhbnNpdGlvbiB3aXRoIGRlbGF5IGRvZXNuJ3QgYmVoYXZlIGNvcnJlY3RseQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNTQ1CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83NDg2NTQxMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgdGVzdCB3aGVyZSBhbiBlbGVtZW50IHdpdGggYSBu
b24taWRlbnRpdHkgdHJhbnNmb3JtIHN0YXJ0cyBhIHRyYW5zZm9ybSB0cmFuc2l0aW9uIHdpdGgg
YQorICAgICAgICBsb25nIGRlbGF5LiBQcmlvciB0byB0aGlzIHBhdGNoLCB0aGlzIHRlc3QgZmFp
bGVkIGJlY2F1c2UsIHdoaWxlIGluIHRoZSBkZWxheSBwaGFzZSwgdGhlIHRyYW5zaXRpb24KKyAg
ICAgICAgd291bGQgbWVhbiB0aGUgdW5kZXJseWluZyB0cmFuc2Zvcm0gd2FzIGFwcGxpZWQgdHdp
Y2U6IG9uY2UgYnkgdGhlIG5vbi1pbnRlcnBvbGF0aW5nIGFuaW1hdGlvbgorICAgICAgICBnZW5l
cmF0ZWQgZm9yIHRoZSB1bmRlcmx5aW5nICJ0cmFuc2Zvcm0iIHZhbHVlLCBhbmQgb25jZSBieSB0
aGUgZmlyc3Qga2V5ZnJhbWUgb2YgdGhlIHRyYW5zaXRpb24KKyAgICAgICAgc2luY2UgaXQgZmls
bHMgYmFja3dhcmRzLgorCisgICAgICAgICogd2ViYW5pbWF0aW9ucy90cmFuc2Zvcm0tdHJhbnNp
dGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1sYXllci13aXRoLXRyYW5zZm9ybS1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhbmltYXRpb25zL3RyYW5zZm9ybS10cmFuc2l0aW9u
LXdpdGgtZGVsYXktb24tZm9yY2VkLWxheWVyLXdpdGgtdHJhbnNmb3JtLmh0bWw6IEFkZGVkLgor
CiAyMDIxLTAyLTI3ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgTnVs
bCBjaGVjayBBcnJheUJ1ZmZlclZpZXcgUmVmUHRyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJhbmltYXRpb25zL3RyYW5zZm9ybS10cmFuc2l0aW9uLXdpdGgtZGVsYXktb24tZm9yY2VkLWxh
eWVyLXdpdGgtdHJhbnNmb3JtLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRp
b25zL3RyYW5zZm9ybS10cmFuc2l0aW9uLXdpdGgtZGVsYXktb24tZm9yY2VkLWxheWVyLXdpdGgt
dHJhbnNmb3JtLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI0NTBkZTEyYjY1MDQxMmMzOWFl
NTcxMTc1NzhhYTBiODA2ZTFlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmFu
aW1hdGlvbnMvdHJhbnNmb3JtLXRyYW5zaXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGF5ZXIt
d2l0aC10cmFuc2Zvcm0tZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8Ym9keT4KKzxz
dHlsZT4KKworZGl2IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgbGVmdDogMTUwcHg7
CisgICAgdG9wOiAxNTBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIHdpZHRoOiAxMDBweDsK
KyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKKyAgICB0cmFuc2Zvcm06IHNjYWxlKDIpOwor
fQorCis8L3N0eWxlPgorPGRpdj48L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmFuaW1hdGlvbnMvdHJhbnNmb3JtLXRyYW5zaXRpb24td2l0aC1kZWxheS1vbi1mb3Jj
ZWQtbGF5ZXItd2l0aC10cmFuc2Zvcm0uaHRtbCBiL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMv
dHJhbnNmb3JtLXRyYW5zaXRpb24td2l0aC1kZWxheS1vbi1mb3JjZWQtbGF5ZXItd2l0aC10cmFu
c2Zvcm0uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzhhNTFhM2JjN2YyOGE4ZjhmZTY1MGYxYTMzZTQ5MDNi
YjQxODUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy90cmFu
c2Zvcm0tdHJhbnNpdGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1sYXllci13aXRoLXRyYW5zZm9y
bS5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzxib2R5PgorPHN0eWxlPgorCitkaXYgeworICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBsZWZ0OiAxNTBweDsKKyAgICB0b3A6IDE1MHB4OworICAg
IGhlaWdodDogMTAwcHg7CisgICAgd2lkdGg6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6
IGJsYWNrOworICAgIHRyYW5zZm9ybTogc2NhbGUoMik7CisgICAgd2lsbC1jaGFuZ2U6IHRyYW5z
Zm9ybTsKK30KKworLnNjYWxlLWRvd24geworICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5z
Zm9ybTsKKyAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxczsKKyAgICB0cmFuc2l0aW9uLWRlbGF5
OiBjYWxjKDYwICogNjBzKTsKKyAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOworfQorCis8L3N0eWxl
PgorPGRpdj48L2Rpdj4KKzxzY3JpcHQ+CisKK3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaXYnKS5jbGFzc05hbWUgPSAic2NhbGUtZG93biIpOwor
Cis8L3NjcmlwdD4gICAgCis8L2JvZHk+Cg==
</data>
<flag name="review"
          id="440793"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>