<?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>109010</bug_id>
          
          <creation_ts>2013-02-05 23:38:23 -0800</creation_ts>
          <short_desc>SVG paced value animations overwrite user-provided keyTimes</short_desc>
          <delta_ts>2021-04-13 01:06:15 -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>SVG</component>
          <version>420+</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=222715</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="Philip Rogers">pdr</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rniwa</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>826111</commentid>
    <comment_count>0</comment_count>
      <attachid>186766</attachid>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-02-05 23:38:23 -0800</bug_when>
    <thetext>Created attachment 186766
Repro

Paced animations can synthesize keytimes in SVGAnimationElement::calculateKeyTimesForCalcModePaced() but this overwrites user-provided values. If an animation&apos;s calcMode is later changed to be something other than &apos;paced&apos;, m_keyTimes will contain synthesized values instead of the user-provided values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749493</commentid>
    <comment_count>1</comment_count>
      <attachid>425821</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-04-12 18:24:03 -0700</bug_when>
    <thetext>Created attachment 425821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749497</commentid>
    <comment_count>2</comment_count>
      <attachid>425821</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-12 18:41:11 -0700</bug_when>
    <thetext>Comment on attachment 425821
Patch

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

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:385
&gt; -        if (m_keyTimes[index] &gt; percent)
&gt; +        if (keyTimes()[index] &gt; percent)

Can we store a reference instead of keep calling this function?

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:414
&gt; +    float fromPercent = keyTimes()[index];
&gt; +    float toPercent = keyTimes()[index + 1];

Ditto.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:432
&gt; +    if (calcMode() == CalcMode::Discrete &amp;&amp; keyTimes().size() == 2)

Ditto.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:489
&gt; +        fromPercent = keyTimes()[index];
&gt; +        toPercent = keyTimes()[index + 1];

Ditto.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:537
&gt; +        &amp;&amp; (hasAttributeWithoutSynchronization(SVGNames::keyPointsAttr) &amp;&amp; hasAttributeWithoutSynchronization(SVGNames::keyTimesAttr) &amp;&amp; (keyTimes().size() &lt; 2 || keyTimes().size() != m_keyPoints.size())))

Ditto.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:552
&gt; +            &amp;&amp; (calcMode == CalcMode::Discrete || !keyTimes().size() || keyTimes().last() == 1)

Ditto.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:554
&gt; +            &amp;&amp; (!hasAttributeWithoutSynchronization(SVGNames::keyPointsAttr) || (keyTimes().size() &gt; 1 &amp;&amp; keyTimes().size() == m_keyPoints.size()));

Ditto.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:560
&gt; +        m_animationValid = calcMode == CalcMode::Paced || !hasAttributeWithoutSynchronization(SVGNames::keyPointsAttr) || (keyTimes().size() &gt; 1 &amp;&amp; keyTimes().size() == m_keyPoints.size());

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749499</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-12 18:42:47 -0700</bug_when>
    <thetext>*** Bug 222715 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749510</commentid>
    <comment_count>4</comment_count>
      <attachid>425824</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-04-12 20:12:33 -0700</bug_when>
    <thetext>Created attachment 425824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749570</commentid>
    <comment_count>5</comment_count>
      <attachid>425821</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-04-13 00:34:07 -0700</bug_when>
    <thetext>Comment on attachment 425821
Patch

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

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:-352
&gt; -    Vector&lt;float&gt; keyTimesForPaced;

This is the reason of the assertions in some svg layout tests. Appending times directly into m_keyTimesForPaced allowed partial calculation. If one of the distances is zero this function will return with incomplete m_keyTimesForPaced. To fix these assertions we need to either set m_keyTimesForPaced to a complete list or an empty list.

&gt; LayoutTests/svg/animations/animate-calcMode-paced-overwrite-key-times.html:10
&gt; +      setTimeout(function() {

This test was failing on the EWS because of this setTimeout(). We need to add waitUntilDone()/notifyDone() to properly synchronize the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749581</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-13 01:05:33 -0700</bug_when>
    <thetext>Committed r275868 (236433@main): &lt;https://commits.webkit.org/236433@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425824.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749582</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-13 01:06:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/76580027&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>186766</attachid>
            <date>2013-02-05 23:38:23 -0800</date>
            <delta_ts>2013-02-05 23:38:23 -0800</delta_ts>
            <desc>Repro</desc>
            <filename>dynamicKeyTimes.html</filename>
            <type>text/html</type>
            <size>1164</size>
            <attacher name="Philip Rogers">pdr</attacher>
            
              <data encoding="base64">PGh0bWw+ClRlc3QgZm9yIGR5bmFtaWMgY2FsY01vZGUgY2hhbmdlczogVGhpcyB0ZXN0IHBhc3Nl
cyBpZiB0aGVyZSBhcmUgdHdvIGdyZWVuIHNxdWFyZXMgYW5kIG5vIHJlZC48YnIvPgoKPHN2ZyBp
ZD0ic3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MDAiIGhl
aWdodD0iNTAwIj4KICA8IS0tIFRoZSBmb2xsb3dpbmcgdHdvIHJlY3RzIHNob3VsZCBiZSBvY2Ns
dWRlZCBpZiB0aGUgdGVzdCBwYXNzZXMuIC0tPgogIDxyZWN0IHg9IjE1MSIgeT0iMSIgd2lkdGg9
Ijk4IiBoZWlnaHQ9Ijk4IiBmaWxsPSJyZWQiLz4KICA8cmVjdCB4PSIxNTEiIHk9IjE1MSIgd2lk
dGg9Ijk4IiBoZWlnaHQ9Ijk4IiBmaWxsPSJyZWQiLz4KCiAgPCEtLSBUaGUgZm9sbG93aW5nIHR3
byByZWN0cyBzaG91bGQgb2NjbHVkZSB0aGUgcmVkIHJlY3RzIGFib3ZlLiAtLT4KICA8cmVjdCB4
PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iPgogICAgPGFu
aW1hdGUgaWQ9ImFuaW1hdGUxIiBhdHRyaWJ1dGVOYW1lPSJ4IiBkdXI9IjEwcyIgY2FsY01vZGU9
InBhY2VkIiB2YWx1ZXM9IjEwMDsgMTUwOyAyMDA7IiBrZXlUaW1lcz0iMDsgMC4yOyAxIi8+CiAg
PC9yZWN0PgogIDxyZWN0IHg9IjAiIHk9IjE1MCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZp
bGw9ImdyZWVuIj4KICAgIDxhbmltYXRlIGlkPSJhbmltYXRlMiIgYXR0cmlidXRlTmFtZT0ieCIg
ZHVyPSIxMHMiIGNhbGNNb2RlPSJsaW5lYXIiIHZhbHVlcz0iMTAwOyAxNTA7IDIwMDsiIGtleVRp
bWVzPSIwOyAwLjI7IDEiLz4KICA8L3JlY3Q+CjxzY3JpcHQ+CnZhciBzdmcgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnc3ZnJyk7CnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgLy8gYW5pbWF0
ZTEncyBrZXlUaW1lcyBzaG91bGQgbm90IGJlIGFmZmVjdGVkIGJ5IHN0YXJ0aW5nIHdpdGggY2Fs
Y01vZGU9cGFjZWQKICB2YXIgYW5pbWF0ZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5p
bWF0ZTEnKTsKICBhbmltYXRlMS5zZXRBdHRyaWJ1dGUoJ2NhbGNNb2RlJywgJ2xpbmVhcicpOwog
IHN2Zy5wYXVzZUFuaW1hdGlvbnMoKTsKICBzdmcuc2V0Q3VycmVudFRpbWUoMik7Cn0sIDEpOwo8
L3NjcmlwdD4KPC9zdmc+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425821</attachid>
            <date>2021-04-12 18:24:03 -0700</date>
            <delta_ts>2021-04-12 20:03:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109010-20210412182402.patch</filename>
            <type>text/plain</type>
            <size>18679</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDY1NmZiYTVhZTQ5YmQ4
MjNmN2JjZDBiNWU4MGNkMmU2NDRmNTQ5NS4uN2I3YzcxYjRkZTJiOTI0OGFhZWRlZjZkZjBiZTk5
NzExMTU2ZDYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA0LTEyICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFNWRyBwYWNlZCB2YWx1
ZSBhbmltYXRpb25zIG92ZXJ3cml0ZSB1c2VyLXByb3ZpZGVkIGtleVRpbWVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkwMTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB0aGUgY2FsY01vZGUgaXMg
UGFjZWQsIHRoZSAna2V5VGltZXMnIGF0dHJpYnV0ZSBpcyBpZ25vcmVkLiBEaXN0YW5jZXMKKyAg
ICAgICAgYmV0d2VlbiB0aGUgJ3ZhbHVlcycgYXJlIHVzZWQgcHJvZHVjZSBhbiBldmVuIHBhY2Ug
b2YgY2hhbmdlIGFjcm9zcyB0aGUKKyAgICAgICAgYW5pbWF0aW9uLgorCisgICAgICAgIFdoZW4g
Y2hhbmdpbmcgY2FsY01vZGUsIHRpbWVzIGRlZmluZWQgaW4gdGhlICdrZXlUaW1lcycgYXR0cmli
dXRlIHNob3VsZAorICAgICAgICBiZSB1c2VkIGluc3RlYWQuIFRvIGZpeCB0aGlzLCBTVkdBbmlt
YXRpb25FbGVtZW50IGNhbiBtYWludGFpbiB0d28gbGlzdHMgCisgICAgICAgIGZvciBrZXlUaW1l
czogKDEpIGtleVRpbWVzRnJvbUF0dHJpYnV0ZSAoMikga2V5VGltZXNGb3JQYWNlZC4KKyAgICAg
ICAgT25lIG9mIHRoZXNlIGxpc3RzIHdpbGwgYmUgcGlja2VkIGJ5IGEgbmV3IGZ1bmN0aW9uICdr
ZXlUaW1lcygpJyBiYXNlZAorICAgICAgICBvbiB0aGUgY3VycmVudCBjYWxjTW9kZS4KKworICAg
ICAgICBTcGVjczogaHR0cHM6Ly93d3cudzMub3JnL1RSL1NWRzExL2FuaW1hdGUuaHRtbCNDYWxj
TW9kZUF0dHJpYnV0ZQorCisgICAgICAgIFRlc3Q6IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2Fs
Y01vZGUtcGFjZWQtb3ZlcndyaXRlLWtleS10aW1lcy5odG1sCisKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVt
ZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVt
ZW50OjpjYWxjdWxhdGVLZXlUaW1lc0ZvckNhbGNNb2RlUGFjZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6a2V5VGltZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6Y2FsY3VsYXRlS2V5VGltZXNJbmRleCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50OjpjYWxjdWxhdGVQZXJjZW50RnJv
bUtleVBvaW50cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50
OjpjYWxjdWxhdGVQZXJjZW50Rm9yRnJvbVRvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGlvbkVsZW1lbnQ6OmN1cnJlbnRWYWx1ZXNGcm9tS2V5UG9pbnRzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGlvbkVsZW1lbnQ6OmN1cnJlbnRWYWx1ZXNGb3JWYWx1
ZXNBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6c3Rh
cnRlZEFjdGl2ZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGlvbkVsZW1l
bnQ6OnVwZGF0ZUFuaW1hdGlvbik6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQu
aDoKKwogMjAyMS0wNC0xMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW01hY10gQWRkIGEgbWlzc2luZyBudWxsIGNoZWNrIHRvIHNsaWRlciB0aHVtYiBmb2N1cyBy
ZW5kZXJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcAppbmRl
eCA3MTI2ODBhNTBjOTgyZDFjMjI5MDNlZDQ1OGFkZDQzZDE3NTVlY2VkLi5mYTU2M2VmZjM4M2My
OTdhZjQ4ODljYmY5ZTJhYzVmZDdhNzkwMDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGlvbkVsZW1lbnQuY3BwCkBAIC0yLDcgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA0
LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICogQ29weXJp
Z2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDcgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KLSAqIENv
cHlyaWdodCAoQykgMjAwOCwgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQuYXU+
CiAgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQWRvYmUgU3lzdGVtcyBJbmNv
cnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0xNjEsNyArMTYxLDcgQEAgdm9pZCBT
VkdBbmltYXRpb25FbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9tU3QKICAgICB9CiAKICAgICBpZiAobmFtZSA9PSBTVkdOYW1lczo6a2V5
VGltZXNBdHRyKSB7Ci0gICAgICAgIHBhcnNlS2V5VGltZXModmFsdWUsIG1fa2V5VGltZXMsIHRy
dWUpOworICAgICAgICBwYXJzZUtleVRpbWVzKHZhbHVlLCBtX2tleVRpbWVzRnJvbUF0dHJpYnV0
ZSwgdHJ1ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTM0Niw0MyArMzQ2LDQzIEBA
IHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6Y2FsY3VsYXRlS2V5VGltZXNGb3JDYWxjTW9kZVBh
Y2VkKCkKICAgICBpZiAodmFsdWVzQ291bnQgPT0gMSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
Ly8gRklYTUUsIHdlYmtpdC5vcmcvYi8xMDkwMTA6IG1fa2V5VGltZXMgc2hvdWxkIG5vdCBiZSBt
b2RpZmllZCBpbiB0aGlzIGZ1bmN0aW9uLgotICAgIG1fa2V5VGltZXMuY2xlYXIoKTsKKyAgICBt
X2tleVRpbWVzRm9yUGFjZWQuY2xlYXIoKTsKIAotICAgIFZlY3RvcjxmbG9hdD4ga2V5VGltZXNG
b3JQYWNlZDsKICAgICBmbG9hdCB0b3RhbERpc3RhbmNlID0gMDsKLSAgICBrZXlUaW1lc0ZvclBh
Y2VkLmFwcGVuZCgwKTsKKyAgICBtX2tleVRpbWVzRm9yUGFjZWQuYXBwZW5kKDApOwogICAgIGZv
ciAodW5zaWduZWQgbiA9IDA7IG4gPCB2YWx1ZXNDb3VudCAtIDE7ICsrbikgewogICAgICAgICAv
LyBEaXN0YW5jZSBpbiBhbnkgdW5pdHMKICAgICAgICAgYXV0byBkaXN0YW5jZSA9IGNhbGN1bGF0
ZURpc3RhbmNlKG1fdmFsdWVzW25dLCBtX3ZhbHVlc1tuICsgMV0pOwogICAgICAgICBpZiAoIWRp
c3RhbmNlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB0b3RhbERpc3RhbmNlICs9ICpk
aXN0YW5jZTsKLSAgICAgICAga2V5VGltZXNGb3JQYWNlZC5hcHBlbmQoKmRpc3RhbmNlKTsKKyAg
ICAgICAgbV9rZXlUaW1lc0ZvclBhY2VkLmFwcGVuZCgqZGlzdGFuY2UpOwogICAgIH0KICAgICBp
ZiAoIXRvdGFsRGlzdGFuY2UpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIE5vcm1hbGl6ZS4K
LSAgICBmb3IgKHVuc2lnbmVkIG4gPSAxOyBuIDwga2V5VGltZXNGb3JQYWNlZC5zaXplKCkgLSAx
OyArK24pCi0gICAgICAgIGtleVRpbWVzRm9yUGFjZWRbbl0gPSBrZXlUaW1lc0ZvclBhY2VkW24g
LSAxXSArIGtleVRpbWVzRm9yUGFjZWRbbl0gLyB0b3RhbERpc3RhbmNlOwotICAgIGtleVRpbWVz
Rm9yUGFjZWRba2V5VGltZXNGb3JQYWNlZC5zaXplKCkgLSAxXSA9IDE7Ci0KLSAgICAvLyBVc2Ug
a2V5IHRpbWVzIGNhbGN1bGF0ZWQgYmFzZWQgb24gcGFjaW5nIGluc3RlYWQgb2YgdGhlIHVzZXIg
cHJvdmlkZWQgb25lcy4KLSAgICBtX2tleVRpbWVzID0ga2V5VGltZXNGb3JQYWNlZDsKKyAgICBm
b3IgKHVuc2lnbmVkIG4gPSAxOyBuIDwgbV9rZXlUaW1lc0ZvclBhY2VkLnNpemUoKSAtIDE7ICsr
bikKKyAgICAgICAgbV9rZXlUaW1lc0ZvclBhY2VkW25dID0gbV9rZXlUaW1lc0ZvclBhY2VkW24g
LSAxXSArIG1fa2V5VGltZXNGb3JQYWNlZFtuXSAvIHRvdGFsRGlzdGFuY2U7CisgICAgbV9rZXlU
aW1lc0ZvclBhY2VkW21fa2V5VGltZXNGb3JQYWNlZC5zaXplKCkgLSAxXSA9IDE7CiB9CiAKIHN0
YXRpYyBpbmxpbmUgZG91YmxlIHNvbHZlRXBzaWxvbihkb3VibGUgZHVyYXRpb24pIHsgcmV0dXJu
IDEgLyAoMjAwICogZHVyYXRpb24pOyB9CiAKK2NvbnN0IFZlY3RvcjxmbG9hdD4mIFNWR0FuaW1h
dGlvbkVsZW1lbnQ6OmtleVRpbWVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY2FsY01vZGUoKSA9
PSBDYWxjTW9kZTo6UGFjZWQgPyBtX2tleVRpbWVzRm9yUGFjZWQgOiBtX2tleVRpbWVzRnJvbUF0
dHJpYnV0ZTsKK30KKwogdW5zaWduZWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6Y2FsY3VsYXRlS2V5
VGltZXNJbmRleChmbG9hdCBwZXJjZW50KSBjb25zdAogewogICAgIHVuc2lnbmVkIGluZGV4Owot
ICAgIHVuc2lnbmVkIGtleVRpbWVzQ291bnQgPSBtX2tleVRpbWVzLnNpemUoKTsKKyAgICB1bnNp
Z25lZCBrZXlUaW1lc0NvdW50ID0ga2V5VGltZXMoKS5zaXplKCk7CiAgICAgLy8gQ29tcGFyZSBp
bmRleCArIDEgdG8ga2V5VGltZXNDb3VudCBiZWNhdXNlIHRoZSBsYXN0IGtleVRpbWVzIGVudHJ5
IGlzCiAgICAgLy8gcmVxdWlyZWQgdG8gYmUgMSwgYW5kIHBlcmNlbnQgY2FuIG5ldmVyIGV4Y2Vl
ZCAxOyBpLmUuLCB0aGUgc2Vjb25kIGxhc3QKICAgICAvLyBrZXlUaW1lcyBlbnRyeSBkZWZpbmVz
IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbmFsIGludGVydmFsCiAgICAgZm9yIChpbmRleCA9IDE7
IGluZGV4ICsgMSA8IGtleVRpbWVzQ291bnQ7ICsraW5kZXgpIHsKLSAgICAgICAgaWYgKG1fa2V5
VGltZXNbaW5kZXhdID4gcGVyY2VudCkKKyAgICAgICAgaWYgKGtleVRpbWVzKClbaW5kZXhdID4g
cGVyY2VudCkKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICByZXR1cm4gLS1pbmRleDsK
QEAgLTQwMywxNSArNDAzLDE1IEBAIGZsb2F0IFNWR0FuaW1hdGlvbkVsZW1lbnQ6OmNhbGN1bGF0
ZVBlcmNlbnRGcm9tS2V5UG9pbnRzKGZsb2F0IHBlcmNlbnQpIGNvbnN0CiB7CiAgICAgQVNTRVJU
KCFtX2tleVBvaW50cy5pc0VtcHR5KCkpOwogICAgIEFTU0VSVChjYWxjTW9kZSgpICE9IENhbGNN
b2RlOjpQYWNlZCk7Ci0gICAgQVNTRVJUKG1fa2V5VGltZXMuc2l6ZSgpID4gMSk7Ci0gICAgQVNT
RVJUKG1fa2V5UG9pbnRzLnNpemUoKSA9PSBtX2tleVRpbWVzLnNpemUoKSk7CisgICAgQVNTRVJU
KGtleVRpbWVzKCkuc2l6ZSgpID4gMSk7CisgICAgQVNTRVJUKG1fa2V5UG9pbnRzLnNpemUoKSA9
PSBrZXlUaW1lcygpLnNpemUoKSk7CiAKICAgICBpZiAocGVyY2VudCA9PSAxKQogICAgICAgICBy
ZXR1cm4gbV9rZXlQb2ludHNbbV9rZXlQb2ludHMuc2l6ZSgpIC0gMV07CiAKICAgICB1bnNpZ25l
ZCBpbmRleCA9IGNhbGN1bGF0ZUtleVRpbWVzSW5kZXgocGVyY2VudCk7Ci0gICAgZmxvYXQgZnJv
bVBlcmNlbnQgPSBtX2tleVRpbWVzW2luZGV4XTsKLSAgICBmbG9hdCB0b1BlcmNlbnQgPSBtX2tl
eVRpbWVzW2luZGV4ICsgMV07CisgICAgZmxvYXQgZnJvbVBlcmNlbnQgPSBrZXlUaW1lcygpW2lu
ZGV4XTsKKyAgICBmbG9hdCB0b1BlcmNlbnQgPSBrZXlUaW1lcygpW2luZGV4ICsgMV07CiAgICAg
ZmxvYXQgZnJvbUtleVBvaW50ID0gbV9rZXlQb2ludHNbaW5kZXhdOwogICAgIGZsb2F0IHRvS2V5
UG9pbnQgPSBtX2tleVBvaW50c1tpbmRleCArIDFdOwogICAgIApAQCAtNDI5LDggKzQyOSw4IEBA
IGZsb2F0IFNWR0FuaW1hdGlvbkVsZW1lbnQ6OmNhbGN1bGF0ZVBlcmNlbnRGcm9tS2V5UG9pbnRz
KGZsb2F0IHBlcmNlbnQpIGNvbnN0CiAKIGZsb2F0IFNWR0FuaW1hdGlvbkVsZW1lbnQ6OmNhbGN1
bGF0ZVBlcmNlbnRGb3JGcm9tVG8oZmxvYXQgcGVyY2VudCkgY29uc3QKIHsKLSAgICBpZiAoY2Fs
Y01vZGUoKSA9PSBDYWxjTW9kZTo6RGlzY3JldGUgJiYgbV9rZXlUaW1lcy5zaXplKCkgPT0gMikK
LSAgICAgICAgcmV0dXJuIHBlcmNlbnQgPiBtX2tleVRpbWVzWzFdID8gMSA6IDA7CisgICAgaWYg
KGNhbGNNb2RlKCkgPT0gQ2FsY01vZGU6OkRpc2NyZXRlICYmIGtleVRpbWVzKCkuc2l6ZSgpID09
IDIpCisgICAgICAgIHJldHVybiBwZXJjZW50ID4ga2V5VGltZXMoKVsxXSA/IDEgOiAwOwogCiAg
ICAgcmV0dXJuIHBlcmNlbnQ7CiB9CkBAIC00MzgsNyArNDM4LDcgQEAgZmxvYXQgU1ZHQW5pbWF0
aW9uRWxlbWVudDo6Y2FsY3VsYXRlUGVyY2VudEZvckZyb21UbyhmbG9hdCBwZXJjZW50KSBjb25z
dAogdm9pZCBTVkdBbmltYXRpb25FbGVtZW50OjpjdXJyZW50VmFsdWVzRnJvbUtleVBvaW50cyhm
bG9hdCBwZXJjZW50LCBmbG9hdCYgZWZmZWN0aXZlUGVyY2VudCwgU3RyaW5nJiBmcm9tLCBTdHJp
bmcmIHRvKSBjb25zdAogewogICAgIEFTU0VSVCghbV9rZXlQb2ludHMuaXNFbXB0eSgpKTsKLSAg
ICBBU1NFUlQobV9rZXlQb2ludHMuc2l6ZSgpID09IG1fa2V5VGltZXMuc2l6ZSgpKTsKKyAgICBB
U1NFUlQobV9rZXlQb2ludHMuc2l6ZSgpID09IGtleVRpbWVzKCkuc2l6ZSgpKTsKICAgICBBU1NF
UlQoY2FsY01vZGUoKSAhPSBDYWxjTW9kZTo6UGFjZWQpOwogICAgIGVmZmVjdGl2ZVBlcmNlbnQg
PSBjYWxjdWxhdGVQZXJjZW50RnJvbUtleVBvaW50cyhwZXJjZW50KTsKICAgICB1bnNpZ25lZCBp
bmRleCA9IGVmZmVjdGl2ZVBlcmNlbnQgPT0gMSA/IG1fdmFsdWVzLnNpemUoKSAtIDIgOiBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oZWZmZWN0aXZlUGVyY2VudCAqIChtX3ZhbHVlcy5zaXplKCkgLSAx
KSk7CkBAIC00NjgsOSArNDY4LDkgQEAgdm9pZCBTVkdBbmltYXRpb25FbGVtZW50OjpjdXJyZW50
VmFsdWVzRm9yVmFsdWVzQW5pbWF0aW9uKGZsb2F0IHBlcmNlbnQsIGZsb2F0JgogICAgIGlmICgh
bV9rZXlQb2ludHMuaXNFbXB0eSgpICYmIGNhbGNNb2RlICE9IENhbGNNb2RlOjpQYWNlZCkKICAg
ICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZXNGcm9tS2V5UG9pbnRzKHBlcmNlbnQsIGVmZmVjdGl2
ZVBlcmNlbnQsIGZyb20sIHRvKTsKICAgICAKLSAgICB1bnNpZ25lZCBrZXlUaW1lc0NvdW50ID0g
bV9rZXlUaW1lcy5zaXplKCk7CisgICAgdW5zaWduZWQga2V5VGltZXNDb3VudCA9IGtleVRpbWVz
KCkuc2l6ZSgpOwogICAgIEFTU0VSVCgha2V5VGltZXNDb3VudCB8fCB2YWx1ZXNDb3VudCA9PSBr
ZXlUaW1lc0NvdW50KTsKLSAgICBBU1NFUlQoIWtleVRpbWVzQ291bnQgfHwgKGtleVRpbWVzQ291
bnQgPiAxICYmICFtX2tleVRpbWVzWzBdKSk7CisgICAgQVNTRVJUKCFrZXlUaW1lc0NvdW50IHx8
IChrZXlUaW1lc0NvdW50ID4gMSAmJiAha2V5VGltZXMoKVswXSkpOwogCiAgICAgdW5zaWduZWQg
aW5kZXggPSBjYWxjdWxhdGVLZXlUaW1lc0luZGV4KHBlcmNlbnQpOwogICAgIGlmIChjYWxjTW9k
ZSA9PSBDYWxjTW9kZTo6RGlzY3JldGUpIHsKQEAgLTQ4NSw4ICs0ODUsOCBAQCB2b2lkIFNWR0Fu
aW1hdGlvbkVsZW1lbnQ6OmN1cnJlbnRWYWx1ZXNGb3JWYWx1ZXNBbmltYXRpb24oZmxvYXQgcGVy
Y2VudCwgZmxvYXQmCiAgICAgZmxvYXQgZnJvbVBlcmNlbnQ7CiAgICAgZmxvYXQgdG9QZXJjZW50
OwogICAgIGlmIChrZXlUaW1lc0NvdW50KSB7Ci0gICAgICAgIGZyb21QZXJjZW50ID0gbV9rZXlU
aW1lc1tpbmRleF07Ci0gICAgICAgIHRvUGVyY2VudCA9IG1fa2V5VGltZXNbaW5kZXggKyAxXTsK
KyAgICAgICAgZnJvbVBlcmNlbnQgPSBrZXlUaW1lcygpW2luZGV4XTsKKyAgICAgICAgdG9QZXJj
ZW50ID0ga2V5VGltZXMoKVtpbmRleCArIDFdOwogICAgIH0gZWxzZSB7ICAgICAgICAKICAgICAg
ICAgaW5kZXggPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZmxvb3JmKHBlcmNlbnQgKiAodmFsdWVz
Q291bnQgLSAxKSkpOwogICAgICAgICBmcm9tUGVyY2VudCA9ICBzdGF0aWNfY2FzdDxmbG9hdD4o
aW5kZXgpIC8gKHZhbHVlc0NvdW50IC0gMSk7CkBAIC01MTQsNyArNTE0LDcgQEAgdm9pZCBTVkdB
bmltYXRpb25FbGVtZW50OjpzdGFydGVkQWN0aXZlSW50ZXJ2YWwoKQogICAgICAgICByZXR1cm47
CiAKICAgICAvLyBUaGVzZSB2YWxpZGF0aW9ucyBhcmUgYXBwcm9wcmlhdGUgZm9yIGFsbCBhbmlt
YXRpb24gbW9kZXMuCi0gICAgaWYgKGhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24o
U1ZHTmFtZXM6OmtleVBvaW50c0F0dHIpICYmIG1fa2V5UG9pbnRzLnNpemUoKSAhPSBtX2tleVRp
bWVzLnNpemUoKSkKKyAgICBpZiAoaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihT
VkdOYW1lczo6a2V5UG9pbnRzQXR0cikgJiYgbV9rZXlQb2ludHMuc2l6ZSgpICE9IGtleVRpbWVz
KCkuc2l6ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBBbmltYXRpb25Nb2RlIGFuaW1hdGlv
bk1vZGUgPSB0aGlzLT5hbmltYXRpb25Nb2RlKCk7CkBAIC01MjQsNyArNTI0LDcgQEAgdm9pZCBT
VkdBbmltYXRpb25FbGVtZW50OjpzdGFydGVkQWN0aXZlSW50ZXJ2YWwoKQogICAgICAgICBpZiAo
IXNwbGluZXNDb3VudAogICAgICAgICAgICAgfHwgKGhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24oU1ZHTmFtZXM6OmtleVBvaW50c0F0dHIpICYmIG1fa2V5UG9pbnRzLnNpemUoKSAt
IDEgIT0gc3BsaW5lc0NvdW50KQogICAgICAgICAgICAgfHwgKGFuaW1hdGlvbk1vZGUgPT0gQW5p
bWF0aW9uTW9kZTo6VmFsdWVzICYmIG1fdmFsdWVzLnNpemUoKSAtIDEgIT0gc3BsaW5lc0NvdW50
KQotICAgICAgICAgICAgfHwgKGhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oU1ZH
TmFtZXM6OmtleVRpbWVzQXR0cikgJiYgbV9rZXlUaW1lcy5zaXplKCkgLSAxICE9IHNwbGluZXND
b3VudCkpCisgICAgICAgICAgICB8fCAoaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlv
bihTVkdOYW1lczo6a2V5VGltZXNBdHRyKSAmJiBrZXlUaW1lcygpLnNpemUoKSAtIDEgIT0gc3Bs
aW5lc0NvdW50KSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTUzNCw3ICs1MzQs
NyBAQCB2b2lkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OnN0YXJ0ZWRBY3RpdmVJbnRlcnZhbCgpCiAg
ICAgaWYgKGFuaW1hdGlvbk1vZGUgPT0gQW5pbWF0aW9uTW9kZTo6Tm9uZSkKICAgICAgICAgcmV0
dXJuOwogICAgIGlmICgoYW5pbWF0aW9uTW9kZSA9PSBBbmltYXRpb25Nb2RlOjpGcm9tVG8gfHwg
YW5pbWF0aW9uTW9kZSA9PSBBbmltYXRpb25Nb2RlOjpGcm9tQnkgfHwgYW5pbWF0aW9uTW9kZSA9
PSBBbmltYXRpb25Nb2RlOjpUbyB8fCBhbmltYXRpb25Nb2RlID09IEFuaW1hdGlvbk1vZGU6OkJ5
KQotICAgICAgICAmJiAoaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihTVkdOYW1l
czo6a2V5UG9pbnRzQXR0cikgJiYgaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihT
VkdOYW1lczo6a2V5VGltZXNBdHRyKSAmJiAobV9rZXlUaW1lcy5zaXplKCkgPCAyIHx8IG1fa2V5
VGltZXMuc2l6ZSgpICE9IG1fa2V5UG9pbnRzLnNpemUoKSkpKQorICAgICAgICAmJiAoaGFzQXR0
cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihTVkdOYW1lczo6a2V5UG9pbnRzQXR0cikgJiYg
aGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihTVkdOYW1lczo6a2V5VGltZXNBdHRy
KSAmJiAoa2V5VGltZXMoKS5zaXplKCkgPCAyIHx8IGtleVRpbWVzKCkuc2l6ZSgpICE9IG1fa2V5
UG9pbnRzLnNpemUoKSkpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKGFuaW1hdGlvbk1vZGUg
PT0gQW5pbWF0aW9uTW9kZTo6RnJvbVRvKQogICAgICAgICBtX2FuaW1hdGlvblZhbGlkID0gY2Fs
Y3VsYXRlRnJvbUFuZFRvVmFsdWVzKGZyb20sIHRvKTsKQEAgLTU0OCwxNiArNTQ4LDE2IEBAIHZv
aWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6c3RhcnRlZEFjdGl2ZUludGVydmFsKCkKICAgICAgICAg
bV9hbmltYXRpb25WYWxpZCA9IGNhbGN1bGF0ZUZyb21BbmRCeVZhbHVlcyhlbXB0eVN0cmluZygp
LCBieSk7CiAgICAgZWxzZSBpZiAoYW5pbWF0aW9uTW9kZSA9PSBBbmltYXRpb25Nb2RlOjpWYWx1
ZXMpIHsKICAgICAgICAgbV9hbmltYXRpb25WYWxpZCA9IG1fdmFsdWVzLnNpemUoKSA+PSAxCi0g
ICAgICAgICAgICAmJiAoY2FsY01vZGUgPT0gQ2FsY01vZGU6OlBhY2VkIHx8ICFoYXNBdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFNWR05hbWVzOjprZXlUaW1lc0F0dHIpIHx8IGhhc0F0
dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oU1ZHTmFtZXM6OmtleVBvaW50c0F0dHIpIHx8
IChtX3ZhbHVlcy5zaXplKCkgPT0gbV9rZXlUaW1lcy5zaXplKCkpKQotICAgICAgICAgICAgJiYg
KGNhbGNNb2RlID09IENhbGNNb2RlOjpEaXNjcmV0ZSB8fCAhbV9rZXlUaW1lcy5zaXplKCkgfHwg
bV9rZXlUaW1lcy5sYXN0KCkgPT0gMSkKKyAgICAgICAgICAgICYmIChjYWxjTW9kZSA9PSBDYWxj
TW9kZTo6UGFjZWQgfHwgIWhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oU1ZHTmFt
ZXM6OmtleVRpbWVzQXR0cikgfHwgaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihT
VkdOYW1lczo6a2V5UG9pbnRzQXR0cikgfHwgKG1fdmFsdWVzLnNpemUoKSA9PSBrZXlUaW1lcygp
LnNpemUoKSkpCisgICAgICAgICAgICAmJiAoY2FsY01vZGUgPT0gQ2FsY01vZGU6OkRpc2NyZXRl
IHx8ICFrZXlUaW1lcygpLnNpemUoKSB8fCBrZXlUaW1lcygpLmxhc3QoKSA9PSAxKQogICAgICAg
ICAgICAgJiYgKGNhbGNNb2RlICE9IENhbGNNb2RlOjpTcGxpbmUgfHwgKChtX2tleVNwbGluZXMu
c2l6ZSgpICYmIChtX2tleVNwbGluZXMuc2l6ZSgpID09IG1fdmFsdWVzLnNpemUoKSAtIDEpKSB8
fCBtX2tleVNwbGluZXMuc2l6ZSgpID09IG1fa2V5UG9pbnRzLnNpemUoKSAtIDEpKQotICAgICAg
ICAgICAgJiYgKCFoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFNWR05hbWVzOjpr
ZXlQb2ludHNBdHRyKSB8fCAobV9rZXlUaW1lcy5zaXplKCkgPiAxICYmIG1fa2V5VGltZXMuc2l6
ZSgpID09IG1fa2V5UG9pbnRzLnNpemUoKSkpOworICAgICAgICAgICAgJiYgKCFoYXNBdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFNWR05hbWVzOjprZXlQb2ludHNBdHRyKSB8fCAoa2V5
VGltZXMoKS5zaXplKCkgPiAxICYmIGtleVRpbWVzKCkuc2l6ZSgpID09IG1fa2V5UG9pbnRzLnNp
emUoKSkpOwogICAgICAgICBpZiAobV9hbmltYXRpb25WYWxpZCkKICAgICAgICAgICAgIG1fYW5p
bWF0aW9uVmFsaWQgPSBjYWxjdWxhdGVUb0F0RW5kT2ZEdXJhdGlvblZhbHVlKG1fdmFsdWVzLmxh
c3QoKSk7CiAgICAgICAgIGlmIChjYWxjTW9kZSA9PSBDYWxjTW9kZTo6UGFjZWQgJiYgbV9hbmlt
YXRpb25WYWxpZCkKICAgICAgICAgICAgIGNhbGN1bGF0ZUtleVRpbWVzRm9yQ2FsY01vZGVQYWNl
ZCgpOwogICAgIH0gZWxzZSBpZiAoYW5pbWF0aW9uTW9kZSA9PSBBbmltYXRpb25Nb2RlOjpQYXRo
KQotICAgICAgICBtX2FuaW1hdGlvblZhbGlkID0gY2FsY01vZGUgPT0gQ2FsY01vZGU6OlBhY2Vk
IHx8ICFoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFNWR05hbWVzOjprZXlQb2lu
dHNBdHRyKSB8fCAobV9rZXlUaW1lcy5zaXplKCkgPiAxICYmIG1fa2V5VGltZXMuc2l6ZSgpID09
IG1fa2V5UG9pbnRzLnNpemUoKSk7CisgICAgICAgIG1fYW5pbWF0aW9uVmFsaWQgPSBjYWxjTW9k
ZSA9PSBDYWxjTW9kZTo6UGFjZWQgfHwgIWhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRp
b24oU1ZHTmFtZXM6OmtleVBvaW50c0F0dHIpIHx8IChrZXlUaW1lcygpLnNpemUoKSA+IDEgJiYg
a2V5VGltZXMoKS5zaXplKCkgPT0gbV9rZXlQb2ludHMuc2l6ZSgpKTsKIH0KIAogdm9pZCBTVkdB
bmltYXRpb25FbGVtZW50Ojp1cGRhdGVBbmltYXRpb24oZmxvYXQgcGVyY2VudCwgdW5zaWduZWQg
cmVwZWF0Q291bnQpCkBAIC01ODEsNyArNTgxLDcgQEAgdm9pZCBTVkdBbmltYXRpb25FbGVtZW50
Ojp1cGRhdGVBbmltYXRpb24oZmxvYXQgcGVyY2VudCwgdW5zaWduZWQgcmVwZWF0Q291bnQpCiAg
ICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCFtX2tleVBvaW50cy5pc0VtcHR5KCkgJiYgY2FsY01v
ZGUgIT0gQ2FsY01vZGU6OlBhY2VkKQogICAgICAgICBlZmZlY3RpdmVQZXJjZW50ID0gY2FsY3Vs
YXRlUGVyY2VudEZyb21LZXlQb2ludHMocGVyY2VudCk7Ci0gICAgZWxzZSBpZiAobV9rZXlQb2lu
dHMuaXNFbXB0eSgpICYmIGNhbGNNb2RlID09IENhbGNNb2RlOjpTcGxpbmUgJiYgbV9rZXlUaW1l
cy5zaXplKCkgPiAxKQorICAgIGVsc2UgaWYgKG1fa2V5UG9pbnRzLmlzRW1wdHkoKSAmJiBjYWxj
TW9kZSA9PSBDYWxjTW9kZTo6U3BsaW5lICYmIGtleVRpbWVzKCkuc2l6ZSgpID4gMSkKICAgICAg
ICAgZWZmZWN0aXZlUGVyY2VudCA9IGNhbGN1bGF0ZVBlcmNlbnRGb3JTcGxpbmUocGVyY2VudCwg
Y2FsY3VsYXRlS2V5VGltZXNJbmRleChwZXJjZW50KSk7CiAgICAgZWxzZSBpZiAoYW5pbWF0aW9u
TW9kZSA9PSBBbmltYXRpb25Nb2RlOjpGcm9tVG8gfHwgYW5pbWF0aW9uTW9kZSA9PSBBbmltYXRp
b25Nb2RlOjpUbykKICAgICAgICAgZWZmZWN0aXZlUGVyY2VudCA9IGNhbGN1bGF0ZVBlcmNlbnRG
b3JGcm9tVG8ocGVyY2VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQu
aAppbmRleCBmMzZkYTZjYjRiNGJjYjdiNzZkMTdhZDJkN2IxNmMwYmIzMDUyMzQ1Li5mY2Y4YWY2
NTJiNWNhNDJlMzEwYjVhNDVlMjMxNTU4OTVlYmE4YjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRpb25FbGVtZW50LmgKQEAgLTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAqIENv
cHlyaWdodCAoQykgMjAwNyBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgotICogQ29weXJp
Z2h0IChDKSAyMDA4LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA4LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICog
Q29weXJpZ2h0IChDKSAyMDA4IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1PgogICog
Q29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDExLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKQEAgLTEyMyw2ICsxMjMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
dm9pZCBjYWxjdWxhdGVBbmltYXRlZFZhbHVlKGZsb2F0IHBlcmNlbnQsIHVuc2lnbmVkIHJlcGVh
dENvdW50KSA9IDA7CiAgICAgdmlydHVhbCBPcHRpb25hbDxmbG9hdD4gY2FsY3VsYXRlRGlzdGFu
Y2UoY29uc3QgU3RyaW5nJiAvKmZyb21TdHJpbmcqLywgY29uc3QgU3RyaW5nJiAvKnRvU3RyaW5n
Ki8pID0gMDsKIAorICAgIGNvbnN0IFZlY3RvcjxmbG9hdD4mIGtleVRpbWVzKCkgY29uc3Q7CiAg
ICAgdm9pZCBjdXJyZW50VmFsdWVzRm9yVmFsdWVzQW5pbWF0aW9uKGZsb2F0IHBlcmNlbnQsIGZs
b2F0JiBlZmZlY3RpdmVQZXJjZW50LCBTdHJpbmcmIGZyb20sIFN0cmluZyYgdG8pOwogICAgIHZv
aWQgY2FsY3VsYXRlS2V5VGltZXNGb3JDYWxjTW9kZVBhY2VkKCk7CiAgICAgZmxvYXQgY2FsY3Vs
YXRlUGVyY2VudEZyb21LZXlQb2ludHMoZmxvYXQgcGVyY2VudCkgY29uc3Q7CkBAIC0xMzcsNyAr
MTM4LDggQEAgcHJpdmF0ZToKIAogICAgIEF0dHJpYnV0ZVR5cGUgbV9hdHRyaWJ1dGVUeXBlIHsg
QXR0cmlidXRlVHlwZTo6QXV0byB9OwogICAgIFZlY3RvcjxTdHJpbmc+IG1fdmFsdWVzOwotICAg
IFZlY3RvcjxmbG9hdD4gbV9rZXlUaW1lczsKKyAgICBWZWN0b3I8ZmxvYXQ+IG1fa2V5VGltZXNG
cm9tQXR0cmlidXRlOworICAgIFZlY3RvcjxmbG9hdD4gbV9rZXlUaW1lc0ZvclBhY2VkOwogICAg
IFZlY3RvcjxmbG9hdD4gbV9rZXlQb2ludHM7CiAgICAgVmVjdG9yPFVuaXRCZXppZXI+IG1fa2V5
U3BsaW5lczsKICAgICBTdHJpbmcgbV9sYXN0VmFsdWVzQW5pbWF0aW9uRnJvbTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5
NWUyZjdkZTk5NmMyODlhN2EzNjdiNDc2OTBlZmZhYTc2YmE1Nzk5Li5hMzNhMDk3ZWI3NGEzYjZj
ZjdiZjIwYTY1ZjA2NzAyODYyZGFlNDJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDQt
MTIgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZHIHBh
Y2VkIHZhbHVlIGFuaW1hdGlvbnMgb3ZlcndyaXRlIHVzZXItcHJvdmlkZWQga2V5VGltZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTAxMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNpbXBsaWZpZWQg
ZnJvbSB0aGUgV1BUIHBhY2VkLXZhbHVlLWFuaW1hdGlvbi1vdmVyd3JpdGVzLWtleVRpbWVzLmh0
bWwuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXBhY2VkLW92
ZXJ3cml0ZS1rZXktdGltZXMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1wYWNlZC1vdmVyd3JpdGUta2V5LXRpbWVzLmh0bWw6
IEFkZGVkLgorCiAyMDIxLTA0LTExICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZWR1Y2UgY29tcGlsZSB0aW1lIGFuZCBiaW5hcnkgc2l6ZSBjb3N0IG9mIGVuYWJs
aW5nIHByb3BlciBDU1NTdHlsZURlY2xhcmF0aW9uIHByb3BlcnR5IGFjY2VzcyBiZWhhdmlvcgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMjAzZGM2Mjk5MjZjMGIxYzIyYTg5MDg3
MDNiOGU2NTAwNTQ5YjQ0Yy4uYWYzNTU5ZDZjODk5YjVlN2U3Mzg1OTdiZDY1YjA5MTZhYTQ0N2Iz
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEt
MDQtMTIgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgU1ZH
IHBhY2VkIHZhbHVlIGFuaW1hdGlvbnMgb3ZlcndyaXRlIHVzZXItcHJvdmlkZWQga2V5VGltZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTAxMAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdGVkL3BhY2VkLXZhbHVlLWFuaW1hdGlv
bi1vdmVyd3JpdGVzLWtleVRpbWVzLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNC0xMSAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVkdWNlIGNvbXBpbGUgdGltZSBh
bmQgYmluYXJ5IHNpemUgY29zdCBvZiBlbmFibGluZyBwcm9wZXIgQ1NTU3R5bGVEZWNsYXJhdGlv
biBwcm9wZXJ0eSBhY2Nlc3MgYmVoYXZpb3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0ZWQvcGFjZWQt
dmFsdWUtYW5pbWF0aW9uLW92ZXJ3cml0ZXMta2V5VGltZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3Jp
cHRlZC9wYWNlZC12YWx1ZS1hbmltYXRpb24tb3ZlcndyaXRlcy1rZXlUaW1lcy1leHBlY3RlZC50
eHQKaW5kZXggZmNlN2ZkZDM5ZjkxMDQwZjgxYjM5NjQzYzkyNDMxMGM2MzdiZWU5OC4uYjgxNzVm
NmMxZTdhYTJiNTljM2IwN2FkZjNmOThmNWY3ZGY2YTZiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHRl
ZC9wYWNlZC12YWx1ZS1hbmltYXRpb24tb3ZlcndyaXRlcy1rZXlUaW1lcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvYW5p
bWF0aW9ucy9zY3JpcHRlZC9wYWNlZC12YWx1ZS1hbmltYXRpb24tb3ZlcndyaXRlcy1rZXlUaW1l
cy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgUGFjZWQgdmFsdWUgYW5pbWF0
aW9uIGRvZXNuJ3Qgb3ZlcndyaXRlIGtleVRpbWVzIGFzc2VydF9hcHByb3hfZXF1YWxzOiBleHBl
Y3RlZCAxNTAgKy8tIDUgYnV0IGdvdCAxMjAKK1BBU1MgUGFjZWQgdmFsdWUgYW5pbWF0aW9uIGRv
ZXNuJ3Qgb3ZlcndyaXRlIGtleVRpbWVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtcGFjZWQtb3ZlcndyaXRlLWtleS10aW1lcy1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1w
YWNlZC1vdmVyd3JpdGUta2V5LXRpbWVzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE3OTY5
MzUyOTllMjg1MzhhOWEzZDY0ODMwMDQxYzliN2I3MTExOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtcGFjZWQtb3ZlcndyaXRl
LWtleS10aW1lcy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNiBAQAorPGJvZHk+CisgIDxzdmcg
aWQ9InN2ZyIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiPgorICAgIDxyZWN0IHg9IjE1MCIgeT0i
MCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9ImdyZWVuIi8+CisgIDwvc3ZnPgorICA8
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L2FuaW1hdGUtY2FsY01vZGUtcGFjZWQtb3ZlcndyaXRlLWtleS10aW1lcy5odG1sIGIvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1wYWNlZC1vdmVyd3JpdGUta2V5
LXRpbWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDZhOTg1ZTQ0NzNkZTNmZTI2NWI4MDBlYjZmNDYwNGMw
MWMzYWEwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2Fu
aW1hdGUtY2FsY01vZGUtcGFjZWQtb3ZlcndyaXRlLWtleS10aW1lcy5odG1sCkBAIC0wLDAgKzEs
MTkgQEAKKzxib2R5PgorICA8c3ZnIGlkPSJzdmciIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIj4K
KyAgICA8cmVjdCB4PSIxNTAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJy
ZWQiLz4KKyAgICA8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iPgor
ICAgICAgPGFuaW1hdGUgaWQ9ImFuaW1hdGUxIiBhdHRyaWJ1dGVOYW1lPSJ4IiBkdXI9IjEwcyIg
Y2FsY01vZGU9InBhY2VkIiB2YWx1ZXM9IjEwMDsgMTUwOyAyMDA7IiBrZXlUaW1lcz0iMDsgMC4y
OyAxIi8+CisgICAgPC9yZWN0PgorICA8L3N2Zz4KKyAgPHNjcmlwdD4KKyAgICB3aW5kb3cub25s
b2FkID0gZnVuY3Rpb24oKSB7CisgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAg
ICBsZXQgc3ZnID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N2ZycpOworICAgICAgICBsZXQg
YW5pbWF0ZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5pbWF0ZTEnKTsKKyAgICAgICAg
YW5pbWF0ZTEuc2V0QXR0cmlidXRlKCdjYWxjTW9kZScsICdsaW5lYXInKTsKKyAgICAgICAgc3Zn
LnBhdXNlQW5pbWF0aW9ucygpOworICAgICAgICBzdmcuc2V0Q3VycmVudFRpbWUoMik7CisgICAg
ICB9LCAxMCk7CisgICAgfTsKKyAgPC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>
<flag name="review"
          id="445896"
          type_id="1"
          status="+"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="445901"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425824</attachid>
            <date>2021-04-12 20:12:33 -0700</date>
            <delta_ts>2021-04-13 01:05:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109010-20210412201232.patch</filename>
            <type>text/plain</type>
            <size>18636</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDY1NmZiYTVhZTQ5YmQ4
MjNmN2JjZDBiNWU4MGNkMmU2NDRmNTQ5NS4uMDEyODI3MzVhNGMwZGJlNDdiZTZlYmUxZGYzYTZh
YjAyYTA4NDcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA0LTEyICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFNWRyBwYWNlZCB2YWx1
ZSBhbmltYXRpb25zIG92ZXJ3cml0ZSB1c2VyLXByb3ZpZGVkIGtleVRpbWVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkwMTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgSWYgdGhlIGNhbGNNb2RlIGlzIFBh
Y2VkLCB0aGUgJ2tleVRpbWVzJyBhdHRyaWJ1dGUgaXMgaWdub3JlZC4gRGlzdGFuY2VzCisgICAg
ICAgIGJldHdlZW4gdGhlICd2YWx1ZXMnIGFyZSB1c2VkIHByb2R1Y2UgYW4gZXZlbiBwYWNlIG9m
IGNoYW5nZSBhY3Jvc3MgdGhlCisgICAgICAgIGFuaW1hdGlvbi4KKworICAgICAgICBXaGVuIGNo
YW5naW5nIGNhbGNNb2RlLCB0aW1lcyBkZWZpbmVkIGluIHRoZSAna2V5VGltZXMnIGF0dHJpYnV0
ZSBzaG91bGQKKyAgICAgICAgYmUgdXNlZCBpbnN0ZWFkLiBUbyBmaXggdGhpcywgU1ZHQW5pbWF0
aW9uRWxlbWVudCBjYW4gbWFpbnRhaW4gdHdvIGxpc3RzIAorICAgICAgICBmb3Iga2V5VGltZXM6
ICgxKSBrZXlUaW1lc0Zyb21BdHRyaWJ1dGUgKDIpIGtleVRpbWVzRm9yUGFjZWQuCisgICAgICAg
IE9uZSBvZiB0aGVzZSBsaXN0cyB3aWxsIGJlIHBpY2tlZCBieSBhIG5ldyBmdW5jdGlvbiAna2V5
VGltZXMoKScgYmFzZWQKKyAgICAgICAgb24gdGhlIGN1cnJlbnQgY2FsY01vZGUuCisKKyAgICAg
ICAgU3BlY3M6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9hbmltYXRlLmh0bWwjQ2FsY01v
ZGVBdHRyaWJ1dGUKKworICAgICAgICBUZXN0OiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNN
b2RlLXBhY2VkLW92ZXJ3cml0ZS1rZXktdGltZXMuaHRtbAorCisgICAgICAgICogc3ZnL1NWR0Fu
aW1hdGlvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVu
dDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVu
dDo6Y2FsY3VsYXRlS2V5VGltZXNGb3JDYWxjTW9kZVBhY2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0FuaW1hdGlvbkVsZW1lbnQ6OmtleVRpbWVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0FuaW1hdGlvbkVsZW1lbnQ6OmNhbGN1bGF0ZUtleVRpbWVzSW5kZXggY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6Y2FsY3VsYXRlUGVyY2VudEZyb21L
ZXlQb2ludHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6
Y2FsY3VsYXRlUGVyY2VudEZvckZyb21UbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdB
bmltYXRpb25FbGVtZW50OjpjdXJyZW50VmFsdWVzRnJvbUtleVBvaW50cyBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50OjpjdXJyZW50VmFsdWVzRm9yVmFsdWVz
QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGlvbkVsZW1lbnQ6OnN0YXJ0
ZWRBY3RpdmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50
Ojp1cGRhdGVBbmltYXRpb24pOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50Lmg6
CisKIDIwMjEtMDQtMTEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtNYWNdIEFkZCBhIG1pc3NpbmcgbnVsbCBjaGVjayB0byBzbGlkZXIgdGh1bWIgZm9jdXMgcmVu
ZGVyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKaW5kZXgg
NzEyNjgwYTUwYzk4MmQxYzIyOTAzZWQ0NThhZGQ0M2QxNzU1ZWNlZC4uYzdkN2RkZDc1YTY2MzNi
N2YwZDFkYzRmYmVkZTNiNjA5M2I3NWU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRpb25FbGVtZW50LmNwcApAQCAtMiw3ICsyLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAqIENvcHlyaWdo
dCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNyBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogICog
Q29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+Ci0gKiBDb3B5
cmlnaHQgKEMpIDIwMDgsIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA4LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDA5IENhbWVyb24gTWNDb3JtYWNrIDxjYW1AbWNjLmlkLmF1Pgog
ICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDE0IEFkb2JlIFN5c3RlbXMgSW5jb3Jw
b3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtMTYxLDcgKzE2MSw3IEBAIHZvaWQgU1ZH
QW5pbWF0aW9uRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSwgY29uc3QgQXRvbVN0CiAgICAgfQogCiAgICAgaWYgKG5hbWUgPT0gU1ZHTmFtZXM6OmtleVRp
bWVzQXR0cikgewotICAgICAgICBwYXJzZUtleVRpbWVzKHZhbHVlLCBtX2tleVRpbWVzLCB0cnVl
KTsKKyAgICAgICAgcGFyc2VLZXlUaW1lcyh2YWx1ZSwgbV9rZXlUaW1lc0Zyb21BdHRyaWJ1dGUs
IHRydWUpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zNDYsOCArMzQ2LDcgQEAgdm9p
ZCBTVkdBbmltYXRpb25FbGVtZW50OjpjYWxjdWxhdGVLZXlUaW1lc0ZvckNhbGNNb2RlUGFjZWQo
KQogICAgIGlmICh2YWx1ZXNDb3VudCA9PSAxKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBG
SVhNRSwgd2Via2l0Lm9yZy9iLzEwOTAxMDogbV9rZXlUaW1lcyBzaG91bGQgbm90IGJlIG1vZGlm
aWVkIGluIHRoaXMgZnVuY3Rpb24uCi0gICAgbV9rZXlUaW1lcy5jbGVhcigpOworICAgIG1fa2V5
VGltZXNGb3JQYWNlZC5jbGVhcigpOwogCiAgICAgVmVjdG9yPGZsb2F0PiBrZXlUaW1lc0ZvclBh
Y2VkOwogICAgIGZsb2F0IHRvdGFsRGlzdGFuY2UgPSAwOwpAQCAtMzY4LDIxICszNjcsMjYgQEAg
dm9pZCBTVkdBbmltYXRpb25FbGVtZW50OjpjYWxjdWxhdGVLZXlUaW1lc0ZvckNhbGNNb2RlUGFj
ZWQoKQogICAgICAgICBrZXlUaW1lc0ZvclBhY2VkW25dID0ga2V5VGltZXNGb3JQYWNlZFtuIC0g
MV0gKyBrZXlUaW1lc0ZvclBhY2VkW25dIC8gdG90YWxEaXN0YW5jZTsKICAgICBrZXlUaW1lc0Zv
clBhY2VkW2tleVRpbWVzRm9yUGFjZWQuc2l6ZSgpIC0gMV0gPSAxOwogCi0gICAgLy8gVXNlIGtl
eSB0aW1lcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHBhY2luZyBpbnN0ZWFkIG9mIHRoZSB1c2VyIHBy
b3ZpZGVkIG9uZXMuCi0gICAgbV9rZXlUaW1lcyA9IGtleVRpbWVzRm9yUGFjZWQ7CisgICAgbV9r
ZXlUaW1lc0ZvclBhY2VkID0gV1RGTW92ZShrZXlUaW1lc0ZvclBhY2VkKTsKIH0KIAogc3RhdGlj
IGlubGluZSBkb3VibGUgc29sdmVFcHNpbG9uKGRvdWJsZSBkdXJhdGlvbikgeyByZXR1cm4gMSAv
ICgyMDAgKiBkdXJhdGlvbik7IH0KIAorY29uc3QgVmVjdG9yPGZsb2F0PiYgU1ZHQW5pbWF0aW9u
RWxlbWVudDo6a2V5VGltZXMoKSBjb25zdAoreworICAgIHJldHVybiBjYWxjTW9kZSgpID09IENh
bGNNb2RlOjpQYWNlZCA/IG1fa2V5VGltZXNGb3JQYWNlZCA6IG1fa2V5VGltZXNGcm9tQXR0cmli
dXRlOworfQorCiB1bnNpZ25lZCBTVkdBbmltYXRpb25FbGVtZW50OjpjYWxjdWxhdGVLZXlUaW1l
c0luZGV4KGZsb2F0IHBlcmNlbnQpIGNvbnN0CiB7CisgICAgY29uc3QgYXV0byYga2V5VGltZXMg
PSB0aGlzLT5rZXlUaW1lcygpOwogICAgIHVuc2lnbmVkIGluZGV4OwotICAgIHVuc2lnbmVkIGtl
eVRpbWVzQ291bnQgPSBtX2tleVRpbWVzLnNpemUoKTsKKyAgICB1bnNpZ25lZCBrZXlUaW1lc0Nv
dW50ID0ga2V5VGltZXMuc2l6ZSgpOwogICAgIC8vIENvbXBhcmUgaW5kZXggKyAxIHRvIGtleVRp
bWVzQ291bnQgYmVjYXVzZSB0aGUgbGFzdCBrZXlUaW1lcyBlbnRyeSBpcwogICAgIC8vIHJlcXVp
cmVkIHRvIGJlIDEsIGFuZCBwZXJjZW50IGNhbiBuZXZlciBleGNlZWQgMTsgaS5lLiwgdGhlIHNl
Y29uZCBsYXN0CiAgICAgLy8ga2V5VGltZXMgZW50cnkgZGVmaW5lcyB0aGUgYmVnaW5uaW5nIG9m
IHRoZSBmaW5hbCBpbnRlcnZhbAogICAgIGZvciAoaW5kZXggPSAxOyBpbmRleCArIDEgPCBrZXlU
aW1lc0NvdW50OyArK2luZGV4KSB7Ci0gICAgICAgIGlmIChtX2tleVRpbWVzW2luZGV4XSA+IHBl
cmNlbnQpCisgICAgICAgIGlmIChrZXlUaW1lc1tpbmRleF0gPiBwZXJjZW50KQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgfQogICAgIHJldHVybiAtLWluZGV4OwpAQCAtNDAxLDE3ICs0MDUsMTkg
QEAgZmxvYXQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6Y2FsY3VsYXRlUGVyY2VudEZvclNwbGluZShm
bG9hdCBwZXJjZW50LCB1bnNpZ25lZCBzcGwKIAogZmxvYXQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6
Y2FsY3VsYXRlUGVyY2VudEZyb21LZXlQb2ludHMoZmxvYXQgcGVyY2VudCkgY29uc3QKIHsKKyAg
ICBjb25zdCBhdXRvJiBrZXlUaW1lcyA9IHRoaXMtPmtleVRpbWVzKCk7CisKICAgICBBU1NFUlQo
IW1fa2V5UG9pbnRzLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKGNhbGNNb2RlKCkgIT0gQ2FsY01v
ZGU6OlBhY2VkKTsKLSAgICBBU1NFUlQobV9rZXlUaW1lcy5zaXplKCkgPiAxKTsKLSAgICBBU1NF
UlQobV9rZXlQb2ludHMuc2l6ZSgpID09IG1fa2V5VGltZXMuc2l6ZSgpKTsKKyAgICBBU1NFUlQo
a2V5VGltZXMuc2l6ZSgpID4gMSk7CisgICAgQVNTRVJUKG1fa2V5UG9pbnRzLnNpemUoKSA9PSBr
ZXlUaW1lcy5zaXplKCkpOwogCiAgICAgaWYgKHBlcmNlbnQgPT0gMSkKICAgICAgICAgcmV0dXJu
IG1fa2V5UG9pbnRzW21fa2V5UG9pbnRzLnNpemUoKSAtIDFdOwogCiAgICAgdW5zaWduZWQgaW5k
ZXggPSBjYWxjdWxhdGVLZXlUaW1lc0luZGV4KHBlcmNlbnQpOwotICAgIGZsb2F0IGZyb21QZXJj
ZW50ID0gbV9rZXlUaW1lc1tpbmRleF07Ci0gICAgZmxvYXQgdG9QZXJjZW50ID0gbV9rZXlUaW1l
c1tpbmRleCArIDFdOworICAgIGZsb2F0IGZyb21QZXJjZW50ID0ga2V5VGltZXNbaW5kZXhdOwor
ICAgIGZsb2F0IHRvUGVyY2VudCA9IGtleVRpbWVzW2luZGV4ICsgMV07CiAgICAgZmxvYXQgZnJv
bUtleVBvaW50ID0gbV9rZXlQb2ludHNbaW5kZXhdOwogICAgIGZsb2F0IHRvS2V5UG9pbnQgPSBt
X2tleVBvaW50c1tpbmRleCArIDFdOwogICAgIApAQCAtNDI5LDggKzQzNSw5IEBAIGZsb2F0IFNW
R0FuaW1hdGlvbkVsZW1lbnQ6OmNhbGN1bGF0ZVBlcmNlbnRGcm9tS2V5UG9pbnRzKGZsb2F0IHBl
cmNlbnQpIGNvbnN0CiAKIGZsb2F0IFNWR0FuaW1hdGlvbkVsZW1lbnQ6OmNhbGN1bGF0ZVBlcmNl
bnRGb3JGcm9tVG8oZmxvYXQgcGVyY2VudCkgY29uc3QKIHsKLSAgICBpZiAoY2FsY01vZGUoKSA9
PSBDYWxjTW9kZTo6RGlzY3JldGUgJiYgbV9rZXlUaW1lcy5zaXplKCkgPT0gMikKLSAgICAgICAg
cmV0dXJuIHBlcmNlbnQgPiBtX2tleVRpbWVzWzFdID8gMSA6IDA7CisgICAgY29uc3QgYXV0byYg
a2V5VGltZXMgPSB0aGlzLT5rZXlUaW1lcygpOworICAgIGlmIChjYWxjTW9kZSgpID09IENhbGNN
b2RlOjpEaXNjcmV0ZSAmJiBrZXlUaW1lcy5zaXplKCkgPT0gMikKKyAgICAgICAgcmV0dXJuIHBl
cmNlbnQgPiBrZXlUaW1lc1sxXSA/IDEgOiAwOwogCiAgICAgcmV0dXJuIHBlcmNlbnQ7CiB9CkBA
IC00MzgsNyArNDQ1LDcgQEAgZmxvYXQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6Y2FsY3VsYXRlUGVy
Y2VudEZvckZyb21UbyhmbG9hdCBwZXJjZW50KSBjb25zdAogdm9pZCBTVkdBbmltYXRpb25FbGVt
ZW50OjpjdXJyZW50VmFsdWVzRnJvbUtleVBvaW50cyhmbG9hdCBwZXJjZW50LCBmbG9hdCYgZWZm
ZWN0aXZlUGVyY2VudCwgU3RyaW5nJiBmcm9tLCBTdHJpbmcmIHRvKSBjb25zdAogewogICAgIEFT
U0VSVCghbV9rZXlQb2ludHMuaXNFbXB0eSgpKTsKLSAgICBBU1NFUlQobV9rZXlQb2ludHMuc2l6
ZSgpID09IG1fa2V5VGltZXMuc2l6ZSgpKTsKKyAgICBBU1NFUlQobV9rZXlQb2ludHMuc2l6ZSgp
ID09IGtleVRpbWVzKCkuc2l6ZSgpKTsKICAgICBBU1NFUlQoY2FsY01vZGUoKSAhPSBDYWxjTW9k
ZTo6UGFjZWQpOwogICAgIGVmZmVjdGl2ZVBlcmNlbnQgPSBjYWxjdWxhdGVQZXJjZW50RnJvbUtl
eVBvaW50cyhwZXJjZW50KTsKICAgICB1bnNpZ25lZCBpbmRleCA9IGVmZmVjdGl2ZVBlcmNlbnQg
PT0gMSA/IG1fdmFsdWVzLnNpemUoKSAtIDIgOiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZWZmZWN0
aXZlUGVyY2VudCAqIChtX3ZhbHVlcy5zaXplKCkgLSAxKSk7CkBAIC00NjgsOSArNDc1LDEwIEBA
IHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6Y3VycmVudFZhbHVlc0ZvclZhbHVlc0FuaW1hdGlv
bihmbG9hdCBwZXJjZW50LCBmbG9hdCYKICAgICBpZiAoIW1fa2V5UG9pbnRzLmlzRW1wdHkoKSAm
JiBjYWxjTW9kZSAhPSBDYWxjTW9kZTo6UGFjZWQpCiAgICAgICAgIHJldHVybiBjdXJyZW50VmFs
dWVzRnJvbUtleVBvaW50cyhwZXJjZW50LCBlZmZlY3RpdmVQZXJjZW50LCBmcm9tLCB0byk7CiAg
ICAgCi0gICAgdW5zaWduZWQga2V5VGltZXNDb3VudCA9IG1fa2V5VGltZXMuc2l6ZSgpOworICAg
IGNvbnN0IGF1dG8mIGtleVRpbWVzID0gdGhpcy0+a2V5VGltZXMoKTsKKyAgICB1bnNpZ25lZCBr
ZXlUaW1lc0NvdW50ID0ga2V5VGltZXMuc2l6ZSgpOwogICAgIEFTU0VSVCgha2V5VGltZXNDb3Vu
dCB8fCB2YWx1ZXNDb3VudCA9PSBrZXlUaW1lc0NvdW50KTsKLSAgICBBU1NFUlQoIWtleVRpbWVz
Q291bnQgfHwgKGtleVRpbWVzQ291bnQgPiAxICYmICFtX2tleVRpbWVzWzBdKSk7CisgICAgQVNT
RVJUKCFrZXlUaW1lc0NvdW50IHx8IChrZXlUaW1lc0NvdW50ID4gMSAmJiAha2V5VGltZXNbMF0p
KTsKIAogICAgIHVuc2lnbmVkIGluZGV4ID0gY2FsY3VsYXRlS2V5VGltZXNJbmRleChwZXJjZW50
KTsKICAgICBpZiAoY2FsY01vZGUgPT0gQ2FsY01vZGU6OkRpc2NyZXRlKSB7CkBAIC00ODUsOCAr
NDkzLDggQEAgdm9pZCBTVkdBbmltYXRpb25FbGVtZW50OjpjdXJyZW50VmFsdWVzRm9yVmFsdWVz
QW5pbWF0aW9uKGZsb2F0IHBlcmNlbnQsIGZsb2F0JgogICAgIGZsb2F0IGZyb21QZXJjZW50Owog
ICAgIGZsb2F0IHRvUGVyY2VudDsKICAgICBpZiAoa2V5VGltZXNDb3VudCkgewotICAgICAgICBm
cm9tUGVyY2VudCA9IG1fa2V5VGltZXNbaW5kZXhdOwotICAgICAgICB0b1BlcmNlbnQgPSBtX2tl
eVRpbWVzW2luZGV4ICsgMV07CisgICAgICAgIGZyb21QZXJjZW50ID0ga2V5VGltZXNbaW5kZXhd
OworICAgICAgICB0b1BlcmNlbnQgPSBrZXlUaW1lc1tpbmRleCArIDFdOwogICAgIH0gZWxzZSB7
ICAgICAgICAKICAgICAgICAgaW5kZXggPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZmxvb3JmKHBl
cmNlbnQgKiAodmFsdWVzQ291bnQgLSAxKSkpOwogICAgICAgICBmcm9tUGVyY2VudCA9ICBzdGF0
aWNfY2FzdDxmbG9hdD4oaW5kZXgpIC8gKHZhbHVlc0NvdW50IC0gMSk7CkBAIC01MTMsOCArNTIx
LDEwIEBAIHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6c3RhcnRlZEFjdGl2ZUludGVydmFsKCkK
ICAgICBpZiAoIWhhc1ZhbGlkQXR0cmlidXRlVHlwZSgpKQogICAgICAgICByZXR1cm47CiAKKyAg
ICBjb25zdCBhdXRvJiBrZXlUaW1lcyA9IHRoaXMtPmtleVRpbWVzKCk7CisKICAgICAvLyBUaGVz
ZSB2YWxpZGF0aW9ucyBhcmUgYXBwcm9wcmlhdGUgZm9yIGFsbCBhbmltYXRpb24gbW9kZXMuCi0g
ICAgaWYgKGhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oU1ZHTmFtZXM6OmtleVBv
aW50c0F0dHIpICYmIG1fa2V5UG9pbnRzLnNpemUoKSAhPSBtX2tleVRpbWVzLnNpemUoKSkKKyAg
ICBpZiAoaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihTVkdOYW1lczo6a2V5UG9p
bnRzQXR0cikgJiYgbV9rZXlQb2ludHMuc2l6ZSgpICE9IGtleVRpbWVzLnNpemUoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgQW5pbWF0aW9uTW9kZSBhbmltYXRpb25Nb2RlID0gdGhpcy0+YW5p
bWF0aW9uTW9kZSgpOwpAQCAtNTI0LDcgKzUzNCw3IEBAIHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVu
dDo6c3RhcnRlZEFjdGl2ZUludGVydmFsKCkKICAgICAgICAgaWYgKCFzcGxpbmVzQ291bnQKICAg
ICAgICAgICAgIHx8IChoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFNWR05hbWVz
OjprZXlQb2ludHNBdHRyKSAmJiBtX2tleVBvaW50cy5zaXplKCkgLSAxICE9IHNwbGluZXNDb3Vu
dCkKICAgICAgICAgICAgIHx8IChhbmltYXRpb25Nb2RlID09IEFuaW1hdGlvbk1vZGU6OlZhbHVl
cyAmJiBtX3ZhbHVlcy5zaXplKCkgLSAxICE9IHNwbGluZXNDb3VudCkKLSAgICAgICAgICAgIHx8
IChoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFNWR05hbWVzOjprZXlUaW1lc0F0
dHIpICYmIG1fa2V5VGltZXMuc2l6ZSgpIC0gMSAhPSBzcGxpbmVzQ291bnQpKQorICAgICAgICAg
ICAgfHwgKGhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oU1ZHTmFtZXM6OmtleVRp
bWVzQXR0cikgJiYga2V5VGltZXMuc2l6ZSgpIC0gMSAhPSBzcGxpbmVzQ291bnQpKQogICAgICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTM0LDcgKzU0NCw3IEBAIHZvaWQgU1ZHQW5pbWF0
aW9uRWxlbWVudDo6c3RhcnRlZEFjdGl2ZUludGVydmFsKCkKICAgICBpZiAoYW5pbWF0aW9uTW9k
ZSA9PSBBbmltYXRpb25Nb2RlOjpOb25lKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKChhbmlt
YXRpb25Nb2RlID09IEFuaW1hdGlvbk1vZGU6OkZyb21UbyB8fCBhbmltYXRpb25Nb2RlID09IEFu
aW1hdGlvbk1vZGU6OkZyb21CeSB8fCBhbmltYXRpb25Nb2RlID09IEFuaW1hdGlvbk1vZGU6OlRv
IHx8IGFuaW1hdGlvbk1vZGUgPT0gQW5pbWF0aW9uTW9kZTo6QnkpCi0gICAgICAgICYmIChoYXNB
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFNWR05hbWVzOjprZXlQb2ludHNBdHRyKSAm
JiBoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFNWR05hbWVzOjprZXlUaW1lc0F0
dHIpICYmIChtX2tleVRpbWVzLnNpemUoKSA8IDIgfHwgbV9rZXlUaW1lcy5zaXplKCkgIT0gbV9r
ZXlQb2ludHMuc2l6ZSgpKSkpCisgICAgICAgICYmIChoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKFNWR05hbWVzOjprZXlQb2ludHNBdHRyKSAmJiBoYXNBdHRyaWJ1dGVXaXRob3V0
U3luY2hyb25pemF0aW9uKFNWR05hbWVzOjprZXlUaW1lc0F0dHIpICYmIChrZXlUaW1lcy5zaXpl
KCkgPCAyIHx8IGtleVRpbWVzLnNpemUoKSAhPSBtX2tleVBvaW50cy5zaXplKCkpKSkKICAgICAg
ICAgcmV0dXJuOwogICAgIGlmIChhbmltYXRpb25Nb2RlID09IEFuaW1hdGlvbk1vZGU6OkZyb21U
bykKICAgICAgICAgbV9hbmltYXRpb25WYWxpZCA9IGNhbGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhm
cm9tLCB0byk7CkBAIC01NDgsMTYgKzU1OCwxNiBAQCB2b2lkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6
OnN0YXJ0ZWRBY3RpdmVJbnRlcnZhbCgpCiAgICAgICAgIG1fYW5pbWF0aW9uVmFsaWQgPSBjYWxj
dWxhdGVGcm9tQW5kQnlWYWx1ZXMoZW1wdHlTdHJpbmcoKSwgYnkpOwogICAgIGVsc2UgaWYgKGFu
aW1hdGlvbk1vZGUgPT0gQW5pbWF0aW9uTW9kZTo6VmFsdWVzKSB7CiAgICAgICAgIG1fYW5pbWF0
aW9uVmFsaWQgPSBtX3ZhbHVlcy5zaXplKCkgPj0gMQotICAgICAgICAgICAgJiYgKGNhbGNNb2Rl
ID09IENhbGNNb2RlOjpQYWNlZCB8fCAhaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlv
bihTVkdOYW1lczo6a2V5VGltZXNBdHRyKSB8fCBoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKFNWR05hbWVzOjprZXlQb2ludHNBdHRyKSB8fCAobV92YWx1ZXMuc2l6ZSgpID09IG1f
a2V5VGltZXMuc2l6ZSgpKSkKLSAgICAgICAgICAgICYmIChjYWxjTW9kZSA9PSBDYWxjTW9kZTo6
RGlzY3JldGUgfHwgIW1fa2V5VGltZXMuc2l6ZSgpIHx8IG1fa2V5VGltZXMubGFzdCgpID09IDEp
CisgICAgICAgICAgICAmJiAoY2FsY01vZGUgPT0gQ2FsY01vZGU6OlBhY2VkIHx8ICFoYXNBdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFNWR05hbWVzOjprZXlUaW1lc0F0dHIpIHx8IGhh
c0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oU1ZHTmFtZXM6OmtleVBvaW50c0F0dHIp
IHx8IChtX3ZhbHVlcy5zaXplKCkgPT0ga2V5VGltZXMuc2l6ZSgpKSkKKyAgICAgICAgICAgICYm
IChjYWxjTW9kZSA9PSBDYWxjTW9kZTo6RGlzY3JldGUgfHwgIWtleVRpbWVzLnNpemUoKSB8fCBr
ZXlUaW1lcy5sYXN0KCkgPT0gMSkKICAgICAgICAgICAgICYmIChjYWxjTW9kZSAhPSBDYWxjTW9k
ZTo6U3BsaW5lIHx8ICgobV9rZXlTcGxpbmVzLnNpemUoKSAmJiAobV9rZXlTcGxpbmVzLnNpemUo
KSA9PSBtX3ZhbHVlcy5zaXplKCkgLSAxKSkgfHwgbV9rZXlTcGxpbmVzLnNpemUoKSA9PSBtX2tl
eVBvaW50cy5zaXplKCkgLSAxKSkKLSAgICAgICAgICAgICYmICghaGFzQXR0cmlidXRlV2l0aG91
dFN5bmNocm9uaXphdGlvbihTVkdOYW1lczo6a2V5UG9pbnRzQXR0cikgfHwgKG1fa2V5VGltZXMu
c2l6ZSgpID4gMSAmJiBtX2tleVRpbWVzLnNpemUoKSA9PSBtX2tleVBvaW50cy5zaXplKCkpKTsK
KyAgICAgICAgICAgICYmICghaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihTVkdO
YW1lczo6a2V5UG9pbnRzQXR0cikgfHwgKGtleVRpbWVzLnNpemUoKSA+IDEgJiYga2V5VGltZXMu
c2l6ZSgpID09IG1fa2V5UG9pbnRzLnNpemUoKSkpOwogICAgICAgICBpZiAobV9hbmltYXRpb25W
YWxpZCkKICAgICAgICAgICAgIG1fYW5pbWF0aW9uVmFsaWQgPSBjYWxjdWxhdGVUb0F0RW5kT2ZE
dXJhdGlvblZhbHVlKG1fdmFsdWVzLmxhc3QoKSk7CiAgICAgICAgIGlmIChjYWxjTW9kZSA9PSBD
YWxjTW9kZTo6UGFjZWQgJiYgbV9hbmltYXRpb25WYWxpZCkKICAgICAgICAgICAgIGNhbGN1bGF0
ZUtleVRpbWVzRm9yQ2FsY01vZGVQYWNlZCgpOwogICAgIH0gZWxzZSBpZiAoYW5pbWF0aW9uTW9k
ZSA9PSBBbmltYXRpb25Nb2RlOjpQYXRoKQotICAgICAgICBtX2FuaW1hdGlvblZhbGlkID0gY2Fs
Y01vZGUgPT0gQ2FsY01vZGU6OlBhY2VkIHx8ICFoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKFNWR05hbWVzOjprZXlQb2ludHNBdHRyKSB8fCAobV9rZXlUaW1lcy5zaXplKCkgPiAx
ICYmIG1fa2V5VGltZXMuc2l6ZSgpID09IG1fa2V5UG9pbnRzLnNpemUoKSk7CisgICAgICAgIG1f
YW5pbWF0aW9uVmFsaWQgPSBjYWxjTW9kZSA9PSBDYWxjTW9kZTo6UGFjZWQgfHwgIWhhc0F0dHJp
YnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oU1ZHTmFtZXM6OmtleVBvaW50c0F0dHIpIHx8IChr
ZXlUaW1lcy5zaXplKCkgPiAxICYmIGtleVRpbWVzLnNpemUoKSA9PSBtX2tleVBvaW50cy5zaXpl
KCkpOwogfQogCiB2b2lkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OnVwZGF0ZUFuaW1hdGlvbihmbG9h
dCBwZXJjZW50LCB1bnNpZ25lZCByZXBlYXRDb3VudCkKQEAgLTU4MSw3ICs1OTEsNyBAQCB2b2lk
IFNWR0FuaW1hdGlvbkVsZW1lbnQ6OnVwZGF0ZUFuaW1hdGlvbihmbG9hdCBwZXJjZW50LCB1bnNp
Z25lZCByZXBlYXRDb3VudCkKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoIW1fa2V5UG9pbnRz
LmlzRW1wdHkoKSAmJiBjYWxjTW9kZSAhPSBDYWxjTW9kZTo6UGFjZWQpCiAgICAgICAgIGVmZmVj
dGl2ZVBlcmNlbnQgPSBjYWxjdWxhdGVQZXJjZW50RnJvbUtleVBvaW50cyhwZXJjZW50KTsKLSAg
ICBlbHNlIGlmIChtX2tleVBvaW50cy5pc0VtcHR5KCkgJiYgY2FsY01vZGUgPT0gQ2FsY01vZGU6
OlNwbGluZSAmJiBtX2tleVRpbWVzLnNpemUoKSA+IDEpCisgICAgZWxzZSBpZiAobV9rZXlQb2lu
dHMuaXNFbXB0eSgpICYmIGNhbGNNb2RlID09IENhbGNNb2RlOjpTcGxpbmUgJiYga2V5VGltZXMo
KS5zaXplKCkgPiAxKQogICAgICAgICBlZmZlY3RpdmVQZXJjZW50ID0gY2FsY3VsYXRlUGVyY2Vu
dEZvclNwbGluZShwZXJjZW50LCBjYWxjdWxhdGVLZXlUaW1lc0luZGV4KHBlcmNlbnQpKTsKICAg
ICBlbHNlIGlmIChhbmltYXRpb25Nb2RlID09IEFuaW1hdGlvbk1vZGU6OkZyb21UbyB8fCBhbmlt
YXRpb25Nb2RlID09IEFuaW1hdGlvbk1vZGU6OlRvKQogICAgICAgICBlZmZlY3RpdmVQZXJjZW50
ID0gY2FsY3VsYXRlUGVyY2VudEZvckZyb21UbyhwZXJjZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0aW9uRWxlbWVudC5oCmluZGV4IGYzNmRhNmNiNGI0YmNiN2I3NmQxN2FkMmQ3YjE2
YzBiYjMwNTIzNDUuLmZjZjhhZjY1MmI1Y2E0MmUzMTBiNWE0NWUyMzE1NTg5NWViYThiMjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaApAQCAtMiw3ICsyLDcgQEAK
ICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1h
bm5Aa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8
YnVpc0BrZGUub3JnPgogICogQ29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdl
YmtpdC5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ2FtZXJvbiBNY0Nvcm1hY2sg
PGNhbUBtY2MuaWQuYXU+CiAgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1p
dGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMTIzLDYgKzEyMyw3IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUoZmxvYXQgcGVy
Y2VudCwgdW5zaWduZWQgcmVwZWF0Q291bnQpID0gMDsKICAgICB2aXJ0dWFsIE9wdGlvbmFsPGZs
b2F0PiBjYWxjdWxhdGVEaXN0YW5jZShjb25zdCBTdHJpbmcmIC8qZnJvbVN0cmluZyovLCBjb25z
dCBTdHJpbmcmIC8qdG9TdHJpbmcqLykgPSAwOwogCisgICAgY29uc3QgVmVjdG9yPGZsb2F0PiYg
a2V5VGltZXMoKSBjb25zdDsKICAgICB2b2lkIGN1cnJlbnRWYWx1ZXNGb3JWYWx1ZXNBbmltYXRp
b24oZmxvYXQgcGVyY2VudCwgZmxvYXQmIGVmZmVjdGl2ZVBlcmNlbnQsIFN0cmluZyYgZnJvbSwg
U3RyaW5nJiB0byk7CiAgICAgdm9pZCBjYWxjdWxhdGVLZXlUaW1lc0ZvckNhbGNNb2RlUGFjZWQo
KTsKICAgICBmbG9hdCBjYWxjdWxhdGVQZXJjZW50RnJvbUtleVBvaW50cyhmbG9hdCBwZXJjZW50
KSBjb25zdDsKQEAgLTEzNyw3ICsxMzgsOCBAQCBwcml2YXRlOgogCiAgICAgQXR0cmlidXRlVHlw
ZSBtX2F0dHJpYnV0ZVR5cGUgeyBBdHRyaWJ1dGVUeXBlOjpBdXRvIH07CiAgICAgVmVjdG9yPFN0
cmluZz4gbV92YWx1ZXM7Ci0gICAgVmVjdG9yPGZsb2F0PiBtX2tleVRpbWVzOworICAgIFZlY3Rv
cjxmbG9hdD4gbV9rZXlUaW1lc0Zyb21BdHRyaWJ1dGU7CisgICAgVmVjdG9yPGZsb2F0PiBtX2tl
eVRpbWVzRm9yUGFjZWQ7CiAgICAgVmVjdG9yPGZsb2F0PiBtX2tleVBvaW50czsKICAgICBWZWN0
b3I8VW5pdEJlemllcj4gbV9rZXlTcGxpbmVzOwogICAgIFN0cmluZyBtX2xhc3RWYWx1ZXNBbmlt
YXRpb25Gcm9tOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDk1ZTJmN2RlOTk2YzI4OWE3YTM2N2I0NzY5MGVmZmFhNzZiYTU3
OTkuLjBkMTZlYjA4NDE0NzI5NGFjNjE4NTkyOTYxNjU2MmQxNGYzN2I4MTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wNC0xMiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWlkQGFwcGxlLmNv
bT4KKworICAgICAgICBTVkcgcGFjZWQgdmFsdWUgYW5pbWF0aW9ucyBvdmVyd3JpdGUgdXNlci1w
cm92aWRlZCBrZXlUaW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA5MDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisg
ICAgICAgIFNpbXBsaWZpZWQgZnJvbSB0aGUgV1BUIHBhY2VkLXZhbHVlLWFuaW1hdGlvbi1vdmVy
d3JpdGVzLWtleVRpbWVzLmh0bWwuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRl
LWNhbGNNb2RlLXBhY2VkLW92ZXJ3cml0ZS1rZXktdGltZXMtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1wYWNlZC1vdmVyd3Jp
dGUta2V5LXRpbWVzLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA0LTExICBTYW0gV2VpbmlnICA8d2Vp
bmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWR1Y2UgY29tcGlsZSB0aW1lIGFuZCBiaW5hcnkg
c2l6ZSBjb3N0IG9mIGVuYWJsaW5nIHByb3BlciBDU1NTdHlsZURlY2xhcmF0aW9uIHByb3BlcnR5
IGFjY2VzcyBiZWhhdmlvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMjAzZGM2
Mjk5MjZjMGIxYzIyYTg5MDg3MDNiOGU2NTAwNTQ5YjQ0Yy4uODE3ODEzNGI3NzNmZWNiZmRhZjll
YWNkZTljODU5NTQxYWYwMzRiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTIgQEAKKzIwMjEtMDQtMTIgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5j
b20+CisKKyAgICAgICAgU1ZHIHBhY2VkIHZhbHVlIGFuaW1hdGlvbnMgb3ZlcndyaXRlIHVzZXIt
cHJvdmlkZWQga2V5VGltZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwOTAxMAorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHRlZC9wYWNl
ZC12YWx1ZS1hbmltYXRpb24tb3ZlcndyaXRlcy1rZXlUaW1lcy1leHBlY3RlZC50eHQ6CisKIDIw
MjEtMDQtMTEgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVj
ZSBjb21waWxlIHRpbWUgYW5kIGJpbmFyeSBzaXplIGNvc3Qgb2YgZW5hYmxpbmcgcHJvcGVyIENT
U1N0eWxlRGVjbGFyYXRpb24gcHJvcGVydHkgYWNjZXNzIGJlaGF2aW9yCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N2Zy9hbmltYXRpb25z
L3NjcmlwdGVkL3BhY2VkLXZhbHVlLWFuaW1hdGlvbi1vdmVyd3JpdGVzLWtleVRpbWVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3Zn
L2FuaW1hdGlvbnMvc2NyaXB0ZWQvcGFjZWQtdmFsdWUtYW5pbWF0aW9uLW92ZXJ3cml0ZXMta2V5
VGltZXMtZXhwZWN0ZWQudHh0CmluZGV4IGZjZTdmZGQzOWY5MTA0MGY4MWIzOTY0M2M5MjQzMTBj
NjM3YmVlOTguLmI4MTc1ZjZjMWU3YWEyYjU5YzNiMDdhZGYzZjk4ZjVmN2RmNmE2YmUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc2NyaXB0ZWQvcGFjZWQtdmFsdWUtYW5pbWF0aW9uLW92ZXJ3cml0ZXMta2V5VGlt
ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0ZWQvcGFjZWQtdmFsdWUtYW5pbWF0aW9uLW92
ZXJ3cml0ZXMta2V5VGltZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFBh
Y2VkIHZhbHVlIGFuaW1hdGlvbiBkb2Vzbid0IG92ZXJ3cml0ZSBrZXlUaW1lcyBhc3NlcnRfYXBw
cm94X2VxdWFsczogZXhwZWN0ZWQgMTUwICsvLSA1IGJ1dCBnb3QgMTIwCitQQVNTIFBhY2VkIHZh
bHVlIGFuaW1hdGlvbiBkb2Vzbid0IG92ZXJ3cml0ZSBrZXlUaW1lcwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXBhY2VkLW92ZXJ3cml0
ZS1rZXktdGltZXMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2Fu
aW1hdGUtY2FsY01vZGUtcGFjZWQtb3ZlcndyaXRlLWtleS10aW1lcy1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmExNzk2OTM1Mjk5ZTI4NTM4YTlhM2Q2NDgzMDA0MWM5YjdiNzExMTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2Rl
LXBhY2VkLW92ZXJ3cml0ZS1rZXktdGltZXMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDYgQEAK
Kzxib2R5PgorICA8c3ZnIGlkPSJzdmciIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIj4KKyAgICA8
cmVjdCB4PSIxNTAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJncmVlbiIv
PgorICA8L3N2Zz4KKyAgPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXBhY2VkLW92ZXJ3cml0ZS1rZXktdGlt
ZXMuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtcGFj
ZWQtb3ZlcndyaXRlLWtleS10aW1lcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZWMxZDQwZTBjOGU1ZDJj
ZTBhMmU5NjcyZTRjMjkwMjk5ZTE1M2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXBhY2VkLW92ZXJ3cml0ZS1rZXktdGltZXMu
aHRtbApAQCAtMCwwICsxLDI2IEBACis8Ym9keT4KKyAgICA8c3ZnIGlkPSJzdmciIHdpZHRoPSI1
MDAiIGhlaWdodD0iNTAwIj4KKyAgICAgICAgPHJlY3QgeD0iMTUwIiB5PSIwIiB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjEwMCIgZmlsbD0icmVkIi8+CisgICAgICAgIDxyZWN0IHdpZHRoPSIxMDAiIGhl
aWdodD0iMTAwIiBmaWxsPSJncmVlbiI+CisgICAgICAgICAgICA8YW5pbWF0ZSBpZD0iYW5pbWF0
ZTEiIGF0dHJpYnV0ZU5hbWU9IngiIGR1cj0iMTBzIiBjYWxjTW9kZT0icGFjZWQiIHZhbHVlcz0i
MTAwOyAxNTA7IDIwMDsiIGtleVRpbWVzPSIwOyAwLjI7IDEiLz4KKyAgICAgICAgPC9yZWN0Pgor
ICAgIDwvc3ZnPgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKKyAgICAgICAg
ICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgICAg
IGxldCBzdmcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3ZnJyk7CisgICAgICAgICAgICAg
ICAgbGV0IGFuaW1hdGUxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FuaW1hdGUxJyk7CisK
KyAgICAgICAgICAgICAgICBhbmltYXRlMS5zZXRBdHRyaWJ1dGUoJ2NhbGNNb2RlJywgJ2xpbmVh
cicpOworICAgICAgICAgICAgICAgIHN2Zy5wYXVzZUFuaW1hdGlvbnMoKTsKKyAgICAgICAgICAg
ICAgICBzdmcuc2V0Q3VycmVudFRpbWUoMik7CisKKyAgICAgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICA8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>