<?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>216972</bug_id>
          
          <creation_ts>2020-09-25 06:42:20 -0700</creation_ts>
          <short_desc>Calling suspend() on audio context with no node does not prevent auto transition to running when first node is created</short_desc>
          <delta_ts>2020-10-02 18:26:20 -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>Web Audio</component>
          <version>Safari 13</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Francois Daoust">fd</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1691860</commentid>
    <comment_count>0</comment_count>
      <attachid>409686</attachid>
    <who name="Francois Daoust">fd</who>
    <bug_when>2020-09-25 06:42:20 -0700</bug_when>
    <thetext>Created attachment 409686
Test HTML page to reproduce the bug

If one calls suspend() on an audio context before any node has been created, the call succeeds (and state right after is indeed &quot;suspended&quot;) but the intent is ignored: the audio context still switches to &quot;running&quot; automatically when a first node gets created. This is counter-intuitive.

Steps to Reproduce:

Run the following code in response to some user gesture. See attached file for an HTML page that contains the test.

const AudioContext = window.AudioContext || window.webkitAudioContext;
const audioContext = new AudioContext();
await audioContext.suspend();
const node = audioContext.createOscillator();

Actual state after creation of the oscillator node is &quot;running&quot;. Since the code explicitly called suspend(), I would rather expect the audio context to remain in a &quot;suspended&quot; state.


Working around this behavior is easy, one can either:

1. call suspend() after creating the first node

2. call resume() before suspend() leading to the following (weird) workaround:
const AudioContext = window.AudioContext || window.webkitAudioContext;
const audioContext = new AudioContext();
await audioContext.resume();
await audioContext.suspend();
const node = audioContext.createOscillator();

The attached HTML page renders 3 buttons. First button illustrates the bug. Second and third button illustrate the workarounds.

I note that this may warrant an update to the Web Audio API specification, as it does not explicitly state that the initial transition to running (delayed in Webkit as allowed by the spec) needs to take the [[suspended by user]] flag into account. It seems reasonable to assume that when the developer calls suspend(), they actually mean it, though!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694072</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-02 06:43:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/69878834&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694085</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-02 08:12:35 -0700</bug_when>
    <thetext>Seems reasonable indeed. I will look into it shortly. Thank you for the bug report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694207</commentid>
    <comment_count>3</comment_count>
      <attachid>410359</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-02 13:39:39 -0700</bug_when>
    <thetext>Created attachment 410359
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694219</commentid>
    <comment_count>4</comment_count>
      <attachid>410359</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-02 13:49:16 -0700</bug_when>
    <thetext>Comment on attachment 410359
Patch

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

&gt; Source/WebCore/Modules/webaudio/BaseAudioContext.h:467
&gt; +    bool m_wasSuspendedByUser { false };

What is &quot;user&quot; here? Code in the webpage? Not sure the word &quot;user&quot; is quite right for that, unless it’s guarded by &quot;in response to user event&quot; or that sort of thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694223</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-02 13:57:26 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; Comment on attachment 410359 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=410359&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/BaseAudioContext.h:467
&gt; &gt; +    bool m_wasSuspendedByUser { false };
&gt; 
&gt; What is &quot;user&quot; here? Code in the webpage? Not sure the word &quot;user&quot; is quite
&gt; right for that, unless it’s guarded by &quot;in response to user event&quot; or that
&gt; sort of thing.

I can rename to m_wasSuspendedByScript for clarity. The reason I had used that name was to match the wording in the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694227</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-10-02 14:02:24 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #5)
&gt; The reason I had used
&gt; that name was to match the wording in the spec.

That seems like a reason to stick with that wording, but I must say that calling the webpage code &quot;the user&quot; is peculiar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694234</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-02 14:13:59 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; (In reply to Chris Dumez from comment #5)
&gt; &gt; The reason I had used
&gt; &gt; that name was to match the wording in the spec.
&gt; 
&gt; That seems like a reason to stick with that wording, but I must say that
&gt; calling the webpage code &quot;the user&quot; is peculiar.

Yes, I agree the naming is peculiar. Thinking about this more, I think my preference would be to use a better name in our implementation. I can add a comment next to the data member explaining which flag in the specification it corresponds to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694237</commentid>
    <comment_count>8</comment_count>
      <attachid>410371</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-10-02 14:16:47 -0700</bug_when>
    <thetext>Created attachment 410371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694322</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-02 18:26:18 -0700</bug_when>
    <thetext>Committed r267911: &lt;https://trac.webkit.org/changeset/267911&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410371.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>409686</attachid>
            <date>2020-09-25 06:42:20 -0700</date>
            <delta_ts>2020-09-25 06:42:20 -0700</delta_ts>
            <desc>Test HTML page to reproduce the bug</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>4833</size>
            <attacher name="Francois Daoust">fd</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJz
ZXQ9dXRmLTg+CiAgICA8dGl0bGU+V2ViIEF1ZGlvIEFQSSB0ZXN0OiBjYWxsaW5nIHN1c3BlbmQo
KSBvbiBhbiBlbXB0eSBhdWRpbyBjb250ZXh0PC90aXRsZT4KICA8L2hlYWQ+CiAgPGJvZHk+CiAg
ICA8aDE+V2ViIEF1ZGlvIEFQSSB0ZXN0OiBjYWxsaW5nIDxjb2RlPnN1c3BlbmQoKTwvY29kZT4g
b24gYW4gZW1wdHkgYXVkaW8gY29udGV4dDwvaDE+CiAgICA8YnV0dG9uIGlkPSJzdXNwZW5kQmVm
b3JlQ3JlYXRlIj5DYWxsIDxjb2RlPnN1c3BlbmQoKTwvY29kZT4gYmVmb3JlIGNyZWF0aW5nIGEg
bm9kZTwvYnV0dG9uPgogICAgPGJ1dHRvbiBpZD0iY3JlYXRlQmVmb3JlU3VzcGVuZCI+Q3JlYXRl
IG5vZGUgYmVmb3JlIDxjb2RlPnN1c3BlbmQoKTwvY29kZT48L2J1dHRvbj4KICAgIDxidXR0b24g
aWQ9InJlc3VtZUJlZm9yZVN1c3BlbmQiPkNhbGwgPGNvZGU+c3VzcGVuZCgpPC9jb2RlPiBiZWZv
cmUgPGNvZGU+c3VzcGVuZCgpPC9jb2RlPjwvYnV0dG9uPgogICAgPGRpdiBpZD0ibG9nIj48L2Rp
dj4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgZnVuY3Rpb24gbG9n
KG1zZykgewogICAgICAgIG1zZyA9IG1zZyB8fCAnJzsKICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbG9nJykuaW5uZXJIVE1MICs9IGA8YnIvPiR7bXNnfWA7CiAgICAgIH0KCiAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdXNwZW5kQmVmb3JlQ3JlYXRlJykuYWRkRXZlbnRM
aXN0ZW5lcignY2xpY2snLCBhc3luYyAoKSA9PiB7CiAgICAgICAgY29uc3QgQXVkaW9Db250ZXh0
ID0gd2luZG93LkF1ZGlvQ29udGV4dCB8fCB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0OwogICAg
ICAgIGNvbnN0IGF1ZGlvQ29udGV4dCA9IG5ldyBBdWRpb0NvbnRleHQoKTsKICAgICAgICBsb2co
JzxoMj5UZXN0OiBjYWxsIDxjb2RlPnN1c3BlbmQoKTwvY29kZT4gYmVmb3JlIG5vZGUgY3JlYXRp
b248L2gyPicpCiAgICAgICAgbG9nKCc8Yj5TdGVwIDE6IENyZWF0ZSBuZXcgYXVkaW8gY29udGV4
dDwvYj4nKTsKICAgICAgICBsb2coJ0V4cGVjdGVkIHN0YXRlOiA8Y29kZT5zdXNwZW5kZWQ8L2Nv
ZGU+IG9yIDxjb2RlPnJ1bm5pbmc8L2NvZGU+Jyk7CiAgICAgICAgbG9nKGBBY3R1YWwgc3RhdGU6
IDxjb2RlPiR7YXVkaW9Db250ZXh0LnN0YXRlfTwvY29kZT5gKTsKICAgICAgICBsb2coKTsKCiAg
ICAgICAgYXdhaXQgYXVkaW9Db250ZXh0LnN1c3BlbmQoKTsKICAgICAgICBsb2coJzxiPlN0ZXAg
MjogQ2FsbCA8Y29kZT5BdWRpb0NvbnRleHQuc3VzcGVuZCgpPC9jb2RlPjwvYj4nKTsKICAgICAg
ICBsb2coJ0V4cGVjdGVkIHN0YXRlOiA8Y29kZT5zdXNwZW5kZWQ8L2NvZGU+Jyk7CiAgICAgICAg
bG9nKGBBY3R1YWwgc3RhdGU6IDxjb2RlPiR7YXVkaW9Db250ZXh0LnN0YXRlfTwvY29kZT5gKTsK
ICAgICAgICBsb2coKTsKCiAgICAgICAgY29uc3Qgbm9kZSA9IGF1ZGlvQ29udGV4dC5jcmVhdGVP
c2NpbGxhdG9yKCk7CiAgICAgICAgbG9nKCc8Yj5TdGVwIDM6IENyZWF0ZSBuZXcgYXVkaW8gbm9k
ZTwvYj4nKTsKICAgICAgICBsb2coJ0V4cGVjdGVkIHN0YXRlOiA8Y29kZT5zdXNwZW5kZWQ8L2Nv
ZGU+Jyk7CiAgICAgICAgbG9nKGBBY3R1YWwgc3RhdGU6IDxjb2RlPiR7YXVkaW9Db250ZXh0LnN0
YXRlfTwvY29kZT5gKTsKICAgICAgICBsb2coKTsKCiAgICAgICAgaWYgKGF1ZGlvQ29udGV4dC5z
dGF0ZSA9PT0gJ3N1c3BlbmRlZCcpIHsKICAgICAgICAgIGxvZyhgUmVzdWx0OiA8Yj5wYXNzPC9i
PmApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgIGxvZyhgUmVzdWx0OiA8Yj5m
YWlsPC9iPmApOwogICAgICAgIH0KICAgICAgfSk7CgogICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY3JlYXRlQmVmb3JlU3VzcGVuZCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgYXN5
bmMgKCkgPT4gewogICAgICAgIGNvbnN0IEF1ZGlvQ29udGV4dCA9IHdpbmRvdy5BdWRpb0NvbnRl
eHQgfHwgd2luZG93LndlYmtpdEF1ZGlvQ29udGV4dDsKICAgICAgICBjb25zdCBhdWRpb0NvbnRl
eHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CiAgICAgICAgbG9nKCc8aDI+VGVzdDogY3JlYXRlIG5v
ZGUgYmVmb3JlIDxjb2RlPnN1c3BlbmQoKTwvY29kZT48L2gyPicpCiAgICAgICAgbG9nKCc8Yj5T
dGVwIDE6IENyZWF0ZSBuZXcgYXVkaW8gY29udGV4dDwvYj4nKTsKICAgICAgICBsb2coJ0V4cGVj
dGVkIHN0YXRlOiA8Y29kZT5zdXNwZW5kZWQ8L2NvZGU+IG9yIDxjb2RlPnJ1bm5pbmc8L2NvZGU+
Jyk7CiAgICAgICAgbG9nKGBBY3R1YWwgc3RhdGU6IDxjb2RlPiR7YXVkaW9Db250ZXh0LnN0YXRl
fTwvY29kZT5gKTsKICAgICAgICBsb2coKTsKCiAgICAgICAgY29uc3Qgbm9kZSA9IGF1ZGlvQ29u
dGV4dC5jcmVhdGVPc2NpbGxhdG9yKCk7CiAgICAgICAgbG9nKCc8Yj5TdGVwIDI6IENyZWF0ZSBu
ZXcgYXVkaW8gbm9kZTwvYj4nKTsKICAgICAgICBsb2coJ0V4cGVjdGVkIHN0YXRlOiA8Y29kZT5z
dXNwZW5kZWQ8L2NvZGU+IG9yIDxjb2RlPnJ1bm5pbmc8L2NvZGU+Jyk7CiAgICAgICAgbG9nKGBB
Y3R1YWwgc3RhdGU6IDxjb2RlPiR7YXVkaW9Db250ZXh0LnN0YXRlfTwvY29kZT5gKTsKICAgICAg
ICBsb2coKTsKCiAgICAgICAgYXdhaXQgYXVkaW9Db250ZXh0LnN1c3BlbmQoKTsKICAgICAgICBs
b2coJzxiPlN0ZXAgMzogQ2FsbCA8Y29kZT5BdWRpb0NvbnRleHQuc3VzcGVuZCgpPC9jb2RlPjwv
Yj4nKTsKICAgICAgICBsb2coJ0V4cGVjdGVkIHN0YXRlOiA8Y29kZT5zdXNwZW5kZWQ8L2NvZGU+
Jyk7CiAgICAgICAgbG9nKGBBY3R1YWwgc3RhdGU6IDxjb2RlPiR7YXVkaW9Db250ZXh0LnN0YXRl
fTwvY29kZT5gKTsKICAgICAgICBsb2coKTsKCiAgICAgICAgY29uc3Qgbm9kZTIgPSBhdWRpb0Nv
bnRleHQuY3JlYXRlT3NjaWxsYXRvcigpOwogICAgICAgIGxvZygnPGI+U3RlcCAyOiBDcmVhdGUg
bmV3IGF1ZGlvIG5vZGU8L2I+Jyk7CiAgICAgICAgbG9nKCdFeHBlY3RlZCBzdGF0ZTogPGNvZGU+
c3VzcGVuZGVkPC9jb2RlPiBvciA8Y29kZT5ydW5uaW5nPC9jb2RlPicpOwogICAgICAgIGxvZyhg
QWN0dWFsIHN0YXRlOiA8Y29kZT4ke2F1ZGlvQ29udGV4dC5zdGF0ZX08L2NvZGU+YCk7CiAgICAg
ICAgbG9nKCk7CgogICAgICAgIGlmIChhdWRpb0NvbnRleHQuc3RhdGUgPT09ICdzdXNwZW5kZWQn
KSB7CiAgICAgICAgICBsb2coYFJlc3VsdDogPGI+cGFzczwvYj5gKTsKICAgICAgICB9CiAgICAg
ICAgZWxzZSB7CiAgICAgICAgICBsb2coYFJlc3VsdDogPGI+ZmFpbDwvYj5gKTsKICAgICAgICB9
CiAgICAgIH0pOwoKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VtZUJlZm9yZVN1
c3BlbmQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jICgpID0+IHsKICAgICAgICBj
b25zdCBBdWRpb0NvbnRleHQgPSB3aW5kb3cuQXVkaW9Db250ZXh0IHx8IHdpbmRvdy53ZWJraXRB
dWRpb0NvbnRleHQ7CiAgICAgICAgY29uc3QgYXVkaW9Db250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4
dCgpOwogICAgICAgIGxvZygnPGgyPlRlc3Q6IGNhbGwgPGNvZGU+cmVzdW1lKCk8L2NvZGU+IGJl
Zm9yZSA8Y29kZT5zdXNwZW5kKCk8L2NvZGU+PC9oMj4nKQogICAgICAgIGxvZygnPGI+U3RlcCAx
OiBDcmVhdGUgbmV3IGF1ZGlvIGNvbnRleHQ8L2I+Jyk7CiAgICAgICAgbG9nKCdFeHBlY3RlZCBz
dGF0ZTogPGNvZGU+c3VzcGVuZGVkPC9jb2RlPiBvciA8Y29kZT5ydW5uaW5nPC9jb2RlPicpOwog
ICAgICAgIGxvZyhgQWN0dWFsIHN0YXRlOiA8Y29kZT4ke2F1ZGlvQ29udGV4dC5zdGF0ZX08L2Nv
ZGU+YCk7CiAgICAgICAgbG9nKCk7CgogICAgICAgIGF3YWl0IGF1ZGlvQ29udGV4dC5yZXN1bWUo
KTsKICAgICAgICBsb2coJzxiPlN0ZXAgMzogQ2FsbCA8Y29kZT5BdWRpb0NvbnRleHQucmVzdW1l
KCk8L2NvZGU+PC9iPicpOwogICAgICAgIGxvZygnRXhwZWN0ZWQgc3RhdGU6IDxjb2RlPnJ1bm5p
bmc8L2NvZGU+Jyk7CiAgICAgICAgbG9nKGBBY3R1YWwgc3RhdGU6IDxjb2RlPiR7YXVkaW9Db250
ZXh0LnN0YXRlfTwvY29kZT5gKTsKICAgICAgICBsb2coKTsKCiAgICAgICAgYXdhaXQgYXVkaW9D
b250ZXh0LnN1c3BlbmQoKTsKICAgICAgICBsb2coJzxiPlN0ZXAgMzogQ2FsbCA8Y29kZT5BdWRp
b0NvbnRleHQuc3VzcGVuZCgpPC9jb2RlPjwvYj4nKTsKICAgICAgICBsb2coJ0V4cGVjdGVkIHN0
YXRlOiA8Y29kZT5zdXNwZW5kZWQ8L2NvZGU+Jyk7CiAgICAgICAgbG9nKGBBY3R1YWwgc3RhdGU6
IDxjb2RlPiR7YXVkaW9Db250ZXh0LnN0YXRlfTwvY29kZT5gKTsKICAgICAgICBsb2coKTsKCiAg
ICAgICAgY29uc3Qgbm9kZSA9IGF1ZGlvQ29udGV4dC5jcmVhdGVPc2NpbGxhdG9yKCk7CiAgICAg
ICAgbG9nKCc8Yj5TdGVwIDQ6IENyZWF0ZSBuZXcgYXVkaW8gbm9kZTwvYj4nKTsKICAgICAgICBs
b2coJ0V4cGVjdGVkIHN0YXRlOiA8Y29kZT5zdXNwZW5kZWQ8L2NvZGU+Jyk7CiAgICAgICAgbG9n
KGBBY3R1YWwgc3RhdGU6IDxjb2RlPiR7YXVkaW9Db250ZXh0LnN0YXRlfTwvY29kZT5gKTsKICAg
ICAgICBsb2coKTsKCiAgICAgICAgaWYgKGF1ZGlvQ29udGV4dC5zdGF0ZSA9PT0gJ3N1c3BlbmRl
ZCcpIHsKICAgICAgICAgIGxvZyhgUmVzdWx0OiA8Yj5wYXNzPC9iPmApOwogICAgICAgIH0KICAg
ICAgICBlbHNlIHsKICAgICAgICAgIGxvZyhgUmVzdWx0OiA8Yj5mYWlsPC9iPmApOwogICAgICAg
IH0KICAgICAgfSk7CiAgICA8L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410359</attachid>
            <date>2020-10-02 13:39:39 -0700</date>
            <delta_ts>2020-10-02 14:16:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>216972.patch</filename>
            <type>text/plain</type>
            <size>7855</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1OGRmMWIxYzZmNWMuLmYxN2MwMGFmOTE2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDIwLTEwLTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
Q2FsbGluZyBzdXNwZW5kKCkgb24gYXVkaW8gY29udGV4dCB3aXRoIG5vIG5vZGUgZG9lcyBub3Qg
cHJldmVudCBhdXRvIHRyYW5zaXRpb24gdG8gcnVubmluZyB3aGVuIGZpcnN0IG5vZGUgaXMgY3Jl
YXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2
OTcyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82OTg3ODgzND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2Uu
CisKKyAgICAgICAgKiB3ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtYmVmb3JlLWZpcnN0LW5vZGUt
Y3JlYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9zdXNwZW5k
LWNvbnRleHQtYmVmb3JlLWZpcnN0LW5vZGUtY3JlYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMjAt
MDktMzAgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRk
IG5vbi1hbmltYXRlZCBzdXBwb3J0IGZvciB0aGUgQ1NTIHRyYW5zbGF0ZSBwcm9wZXJ0eQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJh
dWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb3dvcmtsZXQtaW50ZXJmYWNlL2F1ZGlvd29ya2xl
dC1zdXNwZW5kLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW93b3JrbGV0
LWludGVyZmFjZS9hdWRpb3dvcmtsZXQtc3VzcGVuZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
NTUzNmM1NTg4YjM4Li42MDVkNGZkNGE1NjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVk
aW93b3JrbGV0LWludGVyZmFjZS9hdWRpb3dvcmtsZXQtc3VzcGVuZC5odHRwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJh
dWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb3dvcmtsZXQtaW50ZXJmYWNlL2F1ZGlvd29ya2xl
dC1zdXNwZW5kLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMyw4ICszLDggQEAgUEFTUyAjIEFVRElU
IFRBU0sgUlVOTkVSIFNUQVJURUQuCiBQQVNTIEV4ZWN1dGluZyAibG9hZC13b3JrbGV0LWFuZC1z
dXNwZW5kIgogUEFTUyBBdWRpdCByZXBvcnQKIFBBU1MgPiBbbG9hZC13b3JrbGV0LWFuZC1zdXNw
ZW5kXQotRkFJTCBYIGNvbnRleHQuY3VycmVudFRpbWUgZGlkIG5vdCBjaGFuZ2UgYWZ0ZXIgd29y
a2xldCBzdGFydGVkIGlzIG5vdCB0cnVlLiBHb3QgZmFsc2UuIGFzc2VydF90cnVlOiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIGNvbnRleHQuc3RhdGUgaXMgbm90IGVxdWFsIHRvIHN1
c3BlbmRlZC4gR290IHJ1bm5pbmcuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQotRkFJTCA8IFtsb2FkLXdvcmtsZXQtYW5kLXN1c3BlbmRdIDIgb3V0IG9mIDIgYXNzZXJ0aW9u
cyB3ZXJlIGZhaWxlZC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlM
ICMgQVVESVQgVEFTSyBSVU5ORVIgRklOSVNIRUQ6IDEgb3V0IG9mIDEgdGFza3Mgd2VyZSBmYWls
ZWQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyAgIGNvbnRleHQu
Y3VycmVudFRpbWUgZGlkIG5vdCBjaGFuZ2UgYWZ0ZXIgd29ya2xldCBzdGFydGVkIGlzIHRydWUu
CitQQVNTICAgY29udGV4dC5zdGF0ZSBpcyBlcXVhbCB0byBzdXNwZW5kZWQuCitQQVNTIDwgW2xv
YWQtd29ya2xldC1hbmQtc3VzcGVuZF0gQWxsIGFzc2VydGlvbnMgcGFzc2VkLiAodG90YWwgMiBh
c3NlcnRpb25zKQorUEFTUyAjIEFVRElUIFRBU0sgUlVOTkVSIEZJTklTSEVEOiAxIHRhc2tzIHJh
biBzdWNjZXNzZnVsbHkuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3N1c3Bl
bmQtY29udGV4dC1iZWZvcmUtZmlyc3Qtbm9kZS1jcmVhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtYmVmb3JlLWZpcnN0LW5vZGUtY3JlYXRp
b24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u
YWJhNGMyOTRhOWU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vc3Vz
cGVuZC1jb250ZXh0LWJlZm9yZS1maXJzdC1ub2RlLWNyZWF0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEzIEBACitUZXN0cyB0aGF0IGNhbGxpbmcgYW4gQXVkaW9Db250ZXh0IGRvZXMgbm90
IHN0YXJ0IHJlbmRlcmluZyB3aGVuIGFkZGluZyBhIG5vZGUgaWYgc3VzcGVuZCgpIHdhcyBjYWxs
ZWQgcmlnaHQgYWZ0ZXIgY3JlYXRpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGF1ZGlvQ29udGV4dC5zdGF0ZSBpcyAic3VzcGVuZGVkIgorUEFTUyBhdWRpb0NvbnRl
eHQuc3RhdGUgaXMgInN1c3BlbmRlZCIKK1BBU1MgYXVkaW9Db250ZXh0LnN0YXRlIGlzICJzdXNw
ZW5kZWQiCitQQVNTIGF1ZGlvQ29udGV4dC5zdGF0ZSBpcyAic3VzcGVuZGVkIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmF1ZGlvL3N1c3BlbmQtY29udGV4dC1iZWZvcmUtZmlyc3Qtbm9kZS1jcmVh
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vc3VzcGVuZC1jb250ZXh0LWJlZm9yZS1m
aXJzdC1ub2RlLWNyZWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwLi40NGYyMDE4M2IxYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJh
dWRpby9zdXNwZW5kLWNvbnRleHQtYmVmb3JlLWZpcnN0LW5vZGUtY3JlYXRpb24uaHRtbApAQCAt
MCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IGNhbGxpbmcgYW4gQXVkaW9Db250ZXh0IGRvZXMgbm90IHN0YXJ0IHJl
bmRlcmluZyB3aGVuIGFkZGluZyBhIG5vZGUgaWYgc3VzcGVuZCgpIHdhcyBjYWxsZWQgcmlnaHQg
YWZ0ZXIgY3JlYXRpb24uIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworYXN5bmMgZnVuY3Rp
b24gdGVzdCgpIHsKKyAgICBhdWRpb0NvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJhdWRpb0NvbnRleHQuc3RhdGUiLCAic3VzcGVuZGVkIik7
CisgICAgYXdhaXQgYXVkaW9Db250ZXh0LnN1c3BlbmQoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImF1ZGlvQ29udGV4dC5zdGF0ZSIsICJzdXNwZW5kZWQiKTsKKyAgICBub2RlID0gYXVk
aW9Db250ZXh0LmNyZWF0ZU9zY2lsbGF0b3IoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImF1ZGlvQ29udGV4dC5zdGF0ZSIsICJzdXNwZW5kZWQiKTsKKworICAgIHNldFRpbWVvdXQoKCkg
PT4geworICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImF1ZGlvQ29udGV4dC5zdGF0ZSIs
ICJzdXNwZW5kZWQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgMTApOworfQor
Cit0ZXN0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNTI2
N2RiNWE4YTAuLmM0YzIxYjc5ZjZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIw
LTEwLTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FsbGlu
ZyBzdXNwZW5kKCkgb24gYXVkaW8gY29udGV4dCB3aXRoIG5vIG5vZGUgZG9lcyBub3QgcHJldmVu
dCBhdXRvIHRyYW5zaXRpb24gdG8gcnVubmluZyB3aGVuIGZpcnN0IG5vZGUgaXMgY3JlYXRlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2OTcyCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82OTg3ODgzND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIFtbc3VzcGVuZGVk
IGJ5IHVzZXJdXSBmbGFnIGluIHRoZSBXZWJBdWRpbyBzcGVjaWZpY2F0aW9uOgorICAgICAgICAt
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi93ZWJhdWRpby8jZG9tLWF1ZGlvY29udGV4dC1zdXNwZW5k
ZWQtYnktdXNlci1zbG90CisKKyAgICAgICAgV2Ugc2V0IHRoaXMgZmxhZyB3aGVuIHRoZSBzY3Jp
cHQgY2FsbHMgQXVkaW9Db250ZXh0LnN1c3BlbmQoKToKKyAgICAgICAgLSBodHRwczovL3d3dy53
My5vcmcvVFIvd2ViYXVkaW8vI3JlZi1mb3ItZG9tLWF1ZGlvY29udGV4dC1zdXNwZW5kZWQtYnkt
dXNlci1zbG904pGgCisKKyAgICAgICAgV2UgY2xlYXIgdGhpcyBmbGFnIHdoZW4gdGhlIHNjcmlw
dCBjYWxscyBBdWRpb0NvbnRleHQucmVzdW1lKCk6CisgICAgICAgIC0gaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3dlYmF1ZGlvLyNyZWYtZm9yLWRvbS1hdWRpb2NvbnRleHQtc3VzcGVuZGVkLWJ5LXVz
ZXItc2xvdAorCisgICAgICAgIFdlIHRoZW4gcHJldmVudCBhdXRvbWF0ZWQgdHJhbnNpdGlvbiBv
ZiB0aGUgQXVkaW9Db250ZXh0IHRvICJyZW5kZXJpbmciIHdoZW4gdGhpcworICAgICAgICBmbGFn
IGlzIHNldDoKKyAgICAgICAgLSBodHRwczovL3d3dy53My5vcmcvVFIvd2ViYXVkaW8vI3JlZi1m
b3ItZG9tLWF1ZGlvY29udGV4dC1zdXNwZW5kZWQtYnktdXNlci1zbG904pGhCisgICAgICAgIC0g
aHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYmF1ZGlvLyNyZWYtZm9yLWRvbS1hdWRpb2NvbnRleHQt
c3VzcGVuZGVkLWJ5LXVzZXItc2xvdOKRogorCisgICAgICAgIFRlc3Q6IHdlYmF1ZGlvL3N1c3Bl
bmQtY29udGV4dC1iZWZvcmUtZmlyc3Qtbm9kZS1jcmVhdGlvbi5odG1sCisKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QmFzZUF1ZGlvQ29udGV4dDo6c3RhcnRSZW5kZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6QmFz
ZUF1ZGlvQ29udGV4dDo6c3VzcGVuZFJlbmRlcmluZyk6CisgICAgICAgIChXZWJDb3JlOjpCYXNl
QXVkaW9Db250ZXh0OjpyZXN1bWVSZW5kZXJpbmcpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVk
aW8vQmFzZUF1ZGlvQ29udGV4dC5oOgorCiAyMDIwLTEwLTAyICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFdvcmtsZXQuYWRkTW9kdWxlKCkgdG8gYWN0
dWFsbHkgZmV0Y2ggdGhlIG1vZHVsZSBzY3JpcHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuY3BwCmluZGV4IGNkYzAzY2ZhYzRkOC4u
MTA1YjNhMTlhNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0Jhc2VBdWRpb0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAKQEAgLTEwODEsNyArMTA4MSw3IEBAIGJvb2wgQmFzZUF1
ZGlvQ29udGV4dDo6d2lsbFBhdXNlUGxheWJhY2soKQogdm9pZCBCYXNlQXVkaW9Db250ZXh0Ojpz
dGFydFJlbmRlcmluZygpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKLSAgICBp
ZiAobV9pc1N0b3BTY2hlZHVsZWQgfHwgIXdpbGxCZWdpblBsYXliYWNrKCkpCisgICAgaWYgKG1f
aXNTdG9wU2NoZWR1bGVkIHx8ICF3aWxsQmVnaW5QbGF5YmFjaygpIHx8IG1fd2FzU3VzcGVuZGVk
QnlVc2VyKQogICAgICAgICByZXR1cm47CiAKICAgICBtYWtlUGVuZGluZ0FjdGl2aXR5KCk7CkBA
IC0xMTg2LDEzICsxMTg2LDE0IEBAIHZvaWQgQmFzZUF1ZGlvQ29udGV4dDo6c3VzcGVuZFJlbmRl
cmluZyhET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgaWYgKG1fc3RhdGUgPT0gU3RhdGU6OlN1c3BlbmRlZCkgewotICAgICAg
ICBwcm9taXNlLnJlc29sdmUoKTsKKyAgICBpZiAobV9zdGF0ZSA9PSBTdGF0ZTo6Q2xvc2VkIHx8
IG1fc3RhdGUgPT0gU3RhdGU6OkludGVycnVwdGVkIHx8ICFtX2Rlc3RpbmF0aW9uTm9kZSkgewor
ICAgICAgICBwcm9taXNlLnJlamVjdCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
aWYgKG1fc3RhdGUgPT0gU3RhdGU6OkNsb3NlZCB8fCBtX3N0YXRlID09IFN0YXRlOjpJbnRlcnJ1
cHRlZCB8fCAhbV9kZXN0aW5hdGlvbk5vZGUpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QoKTsK
KyAgICBtX3dhc1N1c3BlbmRlZEJ5VXNlciA9IHRydWU7CisgICAgaWYgKG1fc3RhdGUgPT0gU3Rh
dGU6OlN1c3BlbmRlZCkgeworICAgICAgICBwcm9taXNlLnJlc29sdmUoKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApAQCAtMTIzMSw2ICsxMjMyLDcgQEAgdm9pZCBCYXNlQXVkaW9Db250ZXh0
OjpyZXN1bWVSZW5kZXJpbmcoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKICAg
ICB9CiAKICAgICBhZGRSZWFjdGlvbihTdGF0ZTo6UnVubmluZywgV1RGTW92ZShwcm9taXNlKSk7
CisgICAgbV93YXNTdXNwZW5kZWRCeVVzZXIgPSBmYWxzZTsKIAogICAgIGlmICghd2lsbEJlZ2lu
UGxheWJhY2soKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaAppbmRleCBiZDRjMGM1ZDYzZjguLjg1Yzll
MmM5NDFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNl
QXVkaW9Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNl
QXVkaW9Db250ZXh0LmgKQEAgLTQ2NCw2ICs0NjQsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxQ
ZW5kaW5nQWN0aXZpdHk8QmFzZUF1ZGlvQ29udGV4dD4+IG1fcGVuZGluZ0FjdGl2aXR5OwogCiAg
ICAgQXVkaW9JT1Bvc2l0aW9uIG1fb3V0cHV0UG9zaXRpb247CisgICAgYm9vbCBtX3dhc1N1c3Bl
bmRlZEJ5VXNlciB7IGZhbHNlIH07CiAKICAgICAvLyBUaGVzZSBhcmUgY2FjaGVkIHBlciBhdWRp
byBjb250ZXh0IGZvciBwZXJmb3JtYW5jZSByZWFzb25zLiBUaGV5IGNhbm5vdCBiZQogICAgIC8v
IHN0YXRpYyBiZWNhdXNlIHRoZXkgcmVseSBvbiB0aGUgc2FtcGxlIHJhdGUuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>410371</attachid>
            <date>2020-10-02 14:16:47 -0700</date>
            <delta_ts>2020-10-02 18:26:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216972-20201002141647.patch</filename>
            <type>text/plain</type>
            <size>8406</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3ODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI5ZTk3MDE2NDgwZWVm
YzRiYjQ4M2M0ZjM1YTI5MTFiMDQyMTU0NS4uM2M2Nzk5ZDg1NjhlM2QzMzE0NzhmZTk1ZDk4ZTU0
OWUzOTQ0YzJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTEwLTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FsbGluZyBzdXNwZW5kKCkg
b24gYXVkaW8gY29udGV4dCB3aXRoIG5vIG5vZGUgZG9lcyBub3QgcHJldmVudCBhdXRvIHRyYW5z
aXRpb24gdG8gcnVubmluZyB3aGVuIGZpcnN0IG5vZGUgaXMgY3JlYXRlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2OTcyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82OTg3ODgzND4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIFtbc3VzcGVuZGVkIGJ5IHVzZXJdXSBmbGFn
IGluIHRoZSBXZWJBdWRpbyBzcGVjaWZpY2F0aW9uOgorICAgICAgICAtIGh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi93ZWJhdWRpby8jZG9tLWF1ZGlvY29udGV4dC1zdXNwZW5kZWQtYnktdXNlci1zbG90
CisKKyAgICAgICAgV2Ugc2V0IHRoaXMgZmxhZyB3aGVuIHRoZSBzY3JpcHQgY2FsbHMgQXVkaW9D
b250ZXh0LnN1c3BlbmQoKToKKyAgICAgICAgLSBodHRwczovL3d3dy53My5vcmcvVFIvd2ViYXVk
aW8vI3JlZi1mb3ItZG9tLWF1ZGlvY29udGV4dC1zdXNwZW5kZWQtYnktdXNlci1zbG904pGgCisK
KyAgICAgICAgV2UgY2xlYXIgdGhpcyBmbGFnIHdoZW4gdGhlIHNjcmlwdCBjYWxscyBBdWRpb0Nv
bnRleHQucmVzdW1lKCk6CisgICAgICAgIC0gaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYmF1ZGlv
LyNyZWYtZm9yLWRvbS1hdWRpb2NvbnRleHQtc3VzcGVuZGVkLWJ5LXVzZXItc2xvdAorCisgICAg
ICAgIFdlIHRoZW4gcHJldmVudCBhdXRvbWF0ZWQgdHJhbnNpdGlvbiBvZiB0aGUgQXVkaW9Db250
ZXh0IHRvICJyZW5kZXJpbmciIHdoZW4gdGhpcworICAgICAgICBmbGFnIGlzIHNldDoKKyAgICAg
ICAgLSBodHRwczovL3d3dy53My5vcmcvVFIvd2ViYXVkaW8vI3JlZi1mb3ItZG9tLWF1ZGlvY29u
dGV4dC1zdXNwZW5kZWQtYnktdXNlci1zbG904pGhCisgICAgICAgIC0gaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3dlYmF1ZGlvLyNyZWYtZm9yLWRvbS1hdWRpb2NvbnRleHQtc3VzcGVuZGVkLWJ5LXVz
ZXItc2xvdOKRogorCisgICAgICAgIFRlc3Q6IHdlYmF1ZGlvL3N1c3BlbmQtY29udGV4dC1iZWZv
cmUtZmlyc3Qtbm9kZS1jcmVhdGlvbi5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlv
L0Jhc2VBdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzZUF1ZGlvQ29udGV4
dDo6c3RhcnRSZW5kZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZUF1ZGlvQ29udGV4dDo6
c3VzcGVuZFJlbmRlcmluZyk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlQXVkaW9Db250ZXh0Ojpy
ZXN1bWVSZW5kZXJpbmcpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29u
dGV4dC5oOgorCiAyMDIwLTEwLTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVXBkYXRlIFdvcmtsZXQuYWRkTW9kdWxlKCkgdG8gYWN0dWFsbHkgZmV0Y2ggdGhl
IG1vZHVsZSBzY3JpcHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQmFzZUF1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0Jhc2VBdWRpb0NvbnRleHQuY3BwCmluZGV4IGNkYzAzY2ZhYzRkODc3YTcwZWM1M2VhYjhiYTkz
Y2MzNzU2MDg3ZDEuLjRmNjllZmFiYWFhZGMyOWY2NTViYjAyNzY3ODkyNmQ4MjA0MmZhZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250
ZXh0LmNwcApAQCAtMTA4MSw3ICsxMDgxLDcgQEAgYm9vbCBCYXNlQXVkaW9Db250ZXh0Ojp3aWxs
UGF1c2VQbGF5YmFjaygpCiB2b2lkIEJhc2VBdWRpb0NvbnRleHQ6OnN0YXJ0UmVuZGVyaW5nKCkK
IHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwotICAgIGlmIChtX2lzU3RvcFNjaGVk
dWxlZCB8fCAhd2lsbEJlZ2luUGxheWJhY2soKSkKKyAgICBpZiAobV9pc1N0b3BTY2hlZHVsZWQg
fHwgIXdpbGxCZWdpblBsYXliYWNrKCkgfHwgbV93YXNTdXNwZW5kZWRCeVNjcmlwdCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgbWFrZVBlbmRpbmdBY3Rpdml0eSgpOwpAQCAtMTE4NiwxMyArMTE4
NiwxNCBAQCB2b2lkIEJhc2VBdWRpb0NvbnRleHQ6OnN1c3BlbmRSZW5kZXJpbmcoRE9NUHJvbWlz
ZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IGlmIChtX3N0YXRlID09IFN0YXRlOjpTdXNwZW5kZWQpIHsKLSAgICAgICAgcHJvbWlzZS5yZXNv
bHZlKCk7CisgICAgaWYgKG1fc3RhdGUgPT0gU3RhdGU6OkNsb3NlZCB8fCBtX3N0YXRlID09IFN0
YXRlOjpJbnRlcnJ1cHRlZCB8fCAhbV9kZXN0aW5hdGlvbk5vZGUpIHsKKyAgICAgICAgcHJvbWlz
ZS5yZWplY3QoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChtX3N0YXRlID09
IFN0YXRlOjpDbG9zZWQgfHwgbV9zdGF0ZSA9PSBTdGF0ZTo6SW50ZXJydXB0ZWQgfHwgIW1fZGVz
dGluYXRpb25Ob2RlKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KCk7CisgICAgbV93YXNTdXNw
ZW5kZWRCeVNjcmlwdCA9IHRydWU7CisgICAgaWYgKG1fc3RhdGUgPT0gU3RhdGU6OlN1c3BlbmRl
ZCkgeworICAgICAgICBwcm9taXNlLnJlc29sdmUoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtMTIzMSw2ICsxMjMyLDcgQEAgdm9pZCBCYXNlQXVkaW9Db250ZXh0OjpyZXN1bWVSZW5k
ZXJpbmcoRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKICAgICB9CiAKICAgICBh
ZGRSZWFjdGlvbihTdGF0ZTo6UnVubmluZywgV1RGTW92ZShwcm9taXNlKSk7CisgICAgbV93YXNT
dXNwZW5kZWRCeVNjcmlwdCA9IGZhbHNlOwogCiAgICAgaWYgKCF3aWxsQmVnaW5QbGF5YmFjaygp
KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQmFzZUF1ZGlvQ29udGV4dC5oCmluZGV4IGJkNGMwYzVkNjNmODJjN2IyODAwNWI3NGM0YmEw
MmQ1NmY3NDZmZmQuLjc4NTUxM2NkYjg1OGQyMWViZGRkYWE3YmExODcyNTg2MTJjM2RjYmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFzZUF1ZGlvQ29udGV4
dC5oCkBAIC00NjUsNiArNDY1LDEwIEBAIHByaXZhdGU6CiAKICAgICBBdWRpb0lPUG9zaXRpb24g
bV9vdXRwdXRQb3NpdGlvbjsKIAorICAgIC8vIFtbc3VzcGVuZGVkIGJ5IHVzZXJdXSBmbGFnIGlu
IHRoZSBzcGVjaWZpY2F0aW9uOgorICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93ZWJhdWRp
by8jZG9tLWF1ZGlvY29udGV4dC1zdXNwZW5kZWQtYnktdXNlci1zbG90CisgICAgYm9vbCBtX3dh
c1N1c3BlbmRlZEJ5U2NyaXB0IHsgZmFsc2UgfTsKKwogICAgIC8vIFRoZXNlIGFyZSBjYWNoZWQg
cGVyIGF1ZGlvIGNvbnRleHQgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuIFRoZXkgY2Fubm90IGJl
CiAgICAgLy8gc3RhdGljIGJlY2F1c2UgdGhleSByZWx5IG9uIHRoZSBzYW1wbGUgcmF0ZS4KICAg
ICBSZWZQdHI8UGVyaW9kaWNXYXZlPiBtX2NhY2hlZFBlcmlvZGljV2F2ZVNpbmU7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MzJiZWEwZDQyZDFmZGYyYzViNmU0MTlhNmU5NDRjNjU1OTM3ZGI0MC4uOGY1ZmRiYmE4ZGIyZTcx
MDk1NDA3M2JlYTBhNDg5OWFlMTgwOTU3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTEw
LTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FsbGluZyBz
dXNwZW5kKCkgb24gYXVkaW8gY29udGV4dCB3aXRoIG5vIG5vZGUgZG9lcyBub3QgcHJldmVudCBh
dXRvIHRyYW5zaXRpb24gdG8gcnVubmluZyB3aGVuIGZpcnN0IG5vZGUgaXMgY3JlYXRlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2OTcyCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS82OTg3ODgzND4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAg
KiB3ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtYmVmb3JlLWZpcnN0LW5vZGUtY3JlYXRpb24tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtYmVm
b3JlLWZpcnN0LW5vZGUtY3JlYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMjAtMTAtMDIgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgV29ya2xldC5hZGRN
b2R1bGUoKSB0byBhY3R1YWxseSBmZXRjaCB0aGUgbW9kdWxlIHNjcmlwdApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUt
YXVkaW8tYXBpL3RoZS1hdWRpb3dvcmtsZXQtaW50ZXJmYWNlL2F1ZGlvd29ya2xldC1zdXNwZW5k
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtYXVkaW93b3JrbGV0LWludGVyZmFj
ZS9hdWRpb3dvcmtsZXQtc3VzcGVuZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNTUzNmM1NTg4
YjM4NGZlYWNiZjU4MzNjYmYzYzg0ZTVlMzdiNmI5NS4uNjA1ZDRmZDRhNTYwNjhkZGJkMTA5ZjFi
OTllNTgxNDA4MTM1YmZkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1hdWRpb3dvcmtsZXQt
aW50ZXJmYWNlL2F1ZGlvd29ya2xldC1zdXNwZW5kLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1h
dWRpby1hcGkvdGhlLWF1ZGlvd29ya2xldC1pbnRlcmZhY2UvYXVkaW93b3JrbGV0LXN1c3BlbmQu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0zLDggKzMsOCBAQCBQQVNTICMgQVVESVQgVEFTSyBSVU5O
RVIgU1RBUlRFRC4KIFBBU1MgRXhlY3V0aW5nICJsb2FkLXdvcmtsZXQtYW5kLXN1c3BlbmQiCiBQ
QVNTIEF1ZGl0IHJlcG9ydAogUEFTUyA+IFtsb2FkLXdvcmtsZXQtYW5kLXN1c3BlbmRdCi1GQUlM
IFggY29udGV4dC5jdXJyZW50VGltZSBkaWQgbm90IGNoYW5nZSBhZnRlciB3b3JrbGV0IHN0YXJ0
ZWQgaXMgbm90IHRydWUuIEdvdCBmYWxzZS4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFggY29udGV4dC5zdGF0ZSBpcyBub3QgZXF1YWwgdG8gc3VzcGVuZGVkLiBH
b3QgcnVubmluZy4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIDwg
W2xvYWQtd29ya2xldC1hbmQtc3VzcGVuZF0gMiBvdXQgb2YgMiBhc3NlcnRpb25zIHdlcmUgZmFp
bGVkLiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgIyBBVURJVCBU
QVNLIFJVTk5FUiBGSU5JU0hFRDogMSBvdXQgb2YgMSB0YXNrcyB3ZXJlIGZhaWxlZC4gYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTICAgY29udGV4dC5jdXJyZW50VGlt
ZSBkaWQgbm90IGNoYW5nZSBhZnRlciB3b3JrbGV0IHN0YXJ0ZWQgaXMgdHJ1ZS4KK1BBU1MgICBj
b250ZXh0LnN0YXRlIGlzIGVxdWFsIHRvIHN1c3BlbmRlZC4KK1BBU1MgPCBbbG9hZC13b3JrbGV0
LWFuZC1zdXNwZW5kXSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3RhbCAyIGFzc2VydGlvbnMp
CitQQVNTICMgQVVESVQgVEFTSyBSVU5ORVIgRklOSVNIRUQ6IDEgdGFza3MgcmFuIHN1Y2Nlc3Nm
dWxseS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vc3VzcGVuZC1jb250ZXh0
LWJlZm9yZS1maXJzdC1ub2RlLWNyZWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dl
YmF1ZGlvL3N1c3BlbmQtY29udGV4dC1iZWZvcmUtZmlyc3Qtbm9kZS1jcmVhdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWJhNGMyOTRhOWU3YjM3MWJiNDFmZTlhNWI0OTIxMzJhMjdlNjVm
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3N1c3BlbmQtY29udGV4
dC1iZWZvcmUtZmlyc3Qtbm9kZS1jcmVhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorVGVzdHMgdGhhdCBjYWxsaW5nIGFuIEF1ZGlvQ29udGV4dCBkb2VzIG5vdCBzdGFydCByZW5k
ZXJpbmcgd2hlbiBhZGRpbmcgYSBub2RlIGlmIHN1c3BlbmQoKSB3YXMgY2FsbGVkIHJpZ2h0IGFm
dGVyIGNyZWF0aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhdWRp
b0NvbnRleHQuc3RhdGUgaXMgInN1c3BlbmRlZCIKK1BBU1MgYXVkaW9Db250ZXh0LnN0YXRlIGlz
ICJzdXNwZW5kZWQiCitQQVNTIGF1ZGlvQ29udGV4dC5zdGF0ZSBpcyAic3VzcGVuZGVkIgorUEFT
UyBhdWRpb0NvbnRleHQuc3RhdGUgaXMgInN1c3BlbmRlZCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJhdWRpby9zdXNwZW5kLWNvbnRleHQtYmVmb3JlLWZpcnN0LW5vZGUtY3JlYXRpb24uaHRtbCBi
L0xheW91dFRlc3RzL3dlYmF1ZGlvL3N1c3BlbmQtY29udGV4dC1iZWZvcmUtZmlyc3Qtbm9kZS1j
cmVhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0ZjIwMTgzYjFiOWM3ZDMwMGI2YzA5NjBjNDA3OWVm
ZGZiM2Y2YzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9zdXNwZW5k
LWNvbnRleHQtYmVmb3JlLWZpcnN0LW5vZGUtY3JlYXRpb24uaHRtbApAQCAtMCwwICsxLDI2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0
aGF0IGNhbGxpbmcgYW4gQXVkaW9Db250ZXh0IGRvZXMgbm90IHN0YXJ0IHJlbmRlcmluZyB3aGVu
IGFkZGluZyBhIG5vZGUgaWYgc3VzcGVuZCgpIHdhcyBjYWxsZWQgcmlnaHQgYWZ0ZXIgY3JlYXRp
b24uIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworYXN5bmMgZnVuY3Rpb24gdGVzdCgpIHsK
KyAgICBhdWRpb0NvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJhdWRpb0NvbnRleHQuc3RhdGUiLCAic3VzcGVuZGVkIik7CisgICAgYXdhaXQg
YXVkaW9Db250ZXh0LnN1c3BlbmQoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImF1ZGlv
Q29udGV4dC5zdGF0ZSIsICJzdXNwZW5kZWQiKTsKKyAgICBub2RlID0gYXVkaW9Db250ZXh0LmNy
ZWF0ZU9zY2lsbGF0b3IoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImF1ZGlvQ29udGV4
dC5zdGF0ZSIsICJzdXNwZW5kZWQiKTsKKworICAgIHNldFRpbWVvdXQoKCkgPT4geworICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImF1ZGlvQ29udGV4dC5zdGF0ZSIsICJzdXNwZW5kZWQi
KTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfSwgMTApOworfQorCit0ZXN0KCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>