<?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>235897</bug_id>
          
          <creation_ts>2022-01-31 10:22:16 -0800</creation_ts>
          <short_desc>Delay writing origin file in NetworkStorageManager</short_desc>
          <delta_ts>2022-02-03 15:10:41 -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>New Bugs</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>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1835581</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-31 10:22:16 -0800</bug_when>
    <thetext>rdar://87163253</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835624</commentid>
    <comment_count>1</comment_count>
      <attachid>450427</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-01-31 11:57:08 -0800</bug_when>
    <thetext>Created attachment 450427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836016</commentid>
    <comment_count>2</comment_count>
      <attachid>450427</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-01 09:23:38 -0800</bug_when>
    <thetext>Comment on attachment 450427
Patch

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

&gt; Source/WebKit/ChangeLog:12
&gt; +        The first WebStorage message sent from web process to network process is sync, and writing origin file when 
&gt; +        creating OriginStorageManager will delay the reply. Since we can get the origin information from in-memory map 
&gt; +        when OriginStorageManager is present, we may delay the write to until when OriginStorageManager is destroyed.
&gt; +        This fixes the PLT regression from r286936.

Can we make a regression test for this?

Does it matter if this data gets lost because of a crash?

&gt; Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:283
&gt; +    if (m_writeOriginFileFunction)
&gt; +        m_writeOriginFileFunction();

It’s often a poor pattern to do side effects like writing to a file in a destructor or constructor. In this case it may be a helpful pattern, but I am a bit concerned that call sites that are removing an element from a map don’t look like they are doing file I/O.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836150</commentid>
    <comment_count>3</comment_count>
      <attachid>450427</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-01 14:29:59 -0800</bug_when>
    <thetext>Comment on attachment 450427
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:12
&gt;&gt; +        This fixes the PLT regression from r286936.
&gt; 
&gt; Can we make a regression test for this?
&gt; 
&gt; Does it matter if this data gets lost because of a crash?

Tests for the PLT regression? I don&apos;t know we have unit test for perf... I can add a comment about why we want to delay the write.
If the network process crashes, we would relaunch a new one. The web process will connect to the new network process and tell it about the origin, so it&apos;s probably fine.

&gt;&gt; Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:283
&gt;&gt; +        m_writeOriginFileFunction();
&gt; 
&gt; It’s often a poor pattern to do side effects like writing to a file in a destructor or constructor. In this case it may be a helpful pattern, but I am a bit concerned that call sites that are removing an element from a map don’t look like they are doing file I/O.

I can add OriginStorageManager::prepareForDestruction, invoking and clearing m_writeOriginFileFunction there, and ensure m_writeOriginFileFunction is null in ~OriginStorageManager(). And let the call sites call prepareForDestruction() before removing OriginStorageManager from map.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836151</commentid>
    <comment_count>4</comment_count>
      <attachid>450427</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-01 14:32:15 -0800</bug_when>
    <thetext>Comment on attachment 450427
Patch

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

&gt;&gt;&gt; Source/WebKit/ChangeLog:12
&gt;&gt;&gt; +        This fixes the PLT regression from r286936.
&gt;&gt; 
&gt;&gt; Can we make a regression test for this?
&gt;&gt; 
&gt;&gt; Does it matter if this data gets lost because of a crash?
&gt; 
&gt; Tests for the PLT regression? I don&apos;t know we have unit test for perf... I can add a comment about why we want to delay the write.
&gt; If the network process crashes, we would relaunch a new one. The web process will connect to the new network process and tell it about the origin, so it&apos;s probably fine.

We should look for ways to test that we aren’t doing I/O when we don’t intend to; I suspect we could probably invent something that would make a mistake much easier to notice than bisecting a performance regression. Not saying it’s easy.

&gt;&gt;&gt; Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:283
&gt;&gt;&gt; +        m_writeOriginFileFunction();
&gt;&gt; 
&gt;&gt; It’s often a poor pattern to do side effects like writing to a file in a destructor or constructor. In this case it may be a helpful pattern, but I am a bit concerned that call sites that are removing an element from a map don’t look like they are doing file I/O.
&gt; 
&gt; I can add OriginStorageManager::prepareForDestruction, invoking and clearing m_writeOriginFileFunction there, and ensure m_writeOriginFileFunction is null in ~OriginStorageManager(). And let the call sites call prepareForDestruction() before removing OriginStorageManager from map.

A pattern like that might be better, but I’m not sure it’s necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836175</commentid>
    <comment_count>5</comment_count>
      <attachid>450427</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-01 15:06:31 -0800</bug_when>
    <thetext>Comment on attachment 450427
Patch

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

&gt;&gt;&gt;&gt; Source/WebKit/ChangeLog:12
&gt;&gt;&gt;&gt; +        This fixes the PLT regression from r286936.
&gt;&gt;&gt; 
&gt;&gt;&gt; Can we make a regression test for this?
&gt;&gt;&gt; 
&gt;&gt;&gt; Does it matter if this data gets lost because of a crash?
&gt;&gt; 
&gt;&gt; Tests for the PLT regression? I don&apos;t know we have unit test for perf... I can add a comment about why we want to delay the write.
&gt;&gt; If the network process crashes, we would relaunch a new one. The web process will connect to the new network process and tell it about the origin, so it&apos;s probably fine.
&gt; 
&gt; We should look for ways to test that we aren’t doing I/O when we don’t intend to; I suspect we could probably invent something that would make a mistake much easier to notice than bisecting a performance regression. Not saying it’s easy.

hmm, it occurs to me that maybe we can set up auto perf tests for LocalStorage API specifically; we have similar tests for IndexedDB. I will check how that runs.

&gt;&gt;&gt;&gt; Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:283
&gt;&gt;&gt;&gt; +        m_writeOriginFileFunction();
&gt;&gt;&gt; 
&gt;&gt;&gt; It’s often a poor pattern to do side effects like writing to a file in a destructor or constructor. In this case it may be a helpful pattern, but I am a bit concerned that call sites that are removing an element from a map don’t look like they are doing file I/O.
&gt;&gt; 
&gt;&gt; I can add OriginStorageManager::prepareForDestruction, invoking and clearing m_writeOriginFileFunction there, and ensure m_writeOriginFileFunction is null in ~OriginStorageManager(). And let the call sites call prepareForDestruction() before removing OriginStorageManager from map.
&gt; 
&gt; A pattern like that might be better, but I’m not sure it’s necessary.

Yes it&apos;s not necessary since OriginStorageManager is only used in NetworkStorageManager; and a comment in NetworkStorageManager should be enough to indicate I/O during destruction. Will land the patch as it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836176</commentid>
    <comment_count>6</comment_count>
      <attachid>450576</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-01 15:07:52 -0800</bug_when>
    <thetext>Created attachment 450576
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836204</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-01 16:11:27 -0800</bug_when>
    <thetext>Committed r288924 (246658@main): &lt;https://commits.webkit.org/246658@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450576.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836214</commentid>
    <comment_count>8</comment_count>
      <attachid>450576</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-01 16:21:40 -0800</bug_when>
    <thetext>Comment on attachment 450576
Patch for landing

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

&gt; Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:284
&gt; +OriginStorageManager::~OriginStorageManager()
&gt; +{
&gt; +    if (m_writeOriginFileFunction)
&gt; +        m_writeOriginFileFunction();
&gt; +}

Is the reason that this change avoids a sync delay because OriginStorageManager is usually destroyed by a call to m_queue-&gt;dispatch()? If so, could we just m_queue-&gt;dispatch() a call to writeOriginToFileIfNecessary when we construct the OriginStorageManager instead? (To resolve the concern that file I/O in a destructor can be surprising.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836274</commentid>
    <comment_count>9</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-01 17:58:07 -0800</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #8)
&gt; Comment on attachment 450576 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450576&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp:284
&gt; &gt; +OriginStorageManager::~OriginStorageManager()
&gt; &gt; +{
&gt; &gt; +    if (m_writeOriginFileFunction)
&gt; &gt; +        m_writeOriginFileFunction();
&gt; &gt; +}
&gt; 
&gt; Is the reason that this change avoids a sync delay because
&gt; OriginStorageManager is usually destroyed by a call to m_queue-&gt;dispatch()?
&gt; If so, could we just m_queue-&gt;dispatch() a call to
&gt; writeOriginToFileIfNecessary when we construct the OriginStorageManager
&gt; instead? (To resolve the concern that file I/O in a destructor can be
&gt; surprising.)

ah scheduling a task to write origin file may also work; I will schedule PLT test to confirm. If it does give us the progression, I will update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836972</commentid>
    <comment_count>10</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-03 09:26:45 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836973</commentid>
    <comment_count>11</comment_count>
      <attachid>450782</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-03 09:26:46 -0800</bug_when>
    <thetext>Created attachment 450782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836994</commentid>
    <comment_count>12</comment_count>
      <attachid>450789</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-03 10:16:03 -0800</bug_when>
    <thetext>Created attachment 450789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836996</commentid>
    <comment_count>13</comment_count>
      <attachid>450790</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-03 10:25:38 -0800</bug_when>
    <thetext>Created attachment 450790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837079</commentid>
    <comment_count>14</comment_count>
      <attachid>450790</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2022-02-03 13:24:40 -0800</bug_when>
    <thetext>Comment on attachment 450790
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837104</commentid>
    <comment_count>15</comment_count>
      <attachid>450817</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-02-03 14:06:43 -0800</bug_when>
    <thetext>Created attachment 450817
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837137</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-03 15:10:35 -0800</bug_when>
    <thetext>Committed r289081 (246785@main): &lt;https://commits.webkit.org/246785@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450817.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450427</attachid>
            <date>2022-01-31 11:57:08 -0800</date>
            <delta_ts>2022-02-01 15:07:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235897-20220131115707.patch</filename>
            <type>text/plain</type>
            <size>4841</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4ODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJiZTY4N2ZjNmNiYWM5NDIz
ZmMyYmY4NjQyOGE1MDM0MjJmOTVkYWIuLjk3MTM3OTQwMzZmMDQ0M2IyN2UyMWQ4OTg4OTZlMTJl
ZGJmMDUyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjItMDEtMzEgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV3JpdGUgb3JpZ2luIGZpbGUgd2hl
biBPcmlnaW5TdG9yYWdlTWFuYWdlciBpcyBkZXN0cm95ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTg5NworICAgICAgICByZGFyOi8vODcxNjMy
NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUg
Zmlyc3QgV2ViU3RvcmFnZSBtZXNzYWdlIHNlbnQgZnJvbSB3ZWIgcHJvY2VzcyB0byBuZXR3b3Jr
IHByb2Nlc3MgaXMgc3luYywgYW5kIHdyaXRpbmcgb3JpZ2luIGZpbGUgd2hlbiAKKyAgICAgICAg
Y3JlYXRpbmcgT3JpZ2luU3RvcmFnZU1hbmFnZXIgd2lsbCBkZWxheSB0aGUgcmVwbHkuIFNpbmNl
IHdlIGNhbiBnZXQgdGhlIG9yaWdpbiBpbmZvcm1hdGlvbiBmcm9tIGluLW1lbW9yeSBtYXAgCisg
ICAgICAgIHdoZW4gT3JpZ2luU3RvcmFnZU1hbmFnZXIgaXMgcHJlc2VudCwgd2UgbWF5IGRlbGF5
IHRoZSB3cml0ZSB0byB1bnRpbCB3aGVuIE9yaWdpblN0b3JhZ2VNYW5hZ2VyIGlzIGRlc3Ryb3ll
ZC4KKyAgICAgICAgVGhpcyBmaXhlcyB0aGUgUExUIHJlZ3Jlc3Npb24gZnJvbSByMjg2OTM2Lgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9OZXR3b3JrU3RvcmFnZU1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU3RvcmFnZU1hbmFnZXI6OmxvY2FsT3JpZ2lu
U3RvcmFnZU1hbmFnZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2lu
U3RvcmFnZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpPcmlnaW5TdG9yYWdlTWFuYWdl
cjo6T3JpZ2luU3RvcmFnZU1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpPcmlnaW5TdG9yYWdl
TWFuYWdlcjo6fk9yaWdpblN0b3JhZ2VNYW5hZ2VyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2VyLmg6CisKIDIwMjItMDEtMzEgIFBlciBBcm5l
IFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdW1dQXSBSZXN0cmlj
dCBpbWFnZSBkZWNvZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9zdG9yYWdlL05ldHdvcmtTdG9yYWdlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCA5MGZhMWRm
YWU4Yzg2OWJlNWJmMmM1NGNlMmYxNzgxYzI3MjgwOTVkLi5jOTE5Nzk4NmU1OTliYjE5MTM0MDg5
NGQ3NTljMDBhYTdkOGViZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMjEw
LDggKzIxMCwxMCBAQCBPcmlnaW5TdG9yYWdlTWFuYWdlciYgTmV0d29ya1N0b3JhZ2VNYW5hZ2Vy
Ojpsb2NhbE9yaWdpblN0b3JhZ2VNYW5hZ2VyKGNvbnN0IFdlYgogCiAgICAgcmV0dXJuICptX2xv
Y2FsT3JpZ2luU3RvcmFnZU1hbmFnZXJzLmVuc3VyZShvcmlnaW4sIFsmXSB7CiAgICAgICAgIGF1
dG8gb3JpZ2luRGlyZWN0b3J5ID0gb3JpZ2luRGlyZWN0b3J5UGF0aChtX3BhdGgsIG9yaWdpbiwg
bV9zYWx0KTsKLSAgICAgICAgd3JpdGVPcmlnaW5Ub0ZpbGVJZk5lY2Vzc2FyeShvcmlnaW5GaWxl
UGF0aChvcmlnaW5EaXJlY3RvcnkpLCBvcmlnaW4pOwotICAgICAgICByZXR1cm4gbWFrZVVuaXF1
ZTxPcmlnaW5TdG9yYWdlTWFuYWdlcj4oV1RGTW92ZShvcmlnaW5EaXJlY3RvcnkpLCBMb2NhbFN0
b3JhZ2VNYW5hZ2VyOjpsb2NhbFN0b3JhZ2VGaWxlUGF0aChtX2N1c3RvbUxvY2FsU3RvcmFnZVBh
dGgsIG9yaWdpbikpOworICAgICAgICBhdXRvIHdyaXRlT3JpZ2luRmlsZUZ1bmN0aW9uID0gW29y
aWdpbkZpbGUgPSBvcmlnaW5GaWxlUGF0aChvcmlnaW5EaXJlY3RvcnkpLCBvcmlnaW5dKCkgewor
ICAgICAgICAgICAgd3JpdGVPcmlnaW5Ub0ZpbGVJZk5lY2Vzc2FyeShvcmlnaW5GaWxlLCBvcmln
aW4pOworICAgICAgICB9OworICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxPcmlnaW5TdG9yYWdl
TWFuYWdlcj4oV1RGTW92ZSh3cml0ZU9yaWdpbkZpbGVGdW5jdGlvbiksIFdURk1vdmUob3JpZ2lu
RGlyZWN0b3J5KSwgTG9jYWxTdG9yYWdlTWFuYWdlcjo6bG9jYWxTdG9yYWdlRmlsZVBhdGgobV9j
dXN0b21Mb2NhbFN0b3JhZ2VQYXRoLCBvcmlnaW4pKTsKICAgICB9KS5pdGVyYXRvci0+dmFsdWU7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9P
cmlnaW5TdG9yYWdlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0
b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IGQwN2M1MjI1YTg2N2QyMmEzODQ0
NzU2OGMwOWU0ODE1NzA1Y2U4ZjIuLjEzY2Q0OTI2ZDdjYjMyZmQ2YmM5NDA3NTlkOTkyNzkyMzc0
MjE0M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9P
cmlnaW5TdG9yYWdlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMjY5LDE0ICsyNjksMTkgQEAg
cHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Vzc2lvblN0b3JhZ2VNYW5hZ2VyPiBtX3Nl
c3Npb25TdG9yYWdlTWFuYWdlcjsKIH07CiAKLU9yaWdpblN0b3JhZ2VNYW5hZ2VyOjpPcmlnaW5T
dG9yYWdlTWFuYWdlcihTdHJpbmcmJiBwYXRoLCBTdHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKQot
ICAgIDogbV9wYXRoKFdURk1vdmUocGF0aCkpCitPcmlnaW5TdG9yYWdlTWFuYWdlcjo6T3JpZ2lu
U3RvcmFnZU1hbmFnZXIoRnVuY3Rpb248dm9pZCgpPiYmIHdyaXRlT3JpZ2luRmlsZUZ1bmN0aW9u
LCBTdHJpbmcmJiBwYXRoLCBTdHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKQorICAgIDogbV93cml0
ZU9yaWdpbkZpbGVGdW5jdGlvbihXVEZNb3ZlKHdyaXRlT3JpZ2luRmlsZUZ1bmN0aW9uKSkKKyAg
ICAsIG1fcGF0aChXVEZNb3ZlKHBhdGgpKQogICAgICwgbV9sb2NhbFN0b3JhZ2VQYXRoKFdURk1v
dmUobG9jYWxTdG9yYWdlUGF0aCkpCiB7CiAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7
CiB9CiAKLU9yaWdpblN0b3JhZ2VNYW5hZ2VyOjp+T3JpZ2luU3RvcmFnZU1hbmFnZXIoKSA9IGRl
ZmF1bHQ7CitPcmlnaW5TdG9yYWdlTWFuYWdlcjo6fk9yaWdpblN0b3JhZ2VNYW5hZ2VyKCkKK3sK
KyAgICBpZiAobV93cml0ZU9yaWdpbkZpbGVGdW5jdGlvbikKKyAgICAgICAgbV93cml0ZU9yaWdp
bkZpbGVGdW5jdGlvbigpOworfQogCiB2b2lkIE9yaWdpblN0b3JhZ2VNYW5hZ2VyOjpjb25uZWN0
aW9uQ2xvc2VkKElQQzo6Q29ubmVjdGlvbjo6VW5pcXVlSUQgY29ubmVjdGlvbikKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdl
TWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0
b3JhZ2VNYW5hZ2VyLmgKaW5kZXggNWU3NjY5OTg2ZTQ2Njg1ZjM4OWI3YTUyNzFlNjZkMGU2M2My
ZDE5ZS4uMWEwZjU4MTE0MDZlMDI4Zjg3NmRmN2Q4OTEyYzQ1ZmE0OTE3ZTI1NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0
b3JhZ2VNYW5hZ2VyLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgZW51bSBjbGFzcyBXZWJzaXRlRGF0YVR5
cGUgOiB1aW50MzJfdDsKIGNsYXNzIE9yaWdpblN0b3JhZ2VNYW5hZ2VyIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBPcmlnaW5TdG9yYWdlTWFuYWdlcihTdHJp
bmcmJiBwYXRoLCBTdHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKTsKKyAgICBPcmlnaW5TdG9yYWdl
TWFuYWdlcihGdW5jdGlvbjx2b2lkKCk+JiYsIFN0cmluZyYmIHBhdGgsIFN0cmluZyYmIGxvY2Fs
U3RvcmFnZVBhdGgpOwogICAgIH5PcmlnaW5TdG9yYWdlTWFuYWdlcigpOwogCiAgICAgdm9pZCBj
b25uZWN0aW9uQ2xvc2VkKElQQzo6Q29ubmVjdGlvbjo6VW5pcXVlSUQpOwpAQCAtNjksNiArNjks
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlT3JpZ2luRmlsZUlmTmVjZXNzYXJ5KGNvbnN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYpOwogICAgIHZvaWQgZGVsZXRlT3JpZ2luRmlsZUlmTmVj
ZXNzYXJ5KCk7CiAKKyAgICBGdW5jdGlvbjx2b2lkKCk+IG1fd3JpdGVPcmlnaW5GaWxlRnVuY3Rp
b247CiAgICAgc3RkOjp1bmlxdWVfcHRyPFN0b3JhZ2VCdWNrZXQ+IG1fZGVmYXVsdEJ1Y2tldDsK
ICAgICBTdHJpbmcgbV9wYXRoOwogICAgIGJvb2wgbV9wZXJzaXN0ZWQgeyBmYWxzZSB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450576</attachid>
            <date>2022-02-01 15:07:52 -0800</date>
            <delta_ts>2022-02-03 09:26:41 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235897-20220201150751.patch</filename>
            <type>text/plain</type>
            <size>4986</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4OTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJiYmY2YzViZTFiYjM2ZjMx
M2E5N2Y4OGMyYzlhMDdiOTE0NGE5MjYuLmM0ZDQwM2QwYTVkYzVmZmJiYzhhMzlhMDAyOWY5N2I3
ZGJjNmE4ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjItMDItMDEgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgV3JpdGUgb3JpZ2luIGZpbGUgd2hl
biBPcmlnaW5TdG9yYWdlTWFuYWdlciBpcyBkZXN0cm95ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTg5NworICAgICAgICByZGFyOi8vODcxNjMy
NTMKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGUgZmly
c3QgV2ViU3RvcmFnZSBtZXNzYWdlIHNlbnQgZnJvbSB3ZWIgcHJvY2VzcyB0byBuZXR3b3JrIHBy
b2Nlc3MgaXMgc3luYywgYW5kIHdyaXRpbmcgb3JpZ2luIGZpbGUgd2hlbiAKKyAgICAgICAgY3Jl
YXRpbmcgT3JpZ2luU3RvcmFnZU1hbmFnZXIgd2lsbCBkZWxheSB0aGUgcmVwbHkuIFNpbmNlIHdl
IGNhbiBnZXQgdGhlIG9yaWdpbiBpbmZvcm1hdGlvbiBmcm9tIGluLW1lbW9yeSBtYXAgCisgICAg
ICAgIHdoZW4gT3JpZ2luU3RvcmFnZU1hbmFnZXIgaXMgcHJlc2VudCwgd2UgbWF5IGRlbGF5IHRo
ZSB3cml0ZSB0byB1bnRpbCB3aGVuIE9yaWdpblN0b3JhZ2VNYW5hZ2VyIGlzIGRlc3Ryb3llZC4K
KyAgICAgICAgVGhpcyBmaXhlcyB0aGUgUExUIHJlZ3Jlc3Npb24gZnJvbSByMjg2OTM2LgorCisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9OZXR3b3JrU3RvcmFnZU1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU3RvcmFnZU1hbmFnZXI6OmxvY2FsT3JpZ2luU3Rv
cmFnZU1hbmFnZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3Rv
cmFnZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpPcmlnaW5TdG9yYWdlTWFuYWdlcjo6
T3JpZ2luU3RvcmFnZU1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpPcmlnaW5TdG9yYWdlTWFu
YWdlcjo6fk9yaWdpblN0b3JhZ2VNYW5hZ2VyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9z
dG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2VyLmg6CisKIDIwMjItMDItMDEgIFBlciBBcm5lIFZv
bGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU11bV1BdIEFkZCByZXF1
aXJlZCBzeXNjYWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0
b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvc3RvcmFnZS9OZXR3b3JrU3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IDkwZmExZGZhZThj
ODY5YmU1YmYyYzU0Y2UyZjE3ODFjMjcyODA5NWQuLjg3MzI2YzFiYmMxMzYyMmRlNTYwNGRlYzQy
YWEzY2EzN2UzOGU0MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
c3RvcmFnZS9OZXR3b3JrU3RvcmFnZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvc3RvcmFnZS9OZXR3b3JrU3RvcmFnZU1hbmFnZXIuY3BwCkBAIC0yMTAsOCAr
MjEwLDEyIEBAIE9yaWdpblN0b3JhZ2VNYW5hZ2VyJiBOZXR3b3JrU3RvcmFnZU1hbmFnZXI6Omxv
Y2FsT3JpZ2luU3RvcmFnZU1hbmFnZXIoY29uc3QgV2ViCiAKICAgICByZXR1cm4gKm1fbG9jYWxP
cmlnaW5TdG9yYWdlTWFuYWdlcnMuZW5zdXJlKG9yaWdpbiwgWyZdIHsKICAgICAgICAgYXV0byBv
cmlnaW5EaXJlY3RvcnkgPSBvcmlnaW5EaXJlY3RvcnlQYXRoKG1fcGF0aCwgb3JpZ2luLCBtX3Nh
bHQpOwotICAgICAgICB3cml0ZU9yaWdpblRvRmlsZUlmTmVjZXNzYXJ5KG9yaWdpbkZpbGVQYXRo
KG9yaWdpbkRpcmVjdG9yeSksIG9yaWdpbik7Ci0gICAgICAgIHJldHVybiBtYWtlVW5pcXVlPE9y
aWdpblN0b3JhZ2VNYW5hZ2VyPihXVEZNb3ZlKG9yaWdpbkRpcmVjdG9yeSksIExvY2FsU3RvcmFn
ZU1hbmFnZXI6OmxvY2FsU3RvcmFnZUZpbGVQYXRoKG1fY3VzdG9tTG9jYWxTdG9yYWdlUGF0aCwg
b3JpZ2luKSk7CisgICAgICAgIC8vIFdlIHdyaXRlIG9yaWdpbiBmaWxlIGF0IHdoZW4gT3JpZ2lu
U3RvcmFnZU1hbmFnZXIgaXMgZGVzdHJveWVkIHRvIGF2b2lkIGRlbGF5CisgICAgICAgIC8vIGlu
IHJlcGx5aW5nIHN5bmMgbWVzc2FnZXMgZm9yIFdlYiBTdG9yYWdlIEFQSS4KKyAgICAgICAgYXV0
byB3cml0ZU9yaWdpbkZpbGVGdW5jdGlvbiA9IFtvcmlnaW5GaWxlID0gb3JpZ2luRmlsZVBhdGgo
b3JpZ2luRGlyZWN0b3J5KSwgb3JpZ2luXSgpIHsKKyAgICAgICAgICAgIHdyaXRlT3JpZ2luVG9G
aWxlSWZOZWNlc3Nhcnkob3JpZ2luRmlsZSwgb3JpZ2luKTsKKyAgICAgICAgfTsKKyAgICAgICAg
cmV0dXJuIG1ha2VVbmlxdWU8T3JpZ2luU3RvcmFnZU1hbmFnZXI+KFdURk1vdmUod3JpdGVPcmln
aW5GaWxlRnVuY3Rpb24pLCBXVEZNb3ZlKG9yaWdpbkRpcmVjdG9yeSksIExvY2FsU3RvcmFnZU1h
bmFnZXI6OmxvY2FsU3RvcmFnZUZpbGVQYXRoKG1fY3VzdG9tTG9jYWxTdG9yYWdlUGF0aCwgb3Jp
Z2luKSk7CiAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2Vy
LmNwcAppbmRleCBkMDdjNTIyNWE4NjdkMjJhMzg0NDc1NjhjMDllNDgxNTcwNWNlOGYyLi4xM2Nk
NDkyNmQ3Y2IzMmZkNmJjOTQwNzU5ZDk5Mjc5MjM3NDIxNDNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFu
YWdlci5jcHAKQEAgLTI2OSwxNCArMjY5LDE5IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVf
cHRyPFNlc3Npb25TdG9yYWdlTWFuYWdlcj4gbV9zZXNzaW9uU3RvcmFnZU1hbmFnZXI7CiB9Owog
Ci1PcmlnaW5TdG9yYWdlTWFuYWdlcjo6T3JpZ2luU3RvcmFnZU1hbmFnZXIoU3RyaW5nJiYgcGF0
aCwgU3RyaW5nJiYgbG9jYWxTdG9yYWdlUGF0aCkKLSAgICA6IG1fcGF0aChXVEZNb3ZlKHBhdGgp
KQorT3JpZ2luU3RvcmFnZU1hbmFnZXI6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyKEZ1bmN0aW9uPHZv
aWQoKT4mJiB3cml0ZU9yaWdpbkZpbGVGdW5jdGlvbiwgU3RyaW5nJiYgcGF0aCwgU3RyaW5nJiYg
bG9jYWxTdG9yYWdlUGF0aCkKKyAgICA6IG1fd3JpdGVPcmlnaW5GaWxlRnVuY3Rpb24oV1RGTW92
ZSh3cml0ZU9yaWdpbkZpbGVGdW5jdGlvbikpCisgICAgLCBtX3BhdGgoV1RGTW92ZShwYXRoKSkK
ICAgICAsIG1fbG9jYWxTdG9yYWdlUGF0aChXVEZNb3ZlKGxvY2FsU3RvcmFnZVBhdGgpKQogewog
ICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogfQogCi1PcmlnaW5TdG9yYWdlTWFuYWdl
cjo6fk9yaWdpblN0b3JhZ2VNYW5hZ2VyKCkgPSBkZWZhdWx0OworT3JpZ2luU3RvcmFnZU1hbmFn
ZXI6On5PcmlnaW5TdG9yYWdlTWFuYWdlcigpCit7CisgICAgaWYgKG1fd3JpdGVPcmlnaW5GaWxl
RnVuY3Rpb24pCisgICAgICAgIG1fd3JpdGVPcmlnaW5GaWxlRnVuY3Rpb24oKTsKK30KIAogdm9p
ZCBPcmlnaW5TdG9yYWdlTWFuYWdlcjo6Y29ubmVjdGlvbkNsb3NlZChJUEM6OkNvbm5lY3Rpb246
OlVuaXF1ZUlEIGNvbm5lY3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCmluZGV4IDVlNzY2
OTk4NmU0NjY4NWYzODliN2E1MjcxZTY2ZDBlNjNjMmQxOWUuLjFhMGY1ODExNDA2ZTAyOGY4NzZk
ZjdkODkxMmM0NWZhNDkxN2UyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCkBAIC00NCw3ICs0
NCw3IEBAIGVudW0gY2xhc3MgV2Vic2l0ZURhdGFUeXBlIDogdWludDMyX3Q7CiBjbGFzcyBPcmln
aW5TdG9yYWdlTWFuYWdlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
Ci0gICAgT3JpZ2luU3RvcmFnZU1hbmFnZXIoU3RyaW5nJiYgcGF0aCwgU3RyaW5nJiYgbG9jYWxT
dG9yYWdlUGF0aCk7CisgICAgT3JpZ2luU3RvcmFnZU1hbmFnZXIoRnVuY3Rpb248dm9pZCgpPiYm
LCBTdHJpbmcmJiBwYXRoLCBTdHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKTsKICAgICB+T3JpZ2lu
U3RvcmFnZU1hbmFnZXIoKTsKIAogICAgIHZvaWQgY29ubmVjdGlvbkNsb3NlZChJUEM6OkNvbm5l
Y3Rpb246OlVuaXF1ZUlEKTsKQEAgLTY5LDYgKzY5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNy
ZWF0ZU9yaWdpbkZpbGVJZk5lY2Vzc2FyeShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mKTsK
ICAgICB2b2lkIGRlbGV0ZU9yaWdpbkZpbGVJZk5lY2Vzc2FyeSgpOwogCisgICAgRnVuY3Rpb248
dm9pZCgpPiBtX3dyaXRlT3JpZ2luRmlsZUZ1bmN0aW9uOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxT
dG9yYWdlQnVja2V0PiBtX2RlZmF1bHRCdWNrZXQ7CiAgICAgU3RyaW5nIG1fcGF0aDsKICAgICBi
b29sIG1fcGVyc2lzdGVkIHsgZmFsc2UgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450782</attachid>
            <date>2022-02-03 09:26:46 -0800</date>
            <delta_ts>2022-02-03 10:16:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235897-20220203092645.patch</filename>
            <type>text/plain</type>
            <size>5085</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE1NzcyNTBhNmE5NTZmOGQx
OWQyNzczNDFiZWNjNDBlZjEwZGU4N2IuLjU3NDY3YWY4YjM1MzljNWE3NWQxOWFlMmFlYmYxNWVk
NTU1NjIwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjItMDItMDMgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsYXkgd3JpdGluZyBvcmlnaW4g
ZmlsZSBpbiBOZXR3b3JrU3RvcmFnZU1hbmFnZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTg5NworICAgICAgICByZGFyOi8vODcxNjMyNTMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZlcnQgcjI4
ODkyNCB0aGF0IGRlbGF5cyB3cml0aW5nIG9yaWdpbiBmaWxlIHRvIHdoZW4gT3JpZ2luU3RvcmFn
ZU1hbmFnZXIgaXMgZGVzdHJveWVkLCBhbmQgdGFrZSBhIGRpZmZlcmVudAorICAgICAgICBhcHBy
b2FjaCB0aGF0IHNjaGVkdWxlcyBhIGFzeW5jIHRhc2sgdG8gd3JpdGUgb3JpZ2luIGZpbGUuIFBM
VCByZXN1bHRzIHNob3cgdGhhdCB0aGUgbmV3IGFwcHJvYWNoIGNhbiBhbHNvIG1ha2UgCisgICAg
ICAgIHVwIGZvciBQTFQgcmVncmVzaW9uIGNhdXNlZCBieSByMjg2OTM2LCB3aGVyZSBuZXR3b3Jr
IHByb2Nlc3Mgc3RhcnRlZCB0byB3cml0ZSBvcmlnaW4gZmlsZSBiZWZvcmUgcmVwbHlpbmcgc3lu
YyAKKyAgICAgICAgc3RvcmFnZSBtZXNzYWdlIGZyb20gd2ViIHByb2Nlc3MuCisKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL05ldHdvcmtTdG9yYWdlTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTdG9yYWdlTWFuYWdlcjo6bG9jYWxPcmlnaW5TdG9yYWdlTWFu
YWdlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyOjpPcmlnaW5T
dG9yYWdlTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyOjp+
T3JpZ2luU3RvcmFnZU1hbmFnZXIpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuaDoKKwogMjAyMi0wMi0wMyAgUGVyIEFybmUg
Vm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU11bV1BdIEFkZCBmaWxl
LWlvY3RsIHRlbGVtZXRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9zdG9yYWdlL05ldHdvcmtTdG9yYWdlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCA5ZTYwNmJk
MjlhMWI5MDAwMjgyYjk2NDc3MTgwMjAzNWVlZDk3OGMwLi45YmNmZDQ5N2I4MWM3YWYyMjBkYTI5
MGIyMTJjN2Y0NDVjMThlNDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMjEz
LDEyICsyMTMsMTcgQEAgT3JpZ2luU3RvcmFnZU1hbmFnZXImIE5ldHdvcmtTdG9yYWdlTWFuYWdl
cjo6bG9jYWxPcmlnaW5TdG9yYWdlTWFuYWdlcihjb25zdCBXZWIKIAogICAgIHJldHVybiAqbV9s
b2NhbE9yaWdpblN0b3JhZ2VNYW5hZ2Vycy5lbnN1cmUob3JpZ2luLCBbJl0gewogICAgICAgICBh
dXRvIG9yaWdpbkRpcmVjdG9yeSA9IG9yaWdpbkRpcmVjdG9yeVBhdGgobV9wYXRoLCBvcmlnaW4s
IG1fc2FsdCk7Ci0gICAgICAgIC8vIFdlIHdyaXRlIG9yaWdpbiBmaWxlIGF0IHdoZW4gT3JpZ2lu
U3RvcmFnZU1hbmFnZXIgaXMgZGVzdHJveWVkIHRvIGF2b2lkIGRlbGF5Ci0gICAgICAgIC8vIGlu
IHJlcGx5aW5nIHN5bmMgbWVzc2FnZXMgZm9yIFdlYiBTdG9yYWdlIEFQSS4KLSAgICAgICAgYXV0
byB3cml0ZU9yaWdpbkZpbGVGdW5jdGlvbiA9IFtvcmlnaW5GaWxlID0gb3JpZ2luRmlsZVBhdGgo
b3JpZ2luRGlyZWN0b3J5KSwgb3JpZ2luXSgpIHsKLSAgICAgICAgICAgIHdyaXRlT3JpZ2luVG9G
aWxlSWZOZWNlc3Nhcnkob3JpZ2luRmlsZSwgb3JpZ2luKTsKLSAgICAgICAgfTsKLSAgICAgICAg
cmV0dXJuIG1ha2VVbmlxdWU8T3JpZ2luU3RvcmFnZU1hbmFnZXI+KFdURk1vdmUod3JpdGVPcmln
aW5GaWxlRnVuY3Rpb24pLCBXVEZNb3ZlKG9yaWdpbkRpcmVjdG9yeSksIExvY2FsU3RvcmFnZU1h
bmFnZXI6OmxvY2FsU3RvcmFnZUZpbGVQYXRoKG1fY3VzdG9tTG9jYWxTdG9yYWdlUGF0aCwgb3Jp
Z2luKSk7CisgICAgICAgIC8vIFdyaXRlIG9yaWdpbiBmaWxlIGFzeW5jaHJvbm91c2x5IHRvIGF2
b2lkIGRlbGF5IGluIHJlcGx5aW5nIHN5bmMgbWVzc2FnZXMgZm9yIFdlYiBTdG9yYWdlIEFQSS4K
KyAgICAgICAgaWYgKCFvcmlnaW5EaXJlY3RvcnkuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBt
X3F1ZXVlLT5kaXNwYXRjaCgxX3MsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMg
fSwgb3JpZ2luXSgpIG11dGFibGUgeworICAgICAgICAgICAgICAgIGlmICghbV9sb2NhbE9yaWdp
blN0b3JhZ2VNYW5hZ2Vycy5jb250YWlucyhvcmlnaW4pKQorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgICAgICBhdXRvIG9yaWdpbkRpcmVjdG9yeSA9IG9yaWdpbkRp
cmVjdG9yeVBhdGgobV9wYXRoLCBvcmlnaW4sIG1fc2FsdCk7CisgICAgICAgICAgICAgICAgd3Jp
dGVPcmlnaW5Ub0ZpbGVJZk5lY2Vzc2FyeShvcmlnaW5GaWxlUGF0aChvcmlnaW5EaXJlY3Rvcnkp
LCBvcmlnaW4pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG1h
a2VVbmlxdWU8T3JpZ2luU3RvcmFnZU1hbmFnZXI+KFdURk1vdmUob3JpZ2luRGlyZWN0b3J5KSwg
TG9jYWxTdG9yYWdlTWFuYWdlcjo6bG9jYWxTdG9yYWdlRmlsZVBhdGgobV9jdXN0b21Mb2NhbFN0
b3JhZ2VQYXRoLCBvcmlnaW4pKTsKICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdl
TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2lu
U3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IGQ5NWZiYjdkZTM3M2I0MGU2NTY2MzUyOTYwYTA4NTY2
YzZiNzIyYTIuLjIzNGMwOWFiMjk1NTg0YmRhODliZTc0ZTkzODM2ZGZjYTFlYTgyZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdl
TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09y
aWdpblN0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMjc5LDE5ICsyNzksMTQgQEAgcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8U2Vzc2lvblN0b3JhZ2VNYW5hZ2VyPiBtX3Nlc3Npb25TdG9yYWdl
TWFuYWdlcjsKIH07CiAKLU9yaWdpblN0b3JhZ2VNYW5hZ2VyOjpPcmlnaW5TdG9yYWdlTWFuYWdl
cihGdW5jdGlvbjx2b2lkKCk+JiYgd3JpdGVPcmlnaW5GaWxlRnVuY3Rpb24sIFN0cmluZyYmIHBh
dGgsIFN0cmluZyYmIGxvY2FsU3RvcmFnZVBhdGgpCi0gICAgOiBtX3dyaXRlT3JpZ2luRmlsZUZ1
bmN0aW9uKFdURk1vdmUod3JpdGVPcmlnaW5GaWxlRnVuY3Rpb24pKQotICAgICwgbV9wYXRoKFdU
Rk1vdmUocGF0aCkpCitPcmlnaW5TdG9yYWdlTWFuYWdlcjo6T3JpZ2luU3RvcmFnZU1hbmFnZXIo
U3RyaW5nJiYgcGF0aCwgU3RyaW5nJiYgbG9jYWxTdG9yYWdlUGF0aCkKKyAgICA6IG1fcGF0aChX
VEZNb3ZlKHBhdGgpKQogICAgICwgbV9sb2NhbFN0b3JhZ2VQYXRoKFdURk1vdmUobG9jYWxTdG9y
YWdlUGF0aCkpCiB7CiAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4oKSk7CiB9CiAKLU9yaWdp
blN0b3JhZ2VNYW5hZ2VyOjp+T3JpZ2luU3RvcmFnZU1hbmFnZXIoKQotewotICAgIGlmIChtX3dy
aXRlT3JpZ2luRmlsZUZ1bmN0aW9uKQotICAgICAgICBtX3dyaXRlT3JpZ2luRmlsZUZ1bmN0aW9u
KCk7Ci19CitPcmlnaW5TdG9yYWdlTWFuYWdlcjo6fk9yaWdpblN0b3JhZ2VNYW5hZ2VyKCkgPSBk
ZWZhdWx0OwogCiB2b2lkIE9yaWdpblN0b3JhZ2VNYW5hZ2VyOjpjb25uZWN0aW9uQ2xvc2VkKElQ
Qzo6Q29ubmVjdGlvbjo6VW5pcXVlSUQgY29ubmVjdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2Vy
LmgKaW5kZXggMWEwZjU4MTE0MDZlMDI4Zjg3NmRmN2Q4OTEyYzQ1ZmE0OTE3ZTI1NC4uYTA3N2U4
ZjU3NmFiODRkY2VlZjI5ZDAzYjZhZDgyZDJhODAzMzVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2VyLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2Vy
LmgKQEAgLTY5LDcgKzY5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZU9yaWdpbkZpbGVJ
Zk5lY2Vzc2FyeShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mKTsKICAgICB2b2lkIGRlbGV0
ZU9yaWdpbkZpbGVJZk5lY2Vzc2FyeSgpOwogCi0gICAgRnVuY3Rpb248dm9pZCgpPiBtX3dyaXRl
T3JpZ2luRmlsZUZ1bmN0aW9uOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTdG9yYWdlQnVja2V0PiBt
X2RlZmF1bHRCdWNrZXQ7CiAgICAgU3RyaW5nIG1fcGF0aDsKICAgICBib29sIG1fcGVyc2lzdGVk
IHsgZmFsc2UgfTsK
</data>
<flag name="commit-queue"
          id="477301"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450789</attachid>
            <date>2022-02-03 10:16:03 -0800</date>
            <delta_ts>2022-02-03 10:40:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235897-20220203101602.patch</filename>
            <type>text/plain</type>
            <size>5080</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE1NzcyNTBhNmE5NTZmOGQx
OWQyNzczNDFiZWNjNDBlZjEwZGU4N2IuLjU3NDY3YWY4YjM1MzljNWE3NWQxOWFlMmFlYmYxNWVk
NTU1NjIwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjItMDItMDMgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsYXkgd3JpdGluZyBvcmlnaW4g
ZmlsZSBpbiBOZXR3b3JrU3RvcmFnZU1hbmFnZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTg5NworICAgICAgICByZGFyOi8vODcxNjMyNTMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZlcnQgcjI4
ODkyNCB0aGF0IGRlbGF5cyB3cml0aW5nIG9yaWdpbiBmaWxlIHRvIHdoZW4gT3JpZ2luU3RvcmFn
ZU1hbmFnZXIgaXMgZGVzdHJveWVkLCBhbmQgdGFrZSBhIGRpZmZlcmVudAorICAgICAgICBhcHBy
b2FjaCB0aGF0IHNjaGVkdWxlcyBhIGFzeW5jIHRhc2sgdG8gd3JpdGUgb3JpZ2luIGZpbGUuIFBM
VCByZXN1bHRzIHNob3cgdGhhdCB0aGUgbmV3IGFwcHJvYWNoIGNhbiBhbHNvIG1ha2UgCisgICAg
ICAgIHVwIGZvciBQTFQgcmVncmVzaW9uIGNhdXNlZCBieSByMjg2OTM2LCB3aGVyZSBuZXR3b3Jr
IHByb2Nlc3Mgc3RhcnRlZCB0byB3cml0ZSBvcmlnaW4gZmlsZSBiZWZvcmUgcmVwbHlpbmcgc3lu
YyAKKyAgICAgICAgc3RvcmFnZSBtZXNzYWdlIGZyb20gd2ViIHByb2Nlc3MuCisKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL05ldHdvcmtTdG9yYWdlTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTdG9yYWdlTWFuYWdlcjo6bG9jYWxPcmlnaW5TdG9yYWdlTWFu
YWdlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyOjpPcmlnaW5T
dG9yYWdlTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyOjp+
T3JpZ2luU3RvcmFnZU1hbmFnZXIpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuaDoKKwogMjAyMi0wMi0wMyAgUGVyIEFybmUg
Vm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU11bV1BdIEFkZCBmaWxl
LWlvY3RsIHRlbGVtZXRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9zdG9yYWdlL05ldHdvcmtTdG9yYWdlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCA5ZTYwNmJk
MjlhMWI5MDAwMjgyYjk2NDc3MTgwMjAzNWVlZDk3OGMwLi5lMDc5MTM4ZmNhODk4N2E3NDRjNDA2
Yzk5NTBkNWIzNGU2NTMxMDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMjEz
LDEyICsyMTMsMTcgQEAgT3JpZ2luU3RvcmFnZU1hbmFnZXImIE5ldHdvcmtTdG9yYWdlTWFuYWdl
cjo6bG9jYWxPcmlnaW5TdG9yYWdlTWFuYWdlcihjb25zdCBXZWIKIAogICAgIHJldHVybiAqbV9s
b2NhbE9yaWdpblN0b3JhZ2VNYW5hZ2Vycy5lbnN1cmUob3JpZ2luLCBbJl0gewogICAgICAgICBh
dXRvIG9yaWdpbkRpcmVjdG9yeSA9IG9yaWdpbkRpcmVjdG9yeVBhdGgobV9wYXRoLCBvcmlnaW4s
IG1fc2FsdCk7Ci0gICAgICAgIC8vIFdlIHdyaXRlIG9yaWdpbiBmaWxlIGF0IHdoZW4gT3JpZ2lu
U3RvcmFnZU1hbmFnZXIgaXMgZGVzdHJveWVkIHRvIGF2b2lkIGRlbGF5Ci0gICAgICAgIC8vIGlu
IHJlcGx5aW5nIHN5bmMgbWVzc2FnZXMgZm9yIFdlYiBTdG9yYWdlIEFQSS4KLSAgICAgICAgYXV0
byB3cml0ZU9yaWdpbkZpbGVGdW5jdGlvbiA9IFtvcmlnaW5GaWxlID0gb3JpZ2luRmlsZVBhdGgo
b3JpZ2luRGlyZWN0b3J5KSwgb3JpZ2luXSgpIHsKLSAgICAgICAgICAgIHdyaXRlT3JpZ2luVG9G
aWxlSWZOZWNlc3Nhcnkob3JpZ2luRmlsZSwgb3JpZ2luKTsKLSAgICAgICAgfTsKLSAgICAgICAg
cmV0dXJuIG1ha2VVbmlxdWU8T3JpZ2luU3RvcmFnZU1hbmFnZXI+KFdURk1vdmUod3JpdGVPcmln
aW5GaWxlRnVuY3Rpb24pLCBXVEZNb3ZlKG9yaWdpbkRpcmVjdG9yeSksIExvY2FsU3RvcmFnZU1h
bmFnZXI6OmxvY2FsU3RvcmFnZUZpbGVQYXRoKG1fY3VzdG9tTG9jYWxTdG9yYWdlUGF0aCwgb3Jp
Z2luKSk7CisgICAgICAgIC8vIFdyaXRlIG9yaWdpbiBmaWxlIGFzeW5jaHJvbm91c2x5IHRvIGF2
b2lkIGRlbGF5IGluIHJlcGx5aW5nIHN5bmMgbWVzc2FnZXMgZm9yIFdlYiBTdG9yYWdlIEFQSS4K
KyAgICAgICAgaWYgKCFvcmlnaW5EaXJlY3RvcnkuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBt
X3F1ZXVlLT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIG9y
aWdpbl0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICBpZiAoIW1fbG9jYWxPcmlnaW5TdG9y
YWdlTWFuYWdlcnMuY29udGFpbnMob3JpZ2luKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgICAgICAgICAgYXV0byBvcmlnaW5EaXJlY3RvcnkgPSBvcmlnaW5EaXJlY3Rv
cnlQYXRoKG1fcGF0aCwgb3JpZ2luLCBtX3NhbHQpOworICAgICAgICAgICAgICAgIHdyaXRlT3Jp
Z2luVG9GaWxlSWZOZWNlc3Nhcnkob3JpZ2luRmlsZVBhdGgob3JpZ2luRGlyZWN0b3J5KSwgb3Jp
Z2luKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiBtYWtlVW5p
cXVlPE9yaWdpblN0b3JhZ2VNYW5hZ2VyPihXVEZNb3ZlKG9yaWdpbkRpcmVjdG9yeSksIExvY2Fs
U3RvcmFnZU1hbmFnZXI6OmxvY2FsU3RvcmFnZUZpbGVQYXRoKG1fY3VzdG9tTG9jYWxTdG9yYWdl
UGF0aCwgb3JpZ2luKSk7CiAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3Jh
Z2VNYW5hZ2VyLmNwcAppbmRleCBkOTVmYmI3ZGUzNzNiNDBlNjU2NjM1Mjk2MGEwODU2NmM2Yjcy
MmEyLi4yMzRjMDlhYjI5NTU4NGJkYTg5YmU3NGU5MzgzNmRmY2ExZWE4MmRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5T
dG9yYWdlTWFuYWdlci5jcHAKQEAgLTI3OSwxOSArMjc5LDE0IEBAIHByaXZhdGU6CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFNlc3Npb25TdG9yYWdlTWFuYWdlcj4gbV9zZXNzaW9uU3RvcmFnZU1hbmFn
ZXI7CiB9OwogCi1PcmlnaW5TdG9yYWdlTWFuYWdlcjo6T3JpZ2luU3RvcmFnZU1hbmFnZXIoRnVu
Y3Rpb248dm9pZCgpPiYmIHdyaXRlT3JpZ2luRmlsZUZ1bmN0aW9uLCBTdHJpbmcmJiBwYXRoLCBT
dHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKQotICAgIDogbV93cml0ZU9yaWdpbkZpbGVGdW5jdGlv
bihXVEZNb3ZlKHdyaXRlT3JpZ2luRmlsZUZ1bmN0aW9uKSkKLSAgICAsIG1fcGF0aChXVEZNb3Zl
KHBhdGgpKQorT3JpZ2luU3RvcmFnZU1hbmFnZXI6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyKFN0cmlu
ZyYmIHBhdGgsIFN0cmluZyYmIGxvY2FsU3RvcmFnZVBhdGgpCisgICAgOiBtX3BhdGgoV1RGTW92
ZShwYXRoKSkKICAgICAsIG1fbG9jYWxTdG9yYWdlUGF0aChXVEZNb3ZlKGxvY2FsU3RvcmFnZVBh
dGgpKQogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogfQogCi1PcmlnaW5TdG9y
YWdlTWFuYWdlcjo6fk9yaWdpblN0b3JhZ2VNYW5hZ2VyKCkKLXsKLSAgICBpZiAobV93cml0ZU9y
aWdpbkZpbGVGdW5jdGlvbikKLSAgICAgICAgbV93cml0ZU9yaWdpbkZpbGVGdW5jdGlvbigpOwot
fQorT3JpZ2luU3RvcmFnZU1hbmFnZXI6On5PcmlnaW5TdG9yYWdlTWFuYWdlcigpID0gZGVmYXVs
dDsKIAogdm9pZCBPcmlnaW5TdG9yYWdlTWFuYWdlcjo6Y29ubmVjdGlvbkNsb3NlZChJUEM6OkNv
bm5lY3Rpb246OlVuaXF1ZUlEIGNvbm5lY3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCmlu
ZGV4IDFhMGY1ODExNDA2ZTAyOGY4NzZkZjdkODkxMmM0NWZhNDkxN2UyNTQuLmEwNzdlOGY1NzZh
Yjg0ZGNlZWYyOWQwM2I2YWQ4MmQyYTgwMzM1ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCkBA
IC02OSw3ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjcmVhdGVPcmlnaW5GaWxlSWZOZWNl
c3NhcnkoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJik7CiAgICAgdm9pZCBkZWxldGVPcmln
aW5GaWxlSWZOZWNlc3NhcnkoKTsKIAotICAgIEZ1bmN0aW9uPHZvaWQoKT4gbV93cml0ZU9yaWdp
bkZpbGVGdW5jdGlvbjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3RvcmFnZUJ1Y2tldD4gbV9kZWZh
dWx0QnVja2V0OwogICAgIFN0cmluZyBtX3BhdGg7CiAgICAgYm9vbCBtX3BlcnNpc3RlZCB7IGZh
bHNlIH07Cg==
</data>
<flag name="commit-queue"
          id="477306"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450790</attachid>
            <date>2022-02-03 10:25:38 -0800</date>
            <delta_ts>2022-02-03 14:06:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235897-20220203102537.patch</filename>
            <type>text/plain</type>
            <size>5451</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE1NzcyNTBhNmE5NTZmOGQx
OWQyNzczNDFiZWNjNDBlZjEwZGU4N2IuLjU3NDY3YWY4YjM1MzljNWE3NWQxOWFlMmFlYmYxNWVk
NTU1NjIwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjItMDItMDMgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsYXkgd3JpdGluZyBvcmlnaW4g
ZmlsZSBpbiBOZXR3b3JrU3RvcmFnZU1hbmFnZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTg5NworICAgICAgICByZGFyOi8vODcxNjMyNTMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZlcnQgcjI4
ODkyNCB0aGF0IGRlbGF5cyB3cml0aW5nIG9yaWdpbiBmaWxlIHRvIHdoZW4gT3JpZ2luU3RvcmFn
ZU1hbmFnZXIgaXMgZGVzdHJveWVkLCBhbmQgdGFrZSBhIGRpZmZlcmVudAorICAgICAgICBhcHBy
b2FjaCB0aGF0IHNjaGVkdWxlcyBhIGFzeW5jIHRhc2sgdG8gd3JpdGUgb3JpZ2luIGZpbGUuIFBM
VCByZXN1bHRzIHNob3cgdGhhdCB0aGUgbmV3IGFwcHJvYWNoIGNhbiBhbHNvIG1ha2UgCisgICAg
ICAgIHVwIGZvciBQTFQgcmVncmVzaW9uIGNhdXNlZCBieSByMjg2OTM2LCB3aGVyZSBuZXR3b3Jr
IHByb2Nlc3Mgc3RhcnRlZCB0byB3cml0ZSBvcmlnaW4gZmlsZSBiZWZvcmUgcmVwbHlpbmcgc3lu
YyAKKyAgICAgICAgc3RvcmFnZSBtZXNzYWdlIGZyb20gd2ViIHByb2Nlc3MuCisKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL05ldHdvcmtTdG9yYWdlTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTdG9yYWdlTWFuYWdlcjo6bG9jYWxPcmlnaW5TdG9yYWdlTWFu
YWdlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyOjpPcmlnaW5T
dG9yYWdlTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyOjp+
T3JpZ2luU3RvcmFnZU1hbmFnZXIpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuaDoKKwogMjAyMi0wMi0wMyAgUGVyIEFybmUg
Vm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU11bV1BdIEFkZCBmaWxl
LWlvY3RsIHRlbGVtZXRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9zdG9yYWdlL05ldHdvcmtTdG9yYWdlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCA5ZTYwNmJk
MjlhMWI5MDAwMjgyYjk2NDc3MTgwMjAzNWVlZDk3OGMwLi5lMDc5MTM4ZmNhODk4N2E3NDRjNDA2
Yzk5NTBkNWIzNGU2NTMxMDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvTmV0d29ya1N0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMjEz
LDEyICsyMTMsMTcgQEAgT3JpZ2luU3RvcmFnZU1hbmFnZXImIE5ldHdvcmtTdG9yYWdlTWFuYWdl
cjo6bG9jYWxPcmlnaW5TdG9yYWdlTWFuYWdlcihjb25zdCBXZWIKIAogICAgIHJldHVybiAqbV9s
b2NhbE9yaWdpblN0b3JhZ2VNYW5hZ2Vycy5lbnN1cmUob3JpZ2luLCBbJl0gewogICAgICAgICBh
dXRvIG9yaWdpbkRpcmVjdG9yeSA9IG9yaWdpbkRpcmVjdG9yeVBhdGgobV9wYXRoLCBvcmlnaW4s
IG1fc2FsdCk7Ci0gICAgICAgIC8vIFdlIHdyaXRlIG9yaWdpbiBmaWxlIGF0IHdoZW4gT3JpZ2lu
U3RvcmFnZU1hbmFnZXIgaXMgZGVzdHJveWVkIHRvIGF2b2lkIGRlbGF5Ci0gICAgICAgIC8vIGlu
IHJlcGx5aW5nIHN5bmMgbWVzc2FnZXMgZm9yIFdlYiBTdG9yYWdlIEFQSS4KLSAgICAgICAgYXV0
byB3cml0ZU9yaWdpbkZpbGVGdW5jdGlvbiA9IFtvcmlnaW5GaWxlID0gb3JpZ2luRmlsZVBhdGgo
b3JpZ2luRGlyZWN0b3J5KSwgb3JpZ2luXSgpIHsKLSAgICAgICAgICAgIHdyaXRlT3JpZ2luVG9G
aWxlSWZOZWNlc3Nhcnkob3JpZ2luRmlsZSwgb3JpZ2luKTsKLSAgICAgICAgfTsKLSAgICAgICAg
cmV0dXJuIG1ha2VVbmlxdWU8T3JpZ2luU3RvcmFnZU1hbmFnZXI+KFdURk1vdmUod3JpdGVPcmln
aW5GaWxlRnVuY3Rpb24pLCBXVEZNb3ZlKG9yaWdpbkRpcmVjdG9yeSksIExvY2FsU3RvcmFnZU1h
bmFnZXI6OmxvY2FsU3RvcmFnZUZpbGVQYXRoKG1fY3VzdG9tTG9jYWxTdG9yYWdlUGF0aCwgb3Jp
Z2luKSk7CisgICAgICAgIC8vIFdyaXRlIG9yaWdpbiBmaWxlIGFzeW5jaHJvbm91c2x5IHRvIGF2
b2lkIGRlbGF5IGluIHJlcGx5aW5nIHN5bmMgbWVzc2FnZXMgZm9yIFdlYiBTdG9yYWdlIEFQSS4K
KyAgICAgICAgaWYgKCFvcmlnaW5EaXJlY3RvcnkuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBt
X3F1ZXVlLT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIG9y
aWdpbl0oKSBtdXRhYmxlIHsKKyAgICAgICAgICAgICAgICBpZiAoIW1fbG9jYWxPcmlnaW5TdG9y
YWdlTWFuYWdlcnMuY29udGFpbnMob3JpZ2luKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgICAgICAgICAgYXV0byBvcmlnaW5EaXJlY3RvcnkgPSBvcmlnaW5EaXJlY3Rv
cnlQYXRoKG1fcGF0aCwgb3JpZ2luLCBtX3NhbHQpOworICAgICAgICAgICAgICAgIHdyaXRlT3Jp
Z2luVG9GaWxlSWZOZWNlc3Nhcnkob3JpZ2luRmlsZVBhdGgob3JpZ2luRGlyZWN0b3J5KSwgb3Jp
Z2luKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgICAgIHJldHVybiBtYWtlVW5p
cXVlPE9yaWdpblN0b3JhZ2VNYW5hZ2VyPihXVEZNb3ZlKG9yaWdpbkRpcmVjdG9yeSksIExvY2Fs
U3RvcmFnZU1hbmFnZXI6OmxvY2FsU3RvcmFnZUZpbGVQYXRoKG1fY3VzdG9tTG9jYWxTdG9yYWdl
UGF0aCwgb3JpZ2luKSk7CiAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3Jh
Z2VNYW5hZ2VyLmNwcAppbmRleCBkOTVmYmI3ZGUzNzNiNDBlNjU2NjM1Mjk2MGEwODU2NmM2Yjcy
MmEyLi4yMzRjMDlhYjI5NTU4NGJkYTg5YmU3NGU5MzgzNmRmY2ExZWE4MmRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5T
dG9yYWdlTWFuYWdlci5jcHAKQEAgLTI3OSwxOSArMjc5LDE0IEBAIHByaXZhdGU6CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFNlc3Npb25TdG9yYWdlTWFuYWdlcj4gbV9zZXNzaW9uU3RvcmFnZU1hbmFn
ZXI7CiB9OwogCi1PcmlnaW5TdG9yYWdlTWFuYWdlcjo6T3JpZ2luU3RvcmFnZU1hbmFnZXIoRnVu
Y3Rpb248dm9pZCgpPiYmIHdyaXRlT3JpZ2luRmlsZUZ1bmN0aW9uLCBTdHJpbmcmJiBwYXRoLCBT
dHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKQotICAgIDogbV93cml0ZU9yaWdpbkZpbGVGdW5jdGlv
bihXVEZNb3ZlKHdyaXRlT3JpZ2luRmlsZUZ1bmN0aW9uKSkKLSAgICAsIG1fcGF0aChXVEZNb3Zl
KHBhdGgpKQorT3JpZ2luU3RvcmFnZU1hbmFnZXI6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyKFN0cmlu
ZyYmIHBhdGgsIFN0cmluZyYmIGxvY2FsU3RvcmFnZVBhdGgpCisgICAgOiBtX3BhdGgoV1RGTW92
ZShwYXRoKSkKICAgICAsIG1fbG9jYWxTdG9yYWdlUGF0aChXVEZNb3ZlKGxvY2FsU3RvcmFnZVBh
dGgpKQogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogfQogCi1PcmlnaW5TdG9y
YWdlTWFuYWdlcjo6fk9yaWdpblN0b3JhZ2VNYW5hZ2VyKCkKLXsKLSAgICBpZiAobV93cml0ZU9y
aWdpbkZpbGVGdW5jdGlvbikKLSAgICAgICAgbV93cml0ZU9yaWdpbkZpbGVGdW5jdGlvbigpOwot
fQorT3JpZ2luU3RvcmFnZU1hbmFnZXI6On5PcmlnaW5TdG9yYWdlTWFuYWdlcigpID0gZGVmYXVs
dDsKIAogdm9pZCBPcmlnaW5TdG9yYWdlTWFuYWdlcjo6Y29ubmVjdGlvbkNsb3NlZChJUEM6OkNv
bm5lY3Rpb246OlVuaXF1ZUlEIGNvbm5lY3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCmlu
ZGV4IDFhMGY1ODExNDA2ZTAyOGY4NzZkZjdkODkxMmM0NWZhNDkxN2UyNTQuLjVlNzY2OTk4NmU0
NjY4NWYzODliN2E1MjcxZTY2ZDBlNjNjMmQxOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCkBA
IC00NCw3ICs0NCw3IEBAIGVudW0gY2xhc3MgV2Vic2l0ZURhdGFUeXBlIDogdWludDMyX3Q7CiBj
bGFzcyBPcmlnaW5TdG9yYWdlTWFuYWdlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6Ci0gICAgT3JpZ2luU3RvcmFnZU1hbmFnZXIoRnVuY3Rpb248dm9pZCgpPiYmLCBT
dHJpbmcmJiBwYXRoLCBTdHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKTsKKyAgICBPcmlnaW5TdG9y
YWdlTWFuYWdlcihTdHJpbmcmJiBwYXRoLCBTdHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKTsKICAg
ICB+T3JpZ2luU3RvcmFnZU1hbmFnZXIoKTsKIAogICAgIHZvaWQgY29ubmVjdGlvbkNsb3NlZChJ
UEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlEKTsKQEAgLTY5LDcgKzY5LDYgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGNyZWF0ZU9yaWdpbkZpbGVJZk5lY2Vzc2FyeShjb25zdCBXZWJDb3JlOjpDbGllbnRP
cmlnaW4mKTsKICAgICB2b2lkIGRlbGV0ZU9yaWdpbkZpbGVJZk5lY2Vzc2FyeSgpOwogCi0gICAg
RnVuY3Rpb248dm9pZCgpPiBtX3dyaXRlT3JpZ2luRmlsZUZ1bmN0aW9uOwogICAgIHN0ZDo6dW5p
cXVlX3B0cjxTdG9yYWdlQnVja2V0PiBtX2RlZmF1bHRCdWNrZXQ7CiAgICAgU3RyaW5nIG1fcGF0
aDsKICAgICBib29sIG1fcGVyc2lzdGVkIHsgZmFsc2UgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450817</attachid>
            <date>2022-02-03 14:06:43 -0800</date>
            <delta_ts>2022-02-03 15:10:38 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235897-20220203140642.patch</filename>
            <type>text/plain</type>
            <size>6108</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE1NzcyNTBhNmE5NTZmOGQx
OWQyNzczNDFiZWNjNDBlZjEwZGU4N2IuLjc0YzdkMmIwOTk3OWYyYzQ1ZjM1ZTA2ZGNmZmZmZThm
ZGQzYjZjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjItMDItMDMgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsYXkgd3JpdGluZyBvcmlnaW4g
ZmlsZSBpbiBOZXR3b3JrU3RvcmFnZU1hbmFnZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTg5NworICAgICAgICByZGFyOi8vODcxNjMyNTMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAgICAgICBSZXZlcnQgcjI4
ODkyNCB0aGF0IGRlbGF5cyB3cml0aW5nIG9yaWdpbiBmaWxlIHRvIHdoZW4gT3JpZ2luU3RvcmFn
ZU1hbmFnZXIgaXMgZGVzdHJveWVkLCBhbmQgdGFrZSBhIGRpZmZlcmVudAorICAgICAgICBhcHBy
b2FjaCB0aGF0IHNjaGVkdWxlcyBhIGFzeW5jIHRhc2sgdG8gd3JpdGUgb3JpZ2luIGZpbGUuIFBM
VCByZXN1bHRzIHNob3cgdGhhdCB0aGUgbmV3IGFwcHJvYWNoIGNhbiBhbHNvIG1ha2UgCisgICAg
ICAgIHVwIGZvciBQTFQgcmVncmVzaW9uIGNhdXNlZCBieSByMjg2OTM2LCB3aGVyZSBuZXR3b3Jr
IHByb2Nlc3Mgc3RhcnRlZCB0byB3cml0ZSBvcmlnaW4gZmlsZSBiZWZvcmUgcmVwbHlpbmcgc3lu
YyAKKyAgICAgICAgc3RvcmFnZSBtZXNzYWdlIGZyb20gd2ViIHByb2Nlc3MuCisKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9zdG9yYWdlL05ldHdvcmtTdG9yYWdlTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtTdG9yYWdlTWFuYWdlcjo6bG9jYWxPcmlnaW5TdG9yYWdlTWFu
YWdlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyOjpPcmlnaW5T
dG9yYWdlTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyOjp+
T3JpZ2luU3RvcmFnZU1hbmFnZXIpOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuaDoKKwogMjAyMi0wMi0wMyAgUGVyIEFybmUg
Vm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU11bV1BdIEFkZCBmaWxl
LWlvY3RsIHRlbGVtZXRyeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggNjUzOTM3YWNlNjVjMjcwODI2
MDM4MDRlNTNmNDE1NTlmZDkzM2NlNi4uNmNiMTc0NTlhN2RhODRmNWEyNjI5OWQ2NzA4YjJjN2I3
M2MwZDZjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0yMjQsNiArMjI0LDggQEAgc2V0KFdlYkNv
cmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9JREJDb25uZWN0aW9uVG9DbGllbnQuaAogICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9J
REJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZS5oCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL0lEQlNlcnZlci5oCisgICAgTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUlEQkJh
Y2tpbmdTdG9yZS5oCisgICAgTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkJhY2tp
bmdTdG9yZS5oCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NlcnZlck9wZW5EQlJlcXVl
c3QuaAogICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5oCiAg
ICAgTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbi5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2UvTmV0d29y
a1N0b3JhZ2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFn
ZS9OZXR3b3JrU3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IDllNjA2YmQyOWExYjkwMDAyODJiOTY0
NzcxODAyMDM1ZWVkOTc4YzAuLjgxM2U2ZTk1YTEzYWJlMzkxODZkMTliMmRhYjI4N2JiYjU1MjRm
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9OZXR3
b3JrU3RvcmFnZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
c3RvcmFnZS9OZXR3b3JrU3RvcmFnZU1hbmFnZXIuY3BwCkBAIC0yMTMsMTIgKzIxMywxNiBAQCBP
cmlnaW5TdG9yYWdlTWFuYWdlciYgTmV0d29ya1N0b3JhZ2VNYW5hZ2VyOjpsb2NhbE9yaWdpblN0
b3JhZ2VNYW5hZ2VyKGNvbnN0IFdlYgogCiAgICAgcmV0dXJuICptX2xvY2FsT3JpZ2luU3RvcmFn
ZU1hbmFnZXJzLmVuc3VyZShvcmlnaW4sIFsmXSB7CiAgICAgICAgIGF1dG8gb3JpZ2luRGlyZWN0
b3J5ID0gb3JpZ2luRGlyZWN0b3J5UGF0aChtX3BhdGgsIG9yaWdpbiwgbV9zYWx0KTsKLSAgICAg
ICAgLy8gV2Ugd3JpdGUgb3JpZ2luIGZpbGUgYXQgd2hlbiBPcmlnaW5TdG9yYWdlTWFuYWdlciBp
cyBkZXN0cm95ZWQgdG8gYXZvaWQgZGVsYXkKLSAgICAgICAgLy8gaW4gcmVwbHlpbmcgc3luYyBt
ZXNzYWdlcyBmb3IgV2ViIFN0b3JhZ2UgQVBJLgotICAgICAgICBhdXRvIHdyaXRlT3JpZ2luRmls
ZUZ1bmN0aW9uID0gW29yaWdpbkZpbGUgPSBvcmlnaW5GaWxlUGF0aChvcmlnaW5EaXJlY3Rvcnkp
LCBvcmlnaW5dKCkgewotICAgICAgICAgICAgd3JpdGVPcmlnaW5Ub0ZpbGVJZk5lY2Vzc2FyeShv
cmlnaW5GaWxlLCBvcmlnaW4pOwotICAgICAgICB9OwotICAgICAgICByZXR1cm4gbWFrZVVuaXF1
ZTxPcmlnaW5TdG9yYWdlTWFuYWdlcj4oV1RGTW92ZSh3cml0ZU9yaWdpbkZpbGVGdW5jdGlvbiks
IFdURk1vdmUob3JpZ2luRGlyZWN0b3J5KSwgTG9jYWxTdG9yYWdlTWFuYWdlcjo6bG9jYWxTdG9y
YWdlRmlsZVBhdGgobV9jdXN0b21Mb2NhbFN0b3JhZ2VQYXRoLCBvcmlnaW4pKTsKKyAgICAgICAg
Ly8gV3JpdGUgb3JpZ2luIGZpbGUgYXN5bmNocm9ub3VzbHkgdG8gYXZvaWQgZGVsYXkgaW4gcmVw
bHlpbmcgc3luYyBtZXNzYWdlcyBmb3IgV2ViIFN0b3JhZ2UgQVBJLgorICAgICAgICBpZiAoIW9y
aWdpbkRpcmVjdG9yeS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIG1fcXVldWUtPmRpc3BhdGNo
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgb3JpZ2luLCBvcmlnaW5EaXJl
Y3RvcnldKCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgaWYgKCFtX2xvY2FsT3JpZ2luU3Rv
cmFnZU1hbmFnZXJzLmNvbnRhaW5zKG9yaWdpbikpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICAgICAgICAgIHdyaXRlT3JpZ2luVG9GaWxlSWZOZWNlc3Nhcnkob3JpZ2lu
RmlsZVBhdGgob3JpZ2luRGlyZWN0b3J5KSwgb3JpZ2luKTsKKyAgICAgICAgICAgIH0pOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPE9yaWdpblN0b3JhZ2VNYW5hZ2VyPihX
VEZNb3ZlKG9yaWdpbkRpcmVjdG9yeSksIExvY2FsU3RvcmFnZU1hbmFnZXI6OmxvY2FsU3RvcmFn
ZUZpbGVQYXRoKG1fY3VzdG9tTG9jYWxTdG9yYWdlUGF0aCwgb3JpZ2luKSk7CiAgICAgfSkuaXRl
cmF0b3ItPnZhbHVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9zdG9yYWdlL09yaWdpblN0b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCBkOTVmYmI3
ZGUzNzNiNDBlNjU2NjM1Mjk2MGEwODU2NmM2YjcyMmEyLi4yMzRjMDlhYjI5NTU4NGJkYTg5YmU3
NGU5MzgzNmRmY2ExZWE4MmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3N0b3JhZ2UvT3JpZ2luU3RvcmFnZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5jcHAKQEAgLTI3OSwx
OSArMjc5LDE0IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNlc3Npb25TdG9yYWdl
TWFuYWdlcj4gbV9zZXNzaW9uU3RvcmFnZU1hbmFnZXI7CiB9OwogCi1PcmlnaW5TdG9yYWdlTWFu
YWdlcjo6T3JpZ2luU3RvcmFnZU1hbmFnZXIoRnVuY3Rpb248dm9pZCgpPiYmIHdyaXRlT3JpZ2lu
RmlsZUZ1bmN0aW9uLCBTdHJpbmcmJiBwYXRoLCBTdHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKQot
ICAgIDogbV93cml0ZU9yaWdpbkZpbGVGdW5jdGlvbihXVEZNb3ZlKHdyaXRlT3JpZ2luRmlsZUZ1
bmN0aW9uKSkKLSAgICAsIG1fcGF0aChXVEZNb3ZlKHBhdGgpKQorT3JpZ2luU3RvcmFnZU1hbmFn
ZXI6Ok9yaWdpblN0b3JhZ2VNYW5hZ2VyKFN0cmluZyYmIHBhdGgsIFN0cmluZyYmIGxvY2FsU3Rv
cmFnZVBhdGgpCisgICAgOiBtX3BhdGgoV1RGTW92ZShwYXRoKSkKICAgICAsIG1fbG9jYWxTdG9y
YWdlUGF0aChXVEZNb3ZlKGxvY2FsU3RvcmFnZVBhdGgpKQogewogICAgIEFTU0VSVCghUnVuTG9v
cDo6aXNNYWluKCkpOwogfQogCi1PcmlnaW5TdG9yYWdlTWFuYWdlcjo6fk9yaWdpblN0b3JhZ2VN
YW5hZ2VyKCkKLXsKLSAgICBpZiAobV93cml0ZU9yaWdpbkZpbGVGdW5jdGlvbikKLSAgICAgICAg
bV93cml0ZU9yaWdpbkZpbGVGdW5jdGlvbigpOwotfQorT3JpZ2luU3RvcmFnZU1hbmFnZXI6On5P
cmlnaW5TdG9yYWdlTWFuYWdlcigpID0gZGVmYXVsdDsKIAogdm9pZCBPcmlnaW5TdG9yYWdlTWFu
YWdlcjo6Y29ubmVjdGlvbkNsb3NlZChJUEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlEIGNvbm5lY3Rp
b24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3N0b3JhZ2Uv
T3JpZ2luU3RvcmFnZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3Rv
cmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCmluZGV4IDFhMGY1ODExNDA2ZTAyOGY4NzZkZjdk
ODkxMmM0NWZhNDkxN2UyNTQuLjVlNzY2OTk4NmU0NjY4NWYzODliN2E1MjcxZTY2ZDBlNjNjMmQx
OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3RvcmFnZS9Pcmln
aW5TdG9yYWdlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc3Rv
cmFnZS9PcmlnaW5TdG9yYWdlTWFuYWdlci5oCkBAIC00NCw3ICs0NCw3IEBAIGVudW0gY2xhc3Mg
V2Vic2l0ZURhdGFUeXBlIDogdWludDMyX3Q7CiBjbGFzcyBPcmlnaW5TdG9yYWdlTWFuYWdlciB7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgT3JpZ2luU3RvcmFn
ZU1hbmFnZXIoRnVuY3Rpb248dm9pZCgpPiYmLCBTdHJpbmcmJiBwYXRoLCBTdHJpbmcmJiBsb2Nh
bFN0b3JhZ2VQYXRoKTsKKyAgICBPcmlnaW5TdG9yYWdlTWFuYWdlcihTdHJpbmcmJiBwYXRoLCBT
dHJpbmcmJiBsb2NhbFN0b3JhZ2VQYXRoKTsKICAgICB+T3JpZ2luU3RvcmFnZU1hbmFnZXIoKTsK
IAogICAgIHZvaWQgY29ubmVjdGlvbkNsb3NlZChJUEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlEKTsK
QEAgLTY5LDcgKzY5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZU9yaWdpbkZpbGVJZk5l
Y2Vzc2FyeShjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mKTsKICAgICB2b2lkIGRlbGV0ZU9y
aWdpbkZpbGVJZk5lY2Vzc2FyeSgpOwogCi0gICAgRnVuY3Rpb248dm9pZCgpPiBtX3dyaXRlT3Jp
Z2luRmlsZUZ1bmN0aW9uOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTdG9yYWdlQnVja2V0PiBtX2Rl
ZmF1bHRCdWNrZXQ7CiAgICAgU3RyaW5nIG1fcGF0aDsKICAgICBib29sIG1fcGVyc2lzdGVkIHsg
ZmFsc2UgfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>