<?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>223489</bug_id>
          
          <creation_ts>2021-03-18 17:35:05 -0700</creation_ts>
          <short_desc>Async Clipboard read prevents WebRTC IOSurfaces from being released</short_desc>
          <delta_ts>2021-03-23 03:49:00 -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>WebRTC</component>
          <version>Safari 14</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 14</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Howard">jameshoward</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jameshoward</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1741524</commentid>
    <comment_count>0</comment_count>
      <attachid>423674</attachid>
    <who name="James Howard">jameshoward</who>
    <bug_when>2021-03-18 17:35:05 -0700</bug_when>
    <thetext>Created attachment 423674
Minimal repro. Also hosted at https://james-howard.github.io/rtcpaste/

Overview:
Async Clipboard read blocks WebRTC decoded video IOSurfaces from being released.

Steps to reproduce:
- Have a page with a video element that is streaming video from a remote RTCPeerConnection
- Use the async clipboard readText API, triggering the &quot;Paste&quot; callout.
- See https://james-howard.github.io/rtcpaste/ for a minimal repro (also attached here)

Results:
- On a Mac, the WebContent process will grow 420v IOSurfaces from the decoder (as reported by vmmap).

while true; do vmmap --summary 24137 | grep IOSurface; sleep 5; done
IOSurface                         39.4M    1688K    1688K       0K       0K    1688K    18.3M       15 
IOSurface                         39.4M    1688K    1688K       0K       0K    1688K    18.3M       15 
IOSurface                         70.0M    10.0M    10.0M       0K       0K    10.0M    22.3M       36 # Paste clicked here
IOSurface                        147.2M    86.8M    86.8M       0K       0K    86.8M    40.5M      211 
IOSurface                        201.8M   164.1M   164.1M       0K       0K   164.1M    18.3M      383 
IOSurface                        279.0M   241.3M   241.3M       0K       0K   241.3M    18.3M      558 
IOSurface                        356.3M   318.6M   318.6M       0K       0K   318.6M    18.3M      733 
IOSurface                         40.2M    2592K    2592K       0K       0K    2592K    18.3M       17 # Callout/context menu dismissed here


- On an iOS device, the WebContent process will grow IOSurfaces and then jetsam after a short time.
- JavaScript execution is paused until the &quot;Paste&quot; callout is tapped or dismissed (no timers or other events can fire).
- Video does not freeze; it does continue to play

Expected Results:
- Process does not jetsam
- JavaScript execution is not blocked on the &quot;Paste&quot; callout (timers and other events can still fire).

System Info:
Repros on all of the following tested configurations:
- Mac (11.2 20D5042d)
  - Safari: Version 14.0.3 (16610.4.3)
  - Safari Technology Preview: Release 122 (Safari 14.2, WebKit 16612.1.6.2)
- iPad OS 14.4 (18D52)

Additional Info:
- If a single page is both the sender and receiver of the video (e.g. https://webrtc.github.io/samples/src/content/peerconnection/pc1/), memory will not grow while the paste callout is up, but what will happen is the video will freeze (sending is blocked?).
- Does not repro if the video element has a URL as its src (i.e. not playing a video from a WebRTC stream), video continues to play and memory does not grow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741545</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-03-18 18:42:39 -0700</bug_when>
    <thetext>Yeah, we should definitely not be blocking the web process when requesting paste access.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741546</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-18 18:42:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/75601433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741726</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-19 09:12:11 -0700</bug_when>
    <thetext>@wenson, do you know what is happening.
Even if clipboard is blocking the main thread, I would not expect IOSurfaces to be kept in a queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741817</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-03-19 11:46:27 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #3)
&gt; @wenson, do you know what is happening.
&gt; Even if clipboard is blocking the main thread, I would not expect IOSurfaces
&gt; to be kept in a queue.

Unfortunately, I don&apos;t know why this would cause IOSurfaces to remain alive. I thought it might&apos;ve just been a byproduct of hanging the web process&apos; main thread...

I&apos;m curious if this still reproduces if we simply busy loop for a few seconds or so (in lieu of using the clipboard API).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741820</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-19 11:48:50 -0700</bug_when>
    <thetext>Thinking about it more, we are storing in main thread one sample for canvas painting.
If async clipboard is busy looping main thread, we might be storing the samples in the dispatch queue to main thread.
I guess I can change this and use locks to get the sample instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742157</commentid>
    <comment_count>6</comment_count>
      <attachid>423863</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-22 01:42:33 -0700</bug_when>
    <thetext>Created attachment 423863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742212</commentid>
    <comment_count>7</comment_count>
      <attachid>423877</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-22 06:28:14 -0700</bug_when>
    <thetext>Created attachment 423877
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742220</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-22 07:13:49 -0700</bug_when>
    <thetext>
&gt; Additional Info:
&gt; - If a single page is both the sender and receiver of the video (e.g. https://webrtc.github.io/samples/src/content/peerconnection/pc1/), memory will not grow while the paste callout is up, but what will happen is the video will freeze (sending is blocked?).

I cannot reproduce this. Not sure what happens there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742346</commentid>
    <comment_count>9</comment_count>
    <who name="James Howard">jameshoward</who>
    <bug_when>2021-03-22 12:02:09 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #8)
&gt; &gt; Additional Info:
&gt; &gt; - If a single page is both the sender and receiver of the video (e.g. https://webrtc.github.io/samples/src/content/peerconnection/pc1/), memory will not grow while the paste callout is up, but what will happen is the video will freeze (sending is blocked?).
&gt; 
&gt; I cannot reproduce this. Not sure what happens there.

I can&apos;t reproduce it either on Mac, but I can on iOS. Try this minimal example: https://james-howard.github.io/rtcpaste/pc.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742386</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-22 12:42:37 -0700</bug_when>
    <thetext>Committed r274778: &lt;https://commits.webkit.org/r274778&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423877.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742424</commentid>
    <comment_count>11</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-03-22 13:25:38 -0700</bug_when>
    <thetext>(FYI — I filed https://bugs.webkit.org/show_bug.cgi?id=223597 as a followup, regarding  the async Clipboard API blocking the web process)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742495</commentid>
    <comment_count>12</comment_count>
      <attachid>423877</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-22 15:03:56 -0700</bug_when>
    <thetext>Comment on attachment 423877
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:280
&gt; +            if (!weakThis)
&gt; +                return;

Do we need to protect this here for the rest of the lambda’s duration? I’d think we would if there’s any way it can be released on a non-main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742510</commentid>
    <comment_count>13</comment_count>
      <attachid>423877</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-22 15:13:38 -0700</bug_when>
    <thetext>Comment on attachment 423877
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:280
&gt;&gt; +                return;
&gt; 
&gt; Do we need to protect this here for the rest of the lambda’s duration? I’d think we would if there’s any way it can be released on a non-main thread.

MediaPlayerPrivateMediaStreamAVFObjC is owned MediaPlayer, which is owned by HTMLMediaElement, so it shouldn&apos;t be possible for it to be released on a non-main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742745</commentid>
    <comment_count>14</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-23 03:49:00 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #13)
&gt; Comment on attachment 423877 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423877&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:280
&gt; &gt;&gt; +                return;
&gt; &gt; 
&gt; &gt; Do we need to protect this here for the rest of the lambda’s duration? I’d think we would if there’s any way it can be released on a non-main thread.
&gt; 
&gt; MediaPlayerPrivateMediaStreamAVFObjC is owned MediaPlayer, which is owned by
&gt; HTMLMediaElement, so it shouldn&apos;t be possible for it to be released on a
&gt; non-main thread.

Right, if MediaPlayerPrivateMediaStreamAVFObjC could be destroyed on non main thread, the weakThis check here would be meaningless and we would probably need to move it ref counted.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>423674</attachid>
            <date>2021-03-18 17:35:05 -0700</date>
            <delta_ts>2021-03-18 17:35:05 -0700</delta_ts>
            <desc>Minimal repro. Also hosted at https://james-howard.github.io/rtcpaste/</desc>
            <filename>index.html</filename>
            <type>text/html</type>
            <size>6760</size>
            <attacher name="James Howard">jameshoward</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
PgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJKYW1lcyBIb3dhcmQiPgogICAgPHRp
dGxlPlJUQyBQYXN0ZTwvdGl0bGU+CiAgICA8c3R5bGU+CiAgICAgICAgaHRtbCwgYm9keSB7CiAg
ICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtOwogICAgICAgIH0KICAgICAgICB2
aWRlbyB7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOwogICAgICAgIH0KICAg
IDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8ZGl2IGlkPSJzZW5kZXIiIHN0eWxlPSJkaXNw
bGF5OiBub25lOyI+CiAgICAgICAgPHA+CiAgICAgICAgICAgIE9mZmVyOgogICAgICAgICAgICA8
aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im9mZmVyMSI+PGJ1dHRvbiBpZD0iY29weU9mZmVyMSI+Q29w
eTwvYnV0dG9uPgogICAgICAgIDwvcD4KICAgICAgICA8cD4KICAgICAgICAgICAgQW5zd2VyOgog
ICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImFuc3dlcjEiPjxidXR0b24gaWQ9InBh
c3RlQW5zd2VyMSI+UGFzdGU8L2J1dHRvbj4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdj4KICAg
ICAgICAgICAgPHA+VmlkZW8gUHJldmlldzo8L3A+CiAgICAgICAgICAgIDx2aWRlbyB3aWR0aD0i
MzIwIiBoZWlnaHQ9IjI0MCIgaWQ9InByZXZpZXciIGF1dG9wbGF5IG11dGVkPjwvdmlkZW8+CiAg
ICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9InJlY2VpdmVyIiBzdHlsZT0iZGlz
cGxheTogbm9uZTsiPgogICAgICAgIDxwPgogICAgICAgICAgICBPZmZlcjoKICAgICAgICAgICAg
PGlucHV0IHR5cGU9InRleHQiIGlkPSJvZmZlcjIiPjxidXR0b24gaWQ9InBhc3RlT2ZmZXIyIj5Q
YXN0ZTwvYnV0dG9uPgogICAgICAgIDwvcD4KICAgICAgICA8cD4KICAgICAgICAgICAgQW5zd2Vy
OgogICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImFuc3dlcjIiPjxidXR0b24gaWQ9
ImNvcHlBbnN3ZXIyIj5Db3B5PC9idXR0b24+CiAgICAgICAgPC9wPgogICAgICAgIDxkaXY+CiAg
ICAgICAgICAgIDxwPlJlbW90ZSBWaWRlbzo8L3A+CiAgICAgICAgICAgIDx2aWRlbyB3aWR0aD0i
MzIwIiBoZWlnaHQ9IjI0MCIgaWQ9InJlbW90ZSIgcGxheXNpbmxpbmUgYXV0b3BsYXkgbXV0ZWQ+
PC92aWRlbz4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgaWQ9Im1vZGVzIj4K
ICAgICAgICA8YnV0dG9uIGlkPSJzdGFydFNlbmRlciI+QmUgU2VuZGVyPC9idXR0b24+CiAgICAg
ICAgPGJ1dHRvbiBpZD0ic3RhcnRSZWNlaXZlciI+QmUgUmVjZWl2ZXI8L2J1dHRvbj4KICAgIDwv
ZGl2PgogICAgCiAgICA8cD4KICAgICAgICBUaGlzIHBhZ2UgZGVtb25zdHJhdGVzIGEgV2ViS2l0
IGJ1ZyBvbiBpT1Mgd2hlcmUgcmVjZWl2aW5nIHZpZGVvCiAgICAgICAgdmlhIFdlYlJUQyBpcyBi
bG9ja2VkIGJ5IHRoZSBjbGlwYm9hcmQgVUksIGxlYWRpbmcgdG8gbWVtb3J5IGdyb3d0aAogICAg
ICAgICh2aWRlbyBmcmFtZXMga2VlcCBnZXR0aW5nIHJlY2VpdmVkIGFuZCBkZWNvZGVkIGludG8g
SU9TdXJmYWNlcywgYnV0CiAgICAgICAgdGhleSBuZXZlciBnZXQgY29uc3VtZWQgLyByZWxlYXNl
ZCB1bnRpbCB0aGUgcGFzdGUgVUkgaXMgZGlzbWlzc2VkKS4KICAgIDxwPgogICAgCiAgICA8cD4K
ICAgICAgICA8Yj5Vc2FnZTo8L2I+PGJyPkhhdmUgYSBkZXZpY2Ugd2l0aCBhIHdlYmNhbS4gWW91
IGNhbiB1c2Ugb25lIE1hYyBhbmQgdHdvIFNhZmFyaSB3aW5kb3dzIGZvciB0aGlzLCBvciBvbmUg
TWFjIGFuZCBvbmUgaU9TIGRldmljZSBvbiB0aGUgc2FtZSBsb2NhbCBuZXR3b3JrLgogICAgPC9w
PgogICAgPHA+CiAgICAgICAgPG9sPgogICAgICAgICAgICA8bGk+U2V0dXAgYW5kIFNpZ25hbGlu
ZwogICAgICAgICAgICA8b2w+CiAgICAgICAgICAgICAgICA8bGk+T3BlbiB0aGlzIHBhZ2UgaW4g
U2FmYXJpIGFuZCBjbGljayB0aGUgIkJlIFNlbmRlciIgYnV0dG9uLiBBZ3JlZSB0byBsZXQgdGhl
IHBhZ2UgYWNjZXNzIHlvdXIgY2FtZXJhLjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+T3BlbiB0
aGlzIHBhZ2UgaW4gYSBzZWNvbmQgU2FmYXJpIHdpbmRvdyBvciBvbiBhbiBpT1MgU2FmYXJpIHRh
YiBhbmQgY2xpY2svdGFwIHRoZSAiQmUgUmVjZWl2ZXIiIGJ1dHRvbi48L2xpPgogICAgICAgICAg
ICAgICAgPGxpPkZyb20gdGhlIHNlbmRlciBzaWRlLCBjb3B5IHRoZSBvZmZlciB0ZXh0IGFuZCBw
YXN0ZSBpdCBpbnRvIHRoZSByZWNlaXZlciBvZmZlciBmb3JtLgogICAgICAgICAgICAgICAgICAg
IDx1bD4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxpPlRpcDogVXNlIFVuaXZlcnNhbCBD
bGlwYm9hcmQgdG8gY29weSB0byBpT1MgZGV2aWNlPC9pPjwvbGk+CiAgICAgICAgICAgICAgICAg
ICAgPC91bD4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8bGk+RnJvbSB0
aGUgcmVjZWl2ZXIgc2lkZSwgcXVpY2tseSBjb3B5IHRoZSBhbnN3ZXIgdGV4dCBhbmQgcGFzdGUg
aXQgaW50byB0aGUgc2VuZGVyIGFuc3dlciBmb3JtLjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+
QSB2aWRlbyBzaG91bGQgYXBwZWFyIG9uIHRoZSByZWNlaXZlciBzaWRlLCBzdHJlYW1lZCBmcm9t
IHRoZSBzZW5kZXIuPC9saT4KICAgICAgICAgICAgPC9vbD4KICAgICAgICAgICAgPC9saT4KICAg
ICAgICAgICAgCiAgICAgICAgICAgIDxsaT5Vc2UgSW5zdHJ1bWVudHMgIkFjdGl2aXR5IE1vbml0
b3IiIHRvIHRyYWNrIG1lbW9yeSB1c2FnZSBvbiB0aGUgcmVjZWl2aW5nIHNpZGU8L2xpPgogICAg
ICAgICAgICA8bGk+SWYgdGhlIHJlY2VpdmVyIGlzIG9uIGEgTWFjIHlvdSBjYW4gcHV0IHRoaXMg
aW4gYSB0ZXJtaW5hbCB3aW5kb3cgPGNvZGU+d2hpbGUgdHJ1ZTsgZG8gdm1tYXAgLS1zdW1tYXJ5
IHBpZC1vZi1yZWNlaXZlci1wYWdlIHwgZ3JlcCBJT1N1cmZhY2U7IHNsZWVwIDU7IGRvbmU8L2Nv
ZGU+PC9saT4KICAgICAgICAgICAgPGxpPkZyb20gdGhlIHJlY2VpdmVyIHNpZGUsIGNvcHkgc29t
ZSB0ZXh0IDxiPmZyb20gYW5vdGhlciBhcHAgb3Igc2l0ZTwvYj4sIGFuZCB0aGVuIHRhcCBvbiB0
aGUgIlBhc3RlIiBidXR0b24gYWdhaW4gdG8gYnJpbmcgdXAgdGhlIHBhc3RlIGNhbGxvdXQsIGJ1
dCBkb24ndCB5ZXQgdGFwIG9uIHRoZSAiUGFzdGUiIGNhbGxvdXQgdGhhdCBhcHBlYXJzLCBqdXN0
IGxldCBpdCBzaXQgdGhlcmUuPC9saT4KICAgICAgICAgICAgPGxpPldhdGNoIHRoZSBtZW1vcnkg
dXNlIGdyb3chPC9saT4KICAgICAgICA8L29sPgogICAgPC9wPgogICAgCjxzY3JpcHQgbGFuZ3Vh
Z2U9ImphdmFzY3JpcHQiPgphc3luYyBmdW5jdGlvbiBzZW5kZXIoKSB7CiAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnc2VuZGVyJykuc3R5bGUuZGlzcGxheSA9ICcnOwogICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ21vZGVzJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIAogICAg
Y29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEo
e3ZpZGVvOiB0cnVlfSk7CiAgICBjb25zb2xlLmxvZygnUmVjZWl2ZWQgbG9jYWwgc3RyZWFtJyk7
CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJldmlldycpLnNyY09iamVjdCA9IHN0cmVh
bTsKICAgIAogICAgY29uc3QgcGVlciA9IG5ldyBSVENQZWVyQ29ubmVjdGlvbigpOwogICAgY29u
c3QgdHJhY2sgPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTsKICAgIHBlZXIuYWRkVHJhY2so
dHJhY2ssIHN0cmVhbSk7CiAgICBwZWVyLmFkZFRyYW5zY2VpdmVyKCd2aWRlbycsIHsnZGlyZWN0
aW9uJzogJ3NlbmRvbmx5J30pOwogICAgY29uc3Qgb2ZmZXIgPSBhd2FpdCBwZWVyLmNyZWF0ZU9m
ZmVyKCk7CiAgICBjb25zb2xlLmxvZygnQ3JlYXRlZCBvZmZlcicsIHBlZXIpOwogICAgYXdhaXQg
cGVlci5zZXRMb2NhbERlc2NyaXB0aW9uKG9mZmVyKTsKICAgIGNvbnN0IHNkcCA9IEpTT04uc3Ry
aW5naWZ5KHBlZXIubG9jYWxEZXNjcmlwdGlvbik7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnb2ZmZXIxJykudmFsdWUgPSBzZHA7CiAgICAKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdjb3B5T2ZmZXIxJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBldnQgPT4gewogICAgICAg
IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHNkcCk7CiAgICB9KTsKICAgIAogICAgYXN5
bmMgZnVuY3Rpb24gaGFuZGxlQW5zd2VyKGFuc3dlclRleHQpIHsKICAgICAgICBjb25zdCBhbnN3
ZXIgPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKEpTT04ucGFyc2UoYW5zd2VyVGV4dCkpOwog
ICAgICAgIGNvbnNvbGUubG9nKCdoYW5kbGVBbnN3ZXInLCBhbnN3ZXIpOwogICAgICAgIHRyeSB7
CiAgICAgICAgICAgIHBlZXIuc2V0UmVtb3RlRGVzY3JpcHRpb24oYW5zd2VyKTsKICAgICAgICB9
IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ3NldFJlbW90ZURlc2NyaXB0
aW9uJywgZSk7CiAgICAgICAgfQogICAgfQogICAgCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnYW5zd2VyMScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGV2dCA9PiB7CiAgICAgICAg
aGFuZGxlQW5zd2VyKGV2dC50YXJnZXQudmFsdWUpOwogICAgfSk7CiAgICAKICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdwYXN0ZUFuc3dlcjEnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycs
IGFzeW5jIGV2dCA9PiB7CiAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IG5hdmlnYXRvci5jbGlw
Ym9hcmQucmVhZFRleHQoKTsKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5zd2Vy
MScpLnZhbHVlID0gdGV4dDsKICAgICAgICBoYW5kbGVBbnN3ZXIodGV4dCk7CiAgICB9KTsKfQoK
YXN5bmMgZnVuY3Rpb24gcmVjZWl2ZXIoKSB7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cmVjZWl2ZXInKS5zdHlsZS5kaXNwbGF5ID0gJyc7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbW9kZXMnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgCiAgICBjb25zdCBwZWVyID0g
bmV3IFJUQ1BlZXJDb25uZWN0aW9uKCk7CiAgICBwZWVyLmFkZFRyYW5zY2VpdmVyKCd2aWRlbycs
IHsnZGlyZWN0aW9uJzogJ3JlY3Zvbmx5J30pOwogICAgcGVlci5hZGRFdmVudExpc3RlbmVyKCd0
cmFjaycsIGV2dCA9PiB7CiAgICAgICAgbGV0IHZpZGVvID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3JlbW90ZScpOwogICAgICAgIGNvbnNvbGUubG9nKCdSZWNlaXZlZCB0cmFjayBldnQnLCBl
dnQpOwogICAgICAgIGxldCBzdHJlYW0gPSBldnQuc3RyZWFtc1swXTsKICAgICAgICBpZiAoc3Ry
ZWFtICYmIHZpZGVvLnNyY09iamVjdCAhPT0gc3RyZWFtKSB7CiAgICAgICAgICAgIGNvbnNvbGUu
bG9nKCdSZWNlaXZlZCByZW1vdGUgc3RyZWFtJywgc3RyZWFtKTsKICAgICAgICAgICAgdmlkZW8u
c3JjT2JqZWN0ID0gc3RyZWFtOwogICAgICAgICAgICB2aWRlby5wbGF5KCk7CiAgICAgICAgfQog
ICAgfSk7CiAgICAKICAgIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZU9mZmVyKG9mZmVyKSB7CiAgICAg
ICAgYXdhaXQgcGVlci5zZXRSZW1vdGVEZXNjcmlwdGlvbihuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uKEpTT04ucGFyc2Uob2ZmZXIpKSk7CiAgICAgICAgY29uc3QgYW5zd2VyID0gYXdhaXQgcGVl
ci5jcmVhdGVBbnN3ZXIoKTsKICAgICAgICBhd2FpdCBwZWVyLnNldExvY2FsRGVzY3JpcHRpb24o
YW5zd2VyKTsKICAgICAgICBjb25zdCBzZHAgPSBKU09OLnN0cmluZ2lmeShwZWVyLmxvY2FsRGVz
Y3JpcHRpb24pOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbnN3ZXIyJykudmFs
dWUgPSBzZHA7CiAgICB9CiAgICAKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvZmZlcjIn
KS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBhc3luYyAoZXZ0KSA9PiB7CiAgICAgICAgY29u
c29sZS5sb2coJ29mZmVyMiBjaGFuZ2VkJyk7CiAgICAgICAgY29uc3Qgb2ZmZXJUZXh0ID0gZXZ0
LnRhcmdldC52YWx1ZTsKICAgICAgICBoYW5kbGVPZmZlcihvZmZlclRleHQpOwogICAgfSk7CiAg
ICAKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXN0ZU9mZmVyMicpLmFkZEV2ZW50TGlz
dGVuZXIoJ2NsaWNrJywgYXN5bmMgZXZ0ID0+IHsKICAgICAgICBsZXQgdGV4dCA9IGF3YWl0IG5h
dmlnYXRvci5jbGlwYm9hcmQucmVhZFRleHQoKTsgICAgICAgIAogICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdvZmZlcjInKS52YWx1ZSA9IHRleHQ7CiAgICAgICAgaGFuZGxlT2ZmZXIo
dGV4dCk7CiAgICB9KTsKICAgIAogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvcHlBbnN3
ZXIyJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBhc3luYyAoZXZ0KSA9PiB7CiAgICAgICAg
bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fu
c3dlcjInKS52YWx1ZSk7CiAgICB9KTsKfQoKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXJ0
U2VuZGVyJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBzZW5kZXIpOwpkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnc3RhcnRSZWNlaXZlcicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVj
ZWl2ZXIpOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423863</attachid>
            <date>2021-03-22 01:42:33 -0700</date>
            <delta_ts>2021-03-22 06:49:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223489-20210322094232.patch</filename>
            <type>text/plain</type>
            <size>4103</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzFiNDE3OTI3ZTcxYmNm
ZDkzNmUzOGJkNWI2ZmQwMTI4MjQyZjRlYy4uZDI3MjNkYzZlZGMzMGI2MDIzMThmNmJkOWY1Mjcw
MTFlNDIxM2ZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBc3luYyBDbGlwYm9hcmQg
cmVhZCBwcmV2ZW50cyBXZWJSVEMgSU9TdXJmYWNlcyBmcm9tIGJlaW5nIHJlbGVhc2VkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0ODkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzc1NjAxNDMzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgZGlzcGF0Y2hpbmcgYSB0YXNrIHRvIG1h
aW4gdGhyZWFkLCB0aGUgdGFzayByZWZpbmcgYSBNZWRpYVNhbXBsZSwKKyAgICAgICAgd2Ugc3Rv
cmUgdGhlIE1lZGlhU2FtcGxlIGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2Jq
QyBvbiB0aGUgYmFja2dyb3VuZCB0aHJlYWQgYW5kCisgICAgICAgIGFjY2VzcyBpdCBvbiBtYWlu
IHRocmVhZCB3aXRoIGEgbG9jay4KKyAgICAgICAgVGhpcyBlbnN1cmVzIHRoYXQgd2UgZG8gbm90
IGtlZXAgbW9yZSB0aGFuIG9uZSBtZWRpYSBzYW1wbGUgcGVyIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU3RyZWFtQVZGT2JqQywgZXZlbiBpZiBtYWluIHRocmVhZCBpcyBibG9ja2VkLgorICAgICAg
ICBNYWtlIHN1cmUgdG8gcmVzZXQgdGhlIHZpZGVvIHRyYW5zZm9ybWF0aW9uIGFjY29yZGluZyBo
YXNDaGFuZ2VkT3JpZW50YXRpb24gZXZlbiBpZiB0aGVyZSBpcyBubyBtZWRpYSBzYW1wbGUgYXZh
aWxhYmxlIGFueW1vcmUuCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6
OnByb2Nlc3NOZXdWaWRlb1NhbXBsZSk6CisKIDIwMjEtMDMtMTggIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBSVENEYXRhQ2hhbm5lbCB0cmFu
c2ZlciBvdXQgb2YgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAppbmRleCA1NmIzM2Q4
MGMxNDEzYjA1NDQ5ODcwNzVkZTY4ODMyODkzZGVkY2JmLi45NWU4MTgyMzdjYTU2Mjc4NGFkYTEw
MGE3OTc2ZjczYWQ3ZWU2MmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFW
Rk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaApAQCAtMjYyLDYg
KzI2Miw5IEBAIHByaXZhdGU6CiAKICAgICBSZXRhaW5QdHI8V2ViUm9vdFNhbXBsZUJ1ZmZlckJv
dW5kc0NoYW5nZUxpc3RlbmVyPiBtX2JvdW5kc0NoYW5nZUxpc3RlbmVyOwogCisgICAgTG9jayBt
X2N1cnJlbnRWaWRlb1NhbXBsZUxvY2s7CisgICAgUmVmUHRyPE1lZGlhU2FtcGxlPiBtX2N1cnJl
bnRWaWRlb1NhbXBsZTsKKwogICAgIGJvb2wgbV9wbGF5aW5nIHsgZmFsc2UgfTsKICAgICBib29s
IG1fbXV0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9lbmRlZCB7IGZhbHNlIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakMubW0KaW5kZXggYjYyMTE0MWM5NDliNzJkNDg2MjFlYjE5ZDlmNWU2NGQ0
OTRmZWM3Yy4uMzM0YTcxMzBhN2Q2NDFiOTE2YmYxMDM2ZTdlZmRhNjgxZDA2NDBlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQpAQCAtMjY4LDEyICsyNjgsMjkgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmVucXVldWVWaWRlb1NhbXBsZShNZWRpYVNh
bXBsZSYgc2FtcGwKICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+ZW5xdWV1ZVNhbXBs
ZShzYW1wbGUpOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2Jq
Qzo6cHJvY2Vzc05ld1ZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsICBib29sIGhhc0No
YW5nZWRPcmllbnRhdGlvbikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjpwcm9jZXNzTmV3VmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgYm9vbCBoYXND
aGFuZ2VkT3JpZW50YXRpb24pCiB7CiAgICAgaWYgKCFpc01haW5UaHJlYWQoKSkgewotICAgICAg
ICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpLCBzYW1wbGUg
PSBtYWtlUmVmKHNhbXBsZSksIGhhc0NoYW5nZWRPcmllbnRhdGlvbl0oKSBtdXRhYmxlIHsKLSAg
ICAgICAgICAgIGlmICh3ZWFrVGhpcykKLSAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+cHJvY2Vz
c05ld1ZpZGVvU2FtcGxlKHNhbXBsZS5nZXQoKSwgaGFzQ2hhbmdlZE9yaWVudGF0aW9uKTsKKyAg
ICAgICAgeworICAgICAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2N1cnJlbnRWaWRl
b1NhbXBsZUxvY2spOworICAgICAgICAgICAgbV9jdXJyZW50VmlkZW9TYW1wbGUgPSAmc2FtcGxl
OworICAgICAgICB9CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzID0gbWFrZVdl
YWtQdHIodGhpcyksIGhhc0NoYW5nZWRPcmllbnRhdGlvbl0oKSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgIGlmICghd2Vha1RoaXMpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAg
ICBpZiAoaGFzQ2hhbmdlZE9yaWVudGF0aW9uKQorICAgICAgICAgICAgICAgIG1fdmlkZW9UcmFu
c2Zvcm0gPSB7IH07CisKKyAgICAgICAgICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4gc2FtcGxlOwor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sod2Vh
a1RoaXMtPm1fY3VycmVudFZpZGVvU2FtcGxlTG9jayk7CisgICAgICAgICAgICAgICAgc2FtcGxl
ID0gV1RGTW92ZSh3ZWFrVGhpcy0+bV9jdXJyZW50VmlkZW9TYW1wbGUpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgaWYgKCFzYW1wbGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgICAgICB3ZWFrVGhpcy0+cHJvY2Vzc05ld1ZpZGVvU2FtcGxlKCpzYW1wbGUsIGhhc0No
YW5nZWRPcmllbnRhdGlvbik7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQo=
</data>
<flag name="commit-queue"
          id="443361"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423877</attachid>
            <date>2021-03-22 06:28:14 -0700</date>
            <delta_ts>2021-03-22 12:42:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223489-20210322142813.patch</filename>
            <type>text/plain</type>
            <size>4114</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjlmYjRiMTBkMDA0NWU2
NDRhNjM4NDYxMzk2ODE2YzQ4Yjg3NWJjNy4uMjExZDk0YmIxMWUxNTJmZDFmNzIwNmFiYjc0YTIx
NDYyNjk4NTgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBc3luYyBDbGlwYm9hcmQg
cmVhZCBwcmV2ZW50cyBXZWJSVEMgSU9TdXJmYWNlcyBmcm9tIGJlaW5nIHJlbGVhc2VkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0ODkKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzc1NjAxNDMzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgZGlzcGF0Y2hpbmcgYSB0YXNrIHRvIG1h
aW4gdGhyZWFkLCB0aGUgdGFzayByZWZpbmcgYSBNZWRpYVNhbXBsZSwKKyAgICAgICAgd2Ugc3Rv
cmUgdGhlIE1lZGlhU2FtcGxlIGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2Jq
QyBvbiB0aGUgYmFja2dyb3VuZCB0aHJlYWQgYW5kCisgICAgICAgIGFjY2VzcyBpdCBvbiBtYWlu
IHRocmVhZCB3aXRoIGEgbG9jay4KKyAgICAgICAgVGhpcyBlbnN1cmVzIHRoYXQgd2UgZG8gbm90
IGtlZXAgbW9yZSB0aGFuIG9uZSBtZWRpYSBzYW1wbGUgcGVyIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU3RyZWFtQVZGT2JqQywgZXZlbiBpZiBtYWluIHRocmVhZCBpcyBibG9ja2VkLgorICAgICAg
ICBNYWtlIHN1cmUgdG8gcmVzZXQgdGhlIHZpZGVvIHRyYW5zZm9ybWF0aW9uIGFjY29yZGluZyBo
YXNDaGFuZ2VkT3JpZW50YXRpb24gZXZlbiBpZiB0aGVyZSBpcyBubyBtZWRpYSBzYW1wbGUgYXZh
aWxhYmxlIGFueW1vcmUuCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6
OnByb2Nlc3NOZXdWaWRlb1NhbXBsZSk6CisKIDIwMjEtMDMtMjIgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlYWx0aW1lTWVkaWFTb3VyY2UgZG9lcyBub3Qg
bmVlZCB0byBiZSBhIFdlYWtQdHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKaW5kZXggNTZiMzNk
ODBjMTQxM2IwNTQ0OTg3MDc1ZGU2ODgzMjg5M2RlZGNiZi4uOTVlODE4MjM3Y2E1NjI3ODRhZGEx
MDBhNzk3NmY3M2FkN2VlNjJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKQEAgLTI2Miw2
ICsyNjIsOSBAQCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRyPFdlYlJvb3RTYW1wbGVCdWZmZXJC
b3VuZHNDaGFuZ2VMaXN0ZW5lcj4gbV9ib3VuZHNDaGFuZ2VMaXN0ZW5lcjsKIAorICAgIExvY2sg
bV9jdXJyZW50VmlkZW9TYW1wbGVMb2NrOworICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4gbV9jdXJy
ZW50VmlkZW9TYW1wbGU7CisKICAgICBib29sIG1fcGxheWluZyB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX211dGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fZW5kZWQgeyBmYWxzZSB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IGI2MjExNDFjOTQ5YjcyZDQ4NjIxZWIxOWQ5ZjVlNjRk
NDk0ZmVjN2MuLjcxYTA5ZDNiMGMwYjdiYWY5NGQ1ZmE2ZTlmYjExNmVmNmE2ZjY2MTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTI2OCwxMiArMjY4LDI5IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjplbnF1ZXVlVmlkZW9TYW1wbGUoTWVkaWFT
YW1wbGUmIHNhbXBsCiAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPmVucXVldWVTYW1w
bGUoc2FtcGxlKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akM6OnByb2Nlc3NOZXdWaWRlb1NhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCAgYm9vbCBoYXND
aGFuZ2VkT3JpZW50YXRpb24pCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6cHJvY2Vzc05ld1ZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIGJvb2wgaGFz
Q2hhbmdlZE9yaWVudGF0aW9uKQogewogICAgIGlmICghaXNNYWluVGhyZWFkKCkpIHsKLSAgICAg
ICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cih0aGlzKSwgc2FtcGxl
ID0gbWFrZVJlZihzYW1wbGUpLCBoYXNDaGFuZ2VkT3JpZW50YXRpb25dKCkgbXV0YWJsZSB7Ci0g
ICAgICAgICAgICBpZiAod2Vha1RoaXMpCi0gICAgICAgICAgICAgICAgd2Vha1RoaXMtPnByb2Nl
c3NOZXdWaWRlb1NhbXBsZShzYW1wbGUuZ2V0KCksIGhhc0NoYW5nZWRPcmllbnRhdGlvbik7Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9jdXJyZW50Vmlk
ZW9TYW1wbGVMb2NrKTsKKyAgICAgICAgICAgIG1fY3VycmVudFZpZGVvU2FtcGxlID0gJnNhbXBs
ZTsKKyAgICAgICAgfQorICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IG1ha2VX
ZWFrUHRyKHRoaXMpLCBoYXNDaGFuZ2VkT3JpZW50YXRpb25dKCkgbXV0YWJsZSB7CisgICAgICAg
ICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAg
ICAgaWYgKGhhc0NoYW5nZWRPcmllbnRhdGlvbikKKyAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+
bV92aWRlb1RyYW5zZm9ybSA9IHsgfTsKKworICAgICAgICAgICAgUmVmUHRyPE1lZGlhU2FtcGxl
PiBzYW1wbGU7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYXV0byBsb2NrZXIgPSBo
b2xkTG9jayh3ZWFrVGhpcy0+bV9jdXJyZW50VmlkZW9TYW1wbGVMb2NrKTsKKyAgICAgICAgICAg
ICAgICBzYW1wbGUgPSBXVEZNb3ZlKHdlYWtUaGlzLT5tX2N1cnJlbnRWaWRlb1NhbXBsZSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoIXNhbXBsZSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIHdlYWtUaGlzLT5wcm9jZXNzTmV3VmlkZW9TYW1wbGUoKnNh
bXBsZSwgaGFzQ2hhbmdlZE9yaWVudGF0aW9uKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>