<?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>234986</bug_id>
          
          <creation_ts>2022-01-07 14:23:51 -0800</creation_ts>
          <short_desc>WebsiteDataStore.cpp uses switch statements for WebKit::ProcessAccessType enum that fall through ASSERT_NOT_REACHED()</short_desc>
          <delta_ts>2022-01-19 13:31:19 -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>WebKit2</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>234932</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1829073</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2022-01-07 14:23:51 -0800</bug_when>
    <thetext>WebsiteDataStore.cpp uses switch statements for WebKit::ProcessAccessType enum that fall through ASSERT_NOT_REACHED().

In these cases, it&apos;s not clear whether the statement after the switch() statement should be run for every WebKit::ProcessAccessType enum value.

    auto webProcessAccessType = computeWebProcessAccessTypeForDataFetch(dataTypes, !isPersistent());
    if (webProcessAccessType != ProcessAccessType::None) {
        for (auto&amp; process : processes()) {
            switch (webProcessAccessType) {
            case ProcessAccessType::OnlyIfLaunched:
                if (process.state() != WebProcessProxy::State::Running)
                    continue;
                break;

            case ProcessAccessType::Launch:
                // FIXME: Handle this.
                ASSERT_NOT_REACHED();
                break;

            case ProcessAccessType::None:
                ASSERT_NOT_REACHED();
            }

            process.fetchWebsiteData(m_sessionID, dataTypes, [callbackAggregator](WebsiteData websiteData) {
                callbackAggregator-&gt;addWebsiteData(WTFMove(websiteData));
            });
        }
    }

See Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp.

There are seven places where this occurs (in four switch statements):

ERROR: Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:482:  ASSERT_NOT_REACHED() statement fallthrough may result in unexpected code execution.  [security/assertion_fallthrough] [4]
ERROR: Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:486:  ASSERT_NOT_REACHED() statement fallthrough may result in unexpected code execution.  [security/assertion_fallthrough] [4]
ERROR: Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:664:  ASSERT_NOT_REACHED() statement fallthrough may result in unexpected code execution.  [security/assertion_fallthrough] [4]
ERROR: Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:668:  ASSERT_NOT_REACHED() statement fallthrough may result in unexpected code execution.  [security/assertion_fallthrough] [4]
ERROR: Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:751:  ASSERT_NOT_REACHED() statement fallthrough may result in unexpected code execution.  [security/assertion_fallthrough] [4]
ERROR: Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:783:  ASSERT_NOT_REACHED() statement fallthrough may result in unexpected code execution.  [security/assertion_fallthrough] [4]
ERROR: Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:787:  ASSERT_NOT_REACHED() statement fallthrough may result in unexpected code execution.  [security/assertion_fallthrough] [4]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829074</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-07 14:24:59 -0800</bug_when>
    <thetext>&lt;rdar://problem/87272534&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832060</commentid>
    <comment_count>2</comment_count>
      <attachid>449490</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-19 09:53:20 -0800</bug_when>
    <thetext>Created attachment 449490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832062</commentid>
    <comment_count>3</comment_count>
      <attachid>449490</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-19 09:59:04 -0800</bug_when>
    <thetext>Comment on attachment 449490
Patch

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

&gt; Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:550
&gt;      UNUSED_PARAM(isNonPersistentStore);

I suggest we omit the argument name instead of using UNUSED_PARAM. Could even put it in comments. The reason I always try to avoid UNUSED_PARAM is that it doesn’t even prevent the code from using the parameter.

But also, why are we even passing this boolean argument to this function? Let’s just omit it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832084</commentid>
    <comment_count>4</comment_count>
      <attachid>449493</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-19 10:42:28 -0800</bug_when>
    <thetext>Created attachment 449493
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832203</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-19 13:31:15 -0800</bug_when>
    <thetext>Committed r288238 (246192@main): &lt;https://commits.webkit.org/246192@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449493.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449490</attachid>
            <date>2022-01-19 09:53:20 -0800</date>
            <delta_ts>2022-01-19 10:42:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234986-20220119095320.patch</filename>
            <type>text/plain</type>
            <size>7981</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQyNjg4MDdkMDU1OGQzMmM2
N2U2YmM1NDk2OGI2ZmMwZjRmNjAyMjMuLmFhNDYyY2IyYzgxMTVlMzJjNjFiOGUwNjY2Zjc3ODg1
ZTQyZDczYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjItMDEtMTkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJzaXRlRGF0YVN0b3JlLmNwcCB1
c2VzIHN3aXRjaCBzdGF0ZW1lbnRzIGZvciBXZWJLaXQ6OlByb2Nlc3NBY2Nlc3NUeXBlIGVudW0g
dGhhdCBmYWxsIHRocm91Z2ggQVNTRVJUX05PVF9SRUFDSEVEKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODcyNzI1MzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ2xlYW4gdXAgLyBjbGFyaWZ5IHByb2Nlc3NBY2Nlc3NUeXBlIGxvZ2ljIGluIFdl
YnNpdGVEYXRhU3RvcmUuY3BwLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0Ojpjb21wdXRlTmV0d29ya1Byb2Nl
c3NBY2Nlc3NUeXBlRm9yRGF0YUZldGNoKToKKyAgICAgICAgKFdlYktpdDo6Y29tcHV0ZVdlYlBy
b2Nlc3NBY2Nlc3NUeXBlRm9yRGF0YUZldGNoKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURh
dGFTdG9yZTo6ZmV0Y2hEYXRhQW5kQXBwbHkpOgorICAgICAgICAoV2ViS2l0Ojpjb21wdXRlTmV0
d29ya1Byb2Nlc3NBY2Nlc3NUeXBlRm9yRGF0YVJlbW92YWwpOgorICAgICAgICAoV2ViS2l0Ojpj
b21wdXRlV2ViUHJvY2Vzc0FjY2Vzc1R5cGVGb3JEYXRhUmVtb3ZhbCk6CisgICAgICAgIChXZWJL
aXQ6OldlYnNpdGVEYXRhU3RvcmU6OnJlbW92ZURhdGEpOgorCiAyMDIyLTAxLTE5ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIERvIG5vdCBjaGFu
Z2UgcHJlZmVycmVkIEF1ZGlvU2Vzc2lvbiBidWZmZXIgc2l6ZSB3aGVuIFZQSU8gaXMgcnVubmlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJz
aXRlRGF0YVN0b3JlLmNwcAppbmRleCA0MmUxMThjNmFhZjM2NThmMTZhODJmODllOTkxOGJkMjk2
MzBiMTFjLi4xNTk2YzUzMzY3Y2UxYTU0MDMzYWM1NzVjMTViNzA0NzVjNDJjNmZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0
YVN0b3JlLmNwcApAQCAtMjg3LDIwICsyODcsMTMgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpy
ZXNvbHZlRGlyZWN0b3JpZXNJZk5lY2Vzc2FyeSgpCiAgICAgfQogfQogCi1lbnVtIGNsYXNzIFBy
b2Nlc3NBY2Nlc3NUeXBlIHsKLSAgICBOb25lLAotICAgIE9ubHlJZkxhdW5jaGVkLAotICAgIExh
dW5jaCwKLX07CitlbnVtIGNsYXNzIFByb2Nlc3NBY2Nlc3NUeXBlIDogdWludDhfdCB7IE5vbmUs
IE9ubHlJZkxhdW5jaGVkLCBMYXVuY2ggfTsKIAogc3RhdGljIFByb2Nlc3NBY2Nlc3NUeXBlIGNv
bXB1dGVOZXR3b3JrUHJvY2Vzc0FjY2Vzc1R5cGVGb3JEYXRhRmV0Y2goT3B0aW9uU2V0PFdlYnNp
dGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBib29sIGlzTm9uUGVyc2lzdGVudFN0b3JlKQogewogICAg
IGZvciAoYXV0byBkYXRhVHlwZSA6IGRhdGFUeXBlcykgewotICAgICAgICBpZiAoV2Vic2l0ZURh
dGE6Om93bmVyUHJvY2VzcyhkYXRhVHlwZSkgPT0gV2Vic2l0ZURhdGFQcm9jZXNzVHlwZTo6TmV0
d29yaykgewotICAgICAgICAgICAgaWYgKGlzTm9uUGVyc2lzdGVudFN0b3JlKQotICAgICAgICAg
ICAgICAgIHJldHVybiBQcm9jZXNzQWNjZXNzVHlwZTo6T25seUlmTGF1bmNoZWQ7Ci0gICAgICAg
ICAgICByZXR1cm4gUHJvY2Vzc0FjY2Vzc1R5cGU6OkxhdW5jaDsKLSAgICAgICAgfQorICAgICAg
ICBpZiAoV2Vic2l0ZURhdGE6Om93bmVyUHJvY2VzcyhkYXRhVHlwZSkgPT0gV2Vic2l0ZURhdGFQ
cm9jZXNzVHlwZTo6TmV0d29yaykKKyAgICAgICAgICAgIHJldHVybiBpc05vblBlcnNpc3RlbnRT
dG9yZSA/IFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZMYXVuY2hlZCA6IFByb2Nlc3NBY2Nlc3NU
eXBlOjpMYXVuY2g7CiAgICAgfQogICAgIHJldHVybiBQcm9jZXNzQWNjZXNzVHlwZTo6Tm9uZTsK
IH0KQEAgLTMwOCwxMyArMzAxLDkgQEAgc3RhdGljIFByb2Nlc3NBY2Nlc3NUeXBlIGNvbXB1dGVO
ZXR3b3JrUHJvY2Vzc0FjY2Vzc1R5cGVGb3JEYXRhRmV0Y2goT3B0aW9uU2V0PFcKIHN0YXRpYyBQ
cm9jZXNzQWNjZXNzVHlwZSBjb21wdXRlV2ViUHJvY2Vzc0FjY2Vzc1R5cGVGb3JEYXRhRmV0Y2go
T3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBib29sIGlzTm9uUGVyc2lzdGVu
dFN0b3JlKQogewogICAgIFVOVVNFRF9QQVJBTShpc05vblBlcnNpc3RlbnRTdG9yZSk7Ci0KLSAg
ICBQcm9jZXNzQWNjZXNzVHlwZSBwcm9jZXNzQWNjZXNzVHlwZSA9IFByb2Nlc3NBY2Nlc3NUeXBl
OjpOb25lOwotCiAgICAgaWYgKGRhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6Ok1l
bW9yeUNhY2hlKSkKICAgICAgICAgcmV0dXJuIFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZMYXVu
Y2hlZDsKLQotICAgIHJldHVybiBwcm9jZXNzQWNjZXNzVHlwZTsKKyAgICByZXR1cm4gUHJvY2Vz
c0FjY2Vzc1R5cGU6Ok5vbmU7CiB9CiAKIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRh
KE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgT3B0aW9uU2V0PFdlYnNpdGVE
YXRhRmV0Y2hPcHRpb24+IGZldGNoT3B0aW9ucywgRnVuY3Rpb248dm9pZChWZWN0b3I8V2Vic2l0
ZURhdGFSZWNvcmQ+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTQ3MSwyMSArNDYwLDggQEAg
cHJpdmF0ZToKICAgICBhdXRvIHdlYlByb2Nlc3NBY2Nlc3NUeXBlID0gY29tcHV0ZVdlYlByb2Nl
c3NBY2Nlc3NUeXBlRm9yRGF0YUZldGNoKGRhdGFUeXBlcywgIWlzUGVyc2lzdGVudCgpKTsKICAg
ICBpZiAod2ViUHJvY2Vzc0FjY2Vzc1R5cGUgIT0gUHJvY2Vzc0FjY2Vzc1R5cGU6Ok5vbmUpIHsK
ICAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNzIDogcHJvY2Vzc2VzKCkpIHsKLSAgICAgICAgICAg
IHN3aXRjaCAod2ViUHJvY2Vzc0FjY2Vzc1R5cGUpIHsKLSAgICAgICAgICAgIGNhc2UgUHJvY2Vz
c0FjY2Vzc1R5cGU6Ok9ubHlJZkxhdW5jaGVkOgotICAgICAgICAgICAgICAgIGlmIChwcm9jZXNz
LnN0YXRlKCkgIT0gV2ViUHJvY2Vzc1Byb3h5OjpTdGF0ZTo6UnVubmluZykKLSAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAg
IGNhc2UgUHJvY2Vzc0FjY2Vzc1R5cGU6OkxhdW5jaDoKLSAgICAgICAgICAgICAgICAvLyBGSVhN
RTogSGFuZGxlIHRoaXMuCi0gICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIGNhc2UgUHJvY2Vzc0FjY2Vzc1R5
cGU6Ok5vbmU6Ci0gICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAg
ICAgICB9Ci0KKyAgICAgICAgICAgIGlmICh3ZWJQcm9jZXNzQWNjZXNzVHlwZSA9PSBQcm9jZXNz
QWNjZXNzVHlwZTo6T25seUlmTGF1bmNoZWQgJiYgcHJvY2Vzcy5zdGF0ZSgpICE9IFdlYlByb2Nl
c3NQcm94eTo6U3RhdGU6OlJ1bm5pbmcpCisgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgICAgICBwcm9jZXNzLmZldGNoV2Vic2l0ZURhdGEobV9zZXNzaW9uSUQsIGRhdGFUeXBlcywg
W2NhbGxiYWNrQWdncmVnYXRvcl0oV2Vic2l0ZURhdGEgd2Vic2l0ZURhdGEpIHsKICAgICAgICAg
ICAgICAgICBjYWxsYmFja0FnZ3JlZ2F0b3ItPmFkZFdlYnNpdGVEYXRhKFdURk1vdmUod2Vic2l0
ZURhdGEpKTsKICAgICAgICAgICAgIH0pOwpAQCAtNTU5LDMwICs1MzUsMjIgQEAgdm9pZCBXZWJz
aXRlRGF0YVN0b3JlOjpmZXRjaERhdGFGb3JSZWdpc3RyYWJsZURvbWFpbnMoT3B0aW9uU2V0PFdl
YnNpdGVEYXRhVHlwZT4KIHN0YXRpYyBQcm9jZXNzQWNjZXNzVHlwZSBjb21wdXRlTmV0d29ya1By
b2Nlc3NBY2Nlc3NUeXBlRm9yRGF0YVJlbW92YWwoT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4g
ZGF0YVR5cGVzLCBib29sIGlzTm9uUGVyc2lzdGVudFN0b3JlKQogewogICAgIFByb2Nlc3NBY2Nl
c3NUeXBlIHByb2Nlc3NBY2Nlc3NUeXBlID0gUHJvY2Vzc0FjY2Vzc1R5cGU6Ok5vbmU7Ci0KICAg
ICBmb3IgKGF1dG8gZGF0YVR5cGUgOiBkYXRhVHlwZXMpIHsKLSAgICAgICAgaWYgKGRhdGFUeXBl
ID09IFdlYnNpdGVEYXRhVHlwZTo6Q29va2llcykgewotICAgICAgICAgICAgaWYgKGlzTm9uUGVy
c2lzdGVudFN0b3JlKQotICAgICAgICAgICAgICAgIHByb2Nlc3NBY2Nlc3NUeXBlID0gc3RkOjpt
YXgocHJvY2Vzc0FjY2Vzc1R5cGUsIFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZMYXVuY2hlZCk7
Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcHJvY2Vzc0FjY2Vzc1R5cGUgPSBz
dGQ6Om1heChwcm9jZXNzQWNjZXNzVHlwZSwgUHJvY2Vzc0FjY2Vzc1R5cGU6OkxhdW5jaCk7Ci0g
ICAgICAgIH0gZWxzZSBpZiAoV2Vic2l0ZURhdGE6Om93bmVyUHJvY2VzcyhkYXRhVHlwZSkgPT0g
V2Vic2l0ZURhdGFQcm9jZXNzVHlwZTo6TmV0d29yaykKKyAgICAgICAgaWYgKFdlYnNpdGVEYXRh
Ojpvd25lclByb2Nlc3MoZGF0YVR5cGUpICE9IFdlYnNpdGVEYXRhUHJvY2Vzc1R5cGU6Ok5ldHdv
cmspCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKGRhdGFUeXBlICE9IFdlYnNp
dGVEYXRhVHlwZTo6Q29va2llcyB8fCAhaXNOb25QZXJzaXN0ZW50U3RvcmUpCiAgICAgICAgICAg
ICByZXR1cm4gUHJvY2Vzc0FjY2Vzc1R5cGU6OkxhdW5jaDsKKyAgICAgICAgcHJvY2Vzc0FjY2Vz
c1R5cGUgPSBQcm9jZXNzQWNjZXNzVHlwZTo6T25seUlmTGF1bmNoZWQ7CiAgICAgfQotICAgIAog
ICAgIHJldHVybiBwcm9jZXNzQWNjZXNzVHlwZTsKIH0KIAogc3RhdGljIFByb2Nlc3NBY2Nlc3NU
eXBlIGNvbXB1dGVXZWJQcm9jZXNzQWNjZXNzVHlwZUZvckRhdGFSZW1vdmFsKE9wdGlvblNldDxX
ZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgYm9vbCBpc05vblBlcnNpc3RlbnRTdG9yZSkKIHsK
ICAgICBVTlVTRURfUEFSQU0oaXNOb25QZXJzaXN0ZW50U3RvcmUpOwotCi0gICAgUHJvY2Vzc0Fj
Y2Vzc1R5cGUgcHJvY2Vzc0FjY2Vzc1R5cGUgPSBQcm9jZXNzQWNjZXNzVHlwZTo6Tm9uZTsKLQog
ICAgIGlmIChkYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFUeXBlOjpNZW1vcnlDYWNoZSkp
Ci0gICAgICAgIHByb2Nlc3NBY2Nlc3NUeXBlID0gc3RkOjptYXgocHJvY2Vzc0FjY2Vzc1R5cGUs
IFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZMYXVuY2hlZCk7Ci0KLSAgICByZXR1cm4gcHJvY2Vz
c0FjY2Vzc1R5cGU7CisgICAgICAgIHJldHVybiBQcm9jZXNzQWNjZXNzVHlwZTo6T25seUlmTGF1
bmNoZWQ7CisgICAgcmV0dXJuIFByb2Nlc3NBY2Nlc3NUeXBlOjpOb25lOwogfQogCiBjbGFzcyBS
ZW1vdmFsQ2FsbGJhY2tBZ2dyZWdhdG9yIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFJl
bW92YWxDYWxsYmFja0FnZ3JlZ2F0b3IsIFdURjo6RGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW5SdW5M
b29wPiB7CkBAIC02NTMsMjEgKzYyMSw4IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6cmVtb3Zl
RGF0YShPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIFdhbGxUaW1lCiAgICAg
ICAgIH0KIAogICAgICAgICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBwcm9jZXNzZXMoKSkgewotICAg
ICAgICAgICAgc3dpdGNoICh3ZWJQcm9jZXNzQWNjZXNzVHlwZSkgewotICAgICAgICAgICAgY2Fz
ZSBQcm9jZXNzQWNjZXNzVHlwZTo6T25seUlmTGF1bmNoZWQ6Ci0gICAgICAgICAgICAgICAgaWYg
KHByb2Nlc3Muc3RhdGUoKSAhPSBXZWJQcm9jZXNzUHJveHk6OlN0YXRlOjpSdW5uaW5nKQotICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAg
ICAgICAgICAgY2FzZSBQcm9jZXNzQWNjZXNzVHlwZTo6TGF1bmNoOgotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBIYW5kbGUgdGhpcy4KLSAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSBQcm9jZXNz
QWNjZXNzVHlwZTo6Tm9uZToKLSAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LSAgICAgICAgICAgIH0KLQorICAgICAgICAgICAgaWYgKHdlYlByb2Nlc3NBY2Nlc3NUeXBlID09
IFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZMYXVuY2hlZCAmJiBwcm9jZXNzLnN0YXRlKCkgIT0g
V2ViUHJvY2Vzc1Byb3h5OjpTdGF0ZTo6UnVubmluZykKKyAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgIHByb2Nlc3MuZGVsZXRlV2Vic2l0ZURhdGEobV9zZXNzaW9uSUQsIGRh
dGFUeXBlcywgbW9kaWZpZWRTaW5jZSwgW2NhbGxiYWNrQWdncmVnYXRvcl0geyB9KTsKICAgICAg
ICAgfQogICAgIH0KQEAgLTc3MiwyMSArNzI3LDggQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpy
ZW1vdmVEYXRhKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgY29uc3QgVmUK
ICAgICBhdXRvIHdlYlByb2Nlc3NBY2Nlc3NUeXBlID0gY29tcHV0ZVdlYlByb2Nlc3NBY2Nlc3NU
eXBlRm9yRGF0YVJlbW92YWwoZGF0YVR5cGVzLCAhaXNQZXJzaXN0ZW50KCkpOwogICAgIGlmICh3
ZWJQcm9jZXNzQWNjZXNzVHlwZSAhPSBQcm9jZXNzQWNjZXNzVHlwZTo6Tm9uZSkgewogICAgICAg
ICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBwcm9jZXNzZXMoKSkgewotICAgICAgICAgICAgc3dpdGNo
ICh3ZWJQcm9jZXNzQWNjZXNzVHlwZSkgewotICAgICAgICAgICAgY2FzZSBQcm9jZXNzQWNjZXNz
VHlwZTo6T25seUlmTGF1bmNoZWQ6Ci0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3Muc3RhdGUo
KSAhPSBXZWJQcm9jZXNzUHJveHk6OlN0YXRlOjpSdW5uaW5nKQotICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSBQ
cm9jZXNzQWNjZXNzVHlwZTo6TGF1bmNoOgotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5k
bGUgdGhpcy4KLSAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSBQcm9jZXNzQWNjZXNzVHlwZTo6Tm9u
ZToKLSAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIH0K
LQorICAgICAgICAgICAgaWYgKHdlYlByb2Nlc3NBY2Nlc3NUeXBlID09IFByb2Nlc3NBY2Nlc3NU
eXBlOjpPbmx5SWZMYXVuY2hlZCAmJiBwcm9jZXNzLnN0YXRlKCkgIT0gV2ViUHJvY2Vzc1Byb3h5
OjpTdGF0ZTo6UnVubmluZykKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
IHByb2Nlc3MuZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKG1fc2Vzc2lvbklELCBkYXRhVHlw
ZXMsIG9yaWdpbnMsIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CiAgICAgICAgIH0KICAgICB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449493</attachid>
            <date>2022-01-19 10:42:28 -0800</date>
            <delta_ts>2022-01-19 13:31:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234986-20220119104228.patch</filename>
            <type>text/plain</type>
            <size>8154</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQyNjg4MDdkMDU1OGQzMmM2
N2U2YmM1NDk2OGI2ZmMwZjRmNjAyMjMuLjkzNjU1MGY2MmE0NjBjM2ZlYTA3MTgwM2FjNmFiNDgw
NmY3Y2Y3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjItMDEtMTkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJzaXRlRGF0YVN0b3JlLmNwcCB1
c2VzIHN3aXRjaCBzdGF0ZW1lbnRzIGZvciBXZWJLaXQ6OlByb2Nlc3NBY2Nlc3NUeXBlIGVudW0g
dGhhdCBmYWxsIHRocm91Z2ggQVNTRVJUX05PVF9SRUFDSEVEKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk4NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODcyNzI1MzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgQ2xlYW4gdXAgLyBjbGFyaWZ5IHByb2Nlc3NBY2Nlc3NUeXBlIGxvZ2ljIGluIFdlYnNp
dGVEYXRhU3RvcmUuY3BwLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0Ojpjb21wdXRlTmV0d29ya1Byb2Nlc3NB
Y2Nlc3NUeXBlRm9yRGF0YUZldGNoKToKKyAgICAgICAgKFdlYktpdDo6Y29tcHV0ZVdlYlByb2Nl
c3NBY2Nlc3NUeXBlRm9yRGF0YUZldGNoKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFT
dG9yZTo6ZmV0Y2hEYXRhQW5kQXBwbHkpOgorICAgICAgICAoV2ViS2l0Ojpjb21wdXRlTmV0d29y
a1Byb2Nlc3NBY2Nlc3NUeXBlRm9yRGF0YVJlbW92YWwpOgorICAgICAgICAoV2ViS2l0Ojpjb21w
dXRlV2ViUHJvY2Vzc0FjY2Vzc1R5cGVGb3JEYXRhUmVtb3ZhbCk6CisgICAgICAgIChXZWJLaXQ6
OldlYnNpdGVEYXRhU3RvcmU6OnJlbW92ZURhdGEpOgorCiAyMDIyLTAxLTE5ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIERvIG5vdCBjaGFuZ2Ug
cHJlZmVycmVkIEF1ZGlvU2Vzc2lvbiBidWZmZXIgc2l6ZSB3aGVuIFZQSU8gaXMgcnVubmluZwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmNwcAppbmRleCA0MmUxMThjNmFhZjM2NThmMTZhODJmODllOTkxOGJkMjk2MzBi
MTFjLi4wOGNlY2ZlYmZlMGRlNDRiMWY1YTRiNTAxMTQwNWUxZmQ4MTUwOWZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmNwcApAQCAtMjg3LDM0ICsyODcsMjIgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpyZXNv
bHZlRGlyZWN0b3JpZXNJZk5lY2Vzc2FyeSgpCiAgICAgfQogfQogCi1lbnVtIGNsYXNzIFByb2Nl
c3NBY2Nlc3NUeXBlIHsKLSAgICBOb25lLAotICAgIE9ubHlJZkxhdW5jaGVkLAotICAgIExhdW5j
aCwKLX07CitlbnVtIGNsYXNzIFByb2Nlc3NBY2Nlc3NUeXBlIDogdWludDhfdCB7IE5vbmUsIE9u
bHlJZkxhdW5jaGVkLCBMYXVuY2ggfTsKIAogc3RhdGljIFByb2Nlc3NBY2Nlc3NUeXBlIGNvbXB1
dGVOZXR3b3JrUHJvY2Vzc0FjY2Vzc1R5cGVGb3JEYXRhRmV0Y2goT3B0aW9uU2V0PFdlYnNpdGVE
YXRhVHlwZT4gZGF0YVR5cGVzLCBib29sIGlzTm9uUGVyc2lzdGVudFN0b3JlKQogewogICAgIGZv
ciAoYXV0byBkYXRhVHlwZSA6IGRhdGFUeXBlcykgewotICAgICAgICBpZiAoV2Vic2l0ZURhdGE6
Om93bmVyUHJvY2VzcyhkYXRhVHlwZSkgPT0gV2Vic2l0ZURhdGFQcm9jZXNzVHlwZTo6TmV0d29y
aykgewotICAgICAgICAgICAgaWYgKGlzTm9uUGVyc2lzdGVudFN0b3JlKQotICAgICAgICAgICAg
ICAgIHJldHVybiBQcm9jZXNzQWNjZXNzVHlwZTo6T25seUlmTGF1bmNoZWQ7Ci0gICAgICAgICAg
ICByZXR1cm4gUHJvY2Vzc0FjY2Vzc1R5cGU6OkxhdW5jaDsKLSAgICAgICAgfQorICAgICAgICBp
ZiAoV2Vic2l0ZURhdGE6Om93bmVyUHJvY2VzcyhkYXRhVHlwZSkgPT0gV2Vic2l0ZURhdGFQcm9j
ZXNzVHlwZTo6TmV0d29yaykKKyAgICAgICAgICAgIHJldHVybiBpc05vblBlcnNpc3RlbnRTdG9y
ZSA/IFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZMYXVuY2hlZCA6IFByb2Nlc3NBY2Nlc3NUeXBl
OjpMYXVuY2g7CiAgICAgfQogICAgIHJldHVybiBQcm9jZXNzQWNjZXNzVHlwZTo6Tm9uZTsKIH0K
IAotc3RhdGljIFByb2Nlc3NBY2Nlc3NUeXBlIGNvbXB1dGVXZWJQcm9jZXNzQWNjZXNzVHlwZUZv
ckRhdGFGZXRjaChPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIGJvb2wgaXNO
b25QZXJzaXN0ZW50U3RvcmUpCitzdGF0aWMgUHJvY2Vzc0FjY2Vzc1R5cGUgY29tcHV0ZVdlYlBy
b2Nlc3NBY2Nlc3NUeXBlRm9yRGF0YUZldGNoKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRh
dGFUeXBlcywgYm9vbCAvKiBpc05vblBlcnNpc3RlbnRTdG9yZSAqLykKIHsKLSAgICBVTlVTRURf
UEFSQU0oaXNOb25QZXJzaXN0ZW50U3RvcmUpOwotCi0gICAgUHJvY2Vzc0FjY2Vzc1R5cGUgcHJv
Y2Vzc0FjY2Vzc1R5cGUgPSBQcm9jZXNzQWNjZXNzVHlwZTo6Tm9uZTsKLQogICAgIGlmIChkYXRh
VHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFUeXBlOjpNZW1vcnlDYWNoZSkpCiAgICAgICAgIHJl
dHVybiBQcm9jZXNzQWNjZXNzVHlwZTo6T25seUlmTGF1bmNoZWQ7Ci0KLSAgICByZXR1cm4gcHJv
Y2Vzc0FjY2Vzc1R5cGU7CisgICAgcmV0dXJuIFByb2Nlc3NBY2Nlc3NUeXBlOjpOb25lOwogfQog
CiB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmZldGNoRGF0YShPcHRpb25TZXQ8V2Vic2l0ZURhdGFU
eXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiBmZXRjaE9w
dGlvbnMsIEZ1bmN0aW9uPHZvaWQoVmVjdG9yPFdlYnNpdGVEYXRhUmVjb3JkPik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCkBAIC00NzEsMjEgKzQ1OSw4IEBAIHByaXZhdGU6CiAgICAgYXV0byB3ZWJQ
cm9jZXNzQWNjZXNzVHlwZSA9IGNvbXB1dGVXZWJQcm9jZXNzQWNjZXNzVHlwZUZvckRhdGFGZXRj
aChkYXRhVHlwZXMsICFpc1BlcnNpc3RlbnQoKSk7CiAgICAgaWYgKHdlYlByb2Nlc3NBY2Nlc3NU
eXBlICE9IFByb2Nlc3NBY2Nlc3NUeXBlOjpOb25lKSB7CiAgICAgICAgIGZvciAoYXV0byYgcHJv
Y2VzcyA6IHByb2Nlc3NlcygpKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKHdlYlByb2Nlc3NBY2Nl
c3NUeXBlKSB7Ci0gICAgICAgICAgICBjYXNlIFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZMYXVu
Y2hlZDoKLSAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5zdGF0ZSgpICE9IFdlYlByb2Nlc3NQ
cm94eTo6U3RhdGU6OlJ1bm5pbmcpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBjYXNlIFByb2Nlc3NBY2Nlc3NUeXBl
OjpMYXVuY2g6Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IEhhbmRsZSB0aGlzLgotICAgICAg
ICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
Ci0gICAgICAgICAgICBjYXNlIFByb2Nlc3NBY2Nlc3NUeXBlOjpOb25lOgotICAgICAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgfQotCisgICAgICAgICAgICBp
ZiAod2ViUHJvY2Vzc0FjY2Vzc1R5cGUgPT0gUHJvY2Vzc0FjY2Vzc1R5cGU6Ok9ubHlJZkxhdW5j
aGVkICYmIHByb2Nlc3Muc3RhdGUoKSAhPSBXZWJQcm9jZXNzUHJveHk6OlN0YXRlOjpSdW5uaW5n
KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgcHJvY2Vzcy5mZXRjaFdl
YnNpdGVEYXRhKG1fc2Vzc2lvbklELCBkYXRhVHlwZXMsIFtjYWxsYmFja0FnZ3JlZ2F0b3JdKFdl
YnNpdGVEYXRhIHdlYnNpdGVEYXRhKSB7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2tBZ2dyZWdh
dG9yLT5hZGRXZWJzaXRlRGF0YShXVEZNb3ZlKHdlYnNpdGVEYXRhKSk7CiAgICAgICAgICAgICB9
KTsKQEAgLTU1OSwzMCArNTM0LDIxIEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6ZmV0Y2hEYXRh
Rm9yUmVnaXN0cmFibGVEb21haW5zKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+CiBzdGF0aWMg
UHJvY2Vzc0FjY2Vzc1R5cGUgY29tcHV0ZU5ldHdvcmtQcm9jZXNzQWNjZXNzVHlwZUZvckRhdGFS
ZW1vdmFsKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgYm9vbCBpc05vblBl
cnNpc3RlbnRTdG9yZSkKIHsKICAgICBQcm9jZXNzQWNjZXNzVHlwZSBwcm9jZXNzQWNjZXNzVHlw
ZSA9IFByb2Nlc3NBY2Nlc3NUeXBlOjpOb25lOwotCiAgICAgZm9yIChhdXRvIGRhdGFUeXBlIDog
ZGF0YVR5cGVzKSB7Ci0gICAgICAgIGlmIChkYXRhVHlwZSA9PSBXZWJzaXRlRGF0YVR5cGU6OkNv
b2tpZXMpIHsKLSAgICAgICAgICAgIGlmIChpc05vblBlcnNpc3RlbnRTdG9yZSkKLSAgICAgICAg
ICAgICAgICBwcm9jZXNzQWNjZXNzVHlwZSA9IHN0ZDo6bWF4KHByb2Nlc3NBY2Nlc3NUeXBlLCBQ
cm9jZXNzQWNjZXNzVHlwZTo6T25seUlmTGF1bmNoZWQpOwotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgIHByb2Nlc3NBY2Nlc3NUeXBlID0gc3RkOjptYXgocHJvY2Vzc0FjY2Vzc1R5
cGUsIFByb2Nlc3NBY2Nlc3NUeXBlOjpMYXVuY2gpOwotICAgICAgICB9IGVsc2UgaWYgKFdlYnNp
dGVEYXRhOjpvd25lclByb2Nlc3MoZGF0YVR5cGUpID09IFdlYnNpdGVEYXRhUHJvY2Vzc1R5cGU6
Ok5ldHdvcmspCisgICAgICAgIGlmIChXZWJzaXRlRGF0YTo6b3duZXJQcm9jZXNzKGRhdGFUeXBl
KSAhPSBXZWJzaXRlRGF0YVByb2Nlc3NUeXBlOjpOZXR3b3JrKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIGlmIChkYXRhVHlwZSAhPSBXZWJzaXRlRGF0YVR5cGU6OkNvb2tpZXMgfHwg
IWlzTm9uUGVyc2lzdGVudFN0b3JlKQogICAgICAgICAgICAgcmV0dXJuIFByb2Nlc3NBY2Nlc3NU
eXBlOjpMYXVuY2g7CisgICAgICAgIHByb2Nlc3NBY2Nlc3NUeXBlID0gUHJvY2Vzc0FjY2Vzc1R5
cGU6Ok9ubHlJZkxhdW5jaGVkOwogICAgIH0KLSAgICAKICAgICByZXR1cm4gcHJvY2Vzc0FjY2Vz
c1R5cGU7CiB9CiAKLXN0YXRpYyBQcm9jZXNzQWNjZXNzVHlwZSBjb21wdXRlV2ViUHJvY2Vzc0Fj
Y2Vzc1R5cGVGb3JEYXRhUmVtb3ZhbChPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlw
ZXMsIGJvb2wgaXNOb25QZXJzaXN0ZW50U3RvcmUpCitzdGF0aWMgUHJvY2Vzc0FjY2Vzc1R5cGUg
Y29tcHV0ZVdlYlByb2Nlc3NBY2Nlc3NUeXBlRm9yRGF0YVJlbW92YWwoT3B0aW9uU2V0PFdlYnNp
dGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBib29sIC8qIGlzTm9uUGVyc2lzdGVudFN0b3JlICovKQog
ewotICAgIFVOVVNFRF9QQVJBTShpc05vblBlcnNpc3RlbnRTdG9yZSk7Ci0KLSAgICBQcm9jZXNz
QWNjZXNzVHlwZSBwcm9jZXNzQWNjZXNzVHlwZSA9IFByb2Nlc3NBY2Nlc3NUeXBlOjpOb25lOwot
CiAgICAgaWYgKGRhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6Ok1lbW9yeUNhY2hl
KSkKLSAgICAgICAgcHJvY2Vzc0FjY2Vzc1R5cGUgPSBzdGQ6Om1heChwcm9jZXNzQWNjZXNzVHlw
ZSwgUHJvY2Vzc0FjY2Vzc1R5cGU6Ok9ubHlJZkxhdW5jaGVkKTsKLQotICAgIHJldHVybiBwcm9j
ZXNzQWNjZXNzVHlwZTsKKyAgICAgICAgcmV0dXJuIFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZM
YXVuY2hlZDsKKyAgICByZXR1cm4gUHJvY2Vzc0FjY2Vzc1R5cGU6Ok5vbmU7CiB9CiAKIGNsYXNz
IFJlbW92YWxDYWxsYmFja0FnZ3JlZ2F0b3IgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
UmVtb3ZhbENhbGxiYWNrQWdncmVnYXRvciwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpblJ1
bkxvb3A+IHsKQEAgLTY1MywyMSArNjE5LDggQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpyZW1v
dmVEYXRhKE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUKICAg
ICAgICAgfQogCiAgICAgICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKSB7Ci0g
ICAgICAgICAgICBzd2l0Y2ggKHdlYlByb2Nlc3NBY2Nlc3NUeXBlKSB7Ci0gICAgICAgICAgICBj
YXNlIFByb2Nlc3NBY2Nlc3NUeXBlOjpPbmx5SWZMYXVuY2hlZDoKLSAgICAgICAgICAgICAgICBp
ZiAocHJvY2Vzcy5zdGF0ZSgpICE9IFdlYlByb2Nlc3NQcm94eTo6U3RhdGU6OlJ1bm5pbmcpCi0g
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0g
ICAgICAgICAgICBjYXNlIFByb2Nlc3NBY2Nlc3NUeXBlOjpMYXVuY2g6Ci0gICAgICAgICAgICAg
ICAgLy8gRklYTUU6IEhhbmRsZSB0aGlzLgotICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBjYXNlIFByb2Nl
c3NBY2Nlc3NUeXBlOjpOb25lOgotICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgICAgICAgICAgfQotCisgICAgICAgICAgICBpZiAod2ViUHJvY2Vzc0FjY2Vzc1R5cGUg
PT0gUHJvY2Vzc0FjY2Vzc1R5cGU6Ok9ubHlJZkxhdW5jaGVkICYmIHByb2Nlc3Muc3RhdGUoKSAh
PSBXZWJQcm9jZXNzUHJveHk6OlN0YXRlOjpSdW5uaW5nKQorICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICAgICAgcHJvY2Vzcy5kZWxldGVXZWJzaXRlRGF0YShtX3Nlc3Npb25JRCwg
ZGF0YVR5cGVzLCBtb2RpZmllZFNpbmNlLCBbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOwogICAg
ICAgICB9CiAgICAgfQpAQCAtNzcyLDIxICs3MjUsOCBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6
OnJlbW92ZURhdGEoT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBjb25zdCBW
ZQogICAgIGF1dG8gd2ViUHJvY2Vzc0FjY2Vzc1R5cGUgPSBjb21wdXRlV2ViUHJvY2Vzc0FjY2Vz
c1R5cGVGb3JEYXRhUmVtb3ZhbChkYXRhVHlwZXMsICFpc1BlcnNpc3RlbnQoKSk7CiAgICAgaWYg
KHdlYlByb2Nlc3NBY2Nlc3NUeXBlICE9IFByb2Nlc3NBY2Nlc3NUeXBlOjpOb25lKSB7CiAgICAg
ICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKSB7Ci0gICAgICAgICAgICBzd2l0
Y2ggKHdlYlByb2Nlc3NBY2Nlc3NUeXBlKSB7Ci0gICAgICAgICAgICBjYXNlIFByb2Nlc3NBY2Nl
c3NUeXBlOjpPbmx5SWZMYXVuY2hlZDoKLSAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5zdGF0
ZSgpICE9IFdlYlByb2Nlc3NQcm94eTo6U3RhdGU6OlJ1bm5pbmcpCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBjYXNl
IFByb2Nlc3NBY2Nlc3NUeXBlOjpMYXVuY2g6Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IEhh
bmRsZSB0aGlzLgotICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgICAgICBjYXNlIFByb2Nlc3NBY2Nlc3NUeXBlOjpO
b25lOgotICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAg
fQotCisgICAgICAgICAgICBpZiAod2ViUHJvY2Vzc0FjY2Vzc1R5cGUgPT0gUHJvY2Vzc0FjY2Vz
c1R5cGU6Ok9ubHlJZkxhdW5jaGVkICYmIHByb2Nlc3Muc3RhdGUoKSAhPSBXZWJQcm9jZXNzUHJv
eHk6OlN0YXRlOjpSdW5uaW5nKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgcHJvY2Vzcy5kZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMobV9zZXNzaW9uSUQsIGRhdGFU
eXBlcywgb3JpZ2lucywgW2NhbGxiYWNrQWdncmVnYXRvcl0geyB9KTsKICAgICAgICAgfQogICAg
IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>