<?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>209883</bug_id>
          
          <creation_ts>2020-04-01 15:03:21 -0700</creation_ts>
          <short_desc>Remove some PLATFORM(IOS_FAMILY) guards in TextFieldInputType</short_desc>
          <delta_ts>2020-04-01 17:35:09 -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>WebCore Misc.</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>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1636674</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-04-01 15:03:21 -0700</bug_when>
    <thetext>Consult a client hook at runtime instead to keep the implementation platform-agnostic(-ish).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636677</commentid>
    <comment_count>1</comment_count>
      <attachid>395208</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-04-01 15:09:35 -0700</bug_when>
    <thetext>Created attachment 395208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636679</commentid>
    <comment_count>2</comment_count>
      <attachid>395210</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-04-01 15:18:58 -0700</bug_when>
    <thetext>Created attachment 395210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636682</commentid>
    <comment_count>3</comment_count>
      <attachid>395210</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-01 15:25:04 -0700</bug_when>
    <thetext>Comment on attachment 395210
Patch

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

&gt; Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp:814
&gt; +#if PLATFORM(IOS_FAMILY)
&gt; +    return true;
&gt; +#else
&gt; +    return false;
&gt; +#endif

If this is just a platform conditional, do we really need to use the client design pattern? Or perhaps there is some way this is likely to be dynamic in the future that we are preparing for?

The client system is mildly elaborate and is worthwhile mainly when we want a true separation of concerns between WebCore and WebKit layers, not just for platform differences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636685</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-01 15:25:34 -0700</bug_when>
    <thetext>The idea of having this be a runtime check seems fine. But calling across framework boundaries to a client seems like it might be overkill.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636688</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-04-01 15:27:45 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; The idea of having this be a runtime check seems fine. But calling across
&gt; framework boundaries to a client seems like it might be overkill.

Fair point! Perhaps this would be cleaner?

bool TextFieldInputType::shouldOnlyShowDataListDropdownButtonWhenFocusedOrEdited() const
{
#if PLATFORM(IOS_FAMILY)
    return true;
#else
    return false;
#endif
}

(...instead of all the client plumbing).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636690</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-01 15:29:59 -0700</bug_when>
    <thetext>Yes, seems better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636691</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-01 15:31:01 -0700</bug_when>
    <thetext>Another possible consideration is that sometimes we want a way to change something like this for test purposes so we can test both code paths on both platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636692</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-01 15:31:42 -0700</bug_when>
    <thetext>One thing like this, that we established a bit of a design pattern for, is the &quot;editing behaviors&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636703</commentid>
    <comment_count>9</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-04-01 15:48:15 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; One thing like this, that we established a bit of a design pattern for, is
&gt; the &quot;editing behaviors&quot;.

I see! This *might* be sufficiently relevant to editing that it could be refactored into an editing behavior, but I’m not sure we have a need for it quite yet (even for testing).

Would you be okay with leaving it as a helper function on TextFieldInputType that returns a bool?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636715</commentid>
    <comment_count>10</comment_count>
      <attachid>395218</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-04-01 16:05:14 -0700</bug_when>
    <thetext>Created attachment 395218
v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636716</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-01 16:09:56 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #9)
&gt; Would you be okay with leaving it as a helper function on TextFieldInputType
&gt; that returns a bool?

Yes. Can always tweak it again later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636717</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-01 16:10:26 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #11)
&gt; (In reply to Wenson Hsieh from comment #9)
&gt; &gt; Would you be okay with leaving it as a helper function on TextFieldInputType
&gt; &gt; that returns a bool?
&gt; 
&gt; Yes. Can always tweak it again later.

For example, could just change it to a static member function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636719</commentid>
    <comment_count>13</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-04-01 16:13:36 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #12)
&gt; (In reply to Darin Adler from comment #11)
&gt; &gt; (In reply to Wenson Hsieh from comment #9)
&gt; &gt; &gt; Would you be okay with leaving it as a helper function on TextFieldInputType
&gt; &gt; &gt; that returns a bool?
&gt; &gt; 
&gt; &gt; Yes. Can always tweak it again later.
&gt; 
&gt; For example, could just change it to a static member function.

Ah, sure — since this isn’t something that varies between instances of TextFieldInputType, a static helper makes more sense. I’ll tweak the patch to make it static and go with that. Thanks for the feedback!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636727</commentid>
    <comment_count>14</comment_count>
      <attachid>395220</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-04-01 16:20:01 -0700</bug_when>
    <thetext>Created attachment 395220
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636750</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-01 17:35:08 -0700</bug_when>
    <thetext>Committed r259375: &lt;https://trac.webkit.org/changeset/259375&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395220.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395208</attachid>
            <date>2020-04-01 15:09:35 -0700</date>
            <delta_ts>2020-04-01 15:12:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209883-20200401150934.patch</filename>
            <type>text/plain</type>
            <size>11049</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE1MjZiOTMxNDUzM2Yx
MTk1YTMzYTU3NWFiYWE4NGZkNjdkYzdkZi4uYWYxODkwN2M5ZTMwMzM4ZmY0NzMzZjcyNzM4NTgy
ZjYzNDdhMmI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA0LTAxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzb21l
IFBMQVRGT1JNKElPU19GQU1JTFkpIGd1YXJkcyBpbiBUZXh0RmllbGRJbnB1dFR5cGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTg4MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgbG9naWMgdGhh
dCB3YXMgcHJldmlvdXNseSBndWFyZGVkIGF0IGNvbXBpbGUtdGltZSBmb3IgaU9TIG9ubHkgaW4g
VGV4dEZpZWxkSW5wdXRUeXBlLmNwcCB0byBhIENocm9tZUNsaWVudAorICAgICAgICBob29rIHRo
YXQgaXMgY29uc3VsdGVkIGF0IHJ1bnRpbWUuIFRoaXMgbWFrZXMgdGhlIGludGVudGlvbiBiZWhp
bmQgdGhlIGlPUy1zcGVjaWZpYyBsb2dpYyBtb3JlIHNlbGYtZXZpZGVudCwgYXMKKyAgICAgICAg
d2VsbC4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogaHRtbC9UZXh0RmllbGRJ
bnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjpoYW5k
bGVGb2N1c0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6aGFu
ZGxlQmx1ckV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6Y3Jl
YXRlRGF0YUxpc3REcm9wZG93bkluZGljYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Rmll
bGRJbnB1dFR5cGU6OnNob3VsZE9ubHlTaG93RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1
c2VkT3JFZGl0ZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBl
OjpkaWRTZXRWYWx1ZUJ5VXNlckVkaXQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5w
dXRUeXBlOjpsaXN0QXR0cmlidXRlVGFyZ2V0Q2hhbmdlZCk6CisgICAgICAgICogaHRtbC9UZXh0
RmllbGRJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKwogMjAyMC0wNC0wMSAgeW91ZW5uIGZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVtcCBsaWJ3ZWJydGMgdG8gTTgyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGI0YjkzODVlNzJjMDZmZTY3YzkxZTAxODg3Y2E3NDJjZTk4NzA4NGIuLmIwMjBlZjgz
OTM3Njg3NmUyZWU3ZTQ3MjRmODU1M2RiYWRhNThkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjAtMDQtMDEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3ZlIHNvbWUgUExBVEZPUk0oSU9TX0ZBTUlMWSkgZ3VhcmRzIGluIFRleHRG
aWVsZElucHV0VHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA5ODgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2VlIFdlYkNvcmUgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3du
QnV0dG9uV2hlbkZvY3VzZWRPckVkaXRlZCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAyMC0wNC0wMSAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFdlYlBhc3RlYm9h
cmRQcm94eTo6ZGlkTW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQgcm9idXN0IHdoZW4gcGFzdGVi
b2FyZE5hbWUgaXMgbnVsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGI5N2I1NTRh
ODA0NjU4NDVjY2ZjY2JmNWJhNjgyMjA0YzEyMzUyYjcuLmFiMzcyMDFmZjQyZWRhMTFhZjgyODNi
M2ZiMzBmZGViOTE3NjAyOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMC0wNC0wMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgc29tZSBQTEFURk9STShJT1NfRkFNSUxZKSBndWFyZHMgaW4g
VGV4dEZpZWxkSW5wdXRUeXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDk4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIwLTAzLTMxICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIERhdGFsaXN0
IG9wdGlvbidzIGxhYmVsIG5vdCB1c2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RleHRGaWVsZElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElu
cHV0VHlwZS5jcHAKaW5kZXggM2NhZTM4ZDVmMDY2MDAwNTEyOWUwYTE2ZWQyMGNjZDg2MWI4Nzhi
ZC4uN2UyYWZmOThjMTlhMGNiZGJmMDY3NWRmZGM4NmY0ODJjYTIxOGZlYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcApAQCAtMjY4LDggKzI2OCw4IEBAIHZv
aWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KE5vZGUqIG9sZEZvY3VzZWRO
b2RlLCBGb2N1c0RpcmVjdGlvbikKICAgICBBU1NFUlRfVU5VU0VEKG9sZEZvY3VzZWROb2RlLCBv
bGRGb2N1c2VkTm9kZSAhPSBlbGVtZW50KCkpOwogICAgIGlmIChSZWZQdHI8RnJhbWU+IGZyYW1l
ID0gZWxlbWVudCgpLT5kb2N1bWVudCgpLmZyYW1lKCkpIHsKICAgICAgICAgZnJhbWUtPmVkaXRv
cigpLnRleHRGaWVsZERpZEJlZ2luRWRpdGluZyhlbGVtZW50KCkpOwotI2lmIEVOQUJMRShEQVRB
TElTVF9FTEVNRU5UKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBpZiAoZWxlbWVu
dCgpLT5saXN0KCkgJiYgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yKQorI2lmIEVOQUJMRShE
QVRBTElTVF9FTEVNRU5UKQorICAgICAgICBpZiAoc2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bk
b3duQnV0dG9uV2hlbkZvY3VzZWRPckVkaXRlZCgpICYmIGVsZW1lbnQoKS0+bGlzdCgpICYmIG1f
ZGF0YUxpc3REcm9wZG93bkluZGljYXRvcikKICAgICAgICAgICAgIG1fZGF0YUxpc3REcm9wZG93
bkluZGljYXRvci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIHN1
Z2dlc3Rpb25zKCkuc2l6ZSgpID8gQ1NTVmFsdWVCbG9jayA6IENTU1ZhbHVlTm9uZSwgdHJ1ZSk7
CiAjZW5kaWYKICAgICB9CkBAIC0yODAsOCArMjgwLDggQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5
cGU6OmhhbmRsZUJsdXJFdmVudCgpCiAgICAgSW5wdXRUeXBlOjpoYW5kbGVCbHVyRXZlbnQoKTsK
ICAgICBBU1NFUlQoZWxlbWVudCgpKTsKICAgICBlbGVtZW50KCktPmVuZEVkaXRpbmcoKTsKLSNp
ZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBp
ZiAoZWxlbWVudCgpLT5saXN0KCkgJiYgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yKQorI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQorICAgIGlmIChzaG91bGRPbmx5U2hvd0RhdGFMaXN0
RHJvcGRvd25CdXR0b25XaGVuRm9jdXNlZE9yRWRpdGVkKCkgJiYgZWxlbWVudCgpLT5saXN0KCkg
JiYgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yKQogICAgICAgICBtX2RhdGFMaXN0RHJvcGRv
d25JbmRpY2F0b3ItPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXNwbGF5LCBD
U1NWYWx1ZU5vbmUsIHRydWUpOwogI2VuZGlmCiB9CkBAIC00NDgsNiArNDQ4LDcgQEAgYm9vbCBU
ZXh0RmllbGRJbnB1dFR5cGU6OnNob3VsZFVzZUlucHV0TWV0aG9kKCkgY29uc3QKIH0KIAogI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQorCiB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6Y3Jl
YXRlRGF0YUxpc3REcm9wZG93bkluZGljYXRvcigpCiB7CiAgICAgQVNTRVJUKCFtX2RhdGFMaXN0
RHJvcGRvd25JbmRpY2F0b3IpOwpAQCAtNDU5LDkgKzQ2MCwyMSBAQCB2b2lkIFRleHRGaWVsZElu
cHV0VHlwZTo6Y3JlYXRlRGF0YUxpc3REcm9wZG93bkluZGljYXRvcigpCiAgICAgbV9jb250YWlu
ZXItPmFwcGVuZENoaWxkKCptX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpOwogICAgIG1fZGF0
YUxpc3REcm9wZG93bkluZGljYXRvci0+c2V0UHNldWRvKEF0b21TdHJpbmcoIi13ZWJraXQtbGlz
dC1idXR0b24iLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwogICAgIG1fZGF0
YUxpc3REcm9wZG93bkluZGljYXRvci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eURpc3BsYXksIENTU1ZhbHVlTm9uZSwgdHJ1ZSk7Cit9CiAKK3ZvaWQgVGV4dEZpZWxkSW5wdXRU
eXBlOjpzaG91bGRPbmx5U2hvd0RhdGFMaXN0RHJvcGRvd25CdXR0b25XaGVuRm9jdXNlZE9yRWRp
dGVkKCkgY29uc3QKK3sKKyAgICBpZiAoIWVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgYXV0byogcGFnZSA9IGVsZW1lbnQoKS0+ZG9jdW1lbnQoKS5wYWdlKCk7CisgICAg
aWYgKCFwYWdlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gcGFnZS0+Y2hy
b21lKCkuY2xpZW50KCkuc2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3duQnV0dG9uV2hlbkZv
Y3VzZWRPckVkaXRlZCgpOwogfQotI2VuZGlmCisKKyNlbmRpZiAvLyBFTkFCTEUoREFUQUxJU1Rf
RUxFTUVOVCkKIAogc3RhdGljIFN0cmluZyBsaW1pdExlbmd0aChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgdW5zaWduZWQgbWF4TnVtR3JhcGhlbWVDbHVzdGVycykKIHsKQEAgLTY2NywxMCArNjgwLDkg
QEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OmRpZFNldFZhbHVlQnlVc2VyRWRpdCgpCiAgICAg
aWYgKFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBlbGVtZW50KCktPmRvY3VtZW50KCkuZnJhbWUoKSkK
ICAgICAgICAgZnJhbWUtPmVkaXRvcigpLnRleHREaWRDaGFuZ2VJblRleHRGaWVsZChlbGVtZW50
KCkpOwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQotI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgaWYgKGVsZW1lbnQoKS0+bGlzdCgpICYmIG1fZGF0YUxpc3REcm9wZG93bkluZGlj
YXRvcikKKyAgICBpZiAoc2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3duQnV0dG9uV2hlbkZv
Y3VzZWRPckVkaXRlZCgpICYmIGVsZW1lbnQoKS0+bGlzdCgpICYmIG1fZGF0YUxpc3REcm9wZG93
bkluZGljYXRvcikKICAgICAgICAgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yLT5zZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgc3VnZ2VzdGlvbnMoKS5zaXplKCkg
PyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lLCB0cnVlKTsKLSNlbmRpZgorCiAgICAgaWYg
KGVsZW1lbnQoKS0+bGlzdCgpKQogICAgICAgICBkaXNwbGF5U3VnZ2VzdGlvbnMoRGF0YUxpc3RT
dWdnZXN0aW9uQWN0aXZhdGlvblR5cGU6OlRleHRDaGFuZ2VkKTsKICNlbmRpZgpAQCAtODMzLDkg
Kzg0NSw4IEBAIHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpsaXN0QXR0cmlidXRlVGFyZ2V0Q2hh
bmdlZCgpCiAgICAgaWYgKCFtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCiAgICAgICAgIGNy
ZWF0ZURhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IoKTsKIAotI2lmICFQTEFURk9STShJT1NfRkFN
SUxZKQotICAgIG1fZGF0YUxpc3REcm9wZG93bkluZGljYXRvci0+c2V0SW5saW5lU3R5bGVQcm9w
ZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIGVsZW1lbnQoKS0+bGlzdCgpID8gQ1NTVmFsdWVCbG9j
ayA6IENTU1ZhbHVlTm9uZSwgdHJ1ZSk7Ci0jZW5kaWYKKyAgICBpZiAoIXNob3VsZE9ubHlTaG93
RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSkKKyAgICAgICAgbV9k
YXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3Bl
cnR5RGlzcGxheSwgZWxlbWVudCgpLT5saXN0KCkgPyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVO
b25lLCB0cnVlKTsKIH0KIAogSFRNTEVsZW1lbnQqIFRleHRGaWVsZElucHV0VHlwZTo6ZGF0YUxp
c3RCdXR0b25FbGVtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
VGV4dEZpZWxkSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0
VHlwZS5oCmluZGV4IDVhMTdmMTU4MjFhMGRkMDYwNzI3YWE5ZWEwZTljNDQxOGEwYTc3NDQuLjE3
ODEzYjUyMjE0MTA4MzhkNGJjNzIyNTI0ZTQwOGE2OWM2NWYxMTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaApAQCAtMTM3LDYgKzEzNyw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRDbG9zZVN1Z2dlc3Rpb25zKCkgZmluYWw7CiAKICAgICB2b2lkIGRhdGFMaXN0
QnV0dG9uRWxlbWVudFdhc0NsaWNrZWQoKSBmaW5hbDsKKyAgICBib29sIHNob3VsZE9ubHlTaG93
RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSBmaW5hbDsKICAgICBS
ZWZQdHI8RGF0YUxpc3RCdXR0b25FbGVtZW50PiBtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3I7
CiAKICAgICBzdGQ6OnBhaXI8U3RyaW5nLCBWZWN0b3I8RGF0YUxpc3RTdWdnZXN0aW9uPj4gbV9j
YWNoZWRTdWdnZXN0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBi
OGQxMTE2OGM2OTM4ZThiMzdmZTY0NGY5ZDQxZDZhZDQyZjUzOGMzLi41OTVhYTFmZDE3M2IxMmMz
YTEwOTE4ZGRmYWQyODk2NGFmMTI4YTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCkBAIC0xMzQsNiArMTM0LDcgQEAgY2xhc3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJsaWMg
Q2hyb21lQ2xpZW50IHsKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RGF0YUxpc3RTdWdnZXN0aW9uUGlja2VyPiBjcmVhdGVEYXRhTGlzdFN1Z2dlc3Rp
b25QaWNrZXIoRGF0YUxpc3RTdWdnZXN0aW9uc0NsaWVudCYpIGZpbmFsOwogICAgIGJvb2wgY2Fu
U2hvd0RhdGFMaXN0U3VnZ2VzdGlvbkxhYmVscygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNl
OyB9CisgICAgYm9vbCBzaG91bGRPbmx5U2hvd0RhdGFMaXN0RHJvcGRvd25CdXR0b25XaGVuRm9j
dXNlZE9yRWRpdGVkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAg
ICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUmLCBGaWxlQ2hvb3NlciYpIGZpbmFsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNDk0OWZlYTg1ZGMwMTc4ZWMxODk4NDM0OGM5ZTQx
Y2RlM2E5NDhjNi4uYmNmM2ViNTc2YmRjMzUwNjc5MDU4ZjBhMTc2OWU2YzUyOGQ5OGRiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yODAsNiArMjgwLDcgQEAgcHVibGljOgog
I2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRy
PERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlcj4gY3JlYXRlRGF0YUxpc3RTdWdnZXN0aW9uUGlja2Vy
KERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhblNo
b3dEYXRhTGlzdFN1Z2dlc3Rpb25MYWJlbHMoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29s
IHNob3VsZE9ubHlTaG93RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQo
KSBjb25zdCA9IDA7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJh
bWUmLCBGaWxlQ2hvb3NlciYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNTQzZGUy
M2RhODllMWI3NGRiYTk3YWExYTM5NTNmMmNmNjlhNGQxYy4uYmExNDhhODRiOGUwZmYyNWViOGQ2
ZWRlYTQyNmZjNmU0NWE4ZTMxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTgwNSw2ICs4
MDUsMTUgQEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6OmNhblNob3dEYXRhTGlzdFN1Z2dlc3Rpb25M
YWJlbHMoKSBjb25zdAogI2VuZGlmCiB9CiAKK2Jvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRP
bmx5U2hvd0RhdGFMaXN0RHJvcGRvd25CdXR0b25XaGVuRm9jdXNlZE9yRWRpdGVkKCkgY29uc3QK
K3sKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAg
ICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogI2VuZGlmCiAKIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpydW5PcGVuUGFuZWwoRnJhbWUmIGZyYW1lLCBGaWxlQ2hvb3NlciYgZmlsZUNob29zZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYTg1OTMxYzcxMDZmY2I0NjAxY2NjZGM5ZDUyMzY1NDYw
OGM4NjY4Ny4uYzhmYmQyN2Q5YjkzOTMzOGViZGE2NDczOTU1YmVkOTk3MzRjMWMwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaApAQCAtMTUwLDYgKzE1MCw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKERB
VEFMSVNUX0VMRU1FTlQpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkRhdGFMaXN0U3Vn
Z2VzdGlvblBpY2tlcj4gY3JlYXRlRGF0YUxpc3RTdWdnZXN0aW9uUGlja2VyKFdlYkNvcmU6OkRh
dGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQmKSBmaW5hbDsKICAgICBib29sIGNhblNob3dEYXRhTGlz
dFN1Z2dlc3Rpb25MYWJlbHMoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNob3VsZE9ubHlTaG93
RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSBjb25zdCBmaW5hbDsK
ICNlbmRpZgogCiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmlu
ZGV4IGE3ZDA2OTBiZmFkYjM3YjVlYjgyNThlZDE5NjRkM2EwYzYzODdkMjcuLjEwMTBiN2MxMWMz
N2U1NThjNWNiNzk0YjA4ZTZmMTc5ZmYxMTVlYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNDUs
NiArMTQ1LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6RGF0YUxpc3RTdWdnZXN0aW9uUGlja2VyPiBjcmVhdGVE
YXRhTGlzdFN1Z2dlc3Rpb25QaWNrZXIoV2ViQ29yZTo6RGF0YUxpc3RTdWdnZXN0aW9uc0NsaWVu
dCYpIGZpbmFsOwogICAgIGJvb2wgY2FuU2hvd0RhdGFMaXN0U3VnZ2VzdGlvbkxhYmVscygpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBzaG91bGRPbmx5U2hvd0RhdGFM
aXN0RHJvcGRvd25CdXR0b25XaGVuRm9jdXNlZE9yRWRpdGVkKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gZmFsc2U7IH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395210</attachid>
            <date>2020-04-01 15:18:58 -0700</date>
            <delta_ts>2020-04-01 16:05:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209883-20200401151858.patch</filename>
            <type>text/plain</type>
            <size>11049</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE1MjZiOTMxNDUzM2Yx
MTk1YTMzYTU3NWFiYWE4NGZkNjdkYzdkZi4uYWYxODkwN2M5ZTMwMzM4ZmY0NzMzZjcyNzM4NTgy
ZjYzNDdhMmI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA0LTAxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzb21l
IFBMQVRGT1JNKElPU19GQU1JTFkpIGd1YXJkcyBpbiBUZXh0RmllbGRJbnB1dFR5cGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTg4MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgbG9naWMgdGhh
dCB3YXMgcHJldmlvdXNseSBndWFyZGVkIGF0IGNvbXBpbGUtdGltZSBmb3IgaU9TIG9ubHkgaW4g
VGV4dEZpZWxkSW5wdXRUeXBlLmNwcCB0byBhIENocm9tZUNsaWVudAorICAgICAgICBob29rIHRo
YXQgaXMgY29uc3VsdGVkIGF0IHJ1bnRpbWUuIFRoaXMgbWFrZXMgdGhlIGludGVudGlvbiBiZWhp
bmQgdGhlIGlPUy1zcGVjaWZpYyBsb2dpYyBtb3JlIHNlbGYtZXZpZGVudCwgYXMKKyAgICAgICAg
d2VsbC4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogaHRtbC9UZXh0RmllbGRJ
bnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjpoYW5k
bGVGb2N1c0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6aGFu
ZGxlQmx1ckV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6Y3Jl
YXRlRGF0YUxpc3REcm9wZG93bkluZGljYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Rmll
bGRJbnB1dFR5cGU6OnNob3VsZE9ubHlTaG93RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1
c2VkT3JFZGl0ZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBl
OjpkaWRTZXRWYWx1ZUJ5VXNlckVkaXQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5w
dXRUeXBlOjpsaXN0QXR0cmlidXRlVGFyZ2V0Q2hhbmdlZCk6CisgICAgICAgICogaHRtbC9UZXh0
RmllbGRJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKwogMjAyMC0wNC0wMSAgeW91ZW5uIGZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVtcCBsaWJ3ZWJydGMgdG8gTTgyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGI0YjkzODVlNzJjMDZmZTY3YzkxZTAxODg3Y2E3NDJjZTk4NzA4NGIuLmIwMjBlZjgz
OTM3Njg3NmUyZWU3ZTQ3MjRmODU1M2RiYWRhNThkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjAtMDQtMDEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3ZlIHNvbWUgUExBVEZPUk0oSU9TX0ZBTUlMWSkgZ3VhcmRzIGluIFRleHRG
aWVsZElucHV0VHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA5ODgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2VlIFdlYkNvcmUgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3du
QnV0dG9uV2hlbkZvY3VzZWRPckVkaXRlZCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAyMC0wNC0wMSAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFdlYlBhc3RlYm9h
cmRQcm94eTo6ZGlkTW9kaWZ5Q29udGVudHNPZlBhc3RlYm9hcmQgcm9idXN0IHdoZW4gcGFzdGVi
b2FyZE5hbWUgaXMgbnVsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGI5N2I1NTRh
ODA0NjU4NDVjY2ZjY2JmNWJhNjgyMjA0YzEyMzUyYjcuLmFiMzcyMDFmZjQyZWRhMTFhZjgyODNi
M2ZiMzBmZGViOTE3NjAyOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMC0wNC0wMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgc29tZSBQTEFURk9STShJT1NfRkFNSUxZKSBndWFyZHMgaW4g
VGV4dEZpZWxkSW5wdXRUeXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDk4ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIwLTAzLTMxICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIERhdGFsaXN0
IG9wdGlvbidzIGxhYmVsIG5vdCB1c2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RleHRGaWVsZElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElu
cHV0VHlwZS5jcHAKaW5kZXggM2NhZTM4ZDVmMDY2MDAwNTEyOWUwYTE2ZWQyMGNjZDg2MWI4Nzhi
ZC4uYTliMGVlOTM1MTYyYzI5ZmYzYmZhMDA5NWQxNDQwOTcwODk2YWI5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcApAQCAtMjY4LDggKzI2OCw4IEBAIHZv
aWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KE5vZGUqIG9sZEZvY3VzZWRO
b2RlLCBGb2N1c0RpcmVjdGlvbikKICAgICBBU1NFUlRfVU5VU0VEKG9sZEZvY3VzZWROb2RlLCBv
bGRGb2N1c2VkTm9kZSAhPSBlbGVtZW50KCkpOwogICAgIGlmIChSZWZQdHI8RnJhbWU+IGZyYW1l
ID0gZWxlbWVudCgpLT5kb2N1bWVudCgpLmZyYW1lKCkpIHsKICAgICAgICAgZnJhbWUtPmVkaXRv
cigpLnRleHRGaWVsZERpZEJlZ2luRWRpdGluZyhlbGVtZW50KCkpOwotI2lmIEVOQUJMRShEQVRB
TElTVF9FTEVNRU5UKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBpZiAoZWxlbWVu
dCgpLT5saXN0KCkgJiYgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yKQorI2lmIEVOQUJMRShE
QVRBTElTVF9FTEVNRU5UKQorICAgICAgICBpZiAoc2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bk
b3duQnV0dG9uV2hlbkZvY3VzZWRPckVkaXRlZCgpICYmIGVsZW1lbnQoKS0+bGlzdCgpICYmIG1f
ZGF0YUxpc3REcm9wZG93bkluZGljYXRvcikKICAgICAgICAgICAgIG1fZGF0YUxpc3REcm9wZG93
bkluZGljYXRvci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIHN1
Z2dlc3Rpb25zKCkuc2l6ZSgpID8gQ1NTVmFsdWVCbG9jayA6IENTU1ZhbHVlTm9uZSwgdHJ1ZSk7
CiAjZW5kaWYKICAgICB9CkBAIC0yODAsOCArMjgwLDggQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5
cGU6OmhhbmRsZUJsdXJFdmVudCgpCiAgICAgSW5wdXRUeXBlOjpoYW5kbGVCbHVyRXZlbnQoKTsK
ICAgICBBU1NFUlQoZWxlbWVudCgpKTsKICAgICBlbGVtZW50KCktPmVuZEVkaXRpbmcoKTsKLSNp
ZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBp
ZiAoZWxlbWVudCgpLT5saXN0KCkgJiYgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yKQorI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQorICAgIGlmIChzaG91bGRPbmx5U2hvd0RhdGFMaXN0
RHJvcGRvd25CdXR0b25XaGVuRm9jdXNlZE9yRWRpdGVkKCkgJiYgZWxlbWVudCgpLT5saXN0KCkg
JiYgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yKQogICAgICAgICBtX2RhdGFMaXN0RHJvcGRv
d25JbmRpY2F0b3ItPnNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXNwbGF5LCBD
U1NWYWx1ZU5vbmUsIHRydWUpOwogI2VuZGlmCiB9CkBAIC00NDgsNiArNDQ4LDcgQEAgYm9vbCBU
ZXh0RmllbGRJbnB1dFR5cGU6OnNob3VsZFVzZUlucHV0TWV0aG9kKCkgY29uc3QKIH0KIAogI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQorCiB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6Y3Jl
YXRlRGF0YUxpc3REcm9wZG93bkluZGljYXRvcigpCiB7CiAgICAgQVNTRVJUKCFtX2RhdGFMaXN0
RHJvcGRvd25JbmRpY2F0b3IpOwpAQCAtNDU5LDkgKzQ2MCwyMSBAQCB2b2lkIFRleHRGaWVsZElu
cHV0VHlwZTo6Y3JlYXRlRGF0YUxpc3REcm9wZG93bkluZGljYXRvcigpCiAgICAgbV9jb250YWlu
ZXItPmFwcGVuZENoaWxkKCptX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpOwogICAgIG1fZGF0
YUxpc3REcm9wZG93bkluZGljYXRvci0+c2V0UHNldWRvKEF0b21TdHJpbmcoIi13ZWJraXQtbGlz
dC1idXR0b24iLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwogICAgIG1fZGF0
YUxpc3REcm9wZG93bkluZGljYXRvci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eURpc3BsYXksIENTU1ZhbHVlTm9uZSwgdHJ1ZSk7Cit9CiAKK2Jvb2wgVGV4dEZpZWxkSW5wdXRU
eXBlOjpzaG91bGRPbmx5U2hvd0RhdGFMaXN0RHJvcGRvd25CdXR0b25XaGVuRm9jdXNlZE9yRWRp
dGVkKCkgY29uc3QKK3sKKyAgICBpZiAoIWVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgYXV0byogcGFnZSA9IGVsZW1lbnQoKS0+ZG9jdW1lbnQoKS5wYWdlKCk7CisgICAg
aWYgKCFwYWdlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gcGFnZS0+Y2hy
b21lKCkuY2xpZW50KCkuc2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3duQnV0dG9uV2hlbkZv
Y3VzZWRPckVkaXRlZCgpOwogfQotI2VuZGlmCisKKyNlbmRpZiAvLyBFTkFCTEUoREFUQUxJU1Rf
RUxFTUVOVCkKIAogc3RhdGljIFN0cmluZyBsaW1pdExlbmd0aChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgdW5zaWduZWQgbWF4TnVtR3JhcGhlbWVDbHVzdGVycykKIHsKQEAgLTY2NywxMCArNjgwLDkg
QEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OmRpZFNldFZhbHVlQnlVc2VyRWRpdCgpCiAgICAg
aWYgKFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBlbGVtZW50KCktPmRvY3VtZW50KCkuZnJhbWUoKSkK
ICAgICAgICAgZnJhbWUtPmVkaXRvcigpLnRleHREaWRDaGFuZ2VJblRleHRGaWVsZChlbGVtZW50
KCkpOwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQotI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgaWYgKGVsZW1lbnQoKS0+bGlzdCgpICYmIG1fZGF0YUxpc3REcm9wZG93bkluZGlj
YXRvcikKKyAgICBpZiAoc2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3duQnV0dG9uV2hlbkZv
Y3VzZWRPckVkaXRlZCgpICYmIGVsZW1lbnQoKS0+bGlzdCgpICYmIG1fZGF0YUxpc3REcm9wZG93
bkluZGljYXRvcikKICAgICAgICAgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yLT5zZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgc3VnZ2VzdGlvbnMoKS5zaXplKCkg
PyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lLCB0cnVlKTsKLSNlbmRpZgorCiAgICAgaWYg
KGVsZW1lbnQoKS0+bGlzdCgpKQogICAgICAgICBkaXNwbGF5U3VnZ2VzdGlvbnMoRGF0YUxpc3RT
dWdnZXN0aW9uQWN0aXZhdGlvblR5cGU6OlRleHRDaGFuZ2VkKTsKICNlbmRpZgpAQCAtODMzLDkg
Kzg0NSw4IEBAIHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpsaXN0QXR0cmlidXRlVGFyZ2V0Q2hh
bmdlZCgpCiAgICAgaWYgKCFtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCiAgICAgICAgIGNy
ZWF0ZURhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IoKTsKIAotI2lmICFQTEFURk9STShJT1NfRkFN
SUxZKQotICAgIG1fZGF0YUxpc3REcm9wZG93bkluZGljYXRvci0+c2V0SW5saW5lU3R5bGVQcm9w
ZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIGVsZW1lbnQoKS0+bGlzdCgpID8gQ1NTVmFsdWVCbG9j
ayA6IENTU1ZhbHVlTm9uZSwgdHJ1ZSk7Ci0jZW5kaWYKKyAgICBpZiAoIXNob3VsZE9ubHlTaG93
RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSkKKyAgICAgICAgbV9k
YXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3Bl
cnR5RGlzcGxheSwgZWxlbWVudCgpLT5saXN0KCkgPyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVO
b25lLCB0cnVlKTsKIH0KIAogSFRNTEVsZW1lbnQqIFRleHRGaWVsZElucHV0VHlwZTo6ZGF0YUxp
c3RCdXR0b25FbGVtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
VGV4dEZpZWxkSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0
VHlwZS5oCmluZGV4IDVhMTdmMTU4MjFhMGRkMDYwNzI3YWE5ZWEwZTljNDQxOGEwYTc3NDQuLmYy
Y2JkNWY3MWQ3YmU5MzgyZjgyZDIxYzU3OTZhNmFhOWJjYzNhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaApAQCAtMTM3LDYgKzEzNyw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRDbG9zZVN1Z2dlc3Rpb25zKCkgZmluYWw7CiAKICAgICB2b2lkIGRhdGFMaXN0
QnV0dG9uRWxlbWVudFdhc0NsaWNrZWQoKSBmaW5hbDsKKyAgICBib29sIHNob3VsZE9ubHlTaG93
RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSBjb25zdDsKICAgICBS
ZWZQdHI8RGF0YUxpc3RCdXR0b25FbGVtZW50PiBtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3I7
CiAKICAgICBzdGQ6OnBhaXI8U3RyaW5nLCBWZWN0b3I8RGF0YUxpc3RTdWdnZXN0aW9uPj4gbV9j
YWNoZWRTdWdnZXN0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBi
OGQxMTE2OGM2OTM4ZThiMzdmZTY0NGY5ZDQxZDZhZDQyZjUzOGMzLi41OTVhYTFmZDE3M2IxMmMz
YTEwOTE4ZGRmYWQyODk2NGFmMTI4YTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCkBAIC0xMzQsNiArMTM0LDcgQEAgY2xhc3MgRW1wdHlDaHJvbWVDbGllbnQgOiBwdWJsaWMg
Q2hyb21lQ2xpZW50IHsKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RGF0YUxpc3RTdWdnZXN0aW9uUGlja2VyPiBjcmVhdGVEYXRhTGlzdFN1Z2dlc3Rp
b25QaWNrZXIoRGF0YUxpc3RTdWdnZXN0aW9uc0NsaWVudCYpIGZpbmFsOwogICAgIGJvb2wgY2Fu
U2hvd0RhdGFMaXN0U3VnZ2VzdGlvbkxhYmVscygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNl
OyB9CisgICAgYm9vbCBzaG91bGRPbmx5U2hvd0RhdGFMaXN0RHJvcGRvd25CdXR0b25XaGVuRm9j
dXNlZE9yRWRpdGVkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCiAg
ICAgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUmLCBGaWxlQ2hvb3NlciYpIGZpbmFsOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggNDk0OWZlYTg1ZGMwMTc4ZWMxODk4NDM0OGM5ZTQx
Y2RlM2E5NDhjNi4uYmNmM2ViNTc2YmRjMzUwNjc5MDU4ZjBhMTc2OWU2YzUyOGQ5OGRiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0yODAsNiArMjgwLDcgQEAgcHVibGljOgog
I2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRy
PERhdGFMaXN0U3VnZ2VzdGlvblBpY2tlcj4gY3JlYXRlRGF0YUxpc3RTdWdnZXN0aW9uUGlja2Vy
KERhdGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNhblNo
b3dEYXRhTGlzdFN1Z2dlc3Rpb25MYWJlbHMoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29s
IHNob3VsZE9ubHlTaG93RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQo
KSBjb25zdCA9IDA7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJh
bWUmLCBGaWxlQ2hvb3NlciYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNTQzZGUy
M2RhODllMWI3NGRiYTk3YWExYTM5NTNmMmNmNjlhNGQxYy4uYmExNDhhODRiOGUwZmYyNWViOGQ2
ZWRlYTQyNmZjNmU0NWE4ZTMxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTgwNSw2ICs4
MDUsMTUgQEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6OmNhblNob3dEYXRhTGlzdFN1Z2dlc3Rpb25M
YWJlbHMoKSBjb25zdAogI2VuZGlmCiB9CiAKK2Jvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRP
bmx5U2hvd0RhdGFMaXN0RHJvcGRvd25CdXR0b25XaGVuRm9jdXNlZE9yRWRpdGVkKCkgY29uc3QK
K3sKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAg
ICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogI2VuZGlmCiAKIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpydW5PcGVuUGFuZWwoRnJhbWUmIGZyYW1lLCBGaWxlQ2hvb3NlciYgZmlsZUNob29zZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYTg1OTMxYzcxMDZmY2I0NjAxY2NjZGM5ZDUyMzY1NDYw
OGM4NjY4Ny4uYzhmYmQyN2Q5YjkzOTMzOGViZGE2NDczOTU1YmVkOTk3MzRjMWMwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaApAQCAtMTUwLDYgKzE1MCw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKERB
VEFMSVNUX0VMRU1FTlQpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkRhdGFMaXN0U3Vn
Z2VzdGlvblBpY2tlcj4gY3JlYXRlRGF0YUxpc3RTdWdnZXN0aW9uUGlja2VyKFdlYkNvcmU6OkRh
dGFMaXN0U3VnZ2VzdGlvbnNDbGllbnQmKSBmaW5hbDsKICAgICBib29sIGNhblNob3dEYXRhTGlz
dFN1Z2dlc3Rpb25MYWJlbHMoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNob3VsZE9ubHlTaG93
RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSBjb25zdCBmaW5hbDsK
ICNlbmRpZgogCiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmlu
ZGV4IGE3ZDA2OTBiZmFkYjM3YjVlYjgyNThlZDE5NjRkM2EwYzYzODdkMjcuLjEwMTBiN2MxMWMz
N2U1NThjNWNiNzk0YjA4ZTZmMTc5ZmYxMTVlYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNDUs
NiArMTQ1LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6RGF0YUxpc3RTdWdnZXN0aW9uUGlja2VyPiBjcmVhdGVE
YXRhTGlzdFN1Z2dlc3Rpb25QaWNrZXIoV2ViQ29yZTo6RGF0YUxpc3RTdWdnZXN0aW9uc0NsaWVu
dCYpIGZpbmFsOwogICAgIGJvb2wgY2FuU2hvd0RhdGFMaXN0U3VnZ2VzdGlvbkxhYmVscygpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBzaG91bGRPbmx5U2hvd0RhdGFM
aXN0RHJvcGRvd25CdXR0b25XaGVuRm9jdXNlZE9yRWRpdGVkKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gZmFsc2U7IH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395218</attachid>
            <date>2020-04-01 16:05:14 -0700</date>
            <delta_ts>2020-04-01 16:19:59 -0700</delta_ts>
            <desc>v2</desc>
            <filename>bug-209883-20200401160513.patch</filename>
            <type>text/plain</type>
            <size>5670</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE1MjZiOTMxNDUzM2Yx
MTk1YTMzYTU3NWFiYWE4NGZkNjdkYzdkZi4uYTBmNjEzMTNjMjY1YTNhMWU2YjQwMGIzMDJjOTQw
NDg5ZTY5YWQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA0LTAxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzb21l
IFBMQVRGT1JNKElPU19GQU1JTFkpIGd1YXJkcyBpbiBUZXh0RmllbGRJbnB1dFR5cGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTg4MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yIHdoYXQg
aXMgY3VycmVudGx5IGEgY29tcGlsZS10aW1lIElPU19GQU1JTFkgZ3VhcmQgaW50byBhIHJ1bnRp
bWUgY2hlY2sgYmVoaW5kIGEgcHJpdmF0ZSBoZWxwZXIgbWV0aG9kCisgICAgICAgIG9uIFRleHRG
aWVsZElucHV0VHlwZS4gVGhpcyBtYWtlcyB0aGUgaW50ZW50aW9uIGJlaGluZCB0aGUgaU9TLXNw
ZWNpZmljIGxvZ2ljIG1vcmUgc2VsZi1ldmlkZW50OyBubyBjaGFuZ2UgaW4KKyAgICAgICAgYmVo
YXZpb3IuCisKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjpoYW5kbGVCbHVyRXZlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjpjcmVhdGVEYXRhTGlzdERyb3Bkb3duSW5k
aWNhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6c2hvdWxkT25s
eVNob3dEYXRhTGlzdERyb3Bkb3duQnV0dG9uV2hlbkZvY3VzZWRPckVkaXRlZCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OmRpZFNldFZhbHVlQnlVc2VyRWRp
dCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6Omxpc3RBdHRyaWJ1dGVU
YXJnZXRDaGFuZ2VkKToKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5oOgorCiAy
MDIwLTA0LTAxICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBC
dW1wIGxpYndlYnJ0YyB0byBNODIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4
dEZpZWxkSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRU
eXBlLmNwcAppbmRleCAzY2FlMzhkNWYwNjYwMDA1MTI5ZTBhMTZlZDIwY2NkODYxYjg3OGJkLi41
NDEwZTE0NWM0ZTRiY2IwNDFlYTI3MjRlZTlkZjkzNmYxOGYwZDk4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCkBAIC0yNjgsOCArMjY4LDggQEAgdm9pZCBU
ZXh0RmllbGRJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQoTm9kZSogb2xkRm9jdXNlZE5vZGUs
IEZvY3VzRGlyZWN0aW9uKQogICAgIEFTU0VSVF9VTlVTRUQob2xkRm9jdXNlZE5vZGUsIG9sZEZv
Y3VzZWROb2RlICE9IGVsZW1lbnQoKSk7CiAgICAgaWYgKFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBl
bGVtZW50KCktPmRvY3VtZW50KCkuZnJhbWUoKSkgewogICAgICAgICBmcmFtZS0+ZWRpdG9yKCku
dGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nKGVsZW1lbnQoKSk7Ci0jaWYgRU5BQkxFKERBVEFMSVNU
X0VMRU1FTlQpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIGlmIChlbGVtZW50KCkt
Pmxpc3QoKSAmJiBtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCisjaWYgRU5BQkxFKERBVEFM
SVNUX0VMRU1FTlQpCisgICAgICAgIGlmIChzaG91bGRPbmx5U2hvd0RhdGFMaXN0RHJvcGRvd25C
dXR0b25XaGVuRm9jdXNlZE9yRWRpdGVkKCkgJiYgZWxlbWVudCgpLT5saXN0KCkgJiYgbV9kYXRh
TGlzdERyb3Bkb3duSW5kaWNhdG9yKQogICAgICAgICAgICAgbV9kYXRhTGlzdERyb3Bkb3duSW5k
aWNhdG9yLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgc3VnZ2Vz
dGlvbnMoKS5zaXplKCkgPyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lLCB0cnVlKTsKICNl
bmRpZgogICAgIH0KQEAgLTI4MCw4ICsyODAsOCBAQCB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6
aGFuZGxlQmx1ckV2ZW50KCkKICAgICBJbnB1dFR5cGU6OmhhbmRsZUJsdXJFdmVudCgpOwogICAg
IEFTU0VSVChlbGVtZW50KCkpOwogICAgIGVsZW1lbnQoKS0+ZW5kRWRpdGluZygpOwotI2lmIEVO
QUJMRShEQVRBTElTVF9FTEVNRU5UKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChl
bGVtZW50KCktPmxpc3QoKSAmJiBtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCisjaWYgRU5B
QkxFKERBVEFMSVNUX0VMRU1FTlQpCisgICAgaWYgKHNob3VsZE9ubHlTaG93RGF0YUxpc3REcm9w
ZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSAmJiBlbGVtZW50KCktPmxpc3QoKSAmJiBt
X2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCiAgICAgICAgIG1fZGF0YUxpc3REcm9wZG93bklu
ZGljYXRvci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIENTU1Zh
bHVlTm9uZSwgdHJ1ZSk7CiAjZW5kaWYKIH0KQEAgLTQ0OCw2ICs0NDgsNyBAQCBib29sIFRleHRG
aWVsZElucHV0VHlwZTo6c2hvdWxkVXNlSW5wdXRNZXRob2QoKSBjb25zdAogfQogCiAjaWYgRU5B
QkxFKERBVEFMSVNUX0VMRU1FTlQpCisKIHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpjcmVhdGVE
YXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yKCkKIHsKICAgICBBU1NFUlQoIW1fZGF0YUxpc3REcm9w
ZG93bkluZGljYXRvcik7CkBAIC00NTksOSArNDYwLDE4IEBAIHZvaWQgVGV4dEZpZWxkSW5wdXRU
eXBlOjpjcmVhdGVEYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yKCkKICAgICBtX2NvbnRhaW5lci0+
YXBwZW5kQ2hpbGQoKm1fZGF0YUxpc3REcm9wZG93bkluZGljYXRvcik7CiAgICAgbV9kYXRhTGlz
dERyb3Bkb3duSW5kaWNhdG9yLT5zZXRQc2V1ZG8oQXRvbVN0cmluZygiLXdlYmtpdC1saXN0LWJ1
dHRvbiIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CiAgICAgbV9kYXRhTGlz
dERyb3Bkb3duSW5kaWNhdG9yLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlz
cGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKLQogfQorCitib29sIFRleHRGaWVsZElucHV0VHlw
ZTo6c2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3duQnV0dG9uV2hlbkZvY3VzZWRPckVkaXRl
ZCgpIGNvbnN0Cit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICByZXR1cm4gdHJ1ZTsK
KyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCit9CisKKyNlbmRpZiAvLyBFTkFCTEUo
REFUQUxJU1RfRUxFTUVOVCkKIAogc3RhdGljIFN0cmluZyBsaW1pdExlbmd0aChjb25zdCBTdHJp
bmcmIHN0cmluZywgdW5zaWduZWQgbWF4TnVtR3JhcGhlbWVDbHVzdGVycykKIHsKQEAgLTY2Nywx
MCArNjc3LDkgQEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OmRpZFNldFZhbHVlQnlVc2VyRWRp
dCgpCiAgICAgaWYgKFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBlbGVtZW50KCktPmRvY3VtZW50KCku
ZnJhbWUoKSkKICAgICAgICAgZnJhbWUtPmVkaXRvcigpLnRleHREaWRDaGFuZ2VJblRleHRGaWVs
ZChlbGVtZW50KCkpOwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQotI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCi0gICAgaWYgKGVsZW1lbnQoKS0+bGlzdCgpICYmIG1fZGF0YUxpc3REcm9w
ZG93bkluZGljYXRvcikKKyAgICBpZiAoc2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3duQnV0
dG9uV2hlbkZvY3VzZWRPckVkaXRlZCgpICYmIGVsZW1lbnQoKS0+bGlzdCgpICYmIG1fZGF0YUxp
c3REcm9wZG93bkluZGljYXRvcikKICAgICAgICAgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9y
LT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgc3VnZ2VzdGlvbnMo
KS5zaXplKCkgPyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lLCB0cnVlKTsKLSNlbmRpZgor
CiAgICAgaWYgKGVsZW1lbnQoKS0+bGlzdCgpKQogICAgICAgICBkaXNwbGF5U3VnZ2VzdGlvbnMo
RGF0YUxpc3RTdWdnZXN0aW9uQWN0aXZhdGlvblR5cGU6OlRleHRDaGFuZ2VkKTsKICNlbmRpZgpA
QCAtODMzLDkgKzg0Miw4IEBAIHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpsaXN0QXR0cmlidXRl
VGFyZ2V0Q2hhbmdlZCgpCiAgICAgaWYgKCFtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCiAg
ICAgICAgIGNyZWF0ZURhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IoKTsKIAotI2lmICFQTEFURk9S
TShJT1NfRkFNSUxZKQotICAgIG1fZGF0YUxpc3REcm9wZG93bkluZGljYXRvci0+c2V0SW5saW5l
U3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIGVsZW1lbnQoKS0+bGlzdCgpID8gQ1NT
VmFsdWVCbG9jayA6IENTU1ZhbHVlTm9uZSwgdHJ1ZSk7Ci0jZW5kaWYKKyAgICBpZiAoIXNob3Vs
ZE9ubHlTaG93RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSkKKyAg
ICAgICAgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5
KENTU1Byb3BlcnR5RGlzcGxheSwgZWxlbWVudCgpLT5saXN0KCkgPyBDU1NWYWx1ZUJsb2NrIDog
Q1NTVmFsdWVOb25lLCB0cnVlKTsKIH0KIAogSFRNTEVsZW1lbnQqIFRleHRGaWVsZElucHV0VHlw
ZTo6ZGF0YUxpc3RCdXR0b25FbGVtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRG
aWVsZElucHV0VHlwZS5oCmluZGV4IDVhMTdmMTU4MjFhMGRkMDYwNzI3YWE5ZWEwZTljNDQxOGEw
YTc3NDQuLmYyY2JkNWY3MWQ3YmU5MzgyZjgyZDIxYzU3OTZhNmFhOWJjYzNhMjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaApAQCAtMTM3LDYgKzEzNyw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkaWRDbG9zZVN1Z2dlc3Rpb25zKCkgZmluYWw7CiAKICAgICB2b2lk
IGRhdGFMaXN0QnV0dG9uRWxlbWVudFdhc0NsaWNrZWQoKSBmaW5hbDsKKyAgICBib29sIHNob3Vs
ZE9ubHlTaG93RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSBjb25z
dDsKICAgICBSZWZQdHI8RGF0YUxpc3RCdXR0b25FbGVtZW50PiBtX2RhdGFMaXN0RHJvcGRvd25J
bmRpY2F0b3I7CiAKICAgICBzdGQ6OnBhaXI8U3RyaW5nLCBWZWN0b3I8RGF0YUxpc3RTdWdnZXN0
aW9uPj4gbV9jYWNoZWRTdWdnZXN0aW9uczsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395220</attachid>
            <date>2020-04-01 16:20:01 -0700</date>
            <delta_ts>2020-04-01 17:35:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-209883-20200401162000.patch</filename>
            <type>text/plain</type>
            <size>5648</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MzQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE1MjZiOTMxNDUzM2Yx
MTk1YTMzYTU3NWFiYWE4NGZkNjdkYzdkZi4uMjJjNTAwOWRiMTQzNTFlYTU0OWJlYmE0M2Y3NDZk
YjkxOGNlMjg1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA0LTAxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzb21l
IFBMQVRGT1JNKElPU19GQU1JTFkpIGd1YXJkcyBpbiBUZXh0RmllbGRJbnB1dFR5cGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTg4MworCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFJlZmFjdG9yIHdoYXQgaXMg
Y3VycmVudGx5IGEgY29tcGlsZS10aW1lIElPU19GQU1JTFkgZ3VhcmQgaW50byBhIHJ1bnRpbWUg
Y2hlY2sgYmVoaW5kIGEgcHJpdmF0ZSBoZWxwZXIgbWV0aG9kCisgICAgICAgIG9uIFRleHRGaWVs
ZElucHV0VHlwZS4gVGhpcyBtYWtlcyB0aGUgaW50ZW50aW9uIGJlaGluZCB0aGUgaU9TLXNwZWNp
ZmljIGxvZ2ljIG1vcmUgc2VsZi1ldmlkZW50OyBubyBjaGFuZ2UgaW4KKyAgICAgICAgYmVoYXZp
b3IuCisKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjpoYW5kbGVCbHVyRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dEZpZWxkSW5wdXRUeXBlOjpjcmVhdGVEYXRhTGlzdERyb3Bkb3duSW5kaWNh
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRGaWVsZElucHV0VHlwZTo6c2hvdWxkT25seVNo
b3dEYXRhTGlzdERyb3Bkb3duQnV0dG9uV2hlbkZvY3VzZWRPckVkaXRlZCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OmRpZFNldFZhbHVlQnlVc2VyRWRpdCk6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6Omxpc3RBdHRyaWJ1dGVUYXJn
ZXRDaGFuZ2VkKToKKyAgICAgICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5oOgorCiAyMDIw
LTA0LTAxICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBCdW1w
IGxpYndlYnJ0YyB0byBNODIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZp
ZWxkSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBl
LmNwcAppbmRleCAzY2FlMzhkNWYwNjYwMDA1MTI5ZTBhMTZlZDIwY2NkODYxYjg3OGJkLi43ODk1
YTdlYmI0ZDM3NmVmODdiOWEzNDUzOWIyYWZjYjk5YjZlZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCkBAIC0yNjgsOCArMjY4LDggQEAgdm9pZCBUZXh0
RmllbGRJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQoTm9kZSogb2xkRm9jdXNlZE5vZGUsIEZv
Y3VzRGlyZWN0aW9uKQogICAgIEFTU0VSVF9VTlVTRUQob2xkRm9jdXNlZE5vZGUsIG9sZEZvY3Vz
ZWROb2RlICE9IGVsZW1lbnQoKSk7CiAgICAgaWYgKFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBlbGVt
ZW50KCktPmRvY3VtZW50KCkuZnJhbWUoKSkgewogICAgICAgICBmcmFtZS0+ZWRpdG9yKCkudGV4
dEZpZWxkRGlkQmVnaW5FZGl0aW5nKGVsZW1lbnQoKSk7Ci0jaWYgRU5BQkxFKERBVEFMSVNUX0VM
RU1FTlQpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIGlmIChlbGVtZW50KCktPmxp
c3QoKSAmJiBtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCisjaWYgRU5BQkxFKERBVEFMSVNU
X0VMRU1FTlQpCisgICAgICAgIGlmIChzaG91bGRPbmx5U2hvd0RhdGFMaXN0RHJvcGRvd25CdXR0
b25XaGVuRm9jdXNlZE9yRWRpdGVkKCkgJiYgZWxlbWVudCgpLT5saXN0KCkgJiYgbV9kYXRhTGlz
dERyb3Bkb3duSW5kaWNhdG9yKQogICAgICAgICAgICAgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNh
dG9yLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgc3VnZ2VzdGlv
bnMoKS5zaXplKCkgPyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lLCB0cnVlKTsKICNlbmRp
ZgogICAgIH0KQEAgLTI4MCw4ICsyODAsOCBAQCB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6aGFu
ZGxlQmx1ckV2ZW50KCkKICAgICBJbnB1dFR5cGU6OmhhbmRsZUJsdXJFdmVudCgpOwogICAgIEFT
U0VSVChlbGVtZW50KCkpOwogICAgIGVsZW1lbnQoKS0+ZW5kRWRpdGluZygpOwotI2lmIEVOQUJM
RShEQVRBTElTVF9FTEVNRU5UKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChlbGVt
ZW50KCktPmxpc3QoKSAmJiBtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCisjaWYgRU5BQkxF
KERBVEFMSVNUX0VMRU1FTlQpCisgICAgaWYgKHNob3VsZE9ubHlTaG93RGF0YUxpc3REcm9wZG93
bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSAmJiBlbGVtZW50KCktPmxpc3QoKSAmJiBtX2Rh
dGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCiAgICAgICAgIG1fZGF0YUxpc3REcm9wZG93bkluZGlj
YXRvci0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIENTU1ZhbHVl
Tm9uZSwgdHJ1ZSk7CiAjZW5kaWYKIH0KQEAgLTQ0OCw2ICs0NDgsNyBAQCBib29sIFRleHRGaWVs
ZElucHV0VHlwZTo6c2hvdWxkVXNlSW5wdXRNZXRob2QoKSBjb25zdAogfQogCiAjaWYgRU5BQkxF
KERBVEFMSVNUX0VMRU1FTlQpCisKIHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpjcmVhdGVEYXRh
TGlzdERyb3Bkb3duSW5kaWNhdG9yKCkKIHsKICAgICBBU1NFUlQoIW1fZGF0YUxpc3REcm9wZG93
bkluZGljYXRvcik7CkBAIC00NTksOSArNDYwLDE4IEBAIHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBl
OjpjcmVhdGVEYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yKCkKICAgICBtX2NvbnRhaW5lci0+YXBw
ZW5kQ2hpbGQoKm1fZGF0YUxpc3REcm9wZG93bkluZGljYXRvcik7CiAgICAgbV9kYXRhTGlzdERy
b3Bkb3duSW5kaWNhdG9yLT5zZXRQc2V1ZG8oQXRvbVN0cmluZygiLXdlYmtpdC1saXN0LWJ1dHRv
biIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CiAgICAgbV9kYXRhTGlzdERy
b3Bkb3duSW5kaWNhdG9yLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxh
eSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKLQogfQorCitib29sIFRleHRGaWVsZElucHV0VHlwZTo6
c2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3duQnV0dG9uV2hlbkZvY3VzZWRPckVkaXRlZCgp
Cit7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisg
ICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoREFUQUxJU1Rf
RUxFTUVOVCkKIAogc3RhdGljIFN0cmluZyBsaW1pdExlbmd0aChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgdW5zaWduZWQgbWF4TnVtR3JhcGhlbWVDbHVzdGVycykKIHsKQEAgLTY2NywxMCArNjc3LDkg
QEAgdm9pZCBUZXh0RmllbGRJbnB1dFR5cGU6OmRpZFNldFZhbHVlQnlVc2VyRWRpdCgpCiAgICAg
aWYgKFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBlbGVtZW50KCktPmRvY3VtZW50KCkuZnJhbWUoKSkK
ICAgICAgICAgZnJhbWUtPmVkaXRvcigpLnRleHREaWRDaGFuZ2VJblRleHRGaWVsZChlbGVtZW50
KCkpOwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQotI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0gICAgaWYgKGVsZW1lbnQoKS0+bGlzdCgpICYmIG1fZGF0YUxpc3REcm9wZG93bkluZGlj
YXRvcikKKyAgICBpZiAoc2hvdWxkT25seVNob3dEYXRhTGlzdERyb3Bkb3duQnV0dG9uV2hlbkZv
Y3VzZWRPckVkaXRlZCgpICYmIGVsZW1lbnQoKS0+bGlzdCgpICYmIG1fZGF0YUxpc3REcm9wZG93
bkluZGljYXRvcikKICAgICAgICAgbV9kYXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yLT5zZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5RGlzcGxheSwgc3VnZ2VzdGlvbnMoKS5zaXplKCkg
PyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVOb25lLCB0cnVlKTsKLSNlbmRpZgorCiAgICAgaWYg
KGVsZW1lbnQoKS0+bGlzdCgpKQogICAgICAgICBkaXNwbGF5U3VnZ2VzdGlvbnMoRGF0YUxpc3RT
dWdnZXN0aW9uQWN0aXZhdGlvblR5cGU6OlRleHRDaGFuZ2VkKTsKICNlbmRpZgpAQCAtODMzLDkg
Kzg0Miw4IEBAIHZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpsaXN0QXR0cmlidXRlVGFyZ2V0Q2hh
bmdlZCgpCiAgICAgaWYgKCFtX2RhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IpCiAgICAgICAgIGNy
ZWF0ZURhdGFMaXN0RHJvcGRvd25JbmRpY2F0b3IoKTsKIAotI2lmICFQTEFURk9STShJT1NfRkFN
SUxZKQotICAgIG1fZGF0YUxpc3REcm9wZG93bkluZGljYXRvci0+c2V0SW5saW5lU3R5bGVQcm9w
ZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIGVsZW1lbnQoKS0+bGlzdCgpID8gQ1NTVmFsdWVCbG9j
ayA6IENTU1ZhbHVlTm9uZSwgdHJ1ZSk7Ci0jZW5kaWYKKyAgICBpZiAoIXNob3VsZE9ubHlTaG93
RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKSkKKyAgICAgICAgbV9k
YXRhTGlzdERyb3Bkb3duSW5kaWNhdG9yLT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3Bl
cnR5RGlzcGxheSwgZWxlbWVudCgpLT5saXN0KCkgPyBDU1NWYWx1ZUJsb2NrIDogQ1NTVmFsdWVO
b25lLCB0cnVlKTsKIH0KIAogSFRNTEVsZW1lbnQqIFRleHRGaWVsZElucHV0VHlwZTo6ZGF0YUxp
c3RCdXR0b25FbGVtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
VGV4dEZpZWxkSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0
VHlwZS5oCmluZGV4IDVhMTdmMTU4MjFhMGRkMDYwNzI3YWE5ZWEwZTljNDQxOGEwYTc3NDQuLmQx
ZDg5YTdiYzY4OTVkY2U5MTM3M2UxZDFhZmE2YmU4OWMxMjRmMWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaApAQCAtMTM2LDYgKzEzNiw4IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRTZWxlY3REYXRhTGlzdE9wdGlvbihjb25zdCBTdHJpbmcmKSBmaW5hbDsKICAg
ICB2b2lkIGRpZENsb3NlU3VnZ2VzdGlvbnMoKSBmaW5hbDsKIAorICAgIHN0YXRpYyBib29sIHNo
b3VsZE9ubHlTaG93RGF0YUxpc3REcm9wZG93bkJ1dHRvbldoZW5Gb2N1c2VkT3JFZGl0ZWQoKTsK
KwogICAgIHZvaWQgZGF0YUxpc3RCdXR0b25FbGVtZW50V2FzQ2xpY2tlZCgpIGZpbmFsOwogICAg
IFJlZlB0cjxEYXRhTGlzdEJ1dHRvbkVsZW1lbnQ+IG1fZGF0YUxpc3REcm9wZG93bkluZGljYXRv
cjsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>