<?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>209664</bug_id>
          
          <creation_ts>2020-03-27 10:46:56 -0700</creation_ts>
          <short_desc>Append Upgrade-Insecure-Requests header in CachedResourceLoader</short_desc>
          <delta_ts>2020-03-31 13:22:17 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1634869</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-27 10:46:56 -0700</bug_when>
    <thetext>Append Upgrade-Insecure-Requests header in CachedResourceLoader, following
the fetch spec [1, step 3].

[1] https://fetch.spec.whatwg.org/#concept-main-fetch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634870</commentid>
    <comment_count>1</comment_count>
      <attachid>394730</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-27 10:48:59 -0700</bug_when>
    <thetext>Created attachment 394730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634956</commentid>
    <comment_count>2</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-27 12:41:29 -0700</bug_when>
    <thetext>Note that addHTTPUpgradeInsecureRequestsIfNeeded could also be a free function or go into FetchIdioms.h, I just feel it does not seem to be part of FrameLoader, for one thing it is static so it does not seem to have a strong connection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635068</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-03-27 17:30:48 -0700</bug_when>
    <thetext>Is there any observable behavior change with this change?  What motivated this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635128</commentid>
    <comment_count>4</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-27 23:01:18 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Is there any observable behavior change with this change?  What motivated
&gt; this change?

There should be no observable behavior change. The motivation is to stick closer to the Fetch specification and setup requests in a more central place, as well as using more Fetch data structures, for instance here checking Fetch mode rather than to insert calls in the code path for main resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636029</commentid>
    <comment_count>5</comment_count>
      <attachid>394730</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-31 08:17:52 -0700</bug_when>
    <thetext>Comment on attachment 394730
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:819
&gt; +    if (request.options().mode == FetchOptions::Mode::Navigate)

Spec says to check the destination is Document, might be best to do that since this is not 100% equivalent.
LinkLoader for instance uses FetchOptions::Mode::Navigate.

&gt; Source/WebCore/platform/network/ResourceRequestBase.cpp:770
&gt; +        // FIXME: Identify HSTS cases and avoid adding the header. &lt;https://bugs.webkit.org/show_bug.cgi?id=157885&gt;

If we have to check HSTS, I am not sure ResourceRequestBase is the right place to add this routine.
Maybe we can inline it in CachedResourceLoader for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636082</commentid>
    <comment_count>6</comment_count>
      <attachid>395057</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-31 10:06:33 -0700</bug_when>
    <thetext>Created attachment 395057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636088</commentid>
    <comment_count>7</comment_count>
      <attachid>395057</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-31 10:15:49 -0700</bug_when>
    <thetext>Comment on attachment 395057
Patch

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

I would have said review+ because all other changes seem obviously right, but there’s one I don’t understand

&gt; Source/WebCore/loader/FrameLoader.cpp:1522
&gt; -    addExtraFieldsToMainResourceRequest(r);
&gt; +    addExtraFieldsToRequest(r, m_loadType, true);

Change log doesn’t explain this change. If addExtraFieldsToMainResourceRequest still exists, why is this one call site not using it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636090</commentid>
    <comment_count>8</comment_count>
      <attachid>395057</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-31 10:20:00 -0700</bug_when>
    <thetext>Comment on attachment 395057
Patch

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

&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:1522
&gt;&gt; +    addExtraFieldsToRequest(r, m_loadType, true);
&gt; 
&gt; Change log doesn’t explain this change. If addExtraFieldsToMainResourceRequest still exists, why is this one call site not using it?

I would like to remove addExtraFieldsToMainResourceRequest and addExtraFieldsToSubresourceRequest if possible and this is a step in that direction. However I can remove this part of the patch if you feel it is not appropriate here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636101</commentid>
    <comment_count>9</comment_count>
      <attachid>395057</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-31 10:28:57 -0700</bug_when>
    <thetext>Comment on attachment 395057
Patch

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

&gt;&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:1522
&gt;&gt;&gt; +    addExtraFieldsToRequest(r, m_loadType, true);
&gt;&gt; 
&gt;&gt; Change log doesn’t explain this change. If addExtraFieldsToMainResourceRequest still exists, why is this one call site not using it?
&gt; 
&gt; I would like to remove addExtraFieldsToMainResourceRequest and addExtraFieldsToSubresourceRequest if possible and this is a step in that direction. However I can remove this part of the patch if you feel it is not appropriate here.

I don’t mean to make any statement about whether it’s appropriate. I just don’t understand why it’s correct, nor does the change log say why.

I trust you that it’s a good change, but I’d like you to explain why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636105</commentid>
    <comment_count>10</comment_count>
      <attachid>395057</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-31 10:33:43 -0700</bug_when>
    <thetext>Comment on attachment 395057
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:1522
&gt;&gt;&gt;&gt; +    addExtraFieldsToRequest(r, m_loadType, true);
&gt;&gt;&gt; 
&gt;&gt;&gt; Change log doesn’t explain this change. If addExtraFieldsToMainResourceRequest still exists, why is this one call site not using it?
&gt;&gt; 
&gt;&gt; I would like to remove addExtraFieldsToMainResourceRequest and addExtraFieldsToSubresourceRequest if possible and this is a step in that direction. However I can remove this part of the patch if you feel it is not appropriate here.
&gt; 
&gt; I don’t mean to make any statement about whether it’s appropriate. I just don’t understand why it’s correct, nor does the change log say why.
&gt; 
&gt; I trust you that it’s a good change, but I’d like you to explain why.

Maybe it is better to keep it for now like this and have another patch that would remove addExtraFieldsToMainResourceRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636114</commentid>
    <comment_count>11</comment_count>
      <attachid>395057</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-31 10:37:53 -0700</bug_when>
    <thetext>Comment on attachment 395057
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:1522
&gt;&gt;&gt;&gt;&gt; +    addExtraFieldsToRequest(r, m_loadType, true);
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Change log doesn’t explain this change. If addExtraFieldsToMainResourceRequest still exists, why is this one call site not using it?
&gt;&gt;&gt; 
&gt;&gt;&gt; I would like to remove addExtraFieldsToMainResourceRequest and addExtraFieldsToSubresourceRequest if possible and this is a step in that direction. However I can remove this part of the patch if you feel it is not appropriate here.
&gt;&gt; 
&gt;&gt; I don’t mean to make any statement about whether it’s appropriate. I just don’t understand why it’s correct, nor does the change log say why.
&gt;&gt; 
&gt;&gt; I trust you that it’s a good change, but I’d like you to explain why.
&gt; 
&gt; Maybe it is better to keep it for now like this and have another patch that would remove addExtraFieldsToMainResourceRequest.

Right, I can see now that it is not super obvious.
Basically addExtraFieldsToMainResourceRequest is only special because it does an extra thing besides calling addExtraFieldsToRequest correctly for main resources, it calls addHTTPUpgradeInsecureRequestsIfNeeded. With this change the addHTTPUpgradeInsecureRequestsIfNeeded is only being done in CachedResourceLoader, so there is not anything special anymore about addExtraFieldsToMainResourceRequest when being called from FrameLoader so I inlined it. The situation is different for the other call site, DocumentLoader, since it has no access to m_loadType, so I left it untouched for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636124</commentid>
    <comment_count>12</comment_count>
      <attachid>395057</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-31 10:46:31 -0700</bug_when>
    <thetext>Comment on attachment 395057
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:1522
&gt;&gt;&gt;&gt;&gt;&gt; +    addExtraFieldsToRequest(r, m_loadType, true);
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; Change log doesn’t explain this change. If addExtraFieldsToMainResourceRequest still exists, why is this one call site not using it?
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I would like to remove addExtraFieldsToMainResourceRequest and addExtraFieldsToSubresourceRequest if possible and this is a step in that direction. However I can remove this part of the patch if you feel it is not appropriate here.
&gt;&gt;&gt; 
&gt;&gt;&gt; I don’t mean to make any statement about whether it’s appropriate. I just don’t understand why it’s correct, nor does the change log say why.
&gt;&gt;&gt; 
&gt;&gt;&gt; I trust you that it’s a good change, but I’d like you to explain why.
&gt;&gt; 
&gt;&gt; Maybe it is better to keep it for now like this and have another patch that would remove addExtraFieldsToMainResourceRequest.
&gt; 
&gt; Right, I can see now that it is not super obvious.
&gt; Basically addExtraFieldsToMainResourceRequest is only special because it does an extra thing besides calling addExtraFieldsToRequest correctly for main resources, it calls addHTTPUpgradeInsecureRequestsIfNeeded. With this change the addHTTPUpgradeInsecureRequestsIfNeeded is only being done in CachedResourceLoader, so there is not anything special anymore about addExtraFieldsToMainResourceRequest when being called from FrameLoader so I inlined it. The situation is different for the other call site, DocumentLoader, since it has no access to m_loadType, so I left it untouched for now.

So some mention of this in the change log would have helped me understand reviewing, and maybe helped others understand later, too.

Which is why I asked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636127</commentid>
    <comment_count>13</comment_count>
      <attachid>395057</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-31 10:52:31 -0700</bug_when>
    <thetext>Comment on attachment 395057
Patch

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

&gt;&gt;&gt;&gt;&gt;&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:1522
&gt;&gt;&gt;&gt;&gt;&gt;&gt; +    addExtraFieldsToRequest(r, m_loadType, true);
&gt;&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt;&gt; Change log doesn’t explain this change. If addExtraFieldsToMainResourceRequest still exists, why is this one call site not using it?
&gt;&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt;&gt; I would like to remove addExtraFieldsToMainResourceRequest and addExtraFieldsToSubresourceRequest if possible and this is a step in that direction. However I can remove this part of the patch if you feel it is not appropriate here.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I don’t mean to make any statement about whether it’s appropriate. I just don’t understand why it’s correct, nor does the change log say why.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; I trust you that it’s a good change, but I’d like you to explain why.
&gt;&gt;&gt; 
&gt;&gt;&gt; Maybe it is better to keep it for now like this and have another patch that would remove addExtraFieldsToMainResourceRequest.
&gt;&gt; 
&gt;&gt; Right, I can see now that it is not super obvious.
&gt;&gt; Basically addExtraFieldsToMainResourceRequest is only special because it does an extra thing besides calling addExtraFieldsToRequest correctly for main resources, it calls addHTTPUpgradeInsecureRequestsIfNeeded. With this change the addHTTPUpgradeInsecureRequestsIfNeeded is only being done in CachedResourceLoader, so there is not anything special anymore about addExtraFieldsToMainResourceRequest when being called from FrameLoader so I inlined it. The situation is different for the other call site, DocumentLoader, since it has no access to m_loadType, so I left it untouched for now.
&gt; 
&gt; So some mention of this in the change log would have helped me understand reviewing, and maybe helped others understand later, too.
&gt; 
&gt; Which is why I asked.

Thanks for the feedback, I do tend to be terse and hand-wavy, so I will try to improve here. I do like the detailed explanations given in Changelogs per file/method so maybe I&apos;ll try using that more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636128</commentid>
    <comment_count>14</comment_count>
      <attachid>395067</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-03-31 10:53:14 -0700</bug_when>
    <thetext>Created attachment 395067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636214</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-31 13:21:54 -0700</bug_when>
    <thetext>Committed r259308: &lt;https://trac.webkit.org/changeset/259308&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395067.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636215</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-31 13:22:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/61121370&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394730</attachid>
            <date>2020-03-27 10:48:59 -0700</date>
            <delta_ts>2020-03-31 10:06:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209664-20200327184858.patch</filename>
            <type>text/plain</type>
            <size>8700</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzAyODliYzU2NzIyNmE0
NzE3MmY1NWQ1ZjJiOTk2ZDMwNWZhNWY3MC4uYTBkZTlmMTFhYzE1ZWZlZjc2ZDBlZTQ1OGJmYzIz
ODFlOTBlODVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAzLTI3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQXBwZW5kIFVwZ3JhZGUtSW5zZWN1
cmUtUmVxdWVzdHMgaGVhZGVyIGluIENhY2hlZFJlc291cmNlTG9hZGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk2NjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcHBlbmQgVXBncmFkZS1JbnNlY3Vy
ZS1SZXF1ZXN0cyBoZWFkZXIgaW4gQ2FjaGVkUmVzb3VyY2VMb2FkZXIsIGZvbGxvd2luZworICAg
ICAgICB0aGUgZmV0Y2ggc3BlYyBbMSwgc3RlcCAzXS4KKworICAgICAgICBbMV0gaHR0cHM6Ly9m
ZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtbWFpbi1mZXRjaAorCisgICAgICAgICogbG9h
ZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1TdWJtaXNzaW9u
Ojpwb3B1bGF0ZUZyYW1lTG9hZFJlcXVlc3QpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlcjo6YWRkRXh0cmFGaWVsZHNUb01haW5SZXNvdXJjZVJlcXVlc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0
ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjphZGRIVFRQVXBncmFkZUluc2VjdXJlUmVxdWVzdHNJZk5lZWRlZCk6IERl
bGV0ZWQuCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3RCYXNlOjphZGRIVFRQVXBncmFkZUluc2VjdXJlUmVxdWVzdHNJZk5lZWRlZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmg6CisKIDIwMjAt
MDMtMjcgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAg
ICAgVXBkYXRlIENocm9tZSBhbmQgRmlyZWZveCB2ZXJzaW9ucyBpbiB1c2VyIGFnZW50IHF1aXJr
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKaW5kZXggODZhZmI3ZTcx
MjZkNzY2YTAwMWEzMzAyOTA0NDYyODUzZDU3ZDQ3My4uM2FhYThlZWQ4YzMzN2U3OWQ5ODg4YTQ1
NWYzOWZmM2ZlZTRiNWEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1T
dWJtaXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24u
Y3BwCkBAIC0yNTMsNyArMjUzLDYgQEAgdm9pZCBGb3JtU3VibWlzc2lvbjo6cG9wdWxhdGVGcmFt
ZUxvYWRSZXF1ZXN0KEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lUmVxdWVzdCkKICAgICAgICAgYXV0
byBvcmlnaW4gPSBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFkZXIoZnJhbWVSZXF1
ZXN0LnJlcXVlc3RlcigpLnJlZmVycmVyUG9saWN5KCksIGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJl
cXVlc3QoKS51cmwoKSwgc2VjdXJpdHlPcmlnaW4pOwogICAgICAgICBmcmFtZVJlcXVlc3QucmVz
b3VyY2VSZXF1ZXN0KCkuc2V0SFRUUE9yaWdpbihvcmlnaW4pOwogICAgIH0KLSAgICBGcmFtZUxv
YWRlcjo6YWRkSFRUUFVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzSWZOZWVkZWQoZnJhbWVSZXF1ZXN0
LnJlc291cmNlUmVxdWVzdCgpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKaW5kZXggODc5YTBkMzhiNTQ0YmM0ZDc5ZTQ0ZGE1YTg1NWVlNDlkNDAzMDZiMy4uYmY2
NmZiNTVkOTRjYWE1NWRlZTBlZjdkZmI0ODMzYjQ1MGFkYjA0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0xNTIwLDcgKzE1MjAsNyBAQCB2b2lkIEZyYW1lTG9hZGVy
Ojpsb2FkKERvY3VtZW50TG9hZGVyJiBuZXdEb2N1bWVudExvYWRlcikKICAgICBGUkFNRUxPQURF
Ul9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNlTG9hZGluZywgImxvYWQgKERvY3VtZW50
TG9hZGVyKTogZnJhbWUgbG9hZCBzdGFydGVkIik7CiAKICAgICBSZXNvdXJjZVJlcXVlc3QmIHIg
PSBuZXdEb2N1bWVudExvYWRlci5yZXF1ZXN0KCk7Ci0gICAgYWRkRXh0cmFGaWVsZHNUb01haW5S
ZXNvdXJjZVJlcXVlc3Qocik7CisgICAgYWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QociwgbV9sb2Fk
VHlwZSwgdHJ1ZSk7CiAgICAgRnJhbWVMb2FkVHlwZSB0eXBlOwogCiAgICAgaWYgKHNob3VsZFRy
ZWF0VVJMQXNTYW1lQXNDdXJyZW50KG5ld0RvY3VtZW50TG9hZGVyLm9yaWdpbmFsUmVxdWVzdCgp
LnVybCgpKSkgewpAQCAtMjg4NCw5ICsyODg0LDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6YWRkRXh0
cmFGaWVsZHNUb01haW5SZXNvdXJjZVJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQog
ICAgIC8vIEZJWE1FOiBVc2luZyBtX2xvYWRUeXBlIHNlZW1zIHdyb25nIGZvciBzb21lIGNhbGxl
cnMuCiAgICAgLy8gSWYgd2UgYXJlIG9ubHkgcHJlcGFyaW5nIHRvIGxvYWQgdGhlIG1haW4gcmVz
b3VyY2UsIHRoYXQgaXMgcHJldmlvdXMgbG9hZCdzIGxvYWQgdHlwZSEKICAgICBhZGRFeHRyYUZp
ZWxkc1RvUmVxdWVzdChyZXF1ZXN0LCBtX2xvYWRUeXBlLCB0cnVlKTsKLQotICAgIC8vIFVwZ3Jh
ZGUtSW5zZWN1cmUtUmVxdWVzdHMgc2hvdWxkIG9ubHkgYmUgYWRkZWQgdG8gbWFpbiByZXNvdXJj
ZSByZXF1ZXN0cwotICAgIGFkZEhUVFBVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0c0lmTmVlZGVkKHJl
cXVlc3QpOwogfQogCiBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBGcmFtZUxvYWRlcjo6ZGVm
YXVsdFJlcXVlc3RDYWNoaW5nUG9saWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
RnJhbWVMb2FkVHlwZSBsb2FkVHlwZSwgYm9vbCBpc01haW5SZXNvdXJjZSkKQEAgLTMwMDMsMTYg
KzMwMDAsNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjphZGRTYW1lU2l0ZUluZm9Ub1JlcXVlc3RJZk5l
ZWRlZChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbgogICAgIHJlcXVlc3Quc2V0SXNTYW1l
U2l0ZShhcmVSZWdpc3RyYWJsZURvbWFpbnNFcXVhbChpbml0aWF0b3ItPnNpdGVGb3JDb29raWVz
KCksIHJlcXVlc3QudXJsKCkpKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlcjo6YWRkSFRUUFVwZ3Jh
ZGVJbnNlY3VyZVJlcXVlc3RzSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQotewot
ICAgIGlmIChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXMoImh0dHBzIikpIHsKLSAgICAgICAgLy8g
RklYTUU6IElkZW50aWZ5IEhTVFMgY2FzZXMgYW5kIGF2b2lkIGFkZGluZyB0aGUgaGVhZGVyLiA8
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Nzg4NT4KLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFk
ZXJOYW1lOjpVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0cywgIjEiX3MpOwotfQotCiB2b2lkIEZyYW1l
TG9hZGVyOjpsb2FkUG9zdFJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgcmVmZXJyZXIsIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUsIEV2ZW50KiBldmVudCwg
UmVmUHRyPEZvcm1TdGF0ZT4mJiBmb3JtU3RhdGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPR19JRl9B
TExPV0VEKFJlc291cmNlTG9hZGluZywgImxvYWRQb3N0UmVxdWVzdDogZnJhbWUgbG9hZCBzdGFy
dGVkIik7CkBAIC0zNzg2LDcgKzM3NzMsNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVy
ZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBIaXN0b3J5SXRlbSogZnJvbQogICAg
ICAgICAgICAgYXV0byBvcmlnaW4gPSBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFk
ZXIobV9mcmFtZS5kb2N1bWVudCgpLT5yZWZlcnJlclBvbGljeSgpLCByZXF1ZXN0LnVybCgpLCBz
ZWN1cml0eU9yaWdpbik7CiAgICAgICAgICAgICByZXF1ZXN0LnNldEhUVFBPcmlnaW4ob3JpZ2lu
KTsKICAgICAgICAgfQotICAgICAgICBhZGRIVFRQVXBncmFkZUluc2VjdXJlUmVxdWVzdHNJZk5l
ZWRlZChyZXF1ZXN0KTsKIAogICAgICAgICAvLyBNYWtlIHN1cmUgdG8gYWRkIGV4dHJhIGZpZWxk
cyB0byB0aGUgcmVxdWVzdCBhZnRlciB0aGUgT3JpZ2luIGhlYWRlciBpcyBhZGRlZCBmb3IgdGhl
IEZvcm1EYXRhIGNhc2UuCiAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIxOTQgZm9yIG1vcmUgZGlzY3Vzc2lvbi4KQEAgLTQxMDIsNyArNDA4
OCw2IEBAIFJlZlB0cjxGcmFtZT4gY3JlYXRlV2luZG93KEZyYW1lJiBvcGVuZXJGcmFtZSwgRnJh
bWUmIGxvb2t1cEZyYW1lLCBGcmFtZUxvYWRSZXF1CiAgICAgU3RyaW5nIHJlZmVycmVyID0gU2Vj
dXJpdHlQb2xpY3k6OmdlbmVyYXRlUmVmZXJyZXJIZWFkZXIob3BlbmVyRnJhbWUuZG9jdW1lbnQo
KS0+cmVmZXJyZXJQb2xpY3koKSwgcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKSwgb3Bl
bmVyRnJhbWUubG9hZGVyKCkub3V0Z29pbmdSZWZlcnJlcigpKTsKICAgICBpZiAoIXJlZmVycmVy
LmlzRW1wdHkoKSkKICAgICAgICAgcmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRIVFRQUmVm
ZXJyZXIocmVmZXJyZXIpOwotICAgIEZyYW1lTG9hZGVyOjphZGRIVFRQVXBncmFkZUluc2VjdXJl
UmVxdWVzdHNJZk5lZWRlZChyZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpKTsKICAgICBGcmFtZUxv
YWRlcjo6YWRkU2FtZVNpdGVJbmZvVG9SZXF1ZXN0SWZOZWVkZWQocmVxdWVzdC5yZXNvdXJjZVJl
cXVlc3QoKSwgb3BlbmVyRnJhbWUuZG9jdW1lbnQoKSk7CiAKICAgICBQYWdlKiBvbGRQYWdlID0g
b3BlbmVyRnJhbWUucGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA5
OGQyYjVlZTU0ZDc1Y2EwMDdkM2ZlNjI5YzRmNjAwNzk2YTg3ZjNiLi4yNWI3OTU5NzIzNjJiMjI0
NWY4Y2NjNTIwNzE0ZGVjNDRkMzMyZmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aApAQCAtMjI0LDcgKzIyNCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZEV4dHJhRmllbGRzVG9T
dWJyZXNvdXJjZVJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgdm9pZCBhZGRFeHRyYUZp
ZWxkc1RvTWFpblJlc291cmNlUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmKTsKICAgICAKLSAgICBz
dGF0aWMgdm9pZCBhZGRIVFRQVXBncmFkZUluc2VjdXJlUmVxdWVzdHNJZk5lZWRlZChSZXNvdXJj
ZVJlcXVlc3QmKTsKICAgICBzdGF0aWMgdm9pZCBhZGRTYW1lU2l0ZUluZm9Ub1JlcXVlc3RJZk5l
ZWRlZChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBEb2N1bWVudCogaW5pdGlhdG9yID0gbnVsbHB0
cik7CiAKICAgICBjb25zdCBGcmFtZUxvYWRlckNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1
cm4gbV9jbGllbnQuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGIyMGUxY2M2YWYyYWI1Y2IzYTNhNjU4
YTZjZTQwMjg0NmI4YzZlMjkuLjNiZTU2MGU2ODk3NjI1ZWUzODI0MDY1YjQ3Y2VjNzRjNTVlOTcw
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlTG9hZGVyLmNwcApAQCAtODE2LDYgKzgxNiw5IEBAIFJlc291cmNlRXJyb3JPcjxDYWNoZWRS
ZXNvdXJjZUhhbmRsZTxDYWNoZWRSZXNvdXJjZT4+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1
CiAgICAgaWYgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEludGVyY2VwdFJlcXVlc3Qo
JmZyYW1lLCByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpKSkKICAgICAgICAgcmVxdWVzdC5zZXRD
YWNoaW5nUG9saWN5KENhY2hpbmdQb2xpY3k6OkRpc2FsbG93Q2FjaGluZyk7CiAKKyAgICBpZiAo
cmVxdWVzdC5vcHRpb25zKCkubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlKQor
ICAgICAgICByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLmFkZEhUVFBVcGdyYWRlSW5zZWN1cmVS
ZXF1ZXN0c0lmTmVlZGVkKCk7CisKICAgICByZXF1ZXN0LnVwZGF0ZVJlZmVycmVyUG9saWN5KGRv
Y3VtZW50KCkgPyBkb2N1bWVudCgpLT5yZWZlcnJlclBvbGljeSgpIDogUmVmZXJyZXJQb2xpY3k6
Ok5vUmVmZXJyZXJXaGVuRG93bmdyYWRlKTsKICAgICBVUkwgdXJsID0gcmVxdWVzdC5yZXNvdXJj
ZVJlcXVlc3QoKS51cmwoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXggYTkzNzMyMDM1MzEyY2M0N2Qw
OTIyMGFkODRmMmZiMmU4ZjczNDJkZS4uZDdlODIwMjJlNjA3MzdhZGRiOGM0NjgzNjIyMzBlMWVi
ZmU5ZjY2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC03NjQsNCArNzY0LDE0IEBAIGJvb2wgZG9lc1Jl
cXVlc3ROZWVkSFRUUE9yaWdpbkhlYWRlcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qp
CiAgICAgcmV0dXJuIHJlcXVlc3QuaHR0cE1ldGhvZCgpICE9ICJHRVQiICYmIHJlcXVlc3QuaHR0
cE1ldGhvZCgpICE9ICJIRUFEIjsKIH0KIAordm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjphZGRI
VFRQVXBncmFkZUluc2VjdXJlUmVxdWVzdHNJZk5lZWRlZCgpCit7CisgICAgaWYgKHVybCgpLnBy
b3RvY29sSXMoImh0dHBzIikpIHsKKyAgICAgICAgLy8gRklYTUU6IElkZW50aWZ5IEhTVFMgY2Fz
ZXMgYW5kIGF2b2lkIGFkZGluZyB0aGUgaGVhZGVyLiA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1Nzg4NT4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHNl
dEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6VXBncmFkZUluc2VjdXJlUmVxdWVzdHMs
ICIxIl9zKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRleCAzNjFiN2U5NDRmYjA3MTI0MjZkN2YyYjQw
YjRkYTFjY2RlZmQyYzdkLi45OGU0ZDkzZWE4NDY1NGY5ZWM2OTZmMmIxM2NjZWVhZTQwMDE4ZjZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVx
dWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuaApAQCAtMTk0LDYgKzE5NCw4IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYpOwogCisgICAgdm9pZCBhZGRIVFRQVXBncmFkZUluc2VjdXJlUmVxdWVz
dHNJZk5lZWRlZCgpOworCiBwcm90ZWN0ZWQ6CiAgICAgLy8gVXNlZCB3aGVuIFJlc291cmNlUmVx
dWVzdCBpcyBpbml0aWFsaXplZCBmcm9tIGEgcGxhdGZvcm0gcmVwcmVzZW50YXRpb24gb2YgdGhl
IHJlcXVlc3QKICAgICBSZXNvdXJjZVJlcXVlc3RCYXNlKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395057</attachid>
            <date>2020-03-31 10:06:33 -0700</date>
            <delta_ts>2020-03-31 10:53:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209664-20200331190631.patch</filename>
            <type>text/plain</type>
            <size>7661</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MjkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjJkYmUzZjczNDU2ZjYy
YTcxNDdiY2NmZjcwNjk2YWQzZjhlMzUyZS4uMDgyZDBlNzI1MGJkOTQyYTI5MDNhYTZhNzkyY2M2
ZGY0NzczMzY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAzLTMxICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQXBwZW5kIFVwZ3JhZGUtSW5zZWN1
cmUtUmVxdWVzdHMgaGVhZGVyIGluIENhY2hlZFJlc291cmNlTG9hZGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk2NjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcHBlbmQgVXBncmFkZS1JbnNlY3Vy
ZS1SZXF1ZXN0cyBoZWFkZXIgaW4gQ2FjaGVkUmVzb3VyY2VMb2FkZXIsIGZvbGxvd2luZworICAg
ICAgICB0aGUgZmV0Y2ggc3BlYyBbMSwgc3RlcCAzXS4KKworICAgICAgICBbMV0gaHR0cHM6Ly9m
ZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtbWFpbi1mZXRjaAorCisgICAgICAgICogbG9h
ZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1TdWJtaXNzaW9u
Ojpwb3B1bGF0ZUZyYW1lTG9hZFJlcXVlc3QpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlcjo6YWRkRXh0cmFGaWVsZHNUb01haW5SZXNvdXJjZVJlcXVlc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0
ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjphZGRIVFRQVXBncmFkZUluc2VjdXJlUmVxdWVzdHNJZk5lZWRlZCk6IERl
bGV0ZWQuCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorCiAyMDIwLTAzLTMxICB5b3Vlbm4g
ZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggU0RQIGZpbHRlcmluZyBh
ZnRlciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU4NTQ1CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCA4NmFmYjdlNzEyNmQ3NjZhMDAxYTMz
MDI5MDQ0NjI4NTNkNTdkNDczLi4zYWFhOGVlZDhjMzM3ZTc5ZDk4ODhhNDU1ZjM5ZmYzZmVlNGI1
YTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKQEAgLTI1Myw3
ICsyNTMsNiBAQCB2b2lkIEZvcm1TdWJtaXNzaW9uOjpwb3B1bGF0ZUZyYW1lTG9hZFJlcXVlc3Qo
RnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVSZXF1ZXN0KQogICAgICAgICBhdXRvIG9yaWdpbiA9IFNl
Y3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdpbkhlYWRlcihmcmFtZVJlcXVlc3QucmVxdWVzdGVy
KCkucmVmZXJyZXJQb2xpY3koKSwgZnJhbWVSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgp
LCBzZWN1cml0eU9yaWdpbik7CiAgICAgICAgIGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3Qo
KS5zZXRIVFRQT3JpZ2luKG9yaWdpbik7CiAgICAgfQotICAgIEZyYW1lTG9hZGVyOjphZGRIVFRQ
VXBncmFkZUluc2VjdXJlUmVxdWVzdHNJZk5lZWRlZChmcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1
ZXN0KCkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBl
ZTg0MzBiZTNmNTFlZTU2YTdiOTNkNDlkNmE4ZDk4ZDA5YzllMmI1Li4wY2ZiOTU0Y2E5OTk1ZThi
YjE4ZDhjZjRlOWE2ODY5YWY2OGM4MTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKQEAgLTE1MTksNyArMTUxOSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWQoRG9jdW1l
bnRMb2FkZXImIG5ld0RvY3VtZW50TG9hZGVyKQogICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoUmVzb3VyY2VMb2FkaW5nLCAibG9hZCAoRG9jdW1lbnRMb2FkZXIpOiBmcmFt
ZSBsb2FkIHN0YXJ0ZWQiKTsKIAogICAgIFJlc291cmNlUmVxdWVzdCYgciA9IG5ld0RvY3VtZW50
TG9hZGVyLnJlcXVlc3QoKTsKLSAgICBhZGRFeHRyYUZpZWxkc1RvTWFpblJlc291cmNlUmVxdWVz
dChyKTsKKyAgICBhZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyLCBtX2xvYWRUeXBlLCB0cnVlKTsK
ICAgICBGcmFtZUxvYWRUeXBlIHR5cGU7CiAKICAgICBpZiAoc2hvdWxkVHJlYXRVUkxBc1NhbWVB
c0N1cnJlbnQobmV3RG9jdW1lbnRMb2FkZXIub3JpZ2luYWxSZXF1ZXN0KCkudXJsKCkpKSB7CkBA
IC0yODgzLDkgKzI4ODMsNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvTWFp
blJlc291cmNlUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAgICAgLy8gRklYTUU6
IFVzaW5nIG1fbG9hZFR5cGUgc2VlbXMgd3JvbmcgZm9yIHNvbWUgY2FsbGVycy4KICAgICAvLyBJ
ZiB3ZSBhcmUgb25seSBwcmVwYXJpbmcgdG8gbG9hZCB0aGUgbWFpbiByZXNvdXJjZSwgdGhhdCBp
cyBwcmV2aW91cyBsb2FkJ3MgbG9hZCB0eXBlIQogICAgIGFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0
KHJlcXVlc3QsIG1fbG9hZFR5cGUsIHRydWUpOwotCi0gICAgLy8gVXBncmFkZS1JbnNlY3VyZS1S
ZXF1ZXN0cyBzaG91bGQgb25seSBiZSBhZGRlZCB0byBtYWluIHJlc291cmNlIHJlcXVlc3RzCi0g
ICAgYWRkSFRUUFVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzSWZOZWVkZWQocmVxdWVzdCk7CiB9CiAK
IFJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IEZyYW1lTG9hZGVyOjpkZWZhdWx0UmVxdWVzdENh
Y2hpbmdQb2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBGcmFtZUxvYWRUeXBl
IGxvYWRUeXBlLCBib29sIGlzTWFpblJlc291cmNlKQpAQCAtMzAwMCwxNiArMjk5Nyw2IEBAIHZv
aWQgRnJhbWVMb2FkZXI6OmFkZFNhbWVTaXRlSW5mb1RvUmVxdWVzdElmTmVlZGVkKFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgY29uCiAgICAgcmVxdWVzdC5zZXRJc1NhbWVTaXRlKGFyZVJlZ2lz
dHJhYmxlRG9tYWluc0VxdWFsKGluaXRpYXRvci0+c2l0ZUZvckNvb2tpZXMoKSwgcmVxdWVzdC51
cmwoKSkpOwogfQogCi12b2lkIEZyYW1lTG9hZGVyOjphZGRIVFRQVXBncmFkZUluc2VjdXJlUmVx
dWVzdHNJZk5lZWRlZChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCi17Ci0gICAgaWYgKHJlcXVl
c3QudXJsKCkucHJvdG9jb2xJcygiaHR0cHMiKSkgewotICAgICAgICAvLyBGSVhNRTogSWRlbnRp
ZnkgSFNUUyBjYXNlcyBhbmQgYXZvaWQgYWRkaW5nIHRoZSBoZWFkZXIuIDxodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3ODg1PgotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgcmVxdWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OlVwZ3Jh
ZGVJbnNlY3VyZVJlcXVlc3RzLCAiMSJfcyk7Ci19Ci0KIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRQ
b3N0UmVxdWVzdChGcmFtZUxvYWRSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiByZWZl
cnJlciwgRnJhbWVMb2FkVHlwZSBsb2FkVHlwZSwgRXZlbnQqIGV2ZW50LCBSZWZQdHI8Rm9ybVN0
YXRlPiYmIGZvcm1TdGF0ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewogICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzb3Vy
Y2VMb2FkaW5nLCAibG9hZFBvc3RSZXF1ZXN0OiBmcmFtZSBsb2FkIHN0YXJ0ZWQiKTsKQEAgLTM3
ODMsNyArMzc3MCw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0
ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEhpc3RvcnlJdGVtKiBmcm9tCiAgICAgICAgICAgICBhdXRv
IG9yaWdpbiA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdpbkhlYWRlcihtX2ZyYW1lLmRv
Y3VtZW50KCktPnJlZmVycmVyUG9saWN5KCksIHJlcXVlc3QudXJsKCksIHNlY3VyaXR5T3JpZ2lu
KTsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0SFRUUE9yaWdpbihvcmlnaW4pOwogICAgICAgICB9
Ci0gICAgICAgIGFkZEhUVFBVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0c0lmTmVlZGVkKHJlcXVlc3Qp
OwogCiAgICAgICAgIC8vIE1ha2Ugc3VyZSB0byBhZGQgZXh0cmEgZmllbGRzIHRvIHRoZSByZXF1
ZXN0IGFmdGVyIHRoZSBPcmlnaW4gaGVhZGVyIGlzIGFkZGVkIGZvciB0aGUgRm9ybURhdGEgY2Fz
ZS4KICAgICAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjE5NCBmb3IgbW9yZSBkaXNjdXNzaW9uLgpAQCAtNDA5OSw3ICs0MDg1LDYgQEAgUmVmUHRy
PEZyYW1lPiBjcmVhdGVXaW5kb3coRnJhbWUmIG9wZW5lckZyYW1lLCBGcmFtZSYgbG9va3VwRnJh
bWUsIEZyYW1lTG9hZFJlcXUKICAgICBTdHJpbmcgcmVmZXJyZXIgPSBTZWN1cml0eVBvbGljeTo6
Z2VuZXJhdGVSZWZlcnJlckhlYWRlcihvcGVuZXJGcmFtZS5kb2N1bWVudCgpLT5yZWZlcnJlclBv
bGljeSgpLCByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLCBvcGVuZXJGcmFtZS5sb2Fk
ZXIoKS5vdXRnb2luZ1JlZmVycmVyKCkpOwogICAgIGlmICghcmVmZXJyZXIuaXNFbXB0eSgpKQog
ICAgICAgICByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBSZWZlcnJlcihyZWZlcnJl
cik7Ci0gICAgRnJhbWVMb2FkZXI6OmFkZEhUVFBVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0c0lmTmVl
ZGVkKHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkpOwogICAgIEZyYW1lTG9hZGVyOjphZGRTYW1l
U2l0ZUluZm9Ub1JlcXVlc3RJZk5lZWRlZChyZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLCBvcGVu
ZXJGcmFtZS5kb2N1bWVudCgpKTsKIAogICAgIFBhZ2UqIG9sZFBhZ2UgPSBvcGVuZXJGcmFtZS5w
YWdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4IDk4ZDJiNWVlNTRkNzVj
YTAwN2QzZmU2MjljNGY2MDA3OTZhODdmM2IuLjI1Yjc5NTk3MjM2MmIyMjQ1ZjhjY2M1MjA3MTRk
ZWM0NGQzMzJmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC0yMjQsNyAr
MjI0LDYgQEAgcHVibGljOgogICAgIHZvaWQgYWRkRXh0cmFGaWVsZHNUb1N1YnJlc291cmNlUmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGFkZEV4dHJhRmllbGRzVG9NYWluUmVz
b3VyY2VSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYpOwogICAgIAotICAgIHN0YXRpYyB2b2lkIGFk
ZEhUVFBVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0c0lmTmVlZGVkKFJlc291cmNlUmVxdWVzdCYpOwog
ICAgIHN0YXRpYyB2b2lkIGFkZFNhbWVTaXRlSW5mb1RvUmVxdWVzdElmTmVlZGVkKFJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IERvY3VtZW50KiBpbml0aWF0b3IgPSBudWxscHRyKTsKIAogICAgIGNv
bnN0IEZyYW1lTG9hZGVyQ2xpZW50JiBjbGllbnQoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudC5n
ZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggMDkwYWU0NTY4ZjY2YzcwOWE1NTcxZGVkMWY1YzI1MTFjNzRk
N2JmNi4uYWYzOTYyNTVlMTMzYjAwYTcyMjRlODBlNmZkNGI3MDE5NTc0ZDg2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
CkBAIC04MTMsOCArODEzLDE0IEBAIFJlc291cmNlRXJyb3JPcjxDYWNoZWRSZXNvdXJjZUhhbmRs
ZTxDYWNoZWRSZXNvdXJjZT4+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1CiAgICAgaWYgKElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEludGVyY2VwdFJlcXVlc3QoJmZyYW1lLCByZXF1
ZXN0LnJlc291cmNlUmVxdWVzdCgpKSkKICAgICAgICAgcmVxdWVzdC5zZXRDYWNoaW5nUG9saWN5
KENhY2hpbmdQb2xpY3k6OkRpc2FsbG93Q2FjaGluZyk7CiAKLSAgICByZXF1ZXN0LnVwZGF0ZVJl
ZmVycmVyUG9saWN5KGRvY3VtZW50KCkgPyBkb2N1bWVudCgpLT5yZWZlcnJlclBvbGljeSgpIDog
UmVmZXJyZXJQb2xpY3k6Ok5vUmVmZXJyZXJXaGVuRG93bmdyYWRlKTsKICAgICBVUkwgdXJsID0g
cmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKTsKKyAgICBpZiAocmVxdWVzdC5vcHRpb25z
KCkuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6RG9jdW1lbnQpIHsK
KyAgICAgICAgLy8gRklYTUU6IElkZW50aWZ5IEhTVFMgY2FzZXMgYW5kIGF2b2lkIGFkZGluZyB0
aGUgaGVhZGVyLiA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Nzg4
NT4KKyAgICAgICAgaWYgKCF1cmwucHJvdG9jb2xJcygiaHR0cHMiKSkKKyAgICAgICAgICAgIHJl
cXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkuc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1l
OjpVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0cywgIjEiX3MpOworICAgIH0KKworICAgIHJlcXVlc3Qu
dXBkYXRlUmVmZXJyZXJQb2xpY3koZG9jdW1lbnQoKSA/IGRvY3VtZW50KCktPnJlZmVycmVyUG9s
aWN5KCkgOiBSZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGUpOwogCiAgICAg
TE9HKFJlc291cmNlTG9hZGluZywgIkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3Vy
Y2UgJyUuMjU1cycsIGNoYXJzZXQgJyVzJywgcHJpb3JpdHk9JWQsIGZvclByZWxvYWQ9JXUiLCB1
cmwuc3RyaW5nQ2VudGVyRWxsaXBzaXplZFRvTGVuZ3RoKCkubGF0aW4xKCkuZGF0YSgpLCByZXF1
ZXN0LmNoYXJzZXQoKS5sYXRpbjEoKS5kYXRhKCksIHJlcXVlc3QucHJpb3JpdHkoKSA/IHN0YXRp
Y19jYXN0PGludD4ocmVxdWVzdC5wcmlvcml0eSgpLnZhbHVlKCkpIDogLTEsIGZvclByZWxvYWQg
PT0gRm9yUHJlbG9hZDo6WWVzKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395067</attachid>
            <date>2020-03-31 10:53:14 -0700</date>
            <delta_ts>2020-03-31 13:21:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209664-20200331195312.patch</filename>
            <type>text/plain</type>
            <size>7243</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDkwYTAzZTI1ZDg5MDM0
YjU2MDg1NGVkYjdiMDUxNTEzOWI5ZTBhMy4uOTc1OWE3Y2I0Mjg4ZjIyNDIyMzNlMjRiMjJiNjcz
OTMzZGY0ZjY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAzLTMxICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQXBwZW5kIFVwZ3JhZGUtSW5zZWN1
cmUtUmVxdWVzdHMgaGVhZGVyIGluIENhY2hlZFJlc291cmNlTG9hZGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk2NjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgIEFwcGVuZCBVcGdyYWRlLUluc2VjdXJl
LVJlcXVlc3RzIGhlYWRlciBpbiBDYWNoZWRSZXNvdXJjZUxvYWRlciwgZm9sbG93aW5nCisgICAg
ICAgIHRoZSBmZXRjaCBzcGVjIFsxLCBzdGVwIDNdLgorCisgICAgICAgIFsxXSBodHRwczovL2Zl
dGNoLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC1tYWluLWZldGNoCisKKyAgICAgICAgKiBsb2Fk
ZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybVN1Ym1pc3Npb246
OnBvcHVsYXRlRnJhbWVMb2FkUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvTWFp
blJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZERp
ZmZlcmVudERvY3VtZW50SXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXaW5kb3cpOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmFkZEhUVFBVcGdyYWRlSW5zZWN1cmVSZXF1
ZXN0c0lmTmVlZGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisKIDIw
MjAtMDMtMzEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBU1NF
UlRJT04gRkFJTEVEOiBtX3dyYXBwZXIgb24gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5LXN0
YXRlcy9hdXRvcGxheS5odG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9y
bVN1Ym1pc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNw
cAppbmRleCA4NmFmYjdlNzEyNmQ3NjZhMDAxYTMzMDI5MDQ0NjI4NTNkNTdkNDczLi4zYWFhOGVl
ZDhjMzM3ZTc5ZDk4ODhhNDU1ZjM5ZmYzZmVlNGI1YTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Gb3JtU3VibWlzc2lvbi5jcHAKQEAgLTI1Myw3ICsyNTMsNiBAQCB2b2lkIEZvcm1TdWJtaXNz
aW9uOjpwb3B1bGF0ZUZyYW1lTG9hZFJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVSZXF1
ZXN0KQogICAgICAgICBhdXRvIG9yaWdpbiA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdp
bkhlYWRlcihmcmFtZVJlcXVlc3QucmVxdWVzdGVyKCkucmVmZXJyZXJQb2xpY3koKSwgZnJhbWVS
ZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLCBzZWN1cml0eU9yaWdpbik7CiAgICAgICAg
IGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRIVFRQT3JpZ2luKG9yaWdpbik7CiAg
ICAgfQotICAgIEZyYW1lTG9hZGVyOjphZGRIVFRQVXBncmFkZUluc2VjdXJlUmVxdWVzdHNJZk5l
ZWRlZChmcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkpOwogfQogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBlZTg0MzBiZTNmNTFlZTU2YTdiOTNkNDlkNmE4
ZDk4ZDA5YzllMmI1Li44MzY1NDRhNjQ5ZmZlYTg3NmIxNzY4NGQwNzI5ZDJkMWVlN2E2MWEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTI4ODMsOSArMjg4Myw2IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9NYWluUmVzb3VyY2VSZXF1ZXN0KFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKICAgICAvLyBGSVhNRTogVXNpbmcgbV9sb2FkVHlwZSBz
ZWVtcyB3cm9uZyBmb3Igc29tZSBjYWxsZXJzLgogICAgIC8vIElmIHdlIGFyZSBvbmx5IHByZXBh
cmluZyB0byBsb2FkIHRoZSBtYWluIHJlc291cmNlLCB0aGF0IGlzIHByZXZpb3VzIGxvYWQncyBs
b2FkIHR5cGUhCiAgICAgYWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QocmVxdWVzdCwgbV9sb2FkVHlw
ZSwgdHJ1ZSk7Ci0KLSAgICAvLyBVcGdyYWRlLUluc2VjdXJlLVJlcXVlc3RzIHNob3VsZCBvbmx5
IGJlIGFkZGVkIHRvIG1haW4gcmVzb3VyY2UgcmVxdWVzdHMKLSAgICBhZGRIVFRQVXBncmFkZUlu
c2VjdXJlUmVxdWVzdHNJZk5lZWRlZChyZXF1ZXN0KTsKIH0KIAogUmVzb3VyY2VSZXF1ZXN0Q2Fj
aGVQb2xpY3kgRnJhbWVMb2FkZXI6OmRlZmF1bHRSZXF1ZXN0Q2FjaGluZ1BvbGljeShjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUsIGJvb2wgaXNN
YWluUmVzb3VyY2UpCkBAIC0zMDAwLDE2ICsyOTk3LDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6YWRk
U2FtZVNpdGVJbmZvVG9SZXF1ZXN0SWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b24KICAgICByZXF1ZXN0LnNldElzU2FtZVNpdGUoYXJlUmVnaXN0cmFibGVEb21haW5zRXF1YWwo
aW5pdGlhdG9yLT5zaXRlRm9yQ29va2llcygpLCByZXF1ZXN0LnVybCgpKSk7CiB9CiAKLXZvaWQg
RnJhbWVMb2FkZXI6OmFkZEhUVFBVcGdyYWRlSW5zZWN1cmVSZXF1ZXN0c0lmTmVlZGVkKFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCkKLXsKLSAgICBpZiAocmVxdWVzdC51cmwoKS5wcm90b2NvbElz
KCJodHRwcyIpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBJZGVudGlmeSBIU1RTIGNhc2VzIGFuZCBh
dm9pZCBhZGRpbmcgdGhlIGhlYWRlci4gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTc4ODU+Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICByZXF1ZXN0LnNl
dEhUVFBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6VXBncmFkZUluc2VjdXJlUmVxdWVzdHMs
ICIxIl9zKTsKLX0KLQogdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0KEZyYW1lTG9h
ZFJlcXVlc3QmJiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBGcmFtZUxvYWRUeXBl
IGxvYWRUeXBlLCBFdmVudCogZXZlbnQsIFJlZlB0cjxGb3JtU3RhdGU+JiYgZm9ybVN0YXRlLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgRlJB
TUVMT0FERVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJsb2FkUG9z
dFJlcXVlc3Q6IGZyYW1lIGxvYWQgc3RhcnRlZCIpOwpAQCAtMzc4Myw3ICszNzcwLDYgQEAgdm9p
ZCBGcmFtZUxvYWRlcjo6bG9hZERpZmZlcmVudERvY3VtZW50SXRlbShIaXN0b3J5SXRlbSYgaXRl
bSwgSGlzdG9yeUl0ZW0qIGZyb20KICAgICAgICAgICAgIGF1dG8gb3JpZ2luID0gU2VjdXJpdHlQ
b2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKG1fZnJhbWUuZG9jdW1lbnQoKS0+cmVmZXJyZXJQ
b2xpY3koKSwgcmVxdWVzdC51cmwoKSwgc2VjdXJpdHlPcmlnaW4pOwogICAgICAgICAgICAgcmVx
dWVzdC5zZXRIVFRQT3JpZ2luKG9yaWdpbik7CiAgICAgICAgIH0KLSAgICAgICAgYWRkSFRUUFVw
Z3JhZGVJbnNlY3VyZVJlcXVlc3RzSWZOZWVkZWQocmVxdWVzdCk7CiAKICAgICAgICAgLy8gTWFr
ZSBzdXJlIHRvIGFkZCBleHRyYSBmaWVsZHMgdG8gdGhlIHJlcXVlc3QgYWZ0ZXIgdGhlIE9yaWdp
biBoZWFkZXIgaXMgYWRkZWQgZm9yIHRoZSBGb3JtRGF0YSBjYXNlLgogICAgICAgICAvLyBTZWUg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTk0IGZvciBtb3JlIGRp
c2N1c3Npb24uCkBAIC00MDk5LDcgKzQwODUsNiBAQCBSZWZQdHI8RnJhbWU+IGNyZWF0ZVdpbmRv
dyhGcmFtZSYgb3BlbmVyRnJhbWUsIEZyYW1lJiBsb29rdXBGcmFtZSwgRnJhbWVMb2FkUmVxdQog
ICAgIFN0cmluZyByZWZlcnJlciA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZVJlZmVycmVySGVh
ZGVyKG9wZW5lckZyYW1lLmRvY3VtZW50KCktPnJlZmVycmVyUG9saWN5KCksIHJlcXVlc3QucmVz
b3VyY2VSZXF1ZXN0KCkudXJsKCksIG9wZW5lckZyYW1lLmxvYWRlcigpLm91dGdvaW5nUmVmZXJy
ZXIoKSk7CiAgICAgaWYgKCFyZWZlcnJlci5pc0VtcHR5KCkpCiAgICAgICAgIHJlcXVlc3QucmVz
b3VyY2VSZXF1ZXN0KCkuc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKLSAgICBGcmFtZUxvYWRl
cjo6YWRkSFRUUFVwZ3JhZGVJbnNlY3VyZVJlcXVlc3RzSWZOZWVkZWQocmVxdWVzdC5yZXNvdXJj
ZVJlcXVlc3QoKSk7CiAgICAgRnJhbWVMb2FkZXI6OmFkZFNhbWVTaXRlSW5mb1RvUmVxdWVzdElm
TmVlZGVkKHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCksIG9wZW5lckZyYW1lLmRvY3VtZW50KCkp
OwogCiAgICAgUGFnZSogb2xkUGFnZSA9IG9wZW5lckZyYW1lLnBhZ2UoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggOThkMmI1ZWU1NGQ3NWNhMDA3ZDNmZTYyOWM0ZjYwMDc5
NmE4N2YzYi4uMjViNzk1OTcyMzYyYjIyNDVmOGNjYzUyMDcxNGRlYzQ0ZDMzMmZkYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTIyNCw3ICsyMjQsNiBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBhZGRFeHRyYUZpZWxkc1RvU3VicmVzb3VyY2VSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dCYpOwogICAgIHZvaWQgYWRkRXh0cmFGaWVsZHNUb01haW5SZXNvdXJjZVJlcXVlc3QoUmVzb3Vy
Y2VSZXF1ZXN0Jik7CiAgICAgCi0gICAgc3RhdGljIHZvaWQgYWRkSFRUUFVwZ3JhZGVJbnNlY3Vy
ZVJlcXVlc3RzSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgc3RhdGljIHZvaWQgYWRk
U2FtZVNpdGVJbmZvVG9SZXF1ZXN0SWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgRG9j
dW1lbnQqIGluaXRpYXRvciA9IG51bGxwdHIpOwogCiAgICAgY29uc3QgRnJhbWVMb2FkZXJDbGll
bnQmIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50LmdldCgpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRl
eCAwOTBhZTQ1NjhmNjZjNzA5YTU1NzFkZWQxZjVjMjUxMWM3NGQ3YmY2Li5hZjM5NjI1NWUxMzNi
MDBhNzIyNGU4MGU2ZmQ0YjcwMTk1NzRkODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTgxMyw4ICs4MTMsMTQg
QEAgUmVzb3VyY2VFcnJvck9yPENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPj4g
Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXUKICAgICBpZiAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsSW50ZXJjZXB0UmVxdWVzdCgmZnJhbWUsIHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0
KCkpKQogICAgICAgICByZXF1ZXN0LnNldENhY2hpbmdQb2xpY3koQ2FjaGluZ1BvbGljeTo6RGlz
YWxsb3dDYWNoaW5nKTsKIAotICAgIHJlcXVlc3QudXBkYXRlUmVmZXJyZXJQb2xpY3koZG9jdW1l
bnQoKSA/IGRvY3VtZW50KCktPnJlZmVycmVyUG9saWN5KCkgOiBSZWZlcnJlclBvbGljeTo6Tm9S
ZWZlcnJlcldoZW5Eb3duZ3JhZGUpOwogICAgIFVSTCB1cmwgPSByZXF1ZXN0LnJlc291cmNlUmVx
dWVzdCgpLnVybCgpOworICAgIGlmIChyZXF1ZXN0Lm9wdGlvbnMoKS5kZXN0aW5hdGlvbiA9PSBG
ZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpEb2N1bWVudCkgeworICAgICAgICAvLyBGSVhNRTog
SWRlbnRpZnkgSFNUUyBjYXNlcyBhbmQgYXZvaWQgYWRkaW5nIHRoZSBoZWFkZXIuIDxodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3ODg1PgorICAgICAgICBpZiAoIXVy
bC5wcm90b2NvbElzKCJodHRwcyIpKQorICAgICAgICAgICAgcmVxdWVzdC5yZXNvdXJjZVJlcXVl
c3QoKS5zZXRIVFRQSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OlVwZ3JhZGVJbnNlY3VyZVJl
cXVlc3RzLCAiMSJfcyk7CisgICAgfQorCisgICAgcmVxdWVzdC51cGRhdGVSZWZlcnJlclBvbGlj
eShkb2N1bWVudCgpID8gZG9jdW1lbnQoKS0+cmVmZXJyZXJQb2xpY3koKSA6IFJlZmVycmVyUG9s
aWN5OjpOb1JlZmVycmVyV2hlbkRvd25ncmFkZSk7CiAKICAgICBMT0coUmVzb3VyY2VMb2FkaW5n
LCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSAnJS4yNTVzJywgY2hhcnNl
dCAnJXMnLCBwcmlvcml0eT0lZCwgZm9yUHJlbG9hZD0ldSIsIHVybC5zdHJpbmdDZW50ZXJFbGxp
cHNpemVkVG9MZW5ndGgoKS5sYXRpbjEoKS5kYXRhKCksIHJlcXVlc3QuY2hhcnNldCgpLmxhdGlu
MSgpLmRhdGEoKSwgcmVxdWVzdC5wcmlvcml0eSgpID8gc3RhdGljX2Nhc3Q8aW50PihyZXF1ZXN0
LnByaW9yaXR5KCkudmFsdWUoKSkgOiAtMSwgZm9yUHJlbG9hZCA9PSBGb3JQcmVsb2FkOjpZZXMp
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>