<?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>211122</bug_id>
          
          <creation_ts>2020-04-28 06:20:09 -0700</creation_ts>
          <short_desc>Regression(r259036) Unable to post comments on Jira</short_desc>
          <delta_ts>2020-05-18 08:22:40 -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>Forms</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=209066</see_also>
          <bug_file_loc>https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-issues-to-external-websites-972343137.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>209066</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jack Wellborn">w0nka</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>mjs</cc>
    
    <cc>rbuis</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1646465</commentid>
    <comment_count>0</comment_count>
    <who name="Jack Wellborn">w0nka</who>
    <bug_when>2020-04-28 06:20:09 -0700</bug_when>
    <thetext>Hello,

Safari Technology Preview 105 appears to break commenting on Jira. Safari 13.1 does not have the issue. Attempting to comment yields a the following errors:

[Error] Failed to load resource: the server responded with a status of 403 () (comment, line 0)
[Error] SyntaxError: JSON Parse error: Unexpected identifier &quot;XSRF&quot;
	parse (batch.js:1482:2365)
	error (batch.js:1482:2365)
	c (batch.js:44:22901)
	fireWith (batch.js:44:23654)
	u (batch.js:44:71478)
	(anonymous function) (batch.js:44:75003)
[Error] Failed to load resource: the server responded with a status of 403 () (bulk, line 0)

Browser: Release 105 (Safari 13.2, WebKit 14610.1.10)
OS: Mac OS Mojave 10.15.6
Jira Version: 8.5.0

Thanks

~Jack</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646785</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-28 17:58:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/62561879&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646910</commentid>
    <comment_count>2</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-04-29 01:30:28 -0700</bug_when>
    <thetext>Is there a public JIRA instance where this can be observed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646966</commentid>
    <comment_count>3</comment_count>
    <who name="Jack Wellborn">w0nka</who>
    <bug_when>2020-04-29 06:17:55 -0700</bug_when>
    <thetext>Unfortunately, no. This is my work Jira. I can try to debug on my side to see what is specifically causing the error beyond what the console is logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647290</commentid>
    <comment_count>4</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-04-29 22:50:39 -0700</bug_when>
    <thetext>If anyone knows of a public JIRA where the bug also reproduces, it would be tremendously helpful. Meantime, we&apos;ll try to reproduce internally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647367</commentid>
    <comment_count>5</comment_count>
    <who name="Jack Wellborn">w0nka</who>
    <bug_when>2020-04-30 07:57:19 -0700</bug_when>
    <thetext>So I tried to do a bit of troubleshooting and it looks like STP 105 is stripping the origin from the POST request used to comment (whereas 13.1 keeps the domain). I am not sure, but it wouldn&apos;t surprise me if Jira is checking the origin as part of their validation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647368</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 08:02:53 -0700</bug_when>
    <thetext>CC&apos;ing Rob Buis who has been refactoring the FrameLoader recently and Youenn Fablet who is an area expert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647418</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 11:00:35 -0700</bug_when>
    <thetext>I am a little suspicious of https://bugs.webkit.org/show_bug.cgi?id=209066 which seems to be recent and in this area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647420</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 11:08:08 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=209066 went into STP 104 though, not 105. Are we certain this regressed in STP 105?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647452</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-04-30 11:41:49 -0700</bug_when>
    <thetext>We are following this part of the Fetch specification:
https://fetch.spec.whatwg.org/#origin-header

Is the Origin header for the POST just not there, empty or &apos;null&apos;?

Is the behavior different on Firefox/Chrome?

Finally, are the url of the page the POST comes from and the destination url same origin? Here protocols (for no-referrer-when-downgrade) are also important, are they both https? And is the page doing the POST setting any referrer policy? TIA!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647460</commentid>
    <comment_count>10</comment_count>
    <who name="Jack Wellborn">w0nka</who>
    <bug_when>2020-04-30 11:51:50 -0700</bug_when>
    <thetext>Hi Rob,

STP requests with an origin of null. I haven&apos;t checked Chrome or Firefox, but I can tell you that Safari 13.1 populates origin with &quot;https://jira.mycompany.com&quot; (with &quot;mycompany&quot; being the name of my employer.) Furthermore, I can tell you that overriding the origin using Charles proxy resolves the issue. Given that, do you still want me to test other browsers?

~Jack</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647485</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 12:16:33 -0700</bug_when>
    <thetext>I created a test JIRA instance at https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post comments on a JIRA bug with the latest WebKit, without any issue.

What kind of comment are you trying to post? Is it on a bug? Of course, there is always the possibility that the bug only reproduces on hosted instances.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647487</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 12:19:24 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #11)
&gt; I created a test JIRA instance at
&gt; https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post
&gt; comments on a JIRA bug with the latest WebKit, without any issue.
&gt; 
&gt; What kind of comment are you trying to post? Is it on a bug? Of course,
&gt; there is always the possibility that the bug only reproduces on hosted
&gt; instances.

Looking at Web Inspector, I do see a POST request when I submit a comment on a JIRA bug:

Request
:method: POST
:scheme: https
:authority: apple-testing.atlassian.net
:path: /rest/api/3/issue/WEB-1/comment
Accept: application/json,text/javascript,*/*
Content-Type: application/json
Origin: https://apple-testing.atlassian.net
Cookie: [MASKED]
Content-Length: 130
Accept-Language: en-us
Host: apple-testing.atlassian.net
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
Referer: https://apple-testing.atlassian.net/browse/WEB-1
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

Note that the Origin header looks correct. I am on WebKit r260952.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647489</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 12:22:53 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #12)
&gt; (In reply to Chris Dumez from comment #11)
&gt; &gt; I created a test JIRA instance at
&gt; &gt; https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post
&gt; &gt; comments on a JIRA bug with the latest WebKit, without any issue.
&gt; &gt; 
&gt; &gt; What kind of comment are you trying to post? Is it on a bug? Of course,
&gt; &gt; there is always the possibility that the bug only reproduces on hosted
&gt; &gt; instances.
&gt; 
&gt; Looking at Web Inspector, I do see a POST request when I submit a comment on
&gt; a JIRA bug:
&gt; 
&gt; Request
&gt; :method: POST
&gt; :scheme: https
&gt; :authority: apple-testing.atlassian.net
&gt; :path: /rest/api/3/issue/WEB-1/comment
&gt; Accept: application/json,text/javascript,*/*
&gt; Content-Type: application/json
&gt; Origin: https://apple-testing.atlassian.net
&gt; Cookie: [MASKED]
&gt; Content-Length: 130
&gt; Accept-Language: en-us
&gt; Host: apple-testing.atlassian.net
&gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; Referer: https://apple-testing.atlassian.net/browse/WEB-1
&gt; Accept-Encoding: gzip, deflate, br
&gt; Connection: keep-alive
&gt; 
&gt; Note that the Origin header looks correct. I am on WebKit r260952.


What does the URL of the wrong POST request look like for you? Is it for the &quot;/comment&quot; one or something else?

I see this other POST request:

Request
:method: POST
:scheme: https
:authority: api.atlassian.com
:path: /metal/ingest
Accept: */*
Content-Type: text/plain;charset=UTF-8
Origin: null
Cookie: [MASKED]
Cache-Control: max-age=0
Accept-Language: en-us
Host: api.atlassian.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
Content-Length: 399
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

Where the Origin is null (As explained by Rob earlier, this may be correct behavior, many things are taken into considering to determine what the Origin header should be).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647503</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 12:42:30 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #13)
&gt; (In reply to Chris Dumez from comment #12)
&gt; &gt; (In reply to Chris Dumez from comment #11)
&gt; &gt; &gt; I created a test JIRA instance at
&gt; &gt; &gt; https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post
&gt; &gt; &gt; comments on a JIRA bug with the latest WebKit, without any issue.
&gt; &gt; &gt; 
&gt; &gt; &gt; What kind of comment are you trying to post? Is it on a bug? Of course,
&gt; &gt; &gt; there is always the possibility that the bug only reproduces on hosted
&gt; &gt; &gt; instances.
&gt; &gt; 
&gt; &gt; Looking at Web Inspector, I do see a POST request when I submit a comment on
&gt; &gt; a JIRA bug:
&gt; &gt; 
&gt; &gt; Request
&gt; &gt; :method: POST
&gt; &gt; :scheme: https
&gt; &gt; :authority: apple-testing.atlassian.net
&gt; &gt; :path: /rest/api/3/issue/WEB-1/comment
&gt; &gt; Accept: application/json,text/javascript,*/*
&gt; &gt; Content-Type: application/json
&gt; &gt; Origin: https://apple-testing.atlassian.net
&gt; &gt; Cookie: [MASKED]
&gt; &gt; Content-Length: 130
&gt; &gt; Accept-Language: en-us
&gt; &gt; Host: apple-testing.atlassian.net
&gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; Referer: https://apple-testing.atlassian.net/browse/WEB-1
&gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; Connection: keep-alive
&gt; &gt; 
&gt; &gt; Note that the Origin header looks correct. I am on WebKit r260952.
&gt; 
&gt; 
&gt; What does the URL of the wrong POST request look like for you? Is it for the
&gt; &quot;/comment&quot; one or something else?
&gt; 
&gt; I see this other POST request:
&gt; 
&gt; Request
&gt; :method: POST
&gt; :scheme: https
&gt; :authority: api.atlassian.com
&gt; :path: /metal/ingest
&gt; Accept: */*
&gt; Content-Type: text/plain;charset=UTF-8
&gt; Origin: null
&gt; Cookie: [MASKED]
&gt; Cache-Control: max-age=0
&gt; Accept-Language: en-us
&gt; Host: api.atlassian.com
&gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; Content-Length: 399
&gt; Accept-Encoding: gzip, deflate, br
&gt; Connection: keep-alive
&gt; 
&gt; Where the Origin is null (As explained by Rob earlier, this may be correct
&gt; behavior, many things are taken into considering to determine what the
&gt; Origin header should be).

Jack, if you look at the Network Response to the main document, do you see a Referrer-Policy header being served? If so, what is the value for the header?
My JIRA instance does not serve such a header, which could be why I cannot reproduce, especially if I am right that this was caused by Bug 209066.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647508</commentid>
    <comment_count>15</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-04-30 12:52:59 -0700</bug_when>
    <thetext>(In reply to Jack Wellborn from comment #10)
&gt; Hi Rob,
&gt; 
&gt; STP requests with an origin of null. I haven&apos;t checked Chrome or Firefox,
&gt; but I can tell you that Safari 13.1 populates origin with
&gt; &quot;https://jira.mycompany.com&quot; (with &quot;mycompany&quot; being the name of my
&gt; employer.) Furthermore, I can tell you that overriding the origin using
&gt; Charles proxy resolves the issue. Given that, do you still want me to test
&gt; other browsers?
&gt; 
&gt; ~Jack

Hi Jack,

Yes, I think those are good things to know. Unfortunately I do not know what you mean by &quot;overriding the origin using Charles proxy&quot;, but glad there is a workaround.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647522</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 13:15:23 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #14)
&gt; (In reply to Chris Dumez from comment #13)
&gt; &gt; (In reply to Chris Dumez from comment #12)
&gt; &gt; &gt; (In reply to Chris Dumez from comment #11)
&gt; &gt; &gt; &gt; I created a test JIRA instance at
&gt; &gt; &gt; &gt; https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post
&gt; &gt; &gt; &gt; comments on a JIRA bug with the latest WebKit, without any issue.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; What kind of comment are you trying to post? Is it on a bug? Of course,
&gt; &gt; &gt; &gt; there is always the possibility that the bug only reproduces on hosted
&gt; &gt; &gt; &gt; instances.
&gt; &gt; &gt; 
&gt; &gt; &gt; Looking at Web Inspector, I do see a POST request when I submit a comment on
&gt; &gt; &gt; a JIRA bug:
&gt; &gt; &gt; 
&gt; &gt; &gt; Request
&gt; &gt; &gt; :method: POST
&gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; :authority: apple-testing.atlassian.net
&gt; &gt; &gt; :path: /rest/api/3/issue/WEB-1/comment
&gt; &gt; &gt; Accept: application/json,text/javascript,*/*
&gt; &gt; &gt; Content-Type: application/json
&gt; &gt; &gt; Origin: https://apple-testing.atlassian.net
&gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; Content-Length: 130
&gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; Host: apple-testing.atlassian.net
&gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; Referer: https://apple-testing.atlassian.net/browse/WEB-1
&gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; 
&gt; &gt; &gt; Note that the Origin header looks correct. I am on WebKit r260952.
&gt; &gt; 
&gt; &gt; 
&gt; &gt; What does the URL of the wrong POST request look like for you? Is it for the
&gt; &gt; &quot;/comment&quot; one or something else?
&gt; &gt; 
&gt; &gt; I see this other POST request:
&gt; &gt; 
&gt; &gt; Request
&gt; &gt; :method: POST
&gt; &gt; :scheme: https
&gt; &gt; :authority: api.atlassian.com
&gt; &gt; :path: /metal/ingest
&gt; &gt; Accept: */*
&gt; &gt; Content-Type: text/plain;charset=UTF-8
&gt; &gt; Origin: null
&gt; &gt; Cookie: [MASKED]
&gt; &gt; Cache-Control: max-age=0
&gt; &gt; Accept-Language: en-us
&gt; &gt; Host: api.atlassian.com
&gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; Content-Length: 399
&gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; Connection: keep-alive
&gt; &gt; 
&gt; &gt; Where the Origin is null (As explained by Rob earlier, this may be correct
&gt; &gt; behavior, many things are taken into considering to determine what the
&gt; &gt; Origin header should be).
&gt; 
&gt; Jack, if you look at the Network Response to the main document, do you see a
&gt; Referrer-Policy header being served? If so, what is the value for the header?
&gt; My JIRA instance does not serve such a header, which could be why I cannot
&gt; reproduce, especially if I am right that this was caused by Bug 209066.

It does not have to be a Referrer-Policy header. It could be a &lt;meta name=&quot;referrer&quot; content=&quot;XXX&quot;&gt; element in the HTML like documented here:
https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-issues-to-external-websites-972343137.html

It am trying to set this up on my JIRA instance but have not found how yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647542</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 14:19:02 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #16)
&gt; (In reply to Chris Dumez from comment #14)
&gt; &gt; (In reply to Chris Dumez from comment #13)
&gt; &gt; &gt; (In reply to Chris Dumez from comment #12)
&gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #11)
&gt; &gt; &gt; &gt; &gt; I created a test JIRA instance at
&gt; &gt; &gt; &gt; &gt; https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post
&gt; &gt; &gt; &gt; &gt; comments on a JIRA bug with the latest WebKit, without any issue.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; What kind of comment are you trying to post? Is it on a bug? Of course,
&gt; &gt; &gt; &gt; &gt; there is always the possibility that the bug only reproduces on hosted
&gt; &gt; &gt; &gt; &gt; instances.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Looking at Web Inspector, I do see a POST request when I submit a comment on
&gt; &gt; &gt; &gt; a JIRA bug:
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Request
&gt; &gt; &gt; &gt; :method: POST
&gt; &gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; &gt; :authority: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; :path: /rest/api/3/issue/WEB-1/comment
&gt; &gt; &gt; &gt; Accept: application/json,text/javascript,*/*
&gt; &gt; &gt; &gt; Content-Type: application/json
&gt; &gt; &gt; &gt; Origin: https://apple-testing.atlassian.net
&gt; &gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; &gt; Content-Length: 130
&gt; &gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; &gt; Host: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; &gt; Referer: https://apple-testing.atlassian.net/browse/WEB-1
&gt; &gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Note that the Origin header looks correct. I am on WebKit r260952.
&gt; &gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; What does the URL of the wrong POST request look like for you? Is it for the
&gt; &gt; &gt; &quot;/comment&quot; one or something else?
&gt; &gt; &gt; 
&gt; &gt; &gt; I see this other POST request:
&gt; &gt; &gt; 
&gt; &gt; &gt; Request
&gt; &gt; &gt; :method: POST
&gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; :authority: api.atlassian.com
&gt; &gt; &gt; :path: /metal/ingest
&gt; &gt; &gt; Accept: */*
&gt; &gt; &gt; Content-Type: text/plain;charset=UTF-8
&gt; &gt; &gt; Origin: null
&gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; Cache-Control: max-age=0
&gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; Host: api.atlassian.com
&gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; Content-Length: 399
&gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; 
&gt; &gt; &gt; Where the Origin is null (As explained by Rob earlier, this may be correct
&gt; &gt; &gt; behavior, many things are taken into considering to determine what the
&gt; &gt; &gt; Origin header should be).
&gt; &gt; 
&gt; &gt; Jack, if you look at the Network Response to the main document, do you see a
&gt; &gt; Referrer-Policy header being served? If so, what is the value for the header?
&gt; &gt; My JIRA instance does not serve such a header, which could be why I cannot
&gt; &gt; reproduce, especially if I am right that this was caused by Bug 209066.
&gt; 
&gt; It does not have to be a Referrer-Policy header. It could be a &lt;meta
&gt; name=&quot;referrer&quot; content=&quot;XXX&quot;&gt; element in the HTML like documented here:
&gt; https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-
&gt; issues-to-external-websites-972343137.html
&gt; 
&gt; It am trying to set this up on my JIRA instance but have not found how yet.

If I add &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; to my JIRA bug tracker&apos;s HTML, I indeed see that I can no longer post comments and that the server responds with a 403. Sadly, using &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; is something that is documented by Atlassian at [1]. This used to work but it seems that it no longer does after &lt;https://trac.webkit.org/changeset/259036&gt; because the &apos;no-referrer&apos; policy now not longer causes the Referrer header to be omitted but also the Origin header becomes &quot;null&quot; too. Technically, it looks like r259036 aligns us with the Fetch spec and it does seem like Chrome is planning to implement this too (although it does not appear they have shipped this behavior yet.

I will note that:
a. JIRA does not use &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; by default and it is something the admin added
b. [1] clearly states that &quot;that all the workaround stated in this page are beyond Atlassian Support Offerings.&quot;
c. If you use &lt;meta name=&quot;referrer&quot; content=&quot;same-origin&quot;&gt; then commenting seems to work the the referrer would still get omitted when going to an external site. I do not understand why [1] suggest &apos;no-referrer&apos;, which seems overly aggressive.

[1] https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-issues-to-external-websites-972343137.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647544</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 14:19:58 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #17)
&gt; (In reply to Chris Dumez from comment #16)
&gt; &gt; (In reply to Chris Dumez from comment #14)
&gt; &gt; &gt; (In reply to Chris Dumez from comment #13)
&gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #12)
&gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #11)
&gt; &gt; &gt; &gt; &gt; &gt; I created a test JIRA instance at
&gt; &gt; &gt; &gt; &gt; &gt; https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post
&gt; &gt; &gt; &gt; &gt; &gt; comments on a JIRA bug with the latest WebKit, without any issue.
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; What kind of comment are you trying to post? Is it on a bug? Of course,
&gt; &gt; &gt; &gt; &gt; &gt; there is always the possibility that the bug only reproduces on hosted
&gt; &gt; &gt; &gt; &gt; &gt; instances.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Looking at Web Inspector, I do see a POST request when I submit a comment on
&gt; &gt; &gt; &gt; &gt; a JIRA bug:
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Request
&gt; &gt; &gt; &gt; &gt; :method: POST
&gt; &gt; &gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; &gt; &gt; :authority: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; :path: /rest/api/3/issue/WEB-1/comment
&gt; &gt; &gt; &gt; &gt; Accept: application/json,text/javascript,*/*
&gt; &gt; &gt; &gt; &gt; Content-Type: application/json
&gt; &gt; &gt; &gt; &gt; Origin: https://apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; &gt; &gt; Content-Length: 130
&gt; &gt; &gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; &gt; &gt; Host: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; &gt; &gt; Referer: https://apple-testing.atlassian.net/browse/WEB-1
&gt; &gt; &gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Note that the Origin header looks correct. I am on WebKit r260952.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; What does the URL of the wrong POST request look like for you? Is it for the
&gt; &gt; &gt; &gt; &quot;/comment&quot; one or something else?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I see this other POST request:
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Request
&gt; &gt; &gt; &gt; :method: POST
&gt; &gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; &gt; :authority: api.atlassian.com
&gt; &gt; &gt; &gt; :path: /metal/ingest
&gt; &gt; &gt; &gt; Accept: */*
&gt; &gt; &gt; &gt; Content-Type: text/plain;charset=UTF-8
&gt; &gt; &gt; &gt; Origin: null
&gt; &gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; &gt; Cache-Control: max-age=0
&gt; &gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; &gt; Host: api.atlassian.com
&gt; &gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; &gt; Content-Length: 399
&gt; &gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Where the Origin is null (As explained by Rob earlier, this may be correct
&gt; &gt; &gt; &gt; behavior, many things are taken into considering to determine what the
&gt; &gt; &gt; &gt; Origin header should be).
&gt; &gt; &gt; 
&gt; &gt; &gt; Jack, if you look at the Network Response to the main document, do you see a
&gt; &gt; &gt; Referrer-Policy header being served? If so, what is the value for the header?
&gt; &gt; &gt; My JIRA instance does not serve such a header, which could be why I cannot
&gt; &gt; &gt; reproduce, especially if I am right that this was caused by Bug 209066.
&gt; &gt; 
&gt; &gt; It does not have to be a Referrer-Policy header. It could be a &lt;meta
&gt; &gt; name=&quot;referrer&quot; content=&quot;XXX&quot;&gt; element in the HTML like documented here:
&gt; &gt; https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-
&gt; &gt; issues-to-external-websites-972343137.html
&gt; &gt; 
&gt; &gt; It am trying to set this up on my JIRA instance but have not found how yet.
&gt; 
&gt; If I add &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; to my JIRA bug
&gt; tracker&apos;s HTML, I indeed see that I can no longer post comments and that the
&gt; server responds with a 403. Sadly, using &lt;meta name=&quot;referrer&quot;
&gt; content=&quot;no-referrer&quot;&gt; is something that is documented by Atlassian at [1].
&gt; This used to work but it seems that it no longer does after
&gt; &lt;https://trac.webkit.org/changeset/259036&gt; because the &apos;no-referrer&apos; policy
&gt; now not longer causes the Referrer header to be omitted but also the Origin
&gt; header becomes &quot;null&quot; too. Technically, it looks like r259036 aligns us with
&gt; the Fetch spec and it does seem like Chrome is planning to implement this
&gt; too (although it does not appear they have shipped this behavior yet.
&gt; 
&gt; I will note that:
&gt; a. JIRA does not use &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; by default
&gt; and it is something the admin added
&gt; b. [1] clearly states that &quot;that all the workaround stated in this page are
&gt; beyond Atlassian Support Offerings.&quot;
&gt; c. If you use &lt;meta name=&quot;referrer&quot; content=&quot;same-origin&quot;&gt; then commenting
&gt; seems to work the the referrer would still get omitted when going to an
&gt; external site. I do not understand why [1] suggest &apos;no-referrer&apos;, which
&gt; seems overly aggressive.
&gt; 
&gt; [1]
&gt; https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-
&gt; issues-to-external-websites-972343137.html

Waiting for Jack to confirm my findings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647678</commentid>
    <comment_count>19</comment_count>
    <who name="Jack Wellborn">w0nka</who>
    <bug_when>2020-04-30 17:43:58 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #18)
&gt; (In reply to Chris Dumez from comment #17)
&gt; &gt; (In reply to Chris Dumez from comment #16)
&gt; &gt; &gt; (In reply to Chris Dumez from comment #14)
&gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #13)
&gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #12)
&gt; &gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #11)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; I created a test JIRA instance at
&gt; &gt; &gt; &gt; &gt; &gt; &gt; https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post
&gt; &gt; &gt; &gt; &gt; &gt; &gt; comments on a JIRA bug with the latest WebKit, without any issue.
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; What kind of comment are you trying to post? Is it on a bug? Of course,
&gt; &gt; &gt; &gt; &gt; &gt; &gt; there is always the possibility that the bug only reproduces on hosted
&gt; &gt; &gt; &gt; &gt; &gt; &gt; instances.
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Looking at Web Inspector, I do see a POST request when I submit a comment on
&gt; &gt; &gt; &gt; &gt; &gt; a JIRA bug:
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Request
&gt; &gt; &gt; &gt; &gt; &gt; :method: POST
&gt; &gt; &gt; &gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; &gt; &gt; &gt; :authority: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; &gt; :path: /rest/api/3/issue/WEB-1/comment
&gt; &gt; &gt; &gt; &gt; &gt; Accept: application/json,text/javascript,*/*
&gt; &gt; &gt; &gt; &gt; &gt; Content-Type: application/json
&gt; &gt; &gt; &gt; &gt; &gt; Origin: https://apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; &gt; &gt; &gt; Content-Length: 130
&gt; &gt; &gt; &gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; &gt; &gt; &gt; Host: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; &gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; &gt; &gt; &gt; Referer: https://apple-testing.atlassian.net/browse/WEB-1
&gt; &gt; &gt; &gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; &gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Note that the Origin header looks correct. I am on WebKit r260952.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; What does the URL of the wrong POST request look like for you? Is it for the
&gt; &gt; &gt; &gt; &gt; &quot;/comment&quot; one or something else?
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; I see this other POST request:
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Request
&gt; &gt; &gt; &gt; &gt; :method: POST
&gt; &gt; &gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; &gt; &gt; :authority: api.atlassian.com
&gt; &gt; &gt; &gt; &gt; :path: /metal/ingest
&gt; &gt; &gt; &gt; &gt; Accept: */*
&gt; &gt; &gt; &gt; &gt; Content-Type: text/plain;charset=UTF-8
&gt; &gt; &gt; &gt; &gt; Origin: null
&gt; &gt; &gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; &gt; &gt; Cache-Control: max-age=0
&gt; &gt; &gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; &gt; &gt; Host: api.atlassian.com
&gt; &gt; &gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; &gt; &gt; Content-Length: 399
&gt; &gt; &gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Where the Origin is null (As explained by Rob earlier, this may be correct
&gt; &gt; &gt; &gt; &gt; behavior, many things are taken into considering to determine what the
&gt; &gt; &gt; &gt; &gt; Origin header should be).
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Jack, if you look at the Network Response to the main document, do you see a
&gt; &gt; &gt; &gt; Referrer-Policy header being served? If so, what is the value for the header?
&gt; &gt; &gt; &gt; My JIRA instance does not serve such a header, which could be why I cannot
&gt; &gt; &gt; &gt; reproduce, especially if I am right that this was caused by Bug 209066.
&gt; &gt; &gt; 
&gt; &gt; &gt; It does not have to be a Referrer-Policy header. It could be a &lt;meta
&gt; &gt; &gt; name=&quot;referrer&quot; content=&quot;XXX&quot;&gt; element in the HTML like documented here:
&gt; &gt; &gt; https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-
&gt; &gt; &gt; issues-to-external-websites-972343137.html
&gt; &gt; &gt; 
&gt; &gt; &gt; It am trying to set this up on my JIRA instance but have not found how yet.
&gt; &gt; 
&gt; &gt; If I add &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; to my JIRA bug
&gt; &gt; tracker&apos;s HTML, I indeed see that I can no longer post comments and that the
&gt; &gt; server responds with a 403. Sadly, using &lt;meta name=&quot;referrer&quot;
&gt; &gt; content=&quot;no-referrer&quot;&gt; is something that is documented by Atlassian at [1].
&gt; &gt; This used to work but it seems that it no longer does after
&gt; &gt; &lt;https://trac.webkit.org/changeset/259036&gt; because the &apos;no-referrer&apos; policy
&gt; &gt; now not longer causes the Referrer header to be omitted but also the Origin
&gt; &gt; header becomes &quot;null&quot; too. Technically, it looks like r259036 aligns us with
&gt; &gt; the Fetch spec and it does seem like Chrome is planning to implement this
&gt; &gt; too (although it does not appear they have shipped this behavior yet.
&gt; &gt; 
&gt; &gt; I will note that:
&gt; &gt; a. JIRA does not use &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; by default
&gt; &gt; and it is something the admin added
&gt; &gt; b. [1] clearly states that &quot;that all the workaround stated in this page are
&gt; &gt; beyond Atlassian Support Offerings.&quot;
&gt; &gt; c. If you use &lt;meta name=&quot;referrer&quot; content=&quot;same-origin&quot;&gt; then commenting
&gt; &gt; seems to work the the referrer would still get omitted when going to an
&gt; &gt; external site. I do not understand why [1] suggest &apos;no-referrer&apos;, which
&gt; &gt; seems overly aggressive.
&gt; &gt; 
&gt; &gt; [1]
&gt; &gt; https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-
&gt; &gt; issues-to-external-websites-972343137.html
&gt; 
&gt; Waiting for Jack to confirm my findings.

Thanks Chris, 

This aligns with what I am seeing, and I even see the no-referrer meta tag. The question is why does this work with other browsers, including Safari 13.1? Is it possible that these other browsers still allow same-origin referrers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647679</commentid>
    <comment_count>20</comment_count>
    <who name="Jack Wellborn">w0nka</who>
    <bug_when>2020-04-30 17:45:18 -0700</bug_when>
    <thetext>(In reply to Rob Buis from comment #15)
&gt; (In reply to Jack Wellborn from comment #10)
&gt; &gt; Hi Rob,
&gt; &gt; 
&gt; &gt; STP requests with an origin of null. I haven&apos;t checked Chrome or Firefox,
&gt; &gt; but I can tell you that Safari 13.1 populates origin with
&gt; &gt; &quot;https://jira.mycompany.com&quot; (with &quot;mycompany&quot; being the name of my
&gt; &gt; employer.) Furthermore, I can tell you that overriding the origin using
&gt; &gt; Charles proxy resolves the issue. Given that, do you still want me to test
&gt; &gt; other browsers?
&gt; &gt; 
&gt; &gt; ~Jack
&gt; 
&gt; Hi Jack,
&gt; 
&gt; Yes, I think those are good things to know. Unfortunately I do not know what
&gt; you mean by &quot;overriding the origin using Charles proxy&quot;, but glad there is a
&gt; workaround.

To clarify Charles Proxy is an application that allows developers like me to intercept and modify requests and responses. While it resolves the issue in that I am able to comment while overriding the origin header, it isn&apos;t really a fix unfortunately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647684</commentid>
    <comment_count>21</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 17:57:33 -0700</bug_when>
    <thetext>(In reply to Jack Wellborn from comment #19)
&gt; (In reply to Chris Dumez from comment #18)
&gt; &gt; (In reply to Chris Dumez from comment #17)
&gt; &gt; &gt; (In reply to Chris Dumez from comment #16)
&gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #14)
&gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #13)
&gt; &gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #12)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #11)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I created a test JIRA instance at
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; comments on a JIRA bug with the latest WebKit, without any issue.
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; What kind of comment are you trying to post? Is it on a bug? Of course,
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; there is always the possibility that the bug only reproduces on hosted
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; instances.
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Looking at Web Inspector, I do see a POST request when I submit a comment on
&gt; &gt; &gt; &gt; &gt; &gt; &gt; a JIRA bug:
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Request
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :method: POST
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :authority: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :path: /rest/api/3/issue/WEB-1/comment
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Accept: application/json,text/javascript,*/*
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Content-Type: application/json
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Origin: https://apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Content-Length: 130
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Host: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Referer: https://apple-testing.atlassian.net/browse/WEB-1
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Note that the Origin header looks correct. I am on WebKit r260952.
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; What does the URL of the wrong POST request look like for you? Is it for the
&gt; &gt; &gt; &gt; &gt; &gt; &quot;/comment&quot; one or something else?
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; I see this other POST request:
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Request
&gt; &gt; &gt; &gt; &gt; &gt; :method: POST
&gt; &gt; &gt; &gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; &gt; &gt; &gt; :authority: api.atlassian.com
&gt; &gt; &gt; &gt; &gt; &gt; :path: /metal/ingest
&gt; &gt; &gt; &gt; &gt; &gt; Accept: */*
&gt; &gt; &gt; &gt; &gt; &gt; Content-Type: text/plain;charset=UTF-8
&gt; &gt; &gt; &gt; &gt; &gt; Origin: null
&gt; &gt; &gt; &gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; &gt; &gt; &gt; Cache-Control: max-age=0
&gt; &gt; &gt; &gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; &gt; &gt; &gt; Host: api.atlassian.com
&gt; &gt; &gt; &gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; &gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; &gt; &gt; &gt; Content-Length: 399
&gt; &gt; &gt; &gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; &gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Where the Origin is null (As explained by Rob earlier, this may be correct
&gt; &gt; &gt; &gt; &gt; &gt; behavior, many things are taken into considering to determine what the
&gt; &gt; &gt; &gt; &gt; &gt; Origin header should be).
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; Jack, if you look at the Network Response to the main document, do you see a
&gt; &gt; &gt; &gt; &gt; Referrer-Policy header being served? If so, what is the value for the header?
&gt; &gt; &gt; &gt; &gt; My JIRA instance does not serve such a header, which could be why I cannot
&gt; &gt; &gt; &gt; &gt; reproduce, especially if I am right that this was caused by Bug 209066.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; It does not have to be a Referrer-Policy header. It could be a &lt;meta
&gt; &gt; &gt; &gt; name=&quot;referrer&quot; content=&quot;XXX&quot;&gt; element in the HTML like documented here:
&gt; &gt; &gt; &gt; https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-
&gt; &gt; &gt; &gt; issues-to-external-websites-972343137.html
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; It am trying to set this up on my JIRA instance but have not found how yet.
&gt; &gt; &gt; 
&gt; &gt; &gt; If I add &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; to my JIRA bug
&gt; &gt; &gt; tracker&apos;s HTML, I indeed see that I can no longer post comments and that the
&gt; &gt; &gt; server responds with a 403. Sadly, using &lt;meta name=&quot;referrer&quot;
&gt; &gt; &gt; content=&quot;no-referrer&quot;&gt; is something that is documented by Atlassian at [1].
&gt; &gt; &gt; This used to work but it seems that it no longer does after
&gt; &gt; &gt; &lt;https://trac.webkit.org/changeset/259036&gt; because the &apos;no-referrer&apos; policy
&gt; &gt; &gt; now not longer causes the Referrer header to be omitted but also the Origin
&gt; &gt; &gt; header becomes &quot;null&quot; too. Technically, it looks like r259036 aligns us with
&gt; &gt; &gt; the Fetch spec and it does seem like Chrome is planning to implement this
&gt; &gt; &gt; too (although it does not appear they have shipped this behavior yet.
&gt; &gt; &gt; 
&gt; &gt; &gt; I will note that:
&gt; &gt; &gt; a. JIRA does not use &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; by default
&gt; &gt; &gt; and it is something the admin added
&gt; &gt; &gt; b. [1] clearly states that &quot;that all the workaround stated in this page are
&gt; &gt; &gt; beyond Atlassian Support Offerings.&quot;
&gt; &gt; &gt; c. If you use &lt;meta name=&quot;referrer&quot; content=&quot;same-origin&quot;&gt; then commenting
&gt; &gt; &gt; seems to work the the referrer would still get omitted when going to an
&gt; &gt; &gt; external site. I do not understand why [1] suggest &apos;no-referrer&apos;, which
&gt; &gt; &gt; seems overly aggressive.
&gt; &gt; &gt; 
&gt; &gt; &gt; [1]
&gt; &gt; &gt; https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-
&gt; &gt; &gt; issues-to-external-websites-972343137.html
&gt; &gt; 
&gt; &gt; Waiting for Jack to confirm my findings.
&gt; 
&gt; Thanks Chris, 
&gt; 
&gt; This aligns with what I am seeing, and I even see the no-referrer meta tag.
&gt; The question is why does this work with other browsers, including Safari
&gt; 13.1? Is it possible that these other browsers still allow same-origin
&gt; referrers?

This is because Rob recently updated WebKit&apos;s behavior to align with the Fetch specification, after 13.1 shipped. It appears, based on local testing, that Chrome does not implement this patch of the Fetch specification (yet). Do you know if Chrome intends to implement this behavior? If we&apos;re the only ones doing this, it is risky from a compatibility standpoint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647699</commentid>
    <comment_count>22</comment_count>
    <who name="Jack Wellborn">w0nka</who>
    <bug_when>2020-04-30 18:40:51 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #21)
&gt; (In reply to Jack Wellborn from comment #19)
&gt; &gt; (In reply to Chris Dumez from comment #18)
&gt; &gt; &gt; (In reply to Chris Dumez from comment #17)
&gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #16)
&gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #14)
&gt; &gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #13)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #12)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; (In reply to Chris Dumez from comment #11)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; I created a test JIRA instance at
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; https://apple-testing.atlassian.net/browse/WEB-1. I seem to be able to post
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; comments on a JIRA bug with the latest WebKit, without any issue.
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; What kind of comment are you trying to post? Is it on a bug? Of course,
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; there is always the possibility that the bug only reproduces on hosted
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; instances.
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Looking at Web Inspector, I do see a POST request when I submit a comment on
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; a JIRA bug:
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Request
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; :method: POST
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; :authority: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; :path: /rest/api/3/issue/WEB-1/comment
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Accept: application/json,text/javascript,*/*
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Content-Type: application/json
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Origin: https://apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Content-Length: 130
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Host: apple-testing.atlassian.net
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Referer: https://apple-testing.atlassian.net/browse/WEB-1
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &gt; Note that the Origin header looks correct. I am on WebKit r260952.
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; What does the URL of the wrong POST request look like for you? Is it for the
&gt; &gt; &gt; &gt; &gt; &gt; &gt; &quot;/comment&quot; one or something else?
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; I see this other POST request:
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Request
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :method: POST
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :scheme: https
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :authority: api.atlassian.com
&gt; &gt; &gt; &gt; &gt; &gt; &gt; :path: /metal/ingest
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Accept: */*
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Content-Type: text/plain;charset=UTF-8
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Origin: null
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Cookie: [MASKED]
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Cache-Control: max-age=0
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Accept-Language: en-us
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Host: api.atlassian.com
&gt; &gt; &gt; &gt; &gt; &gt; &gt; User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16)
&gt; &gt; &gt; &gt; &gt; &gt; &gt; AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Content-Length: 399
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Accept-Encoding: gzip, deflate, br
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Connection: keep-alive
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Where the Origin is null (As explained by Rob earlier, this may be correct
&gt; &gt; &gt; &gt; &gt; &gt; &gt; behavior, many things are taken into considering to determine what the
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Origin header should be).
&gt; &gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; &gt; Jack, if you look at the Network Response to the main document, do you see a
&gt; &gt; &gt; &gt; &gt; &gt; Referrer-Policy header being served? If so, what is the value for the header?
&gt; &gt; &gt; &gt; &gt; &gt; My JIRA instance does not serve such a header, which could be why I cannot
&gt; &gt; &gt; &gt; &gt; &gt; reproduce, especially if I am right that this was caused by Bug 209066.
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; It does not have to be a Referrer-Policy header. It could be a &lt;meta
&gt; &gt; &gt; &gt; &gt; name=&quot;referrer&quot; content=&quot;XXX&quot;&gt; element in the HTML like documented here:
&gt; &gt; &gt; &gt; &gt; https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-
&gt; &gt; &gt; &gt; &gt; issues-to-external-websites-972343137.html
&gt; &gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; It am trying to set this up on my JIRA instance but have not found how yet.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; If I add &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; to my JIRA bug
&gt; &gt; &gt; &gt; tracker&apos;s HTML, I indeed see that I can no longer post comments and that the
&gt; &gt; &gt; &gt; server responds with a 403. Sadly, using &lt;meta name=&quot;referrer&quot;
&gt; &gt; &gt; &gt; content=&quot;no-referrer&quot;&gt; is something that is documented by Atlassian at [1].
&gt; &gt; &gt; &gt; This used to work but it seems that it no longer does after
&gt; &gt; &gt; &gt; &lt;https://trac.webkit.org/changeset/259036&gt; because the &apos;no-referrer&apos; policy
&gt; &gt; &gt; &gt; now not longer causes the Referrer header to be omitted but also the Origin
&gt; &gt; &gt; &gt; header becomes &quot;null&quot; too. Technically, it looks like r259036 aligns us with
&gt; &gt; &gt; &gt; the Fetch spec and it does seem like Chrome is planning to implement this
&gt; &gt; &gt; &gt; too (although it does not appear they have shipped this behavior yet.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; I will note that:
&gt; &gt; &gt; &gt; a. JIRA does not use &lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; by default
&gt; &gt; &gt; &gt; and it is something the admin added
&gt; &gt; &gt; &gt; b. [1] clearly states that &quot;that all the workaround stated in this page are
&gt; &gt; &gt; &gt; beyond Atlassian Support Offerings.&quot;
&gt; &gt; &gt; &gt; c. If you use &lt;meta name=&quot;referrer&quot; content=&quot;same-origin&quot;&gt; then commenting
&gt; &gt; &gt; &gt; seems to work the the referrer would still get omitted when going to an
&gt; &gt; &gt; &gt; external site. I do not understand why [1] suggest &apos;no-referrer&apos;, which
&gt; &gt; &gt; &gt; seems overly aggressive.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; [1]
&gt; &gt; &gt; &gt; https://confluence.atlassian.com/jirakb/how-to-hide-http-referrers-from-
&gt; &gt; &gt; &gt; issues-to-external-websites-972343137.html
&gt; &gt; &gt; 
&gt; &gt; &gt; Waiting for Jack to confirm my findings.
&gt; &gt; 
&gt; &gt; Thanks Chris, 
&gt; &gt; 
&gt; &gt; This aligns with what I am seeing, and I even see the no-referrer meta tag.
&gt; &gt; The question is why does this work with other browsers, including Safari
&gt; &gt; 13.1? Is it possible that these other browsers still allow same-origin
&gt; &gt; referrers?
&gt; 
&gt; This is because Rob recently updated WebKit&apos;s behavior to align with the
&gt; Fetch specification, after 13.1 shipped. It appears, based on local testing,
&gt; that Chrome does not implement this patch of the Fetch specification (yet).
&gt; Do you know if Chrome intends to implement this behavior? If we&apos;re the only
&gt; ones doing this, it is risky from a compatibility standpoint.

I do not know what Chrome intends to do, but I have implemented a simple reproduction of the issue. The formula is 
&lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot;&gt; + a XMLHttpRequest including withCredentials set to true + a POST request.

Reproduced with origin of null: 
https://jackwellborn.com/playground/XMLHttpRequestOriginNull/noreferrer.html
The data loads, but I suspect I could configure a server to throw an error on the unexpected null origin.

Without the meta tag, the origin is populated: https://jackwellborn.com/playground/XMLHttpRequestOriginNull/referrer.html 

Firefox, Chrome and Safari 13.1 always provide the origin.

I hope this is helpful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648023</commentid>
    <comment_count>23</comment_count>
      <attachid>398228</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-01 13:26:50 -0700</bug_when>
    <thetext>Created attachment 398228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648028</commentid>
    <comment_count>24</comment_count>
      <attachid>398229</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-01 13:35:14 -0700</bug_when>
    <thetext>Created attachment 398229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648045</commentid>
    <comment_count>25</comment_count>
      <attachid>398236</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-01 14:06:43 -0700</bug_when>
    <thetext>Created attachment 398236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648130</commentid>
    <comment_count>26</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-01 16:07:43 -0700</bug_when>
    <thetext>Committed r261036: &lt;https://trac.webkit.org/changeset/261036&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398236.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653593</commentid>
    <comment_count>27</comment_count>
    <who name="Jack Wellborn">w0nka</who>
    <bug_when>2020-05-18 07:23:44 -0700</bug_when>
    <thetext>Confirming issue is fixed for me in STP 106. Thanks all!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653617</commentid>
    <comment_count>28</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-18 08:22:40 -0700</bug_when>
    <thetext>(In reply to Jack Wellborn from comment #27)
&gt; Confirming issue is fixed for me in STP 106. Thanks all!

Thank you for verifying.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398228</attachid>
            <date>2020-05-01 13:26:50 -0700</date>
            <delta_ts>2020-05-01 13:35:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211122-20200501132649.patch</filename>
            <type>text/plain</type>
            <size>13982</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODlhM2U4ZTRkMDhjYmRk
ZGQzZTQwZWI1MjIxMTJhZmE2OGFmZjA5Ny4uMDY1NWY0NDE2MmU1NTZlMTU2MjVjZjcxZDcwZTgx
OTBmMTc0ZjhmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTA1LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU1RQIDEwNSBCcmVha3MgQ29t
bWVudGluZyBvbiBKaXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTExMjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNTYxODc5PgorCisgICAg
ICAgIFVucmV2aWV3ZWQsIHJldmVydCByMjU5MDM2IGFzIHRoZSBuZXcgYmVoYXZpb3IgZG9lcyBu
b3QgbWF0Y2ggb3RoZXIgYnJvd3NlcnMKKyAgICAgICAgYW5kIGJyb2tlIHNvbWUgSmlyYSBpbnN0
YW5jZXMuCisKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Rm9ybVN1Ym1pc3Npb246OnBvcHVsYXRlRnJhbWVMb2FkUmVxdWVzdCk6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6YWRkSFRUUE9yaWdpbklmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
TG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKToKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6Cisg
ICAgICAgICogbG9hZGVyL1BpbmdMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGluZ0xv
YWRlcjo6c2VuZFBpbmcpOgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6Y2hlY2tSZWRpcmVjdGlvbkNy
b3NzT3JpZ2luQWNjZXNzQ29udHJvbCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVl
c3Q6OnVwZGF0ZVJlZmVycmVyQW5kT3JpZ2luSGVhZGVycyk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRvZXNS
ZXF1ZXN0TmVlZEhUVFBPcmlnaW5IZWFkZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oOgorCiAyMDIwLTA1LTAxICBEb24gT2xtc3Rl
YWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIGFkZGl0aW9u
YWwgZXhwb3J0cyB0byBzdXBwb3J0IGhpZGRlbiB2aXNpYmlsaXR5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCAzMGFmOTAwODA0OWE4ZTM5ODJmOWM5YmY0OWRh
ZWJmYzkyZWE2ODBkLi5kOGE1ZWEwMGU2N2M0MDFlOTU1ZWEzNzgwZmI0ZGY1ODhiMmQ5ODgyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKQEAgLTQ4LDcgKzQ4LDYg
QEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgi
CiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCi0jaW5jbHVkZSAiU2VjdXJpdHlQ
b2xpY3kuaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKICNpbmNsdWRlIDx3dGYvV2FsbFRp
bWUuaD4KIApAQCAtMjQ4LDExICsyNDcsNyBAQCB2b2lkIEZvcm1TdWJtaXNzaW9uOjpwb3B1bGF0
ZUZyYW1lTG9hZFJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVSZXF1ZXN0KQogICAgIH0K
IAogICAgIGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRVUkwocmVxdWVzdFVSTCgp
KTsKLSAgICBpZiAoZG9lc1JlcXVlc3ROZWVkSFRUUE9yaWdpbkhlYWRlcihmcmFtZVJlcXVlc3Qu
cmVzb3VyY2VSZXF1ZXN0KCkpKSB7Ci0gICAgICAgIGF1dG8gc2VjdXJpdHlPcmlnaW4gPSBTZWN1
cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhtX29yaWdpbik7Ci0gICAgICAgIGF1dG8gb3Jp
Z2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKGZyYW1lUmVxdWVzdC5y
ZXF1ZXN0ZXIoKS5yZWZlcnJlclBvbGljeSgpLCBmcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0
KCkudXJsKCksIHNlY3VyaXR5T3JpZ2luKTsKLSAgICAgICAgZnJhbWVSZXF1ZXN0LnJlc291cmNl
UmVxdWVzdCgpLnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKLSAgICB9CisgICAgRnJhbWVMb2FkZXI6
OmFkZEhUVFBPcmlnaW5JZk5lZWRlZChmcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCksIG1f
b3JpZ2luKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXgg
MjFlZWYzZjhlN2Q4MTBhZmRhZDdjMDUyYmM4Mzk3MTMwMGRmZTg1NC4uMjVjMDE3MmMxZTMxM2Mz
NTMwNGM0MmU0NTE5MTNmZmM0Nzc5OWI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCkBAIC0yOTQyLDYgKzI5NDIsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjphZGRFeHRyYUZp
ZWxkc1RvUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIElzTWFpblJlc291cgogICAg
IGlmIChtX292ZXJyaWRlUmVzb3VyY2VMb2FkUHJpb3JpdHlGb3JUZXN0aW5nKQogICAgICAgICBy
ZXF1ZXN0LnNldFByaW9yaXR5KG1fb3ZlcnJpZGVSZXNvdXJjZUxvYWRQcmlvcml0eUZvclRlc3Rp
bmcudmFsdWUoKSk7CiAKKyAgICAvLyBNYWtlIHN1cmUgd2Ugc2VuZCB0aGUgT3JpZ2luIGhlYWRl
ci4KKyAgICBhZGRIVFRQT3JpZ2luSWZOZWVkZWQocmVxdWVzdCwgU3RyaW5nKCkpOworCiAgICAg
Ly8gT25seSBzZXQgZmFsbGJhY2sgYXJyYXkgaWYgaXQncyBzdGlsbCBlbXB0eSAobGF0ZXIgYXR0
ZW1wdHMgbWF5IGJlIGluY29ycmVjdCwgc2VlIGJ1ZyAxMTc4MTgpLgogICAgIGlmIChyZXF1ZXN0
LnJlc3BvbnNlQ29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5KCkuaXNFbXB0
eSgpKSB7CiAgICAgICAgIC8vIEFsd2F5cyB0cnkgVVRGLTguIElmIHRoYXQgZmFpbHMsIHRyeSBm
cmFtZSBlbmNvZGluZyAoaWYgYW55KSBhbmQgdGhlbiB0aGUgZGVmYXVsdC4KQEAgLTI5NDksNiAr
Mjk1MiwzNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIElzTWFpblJlc291cgogICAgIH0KIH0KIAordm9pZCBGcmFt
ZUxvYWRlcjo6YWRkSFRUUE9yaWdpbklmTmVlZGVkKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgU3RyaW5nJiBvcmlnaW4pCit7CisgICAgaWYgKCFyZXF1ZXN0Lmh0dHBPcmlnaW4oKS5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybjsgIC8vIFJlcXVlc3QgYWxyZWFkeSBoYXMgYW4gT3Jp
Z2luIGhlYWRlci4KKworICAgIC8vIERvbid0IHNlbmQgYW4gT3JpZ2luIGhlYWRlciBmb3IgR0VU
IG9yIEhFQUQgdG8gYXZvaWQgcHJpdmFjeSBpc3N1ZXMuCisgICAgLy8gRm9yIGV4YW1wbGUsIGlm
IGFuIGludHJhbmV0IHBhZ2UgaGFzIGEgaHlwZXJsaW5rIHRvIGFuIGV4dGVybmFsIHdlYgorICAg
IC8vIHNpdGUsIHdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgT3JpZ2luIG9mIHRoZSByZXF1
ZXN0IGJlY2F1c2UgaXQKKyAgICAvLyB3aWxsIGxlYWsgdGhlIGludGVybmFsIGhvc3QgbmFtZS4g
U2ltaWxhciBwcml2YWN5IGNvbmNlcm5zIGhhdmUgbGVhZAorICAgIC8vIHRvIHRoZSB3aWRlc3By
ZWFkIHN1cHByZXNzaW9uIG9mIHRoZSBSZWZlcmVyIGhlYWRlciBhdCB0aGUgbmV0d29yaworICAg
IC8vIGxheWVyLgorICAgIGlmIChyZXF1ZXN0Lmh0dHBNZXRob2QoKSA9PSAiR0VUIiB8fCByZXF1
ZXN0Lmh0dHBNZXRob2QoKSA9PSAiSEVBRCIpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIEZJ
WE1FOiB0YWtlIHJlZmVycmVyLXBvbGljeSBpbnRvIGFjY291bnQuCisgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTA2NgorCisgICAgLy8gRm9yIG5vbi1H
RVQgYW5kIG5vbi1IRUFEIG1ldGhvZHMsIGFsd2F5cyBzZW5kIGFuIE9yaWdpbiBoZWFkZXIgc28g
dGhlCisgICAgLy8gc2VydmVyIGtub3dzIHdlIHN1cHBvcnQgdGhpcyBmZWF0dXJlLgorCisgICAg
aWYgKG9yaWdpbi5pc0VtcHR5KCkpIHsKKyAgICAgICAgLy8gSWYgd2UgZG9uJ3Qga25vdyB3aGF0
IG9yaWdpbiBoZWFkZXIgdG8gYXR0YWNoLCB3ZSBhdHRhY2ggdGhlIHZhbHVlCisgICAgICAgIC8v
IGZvciBhbiBlbXB0eSBvcmlnaW4uCisgICAgICAgIHJlcXVlc3Quc2V0SFRUUE9yaWdpbihTZWN1
cml0eU9yaWdpbjo6Y3JlYXRlVW5pcXVlKCktPnRvU3RyaW5nKCkpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgcmVxdWVzdC5zZXRIVFRQT3JpZ2luKG9yaWdpbik7Cit9CisKIC8vIElt
cGxlbWVudHMgdGhlICInU2FtZS1zaXRlJyBhbmQgJ2Nyb3NzLXNpdGUnIFJlcXVlc3RzIiBhbGdv
cml0aG0gZnJvbSA8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtaHR0cGJp
cy1jb29raWUtc2FtZS1zaXRlLTAwI3NlY3Rpb24tMi4xPi4KIC8vIFRoZSBhbGdvcml0aG0gaXMg
YW1tZW5kZWQgdG8gdHJlYXQgVVJMcyB0aGF0IGluaGVyaXQgdGhlaXIgc2VjdXJpdHkgb3JpZ2lu
IGZyb20gdGhlaXIgb3duZXIgKGUuZy4gYWJvdXQ6YmxhbmspCiAvLyBhcyBzYW1lLXNpdGUuIFRo
aXMgbWF0Y2hlcyB0aGUgYmVoYXZpb3Igb2YgQ2hyb21lIGFuZCBGaXJlZm94LgpAQCAtMzAzNSwx
MCArMzA2OCw3IEBAIHVuc2lnbmVkIGxvbmcgRnJhbWVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1CiAgICAgCiAgICAgaWYgKCFyZWZl
cnJlci5pc0VtcHR5KCkpCiAgICAgICAgIGluaXRpYWxSZXF1ZXN0LnNldEhUVFBSZWZlcnJlcihy
ZWZlcnJlcik7Ci0gICAgaWYgKGRvZXNSZXF1ZXN0TmVlZEhUVFBPcmlnaW5IZWFkZXIoaW5pdGlh
bFJlcXVlc3QpKSB7Ci0gICAgICAgIGF1dG8gb3JpZ2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVy
YXRlT3JpZ2luSGVhZGVyKG1fZnJhbWUuZG9jdW1lbnQoKS0+cmVmZXJyZXJQb2xpY3koKSwgaW5p
dGlhbFJlcXVlc3QudXJsKCksIG1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7
Ci0gICAgICAgIGluaXRpYWxSZXF1ZXN0LnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKLSAgICB9Cisg
ICAgYWRkSFRUUE9yaWdpbklmTmVlZGVkKGluaXRpYWxSZXF1ZXN0LCBvdXRnb2luZ09yaWdpbigp
KTsKIAogICAgIGluaXRpYWxSZXF1ZXN0LnNldEZpcnN0UGFydHlGb3JDb29raWVzKG1fZnJhbWUu
bWFpbkZyYW1lKCkubG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKS0+cmVxdWVzdCgpLnVybCgpKTsK
ICAgICAKQEAgLTM3MzgsMTEgKzM3NjgsOCBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVy
ZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBIaXN0b3J5SXRlbSogZnJvbQogICAg
ICAgICByZXF1ZXN0LnNldEhUVFBNZXRob2QoIlBPU1QiKTsKICAgICAgICAgcmVxdWVzdC5zZXRI
VFRQQm9keShXVEZNb3ZlKGZvcm1EYXRhKSk7CiAgICAgICAgIHJlcXVlc3Quc2V0SFRUUENvbnRl
bnRUeXBlKGl0ZW0uZm9ybUNvbnRlbnRUeXBlKCkpOwotICAgICAgICBpZiAoZG9lc1JlcXVlc3RO
ZWVkSFRUUE9yaWdpbkhlYWRlcihyZXF1ZXN0KSkgewotICAgICAgICAgICAgYXV0byBzZWN1cml0
eU9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKGl0ZW0ucmVmZXJyZXIo
KSk7Ci0gICAgICAgICAgICBhdXRvIG9yaWdpbiA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9y
aWdpbkhlYWRlcihtX2ZyYW1lLmRvY3VtZW50KCktPnJlZmVycmVyUG9saWN5KCksIHJlcXVlc3Qu
dXJsKCksIHNlY3VyaXR5T3JpZ2luKTsKLSAgICAgICAgICAgIHJlcXVlc3Quc2V0SFRUUE9yaWdp
bihvcmlnaW4pOwotICAgICAgICB9CisgICAgICAgIGF1dG8gc2VjdXJpdHlPcmlnaW4gPSBTZWN1
cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhpdGVtLnJlZmVycmVyKCkpOworICAgICAgICBh
ZGRIVFRQT3JpZ2luSWZOZWVkZWQocmVxdWVzdCwgc2VjdXJpdHlPcmlnaW4tPnRvU3RyaW5nKCkp
OwogCiAgICAgICAgIGFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0KHJlcXVlc3QsIElzTWFpblJlc291
cmNlOjpZZXMsIGxvYWRUeXBlKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCmluZGV4IGUxODc1NDgyMDUyZjRkZThiZGM1MWE1MzZlYjdiMGI1NGM3ZTYwYTAuLjQ4NDBj
NzNlNWJkYzczYzQ1MDFkMDRjOTU4YzRmOGFkYTJhZjE2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5oCkBAIC0yMTYsNiArMjE2LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgZGV0YWNoRnJvbVBhcmVudCgpOwogICAgIHZvaWQgZGV0YWNoVmlld3NBbmREb2N1
bWVudExvYWRlcigpOwogCisgICAgc3RhdGljIHZvaWQgYWRkSFRUUE9yaWdpbklmTmVlZGVkKFJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgb3JpZ2luKTsKICAgICBzdGF0aWMgdm9pZCBh
ZGRTYW1lU2l0ZUluZm9Ub1JlcXVlc3RJZk5lZWRlZChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBE
b2N1bWVudCogaW5pdGlhdG9yID0gbnVsbHB0cik7CiAKICAgICBjb25zdCBGcmFtZUxvYWRlckNs
aWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQuZ2V0KCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCBiOGU3MTU3M2Vm
ZTYwYjkxNjVlMjExMWIwMjQyYTEwYjY4ZmU4OTNjLi5jM2RkMTFhMTdjMGMwMzM1MmMxMTkzZjA2
OWVhZWNiN2M4Y2Y0MjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCkBAIC0zMDMsNyArMzAzLDcgQEAgcHVibGljOgogICAgICAgICBGcmFtZUxv
YWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyByZXF1ZXN0aW5nRG9jdW1lbnQsIHJlcXVlc3Rp
bmdEb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLCB7IH0sIHsgfSwgaW5pdGlhdGVkQnlNYWluRnJh
bWUoKSB9OwogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNldExvY2tIaXN0b3J5KGxvY2tIaXN0
b3J5KCkpOwogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNldExvY2tCYWNrRm9yd2FyZExpc3Qo
bG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKLSAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRSZWZl
cnJlclBvbGljeShyZXF1ZXN0aW5nRG9jdW1lbnQucmVmZXJyZXJQb2xpY3koKSk7CisgICAgICAg
IGZyYW1lTG9hZFJlcXVlc3Quc2V0UmVmZXJyZXJQb2xpY3koUmVmZXJyZXJQb2xpY3k6OkVtcHR5
U3RyaW5nKTsKICAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVSTHMoKSk7CiAgICAgICAgIG1fc3VibWlzc2lv
bi0+cG9wdWxhdGVGcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJlcXVlc3QpOwogICAgICAgICBm
cmFtZS5sb2FkZXIoKS5sb2FkRnJhbWVSZXF1ZXN0KFdURk1vdmUoZnJhbWVMb2FkUmVxdWVzdCks
IG1fc3VibWlzc2lvbi0+ZXZlbnQoKSwgbV9zdWJtaXNzaW9uLT50YWtlU3RhdGUoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAKaW5kZXggZDFiMzU2NzU3Y2NjYWI0ZDUxMGQxYmQw
NzkzYjA4Njk1MTM4ZjgwOS4uNGYyYTYxMGJiMjI0YWIxNzY2OTI3NGQyYTAzY2JjNDJiMTU4OTc4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcApAQCAtMTM2LDEwICsxMzYsOSBA
QCB2b2lkIFBpbmdMb2FkZXI6OnNlbmRQaW5nKEZyYW1lJiBmcmFtZSwgY29uc3QgVVJMJiBwaW5n
VVJMLCBjb25zdCBVUkwmIGRlc3RpbmF0aQogCiAgICAgSFRUUEhlYWRlck1hcCBvcmlnaW5hbFJl
cXVlc3RIZWFkZXIgPSByZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKTsKIAotICAgIGlmIChkb2Vz
UmVxdWVzdE5lZWRIVFRQT3JpZ2luSGVhZGVyKHJlcXVlc3QpKSB7Ci0gICAgICAgIGF1dG8gb3Jp
Z2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKGRvY3VtZW50LnJlZmVy
cmVyUG9saWN5KCksIHJlcXVlc3QudXJsKCksIGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCkpOwot
ICAgICAgICByZXF1ZXN0LnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKLSAgICB9CisgICAgYXV0byYg
c291cmNlT3JpZ2luID0gZG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICBGcmFtZUxvYWRl
cjo6YWRkSFRUUE9yaWdpbklmTmVlZGVkKHJlcXVlc3QsIFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0
ZU9yaWdpbkhlYWRlcihkb2N1bWVudC5yZWZlcnJlclBvbGljeSgpLCByZXF1ZXN0LnVybCgpLCBz
b3VyY2VPcmlnaW4pKTsKKwogICAgIGZyYW1lLmxvYWRlcigpLmFkZEV4dHJhRmllbGRzVG9SZXF1
ZXN0KHJlcXVlc3QsIElzTWFpblJlc291cmNlOjpObyk7CiAgICAgcmVxdWVzdC5zZXRIVFRQSGVh
ZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OlBpbmdUbywgZGVzdGluYXRpb25VUkwuc3RyaW5nKCkp
OwogICAgIGlmICghU2VjdXJpdHlQb2xpY3k6OnNob3VsZEhpZGVSZWZlcnJlcihwaW5nVVJMLCBm
cmFtZS5sb2FkZXIoKS5vdXRnb2luZ1JlZmVycmVyKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNWMzYmQwM2QxODU4ZjM3NmFlYzhhMTc0MDRl
NjAyZTFlY2NkYjcwMi4uYmU2YTNmY2FjZDMzZDM4NmFlYWViYjIzOWQ2MDAxN2YxMzNjNzcyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00Nyw3
ICs0Nyw2IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJS
ZXNvdXJjZVRpbWluZy5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKLSNp
bmNsdWRlICJTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVk
ZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgpAQCAtNjcw
LDEwICs2NjksNyBAQCBFeHBlY3RlZDx2b2lkLCBTdHJpbmc+IFN1YnJlc291cmNlTG9hZGVyOjpj
aGVja1JlZGlyZWN0aW9uQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cgogCiAgICAgdXBkYXRlUmVxdWVz
dFJlZmVycmVyKG5ld1JlcXVlc3QsIHJlZmVycmVyUG9saWN5KCksIHByZXZpb3VzUmVxdWVzdC5o
dHRwUmVmZXJyZXIoKSk7CiAKLSAgICBpZiAoZG9lc1JlcXVlc3ROZWVkSFRUUE9yaWdpbkhlYWRl
cihuZXdSZXF1ZXN0KSkgewotICAgICAgICBhdXRvIG9yaWdpbiA9IFNlY3VyaXR5UG9saWN5Ojpn
ZW5lcmF0ZU9yaWdpbkhlYWRlcihyZWZlcnJlclBvbGljeSgpLCBuZXdSZXF1ZXN0LnVybCgpLCBt
X29yaWdpbiA/ICptX29yaWdpbiA6IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVVbmlxdWUoKS5nZXQo
KSk7Ci0gICAgICAgIG5ld1JlcXVlc3Quc2V0SFRUUE9yaWdpbihvcmlnaW4pOwotICAgIH0KKyAg
ICBGcmFtZUxvYWRlcjo6YWRkSFRUUE9yaWdpbklmTmVlZGVkKG5ld1JlcXVlc3QsIG1fb3JpZ2lu
ID8gbV9vcmlnaW4tPnRvU3RyaW5nKCkgOiBTdHJpbmcoKSk7CiAKICAgICByZXR1cm4geyB9Owog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0LmNwcAppbmRleCA3NTA4ZDc1YWNmYTE5ZTExZGZhMjU2YjY2NzM0NGE2MzNkYTIzYWNi
Li5mNjk3NGNjMjZlNzc4ZmFjYzM2NjU3NzY4MDg4OWU3ODZlYTYzNzBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcApA
QCAtMjI5LDExICsyMjksMTQgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZVJl
ZmVycmVyQW5kT3JpZ2luSGVhZGVycyhGcmFtZUxvYWRlciYgZnJhbWVMb2EKICAgICAgICAgb3V0
Z29pbmdSZWZlcnJlciA9IG1fcmVzb3VyY2VSZXF1ZXN0Lmh0dHBSZWZlcnJlcigpOwogICAgIHVw
ZGF0ZVJlcXVlc3RSZWZlcnJlcihtX3Jlc291cmNlUmVxdWVzdCwgbV9vcHRpb25zLnJlZmVycmVy
UG9saWN5LCBvdXRnb2luZ1JlZmVycmVyKTsKIAotICAgIGlmIChkb2VzUmVxdWVzdE5lZWRIVFRQ
T3JpZ2luSGVhZGVyKG1fcmVzb3VyY2VSZXF1ZXN0KSkgewotICAgICAgICBhdXRvIG91dGdvaW5n
T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3V0Z29pbmdSZWZlcnJl
cik7Ci0gICAgICAgIGF1dG8gb3JpZ2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2lu
SGVhZGVyKG1fb3B0aW9ucy5yZWZlcnJlclBvbGljeSwgbV9yZXNvdXJjZVJlcXVlc3QudXJsKCks
IG91dGdvaW5nT3JpZ2luKTsKLSAgICAgICAgbV9yZXNvdXJjZVJlcXVlc3Quc2V0SFRUUE9yaWdp
bihvcmlnaW4pOwotICAgIH0KKyAgICBpZiAoIW1fcmVzb3VyY2VSZXF1ZXN0Lmh0dHBPcmlnaW4o
KS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKyAgICBTdHJpbmcgb3V0Z29pbmdPcmlnaW47
CisgICAgaWYgKG1fb3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6Q29ycykKKyAg
ICAgICAgb3V0Z29pbmdPcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhv
dXRnb2luZ1JlZmVycmVyKS0+dG9TdHJpbmcoKTsKKyAgICBlbHNlCisgICAgICAgIG91dGdvaW5n
T3JpZ2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKG1fb3B0aW9ucy5y
ZWZlcnJlclBvbGljeSwgbV9yZXNvdXJjZVJlcXVlc3QudXJsKCksIFNlY3VyaXR5T3JpZ2luOjpj
cmVhdGVGcm9tU3RyaW5nKG91dGdvaW5nUmVmZXJyZXIpKTsKKyAgICBGcmFtZUxvYWRlcjo6YWRk
SFRUUE9yaWdpbklmTmVlZGVkKG1fcmVzb3VyY2VSZXF1ZXN0LCBvdXRnb2luZ09yaWdpbik7CiB9
CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVVc2VyQWdlbnRIZWFkZXIoRnJh
bWVMb2FkZXImIGZyYW1lTG9hZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXggNTMwZWNjZmFlNzkzZTM1
ZGVlOTllYzA0MDc3MDdhMzhmOWM3YzllZS4uZDM2ZDc3MGQzMjNhNzY5MDI0NzEzOWNjZDIwYmQ0
NTZhMzFhODQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC03NDgsMTggKzc0OCw0IEBAIFN0cmluZyBS
ZXNvdXJjZVJlcXVlc3RCYXNlOjpwYXJ0aXRpb25OYW1lKGNvbnN0IFN0cmluZyYgZG9tYWluKQog
I2VuZGlmCiB9CiAKLWJvb2wgZG9lc1JlcXVlc3ROZWVkSFRUUE9yaWdpbkhlYWRlcihjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCi17Ci0gICAgaWYgKCFyZXF1ZXN0Lmh0dHBPcmlnaW4o
KS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsgLy8gUmVxdWVzdCBhbHJlYWR5IGhh
cyBhbiBPcmlnaW4gaGVhZGVyLgotCi0gICAgLy8gRG9uJ3Qgc2VuZCBhbiBPcmlnaW4gaGVhZGVy
IGZvciBHRVQgb3IgSEVBRCB0byBhdm9pZCBwcml2YWN5IGlzc3Vlcy4KLSAgICAvLyBGb3IgZXhh
bXBsZSwgaWYgYW4gaW50cmFuZXQgcGFnZSBoYXMgYSBoeXBlcmxpbmsgdG8gYW4gZXh0ZXJuYWwg
d2ViCi0gICAgLy8gc2l0ZSwgd2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSBPcmlnaW4gb2Yg
dGhlIHJlcXVlc3QgYmVjYXVzZSBpdAotICAgIC8vIHdpbGwgbGVhayB0aGUgaW50ZXJuYWwgaG9z
dCBuYW1lLiBTaW1pbGFyIHByaXZhY3kgY29uY2VybnMgaGF2ZSBsZWFkCi0gICAgLy8gdG8gdGhl
IHdpZGVzcHJlYWQgc3VwcHJlc3Npb24gb2YgdGhlIFJlZmVyZXIgaGVhZGVyIGF0IHRoZSBuZXR3
b3JrCi0gICAgLy8gbGF5ZXIuCi0gICAgcmV0dXJuIHJlcXVlc3QuaHR0cE1ldGhvZCgpICE9ICJH
RVQiICYmIHJlcXVlc3QuaHR0cE1ldGhvZCgpICE9ICJIRUFEIjsKLX0KLQogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApp
bmRleCBjNWY3NzJjOGQyMGIxZTUyZTk1OWViMzBjZjhiNTRhMDIyZjMzYWJlLi42NmY1ZmQ3NDE2
Y2E4N2U1NDg3OWU0ZjI3ZGU3ODczM2JlNDdlNmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAtMjYyLDggKzI2
Miw2IEBAIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIGRvdWJsZSBzX2RlZmF1
bHRUaW1lb3V0SW50ZXJ2YWw7CiB9OwogCi1ib29sIGRvZXNSZXF1ZXN0TmVlZEhUVFBPcmlnaW5I
ZWFkZXIoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7Ci0KIGJvb2wgZXF1YWxJZ25vcmluZ0hlYWRl
ckZpZWxkcyhjb25zdCBSZXNvdXJjZVJlcXVlc3RCYXNlJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
QmFzZSYpOwogCiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
YSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiBSZXNvdXJjZVJlcXVlc3RCYXNl
OjplcXVhbChhLCBiKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398229</attachid>
            <date>2020-05-01 13:35:14 -0700</date>
            <delta_ts>2020-05-01 14:06:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211122-20200501133513.patch</filename>
            <type>text/plain</type>
            <size>14709</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODlhM2U4ZTRkMDhjYmRk
ZGQzZTQwZWI1MjIxMTJhZmE2OGFmZjA5Ny4uMDY1NWY0NDE2MmU1NTZlMTU2MjVjZjcxZDcwZTgx
OTBmMTc0ZjhmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTA1LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU1RQIDEwNSBCcmVha3MgQ29t
bWVudGluZyBvbiBKaXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTExMjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyNTYxODc5PgorCisgICAg
ICAgIFVucmV2aWV3ZWQsIHJldmVydCByMjU5MDM2IGFzIHRoZSBuZXcgYmVoYXZpb3IgZG9lcyBu
b3QgbWF0Y2ggb3RoZXIgYnJvd3NlcnMKKyAgICAgICAgYW5kIGJyb2tlIHNvbWUgSmlyYSBpbnN0
YW5jZXMuCisKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Rm9ybVN1Ym1pc3Npb246OnBvcHVsYXRlRnJhbWVMb2FkUmVxdWVzdCk6CisgICAg
ICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6YWRkSFRUUE9yaWdpbklmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
TG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKToKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHA6Cisg
ICAgICAgICogbG9hZGVyL1BpbmdMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGluZ0xv
YWRlcjo6c2VuZFBpbmcpOgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6Y2hlY2tSZWRpcmVjdGlvbkNy
b3NzT3JpZ2luQWNjZXNzQ29udHJvbCk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVl
c3Q6OnVwZGF0ZVJlZmVycmVyQW5kT3JpZ2luSGVhZGVycyk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRvZXNS
ZXF1ZXN0TmVlZEhUVFBPcmlnaW5IZWFkZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oOgorCiAyMDIwLTA1LTAxICBEb24gT2xtc3Rl
YWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIGFkZGl0aW9u
YWwgZXhwb3J0cyB0byBzdXBwb3J0IGhpZGRlbiB2aXNpYmlsaXR5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCAzMGFmOTAwODA0OWE4ZTM5ODJmOWM5YmY0OWRh
ZWJmYzkyZWE2ODBkLi5kOGE1ZWEwMGU2N2M0MDFlOTU1ZWEzNzgwZmI0ZGY1ODhiMmQ5ODgyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKQEAgLTQ4LDcgKzQ4LDYg
QEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgi
CiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCi0jaW5jbHVkZSAiU2VjdXJpdHlQ
b2xpY3kuaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKICNpbmNsdWRlIDx3dGYvV2FsbFRp
bWUuaD4KIApAQCAtMjQ4LDExICsyNDcsNyBAQCB2b2lkIEZvcm1TdWJtaXNzaW9uOjpwb3B1bGF0
ZUZyYW1lTG9hZFJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVSZXF1ZXN0KQogICAgIH0K
IAogICAgIGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRVUkwocmVxdWVzdFVSTCgp
KTsKLSAgICBpZiAoZG9lc1JlcXVlc3ROZWVkSFRUUE9yaWdpbkhlYWRlcihmcmFtZVJlcXVlc3Qu
cmVzb3VyY2VSZXF1ZXN0KCkpKSB7Ci0gICAgICAgIGF1dG8gc2VjdXJpdHlPcmlnaW4gPSBTZWN1
cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhtX29yaWdpbik7Ci0gICAgICAgIGF1dG8gb3Jp
Z2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKGZyYW1lUmVxdWVzdC5y
ZXF1ZXN0ZXIoKS5yZWZlcnJlclBvbGljeSgpLCBmcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0
KCkudXJsKCksIHNlY3VyaXR5T3JpZ2luKTsKLSAgICAgICAgZnJhbWVSZXF1ZXN0LnJlc291cmNl
UmVxdWVzdCgpLnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKLSAgICB9CisgICAgRnJhbWVMb2FkZXI6
OmFkZEhUVFBPcmlnaW5JZk5lZWRlZChmcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCksIG1f
b3JpZ2luKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXgg
MjFlZWYzZjhlN2Q4MTBhZmRhZDdjMDUyYmM4Mzk3MTMwMGRmZTg1NC4uMmU3OWExMzA5YzNkMDVi
ODllNjkwODE3M2ZiZjYyYmNhNTE3MGIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCkBAIC0xMDM5LDYgKzEwMzksMTEgQEAgU3RyaW5nIEZyYW1lTG9hZGVyOjpvdXRnb2lu
Z1JlZmVycmVyKCkgY29uc3QKICAgICByZXR1cm4gZnJhbWUtPmxvYWRlcigpLm1fb3V0Z29pbmdS
ZWZlcnJlcjsKIH0KIAorU3RyaW5nIEZyYW1lTG9hZGVyOjpvdXRnb2luZ09yaWdpbigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS50b1N0
cmluZygpOworfQorCiBib29sIEZyYW1lTG9hZGVyOjpjaGVja0lmRm9ybUFjdGlvbkFsbG93ZWRC
eUNTUChjb25zdCBVUkwmIHVybCwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSkgY29u
c3QKIHsKICAgICBpZiAobV9zdWJtaXR0ZWRGb3JtVVJMLmlzRW1wdHkoKSkKQEAgLTI5NDIsNiAr
Mjk0Nyw5IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0KFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgSXNNYWluUmVzb3VyCiAgICAgaWYgKG1fb3ZlcnJpZGVSZXNv
dXJjZUxvYWRQcmlvcml0eUZvclRlc3RpbmcpCiAgICAgICAgIHJlcXVlc3Quc2V0UHJpb3JpdHko
bV9vdmVycmlkZVJlc291cmNlTG9hZFByaW9yaXR5Rm9yVGVzdGluZy52YWx1ZSgpKTsKIAorICAg
IC8vIE1ha2Ugc3VyZSB3ZSBzZW5kIHRoZSBPcmlnaW4gaGVhZGVyLgorICAgIGFkZEhUVFBPcmln
aW5JZk5lZWRlZChyZXF1ZXN0LCBTdHJpbmcoKSk7CisKICAgICAvLyBPbmx5IHNldCBmYWxsYmFj
ayBhcnJheSBpZiBpdCdzIHN0aWxsIGVtcHR5IChsYXRlciBhdHRlbXB0cyBtYXkgYmUgaW5jb3Jy
ZWN0LCBzZWUgYnVnIDExNzgxOCkuCiAgICAgaWYgKHJlcXVlc3QucmVzcG9uc2VDb250ZW50RGlz
cG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgLy8g
QWx3YXlzIHRyeSBVVEYtOC4gSWYgdGhhdCBmYWlscywgdHJ5IGZyYW1lIGVuY29kaW5nIChpZiBh
bnkpIGFuZCB0aGVuIHRoZSBkZWZhdWx0LgpAQCAtMjk0OSw2ICsyOTU3LDM2IEBAIHZvaWQgRnJh
bWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgSXNNYWluUmVzb3VyCiAgICAgfQogfQogCit2b2lkIEZyYW1lTG9hZGVyOjphZGRIVFRQT3Jp
Z2luSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIG9yaWdp
bikKK3sKKyAgICBpZiAoIXJlcXVlc3QuaHR0cE9yaWdpbigpLmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuOyAgLy8gUmVxdWVzdCBhbHJlYWR5IGhhcyBhbiBPcmlnaW4gaGVhZGVyLgorCisgICAg
Ly8gRG9uJ3Qgc2VuZCBhbiBPcmlnaW4gaGVhZGVyIGZvciBHRVQgb3IgSEVBRCB0byBhdm9pZCBw
cml2YWN5IGlzc3Vlcy4KKyAgICAvLyBGb3IgZXhhbXBsZSwgaWYgYW4gaW50cmFuZXQgcGFnZSBo
YXMgYSBoeXBlcmxpbmsgdG8gYW4gZXh0ZXJuYWwgd2ViCisgICAgLy8gc2l0ZSwgd2UgZG9uJ3Qg
d2FudCB0byBpbmNsdWRlIHRoZSBPcmlnaW4gb2YgdGhlIHJlcXVlc3QgYmVjYXVzZSBpdAorICAg
IC8vIHdpbGwgbGVhayB0aGUgaW50ZXJuYWwgaG9zdCBuYW1lLiBTaW1pbGFyIHByaXZhY3kgY29u
Y2VybnMgaGF2ZSBsZWFkCisgICAgLy8gdG8gdGhlIHdpZGVzcHJlYWQgc3VwcHJlc3Npb24gb2Yg
dGhlIFJlZmVyZXIgaGVhZGVyIGF0IHRoZSBuZXR3b3JrCisgICAgLy8gbGF5ZXIuCisgICAgaWYg
KHJlcXVlc3QuaHR0cE1ldGhvZCgpID09ICJHRVQiIHx8IHJlcXVlc3QuaHR0cE1ldGhvZCgpID09
ICJIRUFEIikKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRklYTUU6IHRha2UgcmVmZXJyZXIt
cG9saWN5IGludG8gYWNjb3VudC4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA5MDY2CisKKyAgICAvLyBGb3Igbm9uLUdFVCBhbmQgbm9uLUhFQUQgbWV0
aG9kcywgYWx3YXlzIHNlbmQgYW4gT3JpZ2luIGhlYWRlciBzbyB0aGUKKyAgICAvLyBzZXJ2ZXIg
a25vd3Mgd2Ugc3VwcG9ydCB0aGlzIGZlYXR1cmUuCisKKyAgICBpZiAob3JpZ2luLmlzRW1wdHko
KSkgeworICAgICAgICAvLyBJZiB3ZSBkb24ndCBrbm93IHdoYXQgb3JpZ2luIGhlYWRlciB0byBh
dHRhY2gsIHdlIGF0dGFjaCB0aGUgdmFsdWUKKyAgICAgICAgLy8gZm9yIGFuIGVtcHR5IG9yaWdp
bi4KKyAgICAgICAgcmVxdWVzdC5zZXRIVFRQT3JpZ2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVV
bmlxdWUoKS0+dG9TdHJpbmcoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICByZXF1
ZXN0LnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKK30KKwogLy8gSW1wbGVtZW50cyB0aGUgIidTYW1l
LXNpdGUnIGFuZCAnY3Jvc3Mtc2l0ZScgUmVxdWVzdHMiIGFsZ29yaXRobSBmcm9tIDxodHRwczov
L3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1odHRwYmlzLWNvb2tpZS1zYW1lLXNpdGUt
MDAjc2VjdGlvbi0yLjE+LgogLy8gVGhlIGFsZ29yaXRobSBpcyBhbW1lbmRlZCB0byB0cmVhdCBV
UkxzIHRoYXQgaW5oZXJpdCB0aGVpciBzZWN1cml0eSBvcmlnaW4gZnJvbSB0aGVpciBvd25lciAo
ZS5nLiBhYm91dDpibGFuaykKIC8vIGFzIHNhbWUtc2l0ZS4gVGhpcyBtYXRjaGVzIHRoZSBiZWhh
dmlvciBvZiBDaHJvbWUgYW5kIEZpcmVmb3guCkBAIC0zMDM1LDEwICszMDczLDcgQEAgdW5zaWdu
ZWQgbG9uZyBGcmFtZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXUKICAgICAKICAgICBpZiAoIXJlZmVycmVyLmlzRW1wdHkoKSkKICAg
ICAgICAgaW5pdGlhbFJlcXVlc3Quc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKLSAgICBpZiAo
ZG9lc1JlcXVlc3ROZWVkSFRUUE9yaWdpbkhlYWRlcihpbml0aWFsUmVxdWVzdCkpIHsKLSAgICAg
ICAgYXV0byBvcmlnaW4gPSBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFkZXIobV9m
cmFtZS5kb2N1bWVudCgpLT5yZWZlcnJlclBvbGljeSgpLCBpbml0aWFsUmVxdWVzdC51cmwoKSwg
bV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsKLSAgICAgICAgaW5pdGlhbFJl
cXVlc3Quc2V0SFRUUE9yaWdpbihvcmlnaW4pOwotICAgIH0KKyAgICBhZGRIVFRQT3JpZ2luSWZO
ZWVkZWQoaW5pdGlhbFJlcXVlc3QsIG91dGdvaW5nT3JpZ2luKCkpOwogCiAgICAgaW5pdGlhbFJl
cXVlc3Quc2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXMobV9mcmFtZS5tYWluRnJhbWUoKS5sb2FkZXIo
KS5kb2N1bWVudExvYWRlcigpLT5yZXF1ZXN0KCkudXJsKCkpOwogICAgIApAQCAtMzczOCwxMSAr
Mzc3Myw4IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oSGlz
dG9yeUl0ZW0mIGl0ZW0sIEhpc3RvcnlJdGVtKiBmcm9tCiAgICAgICAgIHJlcXVlc3Quc2V0SFRU
UE1ldGhvZCgiUE9TVCIpOwogICAgICAgICByZXF1ZXN0LnNldEhUVFBCb2R5KFdURk1vdmUoZm9y
bURhdGEpKTsKICAgICAgICAgcmVxdWVzdC5zZXRIVFRQQ29udGVudFR5cGUoaXRlbS5mb3JtQ29u
dGVudFR5cGUoKSk7Ci0gICAgICAgIGlmIChkb2VzUmVxdWVzdE5lZWRIVFRQT3JpZ2luSGVhZGVy
KHJlcXVlc3QpKSB7Ci0gICAgICAgICAgICBhdXRvIHNlY3VyaXR5T3JpZ2luID0gU2VjdXJpdHlP
cmlnaW46OmNyZWF0ZUZyb21TdHJpbmcoaXRlbS5yZWZlcnJlcigpKTsKLSAgICAgICAgICAgIGF1
dG8gb3JpZ2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVhZGVyKG1fZnJhbWUu
ZG9jdW1lbnQoKS0+cmVmZXJyZXJQb2xpY3koKSwgcmVxdWVzdC51cmwoKSwgc2VjdXJpdHlPcmln
aW4pOwotICAgICAgICAgICAgcmVxdWVzdC5zZXRIVFRQT3JpZ2luKG9yaWdpbik7Ci0gICAgICAg
IH0KKyAgICAgICAgYXV0byBzZWN1cml0eU9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVG
cm9tU3RyaW5nKGl0ZW0ucmVmZXJyZXIoKSk7CisgICAgICAgIGFkZEhUVFBPcmlnaW5JZk5lZWRl
ZChyZXF1ZXN0LCBzZWN1cml0eU9yaWdpbi0+dG9TdHJpbmcoKSk7CiAKICAgICAgICAgYWRkRXh0
cmFGaWVsZHNUb1JlcXVlc3QocmVxdWVzdCwgSXNNYWluUmVzb3VyY2U6OlllcywgbG9hZFR5cGUp
OwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggZTE4NzU0ODIw
NTJmNGRlOGJkYzUxYTUzNmViN2IwYjU0YzdlNjBhMC4uMDUxNTc5ZTU1NjM3ZmQ3ZjczNmQ2OGVk
MGQ0NzQ4OTc2NTlhZGQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTE2
NCw2ICsxNjQsNyBAQCBwdWJsaWM6CiAgICAgUmVmZXJyZXJQb2xpY3kgZWZmZWN0aXZlUmVmZXJy
ZXJQb2xpY3koKSBjb25zdDsKICAgICBTdHJpbmcgcmVmZXJyZXIoKSBjb25zdDsKICAgICBXRUJD
T1JFX0VYUE9SVCBTdHJpbmcgb3V0Z29pbmdSZWZlcnJlcigpIGNvbnN0OworICAgIFN0cmluZyBv
dXRnb2luZ09yaWdpbigpIGNvbnN0OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRMb2Fk
ZXIqIGFjdGl2ZURvY3VtZW50TG9hZGVyKCkgY29uc3Q7CiAgICAgRG9jdW1lbnRMb2FkZXIqIGRv
Y3VtZW50TG9hZGVyKCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVudExvYWRlci5nZXQoKTsgfQpA
QCAtMjE2LDYgKzIxNyw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRldGFj
aEZyb21QYXJlbnQoKTsKICAgICB2b2lkIGRldGFjaFZpZXdzQW5kRG9jdW1lbnRMb2FkZXIoKTsK
IAorICAgIHN0YXRpYyB2b2lkIGFkZEhUVFBPcmlnaW5JZk5lZWRlZChSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBTdHJpbmcmIG9yaWdpbik7CiAgICAgc3RhdGljIHZvaWQgYWRkU2FtZVNpdGVJbmZv
VG9SZXF1ZXN0SWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgRG9jdW1lbnQqIGluaXRp
YXRvciA9IG51bGxwdHIpOwogCiAgICAgY29uc3QgRnJhbWVMb2FkZXJDbGllbnQmIGNsaWVudCgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50LmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggYjhlNzE1NzNlZmU2MGI5MTY1ZTIxMTFi
MDI0MmExMGI2OGZlODkzYy4uYzNkZDExYTE3YzBjMDMzNTJjMTE5M2YwNjllYWVjYjdjOGNmNDI1
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApA
QCAtMzAzLDcgKzMwMyw3IEBAIHB1YmxpYzoKICAgICAgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFt
ZUxvYWRSZXF1ZXN0IHsgcmVxdWVzdGluZ0RvY3VtZW50LCByZXF1ZXN0aW5nRG9jdW1lbnQuc2Vj
dXJpdHlPcmlnaW4oKSwgeyB9LCB7IH0sIGluaXRpYXRlZEJ5TWFpbkZyYW1lKCkgfTsKICAgICAg
ICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRMb2NrSGlzdG9yeShsb2NrSGlzdG9yeSgpKTsKICAgICAg
ICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRMb2NrQmFja0ZvcndhcmRMaXN0KGxvY2tCYWNrRm9yd2Fy
ZExpc3QoKSk7Ci0gICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0UmVmZXJyZXJQb2xpY3kocmVx
dWVzdGluZ0RvY3VtZW50LnJlZmVycmVyUG9saWN5KCkpOworICAgICAgICBmcmFtZUxvYWRSZXF1
ZXN0LnNldFJlZmVycmVyUG9saWN5KFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZyk7CiAgICAg
ICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeShzaG91
bGRPcGVuRXh0ZXJuYWxVUkxzKCkpOwogICAgICAgICBtX3N1Ym1pc3Npb24tPnBvcHVsYXRlRnJh
bWVMb2FkUmVxdWVzdChmcmFtZUxvYWRSZXF1ZXN0KTsKICAgICAgICAgZnJhbWUubG9hZGVyKCku
bG9hZEZyYW1lUmVxdWVzdChXVEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpLCBtX3N1Ym1pc3Npb24t
PmV2ZW50KCksIG1fc3VibWlzc2lvbi0+dGFrZVN0YXRlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Bp
bmdMb2FkZXIuY3BwCmluZGV4IGQxYjM1Njc1N2NjY2FiNGQ1MTBkMWJkMDc5M2IwODY5NTEzOGY4
MDkuLjRmMmE2MTBiYjIyNGFiMTc2NjkyNzRkMmEwM2NiYzQyYjE1ODk3OGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAKQEAgLTEzNiwxMCArMTM2LDkgQEAgdm9pZCBQaW5nTG9h
ZGVyOjpzZW5kUGluZyhGcmFtZSYgZnJhbWUsIGNvbnN0IFVSTCYgcGluZ1VSTCwgY29uc3QgVVJM
JiBkZXN0aW5hdGkKIAogICAgIEhUVFBIZWFkZXJNYXAgb3JpZ2luYWxSZXF1ZXN0SGVhZGVyID0g
cmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCk7CiAKLSAgICBpZiAoZG9lc1JlcXVlc3ROZWVkSFRU
UE9yaWdpbkhlYWRlcihyZXF1ZXN0KSkgewotICAgICAgICBhdXRvIG9yaWdpbiA9IFNlY3VyaXR5
UG9saWN5OjpnZW5lcmF0ZU9yaWdpbkhlYWRlcihkb2N1bWVudC5yZWZlcnJlclBvbGljeSgpLCBy
ZXF1ZXN0LnVybCgpLCBkb2N1bWVudC5zZWN1cml0eU9yaWdpbigpKTsKLSAgICAgICAgcmVxdWVz
dC5zZXRIVFRQT3JpZ2luKG9yaWdpbik7Ci0gICAgfQorICAgIGF1dG8mIHNvdXJjZU9yaWdpbiA9
IGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCk7CisgICAgRnJhbWVMb2FkZXI6OmFkZEhUVFBPcmln
aW5JZk5lZWRlZChyZXF1ZXN0LCBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5IZWFkZXIo
ZG9jdW1lbnQucmVmZXJyZXJQb2xpY3koKSwgcmVxdWVzdC51cmwoKSwgc291cmNlT3JpZ2luKSk7
CisKICAgICBmcmFtZS5sb2FkZXIoKS5hZGRFeHRyYUZpZWxkc1RvUmVxdWVzdChyZXF1ZXN0LCBJ
c01haW5SZXNvdXJjZTo6Tm8pOwogICAgIHJlcXVlc3Quc2V0SFRUUEhlYWRlckZpZWxkKEhUVFBI
ZWFkZXJOYW1lOjpQaW5nVG8sIGRlc3RpbmF0aW9uVVJMLnN0cmluZygpKTsKICAgICBpZiAoIVNl
Y3VyaXR5UG9saWN5OjpzaG91bGRIaWRlUmVmZXJyZXIocGluZ1VSTCwgZnJhbWUubG9hZGVyKCku
b3V0Z29pbmdSZWZlcnJlcigpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IDVjM2JkMDNkMTg1OGYzNzZhZWM4YTE3NDA0ZTYwMmUxZWNjZGI3MDIu
LmJlNmEzZmNhY2QzM2QzODZhZWFlYmIyMzlkNjAwMTdmMTMzYzc3MmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtNDcsNyArNDcsNiBAQAogI2lu
Y2x1ZGUgIlJlc291cmNlTG9hZE9ic2VydmVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VUaW1pbmcu
aCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCi0jaW5jbHVkZSAiU2VjdXJp
dHlQb2xpY3kuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0
aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KQEAgLTY3MCwxMCArNjY5LDcgQEAg
RXhwZWN0ZWQ8dm9pZCwgU3RyaW5nPiBTdWJyZXNvdXJjZUxvYWRlcjo6Y2hlY2tSZWRpcmVjdGlv
bkNyb3NzT3JpZ2luQWNjZXNzQ29udHIKIAogICAgIHVwZGF0ZVJlcXVlc3RSZWZlcnJlcihuZXdS
ZXF1ZXN0LCByZWZlcnJlclBvbGljeSgpLCBwcmV2aW91c1JlcXVlc3QuaHR0cFJlZmVycmVyKCkp
OwogCi0gICAgaWYgKGRvZXNSZXF1ZXN0TmVlZEhUVFBPcmlnaW5IZWFkZXIobmV3UmVxdWVzdCkp
IHsKLSAgICAgICAgYXV0byBvcmlnaW4gPSBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVPcmlnaW5I
ZWFkZXIocmVmZXJyZXJQb2xpY3koKSwgbmV3UmVxdWVzdC51cmwoKSwgbV9vcmlnaW4gPyAqbV9v
cmlnaW4gOiBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlVW5pcXVlKCkuZ2V0KCkpOwotICAgICAgICBu
ZXdSZXF1ZXN0LnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKLSAgICB9CisgICAgRnJhbWVMb2FkZXI6
OmFkZEhUVFBPcmlnaW5JZk5lZWRlZChuZXdSZXF1ZXN0LCBtX29yaWdpbiA/IG1fb3JpZ2luLT50
b1N0cmluZygpIDogU3RyaW5nKCkpOwogCiAgICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKaW5k
ZXggNzUwOGQ3NWFjZmExOWUxMWRmYTI1NmI2NjczNDRhNjMzZGEyM2FjYi4uZjY5NzRjYzI2ZTc3
OGZhY2MzNjY1Nzc2ODA4ODllNzg2ZWE2MzcwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKQEAgLTIyOSwxMSArMjI5
LDE0IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1cGRhdGVSZWZlcnJlckFuZE9yaWdp
bkhlYWRlcnMoRnJhbWVMb2FkZXImIGZyYW1lTG9hCiAgICAgICAgIG91dGdvaW5nUmVmZXJyZXIg
PSBtX3Jlc291cmNlUmVxdWVzdC5odHRwUmVmZXJyZXIoKTsKICAgICB1cGRhdGVSZXF1ZXN0UmVm
ZXJyZXIobV9yZXNvdXJjZVJlcXVlc3QsIG1fb3B0aW9ucy5yZWZlcnJlclBvbGljeSwgb3V0Z29p
bmdSZWZlcnJlcik7CiAKLSAgICBpZiAoZG9lc1JlcXVlc3ROZWVkSFRUUE9yaWdpbkhlYWRlciht
X3Jlc291cmNlUmVxdWVzdCkpIHsKLSAgICAgICAgYXV0byBvdXRnb2luZ09yaWdpbiA9IFNlY3Vy
aXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKG91dGdvaW5nUmVmZXJyZXIpOwotICAgICAgICBh
dXRvIG9yaWdpbiA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdpbkhlYWRlcihtX29wdGlv
bnMucmVmZXJyZXJQb2xpY3ksIG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBvdXRnb2luZ09yaWdp
bik7Ci0gICAgICAgIG1fcmVzb3VyY2VSZXF1ZXN0LnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKLSAg
ICB9CisgICAgaWYgKCFtX3Jlc291cmNlUmVxdWVzdC5odHRwT3JpZ2luKCkuaXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm47CisgICAgU3RyaW5nIG91dGdvaW5nT3JpZ2luOworICAgIGlmIChtX29w
dGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnMpCisgICAgICAgIG91dGdvaW5n
T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcob3V0Z29pbmdSZWZlcnJl
ciktPnRvU3RyaW5nKCk7CisgICAgZWxzZQorICAgICAgICBvdXRnb2luZ09yaWdpbiA9IFNlY3Vy
aXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdpbkhlYWRlcihtX29wdGlvbnMucmVmZXJyZXJQb2xpY3ks
IG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmlu
ZyhvdXRnb2luZ1JlZmVycmVyKSk7CisgICAgRnJhbWVMb2FkZXI6OmFkZEhUVFBPcmlnaW5JZk5l
ZWRlZChtX3Jlc291cmNlUmVxdWVzdCwgb3V0Z29pbmdPcmlnaW4pOwogfQogCiB2b2lkIENhY2hl
ZFJlc291cmNlUmVxdWVzdDo6dXBkYXRlVXNlckFnZW50SGVhZGVyKEZyYW1lTG9hZGVyJiBmcmFt
ZUxvYWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuY3BwCmluZGV4IDUzMGVjY2ZhZTc5M2UzNWRlZTk5ZWMwNDA3NzA3
YTM4ZjljN2M5ZWUuLmQzNmQ3NzBkMzIzYTc2OTAyNDcxMzljY2QyMGJkNDU2YTMxYTg0NDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
cXVlc3RCYXNlLmNwcApAQCAtNzQ4LDE4ICs3NDgsNCBAQCBTdHJpbmcgUmVzb3VyY2VSZXF1ZXN0
QmFzZTo6cGFydGl0aW9uTmFtZShjb25zdCBTdHJpbmcmIGRvbWFpbikKICNlbmRpZgogfQogCi1i
b29sIGRvZXNSZXF1ZXN0TmVlZEhUVFBPcmlnaW5IZWFkZXIoY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0KQotewotICAgIGlmICghcmVxdWVzdC5odHRwT3JpZ2luKCkuaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFJlcXVlc3QgYWxyZWFkeSBoYXMgYW4gT3JpZ2luIGhl
YWRlci4KLQotICAgIC8vIERvbid0IHNlbmQgYW4gT3JpZ2luIGhlYWRlciBmb3IgR0VUIG9yIEhF
QUQgdG8gYXZvaWQgcHJpdmFjeSBpc3N1ZXMuCi0gICAgLy8gRm9yIGV4YW1wbGUsIGlmIGFuIGlu
dHJhbmV0IHBhZ2UgaGFzIGEgaHlwZXJsaW5rIHRvIGFuIGV4dGVybmFsIHdlYgotICAgIC8vIHNp
dGUsIHdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgT3JpZ2luIG9mIHRoZSByZXF1ZXN0IGJl
Y2F1c2UgaXQKLSAgICAvLyB3aWxsIGxlYWsgdGhlIGludGVybmFsIGhvc3QgbmFtZS4gU2ltaWxh
ciBwcml2YWN5IGNvbmNlcm5zIGhhdmUgbGVhZAotICAgIC8vIHRvIHRoZSB3aWRlc3ByZWFkIHN1
cHByZXNzaW9uIG9mIHRoZSBSZWZlcmVyIGhlYWRlciBhdCB0aGUgbmV0d29yawotICAgIC8vIGxh
eWVyLgotICAgIHJldHVybiByZXF1ZXN0Lmh0dHBNZXRob2QoKSAhPSAiR0VUIiAmJiByZXF1ZXN0
Lmh0dHBNZXRob2QoKSAhPSAiSEVBRCI7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggYzVmNzcyYzhk
MjBiMWU1MmU5NTllYjMwY2Y4YjU0YTAyMmYzM2FiZS4uNjZmNWZkNzQxNmNhODdlNTQ4NzllNGYy
N2RlNzg3MzNiZTQ3ZTZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTI2Miw4ICsyNjIsNiBAQCBwcml2YXRl
OgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBkb3VibGUgc19kZWZhdWx0VGltZW91dEludGVy
dmFsOwogfTsKIAotYm9vbCBkb2VzUmVxdWVzdE5lZWRIVFRQT3JpZ2luSGVhZGVyKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYpOwotCiBib29sIGVxdWFsSWdub3JpbmdIZWFkZXJGaWVsZHMoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0QmFzZSYsIGNvbnN0IFJlc291cmNlUmVxdWVzdEJhc2UmKTsKIAogaW5s
aW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6ZXF1YWwoYSwgYik7
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398236</attachid>
            <date>2020-05-01 14:06:43 -0700</date>
            <delta_ts>2020-05-01 16:07:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211122-20200501140642.patch</filename>
            <type>text/plain</type>
            <size>15985</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODlhM2U4ZTRkMDhjYmRk
ZGQzZTQwZWI1MjIxMTJhZmE2OGFmZjA5Ny4uYTJlNDA2ZGU0ZTk2YmEyMDNiNWJjZWE5ZDViZWIx
ZDA4YmEyZjczYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTA1LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMjU5MDM2
KSBVbmFibGUgdG8gcG9zdCBjb21tZW50cyBvbiBKaXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTExMjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzYyNTYxODc5PgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydCByMjU5MDM2IGFzIHRoZSBu
ZXcgYmVoYXZpb3IgZG9lcyBub3QgbWF0Y2ggb3RoZXIgYnJvd3NlcnMKKyAgICAgICAgYW5kIGJy
b2tlIHNvbWUgSmlyYSBpbnN0YW5jZXMuCisKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Np
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybVN1Ym1pc3Npb246OnBvcHVsYXRlRnJhbWVM
b2FkUmVxdWVzdCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjphZGRFeHRyYUZpZWxkc1RvUmVxdWVzdCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6YWRkSFRUUE9yaWdpbklmTmVlZGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKToKKyAg
ICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlv
blNjaGVkdWxlci5jcHA6CisgICAgICAgICogbG9hZGVyL1BpbmdMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGluZ0xvYWRlcjo6c2VuZFBpbmcpOgorICAgICAgICAqIGxvYWRlci9TdWJy
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6
Y2hlY2tSZWRpcmVjdGlvbkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbCk6CisgICAgICAgICogbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZVJlcXVlc3Q6OnVwZGF0ZVJlZmVycmVyQW5kT3JpZ2luSGVhZGVycyk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmRvZXNSZXF1ZXN0TmVlZEhUVFBPcmlnaW5IZWFkZXIpOiBEZWxldGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oOgorCiAyMDIw
LTA1LTAxICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAg
W0dUS10gQWRkIGFkZGl0aW9uYWwgZXhwb3J0cyB0byBzdXBwb3J0IGhpZGRlbiB2aXNpYmlsaXR5
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCAzMGFmOTAwODA0
OWE4ZTM5ODJmOWM5YmY0OWRhZWJmYzkyZWE2ODBkLi5kOGE1ZWEwMGU2N2M0MDFlOTU1ZWEzNzgw
ZmI0ZGY1ODhiMmQ5ODgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1
Ym1pc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5j
cHAKQEAgLTQ4LDcgKzQ4LDYgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJI
VE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiU2NyaXB0RGlzYWxsb3dlZFNjb3BlLmgiCi0j
aW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIKICNp
bmNsdWRlIDx3dGYvV2FsbFRpbWUuaD4KIApAQCAtMjQ4LDExICsyNDcsNyBAQCB2b2lkIEZvcm1T
dWJtaXNzaW9uOjpwb3B1bGF0ZUZyYW1lTG9hZFJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdCYgZnJh
bWVSZXF1ZXN0KQogICAgIH0KIAogICAgIGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5z
ZXRVUkwocmVxdWVzdFVSTCgpKTsKLSAgICBpZiAoZG9lc1JlcXVlc3ROZWVkSFRUUE9yaWdpbkhl
YWRlcihmcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkpKSB7Ci0gICAgICAgIGF1dG8gc2Vj
dXJpdHlPcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbVN0cmluZyhtX29yaWdpbik7
Ci0gICAgICAgIGF1dG8gb3JpZ2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3JpZ2luSGVh
ZGVyKGZyYW1lUmVxdWVzdC5yZXF1ZXN0ZXIoKS5yZWZlcnJlclBvbGljeSgpLCBmcmFtZVJlcXVl
c3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCksIHNlY3VyaXR5T3JpZ2luKTsKLSAgICAgICAgZnJh
bWVSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKLSAgICB9
CisgICAgRnJhbWVMb2FkZXI6OmFkZEhUVFBPcmlnaW5JZk5lZWRlZChmcmFtZVJlcXVlc3QucmVz
b3VyY2VSZXF1ZXN0KCksIG1fb3JpZ2luKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAKaW5kZXggMjFlZWYzZjhlN2Q4MTBhZmRhZDdjMDUyYmM4Mzk3MTMwMGRmZTg1
NC4uMmU3OWExMzA5YzNkMDViODllNjkwODE3M2ZiZjYyYmNhNTE3MGIwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0xMDM5LDYgKzEwMzksMTEgQEAgU3RyaW5nIEZy
YW1lTG9hZGVyOjpvdXRnb2luZ1JlZmVycmVyKCkgY29uc3QKICAgICByZXR1cm4gZnJhbWUtPmxv
YWRlcigpLm1fb3V0Z29pbmdSZWZlcnJlcjsKIH0KIAorU3RyaW5nIEZyYW1lTG9hZGVyOjpvdXRn
b2luZ09yaWdpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJhbWUuZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS50b1N0cmluZygpOworfQorCiBib29sIEZyYW1lTG9hZGVyOjpjaGVja0lm
Rm9ybUFjdGlvbkFsbG93ZWRCeUNTUChjb25zdCBVUkwmIHVybCwgYm9vbCBkaWRSZWNlaXZlUmVk
aXJlY3RSZXNwb25zZSkgY29uc3QKIHsKICAgICBpZiAobV9zdWJtaXR0ZWRGb3JtVVJMLmlzRW1w
dHkoKSkKQEAgLTI5NDIsNiArMjk0Nyw5IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmll
bGRzVG9SZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgSXNNYWluUmVzb3VyCiAgICAg
aWYgKG1fb3ZlcnJpZGVSZXNvdXJjZUxvYWRQcmlvcml0eUZvclRlc3RpbmcpCiAgICAgICAgIHJl
cXVlc3Quc2V0UHJpb3JpdHkobV9vdmVycmlkZVJlc291cmNlTG9hZFByaW9yaXR5Rm9yVGVzdGlu
Zy52YWx1ZSgpKTsKIAorICAgIC8vIE1ha2Ugc3VyZSB3ZSBzZW5kIHRoZSBPcmlnaW4gaGVhZGVy
LgorICAgIGFkZEhUVFBPcmlnaW5JZk5lZWRlZChyZXF1ZXN0LCBTdHJpbmcoKSk7CisKICAgICAv
LyBPbmx5IHNldCBmYWxsYmFjayBhcnJheSBpZiBpdCdzIHN0aWxsIGVtcHR5IChsYXRlciBhdHRl
bXB0cyBtYXkgYmUgaW5jb3JyZWN0LCBzZWUgYnVnIDExNzgxOCkuCiAgICAgaWYgKHJlcXVlc3Qu
cmVzcG9uc2VDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkoKS5pc0VtcHR5
KCkpIHsKICAgICAgICAgLy8gQWx3YXlzIHRyeSBVVEYtOC4gSWYgdGhhdCBmYWlscywgdHJ5IGZy
YW1lIGVuY29kaW5nIChpZiBhbnkpIGFuZCB0aGVuIHRoZSBkZWZhdWx0LgpAQCAtMjk0OSw2ICsy
OTU3LDM2IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmFkZEV4dHJhRmllbGRzVG9SZXF1ZXN0KFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgSXNNYWluUmVzb3VyCiAgICAgfQogfQogCit2b2lkIEZyYW1l
TG9hZGVyOjphZGRIVFRQT3JpZ2luSWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBTdHJpbmcmIG9yaWdpbikKK3sKKyAgICBpZiAoIXJlcXVlc3QuaHR0cE9yaWdpbigpLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOyAgLy8gUmVxdWVzdCBhbHJlYWR5IGhhcyBhbiBPcmln
aW4gaGVhZGVyLgorCisgICAgLy8gRG9uJ3Qgc2VuZCBhbiBPcmlnaW4gaGVhZGVyIGZvciBHRVQg
b3IgSEVBRCB0byBhdm9pZCBwcml2YWN5IGlzc3Vlcy4KKyAgICAvLyBGb3IgZXhhbXBsZSwgaWYg
YW4gaW50cmFuZXQgcGFnZSBoYXMgYSBoeXBlcmxpbmsgdG8gYW4gZXh0ZXJuYWwgd2ViCisgICAg
Ly8gc2l0ZSwgd2UgZG9uJ3Qgd2FudCB0byBpbmNsdWRlIHRoZSBPcmlnaW4gb2YgdGhlIHJlcXVl
c3QgYmVjYXVzZSBpdAorICAgIC8vIHdpbGwgbGVhayB0aGUgaW50ZXJuYWwgaG9zdCBuYW1lLiBT
aW1pbGFyIHByaXZhY3kgY29uY2VybnMgaGF2ZSBsZWFkCisgICAgLy8gdG8gdGhlIHdpZGVzcHJl
YWQgc3VwcHJlc3Npb24gb2YgdGhlIFJlZmVyZXIgaGVhZGVyIGF0IHRoZSBuZXR3b3JrCisgICAg
Ly8gbGF5ZXIuCisgICAgaWYgKHJlcXVlc3QuaHR0cE1ldGhvZCgpID09ICJHRVQiIHx8IHJlcXVl
c3QuaHR0cE1ldGhvZCgpID09ICJIRUFEIikKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gRklY
TUU6IHRha2UgcmVmZXJyZXItcG9saWN5IGludG8gYWNjb3VudC4KKyAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDY2CisKKyAgICAvLyBGb3Igbm9uLUdF
VCBhbmQgbm9uLUhFQUQgbWV0aG9kcywgYWx3YXlzIHNlbmQgYW4gT3JpZ2luIGhlYWRlciBzbyB0
aGUKKyAgICAvLyBzZXJ2ZXIga25vd3Mgd2Ugc3VwcG9ydCB0aGlzIGZlYXR1cmUuCisKKyAgICBp
ZiAob3JpZ2luLmlzRW1wdHkoKSkgeworICAgICAgICAvLyBJZiB3ZSBkb24ndCBrbm93IHdoYXQg
b3JpZ2luIGhlYWRlciB0byBhdHRhY2gsIHdlIGF0dGFjaCB0aGUgdmFsdWUKKyAgICAgICAgLy8g
Zm9yIGFuIGVtcHR5IG9yaWdpbi4KKyAgICAgICAgcmVxdWVzdC5zZXRIVFRQT3JpZ2luKFNlY3Vy
aXR5T3JpZ2luOjpjcmVhdGVVbmlxdWUoKS0+dG9TdHJpbmcoKSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICByZXF1ZXN0LnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKK30KKwogLy8gSW1w
bGVtZW50cyB0aGUgIidTYW1lLXNpdGUnIGFuZCAnY3Jvc3Mtc2l0ZScgUmVxdWVzdHMiIGFsZ29y
aXRobSBmcm9tIDxodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1odHRwYmlz
LWNvb2tpZS1zYW1lLXNpdGUtMDAjc2VjdGlvbi0yLjE+LgogLy8gVGhlIGFsZ29yaXRobSBpcyBh
bW1lbmRlZCB0byB0cmVhdCBVUkxzIHRoYXQgaW5oZXJpdCB0aGVpciBzZWN1cml0eSBvcmlnaW4g
ZnJvbSB0aGVpciBvd25lciAoZS5nLiBhYm91dDpibGFuaykKIC8vIGFzIHNhbWUtc2l0ZS4gVGhp
cyBtYXRjaGVzIHRoZSBiZWhhdmlvciBvZiBDaHJvbWUgYW5kIEZpcmVmb3guCkBAIC0zMDM1LDEw
ICszMDczLDcgQEAgdW5zaWduZWQgbG9uZyBGcmFtZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hy
b25vdXNseShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXUKICAgICAKICAgICBpZiAoIXJlZmVy
cmVyLmlzRW1wdHkoKSkKICAgICAgICAgaW5pdGlhbFJlcXVlc3Quc2V0SFRUUFJlZmVycmVyKHJl
ZmVycmVyKTsKLSAgICBpZiAoZG9lc1JlcXVlc3ROZWVkSFRUUE9yaWdpbkhlYWRlcihpbml0aWFs
UmVxdWVzdCkpIHsKLSAgICAgICAgYXV0byBvcmlnaW4gPSBTZWN1cml0eVBvbGljeTo6Z2VuZXJh
dGVPcmlnaW5IZWFkZXIobV9mcmFtZS5kb2N1bWVudCgpLT5yZWZlcnJlclBvbGljeSgpLCBpbml0
aWFsUmVxdWVzdC51cmwoKSwgbV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKTsK
LSAgICAgICAgaW5pdGlhbFJlcXVlc3Quc2V0SFRUUE9yaWdpbihvcmlnaW4pOwotICAgIH0KKyAg
ICBhZGRIVFRQT3JpZ2luSWZOZWVkZWQoaW5pdGlhbFJlcXVlc3QsIG91dGdvaW5nT3JpZ2luKCkp
OwogCiAgICAgaW5pdGlhbFJlcXVlc3Quc2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXMobV9mcmFtZS5t
YWluRnJhbWUoKS5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLT5yZXF1ZXN0KCkudXJsKCkpOwog
ICAgIApAQCAtMzczOCwxMSArMzc3Myw4IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZmZXJl
bnREb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEhpc3RvcnlJdGVtKiBmcm9tCiAgICAg
ICAgIHJlcXVlc3Quc2V0SFRUUE1ldGhvZCgiUE9TVCIpOwogICAgICAgICByZXF1ZXN0LnNldEhU
VFBCb2R5KFdURk1vdmUoZm9ybURhdGEpKTsKICAgICAgICAgcmVxdWVzdC5zZXRIVFRQQ29udGVu
dFR5cGUoaXRlbS5mb3JtQ29udGVudFR5cGUoKSk7Ci0gICAgICAgIGlmIChkb2VzUmVxdWVzdE5l
ZWRIVFRQT3JpZ2luSGVhZGVyKHJlcXVlc3QpKSB7Ci0gICAgICAgICAgICBhdXRvIHNlY3VyaXR5
T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcoaXRlbS5yZWZlcnJlcigp
KTsKLSAgICAgICAgICAgIGF1dG8gb3JpZ2luID0gU2VjdXJpdHlQb2xpY3k6OmdlbmVyYXRlT3Jp
Z2luSGVhZGVyKG1fZnJhbWUuZG9jdW1lbnQoKS0+cmVmZXJyZXJQb2xpY3koKSwgcmVxdWVzdC51
cmwoKSwgc2VjdXJpdHlPcmlnaW4pOwotICAgICAgICAgICAgcmVxdWVzdC5zZXRIVFRQT3JpZ2lu
KG9yaWdpbik7Ci0gICAgICAgIH0KKyAgICAgICAgYXV0byBzZWN1cml0eU9yaWdpbiA9IFNlY3Vy
aXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKGl0ZW0ucmVmZXJyZXIoKSk7CisgICAgICAgIGFk
ZEhUVFBPcmlnaW5JZk5lZWRlZChyZXF1ZXN0LCBzZWN1cml0eU9yaWdpbi0+dG9TdHJpbmcoKSk7
CiAKICAgICAgICAgYWRkRXh0cmFGaWVsZHNUb1JlcXVlc3QocmVxdWVzdCwgSXNNYWluUmVzb3Vy
Y2U6OlllcywgbG9hZFR5cGUpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmgKaW5kZXggZTE4NzU0ODIwNTJmNGRlOGJkYzUxYTUzNmViN2IwYjU0YzdlNjBhMC4uMDUxNTc5
ZTU1NjM3ZmQ3ZjczNmQ2OGVkMGQ0NzQ4OTc2NTlhZGQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmgKQEAgLTE2NCw2ICsxNjQsNyBAQCBwdWJsaWM6CiAgICAgUmVmZXJyZXJQb2xp
Y3kgZWZmZWN0aXZlUmVmZXJyZXJQb2xpY3koKSBjb25zdDsKICAgICBTdHJpbmcgcmVmZXJyZXIo
KSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgb3V0Z29pbmdSZWZlcnJlcigpIGNv
bnN0OworICAgIFN0cmluZyBvdXRnb2luZ09yaWdpbigpIGNvbnN0OwogCiAgICAgV0VCQ09SRV9F
WFBPUlQgRG9jdW1lbnRMb2FkZXIqIGFjdGl2ZURvY3VtZW50TG9hZGVyKCkgY29uc3Q7CiAgICAg
RG9jdW1lbnRMb2FkZXIqIGRvY3VtZW50TG9hZGVyKCkgY29uc3QgeyByZXR1cm4gbV9kb2N1bWVu
dExvYWRlci5nZXQoKTsgfQpAQCAtMjE2LDYgKzIxNyw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGRldGFjaEZyb21QYXJlbnQoKTsKICAgICB2b2lkIGRldGFjaFZpZXdzQW5k
RG9jdW1lbnRMb2FkZXIoKTsKIAorICAgIHN0YXRpYyB2b2lkIGFkZEhUVFBPcmlnaW5JZk5lZWRl
ZChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIG9yaWdpbik7CiAgICAgc3RhdGljIHZv
aWQgYWRkU2FtZVNpdGVJbmZvVG9SZXF1ZXN0SWZOZWVkZWQoUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgRG9jdW1lbnQqIGluaXRpYXRvciA9IG51bGxwdHIpOwogCiAgICAgY29uc3QgRnJhbWVMb2Fk
ZXJDbGllbnQmIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50LmdldCgpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggYjhlNzE1
NzNlZmU2MGI5MTY1ZTIxMTFiMDI0MmExMGI2OGZlODkzYy4uYzNkZDExYTE3YzBjMDMzNTJjMTE5
M2YwNjllYWVjYjdjOGNmNDI1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05h
dmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcApAQCAtMzAzLDcgKzMwMyw3IEBAIHB1YmxpYzoKICAgICAgICAgRnJh
bWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1ZXN0IHsgcmVxdWVzdGluZ0RvY3VtZW50LCByZXF1
ZXN0aW5nRG9jdW1lbnQuc2VjdXJpdHlPcmlnaW4oKSwgeyB9LCB7IH0sIGluaXRpYXRlZEJ5TWFp
bkZyYW1lKCkgfTsKICAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRMb2NrSGlzdG9yeShsb2Nr
SGlzdG9yeSgpKTsKICAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRMb2NrQmFja0ZvcndhcmRM
aXN0KGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7Ci0gICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0
UmVmZXJyZXJQb2xpY3kocmVxdWVzdGluZ0RvY3VtZW50LnJlZmVycmVyUG9saWN5KCkpOworICAg
ICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNldFJlZmVycmVyUG9saWN5KFJlZmVycmVyUG9saWN5OjpF
bXB0eVN0cmluZyk7CiAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0U2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeShzaG91bGRPcGVuRXh0ZXJuYWxVUkxzKCkpOwogICAgICAgICBtX3N1Ym1p
c3Npb24tPnBvcHVsYXRlRnJhbWVMb2FkUmVxdWVzdChmcmFtZUxvYWRSZXF1ZXN0KTsKICAgICAg
ICAgZnJhbWUubG9hZGVyKCkubG9hZEZyYW1lUmVxdWVzdChXVEZNb3ZlKGZyYW1lTG9hZFJlcXVl
c3QpLCBtX3N1Ym1pc3Npb24tPmV2ZW50KCksIG1fc3VibWlzc2lvbi0+dGFrZVN0YXRlKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuY3BwCmluZGV4IGQxYjM1Njc1N2NjY2FiNGQ1MTBk
MWJkMDc5M2IwODY5NTEzOGY4MDkuLjRmMmE2MTBiYjIyNGFiMTc2NjkyNzRkMmEwM2NiYzQyYjE1
ODk3OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5jcHAKQEAgLTEzNiwxMCArMTM2
LDkgQEAgdm9pZCBQaW5nTG9hZGVyOjpzZW5kUGluZyhGcmFtZSYgZnJhbWUsIGNvbnN0IFVSTCYg
cGluZ1VSTCwgY29uc3QgVVJMJiBkZXN0aW5hdGkKIAogICAgIEhUVFBIZWFkZXJNYXAgb3JpZ2lu
YWxSZXF1ZXN0SGVhZGVyID0gcmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCk7CiAKLSAgICBpZiAo
ZG9lc1JlcXVlc3ROZWVkSFRUUE9yaWdpbkhlYWRlcihyZXF1ZXN0KSkgewotICAgICAgICBhdXRv
IG9yaWdpbiA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdpbkhlYWRlcihkb2N1bWVudC5y
ZWZlcnJlclBvbGljeSgpLCByZXF1ZXN0LnVybCgpLCBkb2N1bWVudC5zZWN1cml0eU9yaWdpbigp
KTsKLSAgICAgICAgcmVxdWVzdC5zZXRIVFRQT3JpZ2luKG9yaWdpbik7Ci0gICAgfQorICAgIGF1
dG8mIHNvdXJjZU9yaWdpbiA9IGRvY3VtZW50LnNlY3VyaXR5T3JpZ2luKCk7CisgICAgRnJhbWVM
b2FkZXI6OmFkZEhUVFBPcmlnaW5JZk5lZWRlZChyZXF1ZXN0LCBTZWN1cml0eVBvbGljeTo6Z2Vu
ZXJhdGVPcmlnaW5IZWFkZXIoZG9jdW1lbnQucmVmZXJyZXJQb2xpY3koKSwgcmVxdWVzdC51cmwo
KSwgc291cmNlT3JpZ2luKSk7CisKICAgICBmcmFtZS5sb2FkZXIoKS5hZGRFeHRyYUZpZWxkc1Rv
UmVxdWVzdChyZXF1ZXN0LCBJc01haW5SZXNvdXJjZTo6Tm8pOwogICAgIHJlcXVlc3Quc2V0SFRU
UEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpQaW5nVG8sIGRlc3RpbmF0aW9uVVJMLnN0cmlu
ZygpKTsKICAgICBpZiAoIVNlY3VyaXR5UG9saWN5OjpzaG91bGRIaWRlUmVmZXJyZXIocGluZ1VS
TCwgZnJhbWUubG9hZGVyKCkub3V0Z29pbmdSZWZlcnJlcigpKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDVjM2JkMDNkMTg1OGYzNzZhZWM4YTE3
NDA0ZTYwMmUxZWNjZGI3MDIuLmJlNmEzZmNhY2QzM2QzODZhZWFlYmIyMzlkNjAwMTdmMTMzYzc3
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAt
NDcsNyArNDcsNiBAQAogI2luY2x1ZGUgIlJlc291cmNlTG9hZE9ic2VydmVyLmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgi
Ci0jaW5jbHVkZSAiU2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KQEAg
LTY3MCwxMCArNjY5LDcgQEAgRXhwZWN0ZWQ8dm9pZCwgU3RyaW5nPiBTdWJyZXNvdXJjZUxvYWRl
cjo6Y2hlY2tSZWRpcmVjdGlvbkNyb3NzT3JpZ2luQWNjZXNzQ29udHIKIAogICAgIHVwZGF0ZVJl
cXVlc3RSZWZlcnJlcihuZXdSZXF1ZXN0LCByZWZlcnJlclBvbGljeSgpLCBwcmV2aW91c1JlcXVl
c3QuaHR0cFJlZmVycmVyKCkpOwogCi0gICAgaWYgKGRvZXNSZXF1ZXN0TmVlZEhUVFBPcmlnaW5I
ZWFkZXIobmV3UmVxdWVzdCkpIHsKLSAgICAgICAgYXV0byBvcmlnaW4gPSBTZWN1cml0eVBvbGlj
eTo6Z2VuZXJhdGVPcmlnaW5IZWFkZXIocmVmZXJyZXJQb2xpY3koKSwgbmV3UmVxdWVzdC51cmwo
KSwgbV9vcmlnaW4gPyAqbV9vcmlnaW4gOiBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlVW5pcXVlKCku
Z2V0KCkpOwotICAgICAgICBuZXdSZXF1ZXN0LnNldEhUVFBPcmlnaW4ob3JpZ2luKTsKLSAgICB9
CisgICAgRnJhbWVMb2FkZXI6OmFkZEhUVFBPcmlnaW5JZk5lZWRlZChuZXdSZXF1ZXN0LCBtX29y
aWdpbiA/IG1fb3JpZ2luLT50b1N0cmluZygpIDogU3RyaW5nKCkpOwogCiAgICAgcmV0dXJuIHsg
fTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlUmVxdWVzdC5jcHAKaW5kZXggNzUwOGQ3NWFjZmExOWUxMWRmYTI1NmI2NjczNDRhNjMzZGEy
M2FjYi4uZjY5NzRjYzI2ZTc3OGZhY2MzNjY1Nzc2ODA4ODllNzg2ZWE2MzcwZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5j
cHAKQEAgLTIyOSwxMSArMjI5LDE0IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1cGRh
dGVSZWZlcnJlckFuZE9yaWdpbkhlYWRlcnMoRnJhbWVMb2FkZXImIGZyYW1lTG9hCiAgICAgICAg
IG91dGdvaW5nUmVmZXJyZXIgPSBtX3Jlc291cmNlUmVxdWVzdC5odHRwUmVmZXJyZXIoKTsKICAg
ICB1cGRhdGVSZXF1ZXN0UmVmZXJyZXIobV9yZXNvdXJjZVJlcXVlc3QsIG1fb3B0aW9ucy5yZWZl
cnJlclBvbGljeSwgb3V0Z29pbmdSZWZlcnJlcik7CiAKLSAgICBpZiAoZG9lc1JlcXVlc3ROZWVk
SFRUUE9yaWdpbkhlYWRlcihtX3Jlc291cmNlUmVxdWVzdCkpIHsKLSAgICAgICAgYXV0byBvdXRn
b2luZ09yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKG91dGdvaW5nUmVm
ZXJyZXIpOwotICAgICAgICBhdXRvIG9yaWdpbiA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9y
aWdpbkhlYWRlcihtX29wdGlvbnMucmVmZXJyZXJQb2xpY3ksIG1fcmVzb3VyY2VSZXF1ZXN0LnVy
bCgpLCBvdXRnb2luZ09yaWdpbik7Ci0gICAgICAgIG1fcmVzb3VyY2VSZXF1ZXN0LnNldEhUVFBP
cmlnaW4ob3JpZ2luKTsKLSAgICB9CisgICAgaWYgKCFtX3Jlc291cmNlUmVxdWVzdC5odHRwT3Jp
Z2luKCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgU3RyaW5nIG91dGdvaW5nT3Jp
Z2luOworICAgIGlmIChtX29wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6OkNvcnMp
CisgICAgICAgIG91dGdvaW5nT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJp
bmcob3V0Z29pbmdSZWZlcnJlciktPnRvU3RyaW5nKCk7CisgICAgZWxzZQorICAgICAgICBvdXRn
b2luZ09yaWdpbiA9IFNlY3VyaXR5UG9saWN5OjpnZW5lcmF0ZU9yaWdpbkhlYWRlcihtX29wdGlv
bnMucmVmZXJyZXJQb2xpY3ksIG1fcmVzb3VyY2VSZXF1ZXN0LnVybCgpLCBTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlRnJvbVN0cmluZyhvdXRnb2luZ1JlZmVycmVyKSk7CisgICAgRnJhbWVMb2FkZXI6
OmFkZEhUVFBPcmlnaW5JZk5lZWRlZChtX3Jlc291cmNlUmVxdWVzdCwgb3V0Z29pbmdPcmlnaW4p
OwogfQogCiB2b2lkIENhY2hlZFJlc291cmNlUmVxdWVzdDo6dXBkYXRlVXNlckFnZW50SGVhZGVy
KEZyYW1lTG9hZGVyJiBmcmFtZUxvYWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCmluZGV4IDUzMGVjY2ZhZTc5
M2UzNWRlZTk5ZWMwNDA3NzA3YTM4ZjljN2M5ZWUuLmQzNmQ3NzBkMzIzYTc2OTAyNDcxMzljY2Qy
MGJkNDU2YTMxYTg0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcApAQCAtNzQ4LDE4ICs3NDgsNCBAQCBTdHJp
bmcgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6cGFydGl0aW9uTmFtZShjb25zdCBTdHJpbmcmIGRvbWFp
bikKICNlbmRpZgogfQogCi1ib29sIGRvZXNSZXF1ZXN0TmVlZEhUVFBPcmlnaW5IZWFkZXIoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQotewotICAgIGlmICghcmVxdWVzdC5odHRwT3Jp
Z2luKCkuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFJlcXVlc3QgYWxyZWFk
eSBoYXMgYW4gT3JpZ2luIGhlYWRlci4KLQotICAgIC8vIERvbid0IHNlbmQgYW4gT3JpZ2luIGhl
YWRlciBmb3IgR0VUIG9yIEhFQUQgdG8gYXZvaWQgcHJpdmFjeSBpc3N1ZXMuCi0gICAgLy8gRm9y
IGV4YW1wbGUsIGlmIGFuIGludHJhbmV0IHBhZ2UgaGFzIGEgaHlwZXJsaW5rIHRvIGFuIGV4dGVy
bmFsIHdlYgotICAgIC8vIHNpdGUsIHdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgT3JpZ2lu
IG9mIHRoZSByZXF1ZXN0IGJlY2F1c2UgaXQKLSAgICAvLyB3aWxsIGxlYWsgdGhlIGludGVybmFs
IGhvc3QgbmFtZS4gU2ltaWxhciBwcml2YWN5IGNvbmNlcm5zIGhhdmUgbGVhZAotICAgIC8vIHRv
IHRoZSB3aWRlc3ByZWFkIHN1cHByZXNzaW9uIG9mIHRoZSBSZWZlcmVyIGhlYWRlciBhdCB0aGUg
bmV0d29yawotICAgIC8vIGxheWVyLgotICAgIHJldHVybiByZXF1ZXN0Lmh0dHBNZXRob2QoKSAh
PSAiR0VUIiAmJiByZXF1ZXN0Lmh0dHBNZXRob2QoKSAhPSAiSEVBRCI7Ci19Ci0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNl
LmgKaW5kZXggYzVmNzcyYzhkMjBiMWU1MmU5NTllYjMwY2Y4YjU0YTAyMmYzM2FiZS4uNjZmNWZk
NzQxNmNhODdlNTQ4NzllNGYyN2RlNzg3MzNiZTQ3ZTZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTI2Miw4
ICsyNjIsNiBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBkb3VibGUgc19k
ZWZhdWx0VGltZW91dEludGVydmFsOwogfTsKIAotYm9vbCBkb2VzUmVxdWVzdE5lZWRIVFRQT3Jp
Z2luSGVhZGVyKGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOwotCiBib29sIGVxdWFsSWdub3JpbmdI
ZWFkZXJGaWVsZHMoY29uc3QgUmVzb3VyY2VSZXF1ZXN0QmFzZSYsIGNvbnN0IFJlc291cmNlUmVx
dWVzdEJhc2UmKTsKIAogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0
QmFzZTo6ZXF1YWwoYSwgYik7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L29yaWdpbi9hc3NvcnRlZC53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IDE3YWIxZmE4MDJhODBi
YmNmMmYyNmEyOGExZTE5NjYzNTYwMTllMDEuLmRhZGJmZTFmYjMwMjNlNWY5YWU1ZWNhYTFjMDlh
ODhiOWExOGY5YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvb3JpZ2luL2Fzc29ydGVkLndpbmRvdy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9vcmln
aW4vYXNzb3J0ZWQud2luZG93LWV4cGVjdGVkLnR4dApAQCAtNCw3ICs0LDcgQEAgUEFTUyBPcmln
aW4gaGVhZGVyIGFuZCBHRVQgbmF2aWdhdGlvbgogUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NU
IG5hdmlnYXRpb24gCiBQQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1vcmlnaW4gbmF2
aWdhdGlvbiB3aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciAKIFBBU1MgT3JpZ2luIGhl
YWRlciBhbmQgUE9TVCBzYW1lLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZlcnJl
ci1Qb2xpY3kgbm8tcmVmZXJyZXIgCi1QQVNTIE9yaWdpbiBoZWFkZXIgYW5kIFBPU1Qgc2FtZS1v
cmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyIAor
RkFJTCBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIHNhbWUtb3JpZ2luIGZldGNoIGNvcnMgbW9kZSB3
aXRoIFJlZmVycmVyLVBvbGljeSBuby1yZWZlcnJlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
bnVsbCIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwIgogUEFTUyBPcmlnaW4gaGVhZGVy
IGFuZCBHRVQgc2FtZS1vcmlnaW4gZmV0Y2ggY29ycyBtb2RlIHdpdGggUmVmZXJyZXItUG9saWN5
IG5vLXJlZmVycmVyIAogUEFTUyBPcmlnaW4gaGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBu
YXZpZ2F0aW9uIHdpdGggUmVmZXJyZXItUG9saWN5IG5vLXJlZmVycmVyIAogUEFTUyBPcmlnaW4g
aGVhZGVyIGFuZCBQT1NUIGNyb3NzLW9yaWdpbiBmZXRjaCBuby1jb3JzIG1vZGUgd2l0aCBSZWZl
cnJlci1Qb2xpY3kgbm8tcmVmZXJyZXIgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>