<?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>224941</bug_id>
          
          <creation_ts>2021-04-22 12:27:33 -0700</creation_ts>
          <short_desc>Crash in BreakBlockquoteCommand::doApply()</short_desc>
          <delta_ts>2021-04-25 23:11:56 -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>HTML Editing</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="Julian Gonzalez">julian_a_gonzalez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>mifenton</cc>
    
    <cc>rniwa</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1753251</commentid>
    <comment_count>0</comment_count>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-22 12:27:33 -0700</bug_when>
    <thetext>e.g.

0 WTF::OptionSet&lt;WebCore::Node::NodeFlag&gt;::isEmpty()
1 WTF::OptionSet&lt;WebCore::Node::NodeFlag&gt;::operator bool()
2 WTF::OptionSet&lt;WebCore::Node::NodeFlag&gt;::containsAny(WTF::OptionSet&lt;WebCore::Node::NodeFlag&gt;)
3 WTF::OptionSet&lt;WebCore::Node::NodeFlag&gt;::contains(WebCore::Node::NodeFlag)
4 WebCore::Node::hasNodeFlag(WebCore::Node::NodeFlag)
5 WebCore::Node::isConnected()
6 WebCore::Node::isDescendantOf(WebCore::Node const&amp;)
7 WebCore::BreakBlockquoteCommand::doApply()
8 WebCore::CompositeEditCommand::applyCommandToComposite(WTF::Ref&lt;WebCore::EditCommand, WTF::RawPtrTraits&lt;WebCore::EditCommand&gt; &gt;&amp;&amp;)
9 WebCore::ReplaceSelectionCommand::doApply()
10 WebCore::CompositeEditCommand::apply()

&lt;rdar://problem/76705379&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753256</commentid>
    <comment_count>1</comment_count>
      <attachid>426839</attachid>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-22 12:42:35 -0700</bug_when>
    <thetext>Created attachment 426839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753470</commentid>
    <comment_count>2</comment_count>
      <attachid>426839</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-22 23:59:28 -0700</bug_when>
    <thetext>Comment on attachment 426839
Patch

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

&gt; Source/WebCore/editing/BreakBlockquoteCommand.cpp:-121
&gt; -        ASSERT(startNode);
&gt;      }
&gt; -    

Instead of bailing out, can we use the original startNode if there is no more node left?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753668</commentid>
    <comment_count>3</comment_count>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-23 12:03:27 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #2)
&gt; Comment on attachment 426839 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=426839&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/editing/BreakBlockquoteCommand.cpp:-121
&gt; &gt; -        ASSERT(startNode);
&gt; &gt;      }
&gt; &gt; -    
&gt; 
&gt; Instead of bailing out, can we use the original startNode if there is no
&gt; more node left?

This seems to work, I&apos;ll update the patch here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753671</commentid>
    <comment_count>4</comment_count>
      <attachid>426932</attachid>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-23 12:07:14 -0700</bug_when>
    <thetext>Created attachment 426932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753687</commentid>
    <comment_count>5</comment_count>
      <attachid>426932</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-23 13:04:13 -0700</bug_when>
    <thetext>Comment on attachment 426932
Patch

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

&gt; Source/WebCore/editing/BreakBlockquoteCommand.cpp:114
&gt; +            Node* nextNode = NodeTraversal::next(*startNode);
&gt; +            if (nextNode)
&gt; +                startNode = nextNode;

Should be scoped:

    if (auto nextNode = NodeTraversal::next(*startNode))
        startNode = nextNode;

&gt; Source/WebCore/editing/BreakBlockquoteCommand.cpp:120
&gt; +        Node* nextNode = NodeTraversal::next(*startNode);
&gt; +        startNode = childAtOffset ? childAtOffset : (nextNode ? nextNode : startNode);

Ideally would like to avoid doing node traversal if childAtOffset is non-null. I’d write this:

    if (auto child = startNode-&gt;traverseToChildAt(pos.deprecatedEditingOffset()))
        startNode = child;
    else if (auto next = NodeTraversal::next(*startNode))
        startNode = next;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753726</commentid>
    <comment_count>6</comment_count>
      <attachid>426945</attachid>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-23 14:19:56 -0700</bug_when>
    <thetext>Created attachment 426945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753820</commentid>
    <comment_count>7</comment_count>
      <attachid>426945</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-23 18:18:24 -0700</bug_when>
    <thetext>Comment on attachment 426945
Patch

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

&gt; Source/WebCore/editing/BreakBlockquoteCommand.cpp:112
&gt; +            if (auto nextNode = NodeTraversal::next(*startNode))

This is a bit misleading. This should be either auto* or we should be calling makeRefPtr &amp; WTFMove(nextNode) below

&gt; Source/WebCore/editing/BreakBlockquoteCommand.cpp:117
&gt; +        if (auto child = startNode-&gt;traverseToChildAt(pos.deprecatedEditingOffset()))

Ditto.

&gt; Source/WebCore/editing/BreakBlockquoteCommand.cpp:119
&gt; +        else if (auto next = NodeTraversal::next(*startNode))

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753836</commentid>
    <comment_count>8</comment_count>
      <attachid>426976</attachid>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-24 00:57:59 -0700</bug_when>
    <thetext>Created attachment 426976
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753862</commentid>
    <comment_count>9</comment_count>
      <attachid>426945</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-24 10:14:13 -0700</bug_when>
    <thetext>Comment on attachment 426945
Patch

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

&gt;&gt; Source/WebCore/editing/BreakBlockquoteCommand.cpp:112
&gt;&gt; +            if (auto nextNode = NodeTraversal::next(*startNode))
&gt; 
&gt; This is a bit misleading. This should be either auto* or we should be calling makeRefPtr &amp; WTFMove(nextNode) below

This is an interesting new coding style idea/rule that I have never heard before.

I often use auto for types that are raw pointers. I know some people prefer using auto*, but this is not a preference I share.

Ryosuke, are you going even further and suggesting that, due to the risk of thinking that something is a safer smart pointer, we should have a style rule to never use &quot;auto&quot; for a raw pointer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753959</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-04-24 15:28:08 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 426945 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=426945&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/editing/BreakBlockquoteCommand.cpp:112
&gt; &gt;&gt; +            if (auto nextNode = NodeTraversal::next(*startNode))
&gt; &gt; 
&gt; &gt; This is a bit misleading. This should be either auto* or we should be calling makeRefPtr &amp; WTFMove(nextNode) below
&gt; 
&gt; This is an interesting new coding style idea/rule that I have never heard
&gt; before.
&gt; 
&gt; I often use auto for types that are raw pointers. I know some people prefer
&gt; using auto*, but this is not a preference I share.

Oh really? I thought we always used auto* for pointer types but I guess I stand corrected.

&gt; Ryosuke, are you going even further and suggesting that, due to the risk of
&gt; thinking that something is a safer smart pointer, we should have a style
&gt; rule to never use &quot;auto&quot; for a raw pointer?

I&apos;m not suggesting. I thought that was the existing convention / rule but I guess it&apos;s not codified anywhere. It&apos;s probably a good practice although clang static analyzer might make it obsolete since it can automatically detect pointer types based on the actual type interference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753960</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-24 15:32:06 -0700</bug_when>
    <thetext>Committed r276558 (236995@main): &lt;https://commits.webkit.org/236995@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426976.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754117</commentid>
    <comment_count>12</comment_count>
      <attachid>426976</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-04-25 23:11:56 -0700</bug_when>
    <thetext>Comment on attachment 426976
Patch

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

&gt; LayoutTests/TestExpectations:1744
&gt; +webkit.org/b/224941 [ Debug ] editing/pasteboard/paste-as-quotation-then-paste-crash.html [ WontFix ]

This assertion failure didn&apos;t seem to be filed.
Filed: Bug 225046 – editing/pasteboard/paste-as-quotation-then-paste-crash.html: ASSERTION FAILED: m_parent-&gt;hasEditableStyle() || !m_parent-&gt;renderer()</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426839</attachid>
            <date>2021-04-22 12:42:35 -0700</date>
            <delta_ts>2021-04-23 12:07:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224941-20210422124234.patch</filename>
            <type>text/plain</type>
            <size>5619</size>
            <attacher name="Julian Gonzalez">julian_a_gonzalez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUwMDA3OWYyMmFlMDA5
ZmEzNGM2MmYyMmEwY2FmN2YwZTcyOWI2NC4uZTcwYjFjMjkyZjMzN2ZjM2VmNGNmYTE0NmViOTQx
MGU1MDVjNzE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA0LTIyICBKdWxp
YW4gR29uemFsZXogIDxqdWxpYW5fYV9nb256YWxlekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jh
c2ggaW4gQnJlYWtCbG9ja3F1b3RlQ29tbWFuZDo6ZG9BcHBseSgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5NDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXNwaXRlIGFzc2VydGlvbnMgdG8gdGhl
IGNvbnRyYXJ5LCBpdCBpcyBwb3NzaWJsZSBmb3IgdGhlcmUgbm90IHRvIGJlIGFueSBub2RlCisg
ICAgICAgIHRvIG1vdmUgaW50byB0aGUgbmV3IGJsb2NrcXVvdGUgaW4gQnJlYWtCbG9ja3F1b3Rl
Q29tbWFuZDo6ZG9BcHBseSgpIGFzIGEgcmVzdWx0CisgICAgICAgIG9mIGxheW91dCB1cGRhdGVz
LCBzbyByZW1vdmUgdGhlIGFzc2VydGlvbnMgYW5kIGhhbmRsZSB0aGlzIGNhc2UuCisKKyAgICAg
ICAgVGVzdDogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBhc3Rl
LWNyYXNoLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpCcmVha0Jsb2NrcXVvdGVDb21tYW5kOjpkb0FwcGx5KToK
KwogMjAyMS0wNC0xOSAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogR3JpZCBvdmVybGF5IGNvbHVtbiBsaW5lIGxhYmVsIHBsYWNlbWVu
dCBjb3B5L3Bhc3RlIGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Jy
ZWFrQmxvY2txdW90ZUNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9CcmVha0Js
b2NrcXVvdGVDb21tYW5kLmNwcAppbmRleCAyMmIxOGI5NzhmYmEwZmM2OWMxYWQzOWVmYmQ2ZjI1
OWNiY2NhZDhhLi40ZmU2MDJhYTc5OWIzNTY2ZjYyNTE4NDQ5OTZjZTg4NTBkNmU2NzhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0JyZWFrQmxvY2txdW90ZUNvbW1hbmQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5jcHAK
QEAgLTExMCwxNSArMTEwLDE2IEBAIHZvaWQgQnJlYWtCbG9ja3F1b3RlQ29tbWFuZDo6ZG9BcHBs
eSgpCiAgICAgICAgIFRleHQmIHRleHROb2RlID0gZG93bmNhc3Q8VGV4dD4oKnN0YXJ0Tm9kZSk7
CiAgICAgICAgIGlmICgodW5zaWduZWQpcG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgPj0g
dGV4dE5vZGUubGVuZ3RoKCkpIHsKICAgICAgICAgICAgIHN0YXJ0Tm9kZSA9IE5vZGVUcmF2ZXJz
YWw6Om5leHQoKnN0YXJ0Tm9kZSk7Ci0gICAgICAgICAgICBBU1NFUlQoc3RhcnROb2RlKTsKICAg
ICAgICAgfSBlbHNlIGlmIChwb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA+IDApCiAgICAg
ICAgICAgICBzcGxpdFRleHROb2RlKHRleHROb2RlLCBwb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZz
ZXQoKSk7CiAgICAgfSBlbHNlIGlmIChwb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA+IDAp
IHsKICAgICAgICAgTm9kZSogY2hpbGRBdE9mZnNldCA9IHN0YXJ0Tm9kZS0+dHJhdmVyc2VUb0No
aWxkQXQocG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpOwogICAgICAgICBzdGFydE5vZGUg
PSBjaGlsZEF0T2Zmc2V0ID8gY2hpbGRBdE9mZnNldCA6IE5vZGVUcmF2ZXJzYWw6Om5leHQoKnN0
YXJ0Tm9kZSk7Ci0gICAgICAgIEFTU0VSVChzdGFydE5vZGUpOwogICAgIH0KLSAgICAKKworICAg
IGlmICghc3RhcnROb2RlKQorICAgICAgICByZXR1cm47CisKICAgICAvLyBJZiB0aGVyZSdzIG5v
dGhpbmcgaW5zaWRlIHRvcEJsb2NrcXVvdGUgdG8gbW92ZSwgd2UncmUgZmluaXNoZWQuCiAgICAg
aWYgKCFzdGFydE5vZGUtPmlzRGVzY2VuZGFudE9mKCp0b3BCbG9ja3F1b3RlKSkgewogICAgICAg
ICBzZXRFbmRpbmdTZWxlY3Rpb24oVmlzaWJsZVNlbGVjdGlvbihWaXNpYmxlUG9zaXRpb24oZmly
c3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKHN0YXJ0Tm9kZSkpLCBlbmRpbmdTZWxlY3Rpb24oKS5p
c0RpcmVjdGlvbmFsKCkpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhM2VlYzY2YjM2NDEzZmE5ZDY2YTM1MjFkMzBlZDFk
N2IxNjk4YTQ2Li42ZmJmYjk4NTYwM2ExNGI0YmNmNGJhZjllZjc1ZTY2NWI3N2EzZGQyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDQtMjIgIEp1bGlhbiBHb256YWxleiAgPGp1bGlhbl9h
X2dvbnphbGV6QGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBpbiBCcmVha0Jsb2NrcXVvdGVD
b21tYW5kOjpkb0FwcGx5KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNDk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCB0ZXN0IGZvciB0aGlzIGNyYXNoLCBydW5uaW5nIG9ubHkgb24gUmVsZWFz
ZSBmb3Igbm93LgorICAgICAgICBUaGFua3MgdG8gVHVvbWFzIEthcmtrYWluZW4gZm9yIGl0cyBi
YXNpYyBzdHJ1Y3R1cmUuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hcy1xdW90YXRpb24tdGhlbi1wYXN0ZS1jcmFzaC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1h
cy1xdW90YXRpb24tdGhlbi1wYXN0ZS1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wNC0xOSAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW21hYy13azJdIExh
eW91dFRlc3QgZmFzdC9tZWRpYXN0cmVhbS9nZXRVc2VyTWVkaWEtd2ViYXVkaW8uaHRtbCBpcyBh
IGZsYWt5IHRpbWVvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDZjZmM2NTZjMmI0MTBmNDQ1Njg2
NWIzNzEzYmMyODM0OTEzNDNlNDguLjVjZDI1NzM4ZjU4YTUxOWQ3NDgxYTlmNjQ3NjI1ZGZlMDBl
MDI1YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTc0MSw2ICsxNzQxLDggQEAgd2Via2l0Lm9y
Zy9iLzEzOTYzNCBbIERlYnVnIF0gZmFzdC9zZWxlY3RvcnMvbWF0Y2hlcy1iYWNrdHJhY2tpbmcu
aHRtbCBbIFNsb3cgXQogd2Via2l0Lm9yZy9iLzEzOTYzNCBbIERlYnVnIF0gZmFzdC9zZWxlY3Rv
cnMvbnRoLWNoaWxkLW9mLXJlZ2lzdGVyLXJlcXVpcmVtZW50Lmh0bWwgWyBTbG93IF0KIHdlYmtp
dC5vcmcvYi8xMzk2MzQgWyBEZWJ1ZyBdIGZhc3Qvc2VsZWN0b3JzL25vdC1iYWNrdHJhY2tpbmcu
aHRtbCBbIFNsb3cgXQogCit3ZWJraXQub3JnL2IvMjI0OTQxIFsgRGVidWcgXSBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2guaHRtbCBbIFdvbnRG
aXggU2tpcCBdCisKIHdlYmtpdC5vcmcvYi82MTkzMiBbIERlYnVnIF0ganF1ZXJ5L21hbmlwdWxh
dGlvbi5odG1sIFsgU2xvdyBdCiBbIERlYnVnIF0ganF1ZXJ5L2NvcmUuaHRtbCBbIFNsb3cgXQog
WyBEZWJ1ZyBdIGpxdWVyeS9ldmVudC5odG1sIFsgU2xvdyBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jh
c2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFz
LXF1b3RhdGlvbi10aGVuLXBhc3RlLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDM4
MTAyNWEwNWZkOGQxYjQxYTZhOGJhNjZmNDhiNWNlMzU5ZjEwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBh
c3RlLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUaGlzIHRlc3QgcGFzc2VzIGlm
IFdlYktpdCBkb2VzIG5vdCBjcmFzaC4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBhc3RlLWNyYXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4t
cGFzdGUtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTdiOTQzZWExZGY5MjllYzM1MDgxMmUxZDU4
YTk0OTljMmY0NTJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBhc3RlLWNyYXNoLmh0bWwKQEAgLTAsMCAr
MSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorOmxhc3Qt
Y2hpbGQgeworICAgIGFsbDogaW5pdGlhbDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCitvbmxvYWQg
PSAoKSA9PiB7CisgICAgbGV0IG4wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cisg
ICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKG4wKTsKKyAgICBuMC5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpKTsKKyAgICBsZXQgbjEgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworICAgIGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5hcHBlbmRDaGlsZChuMSk7CisgICAgZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRy
ZW4objApOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdDb3B5Jyk7CisgICAgZG9jdW1lbnQu
ZGVzaWduTW9kZSA9ICdvbic7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1Bhc3RlQXNRdW90
YXRpb24nKTsKKyAgICBnZXRTZWxlY3Rpb24oKS5leHRlbmQobjEpOworICAgIGRvY3VtZW50LmV4
ZWNDb21tYW5kKCdQYXN0ZScpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitUaGlz
IHRlc3QgcGFzc2VzIGlmIFdlYktpdCBkb2VzIG5vdCBjcmFzaC4gUEFTUworPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426932</attachid>
            <date>2021-04-23 12:07:14 -0700</date>
            <delta_ts>2021-04-23 14:19:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224941-20210423120714.patch</filename>
            <type>text/plain</type>
            <size>5687</size>
            <attacher name="Julian Gonzalez">julian_a_gonzalez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUwMDA3OWYyMmFlMDA5
ZmEzNGM2MmYyMmEwY2FmN2YwZTcyOWI2NC4uZTcwYjFjMjkyZjMzN2ZjM2VmNGNmYTE0NmViOTQx
MGU1MDVjNzE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA0LTIyICBKdWxp
YW4gR29uemFsZXogIDxqdWxpYW5fYV9nb256YWxlekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jh
c2ggaW4gQnJlYWtCbG9ja3F1b3RlQ29tbWFuZDo6ZG9BcHBseSgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5NDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXNwaXRlIGFzc2VydGlvbnMgdG8gdGhl
IGNvbnRyYXJ5LCBpdCBpcyBwb3NzaWJsZSBmb3IgdGhlcmUgbm90IHRvIGJlIGFueSBub2RlCisg
ICAgICAgIHRvIG1vdmUgaW50byB0aGUgbmV3IGJsb2NrcXVvdGUgaW4gQnJlYWtCbG9ja3F1b3Rl
Q29tbWFuZDo6ZG9BcHBseSgpIGFzIGEgcmVzdWx0CisgICAgICAgIG9mIGxheW91dCB1cGRhdGVz
LCBzbyByZW1vdmUgdGhlIGFzc2VydGlvbnMgYW5kIGhhbmRsZSB0aGlzIGNhc2UuCisKKyAgICAg
ICAgVGVzdDogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBhc3Rl
LWNyYXNoLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpCcmVha0Jsb2NrcXVvdGVDb21tYW5kOjpkb0FwcGx5KToK
KwogMjAyMS0wNC0xOSAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogR3JpZCBvdmVybGF5IGNvbHVtbiBsaW5lIGxhYmVsIHBsYWNlbWVu
dCBjb3B5L3Bhc3RlIGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Jy
ZWFrQmxvY2txdW90ZUNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9CcmVha0Js
b2NrcXVvdGVDb21tYW5kLmNwcAppbmRleCAyMmIxOGI5NzhmYmEwZmM2OWMxYWQzOWVmYmQ2ZjI1
OWNiY2NhZDhhLi43MDY3NjMzYmM2MDUxMmNlYzkwMTU5NGEzNDEwMjQ2ZDA5MWI3YzZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0JyZWFrQmxvY2txdW90ZUNvbW1hbmQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5jcHAK
QEAgLTEwOSwxNCArMTA5LDE1IEBAIHZvaWQgQnJlYWtCbG9ja3F1b3RlQ29tbWFuZDo6ZG9BcHBs
eSgpCiAgICAgaWYgKGlzPFRleHQ+KCpzdGFydE5vZGUpKSB7CiAgICAgICAgIFRleHQmIHRleHRO
b2RlID0gZG93bmNhc3Q8VGV4dD4oKnN0YXJ0Tm9kZSk7CiAgICAgICAgIGlmICgodW5zaWduZWQp
cG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgPj0gdGV4dE5vZGUubGVuZ3RoKCkpIHsKLSAg
ICAgICAgICAgIHN0YXJ0Tm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoKnN0YXJ0Tm9kZSk7Ci0g
ICAgICAgICAgICBBU1NFUlQoc3RhcnROb2RlKTsKKyAgICAgICAgICAgIE5vZGUqIG5leHROb2Rl
ID0gTm9kZVRyYXZlcnNhbDo6bmV4dCgqc3RhcnROb2RlKTsKKyAgICAgICAgICAgIGlmIChuZXh0
Tm9kZSkKKyAgICAgICAgICAgICAgICBzdGFydE5vZGUgPSBuZXh0Tm9kZTsKICAgICAgICAgfSBl
bHNlIGlmIChwb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA+IDApCiAgICAgICAgICAgICBz
cGxpdFRleHROb2RlKHRleHROb2RlLCBwb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAg
ICAgfSBlbHNlIGlmIChwb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSA+IDApIHsKICAgICAg
ICAgTm9kZSogY2hpbGRBdE9mZnNldCA9IHN0YXJ0Tm9kZS0+dHJhdmVyc2VUb0NoaWxkQXQocG9z
LmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpOwotICAgICAgICBzdGFydE5vZGUgPSBjaGlsZEF0
T2Zmc2V0ID8gY2hpbGRBdE9mZnNldCA6IE5vZGVUcmF2ZXJzYWw6Om5leHQoKnN0YXJ0Tm9kZSk7
Ci0gICAgICAgIEFTU0VSVChzdGFydE5vZGUpOworICAgICAgICBOb2RlKiBuZXh0Tm9kZSA9IE5v
ZGVUcmF2ZXJzYWw6Om5leHQoKnN0YXJ0Tm9kZSk7CisgICAgICAgIHN0YXJ0Tm9kZSA9IGNoaWxk
QXRPZmZzZXQgPyBjaGlsZEF0T2Zmc2V0IDogKG5leHROb2RlID8gbmV4dE5vZGUgOiBzdGFydE5v
ZGUpOwogICAgIH0KICAgICAKICAgICAvLyBJZiB0aGVyZSdzIG5vdGhpbmcgaW5zaWRlIHRvcEJs
b2NrcXVvdGUgdG8gbW92ZSwgd2UncmUgZmluaXNoZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTNlZWM2NmIzNjQxM2Zh
OWQ2NmEzNTIxZDMwZWQxZDdiMTY5OGE0Ni4uNmZiZmI5ODU2MDNhMTRiNGJjZjRiYWY5ZWY3NWU2
NjViNzdhM2RkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0LTIyICBKdWxpYW4gR29u
emFsZXogIDxqdWxpYW5fYV9nb256YWxlekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggaW4g
QnJlYWtCbG9ja3F1b3RlQ29tbWFuZDo6ZG9BcHBseSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCBmb3IgdGhpcyBjcmFzaCwgcnVubmlu
ZyBvbmx5IG9uIFJlbGVhc2UgZm9yIG5vdy4KKyAgICAgICAgVGhhbmtzIHRvIFR1b21hcyBLYXJr
a2FpbmVuIGZvciBpdHMgYmFzaWMgc3RydWN0dXJlLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRo
ZW4tcGFzdGUtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2guaHRtbDogQWRkZWQu
CisKIDIwMjEtMDQtMTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFttYWMtd2syXSBMYXlvdXRUZXN0IGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXdl
YmF1ZGlvLmh0bWwgaXMgYSBmbGFreSB0aW1lb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2Y2Zj
NjU2YzJiNDEwZjQ0NTY4NjViMzcxM2JjMjgzNDkxMzQzZTQ4Li43MmZiYmY4NDZiOTg4NWFiMjZj
YjdlYjE5MDFiMmNhZGMwNGVlODJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NDEsNiArMTc0
MSw4IEBAIHdlYmtpdC5vcmcvYi8xMzk2MzQgWyBEZWJ1ZyBdIGZhc3Qvc2VsZWN0b3JzL21hdGNo
ZXMtYmFja3RyYWNraW5nLmh0bWwgWyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xMzk2MzQgWyBEZWJ1
ZyBdIGZhc3Qvc2VsZWN0b3JzL250aC1jaGlsZC1vZi1yZWdpc3Rlci1yZXF1aXJlbWVudC5odG1s
IFsgU2xvdyBdCiB3ZWJraXQub3JnL2IvMTM5NjM0IFsgRGVidWcgXSBmYXN0L3NlbGVjdG9ycy9u
b3QtYmFja3RyYWNraW5nLmh0bWwgWyBTbG93IF0KIAord2Via2l0Lm9yZy9iLzIyNDk0MSBbIERl
YnVnIF0gZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBhc3RlLWNy
YXNoLmh0bWwgWyBXb250Rml4IF0KKwogd2Via2l0Lm9yZy9iLzYxOTMyIFsgRGVidWcgXSBqcXVl
cnkvbWFuaXB1bGF0aW9uLmh0bWwgWyBTbG93IF0KIFsgRGVidWcgXSBqcXVlcnkvY29yZS5odG1s
IFsgU2xvdyBdCiBbIERlYnVnIF0ganF1ZXJ5L2V2ZW50Lmh0bWwgWyBTbG93IF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hcy1xdW90YXRpb24tdGhl
bi1wYXN0ZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmY0MzgxMDI1YTA1ZmQ4ZDFiNDFhNmE4YmE2NmY0OGI1Y2UzNTlmMTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0
aW9uLXRoZW4tcGFzdGUtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVz
dCBwYXNzZXMgaWYgV2ViS2l0IGRvZXMgbm90IGNyYXNoLiBQQVNTCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUt
Y3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hcy1xdW90
YXRpb24tdGhlbi1wYXN0ZS1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1N2I5NDNlYTFkZjkyOWVj
MzUwODEyZTFkNThhOTQ5OWMyZjQ1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2guaHRt
bApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5
bGU+Cis6bGFzdC1jaGlsZCB7CisgICAgYWxsOiBpbml0aWFsOworfQorPC9zdHlsZT4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICBsZXQgbjAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKKyAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQobjApOwor
ICAgIG4wLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JykpOworICAg
IGxldCBuMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CisgICAgZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKG4xKTsKKyAgICBnZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihuMCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0NvcHknKTsKKyAg
ICBkb2N1bWVudC5kZXNpZ25Nb2RlID0gJ29uJzsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgn
UGFzdGVBc1F1b3RhdGlvbicpOworICAgIGdldFNlbGVjdGlvbigpLmV4dGVuZChuMSk7CisgICAg
ZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1Bhc3RlJyk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgV2ViS2l0IGRvZXMgbm90IGNyYXNoLiBQQVNTCis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426945</attachid>
            <date>2021-04-23 14:19:56 -0700</date>
            <delta_ts>2021-04-24 00:57:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224941-20210423141955.patch</filename>
            <type>text/plain</type>
            <size>5729</size>
            <attacher name="Julian Gonzalez">julian_a_gonzalez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUwMDA3OWYyMmFlMDA5
ZmEzNGM2MmYyMmEwY2FmN2YwZTcyOWI2NC4uMjY0ZjIyMzk0MGJkMTkyMTYyNTgyOWI4MzJhODhj
MTlkNzRmNTA4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA0LTIzICBKdWxp
YW4gR29uemFsZXogIDxqdWxpYW5fYV9nb256YWxlekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jh
c2ggaW4gQnJlYWtCbG9ja3F1b3RlQ29tbWFuZDo6ZG9BcHBseSgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5NDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXNwaXRlIGFzc2VydGlvbnMgdG8gdGhl
IGNvbnRyYXJ5LCBpdCBpcyBwb3NzaWJsZSBmb3IgdGhlcmUgbm90IHRvIGJlIGFueSBub2RlCisg
ICAgICAgIHRvIG1vdmUgaW50byB0aGUgbmV3IGJsb2NrcXVvdGUgaW4gQnJlYWtCbG9ja3F1b3Rl
Q29tbWFuZDo6ZG9BcHBseSgpIGFzIGEgcmVzdWx0CisgICAgICAgIG9mIGxheW91dCB1cGRhdGVz
LCBzbyByZW1vdmUgdGhlIGFzc2VydGlvbnMgYW5kIGhhbmRsZSB0aGlzIGNhc2UuCisKKyAgICAg
ICAgVGVzdDogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBhc3Rl
LWNyYXNoLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpCcmVha0Jsb2NrcXVvdGVDb21tYW5kOjpkb0FwcGx5KToK
KwogMjAyMS0wNC0xOSAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogR3JpZCBvdmVybGF5IGNvbHVtbiBsaW5lIGxhYmVsIHBsYWNlbWVu
dCBjb3B5L3Bhc3RlIGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Jy
ZWFrQmxvY2txdW90ZUNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9CcmVha0Js
b2NrcXVvdGVDb21tYW5kLmNwcAppbmRleCAyMmIxOGI5NzhmYmEwZmM2OWMxYWQzOWVmYmQ2ZjI1
OWNiY2NhZDhhLi44Yjc4NjE5ZGIzODcwZDIxMzUyOTY5OTMwMTc1NjE4ZmY4NzM4ODk3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0JyZWFrQmxvY2txdW90ZUNvbW1hbmQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5jcHAK
QEAgLTEwOSwxNCArMTA5LDE1IEBAIHZvaWQgQnJlYWtCbG9ja3F1b3RlQ29tbWFuZDo6ZG9BcHBs
eSgpCiAgICAgaWYgKGlzPFRleHQ+KCpzdGFydE5vZGUpKSB7CiAgICAgICAgIFRleHQmIHRleHRO
b2RlID0gZG93bmNhc3Q8VGV4dD4oKnN0YXJ0Tm9kZSk7CiAgICAgICAgIGlmICgodW5zaWduZWQp
cG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgPj0gdGV4dE5vZGUubGVuZ3RoKCkpIHsKLSAg
ICAgICAgICAgIHN0YXJ0Tm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoKnN0YXJ0Tm9kZSk7Ci0g
ICAgICAgICAgICBBU1NFUlQoc3RhcnROb2RlKTsKKyAgICAgICAgICAgIGlmIChhdXRvIG5leHRO
b2RlID0gTm9kZVRyYXZlcnNhbDo6bmV4dCgqc3RhcnROb2RlKSkKKyAgICAgICAgICAgICAgICBz
dGFydE5vZGUgPSBuZXh0Tm9kZTsKICAgICAgICAgfSBlbHNlIGlmIChwb3MuZGVwcmVjYXRlZEVk
aXRpbmdPZmZzZXQoKSA+IDApCiAgICAgICAgICAgICBzcGxpdFRleHROb2RlKHRleHROb2RlLCBw
b3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSk7CiAgICAgfSBlbHNlIGlmIChwb3MuZGVwcmVj
YXRlZEVkaXRpbmdPZmZzZXQoKSA+IDApIHsKLSAgICAgICAgTm9kZSogY2hpbGRBdE9mZnNldCA9
IHN0YXJ0Tm9kZS0+dHJhdmVyc2VUb0NoaWxkQXQocG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0
KCkpOwotICAgICAgICBzdGFydE5vZGUgPSBjaGlsZEF0T2Zmc2V0ID8gY2hpbGRBdE9mZnNldCA6
IE5vZGVUcmF2ZXJzYWw6Om5leHQoKnN0YXJ0Tm9kZSk7Ci0gICAgICAgIEFTU0VSVChzdGFydE5v
ZGUpOworICAgICAgICBpZiAoYXV0byBjaGlsZCA9IHN0YXJ0Tm9kZS0+dHJhdmVyc2VUb0NoaWxk
QXQocG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpKQorICAgICAgICAgICAgc3RhcnROb2Rl
ID0gY2hpbGQ7CisgICAgICAgIGVsc2UgaWYgKGF1dG8gbmV4dCA9IE5vZGVUcmF2ZXJzYWw6Om5l
eHQoKnN0YXJ0Tm9kZSkpCisgICAgICAgICAgICBzdGFydE5vZGUgPSBuZXh0OwogICAgIH0KICAg
ICAKICAgICAvLyBJZiB0aGVyZSdzIG5vdGhpbmcgaW5zaWRlIHRvcEJsb2NrcXVvdGUgdG8gbW92
ZSwgd2UncmUgZmluaXNoZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTNlZWM2NmIzNjQxM2ZhOWQ2NmEzNTIxZDMwZWQx
ZDdiMTY5OGE0Ni4uM2U1MDIxNjE0Y2Q3OWQwMWQ5NmE3NmU4ODA4NDMwMmI2MmZlZGMwZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0LTIzICBKdWxpYW4gR29uemFsZXogIDxqdWxpYW5f
YV9nb256YWxlekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggaW4gQnJlYWtCbG9ja3F1b3Rl
Q29tbWFuZDo6ZG9BcHBseSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjQ5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgdGVzdCBmb3IgdGhpcyBjcmFzaCwgcnVubmluZyBvbmx5IG9uIFJlbGVh
c2UgZm9yIG5vdy4KKyAgICAgICAgVGhhbmtzIHRvIFR1b21hcyBLYXJra2FpbmVuIGZvciBpdHMg
YmFzaWMgc3RydWN0dXJlLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2gt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUt
YXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2guaHRtbDogQWRkZWQuCisKIDIwMjEtMDQtMTkg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWMtd2syXSBM
YXlvdXRUZXN0IGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXdlYmF1ZGlvLmh0bWwgaXMg
YSBmbGFreSB0aW1lb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2Y2ZjNjU2YzJiNDEwZjQ0NTY4
NjViMzcxM2JjMjgzNDkxMzQzZTQ4Li43MmZiYmY4NDZiOTg4NWFiMjZjYjdlYjE5MDFiMmNhZGMw
NGVlODJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NDEsNiArMTc0MSw4IEBAIHdlYmtpdC5v
cmcvYi8xMzk2MzQgWyBEZWJ1ZyBdIGZhc3Qvc2VsZWN0b3JzL21hdGNoZXMtYmFja3RyYWNraW5n
Lmh0bWwgWyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xMzk2MzQgWyBEZWJ1ZyBdIGZhc3Qvc2VsZWN0
b3JzL250aC1jaGlsZC1vZi1yZWdpc3Rlci1yZXF1aXJlbWVudC5odG1sIFsgU2xvdyBdCiB3ZWJr
aXQub3JnL2IvMTM5NjM0IFsgRGVidWcgXSBmYXN0L3NlbGVjdG9ycy9ub3QtYmFja3RyYWNraW5n
Lmh0bWwgWyBTbG93IF0KIAord2Via2l0Lm9yZy9iLzIyNDk0MSBbIERlYnVnIF0gZWRpdGluZy9w
YXN0ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBhc3RlLWNyYXNoLmh0bWwgWyBXb250
Rml4IF0KKwogd2Via2l0Lm9yZy9iLzYxOTMyIFsgRGVidWcgXSBqcXVlcnkvbWFuaXB1bGF0aW9u
Lmh0bWwgWyBTbG93IF0KIFsgRGVidWcgXSBqcXVlcnkvY29yZS5odG1sIFsgU2xvdyBdCiBbIERl
YnVnIF0ganF1ZXJ5L2V2ZW50Lmh0bWwgWyBTbG93IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hcy1xdW90YXRpb24tdGhlbi1wYXN0ZS1jcmFzaC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVv
dGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0MzgxMDI1
YTA1ZmQ4ZDFiNDFhNmE4YmE2NmY0OGI1Y2UzNTlmMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUt
Y3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdCBwYXNzZXMgaWYgV2Vi
S2l0IGRvZXMgbm90IGNyYXNoLiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2guaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hcy1xdW90YXRpb24tdGhlbi1wYXN0
ZS1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1N2I5NDNlYTFkZjkyOWVjMzUwODEyZTFkNThhOTQ5
OWMyZjQ1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2guaHRtbApAQCAtMCwwICsxLDMx
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Cis6bGFzdC1jaGls
ZCB7CisgICAgYWxsOiBpbml0aWFsOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK29ubG9hZCA9ICgp
ID0+IHsKKyAgICBsZXQgbjAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQobjApOworICAgIG4wLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JykpOworICAgIGxldCBuMSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CisgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50
LmFwcGVuZENoaWxkKG4xKTsKKyAgICBnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihu
MCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0NvcHknKTsKKyAgICBkb2N1bWVudC5kZXNp
Z25Nb2RlID0gJ29uJzsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnUGFzdGVBc1F1b3RhdGlv
bicpOworICAgIGdldFNlbGVjdGlvbigpLmV4dGVuZChuMSk7CisgICAgZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoJ1Bhc3RlJyk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVz
dCBwYXNzZXMgaWYgV2ViS2l0IGRvZXMgbm90IGNyYXNoLiBQQVNTCis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426976</attachid>
            <date>2021-04-24 00:57:59 -0700</date>
            <delta_ts>2021-04-24 15:32:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224941-20210424005758.patch</filename>
            <type>text/plain</type>
            <size>5732</size>
            <attacher name="Julian Gonzalez">julian_a_gonzalez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mjc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUwMDA3OWYyMmFlMDA5
ZmEzNGM2MmYyMmEwY2FmN2YwZTcyOWI2NC4uYTc3MzdhMzIxNTA5OTM2MDNlODE5ZjRlNGM2ZGI1
NzJlZWU3MmJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA0LTI0ICBKdWxp
YW4gR29uemFsZXogIDxqdWxpYW5fYV9nb256YWxlekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jh
c2ggaW4gQnJlYWtCbG9ja3F1b3RlQ29tbWFuZDo6ZG9BcHBseSgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5NDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXNwaXRlIGFzc2VydGlvbnMgdG8gdGhl
IGNvbnRyYXJ5LCBpdCBpcyBwb3NzaWJsZSBmb3IgdGhlcmUgbm90IHRvIGJlIGFueSBub2RlCisg
ICAgICAgIHRvIG1vdmUgaW50byB0aGUgbmV3IGJsb2NrcXVvdGUgaW4gQnJlYWtCbG9ja3F1b3Rl
Q29tbWFuZDo6ZG9BcHBseSgpIGFzIGEgcmVzdWx0CisgICAgICAgIG9mIGxheW91dCB1cGRhdGVz
LCBzbyByZW1vdmUgdGhlIGFzc2VydGlvbnMgYW5kIGhhbmRsZSB0aGlzIGNhc2UuCisKKyAgICAg
ICAgVGVzdDogZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBhc3Rl
LWNyYXNoLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpCcmVha0Jsb2NrcXVvdGVDb21tYW5kOjpkb0FwcGx5KToK
KwogMjAyMS0wNC0xOSAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogR3JpZCBvdmVybGF5IGNvbHVtbiBsaW5lIGxhYmVsIHBsYWNlbWVu
dCBjb3B5L3Bhc3RlIGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Jy
ZWFrQmxvY2txdW90ZUNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9CcmVha0Js
b2NrcXVvdGVDb21tYW5kLmNwcAppbmRleCAyMmIxOGI5NzhmYmEwZmM2OWMxYWQzOWVmYmQ2ZjI1
OWNiY2NhZDhhLi44YWFmMTM0YzcxYjRmMDA3Y2M4NzM0NGRhYzgwYzNmYjIwNTEwMzgzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0JyZWFrQmxvY2txdW90ZUNvbW1hbmQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQnJlYWtCbG9ja3F1b3RlQ29tbWFuZC5jcHAK
QEAgLTEwOSwxNCArMTA5LDE1IEBAIHZvaWQgQnJlYWtCbG9ja3F1b3RlQ29tbWFuZDo6ZG9BcHBs
eSgpCiAgICAgaWYgKGlzPFRleHQ+KCpzdGFydE5vZGUpKSB7CiAgICAgICAgIFRleHQmIHRleHRO
b2RlID0gZG93bmNhc3Q8VGV4dD4oKnN0YXJ0Tm9kZSk7CiAgICAgICAgIGlmICgodW5zaWduZWQp
cG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkgPj0gdGV4dE5vZGUubGVuZ3RoKCkpIHsKLSAg
ICAgICAgICAgIHN0YXJ0Tm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoKnN0YXJ0Tm9kZSk7Ci0g
ICAgICAgICAgICBBU1NFUlQoc3RhcnROb2RlKTsKKyAgICAgICAgICAgIGlmIChhdXRvKiBuZXh0
Tm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoKnN0YXJ0Tm9kZSkpCisgICAgICAgICAgICAgICAg
c3RhcnROb2RlID0gbmV4dE5vZGU7CiAgICAgICAgIH0gZWxzZSBpZiAocG9zLmRlcHJlY2F0ZWRF
ZGl0aW5nT2Zmc2V0KCkgPiAwKQogICAgICAgICAgICAgc3BsaXRUZXh0Tm9kZSh0ZXh0Tm9kZSwg
cG9zLmRlcHJlY2F0ZWRFZGl0aW5nT2Zmc2V0KCkpOwogICAgIH0gZWxzZSBpZiAocG9zLmRlcHJl
Y2F0ZWRFZGl0aW5nT2Zmc2V0KCkgPiAwKSB7Ci0gICAgICAgIE5vZGUqIGNoaWxkQXRPZmZzZXQg
PSBzdGFydE5vZGUtPnRyYXZlcnNlVG9DaGlsZEF0KHBvcy5kZXByZWNhdGVkRWRpdGluZ09mZnNl
dCgpKTsKLSAgICAgICAgc3RhcnROb2RlID0gY2hpbGRBdE9mZnNldCA/IGNoaWxkQXRPZmZzZXQg
OiBOb2RlVHJhdmVyc2FsOjpuZXh0KCpzdGFydE5vZGUpOwotICAgICAgICBBU1NFUlQoc3RhcnRO
b2RlKTsKKyAgICAgICAgaWYgKGF1dG8qIGNoaWxkID0gc3RhcnROb2RlLT50cmF2ZXJzZVRvQ2hp
bGRBdChwb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSkpCisgICAgICAgICAgICBzdGFydE5v
ZGUgPSBjaGlsZDsKKyAgICAgICAgZWxzZSBpZiAoYXV0byogbmV4dCA9IE5vZGVUcmF2ZXJzYWw6
Om5leHQoKnN0YXJ0Tm9kZSkpCisgICAgICAgICAgICBzdGFydE5vZGUgPSBuZXh0OwogICAgIH0K
ICAgICAKICAgICAvLyBJZiB0aGVyZSdzIG5vdGhpbmcgaW5zaWRlIHRvcEJsb2NrcXVvdGUgdG8g
bW92ZSwgd2UncmUgZmluaXNoZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTNlZWM2NmIzNjQxM2ZhOWQ2NmEzNTIxZDMw
ZWQxZDdiMTY5OGE0Ni4uNzExMDAxZjhkODZmMTY1NjEzYmE4ZmQzMDEzNDU3ZTllZDU1YWY3NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0LTI0ICBKdWxpYW4gR29uemFsZXogIDxqdWxp
YW5fYV9nb256YWxlekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggaW4gQnJlYWtCbG9ja3F1
b3RlQ29tbWFuZDo6ZG9BcHBseSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjQ5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgdGVzdCBmb3IgdGhpcyBjcmFzaCwgcnVubmluZyBvbmx5IG9uIFJl
bGVhc2UgZm9yIG5vdy4KKyAgICAgICAgVGhhbmtzIHRvIFR1b21hcyBLYXJra2FpbmVuIGZvciBp
dHMgYmFzaWMgc3RydWN0dXJlLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jh
c2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFz
dGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2guaHRtbDogQWRkZWQuCisKIDIwMjEtMDQt
MTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWMtd2sy
XSBMYXlvdXRUZXN0IGZhc3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXdlYmF1ZGlvLmh0bWwg
aXMgYSBmbGFreSB0aW1lb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2Y2ZjNjU2YzJiNDEwZjQ0
NTY4NjViMzcxM2JjMjgzNDkxMzQzZTQ4Li43MmZiYmY4NDZiOTg4NWFiMjZjYjdlYjE5MDFiMmNh
ZGMwNGVlODJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3NDEsNiArMTc0MSw4IEBAIHdlYmtp
dC5vcmcvYi8xMzk2MzQgWyBEZWJ1ZyBdIGZhc3Qvc2VsZWN0b3JzL21hdGNoZXMtYmFja3RyYWNr
aW5nLmh0bWwgWyBTbG93IF0KIHdlYmtpdC5vcmcvYi8xMzk2MzQgWyBEZWJ1ZyBdIGZhc3Qvc2Vs
ZWN0b3JzL250aC1jaGlsZC1vZi1yZWdpc3Rlci1yZXF1aXJlbWVudC5odG1sIFsgU2xvdyBdCiB3
ZWJraXQub3JnL2IvMTM5NjM0IFsgRGVidWcgXSBmYXN0L3NlbGVjdG9ycy9ub3QtYmFja3RyYWNr
aW5nLmh0bWwgWyBTbG93IF0KIAord2Via2l0Lm9yZy9iLzIyNDk0MSBbIERlYnVnIF0gZWRpdGlu
Zy9wYXN0ZWJvYXJkL3Bhc3RlLWFzLXF1b3RhdGlvbi10aGVuLXBhc3RlLWNyYXNoLmh0bWwgWyBX
b250Rml4IF0KKwogd2Via2l0Lm9yZy9iLzYxOTMyIFsgRGVidWcgXSBqcXVlcnkvbWFuaXB1bGF0
aW9uLmh0bWwgWyBTbG93IF0KIFsgRGVidWcgXSBqcXVlcnkvY29yZS5odG1sIFsgU2xvdyBdCiBb
IERlYnVnIF0ganF1ZXJ5L2V2ZW50Lmh0bWwgWyBTbG93IF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hcy1xdW90YXRpb24tdGhlbi1wYXN0ZS1jcmFz
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMt
cXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0Mzgx
MDI1YTA1ZmQ4ZDFiNDFhNmE4YmE2NmY0OGI1Y2UzNTlmMTAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFz
dGUtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdCBwYXNzZXMgaWYg
V2ViS2l0IGRvZXMgbm90IGNyYXNoLiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1hcy1xdW90YXRpb24tdGhlbi1w
YXN0ZS1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1N2I5NDNlYTFkZjkyOWVjMzUwODEyZTFkNThh
OTQ5OWMyZjQ1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcGFzdGUtYXMtcXVvdGF0aW9uLXRoZW4tcGFzdGUtY3Jhc2guaHRtbApAQCAtMCwwICsx
LDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+Cis6bGFzdC1j
aGlsZCB7CisgICAgYWxsOiBpbml0aWFsOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK29ubG9hZCA9
ICgpID0+IHsKKyAgICBsZXQgbjAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAg
ICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQobjApOworICAgIG4wLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JykpOworICAgIGxldCBuMSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CisgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVt
ZW50LmFwcGVuZENoaWxkKG4xKTsKKyAgICBnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJl
bihuMCk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0NvcHknKTsKKyAgICBkb2N1bWVudC5k
ZXNpZ25Nb2RlID0gJ29uJzsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnUGFzdGVBc1F1b3Rh
dGlvbicpOworICAgIGdldFNlbGVjdGlvbigpLmV4dGVuZChuMSk7CisgICAgZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoJ1Bhc3RlJyk7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMg
dGVzdCBwYXNzZXMgaWYgV2ViS2l0IGRvZXMgbm90IGNyYXNoLiBQQVNTCis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>