<?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>195610</bug_id>
          
          <creation_ts>2019-03-12 00:26:19 -0700</creation_ts>
          <short_desc>Move the remaining code to decide whether site specific quirks are needed to Quirks class</short_desc>
          <delta_ts>2019-03-12 04:39:16 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>jer.noble</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1515349</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-03-12 00:26:19 -0700</bug_when>
    <thetext>Move the remaining logic to decide whether a site specific quirk is needed or not to Quirks class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515350</commentid>
    <comment_count>1</comment_count>
      <attachid>364364</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-03-12 00:31:58 -0700</bug_when>
    <thetext>Created attachment 364364
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515362</commentid>
    <comment_count>2</comment_count>
      <attachid>364364</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-03-12 01:31:30 -0700</bug_when>
    <thetext>Comment on attachment 364364
Cleanup

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

&gt; Source/WebCore/page/Quirks.cpp:80
&gt; +bool Quirks::needsAutoplayPlayPauseEventsQuirk() const

The second &apos;Quirk&apos; is redundant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515405</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-03-12 04:10:52 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #2)
&gt; Comment on attachment 364364 [details]
&gt; Cleanup
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364364&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Quirks.cpp:80
&gt; &gt; +bool Quirks::needsAutoplayPlayPauseEventsQuirk() const
&gt; 
&gt; The second &apos;Quirk&apos; is redundant.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515406</commentid>
    <comment_count>4</comment_count>
      <attachid>364376</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-03-12 04:11:27 -0700</bug_when>
    <thetext>Created attachment 364376
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515411</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-12 04:38:17 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 364376:

legacy-animation-engine/cssom/cssvalue-comparison.html bug 195617 (authors: dino@apple.com and graouts@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515413</commentid>
    <comment_count>6</comment_count>
      <attachid>364376</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-12 04:38:56 -0700</bug_when>
    <thetext>Comment on attachment 364376
Patch for landing

Clearing flags on attachment: 364376

Committed r242792: &lt;https://trac.webkit.org/changeset/242792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515414</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-12 04:38:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1515415</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-12 04:39:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/48804436&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364364</attachid>
            <date>2019-03-12 00:31:58 -0700</date>
            <delta_ts>2019-03-12 04:11:25 -0700</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-195610-20190312003157.patch</filename>
            <type>text/plain</type>
            <size>13911</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0Mjc4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE5LTAzLTEyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgdGhlIHJlbWFpbmluZyBj
b2RlIHRvIGRlY2lkZSB3aGV0aGVyIHNpdGUgc3BlY2lmaWMgcXVpcmtzIGFyZSBuZWVkZWQgdG8g
UXVpcmtzIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTU2MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNb3ZlZCB0aGUgcmVtYWluaW5nIGNvZGUgc2NhdHRlcmVkIGFjcm9zcyBXZWJDb3JlIHRv
IGRlY2lkZSB3aGV0aGVyIGEgc2l0ZSBzcGVjaWZpYyBxdWlyaworICAgICAgICBpcyBuZWVkZWQg
b3Igbm90IHRvIFF1aXJrcyBjbGFzcyBpbnRyb2R1Y2VkIGluIHIyMzY4MTguCisKKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuZWVk
c1NpZ25hbFF1aXJrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnByb2Nlc3NJbnZhbGlk
U2lnbmFsKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6bmVlZHNNb3VzZUZvY3VzYWJs
ZVF1aXJrIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6bmVlZHNBdXRvcGxheVBsYXlQYXVzZUV2ZW50c1F1aXJrKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmRpc3BhdGNoUGxheVBhdXNl
RXZlbnRzSWZOZWVkc1F1aXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpuZWVkc1NlZWtpbmdTdXBw
b3J0UXVpcmspOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c3VwcG9ydHNTZWVraW5nIGNvbnN0KToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6bmVlZHNBcmJpdHJhcnlVc2VyR2VzdHVyZUF1dG9w
bGF5UXVpcmspOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6bmVlZHNQZXJEb2N1bWVudEF1
dG9wbGF5QmVoYXZpb3JRdWlyayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpwbGF5YmFja1Blcm1pdHRlZCBjb25zdCk6CisgICAgICAgICogcGFnZS9R
dWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWxsb3dlZEF1dG9wbGF5UXVpcmtzKTogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6Om5lZWRzUXVpcmtzIGNvbnN0KTogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZElnbm9yZUludmFsaWRTaWduYWwgY29u
c3QpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlF1aXJrczo6bmVlZHNGb3JtQ29udHJvbFRv
QmVNb3VzZUZvY3VzYWJsZSBjb25zdCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtz
OjpuZWVkc0F1dG9wbGF5UGxheVBhdXNlRXZlbnRzUXVpcmsgY29uc3QpOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlF1aXJrczo6bmVlZHNTZWVraW5nU3VwcG9ydERpc2FibGVkIGNvbnN0KTog
QWRkZC4KKyAgICAgICAgKFdlYkNvcmU6OlF1aXJrczo6bmVlZHNQZXJEb2N1bWVudEF1dG9wbGF5
QmVoYXZpb3IgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlF1aXJrczo6c2hvdWxk
QXV0b3BsYXlGb3JBcmJpdHJhcnlVc2VyR2VzdHVyZSBjb25zdCk6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6UXVpcmtzOjpoYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyayBj
b25zdCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtzOjpoYXNXZWJTUUxTdXBwb3J0
UXVpcmsgY29uc3QpOiBGaXhlZCB0aGUgY29kaW5nIHN0eWxlLgorICAgICAgICAqIHBhZ2UvUXVp
cmtzLmg6CisKIDIwMTktMDMtMTEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmVtb3ZlIE9TIFggU2VydmVyIFF1aWNrVGltZSBwbHVnaW4gcXVpcmtzCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCShyZXZp
c2lvbiAyNDI3ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVz
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJIVFRQUGFy
c2Vycy5oIgogI2luY2x1ZGUgIkpTQWJvcnRTaWduYWwuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CisjaW5jbHVkZSAiUXVpcmtzLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAg
LTE0NCwyNSArMTQ1LDEyIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEZldGNoUmVxdWVzdDo6aW5pdGlh
bGkKICAgICByZXR1cm4geyB9OwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgbmVlZHNTaWduYWxR
dWlyayhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQotewotICAgIGlmICghaXM8RG9j
dW1lbnQ+KGNvbnRleHQpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBhdXRvJiBkb2N1
bWVudCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KTsKLSAgICBpZiAoIWRvY3VtZW50LnNl
dHRpbmdzKCkubmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgYXV0byBob3N0ID0gZG9jdW1lbnQudG9wRG9jdW1lbnQoKS51cmwoKS5ob3N0KCk7
Ci0gICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJ3d3cudGhy
aXZlcGF0aWVudHBvcnRhbC5jb20iKTsKLX0KLQogc3RhdGljIGlubGluZSBPcHRpb25hbDxFeGNl
cHRpb24+IHByb2Nlc3NJbnZhbGlkU2lnbmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpCiB7CiAgICAgQVNDSUlMaXRlcmFsIG1lc3NhZ2UgeyAiRmV0Y2hSZXF1ZXN0SW5pdC5zaWdu
YWwgc2hvdWxkIGJlIHVuZGVmaW5lZCwgbnVsbCBvciBhbiBBYm9ydFNpZ25hbCBvYmplY3QuIl9z
IH07CiAgICAgY29udGV4dC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVz
c2FnZUxldmVsOjpXYXJuaW5nLCBtZXNzYWdlKTsKIAotICAgIGlmIChuZWVkc1NpZ25hbFF1aXJr
KGNvbnRleHQpKQorICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkgJiYgZG93bmNhc3Q8RG9j
dW1lbnQ+KGNvbnRleHQpLnF1aXJrcygpLnNob3VsZElnbm9yZUludmFsaWRTaWduYWwoKSkKICAg
ICAgICAgcmV0dXJuIHsgfTsKIAogICAgIFJFTEVBU0VfTE9HX0VSUk9SKFJlc291cmNlTG9hZGlu
ZywgIkZldGNoUmVxdWVzdEluaXQuc2lnbmFsIHNob3VsZCBiZSB1bmRlZmluZWQsIG51bGwgb3Ig
YW4gQWJvcnRTaWduYWwgb2JqZWN0LiIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNDI3ODQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxMZWdlbmRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5oIgor
I2luY2x1ZGUgIlF1aXJrcy5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgogI2luY2x1ZGUgIlJl
bmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTY3MiwxNSArNjczLDcgQEAg
QXV0b2ZpbGxEYXRhIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmF1dAogLy8gRklYTUU6IFdlIHNo
b3VsZCByZW1vdmUgdGhlIHF1aXJrIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzQ3MzM0NjU1PiBpcyBm
aXhlZC4KIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6bmVlZHNNb3VzZUZvY3VzYWJsZVF1
aXJrKCkgY29uc3QKIHsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKCFkb2N1bWVudCgpLnNl
dHRpbmdzKCkubmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgYXV0byBob3N0ID0gZG9jdW1lbnQoKS51cmwoKS5ob3N0KCk7Ci0gICAgcmV0dXJu
IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJjZWFjLnN0YXRlLmdvdiIpIHx8
IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLmNlYWMuc3RhdGUuZ292Iik7Ci0jZWxz
ZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgorICAgIHJldHVybiBkb2N1bWVudCgpLnF1aXJr
cygpLm5lZWRzRm9ybUNvbnRyb2xUb0JlTW91c2VGb2N1c2FibGUoKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViY29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAyNDI3ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjEsMTcgKzY2MSw2IEBAIEhUTUxNZWRpYUVs
ZW1lbnQ6On5IVE1MTWVkaWFFbGVtZW50KCkKICAgICBtX21lZGlhU2Vzc2lvbiA9IG51bGxwdHI7
CiAgICAgc2NoZWR1bGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlclVwZGF0ZSgpOwogfQotCi1zdGF0
aWMgYm9vbCBuZWVkc0F1dG9wbGF5UGxheVBhdXNlRXZlbnRzUXVpcmsoY29uc3QgRG9jdW1lbnQm
IGRvY3VtZW50KQotewotICAgIGF1dG8qIHBhZ2UgPSBkb2N1bWVudC5wYWdlKCk7Ci0gICAgaWYg
KCFwYWdlIHx8ICFwYWdlLT5zZXR0aW5ncygpLm5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKCkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGF1dG8gbG9hZGVyID0gbWFrZVJlZlB0cihkb2N1
bWVudC5sb2FkZXIoKSk7Ci0gICAgcmV0dXJuIGxvYWRlciAmJiBsb2FkZXItPmFsbG93ZWRBdXRv
cGxheVF1aXJrcygpLmNvbnRhaW5zKEF1dG9wbGF5UXVpcms6OlN5bnRoZXNpemVkUGF1c2VFdmVu
dHMpOwotfQotCiBSZWZQdHI8SFRNTE1lZGlhRWxlbWVudD4gSFRNTE1lZGlhRWxlbWVudDo6YmVz
dE1lZGlhRWxlbWVudEZvclNob3dpbmdQbGF5YmFja0NvbnRyb2xzTWFuYWdlcihNZWRpYUVsZW1l
bnRTZXNzaW9uOjpQbGF5YmFja0NvbnRyb2xzUHVycG9zZSBwdXJwb3NlKQogewogICAgIGF1dG8g
YWxsU2Vzc2lvbnMgPSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIo
KS5jdXJyZW50U2Vzc2lvbnNNYXRjaGluZyhbXSAoY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb24m
IHNlc3Npb24pIHsKQEAgLTI0NTAsOCArMjQzOSw3IEBAIFN1Y2Nlc3NPcjxNZWRpYVBsYXliYWNr
RGVuaWFsUmVhc29uPiBIVE0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpkaXNwYXRjaFBsYXlQ
YXVzZUV2ZW50c0lmTmVlZHNRdWlya3MoKQogewotICAgIGF1dG8mIGRvY3VtZW50ID0gdGhpcy0+
ZG9jdW1lbnQoKTsKLSAgICBpZiAoIW5lZWRzQXV0b3BsYXlQbGF5UGF1c2VFdmVudHNRdWlyayhk
b2N1bWVudCkgJiYgIW5lZWRzQXV0b3BsYXlQbGF5UGF1c2VFdmVudHNRdWlyayhkb2N1bWVudC50
b3BEb2N1bWVudCgpKSkKKyAgICBpZiAoIWRvY3VtZW50KCkucXVpcmtzKCkubmVlZHNBdXRvcGxh
eVBsYXlQYXVzZUV2ZW50c1F1aXJrKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUik7CkBAIC03NzEzLDE4ICs3NzAxLDkgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQwogICAgIH0KIH0KIAotc3RhdGljIGJvb2wgbmVlZHNT
ZWVraW5nU3VwcG9ydFF1aXJrKERvY3VtZW50JiBkb2N1bWVudCkKLXsKLSAgICBpZiAoIWRvY3Vt
ZW50LnNldHRpbmdzKCkubmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgYXV0byBob3N0ID0gZG9jdW1lbnQudG9wRG9jdW1lbnQoKS51cmwoKS5o
b3N0KCk7Ci0gICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJu
ZXRmbGl4LmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLm5ldGZsaXgu
Y29tIik7Ci19Ci0KIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6c3VwcG9ydHNTZWVraW5nKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gIW5lZWRzU2Vla2luZ1N1cHBvcnRRdWlyayhkb2N1bWVudCgpKSAm
JiAhaXNMaXZlU3RyZWFtKCk7CisgICAgcmV0dXJuICFkb2N1bWVudCgpLnF1aXJrcygpLm5lZWRz
U2Vla2luZ1N1cHBvcnREaXNhYmxlZCgpICYmICFpc0xpdmVTdHJlYW0oKTsKIH0KIAogYm9vbCBI
VE1MTWVkaWFFbGVtZW50OjpzaG91bGRPdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0
aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1cHRpb25UeXBlIHR5cGUpIGNvbnN0Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAJKHJldmlz
aW9uIDI0Mjc4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oIgorI2luY2x1ZGUgIlF1aXJrcy5oIgogI2luY2x1ZGUgIlJlbmRlck1lZGlhLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKQEAgLTI0
NCwyNiArMjQ1LDYgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZW1vdmVCZWhhdmlvcgog
ICAgIG1fcmVzdHJpY3Rpb25zICY9IH5yZXN0cmljdGlvbjsKIH0KIAotI2lmIFBMQVRGT1JNKE1B
QykKLXN0YXRpYyBib29sIG5lZWRzQXJiaXRyYXJ5VXNlckdlc3R1cmVBdXRvcGxheVF1aXJrKGNv
bnN0IERvY3VtZW50JiBkb2N1bWVudCkKLXsKLSAgICBpZiAoIWRvY3VtZW50LnNldHRpbmdzKCku
bmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
YXV0byBsb2FkZXIgPSBtYWtlUmVmUHRyKGRvY3VtZW50LmxvYWRlcigpKTsKLSAgICByZXR1cm4g
bG9hZGVyICYmIGxvYWRlci0+YWxsb3dlZEF1dG9wbGF5UXVpcmtzKCkuY29udGFpbnMoQXV0b3Bs
YXlRdWlyazo6QXJiaXRyYXJ5VXNlckdlc3R1cmVzKTsKLX0KLSNlbmRpZiAvLyBQTEFURk9STShN
QUMpCi0KLXN0YXRpYyBib29sIG5lZWRzUGVyRG9jdW1lbnRBdXRvcGxheUJlaGF2aW9yUXVpcmso
Y29uc3QgRG9jdW1lbnQmIGRvY3VtZW50KQotewotICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3Mo
KS5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBhdXRvIGxvYWRlciA9IG1ha2VSZWZQdHIoZG9jdW1lbnQubG9hZGVyKCkpOwotICAgIHJldHVy
biBsb2FkZXIgJiYgbG9hZGVyLT5hbGxvd2VkQXV0b3BsYXlRdWlya3MoKS5jb250YWlucyhBdXRv
cGxheVF1aXJrOjpQZXJEb2N1bWVudEF1dG9wbGF5QmVoYXZpb3IpOwotfQotCiBTdWNjZXNzT3I8
TWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbj4gTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQ
ZXJtaXR0ZWQoKSBjb25zdAogewogICAgIGlmIChtX2VsZW1lbnQuaXNTdXNwZW5kZWQoKSkgewpA
QCAtMzAxLDE0ICsyODIsMTMgQEAgU3VjY2Vzc09yPE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb24+
IE1lZAogICAgIH0KICNlbmRpZgogCisgICAgLy8gRklYTUU6IFdoeSBhcmUgd2UgY2hlY2tpbmcg
dG9wLWxldmVsIGRvY3VtZW50IG9ubHkgZm9yIFBlckRvY3VtZW50QXV0b3BsYXlCZWhhdmlvcj8K
ICAgICBjb25zdCBhdXRvJiB0b3BEb2N1bWVudCA9IGRvY3VtZW50LnRvcERvY3VtZW50KCk7Ci0g
ICAgaWYgKHRvcERvY3VtZW50Lm1lZGlhU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6Okhhc1VzZXJJ
bnRlcmFjdGVkV2l0aE1lZGlhRWxlbWVudCAmJiBuZWVkc1BlckRvY3VtZW50QXV0b3BsYXlCZWhh
dmlvclF1aXJrKHRvcERvY3VtZW50KSkKKyAgICBpZiAodG9wRG9jdW1lbnQubWVkaWFTdGF0ZSgp
ICYgTWVkaWFQcm9kdWNlcjo6SGFzVXNlckludGVyYWN0ZWRXaXRoTWVkaWFFbGVtZW50ICYmIHRv
cERvY3VtZW50LnF1aXJrcygpLm5lZWRzUGVyRG9jdW1lbnRBdXRvcGxheUJlaGF2aW9yKCkpCiAg
ICAgICAgIHJldHVybiB7IH07CiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKGRvY3VtZW50
Lmhhc0hhZFVzZXJJbnRlcmFjdGlvbigpICYmIG5lZWRzQXJiaXRyYXJ5VXNlckdlc3R1cmVBdXRv
cGxheVF1aXJrKGRvY3VtZW50KSkKKyAgICBpZiAoZG9jdW1lbnQuaGFzSGFkVXNlckludGVyYWN0
aW9uKCkgJiYgZG9jdW1lbnQucXVpcmtzKCkuc2hvdWxkQXV0b3BsYXlGb3JBcmJpdHJhcnlVc2Vy
R2VzdHVyZSgpKQogICAgICAgICByZXR1cm4geyB9OwotI2VuZGlmCiAKICAgICBpZiAobV9yZXN0
cmljdGlvbnMgJiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UgJiYgbV9lbGVt
ZW50LmlzVmlkZW8oKSAmJiAhZG9jdW1lbnQucHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEo
KSkgewogICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJSZXR1cm5pbmcgRkFMU0Ug
YmVjYXVzZSBhIHVzZXIgZ2VzdHVyZSBpcyByZXF1aXJlZCBmb3IgdmlkZW8gcmF0ZSBjaGFuZ2Ug
cmVzdHJpY3Rpb24iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAJKHJldmlzaW9uIDI0Mjc4
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjcsMTAgKzI3LDIyIEBACiAjaW5jbHVkZSAiUXVpcmtzLmgiCiAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiSFRNTE1ldGFFbGVt
ZW50LmgiCisjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBpbmxpbmUgT3B0aW9uU2V0PEF1
dG9wbGF5UXVpcms+IGFsbG93ZWRBdXRvcGxheVF1aXJrcyhEb2N1bWVudCYgZG9jdW1lbnQpCit7
CisgICAgYXV0byogbG9hZGVyID0gZG9jdW1lbnQubG9hZGVyKCk7CisgICAgaWYgKCFsb2FkZXIp
CisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gbG9hZGVyLT5hbGxvd2VkQXV0b3Bs
YXlRdWlya3MoKTsKK30KKwogUXVpcmtzOjpRdWlya3MoRG9jdW1lbnQmIGRvY3VtZW50KQogICAg
IDogbV9kb2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCiB7CkBAIC0zOCw5ICs1MCw3NSBA
QCBRdWlya3M6OlF1aXJrcyhEb2N1bWVudCYgZG9jdW1lbnQpCiAKIFF1aXJrczo6flF1aXJrcygp
ID0gZGVmYXVsdDsKIAoraW5saW5lIGJvb2wgUXVpcmtzOjpuZWVkc1F1aXJrcygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fZG9jdW1lbnQgJiYgbV9kb2N1bWVudC0+c2V0dGluZ3MoKS5uZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcygpOworfQorCitib29sIFF1aXJrczo6c2hvdWxkSWdub3JlSW52YWxp
ZFNpZ25hbCgpIGNvbnN0Cit7CisgICAgaWYgKCFuZWVkc1F1aXJrcygpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVy
bCgpLmhvc3QoKTsKKyAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9z
dCwgInd3dy50aHJpdmVwYXRpZW50cG9ydGFsLmNvbSIpOworfQorCitib29sIFF1aXJrczo6bmVl
ZHNGb3JtQ29udHJvbFRvQmVNb3VzZUZvY3VzYWJsZSgpIGNvbnN0Cit7CisjaWYgUExBVEZPUk0o
TUFDKQorICAgIGlmICghbmVlZHNRdWlya3MoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgYXV0byBob3N0ID0gbV9kb2N1bWVudC0+dXJsKCkuaG9zdCgpOworICAgIHJldHVybiBlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAiY2VhYy5zdGF0ZS5nb3YiKSB8fCBob3N0
LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5jZWFjLnN0YXRlLmdvdiIpOworI2Vsc2UKKyAg
ICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCBRdWlya3M6Om5lZWRzQXV0b3BsYXlQ
bGF5UGF1c2VFdmVudHNRdWlyaygpIGNvbnN0Cit7CisgICAgaWYgKCFuZWVkc1F1aXJrcygpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYWxsb3dlZEF1dG9wbGF5UXVpcmtzKCpt
X2RvY3VtZW50KS5jb250YWlucyhBdXRvcGxheVF1aXJrOjpTeW50aGVzaXplZFBhdXNlRXZlbnRz
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gYWxsb3dlZEF1dG9wbGF5UXVp
cmtzKG1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkpLmNvbnRhaW5zKEF1dG9wbGF5UXVpcms6OlN5
bnRoZXNpemVkUGF1c2VFdmVudHMpOworfQorCitib29sIFF1aXJrczo6bmVlZHNTZWVraW5nU3Vw
cG9ydERpc2FibGVkKCkgY29uc3QKK3sKKyAgICBpZiAoIW5lZWRzUXVpcmtzKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGF1dG8gaG9zdCA9IG1fZG9jdW1lbnQtPnRvcERvY3VtZW50
KCkudXJsKCkuaG9zdCgpOworICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShob3N0LCAibmV0ZmxpeC5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2Uo
Ii5uZXRmbGl4LmNvbSIpOworfQorCitib29sIFF1aXJrczo6bmVlZHNQZXJEb2N1bWVudEF1dG9w
bGF5QmVoYXZpb3IoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBBU1NFUlQobV9k
b2N1bWVudCA9PSAmbV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKSk7CisgICAgcmV0dXJuIG5lZWRz
UXVpcmtzKCkgJiYgYWxsb3dlZEF1dG9wbGF5UXVpcmtzKCptX2RvY3VtZW50KS5jb250YWlucyhB
dXRvcGxheVF1aXJrOjpQZXJEb2N1bWVudEF1dG9wbGF5QmVoYXZpb3IpOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCBRdWlya3M6OnNob3VsZEF1dG9wbGF5Rm9y
QXJiaXRyYXJ5VXNlckdlc3R1cmUoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBy
ZXR1cm4gbmVlZHNRdWlya3MoKSAmJiBhbGxvd2VkQXV0b3BsYXlRdWlya3MoKm1fZG9jdW1lbnQp
LmNvbnRhaW5zKEF1dG9wbGF5UXVpcms6OkFyYml0cmFyeVVzZXJHZXN0dXJlcyk7CisjZWxzZQor
ICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiBib29sIFF1aXJrczo6aGFzQnJva2VuRW5j
cnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsoKSBjb25zdAogewotICAgIGlmICghbV9kb2N1bWVu
dCB8fCAhbV9kb2N1bWVudC0+c2V0dGluZ3MoKS5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpKQor
ICAgIGlmICghbmVlZHNRdWlya3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYg
KG1faGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmspCkBAIC02MCw3ICsxMzgs
NyBAQCBib29sIFF1aXJrczo6aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTCiAKIGJvb2wgUXVp
cmtzOjpoYXNXZWJTUUxTdXBwb3J0UXVpcmsoKSBjb25zdAogewotICAgIGlmICghbV9kb2N1bWVu
dCB8fCAhbV9kb2N1bWVudC0+c2V0dGluZ3MoKS5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpKQor
ICAgIGlmICghbmVlZHNRdWlya3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAg
IGlmIChtX2hhc1dlYlNRTFN1cHBvcnRRdWlyaykKQEAgLTY5LDkgKzE0Nyw5IEBAIGJvb2wgUXVp
cmtzOjpoYXNXZWJTUUxTdXBwb3J0UXVpcmsoKSBjb24KICAgICBhdXRvIGRvbWFpbiA9IG1fZG9j
dW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkuZG9tYWluKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2Uo
KTsKICAgICAKICAgICBtX2hhc1dlYlNRTFN1cHBvcnRRdWlyayA9IGRvbWFpbiA9PSAiYm9zdG9u
Z2xvYmUuY29tIgotICAgIHx8IGRvbWFpbi5lbmRzV2l0aCgiLmJvc3Rvbmdsb2JlLmNvbSIpCi0g
ICAgfHwgZG9tYWluID09ICJsYXRpbWVzLmNvbSIKLSAgICB8fCBkb21haW4uZW5kc1dpdGgoIi5s
YXRpbWVzLmNvbSIpOworICAgICAgICB8fCBkb21haW4uZW5kc1dpdGgoIi5ib3N0b25nbG9iZS5j
b20iKQorICAgICAgICB8fCBkb21haW4gPT0gImxhdGltZXMuY29tIgorICAgICAgICB8fCBkb21h
aW4uZW5kc1dpdGgoIi5sYXRpbWVzLmNvbSIpOwogICAgIAogICAgIHJldHVybiBtX2hhc1dlYlNR
TFN1cHBvcnRRdWlyay52YWx1ZSgpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9RdWly
a3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCShyZXZpc2lv
biAyNDI3ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNywxMCArMzcsMTggQEAgcHVibGljOgogICAgIFF1aXJrcyhEb2N1bWVudCYpOwogICAg
IH5RdWlya3MoKTsKIAorICAgIGJvb2wgc2hvdWxkSWdub3JlSW52YWxpZFNpZ25hbCgpIGNvbnN0
OworICAgIGJvb2wgbmVlZHNGb3JtQ29udHJvbFRvQmVNb3VzZUZvY3VzYWJsZSgpIGNvbnN0Owor
ICAgIGJvb2wgbmVlZHNBdXRvcGxheVBsYXlQYXVzZUV2ZW50c1F1aXJrKCkgY29uc3Q7CisgICAg
Ym9vbCBuZWVkc1NlZWtpbmdTdXBwb3J0RGlzYWJsZWQoKSBjb25zdDsKKyAgICBib29sIG5lZWRz
UGVyRG9jdW1lbnRBdXRvcGxheUJlaGF2aW9yKCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRBdXRv
cGxheUZvckFyYml0cmFyeVVzZXJHZXN0dXJlKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNCcm9rZW5F
bmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpIGNvbnN0OwogICAgIGJvb2wgaGFzV2ViU1FM
U3VwcG9ydFF1aXJrKCkgY29uc3Q7CiAKIHByaXZhdGU6CisgICAgYm9vbCBuZWVkc1F1aXJrcygp
IGNvbnN0OworCiAgICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKIAogICAgIG11dGFi
bGUgT3B0aW9uYWw8Ym9vbD4gbV9oYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWly
azsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364376</attachid>
            <date>2019-03-12 04:11:27 -0700</date>
            <delta_ts>2019-03-12 04:38:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-195610-20190312041127.patch</filename>
            <type>text/plain</type>
            <size>13901</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0Mjc5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE5LTAzLTEyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgdGhlIHJlbWFpbmluZyBj
b2RlIHRvIGRlY2lkZSB3aGV0aGVyIHNpdGUgc3BlY2lmaWMgcXVpcmtzIGFyZSBuZWVkZWQgdG8g
UXVpcmtzIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTU2MTAKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAg
ICAgICBNb3ZlZCB0aGUgcmVtYWluaW5nIGNvZGUgc2NhdHRlcmVkIGFjcm9zcyBXZWJDb3JlIHRv
IGRlY2lkZSB3aGV0aGVyIGEgc2l0ZSBzcGVjaWZpYyBxdWlyaworICAgICAgICBpcyBuZWVkZWQg
b3Igbm90IHRvIFF1aXJrcyBjbGFzcyBpbnRyb2R1Y2VkIGluIHIyMzY4MTguCisKKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuZWVk
c1NpZ25hbFF1aXJrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnByb2Nlc3NJbnZhbGlk
U2lnbmFsKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6bmVlZHNNb3VzZUZvY3VzYWJs
ZVF1aXJrIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6bmVlZHNBdXRvcGxheVBsYXlQYXVzZUV2ZW50c1F1aXJrKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmRpc3BhdGNoUGxheVBhdXNl
RXZlbnRzSWZOZWVkc1F1aXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpuZWVkc1NlZWtpbmdTdXBw
b3J0UXVpcmspOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c3VwcG9ydHNTZWVraW5nIGNvbnN0KToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6bmVlZHNBcmJpdHJhcnlVc2VyR2VzdHVyZUF1dG9w
bGF5UXVpcmspOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6bmVlZHNQZXJEb2N1bWVudEF1
dG9wbGF5QmVoYXZpb3JRdWlyayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpwbGF5YmFja1Blcm1pdHRlZCBjb25zdCk6CisgICAgICAgICogcGFnZS9R
dWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWxsb3dlZEF1dG9wbGF5UXVpcmtzKTogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6Om5lZWRzUXVpcmtzIGNvbnN0KTogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZElnbm9yZUludmFsaWRTaWduYWwgY29u
c3QpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlF1aXJrczo6bmVlZHNGb3JtQ29udHJvbFRv
QmVNb3VzZUZvY3VzYWJsZSBjb25zdCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UXVpcmtz
OjpuZWVkc0F1dG9wbGF5UGxheVBhdXNlRXZlbnRzIGNvbnN0KTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpRdWlya3M6Om5lZWRzU2Vla2luZ1N1cHBvcnREaXNhYmxlZCBjb25zdCk6IEFkZGQu
CisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6Om5lZWRzUGVyRG9jdW1lbnRBdXRvcGxheUJlaGF2
aW9yIGNvbnN0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpRdWlya3M6OnNob3VsZEF1dG9w
bGF5Rm9yQXJiaXRyYXJ5VXNlckdlc3R1cmUgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlF1aXJrczo6aGFzQnJva2VuRW5jcnlwdGVkTWVkaWFBUElTdXBwb3J0UXVpcmsgY29uc3Qp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlF1aXJrczo6aGFzV2ViU1FMU3VwcG9ydFF1aXJr
IGNvbnN0KTogRml4ZWQgdGhlIGNvZGluZyBzdHlsZS4KKyAgICAgICAgKiBwYWdlL1F1aXJrcy5o
OgorCiAyMDE5LTAzLTEyICBFbnJpcXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0VNRV1bR1N0cmVhbWVyXSBTcGVjdWxhdGl2ZSBidWlsZCBmaXgK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAJ
KHJldmlzaW9uIDI0Mjc5MCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXF1ZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkhU
VFBQYXJzZXJzLmgiCiAjaW5jbHVkZSAiSlNBYm9ydFNpZ25hbC5oIgogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKKyNpbmNsdWRlICJRdWlya3MuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5o
IgpAQCAtMTQ0LDI1ICsxNDUsMTIgQEAgRXhjZXB0aW9uT3I8dm9pZD4gRmV0Y2hSZXF1ZXN0Ojpp
bml0aWFsaQogICAgIHJldHVybiB7IH07CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBuZWVkc1Np
Z25hbFF1aXJrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCi17Ci0gICAgaWYgKCFp
czxEb2N1bWVudD4oY29udGV4dCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGF1dG8m
IGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpOwotICAgIGlmICghZG9jdW1l
bnQuc2V0dGluZ3MoKS5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICBhdXRvIGhvc3QgPSBkb2N1bWVudC50b3BEb2N1bWVudCgpLnVybCgpLmhv
c3QoKTsKLSAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgInd3
dy50aHJpdmVwYXRpZW50cG9ydGFsLmNvbSIpOwotfQotCiBzdGF0aWMgaW5saW5lIE9wdGlvbmFs
PEV4Y2VwdGlvbj4gcHJvY2Vzc0ludmFsaWRTaWduYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCkKIHsKICAgICBBU0NJSUxpdGVyYWwgbWVzc2FnZSB7ICJGZXRjaFJlcXVlc3RJbml0
LnNpZ25hbCBzaG91bGQgYmUgdW5kZWZpbmVkLCBudWxsIG9yIGFuIEFib3J0U2lnbmFsIG9iamVj
dC4iX3MgfTsKICAgICBjb250ZXh0LmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpT
LCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsIG1lc3NhZ2UpOwogCi0gICAgaWYgKG5lZWRzU2lnbmFs
UXVpcmsoY29udGV4dCkpCisgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSAmJiBkb3duY2Fz
dDxEb2N1bWVudD4oY29udGV4dCkucXVpcmtzKCkuc2hvdWxkSWdub3JlSW52YWxpZFNpZ25hbCgp
KQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAgUkVMRUFTRV9MT0dfRVJST1IoUmVzb3VyY2VM
b2FkaW5nLCAiRmV0Y2hSZXF1ZXN0SW5pdC5zaWduYWwgc2hvdWxkIGJlIHVuZGVmaW5lZCwgbnVs
bCBvciBhbiBBYm9ydFNpZ25hbCBvYmplY3QuIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAJKHJldmlzaW9uIDI0Mjc5MCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRNTExlZ2VuZEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50
LmgiCisjaW5jbHVkZSAiUXVpcmtzLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtNjcyLDE1ICs2NzMs
NyBAQCBBdXRvZmlsbERhdGEgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6YXV0CiAvLyBGSVhNRTog
V2Ugc2hvdWxkIHJlbW92ZSB0aGUgcXVpcmsgb25jZSA8cmRhcjovL3Byb2JsZW0vNDczMzQ2NTU+
IGlzIGZpeGVkLgogYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpuZWVkc01vdXNlRm9jdXNh
YmxlUXVpcmsoKSBjb25zdAogewotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAoIWRvY3VtZW50
KCkuc2V0dGluZ3MoKS5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICBhdXRvIGhvc3QgPSBkb2N1bWVudCgpLnVybCgpLmhvc3QoKTsKLSAgICBy
ZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgImNlYWMuc3RhdGUuZ292
IikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIuY2VhYy5zdGF0ZS5nb3YiKTsK
LSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCisgICAgcmV0dXJuIGRvY3VtZW50KCku
cXVpcmtzKCkubmVlZHNGb3JtQ29udHJvbFRvQmVNb3VzZUZvY3VzYWJsZSgpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJjb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAJKHJldmlzaW9uIDI0Mjc5MCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2MSwxNyArNjYxLDYgQEAgSFRNTE1l
ZGlhRWxlbWVudDo6fkhUTUxNZWRpYUVsZW1lbnQoKQogICAgIG1fbWVkaWFTZXNzaW9uID0gbnVs
bHB0cjsKICAgICBzY2hlZHVsZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVXBkYXRlKCk7CiB9Ci0K
LXN0YXRpYyBib29sIG5lZWRzQXV0b3BsYXlQbGF5UGF1c2VFdmVudHNRdWlyayhjb25zdCBEb2N1
bWVudCYgZG9jdW1lbnQpCi17Ci0gICAgYXV0byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKTsKLSAg
ICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPnNldHRpbmdzKCkubmVlZHNTaXRlU3BlY2lmaWNRdWlya3Mo
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXV0byBsb2FkZXIgPSBtYWtlUmVmUHRy
KGRvY3VtZW50LmxvYWRlcigpKTsKLSAgICByZXR1cm4gbG9hZGVyICYmIGxvYWRlci0+YWxsb3dl
ZEF1dG9wbGF5UXVpcmtzKCkuY29udGFpbnMoQXV0b3BsYXlRdWlyazo6U3ludGhlc2l6ZWRQYXVz
ZUV2ZW50cyk7Ci19Ci0KIFJlZlB0cjxIVE1MTWVkaWFFbGVtZW50PiBIVE1MTWVkaWFFbGVtZW50
OjpiZXN0TWVkaWFFbGVtZW50Rm9yU2hvd2luZ1BsYXliYWNrQ29udHJvbHNNYW5hZ2VyKE1lZGlh
RWxlbWVudFNlc3Npb246OlBsYXliYWNrQ29udHJvbHNQdXJwb3NlIHB1cnBvc2UpCiB7CiAgICAg
YXV0byBhbGxTZXNzaW9ucyA9IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFu
YWdlcigpLmN1cnJlbnRTZXNzaW9uc01hdGNoaW5nKFtdIChjb25zdCBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbiYgc2Vzc2lvbikgewpAQCAtMjQ1MCw4ICsyNDM5LDcgQEAgU3VjY2Vzc09yPE1lZGlhUGxh
eWJhY2tEZW5pYWxSZWFzb24+IEhUTQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmRpc3BhdGNo
UGxheVBhdXNlRXZlbnRzSWZOZWVkc1F1aXJrcygpCiB7Ci0gICAgYXV0byYgZG9jdW1lbnQgPSB0
aGlzLT5kb2N1bWVudCgpOwotICAgIGlmICghbmVlZHNBdXRvcGxheVBsYXlQYXVzZUV2ZW50c1F1
aXJrKGRvY3VtZW50KSAmJiAhbmVlZHNBdXRvcGxheVBsYXlQYXVzZUV2ZW50c1F1aXJrKGRvY3Vt
ZW50LnRvcERvY3VtZW50KCkpKQorICAgIGlmICghZG9jdW1lbnQoKS5xdWlya3MoKS5uZWVkc0F1
dG9wbGF5UGxheVBhdXNlRXZlbnRzKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUik7CkBAIC03NzEzLDE4ICs3NzAxLDkgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpkaWRSZWNlaXZlUmVtb3RlQwogICAgIH0KIH0KIAotc3RhdGljIGJvb2wgbmVlZHNT
ZWVraW5nU3VwcG9ydFF1aXJrKERvY3VtZW50JiBkb2N1bWVudCkKLXsKLSAgICBpZiAoIWRvY3Vt
ZW50LnNldHRpbmdzKCkubmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgYXV0byBob3N0ID0gZG9jdW1lbnQudG9wRG9jdW1lbnQoKS51cmwoKS5o
b3N0KCk7Ci0gICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJu
ZXRmbGl4LmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLm5ldGZsaXgu
Y29tIik7Ci19Ci0KIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6c3VwcG9ydHNTZWVraW5nKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gIW5lZWRzU2Vla2luZ1N1cHBvcnRRdWlyayhkb2N1bWVudCgpKSAm
JiAhaXNMaXZlU3RyZWFtKCk7CisgICAgcmV0dXJuICFkb2N1bWVudCgpLnF1aXJrcygpLm5lZWRz
U2Vla2luZ1N1cHBvcnREaXNhYmxlZCgpICYmICFpc0xpdmVTdHJlYW0oKTsKIH0KIAogYm9vbCBI
VE1MTWVkaWFFbGVtZW50OjpzaG91bGRPdmVycmlkZUJhY2tncm91bmRQbGF5YmFja1Jlc3RyaWN0
aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1cHRpb25UeXBlIHR5cGUpIGNvbnN0Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAJKHJldmlz
aW9uIDI0Mjc5MCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
ci5oIgorI2luY2x1ZGUgIlF1aXJrcy5oIgogI2luY2x1ZGUgIlJlbmRlck1lZGlhLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKQEAgLTI0
NCwyNiArMjQ1LDYgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZW1vdmVCZWhhdmlvcgog
ICAgIG1fcmVzdHJpY3Rpb25zICY9IH5yZXN0cmljdGlvbjsKIH0KIAotI2lmIFBMQVRGT1JNKE1B
QykKLXN0YXRpYyBib29sIG5lZWRzQXJiaXRyYXJ5VXNlckdlc3R1cmVBdXRvcGxheVF1aXJrKGNv
bnN0IERvY3VtZW50JiBkb2N1bWVudCkKLXsKLSAgICBpZiAoIWRvY3VtZW50LnNldHRpbmdzKCku
bmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAg
YXV0byBsb2FkZXIgPSBtYWtlUmVmUHRyKGRvY3VtZW50LmxvYWRlcigpKTsKLSAgICByZXR1cm4g
bG9hZGVyICYmIGxvYWRlci0+YWxsb3dlZEF1dG9wbGF5UXVpcmtzKCkuY29udGFpbnMoQXV0b3Bs
YXlRdWlyazo6QXJiaXRyYXJ5VXNlckdlc3R1cmVzKTsKLX0KLSNlbmRpZiAvLyBQTEFURk9STShN
QUMpCi0KLXN0YXRpYyBib29sIG5lZWRzUGVyRG9jdW1lbnRBdXRvcGxheUJlaGF2aW9yUXVpcmso
Y29uc3QgRG9jdW1lbnQmIGRvY3VtZW50KQotewotICAgIGlmICghZG9jdW1lbnQuc2V0dGluZ3Mo
KS5uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcygpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBhdXRvIGxvYWRlciA9IG1ha2VSZWZQdHIoZG9jdW1lbnQubG9hZGVyKCkpOwotICAgIHJldHVy
biBsb2FkZXIgJiYgbG9hZGVyLT5hbGxvd2VkQXV0b3BsYXlRdWlya3MoKS5jb250YWlucyhBdXRv
cGxheVF1aXJrOjpQZXJEb2N1bWVudEF1dG9wbGF5QmVoYXZpb3IpOwotfQotCiBTdWNjZXNzT3I8
TWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbj4gTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tQ
ZXJtaXR0ZWQoKSBjb25zdAogewogICAgIGlmIChtX2VsZW1lbnQuaXNTdXNwZW5kZWQoKSkgewpA
QCAtMzAxLDE0ICsyODIsMTMgQEAgU3VjY2Vzc09yPE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb24+
IE1lZAogICAgIH0KICNlbmRpZgogCisgICAgLy8gRklYTUU6IFdoeSBhcmUgd2UgY2hlY2tpbmcg
dG9wLWxldmVsIGRvY3VtZW50IG9ubHkgZm9yIFBlckRvY3VtZW50QXV0b3BsYXlCZWhhdmlvcj8K
ICAgICBjb25zdCBhdXRvJiB0b3BEb2N1bWVudCA9IGRvY3VtZW50LnRvcERvY3VtZW50KCk7Ci0g
ICAgaWYgKHRvcERvY3VtZW50Lm1lZGlhU3RhdGUoKSAmIE1lZGlhUHJvZHVjZXI6Okhhc1VzZXJJ
bnRlcmFjdGVkV2l0aE1lZGlhRWxlbWVudCAmJiBuZWVkc1BlckRvY3VtZW50QXV0b3BsYXlCZWhh
dmlvclF1aXJrKHRvcERvY3VtZW50KSkKKyAgICBpZiAodG9wRG9jdW1lbnQubWVkaWFTdGF0ZSgp
ICYgTWVkaWFQcm9kdWNlcjo6SGFzVXNlckludGVyYWN0ZWRXaXRoTWVkaWFFbGVtZW50ICYmIHRv
cERvY3VtZW50LnF1aXJrcygpLm5lZWRzUGVyRG9jdW1lbnRBdXRvcGxheUJlaGF2aW9yKCkpCiAg
ICAgICAgIHJldHVybiB7IH07CiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKGRvY3VtZW50
Lmhhc0hhZFVzZXJJbnRlcmFjdGlvbigpICYmIG5lZWRzQXJiaXRyYXJ5VXNlckdlc3R1cmVBdXRv
cGxheVF1aXJrKGRvY3VtZW50KSkKKyAgICBpZiAoZG9jdW1lbnQuaGFzSGFkVXNlckludGVyYWN0
aW9uKCkgJiYgZG9jdW1lbnQucXVpcmtzKCkuc2hvdWxkQXV0b3BsYXlGb3JBcmJpdHJhcnlVc2Vy
R2VzdHVyZSgpKQogICAgICAgICByZXR1cm4geyB9OwotI2VuZGlmCiAKICAgICBpZiAobV9yZXN0
cmljdGlvbnMgJiBSZXF1aXJlVXNlckdlc3R1cmVGb3JWaWRlb1JhdGVDaGFuZ2UgJiYgbV9lbGVt
ZW50LmlzVmlkZW8oKSAmJiAhZG9jdW1lbnQucHJvY2Vzc2luZ1VzZXJHZXN0dXJlRm9yTWVkaWEo
KSkgewogICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJSZXR1cm5pbmcgRkFMU0Ug
YmVjYXVzZSBhIHVzZXIgZ2VzdHVyZSBpcyByZXF1aXJlZCBmb3IgdmlkZW8gcmF0ZSBjaGFuZ2Ug
cmVzdHJpY3Rpb24iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAJKHJldmlzaW9uIDI0Mjc5
MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjcsMTAgKzI3LDIyIEBACiAjaW5jbHVkZSAiUXVpcmtzLmgiCiAKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiSFRNTE1ldGFFbGVt
ZW50LmgiCisjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJTZXR0aW5n
cy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBpbmxpbmUgT3B0aW9uU2V0PEF1
dG9wbGF5UXVpcms+IGFsbG93ZWRBdXRvcGxheVF1aXJrcyhEb2N1bWVudCYgZG9jdW1lbnQpCit7
CisgICAgYXV0byogbG9hZGVyID0gZG9jdW1lbnQubG9hZGVyKCk7CisgICAgaWYgKCFsb2FkZXIp
CisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gbG9hZGVyLT5hbGxvd2VkQXV0b3Bs
YXlRdWlya3MoKTsKK30KKwogUXVpcmtzOjpRdWlya3MoRG9jdW1lbnQmIGRvY3VtZW50KQogICAg
IDogbV9kb2N1bWVudChtYWtlV2Vha1B0cihkb2N1bWVudCkpCiB7CkBAIC0zOCw5ICs1MCw3NSBA
QCBRdWlya3M6OlF1aXJrcyhEb2N1bWVudCYgZG9jdW1lbnQpCiAKIFF1aXJrczo6flF1aXJrcygp
ID0gZGVmYXVsdDsKIAoraW5saW5lIGJvb2wgUXVpcmtzOjpuZWVkc1F1aXJrcygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fZG9jdW1lbnQgJiYgbV9kb2N1bWVudC0+c2V0dGluZ3MoKS5uZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcygpOworfQorCitib29sIFF1aXJrczo6c2hvdWxkSWdub3JlSW52YWxp
ZFNpZ25hbCgpIGNvbnN0Cit7CisgICAgaWYgKCFuZWVkc1F1aXJrcygpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVy
bCgpLmhvc3QoKTsKKyAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9z
dCwgInd3dy50aHJpdmVwYXRpZW50cG9ydGFsLmNvbSIpOworfQorCitib29sIFF1aXJrczo6bmVl
ZHNGb3JtQ29udHJvbFRvQmVNb3VzZUZvY3VzYWJsZSgpIGNvbnN0Cit7CisjaWYgUExBVEZPUk0o
TUFDKQorICAgIGlmICghbmVlZHNRdWlya3MoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgYXV0byBob3N0ID0gbV9kb2N1bWVudC0+dXJsKCkuaG9zdCgpOworICAgIHJldHVybiBlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAiY2VhYy5zdGF0ZS5nb3YiKSB8fCBob3N0
LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5jZWFjLnN0YXRlLmdvdiIpOworI2Vsc2UKKyAg
ICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworYm9vbCBRdWlya3M6Om5lZWRzQXV0b3BsYXlQ
bGF5UGF1c2VFdmVudHMoKSBjb25zdAoreworICAgIGlmICghbmVlZHNRdWlya3MoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGFsbG93ZWRBdXRvcGxheVF1aXJrcygqbV9kb2N1
bWVudCkuY29udGFpbnMoQXV0b3BsYXlRdWlyazo6U3ludGhlc2l6ZWRQYXVzZUV2ZW50cykpCisg
ICAgICAgIHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGFsbG93ZWRBdXRvcGxheVF1aXJrcyht
X2RvY3VtZW50LT50b3BEb2N1bWVudCgpKS5jb250YWlucyhBdXRvcGxheVF1aXJrOjpTeW50aGVz
aXplZFBhdXNlRXZlbnRzKTsKK30KKworYm9vbCBRdWlya3M6Om5lZWRzU2Vla2luZ1N1cHBvcnRE
aXNhYmxlZCgpIGNvbnN0Cit7CisgICAgaWYgKCFuZWVkc1F1aXJrcygpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBhdXRvIGhvc3QgPSBtX2RvY3VtZW50LT50b3BEb2N1bWVudCgpLnVy
bCgpLmhvc3QoKTsKKyAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9z
dCwgIm5ldGZsaXguY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIubmV0
ZmxpeC5jb20iKTsKK30KKworYm9vbCBRdWlya3M6Om5lZWRzUGVyRG9jdW1lbnRBdXRvcGxheUJl
aGF2aW9yKCkgY29uc3QKK3sKKyNpZiBQTEFURk9STShNQUMpCisgICAgQVNTRVJUKG1fZG9jdW1l
bnQgPT0gJm1fZG9jdW1lbnQtPnRvcERvY3VtZW50KCkpOworICAgIHJldHVybiBuZWVkc1F1aXJr
cygpICYmIGFsbG93ZWRBdXRvcGxheVF1aXJrcygqbV9kb2N1bWVudCkuY29udGFpbnMoQXV0b3Bs
YXlRdWlyazo6UGVyRG9jdW1lbnRBdXRvcGxheUJlaGF2aW9yKTsKKyNlbHNlCisgICAgcmV0dXJu
IGZhbHNlOworI2VuZGlmCit9CisKK2Jvb2wgUXVpcmtzOjpzaG91bGRBdXRvcGxheUZvckFyYml0
cmFyeVVzZXJHZXN0dXJlKCkgY29uc3QKK3sKKyNpZiBQTEFURk9STShNQUMpCisgICAgcmV0dXJu
IG5lZWRzUXVpcmtzKCkgJiYgYWxsb3dlZEF1dG9wbGF5UXVpcmtzKCptX2RvY3VtZW50KS5jb250
YWlucyhBdXRvcGxheVF1aXJrOjpBcmJpdHJhcnlVc2VyR2VzdHVyZXMpOworI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogYm9vbCBRdWlya3M6Omhhc0Jyb2tlbkVuY3J5cHRl
ZE1lZGlhQVBJU3VwcG9ydFF1aXJrKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fZG9jdW1lbnQgfHwg
IW1fZG9jdW1lbnQtPnNldHRpbmdzKCkubmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSkKKyAgICBp
ZiAoIW5lZWRzUXVpcmtzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChtX2hh
c0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrKQpAQCAtNjAsNyArMTM4LDcgQEAg
Ym9vbCBRdWlya3M6Omhhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJUwogCiBib29sIFF1aXJrczo6
aGFzV2ViU1FMU3VwcG9ydFF1aXJrKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fZG9jdW1lbnQgfHwg
IW1fZG9jdW1lbnQtPnNldHRpbmdzKCkubmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSkKKyAgICBp
ZiAoIW5lZWRzUXVpcmtzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKICAgICBpZiAo
bV9oYXNXZWJTUUxTdXBwb3J0UXVpcmspCkBAIC02OSw5ICsxNDcsOSBAQCBib29sIFF1aXJrczo6
aGFzV2ViU1FMU3VwcG9ydFF1aXJrKCkgY29uCiAgICAgYXV0byBkb21haW4gPSBtX2RvY3VtZW50
LT5zZWN1cml0eU9yaWdpbigpLmRvbWFpbigpLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7CiAg
ICAgCiAgICAgbV9oYXNXZWJTUUxTdXBwb3J0UXVpcmsgPSBkb21haW4gPT0gImJvc3Rvbmdsb2Jl
LmNvbSIKLSAgICB8fCBkb21haW4uZW5kc1dpdGgoIi5ib3N0b25nbG9iZS5jb20iKQotICAgIHx8
IGRvbWFpbiA9PSAibGF0aW1lcy5jb20iCi0gICAgfHwgZG9tYWluLmVuZHNXaXRoKCIubGF0aW1l
cy5jb20iKTsKKyAgICAgICAgfHwgZG9tYWluLmVuZHNXaXRoKCIuYm9zdG9uZ2xvYmUuY29tIikK
KyAgICAgICAgfHwgZG9tYWluID09ICJsYXRpbWVzLmNvbSIKKyAgICAgICAgfHwgZG9tYWluLmVu
ZHNXaXRoKCIubGF0aW1lcy5jb20iKTsKICAgICAKICAgICByZXR1cm4gbV9oYXNXZWJTUUxTdXBw
b3J0UXVpcmsudmFsdWUoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaAkocmV2aXNpb24gMjQy
NzkwKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaAkod29ya2luZyBjb3B5KQpAQCAt
MzcsMTAgKzM3LDE4IEBAIHB1YmxpYzoKICAgICBRdWlya3MoRG9jdW1lbnQmKTsKICAgICB+UXVp
cmtzKCk7CiAKKyAgICBib29sIHNob3VsZElnbm9yZUludmFsaWRTaWduYWwoKSBjb25zdDsKKyAg
ICBib29sIG5lZWRzRm9ybUNvbnRyb2xUb0JlTW91c2VGb2N1c2FibGUoKSBjb25zdDsKKyAgICBi
b29sIG5lZWRzQXV0b3BsYXlQbGF5UGF1c2VFdmVudHMoKSBjb25zdDsKKyAgICBib29sIG5lZWRz
U2Vla2luZ1N1cHBvcnREaXNhYmxlZCgpIGNvbnN0OworICAgIGJvb2wgbmVlZHNQZXJEb2N1bWVu
dEF1dG9wbGF5QmVoYXZpb3IoKSBjb25zdDsKKyAgICBib29sIHNob3VsZEF1dG9wbGF5Rm9yQXJi
aXRyYXJ5VXNlckdlc3R1cmUoKSBjb25zdDsKICAgICBib29sIGhhc0Jyb2tlbkVuY3J5cHRlZE1l
ZGlhQVBJU3VwcG9ydFF1aXJrKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNXZWJTUUxTdXBwb3J0UXVp
cmsoKSBjb25zdDsKIAogcHJpdmF0ZToKKyAgICBib29sIG5lZWRzUXVpcmtzKCkgY29uc3Q7CisK
ICAgICBXZWFrUHRyPERvY3VtZW50PiBtX2RvY3VtZW50OwogCiAgICAgbXV0YWJsZSBPcHRpb25h
bDxib29sPiBtX2hhc0Jyb2tlbkVuY3J5cHRlZE1lZGlhQVBJU3VwcG9ydFF1aXJrOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>