<?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>208266</bug_id>
          
          <creation_ts>2020-02-26 14:40:07 -0800</creation_ts>
          <short_desc>Optimize Path::encode on platforms that support CGPathGetNumberOfElements</short_desc>
          <delta_ts>2020-03-05 08:14:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>InRadar</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>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>jonlee</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1623187</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-02-26 14:40:07 -0800</bug_when>
    <thetext>We can elide one of the calls to Path::apply() by directly asking for the number of path elements instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623342</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-26 19:01:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/59832350&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624321</commentid>
    <comment_count>2</comment_count>
      <attachid>392072</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-02-29 13:59:24 -0800</bug_when>
    <thetext>Created attachment 392072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624451</commentid>
    <comment_count>3</comment_count>
      <attachid>392072</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-01 18:35:41 -0800</bug_when>
    <thetext>Comment on attachment 392072
Patch

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

Do you know the reason for the mysterious Windows failure? It does seem to be new to the patch.

&gt; Source/WebCore/platform/graphics/Path.h:136
&gt; +    WEBCORE_EXPORT unsigned elementCount() const;

32-bit here

&gt; Source/WebCore/platform/graphics/Path.h:234
&gt; +    encoder &lt;&lt; static_cast&lt;uint64_t&gt;(elementCount());

64-bit here

Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624452</commentid>
    <comment_count>4</comment_count>
      <attachid>392072</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-01 18:50:57 -0800</bug_when>
    <thetext>Comment on attachment 392072
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/Path.h:234
&gt;&gt; +    encoder &lt;&lt; static_cast&lt;uint64_t&gt;(elementCount());
&gt; 
&gt; 64-bit here
&gt; 
&gt; Why?

Good catch! No compelling reason for this difference.

elementCount() should return a uint64_t, and then we could just remove the static_cast here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624460</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-01 21:49:54 -0800</bug_when>
    <thetext>&gt; Do you know the reason for the mysterious Windows failure? It does seem to
&gt; be new to the patch.

After using the new Retry button, it looks like this was just an unrelated flaky failure (the Win bot is green). The patch should not have changed any behavior on non-Cocoa ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624461</commentid>
    <comment_count>6</comment_count>
      <attachid>392116</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-01 21:50:50 -0800</bug_when>
    <thetext>Created attachment 392116
Address comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624707</commentid>
    <comment_count>7</comment_count>
      <attachid>392116</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-02 13:18:17 -0800</bug_when>
    <thetext>Comment on attachment 392116
Address comments

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

&gt; Source/WebCore/platform/graphics/Path.h:136
&gt; +    WEBCORE_EXPORT uint64_t elementCount() const;

Why not size_t</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624719</commentid>
    <comment_count>8</comment_count>
      <attachid>392116</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-02 13:31:33 -0800</bug_when>
    <thetext>Comment on attachment 392116
Address comments

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

&gt;&gt; Source/WebCore/platform/graphics/Path.h:136
&gt;&gt; +    WEBCORE_EXPORT uint64_t elementCount() const;
&gt; 
&gt; Why not size_t

Sure, I suppose that would be clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624723</commentid>
    <comment_count>9</comment_count>
      <attachid>392183</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-02 13:44:02 -0800</bug_when>
    <thetext>Created attachment 392183
Address smfr&apos;s comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626073</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 08:13:24 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 392183:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626074</commentid>
    <comment_count>11</comment_count>
      <attachid>392183</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 08:14:02 -0800</bug_when>
    <thetext>Comment on attachment 392183
Address smfr&apos;s comment

Clearing flags on attachment: 392183

Committed r257918: &lt;https://trac.webkit.org/changeset/257918&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626075</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 08:14:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392072</attachid>
            <date>2020-02-29 13:59:24 -0800</date>
            <delta_ts>2020-03-01 21:50:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208266-20200229135923.patch</filename>
            <type>text/plain</type>
            <size>6383</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Njc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNkMTY3OGMyNjQ5MzAw
MzMwNjllMzZiZWNlOTE3ZTQ5MTZlMjFjNS4uMjQ4YjE0MGM3ZjlhNjdmZmExYjQwN2QzOGM0ODA3
NWJkOTNjMTc5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAyLTI5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIE9wdGltaXplIFBh
dGg6OmVuY29kZSBvbiBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IENHUGF0aEdldE51bWJlck9mRWxl
bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODI2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW4gZW5jb2RpbmcgUGF0aCBvYmplY3RzLCB3ZSBjdXJyZW50bHkgZmlyc3QgZW5jb2RlIHRoZSBu
dW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHBhdGggYnkgaXRlcmF0aW5nIG92ZXIgZWFjaAorICAg
ICAgICBwYXRoIGVsZW1lbnQgYW5kIGluY3JlbWVudGluZyBhIGNvdW50ZXI7IHRoZW4sIHdlIGl0
ZXJhdGUgb3ZlciBlYWNoIGVsZW1lbnQgYWdhaW4sIGFuZCBlbmNvZGUgaW5mb3JtYXRpb24KKyAg
ICAgICAgKHBvaW50cywgYW5nbGVzLCBldGMuKSBmb3IgZWFjaCBwYXRoIGVsZW1lbnQuCisKKyAg
ICAgICAgSG93ZXZlciwgb24gcGxhdGZvcm1zIHRoYXQgaGF2ZSB0aGUgZml4IGZvciA8cmRhcjov
L3Byb2JsZW0vNTk4Mjg3MjQ+LCB0aGUgZmlyc3QgY2FsbCB0byBDR1BhdGhBcHBseSBjYW4gYmUK
KyAgICAgICAgc2tpcHBlZCwgc2luY2UgQ29yZUdyYXBoaWNzIGNhbiAoaW4gY29uc3RhbnQgdGlt
ZSwgZm9yIHRoZSBtb3N0IHBhcnQpIHNpbXBseSB0ZWxsIHVzIGhvdyBtYW55IGVsZW1lbnRzIGFy
ZSBpbgorICAgICAgICB0aGUgQ0dQYXRoLiBTZWUgY29tbWVudHMgYmVsb3cgZm9yIG1vcmUgZGV0
YWlscy4KKworICAgICAgICBUaGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvUGF0aC5oOgorCisgICAgICAgIEFkZCBhbiBgZWxlbWVudENvdW50YCBtZXRo
b2Qgb24gUGF0aCwgd2hpY2ggcmV0dXJucyB0aGUgY291bnQgb2YgZWxlbWVudHMgaW4gdGhlIHBh
dGguIE9uIHBsYXRmb3JtcyB3aGVyZQorICAgICAgICBDR1BhdGhHZXROdW1iZXJPZkVsZW1lbnRz
IGV4aXN0cyAoYW5kIHRoZSBmaXggZm9yIDxyZGFyOi8vcHJvYmxlbS81OTgyODcyND4gaXMgYWxz
byBwcmVzZW50KSwgd2UgcmV0dXJuIHRoZQorICAgICAgICByZXN1bHQgb2YgY2FsbGluZyB0aGlz
IFNQSS4gT3RoZXJ3aXNlLCBmYWxsIGJhY2sgdG8gbWFwcGluZyBvdmVyIGVhY2ggcGF0aCBlbGVt
ZW50IGFuZCBpbmNyZW1lbnRpbmcgYSBjb3VudC4KKworICAgICAgICAoV2ViQ29yZTo6UGF0aDo6
ZW5jb2RlIGNvbnN0KToKKworICAgICAgICBVc2UgdGhlIG5ldyBgZWxlbWVudENvdW50YCBtZXRo
b2Qgd2hlbiBlbmNvZGluZyBhIFdlYkNvcmU6OlBhdGguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jZy9QYXRoQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF0aDo6ZWxlbWVudENv
dW50IGNvbnN0KToKKwogMjAyMC0wMi0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBNYWtlIFBhdGg6OlBhdGgoY29uc3QgUGF0aCYpIGFuZCBQYXRo
OjpvcGVyYXRvcj0oY29uc3QgUGF0aCYpIGNoZWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA2N2Fk
OGUyNjIxMDc0ZDRhNTA4NTI2ZDdmNDFkOWM3ZjY1YzI0Y2Q3Li44OWE4ZWM2NmY1NzUyMjEwOTJm
MDc4MzRkZGVmZTI5MWQ3ZTBjNmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAyMC0wMi0yOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBPcHRpbWl6ZSBQYXRoOjplbmNvZGUgb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9ydCBD
R1BhdGhHZXROdW1iZXJPZkVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDgyNjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYW4gU1BJIGRlY2xhcmF0aW9uIGZvciBDR1BhdGhHZXROdW1i
ZXJPZkVsZW1lbnRzLgorCisgICAgICAgICogcGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaDoK
KwogMjAyMC0wMi0yNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAg
ICAgICAgIFtDTWFrZV0gQWRkIFdlYktpdDo6UEFMIHRhcmdldApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaAppbmRleCBhZDVjN2RkMjg3YzY1MjE4
NmQxNjMzZDBhYzE0OTIzYmU1YmFlNmU5Li40YTljNWRhNGZmMTY2NDFlYTIxMzE5ZWY1MjQxOWZl
YTFmOGY0ODI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZy9Db3Jl
R3JhcGhpY3NTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZy9Db3JlR3Jh
cGhpY3NTUEkuaApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgPENvbG9yU3luYy9Db2xvclN5
bmNQcml2Lmg+CiAjZW5kaWYKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dGb250Q2FjaGUuaD4K
KyNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dQYXRoUHJpdmF0ZS5oPgogI2luY2x1ZGUgPENvcmVH
cmFwaGljcy9Db3JlR3JhcGhpY3NQcml2YXRlLmg+CiAKICNlbHNlCkBAIC0yNDksNiArMjUwLDEw
IEBAIGJvb2wgQ0dDb250ZXh0R2V0QWxsb3dzRm9udFN1YnBpeGVsUG9zaXRpb25pbmcoQ0dDb250
ZXh0UmVmKTsKIGJvb2wgQ0dDb250ZXh0RHJhd3NXaXRoQ29ycmVjdFNoYWRvd09mZnNldHMoQ0dD
b250ZXh0UmVmKTsKIENHUGF0dGVyblJlZiBDR1BhdHRlcm5DcmVhdGVXaXRoSW1hZ2UyKENHSW1h
Z2VSZWYsIENHQWZmaW5lVHJhbnNmb3JtLCBDR1BhdHRlcm5UaWxpbmcpOwogCisjaWYgSEFWRShD
R1BBVEhfR0VUX05VTUJFUl9PRl9FTEVNRU5UUykKK3NpemVfdCBDR1BhdGhHZXROdW1iZXJPZkVs
ZW1lbnRzKENHUGF0aFJlZik7CisjZW5kaWYKKwogI2lmIEhBVkUoSU9TVVJGQUNFKQogQ0dDb250
ZXh0UmVmIENHSU9TdXJmYWNlQ29udGV4dENyZWF0ZShJT1N1cmZhY2VSZWYsIHNpemVfdCwgc2l6
ZV90LCBzaXplX3QsIHNpemVfdCwgQ0dDb2xvclNwYWNlUmVmLCBDR0JpdG1hcEluZm8pOwogQ0dJ
bWFnZVJlZiBDR0lPU3VyZmFjZUNvbnRleHRDcmVhdGVJbWFnZShDR0NvbnRleHRSZWYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmNwcAppbmRleCBiNDI1ZjczNWE2MjM4
MmZkMWQwMDBkZjU0MDllNjk4MmFhMzc1NDY0Li5jMzM0YzIyY2ZlN2ZlOTY3MGJlOTZhMWJiOTFk
MDg2YTZjOWNjMDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9QYXRoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmNw
cApAQCAtNTMsNiArNTMsMTkgQEAgZmxvYXQgUGF0aDo6bGVuZ3RoKCkgY29uc3QKIH0KICNlbmRp
ZgogCisjaWYgIUhBVkUoQ0dQQVRIX0dFVF9OVU1CRVJfT0ZfRUxFTUVOVFMpCisKK3Vuc2lnbmVk
IFBhdGg6OmVsZW1lbnRDb3VudCgpIGNvbnN0Cit7CisgICAgdW5zaWduZWQgbnVtUG9pbnRzID0g
MDsKKyAgICBhcHBseShbJm51bVBvaW50c10oYXV0byYpIHsKKyAgICAgICAgKytudW1Qb2ludHM7
CisgICAgfSk7CisgICAgcmV0dXJuIG51bVBvaW50czsKK30KKworI2VuZGlmIC8vICFIQVZFKENH
UEFUSF9HRVRfTlVNQkVSX09GX0VMRU1FTlRTKQorCiBQYXRoVHJhdmVyc2FsU3RhdGUgUGF0aDo6
dHJhdmVyc2FsU3RhdGVBdExlbmd0aChmbG9hdCBsZW5ndGgpIGNvbnN0CiB7CiAgICAgUGF0aFRy
YXZlcnNhbFN0YXRlIHRyYXZlcnNhbFN0YXRlKFBhdGhUcmF2ZXJzYWxTdGF0ZTo6QWN0aW9uOjpW
ZWN0b3JBdExlbmd0aCwgbGVuZ3RoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1BhdGguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Bh
dGguaAppbmRleCBiN2YxMmUzYThkMGM1ODUyODc3NGE4OTVlYzdlYTcwMjk4Y2MyMzJiLi5mNzcy
OGI1NTU4MzQ5MjYxNTE1YjdhMmIyNzBiZmUxZjI4ZWIzNzYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvUGF0aC5oCkBAIC0xMzMsNiArMTMzLDcgQEAgcHVibGljOgogICAgIFdF
QkNPUkVfRVhQT1JUIEZsb2F0UmVjdCBmYXN0Qm91bmRpbmdSZWN0KCkgY29uc3Q7CiAgICAgRmxv
YXRSZWN0IHN0cm9rZUJvdW5kaW5nUmVjdChTdHJva2VTdHlsZUFwcGxpZXIqID0gMCkgY29uc3Q7
CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB1bnNpZ25lZCBlbGVtZW50Q291bnQoKSBjb25zdDsKICAg
ICBmbG9hdCBsZW5ndGgoKSBjb25zdDsKICAgICBQYXRoVHJhdmVyc2FsU3RhdGUgdHJhdmVyc2Fs
U3RhdGVBdExlbmd0aChmbG9hdCBsZW5ndGgpIGNvbnN0OwogICAgIEZsb2F0UG9pbnQgcG9pbnRB
dExlbmd0aChmbG9hdCBsZW5ndGgpIGNvbnN0OwpAQCAtMjMwLDEyICsyMzEsNyBAQCBXVEY6OlRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgY29uc3QgUGF0aCYpOwogCiB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIFBhdGg6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAogewotICAgIHVpbnQ2NF90IG51bVBvaW50cyA9IDA7Ci0gICAgYXBwbHkoWyZudW1Q
b2ludHNdKGNvbnN0IFBhdGhFbGVtZW50JikgewotICAgICAgICArK251bVBvaW50czsKLSAgICB9
KTsKLQotICAgIGVuY29kZXIgPDwgbnVtUG9pbnRzOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nh
c3Q8dWludDY0X3Q+KGVsZW1lbnRDb3VudCgpKTsKIAogICAgIGFwcGx5KFsmXShhdXRvJiBlbGVt
ZW50KSB7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlRW51bShlbGVtZW50LnR5cGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUGF0aENHLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BhdGhDRy5jcHAKaW5kZXggOWRhZTVh
ZTA0ZDQ1OGU3NGVkMTMwMTFlNGE0MDZhMjFjYTA5ZDg2My4uODEwOTllYTMzMmIxZjRjYWE1ZjY0
NDdjMzA0ZmNmZWI2OGI0ZjVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvUGF0aENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9QYXRoQ0cuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlN0cm9rZVN0eWxlQXBw
bGllci5oIgotI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbmNsdWRl
IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAtNTAwLDYgKzQ5OSwxNSBAQCB2b2lk
IFBhdGg6OmFwcGx5KGNvbnN0IFBhdGhBcHBsaWVyRnVuY3Rpb24mIGZ1bmN0aW9uKSBjb25zdAog
ICAgIENHUGF0aEFwcGx5KG1fcGF0aCwgKHZvaWQqKSZmdW5jdGlvbiwgQ0dQYXRoQXBwbGllclRv
UGF0aEFwcGxpZXIpOwogfQogCisjaWYgSEFWRShDR1BBVEhfR0VUX05VTUJFUl9PRl9FTEVNRU5U
UykKKwordW5zaWduZWQgUGF0aDo6ZWxlbWVudENvdW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
Q0dQYXRoR2V0TnVtYmVyT2ZFbGVtZW50cyhtX3BhdGgpOworfQorCisjZW5kaWYgLy8gSEFWRShD
R1BBVEhfR0VUX05VTUJFUl9PRl9FTEVNRU5UUykKKwogfQogCiAjZW5kaWYgLy8gVVNFKENHKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392116</attachid>
            <date>2020-03-01 21:50:50 -0800</date>
            <delta_ts>2020-03-02 13:44:00 -0800</delta_ts>
            <desc>Address comments</desc>
            <filename>bug-208266-20200301215049.patch</filename>
            <type>text/plain</type>
            <size>6367</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTIxYjM3MjI0MDVjZjgy
ODk2MDA2YWRlNWM5MDJiOTE5NmU5MTE3ZS4uNmEzZTNkMTAxZDRmNzYzNzhmOWMyMzUzMzhiMDdk
ZDQ1ZGEwODViYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAyLTI5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIE9wdGltaXplIFBh
dGg6OmVuY29kZSBvbiBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IENHUGF0aEdldE51bWJlck9mRWxl
bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODI2NgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdoZW4g
ZW5jb2RpbmcgUGF0aCBvYmplY3RzLCB3ZSBjdXJyZW50bHkgZmlyc3QgZW5jb2RlIHRoZSBudW1i
ZXIgb2YgZWxlbWVudHMgaW4gdGhlIHBhdGggYnkgaXRlcmF0aW5nIG92ZXIgZWFjaAorICAgICAg
ICBwYXRoIGVsZW1lbnQgYW5kIGluY3JlbWVudGluZyBhIGNvdW50ZXI7IHRoZW4sIHdlIGl0ZXJh
dGUgb3ZlciBlYWNoIGVsZW1lbnQgYWdhaW4sIGFuZCBlbmNvZGUgaW5mb3JtYXRpb24KKyAgICAg
ICAgKHBvaW50cywgYW5nbGVzLCBldGMuKSBmb3IgZWFjaCBwYXRoIGVsZW1lbnQuCisKKyAgICAg
ICAgSG93ZXZlciwgb24gcGxhdGZvcm1zIHRoYXQgaGF2ZSB0aGUgZml4IGZvciA8cmRhcjovL3By
b2JsZW0vNTk4Mjg3MjQ+LCB0aGUgZmlyc3QgY2FsbCB0byBDR1BhdGhBcHBseSBjYW4gYmUKKyAg
ICAgICAgc2tpcHBlZCwgc2luY2UgQ29yZUdyYXBoaWNzIGNhbiAoaW4gY29uc3RhbnQgdGltZSwg
Zm9yIHRoZSBtb3N0IHBhcnQpIHNpbXBseSB0ZWxsIHVzIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBp
bgorICAgICAgICB0aGUgQ0dQYXRoLiBTZWUgY29tbWVudHMgYmVsb3cgZm9yIG1vcmUgZGV0YWls
cy4KKworICAgICAgICBUaGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvUGF0aC5oOgorCisgICAgICAgIEFkZCBhbiBgZWxlbWVudENvdW50YCBtZXRob2Qg
b24gUGF0aCwgd2hpY2ggcmV0dXJucyB0aGUgY291bnQgb2YgZWxlbWVudHMgaW4gdGhlIHBhdGgu
IE9uIHBsYXRmb3JtcyB3aGVyZQorICAgICAgICBDR1BhdGhHZXROdW1iZXJPZkVsZW1lbnRzIGV4
aXN0cyAoYW5kIHRoZSBmaXggZm9yIDxyZGFyOi8vcHJvYmxlbS81OTgyODcyND4gaXMgYWxzbyBw
cmVzZW50KSwgd2UgcmV0dXJuIHRoZQorICAgICAgICByZXN1bHQgb2YgY2FsbGluZyB0aGlzIFNQ
SS4gT3RoZXJ3aXNlLCBmYWxsIGJhY2sgdG8gbWFwcGluZyBvdmVyIGVhY2ggcGF0aCBlbGVtZW50
IGFuZCBpbmNyZW1lbnRpbmcgYSBjb3VudC4KKworICAgICAgICAoV2ViQ29yZTo6UGF0aDo6ZW5j
b2RlIGNvbnN0KToKKworICAgICAgICBVc2UgdGhlIG5ldyBgZWxlbWVudENvdW50YCBtZXRob2Qg
d2hlbiBlbmNvZGluZyBhIFdlYkNvcmU6OlBhdGguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jZy9QYXRoQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF0aDo6ZWxlbWVudENvdW50
IGNvbnN0KToKKwogMjAyMC0wMi0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgYW4gaW50ZXJuYWwgc2V0dGluZyB0byBlbmFibGUgb3IgZGlz
YWJsZSBjYW52YXMgcmVuZGVyaW5nIGluIHRoZSBHUFUgUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggNjdhZDhlMjYyMTA3NGQ0YTUwODUyNmQ3ZjQxZDljN2Y2NWMyNGNkNy4uNDBlZTUwZjRh
ZGQ1YjM1OGU0MzljNGQ3MDY2ZDcxMzNhYTIxZmI0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjAtMDItMjkgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgT3B0aW1pemUgUGF0aDo6ZW5jb2RlIG9uIHBsYXRmb3JtcyB0aGF0
IHN1cHBvcnQgQ0dQYXRoR2V0TnVtYmVyT2ZFbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIGFuIFNQSSBkZWNsYXJhdGlvbiBmb3IgQ0dQYXRo
R2V0TnVtYmVyT2ZFbGVtZW50cy4KKworICAgICAgICAqIHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNz
U1BJLmg6CisKIDIwMjAtMDItMjcgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNv
bT4KIAogICAgICAgICBbQ01ha2VdIEFkZCBXZWJLaXQ6OlBBTCB0YXJnZXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmgKaW5kZXggYWQ1YzdkZDI4
N2M2NTIxODZkMTYzM2QwYWMxNDkyM2JlNWJhZTZlOS4uNGE5YzVkYTRmZjE2NjQxZWEyMTMxOWVm
NTI0MTlmZWExZjhmNDgyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
Y2cvQ29yZUdyYXBoaWNzU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2cv
Q29yZUdyYXBoaWNzU1BJLmgKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlIDxDb2xvclN5bmMv
Q29sb3JTeW5jUHJpdi5oPgogI2VuZGlmCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRm9udENh
Y2hlLmg+CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHUGF0aFByaXZhdGUuaD4KICNpbmNsdWRl
IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5oPgogCiAjZWxzZQpAQCAtMjQ5LDYg
KzI1MCwxMCBAQCBib29sIENHQ29udGV4dEdldEFsbG93c0ZvbnRTdWJwaXhlbFBvc2l0aW9uaW5n
KENHQ29udGV4dFJlZik7CiBib29sIENHQ29udGV4dERyYXdzV2l0aENvcnJlY3RTaGFkb3dPZmZz
ZXRzKENHQ29udGV4dFJlZik7CiBDR1BhdHRlcm5SZWYgQ0dQYXR0ZXJuQ3JlYXRlV2l0aEltYWdl
MihDR0ltYWdlUmVmLCBDR0FmZmluZVRyYW5zZm9ybSwgQ0dQYXR0ZXJuVGlsaW5nKTsKIAorI2lm
IEhBVkUoQ0dQQVRIX0dFVF9OVU1CRVJfT0ZfRUxFTUVOVFMpCitzaXplX3QgQ0dQYXRoR2V0TnVt
YmVyT2ZFbGVtZW50cyhDR1BhdGhSZWYpOworI2VuZGlmCisKICNpZiBIQVZFKElPU1VSRkFDRSkK
IENHQ29udGV4dFJlZiBDR0lPU3VyZmFjZUNvbnRleHRDcmVhdGUoSU9TdXJmYWNlUmVmLCBzaXpl
X3QsIHNpemVfdCwgc2l6ZV90LCBzaXplX3QsIENHQ29sb3JTcGFjZVJlZiwgQ0dCaXRtYXBJbmZv
KTsKIENHSW1hZ2VSZWYgQ0dJT1N1cmZhY2VDb250ZXh0Q3JlYXRlSW1hZ2UoQ0dDb250ZXh0UmVm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKaW5kZXggYjQyNWY3
MzVhNjIzODJmZDFkMDAwZGY1NDA5ZTY5ODJhYTM3NTQ2NC4uMWU1NDVlNjMxZjFiNDU4MzNhZGUx
NTE3OTM0Y2Y3NDEyMjEzMTZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
UGF0aC5jcHAKQEAgLTUzLDYgKzUzLDE5IEBAIGZsb2F0IFBhdGg6Omxlbmd0aCgpIGNvbnN0CiB9
CiAjZW5kaWYKIAorI2lmICFIQVZFKENHUEFUSF9HRVRfTlVNQkVSX09GX0VMRU1FTlRTKQorCit1
aW50NjRfdCBQYXRoOjplbGVtZW50Q291bnQoKSBjb25zdAoreworICAgIHVpbnQ2NF90IG51bVBv
aW50cyA9IDA7CisgICAgYXBwbHkoWyZudW1Qb2ludHNdKGF1dG8mKSB7CisgICAgICAgICsrbnVt
UG9pbnRzOworICAgIH0pOworICAgIHJldHVybiBudW1Qb2ludHM7Cit9CisKKyNlbmRpZiAvLyAh
SEFWRShDR1BBVEhfR0VUX05VTUJFUl9PRl9FTEVNRU5UUykKKwogUGF0aFRyYXZlcnNhbFN0YXRl
IFBhdGg6OnRyYXZlcnNhbFN0YXRlQXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBjb25zdAogewogICAg
IFBhdGhUcmF2ZXJzYWxTdGF0ZSB0cmF2ZXJzYWxTdGF0ZShQYXRoVHJhdmVyc2FsU3RhdGU6OkFj
dGlvbjo6VmVjdG9yQXRMZW5ndGgsIGxlbmd0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9QYXRoLmgKaW5kZXggZTVjMmI3YzJiYTVlODg2MTgwNGVjNGVhMzgxOTAxZDJjYTI4NWU3
My4uMmIxNGE5ZjY4ZWQ5MWM4YzNiZmFmYTBjNzRjNTRiMThiMjE0M2NjMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMTMzLDYgKzEzMyw3IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCBGbG9hdFJlY3QgZmFzdEJvdW5kaW5nUmVjdCgpIGNvbnN0Owog
ICAgIEZsb2F0UmVjdCBzdHJva2VCb3VuZGluZ1JlY3QoU3Ryb2tlU3R5bGVBcHBsaWVyKiA9IDAp
IGNvbnN0OwogCisgICAgV0VCQ09SRV9FWFBPUlQgdWludDY0X3QgZWxlbWVudENvdW50KCkgY29u
c3Q7CiAgICAgZmxvYXQgbGVuZ3RoKCkgY29uc3Q7CiAgICAgUGF0aFRyYXZlcnNhbFN0YXRlIHRy
YXZlcnNhbFN0YXRlQXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBjb25zdDsKICAgICBGbG9hdFBvaW50
IHBvaW50QXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBjb25zdDsKQEAgLTIyOCwxMiArMjI5LDcgQEAg
V1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIGNvbnN0IFBhdGgm
KTsKIAogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBQYXRoOjplbmNvZGUoRW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKIHsKLSAgICB1aW50NjRfdCBudW1Qb2ludHMgPSAwOwotICAgIGFwcGx5
KFsmbnVtUG9pbnRzXShjb25zdCBQYXRoRWxlbWVudCYpIHsKLSAgICAgICAgKytudW1Qb2ludHM7
Ci0gICAgfSk7Ci0KLSAgICBlbmNvZGVyIDw8IG51bVBvaW50czsKKyAgICBlbmNvZGVyIDw8IGVs
ZW1lbnRDb3VudCgpOwogCiAgICAgYXBwbHkoWyZdKGF1dG8mIGVsZW1lbnQpIHsKICAgICAgICAg
ZW5jb2Rlci5lbmNvZGVFbnVtKGVsZW1lbnQudHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QYXRoQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvUGF0aENHLmNwcAppbmRleCBmNmZmYzIyNDRiNzBmNDY4NmI1ZTY3
ZTQzYWFiOGU0NDg1ODAwZDJlLi44NzFlOTI3MjdlNDIwMmExN2Q1ZGY1YTQ0ZDRmMWMzZmNiMzI2
ODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QYXRo
Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BhdGhDRy5j
cHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNs
dWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiU3Ryb2tlU3R5bGVBcHBsaWVyLmgiCi0jaW5jbHVk
ZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY2cvQ29y
ZUdyYXBoaWNzU1BJLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3
dGYvUmV0YWluUHRyLmg+CkBAIC00NTgsNiArNDU3LDE1IEBAIHZvaWQgUGF0aDo6YXBwbHkoY29u
c3QgUGF0aEFwcGxpZXJGdW5jdGlvbiYgZnVuY3Rpb24pIGNvbnN0CiAgICAgQ0dQYXRoQXBwbHko
bV9wYXRoLCAodm9pZCopJmZ1bmN0aW9uLCBDR1BhdGhBcHBsaWVyVG9QYXRoQXBwbGllcik7CiB9
CiAKKyNpZiBIQVZFKENHUEFUSF9HRVRfTlVNQkVSX09GX0VMRU1FTlRTKQorCit1aW50NjRfdCBQ
YXRoOjplbGVtZW50Q291bnQoKSBjb25zdAoreworICAgIHJldHVybiBDR1BhdGhHZXROdW1iZXJP
ZkVsZW1lbnRzKG1fcGF0aCk7Cit9CisKKyNlbmRpZiAvLyBIQVZFKENHUEFUSF9HRVRfTlVNQkVS
X09GX0VMRU1FTlRTKQorCiB9CiAKICNlbmRpZiAvLyBVU0UoQ0cpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392183</attachid>
            <date>2020-03-02 13:44:02 -0800</date>
            <delta_ts>2020-03-05 08:14:02 -0800</delta_ts>
            <desc>Address smfr&apos;s comment</desc>
            <filename>bug-208266-20200302134401.patch</filename>
            <type>text/plain</type>
            <size>6403</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjI2ZWQzNDkwNGUxNTBm
NDMxNjk2YmU0ZGM0YzkwZmVhMWU3MzE2MS4uNDMzNjRhMjUxYzNlOGQwNmM5MWM1YzMxNTM5YTk0
Y2MxYzMyNjg5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAzLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIE9wdGltaXplIFBh
dGg6OmVuY29kZSBvbiBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IENHUGF0aEdldE51bWJlck9mRWxl
bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
ODI2NgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyIGFuZCBTaW1vbiBGcmFzZXIu
CisKKyAgICAgICAgV2hlbiBlbmNvZGluZyBQYXRoIG9iamVjdHMsIHdlIGN1cnJlbnRseSBmaXJz
dCBlbmNvZGUgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgcGF0aCBieSBpdGVyYXRpbmcg
b3ZlciBlYWNoCisgICAgICAgIHBhdGggZWxlbWVudCBhbmQgaW5jcmVtZW50aW5nIGEgY291bnRl
cjsgdGhlbiwgd2UgaXRlcmF0ZSBvdmVyIGVhY2ggZWxlbWVudCBhZ2FpbiwgYW5kIGVuY29kZSBp
bmZvcm1hdGlvbgorICAgICAgICAocG9pbnRzLCBhbmdsZXMsIGV0Yy4pIGZvciBlYWNoIHBhdGgg
ZWxlbWVudC4KKworICAgICAgICBIb3dldmVyLCBvbiBwbGF0Zm9ybXMgdGhhdCBoYXZlIHRoZSBm
aXggZm9yIDxyZGFyOi8vcHJvYmxlbS81OTgyODcyND4sIHRoZSBmaXJzdCBjYWxsIHRvIENHUGF0
aEFwcGx5IGNhbiBiZQorICAgICAgICBza2lwcGVkLCBzaW5jZSBDb3JlR3JhcGhpY3MgY2FuIChp
biBjb25zdGFudCB0aW1lLCBmb3IgdGhlIG1vc3QgcGFydCkgc2ltcGx5IHRlbGwgdXMgaG93IG1h
bnkgZWxlbWVudHMgYXJlIGluCisgICAgICAgIHRoZSBDR1BhdGguIFNlZSBjb21tZW50cyBiZWxv
dyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgIFRoZXJlIHNob3VsZCBiZSBubyBjaGFuZ2Ug
aW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmg6CisKKyAgICAgICAgQWRkIGFuIGBlbGVt
ZW50Q291bnRgIG1ldGhvZCBvbiBQYXRoLCB3aGljaCByZXR1cm5zIHRoZSBjb3VudCBvZiBlbGVt
ZW50cyBpbiB0aGUgcGF0aC4gT24gcGxhdGZvcm1zIHdoZXJlCisgICAgICAgIENHUGF0aEdldE51
bWJlck9mRWxlbWVudHMgZXhpc3RzIChhbmQgdGhlIGZpeCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzU5
ODI4NzI0PiBpcyBhbHNvIHByZXNlbnQpLCB3ZSByZXR1cm4gdGhlCisgICAgICAgIHJlc3VsdCBv
ZiBjYWxsaW5nIHRoaXMgU1BJLiBPdGhlcndpc2UsIGZhbGwgYmFjayB0byBtYXBwaW5nIG92ZXIg
ZWFjaCBwYXRoIGVsZW1lbnQgYW5kIGluY3JlbWVudGluZyBhIGNvdW50LgorCisgICAgICAgIChX
ZWJDb3JlOjpQYXRoOjplbmNvZGUgY29uc3QpOgorCisgICAgICAgIFVzZSB0aGUgbmV3IGBlbGVt
ZW50Q291bnRgIG1ldGhvZCB3aGVuIGVuY29kaW5nIGEgV2ViQ29yZTo6UGF0aC4KKworICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1BhdGhDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YXRoOjplbGVtZW50Q291bnQgY29uc3QpOgorCiAyMDIwLTAzLTAyICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgUGF0aDo6UGF0aChjb25zdCBQ
YXRoJikgYW5kIFBhdGg6Om9wZXJhdG9yPShjb25zdCBQYXRoJikgY2hlYXAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCmluZGV4IDY3YWQ4ZTI2MjEwNzRkNGE1MDg1MjZkN2Y0MWQ5YzdmNjVjMjRjZDcuLjAzNzVj
YTM0M2Y2ZTJhZThhNGRkM2M1MGIzZjNjZDlmZjQ2ZjYwODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDIwLTAzLTAyICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgorCisgICAgICAgIE9wdGltaXplIFBhdGg6OmVuY29kZSBvbiBwbGF0Zm9ybXMg
dGhhdCBzdXBwb3J0IENHUGF0aEdldE51bWJlck9mRWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODI2NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyIGFuZCBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgQWRkIGFuIFNQSSBk
ZWNsYXJhdGlvbiBmb3IgQ0dQYXRoR2V0TnVtYmVyT2ZFbGVtZW50cy4KKworICAgICAgICAqIHBh
bC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmg6CisKIDIwMjAtMDItMjcgIERvbiBPbG1zdGVhZCAg
PGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBbQ01ha2VdIEFkZCBXZWJLaXQ6OlBB
TCB0YXJnZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2cvQ29yZUdyYXBoaWNz
U1BJLmgKaW5kZXggYWQ1YzdkZDI4N2M2NTIxODZkMTYzM2QwYWMxNDkyM2JlNWJhZTZlOS4uNGE5
YzVkYTRmZjE2NjQxZWEyMTMxOWVmNTI0MTlmZWExZjhmNDgyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmgKQEAgLTQyLDYgKzQyLDcgQEAK
ICNpbmNsdWRlIDxDb2xvclN5bmMvQ29sb3JTeW5jUHJpdi5oPgogI2VuZGlmCiAjaW5jbHVkZSA8
Q29yZUdyYXBoaWNzL0NHRm9udENhY2hlLmg+CisjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHUGF0
aFByaXZhdGUuaD4KICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzUHJpdmF0ZS5o
PgogCiAjZWxzZQpAQCAtMjQ5LDYgKzI1MCwxMCBAQCBib29sIENHQ29udGV4dEdldEFsbG93c0Zv
bnRTdWJwaXhlbFBvc2l0aW9uaW5nKENHQ29udGV4dFJlZik7CiBib29sIENHQ29udGV4dERyYXdz
V2l0aENvcnJlY3RTaGFkb3dPZmZzZXRzKENHQ29udGV4dFJlZik7CiBDR1BhdHRlcm5SZWYgQ0dQ
YXR0ZXJuQ3JlYXRlV2l0aEltYWdlMihDR0ltYWdlUmVmLCBDR0FmZmluZVRyYW5zZm9ybSwgQ0dQ
YXR0ZXJuVGlsaW5nKTsKIAorI2lmIEhBVkUoQ0dQQVRIX0dFVF9OVU1CRVJfT0ZfRUxFTUVOVFMp
CitzaXplX3QgQ0dQYXRoR2V0TnVtYmVyT2ZFbGVtZW50cyhDR1BhdGhSZWYpOworI2VuZGlmCisK
ICNpZiBIQVZFKElPU1VSRkFDRSkKIENHQ29udGV4dFJlZiBDR0lPU3VyZmFjZUNvbnRleHRDcmVh
dGUoSU9TdXJmYWNlUmVmLCBzaXplX3QsIHNpemVfdCwgc2l6ZV90LCBzaXplX3QsIENHQ29sb3JT
cGFjZVJlZiwgQ0dCaXRtYXBJbmZvKTsKIENHSW1hZ2VSZWYgQ0dJT1N1cmZhY2VDb250ZXh0Q3Jl
YXRlSW1hZ2UoQ0dDb250ZXh0UmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1BhdGguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
UGF0aC5jcHAKaW5kZXggYjQyNWY3MzVhNjIzODJmZDFkMDAwZGY1NDA5ZTY5ODJhYTM3NTQ2NC4u
YTYyOGQzNzQyMjQyM2MxMjAzNTRmZmZmMjE5MDYxN2Y3MmI0Mzg1MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5jcHAKQEAgLTUzLDYgKzUzLDE5IEBAIGZsb2F0IFBh
dGg6Omxlbmd0aCgpIGNvbnN0CiB9CiAjZW5kaWYKIAorI2lmICFIQVZFKENHUEFUSF9HRVRfTlVN
QkVSX09GX0VMRU1FTlRTKQorCitzaXplX3QgUGF0aDo6ZWxlbWVudENvdW50KCkgY29uc3QKK3sK
KyAgICBzaXplX3QgbnVtUG9pbnRzID0gMDsKKyAgICBhcHBseShbJm51bVBvaW50c10oYXV0byYp
IHsKKyAgICAgICAgKytudW1Qb2ludHM7CisgICAgfSk7CisgICAgcmV0dXJuIG51bVBvaW50czsK
K30KKworI2VuZGlmIC8vICFIQVZFKENHUEFUSF9HRVRfTlVNQkVSX09GX0VMRU1FTlRTKQorCiBQ
YXRoVHJhdmVyc2FsU3RhdGUgUGF0aDo6dHJhdmVyc2FsU3RhdGVBdExlbmd0aChmbG9hdCBsZW5n
dGgpIGNvbnN0CiB7CiAgICAgUGF0aFRyYXZlcnNhbFN0YXRlIHRyYXZlcnNhbFN0YXRlKFBhdGhU
cmF2ZXJzYWxTdGF0ZTo6QWN0aW9uOjpWZWN0b3JBdExlbmd0aCwgbGVuZ3RoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRleCAyZWM1NmU3MGY0ZDA5YmNiZGQ3NzVj
YzcwYWRhNzNmMzliM2RiOTk5Li5iYWE1OTdmODhhMzhkYzdmYmVmNzExZTQ4OWU1NTlkMDg4ZmUx
MTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCkBAIC0xMzMsNiAr
MTMzLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UmVjdCBmYXN0Qm91bmRp
bmdSZWN0KCkgY29uc3Q7CiAgICAgRmxvYXRSZWN0IHN0cm9rZUJvdW5kaW5nUmVjdChTdHJva2VT
dHlsZUFwcGxpZXIqID0gMCkgY29uc3Q7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCBzaXplX3QgZWxl
bWVudENvdW50KCkgY29uc3Q7CiAgICAgZmxvYXQgbGVuZ3RoKCkgY29uc3Q7CiAgICAgUGF0aFRy
YXZlcnNhbFN0YXRlIHRyYXZlcnNhbFN0YXRlQXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBjb25zdDsK
ICAgICBGbG9hdFBvaW50IHBvaW50QXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBjb25zdDsKQEAgLTIz
NywxMiArMjM4LDcgQEAgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVh
bSYsIGNvbnN0IFBhdGgmKTsKIAogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBQYXRoOjpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICB1aW50NjRfdCBudW1Qb2ludHMg
PSAwOwotICAgIGFwcGx5KFsmbnVtUG9pbnRzXShjb25zdCBQYXRoRWxlbWVudCYpIHsKLSAgICAg
ICAgKytudW1Qb2ludHM7Ci0gICAgfSk7Ci0KLSAgICBlbmNvZGVyIDw8IG51bVBvaW50czsKKyAg
ICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihlbGVtZW50Q291bnQoKSk7CiAKICAg
ICBhcHBseShbJl0oYXV0byYgZWxlbWVudCkgewogICAgICAgICBlbmNvZGVyLmVuY29kZUVudW0o
ZWxlbWVudC50eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL1BhdGhDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Q
YXRoQ0cuY3BwCmluZGV4IDU3ZDM0YTkxM2Y0OWVmNTJjZjQ5Zjk2ODYyNmVjMGE3N2YyMmYwNGEu
LmRmNGZkYTJlMWFlMGIxNzc0NTdlZDlkZDdjNmE5NTI0MTFhNGEwNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BhdGhDRy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUGF0aENHLmNwcApAQCAtMzQsNyArMzQsNiBA
QAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNp
bmNsdWRlICJTdHJva2VTdHlsZUFwcGxpZXIuaCIKLSNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29y
ZUdyYXBoaWNzLmg+CiAjaW5jbHVkZSA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4KICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAg
LTQ4MSw2ICs0ODAsMTUgQEAgdm9pZCBQYXRoOjphcHBseShjb25zdCBQYXRoQXBwbGllckZ1bmN0
aW9uJiBmdW5jdGlvbikgY29uc3QKICAgICBDR1BhdGhBcHBseShtX3BhdGgsICh2b2lkKikmZnVu
Y3Rpb24sIENHUGF0aEFwcGxpZXJUb1BhdGhBcHBsaWVyKTsKIH0KIAorI2lmIEhBVkUoQ0dQQVRI
X0dFVF9OVU1CRVJfT0ZfRUxFTUVOVFMpCisKK3NpemVfdCBQYXRoOjplbGVtZW50Q291bnQoKSBj
b25zdAoreworICAgIHJldHVybiBDR1BhdGhHZXROdW1iZXJPZkVsZW1lbnRzKG1fcGF0aCk7Cit9
CisKKyNlbmRpZiAvLyBIQVZFKENHUEFUSF9HRVRfTlVNQkVSX09GX0VMRU1FTlRTKQorCiB9CiAK
ICNlbmRpZiAvLyBVU0UoQ0cpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>