<?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>233087</bug_id>
          
          <creation_ts>2021-11-13 10:16:52 -0800</creation_ts>
          <short_desc>CSP: Implement protections against nonce-hijacking</short_desc>
          <delta_ts>2021-12-10 11:02:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>233102</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick Griffis">pgriffis</reporter>
          <assigned_to name="Patrick Griffis">pgriffis</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1814769</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-11-13 10:16:52 -0800</bug_when>
    <thetext>CSP: Implement protections against nonce-hijacking</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814770</commentid>
    <comment_count>1</comment_count>
      <attachid>444141</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-11-13 10:17:45 -0800</bug_when>
    <thetext>Created attachment 444141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814773</commentid>
    <comment_count>2</comment_count>
      <attachid>444143</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-11-13 10:39:22 -0800</bug_when>
    <thetext>Created attachment 444143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814778</commentid>
    <comment_count>3</comment_count>
      <attachid>444143</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-11-13 11:26:18 -0800</bug_when>
    <thetext>Comment on attachment 444143
Patch

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

&gt; LayoutTests/imported/w3c/web-platform-tests/content-security-policy/script-src/nonce-enforce-blocked-expected.txt:2
&gt; +FAIL Unnonced scripts generate reports. Type error

Note that this is a different bug in CSP reporting code that I&apos;ll be looking into fixing. The previous error was an assert much earlier where unsafe code was ran which no longer does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1814886</commentid>
    <comment_count>4</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-11-14 11:45:48 -0800</bug_when>
    <thetext>(In reply to Patrick Griffis from comment #3)
&gt; Note that this is a different bug in CSP reporting code that I&apos;ll be looking
&gt; into fixing.

Fixed in bug 233102, I&apos;ll update expectations here as PASS after that lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815035</commentid>
    <comment_count>5</comment_count>
      <attachid>444244</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-11-15 06:19:28 -0800</bug_when>
    <thetext>Created attachment 444244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817124</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-20 10:17:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/85635546&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821707</commentid>
    <comment_count>7</comment_count>
      <attachid>444244</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-12-08 12:21:27 -0800</bug_when>
    <thetext>Comment on attachment 444244
Patch

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

r=me

&gt; Source/WebCore/dom/Element.cpp:334
&gt; +            const auto&amp; name = attribute.localName();

If you did &quot;localName().convertToASCIILowercase()&quot;, you could do the following four string comparisons without doing case insensitive compares.

&gt; Source/WebCore/dom/Element.cpp:335
&gt; +            const auto&amp; value = attribute.value();

Ditto for value</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821717</commentid>
    <comment_count>8</comment_count>
      <attachid>444244</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-08 12:31:12 -0800</bug_when>
    <thetext>Comment on attachment 444244
Patch

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

&gt; Source/WebCore/dom/Element.h:769
&gt; +    bool isNonceable() const;

Please move this up. We don&apos;t put getters in the middle of data members.

&gt; Source/WebCore/html/parser/HTMLConstructionSite.cpp:517
&gt; +    setAttributes(element, attributes, false, m_parserContentPolicy);

false here is really unclear. This should use an enum class, not a bool. e.g.:
enum class HasDuplicateAttribute : bool { No, Yes };</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822745</commentid>
    <comment_count>9</comment_count>
      <attachid>446741</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-10 09:15:10 -0800</bug_when>
    <thetext>Created attachment 446741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822758</commentid>
    <comment_count>10</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-10 09:27:06 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #8)
&gt; Comment on attachment 444244 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444244&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.h:769
&gt; &gt; +    bool isNonceable() const;
&gt; 
&gt; Please move this up. We don&apos;t put getters in the middle of data members.
&gt; 
&gt; &gt; Source/WebCore/html/parser/HTMLConstructionSite.cpp:517
&gt; &gt; +    setAttributes(element, attributes, false, m_parserContentPolicy);
&gt; 
&gt; false here is really unclear. This should use an enum class, not a bool.
&gt; e.g.:
&gt; enum class HasDuplicateAttribute : bool { No, Yes };

Before committing this just wanted to make sure my changes look good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822764</commentid>
    <comment_count>11</comment_count>
      <attachid>446741</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-12-10 09:32:07 -0800</bug_when>
    <thetext>Comment on attachment 446741
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822822</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-10 11:02:04 -0800</bug_when>
    <thetext>Committed r286860 (245093@main): &lt;https://commits.webkit.org/245093@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446741.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444141</attachid>
            <date>2021-11-13 10:17:45 -0800</date>
            <delta_ts>2021-11-13 10:42:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233087-20211113121744.patch</filename>
            <type>text/plain</type>
            <size>8611</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhjZWU4MzU5YmQ1YzY2
YWFlN2YzZmMxZmQ3NGI3ZDE5MjkzODAzMC4uNWU5NzhjOTM0NTZiNjIzZDQ0Mjg5MWVmMGI0NDU0
Y2YzMmE4Y2QxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTEzICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogUHJldmVu
dCBub25jZS1oaWphY2tpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMzA4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEltcGxlbWVudCBwcm90ZWN0aW9ucyBhZ2FpbnN0IG5vbmNlLWhpamFja2luZyBh
cyBkZXNjcmliZWQgaW4gdGhpcyBzcGVjOgorICAgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9DU1AzLyNzZWN1cml0eS1ub25jZS1oaWphY2tpbmcKKworICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmlzTm9uY2VhYmxlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om5vbmNlIGNvbnN0KToKKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aGFzRHVwbGljYXRlQXR0cmlidXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEhhc0R1cGxpY2F0ZUF0dHJp
YnV0ZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oOgorICAgICAgICAo
V2ViQ29yZTo6QXRvbUhUTUxUb2tlbjo6aGFzRHVwbGljYXRlQXR0cmlidXRlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkF0b21IVE1MVG9rZW46OmluaXRpYWxpemVBdHRyaWJ1dGVzKToKKyAg
ICAgICAgKiBodG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rp
b25TaXRlOjppbnNlcnRDdXN0b21FbGVtZW50KToKKwogMjAyMS0xMS0wOCAgUGF0cmljayBHcmlm
ZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgbm9uY2UtaGlk
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYmY5YTczZDUxMWQyZGIwZDk4MzczYTM2YjQ1
MDFlMTU4ZDA1NDRmOS4uZDA0MzgxNDQyMTM0NTNmMTA4Yjg5OTIzNTI4YTkwMjY2Y2RiNTY1YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgIkhUTUxP
cHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJIVE1MU2NyaXB0RWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxl
bWVudC5oIgogI2luY2x1ZGUgIklkQ2hhbmdlSW52YWxpZGF0aW9uLmgiCkBAIC0xMDYsNiArMTA3
LDcgQEAKICNpbmNsdWRlICJTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCIKICNpbmNsdWRlICJTVkdO
YW1lcy5oIgogI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdTY3JpcHRF
bGVtZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCiAjaW5jbHVkZSAi
U2Nyb2xsSW50b1ZpZXdPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2Nyb2xsTGF0Y2hpbmdDb250cm9s
bGVyLmgiCkBAIC0zMTQsOSArMzE2LDQwIEBAIGludCBFbGVtZW50OjpkZWZhdWx0VGFiSW5kZXgo
KSBjb25zdAogICAgIHJldHVybiAtMTsKIH0KIAorYm9vbCBFbGVtZW50Ojppc05vbmNlYWJsZSgp
IGNvbnN0Cit7CisgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUDMvI2lzLWVsZW1lbnQt
bm9uY2VhYmxlCisgICAgaWYgKGVsZW1lbnRSYXJlRGF0YSgpLT5ub25jZSgpLmlzTnVsbCgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoaGFzRHVwbGljYXRlQXR0cmlidXRlKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChoYXNBdHRyaWJ1dGVzKCkKKyAgICAg
ICAgJiYgKGlzPEhUTUxTY3JpcHRFbGVtZW50PigqdGhpcykgfHwgaXM8U1ZHU2NyaXB0RWxlbWVu
dD4oKnRoaXMpKSkgeworICAgICAgICBzdGF0aWMgY29uc3QgU3RyaW5nIHNjcmlwdFN0cmluZyA9
ICI8c2NyaXB0IjsKKyAgICAgICAgc3RhdGljIGNvbnN0IFN0cmluZyBzdHlsZVN0cmluZyA9ICI8
c3R5bGUiOworCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgYXR0cmlidXRlIDogYXR0cmlidXRl
c0l0ZXJhdG9yKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IGF1dG8mIG5hbWUgPSBhdHRyaWJ1dGUu
bG9jYWxOYW1lKCk7CisgICAgICAgICAgICBjb25zdCBhdXRvJiB2YWx1ZSA9IGF0dHJpYnV0ZS52
YWx1ZSgpOworICAgICAgICAgICAgaWYgKG5hbWUuY29udGFpbnNJZ25vcmluZ0FTQ0lJQ2FzZShz
Y3JpcHRTdHJpbmcpCisgICAgICAgICAgICAgICAgfHwgbmFtZS5jb250YWluc0lnbm9yaW5nQVND
SUlDYXNlKHN0eWxlU3RyaW5nKQorICAgICAgICAgICAgICAgIHx8IHZhbHVlLmNvbnRhaW5zSWdu
b3JpbmdBU0NJSUNhc2Uoc2NyaXB0U3RyaW5nKQorICAgICAgICAgICAgICAgIHx8IHZhbHVlLmNv
bnRhaW5zSWdub3JpbmdBU0NJSUNhc2Uoc3R5bGVTdHJpbmcpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCiBj
b25zdCBBdG9tU3RyaW5nJiBFbGVtZW50Ojpub25jZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhh
c1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+bm9uY2UoKSA6IGVtcHR5QXRvbSgpOwor
ICAgIGlmIChoYXNSYXJlRGF0YSgpICYmIGlzTm9uY2VhYmxlKCkpCisgICAgICAgIHJldHVybiBl
bGVtZW50UmFyZURhdGEoKS0+bm9uY2UoKTsKKworICAgIHJldHVybiBlbXB0eUF0b20oKTsKIH0K
IAogdm9pZCBFbGVtZW50OjpzZXROb25jZShjb25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCmluZGV4IDA0Y2U2NWRlNmU4NzJjZjA5M2QyY2NhZjBkZjE4YWI5NmU3YTRl
ODIuLjM1NzZiODAwMzBiMDhlMDYyODMzZGE0MWQ2OGU3OTE5ODU1MjY1OWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaApAQCAtNjQ4LDYgKzY0OCw5IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZGVzY3JpcHRp
b24oKSBjb25zdCBvdmVycmlkZTsKICAgICBTdHJpbmcgZGVidWdEZXNjcmlwdGlvbigpIGNvbnN0
IG92ZXJyaWRlOwogCisgICAgYm9vbCBoYXNEdXBsaWNhdGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJl
dHVybiBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKKyAgICB2b2lkIHNldEhhc0R1cGxpY2F0
ZUF0dHJpYnV0ZShib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSkgeyBtX2hhc0R1cGxpY2F0ZUF0
dHJpYnV0ZSA9IGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKKwogcHJvdGVjdGVkOgogICAgIEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgQ29uc3RydWN0aW9uVHlwZSk7
CiAKQEAgLTc2MSw2ICs3NjQsOSBAQCBwcml2YXRlOgogCiAgICAgUXVhbGlmaWVkTmFtZSBtX3Rh
Z05hbWU7CiAgICAgUmVmUHRyPEVsZW1lbnREYXRhPiBtX2VsZW1lbnREYXRhOworCisgICAgYm9v
bCBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZSB7IGZhbHNlIH07CisgICAgYm9vbCBpc05vbmNlYWJs
ZSgpIGNvbnN0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oCmluZGV4IDEzYmU5Y2JkYzJlZWEyMWU1ZDEwY2My
N2YzYzhmZjgxMjE4ZGVlNGQuLjBiZTBmNWJkOGQ2NTM2YTIwNzgzMDg1ZTc2NmI4MTJiOWVjZjEy
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0F0b21IVE1MVG9rZW4u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9BdG9tSFRNTFRva2VuLmgKQEAgLTcw
LDYgKzcwLDggQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBjb21tZW50KCkgY29uc3Q7
CiAKKyAgICBib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
RHVwbGljYXRlQXR0cmlidXRlOyB9OworCiBwcml2YXRlOgogICAgIEhUTUxUb2tlbjo6VHlwZSBt
X3R5cGU7CiAKQEAgLTkwLDYgKzkyLDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9zZWxmQ2xv
c2luZzsgLy8gU3RhcnRUYWcsIEVuZFRhZy4KICAgICBWZWN0b3I8QXR0cmlidXRlPiBtX2F0dHJp
YnV0ZXM7IC8vIFN0YXJ0VGFnLCBFbmRUYWcuCisKKyAgICBib29sIG1faGFzRHVwbGljYXRlQXR0
cmlidXRlIHsgZmFsc2UgfTsKIH07CiAKIGNvbnN0IEF0dHJpYnV0ZSogZmluZEF0dHJpYnV0ZShj
b25zdCBWZWN0b3I8QXR0cmlidXRlPiYsIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKQEAgLTIwOCw2
ICsyMTIsOCBAQCBpbmxpbmUgdm9pZCBBdG9tSFRNTFRva2VuOjppbml0aWFsaXplQXR0cmlidXRl
cyhjb25zdCBIVE1MVG9rZW46OkF0dHJpYnV0ZUxpc3QmCiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGlzIE5eMiBmb3IgdGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzLgogICAgICAgICBpZiAoIWhhc0F0
dHJpYnV0ZShtX2F0dHJpYnV0ZXMsIGxvY2FsTmFtZSkpCiAgICAgICAgICAgICBtX2F0dHJpYnV0
ZXMudW5jaGVja2VkQXBwZW5kKEF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tKCksIGxv
Y2FsTmFtZSwgbnVsbEF0b20oKSksIEhUTUxBdG9tU3RyaW5nQ2FjaGU6Om1ha2VBdHRyaWJ1dGVW
YWx1ZShhdHRyaWJ1dGUudmFsdWUpKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1faGFz
RHVwbGljYXRlQXR0cmlidXRlID0gdHJ1ZTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAppbmRleCAxYTE2Y2U2
MDNlN2M3YmM0MDAzYjcxM2VjZmU2YThkZDUwN2Y2ZDEwLi5kMTNiNTQyMGQxMTIxMTZhZDMxZTI3
NjU5NWMwZTk5NmZjN2ViODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCkBAIC01NSwxNiArNTUsMTcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgaW5saW5l
IHZvaWQgc2V0QXR0cmlidXRlcyhFbGVtZW50JiBlbGVtZW50LCBWZWN0b3I8QXR0cmlidXRlPiYg
YXR0cmlidXRlcywgUGFyc2VyQ29udGVudFBvbGljeSBwYXJzZXJDb250ZW50UG9saWN5KQorc3Rh
dGljIGlubGluZSB2b2lkIHNldEF0dHJpYnV0ZXMoRWxlbWVudCYgZWxlbWVudCwgVmVjdG9yPEF0
dHJpYnV0ZT4mIGF0dHJpYnV0ZXMsIGJvb2wgaGFzRHVwbGljYXRlQXR0cmlidXRlLCBQYXJzZXJD
b250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCiB7CiAgICAgaWYgKCFzY3JpcHRpbmdD
b250ZW50SXNBbGxvd2VkKHBhcnNlckNvbnRlbnRQb2xpY3kpKQogICAgICAgICBlbGVtZW50LnN0
cmlwU2NyaXB0aW5nQXR0cmlidXRlcyhhdHRyaWJ1dGVzKTsKICAgICBlbGVtZW50LnBhcnNlclNl
dEF0dHJpYnV0ZXMoYXR0cmlidXRlcyk7CisgICAgZWxlbWVudC5zZXRIYXNEdXBsaWNhdGVBdHRy
aWJ1dGUoaGFzRHVwbGljYXRlQXR0cmlidXRlKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHNl
dEF0dHJpYnV0ZXMoRWxlbWVudCYgZWxlbWVudCwgQXRvbUhUTUxUb2tlbiYgdG9rZW4sIFBhcnNl
ckNvbnRlbnRQb2xpY3kgcGFyc2VyQ29udGVudFBvbGljeSkKIHsKLSAgICBzZXRBdHRyaWJ1dGVz
KGVsZW1lbnQsIHRva2VuLmF0dHJpYnV0ZXMoKSwgcGFyc2VyQ29udGVudFBvbGljeSk7CisgICAg
c2V0QXR0cmlidXRlcyhlbGVtZW50LCB0b2tlbi5hdHRyaWJ1dGVzKCksIHRva2VuLmhhc0R1cGxp
Y2F0ZUF0dHJpYnV0ZSgpLCBwYXJzZXJDb250ZW50UG9saWN5KTsKIH0KIAogc3RhdGljIGJvb2wg
aGFzSW1wbGllZEVuZFRhZyhjb25zdCBIVE1MU3RhY2tJdGVtJiBpdGVtKQpAQCAtNTEzLDcgKzUx
NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxDdXN0b21FbGVtZW50Q29uc3RydWN0aW9uRGF0YT4gSFRN
TENvbnN0cnVjdGlvblNpdGU6Omluc2VydEhUTUxFCiAKIHZvaWQgSFRNTENvbnN0cnVjdGlvblNp
dGU6Omluc2VydEN1c3RvbUVsZW1lbnQoUmVmPEVsZW1lbnQ+JiYgZWxlbWVudCwgY29uc3QgQXRv
bVN0cmluZyYgbG9jYWxOYW1lLCBWZWN0b3I8QXR0cmlidXRlPiYmIGF0dHJpYnV0ZXMpCiB7Ci0g
ICAgc2V0QXR0cmlidXRlcyhlbGVtZW50LCBhdHRyaWJ1dGVzLCBtX3BhcnNlckNvbnRlbnRQb2xp
Y3kpOworICAgIHNldEF0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cmlidXRlcywgZmFsc2UsIG1fcGFy
c2VyQ29udGVudFBvbGljeSk7CiAgICAgYXR0YWNoTGF0ZXIoY3VycmVudE5vZGUoKSwgZWxlbWVu
dC5jb3B5UmVmKCkpOwogICAgIG1fb3BlbkVsZW1lbnRzLnB1c2goSFRNTFN0YWNrSXRlbTo6Y3Jl
YXRlKFdURk1vdmUoZWxlbWVudCksIGxvY2FsTmFtZSwgV1RGTW92ZShhdHRyaWJ1dGVzKSkpOwog
ICAgIGV4ZWN1dGVRdWV1ZWRUYXNrcygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggNzRhZTAwNDBiNzg1MDBiZTlhZjY3ZWU5NWE0NDgxZmRmMjFiYzdmZS4uMTVmNTRiNGY3Yjkx
ODI2NTJlOTZiM2U1OTgzMDFmZmYxZmMwZTk4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTEtMTMgIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlm
ZmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ1NQOiBQcmV2ZW50IG5vbmNlLWhpamFja2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDg3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4
cGVjdGF0aW9ucy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3Vy
aXR5LXBvbGljeS9zY3JpcHQtc3JjL25vbmNlLWVuZm9yY2UtYmxvY2tlZC1leHBlY3RlZC50eHQ6
CisKIDIwMjEtMTEtMDggIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgSW1wbGVtZW50IG5vbmNlLWhpZGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9z
Y3JpcHQtc3JjL25vbmNlLWVuZm9yY2UtYmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5
L3NjcmlwdC1zcmMvbm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dAppbmRleCBiNGEx
N2IzOTczZmYyMjAwODVhNWJlZmI4ZjBkNjM2NDY2ZjIxYzhlLi5mNGFhOWY4ZGYzNWY3YWZkZjBj
ZmRjNGYwZmEwYmZkN2U1NGFjZmIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMv
bm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Njcmlw
dC1zcmMvbm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBVbm5vbmNlZCBzY3JpcHRzIGdlbmVyYXRlIHJlcG9ydHMuIGFzc2VydF91bnJlYWNo
ZWQ6ICc8c2NyaXB0JyBhdHRyaWJ1dGUsIG5vIGV4ZWN1dGlvbi4gUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCitGQUlMIFVubm9uY2VkIHNjcmlwdHMgZ2VuZXJhdGUgcmVwb3J0cy4gVHlwZSBlcnJv
cgogCg==
</data>
<flag name="commit-queue"
          id="469075"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444143</attachid>
            <date>2021-11-13 10:39:22 -0800</date>
            <delta_ts>2021-11-15 06:19:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233087-20211113123921.patch</filename>
            <type>text/plain</type>
            <size>8611</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhjZWU4MzU5YmQ1YzY2
YWFlN2YzZmMxZmQ3NGI3ZDE5MjkzODAzMC4uNWU5NzhjOTM0NTZiNjIzZDQ0Mjg5MWVmMGI0NDU0
Y2YzMmE4Y2QxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTEzICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogUHJldmVu
dCBub25jZS1oaWphY2tpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMzA4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEltcGxlbWVudCBwcm90ZWN0aW9ucyBhZ2FpbnN0IG5vbmNlLWhpamFja2luZyBh
cyBkZXNjcmliZWQgaW4gdGhpcyBzcGVjOgorICAgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9DU1AzLyNzZWN1cml0eS1ub25jZS1oaWphY2tpbmcKKworICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmlzTm9uY2VhYmxlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om5vbmNlIGNvbnN0KToKKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aGFzRHVwbGljYXRlQXR0cmlidXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEhhc0R1cGxpY2F0ZUF0dHJp
YnV0ZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oOgorICAgICAgICAo
V2ViQ29yZTo6QXRvbUhUTUxUb2tlbjo6aGFzRHVwbGljYXRlQXR0cmlidXRlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkF0b21IVE1MVG9rZW46OmluaXRpYWxpemVBdHRyaWJ1dGVzKToKKyAg
ICAgICAgKiBodG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rp
b25TaXRlOjppbnNlcnRDdXN0b21FbGVtZW50KToKKwogMjAyMS0xMS0wOCAgUGF0cmljayBHcmlm
ZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgbm9uY2UtaGlk
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYmY5YTczZDUxMWQyZGIwZDk4MzczYTM2YjQ1
MDFlMTU4ZDA1NDRmOS4uOGFhZmY3NzVjZTNhMDVjODcwYjVmYzE5YmIwZGI4Yjc4MWNlZmIyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgIkhUTUxP
cHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJIVE1MU2NyaXB0RWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxl
bWVudC5oIgogI2luY2x1ZGUgIklkQ2hhbmdlSW52YWxpZGF0aW9uLmgiCkBAIC0xMDYsNiArMTA3
LDcgQEAKICNpbmNsdWRlICJTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCIKICNpbmNsdWRlICJTVkdO
YW1lcy5oIgogI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdTY3JpcHRF
bGVtZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCiAjaW5jbHVkZSAi
U2Nyb2xsSW50b1ZpZXdPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2Nyb2xsTGF0Y2hpbmdDb250cm9s
bGVyLmgiCkBAIC0zMTQsOSArMzE2LDQwIEBAIGludCBFbGVtZW50OjpkZWZhdWx0VGFiSW5kZXgo
KSBjb25zdAogICAgIHJldHVybiAtMTsKIH0KIAorYm9vbCBFbGVtZW50Ojppc05vbmNlYWJsZSgp
IGNvbnN0Cit7CisgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUDMvI2lzLWVsZW1lbnQt
bm9uY2VhYmxlCisgICAgaWYgKGVsZW1lbnRSYXJlRGF0YSgpLT5ub25jZSgpLmlzTnVsbCgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoaGFzRHVwbGljYXRlQXR0cmlidXRlKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChoYXNBdHRyaWJ1dGVzKCkKKyAgICAg
ICAgJiYgKGlzPEhUTUxTY3JpcHRFbGVtZW50PigqdGhpcykgfHwgaXM8U1ZHU2NyaXB0RWxlbWVu
dD4oKnRoaXMpKSkgeworICAgICAgICBzdGF0aWMgY29uc3QgY2hhciBzY3JpcHRTdHJpbmdbXSA9
ICI8c2NyaXB0IjsKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgc3R5bGVTdHJpbmdbXSA9ICI8
c3R5bGUiOworCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgYXR0cmlidXRlIDogYXR0cmlidXRl
c0l0ZXJhdG9yKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IGF1dG8mIG5hbWUgPSBhdHRyaWJ1dGUu
bG9jYWxOYW1lKCk7CisgICAgICAgICAgICBjb25zdCBhdXRvJiB2YWx1ZSA9IGF0dHJpYnV0ZS52
YWx1ZSgpOworICAgICAgICAgICAgaWYgKG5hbWUuY29udGFpbnNJZ25vcmluZ0FTQ0lJQ2FzZShz
Y3JpcHRTdHJpbmcpCisgICAgICAgICAgICAgICAgfHwgbmFtZS5jb250YWluc0lnbm9yaW5nQVND
SUlDYXNlKHN0eWxlU3RyaW5nKQorICAgICAgICAgICAgICAgIHx8IHZhbHVlLmNvbnRhaW5zSWdu
b3JpbmdBU0NJSUNhc2Uoc2NyaXB0U3RyaW5nKQorICAgICAgICAgICAgICAgIHx8IHZhbHVlLmNv
bnRhaW5zSWdub3JpbmdBU0NJSUNhc2Uoc3R5bGVTdHJpbmcpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCiBj
b25zdCBBdG9tU3RyaW5nJiBFbGVtZW50Ojpub25jZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhh
c1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+bm9uY2UoKSA6IGVtcHR5QXRvbSgpOwor
ICAgIGlmIChoYXNSYXJlRGF0YSgpICYmIGlzTm9uY2VhYmxlKCkpCisgICAgICAgIHJldHVybiBl
bGVtZW50UmFyZURhdGEoKS0+bm9uY2UoKTsKKworICAgIHJldHVybiBlbXB0eUF0b20oKTsKIH0K
IAogdm9pZCBFbGVtZW50OjpzZXROb25jZShjb25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCmluZGV4IDA0Y2U2NWRlNmU4NzJjZjA5M2QyY2NhZjBkZjE4YWI5NmU3YTRl
ODIuLjM1NzZiODAwMzBiMDhlMDYyODMzZGE0MWQ2OGU3OTE5ODU1MjY1OWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaApAQCAtNjQ4LDYgKzY0OCw5IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZGVzY3JpcHRp
b24oKSBjb25zdCBvdmVycmlkZTsKICAgICBTdHJpbmcgZGVidWdEZXNjcmlwdGlvbigpIGNvbnN0
IG92ZXJyaWRlOwogCisgICAgYm9vbCBoYXNEdXBsaWNhdGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJl
dHVybiBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKKyAgICB2b2lkIHNldEhhc0R1cGxpY2F0
ZUF0dHJpYnV0ZShib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSkgeyBtX2hhc0R1cGxpY2F0ZUF0
dHJpYnV0ZSA9IGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKKwogcHJvdGVjdGVkOgogICAgIEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgQ29uc3RydWN0aW9uVHlwZSk7
CiAKQEAgLTc2MSw2ICs3NjQsOSBAQCBwcml2YXRlOgogCiAgICAgUXVhbGlmaWVkTmFtZSBtX3Rh
Z05hbWU7CiAgICAgUmVmUHRyPEVsZW1lbnREYXRhPiBtX2VsZW1lbnREYXRhOworCisgICAgYm9v
bCBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZSB7IGZhbHNlIH07CisgICAgYm9vbCBpc05vbmNlYWJs
ZSgpIGNvbnN0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oCmluZGV4IDEzYmU5Y2JkYzJlZWEyMWU1ZDEwY2My
N2YzYzhmZjgxMjE4ZGVlNGQuLjBiZTBmNWJkOGQ2NTM2YTIwNzgzMDg1ZTc2NmI4MTJiOWVjZjEy
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0F0b21IVE1MVG9rZW4u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9BdG9tSFRNTFRva2VuLmgKQEAgLTcw
LDYgKzcwLDggQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBjb21tZW50KCkgY29uc3Q7
CiAKKyAgICBib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
RHVwbGljYXRlQXR0cmlidXRlOyB9OworCiBwcml2YXRlOgogICAgIEhUTUxUb2tlbjo6VHlwZSBt
X3R5cGU7CiAKQEAgLTkwLDYgKzkyLDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9zZWxmQ2xv
c2luZzsgLy8gU3RhcnRUYWcsIEVuZFRhZy4KICAgICBWZWN0b3I8QXR0cmlidXRlPiBtX2F0dHJp
YnV0ZXM7IC8vIFN0YXJ0VGFnLCBFbmRUYWcuCisKKyAgICBib29sIG1faGFzRHVwbGljYXRlQXR0
cmlidXRlIHsgZmFsc2UgfTsKIH07CiAKIGNvbnN0IEF0dHJpYnV0ZSogZmluZEF0dHJpYnV0ZShj
b25zdCBWZWN0b3I8QXR0cmlidXRlPiYsIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKQEAgLTIwOCw2
ICsyMTIsOCBAQCBpbmxpbmUgdm9pZCBBdG9tSFRNTFRva2VuOjppbml0aWFsaXplQXR0cmlidXRl
cyhjb25zdCBIVE1MVG9rZW46OkF0dHJpYnV0ZUxpc3QmCiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGlzIE5eMiBmb3IgdGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzLgogICAgICAgICBpZiAoIWhhc0F0
dHJpYnV0ZShtX2F0dHJpYnV0ZXMsIGxvY2FsTmFtZSkpCiAgICAgICAgICAgICBtX2F0dHJpYnV0
ZXMudW5jaGVja2VkQXBwZW5kKEF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tKCksIGxv
Y2FsTmFtZSwgbnVsbEF0b20oKSksIEhUTUxBdG9tU3RyaW5nQ2FjaGU6Om1ha2VBdHRyaWJ1dGVW
YWx1ZShhdHRyaWJ1dGUudmFsdWUpKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1faGFz
RHVwbGljYXRlQXR0cmlidXRlID0gdHJ1ZTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAppbmRleCAxYTE2Y2U2
MDNlN2M3YmM0MDAzYjcxM2VjZmU2YThkZDUwN2Y2ZDEwLi5kMTNiNTQyMGQxMTIxMTZhZDMxZTI3
NjU5NWMwZTk5NmZjN2ViODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCkBAIC01NSwxNiArNTUsMTcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgaW5saW5l
IHZvaWQgc2V0QXR0cmlidXRlcyhFbGVtZW50JiBlbGVtZW50LCBWZWN0b3I8QXR0cmlidXRlPiYg
YXR0cmlidXRlcywgUGFyc2VyQ29udGVudFBvbGljeSBwYXJzZXJDb250ZW50UG9saWN5KQorc3Rh
dGljIGlubGluZSB2b2lkIHNldEF0dHJpYnV0ZXMoRWxlbWVudCYgZWxlbWVudCwgVmVjdG9yPEF0
dHJpYnV0ZT4mIGF0dHJpYnV0ZXMsIGJvb2wgaGFzRHVwbGljYXRlQXR0cmlidXRlLCBQYXJzZXJD
b250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCiB7CiAgICAgaWYgKCFzY3JpcHRpbmdD
b250ZW50SXNBbGxvd2VkKHBhcnNlckNvbnRlbnRQb2xpY3kpKQogICAgICAgICBlbGVtZW50LnN0
cmlwU2NyaXB0aW5nQXR0cmlidXRlcyhhdHRyaWJ1dGVzKTsKICAgICBlbGVtZW50LnBhcnNlclNl
dEF0dHJpYnV0ZXMoYXR0cmlidXRlcyk7CisgICAgZWxlbWVudC5zZXRIYXNEdXBsaWNhdGVBdHRy
aWJ1dGUoaGFzRHVwbGljYXRlQXR0cmlidXRlKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHNl
dEF0dHJpYnV0ZXMoRWxlbWVudCYgZWxlbWVudCwgQXRvbUhUTUxUb2tlbiYgdG9rZW4sIFBhcnNl
ckNvbnRlbnRQb2xpY3kgcGFyc2VyQ29udGVudFBvbGljeSkKIHsKLSAgICBzZXRBdHRyaWJ1dGVz
KGVsZW1lbnQsIHRva2VuLmF0dHJpYnV0ZXMoKSwgcGFyc2VyQ29udGVudFBvbGljeSk7CisgICAg
c2V0QXR0cmlidXRlcyhlbGVtZW50LCB0b2tlbi5hdHRyaWJ1dGVzKCksIHRva2VuLmhhc0R1cGxp
Y2F0ZUF0dHJpYnV0ZSgpLCBwYXJzZXJDb250ZW50UG9saWN5KTsKIH0KIAogc3RhdGljIGJvb2wg
aGFzSW1wbGllZEVuZFRhZyhjb25zdCBIVE1MU3RhY2tJdGVtJiBpdGVtKQpAQCAtNTEzLDcgKzUx
NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxDdXN0b21FbGVtZW50Q29uc3RydWN0aW9uRGF0YT4gSFRN
TENvbnN0cnVjdGlvblNpdGU6Omluc2VydEhUTUxFCiAKIHZvaWQgSFRNTENvbnN0cnVjdGlvblNp
dGU6Omluc2VydEN1c3RvbUVsZW1lbnQoUmVmPEVsZW1lbnQ+JiYgZWxlbWVudCwgY29uc3QgQXRv
bVN0cmluZyYgbG9jYWxOYW1lLCBWZWN0b3I8QXR0cmlidXRlPiYmIGF0dHJpYnV0ZXMpCiB7Ci0g
ICAgc2V0QXR0cmlidXRlcyhlbGVtZW50LCBhdHRyaWJ1dGVzLCBtX3BhcnNlckNvbnRlbnRQb2xp
Y3kpOworICAgIHNldEF0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cmlidXRlcywgZmFsc2UsIG1fcGFy
c2VyQ29udGVudFBvbGljeSk7CiAgICAgYXR0YWNoTGF0ZXIoY3VycmVudE5vZGUoKSwgZWxlbWVu
dC5jb3B5UmVmKCkpOwogICAgIG1fb3BlbkVsZW1lbnRzLnB1c2goSFRNTFN0YWNrSXRlbTo6Y3Jl
YXRlKFdURk1vdmUoZWxlbWVudCksIGxvY2FsTmFtZSwgV1RGTW92ZShhdHRyaWJ1dGVzKSkpOwog
ICAgIGV4ZWN1dGVRdWV1ZWRUYXNrcygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggNzRhZTAwNDBiNzg1MDBiZTlhZjY3ZWU5NWE0NDgxZmRmMjFiYzdmZS4uMTVmNTRiNGY3Yjkx
ODI2NTJlOTZiM2U1OTgzMDFmZmYxZmMwZTk4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTEtMTMgIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlm
ZmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ1NQOiBQcmV2ZW50IG5vbmNlLWhpamFja2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDg3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4
cGVjdGF0aW9ucy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3Vy
aXR5LXBvbGljeS9zY3JpcHQtc3JjL25vbmNlLWVuZm9yY2UtYmxvY2tlZC1leHBlY3RlZC50eHQ6
CisKIDIwMjEtMTEtMDggIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgSW1wbGVtZW50IG5vbmNlLWhpZGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9z
Y3JpcHQtc3JjL25vbmNlLWVuZm9yY2UtYmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5
L3NjcmlwdC1zcmMvbm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dAppbmRleCBiNGEx
N2IzOTczZmYyMjAwODVhNWJlZmI4ZjBkNjM2NDY2ZjIxYzhlLi5mNGFhOWY4ZGYzNWY3YWZkZjBj
ZmRjNGYwZmEwYmZkN2U1NGFjZmIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMv
bm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Njcmlw
dC1zcmMvbm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBVbm5vbmNlZCBzY3JpcHRzIGdlbmVyYXRlIHJlcG9ydHMuIGFzc2VydF91bnJlYWNo
ZWQ6ICc8c2NyaXB0JyBhdHRyaWJ1dGUsIG5vIGV4ZWN1dGlvbi4gUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCitGQUlMIFVubm9uY2VkIHNjcmlwdHMgZ2VuZXJhdGUgcmVwb3J0cy4gVHlwZSBlcnJv
cgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444244</attachid>
            <date>2021-11-15 06:19:28 -0800</date>
            <delta_ts>2021-12-10 09:15:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233087-20211115081927.patch</filename>
            <type>text/plain</type>
            <size>8600</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjhjZWU4MzU5YmQ1YzY2
YWFlN2YzZmMxZmQ3NGI3ZDE5MjkzODAzMC4uNWU5NzhjOTM0NTZiNjIzZDQ0Mjg5MWVmMGI0NDU0
Y2YzMmE4Y2QxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTExLTEzICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogUHJldmVu
dCBub25jZS1oaWphY2tpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMzA4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEltcGxlbWVudCBwcm90ZWN0aW9ucyBhZ2FpbnN0IG5vbmNlLWhpamFja2luZyBh
cyBkZXNjcmliZWQgaW4gdGhpcyBzcGVjOgorICAgICAgICAgIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9DU1AzLyNzZWN1cml0eS1ub25jZS1oaWphY2tpbmcKKworICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmlzTm9uY2VhYmxlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6Om5vbmNlIGNvbnN0KToKKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aGFzRHVwbGljYXRlQXR0cmlidXRl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEhhc0R1cGxpY2F0ZUF0dHJp
YnV0ZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oOgorICAgICAgICAo
V2ViQ29yZTo6QXRvbUhUTUxUb2tlbjo6aGFzRHVwbGljYXRlQXR0cmlidXRlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkF0b21IVE1MVG9rZW46OmluaXRpYWxpemVBdHRyaWJ1dGVzKToKKyAg
ICAgICAgKiBodG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rp
b25TaXRlOjppbnNlcnRDdXN0b21FbGVtZW50KToKKwogMjAyMS0xMS0wOCAgUGF0cmljayBHcmlm
ZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgbm9uY2UtaGlk
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYmY5YTczZDUxMWQyZGIwZDk4MzczYTM2YjQ1
MDFlMTU4ZDA1NDRmOS4uOGFhZmY3NzVjZTNhMDVjODcwYjVmYzE5YmIwZGI4Yjc4MWNlZmIyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgIkhUTUxP
cHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJIVE1MU2NyaXB0RWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxl
bWVudC5oIgogI2luY2x1ZGUgIklkQ2hhbmdlSW52YWxpZGF0aW9uLmgiCkBAIC0xMDYsNiArMTA3
LDcgQEAKICNpbmNsdWRlICJTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCIKICNpbmNsdWRlICJTVkdO
YW1lcy5oIgogI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdTY3JpcHRF
bGVtZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCiAjaW5jbHVkZSAi
U2Nyb2xsSW50b1ZpZXdPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2Nyb2xsTGF0Y2hpbmdDb250cm9s
bGVyLmgiCkBAIC0zMTQsOSArMzE2LDQwIEBAIGludCBFbGVtZW50OjpkZWZhdWx0VGFiSW5kZXgo
KSBjb25zdAogICAgIHJldHVybiAtMTsKIH0KIAorYm9vbCBFbGVtZW50Ojppc05vbmNlYWJsZSgp
IGNvbnN0Cit7CisgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUDMvI2lzLWVsZW1lbnQt
bm9uY2VhYmxlCisgICAgaWYgKGVsZW1lbnRSYXJlRGF0YSgpLT5ub25jZSgpLmlzTnVsbCgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoaGFzRHVwbGljYXRlQXR0cmlidXRlKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChoYXNBdHRyaWJ1dGVzKCkKKyAgICAg
ICAgJiYgKGlzPEhUTUxTY3JpcHRFbGVtZW50PigqdGhpcykgfHwgaXM8U1ZHU2NyaXB0RWxlbWVu
dD4oKnRoaXMpKSkgeworICAgICAgICBzdGF0aWMgY29uc3QgY2hhciBzY3JpcHRTdHJpbmdbXSA9
ICI8c2NyaXB0IjsKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgc3R5bGVTdHJpbmdbXSA9ICI8
c3R5bGUiOworCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgYXR0cmlidXRlIDogYXR0cmlidXRl
c0l0ZXJhdG9yKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IGF1dG8mIG5hbWUgPSBhdHRyaWJ1dGUu
bG9jYWxOYW1lKCk7CisgICAgICAgICAgICBjb25zdCBhdXRvJiB2YWx1ZSA9IGF0dHJpYnV0ZS52
YWx1ZSgpOworICAgICAgICAgICAgaWYgKG5hbWUuY29udGFpbnNJZ25vcmluZ0FTQ0lJQ2FzZShz
Y3JpcHRTdHJpbmcpCisgICAgICAgICAgICAgICAgfHwgbmFtZS5jb250YWluc0lnbm9yaW5nQVND
SUlDYXNlKHN0eWxlU3RyaW5nKQorICAgICAgICAgICAgICAgIHx8IHZhbHVlLmNvbnRhaW5zSWdu
b3JpbmdBU0NJSUNhc2Uoc2NyaXB0U3RyaW5nKQorICAgICAgICAgICAgICAgIHx8IHZhbHVlLmNv
bnRhaW5zSWdub3JpbmdBU0NJSUNhc2Uoc3R5bGVTdHJpbmcpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCiBj
b25zdCBBdG9tU3RyaW5nJiBFbGVtZW50Ojpub25jZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhh
c1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURhdGEoKS0+bm9uY2UoKSA6IGVtcHR5QXRvbSgpOwor
ICAgIGlmIChoYXNSYXJlRGF0YSgpICYmIGlzTm9uY2VhYmxlKCkpCisgICAgICAgIHJldHVybiBl
bGVtZW50UmFyZURhdGEoKS0+bm9uY2UoKTsKKworICAgIHJldHVybiBlbXB0eUF0b20oKTsKIH0K
IAogdm9pZCBFbGVtZW50OjpzZXROb25jZShjb25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCmluZGV4IDA0Y2U2NWRlNmU4NzJjZjA5M2QyY2NhZjBkZjE4YWI5NmU3YTRl
ODIuLjM1NzZiODAwMzBiMDhlMDYyODMzZGE0MWQ2OGU3OTE5ODU1MjY1OWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaApAQCAtNjQ4LDYgKzY0OCw5IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZGVzY3JpcHRp
b24oKSBjb25zdCBvdmVycmlkZTsKICAgICBTdHJpbmcgZGVidWdEZXNjcmlwdGlvbigpIGNvbnN0
IG92ZXJyaWRlOwogCisgICAgYm9vbCBoYXNEdXBsaWNhdGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJl
dHVybiBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKKyAgICB2b2lkIHNldEhhc0R1cGxpY2F0
ZUF0dHJpYnV0ZShib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSkgeyBtX2hhc0R1cGxpY2F0ZUF0
dHJpYnV0ZSA9IGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKKwogcHJvdGVjdGVkOgogICAgIEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgQ29uc3RydWN0aW9uVHlwZSk7
CiAKQEAgLTc2MSw2ICs3NjQsOSBAQCBwcml2YXRlOgogCiAgICAgUXVhbGlmaWVkTmFtZSBtX3Rh
Z05hbWU7CiAgICAgUmVmUHRyPEVsZW1lbnREYXRhPiBtX2VsZW1lbnREYXRhOworCisgICAgYm9v
bCBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZSB7IGZhbHNlIH07CisgICAgYm9vbCBpc05vbmNlYWJs
ZSgpIGNvbnN0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oCmluZGV4IDEzYmU5Y2JkYzJlZWEyMWU1ZDEwY2My
N2YzYzhmZjgxMjE4ZGVlNGQuLjBiZTBmNWJkOGQ2NTM2YTIwNzgzMDg1ZTc2NmI4MTJiOWVjZjEy
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0F0b21IVE1MVG9rZW4u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9BdG9tSFRNTFRva2VuLmgKQEAgLTcw
LDYgKzcwLDggQEAgcHVibGljOgogCiAgICAgY29uc3QgU3RyaW5nJiBjb21tZW50KCkgY29uc3Q7
CiAKKyAgICBib29sIGhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
RHVwbGljYXRlQXR0cmlidXRlOyB9OworCiBwcml2YXRlOgogICAgIEhUTUxUb2tlbjo6VHlwZSBt
X3R5cGU7CiAKQEAgLTkwLDYgKzkyLDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9zZWxmQ2xv
c2luZzsgLy8gU3RhcnRUYWcsIEVuZFRhZy4KICAgICBWZWN0b3I8QXR0cmlidXRlPiBtX2F0dHJp
YnV0ZXM7IC8vIFN0YXJ0VGFnLCBFbmRUYWcuCisKKyAgICBib29sIG1faGFzRHVwbGljYXRlQXR0
cmlidXRlIHsgZmFsc2UgfTsKIH07CiAKIGNvbnN0IEF0dHJpYnV0ZSogZmluZEF0dHJpYnV0ZShj
b25zdCBWZWN0b3I8QXR0cmlidXRlPiYsIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKQEAgLTIwOCw2
ICsyMTIsOCBAQCBpbmxpbmUgdm9pZCBBdG9tSFRNTFRva2VuOjppbml0aWFsaXplQXR0cmlidXRl
cyhjb25zdCBIVE1MVG9rZW46OkF0dHJpYnV0ZUxpc3QmCiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGlzIE5eMiBmb3IgdGhlIG51bWJlciBvZiBhdHRyaWJ1dGVzLgogICAgICAgICBpZiAoIWhhc0F0
dHJpYnV0ZShtX2F0dHJpYnV0ZXMsIGxvY2FsTmFtZSkpCiAgICAgICAgICAgICBtX2F0dHJpYnV0
ZXMudW5jaGVja2VkQXBwZW5kKEF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tKCksIGxv
Y2FsTmFtZSwgbnVsbEF0b20oKSksIEhUTUxBdG9tU3RyaW5nQ2FjaGU6Om1ha2VBdHRyaWJ1dGVW
YWx1ZShhdHRyaWJ1dGUudmFsdWUpKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1faGFz
RHVwbGljYXRlQXR0cmlidXRlID0gdHJ1ZTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAppbmRleCAxYTE2Y2U2
MDNlN2M3YmM0MDAzYjcxM2VjZmU2YThkZDUwN2Y2ZDEwLi5kMTNiNTQyMGQxMTIxMTZhZDMxZTI3
NjU5NWMwZTk5NmZjN2ViODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCkBAIC01NSwxNiArNTUsMTcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgaW5saW5l
IHZvaWQgc2V0QXR0cmlidXRlcyhFbGVtZW50JiBlbGVtZW50LCBWZWN0b3I8QXR0cmlidXRlPiYg
YXR0cmlidXRlcywgUGFyc2VyQ29udGVudFBvbGljeSBwYXJzZXJDb250ZW50UG9saWN5KQorc3Rh
dGljIGlubGluZSB2b2lkIHNldEF0dHJpYnV0ZXMoRWxlbWVudCYgZWxlbWVudCwgVmVjdG9yPEF0
dHJpYnV0ZT4mIGF0dHJpYnV0ZXMsIGJvb2wgaGFzRHVwbGljYXRlQXR0cmlidXRlLCBQYXJzZXJD
b250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCiB7CiAgICAgaWYgKCFzY3JpcHRpbmdD
b250ZW50SXNBbGxvd2VkKHBhcnNlckNvbnRlbnRQb2xpY3kpKQogICAgICAgICBlbGVtZW50LnN0
cmlwU2NyaXB0aW5nQXR0cmlidXRlcyhhdHRyaWJ1dGVzKTsKICAgICBlbGVtZW50LnBhcnNlclNl
dEF0dHJpYnV0ZXMoYXR0cmlidXRlcyk7CisgICAgZWxlbWVudC5zZXRIYXNEdXBsaWNhdGVBdHRy
aWJ1dGUoaGFzRHVwbGljYXRlQXR0cmlidXRlKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHNl
dEF0dHJpYnV0ZXMoRWxlbWVudCYgZWxlbWVudCwgQXRvbUhUTUxUb2tlbiYgdG9rZW4sIFBhcnNl
ckNvbnRlbnRQb2xpY3kgcGFyc2VyQ29udGVudFBvbGljeSkKIHsKLSAgICBzZXRBdHRyaWJ1dGVz
KGVsZW1lbnQsIHRva2VuLmF0dHJpYnV0ZXMoKSwgcGFyc2VyQ29udGVudFBvbGljeSk7CisgICAg
c2V0QXR0cmlidXRlcyhlbGVtZW50LCB0b2tlbi5hdHRyaWJ1dGVzKCksIHRva2VuLmhhc0R1cGxp
Y2F0ZUF0dHJpYnV0ZSgpLCBwYXJzZXJDb250ZW50UG9saWN5KTsKIH0KIAogc3RhdGljIGJvb2wg
aGFzSW1wbGllZEVuZFRhZyhjb25zdCBIVE1MU3RhY2tJdGVtJiBpdGVtKQpAQCAtNTEzLDcgKzUx
NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxDdXN0b21FbGVtZW50Q29uc3RydWN0aW9uRGF0YT4gSFRN
TENvbnN0cnVjdGlvblNpdGU6Omluc2VydEhUTUxFCiAKIHZvaWQgSFRNTENvbnN0cnVjdGlvblNp
dGU6Omluc2VydEN1c3RvbUVsZW1lbnQoUmVmPEVsZW1lbnQ+JiYgZWxlbWVudCwgY29uc3QgQXRv
bVN0cmluZyYgbG9jYWxOYW1lLCBWZWN0b3I8QXR0cmlidXRlPiYmIGF0dHJpYnV0ZXMpCiB7Ci0g
ICAgc2V0QXR0cmlidXRlcyhlbGVtZW50LCBhdHRyaWJ1dGVzLCBtX3BhcnNlckNvbnRlbnRQb2xp
Y3kpOworICAgIHNldEF0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cmlidXRlcywgZmFsc2UsIG1fcGFy
c2VyQ29udGVudFBvbGljeSk7CiAgICAgYXR0YWNoTGF0ZXIoY3VycmVudE5vZGUoKSwgZWxlbWVu
dC5jb3B5UmVmKCkpOwogICAgIG1fb3BlbkVsZW1lbnRzLnB1c2goSFRNTFN0YWNrSXRlbTo6Y3Jl
YXRlKFdURk1vdmUoZWxlbWVudCksIGxvY2FsTmFtZSwgV1RGTW92ZShhdHRyaWJ1dGVzKSkpOwog
ICAgIGV4ZWN1dGVRdWV1ZWRUYXNrcygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggNzRhZTAwNDBiNzg1MDBiZTlhZjY3ZWU5NWE0NDgxZmRmMjFiYzdmZS4uMTVmNTRiNGY3Yjkx
ODI2NTJlOTZiM2U1OTgzMDFmZmYxZmMwZTk4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTEtMTMgIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlm
ZmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ1NQOiBQcmV2ZW50IG5vbmNlLWhpamFja2luZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMDg3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4
cGVjdGF0aW9ucy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3Vy
aXR5LXBvbGljeS9zY3JpcHQtc3JjL25vbmNlLWVuZm9yY2UtYmxvY2tlZC1leHBlY3RlZC50eHQ6
CisKIDIwMjEtMTEtMDggIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgSW1wbGVtZW50IG5vbmNlLWhpZGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9z
Y3JpcHQtc3JjL25vbmNlLWVuZm9yY2UtYmxvY2tlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5
L3NjcmlwdC1zcmMvbm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dAppbmRleCBiNGEx
N2IzOTczZmYyMjAwODVhNWJlZmI4ZjBkNjM2NDY2ZjIxYzhlLi4yNDFhOWFiMjIzM2YyN2NjMmQy
NmY0Yzk2MWFmOGIzYTYwMGRlZTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMv
bm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Njcmlw
dC1zcmMvbm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAK
IAotRkFJTCBVbm5vbmNlZCBzY3JpcHRzIGdlbmVyYXRlIHJlcG9ydHMuIGFzc2VydF91bnJlYWNo
ZWQ6ICc8c2NyaXB0JyBhdHRyaWJ1dGUsIG5vIGV4ZWN1dGlvbi4gUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCitQQVNTIFVubm9uY2VkIHNjcmlwdHMgZ2VuZXJhdGUgcmVwb3J0cy4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446741</attachid>
            <date>2021-12-10 09:15:10 -0800</date>
            <delta_ts>2021-12-10 11:02:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233087-20211210111509.patch</filename>
            <type>text/plain</type>
            <size>9286</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2ODUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkNTIxMzM1YTYyNjVi
MGE4OTIyNGM1MzE1YjhiOTdhNTU4Yzg4ZS4uYzQyMTllODc1MmMzZmYwNDBiZDQ0ZDhkNGJlN2M3
ZGU4NDIyOTI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTEyLTEwICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogUHJldmVu
dCBub25jZS1oaWphY2tpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMzA4NworCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisK
KyAgICAgICAgSW1wbGVtZW50IHByb3RlY3Rpb25zIGFnYWluc3Qgbm9uY2UtaGlqYWNraW5nIGFz
IGRlc2NyaWJlZCBpbiB0aGlzIHNwZWM6CisgICAgICAgICAgaHR0cHM6Ly93d3cudzMub3JnL1RS
L0NTUDMvI3NlY3VyaXR5LW5vbmNlLWhpamFja2luZworCisgICAgICAgICogZG9tL0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aXNOb25jZWFibGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6bm9uY2UgY29uc3QpOgorICAgICAgICAqIGRvbS9FbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpoYXNEdXBsaWNhdGVBdHRyaWJ1dGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0SGFzRHVwbGljYXRlQXR0cmli
dXRlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9BdG9tSFRNTFRva2VuLmg6CisgICAgICAgIChX
ZWJDb3JlOjpBdG9tSFRNTFRva2VuOjpoYXNEdXBsaWNhdGVBdHRyaWJ1dGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6QXRvbUhUTUxUb2tlbjo6aW5pdGlhbGl6ZUF0dHJpYnV0ZXMpOgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnNldEF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlv
blNpdGU6Omluc2VydEN1c3RvbUVsZW1lbnQpOgorCiAyMDIxLTEyLTEwICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFJlcGxhY2UgVmVjdG9yPHN0
ZDo6dW5pcXVlX3B0cjxEaXNwbGF5Qm94Tm9kZT4gd2l0aCBWZWN0b3I8RGlzcGxheUJveFRyZWU6
Ok5vZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggZDczYjQ1NTQ0NDBlNjRkMjU2MWQ5YTU4
NzNmNTBhNDVlMmVjZTdlMC4uNGIzOTQ1ZWJjYTA2OWM5YjA0OWQyMmY3ZjIxODBhNTY3ZDU4YmZi
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtNzQsNiArNzQsNyBAQAogI2luY2x1ZGUgIkhU
TUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKKyNpbmNsdWRlICJIVE1MU2NyaXB0RWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRlbXBsYXRl
RWxlbWVudC5oIgogI2luY2x1ZGUgIklkQ2hhbmdlSW52YWxpZGF0aW9uLmgiCkBAIC0xMDksNiAr
MTEwLDcgQEAKICNpbmNsdWRlICJTVkdFbGVtZW50VHlwZUhlbHBlcnMuaCIKICNpbmNsdWRlICJT
VkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdTY3Jp
cHRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCiAjaW5jbHVk
ZSAiU2Nyb2xsSW50b1ZpZXdPcHRpb25zLmgiCiAjaW5jbHVkZSAiU2Nyb2xsTGF0Y2hpbmdDb250
cm9sbGVyLmgiCkBAIC0zMTgsOSArMzIwLDQwIEBAIGludCBFbGVtZW50OjpkZWZhdWx0VGFiSW5k
ZXgoKSBjb25zdAogICAgIHJldHVybiAtMTsKIH0KIAorYm9vbCBFbGVtZW50Ojppc05vbmNlYWJs
ZSgpIGNvbnN0Cit7CisgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUDMvI2lzLWVsZW1l
bnQtbm9uY2VhYmxlCisgICAgaWYgKGVsZW1lbnRSYXJlRGF0YSgpLT5ub25jZSgpLmlzTnVsbCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoaGFzRHVwbGljYXRlQXR0cmlidXRl
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChoYXNBdHRyaWJ1dGVzKCkKKyAg
ICAgICAgJiYgKGlzPEhUTUxTY3JpcHRFbGVtZW50PigqdGhpcykgfHwgaXM8U1ZHU2NyaXB0RWxl
bWVudD4oKnRoaXMpKSkgeworICAgICAgICBzdGF0aWMgY29uc3QgY2hhciBzY3JpcHRTdHJpbmdb
XSA9ICI8c2NyaXB0IjsKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgc3R5bGVTdHJpbmdbXSA9
ICI8c3R5bGUiOworCisgICAgICAgIGZvciAoY29uc3QgYXV0byYgYXR0cmlidXRlIDogYXR0cmli
dXRlc0l0ZXJhdG9yKCkpIHsKKyAgICAgICAgICAgIGF1dG8gbmFtZSA9IGF0dHJpYnV0ZS5sb2Nh
bE5hbWUoKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpOworICAgICAgICAgICAgYXV0byB2YWx1
ZSA9IGF0dHJpYnV0ZS52YWx1ZSgpLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7CisgICAgICAg
ICAgICBpZiAobmFtZS5jb250YWlucyhzY3JpcHRTdHJpbmcpCisgICAgICAgICAgICAgICAgfHwg
bmFtZS5jb250YWlucyhzdHlsZVN0cmluZykKKyAgICAgICAgICAgICAgICB8fCB2YWx1ZS5jb250
YWlucyhzY3JpcHRTdHJpbmcpCisgICAgICAgICAgICAgICAgfHwgdmFsdWUuY29udGFpbnMoc3R5
bGVTdHJpbmcpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAg
IH0KKworICAgIHJldHVybiB0cnVlOworfQorCiBjb25zdCBBdG9tU3RyaW5nJiBFbGVtZW50Ojpu
b25jZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyBlbGVtZW50UmFyZURh
dGEoKS0+bm9uY2UoKSA6IGVtcHR5QXRvbSgpOworICAgIGlmIChoYXNSYXJlRGF0YSgpICYmIGlz
Tm9uY2VhYmxlKCkpCisgICAgICAgIHJldHVybiBlbGVtZW50UmFyZURhdGEoKS0+bm9uY2UoKTsK
KworICAgIHJldHVybiBlbXB0eUF0b20oKTsKIH0KIAogdm9pZCBFbGVtZW50OjpzZXROb25jZShj
b25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGZhOTQ3YmYx
MWNkOTYxYTg3MWU3NTYzNmM2NjMxN2I0MzBhOTI0N2IuLmZhZmNmNjFlNDg1ZTY3NGQ2NmVmMzY0
Y2FlNDg3NDIwODM2NmY3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNjUyLDYgKzY1Miw5IEBA
IHB1YmxpYzoKICAgICBTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZTsKICAgICBT
dHJpbmcgZGVidWdEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgYm9vbCBoYXNE
dXBsaWNhdGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0
ZTsgfTsKKyAgICB2b2lkIHNldEhhc0R1cGxpY2F0ZUF0dHJpYnV0ZShib29sIGhhc0R1cGxpY2F0
ZUF0dHJpYnV0ZSkgeyBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZSA9IGhhc0R1cGxpY2F0ZUF0dHJp
YnV0ZTsgfTsKKwogcHJvdGVjdGVkOgogICAgIEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50JiwgQ29uc3RydWN0aW9uVHlwZSk7CiAKQEAgLTY4OCw2ICs2OTEsOCBAQCBwcml2
YXRlOgogICAgIGJvb2wgaXNVc2VyQWN0aW9uRWxlbWVudEhhc0ZvY3VzVmlzaWJsZSgpIGNvbnN0
OwogICAgIGJvb2wgaXNVc2VyQWN0aW9uRWxlbWVudEhhc0ZvY3VzV2l0aGluKCkgY29uc3Q7CiAK
KyAgICBib29sIGlzTm9uY2VhYmxlKCkgY29uc3Q7CisKICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRk
VXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290JikgeyB9CiAKICAgICB2b2lkIGRpZEFkZEF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbVN0cmluZyYpOwpAQCAtNzY1
LDYgKzc3MCw4IEBAIHByaXZhdGU6CiAKICAgICBRdWFsaWZpZWROYW1lIG1fdGFnTmFtZTsKICAg
ICBSZWZQdHI8RWxlbWVudERhdGE+IG1fZWxlbWVudERhdGE7CisKKyAgICBib29sIG1faGFzRHVw
bGljYXRlQXR0cmlidXRlIHsgZmFsc2UgfTsKIH07CiAKIHZvaWQgaW52YWxpZGF0ZUZvclNpYmxp
bmdDb21iaW5hdG9ycyhFbGVtZW50KiBzaWJsaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0F0b21IVE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0F0b21IVE1MVG9rZW4uaAppbmRleCAxM2JlOWNiZGMyZWVhMjFlNWQxMGNjMjdmM2M4ZmY4
MTIxOGRlZTRkLi5jNDM1MjMzZjI2N2NmZDk4MDU5Mjc0MjQzYWZhMjRkZjkzYmEzZTFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9BdG9tSFRNTFRva2VuLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQXRvbUhUTUxUb2tlbi5oCkBAIC0zMSw2ICszMSw4
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorZW51bSBjbGFzcyBIYXNEdXBsaWNhdGVBdHRy
aWJ1dGUgOiBib29sIHsgTm8sIFllcyB9OworCiBjbGFzcyBBdG9tSFRNTFRva2VuIHsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBBdG9tSFRNTFRva2VuKEhUTUxUb2tlbiYpOwpAQCAtNzAsNiArNzIs
OCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTdHJpbmcmIGNvbW1lbnQoKSBjb25zdDsKIAorICAg
IEhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSBoYXNEdXBsaWNhdGVBdHRyaWJ1dGUoKSBjb25zdCB7IHJl
dHVybiBtX2hhc0R1cGxpY2F0ZUF0dHJpYnV0ZTsgfTsKKwogcHJpdmF0ZToKICAgICBIVE1MVG9r
ZW46OlR5cGUgbV90eXBlOwogCkBAIC05MCw2ICs5NCw4IEBAIHByaXZhdGU6CiAKICAgICBib29s
IG1fc2VsZkNsb3Npbmc7IC8vIFN0YXJ0VGFnLCBFbmRUYWcuCiAgICAgVmVjdG9yPEF0dHJpYnV0
ZT4gbV9hdHRyaWJ1dGVzOyAvLyBTdGFydFRhZywgRW5kVGFnLgorCisgICAgSGFzRHVwbGljYXRl
QXR0cmlidXRlIG1faGFzRHVwbGljYXRlQXR0cmlidXRlIHsgSGFzRHVwbGljYXRlQXR0cmlidXRl
OjpObyB9OwogfTsKIAogY29uc3QgQXR0cmlidXRlKiBmaW5kQXR0cmlidXRlKGNvbnN0IFZlY3Rv
cjxBdHRyaWJ1dGU+JiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwpAQCAtMjA4LDYgKzIxNCw4IEBA
IGlubGluZSB2b2lkIEF0b21IVE1MVG9rZW46OmluaXRpYWxpemVBdHRyaWJ1dGVzKGNvbnN0IEhU
TUxUb2tlbjo6QXR0cmlidXRlTGlzdCYKICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgTl4yIGZv
ciB0aGUgbnVtYmVyIG9mIGF0dHJpYnV0ZXMuCiAgICAgICAgIGlmICghaGFzQXR0cmlidXRlKG1f
YXR0cmlidXRlcywgbG9jYWxOYW1lKSkKICAgICAgICAgICAgIG1fYXR0cmlidXRlcy51bmNoZWNr
ZWRBcHBlbmQoQXR0cmlidXRlKFF1YWxpZmllZE5hbWUobnVsbEF0b20oKSwgbG9jYWxOYW1lLCBu
dWxsQXRvbSgpKSwgSFRNTEF0b21TdHJpbmdDYWNoZTo6bWFrZUF0dHJpYnV0ZVZhbHVlKGF0dHJp
YnV0ZS52YWx1ZSkpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9oYXNEdXBsaWNhdGVB
dHRyaWJ1dGUgPSBIYXNEdXBsaWNhdGVBdHRyaWJ1dGU6OlllczsKICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcApp
bmRleCA3ODY4NzU3YTZkMmI5MDdmZGU1YzkyZmJkMTU4MzhmNWRiNTkyOTU3Li41NGRkOWIwNzAx
NDUxZjA1YzAxZDMzZGZiNDA4MzgzMDMzN2I5MDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCkBAIC01NSwxNiArNTUsMTcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1z
dGF0aWMgaW5saW5lIHZvaWQgc2V0QXR0cmlidXRlcyhFbGVtZW50JiBlbGVtZW50LCBWZWN0b3I8
QXR0cmlidXRlPiYgYXR0cmlidXRlcywgUGFyc2VyQ29udGVudFBvbGljeSBwYXJzZXJDb250ZW50
UG9saWN5KQorc3RhdGljIGlubGluZSB2b2lkIHNldEF0dHJpYnV0ZXMoRWxlbWVudCYgZWxlbWVu
dCwgVmVjdG9yPEF0dHJpYnV0ZT4mIGF0dHJpYnV0ZXMsIEhhc0R1cGxpY2F0ZUF0dHJpYnV0ZSBo
YXNEdXBsaWNhdGVBdHRyaWJ1dGUsIFBhcnNlckNvbnRlbnRQb2xpY3kgcGFyc2VyQ29udGVudFBv
bGljeSkKIHsKICAgICBpZiAoIXNjcmlwdGluZ0NvbnRlbnRJc0FsbG93ZWQocGFyc2VyQ29udGVu
dFBvbGljeSkpCiAgICAgICAgIGVsZW1lbnQuc3RyaXBTY3JpcHRpbmdBdHRyaWJ1dGVzKGF0dHJp
YnV0ZXMpOwogICAgIGVsZW1lbnQucGFyc2VyU2V0QXR0cmlidXRlcyhhdHRyaWJ1dGVzKTsKKyAg
ICBlbGVtZW50LnNldEhhc0R1cGxpY2F0ZUF0dHJpYnV0ZShoYXNEdXBsaWNhdGVBdHRyaWJ1dGUg
PT0gSGFzRHVwbGljYXRlQXR0cmlidXRlOjpZZXMpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQg
c2V0QXR0cmlidXRlcyhFbGVtZW50JiBlbGVtZW50LCBBdG9tSFRNTFRva2VuJiB0b2tlbiwgUGFy
c2VyQ29udGVudFBvbGljeSBwYXJzZXJDb250ZW50UG9saWN5KQogewotICAgIHNldEF0dHJpYnV0
ZXMoZWxlbWVudCwgdG9rZW4uYXR0cmlidXRlcygpLCBwYXJzZXJDb250ZW50UG9saWN5KTsKKyAg
ICBzZXRBdHRyaWJ1dGVzKGVsZW1lbnQsIHRva2VuLmF0dHJpYnV0ZXMoKSwgdG9rZW4uaGFzRHVw
bGljYXRlQXR0cmlidXRlKCksIHBhcnNlckNvbnRlbnRQb2xpY3kpOwogfQogCiBzdGF0aWMgYm9v
bCBoYXNJbXBsaWVkRW5kVGFnKGNvbnN0IEhUTUxTdGFja0l0ZW0mIGl0ZW0pCkBAIC01MTYsNyAr
NTE3LDcgQEAgc3RkOjp1bmlxdWVfcHRyPEN1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rpb25EYXRhPiBI
VE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0SFRNTEUKIAogdm9pZCBIVE1MQ29uc3RydWN0aW9u
U2l0ZTo6aW5zZXJ0Q3VzdG9tRWxlbWVudChSZWY8RWxlbWVudD4mJiBlbGVtZW50LCBjb25zdCBB
dG9tU3RyaW5nJiBsb2NhbE5hbWUsIFZlY3RvcjxBdHRyaWJ1dGU+JiYgYXR0cmlidXRlcykKIHsK
LSAgICBzZXRBdHRyaWJ1dGVzKGVsZW1lbnQsIGF0dHJpYnV0ZXMsIG1fcGFyc2VyQ29udGVudFBv
bGljeSk7CisgICAgc2V0QXR0cmlidXRlcyhlbGVtZW50LCBhdHRyaWJ1dGVzLCBIYXNEdXBsaWNh
dGVBdHRyaWJ1dGU6Ok5vLCBtX3BhcnNlckNvbnRlbnRQb2xpY3kpOwogICAgIGF0dGFjaExhdGVy
KGN1cnJlbnROb2RlKCksIGVsZW1lbnQuY29weVJlZigpKTsKICAgICBtX29wZW5FbGVtZW50cy5w
dXNoKEhUTUxTdGFja0l0ZW06OmNyZWF0ZShXVEZNb3ZlKGVsZW1lbnQpLCBsb2NhbE5hbWUsIFdU
Rk1vdmUoYXR0cmlidXRlcykpKTsKICAgICBleGVjdXRlUXVldWVkVGFza3MoKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDg2MTI5MzMzNTZiZWE0N2YyMjM4YWQzN2Q1ZDY3ZjBk
ZTAxNTY5NWYuLjFkNzBiMmYxYmNlNWM0YTllODgyZjVmOTFiYzMzNDllMzJjZTJmMjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTEyLTEwICBQ
YXRyaWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogSW1w
bGVtZW50IHByb3RlY3Rpb25zIGFnYWluc3Qgbm9uY2UtaGlqYWNraW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMwODcKKworICAgICAgICBSZXZp
ZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisgICAgICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2Ny
aXB0LXNyYy9ub25jZS1lbmZvcmNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEyLTEw
ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtX
UFRdIEltcG9ydCByZXNvdXJjZXMvYWNjZXNza2V5LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5
L3NjcmlwdC1zcmMvbm9uY2UtZW5mb3JjZS1ibG9ja2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xp
Y3kvc2NyaXB0LXNyYy9ub25jZS1lbmZvcmNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0CmluZGV4IGI0
YTE3YjM5NzNmZjIyMDA4NWE1YmVmYjhmMGQ2MzY0NjZmMjFjOGUuLjI0MWE5YWIyMjMzZjI3Y2My
ZDI2ZjRjOTYxYWY4YjNhNjAwZGVlNDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNy
Yy9ub25jZS1lbmZvcmNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2Ny
aXB0LXNyYy9ub25jZS1lbmZvcmNlLWJsb2NrZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBA
QAogCi1GQUlMIFVubm9uY2VkIHNjcmlwdHMgZ2VuZXJhdGUgcmVwb3J0cy4gYXNzZXJ0X3VucmVh
Y2hlZDogJzxzY3JpcHQnIGF0dHJpYnV0ZSwgbm8gZXhlY3V0aW9uLiBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKK1BBU1MgVW5ub25jZWQgc2NyaXB0cyBnZW5lcmF0ZSByZXBvcnRzLgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>