<?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>197798</bug_id>
          
          <creation_ts>2019-05-10 14:05:01 -0700</creation_ts>
          <short_desc>Take out MediaPlayback UI assertion when any WebProcess is playing audible media</short_desc>
          <delta_ts>2019-05-13 15:02:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1535181</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-05-10 14:05:01 -0700</bug_when>
    <thetext>Take out MediaPlayback UI assertion when any WebProcess is playing audible media</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535188</commentid>
    <comment_count>1</comment_count>
      <attachid>369597</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-05-10 14:16:34 -0700</bug_when>
    <thetext>Created attachment 369597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535189</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-10 14:18:47 -0700</bug_when>
    <thetext>Attachment 369597 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/WebProcessProxy.cpp:1215:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535203</commentid>
    <comment_count>3</comment_count>
      <attachid>369604</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-05-10 15:06:44 -0700</bug_when>
    <thetext>Created attachment 369604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535206</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-10 15:09:13 -0700</bug_when>
    <thetext>Attachment 369604 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/WebProcessProxy.cpp:1215:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535215</commentid>
    <comment_count>5</comment_count>
      <attachid>369604</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-10 15:45:33 -0700</bug_when>
    <thetext>Comment on attachment 369604
Patch

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

&gt; Source/WebKit/UIProcess/WebProcessPool.h:795
&gt; +    HashMap&lt;WebCore::ProcessIdentifier, std::unique_ptr&lt;ProcessAssertion&gt;&gt; m_processesPlayingAudibleMedia;

What makes sure this gets cleared properly in the event of a WebContent process crash?

&gt; Source/WebKit/UIProcess/WebProcessPool.h:796
&gt; +    std::unique_ptr&lt;ProcessAssertion&gt; m_uiProcessMediaPlaybackAssertion;

ditto.

&gt; Source/WebKit/WebProcess/WebProcess.h:109
&gt; +class WebPageProxy;

Something is wrong here. I do not think you meant to modify this file at all. There is no reason to change WebContent process code here, only UIProcess code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535216</commentid>
    <comment_count>6</comment_count>
      <attachid>369604</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-10 15:48:27 -0700</bug_when>
    <thetext>Comment on attachment 369604
Patch

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

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:2578
&gt; +    RELEASE_LOG(ProcessSuspension, &quot;Web process pid %u is now playing audible media&quot;, (unsigned)process-&gt;processIdentifier());

Why not %d ?

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:2587
&gt; +    auto result = m_processesWithUploads.add(processID, nullptr);

m_processesWithUploads.add LOL bad copy paste.

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:2601
&gt; +    if (m_processesWithUploads.isEmpty()) {

Bad copy paste.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535217</commentid>
    <comment_count>7</comment_count>
      <attachid>369604</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-10 15:51:41 -0700</bug_when>
    <thetext>Comment on attachment 369604
Patch

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

&gt;&gt; Source/WebKit/UIProcess/WebProcessPool.h:795
&gt;&gt; +    HashMap&lt;WebCore::ProcessIdentifier, std::unique_ptr&lt;ProcessAssertion&gt;&gt; m_processesPlayingAudibleMedia;
&gt; 
&gt; What makes sure this gets cleared properly in the event of a WebContent process crash?

I have similar concerns when a process shutdown cleanly because it no longer has any pages. Do we properly notice that we stop playing audio if the page gets closed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535218</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-05-10 15:51:50 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #6)
&gt; Comment on attachment 369604 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=369604&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebProcessPool.cpp:2578
&gt; &gt; +    RELEASE_LOG(ProcessSuspension, &quot;Web process pid %u is now playing audible media&quot;, (unsigned)process-&gt;processIdentifier());
&gt; 
&gt; Why not %d ?

Probably because process identifiers are unsigned, not signed integers.

&gt; &gt; Source/WebKit/UIProcess/WebProcessPool.cpp:2587
&gt; &gt; +    auto result = m_processesWithUploads.add(processID, nullptr);
&gt; 
&gt; m_processesWithUploads.add LOL bad copy paste.

Oh no!

&gt; &gt; Source/WebKit/UIProcess/WebProcessPool.cpp:2601
&gt; &gt; +    if (m_processesWithUploads.isEmpty()) {
&gt; 
&gt; Bad copy paste.


Ditto. Will fix.

(In reply to Chris Dumez from comment #5)
&gt; Comment on attachment 369604 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=369604&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebProcessPool.h:795
&gt; &gt; +    HashMap&lt;WebCore::ProcessIdentifier, std::unique_ptr&lt;ProcessAssertion&gt;&gt; m_processesPlayingAudibleMedia;
&gt; 
&gt; What makes sure this gets cleared properly in the event of a WebContent
&gt; process crash?

Good catch, I need to add a line to resetStateAfterProcessExited().

&gt; &gt; Source/WebKit/UIProcess/WebProcessPool.h:796
&gt; &gt; +    std::unique_ptr&lt;ProcessAssertion&gt; m_uiProcessMediaPlaybackAssertion;
&gt; 
&gt; ditto.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebProcess.h:109
&gt; &gt; +class WebPageProxy;
&gt; 
&gt; Something is wrong here. I do not think you meant to modify this file at
&gt; all. There is no reason to change WebContent process code here, only
&gt; UIProcess code.

You&apos;re right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535227</commentid>
    <comment_count>9</comment_count>
      <attachid>369612</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-05-10 16:12:20 -0700</bug_when>
    <thetext>Created attachment 369612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535229</commentid>
    <comment_count>10</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-10 16:14:52 -0700</bug_when>
    <thetext>Attachment 369612 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/WebProcessProxy.cpp:1215:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535250</commentid>
    <comment_count>11</comment_count>
      <attachid>369612</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-05-10 16:34:15 -0700</bug_when>
    <thetext>Comment on attachment 369612
Patch

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

r=me

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:2587
&gt; +    auto result = m_processesPlayingAudibleMedia.add(processID, nullptr);

Could you ASSERT(!m_processesPlayingAudibleMedia.contains(process.coreProcessIdentifier())) in WebProcessPool::disconnectProcess() ? Just to be safe :) Maybe even RELEASE_ASSERT() since so don&apos;t often run debug on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535752</commentid>
    <comment_count>12</comment_count>
      <attachid>369774</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-05-13 13:26:33 -0700</bug_when>
    <thetext>Created attachment 369774
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535754</commentid>
    <comment_count>13</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-13 13:27:33 -0700</bug_when>
    <thetext>Attachment 369774 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/WebProcessProxy.cpp:1215:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535758</commentid>
    <comment_count>14</comment_count>
      <attachid>369776</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-05-13 13:33:46 -0700</bug_when>
    <thetext>Created attachment 369776
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535759</commentid>
    <comment_count>15</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-13 13:35:32 -0700</bug_when>
    <thetext>Attachment 369776 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/WebProcessProxy.cpp:1215:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535760</commentid>
    <comment_count>16</comment_count>
      <attachid>369777</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2019-05-13 13:49:41 -0700</bug_when>
    <thetext>Created attachment 369777
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535763</commentid>
    <comment_count>17</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-05-13 13:51:41 -0700</bug_when>
    <thetext>Attachment 369777 did not pass style-queue:


ERROR: Source/WebKit/UIProcess/WebProcessProxy.cpp:1215:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535801</commentid>
    <comment_count>18</comment_count>
      <attachid>369777</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-13 15:01:18 -0700</bug_when>
    <thetext>Comment on attachment 369777
Patch for landing

Clearing flags on attachment: 369777

Committed r245255: &lt;https://trac.webkit.org/changeset/245255&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535802</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-13 15:01:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1535804</commentid>
    <comment_count>20</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-13 15:02:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/50740551&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369597</attachid>
            <date>2019-05-10 14:16:34 -0700</date>
            <delta_ts>2019-05-10 15:06:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197798-20190510141634.patch</filename>
            <type>text/plain</type>
            <size>10725</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBiMWE0OGNiYzdlZmNhNjdj
YzI3YTQwZTExMDk1MzUwOTJhMWVhOTUuLjNmZmEzOTg4YzljYTBiZWVkMThkMTI2NzNhZGJkMmNl
MzA0MmFkNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDUtMTAgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgVGFrZSBvdXQgTWVkaWFQbGF5YmFj
ayBVSSBhc3NlcnRpb24gd2hlbiBhbnkgV2ViUHJvY2VzcyBpcyBwbGF5aW5nIGF1ZGlibGUgbWVk
aWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Nzc5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGtl
ZXAgdGhlIHN5c3RlbSBmcm9tIHN1c3BlbmRpbmcgdGhlIFVJUHJvY2VzcyAoYW5kIGFsbCB0aGUg
b3RoZXIgY29uc3RlbGxhdGlvbiBvZiBwcm9jZXNzZXMgdGhhdAorICAgICAgICBhcmUgbmVjZXNz
YXJ5IHRvIHBsYXkgbWVkaWEpLCB0YWtlIGEgVUlQcm9jZXNzIGFzc2VydGlvbiB3aXRoIHRoZSBN
ZWRpYVBsYXliYWNrIHJlYXNvbiB3aGVuZXZlciB0aGVyZQorICAgICAgICBpcyBhIFdlYkNvbnRl
bnQgcHJvY2VzcyB0aGF0IGlzIHBsYXlpbmcgYXVkaWJsZSBtZWRpYS4KKworICAgICAgICAqIFBs
YXRmb3JtL3NwaS9pb3MvQXNzZXJ0aW9uU2VydmljZXNTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUHJvY2Vzc0Fzc2VydGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVBsYXlpbmdNZWRpYURp
ZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxl
TWVkaWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNz
SXNQbGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9CS1NQcm9j
ZXNzQXNzZXJ0aW9uUmVhc29uKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0Fzc2VydGlvbjo6
UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisK
IDIwMTktMDUtMDkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAg
IFtpT1NdIExhemlseSByZXF1ZXN0IGtleWJvYXJkIG9uIGZpcnN0IGhhcmR3YXJlIGtleWRvd24g
d2hlbiBhIG5vbi1lZGl0YWJsZSBlbGVtZW50IGlzIGZvY3VzZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9Bc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKaW5kZXggNmNl
NmYyZDk1Y2UzNmM3OTk1MDBlOTc0MDgzNTAzMzY1OWQ3NGQxNy4uYTY3ZjQxZmY5NTc1MWJiZjk4
MzQxZTE0NDQ5OTY5ZmYzMjBmYjg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKQEAgLTY5LDYgKzY5LDcgQEAgZW51
bSB7CiB0eXBlZGVmIHVpbnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFnczsKIAogZW51bSB7
CisgICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbk1lZGlhUGxheWJhY2sgPSAxLAogICAgIEJL
U1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrID0gNCwKICAgICBCS1NQcm9jZXNzQXNz
ZXJ0aW9uUmVhc29uRXh0ZW5zaW9uID0gMTMsCiAgICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNv
bkZpbmlzaFRhc2tVbmJvdW5kZWQgPSAxMDAwNCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1By
b2Nlc3NBc3NlcnRpb24uaAppbmRleCBhMDFjNzZkYjczM2I5ZWVlNmQyYmU5N2U3NjJjODBlOTRi
NTgzMDExLi43NzEwNzZhYzY3NWI3MTNmODBhMzM2NTgzMmFiYmEwMmM3ZjhhZGFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCkBAIC01Miw2ICs1Miw3IEBA
IGVudW0gY2xhc3MgQXNzZXJ0aW9uUmVhc29uIHsKICAgICBFeHRlbnNpb24sCiAgICAgRmluaXNo
VGFzaywKICAgICBGaW5pc2hUYXNrVW5ib3VuZGVkLAorICAgIE1lZGlhUGxheWJhY2ssCiB9Owog
CiBjbGFzcyBQcm9jZXNzQXNzZXJ0aW9uIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFByb2Nlc3NB
c3NlcnRpb24+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4
IGE4YWIxNWU3NTUwYzRlYjA5NWIyNTRiMTYwOTRlZGQ0NWYzMmQ1NzAuLmY0YjY2NDkzMjg1YWQ2
NTBlNjc2ZTQ0MDE5NjQ4ZmUyMDcxN2ZlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtODExMSw2ICs4MTExLDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVw
ZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3Mg
bmUKIAogICAgIGlmICgob2xkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpIYXNBdWRpb09yVmlkZW8p
ICE9IChtX21lZGlhU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpIYXNBdWRpb09yVmlkZW8pKQogICAg
ICAgICB2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpOworCisgICAgbV9wcm9jZXNzLT53
ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZSgqdGhpcyk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5
Ojp2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOTM3NmRhNWRhYjViZDAzM2MyZmRlZThiMjBkYjc5
NGJkYTJiYzNmMi4uYmE3MzkyZWU2YmRjZWI5M2FiNTdiODU0NmE3NWU0YjBjOTY3M2ZjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjU3MCw0ICsy
NTcwLDQwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2ViUHJvY2Vzc0hhc1VwbG9hZHMo
UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lEKQogICAgIAogfQogCit2b2lkIFdlYlByb2Nlc3NQ
b29sOjpzZXRXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKFdlYkNvcmU6OlByb2Nlc3NJ
ZGVudGlmaWVyIHByb2Nlc3NJRCkKK3sKKyAgICBhdXRvKiBwcm9jZXNzID0gV2ViUHJvY2Vzc1By
b3h5Ojpwcm9jZXNzRm9ySWRlbnRpZmllcihwcm9jZXNzSUQpOworICAgIEFTU0VSVChwcm9jZXNz
KTsKKworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV2ViIHByb2Nlc3MgcGlk
ICV1IGlzIG5vdyBwbGF5aW5nIGF1ZGlibGUgbWVkaWEiLCAodW5zaWduZWQpcHJvY2Vzcy0+cHJv
Y2Vzc0lkZW50aWZpZXIoKSk7CisKKyAgICBpZiAobV9wcm9jZXNzZXNQbGF5aW5nQXVkaWJsZU1l
ZGlhLmlzRW1wdHkoKSkgeworICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwg
IlRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzIHBsYXlpbmcgYXVkaWJsZSBtZWRpYSBpcyBub3cgb25l
LiBUYWtpbmcgVUkgcHJvY2VzcyBhc3NlcnRpb24uIik7CisKKyAgICAgICAgQVNTRVJUKCFtX3Vp
UHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24pOworICAgICAgICBtX3VpUHJvY2Vzc01lZGlh
UGxheWJhY2tBc3NlcnRpb24gPSBzdGQ6Om1ha2VfdW5pcXVlPFByb2Nlc3NBc3NlcnRpb24+KGdl
dEN1cnJlbnRQcm9jZXNzSUQoKSwgIldlYktpdCBNZWRpYSBQbGF5YmFjayJfcywgQXNzZXJ0aW9u
U3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJlYXNvbjo6TWVkaWFQbGF5YmFjayk7CisgICAg
fQorCisgICAgYXV0byByZXN1bHQgPSBtX3Byb2Nlc3Nlc1dpdGhVcGxvYWRzLmFkZChwcm9jZXNz
SUQsIG51bGxwdHIpOworICAgIEFTU0VSVChyZXN1bHQuaXNOZXdFbnRyeSk7CisgICAgcmVzdWx0
Lml0ZXJhdG9yLT52YWx1ZSA9IHN0ZDo6bWFrZV91bmlxdWU8UHJvY2Vzc0Fzc2VydGlvbj4ocHJv
Y2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgIldlYktpdCBNZWRpYSBQbGF5YmFjayJfcywgQXNz
ZXJ0aW9uU3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJlYXNvbjo6TWVkaWFQbGF5YmFjayk7
Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGli
bGVNZWRpYShXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSUQpCit7CisgICAgYXV0
byByZXN1bHQgPSBtX3Byb2Nlc3Nlc1dpdGhVcGxvYWRzLnRha2UocHJvY2Vzc0lEKTsKKyAgICBB
U1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0KTsKKworICAgIGF1dG8qIHByb2Nlc3MgPSBXZWJQ
cm9jZXNzUHJveHk6OnByb2Nlc3NGb3JJZGVudGlmaWVyKHByb2Nlc3NJRCk7CisgICAgQVNTRVJU
KHByb2Nlc3MpOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV2ViIHByb2Nl
c3MgcGlkICV1IGlzIG5vIGxvbmdlciBwbGF5aW5nIGF1ZGlibGUgbWVkaWEiLCAodW5zaWduZWQp
cHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSk7CisKKyAgICBpZiAobV9wcm9jZXNzZXNXaXRo
VXBsb2Fkcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNp
b24sICJUaGUgbnVtYmVyIG9mIHByb2Nlc3NlcyBwbGF5aW5nIGF1ZGlibGUgbWVkaWEgbm93IHpl
cm8uIFJlbGVhc2luZyBVSSBwcm9jZXNzIGFzc2VydGlvbi4iKTsKKworICAgICAgICBBU1NFUlQo
bV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uKTsKKyAgICAgICAgbV91aVByb2Nlc3NN
ZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbnVsbHB0cjsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXgg
NDllZjk3MjM2ODUxYzUzMzJhODI3ZDM2ODM1MWFhZTc4N2U1NjUzNy4uMTY1NTQ1YjFhMmY4NmVh
YTRiODMzYzkzYWJlODBkYzkwZWU1MjYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oCkBAIC01MDUsNiArNTA1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2Vi
UHJvY2Vzc0hhc1VwbG9hZHMoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIHZvaWQg
Y2xlYXJXZWJQcm9jZXNzSGFzVXBsb2FkcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CiAK
KyAgICB2b2lkIHNldFdlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEoV2ViQ29yZTo6UHJv
Y2Vzc0lkZW50aWZpZXIpOworICAgIHZvaWQgY2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJs
ZU1lZGlhKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKKwogICAgIHZvaWQgZGlzYWJsZURl
bGF5ZWRXZWJQcm9jZXNzTGF1bmNoKCkgeyBtX2lzRGVsYXllZFdlYlByb2Nlc3NMYXVuY2hEaXNh
YmxlZCA9IHRydWU7IH0KIAogcHJpdmF0ZToKQEAgLTc4OCw2ICs3OTEsMTAgQEAgcHJpdmF0ZToK
IAogICAgIEhhc2hNYXA8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0
cjxQcm9jZXNzQXNzZXJ0aW9uPj4gbV9wcm9jZXNzZXNXaXRoVXBsb2FkczsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NVcGxvYWRBc3NlcnRpb247CisK
KyAgICBIYXNoTWFwPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8
UHJvY2Vzc0Fzc2VydGlvbj4+IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NNZWRpYVBsYXliYWNr
QXNzZXJ0aW9uOworCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEZJWE1FOiBEZWxheWVkIHBy
b2Nlc3MgbGF1bmNoIGlzIGN1cnJlbnRseSBkaXNhYmxlZCBvbiBpT1MgZm9yIHBlcmZvcm1hbmNl
IHJlYXNvbnMgKHJkYXI6Ly9wcm9ibGVtLzQ5MDc0MTMxKS4KICAgICBib29sIG1faXNEZWxheWVk
V2ViUHJvY2Vzc0xhdW5jaERpc2FibGVkIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggYmZlZGVlNTQ3OWUwN2VjMWQyZDA1NjBjMjYy
N2UxMWJlNzkxOGU2OS4uNzljMmU1YTU2Y2FlNjZiMzIwNzY2ODgyMDRkNGQyMDU5MzAxY2QyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC0xMjA5
LDcgKzEyMDksMjAgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFzc2VydGlvblN0YXRl
KEFzc2VydGlvblN0YXRlIHN0YXRlKQogICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7CiAjZW5kaWYK
IH0KLSAgICAKKwordm9pZCBXZWJQcm9jZXNzUHJveHk6OndlYlBhZ2VNZWRpYVN0YXRlRGlkQ2hh
bmdlKFdlYlBhZ2VQcm94eSYpCit7CisgICAgYm9vbCBuZXdIYXNBdWRpYmxlV2ViUGFnZSA9IFdU
Rjo6YW55T2YobV9wYWdlTWFwLnZhbHVlcygpLCBbXSAoYXV0byYgcGFnZSkgeyByZXR1cm4gcGFn
ZS0+aXNQbGF5aW5nQXVkaW8oKTsgfSk7CisgICAgaWYgKG1faGFzQXVkaWJsZVdlYlBhZ2UgPT0g
bmV3SGFzQXVkaWJsZVdlYlBhZ2UpCisgICAgICAgIHJldHVybjsKKyAgICBtX2hhc0F1ZGlibGVX
ZWJQYWdlID0gbmV3SGFzQXVkaWJsZVdlYlBhZ2U7CisKKyAgICBpZiAobV9oYXNBdWRpYmxlV2Vi
UGFnZSkKKyAgICAgICAgcHJvY2Vzc1Bvb2woKS5zZXRXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJs
ZU1lZGlhKGNvcmVQcm9jZXNzSWRlbnRpZmllcigpKTsKKyAgICBlbHNlCisgICAgICAgIHByb2Nl
c3NQb29sKCkuY2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKGNvcmVQcm9jZXNz
SWRlbnRpZmllcigpKTsKK30KKwogdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNldElzSG9sZGluZ0xv
Y2tlZEZpbGVzKGJvb2wgaXNIb2xkaW5nTG9ja2VkRmlsZXMpCiB7CiAgICAgaWYgKCFpc0hvbGRp
bmdMb2NrZWRGaWxlcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aAppbmRleCAxMjg0YWVhNTE4N2MxZjg4NGFjZjI1NWNhMDMwZWQ5M2NhZGVmZjg1Li4wYTQ3YjZj
MTNmODQzZjQ4NDE0YTY1NmUwZmZlNzZiNWY5ZWFlN2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMzA2LDYgKzMwNiw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHByb2Nlc3NXYXNVbmV4cGVjdGVkbHlVbnN1c3BlbmRlZChDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogI2VuZGlmCiAKKyAgICB2b2lkIHdlYlBhZ2VNZWRpYVN0YXRlRGlkQ2hhbmdl
KFdlYlBhZ2VQcm94eSYpOworCiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIHVpbnQ2NF90IGdlbmVy
YXRlUGFnZUlEKCk7CiAgICAgV2ViUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiwgV2Vic2l0
ZURhdGFTdG9yZSosIElzUHJld2FybWVkKTsKQEAgLTQ4NSw2ICs0ODcsNyBAQCBwcml2YXRlOgog
ICAgIHVuc2lnbmVkIG1fc3VzcGVuZGVkUGFnZUNvdW50IHsgMCB9OwogICAgIGJvb2wgbV9oYXND
b21taXR0ZWRBbnlQcm92aXNpb25hbExvYWRzIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNQcmV3
YXJtZWQ7CisgICAgYm9vbCBtX2hhc0F1ZGlibGVXZWJQYWdlIHsgZmFsc2UgfTsKIAogI2lmIFBM
QVRGT1JNKFdBVENIT1MpCiAgICAgUHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFjdGl2aXR5
VG9rZW4gbV9iYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbkZvckZ1bGxzY3JlZW5Gb3JtQ29udHJvbHM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlv
bklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9T
Lm1tCmluZGV4IDhhYTJkY2YwNGMzNDZlMDMyNDQzZDFmOWEyMDMzNGFmMjIyNGZjYWMuLmE5ZTFk
MDdiNzUzNjU0Y2U2ZGVjM2U0Y2YwMmYzODdiYzRiZmQ3YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCkBAIC0xODEsNiArMTgx
LDggQEAgc3RhdGljIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb24gdG9CS1NQcm9jZXNzQXNzZXJ0
aW9uUmVhc29uKEFzc2VydGlvblJlYXNvbiByZWEKICAgICAgICAgcmV0dXJuIEJLU1Byb2Nlc3NB
c3NlcnRpb25SZWFzb25GaW5pc2hUYXNrOwogICAgIGNhc2UgQXNzZXJ0aW9uUmVhc29uOjpGaW5p
c2hUYXNrVW5ib3VuZGVkOgogICAgICAgICByZXR1cm4gQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNv
bkZpbmlzaFRhc2tVbmJvdW5kZWQ7CisgICAgY2FzZSBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxh
eWJhY2s6CisgICAgICAgIHJldHVybiBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uTWVkaWFQbGF5
YmFjazsKICAgICB9CiB9CiAKQEAgLTE5MSw2ICsxOTMsNyBAQCBQcm9jZXNzQXNzZXJ0aW9uOjpQ
cm9jZXNzQXNzZXJ0aW9uKHBpZF90IHBpZCwgY29uc3QgU3RyaW5nJiBuYW1lLCBBc3NlcnRpb25T
dGF0ZQogCiBQcm9jZXNzQXNzZXJ0aW9uOjpQcm9jZXNzQXNzZXJ0aW9uKHBpZF90IHBpZCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBBc3NlcnRpb25TdGF0ZSBhc3NlcnRpb25TdGF0ZSwgQXNzZXJ0aW9u
UmVhc29uIGFzc2VydGlvblJlYXNvbikKICAgICA6IG1fYXNzZXJ0aW9uU3RhdGUoYXNzZXJ0aW9u
U3RhdGUpCisgICAgLCBtX2Fzc2VydGlvblJlYXNvbihhc3NlcnRpb25SZWFzb24pCiB7CiAgICAg
YXV0byB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKTsKICAgICBCS1NQcm9jZXNzQXNzZXJ0
aW9uQWNxdWlzaXRpb25IYW5kbGVyIGhhbmRsZXIgPSBeKEJPT0wgYWNxdWlyZWQpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDMwYmQ1OWE3MTUyOTc0NzBkM2UyOTMy
OTU5OTU3ZTZkNGUyYTYwZDQuLmY5MjllNmY4NDYzM2MxMWUxYTExZmY0NjdlZjk2MDMxYWVlOWEx
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMTA2LDYgKzEwNiw3
IEBAIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViTG9hZGVyU3RyYXRlZ3k7CiBjbGFzcyBXZWJQ
YWdlOwogY2xhc3MgV2ViUGFnZUdyb3VwUHJveHk7CitjbGFzcyBXZWJQYWdlUHJveHk7CiBzdHJ1
Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBXZWJQcm9jZXNzRGF0YVN0
b3JlUGFyYW1ldGVyczsKIGNsYXNzIFdlYlByb2Nlc3NTdXBwbGVtZW50OwpAQCAtMjY5LDYgKzI3
MCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE1lZGlhTUlNRVR5cGVzKGNvbnN0IFZlY3RvcjxT
dHJpbmc+KTsKICNlbmRpZgogCisgICAgdm9pZCB3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZShX
ZWJQYWdlUHJveHkmKTsKKwogcHJpdmF0ZToKICAgICBXZWJQcm9jZXNzKCk7CiAgICAgfldlYlBy
b2Nlc3MoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369604</attachid>
            <date>2019-05-10 15:06:44 -0700</date>
            <delta_ts>2019-05-10 16:12:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197798-20190510150644.patch</filename>
            <type>text/plain</type>
            <size>10293</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBiMWE0OGNiYzdlZmNhNjdj
YzI3YTQwZTExMDk1MzUwOTJhMWVhOTUuLjNmZmEzOTg4YzljYTBiZWVkMThkMTI2NzNhZGJkMmNl
MzA0MmFkNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDUtMTAgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgVGFrZSBvdXQgTWVkaWFQbGF5YmFj
ayBVSSBhc3NlcnRpb24gd2hlbiBhbnkgV2ViUHJvY2VzcyBpcyBwbGF5aW5nIGF1ZGlibGUgbWVk
aWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Nzc5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGtl
ZXAgdGhlIHN5c3RlbSBmcm9tIHN1c3BlbmRpbmcgdGhlIFVJUHJvY2VzcyAoYW5kIGFsbCB0aGUg
b3RoZXIgY29uc3RlbGxhdGlvbiBvZiBwcm9jZXNzZXMgdGhhdAorICAgICAgICBhcmUgbmVjZXNz
YXJ5IHRvIHBsYXkgbWVkaWEpLCB0YWtlIGEgVUlQcm9jZXNzIGFzc2VydGlvbiB3aXRoIHRoZSBN
ZWRpYVBsYXliYWNrIHJlYXNvbiB3aGVuZXZlciB0aGVyZQorICAgICAgICBpcyBhIFdlYkNvbnRl
bnQgcHJvY2VzcyB0aGF0IGlzIHBsYXlpbmcgYXVkaWJsZSBtZWRpYS4KKworICAgICAgICAqIFBs
YXRmb3JtL3NwaS9pb3MvQXNzZXJ0aW9uU2VydmljZXNTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUHJvY2Vzc0Fzc2VydGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVBsYXlpbmdNZWRpYURp
ZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxl
TWVkaWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNz
SXNQbGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9CS1NQcm9j
ZXNzQXNzZXJ0aW9uUmVhc29uKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0Fzc2VydGlvbjo6
UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisK
IDIwMTktMDUtMDkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAg
IFtpT1NdIExhemlseSByZXF1ZXN0IGtleWJvYXJkIG9uIGZpcnN0IGhhcmR3YXJlIGtleWRvd24g
d2hlbiBhIG5vbi1lZGl0YWJsZSBlbGVtZW50IGlzIGZvY3VzZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9Bc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKaW5kZXggNmNl
NmYyZDk1Y2UzNmM3OTk1MDBlOTc0MDgzNTAzMzY1OWQ3NGQxNy4uYTY3ZjQxZmY5NTc1MWJiZjk4
MzQxZTE0NDQ5OTY5ZmYzMjBmYjg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKQEAgLTY5LDYgKzY5LDcgQEAgZW51
bSB7CiB0eXBlZGVmIHVpbnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFnczsKIAogZW51bSB7
CisgICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbk1lZGlhUGxheWJhY2sgPSAxLAogICAgIEJL
U1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrID0gNCwKICAgICBCS1NQcm9jZXNzQXNz
ZXJ0aW9uUmVhc29uRXh0ZW5zaW9uID0gMTMsCiAgICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNv
bkZpbmlzaFRhc2tVbmJvdW5kZWQgPSAxMDAwNCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1By
b2Nlc3NBc3NlcnRpb24uaAppbmRleCBhMDFjNzZkYjczM2I5ZWVlNmQyYmU5N2U3NjJjODBlOTRi
NTgzMDExLi43NzEwNzZhYzY3NWI3MTNmODBhMzM2NTgzMmFiYmEwMmM3ZjhhZGFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCkBAIC01Miw2ICs1Miw3IEBA
IGVudW0gY2xhc3MgQXNzZXJ0aW9uUmVhc29uIHsKICAgICBFeHRlbnNpb24sCiAgICAgRmluaXNo
VGFzaywKICAgICBGaW5pc2hUYXNrVW5ib3VuZGVkLAorICAgIE1lZGlhUGxheWJhY2ssCiB9Owog
CiBjbGFzcyBQcm9jZXNzQXNzZXJ0aW9uIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFByb2Nlc3NB
c3NlcnRpb24+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4
IGE4YWIxNWU3NTUwYzRlYjA5NWIyNTRiMTYwOTRlZGQ0NWYzMmQ1NzAuLmY0YjY2NDkzMjg1YWQ2
NTBlNjc2ZTQ0MDE5NjQ4ZmUyMDcxN2ZlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtODExMSw2ICs4MTExLDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVw
ZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3Mg
bmUKIAogICAgIGlmICgob2xkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpIYXNBdWRpb09yVmlkZW8p
ICE9IChtX21lZGlhU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpIYXNBdWRpb09yVmlkZW8pKQogICAg
ICAgICB2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpOworCisgICAgbV9wcm9jZXNzLT53
ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZSgqdGhpcyk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5
Ojp2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENoYW5nZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOTM3NmRhNWRhYjViZDAzM2MyZmRlZThiMjBkYjc5
NGJkYTJiYzNmMi4uYmE3MzkyZWU2YmRjZWI5M2FiNTdiODU0NmE3NWU0YjBjOTY3M2ZjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjU3MCw0ICsy
NTcwLDQwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2ViUHJvY2Vzc0hhc1VwbG9hZHMo
UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lEKQogICAgIAogfQogCit2b2lkIFdlYlByb2Nlc3NQ
b29sOjpzZXRXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKFdlYkNvcmU6OlByb2Nlc3NJ
ZGVudGlmaWVyIHByb2Nlc3NJRCkKK3sKKyAgICBhdXRvKiBwcm9jZXNzID0gV2ViUHJvY2Vzc1By
b3h5Ojpwcm9jZXNzRm9ySWRlbnRpZmllcihwcm9jZXNzSUQpOworICAgIEFTU0VSVChwcm9jZXNz
KTsKKworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV2ViIHByb2Nlc3MgcGlk
ICV1IGlzIG5vdyBwbGF5aW5nIGF1ZGlibGUgbWVkaWEiLCAodW5zaWduZWQpcHJvY2Vzcy0+cHJv
Y2Vzc0lkZW50aWZpZXIoKSk7CisKKyAgICBpZiAobV9wcm9jZXNzZXNQbGF5aW5nQXVkaWJsZU1l
ZGlhLmlzRW1wdHkoKSkgeworICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwg
IlRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzIHBsYXlpbmcgYXVkaWJsZSBtZWRpYSBpcyBub3cgb25l
LiBUYWtpbmcgVUkgcHJvY2VzcyBhc3NlcnRpb24uIik7CisKKyAgICAgICAgQVNTRVJUKCFtX3Vp
UHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24pOworICAgICAgICBtX3VpUHJvY2Vzc01lZGlh
UGxheWJhY2tBc3NlcnRpb24gPSBzdGQ6Om1ha2VfdW5pcXVlPFByb2Nlc3NBc3NlcnRpb24+KGdl
dEN1cnJlbnRQcm9jZXNzSUQoKSwgIldlYktpdCBNZWRpYSBQbGF5YmFjayJfcywgQXNzZXJ0aW9u
U3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJlYXNvbjo6TWVkaWFQbGF5YmFjayk7CisgICAg
fQorCisgICAgYXV0byByZXN1bHQgPSBtX3Byb2Nlc3Nlc1dpdGhVcGxvYWRzLmFkZChwcm9jZXNz
SUQsIG51bGxwdHIpOworICAgIEFTU0VSVChyZXN1bHQuaXNOZXdFbnRyeSk7CisgICAgcmVzdWx0
Lml0ZXJhdG9yLT52YWx1ZSA9IHN0ZDo6bWFrZV91bmlxdWU8UHJvY2Vzc0Fzc2VydGlvbj4ocHJv
Y2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgIldlYktpdCBNZWRpYSBQbGF5YmFjayJfcywgQXNz
ZXJ0aW9uU3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJlYXNvbjo6TWVkaWFQbGF5YmFjayk7
Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGli
bGVNZWRpYShXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSUQpCit7CisgICAgYXV0
byByZXN1bHQgPSBtX3Byb2Nlc3Nlc1dpdGhVcGxvYWRzLnRha2UocHJvY2Vzc0lEKTsKKyAgICBB
U1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0KTsKKworICAgIGF1dG8qIHByb2Nlc3MgPSBXZWJQ
cm9jZXNzUHJveHk6OnByb2Nlc3NGb3JJZGVudGlmaWVyKHByb2Nlc3NJRCk7CisgICAgQVNTRVJU
KHByb2Nlc3MpOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV2ViIHByb2Nl
c3MgcGlkICV1IGlzIG5vIGxvbmdlciBwbGF5aW5nIGF1ZGlibGUgbWVkaWEiLCAodW5zaWduZWQp
cHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSk7CisKKyAgICBpZiAobV9wcm9jZXNzZXNXaXRo
VXBsb2Fkcy5pc0VtcHR5KCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNp
b24sICJUaGUgbnVtYmVyIG9mIHByb2Nlc3NlcyBwbGF5aW5nIGF1ZGlibGUgbWVkaWEgbm93IHpl
cm8uIFJlbGVhc2luZyBVSSBwcm9jZXNzIGFzc2VydGlvbi4iKTsKKworICAgICAgICBBU1NFUlQo
bV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uKTsKKyAgICAgICAgbV91aVByb2Nlc3NN
ZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbnVsbHB0cjsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXgg
NDllZjk3MjM2ODUxYzUzMzJhODI3ZDM2ODM1MWFhZTc4N2U1NjUzNy4uMTY1NTQ1YjFhMmY4NmVh
YTRiODMzYzkzYWJlODBkYzkwZWU1MjYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oCkBAIC01MDUsNiArNTA1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2Vi
UHJvY2Vzc0hhc1VwbG9hZHMoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIHZvaWQg
Y2xlYXJXZWJQcm9jZXNzSGFzVXBsb2FkcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CiAK
KyAgICB2b2lkIHNldFdlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEoV2ViQ29yZTo6UHJv
Y2Vzc0lkZW50aWZpZXIpOworICAgIHZvaWQgY2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJs
ZU1lZGlhKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKKwogICAgIHZvaWQgZGlzYWJsZURl
bGF5ZWRXZWJQcm9jZXNzTGF1bmNoKCkgeyBtX2lzRGVsYXllZFdlYlByb2Nlc3NMYXVuY2hEaXNh
YmxlZCA9IHRydWU7IH0KIAogcHJpdmF0ZToKQEAgLTc4OCw2ICs3OTEsMTAgQEAgcHJpdmF0ZToK
IAogICAgIEhhc2hNYXA8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0
cjxQcm9jZXNzQXNzZXJ0aW9uPj4gbV9wcm9jZXNzZXNXaXRoVXBsb2FkczsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NVcGxvYWRBc3NlcnRpb247CisK
KyAgICBIYXNoTWFwPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8
UHJvY2Vzc0Fzc2VydGlvbj4+IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NNZWRpYVBsYXliYWNr
QXNzZXJ0aW9uOworCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEZJWE1FOiBEZWxheWVkIHBy
b2Nlc3MgbGF1bmNoIGlzIGN1cnJlbnRseSBkaXNhYmxlZCBvbiBpT1MgZm9yIHBlcmZvcm1hbmNl
IHJlYXNvbnMgKHJkYXI6Ly9wcm9ibGVtLzQ5MDc0MTMxKS4KICAgICBib29sIG1faXNEZWxheWVk
V2ViUHJvY2Vzc0xhdW5jaERpc2FibGVkIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggYmZlZGVlNTQ3OWUwN2VjMWQyZDA1NjBjMjYy
N2UxMWJlNzkxOGU2OS4uNzljMmU1YTU2Y2FlNjZiMzIwNzY2ODgyMDRkNGQyMDU5MzAxY2QyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC0xMjA5
LDcgKzEyMDksMjAgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFzc2VydGlvblN0YXRl
KEFzc2VydGlvblN0YXRlIHN0YXRlKQogICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7CiAjZW5kaWYK
IH0KLSAgICAKKwordm9pZCBXZWJQcm9jZXNzUHJveHk6OndlYlBhZ2VNZWRpYVN0YXRlRGlkQ2hh
bmdlKFdlYlBhZ2VQcm94eSYpCit7CisgICAgYm9vbCBuZXdIYXNBdWRpYmxlV2ViUGFnZSA9IFdU
Rjo6YW55T2YobV9wYWdlTWFwLnZhbHVlcygpLCBbXSAoYXV0byYgcGFnZSkgeyByZXR1cm4gcGFn
ZS0+aXNQbGF5aW5nQXVkaW8oKTsgfSk7CisgICAgaWYgKG1faGFzQXVkaWJsZVdlYlBhZ2UgPT0g
bmV3SGFzQXVkaWJsZVdlYlBhZ2UpCisgICAgICAgIHJldHVybjsKKyAgICBtX2hhc0F1ZGlibGVX
ZWJQYWdlID0gbmV3SGFzQXVkaWJsZVdlYlBhZ2U7CisKKyAgICBpZiAobV9oYXNBdWRpYmxlV2Vi
UGFnZSkKKyAgICAgICAgcHJvY2Vzc1Bvb2woKS5zZXRXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJs
ZU1lZGlhKGNvcmVQcm9jZXNzSWRlbnRpZmllcigpKTsKKyAgICBlbHNlCisgICAgICAgIHByb2Nl
c3NQb29sKCkuY2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKGNvcmVQcm9jZXNz
SWRlbnRpZmllcigpKTsKK30KKwogdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNldElzSG9sZGluZ0xv
Y2tlZEZpbGVzKGJvb2wgaXNIb2xkaW5nTG9ja2VkRmlsZXMpCiB7CiAgICAgaWYgKCFpc0hvbGRp
bmdMb2NrZWRGaWxlcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aAppbmRleCAxMjg0YWVhNTE4N2MxZjg4NGFjZjI1NWNhMDMwZWQ5M2NhZGVmZjg1Li4wYTQ3YjZj
MTNmODQzZjQ4NDE0YTY1NmUwZmZlNzZiNWY5ZWFlN2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMzA2LDYgKzMwNiw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHByb2Nlc3NXYXNVbmV4cGVjdGVkbHlVbnN1c3BlbmRlZChDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogI2VuZGlmCiAKKyAgICB2b2lkIHdlYlBhZ2VNZWRpYVN0YXRlRGlkQ2hhbmdl
KFdlYlBhZ2VQcm94eSYpOworCiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIHVpbnQ2NF90IGdlbmVy
YXRlUGFnZUlEKCk7CiAgICAgV2ViUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiwgV2Vic2l0
ZURhdGFTdG9yZSosIElzUHJld2FybWVkKTsKQEAgLTQ4NSw2ICs0ODcsNyBAQCBwcml2YXRlOgog
ICAgIHVuc2lnbmVkIG1fc3VzcGVuZGVkUGFnZUNvdW50IHsgMCB9OwogICAgIGJvb2wgbV9oYXND
b21taXR0ZWRBbnlQcm92aXNpb25hbExvYWRzIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNQcmV3
YXJtZWQ7CisgICAgYm9vbCBtX2hhc0F1ZGlibGVXZWJQYWdlIHsgZmFsc2UgfTsKIAogI2lmIFBM
QVRGT1JNKFdBVENIT1MpCiAgICAgUHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFjdGl2aXR5
VG9rZW4gbV9iYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbkZvckZ1bGxzY3JlZW5Gb3JtQ29udHJvbHM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlv
bklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9T
Lm1tCmluZGV4IDhhYTJkY2YwNGMzNDZlMDMyNDQzZDFmOWEyMDMzNGFmMjIyNGZjYWMuLmRjMzVh
Y2NlOGQ3M2M0NTVlMGY0YzdkN2Q0N2Y0OGU2NDIxZmZhMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCkBAIC0xODEsNiArMTgx
LDggQEAgc3RhdGljIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb24gdG9CS1NQcm9jZXNzQXNzZXJ0
aW9uUmVhc29uKEFzc2VydGlvblJlYXNvbiByZWEKICAgICAgICAgcmV0dXJuIEJLU1Byb2Nlc3NB
c3NlcnRpb25SZWFzb25GaW5pc2hUYXNrOwogICAgIGNhc2UgQXNzZXJ0aW9uUmVhc29uOjpGaW5p
c2hUYXNrVW5ib3VuZGVkOgogICAgICAgICByZXR1cm4gQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNv
bkZpbmlzaFRhc2tVbmJvdW5kZWQ7CisgICAgY2FzZSBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxh
eWJhY2s6CisgICAgICAgIHJldHVybiBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uTWVkaWFQbGF5
YmFjazsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4
IDMwYmQ1OWE3MTUyOTc0NzBkM2UyOTMyOTU5OTU3ZTZkNGUyYTYwZDQuLmY5MjllNmY4NDYzM2Mx
MWUxYTExZmY0NjdlZjk2MDMxYWVlOWExYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaApAQCAtMTA2LDYgKzEwNiw3IEBAIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViTG9h
ZGVyU3RyYXRlZ3k7CiBjbGFzcyBXZWJQYWdlOwogY2xhc3MgV2ViUGFnZUdyb3VwUHJveHk7Citj
bGFzcyBXZWJQYWdlUHJveHk7CiBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsK
IHN0cnVjdCBXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVyczsKIGNsYXNzIFdlYlByb2Nlc3NT
dXBwbGVtZW50OwpAQCAtMjY5LDYgKzI3MCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE1lZGlh
TUlNRVR5cGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+KTsKICNlbmRpZgogCisgICAgdm9pZCB3ZWJQ
YWdlTWVkaWFTdGF0ZURpZENoYW5nZShXZWJQYWdlUHJveHkmKTsKKwogcHJpdmF0ZToKICAgICBX
ZWJQcm9jZXNzKCk7CiAgICAgfldlYlByb2Nlc3MoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369612</attachid>
            <date>2019-05-10 16:12:20 -0700</date>
            <delta_ts>2019-05-13 13:26:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197798-20190510161220.patch</filename>
            <type>text/plain</type>
            <size>10201</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBiMWE0OGNiYzdlZmNhNjdj
YzI3YTQwZTExMDk1MzUwOTJhMWVhOTUuLjNmZmEzOTg4YzljYTBiZWVkMThkMTI2NzNhZGJkMmNl
MzA0MmFkNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDUtMTAgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgVGFrZSBvdXQgTWVkaWFQbGF5YmFj
ayBVSSBhc3NlcnRpb24gd2hlbiBhbnkgV2ViUHJvY2VzcyBpcyBwbGF5aW5nIGF1ZGlibGUgbWVk
aWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Nzc5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGtl
ZXAgdGhlIHN5c3RlbSBmcm9tIHN1c3BlbmRpbmcgdGhlIFVJUHJvY2VzcyAoYW5kIGFsbCB0aGUg
b3RoZXIgY29uc3RlbGxhdGlvbiBvZiBwcm9jZXNzZXMgdGhhdAorICAgICAgICBhcmUgbmVjZXNz
YXJ5IHRvIHBsYXkgbWVkaWEpLCB0YWtlIGEgVUlQcm9jZXNzIGFzc2VydGlvbiB3aXRoIHRoZSBN
ZWRpYVBsYXliYWNrIHJlYXNvbiB3aGVuZXZlciB0aGVyZQorICAgICAgICBpcyBhIFdlYkNvbnRl
bnQgcHJvY2VzcyB0aGF0IGlzIHBsYXlpbmcgYXVkaWJsZSBtZWRpYS4KKworICAgICAgICAqIFBs
YXRmb3JtL3NwaS9pb3MvQXNzZXJ0aW9uU2VydmljZXNTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUHJvY2Vzc0Fzc2VydGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVBsYXlpbmdNZWRpYURp
ZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxl
TWVkaWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNz
SXNQbGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9CS1NQcm9j
ZXNzQXNzZXJ0aW9uUmVhc29uKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0Fzc2VydGlvbjo6
UHJvY2Vzc0Fzc2VydGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisK
IDIwMTktMDUtMDkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAg
IFtpT1NdIExhemlseSByZXF1ZXN0IGtleWJvYXJkIG9uIGZpcnN0IGhhcmR3YXJlIGtleWRvd24g
d2hlbiBhIG5vbi1lZGl0YWJsZSBlbGVtZW50IGlzIGZvY3VzZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9Bc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKaW5kZXggNmNl
NmYyZDk1Y2UzNmM3OTk1MDBlOTc0MDgzNTAzMzY1OWQ3NGQxNy4uYTY3ZjQxZmY5NTc1MWJiZjk4
MzQxZTE0NDQ5OTY5ZmYzMjBmYjg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKQEAgLTY5LDYgKzY5LDcgQEAgZW51
bSB7CiB0eXBlZGVmIHVpbnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFnczsKIAogZW51bSB7
CisgICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbk1lZGlhUGxheWJhY2sgPSAxLAogICAgIEJL
U1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrID0gNCwKICAgICBCS1NQcm9jZXNzQXNz
ZXJ0aW9uUmVhc29uRXh0ZW5zaW9uID0gMTMsCiAgICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNv
bkZpbmlzaFRhc2tVbmJvdW5kZWQgPSAxMDAwNCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1By
b2Nlc3NBc3NlcnRpb24uaAppbmRleCBhMDFjNzZkYjczM2I5ZWVlNmQyYmU5N2U3NjJjODBlOTRi
NTgzMDExLi43NzEwNzZhYzY3NWI3MTNmODBhMzM2NTgzMmFiYmEwMmM3ZjhhZGFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCkBAIC01Miw2ICs1Miw3IEBA
IGVudW0gY2xhc3MgQXNzZXJ0aW9uUmVhc29uIHsKICAgICBFeHRlbnNpb24sCiAgICAgRmluaXNo
VGFzaywKICAgICBGaW5pc2hUYXNrVW5ib3VuZGVkLAorICAgIE1lZGlhUGxheWJhY2ssCiB9Owog
CiBjbGFzcyBQcm9jZXNzQXNzZXJ0aW9uIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFByb2Nlc3NB
c3NlcnRpb24+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4
IGE4YWIxNWU3NTUwYzRlYjA5NWIyNTRiMTYwOTRlZGQ0NWYzMmQ1NzAuLjU4YTM4Yzg5NGQ3ZTNi
ZTdlOTRlYjQwMzI4ZjlhMzU0NTQ5MjA4NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtMTAzOCw2ICsxMDM4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNs
b3NlKCkKICNlbmRpZgogCiAgICAgc3RvcEFsbFVSTFNjaGVtZVRhc2tzKCk7CisgICAgdXBkYXRl
UGxheWluZ01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6OklzTm90UGxheWluZyk7CiB9CiAK
IGJvb2wgV2ViUGFnZVByb3h5Ojp0cnlDbG9zZSgpCkBAIC03MDUzLDYgKzcwNTQsOCBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZChQcm9jZXNzVGVybWlu
YXRpb25SZWFzb24gdGVybWluYQogICAgICAgICBtX3BhZ2VMb2FkU3RhdGUucmVzZXQodHJhbnNh
Y3Rpb24pOwogICAgIH0KIAorICAgIHVwZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVBy
b2R1Y2VyOjpJc05vdFBsYXlpbmcpOworCiAgICAgLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS8z
ODY3NjYwND4gSW4gY2FzZSBvZiBwcm9jZXNzIHN3YXBzLCB0aGUgb2xkIHByb2Nlc3Mgc2hvdWxk
IGdyYWNlZnVsbHkgc3VzcGVuZCBpbnN0ZWFkIG9mIHRlcm1pbmF0aW5nLgogICAgIG1fcHJvY2Vz
cy0+cHJvY2Vzc1Rlcm1pbmF0ZWQoKTsKIH0KQEAgLTgxMTEsNiArODExNCw4IEBAIHZvaWQgV2Vi
UGFnZVByb3h5Ojp1cGRhdGVQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoTWVkaWFQcm9kdWNlcjo6TWVk
aWFTdGF0ZUZsYWdzIG5lCiAKICAgICBpZiAoKG9sZFN0YXRlICYgTWVkaWFQcm9kdWNlcjo6SGFz
QXVkaW9PclZpZGVvKSAhPSAobV9tZWRpYVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6SGFzQXVkaW9P
clZpZGVvKSkKICAgICAgICAgdmlkZW9Db250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKTsKKworICAg
IG1fcHJvY2Vzcy0+d2ViUGFnZU1lZGlhU3RhdGVEaWRDaGFuZ2UoKnRoaXMpOwogfQogCiB2b2lk
IFdlYlBhZ2VQcm94eTo6dmlkZW9Db250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDkzNzZkYTVkYWI1YmQwMzNj
MmZkZWU4YjIwZGI3OTRiZGEyYmMzZjIuLmJmNTY3YzRlZDBiNjBiNzdkMzJmYTI0NTE1NTBmYTY2
NDczYWU0MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
QEAgLTI1NzAsNCArMjU3MCw0MCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpjbGVhcldlYlByb2Nl
c3NIYXNVcGxvYWRzKFByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJRCkKICAgICAKIH0KIAordm9p
ZCBXZWJQcm9jZXNzUG9vbDo6c2V0V2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRpYShXZWJD
b3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSUQpCit7CisgICAgYXV0byogcHJvY2VzcyA9
IFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc0ZvcklkZW50aWZpZXIocHJvY2Vzc0lEKTsKKyAgICBB
U1NFUlQocHJvY2Vzcyk7CisKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldl
YiBwcm9jZXNzIHBpZCAldSBpcyBub3cgcGxheWluZyBhdWRpYmxlIG1lZGlhIiwgKHVuc2lnbmVk
KXByb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCkpOworCisgICAgaWYgKG1fcHJvY2Vzc2VzUGxh
eWluZ0F1ZGlibGVNZWRpYS5pc0VtcHR5KCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vz
c1N1c3BlbnNpb24sICJUaGUgbnVtYmVyIG9mIHByb2Nlc3NlcyBwbGF5aW5nIGF1ZGlibGUgbWVk
aWEgaXMgbm93IG9uZS4gVGFraW5nIFVJIHByb2Nlc3MgYXNzZXJ0aW9uLiIpOworCisgICAgICAg
IEFTU0VSVCghbV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uKTsKKyAgICAgICAgbV91
aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gc3RkOjptYWtlX3VuaXF1ZTxQcm9jZXNz
QXNzZXJ0aW9uPihnZXRDdXJyZW50UHJvY2Vzc0lEKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2si
X3MsIEFzc2VydGlvblN0YXRlOjpGb3JlZ3JvdW5kLCBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxh
eWJhY2spOworICAgIH0KKworICAgIGF1dG8gcmVzdWx0ID0gbV9wcm9jZXNzZXNQbGF5aW5nQXVk
aWJsZU1lZGlhLmFkZChwcm9jZXNzSUQsIG51bGxwdHIpOworICAgIEFTU0VSVChyZXN1bHQuaXNO
ZXdFbnRyeSk7CisgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IHN0ZDo6bWFrZV91bmlxdWU8
UHJvY2Vzc0Fzc2VydGlvbj4ocHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSwgIldlYktpdCBN
ZWRpYSBQbGF5YmFjayJfcywgQXNzZXJ0aW9uU3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJl
YXNvbjo6TWVkaWFQbGF5YmFjayk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2Vi
UHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRpYShXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBw
cm9jZXNzSUQpCit7CisgICAgYXV0byByZXN1bHQgPSBtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxl
TWVkaWEudGFrZShwcm9jZXNzSUQpOworICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQp
OworCisgICAgYXV0byogcHJvY2VzcyA9IFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc0ZvcklkZW50
aWZpZXIocHJvY2Vzc0lEKTsKKyAgICBBU1NFUlQocHJvY2Vzcyk7CisgICAgUkVMRUFTRV9MT0co
UHJvY2Vzc1N1c3BlbnNpb24sICJXZWIgcHJvY2VzcyBwaWQgJXUgaXMgbm8gbG9uZ2VyIHBsYXlp
bmcgYXVkaWJsZSBtZWRpYSIsICh1bnNpZ25lZClwcm9jZXNzLT5wcm9jZXNzSWRlbnRpZmllcigp
KTsKKworICAgIGlmIChtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVkaWEuaXNFbXB0eSgpKSB7
CisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiVGhlIG51bWJlciBvZiBw
cm9jZXNzZXMgcGxheWluZyBhdWRpYmxlIG1lZGlhIG5vdyB6ZXJvLiBSZWxlYXNpbmcgVUkgcHJv
Y2VzcyBhc3NlcnRpb24uIik7CisKKyAgICAgICAgQVNTRVJUKG1fdWlQcm9jZXNzTWVkaWFQbGF5
YmFja0Fzc2VydGlvbik7CisgICAgICAgIG1fdWlQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlv
biA9IG51bGxwdHI7CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDQ5ZWY5NzIzNjg1MWM1MzMyYTgy
N2QzNjgzNTFhYWU3ODdlNTY1MzcuLjE2NTU0NWIxYTJmODZlYWE0YjgzM2M5M2FiZTgwZGM5MGVl
NTI2MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNTA1
LDYgKzUwNSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdlYlByb2Nlc3NIYXNVcGxvYWRzKFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKICAgICB2b2lkIGNsZWFyV2ViUHJvY2Vzc0hhc1Vw
bG9hZHMoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIpOwogCisgICAgdm9pZCBzZXRXZWJQcm9j
ZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKKyAg
ICB2b2lkIGNsZWFyV2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRpYShXZWJDb3JlOjpQcm9j
ZXNzSWRlbnRpZmllcik7CisKICAgICB2b2lkIGRpc2FibGVEZWxheWVkV2ViUHJvY2Vzc0xhdW5j
aCgpIHsgbV9pc0RlbGF5ZWRXZWJQcm9jZXNzTGF1bmNoRGlzYWJsZWQgPSB0cnVlOyB9CiAKIHBy
aXZhdGU6CkBAIC03ODgsNiArNzkxLDEwIEBAIHByaXZhdGU6CiAKICAgICBIYXNoTWFwPFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4+
IG1fcHJvY2Vzc2VzV2l0aFVwbG9hZHM7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NBc3Nl
cnRpb24+IG1fdWlQcm9jZXNzVXBsb2FkQXNzZXJ0aW9uOworCisgICAgSGFzaE1hcDxXZWJDb3Jl
OjpQcm9jZXNzSWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NBc3NlcnRpb24+PiBt
X3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVkaWE7CisgICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nl
c3NBc3NlcnRpb24+IG1fdWlQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbjsKKwogI2lmIFBM
QVRGT1JNKElPUykKICAgICAvLyBGSVhNRTogRGVsYXllZCBwcm9jZXNzIGxhdW5jaCBpcyBjdXJy
ZW50bHkgZGlzYWJsZWQgb24gaU9TIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIChyZGFyOi8vcHJv
YmxlbS80OTA3NDEzMSkuCiAgICAgYm9vbCBtX2lzRGVsYXllZFdlYlByb2Nlc3NMYXVuY2hEaXNh
YmxlZCB7IHRydWUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
Y3BwCmluZGV4IGJmZWRlZTU0NzllMDdlYzFkMmQwNTYwYzI2MjdlMTFiZTc5MThlNjkuLjc5YzJl
NWE1NmNhZTY2YjMyMDc2Njg4MjA0ZDRkMjA1OTMwMWNkMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTIwOSw3ICsxMjA5LDIwIEBAIHZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3NlcnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSBzdGF0
ZSkKICAgICBVTlVTRURfUEFSQU0oc3RhdGUpOwogI2VuZGlmCiB9Ci0gICAgCisKK3ZvaWQgV2Vi
UHJvY2Vzc1Byb3h5Ojp3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZShXZWJQYWdlUHJveHkmKQor
eworICAgIGJvb2wgbmV3SGFzQXVkaWJsZVdlYlBhZ2UgPSBXVEY6OmFueU9mKG1fcGFnZU1hcC52
YWx1ZXMoKSwgW10gKGF1dG8mIHBhZ2UpIHsgcmV0dXJuIHBhZ2UtPmlzUGxheWluZ0F1ZGlvKCk7
IH0pOworICAgIGlmIChtX2hhc0F1ZGlibGVXZWJQYWdlID09IG5ld0hhc0F1ZGlibGVXZWJQYWdl
KQorICAgICAgICByZXR1cm47CisgICAgbV9oYXNBdWRpYmxlV2ViUGFnZSA9IG5ld0hhc0F1ZGli
bGVXZWJQYWdlOworCisgICAgaWYgKG1faGFzQXVkaWJsZVdlYlBhZ2UpCisgICAgICAgIHByb2Nl
c3NQb29sKCkuc2V0V2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRpYShjb3JlUHJvY2Vzc0lk
ZW50aWZpZXIoKSk7CisgICAgZWxzZQorICAgICAgICBwcm9jZXNzUG9vbCgpLmNsZWFyV2ViUHJv
Y2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRpYShjb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSk7Cit9CisK
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhib29sIGlzSG9s
ZGluZ0xvY2tlZEZpbGVzKQogewogICAgIGlmICghaXNIb2xkaW5nTG9ja2VkRmlsZXMpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggMTI4NGFlYTUxODdj
MWY4ODRhY2YyNTVjYTAzMGVkOTNjYWRlZmY4NS4uMGE0N2I2YzEzZjg0M2Y0ODQxNGE2NTZlMGZm
ZTc2YjVmOWVhZTdkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmgKQEAgLTMwNiw2ICszMDYsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcm9jZXNzV2FzVW5leHBl
Y3RlZGx5VW5zdXNwZW5kZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICNlbmRpZgog
CisgICAgdm9pZCB3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZShXZWJQYWdlUHJveHkmKTsKKwog
cHJvdGVjdGVkOgogICAgIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVBhZ2VJRCgpOwogICAgIFdl
YlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYsIFdlYnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdh
cm1lZCk7CkBAIC00ODUsNiArNDg3LDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3N1c3Bl
bmRlZFBhZ2VDb3VudCB7IDAgfTsKICAgICBib29sIG1faGFzQ29tbWl0dGVkQW55UHJvdmlzaW9u
YWxMb2FkcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzUHJld2FybWVkOworICAgIGJvb2wgbV9o
YXNBdWRpYmxlV2ViUGFnZSB7IGZhbHNlIH07CiAKICNpZiBQTEFURk9STShXQVRDSE9TKQogICAg
IFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rpdml0eVRva2VuIG1fYmFja2dyb3VuZEFj
dGl2aXR5VG9rZW5Gb3JGdWxsc2NyZWVuRm9ybUNvbnRyb2xzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQppbmRleCA4YWEyZGNmMDRj
MzQ2ZTAzMjQ0M2QxZjlhMjAzMzRhZjIyMjRmY2FjLi5kYzM1YWNjZThkNzNjNDU1ZTBmNGM3ZDdk
NDdmNDhlNjQyMWZmYTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbQpAQCAtMTgxLDYgKzE4MSw4IEBAIHN0YXRpYyBCS1NQcm9j
ZXNzQXNzZXJ0aW9uUmVhc29uIHRvQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbihBc3NlcnRpb25S
ZWFzb24gcmVhCiAgICAgICAgIHJldHVybiBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uRmluaXNo
VGFzazsKICAgICBjYXNlIEFzc2VydGlvblJlYXNvbjo6RmluaXNoVGFza1VuYm91bmRlZDoKICAg
ICAgICAgcmV0dXJuIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrVW5ib3VuZGVk
OworICAgIGNhc2UgQXNzZXJ0aW9uUmVhc29uOjpNZWRpYVBsYXliYWNrOgorICAgICAgICByZXR1
cm4gQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbk1lZGlhUGxheWJhY2s7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369774</attachid>
            <date>2019-05-13 13:26:33 -0700</date>
            <delta_ts>2019-05-13 13:33:45 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-197798-20190513132632.patch</filename>
            <type>text/plain</type>
            <size>11027</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBiMWE0OGNiYzdlZmNhNjdj
YzI3YTQwZTExMDk1MzUwOTJhMWVhOTUuLjZmZDUwZTVhYmE3MzcyYzVkYjc2NjE1M2YyNGQ3OTI0
NDRiNDYzODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDUtMTAgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgVGFrZSBvdXQgTWVkaWFQbGF5YmFj
ayBVSSBhc3NlcnRpb24gd2hlbiBhbnkgV2ViUHJvY2VzcyBpcyBwbGF5aW5nIGF1ZGlibGUgbWVk
aWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Nzc5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIFRvIGtlZXAg
dGhlIHN5c3RlbSBmcm9tIHN1c3BlbmRpbmcgdGhlIFVJUHJvY2VzcyAoYW5kIGFsbCB0aGUgb3Ro
ZXIgY29uc3RlbGxhdGlvbiBvZiBwcm9jZXNzZXMgdGhhdAorICAgICAgICBhcmUgbmVjZXNzYXJ5
IHRvIHBsYXkgbWVkaWEpLCB0YWtlIGEgVUlQcm9jZXNzIGFzc2VydGlvbiB3aXRoIHRoZSBNZWRp
YVBsYXliYWNrIHJlYXNvbiB3aGVuZXZlciB0aGVyZQorICAgICAgICBpcyBhIFdlYkNvbnRlbnQg
cHJvY2VzcyB0aGF0IGlzIHBsYXlpbmcgYXVkaWJsZSBtZWRpYS4KKworICAgICAgICAqIFBsYXRm
b3JtL3NwaS9pb3MvQXNzZXJ0aW9uU2VydmljZXNTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UHJvY2Vzc0Fzc2VydGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVBsYXlpbmdNZWRpYURpZENo
YW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVk
aWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSXNQ
bGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9CS1NQcm9jZXNz
QXNzZXJ0aW9uUmVhc29uKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0Fzc2VydGlvbjo6UHJv
Y2Vzc0Fzc2VydGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisKIDIw
MTktMDUtMDkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NdIExhemlseSByZXF1ZXN0IGtleWJvYXJkIG9uIGZpcnN0IGhhcmR3YXJlIGtleWRvd24gd2hl
biBhIG5vbi1lZGl0YWJsZSBlbGVtZW50IGlzIGZvY3VzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9Bc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKaW5kZXggNmNlNmYy
ZDk1Y2UzNmM3OTk1MDBlOTc0MDgzNTAzMzY1OWQ3NGQxNy4uYTY3ZjQxZmY5NTc1MWJiZjk4MzQx
ZTE0NDQ5OTY5ZmYzMjBmYjg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9z
cGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKQEAgLTY5LDYgKzY5LDcgQEAgZW51bSB7
CiB0eXBlZGVmIHVpbnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFnczsKIAogZW51bSB7Cisg
ICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbk1lZGlhUGxheWJhY2sgPSAxLAogICAgIEJLU1By
b2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrID0gNCwKICAgICBCS1NQcm9jZXNzQXNzZXJ0
aW9uUmVhc29uRXh0ZW5zaW9uID0gMTMsCiAgICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZp
bmlzaFRhc2tVbmJvdW5kZWQgPSAxMDAwNCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nl
c3NBc3NlcnRpb24uaAppbmRleCBhMDFjNzZkYjczM2I5ZWVlNmQyYmU5N2U3NjJjODBlOTRiNTgz
MDExLi43NzEwNzZhYzY3NWI3MTNmODBhMzM2NTgzMmFiYmEwMmM3ZjhhZGFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCkBAIC01Miw2ICs1Miw3IEBAIGVu
dW0gY2xhc3MgQXNzZXJ0aW9uUmVhc29uIHsKICAgICBFeHRlbnNpb24sCiAgICAgRmluaXNoVGFz
aywKICAgICBGaW5pc2hUYXNrVW5ib3VuZGVkLAorICAgIE1lZGlhUGxheWJhY2ssCiB9OwogCiBj
bGFzcyBQcm9jZXNzQXNzZXJ0aW9uIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFByb2Nlc3NBc3Nl
cnRpb24+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGE4
YWIxNWU3NTUwYzRlYjA5NWIyNTRiMTYwOTRlZGQ0NWYzMmQ1NzAuLjI5MWUyODhhN2Y3OWE5OGQz
NDgwMDBjZGEyMDhmZjc0YjM1MGEyMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtMTAzOCw2ICsxMDM4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsb3Nl
KCkKICNlbmRpZgogCiAgICAgc3RvcEFsbFVSTFNjaGVtZVRhc2tzKCk7CisgICAgdXBkYXRlUGxh
eWluZ01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6OklzTm90UGxheWluZyk7CiB9CiAKIGJv
b2wgV2ViUGFnZVByb3h5Ojp0cnlDbG9zZSgpCkBAIC03MDUzLDYgKzcwNTQsOCBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZChQcm9jZXNzVGVybWluYXRp
b25SZWFzb24gdGVybWluYQogICAgICAgICBtX3BhZ2VMb2FkU3RhdGUucmVzZXQodHJhbnNhY3Rp
b24pOwogICAgIH0KIAorICAgIHVwZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1
Y2VyOjpJc05vdFBsYXlpbmcpOworCiAgICAgLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS8zODY3
NjYwND4gSW4gY2FzZSBvZiBwcm9jZXNzIHN3YXBzLCB0aGUgb2xkIHByb2Nlc3Mgc2hvdWxkIGdy
YWNlZnVsbHkgc3VzcGVuZCBpbnN0ZWFkIG9mIHRlcm1pbmF0aW5nLgogICAgIG1fcHJvY2Vzcy0+
cHJvY2Vzc1Rlcm1pbmF0ZWQoKTsKIH0KQEAgLTgwNzMsNyArODA3Niw4IEBAIHZvaWQgV2ViUGFn
ZVByb3h5Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRl
RmxhZ3MgbmV3U3RhCiAgICAgQVNTRVJUKGZvY3VzTWFuYWdlcik7CiAgICAgZm9jdXNNYW5hZ2Vy
LT51cGRhdGVQbGF5YmFja0F0dHJpYnV0ZXNGcm9tTWVkaWFTdGF0ZSh0aGlzLCBzb3VyY2VFbGVt
ZW50SUQsIG5ld1N0YXRlKTsKICNlbmRpZgotICAgIHVwZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5n
ZShuZXdTdGF0ZSk7CisgICAgaWYgKCFtX2lzQ2xvc2VkKQorICAgICAgICB1cGRhdGVQbGF5aW5n
TWVkaWFEaWRDaGFuZ2UobmV3U3RhdGUpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRl
UGxheWluZ01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBuZXdT
dGF0ZSkKQEAgLTgxMTEsNiArODExNSw4IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVQbGF5
aW5nTWVkaWFEaWRDaGFuZ2UoTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIG5lCiAKICAg
ICBpZiAoKG9sZFN0YXRlICYgTWVkaWFQcm9kdWNlcjo6SGFzQXVkaW9PclZpZGVvKSAhPSAobV9t
ZWRpYVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6SGFzQXVkaW9PclZpZGVvKSkKICAgICAgICAgdmlk
ZW9Db250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKTsKKworICAgIG1fcHJvY2Vzcy0+d2ViUGFnZU1l
ZGlhU3RhdGVEaWRDaGFuZ2UoKnRoaXMpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6dmlkZW9D
b250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwCmluZGV4IDkzNzZkYTVkYWI1YmQwMzNjMmZkZWU4YjIwZGI3OTRiZGEyYmMz
ZjIuLjEwZGNjMmE1NjY3MGMyNzZlNmNiYTJiZTZmNzE5MzM4N2ZjMjE4OTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTExMDAsNiArMTEwMCw3IEBA
IHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnByb2Nlc3NEaWRGaW5pc2hMYXVuY2hpbmcoV2ViUHJvY2Vz
c1Byb3h5KiBwcm9jZXNzKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZGlzY29ubmVjdFByb2Nlc3Mo
V2ViUHJvY2Vzc1Byb3h5KiBwcm9jZXNzKQogewogICAgIEFTU0VSVChtX3Byb2Nlc3Nlcy5jb250
YWlucyhwcm9jZXNzKSk7CisgICAgQVNTRVJUKCFtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVk
aWEuY29udGFpbnMocHJvY2Vzcy5jb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSkpCiAKICAgICBpZiAo
bV9wcmV3YXJtZWRQcm9jZXNzID09IHByb2Nlc3MpIHsKICAgICAgICAgQVNTRVJUKG1fcHJld2Fy
bWVkUHJvY2Vzcy0+aXNQcmV3YXJtZWQoKSk7CkBAIC0yNTcwLDQgKzI1NzEsNDAgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSGFzVXBsb2FkcyhQcm9jZXNzSWRlbnRpZmll
ciBwcm9jZXNzSUQpCiAgICAgCiB9CiAKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldFdlYlByb2Nl
c3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vz
c0lEKQoreworICAgIGF1dG8qIHByb2Nlc3MgPSBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NGb3JJ
ZGVudGlmaWVyKHByb2Nlc3NJRCk7CisgICAgQVNTRVJUKHByb2Nlc3MpOworCisgICAgUkVMRUFT
RV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJXZWIgcHJvY2VzcyBwaWQgJXUgaXMgbm93IHBsYXlp
bmcgYXVkaWJsZSBtZWRpYSIsICh1bnNpZ25lZClwcm9jZXNzLT5wcm9jZXNzSWRlbnRpZmllcigp
KTsKKworICAgIGlmIChtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVkaWEuaXNFbXB0eSgpKSB7
CisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiVGhlIG51bWJlciBvZiBw
cm9jZXNzZXMgcGxheWluZyBhdWRpYmxlIG1lZGlhIGlzIG5vdyBvbmUuIFRha2luZyBVSSBwcm9j
ZXNzIGFzc2VydGlvbi4iKTsKKworICAgICAgICBBU1NFUlQoIW1fdWlQcm9jZXNzTWVkaWFQbGF5
YmFja0Fzc2VydGlvbik7CisgICAgICAgIG1fdWlQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlv
biA9IHN0ZDo6bWFrZV91bmlxdWU8UHJvY2Vzc0Fzc2VydGlvbj4oZ2V0Q3VycmVudFByb2Nlc3NJ
RCgpLCAiV2ViS2l0IE1lZGlhIFBsYXliYWNrIl9zLCBBc3NlcnRpb25TdGF0ZTo6Rm9yZWdyb3Vu
ZCwgQXNzZXJ0aW9uUmVhc29uOjpNZWRpYVBsYXliYWNrKTsKKyAgICB9CisKKyAgICBhdXRvIHJl
c3VsdCA9IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYS5hZGQocHJvY2Vzc0lELCBudWxs
cHRyKTsKKyAgICBBU1NFUlQocmVzdWx0LmlzTmV3RW50cnkpOworICAgIHJlc3VsdC5pdGVyYXRv
ci0+dmFsdWUgPSBzdGQ6Om1ha2VfdW5pcXVlPFByb2Nlc3NBc3NlcnRpb24+KHByb2Nlc3MtPnBy
b2Nlc3NJZGVudGlmaWVyKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2siX3MsIEFzc2VydGlvblN0
YXRlOjpGb3JlZ3JvdW5kLCBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxheWJhY2spOworfQorCit2
b2lkIFdlYlByb2Nlc3NQb29sOjpjbGVhcldlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEo
V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lEKQoreworICAgIGF1dG8gcmVzdWx0
ID0gbV9wcm9jZXNzZXNQbGF5aW5nQXVkaWJsZU1lZGlhLnRha2UocHJvY2Vzc0lEKTsKKyAgICBB
U1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0KTsKKworICAgIGF1dG8qIHByb2Nlc3MgPSBXZWJQ
cm9jZXNzUHJveHk6OnByb2Nlc3NGb3JJZGVudGlmaWVyKHByb2Nlc3NJRCk7CisgICAgQVNTRVJU
KHByb2Nlc3MpOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV2ViIHByb2Nl
c3MgcGlkICV1IGlzIG5vIGxvbmdlciBwbGF5aW5nIGF1ZGlibGUgbWVkaWEiLCAodW5zaWduZWQp
cHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIoKSk7CisKKyAgICBpZiAobV9wcm9jZXNzZXNQbGF5
aW5nQXVkaWJsZU1lZGlhLmlzRW1wdHkoKSkgeworICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNz
U3VzcGVuc2lvbiwgIlRoZSBudW1iZXIgb2YgcHJvY2Vzc2VzIHBsYXlpbmcgYXVkaWJsZSBtZWRp
YSBub3cgemVyby4gUmVsZWFzaW5nIFVJIHByb2Nlc3MgYXNzZXJ0aW9uLiIpOworCisgICAgICAg
IEFTU0VSVChtX3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24pOworICAgICAgICBtX3Vp
UHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24gPSBudWxscHRyOworICAgIH0KK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
aAppbmRleCA0OWVmOTcyMzY4NTFjNTMzMmE4MjdkMzY4MzUxYWFlNzg3ZTU2NTM3Li4xNjU1NDVi
MWEyZjg2ZWFhNGI4MzNjOTNhYmU4MGRjOTBlZTUyNjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTUwNSw2ICs1MDUsOSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRXZWJQcm9jZXNzSGFzVXBsb2FkcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CiAg
ICAgdm9pZCBjbGVhcldlYlByb2Nlc3NIYXNVcGxvYWRzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlm
aWVyKTsKIAorICAgIHZvaWQgc2V0V2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRpYShXZWJD
b3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CisgICAgdm9pZCBjbGVhcldlYlByb2Nlc3NJc1BsYXlp
bmdBdWRpYmxlTWVkaWEoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIpOworCiAgICAgdm9pZCBk
aXNhYmxlRGVsYXllZFdlYlByb2Nlc3NMYXVuY2goKSB7IG1faXNEZWxheWVkV2ViUHJvY2Vzc0xh
dW5jaERpc2FibGVkID0gdHJ1ZTsgfQogCiBwcml2YXRlOgpAQCAtNzg4LDYgKzc5MSwxMCBAQCBw
cml2YXRlOgogCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgc3RkOjp1
bmlxdWVfcHRyPFByb2Nlc3NBc3NlcnRpb24+PiBtX3Byb2Nlc3Nlc1dpdGhVcGxvYWRzOwogICAg
IHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzQXNzZXJ0aW9uPiBtX3VpUHJvY2Vzc1VwbG9hZEFzc2Vy
dGlvbjsKKworICAgIEhhc2hNYXA8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIHN0ZDo6dW5p
cXVlX3B0cjxQcm9jZXNzQXNzZXJ0aW9uPj4gbV9wcm9jZXNzZXNQbGF5aW5nQXVkaWJsZU1lZGlh
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzQXNzZXJ0aW9uPiBtX3VpUHJvY2Vzc01lZGlh
UGxheWJhY2tBc3NlcnRpb247CisKICNpZiBQTEFURk9STShJT1MpCiAgICAgLy8gRklYTUU6IERl
bGF5ZWQgcHJvY2VzcyBsYXVuY2ggaXMgY3VycmVudGx5IGRpc2FibGVkIG9uIGlPUyBmb3IgcGVy
Zm9ybWFuY2UgcmVhc29ucyAocmRhcjovL3Byb2JsZW0vNDkwNzQxMzEpLgogICAgIGJvb2wgbV9p
c0RlbGF5ZWRXZWJQcm9jZXNzTGF1bmNoRGlzYWJsZWQgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBiZmVkZWU1NDc5ZTA3ZWMxZDJk
MDU2MGMyNjI3ZTExYmU3OTE4ZTY5Li43OWMyZTVhNTZjYWU2NmIzMjA3NjY4ODIwNGQ0ZDIwNTkz
MDFjZDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAK
QEAgLTEyMDksNyArMTIwOSwyMCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkU2V0QXNzZXJ0
aW9uU3RhdGUoQXNzZXJ0aW9uU3RhdGUgc3RhdGUpCiAgICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsK
ICNlbmRpZgogfQotICAgIAorCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6d2ViUGFnZU1lZGlhU3Rh
dGVEaWRDaGFuZ2UoV2ViUGFnZVByb3h5JikKK3sKKyAgICBib29sIG5ld0hhc0F1ZGlibGVXZWJQ
YWdlID0gV1RGOjphbnlPZihtX3BhZ2VNYXAudmFsdWVzKCksIFtdIChhdXRvJiBwYWdlKSB7IHJl
dHVybiBwYWdlLT5pc1BsYXlpbmdBdWRpbygpOyB9KTsKKyAgICBpZiAobV9oYXNBdWRpYmxlV2Vi
UGFnZSA9PSBuZXdIYXNBdWRpYmxlV2ViUGFnZSkKKyAgICAgICAgcmV0dXJuOworICAgIG1faGFz
QXVkaWJsZVdlYlBhZ2UgPSBuZXdIYXNBdWRpYmxlV2ViUGFnZTsKKworICAgIGlmIChtX2hhc0F1
ZGlibGVXZWJQYWdlKQorICAgICAgICBwcm9jZXNzUG9vbCgpLnNldFdlYlByb2Nlc3NJc1BsYXlp
bmdBdWRpYmxlTWVkaWEoY29yZVByb2Nlc3NJZGVudGlmaWVyKCkpOworICAgIGVsc2UKKyAgICAg
ICAgcHJvY2Vzc1Bvb2woKS5jbGVhcldlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEoY29y
ZVByb2Nlc3NJZGVudGlmaWVyKCkpOworfQorCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6c2V0SXNI
b2xkaW5nTG9ja2VkRmlsZXMoYm9vbCBpc0hvbGRpbmdMb2NrZWRGaWxlcykKIHsKICAgICBpZiAo
IWlzSG9sZGluZ0xvY2tlZEZpbGVzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oCmluZGV4IDEyODRhZWE1MTg3YzFmODg0YWNmMjU1Y2EwMzBlZDkzY2FkZWZmODUu
LjBhNDdiNmMxM2Y4NDNmNDg0MTRhNjU2ZTBmZmU3NmI1ZjllYWU3ZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC0zMDYsNiArMzA2LDggQEAgcHVibGlj
OgogICAgIHZvaWQgcHJvY2Vzc1dhc1VuZXhwZWN0ZWRseVVuc3VzcGVuZGVkKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7CiAjZW5kaWYKIAorICAgIHZvaWQgd2ViUGFnZU1lZGlhU3RhdGVE
aWRDaGFuZ2UoV2ViUGFnZVByb3h5Jik7CisKIHByb3RlY3RlZDoKICAgICBzdGF0aWMgdWludDY0
X3QgZ2VuZXJhdGVQYWdlSUQoKTsKICAgICBXZWJQcm9jZXNzUHJveHkoV2ViUHJvY2Vzc1Bvb2wm
LCBXZWJzaXRlRGF0YVN0b3JlKiwgSXNQcmV3YXJtZWQpOwpAQCAtNDg1LDYgKzQ4Nyw3IEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9zdXNwZW5kZWRQYWdlQ291bnQgeyAwIH07CiAgICAgYm9v
bCBtX2hhc0NvbW1pdHRlZEFueVByb3Zpc2lvbmFsTG9hZHMgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc1ByZXdhcm1lZDsKKyAgICBib29sIG1faGFzQXVkaWJsZVdlYlBhZ2UgeyBmYWxzZSB9Owog
CiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKICAgICBQcm9jZXNzVGhyb3R0bGVyOjpCYWNrZ3JvdW5k
QWN0aXZpdHlUb2tlbiBtX2JhY2tncm91bmRBY3Rpdml0eVRva2VuRm9yRnVsbHNjcmVlbkZvcm1D
b250cm9sczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNz
QXNzZXJ0aW9uSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3Nl
cnRpb25JT1MubW0KaW5kZXggOGFhMmRjZjA0YzM0NmUwMzI0NDNkMWY5YTIwMzM0YWYyMjI0ZmNh
Yy4uZGMzNWFjY2U4ZDczYzQ1NWUwZjRjN2Q3ZDQ3ZjQ4ZTY0MjFmZmEyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0KQEAgLTE4
MSw2ICsxODEsOCBAQCBzdGF0aWMgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbiB0b0JLU1Byb2Nl
c3NBc3NlcnRpb25SZWFzb24oQXNzZXJ0aW9uUmVhc29uIHJlYQogICAgICAgICByZXR1cm4gQktT
UHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZpbmlzaFRhc2s7CiAgICAgY2FzZSBBc3NlcnRpb25SZWFz
b246OkZpbmlzaFRhc2tVbmJvdW5kZWQ6CiAgICAgICAgIHJldHVybiBCS1NQcm9jZXNzQXNzZXJ0
aW9uUmVhc29uRmluaXNoVGFza1VuYm91bmRlZDsKKyAgICBjYXNlIEFzc2VydGlvblJlYXNvbjo6
TWVkaWFQbGF5YmFjazoKKyAgICAgICAgcmV0dXJuIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25N
ZWRpYVBsYXliYWNrOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369776</attachid>
            <date>2019-05-13 13:33:46 -0700</date>
            <delta_ts>2019-05-13 13:49:39 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-197798-20190513133345.patch</filename>
            <type>text/plain</type>
            <size>11028</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBiMWE0OGNiYzdlZmNhNjdj
YzI3YTQwZTExMDk1MzUwOTJhMWVhOTUuLjZmZDUwZTVhYmE3MzcyYzVkYjc2NjE1M2YyNGQ3OTI0
NDRiNDYzODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDUtMTAgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgVGFrZSBvdXQgTWVkaWFQbGF5YmFj
ayBVSSBhc3NlcnRpb24gd2hlbiBhbnkgV2ViUHJvY2VzcyBpcyBwbGF5aW5nIGF1ZGlibGUgbWVk
aWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Nzc5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIFRvIGtlZXAg
dGhlIHN5c3RlbSBmcm9tIHN1c3BlbmRpbmcgdGhlIFVJUHJvY2VzcyAoYW5kIGFsbCB0aGUgb3Ro
ZXIgY29uc3RlbGxhdGlvbiBvZiBwcm9jZXNzZXMgdGhhdAorICAgICAgICBhcmUgbmVjZXNzYXJ5
IHRvIHBsYXkgbWVkaWEpLCB0YWtlIGEgVUlQcm9jZXNzIGFzc2VydGlvbiB3aXRoIHRoZSBNZWRp
YVBsYXliYWNrIHJlYXNvbiB3aGVuZXZlciB0aGVyZQorICAgICAgICBpcyBhIFdlYkNvbnRlbnQg
cHJvY2VzcyB0aGF0IGlzIHBsYXlpbmcgYXVkaWJsZSBtZWRpYS4KKworICAgICAgICAqIFBsYXRm
b3JtL3NwaS9pb3MvQXNzZXJ0aW9uU2VydmljZXNTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UHJvY2Vzc0Fzc2VydGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVBsYXlpbmdNZWRpYURpZENo
YW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVk
aWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSXNQ
bGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9CS1NQcm9jZXNz
QXNzZXJ0aW9uUmVhc29uKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0Fzc2VydGlvbjo6UHJv
Y2Vzc0Fzc2VydGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisKIDIw
MTktMDUtMDkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NdIExhemlseSByZXF1ZXN0IGtleWJvYXJkIG9uIGZpcnN0IGhhcmR3YXJlIGtleWRvd24gd2hl
biBhIG5vbi1lZGl0YWJsZSBlbGVtZW50IGlzIGZvY3VzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9Bc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKaW5kZXggNmNlNmYy
ZDk1Y2UzNmM3OTk1MDBlOTc0MDgzNTAzMzY1OWQ3NGQxNy4uYTY3ZjQxZmY5NTc1MWJiZjk4MzQx
ZTE0NDQ5OTY5ZmYzMjBmYjg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9z
cGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKQEAgLTY5LDYgKzY5LDcgQEAgZW51bSB7
CiB0eXBlZGVmIHVpbnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFnczsKIAogZW51bSB7Cisg
ICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbk1lZGlhUGxheWJhY2sgPSAxLAogICAgIEJLU1By
b2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrID0gNCwKICAgICBCS1NQcm9jZXNzQXNzZXJ0
aW9uUmVhc29uRXh0ZW5zaW9uID0gMTMsCiAgICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZp
bmlzaFRhc2tVbmJvdW5kZWQgPSAxMDAwNCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nl
c3NBc3NlcnRpb24uaAppbmRleCBhMDFjNzZkYjczM2I5ZWVlNmQyYmU5N2U3NjJjODBlOTRiNTgz
MDExLi43NzEwNzZhYzY3NWI3MTNmODBhMzM2NTgzMmFiYmEwMmM3ZjhhZGFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCkBAIC01Miw2ICs1Miw3IEBAIGVu
dW0gY2xhc3MgQXNzZXJ0aW9uUmVhc29uIHsKICAgICBFeHRlbnNpb24sCiAgICAgRmluaXNoVGFz
aywKICAgICBGaW5pc2hUYXNrVW5ib3VuZGVkLAorICAgIE1lZGlhUGxheWJhY2ssCiB9OwogCiBj
bGFzcyBQcm9jZXNzQXNzZXJ0aW9uIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFByb2Nlc3NBc3Nl
cnRpb24+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGE4
YWIxNWU3NTUwYzRlYjA5NWIyNTRiMTYwOTRlZGQ0NWYzMmQ1NzAuLjI5MWUyODhhN2Y3OWE5OGQz
NDgwMDBjZGEyMDhmZjc0YjM1MGEyMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtMTAzOCw2ICsxMDM4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsb3Nl
KCkKICNlbmRpZgogCiAgICAgc3RvcEFsbFVSTFNjaGVtZVRhc2tzKCk7CisgICAgdXBkYXRlUGxh
eWluZ01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6OklzTm90UGxheWluZyk7CiB9CiAKIGJv
b2wgV2ViUGFnZVByb3h5Ojp0cnlDbG9zZSgpCkBAIC03MDUzLDYgKzcwNTQsOCBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZChQcm9jZXNzVGVybWluYXRp
b25SZWFzb24gdGVybWluYQogICAgICAgICBtX3BhZ2VMb2FkU3RhdGUucmVzZXQodHJhbnNhY3Rp
b24pOwogICAgIH0KIAorICAgIHVwZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1
Y2VyOjpJc05vdFBsYXlpbmcpOworCiAgICAgLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS8zODY3
NjYwND4gSW4gY2FzZSBvZiBwcm9jZXNzIHN3YXBzLCB0aGUgb2xkIHByb2Nlc3Mgc2hvdWxkIGdy
YWNlZnVsbHkgc3VzcGVuZCBpbnN0ZWFkIG9mIHRlcm1pbmF0aW5nLgogICAgIG1fcHJvY2Vzcy0+
cHJvY2Vzc1Rlcm1pbmF0ZWQoKTsKIH0KQEAgLTgwNzMsNyArODA3Niw4IEBAIHZvaWQgV2ViUGFn
ZVByb3h5Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRl
RmxhZ3MgbmV3U3RhCiAgICAgQVNTRVJUKGZvY3VzTWFuYWdlcik7CiAgICAgZm9jdXNNYW5hZ2Vy
LT51cGRhdGVQbGF5YmFja0F0dHJpYnV0ZXNGcm9tTWVkaWFTdGF0ZSh0aGlzLCBzb3VyY2VFbGVt
ZW50SUQsIG5ld1N0YXRlKTsKICNlbmRpZgotICAgIHVwZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5n
ZShuZXdTdGF0ZSk7CisgICAgaWYgKCFtX2lzQ2xvc2VkKQorICAgICAgICB1cGRhdGVQbGF5aW5n
TWVkaWFEaWRDaGFuZ2UobmV3U3RhdGUpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRl
UGxheWluZ01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBuZXdT
dGF0ZSkKQEAgLTgxMTEsNiArODExNSw4IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVQbGF5
aW5nTWVkaWFEaWRDaGFuZ2UoTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIG5lCiAKICAg
ICBpZiAoKG9sZFN0YXRlICYgTWVkaWFQcm9kdWNlcjo6SGFzQXVkaW9PclZpZGVvKSAhPSAobV9t
ZWRpYVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6SGFzQXVkaW9PclZpZGVvKSkKICAgICAgICAgdmlk
ZW9Db250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKTsKKworICAgIG1fcHJvY2Vzcy0+d2ViUGFnZU1l
ZGlhU3RhdGVEaWRDaGFuZ2UoKnRoaXMpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6dmlkZW9D
b250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwCmluZGV4IDkzNzZkYTVkYWI1YmQwMzNjMmZkZWU4YjIwZGI3OTRiZGEyYmMz
ZjIuLjk4MDNiZTZjODExZTJjYzY2MWRlNmRiMjBlZjAxNmViYmM3N2M4MTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTExMDAsNiArMTEwMCw3IEBA
IHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnByb2Nlc3NEaWRGaW5pc2hMYXVuY2hpbmcoV2ViUHJvY2Vz
c1Byb3h5KiBwcm9jZXNzKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZGlzY29ubmVjdFByb2Nlc3Mo
V2ViUHJvY2Vzc1Byb3h5KiBwcm9jZXNzKQogewogICAgIEFTU0VSVChtX3Byb2Nlc3Nlcy5jb250
YWlucyhwcm9jZXNzKSk7CisgICAgQVNTRVJUKCFtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVk
aWEuY29udGFpbnMocHJvY2Vzcy5jb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSkpOwogCiAgICAgaWYg
KG1fcHJld2FybWVkUHJvY2VzcyA9PSBwcm9jZXNzKSB7CiAgICAgICAgIEFTU0VSVChtX3ByZXdh
cm1lZFByb2Nlc3MtPmlzUHJld2FybWVkKCkpOwpAQCAtMjU3MCw0ICsyNTcxLDQwIEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2ViUHJvY2Vzc0hhc1VwbG9hZHMoUHJvY2Vzc0lkZW50aWZp
ZXIgcHJvY2Vzc0lEKQogICAgIAogfQogCit2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRXZWJQcm9j
ZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nl
c3NJRCkKK3sKKyAgICBhdXRvKiBwcm9jZXNzID0gV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzRm9y
SWRlbnRpZmllcihwcm9jZXNzSUQpOworICAgIEFTU0VSVChwcm9jZXNzKTsKKworICAgIFJFTEVB
U0VfTE9HKFByb2Nlc3NTdXNwZW5zaW9uLCAiV2ViIHByb2Nlc3MgcGlkICV1IGlzIG5vdyBwbGF5
aW5nIGF1ZGlibGUgbWVkaWEiLCAodW5zaWduZWQpcHJvY2Vzcy0+cHJvY2Vzc0lkZW50aWZpZXIo
KSk7CisKKyAgICBpZiAobV9wcm9jZXNzZXNQbGF5aW5nQXVkaWJsZU1lZGlhLmlzRW1wdHkoKSkg
eworICAgICAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIlRoZSBudW1iZXIgb2Yg
cHJvY2Vzc2VzIHBsYXlpbmcgYXVkaWJsZSBtZWRpYSBpcyBub3cgb25lLiBUYWtpbmcgVUkgcHJv
Y2VzcyBhc3NlcnRpb24uIik7CisKKyAgICAgICAgQVNTRVJUKCFtX3VpUHJvY2Vzc01lZGlhUGxh
eWJhY2tBc3NlcnRpb24pOworICAgICAgICBtX3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRp
b24gPSBzdGQ6Om1ha2VfdW5pcXVlPFByb2Nlc3NBc3NlcnRpb24+KGdldEN1cnJlbnRQcm9jZXNz
SUQoKSwgIldlYktpdCBNZWRpYSBQbGF5YmFjayJfcywgQXNzZXJ0aW9uU3RhdGU6OkZvcmVncm91
bmQsIEFzc2VydGlvblJlYXNvbjo6TWVkaWFQbGF5YmFjayk7CisgICAgfQorCisgICAgYXV0byBy
ZXN1bHQgPSBtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVkaWEuYWRkKHByb2Nlc3NJRCwgbnVs
bHB0cik7CisgICAgQVNTRVJUKHJlc3VsdC5pc05ld0VudHJ5KTsKKyAgICByZXN1bHQuaXRlcmF0
b3ItPnZhbHVlID0gc3RkOjptYWtlX3VuaXF1ZTxQcm9jZXNzQXNzZXJ0aW9uPihwcm9jZXNzLT5w
cm9jZXNzSWRlbnRpZmllcigpLCAiV2ViS2l0IE1lZGlhIFBsYXliYWNrIl9zLCBBc3NlcnRpb25T
dGF0ZTo6Rm9yZWdyb3VuZCwgQXNzZXJ0aW9uUmVhc29uOjpNZWRpYVBsYXliYWNrKTsKK30KKwor
dm9pZCBXZWJQcm9jZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlh
KFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJRCkKK3sKKyAgICBhdXRvIHJlc3Vs
dCA9IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYS50YWtlKHByb2Nlc3NJRCk7CisgICAg
QVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdCk7CisKKyAgICBhdXRvKiBwcm9jZXNzID0gV2Vi
UHJvY2Vzc1Byb3h5Ojpwcm9jZXNzRm9ySWRlbnRpZmllcihwcm9jZXNzSUQpOworICAgIEFTU0VS
VChwcm9jZXNzKTsKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldlYiBwcm9j
ZXNzIHBpZCAldSBpcyBubyBsb25nZXIgcGxheWluZyBhdWRpYmxlIG1lZGlhIiwgKHVuc2lnbmVk
KXByb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVyKCkpOworCisgICAgaWYgKG1fcHJvY2Vzc2VzUGxh
eWluZ0F1ZGlibGVNZWRpYS5pc0VtcHR5KCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vz
c1N1c3BlbnNpb24sICJUaGUgbnVtYmVyIG9mIHByb2Nlc3NlcyBwbGF5aW5nIGF1ZGlibGUgbWVk
aWEgbm93IHplcm8uIFJlbGVhc2luZyBVSSBwcm9jZXNzIGFzc2VydGlvbi4iKTsKKworICAgICAg
ICBBU1NFUlQobV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uKTsKKyAgICAgICAgbV91
aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbnVsbHB0cjsKKyAgICB9Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmgKaW5kZXggNDllZjk3MjM2ODUxYzUzMzJhODI3ZDM2ODM1MWFhZTc4N2U1NjUzNy4uMTY1NTQ1
YjFhMmY4NmVhYTRiODMzYzkzYWJlODBkYzkwZWU1MjYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC01MDUsNiArNTA1LDkgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0V2ViUHJvY2Vzc0hhc1VwbG9hZHMoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIpOwog
ICAgIHZvaWQgY2xlYXJXZWJQcm9jZXNzSGFzVXBsb2FkcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
Zmllcik7CiAKKyAgICB2b2lkIHNldFdlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEoV2Vi
Q29yZTo6UHJvY2Vzc0lkZW50aWZpZXIpOworICAgIHZvaWQgY2xlYXJXZWJQcm9jZXNzSXNQbGF5
aW5nQXVkaWJsZU1lZGlhKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKKwogICAgIHZvaWQg
ZGlzYWJsZURlbGF5ZWRXZWJQcm9jZXNzTGF1bmNoKCkgeyBtX2lzRGVsYXllZFdlYlByb2Nlc3NM
YXVuY2hEaXNhYmxlZCA9IHRydWU7IH0KIAogcHJpdmF0ZToKQEAgLTc4OCw2ICs3OTEsMTAgQEAg
cHJpdmF0ZToKIAogICAgIEhhc2hNYXA8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIHN0ZDo6
dW5pcXVlX3B0cjxQcm9jZXNzQXNzZXJ0aW9uPj4gbV9wcm9jZXNzZXNXaXRoVXBsb2FkczsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NVcGxvYWRBc3Nl
cnRpb247CisKKyAgICBIYXNoTWFwPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVu
aXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4+IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRp
YTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NNZWRp
YVBsYXliYWNrQXNzZXJ0aW9uOworCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEZJWE1FOiBE
ZWxheWVkIHByb2Nlc3MgbGF1bmNoIGlzIGN1cnJlbnRseSBkaXNhYmxlZCBvbiBpT1MgZm9yIHBl
cmZvcm1hbmNlIHJlYXNvbnMgKHJkYXI6Ly9wcm9ibGVtLzQ5MDc0MTMxKS4KICAgICBib29sIG1f
aXNEZWxheWVkV2ViUHJvY2Vzc0xhdW5jaERpc2FibGVkIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggYmZlZGVlNTQ3OWUwN2VjMWQy
ZDA1NjBjMjYyN2UxMWJlNzkxOGU2OS4uNzljMmU1YTU2Y2FlNjZiMzIwNzY2ODgyMDRkNGQyMDU5
MzAxY2QyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CkBAIC0xMjA5LDcgKzEyMDksMjAgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFzc2Vy
dGlvblN0YXRlKEFzc2VydGlvblN0YXRlIHN0YXRlKQogICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7
CiAjZW5kaWYKIH0KLSAgICAKKwordm9pZCBXZWJQcm9jZXNzUHJveHk6OndlYlBhZ2VNZWRpYVN0
YXRlRGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSYpCit7CisgICAgYm9vbCBuZXdIYXNBdWRpYmxlV2Vi
UGFnZSA9IFdURjo6YW55T2YobV9wYWdlTWFwLnZhbHVlcygpLCBbXSAoYXV0byYgcGFnZSkgeyBy
ZXR1cm4gcGFnZS0+aXNQbGF5aW5nQXVkaW8oKTsgfSk7CisgICAgaWYgKG1faGFzQXVkaWJsZVdl
YlBhZ2UgPT0gbmV3SGFzQXVkaWJsZVdlYlBhZ2UpCisgICAgICAgIHJldHVybjsKKyAgICBtX2hh
c0F1ZGlibGVXZWJQYWdlID0gbmV3SGFzQXVkaWJsZVdlYlBhZ2U7CisKKyAgICBpZiAobV9oYXNB
dWRpYmxlV2ViUGFnZSkKKyAgICAgICAgcHJvY2Vzc1Bvb2woKS5zZXRXZWJQcm9jZXNzSXNQbGF5
aW5nQXVkaWJsZU1lZGlhKGNvcmVQcm9jZXNzSWRlbnRpZmllcigpKTsKKyAgICBlbHNlCisgICAg
ICAgIHByb2Nlc3NQb29sKCkuY2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKGNv
cmVQcm9jZXNzSWRlbnRpZmllcigpKTsKK30KKwogdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNldElz
SG9sZGluZ0xvY2tlZEZpbGVzKGJvb2wgaXNIb2xkaW5nTG9ja2VkRmlsZXMpCiB7CiAgICAgaWYg
KCFpc0hvbGRpbmdMb2NrZWRGaWxlcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuaAppbmRleCAxMjg0YWVhNTE4N2MxZjg4NGFjZjI1NWNhMDMwZWQ5M2NhZGVmZjg1
Li4wYTQ3YjZjMTNmODQzZjQ4NDE0YTY1NmUwZmZlNzZiNWY5ZWFlN2Q5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMzA2LDYgKzMwNiw4IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHByb2Nlc3NXYXNVbmV4cGVjdGVkbHlVbnN1c3BlbmRlZChDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYpOwogI2VuZGlmCiAKKyAgICB2b2lkIHdlYlBhZ2VNZWRpYVN0YXRl
RGlkQ2hhbmdlKFdlYlBhZ2VQcm94eSYpOworCiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIHVpbnQ2
NF90IGdlbmVyYXRlUGFnZUlEKCk7CiAgICAgV2ViUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29s
JiwgV2Vic2l0ZURhdGFTdG9yZSosIElzUHJld2FybWVkKTsKQEAgLTQ4NSw2ICs0ODcsNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fc3VzcGVuZGVkUGFnZUNvdW50IHsgMCB9OwogICAgIGJv
b2wgbV9oYXNDb21taXR0ZWRBbnlQcm92aXNpb25hbExvYWRzIHsgZmFsc2UgfTsKICAgICBib29s
IG1faXNQcmV3YXJtZWQ7CisgICAgYm9vbCBtX2hhc0F1ZGlibGVXZWJQYWdlIHsgZmFsc2UgfTsK
IAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAgICAgUHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3Vu
ZEFjdGl2aXR5VG9rZW4gbV9iYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbkZvckZ1bGxzY3JlZW5Gb3Jt
Q29udHJvbHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vz
c0Fzc2VydGlvbklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNz
ZXJ0aW9uSU9TLm1tCmluZGV4IDhhYTJkY2YwNGMzNDZlMDMyNDQzZDFmOWEyMDMzNGFmMjIyNGZj
YWMuLmRjMzVhY2NlOGQ3M2M0NTVlMGY0YzdkN2Q0N2Y0OGU2NDIxZmZhMjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCkBAIC0x
ODEsNiArMTgxLDggQEAgc3RhdGljIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb24gdG9CS1NQcm9j
ZXNzQXNzZXJ0aW9uUmVhc29uKEFzc2VydGlvblJlYXNvbiByZWEKICAgICAgICAgcmV0dXJuIEJL
U1Byb2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrOwogICAgIGNhc2UgQXNzZXJ0aW9uUmVh
c29uOjpGaW5pc2hUYXNrVW5ib3VuZGVkOgogICAgICAgICByZXR1cm4gQktTUHJvY2Vzc0Fzc2Vy
dGlvblJlYXNvbkZpbmlzaFRhc2tVbmJvdW5kZWQ7CisgICAgY2FzZSBBc3NlcnRpb25SZWFzb246
Ok1lZGlhUGxheWJhY2s6CisgICAgICAgIHJldHVybiBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29u
TWVkaWFQbGF5YmFjazsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369777</attachid>
            <date>2019-05-13 13:49:41 -0700</date>
            <delta_ts>2019-05-13 15:01:18 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-197798-20190513134940.patch</filename>
            <type>text/plain</type>
            <size>11029</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBiMWE0OGNiYzdlZmNhNjdj
YzI3YTQwZTExMDk1MzUwOTJhMWVhOTUuLjZmZDUwZTVhYmE3MzcyYzVkYjc2NjE1M2YyNGQ3OTI0
NDRiNDYzODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDUtMTAgIEplciBOb2Js
ZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgVGFrZSBvdXQgTWVkaWFQbGF5YmFj
ayBVSSBhc3NlcnRpb24gd2hlbiBhbnkgV2ViUHJvY2VzcyBpcyBwbGF5aW5nIGF1ZGlibGUgbWVk
aWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Nzc5
OAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIFRvIGtlZXAg
dGhlIHN5c3RlbSBmcm9tIHN1c3BlbmRpbmcgdGhlIFVJUHJvY2VzcyAoYW5kIGFsbCB0aGUgb3Ro
ZXIgY29uc3RlbGxhdGlvbiBvZiBwcm9jZXNzZXMgdGhhdAorICAgICAgICBhcmUgbmVjZXNzYXJ5
IHRvIHBsYXkgbWVkaWEpLCB0YWtlIGEgVUlQcm9jZXNzIGFzc2VydGlvbiB3aXRoIHRoZSBNZWRp
YVBsYXliYWNrIHJlYXNvbiB3aGVuZXZlciB0aGVyZQorICAgICAgICBpcyBhIFdlYkNvbnRlbnQg
cHJvY2VzcyB0aGF0IGlzIHBsYXlpbmcgYXVkaWJsZSBtZWRpYS4KKworICAgICAgICAqIFBsYXRm
b3JtL3NwaS9pb3MvQXNzZXJ0aW9uU2VydmljZXNTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UHJvY2Vzc0Fzc2VydGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVBsYXlpbmdNZWRpYURpZENo
YW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdlYlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVk
aWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSXNQ
bGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp3ZWJQYWdlTWVkaWFTdGF0ZURpZENoYW5nZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9CS1NQcm9jZXNz
QXNzZXJ0aW9uUmVhc29uKToKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0Fzc2VydGlvbjo6UHJv
Y2Vzc0Fzc2VydGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisKIDIw
MTktMDUtMDkgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NdIExhemlseSByZXF1ZXN0IGtleWJvYXJkIG9uIGZpcnN0IGhhcmR3YXJlIGtleWRvd24gd2hl
biBhIG5vbi1lZGl0YWJsZSBlbGVtZW50IGlzIGZvY3VzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9Bc3NlcnRpb25TZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKaW5kZXggNmNlNmYy
ZDk1Y2UzNmM3OTk1MDBlOTc0MDgzNTAzMzY1OWQ3NGQxNy4uYTY3ZjQxZmY5NTc1MWJiZjk4MzQx
ZTE0NDQ5OTY5ZmYzMjBmYjg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9z
cGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvaW9zL0Fzc2VydGlvblNlcnZpY2VzU1BJLmgKQEAgLTY5LDYgKzY5LDcgQEAgZW51bSB7
CiB0eXBlZGVmIHVpbnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFnczsKIAogZW51bSB7Cisg
ICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbk1lZGlhUGxheWJhY2sgPSAxLAogICAgIEJLU1By
b2Nlc3NBc3NlcnRpb25SZWFzb25GaW5pc2hUYXNrID0gNCwKICAgICBCS1NQcm9jZXNzQXNzZXJ0
aW9uUmVhc29uRXh0ZW5zaW9uID0gMTMsCiAgICAgQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbkZp
bmlzaFRhc2tVbmJvdW5kZWQgPSAxMDAwNCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1Byb2Nlc3NBc3NlcnRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb2Nl
c3NBc3NlcnRpb24uaAppbmRleCBhMDFjNzZkYjczM2I5ZWVlNmQyYmU5N2U3NjJjODBlOTRiNTgz
MDExLi43NzEwNzZhYzY3NWI3MTNmODBhMzM2NTgzMmFiYmEwMmM3ZjhhZGFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm9jZXNzQXNzZXJ0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUHJvY2Vzc0Fzc2VydGlvbi5oCkBAIC01Miw2ICs1Miw3IEBAIGVu
dW0gY2xhc3MgQXNzZXJ0aW9uUmVhc29uIHsKICAgICBFeHRlbnNpb24sCiAgICAgRmluaXNoVGFz
aywKICAgICBGaW5pc2hUYXNrVW5ib3VuZGVkLAorICAgIE1lZGlhUGxheWJhY2ssCiB9OwogCiBj
bGFzcyBQcm9jZXNzQXNzZXJ0aW9uIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFByb2Nlc3NBc3Nl
cnRpb24+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGE4
YWIxNWU3NTUwYzRlYjA5NWIyNTRiMTYwOTRlZGQ0NWYzMmQ1NzAuLjI5MWUyODhhN2Y3OWE5OGQz
NDgwMDBjZGEyMDhmZjc0YjM1MGEyMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtMTAzOCw2ICsxMDM4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsb3Nl
KCkKICNlbmRpZgogCiAgICAgc3RvcEFsbFVSTFNjaGVtZVRhc2tzKCk7CisgICAgdXBkYXRlUGxh
eWluZ01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6OklzTm90UGxheWluZyk7CiB9CiAKIGJv
b2wgV2ViUGFnZVByb3h5Ojp0cnlDbG9zZSgpCkBAIC03MDUzLDYgKzcwNTQsOCBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6cmVzZXRTdGF0ZUFmdGVyUHJvY2Vzc0V4aXRlZChQcm9jZXNzVGVybWluYXRp
b25SZWFzb24gdGVybWluYQogICAgICAgICBtX3BhZ2VMb2FkU3RhdGUucmVzZXQodHJhbnNhY3Rp
b24pOwogICAgIH0KIAorICAgIHVwZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1
Y2VyOjpJc05vdFBsYXlpbmcpOworCiAgICAgLy8gRklYTUU6IDxyZGFyOi8vcHJvYmxlbS8zODY3
NjYwND4gSW4gY2FzZSBvZiBwcm9jZXNzIHN3YXBzLCB0aGUgb2xkIHByb2Nlc3Mgc2hvdWxkIGdy
YWNlZnVsbHkgc3VzcGVuZCBpbnN0ZWFkIG9mIHRlcm1pbmF0aW5nLgogICAgIG1fcHJvY2Vzcy0+
cHJvY2Vzc1Rlcm1pbmF0ZWQoKTsKIH0KQEAgLTgwNzMsNyArODA3Niw4IEBAIHZvaWQgV2ViUGFn
ZVByb3h5Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRl
RmxhZ3MgbmV3U3RhCiAgICAgQVNTRVJUKGZvY3VzTWFuYWdlcik7CiAgICAgZm9jdXNNYW5hZ2Vy
LT51cGRhdGVQbGF5YmFja0F0dHJpYnV0ZXNGcm9tTWVkaWFTdGF0ZSh0aGlzLCBzb3VyY2VFbGVt
ZW50SUQsIG5ld1N0YXRlKTsKICNlbmRpZgotICAgIHVwZGF0ZVBsYXlpbmdNZWRpYURpZENoYW5n
ZShuZXdTdGF0ZSk7CisgICAgaWYgKCFtX2lzQ2xvc2VkKQorICAgICAgICB1cGRhdGVQbGF5aW5n
TWVkaWFEaWRDaGFuZ2UobmV3U3RhdGUpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRl
UGxheWluZ01lZGlhRGlkQ2hhbmdlKE1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBuZXdT
dGF0ZSkKQEAgLTgxMTEsNiArODExNSw4IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVQbGF5
aW5nTWVkaWFEaWRDaGFuZ2UoTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIG5lCiAKICAg
ICBpZiAoKG9sZFN0YXRlICYgTWVkaWFQcm9kdWNlcjo6SGFzQXVkaW9PclZpZGVvKSAhPSAobV9t
ZWRpYVN0YXRlICYgTWVkaWFQcm9kdWNlcjo6SGFzQXVkaW9PclZpZGVvKSkKICAgICAgICAgdmlk
ZW9Db250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKTsKKworICAgIG1fcHJvY2Vzcy0+d2ViUGFnZU1l
ZGlhU3RhdGVEaWRDaGFuZ2UoKnRoaXMpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6dmlkZW9D
b250cm9sc01hbmFnZXJEaWRDaGFuZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwCmluZGV4IDkzNzZkYTVkYWI1YmQwMzNjMmZkZWU4YjIwZGI3OTRiZGEyYmMz
ZjIuLjVkNTdmNDhjMjA2NDc2ODUyMjY3YTBlODRhMGY0NWNlMGY0ZTQ5NDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTExMDAsNiArMTEwMCw3IEBA
IHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnByb2Nlc3NEaWRGaW5pc2hMYXVuY2hpbmcoV2ViUHJvY2Vz
c1Byb3h5KiBwcm9jZXNzKQogdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZGlzY29ubmVjdFByb2Nlc3Mo
V2ViUHJvY2Vzc1Byb3h5KiBwcm9jZXNzKQogewogICAgIEFTU0VSVChtX3Byb2Nlc3Nlcy5jb250
YWlucyhwcm9jZXNzKSk7CisgICAgQVNTRVJUKCFtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVk
aWEuY29udGFpbnMocHJvY2Vzcy0+Y29yZVByb2Nlc3NJZGVudGlmaWVyKCkpKTsKIAogICAgIGlm
IChtX3ByZXdhcm1lZFByb2Nlc3MgPT0gcHJvY2VzcykgewogICAgICAgICBBU1NFUlQobV9wcmV3
YXJtZWRQcm9jZXNzLT5pc1ByZXdhcm1lZCgpKTsKQEAgLTI1NzAsNCArMjU3MSw0MCBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpjbGVhcldlYlByb2Nlc3NIYXNVcGxvYWRzKFByb2Nlc3NJZGVudGlm
aWVyIHByb2Nlc3NJRCkKICAgICAKIH0KIAordm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0V2ViUHJv
Y2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRpYShXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9j
ZXNzSUQpCit7CisgICAgYXV0byogcHJvY2VzcyA9IFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc0Zv
cklkZW50aWZpZXIocHJvY2Vzc0lEKTsKKyAgICBBU1NFUlQocHJvY2Vzcyk7CisKKyAgICBSRUxF
QVNFX0xPRyhQcm9jZXNzU3VzcGVuc2lvbiwgIldlYiBwcm9jZXNzIHBpZCAldSBpcyBub3cgcGxh
eWluZyBhdWRpYmxlIG1lZGlhIiwgKHVuc2lnbmVkKXByb2Nlc3MtPnByb2Nlc3NJZGVudGlmaWVy
KCkpOworCisgICAgaWYgKG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYS5pc0VtcHR5KCkp
IHsKKyAgICAgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJUaGUgbnVtYmVyIG9m
IHByb2Nlc3NlcyBwbGF5aW5nIGF1ZGlibGUgbWVkaWEgaXMgbm93IG9uZS4gVGFraW5nIFVJIHBy
b2Nlc3MgYXNzZXJ0aW9uLiIpOworCisgICAgICAgIEFTU0VSVCghbV91aVByb2Nlc3NNZWRpYVBs
YXliYWNrQXNzZXJ0aW9uKTsKKyAgICAgICAgbV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0
aW9uID0gc3RkOjptYWtlX3VuaXF1ZTxQcm9jZXNzQXNzZXJ0aW9uPihnZXRDdXJyZW50UHJvY2Vz
c0lEKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2siX3MsIEFzc2VydGlvblN0YXRlOjpGb3JlZ3Jv
dW5kLCBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxheWJhY2spOworICAgIH0KKworICAgIGF1dG8g
cmVzdWx0ID0gbV9wcm9jZXNzZXNQbGF5aW5nQXVkaWJsZU1lZGlhLmFkZChwcm9jZXNzSUQsIG51
bGxwdHIpOworICAgIEFTU0VSVChyZXN1bHQuaXNOZXdFbnRyeSk7CisgICAgcmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZSA9IHN0ZDo6bWFrZV91bmlxdWU8UHJvY2Vzc0Fzc2VydGlvbj4ocHJvY2Vzcy0+
cHJvY2Vzc0lkZW50aWZpZXIoKSwgIldlYktpdCBNZWRpYSBQbGF5YmFjayJfcywgQXNzZXJ0aW9u
U3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJlYXNvbjo6TWVkaWFQbGF5YmFjayk7Cit9CisK
K3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRp
YShXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSUQpCit7CisgICAgYXV0byByZXN1
bHQgPSBtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVkaWEudGFrZShwcm9jZXNzSUQpOworICAg
IEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQpOworCisgICAgYXV0byogcHJvY2VzcyA9IFdl
YlByb2Nlc3NQcm94eTo6cHJvY2Vzc0ZvcklkZW50aWZpZXIocHJvY2Vzc0lEKTsKKyAgICBBU1NF
UlQocHJvY2Vzcyk7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJXZWIgcHJv
Y2VzcyBwaWQgJXUgaXMgbm8gbG9uZ2VyIHBsYXlpbmcgYXVkaWJsZSBtZWRpYSIsICh1bnNpZ25l
ZClwcm9jZXNzLT5wcm9jZXNzSWRlbnRpZmllcigpKTsKKworICAgIGlmIChtX3Byb2Nlc3Nlc1Bs
YXlpbmdBdWRpYmxlTWVkaWEuaXNFbXB0eSgpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HKFByb2Nl
c3NTdXNwZW5zaW9uLCAiVGhlIG51bWJlciBvZiBwcm9jZXNzZXMgcGxheWluZyBhdWRpYmxlIG1l
ZGlhIG5vdyB6ZXJvLiBSZWxlYXNpbmcgVUkgcHJvY2VzcyBhc3NlcnRpb24uIik7CisKKyAgICAg
ICAgQVNTRVJUKG1fdWlQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbik7CisgICAgICAgIG1f
dWlQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbiA9IG51bGxwdHI7CisgICAgfQorfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCmluZGV4IDQ5ZWY5NzIzNjg1MWM1MzMyYTgyN2QzNjgzNTFhYWU3ODdlNTY1MzcuLjE2NTU0
NWIxYTJmODZlYWE0YjgzM2M5M2FiZTgwZGM5MGVlNTI2MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNTA1LDYgKzUwNSw5IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFdlYlByb2Nlc3NIYXNVcGxvYWRzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsK
ICAgICB2b2lkIGNsZWFyV2ViUHJvY2Vzc0hhc1VwbG9hZHMoV2ViQ29yZTo6UHJvY2Vzc0lkZW50
aWZpZXIpOwogCisgICAgdm9pZCBzZXRXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyKTsKKyAgICB2b2lkIGNsZWFyV2ViUHJvY2Vzc0lzUGxh
eWluZ0F1ZGlibGVNZWRpYShXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcik7CisKICAgICB2b2lk
IGRpc2FibGVEZWxheWVkV2ViUHJvY2Vzc0xhdW5jaCgpIHsgbV9pc0RlbGF5ZWRXZWJQcm9jZXNz
TGF1bmNoRGlzYWJsZWQgPSB0cnVlOyB9CiAKIHByaXZhdGU6CkBAIC03ODgsNiArNzkxLDEwIEBA
IHByaXZhdGU6CiAKICAgICBIYXNoTWFwPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6
OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4+IG1fcHJvY2Vzc2VzV2l0aFVwbG9hZHM7CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NBc3NlcnRpb24+IG1fdWlQcm9jZXNzVXBsb2FkQXNz
ZXJ0aW9uOworCisgICAgSGFzaE1hcDxXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgc3RkOjp1
bmlxdWVfcHRyPFByb2Nlc3NBc3NlcnRpb24+PiBtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVk
aWE7CisgICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NBc3NlcnRpb24+IG1fdWlQcm9jZXNzTWVk
aWFQbGF5YmFja0Fzc2VydGlvbjsKKwogI2lmIFBMQVRGT1JNKElPUykKICAgICAvLyBGSVhNRTog
RGVsYXllZCBwcm9jZXNzIGxhdW5jaCBpcyBjdXJyZW50bHkgZGlzYWJsZWQgb24gaU9TIGZvciBw
ZXJmb3JtYW5jZSByZWFzb25zIChyZGFyOi8vcHJvYmxlbS80OTA3NDEzMSkuCiAgICAgYm9vbCBt
X2lzRGVsYXllZFdlYlByb2Nlc3NMYXVuY2hEaXNhYmxlZCB7IHRydWUgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGJmZWRlZTU0NzllMDdlYzFk
MmQwNTYwYzI2MjdlMTFiZTc5MThlNjkuLjc5YzJlNWE1NmNhZTY2YjMyMDc2Njg4MjA0ZDRkMjA1
OTMwMWNkMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNw
cApAQCAtMTIwOSw3ICsxMjA5LDIwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3Nl
cnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSBzdGF0ZSkKICAgICBVTlVTRURfUEFSQU0oc3RhdGUp
OwogI2VuZGlmCiB9Ci0gICAgCisKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJQYWdlTWVkaWFT
dGF0ZURpZENoYW5nZShXZWJQYWdlUHJveHkmKQoreworICAgIGJvb2wgbmV3SGFzQXVkaWJsZVdl
YlBhZ2UgPSBXVEY6OmFueU9mKG1fcGFnZU1hcC52YWx1ZXMoKSwgW10gKGF1dG8mIHBhZ2UpIHsg
cmV0dXJuIHBhZ2UtPmlzUGxheWluZ0F1ZGlvKCk7IH0pOworICAgIGlmIChtX2hhc0F1ZGlibGVX
ZWJQYWdlID09IG5ld0hhc0F1ZGlibGVXZWJQYWdlKQorICAgICAgICByZXR1cm47CisgICAgbV9o
YXNBdWRpYmxlV2ViUGFnZSA9IG5ld0hhc0F1ZGlibGVXZWJQYWdlOworCisgICAgaWYgKG1faGFz
QXVkaWJsZVdlYlBhZ2UpCisgICAgICAgIHByb2Nlc3NQb29sKCkuc2V0V2ViUHJvY2Vzc0lzUGxh
eWluZ0F1ZGlibGVNZWRpYShjb3JlUHJvY2Vzc0lkZW50aWZpZXIoKSk7CisgICAgZWxzZQorICAg
ICAgICBwcm9jZXNzUG9vbCgpLmNsZWFyV2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRpYShj
b3JlUHJvY2Vzc0lkZW50aWZpZXIoKSk7Cit9CisKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpzZXRJ
c0hvbGRpbmdMb2NrZWRGaWxlcyhib29sIGlzSG9sZGluZ0xvY2tlZEZpbGVzKQogewogICAgIGlm
ICghaXNIb2xkaW5nTG9ja2VkRmlsZXMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmgKaW5kZXggMTI4NGFlYTUxODdjMWY4ODRhY2YyNTVjYTAzMGVkOTNjYWRlZmY4
NS4uMGE0N2I2YzEzZjg0M2Y0ODQxNGE2NTZlMGZmZTc2YjVmOWVhZTdkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKQEAgLTMwNiw2ICszMDYsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwcm9jZXNzV2FzVW5leHBlY3RlZGx5VW5zdXNwZW5kZWQoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICNlbmRpZgogCisgICAgdm9pZCB3ZWJQYWdlTWVkaWFTdGF0
ZURpZENoYW5nZShXZWJQYWdlUHJveHkmKTsKKwogcHJvdGVjdGVkOgogICAgIHN0YXRpYyB1aW50
NjRfdCBnZW5lcmF0ZVBhZ2VJRCgpOwogICAgIFdlYlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9v
bCYsIFdlYnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdhcm1lZCk7CkBAIC00ODUsNiArNDg3LDcgQEAg
cHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3N1c3BlbmRlZFBhZ2VDb3VudCB7IDAgfTsKICAgICBi
b29sIG1faGFzQ29tbWl0dGVkQW55UHJvdmlzaW9uYWxMb2FkcyB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2lzUHJld2FybWVkOworICAgIGJvb2wgbV9oYXNBdWRpYmxlV2ViUGFnZSB7IGZhbHNlIH07
CiAKICNpZiBQTEFURk9STShXQVRDSE9TKQogICAgIFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91
bmRBY3Rpdml0eVRva2VuIG1fYmFja2dyb3VuZEFjdGl2aXR5VG9rZW5Gb3JGdWxsc2NyZWVuRm9y
bUNvbnRyb2xzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Byb2Nl
c3NBc3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fz
c2VydGlvbklPUy5tbQppbmRleCA4YWEyZGNmMDRjMzQ2ZTAzMjQ0M2QxZjlhMjAzMzRhZjIyMjRm
Y2FjLi5kYzM1YWNjZThkNzNjNDU1ZTBmNGM3ZDdkNDdmNDhlNjQyMWZmYTIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQpAQCAt
MTgxLDYgKzE4MSw4IEBAIHN0YXRpYyBCS1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uIHRvQktTUHJv
Y2Vzc0Fzc2VydGlvblJlYXNvbihBc3NlcnRpb25SZWFzb24gcmVhCiAgICAgICAgIHJldHVybiBC
S1NQcm9jZXNzQXNzZXJ0aW9uUmVhc29uRmluaXNoVGFzazsKICAgICBjYXNlIEFzc2VydGlvblJl
YXNvbjo6RmluaXNoVGFza1VuYm91bmRlZDoKICAgICAgICAgcmV0dXJuIEJLU1Byb2Nlc3NBc3Nl
cnRpb25SZWFzb25GaW5pc2hUYXNrVW5ib3VuZGVkOworICAgIGNhc2UgQXNzZXJ0aW9uUmVhc29u
OjpNZWRpYVBsYXliYWNrOgorICAgICAgICByZXR1cm4gQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNv
bk1lZGlhUGxheWJhY2s7CiAgICAgfQogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>