<?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>220887</bug_id>
          
          <creation_ts>2021-01-22 20:18:29 -0800</creation_ts>
          <short_desc>Twitter PiP video pauses when scrolling</short_desc>
          <delta_ts>2021-01-25 16:58:12 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=220939</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1721815</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-22 20:18:29 -0800</bug_when>
    <thetext>Twitter PiP video pauses when scrolling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721816</commentid>
    <comment_count>1</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-22 20:19:37 -0800</bug_when>
    <thetext>&lt;rdar://73369869&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721825</commentid>
    <comment_count>2</comment_count>
      <attachid>418214</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-22 22:45:24 -0800</bug_when>
    <thetext>Created attachment 418214
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721826</commentid>
    <comment_count>3</comment_count>
      <attachid>418215</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-22 22:58:23 -0800</bug_when>
    <thetext>Created attachment 418215
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721830</commentid>
    <comment_count>4</comment_count>
      <attachid>418218</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-22 23:33:00 -0800</bug_when>
    <thetext>Created attachment 418218
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722143</commentid>
    <comment_count>5</comment_count>
      <attachid>418309</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-25 11:02:02 -0800</bug_when>
    <thetext>Created attachment 418309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722178</commentid>
    <comment_count>6</comment_count>
      <attachid>418309</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-01-25 11:49:18 -0800</bug_when>
    <thetext>Comment on attachment 418309
Patch

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

&gt; Source/WebCore/html/MediaElementSession.cpp:279
&gt; +SuccessOr&lt;MediaPlaybackDenialReason&gt; MediaElementSession::playbackPermitted(MediaPlaybackOperation operation) const

As we discussed, I&apos;m not happy with this enum. Please add a FIXME here and note the url of the bug you filed to fix this.

&gt; Source/WebCore/page/Quirks.cpp:1269
&gt; +    // Facebook and twitter will naively pause a &lt;video&gt; element that has scrolled out of the viewport,

s/twitter/Twitter/

&gt; Source/WebCore/page/Quirks.cpp:1276
&gt;          auto domain = RegistrableDomain(m_document-&gt;topDocument().url());

auto domain = RegistrableDomain(m_document-&gt;topDocument().url()).string();
m_requiresUserGestureToPauseInPictureInPicture = domain == &quot;facebook.com&quot;_s || domain == &quot;twitter.com&quot;_s;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722188</commentid>
    <comment_count>7</comment_count>
      <attachid>418318</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-25 12:16:45 -0800</bug_when>
    <thetext>Created attachment 418318
Revise the patch based on Eric&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722190</commentid>
    <comment_count>8</comment_count>
      <attachid>418309</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-01-25 12:18:47 -0800</bug_when>
    <thetext>Comment on attachment 418309
Patch

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

&gt;&gt; Source/WebCore/html/MediaElementSession.cpp:279
&gt;&gt; +SuccessOr&lt;MediaPlaybackDenialReason&gt; MediaElementSession::playbackPermitted(MediaPlaybackOperation operation) const
&gt; 
&gt; As we discussed, I&apos;m not happy with this enum. Please add a FIXME here and note the url of the bug you filed to fix this.

Filed bug 220939 to track the refactoring.

&gt;&gt; Source/WebCore/page/Quirks.cpp:1269
&gt;&gt; +    // Facebook and twitter will naively pause a &lt;video&gt; element that has scrolled out of the viewport,
&gt; 
&gt; s/twitter/Twitter/

Fixed.

&gt;&gt; Source/WebCore/page/Quirks.cpp:1276
&gt;&gt;          auto domain = RegistrableDomain(m_document-&gt;topDocument().url());
&gt; 
&gt; auto domain = RegistrableDomain(m_document-&gt;topDocument().url()).string();
&gt; m_requiresUserGestureToPauseInPictureInPicture = domain == &quot;facebook.com&quot;_s || domain == &quot;twitter.com&quot;_s;

Good point! Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722352</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-25 16:58:09 -0800</bug_when>
    <thetext>Committed r271870: &lt;https://trac.webkit.org/changeset/271870&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418318.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418214</attachid>
            <date>2021-01-22 22:45:24 -0800</date>
            <delta_ts>2021-01-22 22:58:21 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-220887-20210122224523.patch</filename>
            <type>text/plain</type>
            <size>9677</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU2MTdiNmZkOWQ1NTY5
NzA5YTY4NzM2NWE0YjgwZGY5MTdhN2FjMi4uNDc1NDA2ZWFmMDViZTUyZDhjZDAyNmRlMmVmZDQ5
NTcxZTM3NTc3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTIyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgVHdpdHRlciBQaVAgdmlkZW8g
cGF1c2VzIHdoZW4gc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA4ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnBhdXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN1
c3BlbmRQbGF5YmFjayk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6
cGxheWJhY2tQZXJtaXR0ZWQgY29uc3QpOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5oOgorICAgICAgICAqIHBhZ2UvUXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlF1
aXJrczo6cmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpyZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5Q
aWN0dXJlSW5QaWN0dXJlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1aXJrcy5oOgorCiAyMDIx
LTAxLTIxICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXBw
bGUgUGF5XSB1c2UgdGhlIGZpcnN0IGl0ZW0gaW4gYHNoaXBwaW5nT3B0aW9uc2AgZXZlbiB3aGVu
IGl0J3Mgbm90IGBzZWxlY3RlZGAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwCmluZGV4IDk0ZmU0ZjJiYTM0Yzk4YTZhMDViZWFmMzVkYTc1YmMxOWExYTJmZTYuLjVkZWRj
MTdlMTVmODA3ODg4NjZkMjM3OWEyOTQzYWM2MGRlZWYzZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTA2OCwxNiArMTA2OCwyMCBAQCBkb3VibGUgSFRN
TE1lZGlhRWxlbWVudDo6Z2V0U3RhcnREYXRlKCkgY29uc3QKICAgICByZXR1cm4gbV9wbGF5ZXIt
PmdldFN0YXJ0RGF0ZSgpLnRvRG91YmxlKCk7CiB9CiAKLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
bG9hZCgpCitFeGNlcHRpb25Pcjx2b2lkPiBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkKCkKIHsKICAg
ICBSZWY8SFRNTE1lZGlhRWxlbWVudD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIHByZXBhcmVG
b3JMb2FkIG1heSByZXN1bHQgaW4gYSAnYmVmb3JlbG9hZCcgZXZlbnQsIHdoaWNoIGNhbiBtYWtl
IGFyYml0cmFyeSBET00gbXV0YXRpb25zLgogCiAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7
CiAKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlID09IFZpZGVvRnVsbHNjcmVlbk1vZGVQ
aWN0dXJlSW5QaWN0dXJlICYmIGRvY3VtZW50KCkucXVpcmtzKCkucmVxdWlyZXNVc2VyR2VzdHVy
ZVRvTG9hZEluUGljdHVyZUluUGljdHVyZSgpICYmICFkb2N1bWVudCgpLnByb2Nlc3NpbmdVc2Vy
R2VzdHVyZUZvck1lZGlhKCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBBYm9ydEVycm9y
IH07CisKICAgICBwcmVwYXJlRm9yTG9hZCgpOwogICAgIG1fcmVzb3VyY2VTZWxlY3Rpb25UYXNr
UXVldWUuZW5xdWV1ZVRhc2soW3RoaXNdIHsKICAgICAgICAgcHJlcGFyZVRvUGxheSgpOwogICAg
IH0pOworICAgIHJldHVybiB7IH07CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJlcGFy
ZUZvckxvYWQoKQpAQCAtMzQ5Nyw3ICszNTAxLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpw
YXVzZSgpCiAgICAgaWYgKG1fd2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVuKQogICAgICAgICBtX3dh
aXRpbmdUb0VudGVyRnVsbHNjcmVlbiA9IGZhbHNlOwogCi0gICAgaWYgKCFtX21lZGlhU2Vzc2lv
bi0+cGxheWJhY2tQZXJtaXR0ZWQoKSkKKyAgICBpZiAoIW1fbWVkaWFTZXNzaW9uLT5wbGF5YmFj
a1Blcm1pdHRlZChNZWRpYVBsYXliYWNrT3BlcmF0aW9uOjpQYXVzZSkpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIGlmIChwcm9jZXNzaW5nVXNlckdlc3R1cmVGb3JNZWRpYSgpKQpAQCAtMzUwNiw3
ICszNTEwLDYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwYXVzZSgpCiAgICAgcGF1c2VJbnRl
cm5hbCgpOwogfQogCi0KIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2VJbnRlcm5hbCgpCiB7
CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKQEAgLTc0NDYsNyArNzQ0OSw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6c3VzcGVuZFBsYXliYWNrKCkKIHsKICAgICBBTFdBWVNfTE9H
KExPR0lERU5USUZJRVIsICJwYXVzZWQgPSAiLCBwYXVzZWQoKSk7CiAgICAgaWYgKCFwYXVzZWQo
KSkKLSAgICAgICAgcGF1c2UoKTsKKyAgICAgICAgcGF1c2VJbnRlcm5hbCgpOwogfQogCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnJlc3VtZUF1dG9wbGF5aW5nKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKaW5kZXggYzdiZTcwNmRkZmQ3MjhmNWY1MjdlZWRjNDVhNDVmYTRk
ODczMGNlYi4uNzc5ZDU2ZDlhYmY2Nzg5ZDA0NWIwNGUyMzQ0MmYxZjdlYzc2MGRhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTIxOSw3ICsyMTksNyBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQcmVsb2FkKGNvbnN0IFN0cmluZyYpOwog
CiAgICAgUmVmPFRpbWVSYW5nZXM+IGJ1ZmZlcmVkKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBsb2FkKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8
dm9pZD4gbG9hZCgpOwogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjYW5QbGF5VHlwZShjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdDsKIAogLy8gcmVhZHkgc3RhdGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IDZlYTdhMDg1ODg2YWY0NmVkYTUwMjAw
YTk0NDc2NGEyNTIzMmU1NWMuLjZkNDU4ZWVjZDBjZjlkZjcxMDIxYzMwYjRmN2NmYzRjNzA4YzRk
NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtNTgsNyAr
NTgsNyBAQCB0eXBlZGVmICgKICAgICBbQ0VSZWFjdGlvbnM9Tm90TmVlZGVkXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHByZWxvYWQ7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVGltZVJhbmdlcyBi
dWZmZXJlZDsKLSAgICB1bmRlZmluZWQgbG9hZCgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5kZWZpbmVkIGxvYWQoKTsKIAogICAgIERPTVN0cmluZyBjYW5QbGF5VHlwZShET01TdHJpbmcg
dHlwZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmlu
ZGV4IDU4NzgyYmNhMjhiYTI3ZDk1ZjQxZDlhZGRjMzdjOTQ4ZTI1NTdjOWYuLjU4ZDQyZWNlNDEy
NmQ5YzZiMzQxODgwYzBkYTcwMzNhNDkwY2UwNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtMjc2LDcgKzI3Niw3IEBAIHZvaWQgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6cmVtb3ZlQmVoYXZpb3JSZXN0cmljdGlvbihCZWhhdmlvclJlc3RyaWN0aW9u
cyByZXN0cmljCiAgICAgbV9yZXN0cmljdGlvbnMgJj0gfnJlc3RyaWN0aW9uOwogfQogCi1TdWNj
ZXNzT3I8TWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbj4gTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxh
eWJhY2tQZXJtaXR0ZWQoKSBjb25zdAorU3VjY2Vzc09yPE1lZGlhUGxheWJhY2tEZW5pYWxSZWFz
b24+IE1lZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrUGVybWl0dGVkKE1lZGlhUGxheWJhY2tP
cGVyYXRpb24gb3BlcmF0aW9uKSBjb25zdAogewogICAgIGlmIChtX2VsZW1lbnQuaXNTdXNwZW5k
ZWQoKSkgewogICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJSZXR1cm5pbmcgRkFM
U0UgYmVjYXVzZSBlbGVtZW50IGlzIHN1c3BlbmRlZCIpOwpAQCAtMzE3LDcgKzMxNyw3IEBAIFN1
Y2Nlc3NPcjxNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uPiBNZWRpYUVsZW1lbnRTZXNzaW9uOjpw
bGF5YmFja1Blcm1pdHRlZCgpIGNvCiAgICAgY29uc3QgYXV0byYgdG9wRG9jdW1lbnQgPSBkb2N1
bWVudC50b3BEb2N1bWVudCgpOwogICAgIGlmICh0b3BEb2N1bWVudC5xdWlya3MoKS5yZXF1aXJl
c1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZSgpCiAgICAgICAgICYmIG1fZWxl
bWVudC5mdWxsc2NyZWVuTW9kZSgpICYgSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZQotICAgICAgICAmJiAhbV9lbGVtZW50LnBhdXNlZCgp
CisgICAgICAgICYmICFtX2VsZW1lbnQucGF1c2VkKCkgJiYgb3BlcmF0aW9uID09IE1lZGlhUGxh
eWJhY2tPcGVyYXRpb246OlBhdXNlCiAgICAgICAgICYmICFkb2N1bWVudC5wcm9jZXNzaW5nVXNl
ckdlc3R1cmVGb3JNZWRpYSgpKSB7CiAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwg
IlJldHVybmluZyBGQUxTRSBiZWNhdXNlIGEgcXVpcmsgcmVxdWlyZXMgYSB1c2VyIGdlc3R1cmUg
dG8gcGF1c2Ugd2hpbGUgaW4gUGljdHVyZS1pbi1QaWN0dXJlIik7CiAgICAgICAgIHJldHVybiBN
ZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uOjpVc2VyR2VzdHVyZVJlcXVpcmVkOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCBjMTY4YzYwMjNiMzk2ZDFjMzU3
NjU4MThmNTVjYTFhYmQzYmE0YzU4Li42MDNhOTIwZmYxYWM4MjIxYzNjYWJlOTg5ZGUwZmE4ZjRk
NWI1Y2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAt
NDIsNiArNDIsMTIgQEAgZW51bSBjbGFzcyBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBvc2Ug
ewogICAgIEF1dG9wbGF5CiB9OwogCitlbnVtIGNsYXNzIE1lZGlhUGxheWJhY2tPcGVyYXRpb24g
eworICAgIEdlbmVyYWwsCisgICAgUGxheSwKKyAgICBQYXVzZQorfTsKKwogZW51bSBjbGFzcyBN
ZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uIHsKICAgICBVc2VyR2VzdHVyZVJlcXVpcmVkLAogICAg
IEZ1bGxzY3JlZW5SZXF1aXJlZCwKQEAgLTcxLDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZvaWQg
aXNWaXNpYmxlSW5WaWV3cG9ydENoYW5nZWQoKTsKICAgICB2b2lkIGluQWN0aXZlRG9jdW1lbnRD
aGFuZ2VkKCk7CiAKLSAgICBTdWNjZXNzT3I8TWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbj4gcGxh
eWJhY2tQZXJtaXR0ZWQoKSBjb25zdDsKKyAgICBTdWNjZXNzT3I8TWVkaWFQbGF5YmFja0Rlbmlh
bFJlYXNvbj4gcGxheWJhY2tQZXJtaXR0ZWQoTWVkaWFQbGF5YmFja09wZXJhdGlvbiA9IE1lZGlh
UGxheWJhY2tPcGVyYXRpb246OkdlbmVyYWwpIGNvbnN0OwogICAgIGJvb2wgYXV0b3BsYXlQZXJt
aXR0ZWQoKSBjb25zdDsKICAgICBib29sIGRhdGFMb2FkaW5nUGVybWl0dGVkKCkgY29uc3Q7CiAg
ICAgTWVkaWFQbGF5ZXI6OkJ1ZmZlcmluZ1BvbGljeSBwcmVmZXJyZWRCdWZmZXJpbmdQb2xpY3ko
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAppbmRleCBlMWViOWU4NzFmNjRiZDEwZTllMjgx
YjZlYThkNGRmMWNjNWExZDU2Li41NGM2MGNmOTc2MmY4MDVkZjY5ZDI3Y2ZjYmM3MTY0MjU4NTZk
YjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwCkBAIC0xMjY1LDE2ICsxMjY1LDQwIEBAIGJvb2wg
UXVpcmtzOjpuZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tncm91bmRRdWlyaygpIGNvbnN0CiAKIGJv
b2wgUXVpcmtzOjpyZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZSgp
IGNvbnN0CiB7Ci0gICAgLy8gRmFjZWJvb2sgd2lsbCBuYWl2ZWx5IHBhdXNlIGEgPHZpZGVvPiBl
bGVtZW50IHRoYXQgaGFzIHNjcm9sbGVkIG91dCBvZiB0aGUgdmlld3BvcnQsIHJlZ2FyZGxlc3Mg
b2Ygd2hldGhlciB0aGF0IGVsZW1lbnQgaXMgY3VycmVudGx5IGluIFBpUCBtb2RlLgorI2lmIEVO
QUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKKyAgICAvLyBGYWNlYm9vayBhbmQgdHdpdHRl
ciB3aWxsIG5haXZlbHkgcGF1c2UgYSA8dmlkZW8+IGVsZW1lbnQgdGhhdCBoYXMgc2Nyb2xsZWQg
b3V0IG9mIHRoZSB2aWV3cG9ydCwKKyAgICAvLyByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhhdCBl
bGVtZW50IGlzIGN1cnJlbnRseSBpbiBQaVAgbW9kZS4KICAgICBpZiAoIW5lZWRzUXVpcmtzKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICghbV9yZXF1aXJlc1VzZXJHZXN0dXJl
VG9QYXVzZUluUGljdHVyZUluUGljdHVyZSkgewogICAgICAgICBhdXRvIGRvbWFpbiA9IFJlZ2lz
dHJhYmxlRG9tYWluKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkpOwotICAgICAgICBt
X3JlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlID0gZG9tYWluLnN0
cmluZygpID09ICJmYWNlYm9vay5jb20iX3M7CisgICAgICAgIG1fcmVxdWlyZXNVc2VyR2VzdHVy
ZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUgPSBkb21haW4uc3RyaW5nKCkgPT0gImZhY2Vib29r
LmNvbSJfcyB8fCBkb21haW4uc3RyaW5nKCkgPT0gInR3aXR0ZXIuY29tIl9zOwogICAgIH0KIAog
ICAgIHJldHVybiAqbV9yZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVy
ZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgUXVpcmtzOjpy
ZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5QaWN0dXJlSW5QaWN0dXJlKCkgY29uc3QKK3sKKyNp
ZiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCisgICAgLy8gVHdpdHRlciB3aWxsIHJl
bW92ZSB0aGUgInNyYyIgYXR0cmlidXRlIG9mIGEgPHZpZGVvPiBlbGVtZW50IHRoYXQgaGFzIHNj
cm9sbGVkIG91dCBvZiB0aGUgdmlld3BvcnQgYW5kCisgICAgLy8gbG9hZCB0aGUgPHZpZGVvPiBl
bGVtZW50IHdpdGggYW4gZW1wdHkgInNyYyIgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoYXQgZWxl
bWVudCBpcyBjdXJyZW50bHkgaW4gUGlQIG1vZGUuCisgICAgaWYgKCFuZWVkc1F1aXJrcygpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIW1fcmVxdWlyZXNVc2VyR2VzdHVyZVRv
TG9hZEluUGljdHVyZUluUGljdHVyZSkgeworICAgICAgICBhdXRvIGRvbWFpbiA9IFJlZ2lzdHJh
YmxlRG9tYWluKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJsKCkpOworICAgICAgICBtX3Jl
cXVpcmVzVXNlckdlc3R1cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmUgPSBkb21haW4uc3RyaW5n
KCkgPT0gInR3aXR0ZXIuY29tIl9zOworICAgIH0KKworICAgIHJldHVybiAqbV9yZXF1aXJlc1Vz
ZXJHZXN0dXJlVG9Mb2FkSW5QaWN0dXJlSW5QaWN0dXJlOworI2Vsc2UKKyAgICByZXR1cm4gZmFs
c2U7CisjZW5kaWYKIH0KIAogYm9vbCBRdWlya3M6OmJsb2Nrc1JldHVyblRvRnVsbHNjcmVlbkZy
b21QaWN0dXJlSW5QaWN0dXJlUXVpcmsoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9RdWlya3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKaW5kZXggNGZm
NGJhNDc4NzVkNWU3MjQ3N2NiZTAxNzYzNGI1YzIzZDc1MmEwZi4uZmVkMjQ1MGM1NzhkMjFlZDgw
YTE5ZjE3ODg0NmNjOWEwNjU2YmU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9R
dWlya3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCkBAIC0xMjgsNiArMTI4
LDcgQEAgcHVibGljOgogICAgIGJvb2wgbmVlZHNCbGFja0Z1bGxzY3JlZW5CYWNrZ3JvdW5kUXVp
cmsoKSBjb25zdDsKIAogICAgIGJvb2wgcmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1
cmVJblBpY3R1cmUoKSBjb25zdDsKKyAgICBib29sIHJlcXVpcmVzVXNlckdlc3R1cmVUb0xvYWRJ
blBpY3R1cmVJblBpY3R1cmUoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgYmxv
Y2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaygpIGNvbnN0Owog
ICAgIGJvb2wgc2hvdWxkRGlzYWJsZUVuZEZ1bGxzY3JlZW5FdmVudFdoZW5FbnRlcmluZ1BpY3R1
cmVJblBpY3R1cmVGcm9tRnVsbHNjcmVlblF1aXJrKCkgY29uc3Q7CkBAIC0xNzMsNiArMTc0LDcg
QEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fbmVlZHNIRFJQaXhlbERl
cHRoUXVpcms7CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX25lZWRzQmxhY2tGdWxsc2Ny
ZWVuQmFja2dyb3VuZFF1aXJrOwogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9yZXF1aXJl
c1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZTsKKyAgICBtdXRhYmxlIE9wdGlv
bmFsPGJvb2w+IG1fcmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZEluUGljdHVyZUluUGljdHVyZTsK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9z
aG91bGRFbmFibGVMZWdhY3lHZXRVc2VyTWVkaWFRdWlyazsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418215</attachid>
            <date>2021-01-22 22:58:23 -0800</date>
            <delta_ts>2021-01-22 23:32:58 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-220887-20210122225823.patch</filename>
            <type>text/plain</type>
            <size>9682</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU2MTdiNmZkOWQ1NTY5
NzA5YTY4NzM2NWE0YjgwZGY5MTdhN2FjMi4uNDc1NDA2ZWFmMDViZTUyZDhjZDAyNmRlMmVmZDQ5
NTcxZTM3NTc3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTIyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgVHdpdHRlciBQaVAgdmlkZW8g
cGF1c2VzIHdoZW4gc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA4ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnBhdXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN1
c3BlbmRQbGF5YmFjayk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6
cGxheWJhY2tQZXJtaXR0ZWQgY29uc3QpOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5oOgorICAgICAgICAqIHBhZ2UvUXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlF1
aXJrczo6cmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpyZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5Q
aWN0dXJlSW5QaWN0dXJlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1aXJrcy5oOgorCiAyMDIx
LTAxLTIxICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXBw
bGUgUGF5XSB1c2UgdGhlIGZpcnN0IGl0ZW0gaW4gYHNoaXBwaW5nT3B0aW9uc2AgZXZlbiB3aGVu
IGl0J3Mgbm90IGBzZWxlY3RlZGAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwCmluZGV4IDk0ZmU0ZjJiYTM0Yzk4YTZhMDViZWFmMzVkYTc1YmMxOWExYTJmZTYuLjkwZmIz
YTZkMWE5ZjAwY2Q2YTE5ODI0ZjBmOTk2NTBhNWRkMTEwOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTA2OCwxNiArMTA2OCwyMCBAQCBkb3VibGUgSFRN
TE1lZGlhRWxlbWVudDo6Z2V0U3RhcnREYXRlKCkgY29uc3QKICAgICByZXR1cm4gbV9wbGF5ZXIt
PmdldFN0YXJ0RGF0ZSgpLnRvRG91YmxlKCk7CiB9CiAKLXZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
bG9hZCgpCitFeGNlcHRpb25Pcjx2b2lkPiBIVE1MTWVkaWFFbGVtZW50Ojpsb2FkKCkKIHsKICAg
ICBSZWY8SFRNTE1lZGlhRWxlbWVudD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIHByZXBhcmVG
b3JMb2FkIG1heSByZXN1bHQgaW4gYSAnYmVmb3JlbG9hZCcgZXZlbnQsIHdoaWNoIGNhbiBtYWtl
IGFyYml0cmFyeSBET00gbXV0YXRpb25zLgogCiAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUik7
CiAKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlID09IFZpZGVvRnVsbHNjcmVlbk1vZGVQ
aWN0dXJlSW5QaWN0dXJlICYmIGRvY3VtZW50KCkucXVpcmtzKCkucmVxdWlyZXNVc2VyR2VzdHVy
ZVRvTG9hZEluUGljdHVyZUluUGljdHVyZSgpICYmICFkb2N1bWVudCgpLnByb2Nlc3NpbmdVc2Vy
R2VzdHVyZUZvck1lZGlhKCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb3RBbGxvd2Vk
RXJyb3IgfTsKKwogICAgIHByZXBhcmVGb3JMb2FkKCk7CiAgICAgbV9yZXNvdXJjZVNlbGVjdGlv
blRhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhpc10gewogICAgICAgICBwcmVwYXJlVG9QbGF5KCk7
CiAgICAgfSk7CisgICAgcmV0dXJuIHsgfTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpw
cmVwYXJlRm9yTG9hZCgpCkBAIC0zNDk3LDcgKzM1MDEsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnBhdXNlKCkKICAgICBpZiAobV93YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4pCiAgICAgICAg
IG1fd2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVuID0gZmFsc2U7CiAKLSAgICBpZiAoIW1fbWVkaWFT
ZXNzaW9uLT5wbGF5YmFja1Blcm1pdHRlZCgpKQorICAgIGlmICghbV9tZWRpYVNlc3Npb24tPnBs
YXliYWNrUGVybWl0dGVkKE1lZGlhUGxheWJhY2tPcGVyYXRpb246OlBhdXNlKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKHByb2Nlc3NpbmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpCkBAIC0z
NTA2LDcgKzM1MTAsNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlKCkKICAgICBwYXVz
ZUludGVybmFsKCk7CiB9CiAKLQogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpwYXVzZUludGVybmFs
KCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwpAQCAtNzQ0Niw3ICs3NDQ5LDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdXNwZW5kUGxheWJhY2soKQogewogICAgIEFMV0FZ
U19MT0coTE9HSURFTlRJRklFUiwgInBhdXNlZCA9ICIsIHBhdXNlZCgpKTsKICAgICBpZiAoIXBh
dXNlZCgpKQotICAgICAgICBwYXVzZSgpOworICAgICAgICBwYXVzZUludGVybmFsKCk7CiB9CiAK
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cmVzdW1lQXV0b3BsYXlpbmcoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBjN2JlNzA2ZGRmZDcyOGY1ZjUyN2VlZGM0NWE0
NWZhNGQ4NzMwY2ViLi43NzlkNTZkOWFiZjY3ODlkMDQ1YjA0ZTIzNDQyZjFmN2VjNzYwZGExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtMjE5LDcgKzIxOSw3IEBA
IHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFByZWxvYWQoY29uc3QgU3RyaW5n
Jik7CiAKICAgICBSZWY8VGltZVJhbmdlcz4gYnVmZmVyZWQoKSBjb25zdCBvdmVycmlkZTsKLSAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGxvYWQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRp
b25Pcjx2b2lkPiBsb2FkKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNhblBsYXlUeXBl
KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0OwogCiAvLyByZWFkeSBzdGF0ZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKaW5kZXggNmVhN2EwODU4ODZhZjQ2ZWRh
NTAyMDBhOTQ0NzY0YTI1MjMyZTU1Yy4uNmQ0NThlZWNkMGNmOWRmNzEwMjFjMzBiNGY3Y2ZjNGM3
MDhjNGQ1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCkBAIC01
OCw3ICs1OCw3IEBAIHR5cGVkZWYgKAogICAgIFtDRVJlYWN0aW9ucz1Ob3ROZWVkZWRdIGF0dHJp
YnV0ZSBET01TdHJpbmcgcHJlbG9hZDsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUaW1lUmFu
Z2VzIGJ1ZmZlcmVkOwotICAgIHVuZGVmaW5lZCBsb2FkKCk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgbG9hZCgpOwogCiAgICAgRE9NU3RyaW5nIGNhblBsYXlUeXBlKERPTVN0
cmluZyB0eXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAKaW5kZXggNTg3ODJiY2EyOGJhMjdkOTVmNDFkOWFkZGMzN2M5NDhlMjU1N2M5Zi4uNThkNDJl
Y2U0MTI2ZDljNmIzNDE4ODBjMGRhNzAzM2E0OTBjZTA1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC0yNzYsNyArMjc2LDcgQEAgdm9pZCBNZWRp
YUVsZW1lbnRTZXNzaW9uOjpyZW1vdmVCZWhhdmlvclJlc3RyaWN0aW9uKEJlaGF2aW9yUmVzdHJp
Y3Rpb25zIHJlc3RyaWMKICAgICBtX3Jlc3RyaWN0aW9ucyAmPSB+cmVzdHJpY3Rpb247CiB9CiAK
LVN1Y2Nlc3NPcjxNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uPiBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpwbGF5YmFja1Blcm1pdHRlZCgpIGNvbnN0CitTdWNjZXNzT3I8TWVkaWFQbGF5YmFja0Rlbmlh
bFJlYXNvbj4gTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQoTWVkaWFQbGF5
YmFja09wZXJhdGlvbiBvcGVyYXRpb24pIGNvbnN0CiB7CiAgICAgaWYgKG1fZWxlbWVudC5pc1N1
c3BlbmRlZCgpKSB7CiAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIlJldHVybmlu
ZyBGQUxTRSBiZWNhdXNlIGVsZW1lbnQgaXMgc3VzcGVuZGVkIik7CkBAIC0zMTcsNyArMzE3LDcg
QEAgU3VjY2Vzc09yPE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb24+IE1lZGlhRWxlbWVudFNlc3Np
b246OnBsYXliYWNrUGVybWl0dGVkKCkgY28KICAgICBjb25zdCBhdXRvJiB0b3BEb2N1bWVudCA9
IGRvY3VtZW50LnRvcERvY3VtZW50KCk7CiAgICAgaWYgKHRvcERvY3VtZW50LnF1aXJrcygpLnJl
cXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlKCkKICAgICAgICAgJiYg
bV9lbGVtZW50LmZ1bGxzY3JlZW5Nb2RlKCkgJiBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVv
RnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlCi0gICAgICAgICYmICFtX2VsZW1lbnQucGF1
c2VkKCkKKyAgICAgICAgJiYgIW1fZWxlbWVudC5wYXVzZWQoKSAmJiBvcGVyYXRpb24gPT0gTWVk
aWFQbGF5YmFja09wZXJhdGlvbjo6UGF1c2UKICAgICAgICAgJiYgIWRvY3VtZW50LnByb2Nlc3Np
bmdVc2VyR2VzdHVyZUZvck1lZGlhKCkpIHsKICAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElG
SUVSLCAiUmV0dXJuaW5nIEZBTFNFIGJlY2F1c2UgYSBxdWlyayByZXF1aXJlcyBhIHVzZXIgZ2Vz
dHVyZSB0byBwYXVzZSB3aGlsZSBpbiBQaWN0dXJlLWluLVBpY3R1cmUiKTsKICAgICAgICAgcmV0
dXJuIE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb246OlVzZXJHZXN0dXJlUmVxdWlyZWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCmluZGV4IGMxNjhjNjAyM2IzOTZk
MWMzNTc2NTgxOGY1NWNhMWFiZDNiYTRjNTguLjYwM2E5MjBmZjFhYzgyMjFjM2NhYmU5ODlkZTBm
YThmNGQ1YjVjYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50
U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5o
CkBAIC00Miw2ICs0MiwxMiBAQCBlbnVtIGNsYXNzIE1lZGlhU2Vzc2lvbk1haW5Db250ZW50UHVy
cG9zZSB7CiAgICAgQXV0b3BsYXkKIH07CiAKK2VudW0gY2xhc3MgTWVkaWFQbGF5YmFja09wZXJh
dGlvbiB7CisgICAgR2VuZXJhbCwKKyAgICBQbGF5LAorICAgIFBhdXNlCit9OworCiBlbnVtIGNs
YXNzIE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb24gewogICAgIFVzZXJHZXN0dXJlUmVxdWlyZWQs
CiAgICAgRnVsbHNjcmVlblJlcXVpcmVkLApAQCAtNzEsNyArNzcsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBpc1Zpc2libGVJblZpZXdwb3J0Q2hhbmdlZCgpOwogICAgIHZvaWQgaW5BY3RpdmVEb2N1
bWVudENoYW5nZWQoKTsKIAotICAgIFN1Y2Nlc3NPcjxNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29u
PiBwbGF5YmFja1Blcm1pdHRlZCgpIGNvbnN0OworICAgIFN1Y2Nlc3NPcjxNZWRpYVBsYXliYWNr
RGVuaWFsUmVhc29uPiBwbGF5YmFja1Blcm1pdHRlZChNZWRpYVBsYXliYWNrT3BlcmF0aW9uID0g
TWVkaWFQbGF5YmFja09wZXJhdGlvbjo6R2VuZXJhbCkgY29uc3Q7CiAgICAgYm9vbCBhdXRvcGxh
eVBlcm1pdHRlZCgpIGNvbnN0OwogICAgIGJvb2wgZGF0YUxvYWRpbmdQZXJtaXR0ZWQoKSBjb25z
dDsKICAgICBNZWRpYVBsYXllcjo6QnVmZmVyaW5nUG9saWN5IHByZWZlcnJlZEJ1ZmZlcmluZ1Bv
bGljeSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwCmluZGV4IGUxZWI5ZTg3MWY2NGJkMTBl
OWUyODFiNmVhOGQ0ZGYxY2M1YTFkNTYuLjU0YzYwY2Y5NzYyZjgwNWRmNjlkMjdjZmNiYzcxNjQy
NTg1NmRiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKQEAgLTEyNjUsMTYgKzEyNjUsNDAgQEAg
Ym9vbCBRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrKCkgY29uc3QK
IAogYm9vbCBRdWlya3M6OnJlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0
dXJlKCkgY29uc3QKIHsKLSAgICAvLyBGYWNlYm9vayB3aWxsIG5haXZlbHkgcGF1c2UgYSA8dmlk
ZW8+IGVsZW1lbnQgdGhhdCBoYXMgc2Nyb2xsZWQgb3V0IG9mIHRoZSB2aWV3cG9ydCwgcmVnYXJk
bGVzcyBvZiB3aGV0aGVyIHRoYXQgZWxlbWVudCBpcyBjdXJyZW50bHkgaW4gUGlQIG1vZGUuCisj
aWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQorICAgIC8vIEZhY2Vib29rIGFuZCB0
d2l0dGVyIHdpbGwgbmFpdmVseSBwYXVzZSBhIDx2aWRlbz4gZWxlbWVudCB0aGF0IGhhcyBzY3Jv
bGxlZCBvdXQgb2YgdGhlIHZpZXdwb3J0LAorICAgIC8vIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0
aGF0IGVsZW1lbnQgaXMgY3VycmVudGx5IGluIFBpUCBtb2RlLgogICAgIGlmICghbmVlZHNRdWly
a3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKCFtX3JlcXVpcmVzVXNlckdl
c3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlKSB7CiAgICAgICAgIGF1dG8gZG9tYWluID0g
UmVnaXN0cmFibGVEb21haW4obV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKSk7Ci0gICAg
ICAgIG1fcmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUgPSBkb21h
aW4uc3RyaW5nKCkgPT0gImZhY2Vib29rLmNvbSJfczsKKyAgICAgICAgbV9yZXF1aXJlc1VzZXJH
ZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZSA9IGRvbWFpbi5zdHJpbmcoKSA9PSAiZmFj
ZWJvb2suY29tIl9zIHx8IGRvbWFpbi5zdHJpbmcoKSA9PSAidHdpdHRlci5jb20iX3M7CiAgICAg
fQogCiAgICAgcmV0dXJuICptX3JlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5Q
aWN0dXJlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCBRdWly
a3M6OnJlcXVpcmVzVXNlckdlc3R1cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmUoKSBjb25zdAor
eworI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKKyAgICAvLyBUd2l0dGVyIHdp
bGwgcmVtb3ZlIHRoZSAic3JjIiBhdHRyaWJ1dGUgb2YgYSA8dmlkZW8+IGVsZW1lbnQgdGhhdCBo
YXMgc2Nyb2xsZWQgb3V0IG9mIHRoZSB2aWV3cG9ydCBhbmQKKyAgICAvLyBsb2FkIHRoZSA8dmlk
ZW8+IGVsZW1lbnQgd2l0aCBhbiBlbXB0eSAic3JjIiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhh
dCBlbGVtZW50IGlzIGN1cnJlbnRseSBpbiBQaVAgbW9kZS4KKyAgICBpZiAoIW5lZWRzUXVpcmtz
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbV9yZXF1aXJlc1VzZXJHZXN0
dXJlVG9Mb2FkSW5QaWN0dXJlSW5QaWN0dXJlKSB7CisgICAgICAgIGF1dG8gZG9tYWluID0gUmVn
aXN0cmFibGVEb21haW4obV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKSk7CisgICAgICAg
IG1fcmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZEluUGljdHVyZUluUGljdHVyZSA9IGRvbWFpbi5z
dHJpbmcoKSA9PSAidHdpdHRlci5jb20iX3M7CisgICAgfQorCisgICAgcmV0dXJuICptX3JlcXVp
cmVzVXNlckdlc3R1cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmU7CisjZWxzZQorICAgIHJldHVy
biBmYWxzZTsKKyNlbmRpZgogfQogCiBib29sIFF1aXJrczo6YmxvY2tzUmV0dXJuVG9GdWxsc2Ny
ZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1F1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaAppbmRl
eCA0ZmY0YmE0Nzg3NWQ1ZTcyNDc3Y2JlMDE3NjM0YjVjMjNkNzUyYTBmLi5mZWQyNDUwYzU3OGQy
MWVkODBhMTlmMTc4ODQ2Y2M5YTA2NTZiZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1F1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKQEAgLTEyOCw2
ICsxMjgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBuZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tncm91
bmRRdWlyaygpIGNvbnN0OwogCiAgICAgYm9vbCByZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUlu
UGljdHVyZUluUGljdHVyZSgpIGNvbnN0OworICAgIGJvb2wgcmVxdWlyZXNVc2VyR2VzdHVyZVRv
TG9hZEluUGljdHVyZUluUGljdHVyZSgpIGNvbnN0OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgYm9v
bCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKCkgY29u
c3Q7CiAgICAgYm9vbCBzaG91bGREaXNhYmxlRW5kRnVsbHNjcmVlbkV2ZW50V2hlbkVudGVyaW5n
UGljdHVyZUluUGljdHVyZUZyb21GdWxsc2NyZWVuUXVpcmsoKSBjb25zdDsKQEAgLTE3Myw2ICsx
NzQsNyBAQCBwcml2YXRlOgogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9uZWVkc0hEUlBp
eGVsRGVwdGhRdWlyazsKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fbmVlZHNCbGFja0Z1
bGxzY3JlZW5CYWNrZ3JvdW5kUXVpcms7CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX3Jl
cXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlOworICAgIG11dGFibGUg
T3B0aW9uYWw8Ym9vbD4gbV9yZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5QaWN0dXJlSW5QaWN0
dXJlOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29s
PiBtX3Nob3VsZEVuYWJsZUxlZ2FjeUdldFVzZXJNZWRpYVF1aXJrOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418218</attachid>
            <date>2021-01-22 23:33:00 -0800</date>
            <delta_ts>2021-01-25 11:02:00 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-220887-20210122233300.patch</filename>
            <type>text/plain</type>
            <size>8092</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU2MTdiNmZkOWQ1NTY5
NzA5YTY4NzM2NWE0YjgwZGY5MTdhN2FjMi4uZjg2NjMwZjI5NmJlNTMwOTdiYzE0ODFmNmI3N2Nl
MWQ5YjMzZTc0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAxLTIyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgVHdpdHRlciBQaVAgdmlkZW8g
cGF1c2VzIHdoZW4gc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA4ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnBhdXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN1
c3BlbmRQbGF5YmFjayk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrUGVybWl0dGVk
IGNvbnN0KToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uaDoKKyAgICAgICAg
KiBwYWdlL1F1aXJrcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnJlcXVpcmVzVXNl
ckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlF1aXJrczo6cmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZEluUGljdHVyZUluUGljdHVyZSBj
b25zdCk6CisgICAgICAgICogcGFnZS9RdWlya3MuaDoKKwogMjAyMS0wMS0yMSAgRGV2aW4gUm91
c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgW0FwcGxlIFBheV0gdXNlIHRoZSBm
aXJzdCBpdGVtIGluIGBzaGlwcGluZ09wdGlvbnNgIGV2ZW4gd2hlbiBpdCdzIG5vdCBgc2VsZWN0
ZWRgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA5NGZlNGYy
YmEzNGM5OGE2YTA1YmVhZjM1ZGE3NWJjMTlhMWEyZmU2Li42MThhMDdlY2M2YjRjOGUzOTFjZjhh
ODRhNmQ1Y2YyYzRkY2I0OWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKQEAgLTEwNzQsNiArMTA3NCw5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZCgp
CiAKICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSKTsKIAorICAgIGlmIChtX3ZpZGVvRnVsbHNj
cmVlbk1vZGUgPT0gVmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUgJiYgZG9jdW1l
bnQoKS5xdWlya3MoKS5yZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5QaWN0dXJlSW5QaWN0dXJl
KCkgJiYgIWRvY3VtZW50KCkucHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkKKyAgICAg
ICAgcmV0dXJuOworCiAgICAgcHJlcGFyZUZvckxvYWQoKTsKICAgICBtX3Jlc291cmNlU2VsZWN0
aW9uVGFza1F1ZXVlLmVucXVldWVUYXNrKFt0aGlzXSB7CiAgICAgICAgIHByZXBhcmVUb1BsYXko
KTsKQEAgLTM0OTcsNyArMzUwMCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2UoKQog
ICAgIGlmIChtX3dhaXRpbmdUb0VudGVyRnVsbHNjcmVlbikKICAgICAgICAgbV93YWl0aW5nVG9F
bnRlckZ1bGxzY3JlZW4gPSBmYWxzZTsKIAotICAgIGlmICghbV9tZWRpYVNlc3Npb24tPnBsYXli
YWNrUGVybWl0dGVkKCkpCisgICAgaWYgKCFtX21lZGlhU2Vzc2lvbi0+cGxheWJhY2tQZXJtaXR0
ZWQoTWVkaWFQbGF5YmFja09wZXJhdGlvbjo6UGF1c2UpKQogICAgICAgICByZXR1cm47CiAKICAg
ICBpZiAocHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkKQEAgLTM1MDYsNyArMzUwOSw2
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1c2UoKQogICAgIHBhdXNlSW50ZXJuYWwoKTsK
IH0KIAotCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlSW50ZXJuYWwoKQogewogICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUik7CkBAIC03NDQ2LDcgKzc0NDgsNyBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnN1c3BlbmRQbGF5YmFjaygpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVO
VElGSUVSLCAicGF1c2VkID0gIiwgcGF1c2VkKCkpOwogICAgIGlmICghcGF1c2VkKCkpCi0gICAg
ICAgIHBhdXNlKCk7CisgICAgICAgIHBhdXNlSW50ZXJuYWwoKTsKIH0KIAogdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpyZXN1bWVBdXRvcGxheWluZygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA1ODc4MmJjYTI4YmEyN2Q5NWY0MWQ5YWRkYzM3Yzk0
OGUyNTU3YzlmLi41OGQ0MmVjZTQxMjZkOWM2YjM0MTg4MGMwZGE3MDMzYTQ5MGNlMDVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTI3Niw3ICsy
NzYsNyBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnJlbW92ZUJlaGF2aW9yUmVzdHJpY3Rp
b24oQmVoYXZpb3JSZXN0cmljdGlvbnMgcmVzdHJpYwogICAgIG1fcmVzdHJpY3Rpb25zICY9IH5y
ZXN0cmljdGlvbjsKIH0KIAotU3VjY2Vzc09yPE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb24+IE1l
ZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrUGVybWl0dGVkKCkgY29uc3QKK1N1Y2Nlc3NPcjxN
ZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uPiBNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1Bl
cm1pdHRlZChNZWRpYVBsYXliYWNrT3BlcmF0aW9uIG9wZXJhdGlvbikgY29uc3QKIHsKICAgICBp
ZiAobV9lbGVtZW50LmlzU3VzcGVuZGVkKCkpIHsKICAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVO
VElGSUVSLCAiUmV0dXJuaW5nIEZBTFNFIGJlY2F1c2UgZWxlbWVudCBpcyBzdXNwZW5kZWQiKTsK
QEAgLTMxNyw3ICszMTcsNyBAQCBTdWNjZXNzT3I8TWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbj4g
TWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQoKSBjbwogICAgIGNvbnN0IGF1
dG8mIHRvcERvY3VtZW50ID0gZG9jdW1lbnQudG9wRG9jdW1lbnQoKTsKICAgICBpZiAodG9wRG9j
dW1lbnQucXVpcmtzKCkucmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1
cmUoKQogICAgICAgICAmJiBtX2VsZW1lbnQuZnVsbHNjcmVlbk1vZGUoKSAmIEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUKLSAgICAgICAg
JiYgIW1fZWxlbWVudC5wYXVzZWQoKQorICAgICAgICAmJiAhbV9lbGVtZW50LnBhdXNlZCgpICYm
IG9wZXJhdGlvbiA9PSBNZWRpYVBsYXliYWNrT3BlcmF0aW9uOjpQYXVzZQogICAgICAgICAmJiAh
ZG9jdW1lbnQucHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEoKSkgewogICAgICAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsICJSZXR1cm5pbmcgRkFMU0UgYmVjYXVzZSBhIHF1aXJrIHJl
cXVpcmVzIGEgdXNlciBnZXN0dXJlIHRvIHBhdXNlIHdoaWxlIGluIFBpY3R1cmUtaW4tUGljdHVy
ZSIpOwogICAgICAgICByZXR1cm4gTWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbjo6VXNlckdlc3R1
cmVSZXF1aXJlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50
U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5k
ZXggYzE2OGM2MDIzYjM5NmQxYzM1NzY1ODE4ZjU1Y2ExYWJkM2JhNGM1OC4uNGFlZjE3NWEwNzM4
NTcyZTE3NmM4ZTczMmVkNjkwM2I1NjI2MzkyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmgKQEAgLTQyLDYgKzQyLDExIEBAIGVudW0gY2xhc3MgTWVkaWFTZXNz
aW9uTWFpbkNvbnRlbnRQdXJwb3NlIHsKICAgICBBdXRvcGxheQogfTsKIAorZW51bSBjbGFzcyBN
ZWRpYVBsYXliYWNrT3BlcmF0aW9uIHsKKyAgICBHZW5lcmFsLAorICAgIFBhdXNlCit9OworCiBl
bnVtIGNsYXNzIE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb24gewogICAgIFVzZXJHZXN0dXJlUmVx
dWlyZWQsCiAgICAgRnVsbHNjcmVlblJlcXVpcmVkLApAQCAtNzEsNyArNzYsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBpc1Zpc2libGVJblZpZXdwb3J0Q2hhbmdlZCgpOwogICAgIHZvaWQgaW5BY3Rp
dmVEb2N1bWVudENoYW5nZWQoKTsKIAotICAgIFN1Y2Nlc3NPcjxNZWRpYVBsYXliYWNrRGVuaWFs
UmVhc29uPiBwbGF5YmFja1Blcm1pdHRlZCgpIGNvbnN0OworICAgIFN1Y2Nlc3NPcjxNZWRpYVBs
YXliYWNrRGVuaWFsUmVhc29uPiBwbGF5YmFja1Blcm1pdHRlZChNZWRpYVBsYXliYWNrT3BlcmF0
aW9uID0gTWVkaWFQbGF5YmFja09wZXJhdGlvbjo6R2VuZXJhbCkgY29uc3Q7CiAgICAgYm9vbCBh
dXRvcGxheVBlcm1pdHRlZCgpIGNvbnN0OwogICAgIGJvb2wgZGF0YUxvYWRpbmdQZXJtaXR0ZWQo
KSBjb25zdDsKICAgICBNZWRpYVBsYXllcjo6QnVmZmVyaW5nUG9saWN5IHByZWZlcnJlZEJ1ZmZl
cmluZ1BvbGljeSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9RdWly
a3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwCmluZGV4IGUxZWI5ZTg3MWY2
NGJkMTBlOWUyODFiNmVhOGQ0ZGYxY2M1YTFkNTYuLjU0YzYwY2Y5NzYyZjgwNWRmNjlkMjdjZmNi
YzcxNjQyNTg1NmRiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKQEAgLTEyNjUsMTYgKzEyNjUs
NDAgQEAgYm9vbCBRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJrKCkg
Y29uc3QKIAogYm9vbCBRdWlya3M6OnJlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJl
SW5QaWN0dXJlKCkgY29uc3QKIHsKLSAgICAvLyBGYWNlYm9vayB3aWxsIG5haXZlbHkgcGF1c2Ug
YSA8dmlkZW8+IGVsZW1lbnQgdGhhdCBoYXMgc2Nyb2xsZWQgb3V0IG9mIHRoZSB2aWV3cG9ydCwg
cmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoYXQgZWxlbWVudCBpcyBjdXJyZW50bHkgaW4gUGlQIG1v
ZGUuCisjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQorICAgIC8vIEZhY2Vib29r
IGFuZCB0d2l0dGVyIHdpbGwgbmFpdmVseSBwYXVzZSBhIDx2aWRlbz4gZWxlbWVudCB0aGF0IGhh
cyBzY3JvbGxlZCBvdXQgb2YgdGhlIHZpZXdwb3J0LAorICAgIC8vIHJlZ2FyZGxlc3Mgb2Ygd2hl
dGhlciB0aGF0IGVsZW1lbnQgaXMgY3VycmVudGx5IGluIFBpUCBtb2RlLgogICAgIGlmICghbmVl
ZHNRdWlya3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKCFtX3JlcXVpcmVz
VXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlKSB7CiAgICAgICAgIGF1dG8gZG9t
YWluID0gUmVnaXN0cmFibGVEb21haW4obV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKSk7
Ci0gICAgICAgIG1fcmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUg
PSBkb21haW4uc3RyaW5nKCkgPT0gImZhY2Vib29rLmNvbSJfczsKKyAgICAgICAgbV9yZXF1aXJl
c1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZSA9IGRvbWFpbi5zdHJpbmcoKSA9
PSAiZmFjZWJvb2suY29tIl9zIHx8IGRvbWFpbi5zdHJpbmcoKSA9PSAidHdpdHRlci5jb20iX3M7
CiAgICAgfQogCiAgICAgcmV0dXJuICptX3JlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0
dXJlSW5QaWN0dXJlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9v
bCBRdWlya3M6OnJlcXVpcmVzVXNlckdlc3R1cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmUoKSBj
b25zdAoreworI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKKyAgICAvLyBUd2l0
dGVyIHdpbGwgcmVtb3ZlIHRoZSAic3JjIiBhdHRyaWJ1dGUgb2YgYSA8dmlkZW8+IGVsZW1lbnQg
dGhhdCBoYXMgc2Nyb2xsZWQgb3V0IG9mIHRoZSB2aWV3cG9ydCBhbmQKKyAgICAvLyBsb2FkIHRo
ZSA8dmlkZW8+IGVsZW1lbnQgd2l0aCBhbiBlbXB0eSAic3JjIiByZWdhcmRsZXNzIG9mIHdoZXRo
ZXIgdGhhdCBlbGVtZW50IGlzIGN1cnJlbnRseSBpbiBQaVAgbW9kZS4KKyAgICBpZiAoIW5lZWRz
UXVpcmtzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbV9yZXF1aXJlc1Vz
ZXJHZXN0dXJlVG9Mb2FkSW5QaWN0dXJlSW5QaWN0dXJlKSB7CisgICAgICAgIGF1dG8gZG9tYWlu
ID0gUmVnaXN0cmFibGVEb21haW4obV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKSk7Cisg
ICAgICAgIG1fcmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZEluUGljdHVyZUluUGljdHVyZSA9IGRv
bWFpbi5zdHJpbmcoKSA9PSAidHdpdHRlci5jb20iX3M7CisgICAgfQorCisgICAgcmV0dXJuICpt
X3JlcXVpcmVzVXNlckdlc3R1cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmU7CisjZWxzZQorICAg
IHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBib29sIFF1aXJrczo6YmxvY2tzUmV0dXJuVG9G
dWxsc2NyZWVuRnJvbVBpY3R1cmVJblBpY3R1cmVRdWlyaygpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3Mu
aAppbmRleCA0ZmY0YmE0Nzg3NWQ1ZTcyNDc3Y2JlMDE3NjM0YjVjMjNkNzUyYTBmLi5mZWQyNDUw
YzU3OGQyMWVkODBhMTlmMTc4ODQ2Y2M5YTA2NTZiZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1F1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKQEAg
LTEyOCw2ICsxMjgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBuZWVkc0JsYWNrRnVsbHNjcmVlbkJh
Y2tncm91bmRRdWlyaygpIGNvbnN0OwogCiAgICAgYm9vbCByZXF1aXJlc1VzZXJHZXN0dXJlVG9Q
YXVzZUluUGljdHVyZUluUGljdHVyZSgpIGNvbnN0OworICAgIGJvb2wgcmVxdWlyZXNVc2VyR2Vz
dHVyZVRvTG9hZEluUGljdHVyZUluUGljdHVyZSgpIGNvbnN0OwogCiAgICAgV0VCQ09SRV9FWFBP
UlQgYm9vbCBibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJr
KCkgY29uc3Q7CiAgICAgYm9vbCBzaG91bGREaXNhYmxlRW5kRnVsbHNjcmVlbkV2ZW50V2hlbkVu
dGVyaW5nUGljdHVyZUluUGljdHVyZUZyb21GdWxsc2NyZWVuUXVpcmsoKSBjb25zdDsKQEAgLTE3
Myw2ICsxNzQsNyBAQCBwcml2YXRlOgogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9uZWVk
c0hEUlBpeGVsRGVwdGhRdWlyazsKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fbmVlZHNC
bGFja0Z1bGxzY3JlZW5CYWNrZ3JvdW5kUXVpcms7CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29s
PiBtX3JlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlOworICAgIG11
dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9yZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5QaWN0dXJl
SW5QaWN0dXJlOwogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgbXV0YWJsZSBPcHRpb25h
bDxib29sPiBtX3Nob3VsZEVuYWJsZUxlZ2FjeUdldFVzZXJNZWRpYVF1aXJrOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418309</attachid>
            <date>2021-01-25 11:02:02 -0800</date>
            <delta_ts>2021-01-25 11:49:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220887-20210125110201.patch</filename>
            <type>text/plain</type>
            <size>9675</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU2MTdiNmZkOWQ1NTY5
NzA5YTY4NzM2NWE0YjgwZGY5MTdhN2FjMi4uMWZhN2U1MzEzYjBhOGU1YWI0NWQyNmNmODQ0NTZh
Mzg1MDkzZGIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTAxLTIyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgVHdpdHRlciBQaVAgdmlkZW8g
cGF1c2VzIHdoZW4gc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA4ODcKKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgdHdvIHF1aXJr
cyAocmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUgYW5kCisgICAg
ICAgIHJlcXVpcmVzVXNlckdlc3R1cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmUpIGZvciB0d2l0
dGVyLmNvbSwgc28gdGhhdCB3aGVuIHdlIHNjcm9sbAorICAgICAgICB0aGUgcGFnZSB3aGlsZSBh
IHZpZGVvIGlzIGluIHBpY3R1cmUtaW4tcGljdHVyZSwgdGhlIHZpZGVvIHdvbid0IHBhdXNlIG9y
IGNsb3NlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBmaXhlcyBhIHJhY2UgY29uZGl0aW9u
IHJlbGF0ZWQgdG8gZnVuY3Rpb24gTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0
ZWQoKQorICAgICAgICBieSBhZGRpbmcgYSBwYXJhbWV0ZXIgKE1lZGlhUGxheWJhY2tPcGVyYXRp
b24pIHRvIGl0LiBCZWNhdXNlIG9mIHRoZSByYWNlIGNvbmRpdGlvbiwgd2UKKyAgICAgICAgY2Fu
bm90IHJlc3VtZSBhIHBhdXNlZCB2aWRlbyBpbiBhIHBpY3R1cmUtaW4tcGljdHVyZSB3aW5kb3cg
b24gc29tZSBzaXRlcyAoZS5nLiwgdHdpdHRlci5jb20pLgorICAgICAgICBUaGF0IGhhcHBlbnMg
YmVjYXVzZSB3aGVuIHdlIGNsaWNrIHRoZSBwbGF5IGJ1dHRvbiBvbiB0aGUgcGljdHVyZS1pbi1w
aWN0dXJlIHdpbmRvdyB0byByZXN1bWUKKyAgICAgICAgYSB2aWRlbywgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQoKSB3aWxsIGJlIGNhbGxlZCBieQorICAgICAgICBIVE1M
TWVkaWFFbGVtZW50OjptZWRpYVBsYXllckRpZEFkZEF1ZGlvVHJhY2soKSB3aGVuIEhUTUxNZWRp
YUVsZW1lbnQ6OnBhdXNlKCkgcmV0dXJucyBmYWxzZQorICAgICAgICAobWVhbnMgdGhlIHBsYXli
YWNrIGhhcyBhbHJlYWR5IGJlZW4gcmVzdW1lZCksIHNvIHRoZSByZXF1ZXN0IHRvIGFkZCBhdWRp
byB0cmFjayB3aWxsIGJlIHJlamVjdGVkCisgICAgICAgIGR1ZSB0byB0aGUgcmVxdWlyZXNVc2Vy
R2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUgcXVpcmsgYW5kIHRoZSB2aWRlbyB3aWxs
IGJlIHBhdXNlZC4KKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIHJhY2UgY29uZGl0aW9u
IGJ5IGVuYWJsaW5nIHRoZSByZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGlj
dHVyZQorICAgICAgICBxdWlyayBvbmx5IHdoZW4gdGhlIHBsYXliYWNrIG9wZXJhdGlvbiBpcyAi
cGF1c2UiLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGF1
c2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3VzcGVuZFBsYXliYWNr
KTogV2Ugc2hvdWxkIHVzZSBwYXVzZUludGVybmFsKCkgaW5zdGVhZCBvZiBwYXVzZSgpIGhlcmUs
CisgICAgICAgIG90aGVyd2lzZSwgaXQgd2lsbCBiZSBwcmV2ZW50ZWQgYnkgdGhlIHJlcXVpcmVz
VXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlIHF1aXJrLgorICAgICAgICAqIGh0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1l
bnRTZXNzaW9uOjpwbGF5YmFja1Blcm1pdHRlZCBjb25zdCk6CisgICAgICAgICogaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmg6CisgICAgICAgICogcGFnZS9RdWlya3MuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UXVpcmtzOjpyZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGlj
dHVyZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnJlcXVpcmVzVXNlckdlc3R1
cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUXVpcmtz
Lmg6CisKIDIwMjEtMDEtMjEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtBcHBsZSBQYXldIHVzZSB0aGUgZmlyc3QgaXRlbSBpbiBgc2hpcHBpbmdPcHRpb25z
YCBldmVuIHdoZW4gaXQncyBub3QgYHNlbGVjdGVkYApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKaW5kZXggOTRmZTRmMmJhMzRjOThhNmEwNWJlYWYzNWRhNzViYzE5YTFh
MmZlNi4uNjE4YTA3ZWNjNmI0YzhlMzkxY2Y4YTg0YTZkNWNmMmM0ZGNiNDlkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMDc0LDYgKzEwNzQsOSBAQCB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWQoKQogCiAgICAgSU5GT19MT0coTE9HSURFTlRJRklF
Uik7CiAKKyAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlID09IFZpZGVvRnVsbHNjcmVlbk1v
ZGVQaWN0dXJlSW5QaWN0dXJlICYmIGRvY3VtZW50KCkucXVpcmtzKCkucmVxdWlyZXNVc2VyR2Vz
dHVyZVRvTG9hZEluUGljdHVyZUluUGljdHVyZSgpICYmICFkb2N1bWVudCgpLnByb2Nlc3NpbmdV
c2VyR2VzdHVyZUZvck1lZGlhKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIHByZXBhcmVGb3JM
b2FkKCk7CiAgICAgbV9yZXNvdXJjZVNlbGVjdGlvblRhc2tRdWV1ZS5lbnF1ZXVlVGFzayhbdGhp
c10gewogICAgICAgICBwcmVwYXJlVG9QbGF5KCk7CkBAIC0zNDk3LDcgKzM1MDAsNyBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNlKCkKICAgICBpZiAobV93YWl0aW5nVG9FbnRlckZ1bGxz
Y3JlZW4pCiAgICAgICAgIG1fd2FpdGluZ1RvRW50ZXJGdWxsc2NyZWVuID0gZmFsc2U7CiAKLSAg
ICBpZiAoIW1fbWVkaWFTZXNzaW9uLT5wbGF5YmFja1Blcm1pdHRlZCgpKQorICAgIGlmICghbV9t
ZWRpYVNlc3Npb24tPnBsYXliYWNrUGVybWl0dGVkKE1lZGlhUGxheWJhY2tPcGVyYXRpb246OlBh
dXNlKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHByb2Nlc3NpbmdVc2VyR2VzdHVyZUZv
ck1lZGlhKCkpCkBAIC0zNTA2LDcgKzM1MDksNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnBh
dXNlKCkKICAgICBwYXVzZUludGVybmFsKCk7CiB9CiAKLQogdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjpwYXVzZUludGVybmFsKCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOwpAQCAt
NzQ0Niw3ICs3NDQ4LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdXNwZW5kUGxheWJhY2so
KQogewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgInBhdXNlZCA9ICIsIHBhdXNlZCgp
KTsKICAgICBpZiAoIXBhdXNlZCgpKQotICAgICAgICBwYXVzZSgpOworICAgICAgICBwYXVzZUlu
dGVybmFsKCk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cmVzdW1lQXV0b3BsYXlpbmco
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggNTg3
ODJiY2EyOGJhMjdkOTVmNDFkOWFkZGMzN2M5NDhlMjU1N2M5Zi4uNThkNDJlY2U0MTI2ZDljNmIz
NDE4ODBjMGRhNzAzM2E0OTBjZTA1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwCkBAIC0yNzYsNyArMjc2LDcgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNz
aW9uOjpyZW1vdmVCZWhhdmlvclJlc3RyaWN0aW9uKEJlaGF2aW9yUmVzdHJpY3Rpb25zIHJlc3Ry
aWMKICAgICBtX3Jlc3RyaWN0aW9ucyAmPSB+cmVzdHJpY3Rpb247CiB9CiAKLVN1Y2Nlc3NPcjxN
ZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uPiBNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1Bl
cm1pdHRlZCgpIGNvbnN0CitTdWNjZXNzT3I8TWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbj4gTWVk
aWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQoTWVkaWFQbGF5YmFja09wZXJhdGlv
biBvcGVyYXRpb24pIGNvbnN0CiB7CiAgICAgaWYgKG1fZWxlbWVudC5pc1N1c3BlbmRlZCgpKSB7
CiAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIlJldHVybmluZyBGQUxTRSBiZWNh
dXNlIGVsZW1lbnQgaXMgc3VzcGVuZGVkIik7CkBAIC0zMTcsNyArMzE3LDcgQEAgU3VjY2Vzc09y
PE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb24+IE1lZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNr
UGVybWl0dGVkKCkgY28KICAgICBjb25zdCBhdXRvJiB0b3BEb2N1bWVudCA9IGRvY3VtZW50LnRv
cERvY3VtZW50KCk7CiAgICAgaWYgKHRvcERvY3VtZW50LnF1aXJrcygpLnJlcXVpcmVzVXNlckdl
c3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlKCkKICAgICAgICAgJiYgbV9lbGVtZW50LmZ1
bGxzY3JlZW5Nb2RlKCkgJiBIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1v
ZGVQaWN0dXJlSW5QaWN0dXJlCi0gICAgICAgICYmICFtX2VsZW1lbnQucGF1c2VkKCkKKyAgICAg
ICAgJiYgIW1fZWxlbWVudC5wYXVzZWQoKSAmJiBvcGVyYXRpb24gPT0gTWVkaWFQbGF5YmFja09w
ZXJhdGlvbjo6UGF1c2UKICAgICAgICAgJiYgIWRvY3VtZW50LnByb2Nlc3NpbmdVc2VyR2VzdHVy
ZUZvck1lZGlhKCkpIHsKICAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiUmV0dXJu
aW5nIEZBTFNFIGJlY2F1c2UgYSBxdWlyayByZXF1aXJlcyBhIHVzZXIgZ2VzdHVyZSB0byBwYXVz
ZSB3aGlsZSBpbiBQaWN0dXJlLWluLVBpY3R1cmUiKTsKICAgICAgICAgcmV0dXJuIE1lZGlhUGxh
eWJhY2tEZW5pYWxSZWFzb246OlVzZXJHZXN0dXJlUmVxdWlyZWQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCmluZGV4IGMxNjhjNjAyM2IzOTZkMWMzNTc2NTgxOGY1
NWNhMWFiZDNiYTRjNTguLjdjMDE3MjgzYzgzM2IzOGEyNzVkYThkYjUwMmVjODhlZjljMDhmZTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCkBAIC00Miw2ICs0
MiwxMSBAQCBlbnVtIGNsYXNzIE1lZGlhU2Vzc2lvbk1haW5Db250ZW50UHVycG9zZSB7CiAgICAg
QXV0b3BsYXkKIH07CiAKK2VudW0gY2xhc3MgTWVkaWFQbGF5YmFja09wZXJhdGlvbiB7CisgICAg
QWxsLAorICAgIFBhdXNlCit9OworCiBlbnVtIGNsYXNzIE1lZGlhUGxheWJhY2tEZW5pYWxSZWFz
b24gewogICAgIFVzZXJHZXN0dXJlUmVxdWlyZWQsCiAgICAgRnVsbHNjcmVlblJlcXVpcmVkLApA
QCAtNzEsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpc1Zpc2libGVJblZpZXdwb3J0Q2hh
bmdlZCgpOwogICAgIHZvaWQgaW5BY3RpdmVEb2N1bWVudENoYW5nZWQoKTsKIAotICAgIFN1Y2Nl
c3NPcjxNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uPiBwbGF5YmFja1Blcm1pdHRlZCgpIGNvbnN0
OworICAgIFN1Y2Nlc3NPcjxNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uPiBwbGF5YmFja1Blcm1p
dHRlZChNZWRpYVBsYXliYWNrT3BlcmF0aW9uID0gTWVkaWFQbGF5YmFja09wZXJhdGlvbjo6QWxs
KSBjb25zdDsKICAgICBib29sIGF1dG9wbGF5UGVybWl0dGVkKCkgY29uc3Q7CiAgICAgYm9vbCBk
YXRhTG9hZGluZ1Blcm1pdHRlZCgpIGNvbnN0OwogICAgIE1lZGlhUGxheWVyOjpCdWZmZXJpbmdQ
b2xpY3kgcHJlZmVycmVkQnVmZmVyaW5nUG9saWN5KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5j
cHAKaW5kZXggZTFlYjllODcxZjY0YmQxMGU5ZTI4MWI2ZWE4ZDRkZjFjYzVhMWQ1Ni4uNTgzMzVk
ZGMwOGJkMTMxOWIxNmY3OWY1ZDMxNmJlYjdkYjZhYTgzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9RdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNw
cApAQCAtMTI2NSwxNiArMTI2NSw0MiBAQCBib29sIFF1aXJrczo6bmVlZHNCbGFja0Z1bGxzY3Jl
ZW5CYWNrZ3JvdW5kUXVpcmsoKSBjb25zdAogCiBib29sIFF1aXJrczo6cmVxdWlyZXNVc2VyR2Vz
dHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUoKSBjb25zdAogewotICAgIC8vIEZhY2Vib29r
IHdpbGwgbmFpdmVseSBwYXVzZSBhIDx2aWRlbz4gZWxlbWVudCB0aGF0IGhhcyBzY3JvbGxlZCBv
dXQgb2YgdGhlIHZpZXdwb3J0LCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhhdCBlbGVtZW50IGlz
IGN1cnJlbnRseSBpbiBQaVAgbW9kZS4KKyNpZiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01P
REUpCisgICAgLy8gRmFjZWJvb2sgYW5kIHR3aXR0ZXIgd2lsbCBuYWl2ZWx5IHBhdXNlIGEgPHZp
ZGVvPiBlbGVtZW50IHRoYXQgaGFzIHNjcm9sbGVkIG91dCBvZiB0aGUgdmlld3BvcnQsCisgICAg
Ly8gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoYXQgZWxlbWVudCBpcyBjdXJyZW50bHkgaW4gUGlQ
IG1vZGUuCisgICAgLy8gV2Ugc2hvdWxkIHJlbW92ZSB0aGUgcXVpcmsgb25jZSA8cmRhcjovL3By
b2JsZW0vNjcyNzMxNjY+IGFuZCA8cmRhcjovL3Byb2JsZW0vNzMzNjk4Njk+IGhhdmUgYmVlbiBm
aXhlZC4KICAgICBpZiAoIW5lZWRzUXVpcmtzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIGlmICghbV9yZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZSkg
ewogICAgICAgICBhdXRvIGRvbWFpbiA9IFJlZ2lzdHJhYmxlRG9tYWluKG1fZG9jdW1lbnQtPnRv
cERvY3VtZW50KCkudXJsKCkpOwotICAgICAgICBtX3JlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNl
SW5QaWN0dXJlSW5QaWN0dXJlID0gZG9tYWluLnN0cmluZygpID09ICJmYWNlYm9vay5jb20iX3M7
CisgICAgICAgIG1fcmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUg
PSBkb21haW4uc3RyaW5nKCkgPT0gImZhY2Vib29rLmNvbSJfcyB8fCBkb21haW4uc3RyaW5nKCkg
PT0gInR3aXR0ZXIuY29tIl9zOwogICAgIH0KIAogICAgIHJldHVybiAqbV9yZXF1aXJlc1VzZXJH
ZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNl
OworI2VuZGlmCit9CisKK2Jvb2wgUXVpcmtzOjpyZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5Q
aWN0dXJlSW5QaWN0dXJlKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9O
X01PREUpCisgICAgLy8gVHdpdHRlciB3aWxsIHJlbW92ZSB0aGUgInNyYyIgYXR0cmlidXRlIG9m
IGEgPHZpZGVvPiBlbGVtZW50IHRoYXQgaGFzIHNjcm9sbGVkIG91dCBvZiB0aGUgdmlld3BvcnQg
YW5kCisgICAgLy8gbG9hZCB0aGUgPHZpZGVvPiBlbGVtZW50IHdpdGggYW4gZW1wdHkgInNyYyIg
cmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoYXQgZWxlbWVudCBpcyBjdXJyZW50bHkgaW4gUGlQIG1v
ZGUuCisgICAgLy8gV2Ugc2hvdWxkIHJlbW92ZSB0aGUgcXVpcmsgb25jZSA8cmRhcjovL3Byb2Js
ZW0vNzMzNjk4Njk+IGhhcyBiZWVuIGZpeGVkLgorICAgIGlmICghbmVlZHNRdWlya3MoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFtX3JlcXVpcmVzVXNlckdlc3R1cmVUb0xv
YWRJblBpY3R1cmVJblBpY3R1cmUpIHsKKyAgICAgICAgYXV0byBkb21haW4gPSBSZWdpc3RyYWJs
ZURvbWFpbihtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVybCgpKTsKKyAgICAgICAgbV9yZXF1
aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5QaWN0dXJlSW5QaWN0dXJlID0gZG9tYWluLnN0cmluZygp
ID09ICJ0d2l0dGVyLmNvbSJfczsKKyAgICB9CisKKyAgICByZXR1cm4gKm1fcmVxdWlyZXNVc2Vy
R2VzdHVyZVRvTG9hZEluUGljdHVyZUluUGljdHVyZTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNl
OworI2VuZGlmCiB9CiAKIGJvb2wgUXVpcmtzOjpibG9ja3NSZXR1cm5Ub0Z1bGxzY3JlZW5Gcm9t
UGljdHVyZUluUGljdHVyZVF1aXJrKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUXVpcmtzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCmluZGV4IDRmZjRi
YTQ3ODc1ZDVlNzI0NzdjYmUwMTc2MzRiNWMyM2Q3NTJhMGYuLmZlZDI0NTBjNTc4ZDIxZWQ4MGEx
OWYxNzg4NDZjYzlhMDY1NmJlN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVp
cmtzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaApAQCAtMTI4LDYgKzEyOCw3
IEBAIHB1YmxpYzoKICAgICBib29sIG5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1aXJr
KCkgY29uc3Q7CiAKICAgICBib29sIHJlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0dXJl
SW5QaWN0dXJlKCkgY29uc3Q7CisgICAgYm9vbCByZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5Q
aWN0dXJlSW5QaWN0dXJlKCkgY29uc3Q7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGJsb2Nr
c1JldHVyblRvRnVsbHNjcmVlbkZyb21QaWN0dXJlSW5QaWN0dXJlUXVpcmsoKSBjb25zdDsKICAg
ICBib29sIHNob3VsZERpc2FibGVFbmRGdWxsc2NyZWVuRXZlbnRXaGVuRW50ZXJpbmdQaWN0dXJl
SW5QaWN0dXJlRnJvbUZ1bGxzY3JlZW5RdWlyaygpIGNvbnN0OwpAQCAtMTczLDYgKzE3NCw3IEBA
IHByaXZhdGU6CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX25lZWRzSERSUGl4ZWxEZXB0
aFF1aXJrOwogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9uZWVkc0JsYWNrRnVsbHNjcmVl
bkJhY2tncm91bmRRdWlyazsKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fcmVxdWlyZXNV
c2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmU7CisgICAgbXV0YWJsZSBPcHRpb25h
bDxib29sPiBtX3JlcXVpcmVzVXNlckdlc3R1cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmU7CiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fc2hv
dWxkRW5hYmxlTGVnYWN5R2V0VXNlck1lZGlhUXVpcms7CiAjZW5kaWYK
</data>
<flag name="review"
          id="436245"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418318</attachid>
            <date>2021-01-25 12:16:45 -0800</date>
            <delta_ts>2021-01-25 16:58:10 -0800</delta_ts>
            <desc>Revise the patch based on Eric&apos;s comments</desc>
            <filename>bug-220887-20210125121644.patch</filename>
            <type>text/plain</type>
            <size>9784</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE1ZDg0YTJjNWM3Njkz
YjZkYWU2ZmQ1MTdiN2M0NjRmZGY2ODY5Zi4uYjY0OTI1NzhhOWJjYmQ4YmZiYjExM2VlYzZkNzJm
Y2JmNjMwMjViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTAxLTI1ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgVHdpdHRlciBQaVAgdmlkZW8g
cGF1c2VzIHdoZW4gc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA4ODcKKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgdHdvIHF1aXJr
cyAocmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUgYW5kCisgICAg
ICAgIHJlcXVpcmVzVXNlckdlc3R1cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmUpIGZvciB0d2l0
dGVyLmNvbSwgc28gdGhhdCB3aGVuIHdlIHNjcm9sbAorICAgICAgICB0aGUgcGFnZSB3aGlsZSBh
IHZpZGVvIGlzIGluIHBpY3R1cmUtaW4tcGljdHVyZSwgdGhlIHZpZGVvIHdvbid0IHBhdXNlIG9y
IGNsb3NlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBmaXhlcyBhIHJhY2UgY29uZGl0aW9u
IHJlbGF0ZWQgdG8gZnVuY3Rpb24gTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0
ZWQoKQorICAgICAgICBieSBhZGRpbmcgYSBwYXJhbWV0ZXIgKE1lZGlhUGxheWJhY2tPcGVyYXRp
b24pIHRvIGl0LiBCZWNhdXNlIG9mIHRoZSByYWNlIGNvbmRpdGlvbiwgd2UKKyAgICAgICAgY2Fu
bm90IHJlc3VtZSBhIHBhdXNlZCB2aWRlbyBpbiBhIHBpY3R1cmUtaW4tcGljdHVyZSB3aW5kb3cg
b24gc29tZSBzaXRlcyAoZS5nLiwgdHdpdHRlci5jb20pLgorICAgICAgICBUaGF0IGhhcHBlbnMg
YmVjYXVzZSB3aGVuIHdlIGNsaWNrIHRoZSBwbGF5IGJ1dHRvbiBvbiB0aGUgcGljdHVyZS1pbi1w
aWN0dXJlIHdpbmRvdyB0byByZXN1bWUKKyAgICAgICAgYSB2aWRlbywgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQoKSB3aWxsIGJlIGNhbGxlZCBieQorICAgICAgICBIVE1M
TWVkaWFFbGVtZW50OjptZWRpYVBsYXllckRpZEFkZEF1ZGlvVHJhY2soKSB3aGVuIEhUTUxNZWRp
YUVsZW1lbnQ6OnBhdXNlKCkgcmV0dXJucyBmYWxzZQorICAgICAgICAobWVhbnMgdGhlIHBsYXli
YWNrIGhhcyBhbHJlYWR5IGJlZW4gcmVzdW1lZCksIHNvIHRoZSByZXF1ZXN0IHRvIGFkZCBhdWRp
byB0cmFjayB3aWxsIGJlIHJlamVjdGVkCisgICAgICAgIGR1ZSB0byB0aGUgcmVxdWlyZXNVc2Vy
R2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUgcXVpcmsgYW5kIHRoZSB2aWRlbyB3aWxs
IGJlIHBhdXNlZC4KKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIHJhY2UgY29uZGl0aW9u
IGJ5IGVuYWJsaW5nIHRoZSByZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGlj
dHVyZQorICAgICAgICBxdWlyayBvbmx5IHdoZW4gdGhlIHBsYXliYWNrIG9wZXJhdGlvbiBpcyAi
cGF1c2UiLgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICAq
IGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50Ojpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhdXNl
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN1c3BlbmRQbGF5YmFjayk6
IFdlIHNob3VsZCB1c2UgcGF1c2VJbnRlcm5hbCgpIGluc3RlYWQgb2YgcGF1c2UoKSBoZXJlLAor
ICAgICAgICBvdGhlcndpc2UsIGl0IHdpbGwgYmUgcHJldmVudGVkIGJ5IHRoZSByZXF1aXJlc1Vz
ZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGljdHVyZSBxdWlyay4KKyAgICAgICAgKiBodG1s
L01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50
U2Vzc2lvbjo6cGxheWJhY2tQZXJtaXR0ZWQgY29uc3QpOgorICAgICAgICAqIGh0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5oOgorICAgICAgICAqIHBhZ2UvUXVpcmtzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlF1aXJrczo6cmVxdWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1
cmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpyZXF1aXJlc1VzZXJHZXN0dXJl
VG9Mb2FkSW5QaWN0dXJlSW5QaWN0dXJlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1F1aXJrcy5o
OgorCiAyMDIxLTAxLTI1ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFBDTTogVXNlIGRpZmZlcmVudCB3ZWxsLWtub3duIGxvY2F0aW9ucyBmb3IgdHJpZ2dl
cmluZyBhbmQgcmVwb3J0aW5nIGF0dHJpYnV0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAppbmRleCA5NGZlNGYyYmEzNGM5OGE2YTA1YmVhZjM1ZGE3NWJjMTlhMWEy
ZmU2Li42MThhMDdlY2M2YjRjOGUzOTFjZjhhODRhNmQ1Y2YyYzRkY2I0OWQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTEwNzQsNiArMTA3NCw5IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZCgpCiAKICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVS
KTsKIAorICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGUgPT0gVmlkZW9GdWxsc2NyZWVuTW9k
ZVBpY3R1cmVJblBpY3R1cmUgJiYgZG9jdW1lbnQoKS5xdWlya3MoKS5yZXF1aXJlc1VzZXJHZXN0
dXJlVG9Mb2FkSW5QaWN0dXJlSW5QaWN0dXJlKCkgJiYgIWRvY3VtZW50KCkucHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlRm9yTWVkaWEoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgcHJlcGFyZUZvckxv
YWQoKTsKICAgICBtX3Jlc291cmNlU2VsZWN0aW9uVGFza1F1ZXVlLmVucXVldWVUYXNrKFt0aGlz
XSB7CiAgICAgICAgIHByZXBhcmVUb1BsYXkoKTsKQEAgLTM0OTcsNyArMzUwMCw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6cGF1c2UoKQogICAgIGlmIChtX3dhaXRpbmdUb0VudGVyRnVsbHNj
cmVlbikKICAgICAgICAgbV93YWl0aW5nVG9FbnRlckZ1bGxzY3JlZW4gPSBmYWxzZTsKIAotICAg
IGlmICghbV9tZWRpYVNlc3Npb24tPnBsYXliYWNrUGVybWl0dGVkKCkpCisgICAgaWYgKCFtX21l
ZGlhU2Vzc2lvbi0+cGxheWJhY2tQZXJtaXR0ZWQoTWVkaWFQbGF5YmFja09wZXJhdGlvbjo6UGF1
c2UpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAocHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9y
TWVkaWEoKSkKQEAgLTM1MDYsNyArMzUwOSw2IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGF1
c2UoKQogICAgIHBhdXNlSW50ZXJuYWwoKTsKIH0KIAotCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnBhdXNlSW50ZXJuYWwoKQogewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CkBAIC03
NDQ2LDcgKzc0NDgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnN1c3BlbmRQbGF5YmFjaygp
CiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAicGF1c2VkID0gIiwgcGF1c2VkKCkp
OwogICAgIGlmICghcGF1c2VkKCkpCi0gICAgICAgIHBhdXNlKCk7CisgICAgICAgIHBhdXNlSW50
ZXJuYWwoKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpyZXN1bWVBdXRvcGxheWluZygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA1ODc4
MmJjYTI4YmEyN2Q5NWY0MWQ5YWRkYzM3Yzk0OGUyNTU3YzlmLi41OGQ0MmVjZTQxMjZkOWM2YjM0
MTg4MGMwZGE3MDMzYTQ5MGNlMDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVt
ZW50U2Vzc2lvbi5jcHAKQEAgLTI3Niw3ICsyNzYsNyBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Np
b246OnJlbW92ZUJlaGF2aW9yUmVzdHJpY3Rpb24oQmVoYXZpb3JSZXN0cmljdGlvbnMgcmVzdHJp
YwogICAgIG1fcmVzdHJpY3Rpb25zICY9IH5yZXN0cmljdGlvbjsKIH0KIAotU3VjY2Vzc09yPE1l
ZGlhUGxheWJhY2tEZW5pYWxSZWFzb24+IE1lZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrUGVy
bWl0dGVkKCkgY29uc3QKK1N1Y2Nlc3NPcjxNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uPiBNZWRp
YUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1Blcm1pdHRlZChNZWRpYVBsYXliYWNrT3BlcmF0aW9u
IG9wZXJhdGlvbikgY29uc3QKIHsKICAgICBpZiAobV9lbGVtZW50LmlzU3VzcGVuZGVkKCkpIHsK
ICAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiUmV0dXJuaW5nIEZBTFNFIGJlY2F1
c2UgZWxlbWVudCBpcyBzdXNwZW5kZWQiKTsKQEAgLTMxNyw3ICszMTcsNyBAQCBTdWNjZXNzT3I8
TWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbj4gTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQ
ZXJtaXR0ZWQoKSBjbwogICAgIGNvbnN0IGF1dG8mIHRvcERvY3VtZW50ID0gZG9jdW1lbnQudG9w
RG9jdW1lbnQoKTsKICAgICBpZiAodG9wRG9jdW1lbnQucXVpcmtzKCkucmVxdWlyZXNVc2VyR2Vz
dHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUoKQogICAgICAgICAmJiBtX2VsZW1lbnQuZnVs
bHNjcmVlbk1vZGUoKSAmIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9k
ZVBpY3R1cmVJblBpY3R1cmUKLSAgICAgICAgJiYgIW1fZWxlbWVudC5wYXVzZWQoKQorICAgICAg
ICAmJiAhbV9lbGVtZW50LnBhdXNlZCgpICYmIG9wZXJhdGlvbiA9PSBNZWRpYVBsYXliYWNrT3Bl
cmF0aW9uOjpQYXVzZQogICAgICAgICAmJiAhZG9jdW1lbnQucHJvY2Vzc2luZ1VzZXJHZXN0dXJl
Rm9yTWVkaWEoKSkgewogICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJSZXR1cm5p
bmcgRkFMU0UgYmVjYXVzZSBhIHF1aXJrIHJlcXVpcmVzIGEgdXNlciBnZXN0dXJlIHRvIHBhdXNl
IHdoaWxlIGluIFBpY3R1cmUtaW4tUGljdHVyZSIpOwogICAgICAgICByZXR1cm4gTWVkaWFQbGF5
YmFja0RlbmlhbFJlYXNvbjo6VXNlckdlc3R1cmVSZXF1aXJlZDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5kZXggYzE2OGM2MDIzYjM5NmQxYzM1NzY1ODE4ZjU1
Y2ExYWJkM2JhNGM1OC4uMWFiNDYyZjQ0NjFhNDRmY2NlY2VkOWZiZDEyM2I2ZTc1MmI3NzQyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKQEAgLTQyLDYgKzQy
LDExIEBAIGVudW0gY2xhc3MgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlIHsKICAgICBB
dXRvcGxheQogfTsKIAorZW51bSBjbGFzcyBNZWRpYVBsYXliYWNrT3BlcmF0aW9uIHsKKyAgICBB
bGwsCisgICAgUGF1c2UKK307CisKIGVudW0gY2xhc3MgTWVkaWFQbGF5YmFja0RlbmlhbFJlYXNv
biB7CiAgICAgVXNlckdlc3R1cmVSZXF1aXJlZCwKICAgICBGdWxsc2NyZWVuUmVxdWlyZWQsCkBA
IC03MSw3ICs3Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGlzVmlzaWJsZUluVmlld3BvcnRDaGFu
Z2VkKCk7CiAgICAgdm9pZCBpbkFjdGl2ZURvY3VtZW50Q2hhbmdlZCgpOwogCi0gICAgU3VjY2Vz
c09yPE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb24+IHBsYXliYWNrUGVybWl0dGVkKCkgY29uc3Q7
CisgICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzIyMDkzOT4KKyAgICBTdWNjZXNz
T3I8TWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbj4gcGxheWJhY2tQZXJtaXR0ZWQoTWVkaWFQbGF5
YmFja09wZXJhdGlvbiA9IE1lZGlhUGxheWJhY2tPcGVyYXRpb246OkFsbCkgY29uc3Q7CiAgICAg
Ym9vbCBhdXRvcGxheVBlcm1pdHRlZCgpIGNvbnN0OwogICAgIGJvb2wgZGF0YUxvYWRpbmdQZXJt
aXR0ZWQoKSBjb25zdDsKICAgICBNZWRpYVBsYXllcjo6QnVmZmVyaW5nUG9saWN5IHByZWZlcnJl
ZEJ1ZmZlcmluZ1BvbGljeSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9RdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwCmluZGV4IDNkMTE3
OTIzMDlhMDUyZTUyODg2YjViZTBlNzI1YmFjZGU3NjNkNjguLjkxZGEwZGUyZmRhMzg4YjEyMzU4
NDY0Zjk4OGUxYWM3ODU3ODRhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVp
cmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKQEAgLTEyNzAsMTYg
KzEyNzAsNDIgQEAgYm9vbCBRdWlya3M6Om5lZWRzQmxhY2tGdWxsc2NyZWVuQmFja2dyb3VuZFF1
aXJrKCkgY29uc3QKIAogYm9vbCBRdWlya3M6OnJlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5Q
aWN0dXJlSW5QaWN0dXJlKCkgY29uc3QKIHsKLSAgICAvLyBGYWNlYm9vayB3aWxsIG5haXZlbHkg
cGF1c2UgYSA8dmlkZW8+IGVsZW1lbnQgdGhhdCBoYXMgc2Nyb2xsZWQgb3V0IG9mIHRoZSB2aWV3
cG9ydCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoYXQgZWxlbWVudCBpcyBjdXJyZW50bHkgaW4g
UGlQIG1vZGUuCisjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQorICAgIC8vIEZh
Y2Vib29rIGFuZCBUd2l0dGVyIHdpbGwgbmFpdmVseSBwYXVzZSBhIDx2aWRlbz4gZWxlbWVudCB0
aGF0IGhhcyBzY3JvbGxlZCBvdXQgb2YgdGhlIHZpZXdwb3J0LAorICAgIC8vIHJlZ2FyZGxlc3Mg
b2Ygd2hldGhlciB0aGF0IGVsZW1lbnQgaXMgY3VycmVudGx5IGluIFBpUCBtb2RlLgorICAgIC8v
IFdlIHNob3VsZCByZW1vdmUgdGhlIHF1aXJrIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzY3MjczMTY2
PiBhbmQgPHJkYXI6Ly9wcm9ibGVtLzczMzY5ODY5PiBoYXZlIGJlZW4gZml4ZWQuCiAgICAgaWYg
KCFuZWVkc1F1aXJrcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAoIW1fcmVx
dWlyZXNVc2VyR2VzdHVyZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmUpIHsKLSAgICAgICAgYXV0
byBkb21haW4gPSBSZWdpc3RyYWJsZURvbWFpbihtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVy
bCgpKTsKLSAgICAgICAgbV9yZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGlj
dHVyZSA9IGRvbWFpbi5zdHJpbmcoKSA9PSAiZmFjZWJvb2suY29tIl9zOworICAgICAgICBhdXRv
IGRvbWFpbiA9IFJlZ2lzdHJhYmxlRG9tYWluKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkudXJs
KCkpLnN0cmluZygpOworICAgICAgICBtX3JlcXVpcmVzVXNlckdlc3R1cmVUb1BhdXNlSW5QaWN0
dXJlSW5QaWN0dXJlID0gZG9tYWluID09ICJmYWNlYm9vay5jb20iX3MgfHwgZG9tYWluID09ICJ0
d2l0dGVyLmNvbSJfczsKICAgICB9CiAKICAgICByZXR1cm4gKm1fcmVxdWlyZXNVc2VyR2VzdHVy
ZVRvUGF1c2VJblBpY3R1cmVJblBpY3R1cmU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgorfQorCitib29sIFF1aXJrczo6cmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZEluUGljdHVy
ZUluUGljdHVyZSgpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KQorICAgIC8vIFR3aXR0ZXIgd2lsbCByZW1vdmUgdGhlICJzcmMiIGF0dHJpYnV0ZSBvZiBhIDx2
aWRlbz4gZWxlbWVudCB0aGF0IGhhcyBzY3JvbGxlZCBvdXQgb2YgdGhlIHZpZXdwb3J0IGFuZAor
ICAgIC8vIGxvYWQgdGhlIDx2aWRlbz4gZWxlbWVudCB3aXRoIGFuIGVtcHR5ICJzcmMiIHJlZ2Fy
ZGxlc3Mgb2Ygd2hldGhlciB0aGF0IGVsZW1lbnQgaXMgY3VycmVudGx5IGluIFBpUCBtb2RlLgor
ICAgIC8vIFdlIHNob3VsZCByZW1vdmUgdGhlIHF1aXJrIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzcz
MzY5ODY5PiBoYXMgYmVlbiBmaXhlZC4KKyAgICBpZiAoIW5lZWRzUXVpcmtzKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGlmICghbV9yZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5Q
aWN0dXJlSW5QaWN0dXJlKSB7CisgICAgICAgIGF1dG8gZG9tYWluID0gUmVnaXN0cmFibGVEb21h
aW4obV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51cmwoKSk7CisgICAgICAgIG1fcmVxdWlyZXNV
c2VyR2VzdHVyZVRvTG9hZEluUGljdHVyZUluUGljdHVyZSA9IGRvbWFpbi5zdHJpbmcoKSA9PSAi
dHdpdHRlci5jb20iX3M7CisgICAgfQorCisgICAgcmV0dXJuICptX3JlcXVpcmVzVXNlckdlc3R1
cmVUb0xvYWRJblBpY3R1cmVJblBpY3R1cmU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgogfQogCiBib29sIFF1aXJrczo6YmxvY2tzUmV0dXJuVG9GdWxsc2NyZWVuRnJvbVBpY3R1
cmVJblBpY3R1cmVRdWlyaygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1F1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaAppbmRleCA0ZmY0YmE0Nzg3
NWQ1ZTcyNDc3Y2JlMDE3NjM0YjVjMjNkNzUyYTBmLi5mZWQyNDUwYzU3OGQyMWVkODBhMTlmMTc4
ODQ2Y2M5YTA2NTZiZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKQEAgLTEyOCw2ICsxMjgsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBuZWVkc0JsYWNrRnVsbHNjcmVlbkJhY2tncm91bmRRdWlyaygpIGNv
bnN0OwogCiAgICAgYm9vbCByZXF1aXJlc1VzZXJHZXN0dXJlVG9QYXVzZUluUGljdHVyZUluUGlj
dHVyZSgpIGNvbnN0OworICAgIGJvb2wgcmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZEluUGljdHVy
ZUluUGljdHVyZSgpIGNvbnN0OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBibG9ja3NSZXR1
cm5Ub0Z1bGxzY3JlZW5Gcm9tUGljdHVyZUluUGljdHVyZVF1aXJrKCkgY29uc3Q7CiAgICAgYm9v
bCBzaG91bGREaXNhYmxlRW5kRnVsbHNjcmVlbkV2ZW50V2hlbkVudGVyaW5nUGljdHVyZUluUGlj
dHVyZUZyb21GdWxsc2NyZWVuUXVpcmsoKSBjb25zdDsKQEAgLTE3Myw2ICsxNzQsNyBAQCBwcml2
YXRlOgogICAgIG11dGFibGUgT3B0aW9uYWw8Ym9vbD4gbV9uZWVkc0hEUlBpeGVsRGVwdGhRdWly
azsKICAgICBtdXRhYmxlIE9wdGlvbmFsPGJvb2w+IG1fbmVlZHNCbGFja0Z1bGxzY3JlZW5CYWNr
Z3JvdW5kUXVpcms7CiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX3JlcXVpcmVzVXNlckdl
c3R1cmVUb1BhdXNlSW5QaWN0dXJlSW5QaWN0dXJlOworICAgIG11dGFibGUgT3B0aW9uYWw8Ym9v
bD4gbV9yZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkSW5QaWN0dXJlSW5QaWN0dXJlOwogI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiAgICAgbXV0YWJsZSBPcHRpb25hbDxib29sPiBtX3Nob3VsZEVu
YWJsZUxlZ2FjeUdldFVzZXJNZWRpYVF1aXJrOwogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>