<?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>238158</bug_id>
          
          <creation_ts>2022-03-21 15:41:48 -0700</creation_ts>
          <short_desc>Check if origin can access storage in Storage API</short_desc>
          <delta_ts>2022-03-22 16:59:20 -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>Website Storage</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="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1853377</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-21 15:41:48 -0700</bug_when>
    <thetext>https://storage.spec.whatwg.org/#storage-keys</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853378</commentid>
    <comment_count>1</comment_count>
      <attachid>455287</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-21 15:44:26 -0700</bug_when>
    <thetext>Created attachment 455287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853380</commentid>
    <comment_count>2</comment_count>
      <attachid>455288</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-21 15:47:07 -0700</bug_when>
    <thetext>Created attachment 455288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853488</commentid>
    <comment_count>3</comment_count>
      <attachid>455288</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-21 19:54:22 -0700</bug_when>
    <thetext>Comment on attachment 455288
Patch

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

&gt; Source/WebCore/Modules/storage/StorageManager.cpp:73
&gt; +    if (!origin-&gt;canAccessStorage())

The spec merely says to check if the origin is opaque (which we call unique in WebKit). Why not simply check `origin-&gt;isUnique()` ?

&gt; Source/WebCore/page/SecurityOrigin.h:154
&gt; +    bool canAccessStorage() const { return canAccessStorage(nullptr); }

There is a comment inside canAccessStorage() saying that we should stop passing nullptr so this may not be a change in the right direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853719</commentid>
    <comment_count>4</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-22 09:45:00 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Comment on attachment 455288 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=455288&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/storage/StorageManager.cpp:73
&gt; &gt; +    if (!origin-&gt;canAccessStorage())
&gt; 
&gt; The spec merely says to check if the origin is opaque (which we call unique
&gt; in WebKit). Why not simply check `origin-&gt;isUnique()` ?

I see the other APIs using canAccessStorage to check so I use it for consistency.
I guess we can only check if origin is unique, though I don&apos;t know why we can ignore storage blocking policy for Storage API.

&gt; 
&gt; &gt; Source/WebCore/page/SecurityOrigin.h:154
&gt; &gt; +    bool canAccessStorage() const { return canAccessStorage(nullptr); }
&gt; 
&gt; There is a comment inside canAccessStorage() saying that we should stop
&gt; passing nullptr so this may not be a change in the right direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853723</commentid>
    <comment_count>5</comment_count>
      <attachid>455288</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-22 09:54:43 -0700</bug_when>
    <thetext>Comment on attachment 455288
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/storage/StorageManager.cpp:73
&gt;&gt;&gt; +    if (!origin-&gt;canAccessStorage())
&gt;&gt; 
&gt;&gt; The spec merely says to check if the origin is opaque (which we call unique in WebKit). Why not simply check `origin-&gt;isUnique()` ?
&gt; 
&gt; I see the other APIs using canAccessStorage to check so I use it for consistency.
&gt; I guess we can only check if origin is unique, though I don&apos;t know why we can ignore storage blocking policy for Storage API.

Ok, so you want to do more checks that simply opaque origin, is that right? The change log doesn&apos;t say anything about that (and neither does the spec).

The change may well be correct if so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853735</commentid>
    <comment_count>6</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-22 10:23:05 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #5)
&gt; Comment on attachment 455288 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=455288&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/Modules/storage/StorageManager.cpp:73
&gt; &gt;&gt;&gt; +    if (!origin-&gt;canAccessStorage())
&gt; &gt;&gt; 
&gt; &gt;&gt; The spec merely says to check if the origin is opaque (which we call unique in WebKit). Why not simply check `origin-&gt;isUnique()` ?
&gt; &gt; 
&gt; &gt; I see the other APIs using canAccessStorage to check so I use it for consistency.
&gt; &gt; I guess we can only check if origin is unique, though I don&apos;t know why we can ignore storage blocking policy for Storage API.
&gt; 
&gt; Ok, so you want to do more checks that simply opaque origin, is that right?
&gt; The change log doesn&apos;t say anything about that (and neither does the spec).
&gt; 
&gt; The change may well be correct if so.

Yes, I would like to make this consistent with IndexedDB, whose spec only says about opaque origin(https://www.w3.org/TR/IndexedDB/#dom-idbfactory-open), but we also check storage blocking policy of the origin (we don&apos;t check its top origin, so we pass nullptr). I will update changelog to include this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853738</commentid>
    <comment_count>7</comment_count>
      <attachid>455288</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-22 10:23:38 -0700</bug_when>
    <thetext>Comment on attachment 455288
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853910</commentid>
    <comment_count>8</comment_count>
      <attachid>455429</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-22 14:40:09 -0700</bug_when>
    <thetext>Created attachment 455429
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854011</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-22 16:54:30 -0700</bug_when>
    <thetext>Committed r291726 (248758@main): &lt;https://commits.webkit.org/248758@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455429.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854012</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-22 16:55:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/90667430&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455287</attachid>
            <date>2022-03-21 15:44:26 -0700</date>
            <delta_ts>2022-03-21 15:47:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238158-20220321154425.patch</filename>
            <type>text/plain</type>
            <size>6530</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdlM2JkZDM0YzdjODI5
YjA1M2U4NTY1MTlkYzRmZjNmOWI0ODA5Zi4uYzU2NmM1MWY1MmMyMGNjNGM3NzgyNGNlNmZhYWUw
ODU0NDZlZjhhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAzLTIxICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFRocm93IGVycm9yIGZvciBv
cGFxdWUgb3JpZ2luIGluIFN0b3JhZ2UgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgxNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBY2NvcmRpbmcgdG8gc3BlYzogaHR0cHM6Ly9zdG9yYWdlLnNw
ZWMud2hhdHdnLm9yZy8jb2J0YWluLWEtc3RvcmFnZS1rZXkuIAorCisgICAgICAgIFVwZGF0ZWQg
ZXhwZWN0YXRpb24gZm9yIGltcG9ydGVkIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9zdG9y
YWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbm5lY3Rpb25JbmZv
KToKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luLmg6CisgICAgICAgIChXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbjo6Y2FuQWNjZXNzU3RvcmFnZSBjb25zdCk6CisKIDIwMjItMDMtMjEgIEFu
dG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW21lZGlhLWNvbnRy
b2xzXSBzY3J1YmJpbmcgb24gaU9TIHdoZW4gaW5saW5lIGRvZXMgbm90IHdvcmsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RvcmFnZS9TdG9yYWdlTWFuYWdlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IDJi
YWI0ZjliMmQ2ODk3YzY2MjA5ZjU2ZjAyZWM0ODllZWI1ZTBjYjUuLjczOTYyM2YzZTFlNzMyOTA5
YTM4MWMwNTIzNjU1MmYxMmIwZGQ3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RvcmFnZS9TdG9yYWdlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtNzAsNyArNzAsOSBAQCBzdGF0aWMgRXhj
ZXB0aW9uT3I8Q29ubmVjdGlvbkluZm8+IGNvbm5lY3Rpb25JbmZvKE5hdmlnYXRvckJhc2UqIG5h
dmlnYXRvcikKICAgICBhdXRvKiBvcmlnaW4gPSBjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpOwog
ICAgIGlmICghb3JpZ2luKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRl
RXJyb3IsICJPcmlnaW4gaXMgaW52YWxpZCJfcyB9OwotICAgIAorICAgIGlmICghb3JpZ2luLT5j
YW5BY2Nlc3NTdG9yYWdlKCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3Is
ICJPcmlnaW4gc2hvdWxkIG5vdCBhY2Nlc3Mgc3RvcmFnZSIgfTsKKwogICAgIGlmIChpczxEb2N1
bWVudD4oY29udGV4dCkpIHsKICAgICAgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBkb3duY2Fz
dDxEb2N1bWVudD4oY29udGV4dCktPnN0b3JhZ2VDb25uZWN0aW9uKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gQ29ubmVjdGlvbkluZm8geyAqY29ubmVjdGlvbiwgeyBjb250ZXh0LT50b3BPcmlnaW4o
KS5kYXRhKCksIG9yaWdpbi0+ZGF0YSgpIH0gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2VjdXJpdHlPcmlnaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmln
aW4uaAppbmRleCA4Yzg2YWQ1N2ZjZDJmOGMyNjgwYjg4OGVhNGFlMDI4YTdmMzA2YTdiLi5lMmY5
OWI3ODNlZGU2ODM3NmQ2ZTVmYjFiNTkxZDQwOTcxM2ZmNTE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZWN1cml0eU9yaWdpbi5oCkBAIC0xNTEsNiArMTUxLDcgQEAgcHVibGljOgogICAgIGJvb2wgY2Fu
QWNjZXNzTG9jYWxTdG9yYWdlKGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pIGNvbnN0
IHsgcmV0dXJuIGNhbkFjY2Vzc1N0b3JhZ2UodG9wT3JpZ2luKTsgfTsKICAgICBib29sIGNhbkFj
Y2Vzc1BsdWdpblN0b3JhZ2UoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbikgY29uc3Qg
eyByZXR1cm4gY2FuQWNjZXNzU3RvcmFnZSgmdG9wT3JpZ2luKTsgfQogICAgIGJvb2wgY2FuQWNj
ZXNzQXBwbGljYXRpb25DYWNoZShjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luKSBjb25z
dCB7IHJldHVybiBjYW5BY2Nlc3NTdG9yYWdlKCZ0b3BPcmlnaW4pOyB9CisgICAgYm9vbCBjYW5B
Y2Nlc3NTdG9yYWdlKCkgY29uc3QgeyByZXR1cm4gY2FuQWNjZXNzU3RvcmFnZShudWxscHRyKTsg
fQogICAgIGJvb2wgY2FuQWNjZXNzQ29va2llcygpIGNvbnN0IHsgcmV0dXJuICFpc1VuaXF1ZSgp
OyB9CiAgICAgYm9vbCBjYW5SZXF1ZXN0R2VvbG9jYXRpb24oKSBjb25zdCB7IHJldHVybiAhaXNV
bmlxdWUoKTsgfQogICAgIFBvbGljeSBjYW5TaG93Tm90aWZpY2F0aW9ucygpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMzhkNjczNTVkNDc4OWMxYTNlYmUxMTYwMmU1
ZDg1NWFkODQ0NTA4ZC4uMzdhNWU4NmQ2MmRkZDhhY2ZiNDAwNzE4Zjk3YWRlY2YyMDhhMzliYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDMt
MjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgVGhyb3cgZXJy
b3IgZm9yIG9wYXF1ZSBvcmlnaW4gaW4gU3RvcmFnZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODE1OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZpbGUtc3lz
dGVtLWFjY2Vzcy9vcGFxdWUtb3JpZ2luLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0b3JhZ2Uvb3BhcXVlLW9yaWdpbi5odHRwcy53aW5k
b3ctZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAzLTIxICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW3NlbGVjdGlvbl0gSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnN1
YnRyZWVIYXNDaGFuZ2VkKCkgc2hvdWxkbid0IGJlIGNhbGxlZCBpbiBzZXRSYW5nZVRleHQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmls
ZS1zeXN0ZW0tYWNjZXNzL29wYXF1ZS1vcmlnaW4uaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmlsZS1zeXN0ZW0t
YWNjZXNzL29wYXF1ZS1vcmlnaW4uaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCAxYjRk
YzhiNmRhODI2ZDVkZjIzZTdmYTg5N2ZkMWVhNjczYjRlZDJlLi4yM2U0YzUwYWZiYTU2MTkxODAw
M2U0YjVkMmM3YmM3YzNlMDc1NGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZpbGUtc3lzdGVtLWFjY2Vzcy9vcGFxdWUtb3JpZ2luLmh0
dHBzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9maWxlLXN5c3RlbS1hY2Nlc3Mvb3BhcXVlLW9yaWdpbi5odHRwcy53
aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0yLDUgKzIsNSBAQAogUEFTUyBzaG93RGlyZWN0b3J5UGlj
a2VyKCkgbXVzdCBiZSB1bmRlZmluZWQgZm9yIGRhdGEgVVJJIGlmcmFtZXMuCiBQQVNTIEZpbGVT
eXN0ZW1EaXJlY3RvcnlIYW5kbGUgbXVzdCBiZSB1bmRlZmluZWQgZm9yIGRhdGEgVVJJIGlmcmFt
ZXMuCiBGQUlMIG5hdmlnYXRvci5zdG9yYWdlLmdldERpcmVjdG9yeSgpIGFuZCBzaG93RGlyZWN0
b3J5UGlja2VyKCkgbXVzdCByZWplY3QgaW4gYSBzYW5kYm94ZWQgaWZyYW1lLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBSRUpFQ1RFRDogU2VjdXJpdHlF
cnJvciIgYnV0IGdvdCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBFWENFUFRJT046IFR5cGVFcnJv
ciIKLUZBSUwgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCkgYW5kIHNob3dEaXJlY3Rv
cnlQaWNrZXIoKSBtdXN0IHJlamVjdCBpbiBhIHNhbmRib3hlZCBvcGVuZWQgd2luZG93LiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBSRUpFQ1RFRDogU2Vj
dXJpdHlFcnJvciIgYnV0IGdvdCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBFWENFUFRJT046IFR5
cGVFcnJvciIKK0ZBSUwgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCkgYW5kIHNob3dE
aXJlY3RvcnlQaWNrZXIoKSBtdXN0IHJlamVjdCBpbiBhIHNhbmRib3hlZCBvcGVuZWQgd2luZG93
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBSRUpFQ1RF
RDogU2VjdXJpdHlFcnJvciIgYnV0IGdvdCAibmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5
KCk6IFJFSkVDVEVEOiBTZWN1cml0eUVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0b3JhZ2Uvb3BhcXVlLW9yaWdpbi5odHRw
cy53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zdG9yYWdlL29wYXF1ZS1vcmlnaW4uaHR0cHMud2luZG93LWV4cGVjdGVkLnR4
dAppbmRleCBiMTIxYWIwOGMyZTg5ZTQwNWM0OTZjYjMzODZjNjg5ZmZmYThmNTU2Li42ZDkzMjQx
ZDg1NDRlMDdjNDJhZmVkMDRmNTMwMjA5MDQyMTRiMWYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N0b3JhZ2Uvb3BhcXVlLW9yaWdpbi5o
dHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc3RvcmFnZS9vcGFxdWUtb3JpZ2luLmh0dHBzLndpbmRvdy1leHBl
Y3RlZC50eHQKQEAgLTEsOCArMSw4IEBACiAKIFBBU1MgbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lz
dGVkKCkgaW4gbm9uLXNhbmRib3hlZCBpZnJhbWUgc2hvdWxkIG5vdCByZWplY3QKLUZBSUwgbmF2
aWdhdG9yLnN0b3JhZ2UucGVyc2lzdGVkKCkgaW4gc2FuZGJveGVkIGlmcmFtZSBzaG91bGQgcmVq
ZWN0IHdpdGggVHlwZUVycm9yIGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5zdG9yYWdlLnBlcnNp
c3RlZCgpIHNob3VsZCByZWplY3Qgd2l0aCBUeXBlRXJyb3IgZXhwZWN0ZWQgImNvcnJlY3QgcmVq
ZWN0aW9uIiBidXQgZ290ICJubyByZWplY3Rpb24iCitQQVNTIG5hdmlnYXRvci5zdG9yYWdlLnBl
cnNpc3RlZCgpIGluIHNhbmRib3hlZCBpZnJhbWUgc2hvdWxkIHJlamVjdCB3aXRoIFR5cGVFcnJv
cgogRkFJTCBuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpIGluIG5vbi1zYW5kYm94ZWQgaWZy
YW1lIHNob3VsZCBub3QgcmVqZWN0IGFzc2VydF9lcXVhbHM6IG5hdmlnYXRvci5zdG9yYWdlLmVz
dGltYXRlKCkgc2hvdWxkIG5vdCByZWplY3QgZXhwZWN0ZWQgIm5vIHJlamVjdGlvbiIgYnV0IGdv
dCAiQVBJIGFjY2VzcyB0aHJldyIKIEZBSUwgbmF2aWdhdG9yLnN0b3JhZ2UuZXN0aW1hdGUoKSBp
biBzYW5kYm94ZWQgaWZyYW1lIHNob3VsZCByZWplY3Qgd2l0aCBUeXBlRXJyb3IgYXNzZXJ0X2Vx
dWFsczogbmF2aWdhdG9yLnN0b3JhZ2UuZXN0aW1hdGUoKSBzaG91bGQgcmVqZWN0IHdpdGggVHlw
ZUVycm9yIGV4cGVjdGVkICJjb3JyZWN0IHJlamVjdGlvbiIgYnV0IGdvdCAiQVBJIGFjY2VzcyB0
aHJldyIKIFBBU1MgbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lzdCgpIGluIG5vbi1zYW5kYm94ZWQg
aWZyYW1lIHNob3VsZCBub3QgcmVqZWN0Ci1GQUlMIG5hdmlnYXRvci5zdG9yYWdlLnBlcnNpc3Qo
KSBpbiBzYW5kYm94ZWQgaWZyYW1lIHNob3VsZCByZWplY3Qgd2l0aCBUeXBlRXJyb3IgYXNzZXJ0
X2VxdWFsczogbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lzdCgpIHNob3VsZCByZWplY3Qgd2l0aCBU
eXBlRXJyb3IgZXhwZWN0ZWQgImNvcnJlY3QgcmVqZWN0aW9uIiBidXQgZ290ICJubyByZWplY3Rp
b24iCitQQVNTIG5hdmlnYXRvci5zdG9yYWdlLnBlcnNpc3QoKSBpbiBzYW5kYm94ZWQgaWZyYW1l
IHNob3VsZCByZWplY3Qgd2l0aCBUeXBlRXJyb3IKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455288</attachid>
            <date>2022-03-21 15:47:07 -0700</date>
            <delta_ts>2022-03-22 14:40:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238158-20220321154707.patch</filename>
            <type>text/plain</type>
            <size>6526</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdlM2JkZDM0YzdjODI5
YjA1M2U4NTY1MTlkYzRmZjNmOWI0ODA5Zi4uYzU2NmM1MWY1MmMyMGNjNGM3NzgyNGNlNmZhYWUw
ODU0NDZlZjhhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAzLTIxICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIFRocm93IGVycm9yIGZvciBv
cGFxdWUgb3JpZ2luIGluIFN0b3JhZ2UgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgxNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBY2NvcmRpbmcgdG8gc3BlYzogaHR0cHM6Ly9zdG9yYWdlLnNw
ZWMud2hhdHdnLm9yZy8jb2J0YWluLWEtc3RvcmFnZS1rZXkuIAorCisgICAgICAgIFVwZGF0ZWQg
ZXhwZWN0YXRpb24gZm9yIGltcG9ydGVkIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9zdG9y
YWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbm5lY3Rpb25JbmZv
KToKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luLmg6CisgICAgICAgIChXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbjo6Y2FuQWNjZXNzU3RvcmFnZSBjb25zdCk6CisKIDIwMjItMDMtMjEgIEFu
dG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW21lZGlhLWNvbnRy
b2xzXSBzY3J1YmJpbmcgb24gaU9TIHdoZW4gaW5saW5lIGRvZXMgbm90IHdvcmsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RvcmFnZS9TdG9yYWdlTWFuYWdlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IDJi
YWI0ZjliMmQ2ODk3YzY2MjA5ZjU2ZjAyZWM0ODllZWI1ZTBjYjUuLjczOTYyM2YzZTFlNzMyOTA5
YTM4MWMwNTIzNjU1MmYxMmIwZGQ3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RvcmFnZS9TdG9yYWdlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtNzAsNyArNzAsOSBAQCBzdGF0aWMgRXhj
ZXB0aW9uT3I8Q29ubmVjdGlvbkluZm8+IGNvbm5lY3Rpb25JbmZvKE5hdmlnYXRvckJhc2UqIG5h
dmlnYXRvcikKICAgICBhdXRvKiBvcmlnaW4gPSBjb250ZXh0LT5zZWN1cml0eU9yaWdpbigpOwog
ICAgIGlmICghb3JpZ2luKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRl
RXJyb3IsICJPcmlnaW4gaXMgaW52YWxpZCJfcyB9OwotICAgIAorICAgIGlmICghb3JpZ2luLT5j
YW5BY2Nlc3NTdG9yYWdlKCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3Is
ICJPcmlnaW4gc2hvdWxkIG5vdCBhY2Nlc3Mgc3RvcmFnZSIgfTsKKwogICAgIGlmIChpczxEb2N1
bWVudD4oY29udGV4dCkpIHsKICAgICAgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBkb3duY2Fz
dDxEb2N1bWVudD4oY29udGV4dCktPnN0b3JhZ2VDb25uZWN0aW9uKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gQ29ubmVjdGlvbkluZm8geyAqY29ubmVjdGlvbiwgeyBjb250ZXh0LT50b3BPcmlnaW4o
KS5kYXRhKCksIG9yaWdpbi0+ZGF0YSgpIH0gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2VjdXJpdHlPcmlnaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmln
aW4uaAppbmRleCA4Yzg2YWQ1N2ZjZDJmOGMyNjgwYjg4OGVhNGFlMDI4YTdmMzA2YTdiLi5lMmY5
OWI3ODNlZGU2ODM3NmQ2ZTVmYjFiNTkxZDQwOTcxM2ZmNTE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZWN1cml0eU9yaWdpbi5oCkBAIC0xNTEsNiArMTUxLDcgQEAgcHVibGljOgogICAgIGJvb2wgY2Fu
QWNjZXNzTG9jYWxTdG9yYWdlKGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pIGNvbnN0
IHsgcmV0dXJuIGNhbkFjY2Vzc1N0b3JhZ2UodG9wT3JpZ2luKTsgfTsKICAgICBib29sIGNhbkFj
Y2Vzc1BsdWdpblN0b3JhZ2UoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbikgY29uc3Qg
eyByZXR1cm4gY2FuQWNjZXNzU3RvcmFnZSgmdG9wT3JpZ2luKTsgfQogICAgIGJvb2wgY2FuQWNj
ZXNzQXBwbGljYXRpb25DYWNoZShjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luKSBjb25z
dCB7IHJldHVybiBjYW5BY2Nlc3NTdG9yYWdlKCZ0b3BPcmlnaW4pOyB9CisgICAgYm9vbCBjYW5B
Y2Nlc3NTdG9yYWdlKCkgY29uc3QgeyByZXR1cm4gY2FuQWNjZXNzU3RvcmFnZShudWxscHRyKTsg
fQogICAgIGJvb2wgY2FuQWNjZXNzQ29va2llcygpIGNvbnN0IHsgcmV0dXJuICFpc1VuaXF1ZSgp
OyB9CiAgICAgYm9vbCBjYW5SZXF1ZXN0R2VvbG9jYXRpb24oKSBjb25zdCB7IHJldHVybiAhaXNV
bmlxdWUoKTsgfQogICAgIFBvbGljeSBjYW5TaG93Tm90aWZpY2F0aW9ucygpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMzhkNjczNTVkNDc4OWMxYTNlYmUxMTYwMmU1
ZDg1NWFkODQ0NTA4ZC4uMzdhNWU4NmQ2MmRkZDhhY2ZiNDAwNzE4Zjk3YWRlY2YyMDhhMzliYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDMt
MjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgVGhyb3cgZXJy
b3IgZm9yIG9wYXF1ZSBvcmlnaW4gaW4gU3RvcmFnZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODE1OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZpbGUtc3lz
dGVtLWFjY2Vzcy9vcGFxdWUtb3JpZ2luLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0b3JhZ2Uvb3BhcXVlLW9yaWdpbi5odHRwcy53aW5k
b3ctZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAzLTIxICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW3NlbGVjdGlvbl0gSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OnN1
YnRyZWVIYXNDaGFuZ2VkKCkgc2hvdWxkbid0IGJlIGNhbGxlZCBpbiBzZXRSYW5nZVRleHQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmls
ZS1zeXN0ZW0tYWNjZXNzL29wYXF1ZS1vcmlnaW4uaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmlsZS1zeXN0ZW0t
YWNjZXNzL29wYXF1ZS1vcmlnaW4uaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCAxYjRk
YzhiNmRhODI2ZDVkZjIzZTdmYTg5N2ZkMWVhNjczYjRlZDJlLi4xNGI3MGM3MmYxYWZlMzI5ZTI5
MDEwNDU2YmIyMTA0ZjRhYWZhMjkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZpbGUtc3lzdGVtLWFjY2Vzcy9vcGFxdWUtb3JpZ2luLmh0
dHBzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9maWxlLXN5c3RlbS1hY2Nlc3Mvb3BhcXVlLW9yaWdpbi5odHRwcy53
aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0yLDUgKzIsNSBAQAogUEFTUyBzaG93RGlyZWN0b3J5UGlj
a2VyKCkgbXVzdCBiZSB1bmRlZmluZWQgZm9yIGRhdGEgVVJJIGlmcmFtZXMuCiBQQVNTIEZpbGVT
eXN0ZW1EaXJlY3RvcnlIYW5kbGUgbXVzdCBiZSB1bmRlZmluZWQgZm9yIGRhdGEgVVJJIGlmcmFt
ZXMuCiBGQUlMIG5hdmlnYXRvci5zdG9yYWdlLmdldERpcmVjdG9yeSgpIGFuZCBzaG93RGlyZWN0
b3J5UGlja2VyKCkgbXVzdCByZWplY3QgaW4gYSBzYW5kYm94ZWQgaWZyYW1lLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBSRUpFQ1RFRDogU2VjdXJpdHlF
cnJvciIgYnV0IGdvdCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBFWENFUFRJT046IFR5cGVFcnJv
ciIKLUZBSUwgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCkgYW5kIHNob3dEaXJlY3Rv
cnlQaWNrZXIoKSBtdXN0IHJlamVjdCBpbiBhIHNhbmRib3hlZCBvcGVuZWQgd2luZG93LiBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBSRUpFQ1RFRDogU2Vj
dXJpdHlFcnJvciIgYnV0IGdvdCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBFWENFUFRJT046IFR5
cGVFcnJvciIKK0ZBSUwgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCkgYW5kIHNob3dE
aXJlY3RvcnlQaWNrZXIoKSBtdXN0IHJlamVjdCBpbiBhIHNhbmRib3hlZCBvcGVuZWQgd2luZG93
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBSRUpFQ1RF
RDogU2VjdXJpdHlFcnJvciIgYnV0IGdvdCAibmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5
KCk6IFJFSkVDVEVEOiBUeXBlRXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RvcmFnZS9vcGFxdWUtb3JpZ2luLmh0dHBzLndp
bmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3N0b3JhZ2Uvb3BhcXVlLW9yaWdpbi5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0Cmlu
ZGV4IGIxMjFhYjA4YzJlODllNDA1YzQ5NmNiMzM4NmM2ODlmZmZhOGY1NTYuLjZkOTMyNDFkODU0
NGUwN2M0MmFmZWQwNGY1MzAyMDkwNDIxNGIxZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RvcmFnZS9vcGFxdWUtb3JpZ2luLmh0dHBz
LndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zdG9yYWdlL29wYXF1ZS1vcmlnaW4uaHR0cHMud2luZG93LWV4cGVjdGVk
LnR4dApAQCAtMSw4ICsxLDggQEAKIAogUEFTUyBuYXZpZ2F0b3Iuc3RvcmFnZS5wZXJzaXN0ZWQo
KSBpbiBub24tc2FuZGJveGVkIGlmcmFtZSBzaG91bGQgbm90IHJlamVjdAotRkFJTCBuYXZpZ2F0
b3Iuc3RvcmFnZS5wZXJzaXN0ZWQoKSBpbiBzYW5kYm94ZWQgaWZyYW1lIHNob3VsZCByZWplY3Qg
d2l0aCBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lzdGVk
KCkgc2hvdWxkIHJlamVjdCB3aXRoIFR5cGVFcnJvciBleHBlY3RlZCAiY29ycmVjdCByZWplY3Rp
b24iIGJ1dCBnb3QgIm5vIHJlamVjdGlvbiIKK1BBU1MgbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lz
dGVkKCkgaW4gc2FuZGJveGVkIGlmcmFtZSBzaG91bGQgcmVqZWN0IHdpdGggVHlwZUVycm9yCiBG
QUlMIG5hdmlnYXRvci5zdG9yYWdlLmVzdGltYXRlKCkgaW4gbm9uLXNhbmRib3hlZCBpZnJhbWUg
c2hvdWxkIG5vdCByZWplY3QgYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnN0b3JhZ2UuZXN0aW1h
dGUoKSBzaG91bGQgbm90IHJlamVjdCBleHBlY3RlZCAibm8gcmVqZWN0aW9uIiBidXQgZ290ICJB
UEkgYWNjZXNzIHRocmV3IgogRkFJTCBuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpIGluIHNh
bmRib3hlZCBpZnJhbWUgc2hvdWxkIHJlamVjdCB3aXRoIFR5cGVFcnJvciBhc3NlcnRfZXF1YWxz
OiBuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpIHNob3VsZCByZWplY3Qgd2l0aCBUeXBlRXJy
b3IgZXhwZWN0ZWQgImNvcnJlY3QgcmVqZWN0aW9uIiBidXQgZ290ICJBUEkgYWNjZXNzIHRocmV3
IgogUEFTUyBuYXZpZ2F0b3Iuc3RvcmFnZS5wZXJzaXN0KCkgaW4gbm9uLXNhbmRib3hlZCBpZnJh
bWUgc2hvdWxkIG5vdCByZWplY3QKLUZBSUwgbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lzdCgpIGlu
IHNhbmRib3hlZCBpZnJhbWUgc2hvdWxkIHJlamVjdCB3aXRoIFR5cGVFcnJvciBhc3NlcnRfZXF1
YWxzOiBuYXZpZ2F0b3Iuc3RvcmFnZS5wZXJzaXN0KCkgc2hvdWxkIHJlamVjdCB3aXRoIFR5cGVF
cnJvciBleHBlY3RlZCAiY29ycmVjdCByZWplY3Rpb24iIGJ1dCBnb3QgIm5vIHJlamVjdGlvbiIK
K1BBU1MgbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lzdCgpIGluIHNhbmRib3hlZCBpZnJhbWUgc2hv
dWxkIHJlamVjdCB3aXRoIFR5cGVFcnJvcgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455429</attachid>
            <date>2022-03-22 14:40:09 -0700</date>
            <delta_ts>2022-03-22 16:59:20 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-238158-20220322144008.patch</filename>
            <type>text/plain</type>
            <size>6922</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjZmZDBkZDlkOTQyMmI0
OWZkZjhiYjk5MThlZGVhYTBlOWU4MWY5Zi4uOTUxYzMzNmJjNDZmNDdjYTExYmNiZTc3YjcyMTdk
OTBhYzJlNDlkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTAzLTIyICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIENoZWNrIGlmIG9yaWdpbiBj
YW4gYWNjZXNzIHN0b3JhZ2UgaW4gU3RvcmFnZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODE1OAorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgIEFjY29yZGluZyB0byBzcGVjIGh0dHBzOi8vc3RvcmFnZS5z
cGVjLndoYXR3Zy5vcmcvI29idGFpbi1hLXN0b3JhZ2Uta2V5LCBvcmlnaW4gc2hvdWxkIG5vdCBh
Y2Nlc3MgU3RvcmFnZSBBUEkgaWYKKyAgICAgICAgaXQncyBvcGFxdWUuIEFsc28sIG9yaWdpbiBz
aG91bGQgbm90IGFjY2VzcyBzdG9yYWdlIGlmIGl0J3MgYmxvY2tlZCBieSBzdG9yYWdlIHBvbGlj
eSwgc28gd2UgdXNlIAorICAgICAgICBTZWN1cml0eU9yaWdpbjo6Y2FuQWNjZXNzU3RvcmFnZSB0
byBwZXJmb3JtIHRoZSBvcmlnaW4gY2hlY2ssIGxpa2Ugd2hhdCB3ZSBkbyBmb3IgdGhlIG90aGVy
IHN0b3JhZ2UgQVBJcy4KKworICAgICAgICBVcGRhdGVkIGV4cGVjdGF0aW9uIGZvciBpbXBvcnRl
ZCB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvc3RvcmFnZS9TdG9yYWdlTWFuYWdlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjb25uZWN0aW9uSW5mbyk6CisgICAgICAgICogcGFnZS9TZWN1
cml0eU9yaWdpbi5oOgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNhbkFjY2Vz
c1N0b3JhZ2VNYW5hZ2VyIGNvbnN0KToKKwogMjAyMi0wMy0yMiAgSiBQYXNjb2UgIDxqX3Bhc2Nv
ZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkF1dGhuXSBTdXBwb3J0IGdldEFzc2VydGlvbiBm
b3IgdmlydHVhbCBISUQgYXV0aGVudGljYXRvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RvcmFnZS9TdG9yYWdlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IDJiYWI0ZjliMmQ2ODk3YzY2MjA5
ZjU2ZjAyZWM0ODllZWI1ZTBjYjUuLjE4OGQzMGI2MTk4YjE2MWUxYjQ3YWU5NzY4ZTBjMWU5NTc2
NjUzYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RvcmFnZS9TdG9yYWdl
TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdG9yYWdlL1N0b3JhZ2VN
YW5hZ2VyLmNwcApAQCAtNzAsNyArNzAsMTAgQEAgc3RhdGljIEV4Y2VwdGlvbk9yPENvbm5lY3Rp
b25JbmZvPiBjb25uZWN0aW9uSW5mbyhOYXZpZ2F0b3JCYXNlKiBuYXZpZ2F0b3IpCiAgICAgYXV0
byogb3JpZ2luID0gY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKTsKICAgICBpZiAoIW9yaWdpbikK
ICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yLCAiT3JpZ2luIGlz
IGludmFsaWQiX3MgfTsKLSAgICAKKworICAgIGlmICghb3JpZ2luLT5jYW5BY2Nlc3NTdG9yYWdl
TWFuYWdlcigpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiT3JpZ2lu
IHNob3VsZCBub3QgYWNjZXNzIHN0b3JhZ2UiIH07CisKICAgICBpZiAoaXM8RG9jdW1lbnQ+KGNv
bnRleHQpKSB7CiAgICAgICAgIGlmIChhdXRvKiBjb25uZWN0aW9uID0gZG93bmNhc3Q8RG9jdW1l
bnQ+KGNvbnRleHQpLT5zdG9yYWdlQ29ubmVjdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIENv
bm5lY3Rpb25JbmZvIHsgKmNvbm5lY3Rpb24sIHsgY29udGV4dC0+dG9wT3JpZ2luKCkuZGF0YSgp
LCBvcmlnaW4tPmRhdGEoKSB9IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
Y3VyaXR5T3JpZ2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgKaW5k
ZXggOGM4NmFkNTdmY2QyZjhjMjY4MGI4ODhlYTRhZTAyOGE3ZjMwNmE3Yi4uZDJiZjczZGE2MmQz
ZjVhMWE5NzRhMDdhZjdhYzI1OWRkYTY5YWEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TZWN1cml0eU9yaWdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlP
cmlnaW4uaApAQCAtMTQ5LDYgKzE0OSw3IEBAIHB1YmxpYzoKICAgICBib29sIGNhbkFjY2Vzc0Rh
dGFiYXNlKGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pIGNvbnN0IHsgcmV0dXJuIGNh
bkFjY2Vzc1N0b3JhZ2UodG9wT3JpZ2luKTsgfTsKICAgICBib29sIGNhbkFjY2Vzc1Nlc3Npb25T
dG9yYWdlKGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4pIGNvbnN0IHsgcmV0dXJuIGNh
bkFjY2Vzc1N0b3JhZ2UoJnRvcE9yaWdpbiwgQWx3YXlzQWxsb3dGcm9tVGhpcmRQYXJ0eSk7IH0K
ICAgICBib29sIGNhbkFjY2Vzc0xvY2FsU3RvcmFnZShjb25zdCBTZWN1cml0eU9yaWdpbiogdG9w
T3JpZ2luKSBjb25zdCB7IHJldHVybiBjYW5BY2Nlc3NTdG9yYWdlKHRvcE9yaWdpbik7IH07Cisg
ICAgYm9vbCBjYW5BY2Nlc3NTdG9yYWdlTWFuYWdlcigpIGNvbnN0IHsgcmV0dXJuIGNhbkFjY2Vz
c1N0b3JhZ2UobnVsbHB0cik7IH0KICAgICBib29sIGNhbkFjY2Vzc1BsdWdpblN0b3JhZ2UoY29u
c3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbikgY29uc3QgeyByZXR1cm4gY2FuQWNjZXNzU3Rv
cmFnZSgmdG9wT3JpZ2luKTsgfQogICAgIGJvb2wgY2FuQWNjZXNzQXBwbGljYXRpb25DYWNoZShj
b25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luKSBjb25zdCB7IHJldHVybiBjYW5BY2Nlc3NT
dG9yYWdlKCZ0b3BPcmlnaW4pOyB9CiAgICAgYm9vbCBjYW5BY2Nlc3NDb29raWVzKCkgY29uc3Qg
eyByZXR1cm4gIWlzVW5pcXVlKCk7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDk4MTQ0ZTJkM2FhY2M5ODJlMjNmYjQwMTIxZDgzZjY0MDlhN2YzNzcuLjhkY2JlNjdhNmU1ZDIy
NDJhYmZiZmQwZDczYjU2NWZmMzA5NWRkM2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTAzLTIyICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBw
bGUuY29tPgorCisgICAgICAgIENoZWNrIGlmIG9yaWdpbiBjYW4gYWNjZXNzIHN0b3JhZ2UgaW4g
U3RvcmFnZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzODE1OAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZpbGUtc3lzdGVtLWFjY2Vzcy9vcGFxdWUtb3JpZ2luLmh0
dHBzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N0
b3JhZ2Uvb3BhcXVlLW9yaWdpbi5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAz
LTIyICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW3NlbGVjdGlvbl0g
Q2hhbmdlIGZvcm0ncyBzZWxlY3Rpb24gYXR0cmlidXRlIHRvIHVuc2lnbmVkIGxvbmcKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmlsZS1z
eXN0ZW0tYWNjZXNzL29wYXF1ZS1vcmlnaW4uaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmlsZS1zeXN0ZW0tYWNj
ZXNzL29wYXF1ZS1vcmlnaW4uaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCAxYjRkYzhi
NmRhODI2ZDVkZjIzZTdmYTg5N2ZkMWVhNjczYjRlZDJlLi4xNGI3MGM3MmYxYWZlMzI5ZTI5MDEw
NDU2YmIyMTA0ZjRhYWZhMjkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZpbGUtc3lzdGVtLWFjY2Vzcy9vcGFxdWUtb3JpZ2luLmh0dHBz
LndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9maWxlLXN5c3RlbS1hY2Nlc3Mvb3BhcXVlLW9yaWdpbi5odHRwcy53aW5k
b3ctZXhwZWN0ZWQudHh0CkBAIC0yLDUgKzIsNSBAQAogUEFTUyBzaG93RGlyZWN0b3J5UGlja2Vy
KCkgbXVzdCBiZSB1bmRlZmluZWQgZm9yIGRhdGEgVVJJIGlmcmFtZXMuCiBQQVNTIEZpbGVTeXN0
ZW1EaXJlY3RvcnlIYW5kbGUgbXVzdCBiZSB1bmRlZmluZWQgZm9yIGRhdGEgVVJJIGlmcmFtZXMu
CiBGQUlMIG5hdmlnYXRvci5zdG9yYWdlLmdldERpcmVjdG9yeSgpIGFuZCBzaG93RGlyZWN0b3J5
UGlja2VyKCkgbXVzdCByZWplY3QgaW4gYSBzYW5kYm94ZWQgaWZyYW1lLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBSRUpFQ1RFRDogU2VjdXJpdHlFcnJv
ciIgYnV0IGdvdCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBFWENFUFRJT046IFR5cGVFcnJvciIK
LUZBSUwgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCkgYW5kIHNob3dEaXJlY3RvcnlQ
aWNrZXIoKSBtdXN0IHJlamVjdCBpbiBhIHNhbmRib3hlZCBvcGVuZWQgd2luZG93LiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBSRUpFQ1RFRDogU2VjdXJp
dHlFcnJvciIgYnV0IGdvdCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBFWENFUFRJT046IFR5cGVF
cnJvciIKK0ZBSUwgbmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCkgYW5kIHNob3dEaXJl
Y3RvcnlQaWNrZXIoKSBtdXN0IHJlamVjdCBpbiBhIHNhbmRib3hlZCBvcGVuZWQgd2luZG93LiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic2hvd0RpcmVjdG9yeVBpY2tlcigpOiBSRUpFQ1RFRDog
U2VjdXJpdHlFcnJvciIgYnV0IGdvdCAibmF2aWdhdG9yLnN0b3JhZ2UuZ2V0RGlyZWN0b3J5KCk6
IFJFSkVDVEVEOiBUeXBlRXJyb3IiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RvcmFnZS9vcGFxdWUtb3JpZ2luLmh0dHBzLndpbmRv
dy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3N0b3JhZ2Uvb3BhcXVlLW9yaWdpbi5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4
IGIxMjFhYjA4YzJlODllNDA1YzQ5NmNiMzM4NmM2ODlmZmZhOGY1NTYuLjZkOTMyNDFkODU0NGUw
N2M0MmFmZWQwNGY1MzAyMDkwNDIxNGIxZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3RvcmFnZS9vcGFxdWUtb3JpZ2luLmh0dHBzLndp
bmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zdG9yYWdlL29wYXF1ZS1vcmlnaW4uaHR0cHMud2luZG93LWV4cGVjdGVkLnR4
dApAQCAtMSw4ICsxLDggQEAKIAogUEFTUyBuYXZpZ2F0b3Iuc3RvcmFnZS5wZXJzaXN0ZWQoKSBp
biBub24tc2FuZGJveGVkIGlmcmFtZSBzaG91bGQgbm90IHJlamVjdAotRkFJTCBuYXZpZ2F0b3Iu
c3RvcmFnZS5wZXJzaXN0ZWQoKSBpbiBzYW5kYm94ZWQgaWZyYW1lIHNob3VsZCByZWplY3Qgd2l0
aCBUeXBlRXJyb3IgYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lzdGVkKCkg
c2hvdWxkIHJlamVjdCB3aXRoIFR5cGVFcnJvciBleHBlY3RlZCAiY29ycmVjdCByZWplY3Rpb24i
IGJ1dCBnb3QgIm5vIHJlamVjdGlvbiIKK1BBU1MgbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lzdGVk
KCkgaW4gc2FuZGJveGVkIGlmcmFtZSBzaG91bGQgcmVqZWN0IHdpdGggVHlwZUVycm9yCiBGQUlM
IG5hdmlnYXRvci5zdG9yYWdlLmVzdGltYXRlKCkgaW4gbm9uLXNhbmRib3hlZCBpZnJhbWUgc2hv
dWxkIG5vdCByZWplY3QgYXNzZXJ0X2VxdWFsczogbmF2aWdhdG9yLnN0b3JhZ2UuZXN0aW1hdGUo
KSBzaG91bGQgbm90IHJlamVjdCBleHBlY3RlZCAibm8gcmVqZWN0aW9uIiBidXQgZ290ICJBUEkg
YWNjZXNzIHRocmV3IgogRkFJTCBuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpIGluIHNhbmRi
b3hlZCBpZnJhbWUgc2hvdWxkIHJlamVjdCB3aXRoIFR5cGVFcnJvciBhc3NlcnRfZXF1YWxzOiBu
YXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpIHNob3VsZCByZWplY3Qgd2l0aCBUeXBlRXJyb3Ig
ZXhwZWN0ZWQgImNvcnJlY3QgcmVqZWN0aW9uIiBidXQgZ290ICJBUEkgYWNjZXNzIHRocmV3Igog
UEFTUyBuYXZpZ2F0b3Iuc3RvcmFnZS5wZXJzaXN0KCkgaW4gbm9uLXNhbmRib3hlZCBpZnJhbWUg
c2hvdWxkIG5vdCByZWplY3QKLUZBSUwgbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lzdCgpIGluIHNh
bmRib3hlZCBpZnJhbWUgc2hvdWxkIHJlamVjdCB3aXRoIFR5cGVFcnJvciBhc3NlcnRfZXF1YWxz
OiBuYXZpZ2F0b3Iuc3RvcmFnZS5wZXJzaXN0KCkgc2hvdWxkIHJlamVjdCB3aXRoIFR5cGVFcnJv
ciBleHBlY3RlZCAiY29ycmVjdCByZWplY3Rpb24iIGJ1dCBnb3QgIm5vIHJlamVjdGlvbiIKK1BB
U1MgbmF2aWdhdG9yLnN0b3JhZ2UucGVyc2lzdCgpIGluIHNhbmRib3hlZCBpZnJhbWUgc2hvdWxk
IHJlamVjdCB3aXRoIFR5cGVFcnJvcgogCg==
</data>
<flag name="commit-queue"
          id="483453"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>