<?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>187942</bug_id>
          
          <creation_ts>2018-07-23 23:36:57 -0700</creation_ts>
          <short_desc>[Web Animations] REGRESSION: transition added immediately after element creation doesn&apos;t work</short_desc>
          <delta_ts>2018-07-26 19:29:46 -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>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>
          
          
          <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="Tim Horton">thorton</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>bdakin</cc>
    
    <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1444562</commentid>
    <comment_count>0</comment_count>
      <attachid>345640</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-07-23 23:36:57 -0700</bug_when>
    <thetext>Created attachment 345640
repro

Steps to Reproduce:

1. With &quot;Web Animations and CSS Integration&quot; turned on:
2. Drag the black box.

Expected: A growing animation.
Actual: Most of the time, the box does not appear until the animation would have completed.

If the animation does run correctly, refresh the page and try again.

With &quot;Web Animations and CSS Integration&quot; turned off, this problem never reproduces.

Reproduces in STP 61.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444658</commentid>
    <comment_count>1</comment_count>
      <attachid>345670</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-24 06:49:01 -0700</bug_when>
    <thetext>Created attachment 345670
Reduced test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444664</commentid>
    <comment_count>2</comment_count>
      <attachid>345674</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-24 07:24:26 -0700</bug_when>
    <thetext>Created attachment 345674
Reduced test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444665</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-24 07:24:56 -0700</bug_when>
    <thetext>Reduced test case shows a consistent failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444669</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-24 07:30:39 -0700</bug_when>
    <thetext>The computed keyframes after creating the transitions shows that we think we&apos;re animating the &quot;transform&quot; property from &quot;none&quot; to &quot;none&quot;, ignoring the &quot;scale(0)&quot; initial value.

Animating &quot;opacity&quot; instead from an initial 0 to the default 1 computes the expected keyframes but does not run the animation.

Finally, animating &quot;margin-left&quot; from an initial &quot;100px&quot; to the default &quot;0&quot; computes the expected keyframes _and_ runs the animation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444675</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-24 07:44:19 -0700</bug_when>
    <thetext>getKeyframes() reporting that we&apos;re animating from &quot;none&quot; to &quot;none&quot; is a bug of its own, we actually have a scale(0) operation for the from keyframe. So I think this bug is really about an initial transition of a hardware-accelerated property, so looking at the opacity case should get to the bottom of the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444680</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-24 07:51:56 -0700</bug_when>
    <thetext>Using a CSS Animation or Web Animation does not reproduce the issue either, so it&apos;s specific to CSS Transitions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444814</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-24 13:29:45 -0700</bug_when>
    <thetext>The animation doesn&apos;t start because the renderer says it&apos;s not composited when entering KeyframeEffectReadOnly::updateAcceleratedAnimationState(). There must be something that the codepath used to generate blending keyframes for CSS Animations and Web Animations does that the one used for CSS Transitions doesn&apos;t do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1444843</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-24 14:49:13 -0700</bug_when>
    <thetext>Actually doing what the spec says and setting &quot;will-change&quot; to have all the animated properties in KeyframeEffectReadOnly::apply() does the trick.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445176</commentid>
    <comment_count>9</comment_count>
      <attachid>345786</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-25 14:44:02 -0700</bug_when>
    <thetext>Created attachment 345786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445288</commentid>
    <comment_count>10</comment_count>
      <attachid>345786</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-07-25 21:37:15 -0700</bug_when>
    <thetext>Comment on attachment 345786
Patch

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

&gt; Source/WebCore/animation/DocumentTimeline.cpp:433
&gt; +        }

Don&apos;t you want an else continue here? You continue from the inner loop but would just loop through the remainder of the animations. unless you need to resolve the style for all of them, but i don&apos;t think so.

&gt; LayoutTests/webanimations/accelerated-transition-by-removing-property.html:22
&gt; +setTimeout(() =&gt; {
&gt; +    target.style.removeProperty(&quot;transform&quot;);
&gt; +    target.style.transition = &quot;transform 10s linear&quot;;
&gt; +    setTimeout(() =&gt; {

You should add a test that has multiple animations, only one of which is hardware composited.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445348</commentid>
    <comment_count>11</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-26 01:21:03 -0700</bug_when>
    <thetext>(In reply to Dean Jackson from comment #10)
&gt; Comment on attachment 345786 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=345786&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/animation/DocumentTimeline.cpp:433
&gt; &gt; +        }
&gt; 
&gt; Don&apos;t you want an else continue here? You continue from the inner loop but
&gt; would just loop through the remainder of the animations. unless you need to
&gt; resolve the style for all of them, but i don&apos;t think so.

We do want to resolve the styles for all of them, but we can stop looking for accelerated animations once we&apos;ve found that at least one isn&apos;t.

&gt; &gt; LayoutTests/webanimations/accelerated-transition-by-removing-property.html:22
&gt; &gt; +setTimeout(() =&gt; {
&gt; &gt; +    target.style.removeProperty(&quot;transform&quot;);
&gt; &gt; +    target.style.transition = &quot;transform 10s linear&quot;;
&gt; &gt; +    setTimeout(() =&gt; {
&gt; 
&gt; You should add a test that has multiple animations, only one of which is
&gt; hardware composited.

Good point, will add such a test which will only test there are no layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445351</commentid>
    <comment_count>12</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-07-26 01:33:41 -0700</bug_when>
    <thetext>Committed r234250: &lt;https://trac.webkit.org/changeset/234250&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445352</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-26 01:40:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/42616207&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445628</commentid>
    <comment_count>14</comment_count>
      <attachid>345786</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-07-26 19:29:46 -0700</bug_when>
    <thetext>Comment on attachment 345786
Patch

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

&gt; Source/WebCore/animation/DocumentTimeline.cpp:421
&gt; +            if (auto* effect = animation-&gt;effect()) {
&gt; +                if (is&lt;KeyframeEffectReadOnly&gt;(effect)) {

is&lt;&gt; is null-safe so you can write this as if (is&lt;KeyframeEffectReadOnly&gt;(animation-&gt;effect()))

&gt; Source/WebCore/animation/DocumentTimeline.cpp:422
&gt; +                    auto* keyframeEffect = downcast&lt;KeyframeEffectReadOnly&gt;(effect);

If you&apos;ve already null-checked it&apos;s better to get a reference:
auto&amp; keyframeEffect = downcast&lt;KeyframeEffectReadOnly&gt;(*effect);

&gt; Source/WebCore/animation/DocumentTimeline.cpp:425
&gt; +                            hasNonAcceleratedAnimations = true;

So much nesting.

&gt; Source/WebCore/animation/DocumentTimeline.cpp:429
&gt; +                        if (!hasPendingAcceleratedAnimations)
&gt; +                            hasPendingAcceleratedAnimations = keyframeEffect-&gt;hasPendingAcceleratedAction();

hasPendingAcceleratedAnimations |= keyframeEffect-&gt;hasPendingAcceleratedAction()

&gt; Source/WebCore/animation/DocumentTimeline.cpp:438
&gt; +    return !hasNonAcceleratedAnimations &amp;&amp; hasPendingAcceleratedAnimations;

The !hasNonAcceleratedAnimations is a double negative and hurts my head.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>345640</attachid>
            <date>2018-07-23 23:36:57 -0700</date>
            <delta_ts>2018-07-23 23:36:57 -0700</delta_ts>
            <desc>repro</desc>
            <filename>timer.html</filename>
            <type>text/html</type>
            <size>1577</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDxzdHlsZT4KLmRyYWdneS5pbml0aWFs
IHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7Cn0KCi5kcmFnZ3kgewogICAgd2lkdGg6IDEwMHB4
OwogICAgaGVpZ2h0OiAxMDBweDsKICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOwogICAgcG9z
aXRpb246IGFic29sdXRlOwp9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8c2NyaXB0Pgpm
dW5jdGlvbiBzcGF3bkRyYWdneSgpIHsKICAgIGxldCBkcmFnZ3kgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKICAgIGRyYWdneS5jbGFzc0xpc3QuYWRkKCJkcmFnZ3kiKTsKICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZHJhZ2d5KTsKCiAgICBkcmFnZ3kuYmVnaW5EcmFnID0g
ZnVuY3Rpb24gKGUpIHsKICAgICAgICBpZiAoZS5idXR0b24gIT0gMCkKICAgICAgICAgICAgcmV0
dXJuOwoKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCBkcmFn
Z3kudXBkYXRlRHJhZyk7CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1
cCIsIGRyYWdneS5jYW5jZWxEcmFnKTsKICAgICAgICBkcmFnZ3kudXBkYXRlRHJhZyhlKTsKCiAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGRyYWdneS5zdHlsZS50
cmFuc2l0aW9uID0gInRyYW5zZm9ybSAzcyI7CiAgICAgICAgICAgIGRyYWdneS5jbGFzc0xpc3Qu
cmVtb3ZlKCJpbml0aWFsIik7CiAgICAgICAgfSwgMCk7CiAgICB9CgogICAgZHJhZ2d5LnVwZGF0
ZURyYWcgPSBmdW5jdGlvbiAoZSkgewogICAgICAgIGRyYWdneS5zdHlsZS50b3AgPSBlLmNsaWVu
dFkgLSA1MCArICJweCI7CiAgICAgICAgZHJhZ2d5LnN0eWxlLmxlZnQgPSBlLmNsaWVudFggLSA1
MCArICJweCI7ICAgCiAgICB9CgogICAgZHJhZ2d5LmNhbmNlbERyYWcgPSBmdW5jdGlvbiAoZSkg
ewogICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIGRyYWdn
eS51cGRhdGVEcmFnKTsKICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3Vz
ZXVwIiwgZHJhZ2d5LmNhbmNlbERyYWcpOwogICAgfQoKICAgIGRyYWdneS5hZGRFdmVudExpc3Rl
bmVyKCJtb3VzZWRvd24iLCBkcmFnZ3kuYmVnaW5EcmFnKTsKCiAgICByZXR1cm4gZHJhZ2d5Owp9
CgpmdW5jdGlvbiBzcGF3bkRyYWdneVdpdGhFdmVudChlKSB7CiAgICBpZiAoZS5idXR0b24gIT0g
MCkKICAgICAgICByZXR1cm47CgogICAgbGV0IGRyYWdneSA9IHNwYXduRHJhZ2d5KCk7CiAgICBk
cmFnZ3kuYmVnaW5EcmFnKGUpOwogICAgZHJhZ2d5LmNsYXNzTGlzdC5hZGQoImluaXRpYWwiKTsK
fQoKbGV0IHRlbXBsYXRlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CnRlbXBsYXRl
LmNsYXNzTGlzdC5hZGQoImRyYWdneSIpOwp0ZW1wbGF0ZS5hZGRFdmVudExpc3RlbmVyKCJtb3Vz
ZWRvd24iLCBzcGF3bkRyYWdneVdpdGhFdmVudCk7Cgpkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHRlbXBsYXRlKTsKCjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>345670</attachid>
            <date>2018-07-24 06:49:01 -0700</date>
            <delta_ts>2018-07-24 07:23:56 -0700</delta_ts>
            <desc>Reduced test case</desc>
            <filename>187942.html</filename>
            <type>text/html</type>
            <size>645</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHN0eWxlPgoKLmRyYWdneS5pbml0aWFsIHsK
ICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7Cn0KCi5kcmFnZ3kgewogICAgd2lkdGg6IDEwMHB4Owog
ICAgaGVpZ2h0OiAxMDBweDsKICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOwogICAgcG9zaXRp
b246IGFic29sdXRlOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zOwp9Cgo8L3N0eWxl
Pgo8L2hlYWQ+Cjxib2R5Pgo8c2NyaXB0PgoKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgZXZlbnQgPT4gewogICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwogICAgZWxlbWVudC5jbGFzc0xpc3Qu
YWRkKCJkcmFnZ3kiKTsKICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaW5pdGlhbCIpOwogICAg
ZWxlbWVudC5zdHlsZS50b3AgPSBldmVudC5jbGllbnRZIC0gNTAgKyAicHgiOwogICAgZWxlbWVu
dC5zdHlsZS5sZWZ0ID0gZXZlbnQuY2xpZW50WCAtIDUwICsgInB4IjsKCiAgICBzZXRUaW1lb3V0
KCgpID0+IGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiaW5pdGlhbCIpKTsKfSk7Cgo8L3Njcmlw
dD4KPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>345674</attachid>
            <date>2018-07-24 07:24:26 -0700</date>
            <delta_ts>2018-07-24 07:24:26 -0700</delta_ts>
            <desc>Reduced test case</desc>
            <filename>187942.html</filename>
            <type>text/html</type>
            <size>465</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHN0eWxlPgoKZGl2LmluaXRpYWwgewogICAg
dHJhbnNmb3JtOiBzY2FsZSgwKTsKfQoKZGl2IHsKICAgIHRvcDogMHB4OwogICAgbGVmdDogMHB4
OwogICAgd2lkdGg6IDEwMHB4OwogICAgaGVpZ2h0OiAxMDBweDsKICAgIHBvc2l0aW9uOiBhYnNv
bHV0ZTsKICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOwogICAgdHJhbnNpdGlvbjogdHJhbnNm
b3JtIDI1MG1zOwp9Cgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8c2NyaXB0PgoKY29uc3QgZWxl
bWVudCA9IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2IikpOwplbGVtZW50LmNsYXNzTGlzdC5hZGQoImluaXRpYWwiKTsKc2V0VGltZW91dCgoKSA9
PiBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImluaXRpYWwiKSk7Cgo8L3NjcmlwdD4KPC9ib2R5
Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345786</attachid>
            <date>2018-07-25 14:44:02 -0700</date>
            <delta_ts>2018-07-25 21:37:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187942-20180725234400.patch</filename>
            <type>text/plain</type>
            <size>10799</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzllMDhhNjBlYWViMzUw
YTQ4YzUwZTUzMjdkNzNhNzRhM2Y1ZDIzMC4uNWQ5NDNjMzdkNWUzOTgyNmFhNTY0ZjYwOTUyZDFm
ZjZmYjc2N2NiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTA3LTI1ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBSRUdSRVNTSU9OOiB0cmFuc2l0aW9uIGFkZGVkIGltbWVkaWF0ZWx5IGFmdGVyIGVsZW1lbnQg
Y3JlYXRpb24gZG9lc24ndCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODc5NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiB3ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLXRyYW5zaXRpb24t
YnktcmVtb3ZpbmctcHJvcGVydHkuaHRtbAorCisgICAgICAgIFRoZSBTdHlsZTo6VHJlZVJlc29s
dmVyOjpjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUoKSBmdW5jdGlvbiBleHBlY3RlZCBhIGZs
YWcgdG8gYmUgc2V0IHRoYXQgaW5kaWNhdGVzIHRoYXQKKyAgICAgICAgcnVubmluZyBhbmltYXRp
b25zIG9uIGFuIGVsZW1lbnQgc2hvdWxkIHlpZWxkIGEgY2hhbmdlIGluIGNvbXBvc2l0ZWQgc3Rh
dGUgZm9yIHRoYXQgZWxlbWVudCdzIGxheWVyLiBXZSBkaWQgbm90CisgICAgICAgIGhhdmUgY29k
ZSBhY2NvdW50aW5nIGZvciB0aGlzIGZsYWcgaW4gdGhlIFdlYiBBbmltYXRpb25zIGVuZ2luZS4g
V2Ugbm93IGhhdmUgYSByZXNvbHZlQW5pbWF0aW9uc0ZvckVsZW1lbnQoKQorICAgICAgICBtZXRo
b2Qgb24gRG9jdW1lbnRUaW1lbGluZSB3aGljaCBsb29rcyBhdCBhbGwgYW5pbWF0aW9ucyByZXNv
bHZlZCBvbiB0aGUgZWxlbWVudCBhbmQgc2VlIGlmIGFsbCBvZiB0aGVtIGFyZQorICAgICAgICBy
dW5uaW5nIGFjY2VsZXJhdGVkIGFuZCB3aGV0aGVyIGF0IGxlYXN0IG9uZSBvZiB0aGVtIGlzIHBl
bmRpbmcuIEluIHRoYXQgY2FzZSwgd2Ugc2V0IHRoZSBzaG91bGRSZWNvbXBvc2l0ZUxheWVyCisg
ICAgICAgIGZsYWcgaW4gY3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKCkgdG8gdHJ1ZSB3aGlj
aCBndWFyYW50ZWVzIHRoZSBlbGVtZW50J3MgbGF5ZXIgd2lsbCBoYXZlIGEgYmFja2luZyB3aGVu
CisgICAgICAgIHdlIGF0dGVtcHQgdG8gc3RhcnQgdGhlIGFuaW1hdGlvbiBpbiBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5OjphcHBseVBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMoKSB3aGVyZSB3ZSB3
b3VsZAorICAgICAgICBoYXZlIHByZXZpb3VzbHkgZmFpbGVkIHRvIGhhdmUgbGF5ZXItYmFja2Vk
IHJlbmRlcmVyIHRvIHBlcmZvcm0gYW4gYWNjZWxlcmF0ZWQgYW5pbWF0aW9uIG9uICh1bmRlciBj
ZXJ0YWluCisgICAgICAgIGNpcmN1bXN0YW5jZXMsIHNlZSB0ZXN0KS4KKworICAgICAgICAqIGFu
aW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
VGltZWxpbmU6OnJlc29sdmVBbmltYXRpb25zRm9yRWxlbWVudCk6CisgICAgICAgICogYW5pbWF0
aW9uL0RvY3VtZW50VGltZWxpbmUuaDoKKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZl
Y3RSZWFkT25seS5oOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6
aGFzUGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9uIGNvbnN0KToKKyAgICAgICAgKiBzdHlsZS9TdHls
ZVRyZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJlc29sdmVy
OjpjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUpOgorCiAyMDE4LTA3LTI0ICBSeWFuIEhhZGRh
ZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIyMzQxMjEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1l
bnRUaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGlu
ZS5jcHAKaW5kZXggZDYzMDhlZTQ2M2RlZDk1ZmJkMmQwYzg2MTViODJkM2M5MjkyNGVhZS4uOWU4
YzMwZmNkYjVjNWQ5ZmQwMWQ3MGRhNDQxMWQzNWFmMjI1NDVhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0RvY3VtZW50VGltZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50VGltZWxpbmUuaCIKIAogI2luY2x1ZGUgIkFuaW1hdGlvblBsYXliYWNr
RXZlbnQuaCIKKyNpbmNsdWRlICJDU1NQcm9wZXJ0eUFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgogI2luY2x1ZGUgIkRlY2xhcmF0aXZlQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKQEAgLTQwOSw2ICs0MTAsMzQgQEAgdm9pZCBEb2N1bWVudFRpbWVsaW5lOjph
cHBseVBlbmRpbmdBY2NlbGVyYXRlZEFuaW1hdGlvbnMoKQogICAgIG1fYWNjZWxlcmF0ZWRBbmlt
YXRpb25zUGVuZGluZ1J1bm5pbmdTdGF0ZUNoYW5nZS5jbGVhcigpOwogfQogCitib29sIERvY3Vt
ZW50VGltZWxpbmU6OnJlc29sdmVBbmltYXRpb25zRm9yRWxlbWVudChFbGVtZW50JiBlbGVtZW50
LCBSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5bGUpCit7CisgICAgYm9vbCBoYXNOb25BY2NlbGVyYXRl
ZEFuaW1hdGlvbnMgPSBmYWxzZTsKKyAgICBib29sIGhhc1BlbmRpbmdBY2NlbGVyYXRlZEFuaW1h
dGlvbnMgPSB0cnVlOworICAgIGZvciAoY29uc3QgYXV0byYgYW5pbWF0aW9uIDogYW5pbWF0aW9u
c0ZvckVsZW1lbnQoZWxlbWVudCkpIHsKKyAgICAgICAgYW5pbWF0aW9uLT5yZXNvbHZlKHRhcmdl
dFN0eWxlKTsKKyAgICAgICAgaWYgKCFoYXNOb25BY2NlbGVyYXRlZEFuaW1hdGlvbnMpIHsKKyAg
ICAgICAgICAgIGlmIChhdXRvKiBlZmZlY3QgPSBhbmltYXRpb24tPmVmZmVjdCgpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKGlzPEtleWZyYW1lRWZmZWN0UmVhZE9ubHk+KGVmZmVjdCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgYXV0byoga2V5ZnJhbWVFZmZlY3QgPSBkb3duY2FzdDxLZXlmcmFt
ZUVmZmVjdFJlYWRPbmx5PihlZmZlY3QpOworICAgICAgICAgICAgICAgICAgICBmb3IgKGF1dG8g
Y3NzUHJvcGVydHlJZCA6IGtleWZyYW1lRWZmZWN0LT5hbmltYXRlZFByb3BlcnRpZXMoKSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFDU1NQcm9wZXJ0eUFuaW1hdGlvbjo6YW5pbWF0
aW9uT2ZQcm9wZXJ0eUlzQWNjZWxlcmF0ZWQoY3NzUHJvcGVydHlJZCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoYXNOb25BY2NlbGVyYXRlZEFuaW1hdGlvbnMgPSB0cnVlOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFoYXNQZW5kaW5nQWNjZWxlcmF0ZWRB
bmltYXRpb25zKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1BlbmRpbmdBY2NlbGVy
YXRlZEFuaW1hdGlvbnMgPSBrZXlmcmFtZUVmZmVjdC0+aGFzUGVuZGluZ0FjY2VsZXJhdGVkQWN0
aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBJZiB0aGVyZSBhcmUgbm8gbm9uLWFj
Y2VsZXJhdGVkIGFuaW1hdGlvbnMgYW5kIHdlJ3ZlIGVuY291bnRlcmVkIGF0IGxlYXN0IG9uZSBw
ZW5kaW5nCisgICAgLy8gYWNjZWxlcmF0ZWQgYW5pbWF0aW9uLCB3ZSBzaG91bGQgcmVjb21wb3Np
dGUgdGhpcyBlbGVtZW50J3MgbGF5ZXIgZm9yIGFuaW1hdGlvbiBwdXJwb3Nlcy4KKyAgICByZXR1
cm4gIWhhc05vbkFjY2VsZXJhdGVkQW5pbWF0aW9ucyAmJiBoYXNQZW5kaW5nQWNjZWxlcmF0ZWRB
bmltYXRpb25zOworfQorCiBib29sIERvY3VtZW50VGltZWxpbmU6OnJ1bm5pbmdBbmltYXRpb25z
Rm9yRWxlbWVudEFyZUFsbEFjY2VsZXJhdGVkKEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgLy8g
RklYTUU6IFRoaXMgd2lsbCBsZXQgYW5pbWF0aW9ucyBydW4gdXNpbmcgaGFyZHdhcmUgY29tcG9z
aXRpbmcgZXZlbiBpZiBsYXRlciBpbiB0aGUgYWN0aXZlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0RvY3VtZW50VGltZWxpbmUuaAppbmRleCA1OGM5YWU5OTc2ZjMwNmRhOTU4NzIyYWRjZWI1
ZjJjNzJmODdjMjZkLi5kMjY3ZDRmNmNjYTk1NDIxM2Y2N2UwNjQ5Njk2ODhkMDI5N2E1ODE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRG9jdW1lbnRUaW1lbGluZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9Eb2N1bWVudFRpbWVsaW5lLmgKQEAgLTYwLDYg
KzYwLDcgQEAgcHVibGljOgogICAgIHZvaWQgYW5pbWF0aW9uQWNjZWxlcmF0ZWRSdW5uaW5nU3Rh
dGVEaWRDaGFuZ2UoV2ViQW5pbWF0aW9uJik7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdBY2NlbGVy
YXRlZEFuaW1hdGlvbnMoKTsKICAgICBib29sIHJ1bm5pbmdBbmltYXRpb25zRm9yRWxlbWVudEFy
ZUFsbEFjY2VsZXJhdGVkKEVsZW1lbnQmKTsKKyAgICBib29sIHJlc29sdmVBbmltYXRpb25zRm9y
RWxlbWVudChFbGVtZW50JiwgUmVuZGVyU3R5bGUmKTsKICAgICB2b2lkIGRldGFjaEZyb21Eb2N1
bWVudCgpOwogCiAgICAgdm9pZCBlbnF1ZXVlQW5pbWF0aW9uUGxheWJhY2tFdmVudChBbmltYXRp
b25QbGF5YmFja0V2ZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
S2V5ZnJhbWVFZmZlY3RSZWFkT25seS5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0UmVhZE9ubHkuaAppbmRleCAzMjFhN2JiNDIzMWRmM2Y3YTRmZjI3MzIwMTk1YjBi
ZTUxMzg2MTMxLi5lZWFiMDE0NzBjNzIxY2IwNzllOGFiNWU3MjA0NDg5YjRhM2IzNGM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5LmgK
QEAgLTEwOCw2ICsxMDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhbmltYXRpb25TdXNwZW5zaW9u
U3RhdGVEaWRDaGFuZ2UoYm9vbCkgZmluYWw7CiAgICAgdm9pZCBhcHBseVBlbmRpbmdBY2NlbGVy
YXRlZEFjdGlvbnMoKTsKICAgICBib29sIGlzUnVubmluZ0FjY2VsZXJhdGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXN0UmVjb3JkZWRBY2NlbGVyYXRlZEFjdGlvbiAhPSBBY2NlbGVyYXRlZEFjdGlv
bjo6U3RvcDsgfQorICAgIGJvb2wgaGFzUGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gIW1fcGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucy5pc0VtcHR5KCkgJiYgaXNSdW5u
aW5nQWNjZWxlcmF0ZWQoKTsgfQogCiAgICAgUmVuZGVyRWxlbWVudCogcmVuZGVyZXIoKSBjb25z
dCBvdmVycmlkZTsKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgY3VycmVudFN0eWxlKCkgY29uc3Qg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNv
bHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKaW5k
ZXggZjRjNWM3YzFkY2U2ZTZjZDkxMGFmZDgxMTI2YjU2NzNkYWE5NDNmOS4uMjljMmJlMDJkZjc0
OWU1NjdkZTgyMDg0ODkwYWI5NzJjZjRkYTMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlVHJlZVJlc29sdmVyLmNwcApAQCAtMjg2LDYgKzI4Niw4IEBAIEVsZW1lbnRVcGRhdGUgVHJl
ZVJlc29sdmVyOjpjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUoc3RkOjp1bmlxdWVfcHRyPFJl
bmRlclN0CiB7CiAgICAgYXV0byogb2xkU3R5bGUgPSByZW5kZXJPckRpc3BsYXlDb250ZW50c1N0
eWxlKGVsZW1lbnQpOwogCisgICAgYm9vbCBzaG91bGRSZWNvbXBvc2l0ZUxheWVyID0gZmFsc2U7
CisKICAgICAvLyBOZXcgY29kZSBwYXRoIGZvciBDU1MgQW5pbWF0aW9ucyBhbmQgQ1NTIFRyYW5z
aXRpb25zLgogICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygp
LndlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQoKSkgewogICAgICAgICAvLyBGaXJz
dCwgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBhbnkgbmV3IENTUyBhbmltYXRpb24gb2NjdXJp
bmcgb24gdGhpcyBlbGVtZW50IGhhcyBhIG1hdGNoaW5nIFdlYkFuaW1hdGlvbgpAQCAtMzAzLDE3
ICszMDUsMTEgQEAgRWxlbWVudFVwZGF0ZSBUcmVlUmVzb2x2ZXI6OmNyZWF0ZUFuaW1hdGVkRWxl
bWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3QKICAgICBpZiAoYXV0byB0aW1lbGlu
ZSA9IG1fZG9jdW1lbnQuZXhpc3RpbmdUaW1lbGluZSgpKSB7CiAgICAgICAgIC8vIE5vdyB3ZSBj
YW4gdXBkYXRlIGFsbCBXZWIgYW5pbWF0aW9ucywgd2hpY2ggd2lsbCBpbmNsdWRlIENTUyBBbmlt
YXRpb25zIGFzIHdlbGwKICAgICAgICAgLy8gYXMgYW5pbWF0aW9ucyBjcmVhdGVkIHZpYSB0aGUg
SlMgQVBJLgotICAgICAgICBhdXRvIHdlYkFuaW1hdGlvbnMgPSB0aW1lbGluZS0+YW5pbWF0aW9u
c0ZvckVsZW1lbnQoZWxlbWVudCk7Ci0gICAgICAgIGlmICghd2ViQW5pbWF0aW9ucy5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgIGF1dG8gYW5pbWF0ZWRTdHlsZSA9IFJlbmRlclN0eWxlOjpjbG9u
ZVB0cigqbmV3U3R5bGUpOwotICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBhbmltYXRpb24g
OiB3ZWJBbmltYXRpb25zKQotICAgICAgICAgICAgICAgIGFuaW1hdGlvbi0+cmVzb2x2ZSgqYW5p
bWF0ZWRTdHlsZSk7Ci0gICAgICAgICAgICBuZXdTdHlsZSA9IFdURk1vdmUoYW5pbWF0ZWRTdHls
ZSk7Ci0gICAgICAgIH0KKyAgICAgICAgYXV0byBhbmltYXRlZFN0eWxlID0gUmVuZGVyU3R5bGU6
OmNsb25lUHRyKCpuZXdTdHlsZSk7CisgICAgICAgIHNob3VsZFJlY29tcG9zaXRlTGF5ZXIgPSB0
aW1lbGluZS0+cmVzb2x2ZUFuaW1hdGlvbnNGb3JFbGVtZW50KGVsZW1lbnQsICphbmltYXRlZFN0
eWxlKTsKKyAgICAgICAgbmV3U3R5bGUgPSBXVEZNb3ZlKGFuaW1hdGVkU3R5bGUpOwogICAgIH0K
IAotICAgIGJvb2wgc2hvdWxkUmVjb21wb3NpdGVMYXllciA9IGZhbHNlOwotCiAgICAgLy8gT2xk
IGNvZGUgcGF0aCBmb3IgQ1NTIEFuaW1hdGlvbnMgYW5kIENTUyBUcmFuc2l0aW9ucy4KICAgICBp
ZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViQW5pbWF0aW9u
c0NTU0ludGVncmF0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAgIGF1dG8mIGFuaW1hdGlvbkNvbnRy
b2xsZXIgPSBtX2RvY3VtZW50LmZyYW1lKCktPmFuaW1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU3MDNiZWFk
NzVjOWY2ODhhOTZjNjQwZWJjOTQ0ZjQ0MGVjMDMwMDAuLjY3MTA3ZmYyYmU4N2U1MzI0YjgzNTlm
N2Q2ZWU1MTM2ZWQyMmE3ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0wNy0yNSAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0aW9u
c10gUkVHUkVTU0lPTjogdHJhbnNpdGlvbiBhZGRlZCBpbW1lZGlhdGVseSBhZnRlciBlbGVtZW50
IGNyZWF0aW9uIGRvZXNuJ3Qgd29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg3OTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ3JlYXRpbmcgYSBuZXcgdGVzdCB0aGF0IHJ1bnMgYSB0cmFuc2l0aW9u
IGJhc2VkIG9uIGFuIGV4cGxpY2l0IHZhbHVlIGJlaW5nIHJlbW92ZWQgaW4gZmF2b3IKKyAgICAg
ICAgb2YgdGhlIGltcGxpY2l0IHZhbHVlIG9mIGEgcHJvcGVydHkgdGhhdCBjYW4gYmUgYWNjZWxl
cmF0ZWQuIFRvIGNoZWNrIHRoYXQgd2UgaW5kZWVkIHJ1biB0aGUKKyAgICAgICAgYW5pbWF0aW9u
LCB3ZSBoYXZlIGEgY2FjaGUgdGhhdCBjb3ZlcnMgdGhlIGVudGlyZSByYW5nZSBvZiBpbnRlcnBv
bGF0ZWQgdmFsdWVzIGV4Y2VwdCBmb3IgdGhlCisgICAgICAgIHN0YXJ0IGFuZCBlbmQgdmFsdWVz
IGFuZCB3YWl0IDEwMG1zIGFmdGVyIGNyZWF0aW5nIHRoZSB0cmFuc2l0aW9uIHRvIGVuZCB0aGUg
dGVzdC4gUHJpb3IgdG8gdGhpcworICAgICAgICBwYXRjaCwgdGhlIGVsZW1lbnQgd291bGQgYmUg
YXQgaXRzIHN0YXJ0IHZhbHVlIGFuZCBhIDFweCByZWQgbGluZSB3b3VsZCBzaG93IHRvIHRoZSBy
aWdodCBvZiB0aGUKKyAgICAgICAgY2FjaGUuIFdpdGggdGhpcyBwYXRjaCwgdGhlIHJlZCBsaW5l
IGlzIGhpZGRlbiBieSB0aGUgY2FjaGUgYXMgaXQncyBhbmltYXRlZC4KKworICAgICAgICAqIHdl
YmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtdHJhbnNpdGlvbi1ieS1yZW1vdmluZy1wcm9wZXJ0eS1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVk
LXRyYW5zaXRpb24tYnktcmVtb3ZpbmctcHJvcGVydHkuaHRtbDogQWRkZWQuCisKIDIwMTgtMDct
MjQgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFyayBo
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNld29ya2VyY2xpZW50cy1tYXRjaEFsbC5o
dHRwcy5odG1sIGFzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9u
cy9hY2NlbGVyYXRlZC10cmFuc2l0aW9uLWJ5LXJlbW92aW5nLXByb3BlcnR5LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLXRyYW5zaXRpb24tYnkt
cmVtb3ZpbmctcHJvcGVydHktZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzQ3YTI0ZTc3OTQy
ZDkyMTgxMjEyMWIwMjI3ZDU3ZTE0NzMwOGY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC10cmFuc2l0aW9uLWJ5LXJlbW92aW5nLXByb3Bl
cnR5LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSBAQAorPGRpdiBzdHlsZT0icG9zaXRpb246IGFi
c29sdXRlOyB0b3A6IDA7IGxlZnQ6IDFweDsgd2lkdGg6IDc5OHB4OyBoZWlnaHQ6IDEwMHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiBibGFjazsiPjwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtdHJh
bnNpdGlvbi1ieS1yZW1vdmluZy1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0
aW9ucy9hY2NlbGVyYXRlZC10cmFuc2l0aW9uLWJ5LXJlbW92aW5nLXByb3BlcnR5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTU5OTdlMjBiMjJhYjc1ZjczODhkMGE5NTM0ODkyNjU5MzUxMWEwZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtdHJhbnNp
dGlvbi1ieS1yZW1vdmluZy1wcm9wZXJ0eS5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlV2ViQW5pbWF0aW9uc0NTU0lu
dGVncmF0aW9uPXRydWUgXSAtLT4KKzxib2R5PgorPHN0eWxlPgorICAgIGRpdiB7CisgICAgICAg
IHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgdG9w
OiAwOworICAgIH0KKzwvc3R5bGU+Cis8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSJsZWZ0OiAwOyB3
aWR0aDogMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ij48L2Rpdj4KKzxkaXYgc3R5bGU9Imxl
ZnQ6IDFweDsgd2lkdGg6IDc5OHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsiPjwvZGl2Pgor
PHNjcmlwdD4KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworCitjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFy
Z2V0Iik7Cit0YXJnZXQuc3R5bGUudHJhbnNmb3JtID0gInRyYW5zbGF0ZVgoNzk5cHgpIjsKK3Nl
dFRpbWVvdXQoKCkgPT4geworICAgIHRhcmdldC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNm
b3JtIik7CisgICAgdGFyZ2V0LnN0eWxlLnRyYW5zaXRpb24gPSAidHJhbnNmb3JtIDEwcyBsaW5l
YXIiOworICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCAxMDApOwor
fSk7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>
<flag name="review"
          id="363694"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>