<?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>215807</bug_id>
          
          <creation_ts>2020-08-25 07:59:06 -0700</creation_ts>
          <short_desc>REGRESSION (r263506): timing of CSS Animation on https://animate.style is incorrect</short_desc>
          <delta_ts>2020-11-02 03:35:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://animate.style</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>anthony.demuylder</cc>
    
    <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1682634</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-08-25 07:59:06 -0700</bug_when>
    <thetext>If you go to animate.style you&apos;ll notice the animations are playing faster than they do in other browsers (Chrome and Firefox for instance).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682635</commentid>
    <comment_count>1</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-08-25 07:59:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/66770136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682638</commentid>
    <comment_count>2</comment_count>
      <attachid>407189</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-08-25 08:19:41 -0700</bug_when>
    <thetext>Created attachment 407189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682642</commentid>
    <comment_count>3</comment_count>
      <attachid>407189</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-08-25 08:27:04 -0700</bug_when>
    <thetext>Comment on attachment 407189
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        In r263506, we added a way for accelerated animations to adhere to both a timing function set on the
&gt; +        animation, affecting the timing of the entire animation, as well as a timing function set on individual
&gt; +        keyframes, affecting the timing of the animation in a given interval.

That&apos;s a weird way of saying that accelerated animation timing functions were broken.

&gt; Source/WebCore/animation/KeyframeEffect.cpp:1662
&gt;  Ref&lt;const Animation&gt; KeyframeEffect::backingAnimationForCompositedRenderer() const

It&apos;s weird that this has to exist, and weird that it returns a Ref&lt;const Animation&gt;.

&gt; LayoutTests/webanimations/accelerated-css-animation-with-easing.html:54
&gt; +    await new Promise(requestAnimationFrame);
&gt; +    await new Promise(requestAnimationFrame);
&gt; +    await new Promise(requestAnimationFrame);

I feel like this test will be flakey.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1682647</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-08-25 08:29:28 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 407189 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=407189&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        In r263506, we added a way for accelerated animations to adhere to both a timing function set on the
&gt; &gt; +        animation, affecting the timing of the entire animation, as well as a timing function set on individual
&gt; &gt; +        keyframes, affecting the timing of the animation in a given interval.
&gt; 
&gt; That&apos;s a weird way of saying that accelerated animation timing functions
&gt; were broken.

Not *all* of them, it was required to have more than 2 keyframes and use implicit timing functions on keyframes.

&gt; &gt; Source/WebCore/animation/KeyframeEffect.cpp:1662
&gt; &gt;  Ref&lt;const Animation&gt; KeyframeEffect::backingAnimationForCompositedRenderer() const
&gt; 
&gt; It&apos;s weird that this has to exist, and weird that it returns a Ref&lt;const
&gt; Animation&gt;.

Agreed. When we remove the legacy animation code (real soon now) we can remove the use of Animation here and use WebAnimation objects instead.

&gt; &gt; LayoutTests/webanimations/accelerated-css-animation-with-easing.html:54
&gt; &gt; +    await new Promise(requestAnimationFrame);
&gt; &gt; +    await new Promise(requestAnimationFrame);
&gt; &gt; +    await new Promise(requestAnimationFrame);
&gt; 
&gt; I feel like this test will be flakey.

This was based on webanimations/accelerated-animation-with-easing.html which proved to be solid after some initial issues were ironed out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683338</commentid>
    <comment_count>5</comment_count>
      <attachid>407388</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-08-27 04:05:23 -0700</bug_when>
    <thetext>Created attachment 407388
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683349</commentid>
    <comment_count>6</comment_count>
      <attachid>407393</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-08-27 05:55:18 -0700</bug_when>
    <thetext>Created attachment 407393
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1683417</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-08-27 10:02:35 -0700</bug_when>
    <thetext>Committed r266241: &lt;https://trac.webkit.org/changeset/266241&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703473</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-11-02 03:35:20 -0800</bug_when>
    <thetext>*** Bug 218224 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407189</attachid>
            <date>2020-08-25 08:19:41 -0700</date>
            <delta_ts>2020-08-27 04:05:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215807-20200825171940.patch</filename>
            <type>text/plain</type>
            <size>10611</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VkMTkxYjIzMDY2ZDQ0
ZWIzNzMxOTFjMGYwNzA1YjQyNGUyYjI5Mi4uN2M4NjJlOWQ2M2U5ZDVkNGEyZTdiY2RhNWU5Y2My
NzQ3Mzg1NWQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIwLTA4LTI1ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIy
NjM1MDYpOiB0aW1pbmcgb2YgQ1NTIEFuaW1hdGlvbiBvbiBodHRwczovL2FuaW1hdGUuc3R5bGUg
aXMgaW5jb3JyZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTU4MDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY2NzcwMTM2PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHIyNjM1MDYsIHdlIGFk
ZGVkIGEgd2F5IGZvciBhY2NlbGVyYXRlZCBhbmltYXRpb25zIHRvIGFkaGVyZSB0byBib3RoIGEg
dGltaW5nIGZ1bmN0aW9uIHNldCBvbiB0aGUKKyAgICAgICAgYW5pbWF0aW9uLCBhZmZlY3Rpbmcg
dGhlIHRpbWluZyBvZiB0aGUgZW50aXJlIGFuaW1hdGlvbiwgYXMgd2VsbCBhcyBhIHRpbWluZyBm
dW5jdGlvbiBzZXQgb24gaW5kaXZpZHVhbAorICAgICAgICBrZXlmcmFtZXMsIGFmZmVjdGluZyB0
aGUgdGltaW5nIG9mIHRoZSBhbmltYXRpb24gaW4gYSBnaXZlbiBpbnRlcnZhbC4KKworICAgICAg
ICBUaGF0IGNvZGUgY2hhbmdlIGFzc3VtZWQgdGhhdCB0aGUgQW5pbWF0aW9uIG9iamVjdCB1bHRp
bWF0ZWx5IHBhc3NlZCB0byBHcmFwaGljc0xheWVyQ0E6OnNldHVwQW5pbWF0aW9uKCkKKyAgICAg
ICAgd291bGQgcmV0dXJuIHRoZSBhbmltYXRpb24td2lkZSB0aW1pbmcgZnVuY3Rpb24gdGhyb3Vn
aCBBbmltYXRpb246OnRpbWluZ0Z1bmN0aW9uKCkuIFRoaXMgd2FzIGNvcnJlY3QgZm9yCisgICAg
ICAgIEpTLW9yaWdpbmF0ZWQgYW5pbWF0aW9ucywgYnV0IG5vdCBmb3IgQ1NTIEFuaW1hdGlvbnMs
IHNpbmNlIHRoYXQgdmFsdWUgd2FzIHNldCBiYXNlZCBvbiB0aGUgY29tcHV0ZWQgQ1NTCisgICAg
ICAgIHByb3BlcnR5IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gZm9yIHRoZSB0YXJnZXQgZWxl
bWVudC4gSG93ZXZlciwgdGhhdCBDU1MgcHJvcGVydHkgZG9lcyBub3Qgc3BlY2lmeQorICAgICAg
ICB0aGUgYW5pbWF0aW9uLXdpZGUgdGltaW5nIGZ1bmN0aW9uLCBidXQgcmF0aGVyIHRoZSBkZWZh
dWx0IHRpbWluZyBmdW5jdGlvbiB0byB1c2UgZm9yIGtleWZyYW1lcyBzaG91bGQKKyAgICAgICAg
dGhleSBmYWlsIHRvIHNwZWNpZnkgYW4gZXhwbGljaXQgdGltaW5nIGZ1bmN0aW9uLgorCisgICAg
ICAgIEFkZGl0aW9uYWxseSwgaXQgd2FzIGFzc3VtZWQgdGhhdCB0aGUgS2V5ZnJhbWVMaXN0IG9i
amVjdCBwcm92aWRlZCB0byBHcmFwaGljc0xheWVyQ0Egd291bGQgYWxzbyBzcGVjaWZ5CisgICAg
ICAgIHRoZSBrZXlmcmFtZS1zcGVjaWZpYyB0aW1pbmcgZnVuY3Rpb25zIHRocm91Z2ggS2V5ZnJh
bWVWYWx1ZTo6dGltaW5nRnVuY3Rpb24oKS4gSG93ZXZlciwgdGhlIGZ1bmN0aW9uCisgICAgICAg
IFN0eWxlOjpSZXNvbHZlcjo6a2V5ZnJhbWVTdHlsZXNGb3JBbmltYXRpb24oKSBkaWQgbm90IHNl
dCB0aGUga2V5ZnJhbWUtc3BlY2lmaWMgdGltaW5nIGZ1bmN0aW9uIHVubGVzcworICAgICAgICBv
bmUgd2FzIHNldCB1c2luZyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCBsZXR0aW5nIEdyYXBo
aWNzTGF5ZXJDQTo6dGltaW5nRnVuY3Rpb25Gb3JBbmltYXRpb25WYWx1ZSgpCisgICAgICAgIHVz
ZSBBbmltYXRpb246OnRpbWluZ0Z1bmN0aW9uKCkgb24gdGhlIHByb3ZpZGVkIEFuaW1hdGlvbiBv
YmplY3QuCisKKyAgICAgICAgVG8gZml4IHRoaXMgd2UgbWFrZSBpdCBzbyB0aGF0IHRoZSBBbmlt
YXRpb24gYW5kIEtleWZyYW1lTGlzdCBvYmplY3RzIHByb3ZpZGVkIHRvIEdyYXBoaWNzTGF5ZXJD
QSBhbHdheXMKKyAgICAgICAgYWRoZXJlIHRvIHRoZSBzYW1lIGV4cGVjdGF0aW9uIHJlZ2FyZGxl
c3Mgb2Ygd2hldGhlciB0aGUgYW5pbWF0aW9uIHdhcyBjcmVhdGVkIHZpYSBDU1Mgb3IgSlMuCisK
KyAgICAgICAgV2UgZW5zdXJlIHRoYXQgdGhlIGFuaW1hdGlvbi13aWRlIHRpbWluZyBmdW5jdGlv
biBpcyBzZXQgb24gdGhlIEFuaW1hdGlvbiBvYmplY3QsIGNoYW5naW5nCisgICAgICAgIEtleWZy
YW1lRWZmZWN0OjpiYWNraW5nQW5pbWF0aW9uRm9yQ29tcG9zaXRlZFJlbmRlcmVyKCkgdG8gYWx3
YXlzIGdlbmVyYXRlIGFuIEFuaW1hdGlvbiBvYmplY3QKKyAgICAgICAgYmFzZWQgb24gdGhlIGVm
ZmVjdCwgZGl2b3JjaW5nIGl0c2VsZiBmcm9tIHRoZSBBbmltYXRpb24gb2JqZWN0IGNyZWF0ZWQg
dGhyb3VnaCBDU1MuCisKKyAgICAgICAgVGhlbiwgd2UgZW5zdXJlIHRoYXQgdGhlIGtleWZyYW1l
LXNwZWNpZmljIHRpbWluZyBmdW5jdGlvbnMgYXJlIHNldCBvbiB0aGUgS2V5ZnJhbWVWYWx1ZSBv
YmplY3RzCisgICAgICAgIGFjY2Vzc2VkIHRocm91Z2ggdGhlIEtleWZyYW1lTGlzdCBvYmplY3Qs
IGNoYW5naW5nIFN0eWxlOjpSZXNvbHZlcjo6a2V5ZnJhbWVTdHlsZXNGb3JBbmltYXRpb24oKQor
ICAgICAgICB0byB0YWtlIGFuIG9wdGlvbmFsIFRpbWluZ0Z1bmN0aW9uIHBhcmFtZXRlciB0byBz
cGVjaWZ5IHRoZSBkZWZhdWx0IHRpbWluZyBmdW5jdGlvbiB0byB1c2Ugc2hvdWxkCisgICAgICAg
IGEga2V5ZnJhbWUgbm90IGhhdmUgb25lIHNldCBleHBsaWNpdGx5LgorCisgICAgICAgIFRlc3Q6
IHdlYmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtY3NzLWFuaW1hdGlvbi13aXRoLWVhc2luZy5odG1s
CisKKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6S2V5ZnJhbWVFZmZlY3Q6OmNvbXB1dGVDU1NBbmltYXRpb25CbGVuZGluZ0tleWZyYW1l
cyk6IFBhc3MgaW4gdGhlIGRlZmF1bHQgdGltaW5nIGZ1bmN0aW9uIHRvIHVzZQorICAgICAgICBm
b3Iga2V5ZnJhbWVzIGFzIHByb3ZpZGVkIHRocm91Z2ggdGhlIGFuaW1hdGlvbi10aW1pbmctZnVu
Y3Rpb24gb24gdGhlIHRhcmdldCBlbGVtZW50IG9mIGEgQ1NTIEFuaW1hdGlvbi4KKyAgICAgICAg
KFdlYkNvcmU6OktleWZyYW1lRWZmZWN0OjpiYWNraW5nQW5pbWF0aW9uRm9yQ29tcG9zaXRlZFJl
bmRlcmVyIGNvbnN0KTogR2V0IHJpZCBvZiB0aGUgQ1NTQW5pbWF0aW9uLXNwZWNpZmljCisgICAg
ICAgIGNhc2UgYW5kIGFsd2F5cyBnZW5lcmF0ZSBhbiBBbmltYXRpb24gb2JqZWN0IGJhc2VkIG9u
IHRoZSBlZmZlY3QncyBwcm9wZXJ0aWVzLgorICAgICAgICAqIHN0eWxlL1N0eWxlUmVzb2x2ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlJlc29sdmVyOjprZXlmcmFtZVN0eWxlc0Zv
ckFuaW1hdGlvbik6IFVzZSB0aGUgbmV3IGRlZmF1bHRUaW1pbmdGdW5jdGlvbiBwYXJhbWV0ZXIg
dG8gc2V0IHRoZQorICAgICAgICB0aW1pbmcgZnVuY3Rpb24gb2YgYW55IEtleWZyYW1lVmFsdWUg
dGhhdCBkb2VzIG5vdCBoYXZlIGFuIGV4cGxpY2l0IHRpbWluZyBmdW5jdGlvbi4KKyAgICAgICAg
KiBzdHlsZS9TdHlsZVJlc29sdmVyLmg6CisKIDIwMjAtMDgtMjUgIFBoaWxpcHBlIE5vcm1hbmQg
IDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW1dlYkF1ZGlvXSBG
aWxsIGluIG91dHB1dCB0aW1lc3RhbXBzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmNwcAppbmRleCAwM2U0YWJmNDgwYmIzMGQ2Nzg1YjgwZmExZDBmNjQyMzc4NmQ4
MGJkLi5jM2ZkZjdjOWNkN2YwNTlmNTQwM2ZjNDM2ZGM3MWIxMDQ5MWIwYzRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTk2OSw3ICs5NjksNyBA
QCB2b2lkIEtleWZyYW1lRWZmZWN0Ojpjb21wdXRlQ1NTQW5pbWF0aW9uQmxlbmRpbmdLZXlmcmFt
ZXMoY29uc3QgUmVuZGVyU3R5bGUmIHVuYQogCiAgICAgS2V5ZnJhbWVMaXN0IGtleWZyYW1lTGlz
dChiYWNraW5nQW5pbWF0aW9uLm5hbWUoKSk7CiAgICAgaWYgKGF1dG8qIHN0eWxlU2NvcGUgPSBT
dHlsZTo6U2NvcGU6OmZvck9yZGluYWwoKm1fdGFyZ2V0LCBiYWNraW5nQW5pbWF0aW9uLm5hbWVT
dHlsZVNjb3BlT3JkaW5hbCgpKSkKLSAgICAgICAgc3R5bGVTY29wZS0+cmVzb2x2ZXIoKS5rZXlm
cmFtZVN0eWxlc0ZvckFuaW1hdGlvbigqbV90YXJnZXQsICZ1bmFuaW1hdGVkU3R5bGUsIGtleWZy
YW1lTGlzdCk7CisgICAgICAgIHN0eWxlU2NvcGUtPnJlc29sdmVyKCkua2V5ZnJhbWVTdHlsZXNG
b3JBbmltYXRpb24oKm1fdGFyZ2V0LCAmdW5hbmltYXRlZFN0eWxlLCBrZXlmcmFtZUxpc3QsIGJh
Y2tpbmdBbmltYXRpb24udGltaW5nRnVuY3Rpb24oKSk7CiAKICAgICAvLyBFbnN1cmUgcmVzb3Vy
Y2UgbG9hZHMgZm9yIGFsbCB0aGUgZnJhbWVzLgogICAgIGZvciAoYXV0byYga2V5ZnJhbWUgOiBr
ZXlmcmFtZUxpc3Qua2V5ZnJhbWVzKCkpIHsKQEAgLTE2NjIsOCArMTY2Miw2IEBAIHZvaWQgS2V5
ZnJhbWVFZmZlY3Q6OmFwcGx5UGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucygpCiBSZWY8Y29uc3Qg
QW5pbWF0aW9uPiBLZXlmcmFtZUVmZmVjdDo6YmFja2luZ0FuaW1hdGlvbkZvckNvbXBvc2l0ZWRS
ZW5kZXJlcigpIGNvbnN0CiB7CiAgICAgYXV0byBlZmZlY3RBbmltYXRpb24gPSBhbmltYXRpb24o
KTsKLSAgICBpZiAoaXM8RGVjbGFyYXRpdmVBbmltYXRpb24+KGVmZmVjdEFuaW1hdGlvbikpCi0g
ICAgICAgIHJldHVybiBkb3duY2FzdDxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4oZWZmZWN0QW5pbWF0
aW9uKS0+YmFja2luZ0FuaW1hdGlvbigpOwogCiAgICAgLy8gRklYTUU6IFRoZSBpdGVyYXRpb25T
dGFydCBhbmQgZW5kRGVsYXkgQW5pbWF0aW9uRWZmZWN0VGltaW5nIHByb3BlcnRpZXMgZG8gbm90
IGhhdmUKICAgICAvLyBjb3JyZXNwb25kaW5nIEFuaW1hdGlvbiBwcm9wZXJ0aWVzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA2NDExMjA3MDI1ODY3ZjI1NjEzOWE5
ODY1YzhhOTNiNjBjNjFmZWJmLi42YzE1NTRjNDliNjdjN2JiMGVhZDBkMjhhMzRjMjA0YjljMTYx
MjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVyLmNwcApAQCAtMjg5LDcgKzI4
OSw3IEBAIGJvb2wgUmVzb2x2ZXI6OmlzQW5pbWF0aW9uTmFtZVZhbGlkKGNvbnN0IFN0cmluZyYg
bmFtZSkKICAgICByZXR1cm4gbV9rZXlmcmFtZXNSdWxlTWFwLmZpbmQoQXRvbVN0cmluZyhuYW1l
KS5pbXBsKCkpICE9IG1fa2V5ZnJhbWVzUnVsZU1hcC5lbmQoKTsKIH0KIAotdm9pZCBSZXNvbHZl
cjo6a2V5ZnJhbWVTdHlsZXNGb3JBbmltYXRpb24oY29uc3QgRWxlbWVudCYgZWxlbWVudCwgY29u
c3QgUmVuZGVyU3R5bGUqIGVsZW1lbnRTdHlsZSwgS2V5ZnJhbWVMaXN0JiBsaXN0KQordm9pZCBS
ZXNvbHZlcjo6a2V5ZnJhbWVTdHlsZXNGb3JBbmltYXRpb24oY29uc3QgRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgUmVuZGVyU3R5bGUqIGVsZW1lbnRTdHlsZSwgS2V5ZnJhbWVMaXN0JiBsaXN0LCBj
b25zdCBUaW1pbmdGdW5jdGlvbiogZGVmYXVsdFRpbWluZ0Z1bmN0aW9uKQogewogICAgIGxpc3Qu
Y2xlYXIoKTsKIApAQCAtMzU1LDYgKzM1NSw4IEBAIHZvaWQgUmVzb2x2ZXI6OmtleWZyYW1lU3R5
bGVzRm9yQW5pbWF0aW9uKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFJlbmRlclN0CiAg
ICAgICAgICAgICBrZXlmcmFtZVZhbHVlLnNldEtleShrZXkpOwogICAgICAgICAgICAgaWYgKGF1
dG8gdGltaW5nRnVuY3Rpb25DU1NWYWx1ZSA9IGtleWZyYW1lLT5wcm9wZXJ0aWVzKCkuZ2V0UHJv
cGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKSkKICAgICAg
ICAgICAgICAgICBrZXlmcmFtZVZhbHVlLnNldFRpbWluZ0Z1bmN0aW9uKFRpbWluZ0Z1bmN0aW9u
OjpjcmVhdGVGcm9tQ1NTVmFsdWUoKnRpbWluZ0Z1bmN0aW9uQ1NTVmFsdWUuZ2V0KCkpKTsKKyAg
ICAgICAgICAgIGVsc2UgaWYgKGRlZmF1bHRUaW1pbmdGdW5jdGlvbikKKyAgICAgICAgICAgICAg
ICBrZXlmcmFtZVZhbHVlLnNldFRpbWluZ0Z1bmN0aW9uKGRlZmF1bHRUaW1pbmdGdW5jdGlvbi0+
Y2xvbmUoKSk7CiAgICAgICAgICAgICBsaXN0Lmluc2VydChXVEZNb3ZlKGtleWZyYW1lVmFsdWUp
KTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZXIuaAppbmRl
eCA2MTQ4NjkyOTI3YjdlZGJkYTMwYWVjYjg3OTEwZmZkMzZjNjYzYzIyLi5kMjgwMDE3ZDZjYzY3
Y2EwNjI5MTU3YzUwZDkxMWZkN2ZlYjNmNDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNv
bHZlci5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKIAogICAgIEVsZW1lbnRTdHlsZSBzdHls
ZUZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYsIGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHls
ZSwgY29uc3QgUmVuZGVyU3R5bGUqIHBhcmVudEJveFN0eWxlID0gbnVsbHB0ciwgUnVsZU1hdGNo
aW5nQmVoYXZpb3IgPSBSdWxlTWF0Y2hpbmdCZWhhdmlvcjo6TWF0Y2hBbGxSdWxlcywgY29uc3Qg
U2VsZWN0b3JGaWx0ZXIqID0gbnVsbHB0cik7CiAKLSAgICB2b2lkIGtleWZyYW1lU3R5bGVzRm9y
QW5pbWF0aW9uKGNvbnN0IEVsZW1lbnQmLCBjb25zdCBSZW5kZXJTdHlsZSosIEtleWZyYW1lTGlz
dCYpOworICAgIHZvaWQga2V5ZnJhbWVTdHlsZXNGb3JBbmltYXRpb24oY29uc3QgRWxlbWVudCYs
IGNvbnN0IFJlbmRlclN0eWxlKiwgS2V5ZnJhbWVMaXN0JiwgY29uc3QgVGltaW5nRnVuY3Rpb24q
ID0gbnVsbHB0cik7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVy
U3R5bGU+IHBzZXVkb1N0eWxlRm9yRWxlbWVudChjb25zdCBFbGVtZW50JiwgY29uc3QgUHNldWRv
RWxlbWVudFJlcXVlc3QmLCBjb25zdCBSZW5kZXJTdHlsZSYgcGFyZW50U3R5bGUsIGNvbnN0IFJl
bmRlclN0eWxlKiBwYXJlbnRCb3hTdHlsZSA9IG51bGxwdHIsIGNvbnN0IFNlbGVjdG9yRmlsdGVy
KiA9IG51bGxwdHIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDMyMmY5Y2Q0YmVhZjY5NjE5NDAyMzU4ODVlZjFiODcy
ZDYyNTM2ZS4uZjQ0YzQ1Y2JmZmNjMjM3MTE2YzY2ODljYmNjNjY0YzlmNmM0MDg4NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDIwLTA4LTI1ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJr
aXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjM1MDYpOiB0aW1pbmcgb2YgQ1NTIEFu
aW1hdGlvbiBvbiBodHRwczovL2FuaW1hdGUuc3R5bGUgaXMgaW5jb3JyZWN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU4MDcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzY2NzcwMTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBhIG5ldyB0ZXN0IHRoYXQgY2hlY2tzIHRoYXQgYSBDU1MgQW5p
bWF0aW9uIHdpdGggaW1wbGljaXQgYW5kIGV4cGxpY2l0IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rp
b24KKyAgICAgICAgdmFsdWVzIGJlaGF2ZSB0aGUgc2FtZSB3aGVuIHJ1bm5pbmcgYWNjZWxlcmF0
ZWQuCisKKyAgICAgICAgKiB3ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWNzcy1hbmltYXRpb24t
d2l0aC1lYXNpbmctZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViYW5pbWF0aW9u
cy9hY2NlbGVyYXRlZC1jc3MtYW5pbWF0aW9uLXdpdGgtZWFzaW5nLmh0bWw6IEFkZGVkLgorCiAy
MDIwLTA4LTI1ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0dMSUJdIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuIFVwZGF0ZWQgaHliaSBiYXNlbGlu
ZXMgYWZ0ZXIgcjI2NjA1Ny4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMv
YWNjZWxlcmF0ZWQtY3NzLWFuaW1hdGlvbi13aXRoLWVhc2luZy1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC1jc3MtYW5pbWF0aW9uLXdpdGgtZWFz
aW5nLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QzYTRmMWNmN2FkMGRkMzgxZDdkNjhjNzll
NWM2YTQzNTI2NzkyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmFuaW1hdGlv
bnMvYWNjZWxlcmF0ZWQtY3NzLWFuaW1hdGlvbi13aXRoLWVhc2luZy1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMiBAQAorPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVuIj4KKzwv
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQt
Y3NzLWFuaW1hdGlvbi13aXRoLWVhc2luZy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9u
cy9hY2NlbGVyYXRlZC1jc3MtYW5pbWF0aW9uLXdpdGgtZWFzaW5nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2Q3ODYzYWRjZmI3NzMyN2I5YTNhMzdjMmUzNmEyZTM1MWZiM2YzNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtY3NzLWFuaW1hdGlvbi13
aXRoLWVhc2luZy5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzxib2R5PgorPHN0eWxlPgorICAgIAor
ICAgIGJvZHkgeworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICB9CisgICAg
CisgICAgZGl2IHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB0b3A6IDA7
CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7
CisgICAgfQorCisgICAgI2ltcGxpY2l0IHsKKyAgICAgICAgbGVmdDogMDsKKyAgICAgICAgd2lk
dGg6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgICAgIGFuaW1h
dGlvbi1uYW1lOiBpbXBsaWNpdDsKKyAgICB9CisKKyAgICAvKiBBbGxvdyBmb3IgYSAxcHggZXJy
b3Igb24gZWl0aGVyIHNpZGUgKi8KKyAgICAjZXhwbGljaXQgeworICAgICAgICBsZWZ0OiAtMXB4
OworICAgICAgICB3aWR0aDogMTAycHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OworICAgICAgICBhbmltYXRpb24tbmFtZTogZXhwbGljaXQ7CisgICAgICAgIGFuaW1hdGlvbi10
aW1pbmctZnVuY3Rpb246IGVhc2U7CisgICAgfQorCisgICAgQGtleWZyYW1lcyBpbXBsaWNpdCB7
CisgICAgICAgIDAuMDAxJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDQwMHB4KSB9CisgICAgfQor
CisgICAgQGtleWZyYW1lcyBleHBsaWNpdCB7CisgICAgICAgIDAuMDAxJSB7CisgICAgICAgICAg
ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0MDBweCk7CisgICAgICAgICAgICBhbmltYXRpb24tdGlt
aW5nLWZ1bmN0aW9uOiBlYXNlOworICAgICAgICB9CisgICAgfQorCis8L3N0eWxlPgorPGRpdiBp
ZD0iaW1wbGljaXQiPjwvZGl2PgorPGRpdiBpZD0iZXhwbGljaXQiPjwvZGl2PgorPHNjcmlwdD4K
KworKGFzeW5jIGZ1bmN0aW9uKCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKKyAgICBhd2FpdCBQcm9taXNlLmFsbChk
b2N1bWVudC5nZXRBbmltYXRpb25zKCkubWFwKGFuaW1hdGlvbiA9PiBhbmltYXRpb24ucmVhZHkp
KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOworICAgIGF3
YWl0IG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CisgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVxdWVzdEFuaW1hdGlvbkZyYW1lKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9KSgpOworCis8L3NjcmlwdD4K
KzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407388</attachid>
            <date>2020-08-27 04:05:23 -0700</date>
            <delta_ts>2020-08-27 05:55:15 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-215807-20200827130521.patch</filename>
            <type>text/plain</type>
            <size>7847</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VkMTkxYjIzMDY2ZDQ0
ZWIzNzMxOTFjMGYwNzA1YjQyNGUyYjI5Mi4uNmU2ZjYyOTA2Y2U2M2U3ZTJmZGRiM2MxYWFiYmYz
MGExMzgxNmQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA4LTI3ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIy
NjM1MDYpOiB0aW1pbmcgb2YgQ1NTIEFuaW1hdGlvbiBvbiBodHRwczovL2FuaW1hdGUuc3R5bGUg
aXMgaW5jb3JyZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTU4MDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiB3ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWNzcy1hbmltYXRpb24td2l0aC1l
YXNpbmcuaHRtbAorCisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0OjpiYWNraW5nQW5pbWF0aW9uRm9yQ29tcG9z
aXRlZFJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0
aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb246OmRlZmF1bHRUaW1pbmdGdW5jdGlv
bkZvcktleWZyYW1lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb246OnNldERl
ZmF1bHRUaW1pbmdGdW5jdGlvbkZvcktleWZyYW1lcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJDQTo6Y3JlYXRlVHJhbnNmb3JtQW5pbWF0aW9uc0Zyb21LZXlmcmFtZXMpOgorCiAyMDIw
LTA4LTI1ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR1N0cmVhbWVyXVtXZWJBdWRpb10gRmlsbCBpbiBvdXRwdXQgdGltZXN0YW1wcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKaW5kZXggMDNlNGFiZjQ4MGJi
MzBkNjc4NWI4MGZhMWQwZjY0MjM3ODZkODBiZC4uZWM4NGZiNTVmN2EwODM3MWNhZWJmYTFkZWZm
OWMwNGYyMGIxZDgwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZl
Y3QuY3BwCkBAIC0xNjYyLDggKzE2NjIsNiBAQCB2b2lkIEtleWZyYW1lRWZmZWN0OjphcHBseVBl
bmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMoKQogUmVmPGNvbnN0IEFuaW1hdGlvbj4gS2V5ZnJhbWVF
ZmZlY3Q6OmJhY2tpbmdBbmltYXRpb25Gb3JDb21wb3NpdGVkUmVuZGVyZXIoKSBjb25zdAogewog
ICAgIGF1dG8gZWZmZWN0QW5pbWF0aW9uID0gYW5pbWF0aW9uKCk7Ci0gICAgaWYgKGlzPERlY2xh
cmF0aXZlQW5pbWF0aW9uPihlZmZlY3RBbmltYXRpb24pKQotICAgICAgICByZXR1cm4gZG93bmNh
c3Q8RGVjbGFyYXRpdmVBbmltYXRpb24+KGVmZmVjdEFuaW1hdGlvbiktPmJhY2tpbmdBbmltYXRp
b24oKTsKIAogICAgIC8vIEZJWE1FOiBUaGUgaXRlcmF0aW9uU3RhcnQgYW5kIGVuZERlbGF5IEFu
aW1hdGlvbkVmZmVjdFRpbWluZyBwcm9wZXJ0aWVzIGRvIG5vdCBoYXZlCiAgICAgLy8gY29ycmVz
cG9uZGluZyBBbmltYXRpb24gcHJvcGVydGllcy4KQEAgLTE3MDUsNiArMTcwMywxMiBAQCBSZWY8
Y29uc3QgQW5pbWF0aW9uPiBLZXlmcmFtZUVmZmVjdDo6YmFja2luZ0FuaW1hdGlvbkZvckNvbXBv
c2l0ZWRSZW5kZXJlcigpIGNvbgogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICAvLyBJbiB0
aGUgY2FzZSBvZiBDU1MgQW5pbWF0aW9ucywgd2UgbXVzdCBzZXQgdGhlIGRlZmF1bHQgdGltaW5n
IGZ1bmN0aW9uIGZvciBrZXlmcmFtZXMgdG8gbWF0Y2gKKyAgICAvLyB0aGUgY3VycmVudCB2YWx1
ZSBzZXQgZm9yIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gb24gdGhlIHRhcmdldCBlbGVtZW50
IHdoaWNoIGFmZmVjdHMgb25seQorICAgIC8vIGtleWZyYW1lcyBhbmQgbm90IHRoZSBhbmltYXRp
b24td2lkZSB0aW1pbmcuCisgICAgaWYgKGlzPENTU0FuaW1hdGlvbj4oZWZmZWN0QW5pbWF0aW9u
KSkKKyAgICAgICAgYW5pbWF0aW9uLT5zZXREZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlmcmFt
ZXMoZG93bmNhc3Q8Q1NTQW5pbWF0aW9uPihlZmZlY3RBbmltYXRpb24pLT5iYWNraW5nQW5pbWF0
aW9uKCkudGltaW5nRnVuY3Rpb24oKSk7CisKICAgICByZXR1cm4gYW5pbWF0aW9uOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgKaW5kZXggNjcw
YmQ4MzlhNTIwYWIxNmNkZjZhNzlhMTZiYWE0YTk4MTRhOTNmNS4uMDBkNjk3NTE0ZjU5ZmJmZjgx
MmE4ZmQ1Nzg5MTBiZjdkYjdhMTc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb24uaApAQCAtMTI3LDYgKzEyNyw3IEBAIHB1YmxpYzoKICAgICBUcmFu
c2l0aW9uUHJvcGVydHkgcHJvcGVydHkoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnR5OyB9CiAg
ICAgY29uc3QgU3RyaW5nJiB1bmtub3duUHJvcGVydHkoKSBjb25zdCB7IHJldHVybiBtX3Vua25v
d25Qcm9wZXJ0eTsgfQogICAgIFRpbWluZ0Z1bmN0aW9uKiB0aW1pbmdGdW5jdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fdGltaW5nRnVuY3Rpb24uZ2V0KCk7IH0KKyAgICBUaW1pbmdGdW5jdGlvbiog
ZGVmYXVsdFRpbWluZ0Z1bmN0aW9uRm9yS2V5ZnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV9kZWZh
dWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlmcmFtZXMuZ2V0KCk7IH0KIAogICAgIHZvaWQgc2V0RGVs
YXkoZG91YmxlIGMpIHsgbV9kZWxheSA9IGM7IG1fZGVsYXlTZXQgPSB0cnVlOyB9CiAgICAgdm9p
ZCBzZXREaXJlY3Rpb24oQW5pbWF0aW9uRGlyZWN0aW9uIGQpIHsgbV9kaXJlY3Rpb24gPSBkOyBt
X2RpcmVjdGlvblNldCA9IHRydWU7IH0KQEAgLTE0NCw2ICsxNDUsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRQcm9wZXJ0eShUcmFuc2l0aW9uUHJvcGVydHkgdCkgeyBtX3Byb3BlcnR5ID0gdDsg
bV9wcm9wZXJ0eVNldCA9IHRydWU7IH0KICAgICB2b2lkIHNldFVua25vd25Qcm9wZXJ0eShjb25z
dCBTdHJpbmcmIHByb3BlcnR5KSB7IG1fdW5rbm93blByb3BlcnR5ID0gcHJvcGVydHk7IH0KICAg
ICB2b2lkIHNldFRpbWluZ0Z1bmN0aW9uKFJlZlB0cjxUaW1pbmdGdW5jdGlvbj4mJiBmdW5jdGlv
bikgeyBtX3RpbWluZ0Z1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlvbik7IG1fdGltaW5nRnVuY3Rp
b25TZXQgPSB0cnVlOyB9CisgICAgdm9pZCBzZXREZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlm
cmFtZXMoUmVmUHRyPFRpbWluZ0Z1bmN0aW9uPiYmIGZ1bmN0aW9uKSB7IG1fZGVmYXVsdFRpbWlu
Z0Z1bmN0aW9uRm9yS2V5ZnJhbWVzID0gV1RGTW92ZShmdW5jdGlvbik7IH0KIAogICAgIHZvaWQg
c2V0SXNOb25lQW5pbWF0aW9uKGJvb2wgbikgeyBtX2lzTm9uZSA9IG47IH0KIApAQCAtMTczLDYg
KzE3NSw3IEBAIHByaXZhdGU6CiAgICAgZG91YmxlIG1fZHVyYXRpb247CiAgICAgZG91YmxlIG1f
cGxheWJhY2tSYXRlIHsgMSB9OwogICAgIFJlZlB0cjxUaW1pbmdGdW5jdGlvbj4gbV90aW1pbmdG
dW5jdGlvbjsKKyAgICBSZWZQdHI8VGltaW5nRnVuY3Rpb24+IG1fZGVmYXVsdFRpbWluZ0Z1bmN0
aW9uRm9yS2V5ZnJhbWVzOwogCiAgICAgU3R5bGU6OlNjb3BlT3JkaW5hbCBtX25hbWVTdHlsZVNj
b3BlT3JkaW5hbCB7IFN0eWxlOjpTY29wZU9yZGluYWw6OkVsZW1lbnQgfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5j
cHAKaW5kZXggZjE2MmE5MzY5N2Q4ZTE0YzI3NGFhOGFjYTdmOGFkYTk5YTg2MmFhZi4uODk5NDNl
NjRkYWQ4ZTFjNThhYmViNWYwZDg0YjE2MjQ1YWEyYWZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCkBAIC0z
MzM4LDYgKzMzMzgsOCBAQCBjb25zdCBUaW1pbmdGdW5jdGlvbiYgR3JhcGhpY3NMYXllckNBOjp0
aW1pbmdGdW5jdGlvbkZvckFuaW1hdGlvblZhbHVlKGNvbnN0IEFuaQogICAgIGlmIChSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYkFuaW1hdGlvbnNDU1NJbnRlZ3Jh
dGlvbkVuYWJsZWQoKSkgewogICAgICAgICBpZiAoYW5pbVZhbHVlLnRpbWluZ0Z1bmN0aW9uKCkp
CiAgICAgICAgICAgICByZXR1cm4gKmFuaW1WYWx1ZS50aW1pbmdGdW5jdGlvbigpOworICAgICAg
ICBlbHNlIGlmIChhbmltLmRlZmF1bHRUaW1pbmdGdW5jdGlvbkZvcktleWZyYW1lcygpKQorICAg
ICAgICAgICAgcmV0dXJuICphbmltLmRlZmF1bHRUaW1pbmdGdW5jdGlvbkZvcktleWZyYW1lcygp
OwogICAgICAgICByZXR1cm4gTGluZWFyVGltaW5nRnVuY3Rpb246OnNoYXJlZExpbmVhclRpbWlu
Z0Z1bmN0aW9uKCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDMyMmY5Y2Q0YmVhZjY5NjE5NDAyMzU4ODVl
ZjFiODcyZDYyNTM2ZS4uNzdmYzliYjY2OWRhNDBmZGVhZDQxNzk5NjJjOTU0ZTMzOWI2ZWUyYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA4LTI3ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0
c0B3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjM1MDYpOiB0aW1pbmcgb2Yg
Q1NTIEFuaW1hdGlvbiBvbiBodHRwczovL2FuaW1hdGUuc3R5bGUgaXMgaW5jb3JyZWN0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU4MDcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYmFuaW1hdGlv
bnMvYWNjZWxlcmF0ZWQtY3NzLWFuaW1hdGlvbi13aXRoLWVhc2luZy1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWNzcy1hbmltYXRpb24t
d2l0aC1lYXNpbmcuaHRtbDogQWRkZWQuCisKIDIwMjAtMDgtMjUgIERpZWdvIFBpbm8gR2FyY2lh
ICA8ZHBpbm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVW5yZXZpZXdlZCB0ZXN0IGdh
cmRlbmluZy4gVXBkYXRlZCBoeWJpIGJhc2VsaW5lcyBhZnRlciByMjY2MDU3LgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC1jc3MtYW5pbWF0aW9uLXdp
dGgtZWFzaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL2FjY2Vs
ZXJhdGVkLWNzcy1hbmltYXRpb24td2l0aC1lYXNpbmctZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZDNhNGYxY2Y3YWQwZGQzODFkN2Q2OGM3OWU1YzZhNDM1MjY3OTIwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC1jc3MtYW5pbWF0aW9u
LXdpdGgtZWFzaW5nLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyIEBACis8Ym9keSBzdHlsZT0i
YmFja2dyb3VuZC1jb2xvcjogZ3JlZW4iPgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC1jc3MtYW5pbWF0aW9uLXdpdGgtZWFzaW5nLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWNzcy1hbmltYXRpb24t
d2l0aC1lYXNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDc4NjNhZGNmYjc3MzI3YjlhM2EzN2MyZTM2
YTJlMzUxZmIzZjM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9u
cy9hY2NlbGVyYXRlZC1jc3MtYW5pbWF0aW9uLXdpdGgtZWFzaW5nLmh0bWwKQEAgLTAsMCArMSw2
MSBAQAorPGJvZHk+Cis8c3R5bGU+CisgICAgCisgICAgYm9keSB7CisgICAgICAgIGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOworICAgIH0KKyAgICAKKyAgICBkaXYgeworICAgICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CisgICAgICAgIHRvcDogMDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAg
ICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKKyAgICB9CisKKyAgICAjaW1wbGljaXQgewor
ICAgICAgICBsZWZ0OiAwOworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGJhY2tncm91
bmQtY29sb3I6IHJlZDsKKyAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGltcGxpY2l0OworICAgIH0K
KworICAgIC8qIEFsbG93IGZvciBhIDFweCBlcnJvciBvbiBlaXRoZXIgc2lkZSAqLworICAgICNl
eHBsaWNpdCB7CisgICAgICAgIGxlZnQ6IC0xcHg7CisgICAgICAgIHdpZHRoOiAxMDJweDsKKyAg
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBl
eHBsaWNpdDsKKyAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKKyAgICB9
CisKKyAgICBAa2V5ZnJhbWVzIGltcGxpY2l0IHsKKyAgICAgICAgMC4wMDElIHsgdHJhbnNmb3Jt
OiB0cmFuc2xhdGUoNDAwcHgpIH0KKyAgICB9CisKKyAgICBAa2V5ZnJhbWVzIGV4cGxpY2l0IHsK
KyAgICAgICAgMC4wMDElIHsKKyAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDQwMHB4
KTsKKyAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CisgICAgICAg
IH0KKyAgICB9CisKKzwvc3R5bGU+Cis8ZGl2IGlkPSJpbXBsaWNpdCI+PC9kaXY+Cis8ZGl2IGlk
PSJleHBsaWNpdCI+PC9kaXY+Cis8c2NyaXB0PgorCisoYXN5bmMgZnVuY3Rpb24oKSB7CisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKworICAgIGF3YWl0IFByb21pc2UuYWxsKGRvY3VtZW50LmdldEFuaW1hdGlvbnMoKS5tYXAo
YW5pbWF0aW9uID0+IGFuaW1hdGlvbi5yZWFkeSkpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJl
cXVlc3RBbmltYXRpb25GcmFtZSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVxdWVzdEFuaW1h
dGlvbkZyYW1lKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWUp
OworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKK30pKCk7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407393</attachid>
            <date>2020-08-27 05:55:18 -0700</date>
            <delta_ts>2020-08-27 10:00:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215807-20200827145516.patch</filename>
            <type>text/plain</type>
            <size>10795</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VkMTkxYjIzMDY2ZDQ0
ZWIzNzMxOTFjMGYwNzA1YjQyNGUyYjI5Mi4uMmU4OGY4MTcwMDgxMDhmODMyYmFiYzE5OWY0NmFk
YjVjMDU4MTEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTA4LTI3ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIy
NjM1MDYpOiB0aW1pbmcgb2YgQ1NTIEFuaW1hdGlvbiBvbiBodHRwczovL2FuaW1hdGUuc3R5bGUg
aXMgaW5jb3JyZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTU4MDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY2NzcwMTM2PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHdlYmFuaW1hdGlv
bnMvYWNjZWxlcmF0ZWQtY3NzLWFuaW1hdGlvbi13aXRoLWVhc2luZy5odG1sCisKKyAgICAgICAg
SW4gcjI2MzUwNiwgd2UgYWRkZWQgYSB3YXkgZm9yIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMgdG8g
YWRoZXJlIHRvIGJvdGggYSB0aW1pbmcgZnVuY3Rpb24gc2V0IG9uIHRoZQorICAgICAgICBhbmlt
YXRpb24sIGFmZmVjdGluZyB0aGUgdGltaW5nIG9mIHRoZSBlbnRpcmUgYW5pbWF0aW9uLCBhcyB3
ZWxsIGFzIGEgdGltaW5nIGZ1bmN0aW9uIHNldCBvbiBpbmRpdmlkdWFsCisgICAgICAgIGtleWZy
YW1lcywgYWZmZWN0aW5nIHRoZSB0aW1pbmcgb2YgdGhlIGFuaW1hdGlvbiBpbiBhIGdpdmVuIGlu
dGVydmFsLiBBbGFzLCB0aGlzIGNoYW5nZSBicm9rZSBoYW5kbGluZworICAgICAgICBvZiB0aW1p
bmcgZnVuY3Rpb25zIHdpdGggaW1wbGljaXQgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiBvbiBr
ZXlmcmFtZXMuCisKKyAgICAgICAgVGhhdCBjb2RlIGNoYW5nZSBhc3N1bWVkIHRoYXQgdGhlIEFu
aW1hdGlvbiBvYmplY3QgdWx0aW1hdGVseSBwYXNzZWQgdG8gR3JhcGhpY3NMYXllckNBOjpzZXR1
cEFuaW1hdGlvbigpCisgICAgICAgIHdvdWxkIHJldHVybiB0aGUgYW5pbWF0aW9uLXdpZGUgdGlt
aW5nIGZ1bmN0aW9uIHRocm91Z2ggQW5pbWF0aW9uOjp0aW1pbmdGdW5jdGlvbigpLiBUaGlzIHdh
cyBjb3JyZWN0IGZvcgorICAgICAgICBKUy1vcmlnaW5hdGVkIGFuaW1hdGlvbnMsIGJ1dCBub3Qg
Zm9yIENTUyBBbmltYXRpb25zLCBzaW5jZSB0aGF0IHZhbHVlIHdhcyBzZXQgYmFzZWQgb24gdGhl
IGNvbXB1dGVkIENTUworICAgICAgICBwcm9wZXJ0eSBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9u
IGZvciB0aGUgdGFyZ2V0IGVsZW1lbnQuIEhvd2V2ZXIsIHRoYXQgQ1NTIHByb3BlcnR5IGRvZXMg
bm90IHNwZWNpZnkKKyAgICAgICAgdGhlIGFuaW1hdGlvbi13aWRlIHRpbWluZyBmdW5jdGlvbiwg
YnV0IHJhdGhlciB0aGUgZGVmYXVsdCB0aW1pbmcgZnVuY3Rpb24gdG8gdXNlIGZvciBrZXlmcmFt
ZXMgc2hvdWxkCisgICAgICAgIHRoZXkgZmFpbCB0byBzcGVjaWZ5IGFuIGV4cGxpY2l0IHRpbWlu
ZyBmdW5jdGlvbi4KKworICAgICAgICBUbyBmaXggdGhpcywgZmlyc3QsIHdlIGVuc3VyZSB0aGF0
IHRoZSBhbmltYXRpb24td2lkZSB0aW1pbmcgZnVuY3Rpb24gaXMgc2V0IG9uIHRoZSBBbmltYXRp
b24gb2JqZWN0LAorICAgICAgICBjaGFuZ2luZyBLZXlmcmFtZUVmZmVjdDo6YmFja2luZ0FuaW1h
dGlvbkZvckNvbXBvc2l0ZWRSZW5kZXJlcigpIHRvIGFsd2F5cyBnZW5lcmF0ZSBhbiBBbmltYXRp
b24gb2JqZWN0CisgICAgICAgIGJhc2VkIG9uIHRoZSBlZmZlY3QsIGRpdm9yY2luZyBpdHNlbGYg
ZnJvbSB0aGUgQW5pbWF0aW9uIG9iamVjdCBjcmVhdGVkIHRocm91Z2ggQ1NTLgorCisgICAgICAg
IFRoZW4sIHdlIGFkZCBhIG5ldyBtZW1iZXIgdG8gQW5pbWF0aW9uIHRvIHNwZWNpZnkgdGhlIGRl
ZmF1bHQgdGltaW5nIGZ1bmN0aW9uIGZvciBrZXlmcmFtZXMsIGFsbG93aW5nCisgICAgICAgIEdy
YXBoaWNzTGF5ZXJDQSB0byB1c2UgaXQgdG8gZGV0ZXJtaW5lIHRoZSB0aW1pbmcgZnVuY3Rpb24g
d2hlbiBidWlsZGluZyBrZXlmcmFtZXMuCisKKyAgICAgICAgKiBhbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6OmJhY2tpbmdBbmlt
YXRpb25Gb3JDb21wb3NpdGVkUmVuZGVyZXIgY29uc3QpOiBBbHdheXMgZ2VuZXJhdGUgYW4gQW5p
bWF0aW9uCisgICAgICAgIG9iamVjdCBiYXNlZCBvbiB0aGUgZWZmZWN0J3MgcHJvcGVydGllcywg
YWxzbyBzZXR0aW5nIHRoZSBuZXcgZGVmYXVsdFRpbWluZ0Z1bmN0aW9uRm9yS2V5ZnJhbWVzIGlu
IHRoZQorICAgICAgICBjYXNlIG9mIGEgQ1NTIEFuaW1hdGlvbiBvYmplY3QuCisgICAgICAgICog
cGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0
aW9uOjpkZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlmcmFtZXMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6QW5pbWF0aW9uOjpzZXREZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlmcmFtZXMp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjphbmltYXRpb25IYXNTdGVwc1RpbWluZ0Z1bmN0aW9uKTogVXNlIHRo
ZSBvcHRpb25hbCBkZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlmcmFtZXMgdG8gZGV0ZXJtaW5l
CisgICAgICAgIHdoZXRoZXIgYSBrZXlmcmFtZSB1c2VzIGEgc3RlcHMgdGltaW5nIGZ1bmN0aW9u
LgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjp0aW1pbmdGdW5jdGlvbkZvckFu
aW1hdGlvblZhbHVlKTogVXNlIHRoZSBvcHRpb25hbCBkZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JL
ZXlmcmFtZXMKKyAgICAgICAgdG8gZGV0ZXJtaW5lIHRoZSB0aW1pbmcgZnVuY3Rpb24gZm9yIGEg
a2V5ZnJhbWUuCisKIDIwMjAtMDgtMjUgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdW1dlYkF1ZGlvXSBGaWxsIGluIG91dHB1dCB0
aW1lc3RhbXBzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcApp
bmRleCAwM2U0YWJmNDgwYmIzMGQ2Nzg1YjgwZmExZDBmNjQyMzc4NmQ4MGJkLi5lYzg0ZmI1NWY3
YTA4MzcxY2FlYmZhMWRlZmY5YzA0ZjIwYjFkODBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1h
dGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTE2NjIsOCArMTY2Miw2IEBAIHZvaWQgS2V5ZnJh
bWVFZmZlY3Q6OmFwcGx5UGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucygpCiBSZWY8Y29uc3QgQW5p
bWF0aW9uPiBLZXlmcmFtZUVmZmVjdDo6YmFja2luZ0FuaW1hdGlvbkZvckNvbXBvc2l0ZWRSZW5k
ZXJlcigpIGNvbnN0CiB7CiAgICAgYXV0byBlZmZlY3RBbmltYXRpb24gPSBhbmltYXRpb24oKTsK
LSAgICBpZiAoaXM8RGVjbGFyYXRpdmVBbmltYXRpb24+KGVmZmVjdEFuaW1hdGlvbikpCi0gICAg
ICAgIHJldHVybiBkb3duY2FzdDxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4oZWZmZWN0QW5pbWF0aW9u
KS0+YmFja2luZ0FuaW1hdGlvbigpOwogCiAgICAgLy8gRklYTUU6IFRoZSBpdGVyYXRpb25TdGFy
dCBhbmQgZW5kRGVsYXkgQW5pbWF0aW9uRWZmZWN0VGltaW5nIHByb3BlcnRpZXMgZG8gbm90IGhh
dmUKICAgICAvLyBjb3JyZXNwb25kaW5nIEFuaW1hdGlvbiBwcm9wZXJ0aWVzLgpAQCAtMTcwNSw2
ICsxNzAzLDEyIEBAIFJlZjxjb25zdCBBbmltYXRpb24+IEtleWZyYW1lRWZmZWN0OjpiYWNraW5n
QW5pbWF0aW9uRm9yQ29tcG9zaXRlZFJlbmRlcmVyKCkgY29uCiAgICAgICAgIGJyZWFrOwogICAg
IH0KIAorICAgIC8vIEluIHRoZSBjYXNlIG9mIENTUyBBbmltYXRpb25zLCB3ZSBtdXN0IHNldCB0
aGUgZGVmYXVsdCB0aW1pbmcgZnVuY3Rpb24gZm9yIGtleWZyYW1lcyB0byBtYXRjaAorICAgIC8v
IHRoZSBjdXJyZW50IHZhbHVlIHNldCBmb3IgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiBvbiB0
aGUgdGFyZ2V0IGVsZW1lbnQgd2hpY2ggYWZmZWN0cyBvbmx5CisgICAgLy8ga2V5ZnJhbWVzIGFu
ZCBub3QgdGhlIGFuaW1hdGlvbi13aWRlIHRpbWluZy4KKyAgICBpZiAoaXM8Q1NTQW5pbWF0aW9u
PihlZmZlY3RBbmltYXRpb24pKQorICAgICAgICBhbmltYXRpb24tPnNldERlZmF1bHRUaW1pbmdG
dW5jdGlvbkZvcktleWZyYW1lcyhkb3duY2FzdDxDU1NBbmltYXRpb24+KGVmZmVjdEFuaW1hdGlv
biktPmJhY2tpbmdBbmltYXRpb24oKS50aW1pbmdGdW5jdGlvbigpKTsKKwogICAgIHJldHVybiBh
bmltYXRpb247CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1h
dGlvbi9BbmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9Bbmlt
YXRpb24uaAppbmRleCA2NzBiZDgzOWE1MjBhYjE2Y2RmNmE3OWExNmJhYTRhOTgxNGE5M2Y1Li4w
MGQ2OTc1MTRmNTlmYmZmODEyYThmZDU3ODkxMGJmN2RiN2ExNzcyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5oCkBAIC0xMjcsNiArMTI3LDcgQEAg
cHVibGljOgogICAgIFRyYW5zaXRpb25Qcm9wZXJ0eSBwcm9wZXJ0eSgpIGNvbnN0IHsgcmV0dXJu
IG1fcHJvcGVydHk7IH0KICAgICBjb25zdCBTdHJpbmcmIHVua25vd25Qcm9wZXJ0eSgpIGNvbnN0
IHsgcmV0dXJuIG1fdW5rbm93blByb3BlcnR5OyB9CiAgICAgVGltaW5nRnVuY3Rpb24qIHRpbWlu
Z0Z1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90aW1pbmdGdW5jdGlvbi5nZXQoKTsgfQorICAg
IFRpbWluZ0Z1bmN0aW9uKiBkZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlmcmFtZXMoKSBjb25z
dCB7IHJldHVybiBtX2RlZmF1bHRUaW1pbmdGdW5jdGlvbkZvcktleWZyYW1lcy5nZXQoKTsgfQog
CiAgICAgdm9pZCBzZXREZWxheShkb3VibGUgYykgeyBtX2RlbGF5ID0gYzsgbV9kZWxheVNldCA9
IHRydWU7IH0KICAgICB2b2lkIHNldERpcmVjdGlvbihBbmltYXRpb25EaXJlY3Rpb24gZCkgeyBt
X2RpcmVjdGlvbiA9IGQ7IG1fZGlyZWN0aW9uU2V0ID0gdHJ1ZTsgfQpAQCAtMTQ0LDYgKzE0NSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFByb3BlcnR5KFRyYW5zaXRpb25Qcm9wZXJ0eSB0KSB7
IG1fcHJvcGVydHkgPSB0OyBtX3Byb3BlcnR5U2V0ID0gdHJ1ZTsgfQogICAgIHZvaWQgc2V0VW5r
bm93blByb3BlcnR5KGNvbnN0IFN0cmluZyYgcHJvcGVydHkpIHsgbV91bmtub3duUHJvcGVydHkg
PSBwcm9wZXJ0eTsgfQogICAgIHZvaWQgc2V0VGltaW5nRnVuY3Rpb24oUmVmUHRyPFRpbWluZ0Z1
bmN0aW9uPiYmIGZ1bmN0aW9uKSB7IG1fdGltaW5nRnVuY3Rpb24gPSBXVEZNb3ZlKGZ1bmN0aW9u
KTsgbV90aW1pbmdGdW5jdGlvblNldCA9IHRydWU7IH0KKyAgICB2b2lkIHNldERlZmF1bHRUaW1p
bmdGdW5jdGlvbkZvcktleWZyYW1lcyhSZWZQdHI8VGltaW5nRnVuY3Rpb24+JiYgZnVuY3Rpb24p
IHsgbV9kZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlmcmFtZXMgPSBXVEZNb3ZlKGZ1bmN0aW9u
KTsgfQogCiAgICAgdm9pZCBzZXRJc05vbmVBbmltYXRpb24oYm9vbCBuKSB7IG1faXNOb25lID0g
bjsgfQogCkBAIC0xNzMsNiArMTc1LDcgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgbV9kdXJhdGlv
bjsKICAgICBkb3VibGUgbV9wbGF5YmFja1JhdGUgeyAxIH07CiAgICAgUmVmUHRyPFRpbWluZ0Z1
bmN0aW9uPiBtX3RpbWluZ0Z1bmN0aW9uOworICAgIFJlZlB0cjxUaW1pbmdGdW5jdGlvbj4gbV9k
ZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlmcmFtZXM7CiAKICAgICBTdHlsZTo6U2NvcGVPcmRp
bmFsIG1fbmFtZVN0eWxlU2NvcGVPcmRpbmFsIHsgU3R5bGU6OlNjb3BlT3JkaW5hbDo6RWxlbWVu
dCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9H
cmFwaGljc0xheWVyQ0EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
R3JhcGhpY3NMYXllckNBLmNwcAppbmRleCBmMTYyYTkzNjk3ZDhlMTRjMjc0YWE4YWNhN2Y4YWRh
OTlhODYyYWFmLi41MzkwYzljMjZmNjQ4YTc3ZWYyMmFlMjJkOTM3NDA1NGZlZDQ0YjNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVy
Q0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNz
TGF5ZXJDQS5jcHAKQEAgLTI3OSwxMiArMjc5LDE0IEBAIHN0YXRpYyBib29sIGFuaW1hdGlvbkhh
c1N0ZXBzVGltaW5nRnVuY3Rpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwK
IHsKICAgICBpZiAoaXM8U3RlcHNUaW1pbmdGdW5jdGlvbj4oYW5pbS0+dGltaW5nRnVuY3Rpb24o
KSkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIAorCisgICAgYm9vbCBoYXNTdGVwc0RlZmF1
bHRUaW1pbmdGdW5jdGlvbkZvcktleWZyYW1lcyA9IGlzPFN0ZXBzVGltaW5nRnVuY3Rpb24+KGFu
aW0tPmRlZmF1bHRUaW1pbmdGdW5jdGlvbkZvcktleWZyYW1lcygpKTsKICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgdmFsdWVMaXN0LnNpemUoKTsgKytpKSB7CiAgICAgICAgIGlmIChjb25z
dCBUaW1pbmdGdW5jdGlvbiogdGltaW5nRnVuY3Rpb24gPSB2YWx1ZUxpc3QuYXQoaSkudGltaW5n
RnVuY3Rpb24oKSkgewogICAgICAgICAgICAgaWYgKGlzPFN0ZXBzVGltaW5nRnVuY3Rpb24+KHRp
bWluZ0Z1bmN0aW9uKSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQor
ICAgICAgICB9IGVsc2UgaWYgKGhhc1N0ZXBzRGVmYXVsdFRpbWluZ0Z1bmN0aW9uRm9yS2V5ZnJh
bWVzKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCiAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtMzMzOCw2ICszMzQwLDggQEAgY29uc3QgVGltaW5nRnVuY3Rpb24mIEdyYXBoaWNzTGF5
ZXJDQTo6dGltaW5nRnVuY3Rpb25Gb3JBbmltYXRpb25WYWx1ZShjb25zdCBBbmkKICAgICBpZiAo
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJBbmltYXRpb25zQ1NT
SW50ZWdyYXRpb25FbmFibGVkKCkpIHsKICAgICAgICAgaWYgKGFuaW1WYWx1ZS50aW1pbmdGdW5j
dGlvbigpKQogICAgICAgICAgICAgcmV0dXJuICphbmltVmFsdWUudGltaW5nRnVuY3Rpb24oKTsK
KyAgICAgICAgZWxzZSBpZiAoYW5pbS5kZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlmcmFtZXMo
KSkKKyAgICAgICAgICAgIHJldHVybiAqYW5pbS5kZWZhdWx0VGltaW5nRnVuY3Rpb25Gb3JLZXlm
cmFtZXMoKTsKICAgICAgICAgcmV0dXJuIExpbmVhclRpbWluZ0Z1bmN0aW9uOjpzaGFyZWRMaW5l
YXJUaW1pbmdGdW5jdGlvbigpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAzMjJmOWNkNGJlYWY2OTYxOTQw
MjM1ODg1ZWYxYjg3MmQ2MjUzNmUuLjdkZDg0MjgwNjlkYjc5MDIwZTRhZTVlNGQ0MDI5MTBkNjBl
MDUzZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wOC0yNyAgQW50b2luZSBRdWludCAg
PGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjYzNTA2KTogdGlt
aW5nIG9mIENTUyBBbmltYXRpb24gb24gaHR0cHM6Ly9hbmltYXRlLnN0eWxlIGlzIGluY29ycmVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1ODA3
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82Njc3MDEzNj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgdGVzdCB0aGF0IGNoZWNrcyB0
aGF0IGEgQ1NTIEFuaW1hdGlvbiB3aXRoIGltcGxpY2l0IGFuZCBleHBsaWNpdCBhbmltYXRpb24t
dGltaW5nLWZ1bmN0aW9uCisgICAgICAgIHZhbHVlcyBiZWhhdmUgdGhlIHNhbWUgd2hlbiBydW5u
aW5nIGFjY2VsZXJhdGVkLgorCisgICAgICAgICogd2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC1j
c3MtYW5pbWF0aW9uLXdpdGgtZWFzaW5nLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtY3NzLWFuaW1hdGlvbi13aXRoLWVhc2luZy5odG1s
OiBBZGRlZC4KKwogMjAyMC0wOC0yNSAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtHTElCXSBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nLiBVcGRhdGVk
IGh5YmkgYmFzZWxpbmVzIGFmdGVyIHIyNjYwNTcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWNzcy1hbmltYXRpb24td2l0aC1lYXNpbmctZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtY3NzLWFuaW1h
dGlvbi13aXRoLWVhc2luZy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkM2E0ZjFjZjdhZDBk
ZDM4MWQ3ZDY4Yzc5ZTVjNmE0MzUyNjc5MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWNzcy1hbmltYXRpb24td2l0aC1lYXNpbmctZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIgQEAKKzxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbiI+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25z
L2FjY2VsZXJhdGVkLWNzcy1hbmltYXRpb24td2l0aC1lYXNpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtY3NzLWFuaW1hdGlvbi13aXRoLWVhc2luZy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdkNzg2M2FkY2ZiNzczMjdiOWEzYTM3YzJlMzZhMmUzNTFmYjNmMzcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLWNz
cy1hbmltYXRpb24td2l0aC1lYXNpbmcuaHRtbApAQCAtMCwwICsxLDYxIEBACis8Ym9keT4KKzxz
dHlsZT4KKyAgICAKKyAgICBib2R5IHsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
CisgICAgfQorICAgIAorICAgIGRpdiB7CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
ICAgICAgdG9wOiAwOworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBhbmltYXRpb24t
ZHVyYXRpb246IDFzOworICAgIH0KKworICAgICNpbXBsaWNpdCB7CisgICAgICAgIGxlZnQ6IDA7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOwor
ICAgICAgICBhbmltYXRpb24tbmFtZTogaW1wbGljaXQ7CisgICAgfQorCisgICAgLyogQWxsb3cg
Zm9yIGEgMXB4IGVycm9yIG9uIGVpdGhlciBzaWRlICovCisgICAgI2V4cGxpY2l0IHsKKyAgICAg
ICAgbGVmdDogLTFweDsKKyAgICAgICAgd2lkdGg6IDEwMnB4OworICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKKyAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGV4cGxpY2l0OworICAgICAg
ICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOworICAgIH0KKworICAgIEBrZXlmcmFt
ZXMgaW1wbGljaXQgeworICAgICAgICAwLjAwMSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0MDBw
eCkgfQorICAgIH0KKworICAgIEBrZXlmcmFtZXMgZXhwbGljaXQgeworICAgICAgICAwLjAwMSUg
eworICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDAwcHgpOworICAgICAgICAgICAg
YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsKKyAgICAgICAgfQorICAgIH0KKworPC9z
dHlsZT4KKzxkaXYgaWQ9ImltcGxpY2l0Ij48L2Rpdj4KKzxkaXYgaWQ9ImV4cGxpY2l0Ij48L2Rp
dj4KKzxzY3JpcHQ+CisKKyhhc3luYyBmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgYXdhaXQg
UHJvbWlzZS5hbGwoZG9jdW1lbnQuZ2V0QW5pbWF0aW9ucygpLm1hcChhbmltYXRpb24gPT4gYW5p
bWF0aW9uLnJlYWR5KSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVxdWVzdEFuaW1hdGlvbkZy
YW1lKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOworICAg
IGF3YWl0IG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CisKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSkoKTsK
KworPC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>
<flag name="review"
          id="422752"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>