<?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>224390</bug_id>
          
          <creation_ts>2021-04-09 14:03:33 -0700</creation_ts>
          <short_desc>[CoreIPC] Crash in logDiagnosticMessage code</short_desc>
          <delta_ts>2021-04-12 23:05:02 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julian Gonzalez">julian_a_gonzalez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1748858</commentid>
    <comment_count>0</comment_count>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-09 14:03:33 -0700</bug_when>
    <thetext>e.g.

#0 0x7fff205f3d92 in _platform_strlen+0x12
#1 0x10958bd67 in wrap_strlen+0x37
#2 0x7fff269d33f2 in AnalyticsIsEventUsed
#3 0x7fff269d585c in AnalyticsSendEventLazy
#4 0x10bde3ed5 in __44-[WBSAnalyticsLogger _sendEvent:usingBlock:]_block_invoke

&lt;rdar://problem/74595042&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748859</commentid>
    <comment_count>1</comment_count>
      <attachid>425649</attachid>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-09 14:07:36 -0700</bug_when>
    <thetext>Created attachment 425649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748862</commentid>
    <comment_count>2</comment_count>
      <attachid>425649</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-09 14:10:55 -0700</bug_when>
    <thetext>Comment on attachment 425649
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7175
&gt; +    if (!canLogMessage(message))

Why isn&apos;t this using MESSAGE_CHECK()??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748865</commentid>
    <comment_count>3</comment_count>
      <attachid>425649</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-09 14:17:30 -0700</bug_when>
    <thetext>Comment on attachment 425649
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7169
&gt;  void WebPageProxy::logDiagnosticMessage(const String&amp; message, const String&amp; description, WebCore::ShouldSample shouldSample)

Also note that these function are not only called by IPC. They are also called directly from within the UIProcess. If the check was cheap, I don&apos;t think this would be an issue. However, isAllASCII is not that cheap so maybe we want to do the check only in the IPC case. On way would be to introduce a new IPC::ASCIIString class with its own IPC decoder that does the isAllASCII() check and use that type in messages.in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748866</commentid>
    <comment_count>4</comment_count>
      <attachid>425649</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-09 14:19:19 -0700</bug_when>
    <thetext>Comment on attachment 425649
Patch

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

&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7169
&gt;&gt;  void WebPageProxy::logDiagnosticMessage(const String&amp; message, const String&amp; description, WebCore::ShouldSample shouldSample)
&gt; 
&gt; Also note that these function are not only called by IPC. They are also called directly from within the UIProcess. If the check was cheap, I don&apos;t think this would be an issue. However, isAllASCII is not that cheap so maybe we want to do the check only in the IPC case. On way would be to introduce a new IPC::ASCIIString class with its own IPC decoder that does the isAllASCII() check and use that type in messages.in.

Another way, which is more code but would have no cost would be to use an enum for the message keys instead of a String. We&apos;d only need to convert the enum to a String when we actually call the client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748872</commentid>
    <comment_count>5</comment_count>
      <attachid>425649</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-09 14:42:35 -0700</bug_when>
    <thetext>Comment on attachment 425649
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7169
&gt;&gt;&gt;  void WebPageProxy::logDiagnosticMessage(const String&amp; message, const String&amp; description, WebCore::ShouldSample shouldSample)
&gt;&gt; 
&gt;&gt; Also note that these function are not only called by IPC. They are also called directly from within the UIProcess. If the check was cheap, I don&apos;t think this would be an issue. However, isAllASCII is not that cheap so maybe we want to do the check only in the IPC case. On way would be to introduce a new IPC::ASCIIString class with its own IPC decoder that does the isAllASCII() check and use that type in messages.in.
&gt; 
&gt; Another way, which is more code but would have no cost would be to use an enum for the message keys instead of a String. We&apos;d only need to convert the enum to a String when we actually call the client.

Per Slack discussion, the easiest way to restrict the check and thus the runtime cost to IPC is probably:
```
Like keep logDiagnosticMessage() as is and public. Add a private logDiagnosticMessageFromWebProcess() that does the MESSAGE_CHECK() and then calls logDiagnosticMessage(). Then rename the IPC message to logDiagnosticMessageFromWebProcess() in WebPageProxy.messages.in
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749372</commentid>
    <comment_count>6</comment_count>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-12 14:03:23 -0700</bug_when>
    <thetext>Thanks, this ends up working pretty well (and is not too large to implement here). Uploading new patch.

(In reply to Chris Dumez from comment #5)
&gt; Comment on attachment 425649 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=425649&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7169
&gt; &gt;&gt;&gt;  void WebPageProxy::logDiagnosticMessage(const String&amp; message, const String&amp; description, WebCore::ShouldSample shouldSample)
&gt; &gt;&gt; 
&gt; &gt;&gt; Also note that these function are not only called by IPC. They are also called directly from within the UIProcess. If the check was cheap, I don&apos;t think this would be an issue. However, isAllASCII is not that cheap so maybe we want to do the check only in the IPC case. On way would be to introduce a new IPC::ASCIIString class with its own IPC decoder that does the isAllASCII() check and use that type in messages.in.
&gt; &gt; 
&gt; &gt; Another way, which is more code but would have no cost would be to use an enum for the message keys instead of a String. We&apos;d only need to convert the enum to a String when we actually call the client.
&gt; 
&gt; Per Slack discussion, the easiest way to restrict the check and thus the
&gt; runtime cost to IPC is probably:
&gt; ```
&gt; Like keep logDiagnosticMessage() as is and public. Add a private
&gt; logDiagnosticMessageFromWebProcess() that does the MESSAGE_CHECK() and then
&gt; calls logDiagnosticMessage(). Then rename the IPC message to
&gt; logDiagnosticMessageFromWebProcess() in WebPageProxy.messages.in
&gt; ```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749373</commentid>
    <comment_count>7</comment_count>
      <attachid>425786</attachid>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-12 14:07:06 -0700</bug_when>
    <thetext>Created attachment 425786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749374</commentid>
    <comment_count>8</comment_count>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-12 14:08:47 -0700</bug_when>
    <thetext>Patch here doesn&apos;t merge cleanly, I&apos;ll upload a new one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749426</commentid>
    <comment_count>9</comment_count>
      <attachid>425803</attachid>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-12 16:07:57 -0700</bug_when>
    <thetext>Created attachment 425803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749433</commentid>
    <comment_count>10</comment_count>
      <attachid>425803</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-12 16:18:55 -0700</bug_when>
    <thetext>Comment on attachment 425803
Patch

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

&gt; Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:428
&gt; +        || decoder.messageName() == Messages::WebPageProxy::LogDiagnosticMessageFromWebProcess::name()

That&apos;s not quite right. You&apos;ll need to provide implementations for these logging functions on ProvisionalPageProxy which do the MESSAGE_CHECKS with m_process and THEN call the public logging functions on WebPageProxy. This is important because WebPageProxy and ProvisionalPageProxy use different processes. You wouldn&apos;t want a bad IPC from the provisional process to kill the committed process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749481</commentid>
    <comment_count>11</comment_count>
      <attachid>425819</attachid>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-04-12 17:45:49 -0700</bug_when>
    <thetext>Created attachment 425819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749482</commentid>
    <comment_count>12</comment_count>
      <attachid>425819</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-12 17:46:49 -0700</bug_when>
    <thetext>Comment on attachment 425819
Patch

r=me assuming the bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749529</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-12 21:57:46 -0700</bug_when>
    <thetext>Committed r275861 (236426@main): &lt;https://commits.webkit.org/236426@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425819.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425649</attachid>
            <date>2021-04-09 14:07:36 -0700</date>
            <delta_ts>2021-04-12 14:07:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224390-20210409140735.patch</filename>
            <type>text/plain</type>
            <size>6718</size>
            <attacher name="Julian Gonzalez">julian_a_gonzalez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAxMzU0ZDUxMzEzZGM3YTJh
NWQ2ZmUzMmRhNzBhZGRkNGFlYWY2ZDguLmI2NjBmMWE1YTAzMDc2YzA1ZTNhZDZlYjkzZGUzY2Fj
NDFlYjcwODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjEtMDQtMDkgIEp1bGlhbiBH
b256YWxleiAgPGp1bGlhbl9hX2dvbnphbGV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29yZUlQ
Q10gQ3Jhc2ggaW4gV0JTQW5hbHl0aWNzTG9nZ2VyIChsb2dEaWFnbm9zdGljTWVzc2FnZSBjb2Rl
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0Mzkw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBz
dXJlIHRoYXQgYW55IGRpYWdub3N0aWMgbWVzc2FnZSB3ZSBsb2cgdmlhIFdlYlBhZ2VQcm94eTo6
bG9nRGlhZ25vc3RpY01lc3NhZ2UgQVBJcworICAgICAgICBpcyBlbnRpcmVseSBBU0NJSSAoc28g
dGhhdCB0aGUgbG9nZ2VyIGRvZXMgbm90IGNyYXNoIGRvd25zdHJlYW0pLgorCisgICAgICAgIFRl
c3Q6IGlwYy9hbmFseXRpY3MtbG9nZ2VyLWNyYXNoLmh0bWwKKworICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNhbkxv
Z01lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNN
ZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhSZXN1bHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojps
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeSk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorCiAyMDIxLTAzLTI0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBEaXNwbGF5
TGluayBsb2cgY2hhbm5lbHMgaW4gV2ViQ29yZSBhbmQgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA5OWIzNDYwOTg3MWRkZmFjZDk2N2RiOTc2YTY2
NGQxNjAzOGUxN2FiLi5hZDE0OGUxNThlMTM1YjBhYjNiNWViMzM0NDBmZjBhZDNlN2QwZjI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTcxNjEsMTIgKzcx
NjEsMjAgQEAgaW5saW5lIEFQSTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQqIFdlYlBhZ2VQcm94
eTo6ZWZmZWN0aXZlRGlhZ25vc3RpY0xvZ2dpbmdDbGkKICAgICByZXR1cm4gRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQ6OnNob3VsZExvZ0FmdGVyU2FtcGxpbmcoc2hvdWxkU2FtcGxlKSA/IGRpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50KCkgOiBudWxscHRyOwogfQogCitpbmxpbmUgYm9vbCBXZWJQYWdl
UHJveHk6OmNhbkxvZ01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIHJldHVy
biBtZXNzYWdlLmlzQWxsQVNDSUkoKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlw
dGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKIHsKICAgICBhdXRvKiBl
ZmZlY3RpdmVDbGllbnQgPSBlZmZlY3RpdmVEaWFnbm9zdGljTG9nZ2luZ0NsaWVudChzaG91bGRT
YW1wbGUpOwogICAgIGlmICghZWZmZWN0aXZlQ2xpZW50KQogICAgICAgICByZXR1cm47CiAKKyAg
ICBpZiAoIWNhbkxvZ01lc3NhZ2UobWVzc2FnZSkpCisgICAgICAgIHJldHVybjsKKwogICAgIGVm
ZmVjdGl2ZUNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2UodGhpcywgbWVzc2FnZSwgZGVzY3Jp
cHRpb24pOwogfQogCkBAIC03MTc2LDYgKzcxODQsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
UwogICAgIGlmICghZWZmZWN0aXZlQ2xpZW50KQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAo
IWNhbkxvZ01lc3NhZ2UobWVzc2FnZSkpCisgICAgICAgIHJldHVybjsKKwogICAgIGVmZmVjdGl2
ZUNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KHRoaXMsIG1lc3NhZ2UsIGRl
c2NyaXB0aW9uLCBzdGF0aWNfY2FzdDxXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5
cGU+KHJlc3VsdCkpOwogfQogCkBAIC03MTg1LDYgKzcxOTYsOSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdAogICAgIGlmICghZWZmZWN0aXZlQ2xpZW50KQogICAgICAgICByZXR1cm47CiAKKyAg
ICBpZiAoIWNhbkxvZ01lc3NhZ2UobWVzc2FnZSkpCisgICAgICAgIHJldHVybjsKKwogICAgIGVm
ZmVjdGl2ZUNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUodGhpcywgbWVzc2Fn
ZSwgZGVzY3JpcHRpb24sIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbih2YWx1
ZSwgc2lnbmlmaWNhbnRGaWd1cmVzKSk7CiB9CiAKQEAgLTcxOTQsNiArNzIwOCw5IEBAIHZvaWQg
V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29u
c3QgU3RyaW5nJiBtZXNzYWdlCiAgICAgaWYgKCFlZmZlY3RpdmVDbGllbnQpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIGlmICghY2FuTG9nTWVzc2FnZShtZXNzYWdlKSkKKyAgICAgICAgcmV0dXJu
OworCiAgICAgZWZmZWN0aXZlQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNl
ZFByaXZhY3kodGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24pOwogfQogCkBAIC03MjAzLDYgKzcy
MjAsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVE
aWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgbWVzc2FnZQogICAgIGlmICghZWZmZWN0aXZlQ2xpZW50
KQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIWNhbkxvZ01lc3NhZ2UobWVzc2FnZSkpCisg
ICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gYXBpRGljdGlvbmFyeSA9IEFQSTo6RGljdGlvbmFy
eTo6Y3JlYXRlKCk7CiAKICAgICBmb3IgKGF1dG8mIGtleVZhbHVlUGFpciA6IHZhbHVlRGljdGlv
bmFyeSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBhMmNiZThh
YTg2YmI3ZWYyZTNmYjg1ZDU4NTg4Y2M1YzNjYjViNmQyLi5kZGQ1ZjllNDAxZjI3MTRiNGM0YmQ2
YzI3NDU5MWVkZGZiODBjZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtMTUxNCw2ICsxNTE0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hvdWxkRGlzcGF0
Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKGJvb2wpOwogCiAgICAgLy8gRGlhZ25vc3RpYyBtZXNzYWdl
cyBsb2dnaW5nLgorICAgIGJvb2wgY2FuTG9nTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2Up
OwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOwogICAgIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgdWludDMyX3QgcmVzdWx0LCBXZWJDb3JlOjpTaG91
bGRTYW1wbGUpOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBkb3VibGUgdmFsdWUs
IHVuc2lnbmVkIHNpZ25pZmljYW50RmlndXJlcywgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBmMTgxZmU4ZWI5MDM0Y2I4MTg3OWFlZWMzOWZkNzBiZWJkODY3ZWVlLi4zOTIzYmRjY2Vk
MGFiOWVhOTAzMjFkNDgxN2Y2ZWJhZGRlZjlmMjk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDQtMDkgIEp1bGlhbiBHb256YWxleiAgPGp1bGlhbl9hX2dvbnphbGV6QGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29yZUlQQ10gQ3Jhc2ggaW4gV0JTQW5hbHl0aWNzTG9nZ2VyIChsb2dEaWFn
bm9zdGljTWVzc2FnZSBjb2RlKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0MzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGEgdGVzdCBmb3IgdGhpcyBjcmFzaGVyLgorCisgICAgICAgICogaXBj
L2FuYWx5dGljcy1sb2dnZXItY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBp
cGMvYW5hbHl0aWNzLWxvZ2dlci1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wMy0yNCAgTGF1
cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNzQ5
MTkpIFtBVEtdIGFjY2Vzc2liaWxpdHkvc2V0LXNlbGVjdGVkLXRleHQtcmFuZ2UtY29udGVudGVk
aXRhYmxlLmh0bWwgaXMgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaXBjL2Fu
YWx5dGljcy1sb2dnZXItY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaXBjL2FuYWx5
dGljcy1sb2dnZXItY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1NGRkZjdmMTdlZmFi
NThlNDJmYWJlMzg1MjU3OTY0YWUyYzVkNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pcGMvYW5hbHl0aWNzLWxvZ2dlci1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAor
VGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2lwYy9hbmFseXRpY3MtbG9nZ2VyLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pcGMv
YW5hbHl0aWNzLWxvZ2dlci1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5YTczMGY4OWI5MjljY2U4
N2YwMzc3NzVjNmZmMzQ2ZjVjN2FjYjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
cGMvYW5hbHl0aWNzLWxvZ2dlci1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgSVBDVGVzdGluZ0FQSUVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK2lmICh3aW5kb3cuSVBDKSB7CisgICAg
YnVmID0gbmV3IFVpbnQ4QXJyYXkoWzB4MjEsMHgwLDB4MCwweDAsMHgwLDB4MCwweDAsMHgyMSww
eDAsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLDB4MCwweDAsMHgwLDB4MCwweDAsMHgwLAorICAg
ICAgICAweDIxLDB4MCwweDAsMHgwLDB4MCwweDAsMHgwLDB4MjEsMHgwLDB4MCwweDAsMHgwLDB4
MCwweDAsMHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4ZmIsMHgyMCwweDAsMHgwLDB4MCwKKyAg
ICAgICAgMHgwLDB4MCwweDAsMHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLDB4ZGEs
MHhlLDB4ZWYsMHhkLDB4MCwweDAsMHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLAor
ICAgICAgICAweDAsMHgwLDB4MCwweDAsMHgwLDB4MjEsMHgxLDB4MCwweDAsMHgwLDB4MCwweDAs
MHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4MjEsMHgwLDB4MCwweDAsXSk7CisgICAgSVBDLnNl
bmRNZXNzYWdlKCdVSScsSVBDLndlYlBhZ2VQcm94eUlELElQQy5tZXNzYWdlcy5XZWJQYWdlUHJv
eHlfTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUubmFtZSxbYnVmXSk7Cit9Cis8L3Njcmlw
dD4KKzxib2R5PgorVGhpcyB0ZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KKzwvYm9k
eT4KKzwvaGVhZD4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425786</attachid>
            <date>2021-04-12 14:07:06 -0700</date>
            <delta_ts>2021-04-12 16:07:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224390-20210412140705.patch</filename>
            <type>text/plain</type>
            <size>18290</size>
            <attacher name="Julian Gonzalez">julian_a_gonzalez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAxMzU0ZDUxMzEzZGM3YTJh
NWQ2ZmUzMmRhNzBhZGRkNGFlYWY2ZDguLjMxN2U0YWQxYzQ1NDI4OTcxYzNjMzBhYmFiNTJjM2I3
N2YzYTdhMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjEtMDQtMTIgIEp1bGlhbiBH
b256YWxleiAgPGp1bGlhbl9hX2dvbnphbGV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29yZUlQ
Q10gQ3Jhc2ggaW4gbG9nRGlhZ25vc3RpY01lc3NhZ2UgY29kZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0MzkwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlIG5ldyBXZWJQYWdlUHJveHk6Omxv
Z0RpYWdub3N0aWNNZXNzYWdlIEFQSXMgZGVzaWduZWQgdG8gYmUgY2FsbGVkIG9uIG1lc3NhZ2Vz
IHRoYXQKKyAgICAgICAgbmVlZCBzYW5pdHkgY2hlY2tpbmcsIGFuZCBob29rIHRoYXQgdXAgdG8g
SVBDIGhhbmRsZXJzICh3aGlsZSBsZWF2aW5nIGV4aXN0aW5nIEFQSXMKKyAgICAgICAgZm9yIGFs
bCBvdGhlciBjYWxsZXJzKS4KKworICAgICAgICBUZXN0OiBpcGMvYW5hbHl0aWNzLWxvZ2dlci1j
cmFzaC5odG1sCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpsb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhWYWx1ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZUZyb21XZWJQcm9jZXNzKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1
bHRGcm9tV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWVGcm9tV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5RnJv
bVdlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeUZyb21XZWJQcm9jZXNzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3Vs
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KToKKwogMjAyMS0wMy0yNCAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgRGlzcGxheUxpbmsgbG9n
IGNoYW5uZWxzIGluIFdlYkNvcmUgYW5kIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAppbmRleCA3MWQ3N2Q2Yzg4YjIzYjVlNGI4OTcx
ZmRmZGI3MTU4Yjg1NGUzYTYzLi5hMjlkYThhZDlkMzczM2JmYzhlOTRkMWE2OGFjODQzNjE4NmYx
ODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNz
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9u
LmNwcApAQCAtMjIyLDcgKzIyMiw3IEBAIHZvaWQgTmV0d29ya1Nlc3Npb246Om5vdGlmeVJlc291
cmNlTG9hZFN0YXRpc3RpY3NQcm9jZXNzZWQoKQogCiB2b2lkIE5ldHdvcmtTZXNzaW9uOjpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIHVuc2lnbmVkIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZp
Z3VyZXMsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCiB7Ci0gICAgbV9uZXR3
b3JrUHJvY2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShtZXNzYWdlLCBkZXNjcmlw
dGlvbiwgdmFsdWUsIHNpZ25pZmljYW50RmlndXJlcywgc2hvdWxkU2FtcGxlKSwgMCk7CisgICAg
bV9uZXR3b3JrUHJvY2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZUZyb21XZWJQcm9j
ZXNzKG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCB2YWx1ZSwgc2lnbmlmaWNhbnRGaWd1cmVzLCBzaG91
bGRTYW1wbGUpLCAwKTsKIH0KIAogdm9pZCBOZXR3b3JrU2Vzc2lvbjo6ZGVsZXRlQW5kUmVzdHJp
Y3RXZWJzaXRlRGF0YUZvclJlZ2lzdHJhYmxlRG9tYWlucyhPcHRpb25TZXQ8V2Vic2l0ZURhdGFU
eXBlPiBkYXRhVHlwZXMsIFJlZ2lzdHJhYmxlRG9tYWluc1RvRGVsZXRlT3JSZXN0cmljdFdlYnNp
dGVEYXRhRm9yJiYgZG9tYWlucywgYm9vbCBzaG91bGROb3RpZnlQYWdlLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGNvbnN0IEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+Jik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25h
bFBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQ
cm94eS5jcHAKaW5kZXggNDQzMmViZmNjNTRhYzUzNTA2MmZjODA1NDQ1YzQ5M2YzZGMzZTBmNy4u
ZmIzMzZjMzNlNDQyZGRhMjY4NDJhMjZjYWUyOTIwNGMwOTA0Nzc3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcApAQCAtNDE0LDkgKzQx
NCw5IEBAIHZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpECiAgICAgICAgIHx8IGRlY29kZXIubWVzc2Fn
ZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWREZXN0cm95TmF2aWdhdGlvbjo6
bmFtZSgpCiAgICAgICAgIHx8IGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRGaW5pc2hQcm9ncmVzczo6bmFtZSgpCiAgICAgICAgIHx8IGRlY29kZXIu
bWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpCYWNrRm9yd2FyZEFkZEl0
ZW06Om5hbWUoKQotICAgICAgICB8fCBkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2U6Om5hbWUoKQotICAgICAgICB8fCBk
ZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25v
c3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5OjpuYW1lKCkKLSAgICAgICAgfHwgZGVjb2Rl
ci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNN
ZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeTo6bmFtZSgpCisgICAgICAgIHx8IGRlY29kZXIubWVz
c2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2Fn
ZUZyb21XZWJQcm9jZXNzOjpuYW1lKCkKKyAgICAgICAgfHwgZGVjb2Rlci5tZXNzYWdlTmFtZSgp
ID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFu
Y2VkUHJpdmFjeUZyb21XZWJQcm9jZXNzOjpuYW1lKCkKKyAgICAgICAgfHwgZGVjb2Rlci5tZXNz
YWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aFZhbHVlRGljdGlvbmFyeUZyb21XZWJQcm9jZXNzOjpuYW1lKCkKICAgICAgICAgfHwgZGVj
b2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlNldE5ldHdvcmtS
ZXF1ZXN0c0luUHJvZ3Jlc3M6Om5hbWUoKQogICAgICAgICB8fCBkZWNvZGVyLm1lc3NhZ2VOYW1l
KCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6V2lsbEdvVG9CYWNrRm9yd2FyZExpc3RJdGVt
OjpuYW1lKCkKICNpZiBVU0UoUVVJQ0tfTE9PSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IDk5YjM0NjA5ODcxZGRmYWNkOTY3ZGI5NzZhNjY0ZDE2MDM4ZTE3
YWIuLjZhYjkzOTljNGZmMjE0ZmUyNzk0ZDFhZGUwZDNlMWRiMzdlNmVlNjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNzE3MCw2ICs3MTcwLDEzIEBAIHZv
aWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgZGVzCiAgICAgZWZmZWN0aXZlQ2xpZW50LT5sb2dEaWFnbm9zdGlj
TWVzc2FnZSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbik7CiB9CiAKK3ZvaWQgV2ViUGFnZVBy
b3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNo
b3VsZFNhbXBsZSkKK3sKKyAgICBNRVNTQUdFX0NIRUNLKG1fcHJvY2VzcywgbWVzc2FnZS5pc0Fs
bEFTQ0lJKCkpOworCisgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2UobWVzc2FnZSwgZGVzY3JpcHRp
b24sIHNob3VsZFNhbXBsZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhSZXN1bHQoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRl
c2NyaXB0aW9uLCB1aW50MzJfdCByZXN1bHQsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRT
YW1wbGUpCiB7CiAgICAgYXV0byogZWZmZWN0aXZlQ2xpZW50ID0gZWZmZWN0aXZlRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQoc2hvdWxkU2FtcGxlKTsKQEAgLTcxNzksNiArNzE4NiwxMyBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgUwogICAgIGVmZmVjdGl2ZUNsaWVudC0+bG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoUmVzdWx0KHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBzdGF0aWNfY2FzdDxX
ZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGU+KHJlc3VsdCkpOwogfQogCit2b2lk
IFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0RnJvbVdlYlByb2Nl
c3MoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCB1aW50
MzJfdCByZXN1bHQsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCit7CisgICAg
TUVTU0FHRV9DSEVDSyhtX3Byb2Nlc3MsIG1lc3NhZ2UuaXNBbGxBU0NJSSgpKTsKKworICAgIGxv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChtZXNzYWdlLCBkZXNjcmlwdGlvbiwgcmVzdWx0
LCBzaG91bGRTYW1wbGUpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2Ny
aXB0aW9uLCBkb3VibGUgdmFsdWUsIHVuc2lnbmVkIHNpZ25pZmljYW50RmlndXJlcywgU2hvdWxk
U2FtcGxlIHNob3VsZFNhbXBsZSkKIHsKICAgICBhdXRvKiBlZmZlY3RpdmVDbGllbnQgPSBlZmZl
Y3RpdmVEaWFnbm9zdGljTG9nZ2luZ0NsaWVudChzaG91bGRTYW1wbGUpOwpAQCAtNzE4OCw2ICs3
MjAyLDEzIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1
ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0CiAgICAgZWZmZWN0aXZlQ2xpZW50LT5s
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbiwg
U3RyaW5nOjpudW1iZXJUb1N0cmluZ0ZpeGVkUHJlY2lzaW9uKHZhbHVlLCBzaWduaWZpY2FudEZp
Z3VyZXMpKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFZhbHVlRnJvbVdlYlByb2Nlc3MoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uLCBkb3VibGUgdmFsdWUsIHVuc2lnbmVkIHNpZ25pZmljYW50RmlndXJlcywg
U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKK3sKKyAgICBNRVNTQUdFX0NIRUNLKG1fcHJvY2Vz
cywgbWVzc2FnZS5pc0FsbEFTQ0lJKCkpOworCisgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
VmFsdWUobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZhbHVlLCBzaWduaWZpY2FudEZpZ3VyZXMsIHNo
b3VsZFNhbXBsZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcm
IGRlc2NyaXB0aW9uLCBTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQogewogICAgIGF1dG8qIGVm
ZmVjdGl2ZUNsaWVudCA9IGVmZmVjdGl2ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KHNob3VsZFNh
bXBsZSk7CkBAIC03MTk3LDYgKzcyMTgsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShjb25zdCBTdHJpbmcmIG1lc3NhZ2UKICAg
ICBlZmZlY3RpdmVDbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFj
eSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbik7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojps
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3lGcm9tV2ViUHJvY2Vzcyhjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFNob3VsZFNhbXBs
ZSBzaG91bGRTYW1wbGUpCit7CisgICAgTUVTU0FHRV9DSEVDSyhtX3Byb2Nlc3MsIG1lc3NhZ2Uu
aXNBbGxBU0NJSSgpKTsKKworICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJp
dmFjeShtZXNzYWdlLCBkZXNjcmlwdGlvbiwgc2hvdWxkU2FtcGxlKTsKK30KKwogdm9pZCBXZWJQ
YWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFdlYkNvcmU6
OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50OjpWYWx1ZURpY3Rpb25hcnkmIHZhbHVlRGljdGlvbmFy
eSwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKIHsKICAgICBhdXRvKiBlZmZl
Y3RpdmVDbGllbnQgPSBlZmZlY3RpdmVEaWFnbm9zdGljTG9nZ2luZ0NsaWVudChzaG91bGRTYW1w
bGUpOwpAQCAtNzIxOCw2ICs3MjQ2LDEzIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoY29uc3QgU3RyaW5nJiBtZXNzYWdlCiAgICAg
ZWZmZWN0aXZlQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnko
dGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24sIFdURk1vdmUoYXBpRGljdGlvbmFyeSkpOwogfQog
Cit2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9u
YXJ5RnJvbVdlYlByb2Nlc3MoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRl
c2NyaXB0aW9uLCBjb25zdCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6VmFsdWVE
aWN0aW9uYXJ5JiB2YWx1ZURpY3Rpb25hcnksIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRT
YW1wbGUpCit7CisgICAgTUVTU0FHRV9DSEVDSyhtX3Byb2Nlc3MsIG1lc3NhZ2UuaXNBbGxBU0NJ
SSgpKTsKKworICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShtZXNz
YWdlLCBkZXNjcmlwdGlvbiwgdmFsdWVEaWN0aW9uYXJ5LCBzaG91bGRTYW1wbGUpOworfQorCiB2
b2lkIFdlYlBhZ2VQcm94eTo6bG9nU2Nyb2xsaW5nRXZlbnQodWludDMyX3QgZXZlbnRUeXBlLCBN
b25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgdWludDY0X3QgZGF0YSkKIHsKICAgICBQZXJmb3JtYW5j
ZUxvZ2dpbmdDbGllbnQ6OlNjcm9sbGluZ0V2ZW50IGV2ZW50ID0gc3RhdGljX2Nhc3Q8UGVyZm9y
bWFuY2VMb2dnaW5nQ2xpZW50OjpTY3JvbGxpbmdFdmVudD4oZXZlbnRUeXBlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYTJjYmU4YWE4NmJiN2VmMmUzZmI4NWQ1
ODU4OGNjNWMzY2I1YjZkMi4uMzczODQwNWE0N2FkYTY4MDk2M2NkNTA5MDg0YWViNDZmNTQyZGZi
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE1MjAsNiArMTUy
MCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNl
ZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9u
LCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBk
ZXNjcmlwdGlvbiwgY29uc3QgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVl
RGljdGlvbmFyeSYsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSk7CiAKKyAgICB2b2lkIGxvZ0RpYWdu
b3N0aWNNZXNzYWdlRnJvbVdlYlByb2Nlc3MoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOworICAgIHZvaWQgbG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0RnJvbVdlYlByb2Nlc3MoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCB1aW50MzJfdCByZXN1bHQsIFdlYkNv
cmU6OlNob3VsZFNhbXBsZSk7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1
ZUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNj
cmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIFdlYkNv
cmU6OlNob3VsZFNhbXBsZSk7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhh
bmNlZFByaXZhY3lGcm9tV2ViUHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSk7CisgICAgdm9pZCBsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnlGcm9tV2ViUHJvY2Vzcyhjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFdlYkNvcmU6
OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50OjpWYWx1ZURpY3Rpb25hcnkmLCBXZWJDb3JlOjpTaG91
bGRTYW1wbGUpOwogICAgIC8vIFBlcmZvcm1hbmNlIGxvZ2dpbmcuCiAgICAgdm9pZCBsb2dTY3Jv
bGxpbmdFdmVudCh1aW50MzJfdCBldmVudFR5cGUsIE1vbm90b25pY1RpbWUsIHVpbnQ2NF90KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IDcwYThhYzhkYjVjNTljODM3OWQ5NTZkOWQ0NTIzYTBiYzQyNmU1NGEuLmM3MDhkMGZh
OGMwN2JlYjBlZjYwZjExYzA2YTlkZjUzMGZhYmU2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTIwNiwxMSArMjA2LDExIEBA
IG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRXhlY3V0ZVVuZG9SZWRvKGVudW06Ym9v
bCBXZWJLaXQ6OlVuZG9PclJlZG8gdW5kb09yUmVkbykgLT4gKCkgU3luY2hyb25vdXMKIAogICAg
ICMgRGlhZ25vc3RpYyBtZXNzYWdlcyBsb2dnaW5nCi0gICAgTG9nRGlhZ25vc3RpY01lc3NhZ2Uo
U3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgZW51bTpib29sIFdlYkNvcmU6OlNo
b3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCi0gICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVz
dWx0KFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwg
ZW51bTpib29sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCi0gICAgTG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlv
biwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIGVudW06Ym9vbCBX
ZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQotICAgIExvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aEVuaGFuY2VkUHJpdmFjeShTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9u
LCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKLSAgICBMb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoU3RyaW5nIG1lc3NhZ2UsIFN0cmlu
ZyBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGlj
dGlvbmFyeSB2YWx1ZSwgZW51bTpib29sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1w
bGUpCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VGcm9tV2ViUHJvY2VzcyhTdHJpbmcgbWVzc2Fn
ZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNo
b3VsZFNhbXBsZSkKKyAgICBMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRGcm9tV2ViUHJv
Y2VzcyhTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCB1aW50MzJfdCByZXN1bHQs
IGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQorICAgIExvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRnJvbVdlYlByb2Nlc3MoU3RyaW5nIG1lc3NhZ2UsIFN0
cmluZyBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3Vy
ZXMsIGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQorICAgIExv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeUZyb21XZWJQcm9jZXNzKFN0cmlu
ZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24sIGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRT
YW1wbGUgc2hvdWxkU2FtcGxlKQorICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGlj
dGlvbmFyeUZyb21XZWJQcm9jZXNzKFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24s
IFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50OjpWYWx1ZURpY3Rpb25hcnkgdmFsdWUs
IGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQogCiAgICAgIyBQ
ZXJmb3JtYW5jZSBsb2dnaW5nCiAgICAgTG9nU2Nyb2xsaW5nRXZlbnQodWludDMyX3QgZXZlbnRU
eXBlLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgdWludDY0X3QgZGF0YSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCmluZGV4IGQ5Y2I0ZjM3YzJhZDNlODA4YzBk
ZmUyZjY0ZDRhMzBjYzY5NTQyOTguLjFlOTZjOGU1ZWNlNWM2NTdmN2I1NDEyMGRiYzgxMjY5YmJi
ZDA3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcApAQCAt
NTAsNyArNTAsNyBAQCB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9z
dGljTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbgogICAgIGlmICghc2hvdWxkTG9n
QWZ0ZXJTYW1wbGluZyhzaG91bGRTYW1wbGUpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Bh
Z2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZShtZXNz
YWdlLCBkZXNjcmlwdGlvbiwgU2hvdWxkU2FtcGxlOjpObykpOworICAgIG1fcGFnZS5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlRnJvbVdlYlByb2Nlc3Mo
bWVzc2FnZSwgZGVzY3JpcHRpb24sIFNob3VsZFNhbXBsZTo6Tm8pKTsKIH0KIAogdm9pZCBXZWJE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6
RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlIHJlc3VsdCwgV2ViQ29yZTo6U2hvdWxkU2FtcGxl
IHNob3VsZFNhbXBsZSkKQEAgLTYwLDcgKzYwLDcgQEAgdm9pZCBXZWJEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmluZyYgbWUK
ICAgICBpZiAoIXNob3VsZExvZ0FmdGVyU2FtcGxpbmcoc2hvdWxkU2FtcGxlKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCByZXN1bHQsIFNo
b3VsZFNhbXBsZTo6Tm8pKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRGcm9tV2ViUHJvY2VzcyhtZXNzYWdlLCBk
ZXNjcmlwdGlvbiwgcmVzdWx0LCBTaG91bGRTYW1wbGU6Ok5vKSk7CiB9CiAKIHZvaWQgV2ViRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVl
LCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91
bGRTYW1wbGUpCkBAIC03MCw3ICs3MCw3IEBAIHZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzCiAgICAg
aWYgKCFzaG91bGRMb2dBZnRlclNhbXBsaW5nKHNob3VsZFNhbXBsZSkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlKG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCB2YWx1ZSwgc2lnbmlmaWNh
bnRGaWd1cmVzLCBTaG91bGRTYW1wbGU6Ok5vKSk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVGcm9tV2ViUHJvY2Vz
cyhtZXNzYWdlLCBkZXNjcmlwdGlvbiwgdmFsdWUsIHNpZ25pZmljYW50RmlndXJlcywgU2hvdWxk
U2FtcGxlOjpObykpOwogfQogCiB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxk
U2FtcGxlKQpAQCAtODAsNyArODAsNyBAQCB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgUwogICAgIGlm
ICghc2hvdWxkTG9nQWZ0ZXJTYW1wbGluZyhzaG91bGRTYW1wbGUpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kobWVzc2FnZSwgZGVzY3JpcHRpb24sIFNob3VsZFNh
bXBsZTo6Tm8pKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3lGcm9tV2ViUHJvY2VzcyhtZXNzYWdl
LCBkZXNjcmlwdGlvbiwgU2hvdWxkU2FtcGxlOjpObykpOwogfQogCiB2b2lkIFdlYkRpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnko
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBW
YWx1ZURpY3Rpb25hcnkmIHZhbHVlLCBTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQpAQCAtOTAs
NyArOTAsNyBAQCB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoY29uc3QgUwogICAgIGlmICghc2hvdWxkTG9nQWZ0
ZXJTYW1wbGluZyhzaG91bGRTYW1wbGUpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3BhZ2Uu
c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1
ZURpY3Rpb25hcnkobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZhbHVlLCBTaG91bGRTYW1wbGU6Ok5v
KSk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5RnJvbVdlYlByb2Nlc3MobWVzc2FnZSwgZGVzY3Jp
cHRpb24sIHZhbHVlLCBTaG91bGRTYW1wbGU6Ok5vKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGYxODFmZThlYjkwMzRjYjgxODc5YWVlYzM5ZmQ3MGJlYmQ4NjdlZWUuLjNk
NzQ0MWZkZDAwNzdlMDljZWQ2MmUzODhiN2E2MTM2M2JmMjNmMDggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMS0wNC0xMiAgSnVsaWFuIEdvbnphbGV6ICA8anVsaWFuX2FfZ29uemFsZXpAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb3JlSVBDXSBDcmFzaCBpbiBsb2dEaWFnbm9zdGljTWVzc2Fn
ZSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjQzOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYSB0ZXN0IGZvciB0aGlzIGNyYXNoZXIuCisKKyAgICAgICAgKiBpcGMvYW5hbHl0aWNzLWxv
Z2dlci1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGlwYy9hbmFseXRpY3Mt
bG9nZ2VyLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAzLTI0ICBMYXVybyBNb3VyYSAgPGxt
b3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI3NDkxOSkgW0FUS10gYWNj
ZXNzaWJpbGl0eS9zZXQtc2VsZWN0ZWQtdGV4dC1yYW5nZS1jb250ZW50ZWRpdGFibGUuaHRtbCBp
cyB0aW1pbmcgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pcGMvYW5hbHl0aWNzLWxvZ2dl
ci1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pcGMvYW5hbHl0aWNzLWxvZ2dlci1j
cmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU0ZGRmN2YxN2VmYWI1OGU0MmZhYmUzODUy
NTc5NjRhZTJjNWQ0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lwYy9hbmFseXRp
Y3MtbG9nZ2VyLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUaGlzIHRlc3QgcGFz
c2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaXBjL2Fu
YWx5dGljcy1sb2dnZXItY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2lwYy9hbmFseXRpY3MtbG9n
Z2VyLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVjYjRjY2Q0OGE5ZWRhNGZmYjUzODAxZjA4Yjk4
NmM1NTg4MDQ5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lwYy9hbmFseXRpY3Mt
bG9nZ2VyLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBJUENUZXN0aW5nQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKworaWYgKHdpbmRvdy5JUEMpIHsKKyAgICBidWYgPSBuZXcgVWlu
dDhBcnJheShbMHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLDB4MCwweDAsMHgwLDB4
MCwweDAsMHgwLDB4MjEsMHgwLDB4MCwweDAsMHgwLDB4MCwweDAsCisgICAgICAgIDB4MjEsMHgw
LDB4MCwweDAsMHgwLDB4MCwweDAsMHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLDB4
MCwweDAsMHgwLDB4MCwweDAsMHhmYiwweDIwLDB4MCwweDAsMHgwLAorICAgICAgICAweDAsMHgw
LDB4MCwweDIxLDB4MCwweDAsMHgwLDB4MCwweDAsMHgwLDB4MjEsMHhkYSwweGUsMHhlZiwweGQs
MHgwLDB4MCwweDIxLDB4MCwweDAsMHgwLDB4MCwweDAsMHgwLDB4MjEsCisgICAgICAgIDB4MCww
eDAsMHgwLDB4MCwweDAsMHgyMSwweDEsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLDB4MCwweDAs
MHgwLDB4MCwweDAsMHgyMSwweDAsMHgwLDB4MCxdKTsKKyAgICBJUEMuc2VuZE1lc3NhZ2UoJ1VJ
JyxJUEMud2ViUGFnZVByb3h5SUQsSVBDLm1lc3NhZ2VzLldlYlBhZ2VQcm94eV9Mb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhWYWx1ZUZyb21XZWJQcm9jZXNzLm5hbWUsW2J1Zl0pOworfQorPC9zY3Jp
cHQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCis8L2Jv
ZHk+Cis8L2hlYWQ+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425803</attachid>
            <date>2021-04-12 16:07:57 -0700</date>
            <delta_ts>2021-04-12 17:45:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224390-20210412160756.patch</filename>
            <type>text/plain</type>
            <size>19883</size>
            <attacher name="Julian Gonzalez">julian_a_gonzalez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM5OWU5ZDQyM2M0ZmEzZDI2
ODM5YmIyNmU4Zjg4NGY0YzM4Mzg5NDUuLmRhNjk1YmJiZWUwNGE4MjRmNDNiYmExNzgzZDg1OTZl
MDdmODhhMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDQtMTIgIEp1bGlhbiBH
b256YWxleiAgPGp1bGlhbl9hX2dvbnphbGV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29yZUlQ
Q10gQ3Jhc2ggaW4gbG9nRGlhZ25vc3RpY01lc3NhZ2UgY29kZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0MzkwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaXBjL2FuYWx5dGljcy1sb2dnZXIt
Y3Jhc2guaHRtbAorCisgICAgICAgIENyZWF0ZSBuZXcgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9z
dGljTWVzc2FnZSBBUElzIGRlc2lnbmVkIHRvIGJlIGNhbGxlZCBvbiBtZXNzYWdlcyB0aGF0Cisg
ICAgICAgIG5lZWQgc2FuaXR5IGNoZWNraW5nLCBhbmQgaG9vayB0aGF0IHVwIHRvIElQQyBoYW5k
bGVycyAod2hpbGUgbGVhdmluZyBleGlzdGluZyBBUElzCisgICAgICAgIGZvciBhbGwgb3RoZXIg
Y2FsbGVycykuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpsb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhWYWx1ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZUZyb21XZWJQcm9jZXNzKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1
bHRGcm9tV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWVGcm9tV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5RnJv
bVdlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeUZyb21XZWJQcm9jZXNzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW5Gcm9tV2Vi
UHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2Fn
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhSZXN1bHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoRW5oYW5jZWRQcml2YWN5KToKKyAgICAgICAgKFdlYktpdDo6V2ViRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhEb21haW4pOgorCiAyMDIxLTA0LTEyICBBZGEgQ2hhbiAgPGFkYS5jaGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBJbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIFdlYkNocm9tZUNsaWVu
dDo6ZW51bWVyYXRlSW1tZXJzaXZlWFJEZXZpY2VzKCkgYW5kIFhSRGV2aWNlUHJveHkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKaW5kZXggNGQ5
NDMwMTQ1Y2U3NjIzOTAxN2QzNjFhN2U2NzA2YjU2MmQ4ZWRmYS4uMGZlZDZjNGE2YzhjYzYwYjk1
MWE3MTQ2Mjg5NzIwYjM5MWE0NTdmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKQEAgLTIyMSw3ICsyMjEsNyBAQCB2b2lkIE5ldHdvcmtT
ZXNzaW9uOjpub3RpZnlSZXNvdXJjZUxvYWRTdGF0aXN0aWNzUHJvY2Vzc2VkKCkKIAogdm9pZCBO
ZXR3b3JrU2Vzc2lvbjo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCB1bnNpZ25lZCB2YWx1ZSwgdW5z
aWduZWQgc2lnbmlmaWNhbnRGaWd1cmVzLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2Ft
cGxlKQogewotICAgIG1fbmV0d29ya1Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCkt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFs
dWUobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZhbHVlLCBzaWduaWZpY2FudEZpZ3VyZXMsIHNob3Vs
ZFNhbXBsZSksIDApOworICAgIG1fbmV0d29ya1Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25uZWN0
aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWVGcm9tV2ViUHJvY2VzcyhtZXNzYWdlLCBkZXNjcmlwdGlvbiwgdmFsdWUsIHNpZ25p
ZmljYW50RmlndXJlcywgc2hvdWxkU2FtcGxlKSwgMCk7CiB9CiAKIHZvaWQgTmV0d29ya1Nlc3Np
b246OmRlbGV0ZUFuZFJlc3RyaWN0V2Vic2l0ZURhdGFGb3JSZWdpc3RyYWJsZURvbWFpbnMoT3B0
aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBSZWdpc3RyYWJsZURvbWFpbnNUb0Rl
bGV0ZU9yUmVzdHJpY3RXZWJzaXRlRGF0YUZvciYmIGRvbWFpbnMsIGJvb2wgc2hvdWxkTm90aWZ5
UGFnZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBIYXNoU2V0PFJlZ2lzdHJhYmxlRG9t
YWluPiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCmluZGV4IDEyMTJlZmJkMTEzZTM1MjFjM2UzNTBl
OGE5MWJlYWNmNjg2NzIzZGEuLjg2ZTM0OTQwNGJkN2JmMTYxZDRkMWE2ZTgwNWVkMTVkNWRmMzVk
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94
eS5jcHAKQEAgLTQyNSw5ICs0MjUsOSBAQCB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRS
ZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RAogICAgICAg
ICB8fCBkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlk
RGVzdHJveU5hdmlnYXRpb246Om5hbWUoKQogICAgICAgICB8fCBkZWNvZGVyLm1lc3NhZ2VOYW1l
KCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkRmluaXNoUHJvZ3Jlc3M6Om5hbWUoKQog
ICAgICAgICB8fCBkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6QmFja0ZvcndhcmRBZGRJdGVtOjpuYW1lKCkKLSAgICAgICAgfHwgZGVjb2Rlci5tZXNzYWdl
TmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlOjpu
YW1lKCkKLSAgICAgICAgfHwgZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeTo6bmFtZSgp
Ci0gICAgICAgIHx8IGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnk6Om5hbWUoKQorICAg
ICAgICB8fCBkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
TG9nRGlhZ25vc3RpY01lc3NhZ2VGcm9tV2ViUHJvY2Vzczo6bmFtZSgpCisgICAgICAgIHx8IGRl
Y29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3lGcm9tV2ViUHJvY2Vzczo6bmFtZSgpCisgICAg
ICAgIHx8IGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpM
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnlGcm9tV2ViUHJvY2Vzczo6bmFt
ZSgpCiAgICAgICAgIHx8IGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpTZXROZXR3b3JrUmVxdWVzdHNJblByb2dyZXNzOjpuYW1lKCkKICAgICAgICAgfHwg
ZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OldpbGxHb1Rv
QmFja0ZvcndhcmRMaXN0SXRlbTo6bmFtZSgpCiAjaWYgVVNFKFFVSUNLX0xPT0spCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAwNTFkYTg3NjU4ZGQzODliYWZm
ZmViYjY3NDk4MmU2OTk1NjYwMzFkLi44Y2IyNTllNTc1Zjk0MjgyZWVhNzAxYzcyNTUzZmRlYThm
MTY1NmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTcy
MTUsNiArNzIxNSwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2Uo
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlcwogICAgIGVmZmVjdGl2ZUNs
aWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2UodGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24pOwog
fQogCit2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VGcm9tV2ViUHJvY2Vz
cyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNv
cmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCit7CisgICAgTUVTU0FHRV9DSEVDSyhtX3By
b2Nlc3MsIG1lc3NhZ2UuaXNBbGxBU0NJSSgpKTsKKworICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdl
KG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBzaG91bGRTYW1wbGUpOworfQorCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgdWludDMyX3QgcmVzdWx0LCBXZWJDb3JlOjpT
aG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQogewogICAgIGF1dG8qIGVmZmVjdGl2ZUNsaWVudCA9
IGVmZmVjdGl2ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KHNob3VsZFNhbXBsZSk7CkBAIC03MjI0
LDYgKzcyMzEsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFJlc3VsdChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFMKICAgICBlZmZlY3RpdmVDbGll
bnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdCh0aGlzLCBtZXNzYWdlLCBkZXNjcmlw
dGlvbiwgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlPihy
ZXN1bHQpKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFJlc3VsdEZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBkZXNjcmlwdGlvbiwgdWludDMyX3QgcmVzdWx0LCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hv
dWxkU2FtcGxlKQoreworICAgIE1FU1NBR0VfQ0hFQ0sobV9wcm9jZXNzLCBtZXNzYWdlLmlzQWxs
QVNDSUkoKSk7CisKKyAgICBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQobWVzc2FnZSwg
ZGVzY3JpcHRpb24sIHJlc3VsdCwgc2hvdWxkU2FtcGxlKTsKK30KKwogdm9pZCBXZWJQYWdlUHJv
eHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZp
Y2FudEZpZ3VyZXMsIFNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCiB7CiAgICAgYXV0byogZWZm
ZWN0aXZlQ2xpZW50ID0gZWZmZWN0aXZlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoc2hvdWxkU2Ft
cGxlKTsKQEAgLTcyMzMsNiArNzI0NywxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25v
c3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdAogICAg
IGVmZmVjdGl2ZUNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUodGhpcywgbWVz
c2FnZSwgZGVzY3JpcHRpb24sIFN0cmluZzo6bnVtYmVyVG9TdHJpbmdGaXhlZFByZWNpc2lvbih2
YWx1ZSwgc2lnbmlmaWNhbnRGaWd1cmVzKSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBz
aWduaWZpY2FudEZpZ3VyZXMsIFNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCit7CisgICAgTUVT
U0FHRV9DSEVDSyhtX3Byb2Nlc3MsIG1lc3NhZ2UuaXNBbGxBU0NJSSgpKTsKKworICAgIGxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCB2YWx1ZSwgc2ln
bmlmaWNhbnRGaWd1cmVzLCBzaG91bGRTYW1wbGUpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgU2hvdWxkU2FtcGxlIHNob3VsZFNhbXBs
ZSkKIHsKICAgICBhdXRvKiBlZmZlY3RpdmVDbGllbnQgPSBlZmZlY3RpdmVEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudChzaG91bGRTYW1wbGUpOwpAQCAtNzI0Miw2ICs3MjYzLDEzIEBAIHZvaWQgV2Vi
UGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3Qg
U3RyaW5nJiBtZXNzYWdlCiAgICAgZWZmZWN0aXZlQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhFbmhhbmNlZFByaXZhY3kodGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24pOwogfQogCit2
b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5
RnJvbVdlYlByb2Nlc3MoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2Ny
aXB0aW9uLCBTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQoreworICAgIE1FU1NBR0VfQ0hFQ0so
bV9wcm9jZXNzLCBtZXNzYWdlLmlzQWxsQVNDSUkoKSk7CisKKyAgICBsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhFbmhhbmNlZFByaXZhY3kobWVzc2FnZSwgZGVzY3JpcHRpb24sIHNob3VsZFNhbXBs
ZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1
ZURpY3Rpb25hcnkoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0
aW9uLCBjb25zdCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6VmFsdWVEaWN0aW9u
YXJ5JiB2YWx1ZURpY3Rpb25hcnksIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUp
CiB7CiAgICAgYXV0byogZWZmZWN0aXZlQ2xpZW50ID0gZWZmZWN0aXZlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQoc2hvdWxkU2FtcGxlKTsKQEAgLTcyNjMsNiArNzI5MSwxMyBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFN0
cmluZyYgbWVzc2FnZQogICAgIGVmZmVjdGl2ZUNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWVEaWN0aW9uYXJ5KHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBXVEZNb3ZlKGFw
aURpY3Rpb25hcnkpKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aFZhbHVlRGljdGlvbmFyeUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgV2ViQ29yZTo6RGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQ6OlZhbHVlRGljdGlvbmFyeSYgdmFsdWVEaWN0aW9uYXJ5LCBXZWJDb3JlOjpT
aG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQoreworICAgIE1FU1NBR0VfQ0hFQ0sobV9wcm9jZXNz
LCBtZXNzYWdlLmlzQWxsQVNDSUkoKSk7CisKKyAgICBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhW
YWx1ZURpY3Rpb25hcnkobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZhbHVlRGljdGlvbmFyeSwgc2hv
dWxkU2FtcGxlKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aERvbWFpbihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dn
aW5nRG9tYWluIGRvbWFpbikKIHsKICAgICBhdXRvKiBlZmZlY3RpdmVDbGllbnQgPSBlZmZlY3Rp
dmVEaWFnbm9zdGljTG9nZ2luZ0NsaWVudChTaG91bGRTYW1wbGU6Ok5vKTsKQEAgLTcyNzIsNiAr
NzMwNywxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9t
YWluKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZQogICAgIGVmZmVjdGl2ZUNsaWVudC0+
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKHRoaXMsIG1lc3NhZ2UsIGRvbWFpbik7CiB9
CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW5Gcm9t
V2ViUHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dn
aW5nRG9tYWluIGRvbWFpbikKK3sKKyAgICBNRVNTQUdFX0NIRUNLKG1fcHJvY2VzcywgbWVzc2Fn
ZS5pc0FsbEFTQ0lJKCkpOworCisgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKG1l
c3NhZ2UsIGRvbWFpbik7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dTY3JvbGxpbmdFdmVu
dCh1aW50MzJfdCBldmVudFR5cGUsIE1vbm90b25pY1RpbWUgdGltZXN0YW1wLCB1aW50NjRfdCBk
YXRhKQogewogICAgIFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudDo6U2Nyb2xsaW5nRXZlbnQgZXZl
bnQgPSBzdGF0aWNfY2FzdDxQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ6OlNjcm9sbGluZ0V2ZW50
PihldmVudFR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBm
NDkxNWFlZGY0NmFiOTlhYTA0YTFmYmViMTM0ZmY5ZDE1MTU0NmY4Li45YjdkYzA2ZjYxZmJjNDcz
MmViYjliYmY1NGQ1ODUyODlmNDcxZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtMTUzMyw2ICsxNTMzLDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIGxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5n
Q2xpZW50OjpWYWx1ZURpY3Rpb25hcnkmLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOwogICAgIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
V2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdEb21haW4pOwogCisgICAgdm9pZCBsb2dEaWFnbm9z
dGljTWVzc2FnZUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKTsKKyAgICB2b2lkIGxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdEZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgdWludDMyX3QgcmVzdWx0LCBXZWJDb3Jl
OjpTaG91bGRTYW1wbGUpOworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVG
cm9tV2ViUHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3Jp
cHRpb24sIGRvdWJsZSB2YWx1ZSwgdW5zaWduZWQgc2lnbmlmaWNhbnRGaWd1cmVzLCBXZWJDb3Jl
OjpTaG91bGRTYW1wbGUpOworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5j
ZWRQcml2YWN5RnJvbVdlYlByb2Nlc3MoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOworICAgIHZvaWQgbG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5RnJvbVdlYlByb2Nlc3MoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBXZWJDb3JlOjpE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6VmFsdWVEaWN0aW9uYXJ5JiwgV2ViQ29yZTo6U2hvdWxk
U2FtcGxlKTsKKyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbkZyb21XZWJQ
cm9jZXNzKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdE
b21haW4pOworCiAgICAgLy8gUGVyZm9ybWFuY2UgbG9nZ2luZy4KICAgICB2b2lkIGxvZ1Njcm9s
bGluZ0V2ZW50KHVpbnQzMl90IGV2ZW50VHlwZSwgTW9ub3RvbmljVGltZSwgdWludDY0X3QpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggZjAxZDhhMDVkYmEwY2U3NjJjYzMwZDg4ZDBhYjZlYmY3MTE1NjE5Yi4uMmNhYzNmMWNi
MDVkMWNkN2I1Zjc3MWVlMTJjMGU3MjllMWYxZDhjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjA2LDEyICsyMDYsMTIgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBFeGVjdXRlVW5kb1JlZG8oZW51bTpib29s
IFdlYktpdDo6VW5kb09yUmVkbyB1bmRvT3JSZWRvKSAtPiAoKSBTeW5jaHJvbm91cwogCiAgICAg
IyBEaWFnbm9zdGljIG1lc3NhZ2VzIGxvZ2dpbmcKLSAgICBMb2dEaWFnbm9zdGljTWVzc2FnZShT
dHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hv
dWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKLSAgICBMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1
bHQoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgdWludDMyX3QgcmVzdWx0LCBl
bnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKLSAgICBMb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZShTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9u
LCBkb3VibGUgdmFsdWUsIHVuc2lnbmVkIHNpZ25pZmljYW50RmlndXJlcywgZW51bTpib29sIFdl
YkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCi0gICAgTG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoRW5oYW5jZWRQcml2YWN5KFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24s
IGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQotICAgIExvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShTdHJpbmcgbWVzc2FnZSwgU3RyaW5n
IGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6VmFsdWVEaWN0
aW9uYXJ5IHZhbHVlLCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBs
ZSkKLSAgICBMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4oU3RyaW5nIG1lc3NhZ2UsIFdl
YkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nRG9tYWluIGRvbWFpbikKKyAgICBMb2dEaWFnbm9zdGlj
TWVzc2FnZUZyb21XZWJQcm9jZXNzKFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24s
IGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQorICAgIExvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdEZyb21XZWJQcm9jZXNzKFN0cmluZyBtZXNzYWdlLCBT
dHJpbmcgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwgZW51bTpib29sIFdlYkNvcmU6OlNo
b3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFs
dWVGcm9tV2ViUHJvY2VzcyhTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCBkb3Vi
bGUgdmFsdWUsIHVuc2lnbmVkIHNpZ25pZmljYW50RmlndXJlcywgZW51bTpib29sIFdlYkNvcmU6
OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RW5oYW5jZWRQcml2YWN5RnJvbVdlYlByb2Nlc3MoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNj
cmlwdGlvbiwgZW51bTpib29sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCisg
ICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5RnJvbVdlYlByb2Nlc3Mo
U3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6RGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQ6OlZhbHVlRGljdGlvbmFyeSB2YWx1ZSwgZW51bTpib29sIFdlYkNvcmU6OlNo
b3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9t
YWluRnJvbVdlYlByb2Nlc3MoU3RyaW5nIG1lc3NhZ2UsIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dn
aW5nRG9tYWluIGRvbWFpbikKIAogICAgICMgUGVyZm9ybWFuY2UgbG9nZ2luZwogICAgIExvZ1Nj
cm9sbGluZ0V2ZW50KHVpbnQzMl90IGV2ZW50VHlwZSwgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAs
IHVpbnQ2NF90IGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNw
cAppbmRleCA4MTc0M2UwZjY0M2U4MDc3ZGU4YjUzOTNjZmFmYjUxYTU3ZmZhNGEwLi4xZWZiMjQw
Mzk1MDFmZjFiZTEwN2M0NTk2MDhhODgyODM2MzMzODRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgdm9pZCBXZWJEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb24KICAgICBpZiAoIXNob3VsZExvZ0FmdGVyU2FtcGxpbmcoc2hvdWxkU2FtcGxlKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2UobWVzc2FnZSwgZGVzY3JpcHRpb24sIFNob3VsZFNhbXBs
ZTo6Tm8pKTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFn
bm9zdGljTWVzc2FnZUZyb21XZWJQcm9jZXNzKG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBTaG91bGRT
YW1wbGU6Ok5vKSk7CiB9CiAKIHZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSBy
ZXN1bHQsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCkBAIC02MCw3ICs2MCw3
IEBAIHZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aFJlc3VsdChjb25zdCBTdHJpbmcmIG1lCiAgICAgaWYgKCFzaG91bGRMb2dBZnRlclNhbXBs
aW5nKHNob3VsZFNhbXBsZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fcGFnZS5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChtZXNz
YWdlLCBkZXNjcmlwdGlvbiwgcmVzdWx0LCBTaG91bGRTYW1wbGU6Ok5vKSk7CisgICAgbV9wYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVz
dWx0RnJvbVdlYlByb2Nlc3MobWVzc2FnZSwgZGVzY3JpcHRpb24sIHJlc3VsdCwgU2hvdWxkU2Ft
cGxlOjpObykpOwogfQogCiB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgZGVzY3JpcHRpb24sIGRvdWJsZSB2YWx1ZSwgdW5zaWduZWQgc2lnbmlmaWNhbnRGaWd1cmVz
LCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQpAQCAtNzAsNyArNzAsNyBAQCB2
b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhW
YWx1ZShjb25zdCBTdHJpbmcmIG1lcwogICAgIGlmICghc2hvdWxkTG9nQWZ0ZXJTYW1wbGluZyhz
aG91bGRTYW1wbGUpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3BhZ2Uuc2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShtZXNzYWdlLCBk
ZXNjcmlwdGlvbiwgdmFsdWUsIHNpZ25pZmljYW50RmlndXJlcywgU2hvdWxkU2FtcGxlOjpObykp
OworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNN
ZXNzYWdlV2l0aFZhbHVlRnJvbVdlYlByb2Nlc3MobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZhbHVl
LCBzaWduaWZpY2FudEZpZ3VyZXMsIFNob3VsZFNhbXBsZTo6Tm8pKTsKIH0KIAogdm9pZCBXZWJE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQ
cml2YWN5KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwg
V2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKQEAgLTgwLDcgKzgwLDcgQEAgdm9p
ZCBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5o
YW5jZWRQcml2YWN5KGNvbnN0IFMKICAgICBpZiAoIXNob3VsZExvZ0FmdGVyU2FtcGxpbmcoc2hv
dWxkU2FtcGxlKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KG1l
c3NhZ2UsIGRlc2NyaXB0aW9uLCBTaG91bGRTYW1wbGU6Ok5vKSk7CisgICAgbV9wYWdlLnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQ
cml2YWN5RnJvbVdlYlByb2Nlc3MobWVzc2FnZSwgZGVzY3JpcHRpb24sIFNob3VsZFNhbXBsZTo6
Tm8pKTsKIH0KIAogdm9pZCBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgVmFsdWVEaWN0aW9uYXJ5JiB2YWx1ZSwgU2hvdWxk
U2FtcGxlIHNob3VsZFNhbXBsZSkKQEAgLTkwLDE0ICs5MCwxNCBAQCB2b2lkIFdlYkRpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnko
Y29uc3QgUwogICAgIGlmICghc2hvdWxkTG9nQWZ0ZXJTYW1wbGluZyhzaG91bGRTYW1wbGUpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkobWVzc2FnZSwgZGVzY3Jp
cHRpb24sIHZhbHVlLCBTaG91bGRTYW1wbGU6Ok5vKSk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5
RnJvbVdlYlByb2Nlc3MobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZhbHVlLCBTaG91bGRTYW1wbGU6
Ok5vKSk7CiB9CiAKIHZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aERvbWFpbihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkRpYWdu
b3N0aWNMb2dnaW5nRG9tYWluIGRvbWFpbikKIHsKICAgICBBU1NFUlQoIW1fcGFnZS5jb3JlUGFn
ZSgpIHx8IG1fcGFnZS5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLmRpYWdub3N0aWNMb2dnaW5nRW5h
YmxlZCgpKTsKIAotICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihtZXNzYWdlLCBkb21haW4pKTsKKyAgICBtX3BhZ2Uu
c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21h
aW5Gcm9tV2ViUHJvY2VzcyhtZXNzYWdlLCBkb21haW4pKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNWI4NWFkYmQ1ZDNmYmNhNzU4MGU3NTU1NGE4YTk0NWFhZTU4YWUxMi4u
ZjgyMmNhNDZmNmQ0NzcyYjQxMTYxMDM5MTkxODU1NTAzOTM5YWRiNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDIxLTA0LTEyICBKdWxpYW4gR29uemFsZXogIDxqdWxpYW5fYV9nb256YWxlekBh
cHBsZS5jb20+CisKKyAgICAgICAgW0NvcmVJUENdIENyYXNoIGluIGxvZ0RpYWdub3N0aWNNZXNz
YWdlIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDM5MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIHRlc3QgZm9yIHRoaXMgY3Jhc2hlci4KKworICAgICAgICAqIGlwYy9hbmFseXRpY3Mt
bG9nZ2VyLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaXBjL2FuYWx5dGlj
cy1sb2dnZXItY3Jhc2guaHRtbDogQWRkZWQuCisKIDIwMjEtMDQtMTIgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAmbGF5b3V0U3Rh
dGUoKS5lc3RhYmxpc2hlZEZvcm1hdHRpbmdTdGF0ZShsYXlvdXRCb3guZm9ybWF0dGluZ0NvbnRl
eHRSb290KCkpID09IHRoaXMgaW4gV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nU3RhdGU6OmJv
eEdlb21ldHJ5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pcGMvYW5hbHl0aWNzLWxvZ2dlci1j
cmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pcGMvYW5hbHl0aWNzLWxvZ2dlci1jcmFz
aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU0ZGRmN2YxN2VmYWI1OGU0MmZhYmUzODUyNTc5
NjRhZTJjNWQ0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lwYy9hbmFseXRpY3Mt
bG9nZ2VyLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUaGlzIHRlc3QgcGFzc2Vz
IGlmIGl0IGRvZXMgbm90IGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaXBjL2FuYWx5
dGljcy1sb2dnZXItY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2lwYy9hbmFseXRpY3MtbG9nZ2Vy
LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVjYjRjY2Q0OGE5ZWRhNGZmYjUzODAxZjA4Yjk4NmM1
NTg4MDQ5NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lwYy9hbmFseXRpY3MtbG9n
Z2VyLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBJUENUZXN0aW5nQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKworaWYgKHdpbmRvdy5JUEMpIHsKKyAgICBidWYgPSBuZXcgVWludDhB
cnJheShbMHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLDB4MCwweDAsMHgwLDB4MCww
eDAsMHgwLDB4MjEsMHgwLDB4MCwweDAsMHgwLDB4MCwweDAsCisgICAgICAgIDB4MjEsMHgwLDB4
MCwweDAsMHgwLDB4MCwweDAsMHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLDB4MCww
eDAsMHgwLDB4MCwweDAsMHhmYiwweDIwLDB4MCwweDAsMHgwLAorICAgICAgICAweDAsMHgwLDB4
MCwweDIxLDB4MCwweDAsMHgwLDB4MCwweDAsMHgwLDB4MjEsMHhkYSwweGUsMHhlZiwweGQsMHgw
LDB4MCwweDIxLDB4MCwweDAsMHgwLDB4MCwweDAsMHgwLDB4MjEsCisgICAgICAgIDB4MCwweDAs
MHgwLDB4MCwweDAsMHgyMSwweDEsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLDB4MCwweDAsMHgw
LDB4MCwweDAsMHgyMSwweDAsMHgwLDB4MCxdKTsKKyAgICBJUEMuc2VuZE1lc3NhZ2UoJ1VJJyxJ
UEMud2ViUGFnZVByb3h5SUQsSVBDLm1lc3NhZ2VzLldlYlBhZ2VQcm94eV9Mb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZUZyb21XZWJQcm9jZXNzLm5hbWUsW2J1Zl0pOworfQorPC9zY3JpcHQ+
Cis8Ym9keT4KK1RoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCis8L2JvZHk+
Cis8L2hlYWQ+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425819</attachid>
            <date>2021-04-12 17:45:49 -0700</date>
            <delta_ts>2021-04-12 23:05:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224390-20210412174548.patch</filename>
            <type>text/plain</type>
            <size>25128</size>
            <attacher name="Julian Gonzalez">julian_a_gonzalez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM5OWU5ZDQyM2M0ZmEzZDI2
ODM5YmIyNmU4Zjg4NGY0YzM4Mzg5NDUuLjU5OWRkZjA4NWYyYzg2MWE3ZmQ0Y2UwOWU1M2MyMTgy
NmU5NmU5OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjEtMDQtMTIgIEp1bGlhbiBH
b256YWxleiAgPGp1bGlhbl9hX2dvbnphbGV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29yZUlQ
Q10gQ3Jhc2ggaW4gbG9nRGlhZ25vc3RpY01lc3NhZ2UgY29kZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0MzkwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRlIG5ldyBXZWJQYWdlUHJveHk6Omxv
Z0RpYWdub3N0aWNNZXNzYWdlIEFQSXMgZGVzaWduZWQgdG8gYmUgY2FsbGVkIG9uIG1lc3NhZ2Vz
IHRoYXQKKyAgICAgICAgbmVlZCBzYW5pdHkgY2hlY2tpbmcsIGFuZCBob29rIHRoYXQgdXAgdG8g
SVBDIGhhbmRsZXJzICh3aGlsZSBsZWF2aW5nIGV4aXN0aW5nIEFQSXMKKyAgICAgICAgZm9yIGFs
bCBvdGhlciBjYWxsZXJzKS4KKworICAgICAgICBUZXN0OiBpcGMvYW5hbHl0aWNzLWxvZ2dlci1j
cmFzaC5odG1sCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpsb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhWYWx1ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UHJvdmlzaW9uYWxQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNz
YWdlRnJvbVdlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94
eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5RnJvbVdlYlByb2Nlc3Mp
OgorICAgICAgICAoV2ViS2l0OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5RnJvbVdlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0
OjpQcm92aXNpb25hbFBhZ2VQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0
aWNNZXNzYWdlRnJvbVdlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdEZyb21XZWJQcm9jZXNzKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZUZyb21X
ZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3lGcm9tV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5
RnJvbVdlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aERvbWFpbkZyb21XZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5n
Q2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoVmFsdWVEaWN0aW9uYXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2ViRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbik6CisKIDIwMjEtMDQt
MTIgIEFkYSBDaGFuICA8YWRhLmNoYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEluaXRpYWwgaW1w
bGVtZW50YXRpb24gb2YgV2ViQ2hyb21lQ2xpZW50OjplbnVtZXJhdGVJbW1lcnNpdmVYUkRldmlj
ZXMoKSBhbmQgWFJEZXZpY2VQcm94eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtTZXNzaW9uLmNwcAppbmRleCA0ZDk0MzAxNDVjZTc2MjM5MDE3ZDM2MWE3ZTY3MDZi
NTYyZDhlZGZhLi4wZmVkNmM0YTZjOGNjNjBiOTUxYTcxNDYyODk3MjBiMzkxYTQ1N2ZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcApAQCAt
MjIxLDcgKzIyMSw3IEBAIHZvaWQgTmV0d29ya1Nlc3Npb246Om5vdGlmeVJlc291cmNlTG9hZFN0
YXRpc3RpY3NQcm9jZXNzZWQoKQogCiB2b2lkIE5ldHdvcmtTZXNzaW9uOjpsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVz
Y3JpcHRpb24sIHVuc2lnbmVkIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIFdl
YkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCiB7Ci0gICAgbV9uZXR3b3JrUHJvY2Vz
cy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShtZXNzYWdlLCBkZXNjcmlwdGlvbiwgdmFs
dWUsIHNpZ25pZmljYW50RmlndXJlcywgc2hvdWxkU2FtcGxlKSwgMCk7CisgICAgbV9uZXR3b3Jr
UHJvY2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZUZyb21XZWJQcm9jZXNzKG1lc3Nh
Z2UsIGRlc2NyaXB0aW9uLCB2YWx1ZSwgc2lnbmlmaWNhbnRGaWd1cmVzLCBzaG91bGRTYW1wbGUp
LCAwKTsKIH0KIAogdm9pZCBOZXR3b3JrU2Vzc2lvbjo6ZGVsZXRlQW5kUmVzdHJpY3RXZWJzaXRl
RGF0YUZvclJlZ2lzdHJhYmxlRG9tYWlucyhPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRh
VHlwZXMsIFJlZ2lzdHJhYmxlRG9tYWluc1RvRGVsZXRlT3JSZXN0cmljdFdlYnNpdGVEYXRhRm9y
JiYgZG9tYWlucywgYm9vbCBzaG91bGROb3RpZnlQYWdlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+Jik+JiYgY29tcGxldGlvbkhhbmRsZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5jcHAK
aW5kZXggMTIxMmVmYmQxMTNlMzUyMWMzZTM1MGU4YTkxYmVhY2Y2ODY3MjNkYS4uMjI2ZDI5MzM0
MDVlYTViNmYwYmMzNjllNTFmZDA3ODYyZTM3YWY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmNwcApAQCAtNDksNiArNDksOCBAQAogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvU2hvdWxkVHJlYXRB
c0NvbnRpbnVpbmdMb2FkLmg+CiAKKyNkZWZpbmUgTUVTU0FHRV9DSEVDSyhwcm9jZXNzLCBhc3Nl
cnRpb24pIE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24sIHByb2Nlc3MtPmNvbm5lY3Rpb24o
KSkKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAt
Mzc0LDYgKzM3NiwyNyBAQCB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uU3luYyhGcmFtZUlkZW50aWZpZXIgZgogICAgIG1fcGFnZS5kZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uU3luY1NoYXJlZChtX3Byb2Nlc3MuY29weVJlZigp
LCBmcmFtZUlELCBpc01haW5GcmFtZSwgV1RGTW92ZShmcmFtZUluZm9EYXRhKSwgaWRlbnRpZmll
ciwgbmF2aWdhdGlvbklELCBXVEZNb3ZlKG5hdmlnYXRpb25BY3Rpb25EYXRhKSwgV1RGTW92ZShv
cmlnaW5hdGluZ0ZyYW1lSW5mbyksIG9yaWdpbmF0aW5nUGFnZUlELCBvcmlnaW5hbFJlcXVlc3Qs
IFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVxdWVzdEJvZHkpLCBXVEZNb3ZlKHJlZGlyZWN0
UmVzcG9uc2UpLCB1c2VyRGF0YSwgV1RGTW92ZShyZXBseSkpOwogfQogCit2b2lkIFByb3Zpc2lv
bmFsUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxk
U2FtcGxlIHNob3VsZFNhbXBsZSkKK3sKKyAgICBNRVNTQUdFX0NIRUNLKG1fcHJvY2VzcywgbWVz
c2FnZS5pc0FsbEFTQ0lJKCkpOworCisgICAgbV9wYWdlLmxvZ0RpYWdub3N0aWNNZXNzYWdlKG1l
c3NhZ2UsIGRlc2NyaXB0aW9uLCBzaG91bGRTYW1wbGUpOworfQorCit2b2lkIFByb3Zpc2lvbmFs
UGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3lGcm9tV2Vi
UHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24s
IFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCit7CisgICAgTUVTU0FHRV9DSEVD
SyhtX3Byb2Nlc3MsIG1lc3NhZ2UuaXNBbGxBU0NJSSgpKTsKKworICAgIG1fcGFnZS5sb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kobWVzc2FnZSwgZGVzY3JpcHRpb24sIHNo
b3VsZFNhbXBsZSk7Cit9CisKK3ZvaWQgUHJvdmlzaW9uYWxQYWdlUHJveHk6OmxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgV2ViQ29yZTo6RGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGljdGlvbmFyeSYgdmFsdWVEaWN0aW9uYXJ5LCBXZWJD
b3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQoreworICAgIE1FU1NBR0VfQ0hFQ0sobV9w
cm9jZXNzLCBtZXNzYWdlLmlzQWxsQVNDSUkoKSk7CisKKyAgICBtX3BhZ2UubG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCB2YWx1ZURp
Y3Rpb25hcnksIHNob3VsZFNhbXBsZSk7Cit9CisKICNpZiBVU0UoUVVJQ0tfTE9PSykKIHZvaWQg
UHJvdmlzaW9uYWxQYWdlUHJveHk6OnJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50
SW5NYWluRnJhbWUoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChjb25zdCBTdHJpbmcmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKQEAgLTQyNSw5ICs0NDgs
NiBAQCB2b2lkIFByb3Zpc2lvbmFsUGFnZVByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RAogICAgICAgICB8fCBkZWNvZGVyLm1lc3NhZ2VO
YW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkRGVzdHJveU5hdmlnYXRpb246Om5h
bWUoKQogICAgICAgICB8fCBkZWNvZGVyLm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6RGlkRmluaXNoUHJvZ3Jlc3M6Om5hbWUoKQogICAgICAgICB8fCBkZWNvZGVyLm1l
c3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QmFja0ZvcndhcmRBZGRJdGVt
OjpuYW1lKCkKLSAgICAgICAgfHwgZGVjb2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlOjpuYW1lKCkKLSAgICAgICAgfHwgZGVj
b2Rlci5tZXNzYWdlTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeTo6bmFtZSgpCi0gICAgICAgIHx8IGRlY29kZXIu
bWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhWYWx1ZURpY3Rpb25hcnk6Om5hbWUoKQogICAgICAgICB8fCBkZWNvZGVyLm1lc3Nh
Z2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0TmV0d29ya1JlcXVlc3RzSW5Q
cm9ncmVzczo6bmFtZSgpCiAgICAgICAgIHx8IGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpXaWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW06Om5hbWUoKQog
I2lmIFVTRShRVUlDS19MT09LKQpAQCAtNDUwLDYgKzQ3MCwyMSBAQCB2b2lkIFByb3Zpc2lvbmFs
UGFnZVByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IElQQzo6RAogICAgIH0KICNlbmRpZgogCisgICAgaWYgKGRlY29kZXIubWVzc2FnZU5hbWUoKSA9
PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZUZyb21XZWJQcm9j
ZXNzOjpuYW1lKCkpIHsKKyAgICAgICAgSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlRnJvbVdlYlByb2Nlc3M+KGRlY29kZXIsIHRo
aXMsICZQcm92aXNpb25hbFBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VGcm9tV2ViUHJv
Y2Vzcyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdl
TmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aEVuaGFuY2VkUHJpdmFjeUZyb21XZWJQcm9jZXNzOjpuYW1lKCkpIHsKKyAgICAgICAgSVBDOjpo
YW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aEVuaGFuY2VkUHJpdmFjeUZyb21XZWJQcm9jZXNzPihkZWNvZGVyLCB0aGlzLCAmUHJvdmlz
aW9uYWxQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeUZy
b21XZWJQcm9jZXNzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5RnJvbVdlYlByb2Nlc3M6Om5hbWUoKSkgeworICAgICAg
ICBJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5RnJvbVdlYlByb2Nlc3M+KGRlY29kZXIsIHRoaXMs
ICZQcm92aXNpb25hbFBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0
aW9uYXJ5RnJvbVdlYlByb2Nlc3MpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYg
KGRlY29kZXIubWVzc2FnZU5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTdGFydFVS
TFNjaGVtZVRhc2s6Om5hbWUoKSkgewogICAgICAgICBJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6U3RhcnRVUkxTY2hlbWVUYXNrPihkZWNvZGVyLCB0aGlzLCAmUHJv
dmlzaW9uYWxQYWdlUHJveHk6OnN0YXJ0VVJMU2NoZW1lVGFzayk7CiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Qcm92aXNpb25hbFBhZ2VQcm94eS5oCmluZGV4
IDQ5MmE0ODVmZmUwOWUzMDgwNTA0MzBiMjE1OTUzOGVkZjliOTM0Y2IuLjBlMjZkYjc5YWIzNGUy
NmY4MzI4NzJiYTkyYTljMmVjM2MwMmM1ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1Byb3Zpc2lvbmFsUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUHJvdmlzaW9uYWxQYWdlUHJveHkuaApAQCAtMTMxLDYgKzEzMSw5IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKFdlYkNvcmU6OkZyYW1lSWRl
bnRpZmllciwgRnJhbWVJbmZvRGF0YSYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgdWlu
dDY0X3QgbmF2aWdhdGlvbklELCBVUkwmJiwgVVJMJiYgdW5yZWFjaGFibGVVUkwsIGNvbnN0IFVz
ZXJEYXRhJik7CiAgICAgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUoV2ViQ29yZTo6RnJhbWVJ
ZGVudGlmaWVyLCBGcmFtZUluZm9EYXRhJiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCB1
aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGJvb2wgZnJhbWVI
YXNDdXN0b21Db250ZW50UHJvdmlkZXIsIFdlYkNvcmU6OkZyYW1lTG9hZFR5cGUsIGNvbnN0IFdl
YkNvcmU6OkNlcnRpZmljYXRlSW5mbyYsIGJvb2wgdXNlZExlZ2FjeVRMUywgYm9vbCBjb250YWlu
c1BsdWdpbkRvY3VtZW50LCBPcHRpb25hbDxXZWJDb3JlOjpIYXNJbnNlY3VyZUNvbnRlbnQ+IGZv
cmNlZEhhc0luc2VjdXJlQ29udGVudCwgV2ViQ29yZTo6TW91c2VFdmVudFBvbGljeSwgY29uc3Qg
VXNlckRhdGEmKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZShXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJiwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiYsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgY29uc3QgU3RyaW5nJiBwcm92aXNpb25h
bFVSTCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYsIFdlYkNvcmU6OldpbGxDb250aW51
ZUxvYWRpbmcsIGNvbnN0IFVzZXJEYXRhJik7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2Fn
ZUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNj
cmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKTsKKyAgICB2b2lkIGxvZ0RpYWdub3N0aWNN
ZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKTsK
KyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeUZyb21XZWJQ
cm9jZXNzKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwg
Y29uc3QgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGljdGlvbmFyeSYs
IFdlYkNvcmU6OlNob3VsZFNhbXBsZSk7CiAgICAgdm9pZCBzdGFydFVSTFNjaGVtZVRhc2soVVJM
U2NoZW1lVGFza1BhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBiYWNrRm9yd2FyZEdvVG9JdGVtKGNv
bnN0IFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXImLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGNvbnN0IFdlYkJhY2tGb3J3YXJkTGlzdENvdW50cyYpPiYmKTsKICAgICB2b2lkIGRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25TeW5jKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmll
ciwgYm9vbCBpc01haW5GcmFtZSwgRnJhbWVJbmZvRGF0YSYmLCBXZWJDb3JlOjpQb2xpY3lDaGVj
a0lkZW50aWZpZXIsIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEm
JiwgRnJhbWVJbmZvRGF0YSYmIG9yaWdpbmF0aW5nRnJhbWVJbmZvLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMDUxZGE4NzY1OGRkMzg5YmFmZmZlYmI2NzQ5
ODJlNjk5NTY2MDMxZC4uZGY1MDMxODU4OGIyYWMwM2MxMWNmMDEyMjRhN2Q2NDhhNzFjMzdhYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03MjE1LDYgKzcy
MTUsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXMKICAgICBlZmZlY3RpdmVDbGllbnQtPmxv
Z0RpYWdub3N0aWNNZXNzYWdlKHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uKTsKIH0KIAordm9p
ZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlRnJvbVdlYlByb2Nlc3MoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91
bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQoreworICAgIE1FU1NBR0VfQ0hFQ0sobV9wcm9jZXNzLCBt
ZXNzYWdlLmlzQWxsQVNDSUkoKSk7CisKKyAgICBsb2dEaWFnbm9zdGljTWVzc2FnZShtZXNzYWdl
LCBkZXNjcmlwdGlvbiwgc2hvdWxkU2FtcGxlKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6Omxv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwgV2ViQ29yZTo6U2hvdWxkU2Ft
cGxlIHNob3VsZFNhbXBsZSkKIHsKICAgICBhdXRvKiBlZmZlY3RpdmVDbGllbnQgPSBlZmZlY3Rp
dmVEaWFnbm9zdGljTG9nZ2luZ0NsaWVudChzaG91bGRTYW1wbGUpOwpAQCAtNzIyNCw2ICs3MjMx
LDEzIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQo
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTCiAgICAgZWZmZWN0aXZlQ2xpZW50LT5sb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQodGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24sIHN0
YXRpY19jYXN0PFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZT4ocmVzdWx0KSk7
CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRG
cm9tV2ViUHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3Jp
cHRpb24sIHVpbnQzMl90IHJlc3VsdCwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBs
ZSkKK3sKKyAgICBNRVNTQUdFX0NIRUNLKG1fcHJvY2VzcywgbWVzc2FnZS5pc0FsbEFTQ0lJKCkp
OworCisgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KG1lc3NhZ2UsIGRlc2NyaXB0
aW9uLCByZXN1bHQsIHNob3VsZFNhbXBsZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIGRvdWJsZSB2YWx1ZSwgdW5zaWduZWQgc2lnbmlmaWNhbnRGaWd1
cmVzLCBTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQogewogICAgIGF1dG8qIGVmZmVjdGl2ZUNs
aWVudCA9IGVmZmVjdGl2ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KHNob3VsZFNhbXBsZSk7CkBA
IC03MjMzLDYgKzcyNDcsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3QKICAgICBlZmZlY3Rp
dmVDbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKHRoaXMsIG1lc3NhZ2UsIGRl
c2NyaXB0aW9uLCBTdHJpbmc6Om51bWJlclRvU3RyaW5nRml4ZWRQcmVjaXNpb24odmFsdWUsIHNp
Z25pZmljYW50RmlndXJlcykpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVGcm9tV2ViUHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGRvdWJsZSB2YWx1ZSwgdW5zaWduZWQgc2lnbmlmaWNh
bnRGaWd1cmVzLCBTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQoreworICAgIE1FU1NBR0VfQ0hF
Q0sobV9wcm9jZXNzLCBtZXNzYWdlLmlzQWxsQVNDSUkoKSk7CisKKyAgICBsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZShtZXNzYWdlLCBkZXNjcmlwdGlvbiwgdmFsdWUsIHNpZ25pZmljYW50
RmlndXJlcywgc2hvdWxkU2FtcGxlKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCiB7CiAg
ICAgYXV0byogZWZmZWN0aXZlQ2xpZW50ID0gZWZmZWN0aXZlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQoc2hvdWxkU2FtcGxlKTsKQEAgLTcyNDIsNiArNzI2MywxMyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KGNvbnN0IFN0cmluZyYg
bWVzc2FnZQogICAgIGVmZmVjdGl2ZUNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5o
YW5jZWRQcml2YWN5KHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uKTsKIH0KIAordm9pZCBXZWJQ
YWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeUZyb21XZWJQ
cm9jZXNzKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwg
V2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKK3sKKyAgICBNRVNTQUdFX0NIRUNL
KG1fcHJvY2VzcywgbWVzc2FnZS5pc0FsbEFTQ0lJKCkpOworCisgICAgbG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBzaG91bGRTYW1w
bGUpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFs
dWVEaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlw
dGlvbiwgY29uc3QgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGljdGlv
bmFyeSYgdmFsdWVEaWN0aW9uYXJ5LCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxl
KQogewogICAgIGF1dG8qIGVmZmVjdGl2ZUNsaWVudCA9IGVmZmVjdGl2ZURpYWdub3N0aWNMb2dn
aW5nQ2xpZW50KHNob3VsZFNhbXBsZSk7CkBAIC03MjYzLDYgKzcyOTEsMTMgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UKICAgICBlZmZlY3RpdmVDbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aFZhbHVlRGljdGlvbmFyeSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbiwgV1RGTW92ZShh
cGlEaWN0aW9uYXJ5KSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhWYWx1ZURpY3Rpb25hcnlGcm9tV2ViUHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFdlYkNvcmU6OkRpYWdub3N0aWNM
b2dnaW5nQ2xpZW50OjpWYWx1ZURpY3Rpb25hcnkmIHZhbHVlRGljdGlvbmFyeSwgV2ViQ29yZTo6
U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKK3sKKyAgICBNRVNTQUdFX0NIRUNLKG1fcHJvY2Vz
cywgbWVzc2FnZS5pc0FsbEFTQ0lJKCkpOworCisgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
VmFsdWVEaWN0aW9uYXJ5KG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCB2YWx1ZURpY3Rpb25hcnksIHNo
b3VsZFNhbXBsZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhEb21haW4oY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9n
Z2luZ0RvbWFpbiBkb21haW4pCiB7CiAgICAgYXV0byogZWZmZWN0aXZlQ2xpZW50ID0gZWZmZWN0
aXZlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoU2hvdWxkU2FtcGxlOjpObyk7CkBAIC03MjcyLDYg
KzczMDcsMTMgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERv
bWFpbihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmUKICAgICBlZmZlY3RpdmVDbGllbnQt
PmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbih0aGlzLCBtZXNzYWdlLCBkb21haW4pOwog
fQogCit2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluRnJv
bVdlYlByb2Nlc3MoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9n
Z2luZ0RvbWFpbiBkb21haW4pCit7CisgICAgTUVTU0FHRV9DSEVDSyhtX3Byb2Nlc3MsIG1lc3Nh
Z2UuaXNBbGxBU0NJSSgpKTsKKworICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbiht
ZXNzYWdlLCBkb21haW4pOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6bG9nU2Nyb2xsaW5nRXZl
bnQodWludDMyX3QgZXZlbnRUeXBlLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgdWludDY0X3Qg
ZGF0YSkKIHsKICAgICBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ6OlNjcm9sbGluZ0V2ZW50IGV2
ZW50ID0gc3RhdGljX2Nhc3Q8UGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OjpTY3JvbGxpbmdFdmVu
dD4oZXZlbnRUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
ZjQ5MTVhZWRmNDZhYjk5YWEwNGExZmJlYjEzNGZmOWQxNTE1NDZmOC4uOWI3ZGMwNmY2MWZiYzQ3
MzJlYmI5YmJmNTRkNTg1Mjg5ZjQ3MWQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTE1MzMsNiArMTUzMywxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudDo6VmFsdWVEaWN0aW9uYXJ5JiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKTsKICAgICB2
b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nRG9tYWluKTsKIAorICAgIHZvaWQgbG9nRGlhZ25v
c3RpY01lc3NhZ2VGcm9tV2ViUHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSk7CisgICAgdm9pZCBsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRGcm9tV2ViUHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwgV2ViQ29y
ZTo6U2hvdWxkU2FtcGxlKTsKKyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVl
RnJvbVdlYlByb2Nlc3MoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2Ny
aXB0aW9uLCBkb3VibGUgdmFsdWUsIHVuc2lnbmVkIHNpZ25pZmljYW50RmlndXJlcywgV2ViQ29y
ZTo6U2hvdWxkU2FtcGxlKTsKKyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFu
Y2VkUHJpdmFjeUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKTsKKyAgICB2b2lkIGxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeUZyb21XZWJQcm9jZXNzKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgV2ViQ29yZTo6
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGljdGlvbmFyeSYsIFdlYkNvcmU6OlNob3Vs
ZFNhbXBsZSk7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW5Gcm9tV2Vi
UHJvY2Vzcyhjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5n
RG9tYWluKTsKKwogICAgIC8vIFBlcmZvcm1hbmNlIGxvZ2dpbmcuCiAgICAgdm9pZCBsb2dTY3Jv
bGxpbmdFdmVudCh1aW50MzJfdCBldmVudFR5cGUsIE1vbm90b25pY1RpbWUsIHVpbnQ2NF90KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IGYwMWQ4YTA1ZGJhMGNlNzYyY2MzMGQ4OGQwYWI2ZWJmNzExNTYxOWIuLjJjYWMzZjFj
YjA1ZDFjZDdiNWY3NzFlZTEyYzBlNzI5ZTFmMWQ4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTIwNiwxMiArMjA2LDEyIEBA
IG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRXhlY3V0ZVVuZG9SZWRvKGVudW06Ym9v
bCBXZWJLaXQ6OlVuZG9PclJlZG8gdW5kb09yUmVkbykgLT4gKCkgU3luY2hyb25vdXMKIAogICAg
ICMgRGlhZ25vc3RpYyBtZXNzYWdlcyBsb2dnaW5nCi0gICAgTG9nRGlhZ25vc3RpY01lc3NhZ2Uo
U3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgZW51bTpib29sIFdlYkNvcmU6OlNo
b3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCi0gICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVz
dWx0KFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwg
ZW51bTpib29sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCi0gICAgTG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlv
biwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIGVudW06Ym9vbCBX
ZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQotICAgIExvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aEVuaGFuY2VkUHJpdmFjeShTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9u
LCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKLSAgICBMb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoU3RyaW5nIG1lc3NhZ2UsIFN0cmlu
ZyBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGlj
dGlvbmFyeSB2YWx1ZSwgZW51bTpib29sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1w
bGUpCi0gICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKFN0cmluZyBtZXNzYWdlLCBX
ZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0RvbWFpbiBkb21haW4pCisgICAgTG9nRGlhZ25vc3Rp
Y01lc3NhZ2VGcm9tV2ViUHJvY2VzcyhTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9u
LCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKKyAgICBMb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRGcm9tV2ViUHJvY2VzcyhTdHJpbmcgbWVzc2FnZSwg
U3RyaW5nIGRlc2NyaXB0aW9uLCB1aW50MzJfdCByZXN1bHQsIGVudW06Ym9vbCBXZWJDb3JlOjpT
aG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQorICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZh
bHVlRnJvbVdlYlByb2Nlc3MoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgZG91
YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIGVudW06Ym9vbCBXZWJDb3Jl
OjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQorICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aEVuaGFuY2VkUHJpdmFjeUZyb21XZWJQcm9jZXNzKFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVz
Y3JpcHRpb24sIGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQor
ICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeUZyb21XZWJQcm9jZXNz
KFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNM
b2dnaW5nQ2xpZW50OjpWYWx1ZURpY3Rpb25hcnkgdmFsdWUsIGVudW06Ym9vbCBXZWJDb3JlOjpT
aG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQorICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERv
bWFpbkZyb21XZWJQcm9jZXNzKFN0cmluZyBtZXNzYWdlLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9n
Z2luZ0RvbWFpbiBkb21haW4pCiAKICAgICAjIFBlcmZvcm1hbmNlIGxvZ2dpbmcKICAgICBMb2dT
Y3JvbGxpbmdFdmVudCh1aW50MzJfdCBldmVudFR5cGUsIE1vbm90b25pY1RpbWUgdGltZXN0YW1w
LCB1aW50NjRfdCBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5j
cHAKaW5kZXggODE3NDNlMGY2NDNlODA3N2RlOGI1MzkzY2ZhZmI1MWE1N2ZmYTRhMC4uMWVmYjI0
MDM5NTAxZmYxYmUxMDdjNDU5NjA4YTg4MjgzNjMzMzg0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCkBAIC01MCw3ICs1MCw3IEBAIHZvaWQgV2ViRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uCiAgICAgaWYgKCFzaG91bGRMb2dBZnRlclNhbXBsaW5nKHNob3VsZFNhbXBsZSkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlKG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBTaG91bGRTYW1w
bGU6Ok5vKSk7CisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlh
Z25vc3RpY01lc3NhZ2VGcm9tV2ViUHJvY2VzcyhtZXNzYWdlLCBkZXNjcmlwdGlvbiwgU2hvdWxk
U2FtcGxlOjpObykpOwogfQogCiB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUg
cmVzdWx0LCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQpAQCAtNjAsNyArNjAs
NyBAQCB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhSZXN1bHQoY29uc3QgU3RyaW5nJiBtZQogICAgIGlmICghc2hvdWxkTG9nQWZ0ZXJTYW1w
bGluZyhzaG91bGRTYW1wbGUpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3BhZ2Uuc2VuZChN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQobWVz
c2FnZSwgZGVzY3JpcHRpb24sIHJlc3VsdCwgU2hvdWxkU2FtcGxlOjpObykpOworICAgIG1fcGFn
ZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJl
c3VsdEZyb21XZWJQcm9jZXNzKG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCByZXN1bHQsIFNob3VsZFNh
bXBsZTo6Tm8pKTsKIH0KIAogdm9pZCBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJp
bmcmIGRlc2NyaXB0aW9uLCBkb3VibGUgdmFsdWUsIHVuc2lnbmVkIHNpZ25pZmljYW50RmlndXJl
cywgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKQEAgLTcwLDcgKzcwLDcgQEAg
dm9pZCBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
VmFsdWUoY29uc3QgU3RyaW5nJiBtZXMKICAgICBpZiAoIXNob3VsZExvZ0FmdGVyU2FtcGxpbmco
c2hvdWxkU2FtcGxlKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9wYWdlLnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUobWVzc2FnZSwg
ZGVzY3JpcHRpb24sIHZhbHVlLCBzaWduaWZpY2FudEZpZ3VyZXMsIFNob3VsZFNhbXBsZTo6Tm8p
KTsKKyAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZUZyb21XZWJQcm9jZXNzKG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCB2YWx1
ZSwgc2lnbmlmaWNhbnRGaWd1cmVzLCBTaG91bGRTYW1wbGU6Ok5vKSk7CiB9CiAKIHZvaWQgV2Vi
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2Vk
UHJpdmFjeShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24s
IFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCkBAIC04MCw3ICs4MCw3IEBAIHZv
aWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVu
aGFuY2VkUHJpdmFjeShjb25zdCBTCiAgICAgaWYgKCFzaG91bGRMb2dBZnRlclNhbXBsaW5nKHNo
b3VsZFNhbXBsZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeSht
ZXNzYWdlLCBkZXNjcmlwdGlvbiwgU2hvdWxkU2FtcGxlOjpObykpOworICAgIG1fcGFnZS5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2Vk
UHJpdmFjeUZyb21XZWJQcm9jZXNzKG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBTaG91bGRTYW1wbGU6
Ok5vKSk7CiB9CiAKIHZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFZhbHVlRGljdGlvbmFyeSYgdmFsdWUsIFNob3Vs
ZFNhbXBsZSBzaG91bGRTYW1wbGUpCkBAIC05MCwxNCArOTAsMTQgQEAgdm9pZCBXZWJEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5
KGNvbnN0IFMKICAgICBpZiAoIXNob3VsZExvZ0FmdGVyU2FtcGxpbmcoc2hvdWxkU2FtcGxlKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94
eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KG1lc3NhZ2UsIGRlc2Ny
aXB0aW9uLCB2YWx1ZSwgU2hvdWxkU2FtcGxlOjpObykpOworICAgIG1fcGFnZS5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFy
eUZyb21XZWJQcm9jZXNzKG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCB2YWx1ZSwgU2hvdWxkU2FtcGxl
OjpObykpOwogfQogCiB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhEb21haW4oY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpEaWFn
bm9zdGljTG9nZ2luZ0RvbWFpbiBkb21haW4pCiB7CiAgICAgQVNTRVJUKCFtX3BhZ2UuY29yZVBh
Z2UoKSB8fCBtX3BhZ2UuY29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5kaWFnbm9zdGljTG9nZ2luZ0Vu
YWJsZWQoKSk7CiAKLSAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4obWVzc2FnZSwgZG9tYWluKSk7CisgICAgbV9wYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9t
YWluRnJvbVdlYlByb2Nlc3MobWVzc2FnZSwgZG9tYWluKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDViODVhZGJkNWQzZmJjYTc1ODBlNzU1NTRhOGE5NDVhYWU1OGFlMTIu
LmY4MjJjYTQ2ZjZkNDc3MmI0MTE2MTAzOTE5MTg1NTUwMzkzOWFkYjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMS0wNC0xMiAgSnVsaWFuIEdvbnphbGV6ICA8anVsaWFuX2FfZ29uemFsZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFtDb3JlSVBDXSBDcmFzaCBpbiBsb2dEaWFnbm9zdGljTWVz
c2FnZSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQzOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSB0ZXN0IGZvciB0aGlzIGNyYXNoZXIuCisKKyAgICAgICAgKiBpcGMvYW5hbHl0aWNz
LWxvZ2dlci1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGlwYy9hbmFseXRp
Y3MtbG9nZ2VyLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA0LTEyICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogJmxheW91dFN0
YXRlKCkuZXN0YWJsaXNoZWRGb3JtYXR0aW5nU3RhdGUobGF5b3V0Qm94LmZvcm1hdHRpbmdDb250
ZXh0Um9vdCgpKSA9PSB0aGlzIGluIFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ1N0YXRlOjpi
b3hHZW9tZXRyeQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaXBjL2FuYWx5dGljcy1sb2dnZXIt
Y3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaXBjL2FuYWx5dGljcy1sb2dnZXItY3Jh
c2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1NGRkZjdmMTdlZmFiNThlNDJmYWJlMzg1MjU3
OTY0YWUyYzVkNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pcGMvYW5hbHl0aWNz
LWxvZ2dlci1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0IHBhc3Nl
cyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lwYy9hbmFs
eXRpY3MtbG9nZ2VyLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pcGMvYW5hbHl0aWNzLWxvZ2dl
ci1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlY2I0Y2NkNDhhOWVkYTRmZmI1MzgwMWYwOGI5ODZj
NTU4ODA0OTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pcGMvYW5hbHl0aWNzLWxv
Z2dlci1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgSVBDVGVzdGluZ0FQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisKK2lmICh3aW5kb3cuSVBDKSB7CisgICAgYnVmID0gbmV3IFVpbnQ4
QXJyYXkoWzB4MjEsMHgwLDB4MCwweDAsMHgwLDB4MCwweDAsMHgyMSwweDAsMHgwLDB4MCwweDAs
MHgwLDB4MCwweDIxLDB4MCwweDAsMHgwLDB4MCwweDAsMHgwLAorICAgICAgICAweDIxLDB4MCww
eDAsMHgwLDB4MCwweDAsMHgwLDB4MjEsMHgwLDB4MCwweDAsMHgwLDB4MCwweDAsMHgyMSwweDAs
MHgwLDB4MCwweDAsMHgwLDB4ZmIsMHgyMCwweDAsMHgwLDB4MCwKKyAgICAgICAgMHgwLDB4MCww
eDAsMHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLDB4ZGEsMHhlLDB4ZWYsMHhkLDB4
MCwweDAsMHgyMSwweDAsMHgwLDB4MCwweDAsMHgwLDB4MCwweDIxLAorICAgICAgICAweDAsMHgw
LDB4MCwweDAsMHgwLDB4MjEsMHgxLDB4MCwweDAsMHgwLDB4MCwweDAsMHgyMSwweDAsMHgwLDB4
MCwweDAsMHgwLDB4MjEsMHgwLDB4MCwweDAsXSk7CisgICAgSVBDLnNlbmRNZXNzYWdlKCdVSScs
SVBDLndlYlBhZ2VQcm94eUlELElQQy5tZXNzYWdlcy5XZWJQYWdlUHJveHlfTG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVGcm9tV2ViUHJvY2Vzcy5uYW1lLFtidWZdKTsKK30KKzwvc2NyaXB0
PgorPGJvZHk+CitUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgorPC9ib2R5
PgorPC9oZWFkPgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="commit-queue"
          id="445911"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>