<?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>45156</bug_id>
          
          <creation_ts>2010-09-02 18:34:14 -0700</creation_ts>
          <short_desc>Send webkit accessibility notifications to Chromium</short_desc>
          <delta_ts>2010-09-24 00:52:08 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Chris Guillory">ctguil</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>mihaip</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>273719</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-02 18:34:14 -0700</bug_when>
    <thetext>Chromium needs accessibility notifications to provide better accessibility support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273722</commentid>
    <comment_count>1</comment_count>
      <attachid>66451</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-02 18:44:01 -0700</bug_when>
    <thetext>Created attachment 66451
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273726</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-02 18:49:29 -0700</bug_when>
    <thetext>Attachment 66451 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
ERROR: Unexpected diff format when parsing a chunk: &apos;&lt;/ul&gt;&apos;
WebKit/chromium/src/AssertMatchingEnums.cpp:39:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit/chromium/src/AssertMatchingEnums.cpp:55:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit/chromium/src/ChromeClientImpl.cpp:722:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp:492:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp:495:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
Total errors found: 5 in 45 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273745</commentid>
    <comment_count>3</comment_count>
      <attachid>66455</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-02 19:28:47 -0700</bug_when>
    <thetext>Created attachment 66455
Patch

I&apos;ve cleaned up some style issues and fixed up the layout test files that had an extra &quot;AccessibilityNotification - ChildrenChanged&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273760</commentid>
    <comment_count>4</comment_count>
      <attachid>66463</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-02 19:50:51 -0700</bug_when>
    <thetext>Created attachment 66463
Patch

More fixes for &quot;&quot;AccessibilityNotification - ChildrenChanged&quot;. I&apos;ve been having issues with getting expectations using new-run-webkit-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273772</commentid>
    <comment_count>5</comment_count>
      <attachid>66463</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-09-02 20:59:04 -0700</bug_when>
    <thetext>Comment on attachment 66463
Patch

This looks great, but you&apos;ll need to somehow figure out how to make these test either not run or be WONTFIX in test_shell, but run and expect to pass in Chromium DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273798</commentid>
    <comment_count>6</comment_count>
      <attachid>66472</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-02 23:08:13 -0700</bug_when>
    <thetext>Created attachment 66472
Update LayoutTests expectations

Oh yeah. Here&apos;s another patch to update the test expectations. I can put it all in one patch if that&apos;s better otherwise this can land first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273920</commentid>
    <comment_count>7</comment_count>
      <attachid>66472</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-09-03 06:59:31 -0700</bug_when>
    <thetext>Comment on attachment 66472
Update LayoutTests expectations

Yeah, one patch would be better for archeological reasons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273965</commentid>
    <comment_count>8</comment_count>
      <attachid>66504</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-03 09:00:39 -0700</bug_when>
    <thetext>Created attachment 66504
Send accessibility notifications and update chromium test expectations

Here it is in one patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274932</commentid>
    <comment_count>9</comment_count>
      <attachid>66463</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-07 03:18:56 -0700</bug_when>
    <thetext>Comment on attachment 66463
Patch

Cleared Dimitri Glazkov&apos;s review+ from obsolete attachment 66463 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275626</commentid>
    <comment_count>10</comment_count>
      <attachid>66504</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-07 23:20:46 -0700</bug_when>
    <thetext>Comment on attachment 66504
Send accessibility notifications and update chromium test expectations


&gt;  
&gt;          Unreviewed, updating binding-tests expectations (for changeset 66521).
&gt; Index: WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
&gt; ===================================================================
&gt; --- WebCore/accessibility/chromium/AXObjectCacheChromium.cpp	(revision 66453)
&gt; +++ WebCore/accessibility/chromium/AXObjectCacheChromium.cpp	(working copy)
&gt; @@ -61,28 +61,13 @@ void AXObjectCache::postPlatformNotifica
&gt;  
&gt;      ChromeClientChromium* client = toChromeClientChromium(obj-&gt;documentFrameView());
&gt;      if (client) {

You should use the early return idiom here if client == null.

&gt; -        switch (notification) {
&gt; -        case AXCheckedStateChanged:
&gt; +        client-&gt;postAccessibilityNotification(obj, notification);
&gt; +
&gt; +        // TODO: Remove after the new postAccessibilityNotification is used downstream.
&gt; +        if (notification == AXCheckedStateChanged)
&gt;              client-&gt;didChangeAccessibilityObjectState(obj);
&gt; -            break;
&gt; -        case AXChildrenChanged:
&gt; +        if (notification == AXChildrenChanged)
&gt;              client-&gt;didChangeAccessibilityObjectChildren(obj);
&gt; -            break;

looks like this should still use the switch () until its removed.


&gt; +    
&gt; +    // Notifies embedder about an accessibility notification.
&gt; +    virtual void postAccessibilityNotification(AccessibilityObject* obj, AXObjectCache::AXNotification notification) = 0;
&gt;  };

argument names not necessary here.

&gt; +
&gt; +// These values must match WebCore::AXObjectCache::AXNotification values
&gt; +enum WebAccessibilityNotification {
&gt; +    ActiveDescendantChanged,
&gt; +    CheckedStateChanged,
&gt; +    ChildrenChanged,
&gt; +    FocusedUIElementChanged,
&gt; +    LayoutComplete,
&gt; +    LoadComplete,
&gt; +    SelectedChildrenChanged,
&gt; +    SelectedTextChanged,
&gt; +    ValueChanged,
&gt; +    ScrolledToAnchor,
&gt; +    LiveRegionChanged,
&gt; +    MenuListValueChanged,
&gt; +    RowCountChanged,
&gt; +    RowCollapsed,
&gt; +    RowExpanded,
&gt; +};
&gt; +

is there a way to avoid this duplication? it seems a hackish to have two copies that have to be kept up to date. can you export the AX notifications or the header so that you can reference those directly?

&gt; +    
&gt; +    // Notifies embedder about an accessibility notification.
&gt; +    virtual void postAccessibilityNotification(const WebAccessibilityObject&amp; obj, WebAccessibilityNotification notification) { }

argument names not necessary

&gt;  
&gt; --- WebKit/chromium/src/ChromeClientImpl.h	(revision 66453)
&gt; +++ WebKit/chromium/src/ChromeClientImpl.h	(working copy)
&gt; @@ -163,6 +163,8 @@ public:
&gt;      virtual void popupClosed(WebCore::PopupContainer* popupContainer);
&gt;      virtual void didChangeAccessibilityObjectState(WebCore::AccessibilityObject*);
&gt;      virtual void didChangeAccessibilityObjectChildren(WebCore::AccessibilityObject*);
&gt; +    virtual void postAccessibilityNotification(
&gt; +        WebCore::AccessibilityObject* obj, WebCore::AXObjectCache::AXNotification notification);
&gt;  

argument names not necessary, same with the line breaks



&gt; +    if (m_shell-&gt;accessibilityController()-&gt;shouldDumpAccessibilityNotifications()) {
&gt; +        switch (notification) {
&gt; +        case ActiveDescendantChanged:
&gt; +            printf(&quot;AccessibilityNotification - ActiveDescendantChanged&quot;);

seems like you should printf &quot;AccessibilityNotification - &quot;) first, then just the name within the switch

&gt; +
&gt; +        if (!obj.helpText().isNull())
&gt; +            printf(&quot; - helpText:%s&quot;, obj.helpText().utf8().data());
&gt; +

seems wrong to print the help text in dumpeAccessibilityNotifications.


&gt; +    virtual void postAccessibilityNotification(const WebKit::WebAccessibilityObject&amp; obj, WebKit::WebAccessibilityNotification notification);

no argument names</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275651</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-08 00:06:47 -0700</bug_when>
    <thetext>I&apos;ve made all the small changes.

(In reply to comment #10)
&gt; is there a way to avoid this duplication? it seems a hackish to have two copies that have to be kept up to date. can you export the AX notifications or the header so that you can reference those directly?
I&apos;m following the way enums are brought from WebCore to WebKit that I see in AssertMatchingEnums.cpp. I&apos;m not sure how I&apos;d avoid maintenance. Dimitri, do you have some guidance here?

&gt; seems wrong to print the help text in dumpeAccessibilityNotifications.
I&apos;m trying to unique identify obj of the notification. What do you think if I print the id of the obj&apos;s node if it&apos;s available?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275878</commentid>
    <comment_count>12</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-09-08 09:31:03 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; I&apos;ve made all the small changes.
&gt; 
&gt; (In reply to comment #10)
&gt; &gt; is there a way to avoid this duplication? it seems a hackish to have two copies that have to be kept up to date. can you export the AX notifications or the header so that you can reference those directly?
&gt; I&apos;m following the way enums are brought from WebCore to WebKit that I see in AssertMatchingEnums.cpp. I&apos;m not sure how I&apos;d avoid maintenance. Dimitri, do you have some guidance here?

Unfortunately, we have to do this to ensure integrity of the port. It&apos;s ugly, but it&apos;s what we&apos;ve got.

&gt; 
&gt; &gt; seems wrong to print the help text in dumpeAccessibilityNotifications.
&gt; I&apos;m trying to unique identify obj of the notification. What do you think if I print the id of the obj&apos;s node if it&apos;s available?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275880</commentid>
    <comment_count>13</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-08 09:31:50 -0700</bug_when>
    <thetext>
&gt; &gt; seems wrong to print the help text in dumpeAccessibilityNotifications.
&gt; I&apos;m trying to unique identify obj of the notification. What do you think if I print the id of the obj&apos;s node if it&apos;s available?

I think that&apos;s probably a good idea</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276039</commentid>
    <comment_count>14</comment_count>
      <attachid>66936</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-08 13:53:58 -0700</bug_when>
    <thetext>Created attachment 66936
Print id if available in dumpAccessibilityNotifications

Here&apos;s the updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276042</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-08 13:56:38 -0700</bug_when>
    <thetext>Attachment 66936 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/chromium/src/AssertMatchingEnums.cpp:36:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 46 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276047</commentid>
    <comment_count>16</comment_count>
      <attachid>66938</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-08 14:00:13 -0700</bug_when>
    <thetext>Created attachment 66938
Removed argument names in WebViewClient.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276050</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-08 14:04:48 -0700</bug_when>
    <thetext>Attachment 66938 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/chromium/src/AssertMatchingEnums.cpp:36:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 46 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276082</commentid>
    <comment_count>18</comment_count>
      <attachid>66944</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-08 14:43:46 -0700</bug_when>
    <thetext>Created attachment 66944
Resolved conflict in drt_expectations.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276086</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-08 14:49:59 -0700</bug_when>
    <thetext>Attachment 66944 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/chromium/src/AssertMatchingEnums.cpp:36:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 47 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276087</commentid>
    <comment_count>20</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-08 14:50:55 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Attachment 66944 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
&gt; WebKit/chromium/src/AssertMatchingEnums.cpp:36:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; Total errors found: 1 in 47 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

waiting for style queue to pass before r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276110</commentid>
    <comment_count>21</comment_count>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-08 15:23:55 -0700</bug_when>
    <thetext>AssertMatchingEnums.cpp does not pass style because it doesn&apos;t
#include &quot;AssertMatchingEnums.h&quot;
No such file exists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276112</commentid>
    <comment_count>22</comment_count>
      <attachid>66944</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-08 15:29:44 -0700</bug_when>
    <thetext>Comment on attachment 66944
Resolved conflict in drt_expectations.txt

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276347</commentid>
    <comment_count>23</comment_count>
      <attachid>66944</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-09 00:43:20 -0700</bug_when>
    <thetext>Comment on attachment 66944
Resolved conflict in drt_expectations.txt

Rejecting patch 66944 from commit-queue.

Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
romium/public/WebViewClient.h
	M	WebKit/chromium/src/AssertMatchingEnums.cpp
	M	WebKit/chromium/src/ChromeClientImpl.cpp
	M	WebKit/chromium/src/ChromeClientImpl.h
	M	WebKitTools/ChangeLog
	M	WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
	M	WebKitTools/DumpRenderTree/chromium/WebViewHost.h
RA layer request failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: MERGE of &apos;/repository/webkit/trunk&apos;: 409 Conflict (http://svn.webkit.org) at /usr/local/git/libexec/git-core/git-svn line 572


Full output: http://queues.webkit.org/results/3951292</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276437</commentid>
    <comment_count>24</comment_count>
      <attachid>66944</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-09 06:49:00 -0700</bug_when>
    <thetext>Comment on attachment 66944
Resolved conflict in drt_expectations.txt

That&apos;s a new error.  Let&apos;s try that again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276447</commentid>
    <comment_count>25</comment_count>
      <attachid>66944</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-09 07:38:26 -0700</bug_when>
    <thetext>Comment on attachment 66944
Resolved conflict in drt_expectations.txt

Rejecting patch 66944 from commit-queue.

Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
romium/public/WebViewClient.h
	M	WebKit/chromium/src/AssertMatchingEnums.cpp
	M	WebKit/chromium/src/ChromeClientImpl.cpp
	M	WebKit/chromium/src/ChromeClientImpl.h
	M	WebKitTools/ChangeLog
	M	WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
	M	WebKitTools/DumpRenderTree/chromium/WebViewHost.h
RA layer request failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: MERGE of &apos;/repository/webkit/trunk&apos;: 409 Conflict (http://svn.webkit.org) at /usr/local/git/libexec/git-core/git-svn line 572


Full output: http://queues.webkit.org/results/3935338</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276649</commentid>
    <comment_count>26</comment_count>
      <attachid>67075</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-09 12:06:28 -0700</bug_when>
    <thetext>Created attachment 67075
Add AssertMatchingEnums.h to pass style check

The previous patch failed to commit with the commit-queue. This patch passes style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276708</commentid>
    <comment_count>27</comment_count>
      <attachid>67075</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-09 13:28:27 -0700</bug_when>
    <thetext>Comment on attachment 67075
Add AssertMatchingEnums.h to pass style check

WebKitTools changelog looks busted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276733</commentid>
    <comment_count>28</comment_count>
      <attachid>67093</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-09 13:57:46 -0700</bug_when>
    <thetext>Created attachment 67093
Rebasing ChangeLog files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276753</commentid>
    <comment_count>29</comment_count>
      <attachid>67093</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-09 14:15:51 -0700</bug_when>
    <thetext>Comment on attachment 67093
Rebasing ChangeLog files

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277316</commentid>
    <comment_count>30</comment_count>
      <attachid>67093</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-10 11:15:43 -0700</bug_when>
    <thetext>Comment on attachment 67093
Rebasing ChangeLog files

Rejecting patch 67093 from commit-queue.

Failed to run &quot;[u&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Chris Fleizach&apos;, u&apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
enChanged.html
patching file LayoutTests/platform/chromium/accessibility/post-notification-SelectedTextChanged-expected.txt
patching file LayoutTests/platform/chromium/accessibility/post-notification-SelectedTextChanged.html
patching file LayoutTests/platform/chromium/accessibility/post-notification-ValueChanged-expected.txt
patching file LayoutTests/platform/chromium/accessibility/post-notification-ValueChanged.html
patching file LayoutTests/platform/chromium/accessibility/post-notification.js

Full output: http://queues.webkit.org/results/3899372</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277330</commentid>
    <comment_count>31</comment_count>
      <attachid>67209</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-10 11:36:17 -0700</bug_when>
    <thetext>Created attachment 67209
Rebased all non ChangeLog files - drt_expectations.txt conflict

http://trac.webkit.org/changeset/67181 created conflict in drt_expectations.txt. Here&apos;s a rebased patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277652</commentid>
    <comment_count>32</comment_count>
      <attachid>66944</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-10 23:03:43 -0700</bug_when>
    <thetext>Comment on attachment 66944
Resolved conflict in drt_expectations.txt

Cleared Chris Fleizach&apos;s review+ from obsolete attachment 66944 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277653</commentid>
    <comment_count>33</comment_count>
      <attachid>67093</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-10 23:03:48 -0700</bug_when>
    <thetext>Comment on attachment 67093
Rebasing ChangeLog files

Cleared Chris Fleizach&apos;s review+ from obsolete attachment 67093 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277953</commentid>
    <comment_count>34</comment_count>
      <attachid>67209</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-12 20:08:56 -0700</bug_when>
    <thetext>Comment on attachment 67209
Rebased all non ChangeLog files - drt_expectations.txt conflict

&gt; Index: WebCore/ChangeLog
&gt; ===================================================================
&gt; --- WebCore/ChangeLog	(revision 66699)
&gt; +++ WebCore/ChangeLog	(working copy)
&gt; @@ -1,3 +1,33 @@
&gt; +2010-09-02  Chris Guillory   &lt;chris.guillory@google.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Send all accessibility notifications to Chromium
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=45156
&gt; +        
&gt; +        Use postAccessibilityNotification to pass accessibility notification
&gt; +        to chromium.
&gt; +
&gt; +        Tests: platform/chromium/accessibility/post-notification-ActiveDescendantChanged.html
&gt; +               platform/chromium/accessibility/post-notification-CheckedStateChanged.html
&gt; +               platform/chromium/accessibility/post-notification-ChildrenChanged.html
&gt; +               platform/chromium/accessibility/post-notification-FocusedUIElementChanged.html
&gt; +               platform/chromium/accessibility/post-notification-LayoutComplete.html
&gt; +               platform/chromium/accessibility/post-notification-LiveRegionChanged.html
&gt; +               platform/chromium/accessibility/post-notification-LoadComplete.html
&gt; +               platform/chromium/accessibility/post-notification-MenuListValueChanged.html
&gt; +               platform/chromium/accessibility/post-notification-RowCollapsed.html
&gt; +               platform/chromium/accessibility/post-notification-RowCountChanged.html
&gt; +               platform/chromium/accessibility/post-notification-RowExpanded.html
&gt; +               platform/chromium/accessibility/post-notification-ScrolledToAnchor.html
&gt; +               platform/chromium/accessibility/post-notification-SelectedChildrenChanged.html
&gt; +               platform/chromium/accessibility/post-notification-SelectedTextChanged.html
&gt; +               platform/chromium/accessibility/post-notification-ValueChanged.html
&gt; +
&gt; +        * accessibility/chromium/AXObjectCacheChromium.cpp:
&gt; +        (WebCore::AXObjectCache::postPlatformNotification):
&gt; +        * page/chromium/ChromeClientChromium.h:
&gt; +
&gt;  2010-09-02  Kinuko Yasuda  &lt;kinuko@chromium.org&gt;
&gt;  
&gt;          Unreviewed, updating binding-tests expectations (for changeset 66521).
&gt; Index: WebCore/accessibility/chromium/AXObjectCacheChromium.cpp
&gt; ===================================================================
&gt; --- WebCore/accessibility/chromium/AXObjectCacheChromium.cpp	(revision 66453)
&gt; +++ WebCore/accessibility/chromium/AXObjectCacheChromium.cpp	(working copy)
&gt; @@ -61,28 +61,13 @@ void AXObjectCache::postPlatformNotifica
&gt;  
&gt;      ChromeClientChromium* client = toChromeClientChromium(obj-&gt;documentFrameView());
&gt;      if (client) {

early return after null client is needed here.
&gt; +    
&gt; +    // Notifies embedder about an accessibility notification.
&gt; +    virtual void postAccessibilityNotification(AccessibilityObject* obj, AXObjectCache::AXNotification notification) = 0;
&gt;  };

no argument names

&gt; +    
&gt; +    // Notifies embedder about an accessibility notification.
&gt; +    virtual void postAccessibilityNotification(const WebAccessibilityObject&amp; obj, WebAccessibilityNotification notification) { }
&gt;  

no argument names

&gt; +COMPILE_ASSERT_MATCHING_ENUM(ActiveDescendantChanged, AXObjectCache::AXActiveDescendantChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(CheckedStateChanged, AXObjectCache::AXCheckedStateChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(ChildrenChanged, AXObjectCache::AXChildrenChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(FocusedUIElementChanged, AXObjectCache::AXFocusedUIElementChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(LayoutComplete, AXObjectCache::AXLayoutComplete);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(LoadComplete, AXObjectCache::AXLoadComplete);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(SelectedChildrenChanged, AXObjectCache::AXSelectedChildrenChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(SelectedTextChanged, AXObjectCache::AXSelectedTextChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(ValueChanged, AXObjectCache::AXValueChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(ScrolledToAnchor, AXObjectCache::AXScrolledToAnchor);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(LiveRegionChanged, AXObjectCache::AXLiveRegionChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(MenuListValueChanged, AXObjectCache::AXMenuListValueChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(RowCountChanged, AXObjectCache::AXRowCountChanged);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(RowCollapsed, AXObjectCache::AXRowCollapsed);
&gt; +COMPILE_ASSERT_MATCHING_ENUM(RowExpanded, AXObjectCache::AXRowExpanded);
&gt; +

going to re-open this again....
can you not do a runtime lookup of these keys? that way as new ones are added, other platforms aren&apos;t responsible for modifying this list and 
chromium only needs to lookup the ones it needs?

just something like
WebNotification noti = 0;
switch (WebCore::notification) {
   case RowExpanded:
      noti = WebNotificationRowExpanded;
      break;
}


&gt;      virtual void didChangeAccessibilityObjectState(WebCore::AccessibilityObject*);
&gt;      virtual void didChangeAccessibilityObjectChildren(WebCore::AccessibilityObject*);
&gt; +    virtual void postAccessibilityNotification(
&gt; +        WebCore::AccessibilityObject* obj, WebCore::AXObjectCache::AXNotification notification);
&gt;  

no argument names

&gt;      // ChromeClientImpl:
&gt;      void setCursor(const WebCursorInfo&amp; cursor);
&gt; Index: WebKitTools/ChangeLog
&gt; ===================================================================
&gt; --- WebKitTools/ChangeLog	(revision 66699)
&gt; +++ WebKitTools/ChangeLog	(working copy)
&gt; @@ -1,3 +1,14 @@
&gt; +2010-09-02  Chris Guillory   &lt;chris.guillory@google.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Send all accessibility notifications to Chromium
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=45156
&gt; +        
&gt; +        * DumpRenderTree/chromium/WebViewHost.cpp:
&gt; +        (WebViewHost::postAccessibilityNotification):
&gt; +        * DumpRenderTree/chromium/WebViewHost.h:
&gt; +
&gt;  2010-09-02  Steve Block  &lt;steveblock@google.com&gt;
&gt;  
&gt;          Reviewed by Adam Barth.
&gt; Index: WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
&gt; ===================================================================
&gt; --- WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp	(revision 66453)
&gt; +++ WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp	(working copy)
&gt; @@ -489,10 +489,62 @@ void WebViewHost::focusAccessibilityObje
&gt;      m_shell-&gt;accessibilityController()-&gt;setFocusedElement(object);
&gt;  }
&gt;  
&gt; -void WebViewHost::didChangeAccessibilityObjectChildren(const WebAccessibilityObject&amp; object)
&gt; +void WebViewHost::postAccessibilityNotification(const WebAccessibilityObject&amp; obj, WebAccessibilityNotification notification)
&gt;  {
&gt; -    if (m_shell-&gt;accessibilityController()-&gt;shouldDumpAccessibilityNotifications())
&gt; -        printf(&quot;didChangeAccessibilityObjectChildren - new count: %d\n&quot;, object.childCount());
&gt; +    if (m_shell-&gt;accessibilityController()-&gt;shouldDumpAccessibilityNotifications()) {
&gt; +        switch (notification) {
&gt; +        case ActiveDescendantChanged:
&gt; +            printf(&quot;AccessibilityNotification - ActiveDescendantChanged&quot;);
&gt; +            break;
&gt; +        case CheckedStateChanged:
&gt; +            printf(&quot;AccessibilityNotification - CheckedStateChanged&quot;);
&gt; +            break;
&gt; +        case ChildrenChanged:
&gt; +            printf(&quot;AccessibilityNotification - ChildrenChanged&quot;);
&gt; +            break;
&gt; +        case FocusedUIElementChanged:
&gt; +            printf(&quot;AccessibilityNotification - FocusedUIElementChanged&quot;);
&gt; +            break;
&gt; +        case LayoutComplete:
&gt; +            printf(&quot;AccessibilityNotification - LayoutComplete&quot;);
&gt; +            break;
&gt; +        case LoadComplete:
&gt; +            printf(&quot;AccessibilityNotification - LoadComplete&quot;);
&gt; +            break;
&gt; +        case SelectedChildrenChanged:
&gt; +            printf(&quot;AccessibilityNotification - SelectedChildrenChanged&quot;);
&gt; +            break;
&gt; +        case SelectedTextChanged:
&gt; +            printf(&quot;AccessibilityNotification - SelectedTextChanged&quot;);
&gt; +            break;
&gt; +        case ValueChanged:
&gt; +            printf(&quot;AccessibilityNotification - ValueChanged&quot;);
&gt; +            break;
&gt; +        case ScrolledToAnchor:
&gt; +            printf(&quot;AccessibilityNotification - ScrolledToAnchor&quot;);
&gt; +            break;
&gt; +        case LiveRegionChanged:
&gt; +            printf(&quot;AccessibilityNotification - LiveRegionChanged&quot;);
&gt; +            break;
&gt; +        case MenuListValueChanged:
&gt; +            printf(&quot;AccessibilityNotification - MenuListValueChanged&quot;);
&gt; +            break;
&gt; +        case RowCountChanged:
&gt; +            printf(&quot;AccessibilityNotification - RowCountChanged&quot;);
&gt; +            break;
&gt; +        case RowCollapsed:
&gt; +            printf(&quot;AccessibilityNotification - RowCollapsed&quot;);
&gt; +            break;
&gt; +        case RowExpanded:
&gt; +            printf(&quot;AccessibilityNotification - RowExpanded&quot;);
&gt; +            break;
&gt; +        }
&gt; +
&gt; +        if (!obj.helpText().isNull())
&gt; +            printf(&quot; - helpText:%s&quot;, obj.helpText().utf8().data());
&gt; +

didn&apos;t we fix this before?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277989</commentid>
    <comment_count>35</comment_count>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-12 23:13:58 -0700</bug_when>
    <thetext>&gt; going to re-open this again....
&gt; can you not do a runtime lookup of these keys? that way as new ones are added, other platforms aren&apos;t responsible for modifying this list and 
&gt; chromium only needs to lookup the ones it needs?
&gt; 
&gt; just something like
&gt; WebNotification noti = 0;
&gt; switch (WebCore::notification) {
&gt;    case RowExpanded:
&gt;       noti = WebNotificationRowExpanded;
&gt;       break;
&gt; }
I see what you&apos;re saying now. We should be able to assign the values directly in the enum definition.

&gt; didn&apos;t we fix this before?
We fixed a lot of this before. I must have uploaded an old patch by mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278053</commentid>
    <comment_count>36</comment_count>
      <attachid>67375</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-13 01:36:55 -0700</bug_when>
    <thetext>Created attachment 67375
Not using AssertMatchingEnums. Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278061</commentid>
    <comment_count>37</comment_count>
      <attachid>67378</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-13 01:46:58 -0700</bug_when>
    <thetext>Created attachment 67378
Some of the layout test results had an extra newline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278428</commentid>
    <comment_count>38</comment_count>
      <attachid>67464</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-13 13:21:10 -0700</bug_when>
    <thetext>Created attachment 67464
Recreating patch to fix patch errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279085</commentid>
    <comment_count>39</comment_count>
      <attachid>67464</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-14 12:34:30 -0700</bug_when>
    <thetext>Comment on attachment 67464
Recreating patch to fix patch errors.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279137</commentid>
    <comment_count>40</comment_count>
      <attachid>67464</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-14 13:41:01 -0700</bug_when>
    <thetext>Comment on attachment 67464
Recreating patch to fix patch errors.

Rejecting patch 67464 from commit-queue.

Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
eLog
	M	WebKit/chromium/WebKit.gyp
	M	WebKit/chromium/public/WebViewClient.h
	M	WebKit/chromium/src/ChromeClientImpl.cpp
	M	WebKit/chromium/src/ChromeClientImpl.h
	M	WebKitTools/ChangeLog
	M	WebKitTools/DumpRenderTree/chromium/WebViewHost.cpp
	M	WebKitTools/DumpRenderTree/chromium/WebViewHost.h
RA layer request failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: MERGE of &apos;/repository/webkit/trunk&apos;: 409 Conflict (http://svn.webkit.org) at /usr/local/git/libexec/git-core/git-svn line 572


Full output: http://queues.webkit.org/results/4002007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279145</commentid>
    <comment_count>41</comment_count>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-14 13:55:20 -0700</bug_when>
    <thetext>Second time this commit-queue error has occurred with this patch. I get no conflict like this when I update my svn client. Can this patch be submitted manually?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279174</commentid>
    <comment_count>42</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-14 14:28:11 -0700</bug_when>
    <thetext>(In reply to comment #41)
&gt; Second time this commit-queue error has occurred with this patch. I get no conflict like this when I update my svn client. Can this patch be submitted manually?

    The following files contain tab characters:

        trunk/LayoutTests/platform/chromium/accessibility/post-notification-MenuListValueChanged.html

    Please use spaces instead to indent.
    If you must commit a file with tabs, use svn propset to set the &quot;allow-tabs&quot; property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279175</commentid>
    <comment_count>43</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-14 14:29:54 -0700</bug_when>
    <thetext>Committed r67498: &lt;http://trac.webkit.org/changeset/67498&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279304</commentid>
    <comment_count>44</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-14 18:38:33 -0700</bug_when>
    <thetext>This causes a lot of tests to fail with the Chromium DRT, for example editing/undo/5738768.html:

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=editing%2Fundo%2F5738768.html&amp;upstreamWebKit=true

It looks like a lot of AccessibilityNotification being printed out, caused by a stray print left in WebViewHost::postAccessibilityNotification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279316</commentid>
    <comment_count>45</comment_count>
      <attachid>67632</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-09-14 18:54:32 -0700</bug_when>
    <thetext>Created attachment 67632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279320</commentid>
    <comment_count>46</comment_count>
      <attachid>67632</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-14 18:59:31 -0700</bug_when>
    <thetext>Comment on attachment 67632
Patch

Clearing flags on attachment: 67632

Committed r67527: &lt;http://trac.webkit.org/changeset/67527&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279321</commentid>
    <comment_count>47</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-14 18:59:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282085</commentid>
    <comment_count>48</comment_count>
      <attachid>68187</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-20 21:38:27 -0700</bug_when>
    <thetext>Created attachment 68187
Send remaining webkit notifications to Chromium</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282087</commentid>
    <comment_count>49</comment_count>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-20 21:44:54 -0700</bug_when>
    <thetext>Need remaining notifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282374</commentid>
    <comment_count>50</comment_count>
      <attachid>68187</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-21 09:57:09 -0700</bug_when>
    <thetext>Comment on attachment 68187
Send remaining webkit notifications to Chromium

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

&gt; WebCore/ChangeLog:6
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=45156

comment should end with a period

&gt; WebCore/accessibility/chromium/AXObjectCacheChromium.cpp:88
&gt; +    case AXRowExpanded:

these cases should be alphabetized

&gt; WebCore/accessibility/chromium/AXObjectCacheChromium.cpp:109
&gt; +

this ASSERT might not be correct. for example, this is possible

&lt;div role=&quot;group&quot; aria-hidden=&quot;true&quot; tabindex=&quot;0&quot;&gt;test&lt;/div&gt;

where the div should be ignored, but it can be focused

&gt; WebCore/editing/chromium/SelectionControllerChromium.cpp:42
&gt; +

seems like you don&apos;t need to access document until it&apos;s inside the if block, so there&apos;s no need to declare out here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282412</commentid>
    <comment_count>51</comment_count>
      <attachid>68259</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-21 10:34:33 -0700</bug_when>
    <thetext>Created attachment 68259
Update patch

Thanks. Here an updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282426</commentid>
    <comment_count>52</comment_count>
      <attachid>68259</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-21 10:49:43 -0700</bug_when>
    <thetext>Comment on attachment 68259
Update patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282517</commentid>
    <comment_count>53</comment_count>
      <attachid>68259</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-21 13:22:29 -0700</bug_when>
    <thetext>Comment on attachment 68259
Update patch

Clearing flags on attachment: 68259

Committed r67982: &lt;http://trac.webkit.org/changeset/67982&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282518</commentid>
    <comment_count>54</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-21 13:22:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283025</commentid>
    <comment_count>55</comment_count>
      <attachid>68389</attachid>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-22 10:20:21 -0700</bug_when>
    <thetext>Created attachment 68389
Reland patch

The previous revision http://trac.webkit.org/changeset/67982 was reverted due to bug 46237.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283028</commentid>
    <comment_count>56</comment_count>
    <who name="Chris Guillory">ctguil</who>
    <bug_when>2010-09-22 10:24:04 -0700</bug_when>
    <thetext>Marking unconfirmed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284226</commentid>
    <comment_count>57</comment_count>
      <attachid>68389</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-09-23 22:46:29 -0700</bug_when>
    <thetext>Comment on attachment 68389
Reland patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284283</commentid>
    <comment_count>58</comment_count>
      <attachid>68389</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-24 00:51:58 -0700</bug_when>
    <thetext>Comment on attachment 68389
Reland patch

Clearing flags on attachment: 68389

Committed r68240: &lt;http://trac.webkit.org/changeset/68240&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284284</commentid>
    <comment_count>59</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-24 00:52:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66451</attachid>
            <date>2010-09-02 18:44:01 -0700</date>
            <delta_ts>2010-09-02 19:28:47 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>46080</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjY5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDIgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0aW5nIGJpbmRpbmctdGVz
dHMgZXhwZWN0YXRpb25zIChmb3IgY2hhbmdlc2V0IDY2NTIxKS4KSW5kZXg6IFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0u
Y3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9B
WE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSwyOCArNjEsMTMg
QEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYQogCiAgICAgQ2hyb21l
Q2xpZW50Q2hyb21pdW0qIGNsaWVudCA9IHRvQ2hyb21lQ2xpZW50Q2hyb21pdW0ob2JqLT5kb2N1
bWVudEZyYW1lVmlldygpKTsKICAgICBpZiAoY2xpZW50KSB7Ci0gICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7Ci0gICAgICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAg
ICBjbGllbnQtPnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKG9iaiwgbm90aWZpY2F0aW9u
KTsKKworICAgICAgICAvLyBUT0RPOiBSZW1vdmUgYWZ0ZXIgdGhlIG5ldyBwb3N0QWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiBpcyB1c2VkIGRvd25zdHJlYW0uCisgICAgICAgIGlmIChub3RpZmlj
YXRpb24gPT0gQVhDaGVja2VkU3RhdGVDaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRD
aGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBpZiAobm90aWZpY2F0aW9u
ID09IEFYQ2hpbGRyZW5DaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nl
c3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4ob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgotICAgICAg
ICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMb2FkQ29tcGxldGU6
Ci0gICAgICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFJv
d0NvbGxhcHNlZDoKLSAgICAgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKLSAgICAgICAgY2Fz
ZSBBWFJvd0V4cGFuZGVkOgotICAgICAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hvcjoKLSAgICAg
ICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYU2VsZWN0
ZWRUZXh0Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9CiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvY2hyb21p
dW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvY2hy
b21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJDb3Jl
L3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNiArMzEsNyBAQAogI2lmbmRlZiBDaHJvbWVDbGllbnRDaHJvbWl1bV9oCiAjZGVmaW5lIENo
cm9tZUNsaWVudENocm9taXVtX2gKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNs
dWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC01OCw2
ICs1OSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3RpZmllZCBlbWJlZGRlciB0aGF0IHRo
ZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBoYXMgY2hhbmdlZC4KICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKEFjY2Vzc2li
aWxpdHlPYmplY3QqKSA9IDA7CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgYWJvdXQg
YW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2Njk5KQorKysgV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEw
LTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFj
Y2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKyAgICAgICAgCisgICAgICAgIFVz
ZSBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB0byBwYXNzIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9uCisgICAgICAgIHRvIGNocm9taXVtLiAKKworICAgICAgICAqIFdlYktpdC5neXA6
CisgICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaDogQWRkZWQu
CisgICAgICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0NsaWVudDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIHNy
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OnBvc3RBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorCiAy
MDEwLTA5LTAyICBJbHlhIFNoZXJtYW4gIDxpc2hlcm1hbkBnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDY2
NDUzKQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTEx
Myw2ICsxMTMsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9G
YWN0b3J5LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hl
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5oJywK
KyAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCcs
CiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAg
ICAgICAgICAgICAncHVibGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAg
ICAgICAgJ3B1YmxpYy9XZWJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oJywKSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5o
CShyZXZpc2lvbiAwKQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25faAorI2RlZmluZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uX2gKKworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8vIFRoZXNlIHZhbHVlcyBtdXN0IG1h
dGNoIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uIHZhbHVlcworZW51bSBX
ZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHsKKyAgICBBY3RpdmVEZXNjZW5kYW50Q2hhbmdl
ZCwKKyAgICBDaGVja2VkU3RhdGVDaGFuZ2VkLAorICAgIENoaWxkcmVuQ2hhbmdlZCwKKyAgICBG
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZCwKKyAgICBMYXlvdXRDb21wbGV0ZSwKKyAgICBMb2FkQ29t
cGxldGUsCisgICAgU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQsCisgICAgU2VsZWN0ZWRUZXh0Q2hh
bmdlZCwKKyAgICBWYWx1ZUNoYW5nZWQsCisgICAgU2Nyb2xsZWRUb0FuY2hvciwKKyAgICBMaXZl
UmVnaW9uQ2hhbmdlZCwKKyAgICBNZW51TGlzdFZhbHVlQ2hhbmdlZCwKKyAgICBSb3dDb3VudENo
YW5nZWQsCisgICAgUm93Q29sbGFwc2VkLAorICAgIFJvd0V4cGFuZGVkLAorfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
X2gKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCShyZXZpc2lvbiA2
NjQ1MykKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIFdlYlZpZXdDbGllbnRfaAogI2RlZmlu
ZSBXZWJWaWV3Q2xpZW50X2gKIAorI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24uaCIKICNpbmNsdWRlICJXZWJEcmFnT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiV2ViRWRpdGlu
Z0FjdGlvbi5oIgogI2luY2x1ZGUgIldlYkZpbGVDaG9vc2VyQ29tcGxldGlvbi5oIgpAQCAtMjgw
LDYgKzI4MSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3RpZmllcyBlbWJlZGRlciB0aGF0
IHRoZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBoYXMgY2hhbmdlZC4KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKGNvbnN0
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmKSB7IH0KKyAgICAKKyAgICAvLyBOb3RpZmllcyBlbWJl
ZGRlciBhYm91dCBhbiBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgICB2aXJ0dWFsIHZv
aWQgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9i
amVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikgeyB9
CiAKIAogICAgIC8vIERldmVsb3BlciB0b29scyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3Nl
cnRNYXRjaGluZ0VudW1zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0Fz
c2VydE1hdGNoaW5nRW51bXMuY3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYktpdC9jaHJvbWl1
bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2
LDcgQEAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQXBwbGlj
YXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRl
ICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiRWRpdG9ySW5zZXJ0QWN0aW9uLmgiCiAjaW5j
bHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFNtb290aGluZ01vZGUuaCIK
QEAgLTUxLDYgKzUyLDcgQEAKICNpbmNsdWRlICJVc2VyU2NyaXB0VHlwZXMuaCIKICNpbmNsdWRl
ICJWaWRlb0ZyYW1lQ2hyb21pdW0uaCIKICNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCisjaW5jbHVkZSAiV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUg
IldlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCiAjaW5jbHVkZSAiV2ViQ2xpcGJvYXJkLmgiCiAj
aW5jbHVkZSAiV2ViQ3Vyc29ySW5mby5oIgpAQCAtNzksNiArODEsMjIgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIHVzaW5nIFdURjo6VGV4dENhc2VJbnNlbnNpdGl2ZTsKIH07CiAKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oQWN0aXZlRGVzY2VuZGFudENoYW5nZWQsIEFYT2JqZWN0
Q2FjaGU6OkFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShDaGVja2VkU3RhdGVDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWENoZWNrZWRTdGF0
ZUNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDaGlsZHJlbkNoYW5nZWQs
IEFYT2JqZWN0Q2FjaGU6OkFYQ2hpbGRyZW5DaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRm9jdXNlZFVJRWxlbWVudENoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMYXlvdXRD
b21wbGV0ZSwgQVhPYmplY3RDYWNoZTo6QVhMYXlvdXRDb21wbGV0ZSk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKExvYWRDb21wbGV0ZSwgQVhPYmplY3RDYWNoZTo6QVhMb2FkQ29tcGxl
dGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZCwgQVhPYmplY3RDYWNoZTo6QVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFNlbGVjdGVkVGV4dENoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFY
U2VsZWN0ZWRUZXh0Q2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFZhbHVl
Q2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShTY3JvbGxlZFRvQW5jaG9yLCBBWE9iamVjdENhY2hlOjpBWFNjcm9sbGVk
VG9BbmNob3IpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMaXZlUmVnaW9uQ2hhbmdl
ZCwgQVhPYmplY3RDYWNoZTo6QVhMaXZlUmVnaW9uQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKE1lbnVMaXN0VmFsdWVDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWE1lbnVM
aXN0VmFsdWVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oUm93Q291bnRD
aGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWFJvd0NvdW50Q2hhbmdlZCk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFJvd0NvbGxhcHNlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dDb2xsYXBz
ZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShSb3dFeHBhbmRlZCwgQVhPYmplY3RD
YWNoZTo6QVhSb3dFeHBhbmRlZCk7CisKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
QWNjZXNzaWJpbGl0eVJvbGVVbmtub3duLCBVbmtub3duUm9sZSk7CiBDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlQnV0dG9uLCBCdXR0b25Sb2xlKTsKIENP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVSYWRpb0J1dHRv
biwgUmFkaW9CdXR0b25Sb2xlKTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
ZUNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MTksNiArNzE5LDEyIEBAIHZvaWQg
Q2hyb21lQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWIKICAgICAgICAgbV93ZWJWaWV3LT5j
bGllbnQoKS0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkFjY2Vzc2li
aWxpdHlPYmplY3Qob2JqKSk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9zdEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE9iamVjdENh
Y2hlOjpBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pIHsKKyAgICAvLyBBbGVydCBhc3Npc3Rp
dmUgdGVjaG5vbG9neSBhYm91dCB0aGUgYWNjZXNzaWJpbGl0eSBvYmplY3Qgbm90aWZpY2F0aW9u
LgorICAgIGlmIChvYmopCisgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPnBvc3RBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uKFdlYkFjY2Vzc2liaWxpdHlPYmplY3Qob2JqKSwgc3RhdGljX2Nh
c3Q8V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbj4obm90aWZpY2F0aW9uKSk7Cit9CisKICNp
ZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIE5vdGlmaWNhdGlvblByZXNlbnRlciogQ2hyb21lQ2xp
ZW50SW1wbDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkgY29uc3QKIHsKSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJv
bWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsNiAr
MTYzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwb3B1cENsb3NlZChXZWJDb3JlOjpQ
b3B1cENvbnRhaW5lciogcG9wdXBDb250YWluZXIpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFu
Z2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCop
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4o
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopOworICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbigKKyAgICAgICAgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9i
amVjdCogb2JqLCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiBub3RpZmlj
YXRpb24pOwogCiAgICAgLy8gQ2hyb21lQ2xpZW50SW1wbDoKICAgICB2b2lkIHNldEN1cnNvcihj
b25zdCBXZWJDdXJzb3JJbmZvJiBjdXJzb3IpOwpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNjY2OTkpCisr
KyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAor
MjAxMC0wOS0wMiAgQ2hyaXMgR3VpbGxvcnkgICA8Y2hyaXMuZ3VpbGxvcnlAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIGFs
bCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgdG8gQ2hyb21pdW0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisgICAgICAgIAorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcDoKKyAgICAgICAgKFdl
YlZpZXdIb3N0Ojpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbik6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKwogMjAxMC0wOS0wMiAgU3RldmUg
QmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRh
bSBCYXJ0aC4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5jcHAJKHJldmlzaW9uIDY2NDUzKQorKysgV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
ODksMTAgKzQ4OSw2MSBAQCB2b2lkIFdlYlZpZXdIb3N0Ojpmb2N1c0FjY2Vzc2liaWxpdHlPYmpl
CiAgICAgbV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+c2V0Rm9jdXNlZEVsZW1l
bnQob2JqZWN0KTsKIH0KIAotdm9pZCBXZWJWaWV3SG9zdDo6ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0
eU9iamVjdENoaWxkcmVuKGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkKLXsK
LSAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpCi0gICAgICAgIHByaW50ZigiZGlkQ2hhbmdlQWNj
ZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0gbmV3IGNvdW50OiAlZFxuIiwgb2JqZWN0LmNoaWxk
Q291bnQoKSk7Cit2b2lkIFdlYlZpZXdIb3N0Ojpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmosIFdlYkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gbm90aWZpY2F0aW9uKSB7CisgICAgaWYgKG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKCktPnNob3VsZER1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpKSB7Cisg
ICAgICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7CisgICAgICAgICAgY2FzZSBBY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZDoKKyAgICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiKTsKKyAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgY2FzZSBDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAgICAgICAgICBwcmlu
dGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGVja2VkU3RhdGVDaGFuZ2VkIik7Cisg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgQ2hpbGRyZW5DaGFuZ2VkOgorICAg
ICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNo
YW5nZWQiKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBGb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZDoKKyAgICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gRm9jdXNlZFVJRWxlbWVudENoYW5nZWQiKTsKKyAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgY2FzZSBMYXlvdXRDb21wbGV0ZToKKyAgICAgICAgICAgICAgcHJpbnRmKCJB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTGF5b3V0Q29tcGxldGUiKTsKKyAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBMb2FkQ29tcGxldGU6CisgICAgICAgICAgICAgIHBy
aW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZSIpOworICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICBjYXNlIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgor
ICAgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBTZWxlY3Rl
ZENoaWxkcmVuQ2hhbmdlZCIpOworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICBjYXNl
IFNlbGVjdGVkVGV4dENoYW5nZWQ6CisgICAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbiAtIFNlbGVjdGVkVGV4dENoYW5nZWQiKTsKKyAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgY2FzZSBWYWx1ZUNoYW5nZWQ6CisgICAgICAgICAgICAgIHByaW50Zigi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFZhbHVlQ2hhbmdlZCIpOworICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICBjYXNlIFNjcm9sbGVkVG9BbmNob3I6CisgICAgICAgICAgICAg
IHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFNjcm9sbGVkVG9BbmNob3IiKTsK
KyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBMaXZlUmVnaW9uQ2hhbmdlZDoK
KyAgICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTGl2ZVJl
Z2lvbkNoYW5nZWQiKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgY2FzZSBNZW51
TGlzdFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIC0gTWVudUxpc3RWYWx1ZUNoYW5nZWQiKTsKKyAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgY2FzZSBSb3dDb3VudENoYW5nZWQ6CisgICAgICAgICAgICAgIHByaW50Zigi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0NvdW50Q2hhbmdlZCIpOworICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICBjYXNlIFJvd0NvbGxhcHNlZDoKKyAgICAgICAgICAgICAg
cHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gUm93Q29sbGFwc2VkIik7CisgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgIGNhc2UgUm93RXhwYW5kZWQ6CisgICAgICAgICAg
ICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0V4cGFuZGVkIik7Cisg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFvYmouaGVscFRl
eHQoKS5pc051bGwoKSkKKyAgICAgICAgICAgIHByaW50ZigiIC0gaGVscFRleHQ6JXMiLCBvYmou
aGVscFRleHQoKS51dGY4KCkuZGF0YSgpKTsKKworICAgICAgICBwcmludGYoIlxuIik7CisgICAg
fQogfQogCiBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIFdlYlZpZXdIb3N0Ojpub3RpZmljYXRp
b25QcmVzZW50ZXIoKQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVmlld0hvc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJWaWV3SG9zdC5oCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIk1vY2tTcGVsbENoZWNrLmgiCiAjaW5jbHVkZSAiVGVz
dE5hdmlnYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAicHVibGljL1dlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViQ3Vyc29ySW5mby5oIgogI2lu
Y2x1ZGUgInB1YmxpYy9XZWJGcmFtZUNsaWVudC5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJWaWV3
Q2xpZW50LmgiCkBAIC0xMjYsNyArMTI3LDcgQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJsaWMg
V2ViS2l0OjpXZWJWaQogICAgIHZpcnR1YWwgaW50IGhpc3RvcnlCYWNrTGlzdENvdW50KCk7CiAg
ICAgdmlydHVhbCBpbnQgaGlzdG9yeUZvcndhcmRMaXN0Q291bnQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZm9jdXNBY2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0
eU9iamVjdCYpOwotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0
Q2hpbGRyZW4oY29uc3QgV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdmly
dHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYktpdDo6V2Vi
QWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqLCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb24gbm90aWZpY2F0aW9uKTsKICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViTm90aWZpY2F0aW9u
UHJlc2VudGVyKiBub3RpZmljYXRpb25QcmVzZW50ZXIoKTsKICAgICB2aXJ0dWFsIFdlYktpdDo6
V2ViR2VvbG9jYXRpb25TZXJ2aWNlKiBnZW9sb2NhdGlvblNlcnZpY2UoKTsKICAgICB2aXJ0dWFs
IFdlYktpdDo6V2ViU3BlZWNoSW5wdXRDb250cm9sbGVyKiBzcGVlY2hJbnB1dENvbnRyb2xsZXIo
V2ViS2l0OjpXZWJTcGVlY2hJbnB1dExpc3RlbmVyKik7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NjY5
OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3
IEBACisyMDEwLTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNl
bmQgYWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKworICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmlj
YXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1B
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5n
ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVu
Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RW
YWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2Vk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1S
b3dDb2xsYXBzZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNj
cm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3Iu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3Rl
ZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2Vk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qczogQWRkZWQuCisgICAgICAgIChlbnVtQWNj
ZXNzaWJpbGl0eU9iamVjdHMpOgorICAgICAgICAodGVzdERvbmUpOgorICAgICAgICAodGVzdCk6
CisKIDIwMTAtMDktMDIgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9uLgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlm
aWNhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDY2NDUzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMCwwIEBACi1kaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5
T2JqZWN0Q2hpbGRyZW4gLSBuZXcgY291bnQ6IDEKLVRoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBj
b3JyZWN0bHkgcmVjaWV2ZXMgbm90aWZpY2F0aW9ucyB3aGVuIHRoZSBjaGlsZHJlbiBvZiBhbiBh
Y2Nlc3NpYmlsaXR5IG9iamVjdCBjaGFuZ2UuCi10ZXh0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9u
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCShyZXZpc2lvbiA2NjQ1
MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRy
ZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzNyArMCww
IEBACi08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSBy
ZWNpZXZlcyBub3RpZmljYXRpb25zIHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxp
dHkgb2JqZWN0IGNoYW5nZS4KLTxkaXY+PC9kaXY+Ci08c2NyaXB0PgotICAgIGZ1bmN0aW9uIHRl
c3REb25lKCkgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0g
ICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICghd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotICAgICAgICBpZiAoIWFjY2Vzc2liaWxp
dHlDb250cm9sbGVyIHx8ICFhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5kdW1wQWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAKLSAgICAgICAgLy8gQWNjZXNz
IGFjY2Vzc2liaWxpdHkgb2JqZWN0IHRoYXQgd2lsbCBiZSBkZWxldGVkLgotICAgICAgICBkb2N1
bWVudC5ib2R5LmZvY3VzKCk7Ci0gICAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3Vz
ZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgCi0gICAgICAgIGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpOwotICAgICAgICAK
LSAgICAgICAgLy8gSW5zZXJ0IGEgY2hpbGQgZWxlbWVudCBvbiB0aGUgZGl2LiBUaGlzIGdlbmVy
YXRlcyBhbiBhY2Nlc3NpYmlsaXR5IGNoaWxkcmVkIGNoYW5nZWQgbm90aWZpY2F0aW9uLgotICAg
ICAgICBkb2N1bWVudC5ib2R5LmNoaWxkcmVuWzBdLmlubmVySFRNTCA9ICJ0ZXh0IjsKLQotICAg
ICAgICAvLyBVc2Ugc2V0VGltZW91dCBzbyB0aGF0IGFzeW5jaHJvbm91cyBhY2Nlc3NpYmlsaXR5
IG5vdGlmaWNhdGlvbnMgY2FuIGJlIHByb2Nlc3NlZC4KLSAgICAgICAgc2V0VGltZW91dCh0ZXN0
RG9uZSwgMCk7Ci0gICAgfQotCi0gICAgdGVzdCgpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBB
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZCAtIGhlbHBUZXh0OnVsLWZvci1BY3RpdmVEZXNjZW5kYW50
Q2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUg
QWN0aXZlRGVzY2VuZGFudENoYW5nZWQgbm90aWZpY2F0aW9uLgorbGkxCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFj
dGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50
Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4NCisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsNCisgICAgICAg
IHZhciByYWRpb2dyb3VwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1BY3RpdmVE
ZXNjZW5kYW50Q2hhbmdlZCIpOw0KKw0KKyAgICAgICAgcmFkaW9ncm91cC5mb2N1cygpOw0KKyAg
ICAgICAgcmFkaW9ncm91cC5zZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsICJy
MSIpOw0KKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0cyB0aGF0
IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQg
bm90aWZpY2F0aW9uLgorCis8dWwgaWQ9InVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIg
YXJpYS1oZWxwPSJ1bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiIHRhYmluZGV4PSIwIiBy
b2xlPSJyYWRpb2dyb3VwIj4NICAgIDxsaSBpZD0icjEiPmxpMTwvbGk+DTwvdWw+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbiAtIENoZWNrZWRTdGF0ZUNoYW5nZWQgLSBoZWxwVGV4dDpjaGVja2JveC1mb3ItQ2hlY2tl
ZFN0YXRlQ2hhbmdlZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdl
ZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hlY2tl
ZFN0YXRlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hh
bmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pg0KKyAgICBmdW5jdGlv
biB0ZXN0Tm90aWZpY2F0aW9uKCkgew0KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIikuY2hlY2tlZCA9IHRydWU7DQorICAg
IH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0g
Y29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVja2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4K
KworPGlucHV0IGlkPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIgYXJpYS1oZWxw
PSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIgdHlwZT0iY2hlY2tib3giIC8+CisK
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2Vk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IENoaWxkcmVuQ2hhbmdlZCAtIGhlbHBUZXh0OmRpdi1mb3ItQ2hpbGRyZW5DaGFuZ2VkCitUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGlsZHJlbkNoYW5n
ZWQgbm90aWZpY2F0aW9uLgordGV4dApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+DQorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24o
KSB7DQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1DaGlsZHJlbkNo
YW5nZWQiKS5pbm5lckhUTUwgPSAidGV4dCI7DQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBD
aGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9yLUNoaWxkcmVu
Q2hhbmdlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLUNoaWxkcmVuQ2hhbmdlZCI+PC9kaXY+CisKKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorVGhpcyB0
ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgRm9jdXNlZFVJRWxlbWVu
dENoYW5nZWQgbm90aWZpY2F0aW9uLgorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxk
cmVuQ2hhbmdlZApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+DQorICAgIGZ1bmN0aW9uIHRlc3RO
b3RpZmljYXRpb24oKSB7DQorICAgICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9y
dCAtIHNlZSBoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZA0KKyAgICB9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNp
ZXZlcyB0aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNo
YW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExh
eW91dENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pg0KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9u
KCkgew0KKyAgICAgICAgLy8gTWFjIHNwZWNpZmljDQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExpdmVSZWdpb25DaGFuZ2Vk
IC0gaGVscFRleHQ6dWwtZm9yLUxpdmVSZWdpb25DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hy
b21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMaXZlUmVnaW9uQ2hhbmdlZCBub3RpZmljYXRp
b24uCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdp
b25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0Pg0KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgew0KKyAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1MaXZlUmVnaW9uQ2hhbmdlZCIpLnRp
dGxlID0gInRpdGxlIjsNCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFu
Z2VkIG5vdGlmaWNhdGlvbi4KKworPHVsIGlkPSJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQiIGFy
aWEtaGVscD0idWwtZm9yLUxpdmVSZWdpb25DaGFuZ2VkIiByb2xlPSJyZWdpb24iIGFyaWEtbGl2
ZT0icG9saXRlIiBhcmlhLXJlbGV2YW50PSJhZGRpdGlvbnMgcmVtb3ZhbHMiPjwvdWw+CisKKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hh
bmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTG9h
ZENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TG9hZENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0Pg0KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgew0KKyAg
ICAgICAgLy8gTWFjIHNwZWNpZmljDQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29t
cGxldGUgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBNZW51TGlzdFZhbHVlQ2hhbmdl
ZCAtIGhlbHBUZXh0OnNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQKK0FjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1
bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlv
bi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVu
dUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+DQorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7
DQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0LWZvci1NZW51TGlzdFZh
bHVlQ2hhbmdlZCIpLnNlbGVjdGVkSW5kZXggPSAwOw0KKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgTWVudUxpc3RWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2VsZWN0IGlkPSJzZWxl
Y3QtZm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIiBhcmlhLWhlbHA9InNlbGVjdC1mb3ItTWVudUxp
c3RWYWx1ZUNoYW5nZWQiPg0KKwk8b3B0aW9uPjwvb3B0aW9uPiANCis8L3NlbGVjdD4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gUm93Q29sbGFwc2Vk
IC0gaGVscFRleHQ6ZGl2LWZvci1Sb3dDb2xsYXBzZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1
bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvbGxhcHNlZCBub3RpZmljYXRpb24uCisKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBz
ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pg0KKyAgICBmdW5j
dGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgew0KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImRpdi1mb3ItUm93Q29sbGFwc2VkIikuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwg
ZmFsc2UpOw0KKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5vdGlmaWNh
dGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dDb2xsYXBzZWQiIGFyaWEtaGVscD0iZGl2LWZv
ci1Sb3dDb2xsYXBzZWQiIHJvbGU9InRyZWVpdGVtIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gUm93Q291bnRDaGFuZ2Vk
IC0gaGVscFRleHQ6ZGl2LWZvci1Sb3dDb3VudENoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50Q2hhbmdlZCBub3RpZmljYXRpb24u
CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1S
b3dDb3VudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2Vk
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0Pg0KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgew0KKyAgICAgICAgdmFyIGRp
diA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIpOw0K
Kw0KKyAgICAgICAgZGl2LmNoaWxkcmVuWzBdLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIs
IHRydWUpOw0KKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q291bnRDaGFuZ2VkIG5vdGlm
aWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dDb3VudENoYW5nZWQiIGFyaWEtaGVscD0i
ZGl2LWZvci1Sb3dDb3VudENoYW5nZWQiIHJvbGU9ImdyaWQiPg0KKyAgICA8ZGl2PjwvZGl2Pg0K
KzwvZGl2PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmlj
YXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBh
bmRlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gUm93
RXhwYW5kZWQgLSBoZWxwVGV4dDpkaXYtZm9yLVJvd0V4cGFuZGVkCitUaGlzIHRlc3RzIHRoYXQg
Y2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dFeHBhbmRlZCBub3RpZmljYXRpb24u
CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4
cGFuZGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pg0KKyAgICBm
dW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgew0KKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImRpdi1mb3ItUm93RXhwYW5kZWQiKS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQi
LCB0cnVlKTsNCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0V4cGFuZGVkIG5vdGlmaWNh
dGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dFeHBhbmRlZCIgYXJpYS1oZWxwPSJkaXYtZm9y
LVJvd0V4cGFuZGVkIiByb2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdl
ZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2Nyb2xs
ZWRUb0FuY2hvciBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4NCisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNh
dGlvbigpIHsNCisgICAgICAgIC8vIE5vdCBzZW50IHRvIHRoZSBjaHJvbWl1bSBwb3J0IC0gc2Vl
IGhhbmRsZVNjcm9sbGVkVG9BbmNob3INCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNjcm9s
bGVkVG9BbmNob3Igbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBTZWxl
Y3RlZENoaWxkcmVuQ2hhbmdlZCAtIGhlbHBUZXh0OnNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJl
bkNoYW5nZWQKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNoYW5nZWQKK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkQ2hp
bGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+DQor
ICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7DQorICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgic2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCIpLnNlbGVjdGVk
SW5kZXggPSAwOw0KKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0
cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRDaGlsZHJlbkNo
YW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2VsZWN0IGlkPSJzZWxlY3QtZm9yLVNlbGVjdGVkQ2hp
bGRyZW5DaGFuZ2VkIiBhcmlhLWhlbHA9InNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5n
ZWQiIHNpemU9IjQiPg0KKyAgICA8b3B0aW9uIHZhbHVlPSIxIj5pdGVtIDE8L29wdGlvbj4NCis8
L3NlbGVjdD4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3Rp
ZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxl
Y3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVk
VGV4dENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRl
eHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4NTg0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4NCisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsN
CisgICAgICAgIC8vIE1hYyBzcGVjaWZpYyAtIHNlZSBub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2Vs
ZWN0aW9uQ2hhbmdlDQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRl
c3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZFRleHRDaGFu
Z2VkIG5vdGlmaWNhdGlvbi4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
cG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVD
aGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIC0gVmFsdWVDaGFuZ2VkIC0gaGVscFRleHQ6dGV4dC1mb3ItVmFsdWVDaGFuZ2Vk
CitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQ2hpbGRyZW5DaGFuZ2VkCitUaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBWYWx1ZUNoYW5nZWQgbm90aWZp
Y2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tVmFsdWVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4NCisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsNCisgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXh0LWZvci1WYWx1ZUNoYW5nZWQiKS52YWx1ZSA9ICJidXR0b24i
DQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3RzIHRoYXQgY2hy
b21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLgor
Cis8aW5wdXQgaWQ9InRleHQtZm9yLVZhbHVlQ2hhbmdlZCIgYXJpYS1oZWxwPSJ0ZXh0LWZvci1W
YWx1ZUNoYW5nZWQiIHR5cGU9InRleHQiIHZhbHVlPSJ2YWx1ZSIgLz4KKworPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNyBAQAorZnVu
Y3Rpb24gZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlPYmplY3QpIHsNCisg
IHZhciBjb3VudCA9IGFjY2Vzc2liaWxpdHlPYmplY3QuY2hpbGRyZW5Db3VudDsNCisgIGZvciAo
dmFyIGkgPSAwOyBpIDwgY291bnQ7ICsraSkNCisgICAgZW51bUFjY2Vzc2liaWxpdHlPYmplY3Rz
KGFjY2Vzc2liaWxpdHlPYmplY3QuY2hpbGRBdEluZGV4KGkpKTsNCit9DQorDQorZnVuY3Rpb24g
dGVzdERvbmUoKSB7DQorICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7DQorfQ0K
Kw0KK2Z1bmN0aW9uIHRlc3QoKSB7DQorICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7DQorICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7DQorICANCisgIC8v
IEJ1aWxkIGFjY2Vzc2liaWxpdHkgdHJlZS4NCisgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsNCisg
IGVudW1BY2Nlc3NpYmlsaXR5T2JqZWN0cyhhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudCk7DQorDQorICAvLyBUZXN0IHRoZSBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4N
CisgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
cygpOw0KKyAgdGVzdE5vdGlmaWNhdGlvbigpOw0KKw0KKyAgLy8gVXNlIHNldFRpbWVvdXQgc28g
dGhhdCBhc3luY2hyb25vdXMgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIGNhbiBiZSBwcm9j
ZXNzZWQuDQorICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsNCit9DQorDQordGVzdCgpOwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66455</attachid>
            <date>2010-09-02 19:28:47 -0700</date>
            <delta_ts>2010-09-02 19:50:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>45831</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjY5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDIgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0aW5nIGJpbmRpbmctdGVz
dHMgZXhwZWN0YXRpb25zIChmb3IgY2hhbmdlc2V0IDY2NTIxKS4KSW5kZXg6IFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0u
Y3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9B
WE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSwyOCArNjEsMTMg
QEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYQogCiAgICAgQ2hyb21l
Q2xpZW50Q2hyb21pdW0qIGNsaWVudCA9IHRvQ2hyb21lQ2xpZW50Q2hyb21pdW0ob2JqLT5kb2N1
bWVudEZyYW1lVmlldygpKTsKICAgICBpZiAoY2xpZW50KSB7Ci0gICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7Ci0gICAgICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAg
ICBjbGllbnQtPnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKG9iaiwgbm90aWZpY2F0aW9u
KTsKKworICAgICAgICAvLyBUT0RPOiBSZW1vdmUgYWZ0ZXIgdGhlIG5ldyBwb3N0QWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiBpcyB1c2VkIGRvd25zdHJlYW0uCisgICAgICAgIGlmIChub3RpZmlj
YXRpb24gPT0gQVhDaGVja2VkU3RhdGVDaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRD
aGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBpZiAobm90aWZpY2F0aW9u
ID09IEFYQ2hpbGRyZW5DaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nl
c3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4ob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgotICAgICAg
ICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMb2FkQ29tcGxldGU6
Ci0gICAgICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFJv
d0NvbGxhcHNlZDoKLSAgICAgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKLSAgICAgICAgY2Fz
ZSBBWFJvd0V4cGFuZGVkOgotICAgICAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hvcjoKLSAgICAg
ICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYU2VsZWN0
ZWRUZXh0Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9CiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvY2hyb21p
dW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvY2hy
b21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJDb3Jl
L3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNiArMzEsNyBAQAogI2lmbmRlZiBDaHJvbWVDbGllbnRDaHJvbWl1bV9oCiAjZGVmaW5lIENo
cm9tZUNsaWVudENocm9taXVtX2gKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNs
dWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC01OCw2
ICs1OSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3RpZmllZCBlbWJlZGRlciB0aGF0IHRo
ZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBoYXMgY2hhbmdlZC4KICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKEFjY2Vzc2li
aWxpdHlPYmplY3QqKSA9IDA7CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgYWJvdXQg
YW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2Njk5KQorKysgV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEw
LTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFj
Y2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKyAgICAgICAgCisgICAgICAgIFVz
ZSBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB0byBwYXNzIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9uCisgICAgICAgIHRvIGNocm9taXVtLiAKKworICAgICAgICAqIFdlYktpdC5neXA6
CisgICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaDogQWRkZWQu
CisgICAgICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0NsaWVudDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIHNy
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OnBvc3RBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorCiAy
MDEwLTA5LTAyICBJbHlhIFNoZXJtYW4gIDxpc2hlcm1hbkBnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDY2
NDUzKQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTEx
Myw2ICsxMTMsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9G
YWN0b3J5LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hl
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5oJywK
KyAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCcs
CiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAg
ICAgICAgICAgICAncHVibGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAg
ICAgICAgJ3B1YmxpYy9XZWJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oJywKSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5o
CShyZXZpc2lvbiAwKQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25faAorI2RlZmluZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uX2gKKworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8vIFRoZXNlIHZhbHVlcyBtdXN0IG1h
dGNoIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uIHZhbHVlcworZW51bSBX
ZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHsKKyAgICBBY3RpdmVEZXNjZW5kYW50Q2hhbmdl
ZCwKKyAgICBDaGVja2VkU3RhdGVDaGFuZ2VkLAorICAgIENoaWxkcmVuQ2hhbmdlZCwKKyAgICBG
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZCwKKyAgICBMYXlvdXRDb21wbGV0ZSwKKyAgICBMb2FkQ29t
cGxldGUsCisgICAgU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQsCisgICAgU2VsZWN0ZWRUZXh0Q2hh
bmdlZCwKKyAgICBWYWx1ZUNoYW5nZWQsCisgICAgU2Nyb2xsZWRUb0FuY2hvciwKKyAgICBMaXZl
UmVnaW9uQ2hhbmdlZCwKKyAgICBNZW51TGlzdFZhbHVlQ2hhbmdlZCwKKyAgICBSb3dDb3VudENo
YW5nZWQsCisgICAgUm93Q29sbGFwc2VkLAorICAgIFJvd0V4cGFuZGVkLAorfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
X2gKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCShyZXZpc2lvbiA2
NjQ1MykKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIFdlYlZpZXdDbGllbnRfaAogI2RlZmlu
ZSBXZWJWaWV3Q2xpZW50X2gKIAorI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24uaCIKICNpbmNsdWRlICJXZWJEcmFnT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiV2ViRWRpdGlu
Z0FjdGlvbi5oIgogI2luY2x1ZGUgIldlYkZpbGVDaG9vc2VyQ29tcGxldGlvbi5oIgpAQCAtMjgw
LDYgKzI4MSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3RpZmllcyBlbWJlZGRlciB0aGF0
IHRoZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBoYXMgY2hhbmdlZC4KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKGNvbnN0
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmKSB7IH0KKyAgICAKKyAgICAvLyBOb3RpZmllcyBlbWJl
ZGRlciBhYm91dCBhbiBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgICB2aXJ0dWFsIHZv
aWQgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9i
amVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikgeyB9
CiAKIAogICAgIC8vIERldmVsb3BlciB0b29scyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3Nl
cnRNYXRjaGluZ0VudW1zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0Fz
c2VydE1hdGNoaW5nRW51bXMuY3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYktpdC9jaHJvbWl1
bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2
LDcgQEAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQXBwbGlj
YXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRl
ICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiRWRpdG9ySW5zZXJ0QWN0aW9uLmgiCiAjaW5j
bHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFNtb290aGluZ01vZGUuaCIK
QEAgLTUwLDYgKzUxLDcgQEAKICNpbmNsdWRlICJVc2VyQ29udGVudFR5cGVzLmgiCiAjaW5jbHVk
ZSAiVXNlclNjcmlwdFR5cGVzLmgiCiAjaW5jbHVkZSAiVmlkZW9GcmFtZUNocm9taXVtLmgiCisj
aW5jbHVkZSAiV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYkFj
Y2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdC5o
IgogI2luY2x1ZGUgIldlYkNsaXBib2FyZC5oIgpAQCAtNzksNiArODEsMjIgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHVzaW5nIFdURjo6VGV4dENhc2VJbnNlbnNpdGl2ZTsKIH07CiAKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQWN0aXZlRGVzY2VuZGFudENoYW5nZWQsIEFYT2Jq
ZWN0Q2FjaGU6OkFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShDaGVja2VkU3RhdGVDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWENoZWNrZWRT
dGF0ZUNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDaGlsZHJlbkNoYW5n
ZWQsIEFYT2JqZWN0Q2FjaGU6OkFYQ2hpbGRyZW5DaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRm9jdXNlZFVJRWxlbWVudENoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMYXlv
dXRDb21wbGV0ZSwgQVhPYmplY3RDYWNoZTo6QVhMYXlvdXRDb21wbGV0ZSk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKExvYWRDb21wbGV0ZSwgQVhPYmplY3RDYWNoZTo6QVhMb2FkQ29t
cGxldGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTZWxlY3RlZENoaWxkcmVuQ2hh
bmdlZCwgQVhPYmplY3RDYWNoZTo6QVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFNlbGVjdGVkVGV4dENoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6
OkFYU2VsZWN0ZWRUZXh0Q2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFZh
bHVlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShTY3JvbGxlZFRvQW5jaG9yLCBBWE9iamVjdENhY2hlOjpBWFNjcm9s
bGVkVG9BbmNob3IpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMaXZlUmVnaW9uQ2hh
bmdlZCwgQVhPYmplY3RDYWNoZTo6QVhMaXZlUmVnaW9uQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKE1lbnVMaXN0VmFsdWVDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWE1l
bnVMaXN0VmFsdWVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oUm93Q291
bnRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWFJvd0NvdW50Q2hhbmdlZCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFJvd0NvbGxhcHNlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dDb2xs
YXBzZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShSb3dFeHBhbmRlZCwgQVhPYmpl
Y3RDYWNoZTo6QVhSb3dFeHBhbmRlZCk7CisKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQWNjZXNzaWJpbGl0eVJvbGVVbmtub3duLCBVbmtub3duUm9sZSk7CiBDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlQnV0dG9uLCBCdXR0b25Sb2xlKTsK
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVSYWRpb0J1
dHRvbiwgUmFkaW9CdXR0b25Sb2xlKTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21l
Q2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmNwcAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MTksNiArNzE5LDEzIEBAIHZv
aWQgQ2hyb21lQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWIKICAgICAgICAgbV93ZWJWaWV3
LT5jbGllbnQoKS0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkFjY2Vz
c2liaWxpdHlPYmplY3Qob2JqKSk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9zdEFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE9iamVj
dENhY2hlOjpBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7CisgICAgLy8gQWxlcnQgYXNz
aXN0aXZlIHRlY2hub2xvZ3kgYWJvdXQgdGhlIGFjY2Vzc2liaWxpdHkgb2JqZWN0IG5vdGlmaWNh
dGlvbi4KKyAgICBpZiAob2JqKQorICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5wb3N0QWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KG9iaiksIHN0YXRp
Y19jYXN0PFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24+KG5vdGlmaWNhdGlvbikpOworfQor
CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25QcmVzZW50ZXIqIENocm9t
ZUNsaWVudEltcGw6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0CiB7CkluZGV4OiBXZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTYz
LDYgKzE2Myw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcG9wdXBDbG9zZWQoV2ViQ29y
ZTo6UG9wdXBDb250YWluZXIqIHBvcHVwQ29udGFpbmVyKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdFN0YXRlKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxk
cmVuKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKyAgICB2aXJ0dWFsIHZvaWQgcG9z
dEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oCisgICAgICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3QqIG9iaiwgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24gbm90
aWZpY2F0aW9uKTsKIAogICAgIC8vIENocm9tZUNsaWVudEltcGw6CiAgICAgdm9pZCBzZXRDdXJz
b3IoY29uc3QgV2ViQ3Vyc29ySW5mbyYgY3Vyc29yKTsKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2Njk5
KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxsb3J5QGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2Vu
ZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorICAgICAgICAKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAg
IChXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisKIDIwMTAtMDktMDIgIFN0
ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDg5LDEwICs0ODksNjIgQEAgdm9pZCBXZWJWaWV3SG9zdDo6Zm9jdXNBY2Nlc3NpYmlsaXR5
T2JqZQogICAgIG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCktPnNldEZvY3VzZWRF
bGVtZW50KG9iamVjdCk7CiB9CiAKLXZvaWQgV2ViVmlld0hvc3Q6OmRpZENoYW5nZUFjY2Vzc2li
aWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3Qp
Cit2b2lkIFdlYlZpZXdIb3N0Ojpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25zdCBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmosIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24g
bm90aWZpY2F0aW9uKQogewotICAgIGlmIChtX3NoZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cigpLT5zaG91bGREdW1wQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMoKSkKLSAgICAgICAgcHJp
bnRmKCJkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4gLSBuZXcgY291bnQ6ICVk
XG4iLCBvYmplY3QuY2hpbGRDb3VudCgpKTsKKyAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpIHsK
KyAgICAgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKKyAgICAgICAgY2FzZSBBY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbiAtIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQ2hlY2tlZFN0YXRlQ2hhbmdlZCIpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICAgICAgcHJp
bnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQ2hpbGRyZW5DaGFuZ2VkIik7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAg
ICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEZvY3VzZWRVSUVs
ZW1lbnRDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMYXlvdXRD
b21wbGV0ZToKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IExheW91dENvbXBsZXRlIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMb2Fk
Q29tcGxldGU6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24g
LSBMb2FkQ29tcGxldGUiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNlbGVj
dGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIC0gU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIFNlbGVjdGVkVGV4dENoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYo
IkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBTZWxlY3RlZFRleHRDaGFuZ2VkIik7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBWYWx1ZUNoYW5nZWQ6CisgICAgICAgICAgICBw
cmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBWYWx1ZUNoYW5nZWQiKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNjcm9sbGVkVG9BbmNob3I6CisgICAgICAgICAg
ICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBTY3JvbGxlZFRvQW5jaG9yIik7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMaXZlUmVnaW9uQ2hhbmdlZDoKKyAg
ICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExpdmVSZWdpb25D
aGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBNZW51TGlzdFZhbHVl
Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IE1lbnVMaXN0VmFsdWVDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBSb3dDb3VudENoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gLSBSb3dDb3VudENoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIFJvd0NvbGxhcHNlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbiAtIFJvd0NvbGxhcHNlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgUm93RXhwYW5kZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gLSBSb3dFeHBhbmRlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KworICAgICAgICBpZiAoIW9iai5oZWxwVGV4dCgpLmlzTnVsbCgpKQorICAgICAgICAgICAgcHJp
bnRmKCIgLSBoZWxwVGV4dDolcyIsIG9iai5oZWxwVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOworCisg
ICAgICAgIHByaW50ZigiXG4iKTsKKyAgICB9CiB9CiAKIFdlYk5vdGlmaWNhdGlvblByZXNlbnRl
ciogV2ViVmlld0hvc3Q6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpCkluZGV4OiBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgJKHJldmlzaW9u
IDY2NDUzKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hv
c3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiTW9ja1Nw
ZWxsQ2hlY2suaCIKICNpbmNsdWRlICJUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNs
dWRlICJwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgInB1
YmxpYy9XZWJDdXJzb3JJbmZvLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkZyYW1lQ2xpZW50Lmgi
CiAjaW5jbHVkZSAicHVibGljL1dlYlZpZXdDbGllbnQuaCIKQEAgLTEyNiw3ICsxMjcsNyBAQCBj
bGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpCiAgICAgdmlydHVhbCBpbnQg
aGlzdG9yeUJhY2tMaXN0Q291bnQoKTsKICAgICB2aXJ0dWFsIGludCBoaXN0b3J5Rm9yd2FyZExp
c3RDb3VudCgpOwogICAgIHZpcnR1YWwgdm9pZCBmb2N1c0FjY2Vzc2liaWxpdHlPYmplY3QoY29u
c3QgV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7Ci0gICAgdmlydHVhbCB2b2lkIGRp
ZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBXZWJLaXQ6OldlYkFjY2Vz
c2liaWxpdHlPYmplY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdEFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24oY29uc3QgV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmosIFdlYktp
dDo6V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pOwogICAgIHZpcnR1
YWwgV2ViS2l0OjpXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRl
cigpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJHZW9sb2NhdGlvblNlcnZpY2UqIGdlb2xvY2F0
aW9uU2VydmljZSgpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJTcGVlY2hJbnB1dENvbnRyb2xs
ZXIqIHNwZWVjaElucHV0Q29udHJvbGxlcihXZWJLaXQ6OldlYlNwZWVjaElucHV0TGlzdGVuZXIq
KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2Njk5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5
ICAgPGNocmlzLmd1aWxsb3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRp
b25zIHRvIENocm9taXVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00NTE1NgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2Vk
LW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hl
Y2tlZFN0YXRlQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5n
ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJv
d0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4
cGFuZGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRy
ZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpz
OiBBZGRlZC4KKyAgICAgICAgKGVudW1BY2Nlc3NpYmlsaXR5T2JqZWN0cyk6CisgICAgICAgICh0
ZXN0RG9uZSk6CisgICAgICAgICh0ZXN0KToKKwogMjAxMC0wOS0wMiAgS2VudCBUYW11cmEgIDx0
a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdXBkYXRlIHRlc3QgZXhw
ZWN0YXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVu
LWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjY0NTMpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5n
ZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICswLDAg
QEAKLWRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbiAtIG5ldyBjb3VudDogMQot
VGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyBub3RpZmljYXRpb25z
IHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGNoYW5nZS4KLXRl
eHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hp
bGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZp
Y2F0aW9uLmh0bWwJKHJldmlzaW9uIDY2NDUzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUg
Y2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgY2hhbmdlLgotPGRpdj48L2Rpdj4K
LTxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gdGVzdERvbmUoKSB7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gdGVzdCgp
IHsKLSAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAg
ICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwot
Ci0gICAgICAgIGlmICghYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwgIWFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucykKLSAgICAgICAgICAgIHJl
dHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgIAotICAgICAgICAvLyBBY2Nlc3MgYWNjZXNzaWJpbGl0eSBvYmplY3QgdGhhdCB3aWxs
IGJlIGRlbGV0ZWQuCi0gICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKLSAgICAgICAgYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwotICAg
ICAgICAKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb25zKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBJbnNlcnQgYSBjaGlsZCBlbGVt
ZW50IG9uIHRoZSBkaXYuIFRoaXMgZ2VuZXJhdGVzIGFuIGFjY2Vzc2liaWxpdHkgY2hpbGRyZWQg
Y2hhbmdlZCBub3RpZmljYXRpb24uCi0gICAgICAgIGRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0u
aW5uZXJIVE1MID0gInRleHQiOwotCi0gICAgICAgIC8vIFVzZSBzZXRUaW1lb3V0IHNvIHRoYXQg
YXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyBjYW4gYmUgcHJvY2Vzc2Vk
LgotICAgICAgICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsKLSAgICB9Ci0KLSAgICB0ZXN0KCk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFu
dENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFu
dENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIC0gaGVscFRl
eHQ6dWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21p
dW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCBub3RpZmlj
YXRpb24uCitsaTEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3RO
b3RpZmljYXRpb24oKSB7CisgICAgICAgIHZhciByYWRpb2dyb3VwID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIpOworCisgICAgICAgIHJh
ZGlvZ3JvdXAuZm9jdXMoKTsKKyAgICAgICAgcmFkaW9ncm91cC5zZXRBdHRyaWJ1dGUoImFyaWEt
YWN0aXZlZGVzY2VuZGFudCIsICJyMSIpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSBy
ZWNpZXZlcyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8dWwg
aWQ9InVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIgYXJpYS1oZWxwPSJ1bC1mb3ItQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQiIHRhYmluZGV4PSIwIiByb2xlPSJyYWRpb2dyb3VwIj4KICAg
IDxsaSBpZD0icjEiPmxpMTwvbGk+CjwvdWw+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoZWNrZWRTdGF0ZUNo
YW5nZWQgLSBoZWxwVGV4dDpjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZAorVGhpcyB0
ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hlY2tlZFN0YXRlQ2hh
bmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3Rp
ZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVja2JveC1m
b3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIpLmNoZWNrZWQgPSB0cnVlOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hlY2tlZFN0YXRlQ2hhbmdlZCBub3RpZmljYXRp
b24uCisKKzxpbnB1dCBpZD0iY2hlY2tib3gtZm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQiIGFyaWEt
aGVscD0iY2hlY2tib3gtZm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQiIHR5cGU9ImNoZWNrYm94IiAv
PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlv
bi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hh
bmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24gLSBDaGlsZHJlbkNoYW5nZWQgLSBoZWxwVGV4dDpkaXYtZm9yLUNoaWxkcmVuQ2hhbmdlZAor
VGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hpbGRyZW5D
aGFuZ2VkIG5vdGlmaWNhdGlvbi4KK3RleHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRp
b24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYtZm9yLUNoaWxkcmVu
Q2hhbmdlZCIpLmlubmVySFRNTCA9ICJ0ZXh0IjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0
bHkgcmVjaWV2ZXMgdGhlIENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9
ImRpdi1mb3ItQ2hpbGRyZW5DaGFuZ2VkIiBhcmlhLWhlbHA9ImRpdi1mb3ItQ2hpbGRyZW5DaGFu
Z2VkIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1u
b3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1G
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1G
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwyIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCitBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIC0gQ2hpbGRyZW5DaGFuZ2VkCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRD
aGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAg
ICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBOb3Qgc2VudCB0byB0
aGUgY2hyb21pdW0gcG9ydCAtIHNlZSBoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZAorICAg
IH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0
cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxh
eW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29t
cGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0FjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENvbXBsZXRlIG5vdGlmaWNhdGlvbi4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91
dENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
ICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIC8vIE1hYyBzcGVjaWZp
YworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhp
cyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTGF5b3V0Q29tcGxl
dGUgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJw
b3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxp
dmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJl
Z2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMaXZlUmVnaW9uQ2hhbmdlZCAtIGhlbHBUZXh0OnVs
LWZvci1MaXZlUmVnaW9uQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3Rs
eSByZWNpZXZlcyB0aGUgTGl2ZVJlZ2lvbkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9u
Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
KyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidWwtZm9yLUxpdmVSZWdpb25DaGFuZ2VkIikudGl0bGUgPSAidGl0bGUiOwor
ICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0
ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTGl2ZVJlZ2lvbkNoYW5n
ZWQgbm90aWZpY2F0aW9uLgorCis8dWwgaWQ9InVsLWZvci1MaXZlUmVnaW9uQ2hhbmdlZCIgYXJp
YS1oZWxwPSJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQiIHJvbGU9InJlZ2lvbiIgYXJpYS1saXZl
PSJwb2xpdGUiIGFyaWEtcmVsZXZhbnQ9ImFkZGl0aW9ucyByZW1vdmFscyI+PC91bD4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQ2hpbGRyZW5DaGFu
Z2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2Fk
Q29tcGxldGUgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1M
b2FkQ29tcGxldGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAg
ICAgLy8gTWFjIHNwZWNpZmljCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVz
IHRoZSBMb2FkQ29tcGxldGUgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBNZW51TGlz
dFZhbHVlQ2hhbmdlZCAtIGhlbHBUZXh0OnNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQK
K1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIE1lbnVMaXN0
VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hh
bmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxOCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rp
b24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQiKS5zZWxlY3RlZEluZGV4ID0gMDsKKyAg
ICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVz
dHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFu
Z2VkIG5vdGlmaWNhdGlvbi4KKworPHNlbGVjdCBpZD0ic2VsZWN0LWZvci1NZW51TGlzdFZhbHVl
Q2hhbmdlZCIgYXJpYS1oZWxwPSJzZWxlY3QtZm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIj4KKwk8
b3B0aW9uPjwvb3B0aW9uPiAKKzwvc2VsZWN0PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dD
b2xsYXBzZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dDb2xsYXBzZWQgLSBoZWxwVGV4dDpkaXYtZm9yLVJv
d0NvbGxhcHNlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgUm93Q29sbGFwc2VkIG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigp
IHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1mb3ItUm93Q29sbGFwc2Vk
Iikuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwgZmFsc2UpOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5vdGlmaWNhdGlvbi4KKwor
PGRpdiBpZD0iZGl2LWZvci1Sb3dDb2xsYXBzZWQiIGFyaWEtaGVscD0iZGl2LWZvci1Sb3dDb2xs
YXBzZWQiIHJvbGU9InRyZWVpdGVtIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwz
IEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gUm93Q291bnRDaGFuZ2VkIC0gaGVscFRl
eHQ6ZGl2LWZvci1Sb3dDb3VudENoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50Q2hhbmdlZCBub3RpZmljYXRpb24uCisKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tUm93Q291bnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENo
YW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAg
IGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIHZhciBkaXYgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1Sb3dDb3VudENoYW5nZWQiKTsKKworICAgICAgICBk
aXYuY2hpbGRyZW5bMF0uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwgdHJ1ZSk7CisgICAg
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb3VudENoYW5nZWQgbm90
aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIgYXJpYS1oZWxw
PSJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIgcm9sZT0iZ3JpZCI+CisgICAgPGRpdj48L2Rpdj4K
KzwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlm
aWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4
cGFuZGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBS
b3dFeHBhbmRlZCAtIGhlbHBUZXh0OmRpdi1mb3ItUm93RXhwYW5kZWQKK1RoaXMgdGVzdHMgdGhh
dCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0V4cGFuZGVkIG5vdGlmaWNhdGlv
bi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93
RXhwYW5kZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAg
ZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImRpdi1mb3ItUm93RXhwYW5kZWQiKS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQi
LCB0cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgp
Ij4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0V4
cGFuZGVkIG5vdGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dFeHBhbmRlZCIgYXJp
YS1oZWxwPSJkaXYtZm9yLVJvd0V4cGFuZGVkIiByb2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisKKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IENoaWxkcmVuQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNp
ZXZlcyB0aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9s
bGVkVG9BbmNob3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlv
biB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21p
dW0gcG9ydCAtIHNlZSBoYW5kbGVTY3JvbGxlZFRvQW5jaG9yCisgICAgfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0g
Y29ycmVjdGx5IHJlY2lldmVzIHRoZSBTY3JvbGxlZFRvQW5jaG9yIG5vdGlmaWNhdGlvbi4KKwor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRy
ZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgLSBoZWxwVGV4
dDpzZWxlY3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hy
b21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCBub3Rp
ZmljYXRpb24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3RO
b3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3Qt
Zm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIikuc2VsZWN0ZWRJbmRleCA9IDA7CisgICAgfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRo
YXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZCBub3RpZmljYXRpb24uCisKKzxzZWxlY3QgaWQ9InNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJl
bkNoYW5nZWQiIGFyaWEtaGVscD0ic2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCIg
c2l6ZT0iNCI+CisgICAgPG9wdGlvbiB2YWx1ZT0iMSI+aXRlbSAxPC9vcHRpb24+Cis8L3NlbGVj
dD4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRp
b24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRl
eHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENo
YW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFu
Z2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRUZXh0Q2hhbmdlZCBu
b3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9u
KCkgeworICAgICAgICAvLyBNYWMgc3BlY2lmaWMgLSBzZWUgbm90aWZ5QWNjZXNzaWJpbGl0eUZv
clNlbGVjdGlvbkNoYW5nZQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgU2VsZWN0ZWRUZXh0Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBA
QAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgVmFsdWVD
aGFuZ2VkIG5vdGlmaWNhdGlvbi4gIAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFZhbHVl
Q2hhbmdlZCAtIGhlbHBUZXh0OnRleHQtZm9yLVZhbHVlQ2hhbmdlZApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1
ZUNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlm
aWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQtZm9yLVZh
bHVlQ2hhbmdlZCIpLnZhbHVlID0gImJ1dHRvbiIKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0
bHkgcmVjaWV2ZXMgdGhlIFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxpbnB1dCBpZD0i
dGV4dC1mb3ItVmFsdWVDaGFuZ2VkIiBhcmlhLWhlbHA9InRleHQtZm9yLVZhbHVlQ2hhbmdlZCIg
dHlwZT0idGV4dCIgdmFsdWU9InZhbHVlIiAvPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24uanMJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI1IEBACitmdW5jdGlvbiBlbnVtQWNj
ZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNzaWJpbGl0eU9iamVjdCkgeworICB2YXIgY291bnQgPSBh
Y2Nlc3NpYmlsaXR5T2JqZWN0LmNoaWxkcmVuQ291bnQ7CisgIGZvciAodmFyIGkgPSAwOyBpIDwg
Y291bnQ7ICsraSkKKyAgICBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNzaWJpbGl0eU9i
amVjdC5jaGlsZEF0SW5kZXgoaSkpOworfQorCitmdW5jdGlvbiB0ZXN0RG9uZSgpIHsKKyAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkgewor
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgCisgIC8vIEJ1aWxkIGFjY2Vzc2liaWxpdHkgdHJlZS4K
KyAgZG9jdW1lbnQuYm9keS5mb2N1cygpOworICBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQpOworCisgIC8vIFRlc3QgdGhlIGFj
Y2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uLgorICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5kdW1w
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMoKTsKKyAgdGVzdE5vdGlmaWNhdGlvbigpOworCisg
IC8vIFVzZSBzZXRUaW1lb3V0IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9ucyBjYW4gYmUgcHJvY2Vzc2VkLgorICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsK
K30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66463</attachid>
            <date>2010-09-02 19:50:51 -0700</date>
            <delta_ts>2010-09-07 03:18:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>45643</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjY5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDIgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0aW5nIGJpbmRpbmctdGVz
dHMgZXhwZWN0YXRpb25zIChmb3IgY2hhbmdlc2V0IDY2NTIxKS4KSW5kZXg6IFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0u
Y3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9B
WE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSwyOCArNjEsMTMg
QEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYQogCiAgICAgQ2hyb21l
Q2xpZW50Q2hyb21pdW0qIGNsaWVudCA9IHRvQ2hyb21lQ2xpZW50Q2hyb21pdW0ob2JqLT5kb2N1
bWVudEZyYW1lVmlldygpKTsKICAgICBpZiAoY2xpZW50KSB7Ci0gICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7Ci0gICAgICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAg
ICBjbGllbnQtPnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKG9iaiwgbm90aWZpY2F0aW9u
KTsKKworICAgICAgICAvLyBUT0RPOiBSZW1vdmUgYWZ0ZXIgdGhlIG5ldyBwb3N0QWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiBpcyB1c2VkIGRvd25zdHJlYW0uCisgICAgICAgIGlmIChub3RpZmlj
YXRpb24gPT0gQVhDaGVja2VkU3RhdGVDaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRD
aGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBpZiAobm90aWZpY2F0aW9u
ID09IEFYQ2hpbGRyZW5DaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nl
c3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4ob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgotICAgICAg
ICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMb2FkQ29tcGxldGU6
Ci0gICAgICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFJv
d0NvbGxhcHNlZDoKLSAgICAgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKLSAgICAgICAgY2Fz
ZSBBWFJvd0V4cGFuZGVkOgotICAgICAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hvcjoKLSAgICAg
ICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYU2VsZWN0
ZWRUZXh0Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9CiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvY2hyb21p
dW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvY2hy
b21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJDb3Jl
L3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNiArMzEsNyBAQAogI2lmbmRlZiBDaHJvbWVDbGllbnRDaHJvbWl1bV9oCiAjZGVmaW5lIENo
cm9tZUNsaWVudENocm9taXVtX2gKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNs
dWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC01OCw2
ICs1OSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3RpZmllZCBlbWJlZGRlciB0aGF0IHRo
ZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBoYXMgY2hhbmdlZC4KICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKEFjY2Vzc2li
aWxpdHlPYmplY3QqKSA9IDA7CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgYWJvdXQg
YW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2Njk5KQorKysgV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEw
LTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFj
Y2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKyAgICAgICAgCisgICAgICAgIFVz
ZSBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB0byBwYXNzIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9uCisgICAgICAgIHRvIGNocm9taXVtLiAKKworICAgICAgICAqIFdlYktpdC5neXA6
CisgICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaDogQWRkZWQu
CisgICAgICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0NsaWVudDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIHNy
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OnBvc3RBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorCiAy
MDEwLTA5LTAyICBJbHlhIFNoZXJtYW4gIDxpc2hlcm1hbkBnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDY2
NDUzKQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTEx
Myw2ICsxMTMsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9G
YWN0b3J5LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hl
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5oJywK
KyAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCcs
CiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAg
ICAgICAgICAgICAncHVibGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAg
ICAgICAgJ3B1YmxpYy9XZWJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oJywKSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5o
CShyZXZpc2lvbiAwKQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25faAorI2RlZmluZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uX2gKKworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8vIFRoZXNlIHZhbHVlcyBtdXN0IG1h
dGNoIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uIHZhbHVlcworZW51bSBX
ZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHsKKyAgICBBY3RpdmVEZXNjZW5kYW50Q2hhbmdl
ZCwKKyAgICBDaGVja2VkU3RhdGVDaGFuZ2VkLAorICAgIENoaWxkcmVuQ2hhbmdlZCwKKyAgICBG
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZCwKKyAgICBMYXlvdXRDb21wbGV0ZSwKKyAgICBMb2FkQ29t
cGxldGUsCisgICAgU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQsCisgICAgU2VsZWN0ZWRUZXh0Q2hh
bmdlZCwKKyAgICBWYWx1ZUNoYW5nZWQsCisgICAgU2Nyb2xsZWRUb0FuY2hvciwKKyAgICBMaXZl
UmVnaW9uQ2hhbmdlZCwKKyAgICBNZW51TGlzdFZhbHVlQ2hhbmdlZCwKKyAgICBSb3dDb3VudENo
YW5nZWQsCisgICAgUm93Q29sbGFwc2VkLAorICAgIFJvd0V4cGFuZGVkLAorfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
X2gKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCShyZXZpc2lvbiA2
NjQ1MykKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIFdlYlZpZXdDbGllbnRfaAogI2RlZmlu
ZSBXZWJWaWV3Q2xpZW50X2gKIAorI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24uaCIKICNpbmNsdWRlICJXZWJEcmFnT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiV2ViRWRpdGlu
Z0FjdGlvbi5oIgogI2luY2x1ZGUgIldlYkZpbGVDaG9vc2VyQ29tcGxldGlvbi5oIgpAQCAtMjgw
LDYgKzI4MSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3RpZmllcyBlbWJlZGRlciB0aGF0
IHRoZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBoYXMgY2hhbmdlZC4KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKGNvbnN0
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmKSB7IH0KKyAgICAKKyAgICAvLyBOb3RpZmllcyBlbWJl
ZGRlciBhYm91dCBhbiBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgICB2aXJ0dWFsIHZv
aWQgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9i
amVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikgeyB9
CiAKIAogICAgIC8vIERldmVsb3BlciB0b29scyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3Nl
cnRNYXRjaGluZ0VudW1zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0Fz
c2VydE1hdGNoaW5nRW51bXMuY3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYktpdC9jaHJvbWl1
bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2
LDcgQEAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQXBwbGlj
YXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRl
ICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiRWRpdG9ySW5zZXJ0QWN0aW9uLmgiCiAjaW5j
bHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFNtb290aGluZ01vZGUuaCIK
QEAgLTUwLDYgKzUxLDcgQEAKICNpbmNsdWRlICJVc2VyQ29udGVudFR5cGVzLmgiCiAjaW5jbHVk
ZSAiVXNlclNjcmlwdFR5cGVzLmgiCiAjaW5jbHVkZSAiVmlkZW9GcmFtZUNocm9taXVtLmgiCisj
aW5jbHVkZSAiV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYkFj
Y2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdC5o
IgogI2luY2x1ZGUgIldlYkNsaXBib2FyZC5oIgpAQCAtNzksNiArODEsMjIgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHVzaW5nIFdURjo6VGV4dENhc2VJbnNlbnNpdGl2ZTsKIH07CiAKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQWN0aXZlRGVzY2VuZGFudENoYW5nZWQsIEFYT2Jq
ZWN0Q2FjaGU6OkFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShDaGVja2VkU3RhdGVDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWENoZWNrZWRT
dGF0ZUNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDaGlsZHJlbkNoYW5n
ZWQsIEFYT2JqZWN0Q2FjaGU6OkFYQ2hpbGRyZW5DaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRm9jdXNlZFVJRWxlbWVudENoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMYXlv
dXRDb21wbGV0ZSwgQVhPYmplY3RDYWNoZTo6QVhMYXlvdXRDb21wbGV0ZSk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKExvYWRDb21wbGV0ZSwgQVhPYmplY3RDYWNoZTo6QVhMb2FkQ29t
cGxldGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTZWxlY3RlZENoaWxkcmVuQ2hh
bmdlZCwgQVhPYmplY3RDYWNoZTo6QVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFNlbGVjdGVkVGV4dENoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6
OkFYU2VsZWN0ZWRUZXh0Q2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFZh
bHVlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShTY3JvbGxlZFRvQW5jaG9yLCBBWE9iamVjdENhY2hlOjpBWFNjcm9s
bGVkVG9BbmNob3IpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMaXZlUmVnaW9uQ2hh
bmdlZCwgQVhPYmplY3RDYWNoZTo6QVhMaXZlUmVnaW9uQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKE1lbnVMaXN0VmFsdWVDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWE1l
bnVMaXN0VmFsdWVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oUm93Q291
bnRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWFJvd0NvdW50Q2hhbmdlZCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFJvd0NvbGxhcHNlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dDb2xs
YXBzZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShSb3dFeHBhbmRlZCwgQVhPYmpl
Y3RDYWNoZTo6QVhSb3dFeHBhbmRlZCk7CisKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQWNjZXNzaWJpbGl0eVJvbGVVbmtub3duLCBVbmtub3duUm9sZSk7CiBDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlQnV0dG9uLCBCdXR0b25Sb2xlKTsK
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVSYWRpb0J1
dHRvbiwgUmFkaW9CdXR0b25Sb2xlKTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21l
Q2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmNwcAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MTksNiArNzE5LDEzIEBAIHZv
aWQgQ2hyb21lQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWIKICAgICAgICAgbV93ZWJWaWV3
LT5jbGllbnQoKS0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkFjY2Vz
c2liaWxpdHlPYmplY3Qob2JqKSk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9zdEFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE9iamVj
dENhY2hlOjpBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7CisgICAgLy8gQWxlcnQgYXNz
aXN0aXZlIHRlY2hub2xvZ3kgYWJvdXQgdGhlIGFjY2Vzc2liaWxpdHkgb2JqZWN0IG5vdGlmaWNh
dGlvbi4KKyAgICBpZiAob2JqKQorICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5wb3N0QWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KG9iaiksIHN0YXRp
Y19jYXN0PFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24+KG5vdGlmaWNhdGlvbikpOworfQor
CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25QcmVzZW50ZXIqIENocm9t
ZUNsaWVudEltcGw6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0CiB7CkluZGV4OiBXZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTYz
LDYgKzE2Myw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcG9wdXBDbG9zZWQoV2ViQ29y
ZTo6UG9wdXBDb250YWluZXIqIHBvcHVwQ29udGFpbmVyKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdFN0YXRlKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmpl
Y3QqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxk
cmVuKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqKTsKKyAgICB2aXJ0dWFsIHZvaWQgcG9z
dEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oCisgICAgICAgIFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3QqIG9iaiwgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24gbm90
aWZpY2F0aW9uKTsKIAogICAgIC8vIENocm9tZUNsaWVudEltcGw6CiAgICAgdm9pZCBzZXRDdXJz
b3IoY29uc3QgV2ViQ3Vyc29ySW5mbyYgY3Vyc29yKTsKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2Njk5
KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxsb3J5QGdvb2dsZS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2Vu
ZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorICAgICAgICAKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAg
IChXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisKIDIwMTAtMDktMDIgIFN0
ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDg5LDEwICs0ODksNjIgQEAgdm9pZCBXZWJWaWV3SG9zdDo6Zm9jdXNBY2Nlc3NpYmlsaXR5
T2JqZQogICAgIG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCktPnNldEZvY3VzZWRF
bGVtZW50KG9iamVjdCk7CiB9CiAKLXZvaWQgV2ViVmlld0hvc3Q6OmRpZENoYW5nZUFjY2Vzc2li
aWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3Qp
Cit2b2lkIFdlYlZpZXdIb3N0Ojpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25zdCBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmosIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24g
bm90aWZpY2F0aW9uKQogewotICAgIGlmIChtX3NoZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cigpLT5zaG91bGREdW1wQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMoKSkKLSAgICAgICAgcHJp
bnRmKCJkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4gLSBuZXcgY291bnQ6ICVk
XG4iLCBvYmplY3QuY2hpbGRDb3VudCgpKTsKKyAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpIHsK
KyAgICAgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKKyAgICAgICAgY2FzZSBBY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbiAtIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQ2hlY2tlZFN0YXRlQ2hhbmdlZCIpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICAgICAgcHJp
bnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQ2hpbGRyZW5DaGFuZ2VkIik7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAg
ICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEZvY3VzZWRVSUVs
ZW1lbnRDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMYXlvdXRD
b21wbGV0ZToKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IExheW91dENvbXBsZXRlIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMb2Fk
Q29tcGxldGU6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24g
LSBMb2FkQ29tcGxldGUiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNlbGVj
dGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIC0gU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIFNlbGVjdGVkVGV4dENoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYo
IkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBTZWxlY3RlZFRleHRDaGFuZ2VkIik7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBWYWx1ZUNoYW5nZWQ6CisgICAgICAgICAgICBw
cmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBWYWx1ZUNoYW5nZWQiKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNjcm9sbGVkVG9BbmNob3I6CisgICAgICAgICAg
ICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBTY3JvbGxlZFRvQW5jaG9yIik7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMaXZlUmVnaW9uQ2hhbmdlZDoKKyAg
ICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExpdmVSZWdpb25D
aGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBNZW51TGlzdFZhbHVl
Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IE1lbnVMaXN0VmFsdWVDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBSb3dDb3VudENoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gLSBSb3dDb3VudENoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIFJvd0NvbGxhcHNlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbiAtIFJvd0NvbGxhcHNlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgUm93RXhwYW5kZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gLSBSb3dFeHBhbmRlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KworICAgICAgICBpZiAoIW9iai5oZWxwVGV4dCgpLmlzTnVsbCgpKQorICAgICAgICAgICAgcHJp
bnRmKCIgLSBoZWxwVGV4dDolcyIsIG9iai5oZWxwVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOworCisg
ICAgICAgIHByaW50ZigiXG4iKTsKKyAgICB9CiB9CiAKIFdlYk5vdGlmaWNhdGlvblByZXNlbnRl
ciogV2ViVmlld0hvc3Q6Om5vdGlmaWNhdGlvblByZXNlbnRlcigpCkluZGV4OiBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgJKHJldmlzaW9u
IDY2NDUzKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hv
c3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiTW9ja1Nw
ZWxsQ2hlY2suaCIKICNpbmNsdWRlICJUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNs
dWRlICJwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgInB1
YmxpYy9XZWJDdXJzb3JJbmZvLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkZyYW1lQ2xpZW50Lmgi
CiAjaW5jbHVkZSAicHVibGljL1dlYlZpZXdDbGllbnQuaCIKQEAgLTEyNiw3ICsxMjcsNyBAQCBj
bGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpCiAgICAgdmlydHVhbCBpbnQg
aGlzdG9yeUJhY2tMaXN0Q291bnQoKTsKICAgICB2aXJ0dWFsIGludCBoaXN0b3J5Rm9yd2FyZExp
c3RDb3VudCgpOwogICAgIHZpcnR1YWwgdm9pZCBmb2N1c0FjY2Vzc2liaWxpdHlPYmplY3QoY29u
c3QgV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7Ci0gICAgdmlydHVhbCB2b2lkIGRp
ZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBXZWJLaXQ6OldlYkFjY2Vz
c2liaWxpdHlPYmplY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdEFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24oY29uc3QgV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmosIFdlYktp
dDo6V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pOwogICAgIHZpcnR1
YWwgV2ViS2l0OjpXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRl
cigpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJHZW9sb2NhdGlvblNlcnZpY2UqIGdlb2xvY2F0
aW9uU2VydmljZSgpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJTcGVlY2hJbnB1dENvbnRyb2xs
ZXIqIHNwZWVjaElucHV0Q29udHJvbGxlcihXZWJLaXQ6OldlYlNwZWVjaElucHV0TGlzdGVuZXIq
KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2Njk5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5
ICAgPGNocmlzLmd1aWxsb3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRp
b25zIHRvIENocm9taXVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00NTE1NgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2Vk
LW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hl
Y2tlZFN0YXRlQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5n
ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJv
d0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4
cGFuZGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRy
ZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpz
OiBBZGRlZC4KKyAgICAgICAgKGVudW1BY2Nlc3NpYmlsaXR5T2JqZWN0cyk6CisgICAgICAgICh0
ZXN0RG9uZSk6CisgICAgICAgICh0ZXN0KToKKwogMjAxMC0wOS0wMiAgS2VudCBUYW11cmEgIDx0
a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdXBkYXRlIHRlc3QgZXhw
ZWN0YXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVu
LWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjY0NTMpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5n
ZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICswLDAg
QEAKLWRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbiAtIG5ldyBjb3VudDogMQot
VGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyBub3RpZmljYXRpb25z
IHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGNoYW5nZS4KLXRl
eHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hp
bGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZp
Y2F0aW9uLmh0bWwJKHJldmlzaW9uIDY2NDUzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUg
Y2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgY2hhbmdlLgotPGRpdj48L2Rpdj4K
LTxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gdGVzdERvbmUoKSB7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gdGVzdCgp
IHsKLSAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAg
ICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwot
Ci0gICAgICAgIGlmICghYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwgIWFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucykKLSAgICAgICAgICAgIHJl
dHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgIAotICAgICAgICAvLyBBY2Nlc3MgYWNjZXNzaWJpbGl0eSBvYmplY3QgdGhhdCB3aWxs
IGJlIGRlbGV0ZWQuCi0gICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKLSAgICAgICAgYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwotICAg
ICAgICAKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb25zKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBJbnNlcnQgYSBjaGlsZCBlbGVt
ZW50IG9uIHRoZSBkaXYuIFRoaXMgZ2VuZXJhdGVzIGFuIGFjY2Vzc2liaWxpdHkgY2hpbGRyZWQg
Y2hhbmdlZCBub3RpZmljYXRpb24uCi0gICAgICAgIGRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0u
aW5uZXJIVE1MID0gInRleHQiOwotCi0gICAgICAgIC8vIFVzZSBzZXRUaW1lb3V0IHNvIHRoYXQg
YXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyBjYW4gYmUgcHJvY2Vzc2Vk
LgotICAgICAgICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsKLSAgICB9Ci0KLSAgICB0ZXN0KCk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFu
dENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFu
dENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIC0gaGVscFRl
eHQ6dWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21p
dW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCBub3RpZmlj
YXRpb24uCitsaTEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3RO
b3RpZmljYXRpb24oKSB7CisgICAgICAgIHZhciByYWRpb2dyb3VwID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIpOworCisgICAgICAgIHJh
ZGlvZ3JvdXAuZm9jdXMoKTsKKyAgICAgICAgcmFkaW9ncm91cC5zZXRBdHRyaWJ1dGUoImFyaWEt
YWN0aXZlZGVzY2VuZGFudCIsICJyMSIpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSBy
ZWNpZXZlcyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8dWwg
aWQ9InVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIgYXJpYS1oZWxwPSJ1bC1mb3ItQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQiIHRhYmluZGV4PSIwIiByb2xlPSJyYWRpb2dyb3VwIj4KICAg
IDxsaSBpZD0icjEiPmxpMTwvbGk+CjwvdWw+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoZWNrZWRTdGF0ZUNo
YW5nZWQgLSBoZWxwVGV4dDpjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZAorVGhpcyB0
ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hlY2tlZFN0YXRlQ2hh
bmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3Rp
ZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVja2JveC1m
b3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIpLmNoZWNrZWQgPSB0cnVlOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hlY2tlZFN0YXRlQ2hhbmdlZCBub3RpZmljYXRp
b24uCisKKzxpbnB1dCBpZD0iY2hlY2tib3gtZm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQiIGFyaWEt
aGVscD0iY2hlY2tib3gtZm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQiIHR5cGU9ImNoZWNrYm94IiAv
PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlv
bi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hh
bmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24gLSBDaGlsZHJlbkNoYW5nZWQgLSBoZWxwVGV4dDpkaXYtZm9yLUNoaWxkcmVuQ2hhbmdlZAor
VGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hpbGRyZW5D
aGFuZ2VkIG5vdGlmaWNhdGlvbi4KK3RleHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRp
b24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYtZm9yLUNoaWxkcmVu
Q2hhbmdlZCIpLmlubmVySFRNTCA9ICJ0ZXh0IjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0
bHkgcmVjaWV2ZXMgdGhlIENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9
ImRpdi1mb3ItQ2hpbGRyZW5DaGFuZ2VkIiBhcmlhLWhlbHA9ImRpdi1mb3ItQ2hpbGRyZW5DaGFu
Z2VkIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1u
b3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1G
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1G
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUg
Rm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVu
dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5n
ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTm90
IHNlbnQgdG8gdGhlIGNocm9taXVtIHBvcnQgLSBzZWUgaGFuZGxlRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
K1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIEZvY3VzZWRV
SUVsZW1lbnRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAor
VGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTGF5b3V0Q29t
cGxldGUgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TGF5b3V0Q29tcGxldGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAg
ICAgICAgLy8gTWFjIHNwZWNpZmljCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIHRoZSBMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExpdmVSZWdpb25D
aGFuZ2VkIC0gaGVscFRleHQ6dWwtZm9yLUxpdmVSZWdpb25DaGFuZ2VkCitUaGlzIHRlc3RzIHRo
YXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMaXZlUmVnaW9uQ2hhbmdlZCBub3Rp
ZmljYXRpb24uCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxp
dmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7Cisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQi
KS50aXRsZSA9ICJ0aXRsZSI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVz
IHRoZSBMaXZlUmVnaW9uQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzx1bCBpZD0idWwtZm9yLUxp
dmVSZWdpb25DaGFuZ2VkIiBhcmlhLWhlbHA9InVsLWZvci1MaXZlUmVnaW9uQ2hhbmdlZCIgcm9s
ZT0icmVnaW9uIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1yZWxldmFudD0iYWRkaXRpb25zIHJl
bW92YWxzIj48L3VsPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0
LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxl
dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21p
dW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29tcGxldGUgbm90aWZpY2F0aW9uLgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0
ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rp
b24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNpZmljCisgICAgfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRo
YXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29tcGxldGUgbm90aWZpY2F0
aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNh
dGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0
VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFs
dWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1
ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0FjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24gLSBNZW51TGlzdFZhbHVlQ2hhbmdlZCAtIGhlbHBUZXh0OnNl
bGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBj
b3JyZWN0bHkgcmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4g
IApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxp
c3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNo
YW5nZWQiKS5zZWxlY3RlZEluZGV4ID0gMDsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkg
cmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHNlbGVj
dCBpZD0ic2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZCIgYXJpYS1oZWxwPSJzZWxlY3Qt
Zm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIj4KKwk8b3B0aW9uPjwvb3B0aW9uPiAKKzwvc2VsZWN0
PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlv
bi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNl
ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dD
b2xsYXBzZWQgLSBoZWxwVGV4dDpkaXYtZm9yLVJvd0NvbGxhcHNlZAorVGhpcyB0ZXN0cyB0aGF0
IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5vdGlmaWNhdGlv
bi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJv
d0NvbGxhcHNlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cisg
ICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRpdi1mb3ItUm93Q29sbGFwc2VkIikuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFu
ZGVkIiwgZmFsc2UpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0
ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUg
Um93Q29sbGFwc2VkIG5vdGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dDb2xsYXBz
ZWQiIGFyaWEtaGVscD0iZGl2LWZvci1Sb3dDb2xsYXBzZWQiIHJvbGU9InRyZWVpdGVtIj48L2Rp
dj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRp
b24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENo
YW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uIC0gUm93Q291bnRDaGFuZ2VkIC0gaGVscFRleHQ6ZGl2LWZvci1Sb3dDb3VudENoYW5nZWQK
K1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50
Q2hhbmdlZCBub3RpZmljYXRpb24uCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tUm93Q291bnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24o
KSB7CisgICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1S
b3dDb3VudENoYW5nZWQiKTsKKworICAgICAgICBkaXYuY2hpbGRyZW5bMF0uc2V0QXR0cmlidXRl
KCJhcmlhLWV4cGFuZGVkIiwgdHJ1ZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBSb3dDb3VudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJkaXYt
Zm9yLVJvd0NvdW50Q2hhbmdlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIg
cm9sZT0iZ3JpZCI+CisgICAgPGRpdj48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAK
K0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dFeHBhbmRlZCAtIGhlbHBUZXh0OmRpdi1m
b3ItUm93RXhwYW5kZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2
ZXMgdGhlIFJvd0V4cGFuZGVkIG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigp
IHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1mb3ItUm93RXhwYW5kZWQi
KS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCB0cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1
bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0V4cGFuZGVkIG5vdGlmaWNhdGlvbi4KKworPGRp
diBpZD0iZGl2LWZvci1Sb3dFeHBhbmRlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLVJvd0V4cGFuZGVk
IiByb2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
U2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAK
K1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNjcm9sbGVk
VG9BbmNob3Igbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlv
bigpIHsKKyAgICAgICAgLy8gTm90IHNlbnQgdG8gdGhlIGNocm9taXVtIHBvcnQgLSBzZWUgaGFu
ZGxlU2Nyb2xsZWRUb0FuY2hvcgorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbiAtIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIC0gaGVscFRleHQ6c2VsZWN0LWZvci1TZWxl
Y3RlZENoaWxkcmVuQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSBy
ZWNpZXZlcyB0aGUgU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1T
ZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3Rl
ZENoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgewor
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0LWZvci1TZWxlY3RlZENoaWxk
cmVuQ2hhbmdlZCIpLnNlbGVjdGVkSW5kZXggPSAwOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgor
Cis8c2VsZWN0IGlkPSJzZWxlY3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIiBhcmlhLWhl
bHA9InNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiIHNpemU9IjQiPgorICAgIDxv
cHRpb24gdmFsdWU9IjEiPml0ZW0gMTwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENoYW5nZWQgbm90aWZpY2F0aW9uLgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxl
Y3RlZFRleHRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENo
YW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8g
TWFjIHNwZWNpZmljIC0gc2VlIG5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UK
KyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENo
YW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1
ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK1RoaXMgdGVzdHMgdGhh
dCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFZhbHVlQ2hhbmdlZCBub3RpZmljYXRp
b24uICAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBWYWx1ZUNoYW5nZWQgLSBoZWxwVGV4
dDp0ZXh0LWZvci1WYWx1ZUNoYW5nZWQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
VmFsdWVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0LWZvci1WYWx1ZUNoYW5nZWQiKS52YWx1
ZSA9ICJidXR0b24iCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRl
c3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBW
YWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8aW5wdXQgaWQ9InRleHQtZm9yLVZhbHVlQ2hh
bmdlZCIgYXJpYS1oZWxwPSJ0ZXh0LWZvci1WYWx1ZUNoYW5nZWQiIHR5cGU9InRleHQiIHZhbHVl
PSJ2YWx1ZSIgLz4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1u
b3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qcwkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwyNSBAQAorZnVuY3Rpb24gZW51bUFjY2Vzc2liaWxpdHlPYmplY3Rz
KGFjY2Vzc2liaWxpdHlPYmplY3QpIHsKKyAgdmFyIGNvdW50ID0gYWNjZXNzaWJpbGl0eU9iamVj
dC5jaGlsZHJlbkNvdW50OworICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAg
ZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlPYmplY3QuY2hpbGRBdEluZGV4
KGkpKTsKK30KKworZnVuY3Rpb24gdGVzdERvbmUoKSB7CisgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgIAorICAvLyBCdWlsZCBhY2Nlc3NpYmlsaXR5IHRyZWUuCisgIGRvY3VtZW50LmJvZHku
Zm9jdXMoKTsKKyAgZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50KTsKKworICAvLyBUZXN0IHRoZSBhY2Nlc3NpYmlsaXR5IG5vdGlm
aWNhdGlvbi4KKyAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb25zKCk7CisgIHRlc3ROb3RpZmljYXRpb24oKTsKKworICAvLyBVc2Ugc2V0VGltZW91
dCBzbyB0aGF0IGFzeW5jaHJvbm91cyBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgY2FuIGJl
IHByb2Nlc3NlZC4KKyAgc2V0VGltZW91dCh0ZXN0RG9uZSwgMCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66472</attachid>
            <date>2010-09-02 23:08:13 -0700</date>
            <delta_ts>2010-09-03 09:00:39 -0700</delta_ts>
            <desc>Update LayoutTests expectations</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>2276</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY2NzE0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICA8
Y2hyaXMuZ3VpbGxvcnlAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgZm9yIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ1MTU2CisgICAgICAgIAorICAgICAgICBUZXN0cyBzaG91bGQgcGFz
cyB3aXRoaW4gY2hyb21pdW0gRFJUIGJ1dCBub3QgaW4gY2hyb21pdW0gVGVzdFNoZWxsLgorCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZHJ0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDEwLTA5LTAy
ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNjY0NDcpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMzQ0LDcgKzM0NCw3IEBAIEJVR19EUlQgV0lOIDogaHR0cC90ZXN0cy9s
b2FkaW5nL3ByZWxvYWQKIEJVR19EUlQgTUFDIExJTlVYIDogaHR0cC90ZXN0cy9taXNjL3Nsb3ct
bG9hZGluZy1pbWFnZS1pbi1wYXR0ZXJuLmh0bWwgPSBJTUFHRSBQQVNTCiBCVUdfRFJUIFdJTiBN
QUMgTElOVVggOiBmYXN0L2V2ZW50cy9zcGVjaWFsLWtleS1ldmVudHMtaW4taW5wdXQtdGV4dC5o
dG1sID0gVEVYVAogQlVHX0RSVCBXSU4gTUFDIDogZmFzdC9kb20vR2VvbG9jYXRpb24vZGVsYXll
ZC1wZXJtaXNzaW9uLWFsbG93ZWQtZm9yLW11bHRpcGxlLXJlcXVlc3RzLmh0bWwgPSBUSU1FT1VU
Ci1CVUdfRFJUIDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFu
Z2VkLW5vdGlmaWNhdGlvbi5odG1sID0gUEFTUworQlVHX0RSVCA6IHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkgPSBQQVNTCiAKIC8vIFdpbmRvd3MgZmFpbHVyZXMgZnJvbSB0aGUgbmV3
IGJ1aWxkIHNsYXZlIChzb21lIG1heSBiZSBWaXN0YS9YUCBkaWZmcykKIEJVR19EUlQgV0lOIDog
Y3NzMi4xL3QwODA1LWM1NTE5LWJyZHItci0wMS1lLmh0bWwgPSBJTUFHRStURVhUCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CShyZXZpc2lvbiA2NjQ0NykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTQ1LDcgKzk0NSw3IEBAIEJV
RzEwMzIyIERFRkVSIFNLSVAgOiBwbGF0Zm9ybS9tYWMvYWNjZXMKIEJVRzEwMzIyIERFRkVSIFNL
SVAgOiBwbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eSA9IFBBU1MgRkFJTAogCiAvLyBGdW5jdGlv
bmFsaXR5IGlzIHN1cHBvcnRlZCBpbiBEUlQgYnV0IG5vdCBUZXN0U2hlbGwKLVdPTlRGSVggU0tJ
UCA6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3Rp
ZmljYXRpb24uaHRtbCA9IEZBSUwKK1dPTlRGSVggU0tJUCA6IHBsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkgPSBGQUlMCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBPdGhlciBmYWlsdXJlcwo=
</data>
<flag name="review"
          id="55506"
          type_id="1"
          status="-"
          setter="dglazkov"
    />
    <flag name="commit-queue"
          id="55507"
          type_id="3"
          status="-"
          setter="dglazkov"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66504</attachid>
            <date>2010-09-03 09:00:39 -0700</date>
            <delta_ts>2010-09-08 13:53:58 -0700</delta_ts>
            <desc>Send accessibility notifications and update chromium test expectations</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>47307</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjY5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDIgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0aW5nIGJpbmRpbmctdGVz
dHMgZXhwZWN0YXRpb25zIChmb3IgY2hhbmdlc2V0IDY2NTIxKS4KSW5kZXg6IFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0u
Y3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9B
WE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSwyOCArNjEsMTMg
QEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYQogCiAgICAgQ2hyb21l
Q2xpZW50Q2hyb21pdW0qIGNsaWVudCA9IHRvQ2hyb21lQ2xpZW50Q2hyb21pdW0ob2JqLT5kb2N1
bWVudEZyYW1lVmlldygpKTsKICAgICBpZiAoY2xpZW50KSB7Ci0gICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7Ci0gICAgICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAg
ICBjbGllbnQtPnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKG9iaiwgbm90aWZpY2F0aW9u
KTsKKworICAgICAgICAvLyBUT0RPOiBSZW1vdmUgYWZ0ZXIgdGhlIG5ldyBwb3N0QWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiBpcyB1c2VkIGRvd25zdHJlYW0uCisgICAgICAgIGlmIChub3RpZmlj
YXRpb24gPT0gQVhDaGVja2VkU3RhdGVDaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRD
aGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBpZiAobm90aWZpY2F0aW9u
ID09IEFYQ2hpbGRyZW5DaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nl
c3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4ob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgotICAgICAg
ICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMb2FkQ29tcGxldGU6
Ci0gICAgICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFJv
d0NvbGxhcHNlZDoKLSAgICAgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKLSAgICAgICAgY2Fz
ZSBBWFJvd0V4cGFuZGVkOgotICAgICAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hvcjoKLSAgICAg
ICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYU2VsZWN0
ZWRUZXh0Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9CiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvY2hyb21p
dW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvY2hy
b21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJDb3Jl
L3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNiArMzEsNyBAQAogI2lmbmRlZiBDaHJvbWVDbGllbnRDaHJvbWl1bV9oCiAjZGVmaW5lIENo
cm9tZUNsaWVudENocm9taXVtX2gKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNs
dWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC01OCw2
ICs1OSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3RpZmllZCBlbWJlZGRlciB0aGF0IHRo
ZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBoYXMgY2hhbmdlZC4KICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKEFjY2Vzc2li
aWxpdHlPYmplY3QqKSA9IDA7CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgYWJvdXQg
YW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2Njk5KQorKysgV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEw
LTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFj
Y2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKyAgICAgICAgCisgICAgICAgIFVz
ZSBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB0byBwYXNzIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9uCisgICAgICAgIHRvIGNocm9taXVtLiAKKworICAgICAgICAqIFdlYktpdC5neXA6
CisgICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaDogQWRkZWQu
CisgICAgICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0NsaWVudDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIHNy
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OnBvc3RBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorCiAy
MDEwLTA5LTAyICBJbHlhIFNoZXJtYW4gIDxpc2hlcm1hbkBnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDY2
NDUzKQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTEx
Miw2ICsxMTIsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBw
b3J0LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9GYWN0b3J5
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmgnLAor
ICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oJywK
ICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAko
cmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uX2gKKyNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbl9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBUaGVzZSB2YWx1ZXMgbXVzdCBtYXRj
aCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiB2YWx1ZXMKK2VudW0gV2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB7CisgICAgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQs
CisgICAgQ2hlY2tlZFN0YXRlQ2hhbmdlZCwKKyAgICBDaGlsZHJlbkNoYW5nZWQsCisgICAgRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQsCisgICAgTGF5b3V0Q29tcGxldGUsCisgICAgTG9hZENvbXBs
ZXRlLAorICAgIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAgIFNlbGVjdGVkVGV4dENoYW5n
ZWQsCisgICAgVmFsdWVDaGFuZ2VkLAorICAgIFNjcm9sbGVkVG9BbmNob3IsCisgICAgTGl2ZVJl
Z2lvbkNoYW5nZWQsCisgICAgTWVudUxpc3RWYWx1ZUNoYW5nZWQsCisgICAgUm93Q291bnRDaGFu
Z2VkLAorICAgIFJvd0NvbGxhcHNlZCwKKyAgICBSb3dFeHBhbmRlZCwKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbl9o
CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkocmV2aXNpb24gNjY0
NTMpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJWaWV3Q2xpZW50X2gKICNkZWZpbmUg
V2ViVmlld0NsaWVudF9oCiAKKyNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
LmgiCiAjaW5jbHVkZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYkVkaXRpbmdB
Y3Rpb24uaCIKICNpbmNsdWRlICJXZWJGaWxlQ2hvb3NlckNvbXBsZXRpb24uaCIKQEAgLTI4MCw2
ICsyODEsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgdGhhdCB0
aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgaGFzIGNoYW5nZWQuCiAgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JikgeyB9CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRk
ZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lk
IHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QmIG9iaiwgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pIHsgfQog
CiAKICAgICAvLyBEZXZlbG9wZXIgdG9vbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0
TWF0Y2hpbmdFbnVtcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3Nl
cnRNYXRjaGluZ0VudW1zLmNwcAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJLaXQvY2hyb21pdW0v
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3
IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgIkFwcGxpY2F0
aW9uQ2FjaGVIb3N0LmgiCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAi
QVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkVkaXRvckluc2VydEFjdGlvbi5oIgogI2luY2x1
ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRTbW9vdGhpbmdNb2RlLmgiCkBA
IC01MCw2ICs1MSw3IEBACiAjaW5jbHVkZSAiVXNlckNvbnRlbnRUeXBlcy5oIgogI2luY2x1ZGUg
IlVzZXJTY3JpcHRUeXBlcy5oIgogI2luY2x1ZGUgIlZpZGVvRnJhbWVDaHJvbWl1bS5oIgorI2lu
Y2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViQXBwbGljYXRpb25DYWNoZUhvc3QuaCIK
ICNpbmNsdWRlICJXZWJDbGlwYm9hcmQuaCIKQEAgLTc5LDYgKzgxLDIyIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICB1c2luZyBXVEY6OlRleHRDYXNlSW5zZW5zaXRpdmU7CiB9OwogCitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLCBBWE9iamVj
dENhY2hlOjpBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oQ2hlY2tlZFN0YXRlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhDaGVja2VkU3Rh
dGVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ2hpbGRyZW5DaGFuZ2Vk
LCBBWE9iamVjdENhY2hlOjpBWENoaWxkcmVuQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWEZvY3Vz
ZWRVSUVsZW1lbnRDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTGF5b3V0
Q29tcGxldGUsIEFYT2JqZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGUpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShMb2FkQ29tcGxldGUsIEFYT2JqZWN0Q2FjaGU6OkFYTG9hZENvbXBs
ZXRlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oU2VsZWN0ZWRDaGlsZHJlbkNoYW5n
ZWQsIEFYT2JqZWN0Q2FjaGU6OkFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShTZWxlY3RlZFRleHRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpB
WFNlbGVjdGVkVGV4dENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShWYWx1
ZUNoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oU2Nyb2xsZWRUb0FuY2hvciwgQVhPYmplY3RDYWNoZTo6QVhTY3JvbGxl
ZFRvQW5jaG9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTGl2ZVJlZ2lvbkNoYW5n
ZWQsIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShNZW51TGlzdFZhbHVlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhNZW51
TGlzdFZhbHVlQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFJvd0NvdW50
Q2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dDb3VudENoYW5nZWQpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShSb3dDb2xsYXBzZWQsIEFYT2JqZWN0Q2FjaGU6OkFYUm93Q29sbGFw
c2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oUm93RXhwYW5kZWQsIEFYT2JqZWN0
Q2FjaGU6OkFYUm93RXhwYW5kZWQpOworCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkFjY2Vzc2liaWxpdHlSb2xlVW5rbm93biwgVW5rbm93blJvbGUpOwogQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5Um9sZUJ1dHRvbiwgQnV0dG9uUm9sZSk7CiBD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlUmFkaW9CdXR0
b24sIFJhZGlvQnV0dG9uUm9sZSk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5jcHAJKHJldmlzaW9uIDY2NDUzKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzE5LDYgKzcxOSwxMyBAQCB2b2lk
IENocm9tZUNsaWVudEltcGw6OmRpZENoYW5nZUFjY2Vzc2liCiAgICAgICAgIG1fd2ViVmlldy0+
Y2xpZW50KCktPmRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0KG9iaikpOwogfQogCit2b2lkIENocm9tZUNsaWVudEltcGw6OnBvc3RBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKQoreworICAgIC8vIEFsZXJ0IGFzc2lz
dGl2ZSB0ZWNobm9sb2d5IGFib3V0IHRoZSBhY2Nlc3NpYmlsaXR5IG9iamVjdCBub3RpZmljYXRp
b24uCisgICAgaWYgKG9iaikKKyAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+cG9zdEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24oV2ViQWNjZXNzaWJpbGl0eU9iamVjdChvYmopLCBzdGF0aWNf
Y2FzdDxXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uPihub3RpZmljYXRpb24pKTsKK30KKwog
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogTm90aWZpY2F0aW9uUHJlc2VudGVyKiBDaHJvbWVD
bGllbnRJbXBsOjpub3RpZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdAogewpJbmRleDogV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJKHJldmlzaW9uIDY2NDUzKQorKysgV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Myw2
ICsxNjMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvcHVwQ2xvc2VkKFdlYkNvcmU6
OlBvcHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5lcik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENo
YW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJl
bihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKAorICAgICAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBvYmosIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uIG5vdGlm
aWNhdGlvbik7CiAKICAgICAvLyBDaHJvbWVDbGllbnRJbXBsOgogICAgIHZvaWQgc2V0Q3Vyc29y
KGNvbnN0IFdlYkN1cnNvckluZm8mIGN1cnNvcik7CkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NjY5OSkK
KysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDEwLTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQg
YWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKyAgICAgICAgCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAgICAo
V2ViVmlld0hvc3Q6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oOgorCiAyMDEwLTA5LTAyICBTdGV2
ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
ZGFtIEJhcnRoLgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
Vmlld0hvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlZpZXdIb3N0LmNwcAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ4OSwxMCArNDg5LDYyIEBAIHZvaWQgV2ViVmlld0hvc3Q6OmZvY3VzQWNjZXNzaWJpbGl0eU9i
amUKICAgICBtX3NoZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpLT5zZXRGb2N1c2VkRWxl
bWVudChvYmplY3QpOwogfQogCi12b2lkIFdlYlZpZXdIb3N0OjpkaWRDaGFuZ2VBY2Nlc3NpYmls
aXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQor
dm9pZCBXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5v
dGlmaWNhdGlvbikKIHsKLSAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIo
KS0+c2hvdWxkRHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpCi0gICAgICAgIHByaW50
ZigiZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0gbmV3IGNvdW50OiAlZFxu
Iiwgb2JqZWN0LmNoaWxkQ291bnQoKSk7CisgICAgaWYgKG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKCktPnNob3VsZER1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpKSB7Cisg
ICAgICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7CisgICAgICAgIGNhc2UgQWN0aXZlRGVzY2Vu
ZGFudENoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24gLSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgQ2hlY2tlZFN0YXRlQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoZWNrZWRTdGF0ZUNoYW5nZWQiKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIENoaWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50
ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZCIpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQ6CisgICAg
ICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBGb2N1c2VkVUlFbGVt
ZW50Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTGF5b3V0Q29t
cGxldGU6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBM
YXlvdXRDb21wbGV0ZSIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTG9hZENv
bXBsZXRlOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
TG9hZENvbXBsZXRlIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTZWxlY3Rl
ZENoaWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbiAtIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBTZWxlY3RlZFRleHRDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgVmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAgcHJp
bnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gVmFsdWVDaGFuZ2VkIik7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTY3JvbGxlZFRvQW5jaG9yOgorICAgICAgICAgICAg
cHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gU2Nyb2xsZWRUb0FuY2hvciIpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTGl2ZVJlZ2lvbkNoYW5nZWQ6CisgICAg
ICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMaXZlUmVnaW9uQ2hh
bmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTWVudUxpc3RWYWx1ZUNo
YW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBN
ZW51TGlzdFZhbHVlQ2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
Um93Q291bnRDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gUm93Q291bnRDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBSb3dDb2xsYXBzZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gLSBSb3dDb2xsYXBzZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIFJvd0V4cGFuZGVkOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gUm93RXhwYW5kZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK
KyAgICAgICAgaWYgKCFvYmouaGVscFRleHQoKS5pc051bGwoKSkKKyAgICAgICAgICAgIHByaW50
ZigiIC0gaGVscFRleHQ6JXMiLCBvYmouaGVscFRleHQoKS51dGY4KCkuZGF0YSgpKTsKKworICAg
ICAgICBwcmludGYoIlxuIik7CisgICAgfQogfQogCiBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIq
IFdlYlZpZXdIb3N0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKQpJbmRleDogV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCShyZXZpc2lvbiA2
NjQ1MykKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIk1vY2tTcGVs
bENoZWNrLmgiCiAjaW5jbHVkZSAiVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVk
ZSAicHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJwdWJs
aWMvV2ViQ3Vyc29ySW5mby5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJGcmFtZUNsaWVudC5oIgog
I2luY2x1ZGUgInB1YmxpYy9XZWJWaWV3Q2xpZW50LmgiCkBAIC0xMjYsNyArMTI3LDcgQEAgY2xh
c3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpXZWJWaQogICAgIHZpcnR1YWwgaW50IGhp
c3RvcnlCYWNrTGlzdENvdW50KCk7CiAgICAgdmlydHVhbCBpbnQgaGlzdG9yeUZvcndhcmRMaXN0
Q291bnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNBY2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0
IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpOwotICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2ViS2l0OjpXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uKGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqLCBXZWJLaXQ6
OldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKTsKICAgICB2aXJ0dWFs
IFdlYktpdDo6V2ViTm90aWZpY2F0aW9uUHJlc2VudGVyKiBub3RpZmljYXRpb25QcmVzZW50ZXIo
KTsKICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViR2VvbG9jYXRpb25TZXJ2aWNlKiBnZW9sb2NhdGlv
blNlcnZpY2UoKTsKICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViU3BlZWNoSW5wdXRDb250cm9sbGVy
KiBzcGVlY2hJbnB1dENvbnRyb2xsZXIoV2ViS2l0OjpXZWJTcGVlY2hJbnB1dExpc3RlbmVyKik7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiA2NjczMykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDEwLTA5LTAzICBDaHJpcyBHdWlsbG9yeSAg
IDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9u
cyB0byBDaHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDUxNTYKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
Y2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1u
b3RpZmljYXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNr
ZWRTdGF0ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRV
SUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2Vk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dD
b3VudENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBh
bmRlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qczog
QWRkZWQuCisgICAgICAgIChlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMpOgorICAgICAgICAodGVz
dERvbmUpOgorICAgICAgICAodGVzdCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZHJ0
X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0OgorCiAyMDEwLTA5LTAzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpcmsgU2NodWx6ZS4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2RydF9leHBlY3RhdGlvbnMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2RydF9leHBlY3RhdGlvbnMu
dHh0CShyZXZpc2lvbiA2NjQ1MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Ry
dF9leHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zNDQsNyArMzQ0LDcgQEAgQlVH
X0RSVCBXSU4gOiBodHRwL3Rlc3RzL2xvYWRpbmcvcHJlbG9hZAogQlVHX0RSVCBNQUMgTElOVVgg
OiBodHRwL3Rlc3RzL21pc2Mvc2xvdy1sb2FkaW5nLWltYWdlLWluLXBhdHRlcm4uaHRtbCA9IElN
QUdFIFBBU1MKIEJVR19EUlQgV0lOIE1BQyBMSU5VWCA6IGZhc3QvZXZlbnRzL3NwZWNpYWwta2V5
LWV2ZW50cy1pbi1pbnB1dC10ZXh0Lmh0bWwgPSBURVhUCiBCVUdfRFJUIFdJTiBNQUMgOiBmYXN0
L2RvbS9HZW9sb2NhdGlvbi9kZWxheWVkLXBlcm1pc3Npb24tYWxsb3dlZC1mb3ItbXVsdGlwbGUt
cmVxdWVzdHMuaHRtbCA9IFRJTUVPVVQKLUJVR19EUlQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgPSBQQVNTCitCVUdf
RFJUIDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IFBBU1MKIAogLy8gV2luZG93
cyBmYWlsdXJlcyBmcm9tIHRoZSBuZXcgYnVpbGQgc2xhdmUgKHNvbWUgbWF5IGJlIFZpc3RhL1hQ
IGRpZmZzKQogQlVHX0RSVCBXSU4gOiBjc3MyLjEvdDA4MDUtYzU1MTktYnJkci1yLTAxLWUuaHRt
bCA9IElNQUdFK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDY2NDUzKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC05NDUsNyArOTQ1LDcgQEAgQlVHMTAzMjIgREVGRVIgU0tJUCA6IHBsYXRmb3JtL21hYy9h
Y2NlcwogQlVHMTAzMjIgREVGRVIgU0tJUCA6IHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5ID0g
UEFTUyBGQUlMCiAKIC8vIEZ1bmN0aW9uYWxpdHkgaXMgc3VwcG9ydGVkIGluIERSVCBidXQgbm90
IFRlc3RTaGVsbAotV09OVEZJWCBTS0lQIDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sID0gRkFJTAorV09OVEZJWCBTS0lQ
IDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IEZBSUwKIAogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IC8vIE90aGVyIGZhaWx1cmVzCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjY0
NTMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxk
cmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwzICswLDAgQEAKLWRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbiAtIG5ldyBj
b3VudDogMQotVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyBub3Rp
ZmljYXRpb25zIHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGNo
YW5nZS4KLXRleHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5n
ZWQtbm90aWZpY2F0aW9uLmh0bWwJKHJldmlzaW9uIDY2NDUzKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlv
bi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLTxodG1sPgotPGJvZHk+Ci1U
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIG5vdGlmaWNhdGlvbnMg
d2hlbiB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgY2hhbmdlLgotPGRp
dj48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gdGVzdERvbmUoKSB7Ci0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rp
b24gdGVzdCgpIHsKLSAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOwotCi0gICAgICAgIGlmICghYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwgIWFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucykKLSAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBBY2Nlc3MgYWNjZXNzaWJpbGl0eSBvYmplY3Qg
dGhhdCB3aWxsIGJlIGRlbGV0ZWQuCi0gICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKLSAg
ICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4
KDApOwotICAgICAgICAKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBJbnNlcnQgYSBj
aGlsZCBlbGVtZW50IG9uIHRoZSBkaXYuIFRoaXMgZ2VuZXJhdGVzIGFuIGFjY2Vzc2liaWxpdHkg
Y2hpbGRyZWQgY2hhbmdlZCBub3RpZmljYXRpb24uCi0gICAgICAgIGRvY3VtZW50LmJvZHkuY2hp
bGRyZW5bMF0uaW5uZXJIVE1MID0gInRleHQiOwotCi0gICAgICAgIC8vIFVzZSBzZXRUaW1lb3V0
IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyBjYW4gYmUg
cHJvY2Vzc2VkLgotICAgICAgICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsKLSAgICB9Ci0KLSAg
ICB0ZXN0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZl
RGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZl
RGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3Rp
dmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2Vk
IC0gaGVscFRleHQ6dWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitUaGlzIHRlc3RzIHRo
YXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdl
ZCBub3RpZmljYXRpb24uCitsaTEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0
aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIHZhciByYWRpb2dyb3VwID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIpOworCisg
ICAgICAgIHJhZGlvZ3JvdXAuZm9jdXMoKTsKKyAgICAgICAgcmFkaW9ncm91cC5zZXRBdHRyaWJ1
dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsICJyMSIpOworICAgIH0KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNv
cnJlY3RseSByZWNpZXZlcyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQgbm90aWZpY2F0aW9u
LgorCis8dWwgaWQ9InVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIgYXJpYS1oZWxwPSJ1
bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiIHRhYmluZGV4PSIwIiByb2xlPSJyYWRpb2dy
b3VwIj4KKyAgICA8bGkgaWQ9InIxIj5saTE8L2xpPgorPC91bD4KKworPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQ2hl
Y2tlZFN0YXRlQ2hhbmdlZCAtIGhlbHBUZXh0OmNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFu
Z2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVj
a2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rp
b24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIikuY2hlY2tlZCA9IHRydWU7CisgICAg
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVja2VkU3RhdGVDaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KKworPGlucHV0IGlkPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hh
bmdlZCIgYXJpYS1oZWxwPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIgdHlwZT0i
Y2hlY2tib3giIC8+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qt
bm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Q2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZCAtIGhlbHBUZXh0OmRpdi1mb3ItQ2hpbGRy
ZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgordGV4dApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJl
bkNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVz
dE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1m
b3ItQ2hpbGRyZW5DaGFuZ2VkIikuaW5uZXJIVE1MID0gInRleHQiOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4K
KworPGRpdiBpZD0iZGl2LWZvci1DaGlsZHJlbkNoYW5nZWQiIGFyaWEtaGVscD0iZGl2LWZvci1D
aGlsZHJlbkNoYW5nZWQiPjwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAg
ICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9ydCAtIHNlZSBoYW5kbGVGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZAorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgeworICAgICAgICAvLyBNYWMgc3BlY2lmaWMKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
TGl2ZVJlZ2lvbkNoYW5nZWQgLSBoZWxwVGV4dDp1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQKK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25D
aGFuZ2VkIG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNh
dGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1MaXZlUmVn
aW9uQ2hhbmdlZCIpLnRpdGxlID0gInRpdGxlIjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0
bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHVsIGlk
PSJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQiIGFyaWEtaGVscD0idWwtZm9yLUxpdmVSZWdpb25D
aGFuZ2VkIiByb2xlPSJyZWdpb24iIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLXJlbGV2YW50PSJh
ZGRpdGlvbnMgcmVtb3ZhbHMiPjwvdWw+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21w
bGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExvYWRDb21wbGV0ZSBub3RpZmlj
YXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TG9hZENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
KyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBNYWMgc3BlY2lm
aWMKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExvYWRDb21wbGV0
ZSBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBv
c3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1N
ZW51TGlzdFZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIC0g
aGVscFRleHQ6c2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0
IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTWVudUxpc3RWYWx1ZUNoYW5nZWQgbm90
aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0LWZvci1NZW51
TGlzdFZhbHVlQ2hhbmdlZCIpLnNlbGVjdGVkSW5kZXggPSAwOworICAgIH0KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTWVudUxpc3RWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9u
LgorCis8c2VsZWN0IGlkPSJzZWxlY3QtZm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIiBhcmlhLWhl
bHA9InNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQiPgorCTxvcHRpb24+PC9vcHRpb24+
IAorPC9zZWxlY3Q+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qt
bm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Um93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbiAtIFJvd0NvbGxhcHNlZCAtIGhlbHBUZXh0OmRpdi1mb3ItUm93Q29sbGFwc2VkCitUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb2xsYXBzZWQg
bm90aWZpY2F0aW9uLgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxh
cHNlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1Sb3dDb2xsYXBzZWQiKS5zZXRBdHRyaWJ1dGUo
ImFyaWEtZXhwYW5kZWQiLCBmYWxzZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBSb3dDb2xsYXBzZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9y
LVJvd0NvbGxhcHNlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLVJvd0NvbGxhcHNlZCIgcm9sZT0idHJl
ZWl0ZW0iPjwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0
LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3Vu
dENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5n
ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24gLSBSb3dDb3VudENoYW5nZWQgLSBoZWxwVGV4dDpkaXYtZm9yLVJvd0Nv
dW50Q2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgUm93Q291bnRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENo
YW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5v
dGlmaWNhdGlvbigpIHsKKyAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIpOworCisgICAgICAgIGRpdi5jaGlsZHJlblswXS5z
ZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCB0cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBj
b3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxk
aXYgaWQ9ImRpdi1mb3ItUm93Q291bnRDaGFuZ2VkIiBhcmlhLWhlbHA9ImRpdi1mb3ItUm93Q291
bnRDaGFuZ2VkIiByb2xlPSJncmlkIj4KKyAgICA8ZGl2PjwvZGl2PgorPC9kaXY+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0V4cGFuZGVkIC0gaGVs
cFRleHQ6ZGl2LWZvci1Sb3dFeHBhbmRlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgUm93RXhwYW5kZWQgbm90aWZpY2F0aW9uLgorCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVJvd0V4cGFuZGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90
aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1S
b3dFeHBhbmRlZCIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIHRydWUpOworICAgIH0K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93RXhwYW5kZWQgbm90aWZpY2F0
aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9yLVJvd0V4cGFuZGVkIiBhcmlhLWhlbHA9ImRpdi1mb3It
Um93RXhwYW5kZWQiIHJvbGU9InRyZWVpdGVtIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9B
bmNob3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0
Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9y
dCAtIHNlZSBoYW5kbGVTY3JvbGxlZFRvQW5jaG9yCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBTY3JvbGxlZFRvQW5jaG9yIG5vdGlmaWNhdGlvbi4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFu
Z2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uIC0gU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgLSBoZWxwVGV4dDpzZWxl
Y3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0g
Y29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRp
b24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmlj
YXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3QtZm9yLVNl
bGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIikuc2VsZWN0ZWRJbmRleCA9IDA7CisgICAgfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hy
b21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCBub3Rp
ZmljYXRpb24uCisKKzxzZWxlY3QgaWQ9InNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5n
ZWQiIGFyaWEtaGVscD0ic2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCIgc2l6ZT0i
NCI+CisgICAgPG9wdGlvbiB2YWx1ZT0iMSI+aXRlbSAxPC9vcHRpb24+Cis8L3NlbGVjdD4KKwor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFu
Z2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNo
cm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRUZXh0Q2hhbmdlZCBub3RpZmlj
YXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgewor
ICAgICAgICAvLyBNYWMgc3BlY2lmaWMgLSBzZWUgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVj
dGlvbkNoYW5nZQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0
KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZh
bHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFZhbHVlQ2hhbmdlZCAtIGhlbHBUZXh0OnRleHQtZm9y
LVZhbHVlQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgVmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5n
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlv
bigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQtZm9yLVZhbHVlQ2hh
bmdlZCIpLnZhbHVlID0gImJ1dHRvbiIKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxpbnB1dCBpZD0idGV4dC1m
b3ItVmFsdWVDaGFuZ2VkIiBhcmlhLWhlbHA9InRleHQtZm9yLVZhbHVlQ2hhbmdlZCIgdHlwZT0i
dGV4dCIgdmFsdWU9InZhbHVlIiAvPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24uanMJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI1IEBACitmdW5jdGlvbiBlbnVtQWNjZXNzaWJp
bGl0eU9iamVjdHMoYWNjZXNzaWJpbGl0eU9iamVjdCkgeworICB2YXIgY291bnQgPSBhY2Nlc3Np
YmlsaXR5T2JqZWN0LmNoaWxkcmVuQ291bnQ7CisgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7
ICsraSkKKyAgICBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNzaWJpbGl0eU9iamVjdC5j
aGlsZEF0SW5kZXgoaSkpOworfQorCitmdW5jdGlvbiB0ZXN0RG9uZSgpIHsKKyAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkgeworICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKKyAgCisgIC8vIEJ1aWxkIGFjY2Vzc2liaWxpdHkgdHJlZS4KKyAgZG9j
dW1lbnQuYm9keS5mb2N1cygpOworICBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQpOworCisgIC8vIFRlc3QgdGhlIGFjY2Vzc2li
aWxpdHkgbm90aWZpY2F0aW9uLgorICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5kdW1wQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbnMoKTsKKyAgdGVzdE5vdGlmaWNhdGlvbigpOworCisgIC8vIFVz
ZSBzZXRUaW1lb3V0IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0
aW9ucyBjYW4gYmUgcHJvY2Vzc2VkLgorICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsKK30K
</data>
<flag name="review"
          id="55535"
          type_id="1"
          status="-"
          setter="cfleizach"
    />
    <flag name="commit-queue"
          id="55536"
          type_id="3"
          status="-"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66936</attachid>
            <date>2010-09-08 13:53:58 -0700</date>
            <delta_ts>2010-09-08 14:00:13 -0700</delta_ts>
            <desc>Print id if available in dumpAccessibilityNotifications</desc>
            <filename>MyPatch2.txt</filename>
            <type>text/plain</type>
            <size>46981</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjkzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDcgIEphbWVzIFJvYmluc29uICA8amFtZXNy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCklu
ZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQVhPYmplY3RDYWNoZUNocm9taXVt
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQVhPYmpl
Y3RDYWNoZUNocm9taXVtLmNwcAkocmV2aXNpb24gNjY5MzQpCisrKyBXZWJDb3JlL2FjY2Vzc2li
aWxpdHkvY2hyb21pdW0vQVhPYmplY3RDYWNoZUNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjAsMzAgKzYwLDM0IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2EKICAgICAgICAgcmV0dXJuOwogCiAgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNsaWVudCA9
IHRvQ2hyb21lQ2xpZW50Q2hyb21pdW0ob2JqLT5kb2N1bWVudEZyYW1lVmlldygpKTsKLSAgICBp
ZiAoY2xpZW50KSB7Ci0gICAgICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7Ci0gICAgICAgIGNh
c2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgotICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VB
Y2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VB
Y2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4ob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhGb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgotICAg
ICAgICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMb2FkQ29tcGxl
dGU6Ci0gICAgICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBB
WFJvd0NvbGxhcHNlZDoKLSAgICAgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKLSAgICAgICAg
Y2FzZSBBWFJvd0V4cGFuZGVkOgotICAgICAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hvcjoKLSAg
ICAgICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9CisgICAgaWYgKCFjbGllbnQpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIFRPRE86IFJlbW92ZSBhZnRlciB0aGUgbmV3IHBvc3RBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIGlzIHVzZWQgZG93bnN0cmVhbS4KKyAgICBzd2l0Y2ggKG5vdGlmaWNhdGlvbikg
eworICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAgICBjbGllbnQtPmRpZENo
YW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShvYmopOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBjbGllbnQtPmRpZENoYW5nZUFjY2Vzc2li
aWxpdHlPYmplY3RDaGlsZHJlbihvYmopOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQ6CisgICAgY2FzZSBBWEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2Vk
OgorICAgIGNhc2UgQVhMYXlvdXRDb21wbGV0ZToKKyAgICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5n
ZWQ6CisgICAgY2FzZSBBWExvYWRDb21wbGV0ZToKKyAgICBjYXNlIEFYTWVudUxpc3RWYWx1ZUNo
YW5nZWQ6CisgICAgY2FzZSBBWFJvd0NvbGxhcHNlZDoKKyAgICBjYXNlIEFYUm93Q291bnRDaGFu
Z2VkOgorICAgIGNhc2UgQVhSb3dFeHBhbmRlZDoKKyAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hv
cjoKKyAgICBjYXNlIEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6CisgICAgY2FzZSBBWFNlbGVj
dGVkVGV4dENoYW5nZWQ6CisgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgYnJlYWs7
CiAgICAgfQorCisgICAgY2xpZW50LT5wb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihvYmos
IG5vdGlmaWNhdGlvbik7ICAgICAgICAKIH0KIAogdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVG
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJPYmplY3QqKQpJbmRl
eDogV2ViQ29yZS9wYWdlL2Nocm9taXVtL0Nocm9tZUNsaWVudENocm9taXVtLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL2Nocm9taXVtL0Nocm9tZUNsaWVudENocm9taXVtLmgJKHJldmlz
aW9uIDY2OTM0KQorKysgV2ViQ29yZS9wYWdlL2Nocm9taXVtL0Nocm9tZUNsaWVudENocm9taXVt
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgQ2hyb21lQ2xpZW50
Q2hyb21pdW1faAogI2RlZmluZSBDaHJvbWVDbGllbnRDaHJvbWl1bV9oCiAKKyNpbmNsdWRlICJB
WE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KIApAQCAtNTgsNiArNTksOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90
aWZpZWQgZW1iZWRkZXIgdGhhdCB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmpl
Y3QgaGFzIGNoYW5nZWQuCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlP
YmplY3RDaGlsZHJlbihBY2Nlc3NpYmlsaXR5T2JqZWN0KikgPSAwOworICAgIAorICAgIC8vIE5v
dGlmaWVzIGVtYmVkZGVyIGFib3V0IGFuIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uLgorICAg
IHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5
T2JqZWN0KiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24pID0gMDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjY5MzQpCisrKyBX
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxsb3J5QGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VuZCBh
bGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorICAgICAgICAKKyAgICAg
ICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBhc3MgYWNjZXNzaWJpbGl0
eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uIAorCisgICAgICAgICogV2ViS2l0
Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3Q2xpZW50Ojpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbik6CisgICAgICAg
ICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6cG9zdEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6
CisKIDIwMTAtMDktMDcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vV2ViS2l0
Lmd5cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkocmV2aXNpb24g
NjY5MzQpCisrKyBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5KQpAQCAt
OTgsNiArOTgsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBw
b3J0LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9GYWN0b3J5
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmgnLAor
ICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oJywK
ICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAko
cmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uX2gKKyNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbl9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBUaGVzZSB2YWx1ZXMgbXVzdCBtYXRj
aCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiB2YWx1ZXMKK2VudW0gV2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB7CisgICAgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQs
CisgICAgQ2hlY2tlZFN0YXRlQ2hhbmdlZCwKKyAgICBDaGlsZHJlbkNoYW5nZWQsCisgICAgRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQsCisgICAgTGF5b3V0Q29tcGxldGUsCisgICAgTG9hZENvbXBs
ZXRlLAorICAgIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAgIFNlbGVjdGVkVGV4dENoYW5n
ZWQsCisgICAgVmFsdWVDaGFuZ2VkLAorICAgIFNjcm9sbGVkVG9BbmNob3IsCisgICAgTGl2ZVJl
Z2lvbkNoYW5nZWQsCisgICAgTWVudUxpc3RWYWx1ZUNoYW5nZWQsCisgICAgUm93Q291bnRDaGFu
Z2VkLAorICAgIFJvd0NvbGxhcHNlZCwKKyAgICBSb3dFeHBhbmRlZCwKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbl9o
CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkocmV2aXNpb24gNjY5
MzQpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJWaWV3Q2xpZW50X2gKICNkZWZpbmUg
V2ViVmlld0NsaWVudF9oCiAKKyNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
LmgiCiAjaW5jbHVkZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYkVkaXRpbmdB
Y3Rpb24uaCIKICNpbmNsdWRlICJXZWJGaWxlQ2hvb3NlckNvbXBsZXRpb24uaCIKQEAgLTI4MCw2
ICsyODEsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgdGhhdCB0
aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgaGFzIGNoYW5nZWQuCiAgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JikgeyB9CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRk
ZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lk
IHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QmIG9iaiwgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pIHsgfQog
CiAKICAgICAvLyBEZXZlbG9wZXIgdG9vbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0
TWF0Y2hpbmdFbnVtcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3Nl
cnRNYXRjaGluZ0VudW1zLmNwcAkocmV2aXNpb24gNjY5MzQpCisrKyBXZWJLaXQvY2hyb21pdW0v
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3
IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQXBwbGljYXRpb25D
YWNoZUhvc3QuaCIKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIKQEAgLTUwLDYgKzUxLDcg
QEAKICNpbmNsdWRlICJVc2VyQ29udGVudFR5cGVzLmgiCiAjaW5jbHVkZSAiVXNlclNjcmlwdFR5
cGVzLmgiCiAjaW5jbHVkZSAiVmlkZW9GcmFtZUNocm9taXVtLmgiCisjaW5jbHVkZSAiV2ViQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QuaCIKICNpbmNsdWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgogI2luY2x1ZGUgIldl
YkNsaXBib2FyZC5oIgpAQCAtNzksNiArODEsMjIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IHVzaW5nIFdURjo6VGV4dENhc2VJbnNlbnNpdGl2ZTsKIH07CiAKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oQWN0aXZlRGVzY2VuZGFudENoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDaGVj
a2VkU3RhdGVDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWENoZWNrZWRTdGF0ZUNoYW5nZWQpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDaGlsZHJlbkNoYW5nZWQsIEFYT2JqZWN0Q2Fj
aGU6OkFYQ2hpbGRyZW5DaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMYXlvdXRDb21wbGV0ZSwgQVhP
YmplY3RDYWNoZTo6QVhMYXlvdXRDb21wbGV0ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKExvYWRDb21wbGV0ZSwgQVhPYmplY3RDYWNoZTo6QVhMb2FkQ29tcGxldGUpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCwgQVhPYmplY3RD
YWNoZTo6QVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFNlbGVjdGVkVGV4dENoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYU2VsZWN0ZWRUZXh0
Q2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFZhbHVlQ2hhbmdlZCwgQVhP
YmplY3RDYWNoZTo6QVhWYWx1ZUNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShTY3JvbGxlZFRvQW5jaG9yLCBBWE9iamVjdENhY2hlOjpBWFNjcm9sbGVkVG9BbmNob3IpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMaXZlUmVnaW9uQ2hhbmdlZCwgQVhPYmplY3RD
YWNoZTo6QVhMaXZlUmVnaW9uQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KE1lbnVMaXN0VmFsdWVDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWE1lbnVMaXN0VmFsdWVDaGFu
Z2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oUm93Q291bnRDaGFuZ2VkLCBBWE9i
amVjdENhY2hlOjpBWFJvd0NvdW50Q2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFJvd0NvbGxhcHNlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dDb2xsYXBzZWQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShSb3dFeHBhbmRlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dF
eHBhbmRlZCk7CisKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0
eVJvbGVVbmtub3duLCBVbmtub3duUm9sZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkFjY2Vzc2liaWxpdHlSb2xlQnV0dG9uLCBCdXR0b25Sb2xlKTsKIENPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV2ViQWNjZXNzaWJpbGl0eVJvbGVSYWRpb0J1dHRvbiwgUmFkaW9CdXR0
b25Sb2xlKTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAko
cmV2aXNpb24gNjY5MzQpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MjAsNiArNzIwLDEzIEBAIHZvaWQgQ2hyb21lQ2xpZW50
SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWIKICAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+ZGlk
Q2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkFjY2Vzc2liaWxpdHlPYmplY3Qo
b2JqKSk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9zdEFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE9iamVjdENhY2hlOjpBWE5vdGlm
aWNhdGlvbiBub3RpZmljYXRpb24pCit7CisgICAgLy8gQWxlcnQgYXNzaXN0aXZlIHRlY2hub2xv
Z3kgYWJvdXQgdGhlIGFjY2Vzc2liaWxpdHkgb2JqZWN0IG5vdGlmaWNhdGlvbi4KKyAgICBpZiAo
b2JqKQorICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5wb3N0QWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KG9iaiksIHN0YXRpY19jYXN0PFdlYkFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24+KG5vdGlmaWNhdGlvbikpOworfQorCiAjaWYgRU5BQkxFKE5P
VElGSUNBVElPTlMpCiBOb3RpZmljYXRpb25QcmVzZW50ZXIqIENocm9tZUNsaWVudEltcGw6Om5v
dGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0CiB7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3Jj
L0Nocm9tZUNsaWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuaAkocmV2aXNpb24gNjY5MzQpCisrKyBXZWJLaXQvY2hyb21pdW0vc3Jj
L0Nocm9tZUNsaWVudEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTY4LDYgKzE2OCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcG9wdXBDbG9zZWQoV2ViQ29yZTo6UG9wdXBDb250YWlu
ZXIqIHBvcHVwQ29udGFpbmVyKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdFN0YXRlKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3QqKTsKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdEFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24oV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCosIFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uKTsKIAogICAgIC8vIENocm9tZUNsaWVudEltcGw6CiAg
ICAgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ3Vyc29ySW5mbyYgY3Vyc29yKTsKSW5kZXg6IFdl
YktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDY2OTM0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1
aWxsb3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9t
aXVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1
NgorICAgICAgICAKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24pOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisK
IDIwMTAtMDktMDcgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAJKHJldmlzaW9uIDY2OTM0
KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAicHVibGljL1dlYkNv
bnRleHRNZW51RGF0YS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJEYXRhU291cmNlLmgiCiAjaW5j
bHVkZSAicHVibGljL1dlYkRyYWdEYXRhLmgiCisjaW5jbHVkZSAicHVibGljL1dlYkVsZW1lbnQu
aCIKICNpbmNsdWRlICJwdWJsaWMvV2ViRnJhbWUuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViR2Vv
bG9jYXRpb25TZXJ2aWNlTW9jay5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJIaXN0b3J5SXRlbS5o
IgpAQCAtNDg5LDEwICs0OTAsNjggQEAgdm9pZCBXZWJWaWV3SG9zdDo6Zm9jdXNBY2Nlc3NpYmls
aXR5T2JqZQogICAgIG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCktPnNldEZvY3Vz
ZWRFbGVtZW50KG9iamVjdCk7CiB9CiAKLXZvaWQgV2ViVmlld0hvc3Q6OmRpZENoYW5nZUFjY2Vz
c2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmpl
Y3QpCit2b2lkIFdlYlZpZXdIb3N0Ojpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25z
dCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmosIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24gbm90aWZpY2F0aW9uKQogewotICAgIGlmIChtX3NoZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcigpLT5zaG91bGREdW1wQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMoKSkKLSAgICAgICAg
cHJpbnRmKCJkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4gLSBuZXcgY291bnQ6
ICVkXG4iLCBvYmplY3QuY2hpbGRDb3VudCgpKTsKKyAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24gLSAiKTsKKyAgICAKKyAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIoKS0+c2hvdWxkRHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpIHsKKyAg
ICAgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKKyAgICAgICAgY2FzZSBBY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWN0aXZlRGVzY2VuZGFudENoYW5nZWQi
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENoZWNrZWRTdGF0ZUNoYW5nZWQ6
CisgICAgICAgICAgICBwcmludGYoIkNoZWNrZWRTdGF0ZUNoYW5nZWQiKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIENoaWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50
ZigiQ2hpbGRyZW5DaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBG
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExheW91dENv
bXBsZXRlOgorICAgICAgICAgICAgcHJpbnRmKCJMYXlvdXRDb21wbGV0ZSIpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgTG9hZENvbXBsZXRlOgorICAgICAgICAgICAgcHJpbnRm
KCJMb2FkQ29tcGxldGUiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNlbGVj
dGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJTZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgU2VsZWN0ZWRUZXh0
Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgVmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAg
cHJpbnRmKCJWYWx1ZUNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IFNjcm9sbGVkVG9BbmNob3I6CisgICAgICAgICAgICBwcmludGYoIlNjcm9sbGVkVG9BbmNob3Ii
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExpdmVSZWdpb25DaGFuZ2VkOgor
ICAgICAgICAgICAgcHJpbnRmKCJMaXZlUmVnaW9uQ2hhbmdlZCIpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgTWVudUxpc3RWYWx1ZUNoYW5nZWQ6CisgICAgICAgICAgICBwcmlu
dGYoIk1lbnVMaXN0VmFsdWVDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBSb3dDb3VudENoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIlJvd0NvdW50Q2hhbmdl
ZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUm93Q29sbGFwc2VkOgorICAg
ICAgICAgICAgcHJpbnRmKCJSb3dDb2xsYXBzZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIFJvd0V4cGFuZGVkOgorICAgICAgICAgICAgcHJpbnRmKCJSb3dFeHBhbmRlZCIp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBXZWJLaXQ6OldlYk5v
ZGUgbm9kZSA9IG9iai5ub2RlKCk7CisgICAgICAgIGlmICghbm9kZS5pc051bGwoKSAmJiBub2Rl
LmlzRWxlbWVudE5vZGUoKSkgeworICAgICAgICAgICAgV2ViS2l0OjpXZWJFbGVtZW50IGVsZW1l
bnQgPSBub2RlLnRvPFdlYktpdDo6V2ViRWxlbWVudD4oKTsKKyAgICAgICAgICAgIGlmIChlbGVt
ZW50Lmhhc0F0dHJpYnV0ZSgiaWQiKSkKKyAgICAgICAgICAgICAgICBwcmludGYoIiAtIGlkOiVz
IiwgZWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIH0K
KworICAgICAgICBwcmludGYoIlxuIik7CisgICAgfQogfQogCiBXZWJOb3RpZmljYXRpb25QcmVz
ZW50ZXIqIFdlYlZpZXdIb3N0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKQpJbmRleDogV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCShyZXZp
c2lvbiA2NjkzNCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIk1v
Y2tTcGVsbENoZWNrLmgiCiAjaW5jbHVkZSAiVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgiCisj
aW5jbHVkZSAicHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCIKICNpbmNsdWRl
ICJwdWJsaWMvV2ViQ3Vyc29ySW5mby5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJGcmFtZUNsaWVu
dC5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJWaWV3Q2xpZW50LmgiCkBAIC0xMjYsNyArMTI3LDcg
QEAgY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpXZWJWaQogICAgIHZpcnR1YWwg
aW50IGhpc3RvcnlCYWNrTGlzdENvdW50KCk7CiAgICAgdmlydHVhbCBpbnQgaGlzdG9yeUZvcndh
cmRMaXN0Q291bnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNBY2Nlc3NpYmlsaXR5T2JqZWN0
KGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpOwotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2ViS2l0OjpXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uKGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYsIFdlYktp
dDo6V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbik7CiAgICAgdmlydHVhbCBXZWJLaXQ6Oldl
Yk5vdGlmaWNhdGlvblByZXNlbnRlciogbm90aWZpY2F0aW9uUHJlc2VudGVyKCk7CiAgICAgdmly
dHVhbCBXZWJLaXQ6OldlYkdlb2xvY2F0aW9uU2VydmljZSogZ2VvbG9jYXRpb25TZXJ2aWNlKCk7
CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlNwZWVjaElucHV0Q29udHJvbGxlciogc3BlZWNoSW5w
dXRDb250cm9sbGVyKFdlYktpdDo6V2ViU3BlZWNoSW5wdXRMaXN0ZW5lciopOwpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gNjY5MzQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSw0OSBAQAorMjAxMC0wOS0wMyAgQ2hyaXMgR3VpbGxvcnkgICA8Y2hyaXMuZ3Vp
bGxvcnlAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZW5kIGFsbCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgdG8gQ2hyb21p
dW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNo
YW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9u
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVj
a2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFu
Z2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hh
bmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5
b3V0Q29tcGxldGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29t
cGxldGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlz
dFZhbHVlQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2Vk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1Sb3dFeHBhbmRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3Jv
bGxlZFRvQW5jaG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0
ZWRUZXh0Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24uanM6IEFkZGVkLgorICAg
ICAgICAoZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKToKKyAgICAgICAgKHRlc3REb25lKToKKyAg
ICAgICAgKHRlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2RydF9leHBlY3RhdGlv
bnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dDoKKwogMjAxMC0wOS0wNyAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CShyZXZpc2lvbiA2
NjkzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25z
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTU0LDcgKzk1NCw3IEBAIEJVRzEwMzIyIERFRkVSIFNL
SVAgOiBwbGF0Zm9ybS9tYWMvYWNjZXMKIEJVRzEwMzIyIERFRkVSIFNLSVAgOiBwbGF0Zm9ybS93
aW4vYWNjZXNzaWJpbGl0eSA9IFBBU1MgRkFJTAogCiAvLyBGdW5jdGlvbmFsaXR5IGlzIHN1cHBv
cnRlZCBpbiBEUlQgYnV0IG5vdCBUZXN0U2hlbGwKLVdPTlRGSVggU0tJUCA6IHBsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbCA9
IEZBSUwKK1dPTlRGSVggU0tJUCA6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkgPSBG
QUlMCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBPdGhlciBmYWlsdXJlcwpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNh
dGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDY2OTM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMCwwIEBACi1kaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Q2hpbGRyZW4gLSBuZXcgY291bnQ6IDEKLVRoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgbm90aWZpY2F0aW9ucyB3aGVuIHRoZSBjaGlsZHJlbiBvZiBhbiBhY2Nl
c3NpYmlsaXR5IG9iamVjdCBjaGFuZ2UuCi10ZXh0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCShyZXZpc2lvbiA2NjkzNCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4t
Y2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwzNyArMCwwIEBA
Ci08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNp
ZXZlcyBub3RpZmljYXRpb25zIHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkg
b2JqZWN0IGNoYW5nZS4KLTxkaXY+PC9kaXY+Ci08c2NyaXB0PgotICAgIGZ1bmN0aW9uIHRlc3RE
b25lKCkgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAg
fQotICAgIAotICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlmICghd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotICAgICAgICBpZiAoIWFjY2Vzc2liaWxpdHlD
b250cm9sbGVyIHx8ICFhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5kdW1wQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbnMpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAKLSAgICAgICAgLy8gQWNjZXNzIGFj
Y2Vzc2liaWxpdHkgb2JqZWN0IHRoYXQgd2lsbCBiZSBkZWxldGVkLgotICAgICAgICBkb2N1bWVu
dC5ib2R5LmZvY3VzKCk7Ci0gICAgICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRF
bGVtZW50LmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgCi0gICAgICAgIGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpOwotICAgICAgICAKLSAg
ICAgICAgLy8gSW5zZXJ0IGEgY2hpbGQgZWxlbWVudCBvbiB0aGUgZGl2LiBUaGlzIGdlbmVyYXRl
cyBhbiBhY2Nlc3NpYmlsaXR5IGNoaWxkcmVkIGNoYW5nZWQgbm90aWZpY2F0aW9uLgotICAgICAg
ICBkb2N1bWVudC5ib2R5LmNoaWxkcmVuWzBdLmlubmVySFRNTCA9ICJ0ZXh0IjsKLQotICAgICAg
ICAvLyBVc2Ugc2V0VGltZW91dCBzbyB0aGF0IGFzeW5jaHJvbm91cyBhY2Nlc3NpYmlsaXR5IG5v
dGlmaWNhdGlvbnMgY2FuIGJlIHByb2Nlc3NlZC4KLSAgICAgICAgc2V0VGltZW91dCh0ZXN0RG9u
ZSwgMCk7Ci0gICAgfQotCi0gICAgdGVzdCgpOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBBY3Rp
dmVEZXNjZW5kYW50Q2hhbmdlZCAtIGlkOnVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZAor
VGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQWN0aXZlRGVz
Y2VuZGFudENoYW5nZWQgbm90aWZpY2F0aW9uLgorbGkxCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2Nl
bmRhbnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hh
bmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICB2YXIgcmFkaW9n
cm91cCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1bC1mb3ItQWN0aXZlRGVzY2VuZGFudENo
YW5nZWQiKTsKKworICAgICAgICByYWRpb2dyb3VwLmZvY3VzKCk7CisgICAgICAgIHJhZGlvZ3Jv
dXAuc2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLCAicjEiKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhh
dCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KKworPHVsIGlkPSJ1bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5nZWQi
IGFyaWEtaGVscD0idWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIiB0YWJpbmRleD0iMCIg
cm9sZT0icmFkaW9ncm91cCI+CisgICAgPGxpIGlkPSJyMSI+bGkxPC9saT4KKzwvdWw+CisKKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdl
ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbiAtIENoZWNrZWRTdGF0ZUNoYW5nZWQgLSBpZDpjaGVja2JveC1mb3ItQ2hlY2tlZFN0
YXRlQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgQ2hlY2tlZFN0YXRlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tl
ZFN0YXRlQ2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdl
ZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAg
IGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIpLmNoZWNrZWQgPSB0cnVl
OworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhp
cyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hlY2tlZFN0YXRl
Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxpbnB1dCBpZD0iY2hlY2tib3gtZm9yLUNoZWNrZWRT
dGF0ZUNoYW5nZWQiIGFyaWEtaGVscD0iY2hlY2tib3gtZm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQi
IHR5cGU9ImNoZWNrYm94IiAvPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1D
aGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJl
bkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNoYW5nZWQgLSBpZDpkaXYtZm9yLUNoaWxk
cmVuQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4KK3RleHQKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRy
ZW5DaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRl
c3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYt
Zm9yLUNoaWxkcmVuQ2hhbmdlZCIpLmlubmVySFRNTCA9ICJ0ZXh0IjsKKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRpb24u
CisKKzxkaXYgaWQ9ImRpdi1mb3ItQ2hpbGRyZW5DaGFuZ2VkIiBhcmlhLWhlbHA9ImRpdi1mb3It
Q2hpbGRyZW5DaGFuZ2VkIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSBy
ZWNpZXZlcyB0aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZpY2F0aW9uLgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJ
RWxlbWVudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAg
ICAgICAgLy8gTm90IHNlbnQgdG8gdGhlIGNocm9taXVtIHBvcnQgLSBzZWUgaGFuZGxlRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMg
dGhlIEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgTGF5b3V0Q29tcGxldGUgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNh
dGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNpZmljCisgICAgfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29y
cmVjdGx5IHJlY2lldmVzIHRoZSBMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IExpdmVSZWdpb25DaGFuZ2VkIC0gaWQ6dWwtZm9yLUxpdmVSZWdpb25DaGFuZ2VkCitUaGlzIHRl
c3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMaXZlUmVnaW9uQ2hhbmdl
ZCBub3RpZmljYXRpb24uCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24o
KSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1bC1mb3ItTGl2ZVJlZ2lvbkNo
YW5nZWQiKS50aXRsZSA9ICJ0aXRsZSI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBMaXZlUmVnaW9uQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzx1bCBpZD0idWwt
Zm9yLUxpdmVSZWdpb25DaGFuZ2VkIiBhcmlhLWhlbHA9InVsLWZvci1MaXZlUmVnaW9uQ2hhbmdl
ZCIgcm9sZT0icmVnaW9uIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1yZWxldmFudD0iYWRkaXRp
b25zIHJlbW92YWxzIj48L3VsPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2Fk
Q29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQg
Y2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29tcGxldGUgbm90aWZpY2F0aW9u
LgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRD
b21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAg
ZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNpZmljCisg
ICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRl
c3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29tcGxldGUgbm90
aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5v
dGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1l
bnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVM
aXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxp
c3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAK
K0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBNZW51TGlzdFZhbHVlQ2hhbmdlZCAtIGlkOnNl
bGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBj
b3JyZWN0bHkgcmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4g
IApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxp
c3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNo
YW5nZWQiKS5zZWxlY3RlZEluZGV4ID0gMDsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkg
cmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHNlbGVj
dCBpZD0ic2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZCIgYXJpYS1oZWxwPSJzZWxlY3Qt
Zm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIj4KKwk8b3B0aW9uPjwvb3B0aW9uPiAKKzwvc2VsZWN0
PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlv
bi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNl
ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dD
b2xsYXBzZWQgLSBpZDpkaXYtZm9yLVJvd0NvbGxhcHNlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5vdGlmaWNhdGlvbi4KKwpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxh
cHNlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVu
Y3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImRpdi1mb3ItUm93Q29sbGFwc2VkIikuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwg
ZmFsc2UpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCki
PgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29s
bGFwc2VkIG5vdGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dDb2xsYXBzZWQiIGFy
aWEtaGVscD0iZGl2LWZvci1Sb3dDb2xsYXBzZWQiIHJvbGU9InRyZWVpdGVtIj48L2Rpdj4KKwor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
Um93Q291bnRDaGFuZ2VkIC0gaWQ6ZGl2LWZvci1Sb3dDb3VudENoYW5nZWQKK1RoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50Q2hhbmdlZCBub3Rp
ZmljYXRpb24uCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291
bnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAg
IHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1Sb3dDb3VudENoYW5n
ZWQiKTsKKworICAgICAgICBkaXYuY2hpbGRyZW5bMF0uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFu
ZGVkIiwgdHJ1ZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRl
c3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBS
b3dDb3VudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9yLVJvd0NvdW50
Q2hhbmdlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIgcm9sZT0iZ3JpZCI+
CisgICAgPGRpdj48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5k
ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24gLSBSb3dFeHBhbmRlZCAtIGlkOmRpdi1mb3ItUm93RXhwYW5kZWQKK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0V4cGFuZGVk
IG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5k
ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1mb3ItUm93RXhwYW5kZWQiKS5zZXRBdHRyaWJ1dGUoImFy
aWEtZXhwYW5kZWQiLCB0cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2
ZXMgdGhlIFJvd0V4cGFuZGVkIG5vdGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dF
eHBhbmRlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLVJvd0V4cGFuZGVkIiByb2xlPSJ0cmVlaXRlbSI+
PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZp
Y2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xs
ZWRUb0FuY2hvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5j
aG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdHMgdGhhdCBj
aHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNjcm9sbGVkVG9BbmNob3Igbm90aWZpY2F0
aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9B
bmNob3IuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8g
Tm90IHNlbnQgdG8gdGhlIGNocm9taXVtIHBvcnQgLSBzZWUgaGFuZGxlU2Nyb2xsZWRUb0FuY2hv
cgorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhp
cyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2Nyb2xsZWRUb0Fu
Y2hvciBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFNlbGVjdGVkQ2hp
bGRyZW5DaGFuZ2VkIC0gaWQ6c2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZAorVGhp
cyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRDaGls
ZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5D
aGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAg
ICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCIpLnNlbGVjdGVkSW5k
ZXggPSAwOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCki
PgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0
ZWRDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2VsZWN0IGlkPSJzZWxlY3QtZm9y
LVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIiBhcmlhLWhlbHA9InNlbGVjdC1mb3ItU2VsZWN0ZWRD
aGlsZHJlbkNoYW5nZWQiIHNpemU9IjQiPgorICAgIDxvcHRpb24gdmFsdWU9IjEiPml0ZW0gMTwv
b3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
U2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEg
QEAKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVj
dGVkVGV4dENoYW5nZWQgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFu
Z2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24g
dGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNpZmljIC0gc2VlIG5vdGlm
eUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBWYWx1ZUNoYW5n
ZWQgLSBpZDp0ZXh0LWZvci1WYWx1ZUNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBj
b3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tVmFsdWVDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9u
IHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXh0LWZvci1WYWx1ZUNoYW5nZWQiKS52YWx1ZSA9ICJidXR0b24iCisgICAgfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21p
dW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8
aW5wdXQgaWQ9InRleHQtZm9yLVZhbHVlQ2hhbmdlZCIgYXJpYS1oZWxwPSJ0ZXh0LWZvci1WYWx1
ZUNoYW5nZWQiIHR5cGU9InRleHQiIHZhbHVlPSJ2YWx1ZSIgLz4KKworPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNSBAQAorZnVuY3Rp
b24gZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlPYmplY3QpIHsKKyAgdmFy
IGNvdW50ID0gYWNjZXNzaWJpbGl0eU9iamVjdC5jaGlsZHJlbkNvdW50OworICBmb3IgKHZhciBp
ID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vz
c2liaWxpdHlPYmplY3QuY2hpbGRBdEluZGV4KGkpKTsKK30KKworZnVuY3Rpb24gdGVzdERvbmUo
KSB7CisgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24g
dGVzdCgpIHsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgIAorICAvLyBCdWlsZCBhY2Nlc3NpYmls
aXR5IHRyZWUuCisgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKKyAgZW51bUFjY2Vzc2liaWxpdHlP
YmplY3RzKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50KTsKKworICAvLyBU
ZXN0IHRoZSBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCk7CisgIHRlc3ROb3RpZmljYXRp
b24oKTsKKworICAvLyBVc2Ugc2V0VGltZW91dCBzbyB0aGF0IGFzeW5jaHJvbm91cyBhY2Nlc3Np
YmlsaXR5IG5vdGlmaWNhdGlvbnMgY2FuIGJlIHByb2Nlc3NlZC4KKyAgc2V0VGltZW91dCh0ZXN0
RG9uZSwgMCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66938</attachid>
            <date>2010-09-08 14:00:13 -0700</date>
            <delta_ts>2010-09-08 14:43:46 -0700</delta_ts>
            <desc>Removed argument names in WebViewClient.h</desc>
            <filename>MyPatch2.txt</filename>
            <type>text/plain</type>
            <size>46964</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjkzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDcgIEphbWVzIFJvYmluc29uICA8amFtZXNy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCklu
ZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQVhPYmplY3RDYWNoZUNocm9taXVt
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQVhPYmpl
Y3RDYWNoZUNocm9taXVtLmNwcAkocmV2aXNpb24gNjY5MzQpCisrKyBXZWJDb3JlL2FjY2Vzc2li
aWxpdHkvY2hyb21pdW0vQVhPYmplY3RDYWNoZUNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjAsMzAgKzYwLDM0IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2EKICAgICAgICAgcmV0dXJuOwogCiAgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNsaWVudCA9
IHRvQ2hyb21lQ2xpZW50Q2hyb21pdW0ob2JqLT5kb2N1bWVudEZyYW1lVmlldygpKTsKLSAgICBp
ZiAoY2xpZW50KSB7Ci0gICAgICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7Ci0gICAgICAgIGNh
c2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgotICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VB
Y2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VB
Y2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4ob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhGb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgotICAg
ICAgICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMb2FkQ29tcGxl
dGU6Ci0gICAgICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBB
WFJvd0NvbGxhcHNlZDoKLSAgICAgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKLSAgICAgICAg
Y2FzZSBBWFJvd0V4cGFuZGVkOgotICAgICAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hvcjoKLSAg
ICAgICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9CisgICAgaWYgKCFjbGllbnQpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIFRPRE86IFJlbW92ZSBhZnRlciB0aGUgbmV3IHBvc3RBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIGlzIHVzZWQgZG93bnN0cmVhbS4KKyAgICBzd2l0Y2ggKG5vdGlmaWNhdGlvbikg
eworICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAgICBjbGllbnQtPmRpZENo
YW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShvYmopOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBjbGllbnQtPmRpZENoYW5nZUFjY2Vzc2li
aWxpdHlPYmplY3RDaGlsZHJlbihvYmopOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQ6CisgICAgY2FzZSBBWEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2Vk
OgorICAgIGNhc2UgQVhMYXlvdXRDb21wbGV0ZToKKyAgICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5n
ZWQ6CisgICAgY2FzZSBBWExvYWRDb21wbGV0ZToKKyAgICBjYXNlIEFYTWVudUxpc3RWYWx1ZUNo
YW5nZWQ6CisgICAgY2FzZSBBWFJvd0NvbGxhcHNlZDoKKyAgICBjYXNlIEFYUm93Q291bnRDaGFu
Z2VkOgorICAgIGNhc2UgQVhSb3dFeHBhbmRlZDoKKyAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hv
cjoKKyAgICBjYXNlIEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6CisgICAgY2FzZSBBWFNlbGVj
dGVkVGV4dENoYW5nZWQ6CisgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgYnJlYWs7
CiAgICAgfQorCisgICAgY2xpZW50LT5wb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihvYmos
IG5vdGlmaWNhdGlvbik7ICAgICAgICAKIH0KIAogdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVG
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJPYmplY3QqKQpJbmRl
eDogV2ViQ29yZS9wYWdlL2Nocm9taXVtL0Nocm9tZUNsaWVudENocm9taXVtLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL2Nocm9taXVtL0Nocm9tZUNsaWVudENocm9taXVtLmgJKHJldmlz
aW9uIDY2OTM0KQorKysgV2ViQ29yZS9wYWdlL2Nocm9taXVtL0Nocm9tZUNsaWVudENocm9taXVt
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgQ2hyb21lQ2xpZW50
Q2hyb21pdW1faAogI2RlZmluZSBDaHJvbWVDbGllbnRDaHJvbWl1bV9oCiAKKyNpbmNsdWRlICJB
WE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KIApAQCAtNTgsNiArNTksOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90
aWZpZWQgZW1iZWRkZXIgdGhhdCB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmpl
Y3QgaGFzIGNoYW5nZWQuCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlP
YmplY3RDaGlsZHJlbihBY2Nlc3NpYmlsaXR5T2JqZWN0KikgPSAwOworICAgIAorICAgIC8vIE5v
dGlmaWVzIGVtYmVkZGVyIGFib3V0IGFuIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uLgorICAg
IHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5
T2JqZWN0KiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24pID0gMDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjY5MzQpCisrKyBX
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxsb3J5QGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VuZCBh
bGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorICAgICAgICAKKyAgICAg
ICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBhc3MgYWNjZXNzaWJpbGl0
eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uIAorCisgICAgICAgICogV2ViS2l0
Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3Q2xpZW50Ojpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbik6CisgICAgICAg
ICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6cG9zdEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6
CisKIDIwMTAtMDktMDcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vV2ViS2l0
Lmd5cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkocmV2aXNpb24g
NjY5MzQpCisrKyBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5KQpAQCAt
OTgsNiArOTgsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBw
b3J0LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9GYWN0b3J5
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmgnLAor
ICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oJywK
ICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAko
cmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uX2gKKyNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbl9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBUaGVzZSB2YWx1ZXMgbXVzdCBtYXRj
aCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiB2YWx1ZXMKK2VudW0gV2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB7CisgICAgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQs
CisgICAgQ2hlY2tlZFN0YXRlQ2hhbmdlZCwKKyAgICBDaGlsZHJlbkNoYW5nZWQsCisgICAgRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQsCisgICAgTGF5b3V0Q29tcGxldGUsCisgICAgTG9hZENvbXBs
ZXRlLAorICAgIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAgIFNlbGVjdGVkVGV4dENoYW5n
ZWQsCisgICAgVmFsdWVDaGFuZ2VkLAorICAgIFNjcm9sbGVkVG9BbmNob3IsCisgICAgTGl2ZVJl
Z2lvbkNoYW5nZWQsCisgICAgTWVudUxpc3RWYWx1ZUNoYW5nZWQsCisgICAgUm93Q291bnRDaGFu
Z2VkLAorICAgIFJvd0NvbGxhcHNlZCwKKyAgICBSb3dFeHBhbmRlZCwKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbl9o
CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkocmV2aXNpb24gNjY5
MzQpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJWaWV3Q2xpZW50X2gKICNkZWZpbmUg
V2ViVmlld0NsaWVudF9oCiAKKyNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
LmgiCiAjaW5jbHVkZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYkVkaXRpbmdB
Y3Rpb24uaCIKICNpbmNsdWRlICJXZWJGaWxlQ2hvb3NlckNvbXBsZXRpb24uaCIKQEAgLTI4MCw2
ICsyODEsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgdGhhdCB0
aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgaGFzIGNoYW5nZWQuCiAgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JikgeyB9CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRk
ZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lk
IHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QmLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKSB7IH0KIAogCiAgICAgLy8gRGV2ZWxv
cGVyIHRvb2xzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5j
cHAJKHJldmlzaW9uIDY2OTM0KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCiAjaW5j
bHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCkBAIC01MCw2ICs1MSw3IEBACiAjaW5jbHVkZSAiVXNl
ckNvbnRlbnRUeXBlcy5oIgogI2luY2x1ZGUgIlVzZXJTY3JpcHRUeXBlcy5oIgogI2luY2x1ZGUg
IlZpZGVvRnJhbWVDaHJvbWl1bS5oIgorI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb24uaCIKICNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAi
V2ViQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJXZWJDbGlwYm9hcmQuaCIKQEAg
LTc5LDYgKzgxLDIyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB1c2luZyBXVEY6OlRleHRD
YXNlSW5zZW5zaXRpdmU7CiB9OwogCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWEFjdGl2ZURlc2NlbmRhbnRDaGFu
Z2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ2hlY2tlZFN0YXRlQ2hhbmdlZCwg
QVhPYmplY3RDYWNoZTo6QVhDaGVja2VkU3RhdGVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oQ2hpbGRyZW5DaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWENoaWxkcmVuQ2hh
bmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkLCBBWE9iamVjdENhY2hlOjpBWEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oTGF5b3V0Q29tcGxldGUsIEFYT2JqZWN0Q2FjaGU6OkFYTGF5
b3V0Q29tcGxldGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMb2FkQ29tcGxldGUs
IEFYT2JqZWN0Q2FjaGU6OkFYTG9hZENvbXBsZXRlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYU2VsZWN0ZWRD
aGlsZHJlbkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTZWxlY3RlZFRl
eHRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWFNlbGVjdGVkVGV4dENoYW5nZWQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShWYWx1ZUNoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYVmFs
dWVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oU2Nyb2xsZWRUb0FuY2hv
ciwgQVhPYmplY3RDYWNoZTo6QVhTY3JvbGxlZFRvQW5jaG9yKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oTGl2ZVJlZ2lvbkNoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJlZ2lv
bkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShNZW51TGlzdFZhbHVlQ2hh
bmdlZCwgQVhPYmplY3RDYWNoZTo6QVhNZW51TGlzdFZhbHVlQ2hhbmdlZCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFJvd0NvdW50Q2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dD
b3VudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShSb3dDb2xsYXBzZWQs
IEFYT2JqZWN0Q2FjaGU6OkFYUm93Q29sbGFwc2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oUm93RXhwYW5kZWQsIEFYT2JqZWN0Q2FjaGU6OkFYUm93RXhwYW5kZWQpOworCiBDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlVW5rbm93biwgVW5r
bm93blJvbGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5
Um9sZUJ1dHRvbiwgQnV0dG9uUm9sZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkFjY2Vzc2liaWxpdHlSb2xlUmFkaW9CdXR0b24sIFJhZGlvQnV0dG9uUm9sZSk7CkluZGV4OiBX
ZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAJKHJldmlzaW9uIDY2OTM0KQor
KysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzIwLDYgKzcyMCwxMyBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6OmRpZENoYW5nZUFj
Y2Vzc2liCiAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZENoYW5nZUFjY2Vzc2liaWxp
dHlPYmplY3RDaGlsZHJlbihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KG9iaikpOwogfQogCit2b2lk
IENocm9tZUNsaWVudEltcGw6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2li
aWxpdHlPYmplY3QqIG9iaiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0
aW9uKQoreworICAgIC8vIEFsZXJ0IGFzc2lzdGl2ZSB0ZWNobm9sb2d5IGFib3V0IHRoZSBhY2Nl
c3NpYmlsaXR5IG9iamVjdCBub3RpZmljYXRpb24uCisgICAgaWYgKG9iaikKKyAgICAgICAgbV93
ZWJWaWV3LT5jbGllbnQoKS0+cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oV2ViQWNjZXNz
aWJpbGl0eU9iamVjdChvYmopLCBzdGF0aWNfY2FzdDxXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uPihub3RpZmljYXRpb24pKTsKK30KKwogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogTm90
aWZpY2F0aW9uUHJlc2VudGVyKiBDaHJvbWVDbGllbnRJbXBsOjpub3RpZmljYXRpb25QcmVzZW50
ZXIoKSBjb25zdAogewpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJ
KHJldmlzaW9uIDY2OTM0KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw2ICsxNjgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHBvcHVwQ2xvc2VkKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5l
cik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Kik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlm
aWNhdGlvbik7CiAKICAgICAvLyBDaHJvbWVDbGllbnRJbXBsOgogICAgIHZvaWQgc2V0Q3Vyc29y
KGNvbnN0IFdlYkN1cnNvckluZm8mIGN1cnNvcik7CkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NjkzNCkK
KysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDEwLTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQg
YWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKyAgICAgICAgCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAgICAo
V2ViVmlld0hvc3Q6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oOgorCiAyMDEwLTA5LTA3ICBKb3Nl
cGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCShyZXZpc2lvbiA2NjkzNCkKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgInB1YmxpYy9XZWJDb250ZXh0TWVudURhdGEuaCIK
ICNpbmNsdWRlICJwdWJsaWMvV2ViRGF0YVNvdXJjZS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJE
cmFnRGF0YS5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAicHVi
bGljL1dlYkZyYW1lLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkdlb2xvY2F0aW9uU2VydmljZU1v
Y2suaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViSGlzdG9yeUl0ZW0uaCIKQEAgLTQ4OSwxMCArNDkw
LDY4IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmZvY3VzQWNjZXNzaWJpbGl0eU9iamUKICAgICBtX3No
ZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpLT5zZXRGb2N1c2VkRWxlbWVudChvYmplY3Qp
OwogfQogCi12b2lkIFdlYlZpZXdIb3N0OjpkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hp
bGRyZW4oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQordm9pZCBXZWJWaWV3
SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2ViQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikK
IHsKLSAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+c2hvdWxkRHVt
cEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpCi0gICAgICAgIHByaW50ZigiZGlkQ2hhbmdl
QWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0gbmV3IGNvdW50OiAlZFxuIiwgb2JqZWN0LmNo
aWxkQ291bnQoKSk7CisgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gIik7
CisgICAgCisgICAgaWYgKG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCktPnNob3Vs
ZER1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpKSB7CisgICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7CisgICAgICAgIGNhc2UgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6CisgICAg
ICAgICAgICBwcmludGYoIkFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIik7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAgICAgICAgcHJp
bnRmKCJDaGVja2VkU3RhdGVDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBDaGlsZHJlbkNoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkNoaWxkcmVuQ2hhbmdl
ZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIik7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMYXlvdXRDb21wbGV0ZToKKyAgICAgICAg
ICAgIHByaW50ZigiTGF5b3V0Q29tcGxldGUiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIExvYWRDb21wbGV0ZToKKyAgICAgICAgICAgIHByaW50ZigiTG9hZENvbXBsZXRlIik7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZDoKKyAgICAgICAgICAgIHByaW50ZigiU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNlbGVjdGVkVGV4dENoYW5nZWQ6CisgICAgICAg
ICAgICBwcmludGYoIlNlbGVjdGVkVGV4dENoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiVmFsdWVDaGFu
Z2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTY3JvbGxlZFRvQW5jaG9y
OgorICAgICAgICAgICAgcHJpbnRmKCJTY3JvbGxlZFRvQW5jaG9yIik7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBMaXZlUmVnaW9uQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50
ZigiTGl2ZVJlZ2lvbkNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJNZW51TGlzdFZhbHVl
Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUm93Q291bnRDaGFu
Z2VkOgorICAgICAgICAgICAgcHJpbnRmKCJSb3dDb3VudENoYW5nZWQiKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIFJvd0NvbGxhcHNlZDoKKyAgICAgICAgICAgIHByaW50Zigi
Um93Q29sbGFwc2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSb3dFeHBh
bmRlZDoKKyAgICAgICAgICAgIHByaW50ZigiUm93RXhwYW5kZWQiKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisKKyAgICAgICAgV2ViS2l0OjpXZWJOb2RlIG5vZGUgPSBvYmoubm9k
ZSgpOworICAgICAgICBpZiAoIW5vZGUuaXNOdWxsKCkgJiYgbm9kZS5pc0VsZW1lbnROb2RlKCkp
IHsKKyAgICAgICAgICAgIFdlYktpdDo6V2ViRWxlbWVudCBlbGVtZW50ID0gbm9kZS50bzxXZWJL
aXQ6OldlYkVsZW1lbnQ+KCk7CisgICAgICAgICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUo
ImlkIikpCisgICAgICAgICAgICAgICAgcHJpbnRmKCIgLSBpZDolcyIsIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICB9CisKKyAgICAgICAgcHJpbnRm
KCJcbiIpOworICAgIH0KIH0KIAogV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyKiBXZWJWaWV3SG9z
dDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAkocmV2aXNpb24gNjY5MzQpCisrKyBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJNb2NrU3BlbGxDaGVjay5oIgog
I2luY2x1ZGUgIlRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgInB1YmxpYy9X
ZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkN1cnNv
ckluZm8uaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViRnJhbWVDbGllbnQuaCIKICNpbmNsdWRlICJw
dWJsaWMvV2ViVmlld0NsaWVudC5oIgpAQCAtMTI2LDcgKzEyNyw3IEBAIGNsYXNzIFdlYlZpZXdI
b3N0IDogcHVibGljIFdlYktpdDo6V2ViVmkKICAgICB2aXJ0dWFsIGludCBoaXN0b3J5QmFja0xp
c3RDb3VudCgpOwogICAgIHZpcnR1YWwgaW50IGhpc3RvcnlGb3J3YXJkTGlzdENvdW50KCk7CiAg
ICAgdmlydHVhbCB2b2lkIGZvY3VzQWNjZXNzaWJpbGl0eU9iamVjdChjb25zdCBXZWJLaXQ6Oldl
YkFjY2Vzc2liaWxpdHlPYmplY3QmKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNz
aWJpbGl0eU9iamVjdENoaWxkcmVuKGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVj
dCYpOworICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25z
dCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3QmLCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24pOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJOb3RpZmljYXRpb25QcmVz
ZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJH
ZW9sb2NhdGlvblNlcnZpY2UqIGdlb2xvY2F0aW9uU2VydmljZSgpOwogICAgIHZpcnR1YWwgV2Vi
S2l0OjpXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIqIHNwZWVjaElucHV0Q29udHJvbGxlcihXZWJL
aXQ6OldlYlNwZWVjaElucHV0TGlzdGVuZXIqKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2OTM0KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDkgQEAK
KzIwMTAtMDktMDMgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxsb3J5QGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VuZCBh
bGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlv
bi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFu
Z2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5
b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxp
dmVSZWdpb25DaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVl
Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0Nv
bGxhcHNlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xs
ZWRUb0FuY2hvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4
dENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVl
Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGVudW1BY2Nlc3Np
YmlsaXR5T2JqZWN0cyk6CisgICAgICAgICh0ZXN0RG9uZSk6CisgICAgICAgICh0ZXN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisKIDIwMTAtMDktMDcg
IEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEphbWVzIFJvYmluc29uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNjY5MzQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTk1NCw3ICs5NTQsNyBAQCBCVUcxMDMyMiBERUZFUiBTS0lQIDogcGxhdGZvcm0vbWFj
L2FjY2VzCiBCVUcxMDMyMiBERUZFUiBTS0lQIDogcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkg
PSBQQVNTIEZBSUwKIAogLy8gRnVuY3Rpb25hbGl0eSBpcyBzdXBwb3J0ZWQgaW4gRFJUIGJ1dCBu
b3QgVGVzdFNoZWxsCi1XT05URklYIFNLSVAgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgPSBGQUlMCitXT05URklYIFNL
SVAgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5ID0gRkFJTAogCiAvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogLy8gT3RoZXIgZmFpbHVyZXMKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2
NjkzNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hp
bGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzAsMCBAQAotZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0gbmV3
IGNvdW50OiAxCi1UaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIG5v
dGlmaWNhdGlvbnMgd2hlbiB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3Qg
Y2hhbmdlLgotdGV4dApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hh
bmdlZC1ub3RpZmljYXRpb24uaHRtbAkocmV2aXNpb24gNjY5MzQpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0
aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzcgKzAsMCBAQAotPGh0bWw+Ci08Ym9keT4K
LVRoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgbm90aWZpY2F0aW9u
cyB3aGVuIHRoZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBjaGFuZ2UuCi08
ZGl2PjwvZGl2PgotPHNjcmlwdD4KLSAgICBmdW5jdGlvbiB0ZXN0RG9uZSgpIHsKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLSAgICAKLSAgICBmdW5j
dGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci0KLSAgICAgICAgaWYgKCFhY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAhYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgICAgCi0gICAgICAgIC8vIEFjY2VzcyBhY2Nlc3NpYmlsaXR5IG9iamVj
dCB0aGF0IHdpbGwgYmUgZGVsZXRlZC4KLSAgICAgICAgZG9jdW1lbnQuYm9keS5mb2N1cygpOwot
ICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5k
ZXgoMCk7Ci0gICAgICAgIAotICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5kdW1wQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgCi0gICAgICAgIC8vIEluc2VydCBh
IGNoaWxkIGVsZW1lbnQgb24gdGhlIGRpdi4gVGhpcyBnZW5lcmF0ZXMgYW4gYWNjZXNzaWJpbGl0
eSBjaGlsZHJlZCBjaGFuZ2VkIG5vdGlmaWNhdGlvbi4KLSAgICAgICAgZG9jdW1lbnQuYm9keS5j
aGlsZHJlblswXS5pbm5lckhUTUwgPSAidGV4dCI7Ci0KLSAgICAgICAgLy8gVXNlIHNldFRpbWVv
dXQgc28gdGhhdCBhc3luY2hyb25vdXMgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIGNhbiBi
ZSBwcm9jZXNzZWQuCi0gICAgICAgIHNldFRpbWVvdXQodGVzdERvbmUsIDApOwotICAgIH0KLQot
ICAgIHRlc3QoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3Rp
dmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3Rp
dmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFj
dGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQWN0aXZlRGVzY2VuZGFudENoYW5n
ZWQgLSBpZDp1bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBj
aHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIG5v
dGlmaWNhdGlvbi4KK2xpMQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwyMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24g
dGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgdmFyIHJhZGlvZ3JvdXAgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIik7CisKKyAgICAg
ICAgcmFkaW9ncm91cC5mb2N1cygpOworICAgICAgICByYWRpb2dyb3VwLnNldEF0dHJpYnV0ZSgi
YXJpYS1hY3RpdmVkZXNjZW5kYW50IiwgInIxIik7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCBub3RpZmljYXRpb24uCisK
Kzx1bCBpZD0idWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIiBhcmlhLWhlbHA9InVsLWZv
ci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIgdGFiaW5kZXg9IjAiIHJvbGU9InJhZGlvZ3JvdXAi
PgorICAgIDxsaSBpZD0icjEiPmxpMTwvbGk+Cis8L3VsPgorCis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGVja2Vk
U3RhdGVDaGFuZ2VkIC0gaWQ6Y2hlY2tib3gtZm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQKK1RoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoZWNrZWRTdGF0ZUNo
YW5nZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90
aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hlY2tib3gt
Zm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQiKS5jaGVja2VkID0gdHJ1ZTsKKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoZWNrZWRTdGF0ZUNoYW5nZWQgbm90aWZpY2F0
aW9uLgorCis8aW5wdXQgaWQ9ImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIiBhcmlh
LWhlbHA9ImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIiB0eXBlPSJjaGVja2JveCIg
Lz4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRp
b24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNo
YW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uIC0gQ2hpbGRyZW5DaGFuZ2VkIC0gaWQ6ZGl2LWZvci1DaGlsZHJlbkNoYW5nZWQKK1RoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoaWxkcmVuQ2hhbmdl
ZCBub3RpZmljYXRpb24uCit0ZXh0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkg
eworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1DaGlsZHJlbkNoYW5n
ZWQiKS5pbm5lckhUTUwgPSAidGV4dCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJkaXYt
Zm9yLUNoaWxkcmVuQ2hhbmdlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLUNoaWxkcmVuQ2hhbmdlZCI+
PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZp
Y2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEg
QEAKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIEZvY3Vz
ZWRVSUVsZW1lbnRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIC8vIE5vdCBzZW50
IHRvIHRoZSBjaHJvbWl1bSBwb3J0IC0gc2VlIGhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2Vk
CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBGb2N1c2VkVUlFbGVt
ZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlv
dXRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENvbXBsZXRl
IG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91
dENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAg
IC8vIE1hYyBzcGVjaWZpYworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgTGF5b3V0Q29tcGxldGUgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMaXZlUmVnaW9uQ2hhbmdl
ZCAtIGlkOnVsLWZvci1MaXZlUmVnaW9uQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTGl2ZVJlZ2lvbkNoYW5nZWQgbm90aWZpY2F0aW9uLgor
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1M
aXZlUmVnaW9uQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hh
bmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidWwtZm9yLUxpdmVSZWdpb25DaGFuZ2VkIikudGl0bGUgPSAi
dGl0bGUiOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCki
PgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTGl2ZVJl
Z2lvbkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8dWwgaWQ9InVsLWZvci1MaXZlUmVnaW9uQ2hh
bmdlZCIgYXJpYS1oZWxwPSJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQiIHJvbGU9InJlZ2lvbiIg
YXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtcmVsZXZhbnQ9ImFkZGl0aW9ucyByZW1vdmFscyI+PC91
bD4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRp
b24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxl
dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3Rs
eSByZWNpZXZlcyB0aGUgTG9hZENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9h
ZENvbXBsZXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3Rp
ZmljYXRpb24oKSB7CisgICAgICAgIC8vIE1hYyBzcGVjaWZpYworICAgIH0KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTG9hZENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdl
ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIC0gTWVudUxpc3RWYWx1ZUNoYW5nZWQgLSBpZDpzZWxlY3QtZm9yLU1lbnVMaXN0
VmFsdWVDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVz
IHRoZSBNZW51TGlzdFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVu
dUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVD
aGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzZWxlY3QtZm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIikuc2VsZWN0ZWRJ
bmRleCA9IDA7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3Qo
KSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBNZW51
TGlzdFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxzZWxlY3QgaWQ9InNlbGVjdC1mb3It
TWVudUxpc3RWYWx1ZUNoYW5nZWQiIGFyaWEtaGVscD0ic2VsZWN0LWZvci1NZW51TGlzdFZhbHVl
Q2hhbmdlZCI+CisJPG9wdGlvbj48L29wdGlvbj4gCis8L3NlbGVjdD4KKworPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gUm93Q29sbGFwc2VkIC0gaWQ6ZGl2
LWZvci1Sb3dDb2xsYXBzZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIFJvd0NvbGxhcHNlZCBub3RpZmljYXRpb24uCisKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29s
bGFwc2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmlj
YXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYtZm9yLVJvd0Nv
bGxhcHNlZCIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIGZhbHNlKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhh
dCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvbGxhcHNlZCBub3RpZmljYXRp
b24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93Q29sbGFwc2VkIiBhcmlhLWhlbHA9ImRpdi1mb3It
Um93Q29sbGFwc2VkIiByb2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0NvdW50Q2hhbmdlZCAt
IGlkOmRpdi1mb3ItUm93Q291bnRDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29y
cmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb3VudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRD
aGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAg
ICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1mb3ItUm93Q291bnRDaGFuZ2VkIik7CisKKyAgICAgICAg
ZGl2LmNoaWxkcmVuWzBdLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIHRydWUpOworICAg
IH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0
cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q291bnRDaGFuZ2VkIG5v
dGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dDb3VudENoYW5nZWQiIGFyaWEtaGVs
cD0iZGl2LWZvci1Sb3dDb3VudENoYW5nZWQiIHJvbGU9ImdyaWQiPgorICAgIDxkaXY+PC9kaXY+
Cis8L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3Rp
ZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dF
eHBhbmRlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
Um93RXhwYW5kZWQgLSBpZDpkaXYtZm9yLVJvd0V4cGFuZGVkCitUaGlzIHRlc3RzIHRoYXQgY2hy
b21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dFeHBhbmRlZCBub3RpZmljYXRpb24uCisK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFu
ZGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0
aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkaXYtZm9yLVJvd0V4cGFuZGVkIikuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwgdHJ1
ZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitU
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dFeHBhbmRl
ZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93RXhwYW5kZWQiIGFyaWEtaGVs
cD0iZGl2LWZvci1Sb3dFeHBhbmRlZCIgcm9sZT0idHJlZWl0ZW0iPjwvZGl2PgorCis8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5
IHJlY2lldmVzIHRoZSBTY3JvbGxlZFRvQW5jaG9yIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
U2Nyb2xsZWRUb0FuY2hvci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hv
ci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1
bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIC8vIE5vdCBzZW50IHRvIHRoZSBj
aHJvbWl1bSBwb3J0IC0gc2VlIGhhbmRsZVNjcm9sbGVkVG9BbmNob3IKKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNjcm9sbGVkVG9BbmNob3Igbm90aWZpY2F0aW9u
LgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlv
bi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hp
bGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hp
bGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRD
aGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAK
K0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCAtIGlk
OnNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIG5vdGlm
aWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxOCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5v
dGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdC1m
b3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiKS5zZWxlY3RlZEluZGV4ID0gMDsKKyAgICB9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhh
dCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KKworPHNlbGVjdCBpZD0ic2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZCIgYXJpYS1oZWxwPSJzZWxlY3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIiBz
aXplPSI0Ij4KKyAgICA8b3B0aW9uIHZhbHVlPSIxIj5pdGVtIDE8L29wdGlvbj4KKzwvc2VsZWN0
PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlv
bi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4
dENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hh
bmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5n
ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRo
YXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZFRleHRDaGFuZ2VkIG5v
dGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24o
KSB7CisgICAgICAgIC8vIE1hYyBzcGVjaWZpYyAtIHNlZSBub3RpZnlBY2Nlc3NpYmlsaXR5Rm9y
U2VsZWN0aW9uQ2hhbmdlCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBTZWxlY3RlZFRleHRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBA
CitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gVmFsdWVDaGFuZ2VkIC0gaWQ6dGV4dC1mb3It
VmFsdWVDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVz
IHRoZSBWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9u
KCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dC1mb3ItVmFsdWVDaGFu
Z2VkIikudmFsdWUgPSAiYnV0dG9uIgorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNp
ZXZlcyB0aGUgVmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPGlucHV0IGlkPSJ0ZXh0LWZv
ci1WYWx1ZUNoYW5nZWQiIGFyaWEtaGVscD0idGV4dC1mb3ItVmFsdWVDaGFuZ2VkIiB0eXBlPSJ0
ZXh0IiB2YWx1ZT0idmFsdWUiIC8+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qcwkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24u
anMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjUgQEAKK2Z1bmN0aW9uIGVudW1BY2Nlc3NpYmls
aXR5T2JqZWN0cyhhY2Nlc3NpYmlsaXR5T2JqZWN0KSB7CisgIHZhciBjb3VudCA9IGFjY2Vzc2li
aWxpdHlPYmplY3QuY2hpbGRyZW5Db3VudDsKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsg
KytpKQorICAgIGVudW1BY2Nlc3NpYmlsaXR5T2JqZWN0cyhhY2Nlc3NpYmlsaXR5T2JqZWN0LmNo
aWxkQXRJbmRleChpKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3REb25lKCkgeworICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICAKKyAgLy8gQnVpbGQgYWNjZXNzaWJpbGl0eSB0cmVlLgorICBkb2N1
bWVudC5ib2R5LmZvY3VzKCk7CisgIGVudW1BY2Nlc3NpYmlsaXR5T2JqZWN0cyhhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudCk7CisKKyAgLy8gVGVzdCB0aGUgYWNjZXNzaWJp
bGl0eSBub3RpZmljYXRpb24uCisgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmR1bXBBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9ucygpOworICB0ZXN0Tm90aWZpY2F0aW9uKCk7CisKKyAgLy8gVXNl
IHNldFRpbWVvdXQgc28gdGhhdCBhc3luY2hyb25vdXMgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRp
b25zIGNhbiBiZSBwcm9jZXNzZWQuCisgIHNldFRpbWVvdXQodGVzdERvbmUsIDApOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66944</attachid>
            <date>2010-09-08 14:43:46 -0700</date>
            <delta_ts>2010-09-10 23:03:43 -0700</delta_ts>
            <desc>Resolved conflict in drt_expectations.txt</desc>
            <filename>MyPatch2.txt</filename>
            <type>text/plain</type>
            <size>47922</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjkzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDcgIEphbWVzIFJvYmluc29uICA8amFtZXNy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCklu
ZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQVhPYmplY3RDYWNoZUNocm9taXVt
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQVhPYmpl
Y3RDYWNoZUNocm9taXVtLmNwcAkocmV2aXNpb24gNjY5MzQpCisrKyBXZWJDb3JlL2FjY2Vzc2li
aWxpdHkvY2hyb21pdW0vQVhPYmplY3RDYWNoZUNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjAsMzAgKzYwLDM0IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2EKICAgICAgICAgcmV0dXJuOwogCiAgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNsaWVudCA9
IHRvQ2hyb21lQ2xpZW50Q2hyb21pdW0ob2JqLT5kb2N1bWVudEZyYW1lVmlldygpKTsKLSAgICBp
ZiAoY2xpZW50KSB7Ci0gICAgICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7Ci0gICAgICAgIGNh
c2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgotICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VB
Y2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VB
Y2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4ob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhGb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgotICAg
ICAgICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMb2FkQ29tcGxl
dGU6Ci0gICAgICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBB
WFJvd0NvbGxhcHNlZDoKLSAgICAgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKLSAgICAgICAg
Y2FzZSBBWFJvd0V4cGFuZGVkOgotICAgICAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hvcjoKLSAg
ICAgICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9CisgICAgaWYgKCFjbGllbnQpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIFRPRE86IFJlbW92ZSBhZnRlciB0aGUgbmV3IHBvc3RBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIGlzIHVzZWQgZG93bnN0cmVhbS4KKyAgICBzd2l0Y2ggKG5vdGlmaWNhdGlvbikg
eworICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAgICBjbGllbnQtPmRpZENo
YW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShvYmopOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBjbGllbnQtPmRpZENoYW5nZUFjY2Vzc2li
aWxpdHlPYmplY3RDaGlsZHJlbihvYmopOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQ6CisgICAgY2FzZSBBWEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2Vk
OgorICAgIGNhc2UgQVhMYXlvdXRDb21wbGV0ZToKKyAgICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5n
ZWQ6CisgICAgY2FzZSBBWExvYWRDb21wbGV0ZToKKyAgICBjYXNlIEFYTWVudUxpc3RWYWx1ZUNo
YW5nZWQ6CisgICAgY2FzZSBBWFJvd0NvbGxhcHNlZDoKKyAgICBjYXNlIEFYUm93Q291bnRDaGFu
Z2VkOgorICAgIGNhc2UgQVhSb3dFeHBhbmRlZDoKKyAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hv
cjoKKyAgICBjYXNlIEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6CisgICAgY2FzZSBBWFNlbGVj
dGVkVGV4dENoYW5nZWQ6CisgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgYnJlYWs7
CiAgICAgfQorCisgICAgY2xpZW50LT5wb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihvYmos
IG5vdGlmaWNhdGlvbik7ICAgICAgICAKIH0KIAogdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVG
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJPYmplY3QqKQpJbmRl
eDogV2ViQ29yZS9wYWdlL2Nocm9taXVtL0Nocm9tZUNsaWVudENocm9taXVtLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL2Nocm9taXVtL0Nocm9tZUNsaWVudENocm9taXVtLmgJKHJldmlz
aW9uIDY2OTM0KQorKysgV2ViQ29yZS9wYWdlL2Nocm9taXVtL0Nocm9tZUNsaWVudENocm9taXVt
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgQ2hyb21lQ2xpZW50
Q2hyb21pdW1faAogI2RlZmluZSBDaHJvbWVDbGllbnRDaHJvbWl1bV9oCiAKKyNpbmNsdWRlICJB
WE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KIApAQCAtNTgsNiArNTksOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90
aWZpZWQgZW1iZWRkZXIgdGhhdCB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmpl
Y3QgaGFzIGNoYW5nZWQuCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlP
YmplY3RDaGlsZHJlbihBY2Nlc3NpYmlsaXR5T2JqZWN0KikgPSAwOworICAgIAorICAgIC8vIE5v
dGlmaWVzIGVtYmVkZGVyIGFib3V0IGFuIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uLgorICAg
IHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5
T2JqZWN0KiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24pID0gMDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjY5MzQpCisrKyBX
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxsb3J5QGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VuZCBh
bGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorICAgICAgICAKKyAgICAg
ICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBhc3MgYWNjZXNzaWJpbGl0
eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uIAorCisgICAgICAgICogV2ViS2l0
Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oOiBB
ZGRlZC4KKyAgICAgICAgKiBwdWJsaWMvV2ViVmlld0NsaWVudC5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3Q2xpZW50Ojpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbik6CisgICAgICAg
ICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2hyb21lQ2xpZW50SW1wbDo6cG9zdEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6
CisKIDIwMTAtMDktMDcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vV2ViS2l0
Lmd5cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkocmV2aXNpb24g
NjY5MzQpCisrKyBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5KQpAQCAt
OTgsNiArOTgsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBw
b3J0LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9GYWN0b3J5
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmgnLAor
ICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oJywK
ICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAko
cmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uX2gKKyNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbl9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBUaGVzZSB2YWx1ZXMgbXVzdCBtYXRj
aCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiB2YWx1ZXMKK2VudW0gV2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB7CisgICAgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQs
CisgICAgQ2hlY2tlZFN0YXRlQ2hhbmdlZCwKKyAgICBDaGlsZHJlbkNoYW5nZWQsCisgICAgRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQsCisgICAgTGF5b3V0Q29tcGxldGUsCisgICAgTG9hZENvbXBs
ZXRlLAorICAgIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAgIFNlbGVjdGVkVGV4dENoYW5n
ZWQsCisgICAgVmFsdWVDaGFuZ2VkLAorICAgIFNjcm9sbGVkVG9BbmNob3IsCisgICAgTGl2ZVJl
Z2lvbkNoYW5nZWQsCisgICAgTWVudUxpc3RWYWx1ZUNoYW5nZWQsCisgICAgUm93Q291bnRDaGFu
Z2VkLAorICAgIFJvd0NvbGxhcHNlZCwKKyAgICBSb3dFeHBhbmRlZCwKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbl9o
CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkocmV2aXNpb24gNjY5
MzQpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJWaWV3Q2xpZW50X2gKICNkZWZpbmUg
V2ViVmlld0NsaWVudF9oCiAKKyNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
LmgiCiAjaW5jbHVkZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYkVkaXRpbmdB
Y3Rpb24uaCIKICNpbmNsdWRlICJXZWJGaWxlQ2hvb3NlckNvbXBsZXRpb24uaCIKQEAgLTI4MCw2
ICsyODEsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgdGhhdCB0
aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgaGFzIGNoYW5nZWQuCiAgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JikgeyB9CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRk
ZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lk
IHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QmLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKSB7IH0KIAogCiAgICAgLy8gRGV2ZWxv
cGVyIHRvb2xzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5j
cHAJKHJldmlzaW9uIDY2OTM0KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCiAjaW5j
bHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCkBAIC01MCw2ICs1MSw3IEBACiAjaW5jbHVkZSAiVXNl
ckNvbnRlbnRUeXBlcy5oIgogI2luY2x1ZGUgIlVzZXJTY3JpcHRUeXBlcy5oIgogI2luY2x1ZGUg
IlZpZGVvRnJhbWVDaHJvbWl1bS5oIgorI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb24uaCIKICNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAi
V2ViQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJXZWJDbGlwYm9hcmQuaCIKQEAg
LTc5LDYgKzgxLDIyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB1c2luZyBXVEY6OlRleHRD
YXNlSW5zZW5zaXRpdmU7CiB9OwogCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWEFjdGl2ZURlc2NlbmRhbnRDaGFu
Z2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ2hlY2tlZFN0YXRlQ2hhbmdlZCwg
QVhPYmplY3RDYWNoZTo6QVhDaGVja2VkU3RhdGVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oQ2hpbGRyZW5DaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWENoaWxkcmVuQ2hh
bmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkLCBBWE9iamVjdENhY2hlOjpBWEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oTGF5b3V0Q29tcGxldGUsIEFYT2JqZWN0Q2FjaGU6OkFYTGF5
b3V0Q29tcGxldGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShMb2FkQ29tcGxldGUs
IEFYT2JqZWN0Q2FjaGU6OkFYTG9hZENvbXBsZXRlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYU2VsZWN0ZWRD
aGlsZHJlbkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTZWxlY3RlZFRl
eHRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWFNlbGVjdGVkVGV4dENoYW5nZWQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShWYWx1ZUNoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYVmFs
dWVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oU2Nyb2xsZWRUb0FuY2hv
ciwgQVhPYmplY3RDYWNoZTo6QVhTY3JvbGxlZFRvQW5jaG9yKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oTGl2ZVJlZ2lvbkNoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJlZ2lv
bkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShNZW51TGlzdFZhbHVlQ2hh
bmdlZCwgQVhPYmplY3RDYWNoZTo6QVhNZW51TGlzdFZhbHVlQ2hhbmdlZCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFJvd0NvdW50Q2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dD
b3VudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShSb3dDb2xsYXBzZWQs
IEFYT2JqZWN0Q2FjaGU6OkFYUm93Q29sbGFwc2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oUm93RXhwYW5kZWQsIEFYT2JqZWN0Q2FjaGU6OkFYUm93RXhwYW5kZWQpOworCiBDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlVW5rbm93biwgVW5r
bm93blJvbGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5
Um9sZUJ1dHRvbiwgQnV0dG9uUm9sZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkFjY2Vzc2liaWxpdHlSb2xlUmFkaW9CdXR0b24sIFJhZGlvQnV0dG9uUm9sZSk7CkluZGV4OiBX
ZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAJKHJldmlzaW9uIDY2OTM0KQor
KysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzIwLDYgKzcyMCwxMyBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6OmRpZENoYW5nZUFj
Y2Vzc2liCiAgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZENoYW5nZUFjY2Vzc2liaWxp
dHlPYmplY3RDaGlsZHJlbihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KG9iaikpOwogfQogCit2b2lk
IENocm9tZUNsaWVudEltcGw6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2li
aWxpdHlPYmplY3QqIG9iaiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0
aW9uKQoreworICAgIC8vIEFsZXJ0IGFzc2lzdGl2ZSB0ZWNobm9sb2d5IGFib3V0IHRoZSBhY2Nl
c3NpYmlsaXR5IG9iamVjdCBub3RpZmljYXRpb24uCisgICAgaWYgKG9iaikKKyAgICAgICAgbV93
ZWJWaWV3LT5jbGllbnQoKS0+cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oV2ViQWNjZXNz
aWJpbGl0eU9iamVjdChvYmopLCBzdGF0aWNfY2FzdDxXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uPihub3RpZmljYXRpb24pKTsKK30KKwogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogTm90
aWZpY2F0aW9uUHJlc2VudGVyKiBDaHJvbWVDbGllbnRJbXBsOjpub3RpZmljYXRpb25QcmVzZW50
ZXIoKSBjb25zdAogewpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJ
KHJldmlzaW9uIDY2OTM0KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw2ICsxNjgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHBvcHVwQ2xvc2VkKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5l
cik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Kik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlm
aWNhdGlvbik7CiAKICAgICAvLyBDaHJvbWVDbGllbnRJbXBsOgogICAgIHZvaWQgc2V0Q3Vyc29y
KGNvbnN0IFdlYkN1cnNvckluZm8mIGN1cnNvcik7CkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NjkzNCkK
KysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDEwLTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQg
YWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKyAgICAgICAgCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAgICAo
V2ViVmlld0hvc3Q6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oOgorCiAyMDEwLTA5LTA3ICBKb3Nl
cGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCShyZXZpc2lvbiA2NjkzNCkKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgInB1YmxpYy9XZWJDb250ZXh0TWVudURhdGEuaCIK
ICNpbmNsdWRlICJwdWJsaWMvV2ViRGF0YVNvdXJjZS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJE
cmFnRGF0YS5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAicHVi
bGljL1dlYkZyYW1lLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkdlb2xvY2F0aW9uU2VydmljZU1v
Y2suaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViSGlzdG9yeUl0ZW0uaCIKQEAgLTQ4OSwxMCArNDkw
LDY4IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmZvY3VzQWNjZXNzaWJpbGl0eU9iamUKICAgICBtX3No
ZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpLT5zZXRGb2N1c2VkRWxlbWVudChvYmplY3Qp
OwogfQogCi12b2lkIFdlYlZpZXdIb3N0OjpkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hp
bGRyZW4oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQordm9pZCBXZWJWaWV3
SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2ViQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikK
IHsKLSAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+c2hvdWxkRHVt
cEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpCi0gICAgICAgIHByaW50ZigiZGlkQ2hhbmdl
QWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0gbmV3IGNvdW50OiAlZFxuIiwgb2JqZWN0LmNo
aWxkQ291bnQoKSk7CisgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gIik7
CisgICAgCisgICAgaWYgKG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCktPnNob3Vs
ZER1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpKSB7CisgICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7CisgICAgICAgIGNhc2UgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6CisgICAg
ICAgICAgICBwcmludGYoIkFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIik7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAgICAgICAgcHJp
bnRmKCJDaGVja2VkU3RhdGVDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBDaGlsZHJlbkNoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkNoaWxkcmVuQ2hhbmdl
ZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIik7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBMYXlvdXRDb21wbGV0ZToKKyAgICAgICAg
ICAgIHByaW50ZigiTGF5b3V0Q29tcGxldGUiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIExvYWRDb21wbGV0ZToKKyAgICAgICAgICAgIHByaW50ZigiTG9hZENvbXBsZXRlIik7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZDoKKyAgICAgICAgICAgIHByaW50ZigiU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNlbGVjdGVkVGV4dENoYW5nZWQ6CisgICAgICAg
ICAgICBwcmludGYoIlNlbGVjdGVkVGV4dENoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiVmFsdWVDaGFu
Z2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTY3JvbGxlZFRvQW5jaG9y
OgorICAgICAgICAgICAgcHJpbnRmKCJTY3JvbGxlZFRvQW5jaG9yIik7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBMaXZlUmVnaW9uQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50
ZigiTGl2ZVJlZ2lvbkNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJNZW51TGlzdFZhbHVl
Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUm93Q291bnRDaGFu
Z2VkOgorICAgICAgICAgICAgcHJpbnRmKCJSb3dDb3VudENoYW5nZWQiKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIFJvd0NvbGxhcHNlZDoKKyAgICAgICAgICAgIHByaW50Zigi
Um93Q29sbGFwc2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSb3dFeHBh
bmRlZDoKKyAgICAgICAgICAgIHByaW50ZigiUm93RXhwYW5kZWQiKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisKKyAgICAgICAgV2ViS2l0OjpXZWJOb2RlIG5vZGUgPSBvYmoubm9k
ZSgpOworICAgICAgICBpZiAoIW5vZGUuaXNOdWxsKCkgJiYgbm9kZS5pc0VsZW1lbnROb2RlKCkp
IHsKKyAgICAgICAgICAgIFdlYktpdDo6V2ViRWxlbWVudCBlbGVtZW50ID0gbm9kZS50bzxXZWJL
aXQ6OldlYkVsZW1lbnQ+KCk7CisgICAgICAgICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUo
ImlkIikpCisgICAgICAgICAgICAgICAgcHJpbnRmKCIgLSBpZDolcyIsIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICB9CisKKyAgICAgICAgcHJpbnRm
KCJcbiIpOworICAgIH0KIH0KIAogV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyKiBXZWJWaWV3SG9z
dDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAkocmV2aXNpb24gNjY5MzQpCisrKyBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJNb2NrU3BlbGxDaGVjay5oIgog
I2luY2x1ZGUgIlRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgInB1YmxpYy9X
ZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkN1cnNv
ckluZm8uaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViRnJhbWVDbGllbnQuaCIKICNpbmNsdWRlICJw
dWJsaWMvV2ViVmlld0NsaWVudC5oIgpAQCAtMTI2LDcgKzEyNyw3IEBAIGNsYXNzIFdlYlZpZXdI
b3N0IDogcHVibGljIFdlYktpdDo6V2ViVmkKICAgICB2aXJ0dWFsIGludCBoaXN0b3J5QmFja0xp
c3RDb3VudCgpOwogICAgIHZpcnR1YWwgaW50IGhpc3RvcnlGb3J3YXJkTGlzdENvdW50KCk7CiAg
ICAgdmlydHVhbCB2b2lkIGZvY3VzQWNjZXNzaWJpbGl0eU9iamVjdChjb25zdCBXZWJLaXQ6Oldl
YkFjY2Vzc2liaWxpdHlPYmplY3QmKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNz
aWJpbGl0eU9iamVjdENoaWxkcmVuKGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVj
dCYpOworICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25z
dCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3QmLCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24pOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJOb3RpZmljYXRpb25QcmVz
ZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJH
ZW9sb2NhdGlvblNlcnZpY2UqIGdlb2xvY2F0aW9uU2VydmljZSgpOwogICAgIHZpcnR1YWwgV2Vi
S2l0OjpXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIqIHNwZWVjaElucHV0Q29udHJvbGxlcihXZWJL
aXQ6OldlYlNwZWVjaElucHV0TGlzdGVuZXIqKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2OTM0KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDkgQEAK
KzIwMTAtMDktMDMgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxsb3J5QGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VuZCBh
bGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlv
bi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sOiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFu
Z2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5
b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxp
dmVSZWdpb25DaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVl
Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0Nv
bGxhcHNlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xs
ZWRUb0FuY2hvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4
dENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVl
Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGVudW1BY2Nlc3Np
YmlsaXR5T2JqZWN0cyk6CisgICAgICAgICh0ZXN0RG9uZSk6CisgICAgICAgICh0ZXN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisKIDIwMTAtMDktMDcg
IEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEphbWVzIFJvYmluc29uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZHJ0
X2V4cGVjdGF0aW9ucy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZHJ0X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDY2OTM0KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vZHJ0X2V4cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEzNyw3ICsxMzcsNyBAQCBCVUdfRFJUIFdJTiA6IGh0dHAvdGVzdHMvbG9hZGluZy9wcmVs
b2FkCiBCVUdfRFJUIE1BQyBMSU5VWCA6IGh0dHAvdGVzdHMvbWlzYy9zbG93LWxvYWRpbmctaW1h
Z2UtaW4tcGF0dGVybi5odG1sID0gSU1BR0UgUEFTUwogQlVHX0RSVCBXSU4gTUFDIDogZmFzdC9k
b20vR2VvbG9jYXRpb24vZGVsYXllZC1wZXJtaXNzaW9uLWFsbG93ZWQtZm9yLW11bHRpcGxlLXJl
cXVlc3RzLmh0bWwgPSBUSU1FT1VUCiBCVUdfRFJUIExJTlVYICAgOiBmYXN0L2RvbS9HZW9sb2Nh
dGlvbi9kZWxheWVkLXBlcm1pc3Npb24tYWxsb3dlZC1mb3ItbXVsdGlwbGUtcmVxdWVzdHMuaHRt
bCA9IFRFWFQgVElNRU9VVAotQlVHX0RSVCA6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbCA9IFBBU1MKK0JVR19EUlQgOiBw
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5ID0gUEFTUwogQlVHX0RSVCBMSU5VWCA6IGZh
c3QvdGV4dC9pbnRlcm5hdGlvbmFsL3RoYWktbGluZS1icmVha3MuaHRtbCA9IElNQUdFCiBCVUdf
RFJUIFdJTiA6IHN2Zy9iYXRpay90ZXh0L3RleHRGZWF0dXJlcy5zdmcgPSBJTUFHRQogQlVHX0RS
VCBXSU4gTUFDIExJTlVYIDogbWVkaWEvbWVkaWEtY2FuLXBsYXktbXBlZzQtdmlkZW8uaHRtbCA9
IFRFWFQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDY2OTM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05NTQs
NyArOTU0LDcgQEAgQlVHMTAzMjIgREVGRVIgU0tJUCA6IHBsYXRmb3JtL21hYy9hY2NlcwogQlVH
MTAzMjIgREVGRVIgU0tJUCA6IHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5ID0gUEFTUyBGQUlM
CiAKIC8vIEZ1bmN0aW9uYWxpdHkgaXMgc3VwcG9ydGVkIGluIERSVCBidXQgbm90IFRlc3RTaGVs
bAotV09OVEZJWCBTS0lQIDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJl
bi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sID0gRkFJTAorV09OVEZJWCBTS0lQIDogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IEZBSUwKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIE90aGVy
IGZhaWx1cmVzCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVu
LWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjY5MzQpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5n
ZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICswLDAg
QEAKLWRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbiAtIG5ldyBjb3VudDogMQot
VGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyBub3RpZmljYXRpb25z
IHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGNoYW5nZS4KLXRl
eHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hp
bGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZp
Y2F0aW9uLmh0bWwJKHJldmlzaW9uIDY2OTM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUg
Y2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgY2hhbmdlLgotPGRpdj48L2Rpdj4K
LTxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gdGVzdERvbmUoKSB7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gdGVzdCgp
IHsKLSAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAg
ICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwot
Ci0gICAgICAgIGlmICghYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwgIWFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucykKLSAgICAgICAgICAgIHJl
dHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgIAotICAgICAgICAvLyBBY2Nlc3MgYWNjZXNzaWJpbGl0eSBvYmplY3QgdGhhdCB3aWxs
IGJlIGRlbGV0ZWQuCi0gICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKLSAgICAgICAgYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApOwotICAg
ICAgICAKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb25zKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBJbnNlcnQgYSBjaGlsZCBlbGVt
ZW50IG9uIHRoZSBkaXYuIFRoaXMgZ2VuZXJhdGVzIGFuIGFjY2Vzc2liaWxpdHkgY2hpbGRyZWQg
Y2hhbmdlZCBub3RpZmljYXRpb24uCi0gICAgICAgIGRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0u
aW5uZXJIVE1MID0gInRleHQiOwotCi0gICAgICAgIC8vIFVzZSBzZXRUaW1lb3V0IHNvIHRoYXQg
YXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyBjYW4gYmUgcHJvY2Vzc2Vk
LgotICAgICAgICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsKLSAgICB9Ci0KLSAgICB0ZXN0KCk7
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFu
dENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFu
dENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIC0gaWQ6dWwt
Zm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29y
cmVjdGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCBub3RpZmljYXRpb24u
CitsaTEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmlj
YXRpb24oKSB7CisgICAgICAgIHZhciByYWRpb2dyb3VwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIpOworCisgICAgICAgIHJhZGlvZ3Jv
dXAuZm9jdXMoKTsKKyAgICAgICAgcmFkaW9ncm91cC5zZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZl
ZGVzY2VuZGFudCIsICJyMSIpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8dWwgaWQ9InVs
LWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIgYXJpYS1oZWxwPSJ1bC1mb3ItQWN0aXZlRGVz
Y2VuZGFudENoYW5nZWQiIHRhYmluZGV4PSIwIiByb2xlPSJyYWRpb2dyb3VwIj4KKyAgICA8bGkg
aWQ9InIxIj5saTE8L2xpPgorPC91bD4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQ2hlY2tlZFN0YXRlQ2hhbmdl
ZCAtIGlkOmNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQg
Y2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVja2VkU3RhdGVDaGFuZ2VkIG5vdGlm
aWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigp
IHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrYm94LWZvci1DaGVja2Vk
U3RhdGVDaGFuZ2VkIikuY2hlY2tlZCA9IHRydWU7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBDaGVja2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPGlu
cHV0IGlkPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIgYXJpYS1oZWxwPSJjaGVj
a2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIgdHlwZT0iY2hlY2tib3giIC8+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxk
cmVuQ2hhbmdlZCAtIGlkOmRpdi1mb3ItQ2hpbGRyZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQg
Y2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0
aW9uLgordGV4dApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJl
bkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1mb3ItQ2hpbGRyZW5DaGFuZ2VkIikuaW5uZXJI
VE1MID0gInRleHQiOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0
ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUg
Q2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1DaGlsZHJl
bkNoYW5nZWQiIGFyaWEtaGVscD0iZGl2LWZvci1DaGlsZHJlbkNoYW5nZWQiPjwvZGl2PgorCis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRD
aGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRD
aGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVu
dENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRl
c3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBGb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZCBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2Vk
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5j
dGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hy
b21pdW0gcG9ydCAtIHNlZSBoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZAorICAgIH0KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0
IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQg
bm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0
LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENv
bXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQg
Y2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRp
b24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1M
YXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBNYWMgc3Bl
Y2lmaWMKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
K1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENv
bXBsZXRlIG5vdGlmaWNhdGlvbi4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxp
dmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBA
CitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTGl2ZVJlZ2lvbkNoYW5nZWQgLSBpZDp1bC1m
b3ItTGl2ZVJlZ2lvbkNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkg
cmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNo
YW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cisg
ICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInVsLWZvci1MaXZlUmVnaW9uQ2hhbmdlZCIpLnRpdGxlID0gInRpdGxlIjsKKyAg
ICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVz
dHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KKworPHVsIGlkPSJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQiIGFyaWEt
aGVscD0idWwtZm9yLUxpdmVSZWdpb25DaGFuZ2VkIiByb2xlPSJyZWdpb24iIGFyaWEtbGl2ZT0i
cG9saXRlIiBhcmlhLXJlbGV2YW50PSJhZGRpdGlvbnMgcmVtb3ZhbHMiPjwvdWw+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEgQEAKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMg
dGhlIExvYWRDb21wbGV0ZSBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkg
eworICAgICAgICAvLyBNYWMgc3BlY2lmaWMKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkg
cmVjaWV2ZXMgdGhlIExvYWRDb21wbGV0ZSBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IE1lbnVMaXN0VmFsdWVDaGFuZ2VkIC0gaWQ6c2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdl
ZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTWVudUxp
c3RWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVD
aGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5j
dGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZCIpLnNlbGVjdGVkSW5kZXggPSAwOwor
ICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0
ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTWVudUxpc3RWYWx1ZUNo
YW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2VsZWN0IGlkPSJzZWxlY3QtZm9yLU1lbnVMaXN0VmFs
dWVDaGFuZ2VkIiBhcmlhLWhlbHA9InNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQiPgor
CTxvcHRpb24+PC9vcHRpb24+IAorPC9zZWxlY3Q+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJv
d0NvbGxhcHNlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0NvbGxhcHNlZCAtIGlkOmRpdi1mb3ItUm93Q29s
bGFwc2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBS
b3dDb2xsYXBzZWQgbm90aWZpY2F0aW9uLgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLVJvd0NvbGxhcHNlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgewor
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1Sb3dDb2xsYXBzZWQiKS5z
ZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBmYWxzZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0g
Y29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb2xsYXBzZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2
IGlkPSJkaXYtZm9yLVJvd0NvbGxhcHNlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLVJvd0NvbGxhcHNl
ZCIgcm9sZT0idHJlZWl0ZW0iPjwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1S
b3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAK
K0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dDb3VudENoYW5nZWQgLSBpZDpkaXYtZm9y
LVJvd0NvdW50Q2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNp
ZXZlcyB0aGUgUm93Q291bnRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dD
b3VudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24g
dGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIpOworCisgICAgICAgIGRpdi5jaGlsZHJl
blswXS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCB0cnVlKTsKKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50Q2hhbmdlZCBub3RpZmljYXRpb24u
CisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93Q291bnRDaGFuZ2VkIiBhcmlhLWhlbHA9ImRpdi1mb3It
Um93Q291bnRDaGFuZ2VkIiByb2xlPSJncmlkIj4KKyAgICA8ZGl2PjwvZGl2PgorPC9kaXY+CisK
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0V4cGFuZGVk
IC0gaWQ6ZGl2LWZvci1Sb3dFeHBhbmRlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgUm93RXhwYW5kZWQgbm90aWZpY2F0aW9uLgorCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVJvd0V4cGFuZGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90
aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1S
b3dFeHBhbmRlZCIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIHRydWUpOworICAgIH0K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93RXhwYW5kZWQgbm90aWZpY2F0
aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9yLVJvd0V4cGFuZGVkIiBhcmlhLWhlbHA9ImRpdi1mb3It
Um93RXhwYW5kZWQiIHJvbGU9InRyZWVpdGVtIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9B
bmNob3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0
Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9y
dCAtIHNlZSBoYW5kbGVTY3JvbGxlZFRvQW5jaG9yCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBTY3JvbGxlZFRvQW5jaG9yIG5vdGlmaWNhdGlvbi4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFu
Z2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uIC0gU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgLSBpZDpzZWxlY3QtZm9y
LVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRpb24uICAK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNl
bGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24o
KSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3QtZm9yLVNlbGVjdGVk
Q2hpbGRyZW5DaGFuZ2VkIikuc2VsZWN0ZWRJbmRleCA9IDA7CisgICAgfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0g
Y29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRp
b24uCisKKzxzZWxlY3QgaWQ9InNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiIGFy
aWEtaGVscD0ic2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCIgc2l6ZT0iNCI+Cisg
ICAgPG9wdGlvbiB2YWx1ZT0iMSI+aXRlbSAxPC9vcHRpb24+Cis8L3NlbGVjdD4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRUZXh0Q2hhbmdlZCBub3RpZmljYXRpb24u
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRU
ZXh0Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAg
ICAvLyBNYWMgc3BlY2lmaWMgLSBzZWUgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNo
YW5nZQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgor
VGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRU
ZXh0Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hh
bmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiAtIFZhbHVlQ2hhbmdlZCAtIGlkOnRleHQtZm9yLVZhbHVlQ2hhbmdl
ZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgVmFsdWVD
aGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQtZm9yLVZhbHVlQ2hhbmdlZCIpLnZhbHVl
ID0gImJ1dHRvbiIKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVz
dCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFZh
bHVlQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxpbnB1dCBpZD0idGV4dC1mb3ItVmFsdWVDaGFu
Z2VkIiBhcmlhLWhlbHA9InRleHQtZm9yLVZhbHVlQ2hhbmdlZCIgdHlwZT0idGV4dCIgdmFsdWU9
InZhbHVlIiAvPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5v
dGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24uanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDI1IEBACitmdW5jdGlvbiBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMo
YWNjZXNzaWJpbGl0eU9iamVjdCkgeworICB2YXIgY291bnQgPSBhY2Nlc3NpYmlsaXR5T2JqZWN0
LmNoaWxkcmVuQ291bnQ7CisgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICBl
bnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNzaWJpbGl0eU9iamVjdC5jaGlsZEF0SW5kZXgo
aSkpOworfQorCitmdW5jdGlvbiB0ZXN0RG9uZSgpIHsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkgeworICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKKyAgCisgIC8vIEJ1aWxkIGFjY2Vzc2liaWxpdHkgdHJlZS4KKyAgZG9jdW1lbnQuYm9keS5m
b2N1cygpOworICBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQpOworCisgIC8vIFRlc3QgdGhlIGFjY2Vzc2liaWxpdHkgbm90aWZp
Y2F0aW9uLgorICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5kdW1wQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbnMoKTsKKyAgdGVzdE5vdGlmaWNhdGlvbigpOworCisgIC8vIFVzZSBzZXRUaW1lb3V0
IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyBjYW4gYmUg
cHJvY2Vzc2VkLgorICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67075</attachid>
            <date>2010-09-09 12:06:28 -0700</date>
            <delta_ts>2010-09-09 13:57:46 -0700</delta_ts>
            <desc>Add AssertMatchingEnums.h to pass style check</desc>
            <filename>MyPatch2.txt</filename>
            <type>text/plain</type>
            <size>55973</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzA2OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KSW5kZXg6IFdlYkNv
cmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hy
b21pdW0uY3BwCShyZXZpc2lvbiA2NzA2OCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJv
bWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCwzMCAr
NjAsMzQgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYQogICAgICAg
ICByZXR1cm47CiAKICAgICBDaHJvbWVDbGllbnRDaHJvbWl1bSogY2xpZW50ID0gdG9DaHJvbWVD
bGllbnRDaHJvbWl1bShvYmotPmRvY3VtZW50RnJhbWVWaWV3KCkpOwotICAgIGlmIChjbGllbnQp
IHsKLSAgICAgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKLSAgICAgICAgY2FzZSBBWENoZWNr
ZWRTdGF0ZUNoYW5nZWQ6Ci0gICAgICAgICAgICBjbGllbnQtPmRpZENoYW5nZUFjY2Vzc2liaWxp
dHlPYmplY3RTdGF0ZShvYmopOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQVhD
aGlsZHJlbkNoYW5nZWQ6Ci0gICAgICAgICAgICBjbGllbnQtPmRpZENoYW5nZUFjY2Vzc2liaWxp
dHlPYmplY3RDaGlsZHJlbihvYmopOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
QVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWEZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkOgotICAgICAgICBjYXNlIEFYTGF5b3V0Q29tcGxldGU6Ci0gICAgICAgIGNhc2Ug
QVhMaXZlUmVnaW9uQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExvYWRDb21wbGV0ZToKLSAgICAg
ICAgY2FzZSBBWE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgotICAgICAgICBjYXNlIEFYUm93Q29sbGFw
c2VkOgotICAgICAgICBjYXNlIEFYUm93Q291bnRDaGFuZ2VkOgotICAgICAgICBjYXNlIEFYUm93
RXhwYW5kZWQ6Ci0gICAgICAgIGNhc2UgQVhTY3JvbGxlZFRvQW5jaG9yOgotICAgICAgICBjYXNl
IEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhTZWxlY3RlZFRleHRD
aGFuZ2VkOgotICAgICAgICBjYXNlIEFYVmFsdWVDaGFuZ2VkOgotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIH0KKyAgICBpZiAoIWNsaWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8g
VE9ETzogUmVtb3ZlIGFmdGVyIHRoZSBuZXcgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24g
aXMgdXNlZCBkb3duc3RyZWFtLgorICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7CisgICAgY2Fz
ZSBBWENoZWNrZWRTdGF0ZUNoYW5nZWQ6CisgICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNz
aWJpbGl0eU9iamVjdFN0YXRlKG9iaik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhDaGls
ZHJlbkNoYW5nZWQ6CisgICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVj
dENoaWxkcmVuKG9iaik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhBY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZDoKKyAgICBjYXNlIEFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQ6CisgICAgY2Fz
ZSBBWExheW91dENvbXBsZXRlOgorICAgIGNhc2UgQVhMaXZlUmVnaW9uQ2hhbmdlZDoKKyAgICBj
YXNlIEFYTG9hZENvbXBsZXRlOgorICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKKyAg
ICBjYXNlIEFYUm93Q29sbGFwc2VkOgorICAgIGNhc2UgQVhSb3dDb3VudENoYW5nZWQ6CisgICAg
Y2FzZSBBWFJvd0V4cGFuZGVkOgorICAgIGNhc2UgQVhTY3JvbGxlZFRvQW5jaG9yOgorICAgIGNh
c2UgQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZDoKKyAgICBjYXNlIEFYU2VsZWN0ZWRUZXh0Q2hh
bmdlZDoKKyAgICBjYXNlIEFYVmFsdWVDaGFuZ2VkOgorICAgICAgICBicmVhazsKICAgICB9CisK
KyAgICBjbGllbnQtPnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKG9iaiwgbm90aWZpY2F0
aW9uKTsgICAgICAgIAogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUZvY3VzZWRVSUVs
ZW1lbnRDaGFuZ2VkKFJlbmRlck9iamVjdCosIFJlbmRlck9iamVjdCopCkluZGV4OiBXZWJDb3Jl
L3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkocmV2aXNpb24gNjcwNjgp
CisrKyBXZWJDb3JlL3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBDaHJvbWVDbGllbnRDaHJvbWl1bV9o
CiAjZGVmaW5lIENocm9tZUNsaWVudENocm9taXVtX2gKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2Fj
aGUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogCkBAIC01OCw2ICs1OSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3RpZmllZCBlbWJl
ZGRlciB0aGF0IHRoZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBoYXMgY2hh
bmdlZC4KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxk
cmVuKEFjY2Vzc2liaWxpdHlPYmplY3QqKSA9IDA7CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1i
ZWRkZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2
b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBB
WE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbikgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzEwMikKKysrIFdlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wOS0w
OSAgQ2hyaXMgR3VpbGxvcnkgICA8Y2hyaXMuZ3VpbGxvcnlAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIGFsbCBhY2Nlc3Np
YmlsaXR5IG5vdGlmaWNhdGlvbnMgdG8gQ2hyb21pdW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisgICAgICAgIAorICAgICAgICBVc2UgcG9z
dEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gdG8gcGFzcyBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNh
dGlvbgorICAgICAgICB0byBjaHJvbWl1bS4gCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAg
ICAgICAqIHB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmg6IEFkZGVkLgorICAg
ICAgICAqIHB1YmxpYy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdD
bGllbnQ6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMvQXNz
ZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMu
aDogQWRkZWQuCisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbik6
CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKwogMjAxMC0wOS0wOSAgS2VubmV0
aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMg
Um9iaW5zb24uCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkocmV2aXNpb24gNjcwNjgpCisrKyBXZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQAogICAg
ICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgnLAogICAgICAgICAg
ICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9GYWN0b3J5LmgnLAogICAgICAgICAgICAg
ICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmgnLAorICAgICAgICAgICAgICAgICdw
dWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oJywKICAgICAgICAgICAgICAgICAn
cHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCcsCiAgICAgICAgICAgICAgICAgJ3B1Ymxp
Yy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFu
aW1hdGlvbkNvbnRyb2xsZXIuaCcsCkBAIC0yNzgsNiArMjc5LDcgQEAKICAgICAgICAgICAgICAg
ICAnc3JjL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9B
cHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFsLmgnLAogICAgICAgICAgICAgICAgICdzcmMvQXNz
ZXJ0TWF0Y2hpbmdFbnVtcy5jcHAnLAorICAgICAgICAgICAgICAgICdzcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5oJywKICAgICAgICAgICAgICAgICAnc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVt
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5oJywK
ICAgICAgICAgICAgICAgICAnc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmNwcCcsCkluZGV4
OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24uaAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uX2gKKyNkZWZpbmUgV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbl9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBUaGVzZSB2YWx1
ZXMgbXVzdCBtYXRjaCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiB2YWx1
ZXMKK2VudW0gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB7CisgICAgQWN0aXZlRGVzY2Vu
ZGFudENoYW5nZWQsCisgICAgQ2hlY2tlZFN0YXRlQ2hhbmdlZCwKKyAgICBDaGlsZHJlbkNoYW5n
ZWQsCisgICAgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQsCisgICAgTGF5b3V0Q29tcGxldGUsCisg
ICAgTG9hZENvbXBsZXRlLAorICAgIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAgIFNlbGVj
dGVkVGV4dENoYW5nZWQsCisgICAgVmFsdWVDaGFuZ2VkLAorICAgIFNjcm9sbGVkVG9BbmNob3Is
CisgICAgTGl2ZVJlZ2lvbkNoYW5nZWQsCisgICAgTWVudUxpc3RWYWx1ZUNoYW5nZWQsCisgICAg
Um93Q291bnRDaGFuZ2VkLAorICAgIFJvd0NvbGxhcHNlZCwKKyAgICBSb3dFeHBhbmRlZCwKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbl9oCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAko
cmV2aXNpb24gNjcwNjgpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJWaWV3Q2xpZW50
X2gKICNkZWZpbmUgV2ViVmlld0NsaWVudF9oCiAKKyNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgogI2luY2x1ZGUg
IldlYkVkaXRpbmdBY3Rpb24uaCIKICNpbmNsdWRlICJXZWJGaWxlQ2hvb3NlckNvbXBsZXRpb24u
aCIKQEAgLTI4MCw2ICsyODEsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90aWZpZXMgZW1i
ZWRkZXIgdGhhdCB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgaGFzIGNo
YW5nZWQuCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGls
ZHJlbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JikgeyB9CisgICAgCisgICAgLy8gTm90
aWZpZXMgZW1iZWRkZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAg
dmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkFjY2Vz
c2liaWxpdHlPYmplY3QmLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKSB7IH0KIAogCiAg
ICAgLy8gRGV2ZWxvcGVyIHRvb2xzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNo
aW5nRW51bXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0
Y2hpbmdFbnVtcy5jcHAJKHJldmlzaW9uIDY3MDY4KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9B
c3NlcnRNYXRjaGluZ0VudW1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsOSBAQAog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKKyNpbmNsdWRlICJBc3NlcnRNYXRjaGluZ0VudW1zLmgi
CisKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9i
amVjdC5oIgogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCiAjaW5jbHVkZSAiQXN5
bmNGaWxlU3lzdGVtLmgiCkBAIC01MCw2ICs1Myw3IEBACiAjaW5jbHVkZSAiVXNlckNvbnRlbnRU
eXBlcy5oIgogI2luY2x1ZGUgIlVzZXJTY3JpcHRUeXBlcy5oIgogI2luY2x1ZGUgIlZpZGVvRnJh
bWVDaHJvbWl1bS5oIgorI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCIK
ICNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViQXBwbGlj
YXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJXZWJDbGlwYm9hcmQuaCIKQEAgLTc1LDEwICs3
OSwyNiBAQAogCiAvLyBUaGVzZSBjb25zdGFudHMgYXJlIGluIFdURiwgYnJpbmcgdGhlbSBpbnRv
IFdlYkNvcmUgc28gdGhlIEFTU0VSVCBzdGlsbCB3b3JrcyBmb3IgdGhlbSEKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKLSAgICB1c2luZyBXVEY6OlRleHRDYXNlU2Vuc2l0aXZlOwotICAgIHVzaW5nIFdU
Rjo6VGV4dENhc2VJbnNlbnNpdGl2ZTsKK3VzaW5nIFdURjo6VGV4dENhc2VTZW5zaXRpdmU7Cit1
c2luZyBXVEY6OlRleHRDYXNlSW5zZW5zaXRpdmU7CiB9OwogCitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWEFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ2hlY2tl
ZFN0YXRlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhDaGVja2VkU3RhdGVDaGFuZ2VkKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ2hpbGRyZW5DaGFuZ2VkLCBBWE9iamVjdENhY2hl
OjpBWENoaWxkcmVuQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEZvY3Vz
ZWRVSUVsZW1lbnRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWEZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTGF5b3V0Q29tcGxldGUsIEFYT2Jq
ZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShMb2FkQ29tcGxldGUsIEFYT2JqZWN0Q2FjaGU6OkFYTG9hZENvbXBsZXRlKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQsIEFYT2JqZWN0Q2Fj
aGU6OkFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShTZWxlY3RlZFRleHRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWFNlbGVjdGVkVGV4dENo
YW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShWYWx1ZUNoYW5nZWQsIEFYT2Jq
ZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
U2Nyb2xsZWRUb0FuY2hvciwgQVhPYmplY3RDYWNoZTo6QVhTY3JvbGxlZFRvQW5jaG9yKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTGl2ZVJlZ2lvbkNoYW5nZWQsIEFYT2JqZWN0Q2Fj
aGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShN
ZW51TGlzdFZhbHVlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhNZW51TGlzdFZhbHVlQ2hhbmdl
ZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFJvd0NvdW50Q2hhbmdlZCwgQVhPYmpl
Y3RDYWNoZTo6QVhSb3dDb3VudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShSb3dDb2xsYXBzZWQsIEFYT2JqZWN0Q2FjaGU6OkFYUm93Q29sbGFwc2VkKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oUm93RXhwYW5kZWQsIEFYT2JqZWN0Q2FjaGU6OkFYUm93RXhw
YW5kZWQpOworCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlS
b2xlVW5rbm93biwgVW5rbm93blJvbGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJBY2Nlc3NpYmlsaXR5Um9sZUJ1dHRvbiwgQnV0dG9uUm9sZSk7CiBDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlUmFkaW9CdXR0b24sIFJhZGlvQnV0dG9u
Um9sZSk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuaAko
cmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5o
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQXNzZXJ0
TWF0Y2hpbmdFbnVtc19oCisjZGVmaW5lIEFzc2VydE1hdGNoaW5nRW51bXNfaAorCisjZW5kaWYg
Ly8gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJfaApJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9D
aHJvbWVDbGllbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuY3BwCShyZXZpc2lvbiA2NzA2OCkKKysrIFdlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyMCw2ICs3MjAsMTMg
QEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpkaWRDaGFuZ2VBY2Nlc3NpYgogICAgICAgICBtX3dl
YlZpZXctPmNsaWVudCgpLT5kaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdChvYmopKTsKIH0KIAordm9pZCBDaHJvbWVDbGllbnRJbXBsOjpw
b3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmosIEFY
T2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikKK3sKKyAgICAvLyBBbGVy
dCBhc3Npc3RpdmUgdGVjaG5vbG9neSBhYm91dCB0aGUgYWNjZXNzaWJpbGl0eSBvYmplY3Qgbm90
aWZpY2F0aW9uLgorICAgIGlmIChvYmopCisgICAgICAgIG1fd2ViVmlldy0+Y2xpZW50KCktPnBv
c3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKFdlYkFjY2Vzc2liaWxpdHlPYmplY3Qob2JqKSwg
c3RhdGljX2Nhc3Q8V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbj4obm90aWZpY2F0aW9uKSk7
Cit9CisKICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKIE5vdGlmaWNhdGlvblByZXNlbnRlciog
Q2hyb21lQ2xpZW50SW1wbDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkgY29uc3QKIHsKSW5kZXg6
IFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCShyZXZpc2lvbiA2NzA2OCkKKysr
IFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjgsNiArMTY4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwb3B1cENsb3NlZChX
ZWJDb3JlOjpQb3B1cENvbnRhaW5lciogcG9wdXBDb250YWluZXIpOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eU9iamVjdCopOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0
Q2hpbGRyZW4oV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCopOworICAgIHZpcnR1YWwgdm9p
ZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiwgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24pOwogCiAgICAgLy8g
Q2hyb21lQ2xpZW50SW1wbDoKICAgICB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDdXJzb3JJbmZv
JiBjdXJzb3IpOwpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNjcxMDEpCisrKyBXZWJLaXRUb29scy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMTI4ICsxLDEzIEBACi0yMDEwLTA5LTA5ICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisyMDEwLTA5LTAyICBDaHJpcyBHdWls
bG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgogCi0gICAgICAgIFJldmlld2VkIGJ5
IERhdmlkIEtpbHplci4KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKLSAg
ICAgICAgQVg6IFN1cHBvcnQgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJzIGluIERSVAotICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ3NzgKLQotICAgICAg
ICBBZGQgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIgYW5kIEFjY2Vzc2liaWxpdHlUZXh0TWFya2Vy
UmFuZ2Ugd2hpY2ggZW5jYXBzdWxhdGUgdGhlIEFYVGV4dE1hcmtlcnMgCi0gICAgICAgIHRoYXQg
V2ViQ29yZSB1c2VzIHdoZW4gdmVuZGluZyBpbmZvcm1hdGlvbiBhYm91dCBpdHMgVmlzaWJsZVBv
c2l0aW9ucyB0aHJvdWdoIEFYLgotCi0gICAgICAgIFRoZXJlIGFyZSBhIGZldyBuZXcgbWV0aG9k
cyBpbiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IHRvIHJldHJpZXZlIGFuZCB1c2UgdGV4dCBtYXJr
ZXJzLCBhbmQgc29tZSBiYXNpYwotICAgICAgICBtZXRob2RzIGZvciBlbmNhcHN1bGF0aW5nIGFu
ZCBjaGVja2luZyBlcXVhbGl0eS4KLQotICAgICAgICBUaGlzIHdpbGwgYWxsb3cgZnV0dXJlIGJ1
ZyBmaXhlcyBpbiB0aGUgdGV4dCBtYXJrZXIgc3lzdGVtIHRvIGJlIGFkZXF1YXRlbHkgdGVzdGVk
LgotCi0gICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIuY3Bw
OiBBZGRlZC4KLSAgICAgICAgKHRvVGV4dE1hcmtlcik6Ci0gICAgICAgIChpc01hcmtlckVxdWFs
Q2FsbGJhY2spOgotICAgICAgICAobWFya2VyRmluYWxpemUpOgotICAgICAgICAoQWNjZXNzaWJp
bGl0eVRleHRNYXJrZXI6Om1ha2VKU0FjY2Vzc2liaWxpdHlUZXh0TWFya2VyKToKLSAgICAgICAg
KEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyOjpnZXRKU0NsYXNzKToKLSAgICAgICAgKHRvVGV4dE1h
cmtlclJhbmdlKToKLSAgICAgICAgKGlzTWFya2VyUmFuZ2VFcXVhbENhbGxiYWNrKToKLSAgICAg
ICAgKG1hcmtlclJhbmdlRmluYWxpemUpOgotICAgICAgICAoQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXJSYW5nZTo6bWFrZUpTQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSk6Ci0gICAgICAgIChB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlOjpnZXRKU0NsYXNzKToKLSAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VGV4dE1hcmtlci5oOiBBZGRlZC4KLSAgICAgICAgKEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyOjpwbGF0Zm9ybVRleHRNYXJrZXIpOgotICAgICAgICAoQWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZTo6cGxhdGZvcm1UZXh0TWFya2VyUmFuZ2UpOgotICAg
ICAgICAoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OkFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKToK
LSAgICAgICAgKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyOjp+QWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXIpOgotICAgICAgICAoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OmlzRXF1YWwpOgotICAgICAg
ICAoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZTo6QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJS
YW5nZSk6Ci0gICAgICAgIChBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlOjp+QWNjZXNzaWJp
bGl0eVRleHRNYXJrZXJSYW5nZSk6Ci0gICAgICAgIChBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJh
bmdlOjppc0VxdWFsKToKLSAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmNwcDoKLSAgICAgICAgKHRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnRDYWxsYmFjayk6
Ci0gICAgICAgICh0ZXh0TWFya2VyUmFuZ2VMZW5ndGhDYWxsYmFjayk6Ci0gICAgICAgICh0ZXh0
TWFya2VyUmFuZ2VGb3JNYXJrZXJzQ2FsbGJhY2spOgotICAgICAgICAoc3RhcnRUZXh0TWFya2Vy
Rm9yVGV4dE1hcmtlclJhbmdlQ2FsbGJhY2spOgotICAgICAgICAoZW5kVGV4dE1hcmtlckZvclRl
eHRNYXJrZXJSYW5nZUNhbGxiYWNrKToKLSAgICAgICAgKGFjY2Vzc2liaWxpdHlFbGVtZW50Rm9y
VGV4dE1hcmtlckNhbGxiYWNrKToKLSAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRl
eHRNYXJrZXJSYW5nZUZvckVsZW1lbnQpOgotICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6dGV4dE1hcmtlclJhbmdlTGVuZ3RoKToKLSAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnN0YXJ0VGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZSk6Ci0gICAgICAgIChBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKToKLSAgICAg
ICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlFbGVtZW50Rm9yVGV4dE1h
cmtlcik6Ci0gICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKToKLSAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6Ci0gICAgICAg
ICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKLSAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJN
YWMubW06IEFkZGVkLgotICAgICAgICAoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OkFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyKToKLSAgICAgICAgKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyOjp+QWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXIpOgotICAgICAgICAoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6
OmlzRXF1YWwpOgotICAgICAgICAoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZTo6QWNjZXNz
aWJpbGl0eVRleHRNYXJrZXJSYW5nZSk6Ci0gICAgICAgIChBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
clJhbmdlOjp+QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSk6Ci0gICAgICAgIChBY2Nlc3Np
YmlsaXR5VGV4dE1hcmtlclJhbmdlOjppc0VxdWFsKToKLSAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKLSAgICAgICAgKEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQpOgotICAgICAgICAoQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlTGVuZ3RoKToKLSAgICAgICAgKEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMpOgotICAgICAgICAo
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdl
KToKLSAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JUZXh0
TWFya2VyUmFuZ2UpOgotICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJp
bGl0eUVsZW1lbnRGb3JUZXh0TWFya2VyKToKLSAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUudmNwcm9qOgotCi0yMDEwLTA4LTI1ICBUb255IENoYW5nICA8dG9ueUBj
aHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KLQotICAgICAg
ICBkb24ndCBkZWxldGUgZHVwbGljYXRlcyBuZWVkZWQgYmVjYXVzZSBvZiBpbnRlcm1lZGlhdGUg
cmVzdWx0cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDQ2NTMKLQotICAgICAgICBBbHNvLCBvdXRwdXQgdGhlIGZ1bGwgcGF0aCBzbyB3ZSBjYW4gcGlw
ZSB0aGUgb3V0cHV0IHRvIHJtLgotCi0gICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvZGVkdXBsaWNhdGVfdGVzdHMucHk6Ci0gICAgICAgICogU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvZGVkdXBsaWNhdGVfdGVzdHNfdW5pdHRlc3QucHk6Ci0KLTIwMTAtMDktMDkg
IEJhbGF6cyBLZWxlbWVuICA8a2JAaW5mLnUtc3plZ2VkLmh1PgotCi0gICAgICAgIFJldmlld2Vk
IGJ5IEFuZHJlYXMgS2xpbmcuCi0KLSAgICAgICAgW1F0XSBNaW5pQnJvd3NlciBkb2VzIG5vdCBz
dGFydHMgcHJvcGVybHkKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ1NDU5Ci0KLSAgICAgICAgRG8gbm90IHRyeSBzZXQgdXAgdGhlIGZpcnN0IHdpbmRv
dyBieSBjYWxsaW5nIG5ld1dpbmRvdyBvbiBhCi0gICAgICAgIG5ld2x5IGNyZWF0ZWQgQnJvd3Nl
cldpbmRvdyBzaW5jZSBpdCBjcmVhdGVzIGEgbmV3IG9iamVjdC4KLSAgICAgICAgKiBNaW5pQnJv
d3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcDoKLSAgICAgICAgKEJyb3dzZXJXaW5kb3c6OkJyb3dz
ZXJXaW5kb3cpOgotICAgICAgICAqIE1pbmlCcm93c2VyL3F0L21haW4uY3BwOgotICAgICAgICAo
bWFpbik6Ci0KLTIwMTAtMDktMDkgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEu
Y29tPgotCi0gICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KLQotICAgICAgICBbR1RLXSBH
ZXQgSW1hZ2VEaWZmIGJ1aWxkaW5nIG9uIFdpbjMyCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTM1MwotCi0gICAgICAgICogRHVtcFJlbmRlclRyZWUv
Z3RrL0ltYWdlRGlmZi5jcHA6Ci0gICAgICAgIChtYWluKTogU3dpdGNoIGZyb20gdXNpbmcgc3Ry
dG9rIHRvIGdfc3Ryc3BsaXQuCi0KLTIwMTAtMDktMDkgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFu
QHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KLQotICAg
ICAgICBbUXRdIE1vZGlmeSBsb2FkIG1ldGhvZCBvZiBNaW5pQnJvd3NlcidzIEJyb3dzZXJWaWV3
IGNsYXNzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NTQ0MgotCi0gICAgICAgIE1vZGlmeSBsb2FkIG1ldGhvZCB0byB0YWtlIGEgUVN0cmluZyBhcyBh
cmd1bWVudCwgcmVtb3ZlIHVubmVjZXNzYXJ5IFFUX1ZFUlNJT05fQ0hFQ0suCi0KLSAgICAgICAg
KiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHA6Ci0gICAgICAgIChCcm93c2VyVmlldzo6
bG9hZCk6Ci0gICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuaDoKLSAgICAgICAg
KiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyV2luZG93LmNwcDoKLSAgICAgICAgKEJyb3dzZXJXaW5k
b3c6OmxvYWQpOgotCi0yMDEwLTA5LTA5ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+
Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KLQotICAgICAgICBmaXggc2hvd19y
ZXN1bHRzIGluIG5ldy1ydW4td2Via2l0LXRlc3RzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQxMwotCi0gICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weToKKyAgICAgICAgU2VuZCBhbGwgYWNjZXNz
aWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVtCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorICAgICAgICAKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9z
dDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CiAKIDIwMTAtMDktMDggIFZpY3RvciBXYW5nICA8
dmljdG9yd0BjaHJvbWl1bS5vcmc+CiAKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAJKHJldmlzaW9uIDY3MDY4KQorKysg
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAicHVibGljL1dlYkNvbnRleHRN
ZW51RGF0YS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJEYXRhU291cmNlLmgiCiAjaW5jbHVkZSAi
cHVibGljL1dlYkRyYWdEYXRhLmgiCisjaW5jbHVkZSAicHVibGljL1dlYkVsZW1lbnQuaCIKICNp
bmNsdWRlICJwdWJsaWMvV2ViRnJhbWUuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViR2VvbG9jYXRp
b25TZXJ2aWNlTW9jay5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJIaXN0b3J5SXRlbS5oIgpAQCAt
NDg5LDEwICs0OTAsNjggQEAgdm9pZCBXZWJWaWV3SG9zdDo6Zm9jdXNBY2Nlc3NpYmlsaXR5T2Jq
ZQogICAgIG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCktPnNldEZvY3VzZWRFbGVt
ZW50KG9iamVjdCk7CiB9CiAKLXZvaWQgV2ViVmlld0hvc3Q6OmRpZENoYW5nZUFjY2Vzc2liaWxp
dHlPYmplY3RDaGlsZHJlbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCit2
b2lkIFdlYlZpZXdIb3N0Ojpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25zdCBXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmosIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gbm90
aWZpY2F0aW9uKQogewotICAgIGlmIChtX3NoZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigp
LT5zaG91bGREdW1wQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMoKSkKLSAgICAgICAgcHJpbnRm
KCJkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4gLSBuZXcgY291bnQ6ICVkXG4i
LCBvYmplY3QuY2hpbGRDb3VudCgpKTsKKyAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb24gLSAiKTsKKyAgICAKKyAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIoKS0+c2hvdWxkRHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpIHsKKyAgICAgICAg
c3dpdGNoIChub3RpZmljYXRpb24pIHsKKyAgICAgICAgY2FzZSBBY3RpdmVEZXNjZW5kYW50Q2hh
bmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENoZWNrZWRTdGF0ZUNoYW5nZWQ6CisgICAg
ICAgICAgICBwcmludGYoIkNoZWNrZWRTdGF0ZUNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIENoaWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQ2hp
bGRyZW5DaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExheW91dENvbXBsZXRl
OgorICAgICAgICAgICAgcHJpbnRmKCJMYXlvdXRDb21wbGV0ZSIpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgTG9hZENvbXBsZXRlOgorICAgICAgICAgICAgcHJpbnRmKCJMb2Fk
Q29tcGxldGUiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNlbGVjdGVkQ2hp
bGRyZW5DaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJTZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgU2VsZWN0ZWRUZXh0Q2hhbmdl
ZDoKKyAgICAgICAgICAgIHByaW50ZigiU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgVmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRm
KCJWYWx1ZUNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNjcm9s
bGVkVG9BbmNob3I6CisgICAgICAgICAgICBwcmludGYoIlNjcm9sbGVkVG9BbmNob3IiKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIExpdmVSZWdpb25DaGFuZ2VkOgorICAgICAg
ICAgICAgcHJpbnRmKCJMaXZlUmVnaW9uQ2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgTWVudUxpc3RWYWx1ZUNoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIk1l
bnVMaXN0VmFsdWVDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBS
b3dDb3VudENoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIlJvd0NvdW50Q2hhbmdlZCIpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUm93Q29sbGFwc2VkOgorICAgICAgICAg
ICAgcHJpbnRmKCJSb3dDb2xsYXBzZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIFJvd0V4cGFuZGVkOgorICAgICAgICAgICAgcHJpbnRmKCJSb3dFeHBhbmRlZCIpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBXZWJLaXQ6OldlYk5vZGUgbm9k
ZSA9IG9iai5ub2RlKCk7CisgICAgICAgIGlmICghbm9kZS5pc051bGwoKSAmJiBub2RlLmlzRWxl
bWVudE5vZGUoKSkgeworICAgICAgICAgICAgV2ViS2l0OjpXZWJFbGVtZW50IGVsZW1lbnQgPSBu
b2RlLnRvPFdlYktpdDo6V2ViRWxlbWVudD4oKTsKKyAgICAgICAgICAgIGlmIChlbGVtZW50Lmhh
c0F0dHJpYnV0ZSgiaWQiKSkKKyAgICAgICAgICAgICAgICBwcmludGYoIiAtIGlkOiVzIiwgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoImlkIikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIH0KKworICAg
ICAgICBwcmludGYoIlxuIik7CisgICAgfQogfQogCiBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIq
IFdlYlZpZXdIb3N0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKQpJbmRleDogV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCShyZXZpc2lvbiA2
NzA2OCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIk1vY2tTcGVs
bENoZWNrLmgiCiAjaW5jbHVkZSAiVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVk
ZSAicHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJwdWJs
aWMvV2ViQ3Vyc29ySW5mby5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJGcmFtZUNsaWVudC5oIgog
I2luY2x1ZGUgInB1YmxpYy9XZWJWaWV3Q2xpZW50LmgiCkBAIC0xMjYsNyArMTI3LDcgQEAgY2xh
c3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpXZWJWaQogICAgIHZpcnR1YWwgaW50IGhp
c3RvcnlCYWNrTGlzdENvdW50KCk7CiAgICAgdmlydHVhbCBpbnQgaGlzdG9yeUZvcndhcmRMaXN0
Q291bnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNBY2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0
IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpOwotICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2ViS2l0OjpXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uKGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYsIFdlYktpdDo6V2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbik7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYk5vdGlm
aWNhdGlvblByZXNlbnRlciogbm90aWZpY2F0aW9uUHJlc2VudGVyKCk7CiAgICAgdmlydHVhbCBX
ZWJLaXQ6OldlYkdlb2xvY2F0aW9uU2VydmljZSogZ2VvbG9jYXRpb25TZXJ2aWNlKCk7CiAgICAg
dmlydHVhbCBXZWJLaXQ6OldlYlNwZWVjaElucHV0Q29udHJvbGxlciogc3BlZWNoSW5wdXRDb250
cm9sbGVyKFdlYktpdDo6V2ViU3BlZWNoSW5wdXRMaXN0ZW5lciopOwpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gNjcwNjgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSw0OSBAQAorMjAxMC0wOS0wMyAgQ2hyaXMgR3VpbGxvcnkgICA8Y2hyaXMuZ3VpbGxvcnlA
Z29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTZW5kIGFsbCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgdG8gQ2hyb21pdW0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQt
bm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3Rh
dGVDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1D
aGlsZHJlbkNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29t
cGxldGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1l
bnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVl
Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tUm93Q29sbGFwc2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dF
eHBhbmRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRv
QW5jaG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
U2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0
Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tVmFsdWVDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24uanM6IEFkZGVkLgorICAgICAgICAo
ZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKToKKyAgICAgICAgKHRlc3REb25lKToKKyAgICAgICAg
KHRlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2RydF9leHBlY3RhdGlvbnMudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKwog
MjAxMC0wOS0wOSAgUmVuYXRhIEhvZG92YW4gIDxyZW5pQGluZi51LXN6ZWdlZC5odT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEaXJrIFNjaHVsemUuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNjcwNjgp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMTM3LDcgKzEzNyw3IEBAIEJVR19EUlQgV0lOIDogaHR0cC90ZXN0
cy9sb2FkaW5nL3ByZWxvYWQKIEJVR19EUlQgTUFDIExJTlVYIDogaHR0cC90ZXN0cy9taXNjL3Ns
b3ctbG9hZGluZy1pbWFnZS1pbi1wYXR0ZXJuLmh0bWwgPSBJTUFHRSBQQVNTCiBCVUdfRFJUIFdJ
TiBNQUMgOiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9kZWxheWVkLXBlcm1pc3Npb24tYWxsb3dlZC1m
b3ItbXVsdGlwbGUtcmVxdWVzdHMuaHRtbCA9IFRJTUVPVVQKIEJVR19EUlQgTElOVVggICA6IGZh
c3QvZG9tL0dlb2xvY2F0aW9uL2RlbGF5ZWQtcGVybWlzc2lvbi1hbGxvd2VkLWZvci1tdWx0aXBs
ZS1yZXF1ZXN0cy5odG1sID0gVEVYVCBUSU1FT1VUCi1CVUdfRFJUIDogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sID0gUEFT
UworQlVHX0RSVCA6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkgPSBQQVNTCiBCVUdf
RFJUIExJTlVYIDogZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdGhhaS1saW5lLWJyZWFrcy5odG1s
ID0gSU1BR0UKIEJVR19EUlQgV0lOIDogc3ZnL2JhdGlrL3RleHQvdGV4dEZlYXR1cmVzLnN2ZyA9
IElNQUdFCiBCVUdfRFJUIFdJTiBNQUMgTElOVVggOiBtZWRpYS9tZWRpYS1jYW4tcGxheS1tcGVn
NC12aWRlby5odG1sID0gVEVYVApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNjcwNjgpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTk1NCw3ICs5NTQsNyBAQCBCVUcxMDMyMiBERUZFUiBTS0lQIDogcGxhdGZvcm0v
bWFjL2FjY2VzCiBCVUcxMDMyMiBERUZFUiBTS0lQIDogcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxp
dHkgPSBQQVNTIEZBSUwKIAogLy8gRnVuY3Rpb25hbGl0eSBpcyBzdXBwb3J0ZWQgaW4gRFJUIGJ1
dCBub3QgVGVzdFNoZWxsCi1XT05URklYIFNLSVAgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgPSBGQUlMCitXT05URklY
IFNLSVAgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5ID0gRkFJTAogCiAvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogLy8gT3RoZXIgZmFpbHVyZXMKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA2NzA2OCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
Y2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzAsMCBAQAotZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0g
bmV3IGNvdW50OiAxCi1UaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVz
IG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmpl
Y3QgY2hhbmdlLgotdGV4dApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4t
Y2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAkocmV2aXNpb24gNjcwNjgpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZp
Y2F0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMzcgKzAsMCBAQAotPGh0bWw+Ci08Ym9k
eT4KLVRoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgbm90aWZpY2F0
aW9ucyB3aGVuIHRoZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBjaGFuZ2Uu
Ci08ZGl2PjwvZGl2PgotPHNjcmlwdD4KLSAgICBmdW5jdGlvbiB0ZXN0RG9uZSgpIHsKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLSAgICAKLSAgICBm
dW5jdGlvbiB0ZXN0KCkgewotICAgICAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Ci0KLSAgICAgICAgaWYgKCFhY2Nlc3NpYmlsaXR5Q29udHJvbGxlciB8fCAh
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKQot
ICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICAgICAgCi0gICAgICAgIC8vIEFjY2VzcyBhY2Nlc3NpYmlsaXR5IG9i
amVjdCB0aGF0IHdpbGwgYmUgZGVsZXRlZC4KLSAgICAgICAgZG9jdW1lbnQuYm9keS5mb2N1cygp
OwotICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0
SW5kZXgoMCk7Ci0gICAgICAgIAotICAgICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5kdW1w
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMoKTsKLSAgICAgICAgCi0gICAgICAgIC8vIEluc2Vy
dCBhIGNoaWxkIGVsZW1lbnQgb24gdGhlIGRpdi4gVGhpcyBnZW5lcmF0ZXMgYW4gYWNjZXNzaWJp
bGl0eSBjaGlsZHJlZCBjaGFuZ2VkIG5vdGlmaWNhdGlvbi4KLSAgICAgICAgZG9jdW1lbnQuYm9k
eS5jaGlsZHJlblswXS5pbm5lckhUTUwgPSAidGV4dCI7Ci0KLSAgICAgICAgLy8gVXNlIHNldFRp
bWVvdXQgc28gdGhhdCBhc3luY2hyb25vdXMgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIGNh
biBiZSBwcm9jZXNzZWQuCi0gICAgICAgIHNldFRpbWVvdXQodGVzdERvbmUsIDApOwotICAgIH0K
LQotICAgIHRlc3QoKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1B
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1B
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQWN0aXZlRGVzY2VuZGFudENo
YW5nZWQgLSBpZDp1bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5nZWQKK1RoaXMgdGVzdHMgdGhh
dCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KK2xpMQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwyMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rp
b24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgdmFyIHJhZGlvZ3JvdXAgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIik7CisKKyAg
ICAgICAgcmFkaW9ncm91cC5mb2N1cygpOworICAgICAgICByYWRpb2dyb3VwLnNldEF0dHJpYnV0
ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IiwgInIxIik7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29y
cmVjdGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCBub3RpZmljYXRpb24u
CisKKzx1bCBpZD0idWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIiBhcmlhLWhlbHA9InVs
LWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIgdGFiaW5kZXg9IjAiIHJvbGU9InJhZGlvZ3Jv
dXAiPgorICAgIDxsaSBpZD0icjEiPmxpMTwvbGk+Cis8L3VsPgorCis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGVj
a2VkU3RhdGVDaGFuZ2VkIC0gaWQ6Y2hlY2tib3gtZm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQKK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoZWNrZWRTdGF0
ZUNoYW5nZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0
Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hlY2ti
b3gtZm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQiKS5jaGVja2VkID0gdHJ1ZTsKKyAgICB9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBj
aHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoZWNrZWRTdGF0ZUNoYW5nZWQgbm90aWZp
Y2F0aW9uLgorCis8aW5wdXQgaWQ9ImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIiBh
cmlhLWhlbHA9ImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIiB0eXBlPSJjaGVja2Jv
eCIgLz4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmlj
YXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJl
bkNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2Vk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gQ2hpbGRyZW5DaGFuZ2VkIC0gaWQ6ZGl2LWZvci1DaGlsZHJlbkNoYW5nZWQKK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoaWxkcmVuQ2hh
bmdlZCBub3RpZmljYXRpb24uCit0ZXh0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9u
KCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1DaGlsZHJlbkNo
YW5nZWQiKS5pbm5lckhUTUwgPSAidGV4dCI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5
IHJlY2lldmVzIHRoZSBDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJk
aXYtZm9yLUNoaWxkcmVuQ2hhbmdlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLUNoaWxkcmVuQ2hhbmdl
ZCI+PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90
aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1G
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEgQEAKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIEZv
Y3VzZWRVSUVsZW1lbnRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJ
RWxlbWVudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRD
aGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2Vk
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIC8vIE5vdCBz
ZW50IHRvIHRoZSBjaHJvbWl1bSBwb3J0IC0gc2VlIGhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitU
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBGb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1M
YXlvdXRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENvbXBs
ZXRlIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxh
eW91dENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAg
ICAgIC8vIE1hYyBzcGVjaWZpYworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgTGF5b3V0Q29tcGxldGUgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMaXZlUmVnaW9uQ2hh
bmdlZCAtIGlkOnVsLWZvci1MaXZlUmVnaW9uQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTGl2ZVJlZ2lvbkNoYW5nZWQgbm90aWZpY2F0aW9u
LgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9u
Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidWwtZm9yLUxpdmVSZWdpb25DaGFuZ2VkIikudGl0bGUg
PSAidGl0bGUiOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0
KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTGl2
ZVJlZ2lvbkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8dWwgaWQ9InVsLWZvci1MaXZlUmVnaW9u
Q2hhbmdlZCIgYXJpYS1oZWxwPSJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQiIHJvbGU9InJlZ2lv
biIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtcmVsZXZhbnQ9ImFkZGl0aW9ucyByZW1vdmFscyI+
PC91bD4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmlj
YXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29t
cGxldGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgTG9hZENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TG9hZENvbXBsZXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3RO
b3RpZmljYXRpb24oKSB7CisgICAgICAgIC8vIE1hYyBzcGVjaWZpYworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTG9hZENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KKwor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hh
bmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2Vk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uIC0gTWVudUxpc3RWYWx1ZUNoYW5nZWQgLSBpZDpzZWxlY3QtZm9yLU1lbnVM
aXN0VmFsdWVDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIHRoZSBNZW51TGlzdFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFs
dWVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2Vk
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzZWxlY3QtZm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIikuc2VsZWN0
ZWRJbmRleCA9IDA7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRl
c3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBN
ZW51TGlzdFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxzZWxlY3QgaWQ9InNlbGVjdC1m
b3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQiIGFyaWEtaGVscD0ic2VsZWN0LWZvci1NZW51TGlzdFZh
bHVlQ2hhbmdlZCI+CisJPG9wdGlvbj48L29wdGlvbj4gCis8L3NlbGVjdD4KKworPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gUm93Q29sbGFwc2VkIC0gaWQ6
ZGl2LWZvci1Sb3dDb2xsYXBzZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkg
cmVjaWV2ZXMgdGhlIFJvd0NvbGxhcHNlZCBub3RpZmljYXRpb24uCisKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93
Q29sbGFwc2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3Rp
ZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYtZm9yLVJv
d0NvbGxhcHNlZCIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIGZhbHNlKTsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvbGxhcHNlZCBub3RpZmlj
YXRpb24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93Q29sbGFwc2VkIiBhcmlhLWhlbHA9ImRpdi1m
b3ItUm93Q29sbGFwc2VkIiByb2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0NvdW50Q2hhbmdl
ZCAtIGlkOmRpdi1mb3ItUm93Q291bnRDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0g
Y29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb3VudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291
bnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
KyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICB2YXIgZGl2ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1mb3ItUm93Q291bnRDaGFuZ2VkIik7CisKKyAgICAg
ICAgZGl2LmNoaWxkcmVuWzBdLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIHRydWUpOwor
ICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0
ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q291bnRDaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dDb3VudENoYW5nZWQiIGFyaWEt
aGVscD0iZGl2LWZvci1Sb3dDb3VudENoYW5nZWQiIHJvbGU9ImdyaWQiPgorICAgIDxkaXY+PC9k
aXY+Cis8L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1u
b3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1S
b3dFeHBhbmRlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
IC0gUm93RXhwYW5kZWQgLSBpZDpkaXYtZm9yLVJvd0V4cGFuZGVkCitUaGlzIHRlc3RzIHRoYXQg
Y2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dFeHBhbmRlZCBub3RpZmljYXRpb24u
CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4
cGFuZGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1
bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJkaXYtZm9yLVJvd0V4cGFuZGVkIikuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwg
dHJ1ZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+
CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dFeHBh
bmRlZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93RXhwYW5kZWQiIGFyaWEt
aGVscD0iZGl2LWZvci1Sb3dFeHBhbmRlZCIgcm9sZT0idHJlZWl0ZW0iPjwvZGl2PgorCis8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBTY3JvbGxlZFRvQW5jaG9yIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0Fu
Y2hvci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAg
IGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIC8vIE5vdCBzZW50IHRvIHRo
ZSBjaHJvbWl1bSBwb3J0IC0gc2VlIGhhbmRsZVNjcm9sbGVkVG9BbmNob3IKKyAgICB9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBj
aHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNjcm9sbGVkVG9BbmNob3Igbm90aWZpY2F0
aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNh
dGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVk
Q2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVk
Q2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0
ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIg
QEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCAt
IGlkOnNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBj
aHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIG5v
dGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxOCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVz
dE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVj
dC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiKS5zZWxlY3RlZEluZGV4ID0gMDsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkQ2hpbGRyZW5DaGFu
Z2VkIG5vdGlmaWNhdGlvbi4KKworPHNlbGVjdCBpZD0ic2VsZWN0LWZvci1TZWxlY3RlZENoaWxk
cmVuQ2hhbmdlZCIgYXJpYS1oZWxwPSJzZWxlY3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2Vk
IiBzaXplPSI0Ij4KKyAgICA8b3B0aW9uIHZhbHVlPSIxIj5pdGVtIDE8L29wdGlvbj4KKzwvc2Vs
ZWN0PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNh
dGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVk
VGV4dENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENo
YW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZFRleHRDaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRp
b24oKSB7CisgICAgICAgIC8vIE1hYyBzcGVjaWZpYyAtIHNlZSBub3RpZnlBY2Nlc3NpYmlsaXR5
Rm9yU2VsZWN0aW9uQ2hhbmdlCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVz
IHRoZSBTZWxlY3RlZFRleHRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
IEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gVmFsdWVDaGFuZ2VkIC0gaWQ6dGV4dC1m
b3ItVmFsdWVDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIHRoZSBWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hh
bmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dC1mb3ItVmFsdWVD
aGFuZ2VkIikudmFsdWUgPSAiYnV0dG9uIgorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSBy
ZWNpZXZlcyB0aGUgVmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPGlucHV0IGlkPSJ0ZXh0
LWZvci1WYWx1ZUNoYW5nZWQiIGFyaWEtaGVscD0idGV4dC1mb3ItVmFsdWVDaGFuZ2VkIiB0eXBl
PSJ0ZXh0IiB2YWx1ZT0idmFsdWUiIC8+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qcwkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24uanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjUgQEAKK2Z1bmN0aW9uIGVudW1BY2Nlc3Np
YmlsaXR5T2JqZWN0cyhhY2Nlc3NpYmlsaXR5T2JqZWN0KSB7CisgIHZhciBjb3VudCA9IGFjY2Vz
c2liaWxpdHlPYmplY3QuY2hpbGRyZW5Db3VudDsKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3Vu
dDsgKytpKQorICAgIGVudW1BY2Nlc3NpYmlsaXR5T2JqZWN0cyhhY2Nlc3NpYmlsaXR5T2JqZWN0
LmNoaWxkQXRJbmRleChpKSk7Cit9CisKK2Z1bmN0aW9uIHRlc3REb25lKCkgeworICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAKKyAgLy8gQnVpbGQgYWNjZXNzaWJpbGl0eSB0cmVlLgorICBk
b2N1bWVudC5ib2R5LmZvY3VzKCk7CisgIGVudW1BY2Nlc3NpYmlsaXR5T2JqZWN0cyhhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudCk7CisKKyAgLy8gVGVzdCB0aGUgYWNjZXNz
aWJpbGl0eSBub3RpZmljYXRpb24uCisgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmR1bXBBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpOworICB0ZXN0Tm90aWZpY2F0aW9uKCk7CisKKyAgLy8g
VXNlIHNldFRpbWVvdXQgc28gdGhhdCBhc3luY2hyb25vdXMgYWNjZXNzaWJpbGl0eSBub3RpZmlj
YXRpb25zIGNhbiBiZSBwcm9jZXNzZWQuCisgIHNldFRpbWVvdXQodGVzdERvbmUsIDApOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67093</attachid>
            <date>2010-09-09 13:57:46 -0700</date>
            <delta_ts>2010-09-10 23:03:48 -0700</delta_ts>
            <desc>Rebasing ChangeLog files</desc>
            <filename>MyPatch2.txt</filename>
            <type>text/plain</type>
            <size>50587</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzExMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDkgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDkgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBj
b21wYW55MTAwLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KSW5k
ZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVj
dENhY2hlQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA2NzA2OCkKKysrIFdlYkNvcmUvYWNjZXNzaWJp
bGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02MCwzMCArNjAsMzQgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmlj
YQogICAgICAgICByZXR1cm47CiAKICAgICBDaHJvbWVDbGllbnRDaHJvbWl1bSogY2xpZW50ID0g
dG9DaHJvbWVDbGllbnRDaHJvbWl1bShvYmotPmRvY3VtZW50RnJhbWVWaWV3KCkpOwotICAgIGlm
IChjbGllbnQpIHsKLSAgICAgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKLSAgICAgICAgY2Fz
ZSBBWENoZWNrZWRTdGF0ZUNoYW5nZWQ6Ci0gICAgICAgICAgICBjbGllbnQtPmRpZENoYW5nZUFj
Y2Vzc2liaWxpdHlPYmplY3RTdGF0ZShvYmopOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgQVhDaGlsZHJlbkNoYW5nZWQ6Ci0gICAgICAgICAgICBjbGllbnQtPmRpZENoYW5nZUFj
Y2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihvYmopOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgQVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWEZvY3Vz
ZWRVSUVsZW1lbnRDaGFuZ2VkOgotICAgICAgICBjYXNlIEFYTGF5b3V0Q29tcGxldGU6Ci0gICAg
ICAgIGNhc2UgQVhMaXZlUmVnaW9uQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExvYWRDb21wbGV0
ZToKLSAgICAgICAgY2FzZSBBWE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgotICAgICAgICBjYXNlIEFY
Um93Q29sbGFwc2VkOgotICAgICAgICBjYXNlIEFYUm93Q291bnRDaGFuZ2VkOgotICAgICAgICBj
YXNlIEFYUm93RXhwYW5kZWQ6Ci0gICAgICAgIGNhc2UgQVhTY3JvbGxlZFRvQW5jaG9yOgotICAg
ICAgICBjYXNlIEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhTZWxl
Y3RlZFRleHRDaGFuZ2VkOgotICAgICAgICBjYXNlIEFYVmFsdWVDaGFuZ2VkOgotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICBpZiAoIWNsaWVudCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgLy8gVE9ETzogUmVtb3ZlIGFmdGVyIHRoZSBuZXcgcG9zdEFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gaXMgdXNlZCBkb3duc3RyZWFtLgorICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7
CisgICAgY2FzZSBBWENoZWNrZWRTdGF0ZUNoYW5nZWQ6CisgICAgICAgIGNsaWVudC0+ZGlkQ2hh
bmdlQWNjZXNzaWJpbGl0eU9iamVjdFN0YXRlKG9iaik7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQVhDaGlsZHJlbkNoYW5nZWQ6CisgICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdENoaWxkcmVuKG9iaik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhBY3Rp
dmVEZXNjZW5kYW50Q2hhbmdlZDoKKyAgICBjYXNlIEFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQ6
CisgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgorICAgIGNhc2UgQVhMaXZlUmVnaW9uQ2hhbmdl
ZDoKKyAgICBjYXNlIEFYTG9hZENvbXBsZXRlOgorICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hh
bmdlZDoKKyAgICBjYXNlIEFYUm93Q29sbGFwc2VkOgorICAgIGNhc2UgQVhSb3dDb3VudENoYW5n
ZWQ6CisgICAgY2FzZSBBWFJvd0V4cGFuZGVkOgorICAgIGNhc2UgQVhTY3JvbGxlZFRvQW5jaG9y
OgorICAgIGNhc2UgQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZDoKKyAgICBjYXNlIEFYU2VsZWN0
ZWRUZXh0Q2hhbmdlZDoKKyAgICBjYXNlIEFYVmFsdWVDaGFuZ2VkOgorICAgICAgICBicmVhazsK
ICAgICB9CisKKyAgICBjbGllbnQtPnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKG9iaiwg
bm90aWZpY2F0aW9uKTsgICAgICAgIAogfQogCiB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUZv
Y3VzZWRVSUVsZW1lbnRDaGFuZ2VkKFJlbmRlck9iamVjdCosIFJlbmRlck9iamVjdCopCkluZGV4
OiBXZWJDb3JlL3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkocmV2aXNp
b24gNjcwNjgpCisrKyBXZWJDb3JlL3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0u
aAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBDaHJvbWVDbGllbnRD
aHJvbWl1bV9oCiAjZGVmaW5lIENocm9tZUNsaWVudENocm9taXVtX2gKIAorI2luY2x1ZGUgIkFY
T2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCkBAIC01OCw2ICs1OSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3Rp
ZmllZCBlbWJlZGRlciB0aGF0IHRoZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVj
dCBoYXMgY2hhbmdlZC4KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9i
amVjdENoaWxkcmVuKEFjY2Vzc2liaWxpdHlPYmplY3QqKSA9IDA7CisgICAgCisgICAgLy8gTm90
aWZpZXMgZW1iZWRkZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAg
dmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlP
YmplY3QqLCBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbikgPSAwOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzEwMikKKysrIFdl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAor
MjAxMC0wOS0wOSAgQ2hyaXMgR3VpbGxvcnkgICA8Y2hyaXMuZ3VpbGxvcnlAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIGFs
bCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgdG8gQ2hyb21pdW0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisgICAgICAgIAorICAgICAg
ICBVc2UgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gdG8gcGFzcyBhY2Nlc3NpYmlsaXR5
IG5vdGlmaWNhdGlvbgorICAgICAgICB0byBjaHJvbWl1bS4gCisKKyAgICAgICAgKiBXZWJLaXQu
Z3lwOgorICAgICAgICAqIHB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmg6IEFk
ZGVkLgorICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXdDbGllbnQ6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAg
KiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL0Fzc2VydE1hdGNo
aW5nRW51bXMuaDogQWRkZWQuCisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjpwb3N0QWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbik6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKwogMjAxMC0wOS0w
OSAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgSmFtZXMgUm9iaW5zb24uCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkocmV2aXNpb24gNjcwNjgpCisr
KyBXZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgs
NyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgnLAog
ICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9GYWN0b3J5LmgnLAogICAg
ICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmgnLAorICAgICAgICAg
ICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oJywKICAgICAgICAg
ICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCcsCiAgICAgICAgICAgICAg
ICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAgICAgICAgICAgICAncHVi
bGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCkBAIC0yNzgsNiArMjc5LDcgQEAKICAgICAg
ICAgICAgICAgICAnc3JjL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmNwcCcsCiAgICAgICAgICAgICAg
ICAgJ3NyYy9BcHBsaWNhdGlvbkNhY2hlSG9zdEludGVybmFsLmgnLAogICAgICAgICAgICAgICAg
ICdzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAnLAorICAgICAgICAgICAgICAgICdzcmMvQXNz
ZXJ0TWF0Y2hpbmdFbnVtcy5oJywKICAgICAgICAgICAgICAgICAnc3JjL0FzeW5jRmlsZVN5c3Rl
bUNocm9taXVtLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bS5oJywKICAgICAgICAgICAgICAgICAnc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmNw
cCcsCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb24uaAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uX2gKKyNkZWZpbmUgV2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbl9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBU
aGVzZSB2YWx1ZXMgbXVzdCBtYXRjaCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNh
dGlvbiB2YWx1ZXMKK2VudW0gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB7CisgICAgQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQsCisgICAgQ2hlY2tlZFN0YXRlQ2hhbmdlZCwKKyAgICBDaGls
ZHJlbkNoYW5nZWQsCisgICAgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQsCisgICAgTGF5b3V0Q29t
cGxldGUsCisgICAgTG9hZENvbXBsZXRlLAorICAgIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAor
ICAgIFNlbGVjdGVkVGV4dENoYW5nZWQsCisgICAgVmFsdWVDaGFuZ2VkLAorICAgIFNjcm9sbGVk
VG9BbmNob3IsCisgICAgTGl2ZVJlZ2lvbkNoYW5nZWQsCisgICAgTWVudUxpc3RWYWx1ZUNoYW5n
ZWQsCisgICAgUm93Q291bnRDaGFuZ2VkLAorICAgIFJvd0NvbGxhcHNlZCwKKyAgICBSb3dFeHBh
bmRlZCwKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbl9oCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZp
ZXdDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdD
bGllbnQuaAkocmV2aXNpb24gNjcwNjgpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZp
ZXdDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJW
aWV3Q2xpZW50X2gKICNkZWZpbmUgV2ViVmlld0NsaWVudF9oCiAKKyNpbmNsdWRlICJXZWJBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgog
I2luY2x1ZGUgIldlYkVkaXRpbmdBY3Rpb24uaCIKICNpbmNsdWRlICJXZWJGaWxlQ2hvb3NlckNv
bXBsZXRpb24uaCIKQEAgLTI4MCw2ICsyODEsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90
aWZpZXMgZW1iZWRkZXIgdGhhdCB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmpl
Y3QgaGFzIGNoYW5nZWQuCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlP
YmplY3RDaGlsZHJlbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JikgeyB9CisgICAgCisg
ICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRp
b24uCisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0
IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKSB7
IH0KIAogCiAgICAgLy8gRGV2ZWxvcGVyIHRvb2xzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0Fz
c2VydE1hdGNoaW5nRW51bXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAJKHJldmlzaW9uIDY3MDY4KQorKysgV2ViS2l0L2Nocm9t
aXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiAr
MzMsOSBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKKyNpbmNsdWRlICJBc3NlcnRNYXRjaGlu
Z0VudW1zLmgiCisKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCiAjaW5j
bHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCkBAIC01MCw2ICs1Myw3IEBACiAjaW5jbHVkZSAiVXNl
ckNvbnRlbnRUeXBlcy5oIgogI2luY2x1ZGUgIlVzZXJTY3JpcHRUeXBlcy5oIgogI2luY2x1ZGUg
IlZpZGVvRnJhbWVDaHJvbWl1bS5oIgorI2luY2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb24uaCIKICNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAi
V2ViQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJXZWJDbGlwYm9hcmQuaCIKQEAg
LTc1LDEwICs3OSwyNiBAQAogCiAvLyBUaGVzZSBjb25zdGFudHMgYXJlIGluIFdURiwgYnJpbmcg
dGhlbSBpbnRvIFdlYkNvcmUgc28gdGhlIEFTU0VSVCBzdGlsbCB3b3JrcyBmb3IgdGhlbSEKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKLSAgICB1c2luZyBXVEY6OlRleHRDYXNlU2Vuc2l0aXZlOwotICAg
IHVzaW5nIFdURjo6VGV4dENhc2VJbnNlbnNpdGl2ZTsKK3VzaW5nIFdURjo6VGV4dENhc2VTZW5z
aXRpdmU7Cit1c2luZyBXVEY6OlRleHRDYXNlSW5zZW5zaXRpdmU7CiB9OwogCitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLCBBWE9iamVjdENhY2hl
OjpBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oQ2hlY2tlZFN0YXRlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhDaGVja2VkU3RhdGVDaGFu
Z2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ2hpbGRyZW5DaGFuZ2VkLCBBWE9i
amVjdENhY2hlOjpBWENoaWxkcmVuQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWEZvY3VzZWRVSUVs
ZW1lbnRDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTGF5b3V0Q29tcGxl
dGUsIEFYT2JqZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGUpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShMb2FkQ29tcGxldGUsIEFYT2JqZWN0Q2FjaGU6OkFYTG9hZENvbXBsZXRlKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQsIEFY
T2JqZWN0Q2FjaGU6OkFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShTZWxlY3RlZFRleHRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWFNlbGVj
dGVkVGV4dENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShWYWx1ZUNoYW5n
ZWQsIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oU2Nyb2xsZWRUb0FuY2hvciwgQVhPYmplY3RDYWNoZTo6QVhTY3JvbGxlZFRvQW5j
aG9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTGl2ZVJlZ2lvbkNoYW5nZWQsIEFY
T2JqZWN0Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShNZW51TGlzdFZhbHVlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhNZW51TGlzdFZh
bHVlQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFJvd0NvdW50Q2hhbmdl
ZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dDb3VudENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShSb3dDb2xsYXBzZWQsIEFYT2JqZWN0Q2FjaGU6OkFYUm93Q29sbGFwc2VkKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oUm93RXhwYW5kZWQsIEFYT2JqZWN0Q2FjaGU6
OkFYUm93RXhwYW5kZWQpOworCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vz
c2liaWxpdHlSb2xlVW5rbm93biwgVW5rbm93blJvbGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5Um9sZUJ1dHRvbiwgQnV0dG9uUm9sZSk7CiBDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlUmFkaW9CdXR0b24sIFJh
ZGlvQnV0dG9uUm9sZSk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5n
RW51bXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5n
RW51bXMuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgQXNzZXJ0TWF0Y2hpbmdFbnVtc19oCisjZGVmaW5lIEFzc2VydE1hdGNoaW5nRW51bXNfaAor
CisjZW5kaWYgLy8gQXNzZXJ0TWF0Y2hpbmdFbnVtc19oCkluZGV4OiBXZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAJKHJldmlzaW9uIDY3MDY4KQorKysgV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzIwLDYgKzcy
MCwxMyBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6OmRpZENoYW5nZUFjY2Vzc2liCiAgICAgICAg
IG1fd2ViVmlldy0+Y2xpZW50KCktPmRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJl
bihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KG9iaikpOwogfQogCit2b2lkIENocm9tZUNsaWVudElt
cGw6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9i
aiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKQoreworICAgIC8v
IEFsZXJ0IGFzc2lzdGl2ZSB0ZWNobm9sb2d5IGFib3V0IHRoZSBhY2Nlc3NpYmlsaXR5IG9iamVj
dCBub3RpZmljYXRpb24uCisgICAgaWYgKG9iaikKKyAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQo
KS0+cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oV2ViQWNjZXNzaWJpbGl0eU9iamVjdChv
YmopLCBzdGF0aWNfY2FzdDxXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uPihub3RpZmljYXRp
b24pKTsKK30KKwogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogTm90aWZpY2F0aW9uUHJlc2Vu
dGVyKiBDaHJvbWVDbGllbnRJbXBsOjpub3RpZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdAogewpJ
bmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJKHJldmlzaW9uIDY3MDY4
KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE2OCw2ICsxNjgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvcHVwQ2xv
c2VkKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5lcik7CiAgICAgdmlydHVh
bCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlP
YmplY3RDaGlsZHJlbihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisgICAgdmlydHVh
bCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3QqLCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbik7CiAKICAg
ICAvLyBDaHJvbWVDbGllbnRJbXBsOgogICAgIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkN1cnNv
ckluZm8mIGN1cnNvcik7CkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzExMCkKKysrIFdlYktpdFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA5LTA5ICBD
aHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFjY2Vzc2liaWxp
dHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlZpZXdIb3N0LmNwcDoKKyAgICAgICAgKFdlYlZpZXdIb3N0Ojpwb3N0QWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVmlld0hvc3QuaDoKKwogMjAxMC0wOS0wOSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hA
YXBwbGUuY29tPgogCiAgICAgICAgIEZpeGluZyBHVEsgYW5kIHdpbmRvd3MgYnVpbGQgZmFpbHVy
ZS4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAJKHJldmlzaW9uIDY3MDY4KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0
MCw3IEBACiAjaW5jbHVkZSAicHVibGljL1dlYkNvbnRleHRNZW51RGF0YS5oIgogI2luY2x1ZGUg
InB1YmxpYy9XZWJEYXRhU291cmNlLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkRyYWdEYXRhLmgi
CisjaW5jbHVkZSAicHVibGljL1dlYkVsZW1lbnQuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViRnJh
bWUuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5oIgogI2lu
Y2x1ZGUgInB1YmxpYy9XZWJIaXN0b3J5SXRlbS5oIgpAQCAtNDg5LDEwICs0OTAsNjggQEAgdm9p
ZCBXZWJWaWV3SG9zdDo6Zm9jdXNBY2Nlc3NpYmlsaXR5T2JqZQogICAgIG1fc2hlbGwtPmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKCktPnNldEZvY3VzZWRFbGVtZW50KG9iamVjdCk7CiB9CiAKLXZv
aWQgV2ViVmlld0hvc3Q6OmRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25z
dCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBvYmplY3QpCit2b2lkIFdlYlZpZXdIb3N0Ojpwb3N0
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiBv
YmosIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKQogewotICAgIGlm
IChtX3NoZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpLT5zaG91bGREdW1wQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbnMoKSkKLSAgICAgICAgcHJpbnRmKCJkaWRDaGFuZ2VBY2Nlc3NpYmls
aXR5T2JqZWN0Q2hpbGRyZW4gLSBuZXcgY291bnQ6ICVkXG4iLCBvYmplY3QuY2hpbGRDb3VudCgp
KTsKKyAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSAiKTsKKyAgICAKKyAg
ICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb25zKCkpIHsKKyAgICAgICAgc3dpdGNoIChub3RpZmljYXRpb24p
IHsKKyAgICAgICAgY2FzZSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoKKyAgICAgICAgICAgIHBy
aW50ZigiQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIENoZWNrZWRTdGF0ZUNoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkNoZWNr
ZWRTdGF0ZUNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENoaWxk
cmVuQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQ2hpbGRyZW5DaGFuZ2VkIik7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAg
ICAgICAgICAgIHByaW50ZigiRm9jdXNlZFVJRWxlbWVudENoYW5nZWQiKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIExheW91dENvbXBsZXRlOgorICAgICAgICAgICAgcHJpbnRm
KCJMYXlvdXRDb21wbGV0ZSIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTG9h
ZENvbXBsZXRlOgorICAgICAgICAgICAgcHJpbnRmKCJMb2FkQ29tcGxldGUiKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAg
ICAgICAgcHJpbnRmKCJTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCIpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgU2VsZWN0ZWRUZXh0Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50
ZigiU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgVmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJWYWx1ZUNoYW5nZWQiKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFNjcm9sbGVkVG9BbmNob3I6CisgICAgICAg
ICAgICBwcmludGYoIlNjcm9sbGVkVG9BbmNob3IiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIExpdmVSZWdpb25DaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJMaXZlUmVn
aW9uQ2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTWVudUxpc3RW
YWx1ZUNoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIk1lbnVMaXN0VmFsdWVDaGFuZ2VkIik7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBSb3dDb3VudENoYW5nZWQ6CisgICAg
ICAgICAgICBwcmludGYoIlJvd0NvdW50Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgUm93Q29sbGFwc2VkOgorICAgICAgICAgICAgcHJpbnRmKCJSb3dDb2xsYXBz
ZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFJvd0V4cGFuZGVkOgorICAg
ICAgICAgICAgcHJpbnRmKCJSb3dFeHBhbmRlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKworICAgICAgICBXZWJLaXQ6OldlYk5vZGUgbm9kZSA9IG9iai5ub2RlKCk7CisgICAg
ICAgIGlmICghbm9kZS5pc051bGwoKSAmJiBub2RlLmlzRWxlbWVudE5vZGUoKSkgeworICAgICAg
ICAgICAgV2ViS2l0OjpXZWJFbGVtZW50IGVsZW1lbnQgPSBub2RlLnRvPFdlYktpdDo6V2ViRWxl
bWVudD4oKTsKKyAgICAgICAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgiaWQiKSkKKyAg
ICAgICAgICAgICAgICBwcmludGYoIiAtIGlkOiVzIiwgZWxlbWVudC5nZXRBdHRyaWJ1dGUoImlk
IikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIH0KKworICAgICAgICBwcmludGYoIlxuIik7Cisg
ICAgfQogfQogCiBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIFdlYlZpZXdIb3N0Ojpub3RpZmlj
YXRpb25QcmVzZW50ZXIoKQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViVmlld0hvc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCShyZXZpc2lvbiA2NzA2OCkKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIk1vY2tTcGVsbENoZWNrLmgiCiAjaW5jbHVkZSAi
VGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAicHVibGljL1dlYkFjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViQ3Vyc29ySW5mby5oIgog
I2luY2x1ZGUgInB1YmxpYy9XZWJGcmFtZUNsaWVudC5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJW
aWV3Q2xpZW50LmgiCkBAIC0xMjYsNyArMTI3LDcgQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJs
aWMgV2ViS2l0OjpXZWJWaQogICAgIHZpcnR1YWwgaW50IGhpc3RvcnlCYWNrTGlzdENvdW50KCk7
CiAgICAgdmlydHVhbCBpbnQgaGlzdG9yeUZvcndhcmRMaXN0Q291bnQoKTsKICAgICB2aXJ0dWFs
IHZvaWQgZm9jdXNBY2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJp
bGl0eU9iamVjdCYpOwotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Q2hpbGRyZW4oY29uc3QgV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Jik7CisgICAg
dmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYktpdDo6
V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYsIFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbik7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYk5vdGlmaWNhdGlvblByZXNlbnRlciogbm90
aWZpY2F0aW9uUHJlc2VudGVyKCk7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYkdlb2xvY2F0aW9u
U2VydmljZSogZ2VvbG9jYXRpb25TZXJ2aWNlKCk7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlNw
ZWVjaElucHV0Q29udHJvbGxlciogc3BlZWNoSW5wdXRDb250cm9sbGVyKFdlYktpdDo6V2ViU3Bl
ZWNoSW5wdXRMaXN0ZW5lciopOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjcxMTApCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0OSBAQAorMjAxMC0wOS0w
OSAgQ2hyaXMgR3VpbGxvcnkgICA8Y2hyaXMuZ3VpbGxvcnlAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIGFsbCBhY2Nlc3Np
YmlsaXR5IG5vdGlmaWNhdGlvbnMgdG8gQ2hyb21pdW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVE
ZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFu
dENoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRy
ZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNo
YW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxvYWRDb21wbGV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1S
b3dDb3VudENoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9y
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVj
dGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24uanM6IEFkZGVkLgorICAgICAgICAoZW51bUFjY2Vzc2liaWxpdHlPYmpl
Y3RzKToKKyAgICAgICAgKHRlc3REb25lKToKKyAgICAgICAgKHRlc3QpOgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL2RydF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKwogMjAxMC0wOS0wOSAgUnlvc3VrZSBO
aXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2RydF9leHBlY3RhdGlvbnMu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2RydF9leHBl
Y3RhdGlvbnMudHh0CShyZXZpc2lvbiA2NzA2OCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2RydF9leHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNyArMTM3
LDcgQEAgQlVHX0RSVCBXSU4gOiBodHRwL3Rlc3RzL2xvYWRpbmcvcHJlbG9hZAogQlVHX0RSVCBN
QUMgTElOVVggOiBodHRwL3Rlc3RzL21pc2Mvc2xvdy1sb2FkaW5nLWltYWdlLWluLXBhdHRlcm4u
aHRtbCA9IElNQUdFIFBBU1MKIEJVR19EUlQgV0lOIE1BQyA6IGZhc3QvZG9tL0dlb2xvY2F0aW9u
L2RlbGF5ZWQtcGVybWlzc2lvbi1hbGxvd2VkLWZvci1tdWx0aXBsZS1yZXF1ZXN0cy5odG1sID0g
VElNRU9VVAogQlVHX0RSVCBMSU5VWCAgIDogZmFzdC9kb20vR2VvbG9jYXRpb24vZGVsYXllZC1w
ZXJtaXNzaW9uLWFsbG93ZWQtZm9yLW11bHRpcGxlLXJlcXVlc3RzLmh0bWwgPSBURVhUIFRJTUVP
VVQKLUJVR19EUlQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNo
YW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgPSBQQVNTCitCVUdfRFJUIDogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eSA9IFBBU1MKIEJVR19EUlQgTElOVVggOiBmYXN0L3RleHQvaW50ZXJu
YXRpb25hbC90aGFpLWxpbmUtYnJlYWtzLmh0bWwgPSBJTUFHRQogQlVHX0RSVCBXSU4gOiBzdmcv
YmF0aWsvdGV4dC90ZXh0RmVhdHVyZXMuc3ZnID0gSU1BR0UKIEJVR19EUlQgV0lOIE1BQyBMSU5V
WCA6IG1lZGlhL21lZGlhLWNhbi1wbGF5LW1wZWc0LXZpZGVvLmh0bWwgPSBURVhUCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CShyZXZpc2lvbiA2NzA2OCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTU0LDcgKzk1NCw3IEBAIEJV
RzEwMzIyIERFRkVSIFNLSVAgOiBwbGF0Zm9ybS9tYWMvYWNjZXMKIEJVRzEwMzIyIERFRkVSIFNL
SVAgOiBwbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eSA9IFBBU1MgRkFJTAogCiAvLyBGdW5jdGlv
bmFsaXR5IGlzIHN1cHBvcnRlZCBpbiBEUlQgYnV0IG5vdCBUZXN0U2hlbGwKLVdPTlRGSVggU0tJ
UCA6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3Rp
ZmljYXRpb24uaHRtbCA9IEZBSUwKK1dPTlRGSVggU0tJUCA6IHBsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkgPSBGQUlMCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBPdGhlciBmYWlsdXJlcwpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1j
aGFuZ2VkLW5vdGlmaWNhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlm
aWNhdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY3MDY4KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlv
bi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMCwwIEBACi1kaWRDaGFuZ2VB
Y2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4gLSBuZXcgY291bnQ6IDEKLVRoaXMgdGVzdHMgdGhh
dCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgbm90aWZpY2F0aW9ucyB3aGVuIHRoZSBjaGls
ZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBjaGFuZ2UuCi10ZXh0CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQt
bm90aWZpY2F0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCShy
ZXZpc2lvbiA2NzA2OCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMSwzNyArMCwwIEBACi08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyBub3RpZmljYXRpb25zIHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFu
IGFjY2Vzc2liaWxpdHkgb2JqZWN0IGNoYW5nZS4KLTxkaXY+PC9kaXY+Ci08c2NyaXB0PgotICAg
IGZ1bmN0aW9uIHRlc3REb25lKCkgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgIGlm
ICghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgcmV0dXJuOwotCi0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQotICAgICAgICBpZiAo
IWFjY2Vzc2liaWxpdHlDb250cm9sbGVyIHx8ICFhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5kdW1w
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAKLSAgICAg
ICAgLy8gQWNjZXNzIGFjY2Vzc2liaWxpdHkgb2JqZWN0IHRoYXQgd2lsbCBiZSBkZWxldGVkLgot
ICAgICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7Ci0gICAgICAgIGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgCi0gICAgICAg
IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygp
OwotICAgICAgICAKLSAgICAgICAgLy8gSW5zZXJ0IGEgY2hpbGQgZWxlbWVudCBvbiB0aGUgZGl2
LiBUaGlzIGdlbmVyYXRlcyBhbiBhY2Nlc3NpYmlsaXR5IGNoaWxkcmVkIGNoYW5nZWQgbm90aWZp
Y2F0aW9uLgotICAgICAgICBkb2N1bWVudC5ib2R5LmNoaWxkcmVuWzBdLmlubmVySFRNTCA9ICJ0
ZXh0IjsKLQotICAgICAgICAvLyBVc2Ugc2V0VGltZW91dCBzbyB0aGF0IGFzeW5jaHJvbm91cyBh
Y2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgY2FuIGJlIHByb2Nlc3NlZC4KLSAgICAgICAgc2V0
VGltZW91dCh0ZXN0RG9uZSwgMCk7Ci0gICAgfQotCi0gICAgdGVzdCgpOwotPC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gLSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCAtIGlkOnVsLWZvci1BY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQgbm90aWZpY2F0aW9uLgorbGkxCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3Rp
dmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAg
ICAgICB2YXIgcmFkaW9ncm91cCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1bC1mb3ItQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQiKTsKKworICAgICAgICByYWRpb2dyb3VwLmZvY3VzKCk7Cisg
ICAgICAgIHJhZGlvZ3JvdXAuc2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLCAi
cjEiKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
K1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIEFjdGl2ZURl
c2NlbmRhbnRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHVsIGlkPSJ1bC1mb3ItQWN0aXZlRGVz
Y2VuZGFudENoYW5nZWQiIGFyaWEtaGVscD0idWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2Vk
IiB0YWJpbmRleD0iMCIgcm9sZT0icmFkaW9ncm91cCI+CisgICAgPGxpIGlkPSJyMSI+bGkxPC9s
aT4KKzwvdWw+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90
aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hl
Y2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2Vk
U3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0
YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoZWNrZWRTdGF0ZUNoYW5nZWQgLSBpZDpjaGVja2Jv
eC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgQ2hlY2tlZFN0YXRlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hl
Y2tlZFN0YXRlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIp
LmNoZWNrZWQgPSB0cnVlOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgQ2hlY2tlZFN0YXRlQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxpbnB1dCBpZD0iY2hlY2ti
b3gtZm9yLUNoZWNrZWRTdGF0ZUNoYW5nZWQiIGFyaWEtaGVscD0iY2hlY2tib3gtZm9yLUNoZWNr
ZWRTdGF0ZUNoYW5nZWQiIHR5cGU9ImNoZWNrYm94IiAvPgorCis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNoYW5nZWQgLSBp
ZDpkaXYtZm9yLUNoaWxkcmVuQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4KK3RleHQKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJl
bkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
ICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJkaXYtZm9yLUNoaWxkcmVuQ2hhbmdlZCIpLmlubmVySFRNTCA9ICJ0ZXh0IjsK
KyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoaWxkcmVuQ2hhbmdl
ZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItQ2hpbGRyZW5DaGFuZ2VkIiBhcmlh
LWhlbHA9ImRpdi1mb3ItQ2hpbGRyZW5DaGFuZ2VkIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZp
Y2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlm
aWNhdGlvbigpIHsKKyAgICAgICAgLy8gTm90IHNlbnQgdG8gdGhlIGNocm9taXVtIHBvcnQgLSBz
ZWUgaGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4K
KworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24u
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgTGF5b3V0Q29tcGxldGUgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1MYXlvdXRDb21wbGV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rp
b24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNpZmljCisgICAgfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRo
YXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMYXlvdXRDb21wbGV0ZSBub3RpZmlj
YXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZp
Y2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJl
Z2lvbkNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNo
YW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbiAtIExpdmVSZWdpb25DaGFuZ2VkIC0gaWQ6dWwtZm9yLUxpdmVSZWdpb25D
aGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBM
aXZlUmVnaW9uQ2hhbmdlZCBub3RpZmljYXRpb24uCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNo
YW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRl
c3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1bC1m
b3ItTGl2ZVJlZ2lvbkNoYW5nZWQiKS50aXRsZSA9ICJ0aXRsZSI7CisgICAgfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21p
dW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMaXZlUmVnaW9uQ2hhbmdlZCBub3RpZmljYXRpb24u
CisKKzx1bCBpZD0idWwtZm9yLUxpdmVSZWdpb25DaGFuZ2VkIiBhcmlhLWhlbHA9InVsLWZvci1M
aXZlUmVnaW9uQ2hhbmdlZCIgcm9sZT0icmVnaW9uIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1y
ZWxldmFudD0iYWRkaXRpb25zIHJlbW92YWxzIj48L3VsPgorCis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1Mb2FkQ29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitU
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29tcGxl
dGUgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29t
cGxldGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8g
TWFjIHNwZWNpZmljCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRl
c3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBM
b2FkQ29tcGxldGUgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBNZW51TGlzdFZhbHVl
Q2hhbmdlZCAtIGlkOnNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQKK1RoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxOCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlm
aWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdC1mb3It
TWVudUxpc3RWYWx1ZUNoYW5nZWQiKS5zZWxlY3RlZEluZGV4ID0gMDsKKyAgICB9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNh
dGlvbi4KKworPHNlbGVjdCBpZD0ic2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZCIgYXJp
YS1oZWxwPSJzZWxlY3QtZm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIj4KKwk8b3B0aW9uPjwvb3B0
aW9uPiAKKzwvc2VsZWN0PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJw
b3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xs
YXBzZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gLSBSb3dDb2xsYXBzZWQgLSBpZDpkaXYtZm9yLVJvd0NvbGxhcHNlZAorVGhpcyB0
ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5v
dGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVJvd0NvbGxhcHNlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBz
ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1mb3ItUm93Q29sbGFwc2VkIikuc2V0QXR0cmlidXRlKCJh
cmlhLWV4cGFuZGVkIiwgZmFsc2UpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNp
ZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5vdGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1S
b3dDb2xsYXBzZWQiIGFyaWEtaGVscD0iZGl2LWZvci1Sb3dDb2xsYXBzZWQiIHJvbGU9InRyZWVp
dGVtIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1u
b3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1S
b3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRD
aGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2Vk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uIC0gUm93Q291bnRDaGFuZ2VkIC0gaWQ6ZGl2LWZvci1Sb3dDb3VudENoYW5n
ZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0Nv
dW50Q2hhbmdlZCBub3RpZmljYXRpb24uCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRp
b24oKSB7CisgICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZv
ci1Sb3dDb3VudENoYW5nZWQiKTsKKworICAgICAgICBkaXYuY2hpbGRyZW5bMF0uc2V0QXR0cmli
dXRlKCJhcmlhLWV4cGFuZGVkIiwgdHJ1ZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5
IHJlY2lldmVzIHRoZSBSb3dDb3VudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJk
aXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLVJvd0NvdW50Q2hhbmdl
ZCIgcm9sZT0iZ3JpZCI+CisgICAgPGRpdj48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMg
QEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dFeHBhbmRlZCAtIGlkOmRpdi1mb3It
Um93RXhwYW5kZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMg
dGhlIFJvd0V4cGFuZGVkIG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tUm93RXhwYW5kZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1mb3ItUm93RXhwYW5kZWQiKS5z
ZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCB0cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBj
b3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0V4cGFuZGVkIG5vdGlmaWNhdGlvbi4KKworPGRpdiBp
ZD0iZGl2LWZvci1Sb3dFeHBhbmRlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLVJvd0V4cGFuZGVkIiBy
b2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Ny
b2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNjcm9sbGVkVG9B
bmNob3Igbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigp
IHsKKyAgICAgICAgLy8gTm90IHNlbnQgdG8gdGhlIGNocm9taXVtIHBvcnQgLSBzZWUgaGFuZGxl
U2Nyb2xsZWRUb0FuY2hvcgorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
biAtIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIC0gaWQ6c2VsZWN0LWZvci1TZWxlY3RlZENoaWxk
cmVuQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNl
bGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENo
aWxkcmVuQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZCIpLnNlbGVjdGVkSW5kZXggPSAwOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNp
ZXZlcyB0aGUgU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2VsZWN0
IGlkPSJzZWxlY3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIiBhcmlhLWhlbHA9InNlbGVj
dC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiIHNpemU9IjQiPgorICAgIDxvcHRpb24gdmFs
dWU9IjEiPml0ZW0gMTwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENoYW5nZWQgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1T
ZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRD
aGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNp
ZmljIC0gc2VlIG5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UKKyAgICB9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhh
dCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENoYW5nZWQgbm90
aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5v
dGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZh
bHVlQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24gLSBWYWx1ZUNoYW5nZWQgLSBpZDp0ZXh0LWZvci1WYWx1ZUNoYW5nZWQKK1RoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFZhbHVlQ2hhbmdlZCBub3RpZmlj
YXRpb24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1WYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXh0LWZvci1WYWx1ZUNoYW5nZWQiKS52YWx1ZSA9ICJidXR0b24iCisg
ICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRl
c3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBWYWx1ZUNoYW5nZWQgbm90
aWZpY2F0aW9uLgorCis8aW5wdXQgaWQ9InRleHQtZm9yLVZhbHVlQ2hhbmdlZCIgYXJpYS1oZWxw
PSJ0ZXh0LWZvci1WYWx1ZUNoYW5nZWQiIHR5cGU9InRleHQiIHZhbHVlPSJ2YWx1ZSIgLz4KKwor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyNSBAQAorZnVuY3Rpb24gZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlP
YmplY3QpIHsKKyAgdmFyIGNvdW50ID0gYWNjZXNzaWJpbGl0eU9iamVjdC5jaGlsZHJlbkNvdW50
OworICBmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgZW51bUFjY2Vzc2liaWxp
dHlPYmplY3RzKGFjY2Vzc2liaWxpdHlPYmplY3QuY2hpbGRBdEluZGV4KGkpKTsKK30KKworZnVu
Y3Rpb24gdGVzdERvbmUoKSB7CisgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
K30KKworZnVuY3Rpb24gdGVzdCgpIHsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgIAorICAvLyBC
dWlsZCBhY2Nlc3NpYmlsaXR5IHRyZWUuCisgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKKyAgZW51
bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVt
ZW50KTsKKworICAvLyBUZXN0IHRoZSBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCk7Cisg
IHRlc3ROb3RpZmljYXRpb24oKTsKKworICAvLyBVc2Ugc2V0VGltZW91dCBzbyB0aGF0IGFzeW5j
aHJvbm91cyBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgY2FuIGJlIHByb2Nlc3NlZC4KKyAg
c2V0VGltZW91dCh0ZXN0RG9uZSwgMCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67209</attachid>
            <date>2010-09-10 11:36:17 -0700</date>
            <delta_ts>2010-09-13 01:36:55 -0700</delta_ts>
            <desc>Rebased all non ChangeLog files - drt_expectations.txt conflict</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>47307</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjY5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1Ngor
ICAgICAgICAKKyAgICAgICAgVXNlIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIHRvIHBh
c3MgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24KKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAg
ICAgICAgVGVzdHM6IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAg
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNl
ZFVJRWxlbWVudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCisgICAg
ICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRt
bAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1s
CisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAorICAgICAgICAg
ICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1W
YWx1ZUNoYW5nZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0Nocm9t
ZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMDIgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0aW5nIGJpbmRpbmctdGVz
dHMgZXhwZWN0YXRpb25zIChmb3IgY2hhbmdlc2V0IDY2NTIxKS4KSW5kZXg6IFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0u
Y3BwCShyZXZpc2lvbiA2NjQ1MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9B
WE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MSwyOCArNjEsMTMg
QEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYQogCiAgICAgQ2hyb21l
Q2xpZW50Q2hyb21pdW0qIGNsaWVudCA9IHRvQ2hyb21lQ2xpZW50Q2hyb21pdW0ob2JqLT5kb2N1
bWVudEZyYW1lVmlldygpKTsKICAgICBpZiAoY2xpZW50KSB7Ci0gICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7Ci0gICAgICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgorICAgICAg
ICBjbGllbnQtPnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKG9iaiwgbm90aWZpY2F0aW9u
KTsKKworICAgICAgICAvLyBUT0RPOiBSZW1vdmUgYWZ0ZXIgdGhlIG5ldyBwb3N0QWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiBpcyB1c2VkIGRvd25zdHJlYW0uCisgICAgICAgIGlmIChub3RpZmlj
YXRpb24gPT0gQVhDaGVja2VkU3RhdGVDaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRD
aGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBpZiAobm90aWZpY2F0aW9u
ID09IEFYQ2hpbGRyZW5DaGFuZ2VkKQogICAgICAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nl
c3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4ob2JqKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgotICAgICAg
ICBjYXNlIEFYTGl2ZVJlZ2lvbkNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMb2FkQ29tcGxldGU6
Ci0gICAgICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFJv
d0NvbGxhcHNlZDoKLSAgICAgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKLSAgICAgICAgY2Fz
ZSBBWFJvd0V4cGFuZGVkOgotICAgICAgICBjYXNlIEFYU2Nyb2xsZWRUb0FuY2hvcjoKLSAgICAg
ICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYU2VsZWN0
ZWRUZXh0Q2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFZhbHVlQ2hhbmdlZDoKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9CiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvY2hyb21p
dW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvY2hy
b21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJDb3Jl
L3BhZ2UvY2hyb21pdW0vQ2hyb21lQ2xpZW50Q2hyb21pdW0uaAkod29ya2luZyBjb3B5KQpAQCAt
MzEsNiArMzEsNyBAQAogI2lmbmRlZiBDaHJvbWVDbGllbnRDaHJvbWl1bV9oCiAjZGVmaW5lIENo
cm9tZUNsaWVudENocm9taXVtX2gKIAorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNs
dWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC01OCw2
ICs1OSw5IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBOb3RpZmllZCBlbWJlZGRlciB0aGF0IHRo
ZSBjaGlsZHJlbiBvZiBhbiBhY2Nlc3NpYmlsaXR5IG9iamVjdCBoYXMgY2hhbmdlZC4KICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKEFjY2Vzc2li
aWxpdHlPYmplY3QqKSA9IDA7CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgYWJvdXQg
YW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY2Njk5KQorKysgV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEw
LTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFj
Y2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKyAgICAgICAgCisgICAgICAgIFVz
ZSBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB0byBwYXNzIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9uCisgICAgICAgIHRvIGNocm9taXVtLiAKKworICAgICAgICAqIFdlYktpdC5neXA6
CisgICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaDogQWRkZWQu
CisgICAgICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0NsaWVudDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIHNy
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OnBvc3RBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorCiAy
MDEwLTA5LTAyICBJbHlhIFNoZXJtYW4gIDxpc2hlcm1hbkBnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDY2
NDUzKQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTEx
Miw2ICsxMTIsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBw
b3J0LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvbWFjL1dlYlNjcmVlbkluZm9GYWN0b3J5
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmgnLAor
ICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5oJywK
ICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlPYmplY3QuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Um9sZS5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYkFuaW1hdGlvbkNvbnRyb2xsZXIuaCcsCkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaAko
cmV2aXNpb24gMCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uX2gKKyNkZWZpbmUgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbl9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBUaGVzZSB2YWx1ZXMgbXVzdCBtYXRj
aCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiB2YWx1ZXMKK2VudW0gV2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB7CisgICAgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQs
CisgICAgQ2hlY2tlZFN0YXRlQ2hhbmdlZCwKKyAgICBDaGlsZHJlbkNoYW5nZWQsCisgICAgRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQsCisgICAgTGF5b3V0Q29tcGxldGUsCisgICAgTG9hZENvbXBs
ZXRlLAorICAgIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAgIFNlbGVjdGVkVGV4dENoYW5n
ZWQsCisgICAgVmFsdWVDaGFuZ2VkLAorICAgIFNjcm9sbGVkVG9BbmNob3IsCisgICAgTGl2ZVJl
Z2lvbkNoYW5nZWQsCisgICAgTWVudUxpc3RWYWx1ZUNoYW5nZWQsCisgICAgUm93Q291bnRDaGFu
Z2VkLAorICAgIFJvd0NvbGxhcHNlZCwKKyAgICBSb3dFeHBhbmRlZCwKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbl9o
CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkocmV2aXNpb24gNjY0
NTMpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXdDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJWaWV3Q2xpZW50X2gKICNkZWZpbmUg
V2ViVmlld0NsaWVudF9oCiAKKyNpbmNsdWRlICJXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
LmgiCiAjaW5jbHVkZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYkVkaXRpbmdB
Y3Rpb24uaCIKICNpbmNsdWRlICJXZWJGaWxlQ2hvb3NlckNvbXBsZXRpb24uaCIKQEAgLTI4MCw2
ICsyODEsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgdGhhdCB0
aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgaGFzIGNoYW5nZWQuCiAgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25zdCBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JikgeyB9CisgICAgCisgICAgLy8gTm90aWZpZXMgZW1iZWRk
ZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCisgICAgdmlydHVhbCB2b2lk
IHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3QmIG9iaiwgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pIHsgfQog
CiAKICAgICAvLyBEZXZlbG9wZXIgdG9vbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0
TWF0Y2hpbmdFbnVtcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3Nl
cnRNYXRjaGluZ0VudW1zLmNwcAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJLaXQvY2hyb21pdW0v
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3
IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUgIkFwcGxpY2F0
aW9uQ2FjaGVIb3N0LmgiCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAi
QVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkVkaXRvckluc2VydEFjdGlvbi5oIgogI2luY2x1
ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRTbW9vdGhpbmdNb2RlLmgiCkBA
IC01MCw2ICs1MSw3IEBACiAjaW5jbHVkZSAiVXNlckNvbnRlbnRUeXBlcy5oIgogI2luY2x1ZGUg
IlVzZXJTY3JpcHRUeXBlcy5oIgogI2luY2x1ZGUgIlZpZGVvRnJhbWVDaHJvbWl1bS5oIgorI2lu
Y2x1ZGUgIldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViQXBwbGljYXRpb25DYWNoZUhvc3QuaCIK
ICNpbmNsdWRlICJXZWJDbGlwYm9hcmQuaCIKQEAgLTc5LDYgKzgxLDIyIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICB1c2luZyBXVEY6OlRleHRDYXNlSW5zZW5zaXRpdmU7CiB9OwogCitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLCBBWE9iamVj
dENhY2hlOjpBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oQ2hlY2tlZFN0YXRlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhDaGVja2VkU3Rh
dGVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ2hpbGRyZW5DaGFuZ2Vk
LCBBWE9iamVjdENhY2hlOjpBWENoaWxkcmVuQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpBWEZvY3Vz
ZWRVSUVsZW1lbnRDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTGF5b3V0
Q29tcGxldGUsIEFYT2JqZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGUpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShMb2FkQ29tcGxldGUsIEFYT2JqZWN0Q2FjaGU6OkFYTG9hZENvbXBs
ZXRlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oU2VsZWN0ZWRDaGlsZHJlbkNoYW5n
ZWQsIEFYT2JqZWN0Q2FjaGU6OkFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShTZWxlY3RlZFRleHRDaGFuZ2VkLCBBWE9iamVjdENhY2hlOjpB
WFNlbGVjdGVkVGV4dENoYW5nZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShWYWx1
ZUNoYW5nZWQsIEFYT2JqZWN0Q2FjaGU6OkFYVmFsdWVDaGFuZ2VkKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oU2Nyb2xsZWRUb0FuY2hvciwgQVhPYmplY3RDYWNoZTo6QVhTY3JvbGxl
ZFRvQW5jaG9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTGl2ZVJlZ2lvbkNoYW5n
ZWQsIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJlZ2lvbkNoYW5nZWQpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShNZW51TGlzdFZhbHVlQ2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhNZW51
TGlzdFZhbHVlQ2hhbmdlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFJvd0NvdW50
Q2hhbmdlZCwgQVhPYmplY3RDYWNoZTo6QVhSb3dDb3VudENoYW5nZWQpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShSb3dDb2xsYXBzZWQsIEFYT2JqZWN0Q2FjaGU6OkFYUm93Q29sbGFw
c2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oUm93RXhwYW5kZWQsIEFYT2JqZWN0
Q2FjaGU6OkFYUm93RXhwYW5kZWQpOworCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkFjY2Vzc2liaWxpdHlSb2xlVW5rbm93biwgVW5rbm93blJvbGUpOwogQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJBY2Nlc3NpYmlsaXR5Um9sZUJ1dHRvbiwgQnV0dG9uUm9sZSk7CiBD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFjY2Vzc2liaWxpdHlSb2xlUmFkaW9CdXR0
b24sIFJhZGlvQnV0dG9uUm9sZSk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNs
aWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5jcHAJKHJldmlzaW9uIDY2NDUzKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzE5LDYgKzcxOSwxMyBAQCB2b2lk
IENocm9tZUNsaWVudEltcGw6OmRpZENoYW5nZUFjY2Vzc2liCiAgICAgICAgIG1fd2ViVmlldy0+
Y2xpZW50KCktPmRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0KG9iaikpOwogfQogCit2b2lkIENocm9tZUNsaWVudEltcGw6OnBvc3RBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQVhPYmplY3RD
YWNoZTo6QVhOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKQoreworICAgIC8vIEFsZXJ0IGFzc2lz
dGl2ZSB0ZWNobm9sb2d5IGFib3V0IHRoZSBhY2Nlc3NpYmlsaXR5IG9iamVjdCBub3RpZmljYXRp
b24uCisgICAgaWYgKG9iaikKKyAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+cG9zdEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24oV2ViQWNjZXNzaWJpbGl0eU9iamVjdChvYmopLCBzdGF0aWNf
Y2FzdDxXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uPihub3RpZmljYXRpb24pKTsKK30KKwog
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogTm90aWZpY2F0aW9uUHJlc2VudGVyKiBDaHJvbWVD
bGllbnRJbXBsOjpub3RpZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdAogewpJbmRleDogV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJKHJldmlzaW9uIDY2NDUzKQorKysgV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Myw2
ICsxNjMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBvcHVwQ2xvc2VkKFdlYkNvcmU6
OlBvcHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5lcik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENo
YW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJl
bihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKAorICAgICAgICBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBvYmosIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uIG5vdGlm
aWNhdGlvbik7CiAKICAgICAvLyBDaHJvbWVDbGllbnRJbXBsOgogICAgIHZvaWQgc2V0Q3Vyc29y
KGNvbnN0IFdlYkN1cnNvckluZm8mIGN1cnNvcik7CkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NjY5OSkK
KysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDEwLTA5LTAyICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQg
YWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKyAgICAgICAgCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAgICAo
V2ViVmlld0hvc3Q6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oOgorCiAyMDEwLTA5LTAyICBTdGV2
ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
ZGFtIEJhcnRoLgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
Vmlld0hvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlZpZXdIb3N0LmNwcAkocmV2aXNpb24gNjY0NTMpCisrKyBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ4OSwxMCArNDg5LDYyIEBAIHZvaWQgV2ViVmlld0hvc3Q6OmZvY3VzQWNjZXNzaWJpbGl0eU9i
amUKICAgICBtX3NoZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpLT5zZXRGb2N1c2VkRWxl
bWVudChvYmplY3QpOwogfQogCi12b2lkIFdlYlZpZXdIb3N0OjpkaWRDaGFuZ2VBY2Nlc3NpYmls
aXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQor
dm9pZCBXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5v
dGlmaWNhdGlvbikKIHsKLSAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIo
KS0+c2hvdWxkRHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpCi0gICAgICAgIHByaW50
ZigiZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0gbmV3IGNvdW50OiAlZFxu
Iiwgb2JqZWN0LmNoaWxkQ291bnQoKSk7CisgICAgaWYgKG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKCktPnNob3VsZER1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpKSB7Cisg
ICAgICAgIHN3aXRjaCAobm90aWZpY2F0aW9uKSB7CisgICAgICAgIGNhc2UgQWN0aXZlRGVzY2Vu
ZGFudENoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24gLSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgQ2hlY2tlZFN0YXRlQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoZWNrZWRTdGF0ZUNoYW5nZWQiKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIENoaWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50
ZigiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZCIpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQ6CisgICAg
ICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBGb2N1c2VkVUlFbGVt
ZW50Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTGF5b3V0Q29t
cGxldGU6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBM
YXlvdXRDb21wbGV0ZSIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTG9hZENv
bXBsZXRlOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
TG9hZENvbXBsZXRlIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTZWxlY3Rl
ZENoaWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbiAtIFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBTZWxlY3RlZFRleHRDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgVmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAgcHJp
bnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gVmFsdWVDaGFuZ2VkIik7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTY3JvbGxlZFRvQW5jaG9yOgorICAgICAgICAgICAg
cHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gU2Nyb2xsZWRUb0FuY2hvciIpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTGl2ZVJlZ2lvbkNoYW5nZWQ6CisgICAg
ICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMaXZlUmVnaW9uQ2hh
bmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTWVudUxpc3RWYWx1ZUNo
YW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBN
ZW51TGlzdFZhbHVlQ2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
Um93Q291bnRDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gUm93Q291bnRDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBSb3dDb2xsYXBzZWQ6CisgICAgICAgICAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24gLSBSb3dDb2xsYXBzZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIFJvd0V4cGFuZGVkOgorICAgICAgICAgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gUm93RXhwYW5kZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK
KyAgICAgICAgaWYgKCFvYmouaGVscFRleHQoKS5pc051bGwoKSkKKyAgICAgICAgICAgIHByaW50
ZigiIC0gaGVscFRleHQ6JXMiLCBvYmouaGVscFRleHQoKS51dGY4KCkuZGF0YSgpKTsKKworICAg
ICAgICBwcmludGYoIlxuIik7CisgICAgfQogfQogCiBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIq
IFdlYlZpZXdIb3N0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKQpJbmRleDogV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCShyZXZpc2lvbiA2
NjQ1MykKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIk1vY2tTcGVs
bENoZWNrLmgiCiAjaW5jbHVkZSAiVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVk
ZSAicHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJwdWJs
aWMvV2ViQ3Vyc29ySW5mby5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJGcmFtZUNsaWVudC5oIgog
I2luY2x1ZGUgInB1YmxpYy9XZWJWaWV3Q2xpZW50LmgiCkBAIC0xMjYsNyArMTI3LDcgQEAgY2xh
c3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpXZWJWaQogICAgIHZpcnR1YWwgaW50IGhp
c3RvcnlCYWNrTGlzdENvdW50KCk7CiAgICAgdmlydHVhbCBpbnQgaGlzdG9yeUZvcndhcmRMaXN0
Q291bnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNBY2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0
IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpOwotICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2ViS2l0OjpXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uKGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqLCBXZWJLaXQ6
OldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gbm90aWZpY2F0aW9uKTsKICAgICB2aXJ0dWFs
IFdlYktpdDo6V2ViTm90aWZpY2F0aW9uUHJlc2VudGVyKiBub3RpZmljYXRpb25QcmVzZW50ZXIo
KTsKICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViR2VvbG9jYXRpb25TZXJ2aWNlKiBnZW9sb2NhdGlv
blNlcnZpY2UoKTsKICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViU3BlZWNoSW5wdXRDb250cm9sbGVy
KiBzcGVlY2hJbnB1dENvbnRyb2xsZXIoV2ViS2l0OjpXZWJTcGVlY2hJbnB1dExpc3RlbmVyKik7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiA2NjczMykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDEwLTA5LTAzICBDaHJpcyBHdWlsbG9yeSAg
IDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9u
cyB0byBDaHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDUxNTYKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
Y2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1u
b3RpZmljYXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNr
ZWRTdGF0ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRV
SUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2Vk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dD
b3VudENoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBh
bmRlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qczog
QWRkZWQuCisgICAgICAgIChlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMpOgorICAgICAgICAodGVz
dERvbmUpOgorICAgICAgICAodGVzdCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZHJ0
X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0OgorCiAyMDEwLTA5LTAzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpcmsgU2NodWx6ZS4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2RydF9leHBlY3RhdGlvbnMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2RydF9leHBlY3RhdGlvbnMu
dHh0CShyZXZpc2lvbiA2NjQ1MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Ry
dF9leHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zNDQsNyArMzQ0LDcgQEAgQlVH
X0RSVCBXSU4gOiBodHRwL3Rlc3RzL2xvYWRpbmcvcHJlbG9hZAogQlVHX0RSVCBNQUMgTElOVVgg
OiBodHRwL3Rlc3RzL21pc2Mvc2xvdy1sb2FkaW5nLWltYWdlLWluLXBhdHRlcm4uaHRtbCA9IElN
QUdFIFBBU1MKIEJVR19EUlQgV0lOIE1BQyBMSU5VWCA6IGZhc3QvZXZlbnRzL3NwZWNpYWwta2V5
LWV2ZW50cy1pbi1pbnB1dC10ZXh0Lmh0bWwgPSBURVhUCiBCVUdfRFJUIFdJTiBNQUMgOiBmYXN0
L2RvbS9HZW9sb2NhdGlvbi9kZWxheWVkLXBlcm1pc3Npb24tYWxsb3dlZC1mb3ItbXVsdGlwbGUt
cmVxdWVzdHMuaHRtbCA9IFRJTUVPVVQKLUJVR19EUlQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgPSBQQVNTCitCVUdf
RFJUIDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IFBBU1MKIAogLy8gV2luZG93
cyBmYWlsdXJlcyBmcm9tIHRoZSBuZXcgYnVpbGQgc2xhdmUgKHNvbWUgbWF5IGJlIFZpc3RhL1hQ
IGRpZmZzKQogQlVHX0RSVCBXSU4gOiBjc3MyLjEvdDA4MDUtYzU1MTktYnJkci1yLTAxLWUuaHRt
bCA9IElNQUdFK1RFWFQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDY2NDUzKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC05NDUsNyArOTQ1LDcgQEAgQlVHMTAzMjIgREVGRVIgU0tJUCA6IHBsYXRmb3JtL21hYy9h
Y2NlcwogQlVHMTAzMjIgREVGRVIgU0tJUCA6IHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5ID0g
UEFTUyBGQUlMCiAKIC8vIEZ1bmN0aW9uYWxpdHkgaXMgc3VwcG9ydGVkIGluIERSVCBidXQgbm90
IFRlc3RTaGVsbAotV09OVEZJWCBTS0lQIDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sID0gRkFJTAorV09OVEZJWCBTS0lQ
IDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IEZBSUwKIAogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IC8vIE90aGVyIGZhaWx1cmVzCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjY0
NTMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxk
cmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwzICswLDAgQEAKLWRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbiAtIG5ldyBj
b3VudDogMQotVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyBub3Rp
ZmljYXRpb25zIHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGNo
YW5nZS4KLXRleHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5n
ZWQtbm90aWZpY2F0aW9uLmh0bWwJKHJldmlzaW9uIDY2NDUzKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlv
bi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAKLTxodG1sPgotPGJvZHk+Ci1U
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIG5vdGlmaWNhdGlvbnMg
d2hlbiB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgY2hhbmdlLgotPGRp
dj48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gdGVzdERvbmUoKSB7Ci0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rp
b24gdGVzdCgpIHsKLSAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOwotCi0gICAgICAgIGlmICghYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgfHwgIWFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucykKLSAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBBY2Nlc3MgYWNjZXNzaWJpbGl0eSBvYmplY3Qg
dGhhdCB3aWxsIGJlIGRlbGV0ZWQuCi0gICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKLSAg
ICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4
KDApOwotICAgICAgICAKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBJbnNlcnQgYSBj
aGlsZCBlbGVtZW50IG9uIHRoZSBkaXYuIFRoaXMgZ2VuZXJhdGVzIGFuIGFjY2Vzc2liaWxpdHkg
Y2hpbGRyZWQgY2hhbmdlZCBub3RpZmljYXRpb24uCi0gICAgICAgIGRvY3VtZW50LmJvZHkuY2hp
bGRyZW5bMF0uaW5uZXJIVE1MID0gInRleHQiOwotCi0gICAgICAgIC8vIFVzZSBzZXRUaW1lb3V0
IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyBjYW4gYmUg
cHJvY2Vzc2VkLgotICAgICAgICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsKLSAgICB9Ci0KLSAg
ICB0ZXN0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZl
RGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZl
RGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3Rp
dmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2Vk
IC0gaGVscFRleHQ6dWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitUaGlzIHRlc3RzIHRo
YXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNjZW5kYW50Q2hhbmdl
ZCBub3RpZmljYXRpb24uCitsaTEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0
aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIHZhciByYWRpb2dyb3VwID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIpOworCisg
ICAgICAgIHJhZGlvZ3JvdXAuZm9jdXMoKTsKKyAgICAgICAgcmFkaW9ncm91cC5zZXRBdHRyaWJ1
dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsICJyMSIpOworICAgIH0KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNv
cnJlY3RseSByZWNpZXZlcyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQgbm90aWZpY2F0aW9u
LgorCis8dWwgaWQ9InVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIgYXJpYS1oZWxwPSJ1
bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiIHRhYmluZGV4PSIwIiByb2xlPSJyYWRpb2dy
b3VwIj4KKyAgICA8bGkgaWQ9InIxIj5saTE8L2xpPgorPC91bD4KKworPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gQ2hl
Y2tlZFN0YXRlQ2hhbmdlZCAtIGhlbHBUZXh0OmNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFu
Z2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVj
a2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVD
aGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rp
b24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIikuY2hlY2tlZCA9IHRydWU7CisgICAg
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVja2VkU3RhdGVDaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KKworPGlucHV0IGlkPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hh
bmdlZCIgYXJpYS1oZWxwPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIgdHlwZT0i
Y2hlY2tib3giIC8+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qt
bm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Q2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZCAtIGhlbHBUZXh0OmRpdi1mb3ItQ2hpbGRy
ZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgordGV4dApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJl
bkNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVz
dE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1m
b3ItQ2hpbGRyZW5DaGFuZ2VkIikuaW5uZXJIVE1MID0gInRleHQiOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4K
KworPGRpdiBpZD0iZGl2LWZvci1DaGlsZHJlbkNoYW5nZWQiIGFyaWEtaGVscD0iZGl2LWZvci1D
aGlsZHJlbkNoYW5nZWQiPjwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAg
ICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9ydCAtIHNlZSBoYW5kbGVGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZAorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgeworICAgICAgICAvLyBNYWMgc3BlY2lmaWMKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
TGl2ZVJlZ2lvbkNoYW5nZWQgLSBoZWxwVGV4dDp1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQKK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25D
aGFuZ2VkIG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNh
dGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1MaXZlUmVn
aW9uQ2hhbmdlZCIpLnRpdGxlID0gInRpdGxlIjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0
bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHVsIGlk
PSJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQiIGFyaWEtaGVscD0idWwtZm9yLUxpdmVSZWdpb25D
aGFuZ2VkIiByb2xlPSJyZWdpb24iIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLXJlbGV2YW50PSJh
ZGRpdGlvbnMgcmVtb3ZhbHMiPjwvdWw+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21w
bGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExvYWRDb21wbGV0ZSBub3RpZmlj
YXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TG9hZENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
KyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBNYWMgc3BlY2lm
aWMKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExvYWRDb21wbGV0
ZSBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBv
c3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1N
ZW51TGlzdFZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIC0g
aGVscFRleHQ6c2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0
IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTWVudUxpc3RWYWx1ZUNoYW5nZWQgbm90
aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0LWZvci1NZW51
TGlzdFZhbHVlQ2hhbmdlZCIpLnNlbGVjdGVkSW5kZXggPSAwOworICAgIH0KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTWVudUxpc3RWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9u
LgorCis8c2VsZWN0IGlkPSJzZWxlY3QtZm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIiBhcmlhLWhl
bHA9InNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQiPgorCTxvcHRpb24+PC9vcHRpb24+
IAorPC9zZWxlY3Q+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qt
bm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Um93Q29sbGFwc2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbiAtIFJvd0NvbGxhcHNlZCAtIGhlbHBUZXh0OmRpdi1mb3ItUm93Q29sbGFwc2VkCitUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb2xsYXBzZWQg
bm90aWZpY2F0aW9uLgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxh
cHNlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1Sb3dDb2xsYXBzZWQiKS5zZXRBdHRyaWJ1dGUo
ImFyaWEtZXhwYW5kZWQiLCBmYWxzZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBSb3dDb2xsYXBzZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9y
LVJvd0NvbGxhcHNlZCIgYXJpYS1oZWxwPSJkaXYtZm9yLVJvd0NvbGxhcHNlZCIgcm9sZT0idHJl
ZWl0ZW0iPjwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0
LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3Vu
dENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5n
ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24gLSBSb3dDb3VudENoYW5nZWQgLSBoZWxwVGV4dDpkaXYtZm9yLVJvd0Nv
dW50Q2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgUm93Q291bnRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENo
YW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5v
dGlmaWNhdGlvbigpIHsKKyAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIpOworCisgICAgICAgIGRpdi5jaGlsZHJlblswXS5z
ZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCB0cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBj
b3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxk
aXYgaWQ9ImRpdi1mb3ItUm93Q291bnRDaGFuZ2VkIiBhcmlhLWhlbHA9ImRpdi1mb3ItUm93Q291
bnRDaGFuZ2VkIiByb2xlPSJncmlkIj4KKyAgICA8ZGl2PjwvZGl2PgorPC9kaXY+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0V4cGFuZGVkIC0gaGVs
cFRleHQ6ZGl2LWZvci1Sb3dFeHBhbmRlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgUm93RXhwYW5kZWQgbm90aWZpY2F0aW9uLgorCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVJvd0V4cGFuZGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90
aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1S
b3dFeHBhbmRlZCIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIHRydWUpOworICAgIH0K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93RXhwYW5kZWQgbm90aWZpY2F0
aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9yLVJvd0V4cGFuZGVkIiBhcmlhLWhlbHA9ImRpdi1mb3It
Um93RXhwYW5kZWQiIHJvbGU9InRyZWVpdGVtIj48L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9B
bmNob3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0
Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9y
dCAtIHNlZSBoYW5kbGVTY3JvbGxlZFRvQW5jaG9yCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBTY3JvbGxlZFRvQW5jaG9yIG5vdGlmaWNhdGlvbi4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFu
Z2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uIC0gU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgLSBoZWxwVGV4dDpzZWxl
Y3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0g
Y29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRp
b24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmlj
YXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3QtZm9yLVNl
bGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIikuc2VsZWN0ZWRJbmRleCA9IDA7CisgICAgfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hy
b21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCBub3Rp
ZmljYXRpb24uCisKKzxzZWxlY3QgaWQ9InNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNoYW5n
ZWQiIGFyaWEtaGVscD0ic2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCIgc2l6ZT0i
NCI+CisgICAgPG9wdGlvbiB2YWx1ZT0iMSI+aXRlbSAxPC9vcHRpb24+Cis8L3NlbGVjdD4KKwor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFu
Z2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNo
cm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRUZXh0Q2hhbmdlZCBub3RpZmlj
YXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgewor
ICAgICAgICAvLyBNYWMgc3BlY2lmaWMgLSBzZWUgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVj
dGlvbkNoYW5nZQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0
KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZh
bHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFZhbHVlQ2hhbmdlZCAtIGhlbHBUZXh0OnRleHQtZm9y
LVZhbHVlQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgVmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5n
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlv
bigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQtZm9yLVZhbHVlQ2hh
bmdlZCIpLnZhbHVlID0gImJ1dHRvbiIKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxpbnB1dCBpZD0idGV4dC1m
b3ItVmFsdWVDaGFuZ2VkIiBhcmlhLWhlbHA9InRleHQtZm9yLVZhbHVlQ2hhbmdlZCIgdHlwZT0i
dGV4dCIgdmFsdWU9InZhbHVlIiAvPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24uanMJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI1IEBACitmdW5jdGlvbiBlbnVtQWNjZXNzaWJp
bGl0eU9iamVjdHMoYWNjZXNzaWJpbGl0eU9iamVjdCkgeworICB2YXIgY291bnQgPSBhY2Nlc3Np
YmlsaXR5T2JqZWN0LmNoaWxkcmVuQ291bnQ7CisgIGZvciAodmFyIGkgPSAwOyBpIDwgY291bnQ7
ICsraSkKKyAgICBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNzaWJpbGl0eU9iamVjdC5j
aGlsZEF0SW5kZXgoaSkpOworfQorCitmdW5jdGlvbiB0ZXN0RG9uZSgpIHsKKyAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkgeworICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKKyAgCisgIC8vIEJ1aWxkIGFjY2Vzc2liaWxpdHkgdHJlZS4KKyAgZG9j
dW1lbnQuYm9keS5mb2N1cygpOworICBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQpOworCisgIC8vIFRlc3QgdGhlIGFjY2Vzc2li
aWxpdHkgbm90aWZpY2F0aW9uLgorICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5kdW1wQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbnMoKTsKKyAgdGVzdE5vdGlmaWNhdGlvbigpOworCisgIC8vIFVz
ZSBzZXRUaW1lb3V0IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0
aW9ucyBjYW4gYmUgcHJvY2Vzc2VkLgorICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsKK30K
</data>
<flag name="review"
          id="56456"
          type_id="1"
          status="-"
          setter="cfleizach"
    />
    <flag name="commit-queue"
          id="56457"
          type_id="3"
          status="-"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67375</attachid>
            <date>2010-09-13 01:36:55 -0700</date>
            <delta_ts>2010-09-13 01:46:58 -0700</delta_ts>
            <desc>Not using AssertMatchingEnums. Rebased.</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>49374</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzM2OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMTMgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYK
KyAgICAgICAgCisgICAgICAgIFVzZSBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB0byBw
YXNzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucworICAgICAgICB0byBjaHJvbWl1bS4KKwor
ICAgICAgICBUZXN0czogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0
ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAorICAgICAgICAgICAg
ICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAor
ICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5o
dG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLmh0
bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRy
ZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCisgICAgICAg
ICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVZhbHVlQ2hhbmdlZC5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FY
T2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
Ojpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24pOgorICAgICAgICAqIHBhZ2UvY2hyb21pdW0vQ2hy
b21lQ2xpZW50Q2hyb21pdW0uaDoKKwogMjAxMC0wOS0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVD
aHJvbWl1bS5jcHAJKHJldmlzaW9uIDY3MzY3KQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2No
cm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDMw
ICs2MCwzNCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhCiAgICAg
ICAgIHJldHVybjsKIAogICAgIENocm9tZUNsaWVudENocm9taXVtKiBjbGllbnQgPSB0b0Nocm9t
ZUNsaWVudENocm9taXVtKG9iai0+ZG9jdW1lbnRGcmFtZVZpZXcoKSk7Ci0gICAgaWYgKGNsaWVu
dCkgewotICAgICAgICBzd2l0Y2ggKG5vdGlmaWNhdGlvbikgewotICAgICAgICBjYXNlIEFYQ2hl
Y2tlZFN0YXRlQ2hhbmdlZDoKLSAgICAgICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdFN0YXRlKG9iaik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBB
WENoaWxkcmVuQ2hhbmdlZDoKLSAgICAgICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdENoaWxkcmVuKG9iaik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkOgotICAgICAgICBjYXNlIEFYRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMYXlvdXRDb21wbGV0ZToKLSAgICAgICAgY2Fz
ZSBBWExpdmVSZWdpb25DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYTG9hZENvbXBsZXRlOgotICAg
ICAgICBjYXNlIEFYTWVudUxpc3RWYWx1ZUNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhSb3dDb2xs
YXBzZWQ6Ci0gICAgICAgIGNhc2UgQVhSb3dDb3VudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhS
b3dFeHBhbmRlZDoKLSAgICAgICAgY2FzZSBBWFNjcm9sbGVkVG9BbmNob3I6Ci0gICAgICAgIGNh
c2UgQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFNlbGVjdGVkVGV4
dENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQorICAgIGlmICghY2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAgICAv
LyBUT0RPOiBSZW1vdmUgYWZ0ZXIgdGhlIG5ldyBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
biBpcyB1c2VkIGRvd25zdHJlYW0uCisgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKKyAgICBj
YXNlIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZDoKKyAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nl
c3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWENo
aWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Q2hpbGRyZW4ob2JqKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWEFjdGl2ZURlc2Nl
bmRhbnRDaGFuZ2VkOgorICAgIGNhc2UgQVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAgICBj
YXNlIEFYTGF5b3V0Q29tcGxldGU6CisgICAgY2FzZSBBWExpdmVSZWdpb25DaGFuZ2VkOgorICAg
IGNhc2UgQVhMb2FkQ29tcGxldGU6CisgICAgY2FzZSBBWE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgor
ICAgIGNhc2UgQVhSb3dDb2xsYXBzZWQ6CisgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKKyAg
ICBjYXNlIEFYUm93RXhwYW5kZWQ6CisgICAgY2FzZSBBWFNjcm9sbGVkVG9BbmNob3I6CisgICAg
Y2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgIGNhc2UgQVhTZWxlY3RlZFRleHRD
aGFuZ2VkOgorICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6CisgICAgICAgIGJyZWFrOwogICAgIH0K
KworICAgIGNsaWVudC0+cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24ob2JqLCBub3RpZmlj
YXRpb24pOyAgICAgICAgCiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJ
RWxlbWVudENoYW5nZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVyT2JqZWN0KikKSW5kZXg6IFdlYkNv
cmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCShyZXZpc2lvbiA2NzM2
NykKKysrIFdlYkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIENocm9tZUNsaWVudENocm9taXVt
X2gKICNkZWZpbmUgQ2hyb21lQ2xpZW50Q2hyb21pdW1faAogCisjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAKQEAgLTU4LDYgKzU5LDkgQEAgcHVibGljOgogICAgIAogICAgIC8vIE5vdGlmaWVkIGVt
YmVkZGVyIHRoYXQgdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGhhcyBj
aGFuZ2VkLgogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hp
bGRyZW4oQWNjZXNzaWJpbGl0eU9iamVjdCopID0gMDsKKyAgICAKKyAgICAvLyBOb3RpZmllcyBl
bWJlZGRlciBhYm91dCBhbiBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgICB2aXJ0dWFs
IHZvaWQgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCos
IEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3MzY4KQorKysgV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEwLTA5
LTEzICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFjY2Vz
c2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisgICAgICAgIAorICAgICAgICBVc2Ug
cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gdG8gcGFzcyBhY2Nlc3NpYmlsaXR5IG5vdGlm
aWNhdGlvbnMKKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgor
ICAgICAgICAqIHB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmg6IEFkZGVkLgor
ICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdDbGllbnQ6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5oOiBBZGRlZC4KKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OnRvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OmRpZENoYW5nZUFjY2Vzc2li
aWxpdHlPYmplY3RDaGlsZHJlbik6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6
OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xp
ZW50SW1wbC5oOgorCiAyMDEwLTA5LTEyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpJbmRleDogV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJ
KHJldmlzaW9uIDY3MzY3KQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcg
Y29weSkKQEAgLTk4LDYgKzk4LDcgQEAKICAgICAgICAgICAgICAgICAncHVibGljL21hYy9XZWJT
YW5kYm94U3VwcG9ydC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL21hYy9XZWJTY3JlZW5J
bmZvRmFjdG9yeS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlD
YWNoZS5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb24uaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaCcsCiAg
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBbmltYXRpb25Db250cm9sbGVyLmgnLApJbmRleDog
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uLmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24uaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbl9oCisjZGVmaW5lIFdlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb25faAorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBXZWJBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uIHsKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkNo
ZWNrZWRTdGF0ZUNoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkNoaWxk
cmVuQ2hhbmdlZCwKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkxheW91dENvbXBs
ZXRlLAorICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Mb2FkQ29tcGxldGUsCisgICAg
V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAg
IFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25TZWxlY3RlZFRleHRDaGFuZ2VkLAorICAgIFdl
YkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25WYWx1ZUNoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvblNjcm9sbGVkVG9BbmNob3IsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbkxpdmVSZWdpb25DaGFuZ2VkLAorICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb25NZW51TGlzdFZhbHVlQ2hhbmdlZCwKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uUm93Q291bnRDaGFuZ2VkLAorICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Sb3dD
b2xsYXBzZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblJvd0V4cGFuZGVkLAor
ICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25JbnZhbGlkCit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25faApJ
bmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHJldmlzaW9uIDY3MzY3
KQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgV2ViVmlld0NsaWVudF9oCiAjZGVmaW5lIFdl
YlZpZXdDbGllbnRfaAogCisjaW5jbHVkZSAiV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5o
IgogI2luY2x1ZGUgIldlYkRyYWdPcGVyYXRpb24uaCIKICNpbmNsdWRlICJXZWJFZGl0aW5nQWN0
aW9uLmgiCiAjaW5jbHVkZSAiV2ViRmlsZUNob29zZXJDb21wbGV0aW9uLmgiCkBAIC0yODAsNiAr
MjgxLDkgQEAgcHVibGljOgogICAgIAogICAgIC8vIE5vdGlmaWVzIGVtYmVkZGVyIHRoYXQgdGhl
IGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGhhcyBjaGFuZ2VkLgogICAgIHZp
cnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdCYpIHsgfQorICAgIAorICAgIC8vIE5vdGlmaWVzIGVtYmVkZGVy
IGFib3V0IGFuIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBw
b3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
JiwgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbikgeyB9CiAKIAogICAgIC8vIERldmVsb3Bl
ciB0b29scyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCShyZXZp
c2lvbiA2NzM2NykKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU2LDExICs1NiwxMCBAQAogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
blByZXNlbnRlckltcGwuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51
Q2hyb21pdW0uaCIKLSNpbmNsdWRlICJTZWFyY2hQb3B1cE1lbnVDaHJvbWl1bS5oIgogI2luY2x1
ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJTZWFyY2hQb3B1cE1lbnVDaHJvbWl1
bS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2hhcmVkR3JhcGhp
Y3NDb250ZXh0M0QuaCIKLSNpbmNsdWRlICJXZWJHZW9sb2NhdGlvblNlcnZpY2UuaCIKICNpZiBV
U0UoVjgpCiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2VuZGlmCkBAIC03MCw2ICs2OSw3IEBACiAj
aW5jbHVkZSAiV2ViRmlsZUNob29zZXJDb21wbGV0aW9uSW1wbC5oIgogI2luY2x1ZGUgIldlYkZy
YW1lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCisjaW5jbHVkZSAiV2ViR2Vv
bG9jYXRpb25TZXJ2aWNlLmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudC5oIgogI2luY2x1ZGUg
IldlYktpdC5oIgogI2luY2x1ZGUgIldlYk5vZGUuaCIKQEAgLTEwMyw2ICsxMDMsNDYgQEAgc3Rh
dGljIFdlYlBvcHVwVHlwZSBjb252ZXJ0UG9wdXBUeXBlKFBvcAogICAgIH0KIH0KIAorLy8gQ29u
dmVydHMgYSBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiB0byBhIFdlYktp
dDo6V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbgorc3RhdGljIFdlYkFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24gdG9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFYT2JqZWN0Q2FjaGU6
OkFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikKK3sKKyAgICBzd2l0Y2ggKG5vdGlmaWNhdGlv
bikgeworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoK
KyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25BY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZDsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYQ2hlY2tlZFN0YXRlQ2hhbmdl
ZDoKKyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25DaGVja2VkU3Rh
dGVDaGFuZ2VkOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhDaGlsZHJlbkNoYW5nZWQ6Cisg
ICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uQ2hpbGRyZW5DaGFuZ2Vk
OworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAg
ICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Gb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZDsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGU6CisgICAg
ICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uTGF5b3V0Q29tcGxldGU7Cisg
ICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWExvYWRDb21wbGV0ZToKKyAgICAgICAgcmV0dXJuIFdl
YkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Mb2FkQ29tcGxldGU7CisgICAgY2FzZSBBWE9iamVj
dENhY2hlOjpBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICByZXR1cm4gV2ViQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvblNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOworICAgIGNhc2Ug
QVhPYmplY3RDYWNoZTo6QVhTZWxlY3RlZFRleHRDaGFuZ2VkOgorICAgICAgICByZXR1cm4gV2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblNlbGVjdGVkVGV4dENoYW5nZWQ7CisgICAgY2FzZSBB
WE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb25WYWx1ZUNoYW5nZWQ7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpB
WFNjcm9sbGVkVG9BbmNob3I6CisgICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uU2Nyb2xsZWRUb0FuY2hvcjsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJl
Z2lvbkNoYW5nZWQ6CisgICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
TGl2ZVJlZ2lvbkNoYW5nZWQ7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE1lbnVMaXN0VmFs
dWVDaGFuZ2VkOgorICAgICAgICByZXR1cm4gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbk1l
bnVMaXN0VmFsdWVDaGFuZ2VkOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhSb3dDb3VudENo
YW5nZWQ6CisgICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uUm93Q291
bnRDaGFuZ2VkOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhSb3dDb2xsYXBzZWQ6CisgICAg
ICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uUm93Q29sbGFwc2VkOworICAg
IGNhc2UgQVhPYmplY3RDYWNoZTo6QVhSb3dFeHBhbmRlZDoKKyAgICAgICAgcmV0dXJuIFdlYkFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25Sb3dFeHBhbmRlZDsKKyAgICBkZWZhdWx0OgorICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb25JbnZhbGlkOworICAgIH0KK30KKwogQ2hyb21lQ2xpZW50SW1wbDo6Q2hyb21l
Q2xpZW50SW1wbChXZWJWaWV3SW1wbCogd2ViVmlldykKICAgICA6IG1fd2ViVmlldyh3ZWJWaWV3
KQogICAgICwgbV90b29sYmFyc1Zpc2libGUodHJ1ZSkKQEAgLTM0Myw5ICszODMsOSBAQCBib29s
IENocm9tZUNsaWVudEltcGw6OnN0YXR1c2JhclZpc2libGUoCiB2b2lkIENocm9tZUNsaWVudElt
cGw6OnNldFNjcm9sbGJhcnNWaXNpYmxlKGJvb2wgdmFsdWUpCiB7CiAgICAgbV9zY3JvbGxiYXJz
VmlzaWJsZSA9IHZhbHVlOwotICAgIFdlYkZyYW1lSW1wbCogd2ViX2ZyYW1lID0gc3RhdGljX2Nh
c3Q8V2ViRnJhbWVJbXBsKj4obV93ZWJWaWV3LT5tYWluRnJhbWUoKSk7Ci0gICAgaWYgKHdlYl9m
cmFtZSkKLSAgICAgICAgd2ViX2ZyYW1lLT5zZXRDYW5IYXZlU2Nyb2xsYmFycyh2YWx1ZSk7Cisg
ICAgV2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IHN0YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KG1f
d2ViVmlldy0+bWFpbkZyYW1lKCkpOworICAgIGlmICh3ZWJGcmFtZSkKKyAgICAgICAgd2ViRnJh
bWUtPnNldENhbkhhdmVTY3JvbGxiYXJzKHZhbHVlKTsKIH0KIAogYm9vbCBDaHJvbWVDbGllbnRJ
bXBsOjpzY3JvbGxiYXJzVmlzaWJsZSgpCkBAIC03MzQsNiArNzc0LDEzIEBAIHZvaWQgQ2hyb21l
Q2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWIKICAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQo
KS0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkFjY2Vzc2liaWxpdHlP
YmplY3Qob2JqKSk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9zdEFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE9iamVjdENhY2hlOjpB
WE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7CisgICAgLy8gQWxlcnQgYXNzaXN0aXZlIHRl
Y2hub2xvZ3kgYWJvdXQgdGhlIGFjY2Vzc2liaWxpdHkgb2JqZWN0IG5vdGlmaWNhdGlvbi4KKyAg
ICBpZiAob2JqKQorICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5wb3N0QWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KG9iaiksIHRvV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbihub3RpZmljYXRpb24pKTsKK30KKwogI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogTm90aWZpY2F0aW9uUHJlc2VudGVyKiBDaHJvbWVDbGllbnRJbXBsOjpub3RpZmlj
YXRpb25QcmVzZW50ZXIoKSBjb25zdAogewpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmgJKHJldmlzaW9uIDY3MzY3KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw2ICsxNjgsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHBvcHVwQ2xvc2VkKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyKiBw
b3B1cENvbnRhaW5lcik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlP
YmplY3RTdGF0ZShXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgdmlydHVhbCB2
b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0Kik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpBWE9iamVjdENh
Y2hlOjpBWE5vdGlmaWNhdGlvbik7CiAKICAgICAvLyBDaHJvbWVDbGllbnRJbXBsOgogICAgIHZv
aWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkN1cnNvckluZm8mIGN1cnNvcik7CkluZGV4OiBXZWJLaXRU
b29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA2NzM2OCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE0IEBACisyMDEwLTA5LTEzICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9y
eUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNlbmQgYWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAg
ICAgIChXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisKIDIwMTAtMDktMTIg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFRvbnkgQ2hhbmcuCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCShyZXZpc2lvbiA2NzM2NykKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgInB1YmxpYy9XZWJDb250ZXh0TWVudURhdGEuaCIK
ICNpbmNsdWRlICJwdWJsaWMvV2ViRGF0YVNvdXJjZS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJE
cmFnRGF0YS5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAicHVi
bGljL1dlYkZyYW1lLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkdlb2xvY2F0aW9uU2VydmljZU1v
Y2suaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViSGlzdG9yeUl0ZW0uaCIKQEAgLTQ4OSwxMCArNDkw
LDY4IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmZvY3VzQWNjZXNzaWJpbGl0eU9iamUKICAgICBtX3No
ZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpLT5zZXRGb2N1c2VkRWxlbWVudChvYmplY3Qp
OwogfQogCi12b2lkIFdlYlZpZXdIb3N0OjpkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hp
bGRyZW4oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQordm9pZCBXZWJWaWV3
SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2ViQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikK
IHsKLSAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+c2hvdWxkRHVt
cEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpCi0gICAgICAgIHByaW50ZigiZGlkQ2hhbmdl
QWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0gbmV3IGNvdW50OiAlZFxuIiwgb2JqZWN0LmNo
aWxkQ291bnQoKSk7CisgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gIik7
CisgICAgCisgICAgaWYgKG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCktPnNob3Vs
ZER1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpKSB7CisgICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkFj
dGl2ZURlc2NlbmRhbnRDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJBY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbkNoZWNrZWRTdGF0ZUNoYW5nZWQ6CisgICAgICAgICAgICBwcmlu
dGYoIkNoZWNrZWRTdGF0ZUNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25DaGlsZHJlbkNoYW5nZWQ6CisgICAgICAg
ICAgICBwcmludGYoIkNoaWxkcmVuQ2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkOgorICAgICAgICAgICAgcHJpbnRmKCJGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCIpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bkxheW91dENvbXBsZXRlOgorICAgICAgICAgICAgcHJpbnRmKCJMYXlvdXRDb21wbGV0ZSIpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkxvYWRDb21wbGV0ZToKKyAgICAgICAgICAgIHByaW50ZigiTG9hZENvbXBsZXRlIik7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIlNlbGVjdGVk
Q2hpbGRyZW5DaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uU2VsZWN0ZWRUZXh0Q2hhbmdlZDoKKyAgICAgICAgICAg
IHByaW50ZigiU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblZhbHVlQ2hhbmdlZDoKKyAgICAg
ICAgICAgIHByaW50ZigiVmFsdWVDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uU2Nyb2xsZWRUb0FuY2hvcjoKKyAg
ICAgICAgICAgIHByaW50ZigiU2Nyb2xsZWRUb0FuY2hvciIpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkxpdmVSZWdpb25DaGFu
Z2VkOgorICAgICAgICAgICAgcHJpbnRmKCJMaXZlUmVnaW9uQ2hhbmdlZCIpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbk1lbnVM
aXN0VmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJNZW51TGlzdFZhbHVlQ2hhbmdl
ZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvblJvd0NvdW50Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiUm93Q291bnRD
aGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uUm93Q29sbGFwc2VkOgorICAgICAgICAgICAgcHJpbnRmKCJSb3dDb2xs
YXBzZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb25Sb3dFeHBhbmRlZDoKKyAgICAgICAgICAgIHByaW50ZigiUm93RXhwYW5k
ZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgV2ViS2l0OjpX
ZWJOb2RlIG5vZGUgPSBvYmoubm9kZSgpOworICAgICAgICBpZiAoIW5vZGUuaXNOdWxsKCkgJiYg
bm9kZS5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgICAgIFdlYktpdDo6V2ViRWxlbWVudCBl
bGVtZW50ID0gbm9kZS50bzxXZWJLaXQ6OldlYkVsZW1lbnQ+KCk7CisgICAgICAgICAgICBpZiAo
ZWxlbWVudC5oYXNBdHRyaWJ1dGUoImlkIikpCisgICAgICAgICAgICAgICAgcHJpbnRmKCIgLSBp
ZDolcyIsIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICB9CisKKyAgICAgICAgcHJpbnRmKCJcbiIpOworICAgIH0KIH0KIAogV2ViTm90aWZpY2F0aW9u
UHJlc2VudGVyKiBXZWJWaWV3SG9zdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkKSW5kZXg6IFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAko
cmV2aXNpb24gNjczNjcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRl
ICJNb2NrU3BlbGxDaGVjay5oIgogI2luY2x1ZGUgIlRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5o
IgorI2luY2x1ZGUgInB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgiCiAjaW5j
bHVkZSAicHVibGljL1dlYkN1cnNvckluZm8uaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViRnJhbWVD
bGllbnQuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViVmlld0NsaWVudC5oIgpAQCAtMTI3LDcgKzEy
OCw3IEBAIGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdlYktpdDo6V2ViVmkKICAgICB2aXJ0
dWFsIGludCBoaXN0b3J5QmFja0xpc3RDb3VudCgpOwogICAgIHZpcnR1YWwgaW50IGhpc3RvcnlG
b3J3YXJkTGlzdENvdW50KCk7CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzQWNjZXNzaWJpbGl0eU9i
amVjdChjb25zdCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3QmKTsKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKGNvbnN0IFdlYktpdDo6
V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbihjb25zdCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3QmLCBX
ZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOwogICAgIHZpcnR1YWwgV2ViS2l0
OjpXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpOwogICAg
IHZpcnR1YWwgV2ViS2l0OjpXZWJHZW9sb2NhdGlvblNlcnZpY2UqIGdlb2xvY2F0aW9uU2Vydmlj
ZSgpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIqIHNwZWVj
aElucHV0Q29udHJvbGxlcihXZWJLaXQ6OldlYlNwZWVjaElucHV0TGlzdGVuZXIqKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY3MzY4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTAtMDktMTMgIENocmlzIEd1aWxsb3J5ICAgPGNocmlz
Lmd1aWxsb3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENo
cm9taXVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDUxNTYKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRy
ZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmlj
YXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0
ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1MYXlvdXRDb21wbGV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxv
YWRDb21wbGV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1l
bnVMaXN0VmFsdWVDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENo
YW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVNjcm9sbGVkVG9BbmNob3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1T
ZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qczogQWRkZWQu
CisgICAgICAgIChlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMpOgorICAgICAgICAodGVzdERvbmUp
OgorICAgICAgICAodGVzdCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZHJ0X2V4cGVj
dGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0OgorCiAyMDEwLTA5LTEyICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNjcz
NjcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMTYyLDQgKzE2Miw0IEBAIEJVR19EUlQgV0lOIDogY3NzMi4x
L3QwOTA1LWM1NTI2LWZsdGh3LTAKIAogCiAvLyBQYXNzIHdpdGggRFJUIHRob3VnaCBGQUlMIG9u
IHRlc3Rfc2hlbGwKLUJVR19EUlQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2No
aWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgPSBQQVNTCitCVUdfRFJUIDogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IFBBU1MKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDY3
MzY3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC05NTUsNyArOTU1LDcgQEAgQlVHMTAzMjIgREVGRVIgU0tJ
UCA6IHBsYXRmb3JtL21hYy9hY2NlcwogQlVHMTAzMjIgREVGRVIgU0tJUCA6IHBsYXRmb3JtL3dp
bi9hY2Nlc3NpYmlsaXR5ID0gUEFTUyBGQUlMCiAKIC8vIEZ1bmN0aW9uYWxpdHkgaXMgc3VwcG9y
dGVkIGluIERSVCBidXQgbm90IFRlc3RTaGVsbAotV09OVEZJWCBTS0lQIDogcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sID0g
RkFJTAorV09OVEZJWCBTS0lQIDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IEZB
SUwKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIC8vIE90aGVyIGZhaWx1cmVzCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0
aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNjczNjcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSwzICswLDAgQEAKLWRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmpl
Y3RDaGlsZHJlbiAtIG5ldyBjb3VudDogMQotVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyBub3RpZmljYXRpb25zIHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vz
c2liaWxpdHkgb2JqZWN0IGNoYW5nZS4KLXRleHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwJKHJldmlzaW9uIDY3MzY3KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1j
aGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAK
LTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBv
YmplY3QgY2hhbmdlLgotPGRpdj48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gdGVzdERv
bmUoKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9
Ci0gICAgCi0gICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi0gICAgICAgIGlmICghYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIgfHwgIWFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9ucykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBBY2Nlc3MgYWNj
ZXNzaWJpbGl0eSBvYmplY3QgdGhhdCB3aWxsIGJlIGRlbGV0ZWQuCi0gICAgICAgIGRvY3VtZW50
LmJvZHkuZm9jdXMoKTsKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQuY2hpbGRBdEluZGV4KDApOwotICAgICAgICAKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgIAotICAg
ICAgICAvLyBJbnNlcnQgYSBjaGlsZCBlbGVtZW50IG9uIHRoZSBkaXYuIFRoaXMgZ2VuZXJhdGVz
IGFuIGFjY2Vzc2liaWxpdHkgY2hpbGRyZWQgY2hhbmdlZCBub3RpZmljYXRpb24uCi0gICAgICAg
IGRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0uaW5uZXJIVE1MID0gInRleHQiOwotCi0gICAgICAg
IC8vIFVzZSBzZXRUaW1lb3V0IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9ucyBjYW4gYmUgcHJvY2Vzc2VkLgotICAgICAgICBzZXRUaW1lb3V0KHRlc3REb25l
LCAwKTsKLSAgICB9Ci0KLSAgICB0ZXN0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkIC0gaWQ6dWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitU
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZCBub3RpZmljYXRpb24uCitsaTEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2Vu
ZGFudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFu
Z2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIHZhciByYWRpb2dy
b3VwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hh
bmdlZCIpOworCisgICAgICAgIHJhZGlvZ3JvdXAuZm9jdXMoKTsKKyAgICAgICAgcmFkaW9ncm91
cC5zZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsICJyMSIpOworICAgIH0KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0
IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQg
bm90aWZpY2F0aW9uLgorCis8dWwgaWQ9InVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIg
YXJpYS1oZWxwPSJ1bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiIHRhYmluZGV4PSIwIiBy
b2xlPSJyYWRpb2dyb3VwIj4KKyAgICA8bGkgaWQ9InIxIj5saTE8L2xpPgorPC91bD4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2Vk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gQ2hlY2tlZFN0YXRlQ2hhbmdlZCAtIGlkOmNoZWNrYm94LWZvci1DaGVja2VkU3Rh
dGVDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBDaGVja2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2Vk
U3RhdGVDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2Vk
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAg
ZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIikuY2hlY2tlZCA9IHRydWU7
CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVja2VkU3RhdGVD
aGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPGlucHV0IGlkPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0
YXRlQ2hhbmdlZCIgYXJpYS1oZWxwPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIg
dHlwZT0iY2hlY2tib3giIC8+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNo
aWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZCAtIGlkOmRpdi1mb3ItQ2hpbGRy
ZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgordGV4dApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJl
bkNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVz
dE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1m
b3ItQ2hpbGRyZW5DaGFuZ2VkIikuaW5uZXJIVE1MID0gInRleHQiOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4K
KworPGRpdiBpZD0iZGl2LWZvci1DaGlsZHJlbkNoYW5nZWQiIGFyaWEtaGVscD0iZGl2LWZvci1D
aGlsZHJlbkNoYW5nZWQiPjwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAg
ICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9ydCAtIHNlZSBoYW5kbGVGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZAorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgeworICAgICAgICAvLyBNYWMgc3BlY2lmaWMKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
TGl2ZVJlZ2lvbkNoYW5nZWQgLSBpZDp1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQKK1RoaXMgdGVz
dHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigp
IHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1MaXZlUmVnaW9uQ2hh
bmdlZCIpLnRpdGxlID0gInRpdGxlIjsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIExpdmVSZWdpb25DaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHVsIGlkPSJ1bC1m
b3ItTGl2ZVJlZ2lvbkNoYW5nZWQiIGFyaWEtaGVscD0idWwtZm9yLUxpdmVSZWdpb25DaGFuZ2Vk
IiByb2xlPSJyZWdpb24iIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLXJlbGV2YW50PSJhZGRpdGlv
bnMgcmVtb3ZhbHMiPjwvdWw+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRD
b21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdHMgdGhhdCBj
aHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExvYWRDb21wbGV0ZSBub3RpZmljYXRpb24u
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENv
bXBsZXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBm
dW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBNYWMgc3BlY2lmaWMKKyAg
ICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVz
dHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExvYWRDb21wbGV0ZSBub3Rp
ZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90
aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVu
dUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxp
c3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlz
dFZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAor
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIC0gaWQ6c2Vs
ZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNv
cnJlY3RseSByZWNpZXZlcyB0aGUgTWVudUxpc3RWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLiAg
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlz
dFZhbHVlQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hh
bmdlZCIpLnNlbGVjdGVkSW5kZXggPSAwOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSBy
ZWNpZXZlcyB0aGUgTWVudUxpc3RWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2VsZWN0
IGlkPSJzZWxlY3QtZm9yLU1lbnVMaXN0VmFsdWVDaGFuZ2VkIiBhcmlhLWhlbHA9InNlbGVjdC1m
b3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQiPgorCTxvcHRpb24+PC9vcHRpb24+IAorPC9zZWxlY3Q+
CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9u
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2Vk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0Nv
bGxhcHNlZCAtIGlkOmRpdi1mb3ItUm93Q29sbGFwc2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21p
dW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb2xsYXBzZWQgbm90aWZpY2F0aW9uLgorCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFw
c2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5j
dGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZGl2LWZvci1Sb3dDb2xsYXBzZWQiKS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBm
YWxzZSk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+
CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb2xs
YXBzZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9yLVJvd0NvbGxhcHNlZCIgYXJp
YS1oZWxwPSJkaXYtZm9yLVJvd0NvbGxhcHNlZCIgcm9sZT0idHJlZWl0ZW0iPjwvZGl2PgorCis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBS
b3dDb3VudENoYW5nZWQgLSBpZDpkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZAorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q291bnRDaGFuZ2VkIG5vdGlm
aWNhdGlvbi4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3Vu
dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYtZm9yLVJvd0NvdW50Q2hhbmdl
ZCIpOworCisgICAgICAgIGRpdi5jaGlsZHJlblswXS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5k
ZWQiLCB0cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVz
dCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJv
d0NvdW50Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93Q291bnRD
aGFuZ2VkIiBhcmlhLWhlbHA9ImRpdi1mb3ItUm93Q291bnRDaGFuZ2VkIiByb2xlPSJncmlkIj4K
KyAgICA8ZGl2PjwvZGl2PgorPC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Um93RXhwYW5kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbiAtIFJvd0V4cGFuZGVkIC0gaWQ6ZGl2LWZvci1Sb3dFeHBhbmRlZAorVGhp
cyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93RXhwYW5kZWQg
bm90aWZpY2F0aW9uLgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRl
ZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE2IEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZGl2LWZvci1Sb3dFeHBhbmRlZCIpLnNldEF0dHJpYnV0ZSgiYXJp
YS1leHBhbmRlZCIsIHRydWUpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgUm93RXhwYW5kZWQgbm90aWZpY2F0aW9uLgorCis8ZGl2IGlkPSJkaXYtZm9yLVJvd0V4
cGFuZGVkIiBhcmlhLWhlbHA9ImRpdi1mb3ItUm93RXhwYW5kZWQiIHJvbGU9InRyZWVpdGVtIj48
L2Rpdj4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmlj
YXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxl
ZFRvQW5jaG9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNo
b3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0cyB0aGF0IGNo
cm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRp
b24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVNjcm9sbGVkVG9BbmNob3IuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0Fu
Y2hvci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBO
b3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9ydCAtIHNlZSBoYW5kbGVTY3JvbGxlZFRvQW5jaG9y
CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTY3JvbGxlZFRvQW5j
aG9yIG5vdGlmaWNhdGlvbi4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
cG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gU2VsZWN0ZWRDaGls
ZHJlbkNoYW5nZWQgLSBpZDpzZWxlY3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkCitUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxk
cmVuQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNo
YW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAg
IGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzZWxlY3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIikuc2VsZWN0ZWRJbmRl
eCA9IDA7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+
CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3Rl
ZENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxzZWxlY3QgaWQ9InNlbGVjdC1mb3It
U2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQiIGFyaWEtaGVscD0ic2VsZWN0LWZvci1TZWxlY3RlZENo
aWxkcmVuQ2hhbmdlZCIgc2l6ZT0iNCI+CisgICAgPG9wdGlvbiB2YWx1ZT0iMSI+aXRlbSAxPC9v
cHRpb24+Cis8L3NlbGVjdD4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
cG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVNlbGVjdGVkVGV4dENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1T
ZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBA
QAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0
ZWRUZXh0Q2hhbmdlZCBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5n
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDE0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0
ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICAvLyBNYWMgc3BlY2lmaWMgLSBzZWUgbm90aWZ5
QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZQorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRUZXh0Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFZhbHVlQ2hhbmdl
ZCAtIGlkOnRleHQtZm9yLVZhbHVlQ2hhbmdlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNv
cnJlY3RseSByZWNpZXZlcyB0aGUgVmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi1WYWx1ZUNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24g
dGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRl
eHQtZm9yLVZhbHVlQ2hhbmdlZCIpLnZhbHVlID0gImJ1dHRvbiIKKyAgICB9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1
bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxp
bnB1dCBpZD0idGV4dC1mb3ItVmFsdWVDaGFuZ2VkIiBhcmlhLWhlbHA9InRleHQtZm9yLVZhbHVl
Q2hhbmdlZCIgdHlwZT0idGV4dCIgdmFsdWU9InZhbHVlIiAvPgorCis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24uanMJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI1IEBACitmdW5jdGlv
biBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNzaWJpbGl0eU9iamVjdCkgeworICB2YXIg
Y291bnQgPSBhY2Nlc3NpYmlsaXR5T2JqZWN0LmNoaWxkcmVuQ291bnQ7CisgIGZvciAodmFyIGkg
PSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICBlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMoYWNjZXNz
aWJpbGl0eU9iamVjdC5jaGlsZEF0SW5kZXgoaSkpOworfQorCitmdW5jdGlvbiB0ZXN0RG9uZSgp
IHsKKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiB0
ZXN0KCkgeworICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgCisgIC8vIEJ1aWxkIGFjY2Vzc2liaWxp
dHkgdHJlZS4KKyAgZG9jdW1lbnQuYm9keS5mb2N1cygpOworICBlbnVtQWNjZXNzaWJpbGl0eU9i
amVjdHMoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQpOworCisgIC8vIFRl
c3QgdGhlIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uLgorICBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5kdW1wQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMoKTsKKyAgdGVzdE5vdGlmaWNhdGlv
bigpOworCisgIC8vIFVzZSBzZXRUaW1lb3V0IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2li
aWxpdHkgbm90aWZpY2F0aW9ucyBjYW4gYmUgcHJvY2Vzc2VkLgorICBzZXRUaW1lb3V0KHRlc3RE
b25lLCAwKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67378</attachid>
            <date>2010-09-13 01:46:58 -0700</date>
            <delta_ts>2010-09-13 13:21:10 -0700</delta_ts>
            <desc>Some of the layout test results had an extra newline</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>49366</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzM2OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMTMgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYK
KyAgICAgICAgCisgICAgICAgIFVzZSBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB0byBw
YXNzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucworICAgICAgICB0byBjaHJvbWl1bS4KKwor
ICAgICAgICBUZXN0czogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0
ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAorICAgICAgICAgICAg
ICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAor
ICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5o
dG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLmh0
bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRy
ZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCisgICAgICAg
ICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVZhbHVlQ2hhbmdlZC5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FY
T2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
Ojpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24pOgorICAgICAgICAqIHBhZ2UvY2hyb21pdW0vQ2hy
b21lQ2xpZW50Q2hyb21pdW0uaDoKKwogMjAxMC0wOS0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVD
aHJvbWl1bS5jcHAJKHJldmlzaW9uIDY3MzY3KQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2No
cm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDMw
ICs2MCwzNCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhCiAgICAg
ICAgIHJldHVybjsKIAogICAgIENocm9tZUNsaWVudENocm9taXVtKiBjbGllbnQgPSB0b0Nocm9t
ZUNsaWVudENocm9taXVtKG9iai0+ZG9jdW1lbnRGcmFtZVZpZXcoKSk7Ci0gICAgaWYgKGNsaWVu
dCkgewotICAgICAgICBzd2l0Y2ggKG5vdGlmaWNhdGlvbikgewotICAgICAgICBjYXNlIEFYQ2hl
Y2tlZFN0YXRlQ2hhbmdlZDoKLSAgICAgICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdFN0YXRlKG9iaik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBB
WENoaWxkcmVuQ2hhbmdlZDoKLSAgICAgICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdENoaWxkcmVuKG9iaik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkOgotICAgICAgICBjYXNlIEFYRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMYXlvdXRDb21wbGV0ZToKLSAgICAgICAgY2Fz
ZSBBWExpdmVSZWdpb25DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYTG9hZENvbXBsZXRlOgotICAg
ICAgICBjYXNlIEFYTWVudUxpc3RWYWx1ZUNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhSb3dDb2xs
YXBzZWQ6Ci0gICAgICAgIGNhc2UgQVhSb3dDb3VudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhS
b3dFeHBhbmRlZDoKLSAgICAgICAgY2FzZSBBWFNjcm9sbGVkVG9BbmNob3I6Ci0gICAgICAgIGNh
c2UgQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFNlbGVjdGVkVGV4
dENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQorICAgIGlmICghY2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAgICAv
LyBUT0RPOiBSZW1vdmUgYWZ0ZXIgdGhlIG5ldyBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
biBpcyB1c2VkIGRvd25zdHJlYW0uCisgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKKyAgICBj
YXNlIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZDoKKyAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nl
c3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWENo
aWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Q2hpbGRyZW4ob2JqKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWEFjdGl2ZURlc2Nl
bmRhbnRDaGFuZ2VkOgorICAgIGNhc2UgQVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAgICBj
YXNlIEFYTGF5b3V0Q29tcGxldGU6CisgICAgY2FzZSBBWExpdmVSZWdpb25DaGFuZ2VkOgorICAg
IGNhc2UgQVhMb2FkQ29tcGxldGU6CisgICAgY2FzZSBBWE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgor
ICAgIGNhc2UgQVhSb3dDb2xsYXBzZWQ6CisgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKKyAg
ICBjYXNlIEFYUm93RXhwYW5kZWQ6CisgICAgY2FzZSBBWFNjcm9sbGVkVG9BbmNob3I6CisgICAg
Y2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgIGNhc2UgQVhTZWxlY3RlZFRleHRD
aGFuZ2VkOgorICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6CisgICAgICAgIGJyZWFrOwogICAgIH0K
KworICAgIGNsaWVudC0+cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24ob2JqLCBub3RpZmlj
YXRpb24pOyAgICAgICAgCiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJ
RWxlbWVudENoYW5nZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVyT2JqZWN0KikKSW5kZXg6IFdlYkNv
cmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCShyZXZpc2lvbiA2NzM2
NykKKysrIFdlYkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIENocm9tZUNsaWVudENocm9taXVt
X2gKICNkZWZpbmUgQ2hyb21lQ2xpZW50Q2hyb21pdW1faAogCisjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAKQEAgLTU4LDYgKzU5LDkgQEAgcHVibGljOgogICAgIAogICAgIC8vIE5vdGlmaWVkIGVt
YmVkZGVyIHRoYXQgdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGhhcyBj
aGFuZ2VkLgogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hp
bGRyZW4oQWNjZXNzaWJpbGl0eU9iamVjdCopID0gMDsKKyAgICAKKyAgICAvLyBOb3RpZmllcyBl
bWJlZGRlciBhYm91dCBhbiBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgICB2aXJ0dWFs
IHZvaWQgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCos
IEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3MzY4KQorKysgV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEwLTA5
LTEzICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFjY2Vz
c2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisgICAgICAgIAorICAgICAgICBVc2Ug
cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gdG8gcGFzcyBhY2Nlc3NpYmlsaXR5IG5vdGlm
aWNhdGlvbnMKKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgor
ICAgICAgICAqIHB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmg6IEFkZGVkLgor
ICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdDbGllbnQ6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5oOiBBZGRlZC4KKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OnRvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OmRpZENoYW5nZUFjY2Vzc2li
aWxpdHlPYmplY3RDaGlsZHJlbik6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6
OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xp
ZW50SW1wbC5oOgorCiAyMDEwLTA5LTEyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpJbmRleDogV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJ
KHJldmlzaW9uIDY3MzY3KQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcg
Y29weSkKQEAgLTk4LDYgKzk4LDcgQEAKICAgICAgICAgICAgICAgICAncHVibGljL21hYy9XZWJT
YW5kYm94U3VwcG9ydC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL21hYy9XZWJTY3JlZW5J
bmZvRmFjdG9yeS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlD
YWNoZS5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb24uaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaCcsCiAg
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBbmltYXRpb25Db250cm9sbGVyLmgnLApJbmRleDog
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uLmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24uaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbl9oCisjZGVmaW5lIFdlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb25faAorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBXZWJBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uIHsKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkNo
ZWNrZWRTdGF0ZUNoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkNoaWxk
cmVuQ2hhbmdlZCwKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkxheW91dENvbXBs
ZXRlLAorICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Mb2FkQ29tcGxldGUsCisgICAg
V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAg
IFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25TZWxlY3RlZFRleHRDaGFuZ2VkLAorICAgIFdl
YkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25WYWx1ZUNoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvblNjcm9sbGVkVG9BbmNob3IsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbkxpdmVSZWdpb25DaGFuZ2VkLAorICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb25NZW51TGlzdFZhbHVlQ2hhbmdlZCwKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uUm93Q291bnRDaGFuZ2VkLAorICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Sb3dD
b2xsYXBzZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblJvd0V4cGFuZGVkLAor
ICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25JbnZhbGlkCit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25faApJ
bmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHJldmlzaW9uIDY3MzY3
KQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgV2ViVmlld0NsaWVudF9oCiAjZGVmaW5lIFdl
YlZpZXdDbGllbnRfaAogCisjaW5jbHVkZSAiV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5o
IgogI2luY2x1ZGUgIldlYkRyYWdPcGVyYXRpb24uaCIKICNpbmNsdWRlICJXZWJFZGl0aW5nQWN0
aW9uLmgiCiAjaW5jbHVkZSAiV2ViRmlsZUNob29zZXJDb21wbGV0aW9uLmgiCkBAIC0yODAsNiAr
MjgxLDkgQEAgcHVibGljOgogICAgIAogICAgIC8vIE5vdGlmaWVzIGVtYmVkZGVyIHRoYXQgdGhl
IGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGhhcyBjaGFuZ2VkLgogICAgIHZp
cnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdCYpIHsgfQorICAgIAorICAgIC8vIE5vdGlmaWVzIGVtYmVkZGVy
IGFib3V0IGFuIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBw
b3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
JiwgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbikgeyB9CiAKIAogICAgIC8vIERldmVsb3Bl
ciB0b29scyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCShyZXZp
c2lvbiA2NzM2NykKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU2LDExICs1NiwxMCBAQAogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
blByZXNlbnRlckltcGwuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51
Q2hyb21pdW0uaCIKLSNpbmNsdWRlICJTZWFyY2hQb3B1cE1lbnVDaHJvbWl1bS5oIgogI2luY2x1
ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJTZWFyY2hQb3B1cE1lbnVDaHJvbWl1
bS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2hhcmVkR3JhcGhp
Y3NDb250ZXh0M0QuaCIKLSNpbmNsdWRlICJXZWJHZW9sb2NhdGlvblNlcnZpY2UuaCIKICNpZiBV
U0UoVjgpCiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2VuZGlmCkBAIC03MCw2ICs2OSw3IEBACiAj
aW5jbHVkZSAiV2ViRmlsZUNob29zZXJDb21wbGV0aW9uSW1wbC5oIgogI2luY2x1ZGUgIldlYkZy
YW1lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCisjaW5jbHVkZSAiV2ViR2Vv
bG9jYXRpb25TZXJ2aWNlLmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudC5oIgogI2luY2x1ZGUg
IldlYktpdC5oIgogI2luY2x1ZGUgIldlYk5vZGUuaCIKQEAgLTEwMyw2ICsxMDMsNDYgQEAgc3Rh
dGljIFdlYlBvcHVwVHlwZSBjb252ZXJ0UG9wdXBUeXBlKFBvcAogICAgIH0KIH0KIAorLy8gQ29u
dmVydHMgYSBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiB0byBhIFdlYktp
dDo6V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbgorc3RhdGljIFdlYkFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24gdG9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFYT2JqZWN0Q2FjaGU6
OkFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikKK3sKKyAgICBzd2l0Y2ggKG5vdGlmaWNhdGlv
bikgeworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoK
KyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25BY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZDsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYQ2hlY2tlZFN0YXRlQ2hhbmdl
ZDoKKyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25DaGVja2VkU3Rh
dGVDaGFuZ2VkOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhDaGlsZHJlbkNoYW5nZWQ6Cisg
ICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uQ2hpbGRyZW5DaGFuZ2Vk
OworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAg
ICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Gb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZDsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGU6CisgICAg
ICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uTGF5b3V0Q29tcGxldGU7Cisg
ICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWExvYWRDb21wbGV0ZToKKyAgICAgICAgcmV0dXJuIFdl
YkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Mb2FkQ29tcGxldGU7CisgICAgY2FzZSBBWE9iamVj
dENhY2hlOjpBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICByZXR1cm4gV2ViQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvblNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOworICAgIGNhc2Ug
QVhPYmplY3RDYWNoZTo6QVhTZWxlY3RlZFRleHRDaGFuZ2VkOgorICAgICAgICByZXR1cm4gV2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblNlbGVjdGVkVGV4dENoYW5nZWQ7CisgICAgY2FzZSBB
WE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb25WYWx1ZUNoYW5nZWQ7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpB
WFNjcm9sbGVkVG9BbmNob3I6CisgICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uU2Nyb2xsZWRUb0FuY2hvcjsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJl
Z2lvbkNoYW5nZWQ6CisgICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
TGl2ZVJlZ2lvbkNoYW5nZWQ7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE1lbnVMaXN0VmFs
dWVDaGFuZ2VkOgorICAgICAgICByZXR1cm4gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbk1l
bnVMaXN0VmFsdWVDaGFuZ2VkOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhSb3dDb3VudENo
YW5nZWQ6CisgICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uUm93Q291
bnRDaGFuZ2VkOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhSb3dDb2xsYXBzZWQ6CisgICAg
ICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uUm93Q29sbGFwc2VkOworICAg
IGNhc2UgQVhPYmplY3RDYWNoZTo6QVhSb3dFeHBhbmRlZDoKKyAgICAgICAgcmV0dXJuIFdlYkFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25Sb3dFeHBhbmRlZDsKKyAgICBkZWZhdWx0OgorICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb25JbnZhbGlkOworICAgIH0KK30KKwogQ2hyb21lQ2xpZW50SW1wbDo6Q2hyb21l
Q2xpZW50SW1wbChXZWJWaWV3SW1wbCogd2ViVmlldykKICAgICA6IG1fd2ViVmlldyh3ZWJWaWV3
KQogICAgICwgbV90b29sYmFyc1Zpc2libGUodHJ1ZSkKQEAgLTM0Myw5ICszODMsOSBAQCBib29s
IENocm9tZUNsaWVudEltcGw6OnN0YXR1c2JhclZpc2libGUoCiB2b2lkIENocm9tZUNsaWVudElt
cGw6OnNldFNjcm9sbGJhcnNWaXNpYmxlKGJvb2wgdmFsdWUpCiB7CiAgICAgbV9zY3JvbGxiYXJz
VmlzaWJsZSA9IHZhbHVlOwotICAgIFdlYkZyYW1lSW1wbCogd2ViX2ZyYW1lID0gc3RhdGljX2Nh
c3Q8V2ViRnJhbWVJbXBsKj4obV93ZWJWaWV3LT5tYWluRnJhbWUoKSk7Ci0gICAgaWYgKHdlYl9m
cmFtZSkKLSAgICAgICAgd2ViX2ZyYW1lLT5zZXRDYW5IYXZlU2Nyb2xsYmFycyh2YWx1ZSk7Cisg
ICAgV2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IHN0YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KG1f
d2ViVmlldy0+bWFpbkZyYW1lKCkpOworICAgIGlmICh3ZWJGcmFtZSkKKyAgICAgICAgd2ViRnJh
bWUtPnNldENhbkhhdmVTY3JvbGxiYXJzKHZhbHVlKTsKIH0KIAogYm9vbCBDaHJvbWVDbGllbnRJ
bXBsOjpzY3JvbGxiYXJzVmlzaWJsZSgpCkBAIC03MzQsNiArNzc0LDEzIEBAIHZvaWQgQ2hyb21l
Q2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWIKICAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQo
KS0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkFjY2Vzc2liaWxpdHlP
YmplY3Qob2JqKSk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9zdEFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE9iamVjdENhY2hlOjpB
WE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7CisgICAgLy8gQWxlcnQgYXNzaXN0aXZlIHRl
Y2hub2xvZ3kgYWJvdXQgdGhlIGFjY2Vzc2liaWxpdHkgb2JqZWN0IG5vdGlmaWNhdGlvbi4KKyAg
ICBpZiAob2JqKQorICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5wb3N0QWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KG9iaiksIHRvV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbihub3RpZmljYXRpb24pKTsKK30KKwogI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogTm90aWZpY2F0aW9uUHJlc2VudGVyKiBDaHJvbWVDbGllbnRJbXBsOjpub3RpZmlj
YXRpb25QcmVzZW50ZXIoKSBjb25zdAogewpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmgJKHJldmlzaW9uIDY3MzY3KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw2ICsxNjgsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHBvcHVwQ2xvc2VkKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyKiBw
b3B1cENvbnRhaW5lcik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlP
YmplY3RTdGF0ZShXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgdmlydHVhbCB2
b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0Kik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpBWE9iamVjdENh
Y2hlOjpBWE5vdGlmaWNhdGlvbik7CiAKICAgICAvLyBDaHJvbWVDbGllbnRJbXBsOgogICAgIHZv
aWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkN1cnNvckluZm8mIGN1cnNvcik7CkluZGV4OiBXZWJLaXRU
b29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA2NzM2OCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE0IEBACisyMDEwLTA5LTEzICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9y
eUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNlbmQgYWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAg
ICAgIChXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisKIDIwMTAtMDktMTIg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFRvbnkgQ2hhbmcuCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCShyZXZpc2lvbiA2NzM2NykKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgInB1YmxpYy9XZWJDb250ZXh0TWVudURhdGEuaCIK
ICNpbmNsdWRlICJwdWJsaWMvV2ViRGF0YVNvdXJjZS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJE
cmFnRGF0YS5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAicHVi
bGljL1dlYkZyYW1lLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkdlb2xvY2F0aW9uU2VydmljZU1v
Y2suaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViSGlzdG9yeUl0ZW0uaCIKQEAgLTQ4OSwxMCArNDkw
LDY4IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmZvY3VzQWNjZXNzaWJpbGl0eU9iamUKICAgICBtX3No
ZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpLT5zZXRGb2N1c2VkRWxlbWVudChvYmplY3Qp
OwogfQogCi12b2lkIFdlYlZpZXdIb3N0OjpkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hp
bGRyZW4oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQordm9pZCBXZWJWaWV3
SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2ViQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikK
IHsKLSAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+c2hvdWxkRHVt
cEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpCi0gICAgICAgIHByaW50ZigiZGlkQ2hhbmdl
QWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0gbmV3IGNvdW50OiAlZFxuIiwgb2JqZWN0LmNo
aWxkQ291bnQoKSk7CisgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gIik7
CisgICAgCisgICAgaWYgKG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCktPnNob3Vs
ZER1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpKSB7CisgICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkFj
dGl2ZURlc2NlbmRhbnRDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJBY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbkNoZWNrZWRTdGF0ZUNoYW5nZWQ6CisgICAgICAgICAgICBwcmlu
dGYoIkNoZWNrZWRTdGF0ZUNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25DaGlsZHJlbkNoYW5nZWQ6CisgICAgICAg
ICAgICBwcmludGYoIkNoaWxkcmVuQ2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkOgorICAgICAgICAgICAgcHJpbnRmKCJGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCIpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bkxheW91dENvbXBsZXRlOgorICAgICAgICAgICAgcHJpbnRmKCJMYXlvdXRDb21wbGV0ZSIpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkxvYWRDb21wbGV0ZToKKyAgICAgICAgICAgIHByaW50ZigiTG9hZENvbXBsZXRlIik7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIlNlbGVjdGVk
Q2hpbGRyZW5DaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uU2VsZWN0ZWRUZXh0Q2hhbmdlZDoKKyAgICAgICAgICAg
IHByaW50ZigiU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblZhbHVlQ2hhbmdlZDoKKyAgICAg
ICAgICAgIHByaW50ZigiVmFsdWVDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uU2Nyb2xsZWRUb0FuY2hvcjoKKyAg
ICAgICAgICAgIHByaW50ZigiU2Nyb2xsZWRUb0FuY2hvciIpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkxpdmVSZWdpb25DaGFu
Z2VkOgorICAgICAgICAgICAgcHJpbnRmKCJMaXZlUmVnaW9uQ2hhbmdlZCIpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbk1lbnVM
aXN0VmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJNZW51TGlzdFZhbHVlQ2hhbmdl
ZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvblJvd0NvdW50Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiUm93Q291bnRD
aGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uUm93Q29sbGFwc2VkOgorICAgICAgICAgICAgcHJpbnRmKCJSb3dDb2xs
YXBzZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb25Sb3dFeHBhbmRlZDoKKyAgICAgICAgICAgIHByaW50ZigiUm93RXhwYW5k
ZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgV2ViS2l0OjpX
ZWJOb2RlIG5vZGUgPSBvYmoubm9kZSgpOworICAgICAgICBpZiAoIW5vZGUuaXNOdWxsKCkgJiYg
bm9kZS5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgICAgIFdlYktpdDo6V2ViRWxlbWVudCBl
bGVtZW50ID0gbm9kZS50bzxXZWJLaXQ6OldlYkVsZW1lbnQ+KCk7CisgICAgICAgICAgICBpZiAo
ZWxlbWVudC5oYXNBdHRyaWJ1dGUoImlkIikpCisgICAgICAgICAgICAgICAgcHJpbnRmKCIgLSBp
ZDolcyIsIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICB9CisKKyAgICAgICAgcHJpbnRmKCJcbiIpOworICAgIH0KIH0KIAogV2ViTm90aWZpY2F0aW9u
UHJlc2VudGVyKiBXZWJWaWV3SG9zdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkKSW5kZXg6IFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAko
cmV2aXNpb24gNjczNjcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRl
ICJNb2NrU3BlbGxDaGVjay5oIgogI2luY2x1ZGUgIlRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5o
IgorI2luY2x1ZGUgInB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgiCiAjaW5j
bHVkZSAicHVibGljL1dlYkN1cnNvckluZm8uaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViRnJhbWVD
bGllbnQuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViVmlld0NsaWVudC5oIgpAQCAtMTI3LDcgKzEy
OCw3IEBAIGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdlYktpdDo6V2ViVmkKICAgICB2aXJ0
dWFsIGludCBoaXN0b3J5QmFja0xpc3RDb3VudCgpOwogICAgIHZpcnR1YWwgaW50IGhpc3RvcnlG
b3J3YXJkTGlzdENvdW50KCk7CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzQWNjZXNzaWJpbGl0eU9i
amVjdChjb25zdCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3QmKTsKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKGNvbnN0IFdlYktpdDo6
V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbihjb25zdCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3QmLCBX
ZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOwogICAgIHZpcnR1YWwgV2ViS2l0
OjpXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpOwogICAg
IHZpcnR1YWwgV2ViS2l0OjpXZWJHZW9sb2NhdGlvblNlcnZpY2UqIGdlb2xvY2F0aW9uU2Vydmlj
ZSgpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIqIHNwZWVj
aElucHV0Q29udHJvbGxlcihXZWJLaXQ6OldlYlNwZWVjaElucHV0TGlzdGVuZXIqKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY3MzY4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTAtMDktMTMgIENocmlzIEd1aWxsb3J5ICAgPGNocmlz
Lmd1aWxsb3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENo
cm9taXVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDUxNTYKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRy
ZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmlj
YXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0
ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1MYXlvdXRDb21wbGV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxv
YWRDb21wbGV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1l
bnVMaXN0VmFsdWVDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENo
YW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVNjcm9sbGVkVG9BbmNob3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1T
ZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qczogQWRkZWQu
CisgICAgICAgIChlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMpOgorICAgICAgICAodGVzdERvbmUp
OgorICAgICAgICAodGVzdCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZHJ0X2V4cGVj
dGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0OgorCiAyMDEwLTA5LTEyICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNjcz
NjcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMTYyLDQgKzE2Miw0IEBAIEJVR19EUlQgV0lOIDogY3NzMi4x
L3QwOTA1LWM1NTI2LWZsdGh3LTAKIAogCiAvLyBQYXNzIHdpdGggRFJUIHRob3VnaCBGQUlMIG9u
IHRlc3Rfc2hlbGwKLUJVR19EUlQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2No
aWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgPSBQQVNTCitCVUdfRFJUIDogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IFBBU1MKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDY3
MzY3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC05NTUsNyArOTU1LDcgQEAgQlVHMTAzMjIgREVGRVIgU0tJ
UCA6IHBsYXRmb3JtL21hYy9hY2NlcwogQlVHMTAzMjIgREVGRVIgU0tJUCA6IHBsYXRmb3JtL3dp
bi9hY2Nlc3NpYmlsaXR5ID0gUEFTUyBGQUlMCiAKIC8vIEZ1bmN0aW9uYWxpdHkgaXMgc3VwcG9y
dGVkIGluIERSVCBidXQgbm90IFRlc3RTaGVsbAotV09OVEZJWCBTS0lQIDogcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sID0g
RkFJTAorV09OVEZJWCBTS0lQIDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IEZB
SUwKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIC8vIE90aGVyIGZhaWx1cmVzCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0
aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNjczNjcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSwzICswLDAgQEAKLWRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmpl
Y3RDaGlsZHJlbiAtIG5ldyBjb3VudDogMQotVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyBub3RpZmljYXRpb25zIHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vz
c2liaWxpdHkgb2JqZWN0IGNoYW5nZS4KLXRleHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwJKHJldmlzaW9uIDY3MzY3KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1j
aGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAK
LTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBv
YmplY3QgY2hhbmdlLgotPGRpdj48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gdGVzdERv
bmUoKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9
Ci0gICAgCi0gICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi0gICAgICAgIGlmICghYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIgfHwgIWFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9ucykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBBY2Nlc3MgYWNj
ZXNzaWJpbGl0eSBvYmplY3QgdGhhdCB3aWxsIGJlIGRlbGV0ZWQuCi0gICAgICAgIGRvY3VtZW50
LmJvZHkuZm9jdXMoKTsKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQuY2hpbGRBdEluZGV4KDApOwotICAgICAgICAKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgIAotICAg
ICAgICAvLyBJbnNlcnQgYSBjaGlsZCBlbGVtZW50IG9uIHRoZSBkaXYuIFRoaXMgZ2VuZXJhdGVz
IGFuIGFjY2Vzc2liaWxpdHkgY2hpbGRyZWQgY2hhbmdlZCBub3RpZmljYXRpb24uCi0gICAgICAg
IGRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0uaW5uZXJIVE1MID0gInRleHQiOwotCi0gICAgICAg
IC8vIFVzZSBzZXRUaW1lb3V0IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9ucyBjYW4gYmUgcHJvY2Vzc2VkLgotICAgICAgICBzZXRUaW1lb3V0KHRlc3REb25l
LCAwKTsKLSAgICB9Ci0KLSAgICB0ZXN0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkIC0gaWQ6dWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitU
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZCBub3RpZmljYXRpb24uCitsaTEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2Vu
ZGFudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFu
Z2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIHZhciByYWRpb2dy
b3VwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hh
bmdlZCIpOworCisgICAgICAgIHJhZGlvZ3JvdXAuZm9jdXMoKTsKKyAgICAgICAgcmFkaW9ncm91
cC5zZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsICJyMSIpOworICAgIH0KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0
IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQg
bm90aWZpY2F0aW9uLgorCis8dWwgaWQ9InVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIg
YXJpYS1oZWxwPSJ1bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiIHRhYmluZGV4PSIwIiBy
b2xlPSJyYWRpb2dyb3VwIj4KKyAgICA8bGkgaWQ9InIxIj5saTE8L2xpPgorPC91bD4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2Vk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gQ2hlY2tlZFN0YXRlQ2hhbmdlZCAtIGlkOmNoZWNrYm94LWZvci1DaGVja2VkU3Rh
dGVDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBDaGVja2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2Vk
U3RhdGVDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2Vk
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAg
ZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIikuY2hlY2tlZCA9IHRydWU7
CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVja2VkU3RhdGVD
aGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPGlucHV0IGlkPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0
YXRlQ2hhbmdlZCIgYXJpYS1oZWxwPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIg
dHlwZT0iY2hlY2tib3giIC8+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNo
aWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZCAtIGlkOmRpdi1mb3ItQ2hpbGRy
ZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgordGV4dApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJl
bkNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVz
dE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1m
b3ItQ2hpbGRyZW5DaGFuZ2VkIikuaW5uZXJIVE1MID0gInRleHQiOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4K
KworPGRpdiBpZD0iZGl2LWZvci1DaGlsZHJlbkNoYW5nZWQiIGFyaWEtaGVscD0iZGl2LWZvci1D
aGlsZHJlbkNoYW5nZWQiPjwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAg
ICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9ydCAtIHNlZSBoYW5kbGVGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZAorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgeworICAgICAgICAvLyBNYWMgc3BlY2lmaWMKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
TGl2ZVJlZ2lvbkNoYW5nZWQgLSBpZDp1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQKK1RoaXMgdGVz
dHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7
CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5n
ZWQiKS50aXRsZSA9ICJ0aXRsZSI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIHRoZSBMaXZlUmVnaW9uQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzx1bCBpZD0idWwtZm9y
LUxpdmVSZWdpb25DaGFuZ2VkIiBhcmlhLWhlbHA9InVsLWZvci1MaXZlUmVnaW9uQ2hhbmdlZCIg
cm9sZT0icmVnaW9uIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1yZWxldmFudD0iYWRkaXRpb25z
IHJlbW92YWxzIj48L3VsPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJw
b3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29t
cGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hy
b21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29tcGxldGUgbm90aWZpY2F0aW9uLgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21w
bGV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVu
Y3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNpZmljCisgICAg
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29tcGxldGUgbm90aWZp
Y2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlm
aWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVM
aXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0
VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RW
YWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBNZW51TGlzdFZhbHVlQ2hhbmdlZCAtIGlkOnNlbGVj
dC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RW
YWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5n
ZWQiKS5zZWxlY3RlZEluZGV4ID0gMDsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHNlbGVjdCBp
ZD0ic2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZCIgYXJpYS1oZWxwPSJzZWxlY3QtZm9y
LU1lbnVMaXN0VmFsdWVDaGFuZ2VkIj4KKwk8b3B0aW9uPjwvb3B0aW9uPiAKKzwvc2VsZWN0Pgor
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dDb2xs
YXBzZWQgLSBpZDpkaXYtZm9yLVJvd0NvbGxhcHNlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5vdGlmaWNhdGlvbi4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tUm93Q29sbGFwc2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9u
IHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk
aXYtZm9yLVJvd0NvbGxhcHNlZCIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIGZhbHNl
KTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvbGxhcHNl
ZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93Q29sbGFwc2VkIiBhcmlhLWhl
bHA9ImRpdi1mb3ItUm93Q29sbGFwc2VkIiByb2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0Nv
dW50Q2hhbmdlZCAtIGlkOmRpdi1mb3ItUm93Q291bnRDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQg
Y2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb3VudENoYW5nZWQgbm90aWZpY2F0
aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVJvd0NvdW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5n
ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgdmFyIGRp
diA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIpOwor
CisgICAgICAgIGRpdi5jaGlsZHJlblswXS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCB0
cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
K1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50
Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93Q291bnRDaGFuZ2Vk
IiBhcmlhLWhlbHA9ImRpdi1mb3ItUm93Q291bnRDaGFuZ2VkIiByb2xlPSJncmlkIj4KKyAgICA8
ZGl2PjwvZGl2PgorPC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhw
YW5kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbiAtIFJvd0V4cGFuZGVkIC0gaWQ6ZGl2LWZvci1Sb3dFeHBhbmRlZAorVGhpcyB0ZXN0
cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93RXhwYW5kZWQgbm90aWZp
Y2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Um93RXhwYW5kZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cisg
ICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRpdi1mb3ItUm93RXhwYW5kZWQiKS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5k
ZWQiLCB0cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVz
dCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJv
d0V4cGFuZGVkIG5vdGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dFeHBhbmRlZCIg
YXJpYS1oZWxwPSJkaXYtZm9yLVJvd0V4cGFuZGVkIiByb2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisK
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hv
ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBj
b3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNjcm9sbGVkVG9BbmNob3Igbm90aWZpY2F0aW9uLgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxl
ZFRvQW5jaG9yLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTm90IHNlbnQg
dG8gdGhlIGNocm9taXVtIHBvcnQgLSBzZWUgaGFuZGxlU2Nyb2xsZWRUb0FuY2hvcgorICAgIH0K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2Nyb2xsZWRUb0FuY2hvciBub3Rp
ZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90
aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1T
ZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFNlbGVjdGVkQ2hpbGRyZW5DaGFu
Z2VkIC0gaWQ6c2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZAorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRDaGlsZHJlbkNoYW5n
ZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlv
biB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCIpLnNlbGVjdGVkSW5kZXggPSAwOwor
ICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0
ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRDaGlsZHJl
bkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2VsZWN0IGlkPSJzZWxlY3QtZm9yLVNlbGVjdGVk
Q2hpbGRyZW5DaGFuZ2VkIiBhcmlhLWhlbHA9InNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNo
YW5nZWQiIHNpemU9IjQiPgorICAgIDxvcHRpb24gdmFsdWU9IjEiPml0ZW0gMTwvb3B0aW9uPgor
PC9zZWxlY3Q+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90
aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3Rl
ZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRU
ZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENo
YW5nZWQgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlm
aWNhdGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNpZmljIC0gc2VlIG5vdGlmeUFjY2Vzc2li
aWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBWYWx1ZUNoYW5nZWQgLSBpZDp0
ZXh0LWZvci1WYWx1ZUNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkg
cmVjaWV2ZXMgdGhlIFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFs
dWVDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3Rp
ZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0LWZvci1W
YWx1ZUNoYW5nZWQiKS52YWx1ZSA9ICJidXR0b24iCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8aW5wdXQgaWQ9
InRleHQtZm9yLVZhbHVlQ2hhbmdlZCIgYXJpYS1oZWxwPSJ0ZXh0LWZvci1WYWx1ZUNoYW5nZWQi
IHR5cGU9InRleHQiIHZhbHVlPSJ2YWx1ZSIgLz4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNSBAQAorZnVuY3Rpb24gZW51bUFj
Y2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlPYmplY3QpIHsKKyAgdmFyIGNvdW50ID0g
YWNjZXNzaWJpbGl0eU9iamVjdC5jaGlsZHJlbkNvdW50OworICBmb3IgKHZhciBpID0gMDsgaSA8
IGNvdW50OyArK2kpCisgICAgZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlP
YmplY3QuY2hpbGRBdEluZGV4KGkpKTsKK30KKworZnVuY3Rpb24gdGVzdERvbmUoKSB7CisgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsK
KyAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgIAorICAvLyBCdWlsZCBhY2Nlc3NpYmlsaXR5IHRyZWUu
CisgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKKyAgZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50KTsKKworICAvLyBUZXN0IHRoZSBh
Y2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVt
cEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCk7CisgIHRlc3ROb3RpZmljYXRpb24oKTsKKwor
ICAvLyBVc2Ugc2V0VGltZW91dCBzbyB0aGF0IGFzeW5jaHJvbm91cyBhY2Nlc3NpYmlsaXR5IG5v
dGlmaWNhdGlvbnMgY2FuIGJlIHByb2Nlc3NlZC4KKyAgc2V0VGltZW91dCh0ZXN0RG9uZSwgMCk7
Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67464</attachid>
            <date>2010-09-13 13:21:10 -0700</date>
            <delta_ts>2010-09-14 18:54:27 -0700</delta_ts>
            <desc>Recreating patch to fix patch errors.</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>49366</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzM2OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMTMgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVt
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYK
KyAgICAgICAgCisgICAgICAgIFVzZSBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiB0byBw
YXNzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucworICAgICAgICB0byBjaHJvbWl1bS4KKwor
ICAgICAgICBUZXN0czogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0
ZUNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAorICAgICAgICAgICAg
ICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAor
ICAgICAgICAgICAgICAgcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC5o
dG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLmh0
bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRy
ZW5DaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCisgICAgICAg
ICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVZhbHVlQ2hhbmdlZC5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FY
T2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hl
Ojpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24pOgorICAgICAgICAqIHBhZ2UvY2hyb21pdW0vQ2hy
b21lQ2xpZW50Q2hyb21pdW0uaDoKKwogMjAxMC0wOS0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVD
aHJvbWl1bS5jcHAJKHJldmlzaW9uIDY3MzY3KQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2No
cm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDMw
ICs2MCwzNCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhCiAgICAg
ICAgIHJldHVybjsKIAogICAgIENocm9tZUNsaWVudENocm9taXVtKiBjbGllbnQgPSB0b0Nocm9t
ZUNsaWVudENocm9taXVtKG9iai0+ZG9jdW1lbnRGcmFtZVZpZXcoKSk7Ci0gICAgaWYgKGNsaWVu
dCkgewotICAgICAgICBzd2l0Y2ggKG5vdGlmaWNhdGlvbikgewotICAgICAgICBjYXNlIEFYQ2hl
Y2tlZFN0YXRlQ2hhbmdlZDoKLSAgICAgICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdFN0YXRlKG9iaik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBB
WENoaWxkcmVuQ2hhbmdlZDoKLSAgICAgICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdENoaWxkcmVuKG9iaik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkOgotICAgICAgICBjYXNlIEFYRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhMYXlvdXRDb21wbGV0ZToKLSAgICAgICAgY2Fz
ZSBBWExpdmVSZWdpb25DaGFuZ2VkOgotICAgICAgICBjYXNlIEFYTG9hZENvbXBsZXRlOgotICAg
ICAgICBjYXNlIEFYTWVudUxpc3RWYWx1ZUNoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhSb3dDb2xs
YXBzZWQ6Ci0gICAgICAgIGNhc2UgQVhSb3dDb3VudENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhS
b3dFeHBhbmRlZDoKLSAgICAgICAgY2FzZSBBWFNjcm9sbGVkVG9BbmNob3I6Ci0gICAgICAgIGNh
c2UgQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZDoKLSAgICAgICAgY2FzZSBBWFNlbGVjdGVkVGV4
dENoYW5nZWQ6Ci0gICAgICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQorICAgIGlmICghY2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAgICAv
LyBUT0RPOiBSZW1vdmUgYWZ0ZXIgdGhlIG5ldyBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
biBpcyB1c2VkIGRvd25zdHJlYW0uCisgICAgc3dpdGNoIChub3RpZmljYXRpb24pIHsKKyAgICBj
YXNlIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZDoKKyAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nl
c3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWENo
aWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Q2hpbGRyZW4ob2JqKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWEFjdGl2ZURlc2Nl
bmRhbnRDaGFuZ2VkOgorICAgIGNhc2UgQVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAgICBj
YXNlIEFYTGF5b3V0Q29tcGxldGU6CisgICAgY2FzZSBBWExpdmVSZWdpb25DaGFuZ2VkOgorICAg
IGNhc2UgQVhMb2FkQ29tcGxldGU6CisgICAgY2FzZSBBWE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgor
ICAgIGNhc2UgQVhSb3dDb2xsYXBzZWQ6CisgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKKyAg
ICBjYXNlIEFYUm93RXhwYW5kZWQ6CisgICAgY2FzZSBBWFNjcm9sbGVkVG9BbmNob3I6CisgICAg
Y2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgIGNhc2UgQVhTZWxlY3RlZFRleHRD
aGFuZ2VkOgorICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6CisgICAgICAgIGJyZWFrOwogICAgIH0K
KworICAgIGNsaWVudC0+cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24ob2JqLCBub3RpZmlj
YXRpb24pOyAgICAgICAgCiB9CiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJ
RWxlbWVudENoYW5nZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVyT2JqZWN0KikKSW5kZXg6IFdlYkNv
cmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCShyZXZpc2lvbiA2NzM2
NykKKysrIFdlYkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIENocm9tZUNsaWVudENocm9taXVt
X2gKICNkZWZpbmUgQ2hyb21lQ2xpZW50Q2hyb21pdW1faAogCisjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAKQEAgLTU4LDYgKzU5LDkgQEAgcHVibGljOgogICAgIAogICAgIC8vIE5vdGlmaWVkIGVt
YmVkZGVyIHRoYXQgdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGhhcyBj
aGFuZ2VkLgogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hp
bGRyZW4oQWNjZXNzaWJpbGl0eU9iamVjdCopID0gMDsKKyAgICAKKyAgICAvLyBOb3RpZmllcyBl
bWJlZGRlciBhYm91dCBhbiBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgICB2aXJ0dWFs
IHZvaWQgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCos
IEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3MzY4KQorKysgV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEwLTA5
LTEzICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgYWxsIGFjY2Vz
c2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisgICAgICAgIAorICAgICAgICBVc2Ug
cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gdG8gcGFzcyBhY2Nlc3NpYmlsaXR5IG5vdGlm
aWNhdGlvbnMKKyAgICAgICAgdG8gY2hyb21pdW0uCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgor
ICAgICAgICAqIHB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmg6IEFkZGVkLgor
ICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdDbGllbnQ6OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5oOiBBZGRlZC4KKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OnRvV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6OmRpZENoYW5nZUFjY2Vzc2li
aWxpdHlPYmplY3RDaGlsZHJlbik6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVudEltcGw6
OnBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xp
ZW50SW1wbC5oOgorCiAyMDEwLTA5LTEyICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpJbmRleDogV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJ
KHJldmlzaW9uIDY3MzY3KQorKysgV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHdvcmtpbmcg
Y29weSkKQEAgLTk4LDYgKzk4LDcgQEAKICAgICAgICAgICAgICAgICAncHVibGljL21hYy9XZWJT
YW5kYm94U3VwcG9ydC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL21hYy9XZWJTY3JlZW5J
bmZvRmFjdG9yeS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlD
YWNoZS5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb24uaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eVJvbGUuaCcsCiAg
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJBbmltYXRpb25Db250cm9sbGVyLmgnLApJbmRleDog
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uLmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24uaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbl9oCisjZGVmaW5lIFdlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb25faAorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBXZWJBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uIHsKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uQWN0
aXZlRGVzY2VuZGFudENoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkNo
ZWNrZWRTdGF0ZUNoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkNoaWxk
cmVuQ2hhbmdlZCwKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkxheW91dENvbXBs
ZXRlLAorICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Mb2FkQ29tcGxldGUsCisgICAg
V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAg
IFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25TZWxlY3RlZFRleHRDaGFuZ2VkLAorICAgIFdl
YkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25WYWx1ZUNoYW5nZWQsCisgICAgV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvblNjcm9sbGVkVG9BbmNob3IsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbkxpdmVSZWdpb25DaGFuZ2VkLAorICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb25NZW51TGlzdFZhbHVlQ2hhbmdlZCwKKyAgICBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uUm93Q291bnRDaGFuZ2VkLAorICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Sb3dD
b2xsYXBzZWQsCisgICAgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblJvd0V4cGFuZGVkLAor
ICAgIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25JbnZhbGlkCit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25faApJ
bmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHJldmlzaW9uIDY3MzY3
KQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpZm5kZWYgV2ViVmlld0NsaWVudF9oCiAjZGVmaW5lIFdl
YlZpZXdDbGllbnRfaAogCisjaW5jbHVkZSAiV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbi5o
IgogI2luY2x1ZGUgIldlYkRyYWdPcGVyYXRpb24uaCIKICNpbmNsdWRlICJXZWJFZGl0aW5nQWN0
aW9uLmgiCiAjaW5jbHVkZSAiV2ViRmlsZUNob29zZXJDb21wbGV0aW9uLmgiCkBAIC0yODAsNiAr
MjgxLDkgQEAgcHVibGljOgogICAgIAogICAgIC8vIE5vdGlmaWVzIGVtYmVkZGVyIHRoYXQgdGhl
IGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGhhcyBjaGFuZ2VkLgogICAgIHZp
cnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdCYpIHsgfQorICAgIAorICAgIC8vIE5vdGlmaWVzIGVtYmVkZGVy
IGFib3V0IGFuIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBw
b3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
JiwgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbikgeyB9CiAKIAogICAgIC8vIERldmVsb3Bl
ciB0b29scyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCShyZXZp
c2lvbiA2NzM2NykKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU2LDExICs1NiwxMCBAQAogI2luY2x1ZGUgIk5vdGlmaWNhdGlv
blByZXNlbnRlckltcGwuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51
Q2hyb21pdW0uaCIKLSNpbmNsdWRlICJTZWFyY2hQb3B1cE1lbnVDaHJvbWl1bS5oIgogI2luY2x1
ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJTZWFyY2hQb3B1cE1lbnVDaHJvbWl1
bS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2hhcmVkR3JhcGhp
Y3NDb250ZXh0M0QuaCIKLSNpbmNsdWRlICJXZWJHZW9sb2NhdGlvblNlcnZpY2UuaCIKICNpZiBV
U0UoVjgpCiAjaW5jbHVkZSAiVjhQcm94eS5oIgogI2VuZGlmCkBAIC03MCw2ICs2OSw3IEBACiAj
aW5jbHVkZSAiV2ViRmlsZUNob29zZXJDb21wbGV0aW9uSW1wbC5oIgogI2luY2x1ZGUgIldlYkZy
YW1lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCisjaW5jbHVkZSAiV2ViR2Vv
bG9jYXRpb25TZXJ2aWNlLmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudC5oIgogI2luY2x1ZGUg
IldlYktpdC5oIgogI2luY2x1ZGUgIldlYk5vZGUuaCIKQEAgLTEwMyw2ICsxMDMsNDYgQEAgc3Rh
dGljIFdlYlBvcHVwVHlwZSBjb252ZXJ0UG9wdXBUeXBlKFBvcAogICAgIH0KIH0KIAorLy8gQ29u
dmVydHMgYSBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiB0byBhIFdlYktp
dDo6V2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbgorc3RhdGljIFdlYkFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24gdG9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKEFYT2JqZWN0Q2FjaGU6
OkFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikKK3sKKyAgICBzd2l0Y2ggKG5vdGlmaWNhdGlv
bikgeworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoK
KyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25BY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZDsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYQ2hlY2tlZFN0YXRlQ2hhbmdl
ZDoKKyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25DaGVja2VkU3Rh
dGVDaGFuZ2VkOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhDaGlsZHJlbkNoYW5nZWQ6Cisg
ICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uQ2hpbGRyZW5DaGFuZ2Vk
OworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZDoKKyAg
ICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Gb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZDsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGU6CisgICAg
ICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uTGF5b3V0Q29tcGxldGU7Cisg
ICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWExvYWRDb21wbGV0ZToKKyAgICAgICAgcmV0dXJuIFdl
YkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25Mb2FkQ29tcGxldGU7CisgICAgY2FzZSBBWE9iamVj
dENhY2hlOjpBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICByZXR1cm4gV2ViQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvblNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOworICAgIGNhc2Ug
QVhPYmplY3RDYWNoZTo6QVhTZWxlY3RlZFRleHRDaGFuZ2VkOgorICAgICAgICByZXR1cm4gV2Vi
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblNlbGVjdGVkVGV4dENoYW5nZWQ7CisgICAgY2FzZSBB
WE9iamVjdENhY2hlOjpBWFZhbHVlQ2hhbmdlZDoKKyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb25WYWx1ZUNoYW5nZWQ7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpB
WFNjcm9sbGVkVG9BbmNob3I6CisgICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uU2Nyb2xsZWRUb0FuY2hvcjsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTGl2ZVJl
Z2lvbkNoYW5nZWQ6CisgICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
TGl2ZVJlZ2lvbkNoYW5nZWQ7CisgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE1lbnVMaXN0VmFs
dWVDaGFuZ2VkOgorICAgICAgICByZXR1cm4gV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbk1l
bnVMaXN0VmFsdWVDaGFuZ2VkOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhSb3dDb3VudENo
YW5nZWQ6CisgICAgICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uUm93Q291
bnRDaGFuZ2VkOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhSb3dDb2xsYXBzZWQ6CisgICAg
ICAgIHJldHVybiBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uUm93Q29sbGFwc2VkOworICAg
IGNhc2UgQVhPYmplY3RDYWNoZTo6QVhSb3dFeHBhbmRlZDoKKyAgICAgICAgcmV0dXJuIFdlYkFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25Sb3dFeHBhbmRlZDsKKyAgICBkZWZhdWx0OgorICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFdlYkFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb25JbnZhbGlkOworICAgIH0KK30KKwogQ2hyb21lQ2xpZW50SW1wbDo6Q2hyb21l
Q2xpZW50SW1wbChXZWJWaWV3SW1wbCogd2ViVmlldykKICAgICA6IG1fd2ViVmlldyh3ZWJWaWV3
KQogICAgICwgbV90b29sYmFyc1Zpc2libGUodHJ1ZSkKQEAgLTM0Myw5ICszODMsOSBAQCBib29s
IENocm9tZUNsaWVudEltcGw6OnN0YXR1c2JhclZpc2libGUoCiB2b2lkIENocm9tZUNsaWVudElt
cGw6OnNldFNjcm9sbGJhcnNWaXNpYmxlKGJvb2wgdmFsdWUpCiB7CiAgICAgbV9zY3JvbGxiYXJz
VmlzaWJsZSA9IHZhbHVlOwotICAgIFdlYkZyYW1lSW1wbCogd2ViX2ZyYW1lID0gc3RhdGljX2Nh
c3Q8V2ViRnJhbWVJbXBsKj4obV93ZWJWaWV3LT5tYWluRnJhbWUoKSk7Ci0gICAgaWYgKHdlYl9m
cmFtZSkKLSAgICAgICAgd2ViX2ZyYW1lLT5zZXRDYW5IYXZlU2Nyb2xsYmFycyh2YWx1ZSk7Cisg
ICAgV2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IHN0YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KG1f
d2ViVmlldy0+bWFpbkZyYW1lKCkpOworICAgIGlmICh3ZWJGcmFtZSkKKyAgICAgICAgd2ViRnJh
bWUtPnNldENhbkhhdmVTY3JvbGxiYXJzKHZhbHVlKTsKIH0KIAogYm9vbCBDaHJvbWVDbGllbnRJ
bXBsOjpzY3JvbGxiYXJzVmlzaWJsZSgpCkBAIC03MzQsNiArNzc0LDEzIEBAIHZvaWQgQ2hyb21l
Q2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWIKICAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQo
KS0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkFjY2Vzc2liaWxpdHlP
YmplY3Qob2JqKSk7CiB9CiAKK3ZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9zdEFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE9iamVjdENhY2hlOjpB
WE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7CisgICAgLy8gQWxlcnQgYXNzaXN0aXZlIHRl
Y2hub2xvZ3kgYWJvdXQgdGhlIGFjY2Vzc2liaWxpdHkgb2JqZWN0IG5vdGlmaWNhdGlvbi4KKyAg
ICBpZiAob2JqKQorICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5wb3N0QWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbihXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KG9iaiksIHRvV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbihub3RpZmljYXRpb24pKTsKK30KKwogI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogTm90aWZpY2F0aW9uUHJlc2VudGVyKiBDaHJvbWVDbGllbnRJbXBsOjpub3RpZmlj
YXRpb25QcmVzZW50ZXIoKSBjb25zdAogewpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmgJKHJldmlzaW9uIDY3MzY3KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2OCw2ICsxNjgsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHBvcHVwQ2xvc2VkKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyKiBw
b3B1cENvbnRhaW5lcik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlP
YmplY3RTdGF0ZShXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgdmlydHVhbCB2
b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5T2JqZWN0Kik7CisgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpBWE9iamVjdENh
Y2hlOjpBWE5vdGlmaWNhdGlvbik7CiAKICAgICAvLyBDaHJvbWVDbGllbnRJbXBsOgogICAgIHZv
aWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkN1cnNvckluZm8mIGN1cnNvcik7CkluZGV4OiBXZWJLaXRU
b29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA2NzM2OCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE0IEBACisyMDEwLTA5LTEzICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9y
eUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNlbmQgYWxsIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAg
ICAgIChXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisKIDIwMTAtMDktMTIg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFRvbnkgQ2hhbmcuCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCShyZXZpc2lvbiA2NzM2NykKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgInB1YmxpYy9XZWJDb250ZXh0TWVudURhdGEuaCIK
ICNpbmNsdWRlICJwdWJsaWMvV2ViRGF0YVNvdXJjZS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJE
cmFnRGF0YS5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAicHVi
bGljL1dlYkZyYW1lLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkdlb2xvY2F0aW9uU2VydmljZU1v
Y2suaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViSGlzdG9yeUl0ZW0uaCIKQEAgLTQ4OSwxMCArNDkw
LDY4IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmZvY3VzQWNjZXNzaWJpbGl0eU9iamUKICAgICBtX3No
ZWxsLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpLT5zZXRGb2N1c2VkRWxlbWVudChvYmplY3Qp
OwogfQogCi12b2lkIFdlYlZpZXdIb3N0OjpkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hp
bGRyZW4oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYgb2JqZWN0KQordm9pZCBXZWJWaWV3
SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2ViQWNjZXNzaWJpbGl0
eU9iamVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikK
IHsKLSAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+c2hvdWxkRHVt
cEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpCi0gICAgICAgIHByaW50ZigiZGlkQ2hhbmdl
QWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuIC0gbmV3IGNvdW50OiAlZFxuIiwgb2JqZWN0LmNo
aWxkQ291bnQoKSk7CisgICAgcHJpbnRmKCJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gIik7
CisgICAgCisgICAgaWYgKG1fc2hlbGwtPmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKCktPnNob3Vs
ZER1bXBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9ucygpKSB7CisgICAgICAgIHN3aXRjaCAobm90
aWZpY2F0aW9uKSB7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkFj
dGl2ZURlc2NlbmRhbnRDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJBY3RpdmVEZXNjZW5k
YW50Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbkNoZWNrZWRTdGF0ZUNoYW5nZWQ6CisgICAgICAgICAgICBwcmlu
dGYoIkNoZWNrZWRTdGF0ZUNoYW5nZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIFdlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25DaGlsZHJlbkNoYW5nZWQ6CisgICAgICAg
ICAgICBwcmludGYoIkNoaWxkcmVuQ2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkOgorICAgICAgICAgICAgcHJpbnRmKCJGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCIpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bkxheW91dENvbXBsZXRlOgorICAgICAgICAgICAgcHJpbnRmKCJMYXlvdXRDb21wbGV0ZSIpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkxvYWRDb21wbGV0ZToKKyAgICAgICAgICAgIHByaW50ZigiTG9hZENvbXBsZXRlIik7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6CisgICAgICAgICAgICBwcmludGYoIlNlbGVjdGVk
Q2hpbGRyZW5DaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uU2VsZWN0ZWRUZXh0Q2hhbmdlZDoKKyAgICAgICAgICAg
IHByaW50ZigiU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvblZhbHVlQ2hhbmdlZDoKKyAgICAg
ICAgICAgIHByaW50ZigiVmFsdWVDaGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uU2Nyb2xsZWRUb0FuY2hvcjoKKyAg
ICAgICAgICAgIHByaW50ZigiU2Nyb2xsZWRUb0FuY2hvciIpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkxpdmVSZWdpb25DaGFu
Z2VkOgorICAgICAgICAgICAgcHJpbnRmKCJMaXZlUmVnaW9uQ2hhbmdlZCIpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbk1lbnVM
aXN0VmFsdWVDaGFuZ2VkOgorICAgICAgICAgICAgcHJpbnRmKCJNZW51TGlzdFZhbHVlQ2hhbmdl
ZCIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvblJvd0NvdW50Q2hhbmdlZDoKKyAgICAgICAgICAgIHByaW50ZigiUm93Q291bnRD
aGFuZ2VkIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uUm93Q29sbGFwc2VkOgorICAgICAgICAgICAgcHJpbnRmKCJSb3dDb2xs
YXBzZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYkFjY2Vzc2liaWxp
dHlOb3RpZmljYXRpb25Sb3dFeHBhbmRlZDoKKyAgICAgICAgICAgIHByaW50ZigiUm93RXhwYW5k
ZWQiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgV2ViS2l0OjpX
ZWJOb2RlIG5vZGUgPSBvYmoubm9kZSgpOworICAgICAgICBpZiAoIW5vZGUuaXNOdWxsKCkgJiYg
bm9kZS5pc0VsZW1lbnROb2RlKCkpIHsKKyAgICAgICAgICAgIFdlYktpdDo6V2ViRWxlbWVudCBl
bGVtZW50ID0gbm9kZS50bzxXZWJLaXQ6OldlYkVsZW1lbnQ+KCk7CisgICAgICAgICAgICBpZiAo
ZWxlbWVudC5oYXNBdHRyaWJ1dGUoImlkIikpCisgICAgICAgICAgICAgICAgcHJpbnRmKCIgLSBp
ZDolcyIsIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICB9CisKKyAgICAgICAgcHJpbnRmKCJcbiIpOworICAgIH0KIH0KIAogV2ViTm90aWZpY2F0aW9u
UHJlc2VudGVyKiBXZWJWaWV3SG9zdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkKSW5kZXg6IFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAko
cmV2aXNpb24gNjczNjcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRl
ICJNb2NrU3BlbGxDaGVjay5oIgogI2luY2x1ZGUgIlRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5o
IgorI2luY2x1ZGUgInB1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uLmgiCiAjaW5j
bHVkZSAicHVibGljL1dlYkN1cnNvckluZm8uaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViRnJhbWVD
bGllbnQuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViVmlld0NsaWVudC5oIgpAQCAtMTI3LDcgKzEy
OCw3IEBAIGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdlYktpdDo6V2ViVmkKICAgICB2aXJ0
dWFsIGludCBoaXN0b3J5QmFja0xpc3RDb3VudCgpOwogICAgIHZpcnR1YWwgaW50IGhpc3RvcnlG
b3J3YXJkTGlzdENvdW50KCk7CiAgICAgdmlydHVhbCB2b2lkIGZvY3VzQWNjZXNzaWJpbGl0eU9i
amVjdChjb25zdCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3QmKTsKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKGNvbnN0IFdlYktpdDo6
V2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbihjb25zdCBXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3QmLCBX
ZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOwogICAgIHZpcnR1YWwgV2ViS2l0
OjpXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpOwogICAg
IHZpcnR1YWwgV2ViS2l0OjpXZWJHZW9sb2NhdGlvblNlcnZpY2UqIGdlb2xvY2F0aW9uU2Vydmlj
ZSgpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJTcGVlY2hJbnB1dENvbnRyb2xsZXIqIHNwZWVj
aElucHV0Q29udHJvbGxlcihXZWJLaXQ6OldlYlNwZWVjaElucHV0TGlzdGVuZXIqKTsKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY3MzY4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTAtMDktMTMgIENocmlzIEd1aWxsb3J5ICAgPGNocmlz
Lmd1aWxsb3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU2VuZCBhbGwgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENo
cm9taXVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDUxNTYKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRy
ZW4tY2hhbmdlZC1ub3RpZmljYXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmlj
YXRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0
ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1MYXlvdXRDb21wbGV0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxv
YWRDb21wbGV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1l
bnVMaXN0VmFsdWVDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENo
YW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZp
Y2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVNjcm9sbGVkVG9BbmNob3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1T
ZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qczogQWRkZWQu
CisgICAgICAgIChlbnVtQWNjZXNzaWJpbGl0eU9iamVjdHMpOgorICAgICAgICAodGVzdERvbmUp
OgorICAgICAgICAodGVzdCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZHJ0X2V4cGVj
dGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0OgorCiAyMDEwLTA5LTEyICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNjcz
NjcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9kcnRfZXhwZWN0YXRpb25zLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMTYyLDQgKzE2Miw0IEBAIEJVR19EUlQgV0lOIDogY3NzMi4x
L3QwOTA1LWM1NTI2LWZsdGh3LTAKIAogCiAvLyBQYXNzIHdpdGggRFJUIHRob3VnaCBGQUlMIG9u
IHRlc3Rfc2hlbGwKLUJVR19EUlQgOiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2No
aWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwgPSBQQVNTCitCVUdfRFJUIDogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IFBBU1MKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDY3
MzY3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC05NTUsNyArOTU1LDcgQEAgQlVHMTAzMjIgREVGRVIgU0tJ
UCA6IHBsYXRmb3JtL21hYy9hY2NlcwogQlVHMTAzMjIgREVGRVIgU0tJUCA6IHBsYXRmb3JtL3dp
bi9hY2Nlc3NpYmlsaXR5ID0gUEFTUyBGQUlMCiAKIC8vIEZ1bmN0aW9uYWxpdHkgaXMgc3VwcG9y
dGVkIGluIERSVCBidXQgbm90IFRlc3RTaGVsbAotV09OVEZJWCBTS0lQIDogcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1jaGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sID0g
RkFJTAorV09OVEZJWCBTS0lQIDogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eSA9IEZB
SUwKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIC8vIE90aGVyIGZhaWx1cmVzCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0
aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNjczNjcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSwzICswLDAgQEAKLWRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmpl
Y3RDaGlsZHJlbiAtIG5ldyBjb3VudDogMQotVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyBub3RpZmljYXRpb25zIHdoZW4gdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vz
c2liaWxpdHkgb2JqZWN0IGNoYW5nZS4KLXRleHQKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvY2hpbGRyZW4tY2hhbmdlZC1ub3RpZmljYXRpb24uaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L2NoaWxkcmVuLWNoYW5nZWQtbm90aWZpY2F0aW9uLmh0bWwJKHJldmlzaW9uIDY3MzY3KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9jaGlsZHJlbi1j
aGFuZ2VkLW5vdGlmaWNhdGlvbi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM3ICswLDAgQEAK
LTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBv
YmplY3QgY2hhbmdlLgotPGRpdj48L2Rpdj4KLTxzY3JpcHQ+Ci0gICAgZnVuY3Rpb24gdGVzdERv
bmUoKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICB9
Ci0gICAgCi0gICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi0gICAgICAgIGlmICghYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIgfHwgIWFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmR1bXBBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9ucykKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIAotICAgICAgICAvLyBBY2Nlc3MgYWNj
ZXNzaWJpbGl0eSBvYmplY3QgdGhhdCB3aWxsIGJlIGRlbGV0ZWQuCi0gICAgICAgIGRvY3VtZW50
LmJvZHkuZm9jdXMoKTsKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVs
ZW1lbnQuY2hpbGRBdEluZGV4KDApOwotICAgICAgICAKLSAgICAgICAgYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCk7Ci0gICAgICAgIAotICAg
ICAgICAvLyBJbnNlcnQgYSBjaGlsZCBlbGVtZW50IG9uIHRoZSBkaXYuIFRoaXMgZ2VuZXJhdGVz
IGFuIGFjY2Vzc2liaWxpdHkgY2hpbGRyZWQgY2hhbmdlZCBub3RpZmljYXRpb24uCi0gICAgICAg
IGRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0uaW5uZXJIVE1MID0gInRleHQiOwotCi0gICAgICAg
IC8vIFVzZSBzZXRUaW1lb3V0IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90
aWZpY2F0aW9ucyBjYW4gYmUgcHJvY2Vzc2VkLgotICAgICAgICBzZXRUaW1lb3V0KHRlc3REb25l
LCAwKTsKLSAgICB9Ci0KLSAgICB0ZXN0KCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkIC0gaWQ6dWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitU
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBBY3RpdmVEZXNj
ZW5kYW50Q2hhbmdlZCBub3RpZmljYXRpb24uCitsaTEKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2Vu
ZGFudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFu
Z2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIHZhciByYWRpb2dy
b3VwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hh
bmdlZCIpOworCisgICAgICAgIHJhZGlvZ3JvdXAuZm9jdXMoKTsKKyAgICAgICAgcmFkaW9ncm91
cC5zZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsICJyMSIpOworICAgIH0KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0
IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQWN0aXZlRGVzY2VuZGFudENoYW5nZWQg
bm90aWZpY2F0aW9uLgorCis8dWwgaWQ9InVsLWZvci1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZCIg
YXJpYS1oZWxwPSJ1bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5nZWQiIHRhYmluZGV4PSIwIiBy
b2xlPSJyYWRpb2dyb3VwIj4KKyAgICA8bGkgaWQ9InIxIj5saTE8L2xpPgorPC91bD4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2Vk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gQ2hlY2tlZFN0YXRlQ2hhbmdlZCAtIGlkOmNoZWNrYm94LWZvci1DaGVja2VkU3Rh
dGVDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBDaGVja2VkU3RhdGVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2Vk
U3RhdGVDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2Vk
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAg
ZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNoZWNrYm94LWZvci1DaGVja2VkU3RhdGVDaGFuZ2VkIikuY2hlY2tlZCA9IHRydWU7
CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVja2VkU3RhdGVD
aGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPGlucHV0IGlkPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0
YXRlQ2hhbmdlZCIgYXJpYS1oZWxwPSJjaGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZCIg
dHlwZT0iY2hlY2tib3giIC8+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNo
aWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZCAtIGlkOmRpdi1mb3ItQ2hpbGRy
ZW5DaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0aW9uLgordGV4dApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJl
bkNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVz
dE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdi1m
b3ItQ2hpbGRyZW5DaGFuZ2VkIikuaW5uZXJIVE1MID0gInRleHQiOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4K
KworPGRpdiBpZD0iZGl2LWZvci1DaGlsZHJlbkNoYW5nZWQiIGFyaWEtaGVscD0iZGl2LWZvci1D
aGlsZHJlbkNoYW5nZWQiPjwvZGl2PgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAg
ICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9ydCAtIHNlZSBoYW5kbGVGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZAorICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0
aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRo
ZSBMYXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgeworICAgICAgICAvLyBNYWMgc3BlY2lmaWMKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KKworPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
TGl2ZVJlZ2lvbkNoYW5nZWQgLSBpZDp1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5nZWQKK1RoaXMgdGVz
dHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGl2ZVJlZ2lvbkNoYW5nZWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LUxpdmVSZWdpb25DaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7
CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1bC1mb3ItTGl2ZVJlZ2lvbkNoYW5n
ZWQiKS50aXRsZSA9ICJ0aXRsZSI7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIHRoZSBMaXZlUmVnaW9uQ2hhbmdlZCBub3RpZmljYXRpb24uCisKKzx1bCBpZD0idWwtZm9y
LUxpdmVSZWdpb25DaGFuZ2VkIiBhcmlhLWhlbHA9InVsLWZvci1MaXZlUmVnaW9uQ2hhbmdlZCIg
cm9sZT0icmVnaW9uIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1yZWxldmFudD0iYWRkaXRpb25z
IHJlbW92YWxzIj48L3VsPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJw
b3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0
aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29t
cGxldGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitUaGlzIHRlc3RzIHRoYXQgY2hy
b21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29tcGxldGUgbm90aWZpY2F0aW9uLgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21w
bGV0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVu
Y3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNpZmljCisgICAg
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMb2FkQ29tcGxldGUgbm90aWZp
Y2F0aW9uLgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlm
aWNhdGlvbi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVM
aXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0
VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RW
YWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBNZW51TGlzdFZhbHVlQ2hhbmdlZCAtIGlkOnNlbGVj
dC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3Jy
ZWN0bHkgcmVjaWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TWVudUxpc3RWYWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTWVudUxpc3RW
YWx1ZUNoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdC1mb3ItTWVudUxpc3RWYWx1ZUNoYW5n
ZWQiKS5zZWxlY3RlZEluZGV4ID0gMDsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIE1lbnVMaXN0VmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KKworPHNlbGVjdCBp
ZD0ic2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZCIgYXJpYS1oZWxwPSJzZWxlY3QtZm9y
LU1lbnVMaXN0VmFsdWVDaGFuZ2VkIj4KKwk8b3B0aW9uPjwvb3B0aW9uPiAKKzwvc2VsZWN0Pgor
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dDb2xs
YXBzZWQgLSBpZDpkaXYtZm9yLVJvd0NvbGxhcHNlZAorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5vdGlmaWNhdGlvbi4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tUm93Q29sbGFwc2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFwc2VkLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9u
IHRlc3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk
aXYtZm9yLVJvd0NvbGxhcHNlZCIpLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIGZhbHNl
KTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KK1Ro
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvbGxhcHNl
ZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93Q29sbGFwc2VkIiBhcmlhLWhl
bHA9ImRpdi1mb3ItUm93Q29sbGFwc2VkIiByb2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0Nv
dW50Q2hhbmdlZCAtIGlkOmRpdi1mb3ItUm93Q291bnRDaGFuZ2VkCitUaGlzIHRlc3RzIHRoYXQg
Y2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb3VudENoYW5nZWQgbm90aWZpY2F0
aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVJvd0NvdW50Q2hhbmdlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5n
ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgdmFyIGRp
diA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYtZm9yLVJvd0NvdW50Q2hhbmdlZCIpOwor
CisgICAgICAgIGRpdi5jaGlsZHJlblswXS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCB0
cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4K
K1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50
Q2hhbmdlZCBub3RpZmljYXRpb24uCisKKzxkaXYgaWQ9ImRpdi1mb3ItUm93Q291bnRDaGFuZ2Vk
IiBhcmlhLWhlbHA9ImRpdi1mb3ItUm93Q291bnRDaGFuZ2VkIiByb2xlPSJncmlkIj4KKyAgICA8
ZGl2PjwvZGl2PgorPC9kaXY+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhw
YW5kZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbiAtIFJvd0V4cGFuZGVkIC0gaWQ6ZGl2LWZvci1Sb3dFeHBhbmRlZAorVGhpcyB0ZXN0
cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93RXhwYW5kZWQgbm90aWZp
Y2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Um93RXhwYW5kZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cisg
ICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRpdi1mb3ItUm93RXhwYW5kZWQiKS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5k
ZWQiLCB0cnVlKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVz
dCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJv
d0V4cGFuZGVkIG5vdGlmaWNhdGlvbi4KKworPGRpdiBpZD0iZGl2LWZvci1Sb3dFeHBhbmRlZCIg
YXJpYS1oZWxwPSJkaXYtZm9yLVJvd0V4cGFuZGVkIiByb2xlPSJ0cmVlaXRlbSI+PC9kaXY+CisK
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hv
ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBj
b3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNjcm9sbGVkVG9BbmNob3Igbm90aWZpY2F0aW9uLgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxl
ZFRvQW5jaG9yLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKKyAgICAgICAgLy8gTm90IHNlbnQg
dG8gdGhlIGNocm9taXVtIHBvcnQgLSBzZWUgaGFuZGxlU2Nyb2xsZWRUb0FuY2hvcgorICAgIH0K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2Nyb2xsZWRUb0FuY2hvciBub3Rp
ZmljYXRpb24uCisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90
aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1T
ZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFNlbGVjdGVkQ2hpbGRyZW5DaGFu
Z2VkIC0gaWQ6c2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZAorVGhpcyB0ZXN0cyB0
aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRDaGlsZHJlbkNoYW5n
ZWQgbm90aWZpY2F0aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBmdW5jdGlv
biB0ZXN0Tm90aWZpY2F0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCIpLnNlbGVjdGVkSW5kZXggPSAwOwor
ICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorVGhpcyB0
ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRDaGlsZHJl
bkNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2VsZWN0IGlkPSJzZWxlY3QtZm9yLVNlbGVjdGVk
Q2hpbGRyZW5DaGFuZ2VkIiBhcmlhLWhlbHA9InNlbGVjdC1mb3ItU2VsZWN0ZWRDaGlsZHJlbkNo
YW5nZWQiIHNpemU9IjQiPgorICAgIDxvcHRpb24gdmFsdWU9IjEiPml0ZW0gMTwvb3B0aW9uPgor
PC9zZWxlY3Q+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90
aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3Rl
ZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRU
ZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1RoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENo
YW5nZWQgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdE5vdGlm
aWNhdGlvbigpIHsKKyAgICAgICAgLy8gTWFjIHNwZWNpZmljIC0gc2VlIG5vdGlmeUFjY2Vzc2li
aWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0idGVzdCgpIj4KK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBWYWx1ZUNoYW5nZWQgLSBpZDp0
ZXh0LWZvci1WYWx1ZUNoYW5nZWQKK1RoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkg
cmVjaWV2ZXMgdGhlIFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFs
dWVDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHRlc3ROb3Rp
ZmljYXRpb24oKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0LWZvci1W
YWx1ZUNoYW5nZWQiKS52YWx1ZSA9ICJidXR0b24iCisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLgorCis8aW5wdXQgaWQ9
InRleHQtZm9yLVZhbHVlQ2hhbmdlZCIgYXJpYS1oZWxwPSJ0ZXh0LWZvci1WYWx1ZUNoYW5nZWQi
IHR5cGU9InRleHQiIHZhbHVlPSJ2YWx1ZSIgLz4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNSBAQAorZnVuY3Rpb24gZW51bUFj
Y2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlPYmplY3QpIHsKKyAgdmFyIGNvdW50ID0g
YWNjZXNzaWJpbGl0eU9iamVjdC5jaGlsZHJlbkNvdW50OworICBmb3IgKHZhciBpID0gMDsgaSA8
IGNvdW50OyArK2kpCisgICAgZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFjY2Vzc2liaWxpdHlP
YmplY3QuY2hpbGRBdEluZGV4KGkpKTsKK30KKworZnVuY3Rpb24gdGVzdERvbmUoKSB7CisgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpIHsK
KyAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgIAorICAvLyBCdWlsZCBhY2Nlc3NpYmlsaXR5IHRyZWUu
CisgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTsKKyAgZW51bUFjY2Vzc2liaWxpdHlPYmplY3RzKGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50KTsKKworICAvLyBUZXN0IHRoZSBh
Y2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KKyAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZHVt
cEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCk7CisgIHRlc3ROb3RpZmljYXRpb24oKTsKKwor
ICAvLyBVc2Ugc2V0VGltZW91dCBzbyB0aGF0IGFzeW5jaHJvbm91cyBhY2Nlc3NpYmlsaXR5IG5v
dGlmaWNhdGlvbnMgY2FuIGJlIHByb2Nlc3NlZC4KKyAgc2V0VGltZW91dCh0ZXN0RG9uZSwgMCk7
Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67632</attachid>
            <date>2010-09-14 18:54:32 -0700</date>
            <delta_ts>2010-09-14 18:59:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45156-20100914185431.patch</filename>
            <type>text/plain</type>
            <size>1603</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAwZjFlYjUwNTg2MTBiNDI4MGFjYzM1ZjE0NzZjMGZlYmQyNjY2ZmM4Li4wODJmZDY0
ZTc1MzNiN2YxOWFkMzVkNzg5NDE2ZTUyYTc0Yzg3MDg3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMDktMTQgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VuZCB3ZWJraXQg
YWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9taXVtCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorCisgICAgICAgIE1vdmUgcHJp
bnRmIGluc2lkZSBzaG91bGREdW1wQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbnMgY2hlY2suCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAg
ICAgIChXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24pOgorCiAyMDEw
LTA5LTE0ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgT2phbiBWYWZhaS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlZpZXdIb3N0LmNwcAppbmRleCBkYjgxZDU2NDkxZTU2ZTk4ZTFiNmRkMDgxNDg3
ZGNhZjFhMTJlMTcwLi44ZWM0M2Q4OWQyNDEzODg0NWM5ZDMyMGZhYjJjY2UyYzdmZTQ0NjA1IDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hv
c3QuY3BwCkBAIC00OTIsOSArNDkyLDkgQEAgdm9pZCBXZWJWaWV3SG9zdDo6Zm9jdXNBY2Nlc3Np
YmlsaXR5T2JqZWN0KGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmIG9iamVjdCkKIAogdm9p
ZCBXZWJWaWV3SG9zdDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oY29uc3QgV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdCYgb2JqLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIG5vdGlm
aWNhdGlvbikKIHsKLSAgICBwcmludGYoIkFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSAiKTsK
LSAgICAKICAgICBpZiAobV9zaGVsbC0+YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKS0+c2hvdWxk
RHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCkpIHsKKyAgICAgICAgcHJpbnRmKCJBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gIik7CisKICAgICAgICAgc3dpdGNoIChub3RpZmljYXRp
b24pIHsKICAgICAgICAgY2FzZSBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uQWN0aXZlRGVz
Y2VuZGFudENoYW5nZWQ6CiAgICAgICAgICAgICBwcmludGYoIkFjdGl2ZURlc2NlbmRhbnRDaGFu
Z2VkIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68187</attachid>
            <date>2010-09-20 21:38:27 -0700</date>
            <delta_ts>2010-09-21 10:34:33 -0700</delta_ts>
            <desc>Send remaining webkit notifications to Chromium</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>31973</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzkxOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDktMjAgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCB3ZWJraXQgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9t
aXVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1
NgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvY2hy
b21pdW0vQVhPYmplY3RDYWNoZUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpB
WE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKToKKyAgICAgICAg
KiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmltcGxpY2l0
Q2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKToKKyAg
ICAgICAgKiBlZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBlZGl0aW5n
L2Nocm9taXVtL1NlbGVjdGlvbkNvbnRyb2xsZXJDaHJvbWl1bS5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNl
bGVjdGlvbkNoYW5nZSk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOgorICAgICAgICAqIHBhZ2UvY2hyb21pdW0vQ2hy
b21lQ2xpZW50Q2hyb21pdW0uaDoKKwogMjAxMC0wOS0yMCAgS3dhbmcgWXVsIFNlbyAgPHNreXVs
QGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgpJ
bmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkJKHJldmlzaW9uIDY3OTE1KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMzMsNiArMTMzMyw3IEBACiAgICAgICAgICAgICAnZG9tL1hNTERvY3VtZW50
UGFyc2VyUXQuY3BwJywKICAgICAgICAgICAgICdlZGl0aW5nL2FuZHJvaWQvRWRpdG9yQW5kcm9p
ZC5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvY2hyb21pdW0vRWRpdG9yQ2hyb21pdW0uY3Bw
JywKKyAgICAgICAgICAgICdlZGl0aW5nL2Nocm9taXVtL1NlbGVjdGlvbkNvbnRyb2xsZXJDaHJv
bWl1bS5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbScsCiAgICAg
ICAgICAgICAnZWRpdGluZy9tYWMvU2VsZWN0aW9uQ29udHJvbGxlck1hYy5tbScsCiAgICAgICAg
ICAgICAnZWRpdGluZy9xdC9FZGl0b3JRdC5jcHAnLApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAJKHJl
dmlzaW9uIDY3OTE1KQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0
Q2FjaGVDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDM5ICs2Myw1OCBAQCB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhCiAgICAgaWYgKCFjbGllbnQpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIC8vIFRPRE86IFJlbW92ZSBhZnRlciB0aGUgbmV3IHBvc3RB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIGlzIHVzZWQgZG93bnN0cmVhbS4KICAgICBzd2l0Y2gg
KG5vdGlmaWNhdGlvbikgewotICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgotICAgICAg
ICBjbGllbnQtPmRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShvYmopOworICAgIGNh
c2UgQVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoKKyAgICAgICAgaWYgKCFvYmotPmRvY3VtZW50
KCktPmZvY3VzZWROb2RlKCkgfHwgKG9iai0+bm9kZSgpICE9IG9iai0+ZG9jdW1lbnQoKS0+Zm9j
dXNlZE5vZGUoKSkpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAvLyBDYWxsaW5nIGhh
bmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIHdpbGwgZm9jdXMgdGhlIG5ldyBhY3RpdmUKKyAg
ICAgICAgLy8gZGVzY2VuZGFudCBhbmQgc2VuZCB0aGUgQVhGb2N1c2VkVUlFbGVtZW50Q2hhbmdl
ZCBub3RpZmljYXRpb24uCisgICAgICAgIGhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKDAs
IG9iai0+ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKS0+cmVuZGVyZXIoKSk7CiAgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgogICAgIGNhc2UgQVhDaGlsZHJl
bkNoYW5nZWQ6Ci0gICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENo
aWxkcmVuKG9iaik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQVhBY3RpdmVEZXNjZW5kYW50
Q2hhbmdlZDoKICAgICBjYXNlIEFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQ6CiAgICAgY2FzZSBB
WExheW91dENvbXBsZXRlOgotICAgIGNhc2UgQVhMaXZlUmVnaW9uQ2hhbmdlZDoKICAgICBjYXNl
IEFYTG9hZENvbXBsZXRlOgotICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKLSAgICBj
YXNlIEFYUm93Q29sbGFwc2VkOgotICAgIGNhc2UgQVhSb3dDb3VudENoYW5nZWQ6Ci0gICAgY2Fz
ZSBBWFJvd0V4cGFuZGVkOgotICAgIGNhc2UgQVhTY3JvbGxlZFRvQW5jaG9yOgogICAgIGNhc2Ug
QVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZDoKICAgICBjYXNlIEFYU2VsZWN0ZWRUZXh0Q2hhbmdl
ZDoKICAgICBjYXNlIEFYVmFsdWVDaGFuZ2VkOgorICAgIGNhc2UgQVhTY3JvbGxlZFRvQW5jaG9y
OgorICAgIGNhc2UgQVhMaXZlUmVnaW9uQ2hhbmdlZDoKKyAgICBjYXNlIEFYTWVudUxpc3RWYWx1
ZUNoYW5nZWQ6CisgICAgY2FzZSBBWFJvd0NvdW50Q2hhbmdlZDoKKyAgICBjYXNlIEFYUm93Q29s
bGFwc2VkOgorICAgIGNhc2UgQVhSb3dFeHBhbmRlZDoKICAgICAgICAgYnJlYWs7CiAgICAgfQog
CiAgICAgY2xpZW50LT5wb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihvYmosIG5vdGlmaWNh
dGlvbik7ICAgICAgICAKIH0KIAotdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJPYmplY3QqKQordm9pZCBBWE9iamVj
dENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqLCBSZW5k
ZXJPYmplY3QqIG5ld0ZvY3VzZWRSZW5kZXJlcikKIHsKKyAgICBpZiAoIW5ld0ZvY3VzZWRSZW5k
ZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IG5ld0ZvY3VzZWRSZW5k
ZXJlci0+ZG9jdW1lbnQoKS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogZm9jdXNlZE9iamVjdCA9IGZvY3VzZWRVSUVs
ZW1lbnRGb3JQYWdlKHBhZ2UpOworICAgIGlmICghZm9jdXNlZE9iamVjdCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgQVNTRVJUKCFmb2N1c2VkT2JqZWN0LT5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
KCkpOworCisgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKGZvY3VzZWRPYmplY3QsIEFYRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQpOwogfQogCi12b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNj
cm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSopCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNj
cm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSogYW5jaG9yTm9kZSkKIHsKKyAgICAvLyBUaGUgYW5j
aG9yIG5vZGUgbWF5IG5vdCBiZSBhY2Nlc3NpYmxlLiBQb3N0IHRoZSBub3RpZmljYXRpb24gZm9y
IHRoZQorICAgIC8vIGZpcnN0IGFjY2Vzc2libGUgb2JqZWN0LgorICAgIHBvc3RQbGF0Zm9ybU5v
dGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0OjpmaXJzdEFjY2Vzc2libGVPYmplY3RGcm9t
Tm9kZShhbmNob3JOb2RlKSwgQVhTY3JvbGxlZFRvQW5jaG9yKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNjc5MTUpCisrKyBXZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNTEsNyArMjA1MSw3IEBAIHZvaWQg
RG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UoKQogICAgICAgICAgICAgdmlldygpLT5sYXlvdXQoKTsK
ICAgICB9CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9S
TShDSFJPTUlVTSkKICAgICBpZiAoZiAmJiByZW5kZXJPYmplY3QgJiYgdGhpcyA9PSB0b3BEb2N1
bWVudCgpICYmIEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpIHsKICAgICAg
ICAgLy8gVGhlIEFYIGNhY2hlIG1heSBoYXZlIGJlZW4gY2xlYXJlZCBhdCB0aGlzIHBvaW50LCBi
dXQgd2UgbmVlZCB0byBtYWtlIHN1cmUgaXQgY29udGFpbnMgYW4KICAgICAgICAgLy8gQVggb2Jq
ZWN0IHRvIHNlbmQgdGhlIG5vdGlmaWNhdGlvbiB0by4gZ2V0T3JDcmVhdGUgd2lsbCBtYWtlIHN1
cmUgdGhhdCBhbiB2YWxpZCBBWCBvYmplY3QKQEAgLTMxNjUsNyArMzE2NSw3IEBAIGJvb2wgRG9j
dW1lbnQ6OnNldEZvY3VzZWROb2RlKFBhc3NSZWZQdHIKICAgICAgICAgfQogICAgIH0KIAotI2lm
ICgoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pKSAmJiAhUExBVEZPUk0oQ0hST01JVU0p
KSB8fCBQTEFURk9STShHVEspCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pIHx8
IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgaWYgKCFmb2N1c0NoYW5n
ZUJsb2NrZWQgJiYgbV9mb2N1c2VkTm9kZSAmJiBBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5
RW5hYmxlZCgpKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogb2xkRm9jdXNlZFJlbmRlcmVyID0g
MDsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBuZXdGb2N1c2VkUmVuZGVyZXIgPSAwOwpJbmRleDog
V2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCShyZXZpc2lvbiA2NzkxNSkKKysrIFdl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0
Nyw3ICsyNDcsNyBAQCBpbmxpbmUgdm9pZCBTZWxlY3Rpb25Db250cm9sbGVyOjpzZXRUeXBpCiAg
ICAgbV90eXBpbmdTdHlsZSA9IHN0eWxlOwogfQogCi0jaWYgIShQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKEdUSykpCisjaWYgIShQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oQ0hST01JVU0pKQogaW5saW5lIHZvaWQgU2VsZWN0aW9uQ29udHJvbGxlcjo6bm90aWZ5
QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgpCiB7CiB9CkluZGV4OiBXZWJDb3JlL2Vk
aXRpbmcvY2hyb21pdW0vU2VsZWN0aW9uQ29udHJvbGxlckNocm9taXVtLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2VkaXRpbmcvY2hyb21pdW0vU2VsZWN0aW9uQ29udHJvbGxlckNocm9taXVt
LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvZWRpdGluZy9jaHJvbWl1bS9TZWxlY3Rpb25D
b250cm9sbGVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICogCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNlbGVjdGlvbkNvbnRyb2xsZXIuaCIKKworI2lu
Y2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3ZvaWQgU2VsZWN0aW9uQ29udHJvbGxlcjo6bm90aWZ5QWNjZXNzaWJpbGl0
eUZvclNlbGVjdGlvbkNoYW5nZSgpCit7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFt
ZS0+ZG9jdW1lbnQoKTsKKworICAgIC8vIEZJWE1FOiBTdXBwb3J0IGVkaXRhYmxlIHRleHQgaW4g
Y2hyb21pdW0uCisgICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkg
JiYgbV9zZWxlY3Rpb24uc3RhcnQoKS5pc05vdE51bGwoKSAmJiBtX3NlbGVjdGlvbi5lbmQoKS5p
c05vdE51bGwoKSkKKyAgICAgICAgZG9jdW1lbnQtPmF4T2JqZWN0Q2FjaGUoKS0+cG9zdE5vdGlm
aWNhdGlvbihtX3NlbGVjdGlvbi5zdGFydCgpLm5vZGUoKS0+cmVuZGVyZXIoKSwgQVhPYmplY3RD
YWNoZTo6QVhTZWxlY3RlZFRleHRDaGFuZ2VkLCBmYWxzZSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA2NzkxNSkKKysrIFdlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OTksNyArNzk5LDcgQEAgdm9p
ZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZQogICAgIAogICAgIG1fbGF5b3V0
Q291bnQrKzsKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRG
T1JNKENIUk9NSVVNKQogICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxl
ZCgpKQogICAgICAgICByb290LT5kb2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnBvc3ROb3Rp
ZmljYXRpb24ocm9vdCwgQVhPYmplY3RDYWNoZTo6QVhMYXlvdXRDb21wbGV0ZSwgdHJ1ZSk7CiAj
ZW5kaWYKSW5kZXg6IFdlYkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1
bS5oCShyZXZpc2lvbiA2NzkxNSkKKysrIFdlYkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGll
bnRDaHJvbWl1bS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxMiArNTQsNiBAQCBwdWJsaWM6CiAg
ICAgLy8gTm90aWZpZXMgdGhlIGNsaWVudCBhIHBvcHVwIHdhcyBjbG9zZWQuCiAgICAgdmlydHVh
bCB2b2lkIHBvcHVwQ2xvc2VkKFBvcHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5lcikgPSAwOwog
Ci0gICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgdGhhdCB0aGUgc3RhdGUgb2YgYW4gYWNjZXNzaWJp
bGl0eSBvYmplY3QgaGFzIGNoYW5nZWQuCi0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vz
c2liaWxpdHlPYmplY3RTdGF0ZShBY2Nlc3NpYmlsaXR5T2JqZWN0KikgPSAwOwotICAgIAotICAg
IC8vIE5vdGlmaWVkIGVtYmVkZGVyIHRoYXQgdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxp
dHkgb2JqZWN0IGhhcyBjaGFuZ2VkLgotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3Np
YmlsaXR5T2JqZWN0Q2hpbGRyZW4oQWNjZXNzaWJpbGl0eU9iamVjdCopID0gMDsKLSAgICAKICAg
ICAvLyBOb3RpZmllcyBlbWJlZGRlciBhYm91dCBhbiBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlv
bi4KICAgICB2aXJ0dWFsIHZvaWQgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oQWNjZXNz
aWJpbGl0eU9iamVjdCosIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uKSA9IDA7CiB9OwpJ
bmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzkxOSkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOS0yMCAgQ2hyaXMg
R3VpbGxvcnkgICA8Y2hyaXMuZ3VpbGxvcnlAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIHdlYmtpdCBhY2Nlc3NpYmlsaXR5
IG5vdGlmaWNhdGlvbnMgdG8gQ2hyb21pdW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisKKyAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJp
bGl0eUNhY2hlLmg6CisgICAgICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoKKyAgICAgICAg
KiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVu
dEltcGw6OmZvY3VzZWROb2RlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OkNocm9tZUNsaWVu
dEltcGw6OmdldFBvcHVwTWVudUluZm8pOgorICAgICAgICAqIHNyYy9DaHJvbWVDbGllbnRJbXBs
Lmg6CisgICAgICAgICogc3JjL1dlYkFjY2Vzc2liaWxpdHlDYWNoZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQpOgorCiAy
MDEwLTA5LTIwICBOaWNvIFdlYmVyICA8dGhha2lzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViQWNjZXNzaWJpbGl0eUNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Q2FjaGUuaAkocmV2aXNpb24gNjc5MTUpCisrKyBXZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIFdFQktJVF9BUEkgc3RhdGljIFdlYkFjY2Vz
c2liaWxpdHlDYWNoZSogY3JlYXRlKCk7CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCBlbmFi
bGVBY2Nlc3NpYmlsaXR5KCk7CisgICAgV0VCS0lUX0FQSSBzdGF0aWMgYm9vbCBhY2Nlc3NpYmls
aXR5RW5hYmxlZCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemUoV2ViVmlldyogdmll
dykgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0luaXRpYWxpemVkKCkgY29uc3QgPSAwOwpJbmRl
eDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHJldmlzaW9uIDY3OTE1KQor
KysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3Q2xpZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTI3NiwxMiArMjc2LDYgQEAgcHVibGljOgogICAgIC8vIGFjY2Vzc2liaWxpdHkgb2JqZWN0
LgogICAgIHZpcnR1YWwgdm9pZCBmb2N1c0FjY2Vzc2liaWxpdHlPYmplY3QoY29uc3QgV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdCYpIHsgfQogCi0gICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgdGhhdCB0
aGUgc3RhdGUgb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgaGFzIGNoYW5nZWQuCi0gICAgdmly
dHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShjb25zdCBXZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0JikgeyB9Ci0gICAgCi0gICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgdGhh
dCB0aGUgY2hpbGRyZW4gb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgaGFzIGNoYW5nZWQuCi0g
ICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJlbihjb25z
dCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JikgeyB9Ci0gICAgCiAgICAgLy8gTm90aWZpZXMgZW1i
ZWRkZXIgYWJvdXQgYW4gYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb24uCiAgICAgdmlydHVhbCB2
b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlP
YmplY3QmLCBXZWJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKSB7IH0KIApJbmRleDogV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
Y2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCShyZXZpc2lvbiA2NzkxNSkKKysrIFdl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1Nyw3ICsyNTcsOSBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6OmZvY3VzZWROb2RlQ2hhbmdl
CiAgICAgaWYgKCFkb2N1bWVudCkgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICAgICAgcmV0dXJuOwotICAgIH0gCisgICAgfQorCisgICAgLy8gVE9ETzogUmVtb3ZlIG9uY2Ug
dGhlIEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIG5vdGlmaWNhdGlvbiBpcyBoYW5kbGVkIGRvd25z
dHJlYW0uCiAgICAgaWYgKGRvY3VtZW50ICYmIGRvY3VtZW50LT5heE9iamVjdENhY2hlKCktPmFj
Y2Vzc2liaWxpdHlFbmFibGVkKCkpIHsKICAgICAgICAgLy8gUmV0cmlldmUgdGhlIGZvY3VzZWQg
QWNjZXNzaWJpbGl0eU9iamVjdC4KICAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogZm9jdXNl
ZEFjY09iaiA9CkBAIC03NjAsMjAgKzc2Miw2IEBAIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6Z2V0
UG9wdXBNZW51SW5mbygKICAgICBpbmZvLT5yaWdodEFsaWduZWQgPSBwb3B1cENvbnRhaW5lci0+
bWVudVN0eWxlKCkudGV4dERpcmVjdGlvbigpID09IFJUTDsKIH0KIAotdm9pZCBDaHJvbWVDbGll
bnRJbXBsOjpkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUoQWNjZXNzaWJpbGl0eU9i
amVjdCogb2JqKQotewotICAgIC8vIEFsZXJ0IGFzc2lzdGl2ZSB0ZWNobm9sb2d5IGFib3V0IHRo
ZSBhY2Nlc3NpYmlsaXR5IG9iamVjdCBzdGF0ZSBjaGFuZ2UKLSAgICBpZiAob2JqKQotICAgICAg
ICBtX3dlYlZpZXctPmNsaWVudCgpLT5kaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUo
V2ViQWNjZXNzaWJpbGl0eU9iamVjdChvYmopKTsKLX0KLQotdm9pZCBDaHJvbWVDbGllbnRJbXBs
OjpkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eU9iamVjdCogb2JqKQotewotICAgIC8vIEFsZXJ0IGFzc2lzdGl2ZSB0ZWNobm9sb2d5IGFi
b3V0IHRoZSBhY2Nlc3NpYmlsaXR5IG9iamVjdCBjaGlsZHJlbiBjaGFuZ2UKLSAgICBpZiAob2Jq
KQotICAgICAgICBtX3dlYlZpZXctPmNsaWVudCgpLT5kaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Q2hpbGRyZW4oV2ViQWNjZXNzaWJpbGl0eU9iamVjdChvYmopKTsKLX0KLQogdm9pZCBDaHJv
bWVDbGllbnRJbXBsOjpwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBvYmosIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbikK
IHsKICAgICAvLyBBbGVydCBhc3Npc3RpdmUgdGVjaG5vbG9neSBhYm91dCB0aGUgYWNjZXNzaWJp
bGl0eSBvYmplY3Qgbm90aWZpY2F0aW9uLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmgJKHJldmlzaW9uIDY3OTE1KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw4ICsxNjYsNiBAQCBwdWJsaWM6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGJv
dW5kcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBoYW5kbGVFeHRlcm5hbGx5
KTsKICAgICB2aXJ0dWFsIHZvaWQgcG9wdXBDbG9zZWQoV2ViQ29yZTo6UG9wdXBDb250YWluZXIq
IHBvcHVwQ29udGFpbmVyKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0
eU9iamVjdFN0YXRlKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqKTsKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3QqKTsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdEFjY2Vzc2liaWxpdHlOb3Rp
ZmljYXRpb24oV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCosIFdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGU6OkFYTm90aWZpY2F0aW9uKTsKIAogICAgIC8vIENocm9tZUNsaWVudEltcGw6CkluZGV4
OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxpdHlDYWNoZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJBY2Nlc3NpYmlsaXR5Q2FjaGUuY3BwCShyZXZp
c2lvbiA2NzkxNSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViQWNjZXNzaWJpbGl0eUNhY2hl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNCArNDIsOSBAQCB2b2lkIFdlYkFjY2Vzc2liaWxp
dHlDYWNoZTo6ZW5hYmxlQWNjZXNzCiAgICAgQVhPYmplY3RDYWNoZTo6ZW5hYmxlQWNjZXNzaWJp
bGl0eSgpOwogfQogCitib29sIFdlYkFjY2Vzc2liaWxpdHlDYWNoZTo6YWNjZXNzaWJpbGl0eUVu
YWJsZWQoKQoreworICAgIHJldHVybiBBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxl
ZCgpOworfQorCiB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzkxOSkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEwLTA5LTIwICBDaHJp
cyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgd2Via2l0IGFjY2Vzc2liaWxp
dHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxNTYKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZlRGVzY2VuZGFudENoYW5nZWQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1D
aGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQuaHRtbDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91
dENvbXBsZXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWw6CisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZl
UmVnaW9uQ2hhbmdlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tTG9hZENvbXBsZXRlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdlZC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2Vk
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVk
VG9BbmNob3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vz
c2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdl
ZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWw6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNo
YW5nZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2li
aWxpdHkvcG9zdC1ub3RpZmljYXRpb24uanM6CisgICAgICAgICh0ZXN0KToKKwogMjAxMC0wOS0y
MCAgQW5kcmV3IFdpbHNvbiAgPGF0d2lsc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkIGV4cGVjdGF0aW9ucyB1cGRhdGUgZm9yIHI2Nzg5OC4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZl
RGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZl
RGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2NzkxNSkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
QWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEZvY3VzZWRVSUVsZW1lbnRD
aGFuZ2VkIC0gaWQ6dWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uIC0gRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgLSBpZDpyMQogQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIC0gaWQ6dWwtZm9yLUFj
dGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENv
bXBsZXRlCiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBB
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZCBub3RpZmljYXRpb24uCiBsaTEKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hl
Y2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2Vk
U3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNr
ZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIgKzEsMyBA
QAogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoZWNrZWRTdGF0ZUNoYW5nZWQgLSBpZDpj
aGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
biAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNp
ZXZlcyB0aGUgQ2hlY2tlZFN0YXRlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Q2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNo
YW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNSBAQAogQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZCAtIGlkOmRpdi1mb3ItQ2hpbGRy
ZW5DaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTGF5b3V0Q29tcGxldGUKK0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29tcGxldGUKIFRoaXMgdGVzdHMgdGhhdCBj
aHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRp
b24uCiB0ZXh0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSw0IEBACitBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgLSBpZDpkaXYtZm9yLUZvY3VzZWRVSUVs
ZW1lbnRDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCiBU
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBGb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCitkaXYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkLmh0bWwJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdl
ZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDEzICsyLDE1IEBACiA8aGVhZD4KIDxzY3JpcHQ+
CiAgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKLSAgICAgICAgLy8gTm90IHNlbnQg
dG8gdGhlIGNocm9taXVtIHBvcnQgLSBzZWUgaGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQK
KyAgICAgICAgZG9jdW1lbnQuYm9keS5jaGlsZHJlblswXS5mb2N1cygpOwogICAgIH0KIDwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgogVGhpcyB0ZXN0cyB0aGF0IGNo
cm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90
aWZpY2F0aW9uLgogCis8ZGl2IGlkPSJkaXYtZm9yLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIiBh
cmlhLWhlbHA9ImRpdi1mb3ItRm9jdXNlZFVJRWxlbWVudENoYW5nZWQiIHRhYmluZGV4PSItMSI+
ZGl2PC9kaXY+CisKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90
aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5
b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxl
dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2NzkxNSkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24gLSBMYXlvdXRDb21wbGV0ZQorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgTGF5b3V0Q29tcGxldGUgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21w
bGV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbAkocmV2aXNp
b24gNjc5MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTIsMTMgKzIsMTYgQEAKIDxoZWFkPgogPHNjcmlwdD4KICAgICBmdW5jdGlvbiB0ZXN0Tm90aWZp
Y2F0aW9uKCkgewotICAgICAgICAvLyBNYWMgc3BlY2lmaWMKKyAgICAgICAgLy8gVHJpZ2VyIGxh
eW91dCBvcGVyYXRpb24uCisgICAgICAgIGRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0uc3R5bGUu
d2lkdGggPSA1MDA7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InRl
c3QoKSI+CiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBM
YXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCiAKKzxkaXYgaWQ9ImRpdi1mb3ItTGF5b3V0Q29t
cGxldGUiIGFyaWEtaGVscD0iZGl2LWZvci1MYXlvdXRDb21wbGV0ZSI+PGRpdj48L2Rpdj48L2Rp
dj4KKwogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRp
b24uanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9u
Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMiArMSwzIEBACiBBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uIC0gTGl2ZVJlZ2lvbkNoYW5nZWQgLSBpZDp1bC1mb3ItTGl2ZVJlZ2lv
bkNoYW5nZWQKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29tcGxldGUKIFRoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFu
Z2VkIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY3
OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29tcGxldGUKIFRo
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExvYWRDb21wbGV0
ZSBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2Fk
Q29tcGxldGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICsxLDcgQEAKIDxodG1sPgogPGhl
YWQ+CiA8c2NyaXB0PgotICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7Ci0gICAgICAg
IC8vIE1hYyBzcGVjaWZpYwotICAgIH0KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkg
eyB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0idGVzdCgpIj4KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2NzkxNSkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDIgKzEsMyBAQAogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIE1lbnVMaXN0VmFsdWVDaGFu
Z2VkIC0gaWQ6c2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZAorQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgTWVudUxpc3RWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLiAgCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1S
b3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2NzkxNSkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29s
bGFwc2VkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyICsxLDMgQEAKIEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dDb2xsYXBzZWQgLSBpZDpkaXYtZm9yLVJvd0NvbGxh
cHNlZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0
cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5vdGlm
aWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY3OTE1
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDIgKzEsMyBAQAogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0NvdW50Q2hhbmdl
ZCAtIGlkOmRpdi1mb3ItUm93Q291bnRDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
IC0gTG9hZENvbXBsZXRlCiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIHRoZSBSb3dDb3VudENoYW5nZWQgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBh
bmRlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMiArMSwzIEBACiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
IC0gUm93RXhwYW5kZWQgLSBpZDpkaXYtZm9yLVJvd0V4cGFuZGVkCitBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBSb3dFeHBhbmRlZCBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNj
cm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRU
b0FuY2hvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRv
QW5jaG9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSw2IEBACitBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uIC0gU2Nyb2xsZWRUb0FuY2hvciAtIGlkOmEtZm9yLVNjcm9sbGVk
VG9BbmNob3IKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNoYW5nZWQKK0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNoYW5nZWQKK0FjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24gLSBMYXlvdXRDb21wbGV0ZQorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVk
VG9BbmNob3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAko
cmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMSwxNCArMSwxOSBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQ+Ci0gICAgZnVu
Y3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKLSAgICAgICAgLy8gTm90IHNlbnQgdG8gdGhlIGNo
cm9taXVtIHBvcnQgLSBzZWUgaGFuZGxlU2Nyb2xsZWRUb0FuY2hvcgorICAgIGZ1bmN0aW9uIHRl
c3ROb3RpZmljYXRpb24oKSB7CisgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJyNhLWZv
ci1TY3JvbGxlZFRvQW5jaG9yJzsKKworICAgICAgICAvLyBSZW1vdmUgZWxlbWVudCB0byBwcmV2
ZW50IGFub3RoZXIgc2Nyb2xsIG5vdGlmaWNhdGlvbi4gQXBwZWFycyB0byByZXBybyB3aGVuIHRl
c3QgaXMgcnVuIGluIGlzb2xhdGlvbi4KKyAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGls
ZChkb2N1bWVudC5ib2R5LmNoaWxkcmVuWzBdKTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5IG9ubG9hZD0idGVzdCgpIj4KIFRoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0
bHkgcmVjaWV2ZXMgdGhlIFNjcm9sbGVkVG9BbmNob3Igbm90aWZpY2F0aW9uLgogCis8YSBpZD0i
YS1mb3ItU2Nyb2xsZWRUb0FuY2hvciIgYXJpYS1oZWxwPSJhLWZvci1TY3JvbGxlZFRvQW5jaG9y
Ij48L2E+CisKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZp
Y2F0aW9uLmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0
ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0
ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2NzkxNSkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
U2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDIgKzEsMyBAQAogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFNlbGVjdGVkQ2hpbGRyZW5D
aGFuZ2VkIC0gaWQ6c2VsZWN0LWZvci1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZAorQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgbm90aWZpY2F0
aW9uLiAgCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSArMSw0IEBACi1UaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5
IHJlY2lldmVzIHRoZSBTZWxlY3RlZFRleHRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4KK0FjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb24gLSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCAtIGlkOnRleHQtZm9y
LVNlbGVjdGVkVGV4dENoYW5nZWQKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBTZWxlY3Rl
ZFRleHRDaGFuZ2VkIC0gaWQ6dGV4dC1mb3ItU2VsZWN0ZWRUZXh0Q2hhbmdlZAorQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZQorVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRUZXh0Q2hhbmdlZCBub3RpZmljYXRpb24u
ICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCShyZXZpc2lvbiA2NzkxNSkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Vs
ZWN0ZWRUZXh0Q2hhbmdlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDEzICsyLDE1IEBACiA8
aGVhZD4KIDxzY3JpcHQ+CiAgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKLSAgICAg
ICAgLy8gTWFjIHNwZWNpZmljIC0gc2VlIG5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25D
aGFuZ2UKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQtZm9yLVNlbGVjdGVk
VGV4dENoYW5nZWQiKS5zZWxlY3QoKTsKICAgICB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
IG9ubG9hZD0idGVzdCgpIj4KIFRoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVj
aWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENoYW5nZWQgbm90aWZpY2F0aW9uLgogCis8aW5wdXQgaWQ9
InRleHQtZm9yLVNlbGVjdGVkVGV4dENoYW5nZWQiIGFyaWEtaGVscD0idGV4dC1mb3ItU2VsZWN0
ZWRUZXh0Q2hhbmdlZCIgdmFsdWU9InRleHQiIHR5cGU9dGV4dCAvPgorCiA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+CiA8
L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2Nzkx
NSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwyICsxLDMgQEAKIEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBWYWx1ZUNoYW5nZWQgLSBp
ZDp0ZXh0LWZvci1WYWx1ZUNoYW5nZWQKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2Fk
Q29tcGxldGUKIFRoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhl
IFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24uanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi5qcwkocmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0yMSw1ICsyMSw1IEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAgIHRlc3ROb3RpZmljYXRpb24oKTsK
IAogICAvLyBVc2Ugc2V0VGltZW91dCBzbyB0aGF0IGFzeW5jaHJvbm91cyBhY2Nlc3NpYmlsaXR5
IG5vdGlmaWNhdGlvbnMgY2FuIGJlIHByb2Nlc3NlZC4KLSAgc2V0VGltZW91dCh0ZXN0RG9uZSwg
MCk7CisgIHNldFRpbWVvdXQoInNldFRpbWVvdXQodGVzdERvbmUsIDApOyIsIDApOwogfQo=
</data>
<flag name="review"
          id="57663"
          type_id="1"
          status="-"
          setter="cfleizach"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68259</attachid>
            <date>2010-09-21 10:34:33 -0700</date>
            <delta_ts>2010-09-22 10:20:21 -0700</delta_ts>
            <desc>Update patch</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>32125</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzkxOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDktMjAgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCB3ZWJraXQgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9t
aXVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUx
NTYKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2No
cm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBsaWNp
dENsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2VkTm9kZSk6Cisg
ICAgICAgICogZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmg6CisgICAgICAgICogZWRpdGlu
Zy9jaHJvbWl1bS9TZWxlY3Rpb25Db250cm9sbGVyQ2hyb21pdW0uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNlbGVjdGlvbkNvbnRyb2xsZXI6Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JT
ZWxlY3Rpb25DaGFuZ2UpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKiBwYWdlL2Nocm9taXVtL0No
cm9tZUNsaWVudENocm9taXVtLmg6CisKIDIwMTAtMDktMjAgIEt3YW5nIFl1bCBTZW8gIDxza3l1
bEBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4K
SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29y
ZS5neXBpCShyZXZpc2lvbiA2NzkxNSkKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzMzLDYgKzEzMzMsNyBAQAogICAgICAgICAgICAgJ2RvbS9YTUxEb2N1bWVu
dFBhcnNlclF0LmNwcCcsCiAgICAgICAgICAgICAnZWRpdGluZy9hbmRyb2lkL0VkaXRvckFuZHJv
aWQuY3BwJywKICAgICAgICAgICAgICdlZGl0aW5nL2Nocm9taXVtL0VkaXRvckNocm9taXVtLmNw
cCcsCisgICAgICAgICAgICAnZWRpdGluZy9jaHJvbWl1bS9TZWxlY3Rpb25Db250cm9sbGVyQ2hy
b21pdW0uY3BwJywKICAgICAgICAgICAgICdlZGl0aW5nL21hYy9FZGl0b3JNYWMubW0nLAogICAg
ICAgICAgICAgJ2VkaXRpbmcvbWFjL1NlbGVjdGlvbkNvbnRyb2xsZXJNYWMubW0nLAogICAgICAg
ICAgICAgJ2VkaXRpbmcvcXQvRWRpdG9yUXQuY3BwJywKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJp
bGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVjdENhY2hlQ2hyb21pdW0uY3BwCShy
ZXZpc2lvbiA2NzkxNSkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9iamVj
dENhY2hlQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywzOSArNjMsNTYgQEAgdm9p
ZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYQogICAgIGlmICghY2xpZW50KQog
ICAgICAgICByZXR1cm47CiAKLSAgICAvLyBUT0RPOiBSZW1vdmUgYWZ0ZXIgdGhlIG5ldyBwb3N0
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiBpcyB1c2VkIGRvd25zdHJlYW0uCiAgICAgc3dpdGNo
IChub3RpZmljYXRpb24pIHsKLSAgICBjYXNlIEFYQ2hlY2tlZFN0YXRlQ2hhbmdlZDoKLSAgICAg
ICAgY2xpZW50LT5kaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUob2JqKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBBWENoaWxkcmVuQ2hhbmdlZDoKLSAgICAgICAgY2xpZW50LT5k
aWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4ob2JqKTsKLSAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkOgotICAgIGNhc2UgQVhGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZDoKLSAgICBjYXNlIEFYTGF5b3V0Q29tcGxldGU6Ci0gICAgY2FzZSBB
WExpdmVSZWdpb25DaGFuZ2VkOgotICAgIGNhc2UgQVhMb2FkQ29tcGxldGU6Ci0gICAgY2FzZSBB
WE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgotICAgIGNhc2UgQVhSb3dDb2xsYXBzZWQ6Ci0gICAgY2Fz
ZSBBWFJvd0NvdW50Q2hhbmdlZDoKLSAgICBjYXNlIEFYUm93RXhwYW5kZWQ6Ci0gICAgY2FzZSBB
WFNjcm9sbGVkVG9BbmNob3I6Ci0gICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgot
ICAgIGNhc2UgQVhTZWxlY3RlZFRleHRDaGFuZ2VkOgotICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6
CisgICAgICAgIGlmICghb2JqLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpIHx8IChvYmotPm5v
ZGUoKSAhPSBvYmotPmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCkpKQorICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgLy8gQ2FsbGluZyBoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCB3
aWxsIGZvY3VzIHRoZSBuZXcgYWN0aXZlCisgICAgICAgIC8vIGRlc2NlbmRhbnQgYW5kIHNlbmQg
dGhlIEFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90aWZpY2F0aW9uLgorICAgICAgICBoYW5k
bGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCgwLCBvYmotPmRvY3VtZW50KCktPmZvY3VzZWROb2Rl
KCktPnJlbmRlcmVyKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYQ2hlY2tlZFN0YXRl
Q2hhbmdlZDoKKyAgICBjYXNlIEFYQ2hpbGRyZW5DaGFuZ2VkOgorICAgIGNhc2UgQVhGb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZDoKKyAgICBjYXNlIEFYTGF5b3V0Q29tcGxldGU6CisgICAgY2FzZSBB
WExpdmVSZWdpb25DaGFuZ2VkOgorICAgIGNhc2UgQVhMb2FkQ29tcGxldGU6CisgICAgY2FzZSBB
WE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgorICAgIGNhc2UgQVhSb3dDb2xsYXBzZWQ6CisgICAgY2Fz
ZSBBWFJvd0NvdW50Q2hhbmdlZDoKKyAgICBjYXNlIEFYUm93RXhwYW5kZWQ6CisgICAgY2FzZSBB
WFNjcm9sbGVkVG9BbmNob3I6CisgICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgor
ICAgIGNhc2UgQVhTZWxlY3RlZFRleHRDaGFuZ2VkOgorICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6
CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGNsaWVudC0+cG9zdEFjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24ob2JqLCBub3RpZmljYXRpb24pOyAgICAgICAgCiB9CiAKLXZvaWQgQVhPYmpl
Y3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoUmVuZGVyT2JqZWN0KiwgUmVu
ZGVyT2JqZWN0KikKK3ZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENo
YW5nZWQoUmVuZGVyT2JqZWN0KiwgUmVuZGVyT2JqZWN0KiBuZXdGb2N1c2VkUmVuZGVyZXIpCiB7
CisgICAgaWYgKCFuZXdGb2N1c2VkUmVuZGVyZXIpCisgICAgICAgIHJldHVybjsKKworICAgIFBh
Z2UqIHBhZ2UgPSBuZXdGb2N1c2VkUmVuZGVyZXItPmRvY3VtZW50KCktPnBhZ2UoKTsKKyAgICBp
ZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGZv
Y3VzZWRPYmplY3QgPSBmb2N1c2VkVUlFbGVtZW50Rm9yUGFnZShwYWdlKTsKKyAgICBpZiAoIWZv
Y3VzZWRPYmplY3QpCisgICAgICAgIHJldHVybjsKKworICAgIHBvc3RQbGF0Zm9ybU5vdGlmaWNh
dGlvbihmb2N1c2VkT2JqZWN0LCBBWEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKTsKIH0KIAotdm9p
ZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5vZGUqKQordm9p
ZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5vZGUqIGFuY2hv
ck5vZGUpCiB7CisgICAgLy8gVGhlIGFuY2hvciBub2RlIG1heSBub3QgYmUgYWNjZXNzaWJsZS4g
UG9zdCB0aGUgbm90aWZpY2F0aW9uIGZvciB0aGUKKyAgICAvLyBmaXJzdCBhY2Nlc3NpYmxlIG9i
amVjdC4KKyAgICBwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdDo6
Zmlyc3RBY2Nlc3NpYmxlT2JqZWN0RnJvbU5vZGUoYW5jaG9yTm9kZSksIEFYU2Nyb2xsZWRUb0Fu
Y2hvcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlz
aW9uIDY3OTE1KQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMDUxLDcgKzIwNTEsNyBAQCB2b2lkIERvY3VtZW50OjppbXBsaWNpdENsb3NlKCkKICAgICAg
ICAgICAgIHZpZXcoKS0+bGF5b3V0KCk7CiAgICAgfQogCi0jaWYgUExBVEZPUk0oTUFDKQorI2lm
IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgaWYgKGYgJiYgcmVuZGVy
T2JqZWN0ICYmIHRoaXMgPT0gdG9wRG9jdW1lbnQoKSAmJiBBWE9iamVjdENhY2hlOjphY2Nlc3Np
YmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgIC8vIFRoZSBBWCBjYWNoZSBtYXkgaGF2ZSBiZWVu
IGNsZWFyZWQgYXQgdGhpcyBwb2ludCwgYnV0IHdlIG5lZWQgdG8gbWFrZSBzdXJlIGl0IGNvbnRh
aW5zIGFuCiAgICAgICAgIC8vIEFYIG9iamVjdCB0byBzZW5kIHRoZSBub3RpZmljYXRpb24gdG8u
IGdldE9yQ3JlYXRlIHdpbGwgbWFrZSBzdXJlIHRoYXQgYW4gdmFsaWQgQVggb2JqZWN0CkBAIC0z
MTY1LDcgKzMxNjUsNyBAQCBib29sIERvY3VtZW50OjpzZXRGb2N1c2VkTm9kZShQYXNzUmVmUHRy
CiAgICAgICAgIH0KICAgICB9CiAKLSNpZiAoKFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lO
KSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKSkgfHwgUExBVEZPUk0oR1RLKQorI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9N
SVVNKQogICAgIGlmICghZm9jdXNDaGFuZ2VCbG9ja2VkICYmIG1fZm9jdXNlZE5vZGUgJiYgQVhP
YmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkgewogICAgICAgICBSZW5kZXJPYmpl
Y3QqIG9sZEZvY3VzZWRSZW5kZXJlciA9IDA7CiAgICAgICAgIFJlbmRlck9iamVjdCogbmV3Rm9j
dXNlZFJlbmRlcmVyID0gMDsKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9s
bGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIu
aAkocmV2aXNpb24gNjc5MTUpCisrKyBXZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAgaW5saW5lIHZvaWQgU2VsZWN0
aW9uQ29udHJvbGxlcjo6c2V0VHlwaQogICAgIG1fdHlwaW5nU3R5bGUgPSBzdHlsZTsKIH0KIAot
I2lmICEoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspKQorI2lmICEoUExBVEZPUk0oTUFD
KSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKENIUk9NSVVNKSkKIGlubGluZSB2b2lkIFNl
bGVjdGlvbkNvbnRyb2xsZXI6Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2Uo
KQogewogfQpJbmRleDogV2ViQ29yZS9lZGl0aW5nL2Nocm9taXVtL1NlbGVjdGlvbkNvbnRyb2xs
ZXJDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL2Nocm9taXVtL1Nl
bGVjdGlvbkNvbnRyb2xsZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2Vk
aXRpbmcvY2hyb21pdW0vU2VsZWN0aW9uQ29udHJvbGxlckNocm9taXVtLmNwcAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqIAorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTZWxl
Y3Rpb25Db250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVk
ZSAiRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIFNlbGVjdGlvbkNvbnRy
b2xsZXI6Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoKQoreworICAgIC8v
IEZJWE1FOiBTdXBwb3J0IGVkaXRhYmxlIHRleHQgaW4gY2hyb21pdW0uCisgICAgaWYgKEFYT2Jq
ZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgbV9zZWxlY3Rpb24uc3RhcnQoKS5p
c05vdE51bGwoKSAmJiBtX3NlbGVjdGlvbi5lbmQoKS5pc05vdE51bGwoKSkgeworICAgICAgICBE
b2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLT5kb2N1bWVudCgpOworICAgICAgICBkb2N1bWVu
dC0+YXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90aWZpY2F0aW9uKG1fc2VsZWN0aW9uLnN0YXJ0KCku
bm9kZSgpLT5yZW5kZXJlcigpLCBBWE9iamVjdENhY2hlOjpBWFNlbGVjdGVkVGV4dENoYW5nZWQs
IGZhbHNlKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCShyZXZpc2lvbiA2NzkxNSkKKysrIFdlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03OTksNyArNzk5LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChi
b29sIGFsbG93U3VidHJlZQogICAgIAogICAgIG1fbGF5b3V0Q291bnQrKzsKIAotI2lmIFBMQVRG
T1JNKE1BQykKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogICAgIGlm
IChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICByb290LT5k
b2N1bWVudCgpLT5heE9iamVjdENhY2hlKCktPnBvc3ROb3RpZmljYXRpb24ocm9vdCwgQVhPYmpl
Y3RDYWNoZTo6QVhMYXlvdXRDb21wbGV0ZSwgdHJ1ZSk7CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUv
cGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCShyZXZpc2lvbiA2NzkxNSkK
KysrIFdlYkNvcmUvcGFnZS9jaHJvbWl1bS9DaHJvbWVDbGllbnRDaHJvbWl1bS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01NCwxMiArNTQsNiBAQCBwdWJsaWM6CiAgICAgLy8gTm90aWZpZXMgdGhlIGNs
aWVudCBhIHBvcHVwIHdhcyBjbG9zZWQuCiAgICAgdmlydHVhbCB2b2lkIHBvcHVwQ2xvc2VkKFBv
cHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5lcikgPSAwOwogCi0gICAgLy8gTm90aWZpZXMgZW1i
ZWRkZXIgdGhhdCB0aGUgc3RhdGUgb2YgYW4gYWNjZXNzaWJpbGl0eSBvYmplY3QgaGFzIGNoYW5n
ZWQuCi0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShB
Y2Nlc3NpYmlsaXR5T2JqZWN0KikgPSAwOwotICAgIAotICAgIC8vIE5vdGlmaWVkIGVtYmVkZGVy
IHRoYXQgdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGhhcyBjaGFuZ2Vk
LgotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4o
QWNjZXNzaWJpbGl0eU9iamVjdCopID0gMDsKLSAgICAKICAgICAvLyBOb3RpZmllcyBlbWJlZGRl
ciBhYm91dCBhbiBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQg
cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCosIEFYT2Jq
ZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uKSA9IDA7CiB9OwpJbmRleDogV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZp
c2lvbiA2NzkxOSkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAxMC0wOS0yMCAgQ2hyaXMgR3VpbGxvcnkgICA8Y2hyaXMuZ3Vp
bGxvcnlAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZW5kIHdlYmtpdCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgdG8gQ2hy
b21pdW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NTE1NgorCisgICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxpdHlDYWNoZS5oOgorICAgICAg
ICAqIHB1YmxpYy9XZWJWaWV3Q2xpZW50Lmg6CisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudElt
cGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjpmb2N1c2VkTm9kZUNo
YW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnRJbXBsOjpnZXRQb3B1cE1lbnVJ
bmZvKToKKyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5oOgorICAgICAgICAqIHNyYy9X
ZWJBY2Nlc3NpYmlsaXR5Q2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmls
aXR5Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKToKKwogMjAxMC0wOS0yMCAgTmljbyBXZWJl
ciAgPHRoYWtpc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9i
aW5zb24uCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlDYWNo
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0
eUNhY2hlLmgJKHJldmlzaW9uIDY3OTE1KQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJB
Y2Nlc3NpYmlsaXR5Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBwdWJs
aWM6CiAKICAgICBXRUJLSVRfQVBJIHN0YXRpYyBXZWJBY2Nlc3NpYmlsaXR5Q2FjaGUqIGNyZWF0
ZSgpOwogICAgIFdFQktJVF9BUEkgc3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOwor
ICAgIFdFQktJVF9BUEkgc3RhdGljIGJvb2wgYWNjZXNzaWJpbGl0eUVuYWJsZWQoKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBpbml0aWFsaXplKFdlYlZpZXcqIHZpZXcpID0gMDsKICAgICB2aXJ0dWFs
IGJvb2wgaXNJbml0aWFsaXplZCgpIGNvbnN0ID0gMDsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlld0NsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViVmlld0NsaWVudC5oCShyZXZpc2lvbiA2NzkxNSkKKysrIFdlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViVmlld0NsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYsMTIgKzI3Niw2IEBA
IHB1YmxpYzoKICAgICAvLyBhY2Nlc3NpYmlsaXR5IG9iamVjdC4KICAgICB2aXJ0dWFsIHZvaWQg
Zm9jdXNBY2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmKSB7
IH0KIAotICAgIC8vIE5vdGlmaWVzIGVtYmVkZGVyIHRoYXQgdGhlIHN0YXRlIG9mIGFuIGFjY2Vz
c2liaWxpdHkgb2JqZWN0IGhhcyBjaGFuZ2VkLgotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VB
Y2Nlc3NpYmlsaXR5T2JqZWN0U3RhdGUoY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpIHsg
fQotICAgIAotICAgIC8vIE5vdGlmaWVzIGVtYmVkZGVyIHRoYXQgdGhlIGNoaWxkcmVuIG9mIGFu
IGFjY2Vzc2liaWxpdHkgb2JqZWN0IGhhcyBjaGFuZ2VkLgotICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0Q2hpbGRyZW4oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9i
amVjdCYpIHsgfQotICAgIAogICAgIC8vIE5vdGlmaWVzIGVtYmVkZGVyIGFib3V0IGFuIGFjY2Vz
c2liaWxpdHkgbm90aWZpY2F0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbihjb25zdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgV2ViQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbikgeyB9CiAKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21l
Q2xpZW50SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVD
bGllbnRJbXBsLmNwcAkocmV2aXNpb24gNjc5MTUpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTcsNyArMjU3LDkgQEAgdm9p
ZCBDaHJvbWVDbGllbnRJbXBsOjpmb2N1c2VkTm9kZUNoYW5nZQogICAgIGlmICghZG9jdW1lbnQp
IHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsKLSAgICB9
IAorICAgIH0KKworICAgIC8vIFRPRE86IFJlbW92ZSBvbmNlIHRoZSBGb2N1c2VkVUlFbGVtZW50
Q2hhbmdlZCBub3RpZmljYXRpb24gaXMgaGFuZGxlZCBkb3duc3RyZWFtLgogICAgIGlmIChkb2N1
bWVudCAmJiBkb2N1bWVudC0+YXhPYmplY3RDYWNoZSgpLT5hY2Nlc3NpYmlsaXR5RW5hYmxlZCgp
KSB7CiAgICAgICAgIC8vIFJldHJpZXZlIHRoZSBmb2N1c2VkIEFjY2Vzc2liaWxpdHlPYmplY3Qu
CiAgICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGZvY3VzZWRBY2NPYmogPQpAQCAtNzYwLDIw
ICs3NjIsNiBAQCB2b2lkIENocm9tZUNsaWVudEltcGw6OmdldFBvcHVwTWVudUluZm8oCiAgICAg
aW5mby0+cmlnaHRBbGlnbmVkID0gcG9wdXBDb250YWluZXItPm1lbnVTdHlsZSgpLnRleHREaXJl
Y3Rpb24oKSA9PSBSVEw7CiB9CiAKLXZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNj
ZXNzaWJpbGl0eU9iamVjdFN0YXRlKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKLXsKLSAgICAv
LyBBbGVydCBhc3Npc3RpdmUgdGVjaG5vbG9neSBhYm91dCB0aGUgYWNjZXNzaWJpbGl0eSBvYmpl
Y3Qgc3RhdGUgY2hhbmdlCi0gICAgaWYgKG9iaikKLSAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQo
KS0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdFN0YXRlKFdlYkFjY2Vzc2liaWxpdHlPYmpl
Y3Qob2JqKSk7Ci19Ci0KLXZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdENoaWxkcmVuKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKLXsK
LSAgICAvLyBBbGVydCBhc3Npc3RpdmUgdGVjaG5vbG9neSBhYm91dCB0aGUgYWNjZXNzaWJpbGl0
eSBvYmplY3QgY2hpbGRyZW4gY2hhbmdlCi0gICAgaWYgKG9iaikKLSAgICAgICAgbV93ZWJWaWV3
LT5jbGllbnQoKS0+ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkFjY2Vz
c2liaWxpdHlPYmplY3Qob2JqKSk7Ci19Ci0KIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9zdEFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE9iamVj
dENhY2hlOjpBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCiB7CiAgICAgLy8gQWxlcnQgYXNz
aXN0aXZlIHRlY2hub2xvZ3kgYWJvdXQgdGhlIGFjY2Vzc2liaWxpdHkgb2JqZWN0IG5vdGlmaWNh
dGlvbi4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCShyZXZpc2lv
biA2NzkxNSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjYsOCArMTY2LDYgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBib3VuZHMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgaGFuZGxlRXh0ZXJuYWxseSk7CiAgICAgdmlydHVhbCB2b2lk
IHBvcHVwQ2xvc2VkKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5lcik7Ci0g
ICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vz
c2liaWxpdHlPYmplY3RDaGlsZHJlbihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAg
ICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlv
bik7CiAKICAgICAvLyBDaHJvbWVDbGllbnRJbXBsOgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJBY2Nlc3NpYmlsaXR5Q2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1
bS9zcmMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmNwcAkocmV2aXNpb24gNjc5MTUpCisrKyBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkFjY2Vzc2liaWxpdHlDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQyLDQgKzQyLDkgQEAgdm9pZCBXZWJBY2Nlc3NpYmlsaXR5Q2FjaGU6OmVuYWJsZUFjY2Vz
cwogICAgIEFYT2JqZWN0Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKIH0KIAorYm9vbCBX
ZWJBY2Nlc3NpYmlsaXR5Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkKK3sKKyAgICByZXR1
cm4gQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKTsKK30KKwogfQpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNjc5MTkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwzMyBAQAorMjAxMC0wOS0yMCAgQ2hyaXMgR3VpbGxvcnkgICA8Y2hyaXMu
Z3VpbGxvcnlAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBTZW5kIHdlYmtpdCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgdG8g
Q2hyb21pdW0uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NTE1NgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1D
aGVja2VkU3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1G
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLU1lbnVMaXN0VmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxh
cHNlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Um93RXhwYW5kZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdl
ZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0
eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9u
LVNlbGVjdGVkVGV4dENoYW5nZWQuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNh
dGlvbi5qczoKKyAgICAgICAgKHRlc3QpOgorCiAyMDEwLTA5LTIwICBBbmRyZXcgV2lsc29uICA8
YXR3aWxzb25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZXhwZWN0YXRpb25z
IHVwZGF0ZSBmb3IgcjY3ODk4LgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hhbmdlZC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVEZXNjZW5kYW50Q2hh
bmdlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw2IEBACitBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uIC0gRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgLSBpZDp1bC1mb3It
QWN0aXZlRGVzY2VuZGFudENoYW5nZWQKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBGb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZCAtIGlkOnIxCiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
QWN0aXZlRGVzY2VuZGFudENoYW5nZWQgLSBpZDp1bC1mb3ItQWN0aXZlRGVzY2VuZGFudENoYW5n
ZWQKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29tcGxldGUKIFRoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIEFjdGl2ZURlc2NlbmRhbnRDaGFu
Z2VkIG5vdGlmaWNhdGlvbi4KIGxpMQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNrZWRTdGF0ZUNoYW5nZWQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA2NzkxNSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hlY2tlZFN0YXRlQ2hhbmdlZC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMiArMSwzIEBACiBBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIC0gQ2hlY2tlZFN0YXRlQ2hhbmdlZCAtIGlkOmNoZWNrYm94LWZvci1DaGVja2Vk
U3RhdGVDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCiBU
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBDaGVja2VkU3Rh
dGVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNoYW5nZWQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw1IEBACiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
IC0gQ2hpbGRyZW5DaGFuZ2VkIC0gaWQ6ZGl2LWZvci1DaGlsZHJlbkNoYW5nZWQKK0FjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb24gLSBMYXlvdXRDb21wbGV0ZQorQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSBy
ZWNpZXZlcyB0aGUgQ2hpbGRyZW5DaGFuZ2VkIG5vdGlmaWNhdGlvbi4KIHRleHQKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2NzkxNSkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xICsxLDQgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBGb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZCAtIGlkOmRpdi1mb3ItRm9jdXNlZFVJRWxlbWVudENoYW5nZWQKK0FjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29tcGxldGUKIFRoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIG5vdGlm
aWNhdGlvbi4KK2RpdgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdlZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxlbWVudENoYW5nZWQuaHRtbAkocmV2aXNpb24g
Njc5MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTIsMTMgKzIsMTUgQEAKIDxoZWFkPgogPHNjcmlwdD4KICAgICBmdW5jdGlvbiB0ZXN0
Tm90aWZpY2F0aW9uKCkgewotICAgICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9y
dCAtIHNlZSBoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZAorICAgICAgICBkb2N1bWVudC5i
b2R5LmNoaWxkcmVuWzBdLmZvY3VzKCk7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eSBvbmxvYWQ9InRlc3QoKSI+CiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJl
Y2lldmVzIHRoZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCiAKKzxkaXYg
aWQ9ImRpdi1mb3ItRm9jdXNlZFVJRWxlbWVudENoYW5nZWQiIGFyaWEtaGVscD0iZGl2LWZvci1G
b2N1c2VkVUlFbGVtZW50Q2hhbmdlZCIgdGFiaW5kZXg9Ii0xIj5kaXY8L2Rpdj4KKwogPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2Ny
aXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEgKzEsMyBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExheW91
dENvbXBsZXRlCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCiBUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBMYXlvdXRDb21wbGV0
ZSBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1MYXlvdXRDb21wbGV0ZS5odG1sCShyZXZpc2lvbiA2NzkxNSkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TGF5b3V0Q29tcGxldGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMiwxMyArMiwxNiBAQAogPGhl
YWQ+CiA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7Ci0gICAgICAg
IC8vIE1hYyBzcGVjaWZpYworICAgICAgICAvLyBUcmlnZXIgbGF5b3V0IG9wZXJhdGlvbi4KKyAg
ICAgICAgZG9jdW1lbnQuYm9keS5jaGlsZHJlblswXS5zdHlsZS53aWR0aCA9IDUwMDsKICAgICB9
CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0idGVzdCgpIj4KIFRoaXMgdGVzdHMg
dGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExheW91dENvbXBsZXRlIG5vdGlm
aWNhdGlvbi4KIAorPGRpdiBpZD0iZGl2LWZvci1MYXlvdXRDb21wbGV0ZSIgYXJpYS1oZWxwPSJk
aXYtZm9yLUxheW91dENvbXBsZXRlIj48ZGl2PjwvZGl2PjwvZGl2PgorCiA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb3N0LW5vdGlmaWNhdGlvbi5qcyI+PC9zY3JpcHQ+CiA8
L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSwyICsxLDMgQEAKIEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBM
aXZlUmVnaW9uQ2hhbmdlZCAtIGlkOnVsLWZvci1MaXZlUmVnaW9uQ2hhbmdlZAorQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTGl2ZVJlZ2lvbkNoYW5nZWQgbm90aWZpY2F0aW9uLgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRD
b21wbGV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEgKzEsMiBAQAorQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9t
aXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgTG9hZENvbXBsZXRlIG5vdGlmaWNhdGlvbi4KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxl
dGUuaHRtbAkocmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDkgKzEsNyBAQAogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQ+Ci0gICAg
ZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKLSAgICAgICAgLy8gTWFjIHNwZWNpZmljCi0g
ICAgfQorICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7IH0KIDwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hh
bmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1NZW51TGlzdFZhbHVlQ2hh
bmdlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMiArMSwzIEBACiBBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uIC0gTWVudUxpc3RWYWx1ZUNoYW5nZWQgLSBpZDpzZWxlY3QtZm9y
LU1lbnVMaXN0VmFsdWVDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENv
bXBsZXRlCiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBN
ZW51TGlzdFZhbHVlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29sbGFw
c2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIgKzEsMyBAQAogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
biAtIFJvd0NvbGxhcHNlZCAtIGlkOmRpdi1mb3ItUm93Q29sbGFwc2VkCitBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29y
cmVjdGx5IHJlY2lldmVzIHRoZSBSb3dDb2xsYXBzZWQgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291
bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvdW50
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMiArMSwzIEBACiBBY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gUm93Q291bnRDaGFuZ2VkIC0gaWQ6ZGl2LWZvci1Sb3dD
b3VudENoYW5nZWQKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29tcGxldGUKIFRo
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJvd0NvdW50Q2hh
bmdlZCBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjc5
MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0V4cGFuZGVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSwyICsxLDMgQEAKIEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dFeHBhbmRlZCAtIGlk
OmRpdi1mb3ItUm93RXhwYW5kZWQKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29t
cGxldGUKIFRoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFJv
d0V4cGFuZGVkIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5jaG9yLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxLDYgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24g
LSBTY3JvbGxlZFRvQW5jaG9yIC0gaWQ6YS1mb3ItU2Nyb2xsZWRUb0FuY2hvcgorQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbiAtIENoaWxkcmVuQ2hhbmdlZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExheW91
dENvbXBsZXRlCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCiBUaGlz
IHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTY3JvbGxlZFRvQW5j
aG9yIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9z
dC1ub3RpZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCShyZXZpc2lvbiA2NzkxNSkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmlj
YXRpb24tU2Nyb2xsZWRUb0FuY2hvci5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE0ICsxLDE5
IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KLSAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgewotICAgICAgICAvLyBOb3Qgc2VudCB0byB0aGUgY2hyb21pdW0gcG9ydCAtIHNlZSBo
YW5kbGVTY3JvbGxlZFRvQW5jaG9yCisgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsK
KyAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnI2EtZm9yLVNjcm9sbGVkVG9BbmNob3In
OworCisgICAgICAgIC8vIFJlbW92ZSBlbGVtZW50IHRvIHByZXZlbnQgYW5vdGhlciBzY3JvbGwg
bm90aWZpY2F0aW9uLiBBcHBlYXJzIHRvIHJlcHJvIHdoZW4gdGVzdCBpcyBydW4gaW4gaXNvbGF0
aW9uLgorICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmJvZHkuY2hp
bGRyZW5bMF0pOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJ0ZXN0
KCkiPgogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2Ny
b2xsZWRUb0FuY2hvciBub3RpZmljYXRpb24uCiAKKzxhIGlkPSJhLWZvci1TY3JvbGxlZFRvQW5j
aG9yIiBhcmlhLWhlbHA9ImEtZm9yLVNjcm9sbGVkVG9BbmNob3IiPjwvYT4KKwogPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0
PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hh
bmdlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMiArMSwzIEBACiBBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uIC0gU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQgLSBpZDpzZWxlY3Qt
Zm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
TG9hZENvbXBsZXRlCiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVz
IHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
U2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxl
Y3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjc5MTUpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNl
bGVjdGVkVGV4dENoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxLDQg
QEAKLVRoaXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVj
dGVkVGV4dENoYW5nZWQgbm90aWZpY2F0aW9uLgorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIC0gaWQ6dGV4dC1mb3ItU2VsZWN0ZWRUZXh0Q2hhbmdl
ZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFNlbGVjdGVkVGV4dENoYW5nZWQgLSBpZDp0
ZXh0LWZvci1TZWxlY3RlZFRleHRDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0g
TG9hZENvbXBsZXRlCitUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVz
IHRoZSBTZWxlY3RlZFRleHRDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxl
Y3RlZFRleHRDaGFuZ2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFu
Z2VkLmh0bWwJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsMTMgKzIsMTUgQEAKIDxoZWFkPgogPHNjcmlwdD4KICAg
ICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkgewotICAgICAgICAvLyBNYWMgc3BlY2lmaWMg
LSBzZWUgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZQorICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dC1mb3ItU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpLnNlbGVj
dCgpOwogICAgIH0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgog
VGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRU
ZXh0Q2hhbmdlZCBub3RpZmljYXRpb24uCiAKKzxpbnB1dCBpZD0idGV4dC1mb3ItU2VsZWN0ZWRU
ZXh0Q2hhbmdlZCIgYXJpYS1oZWxwPSJ0ZXh0LWZvci1TZWxlY3RlZFRleHRDaGFuZ2VkIiB2YWx1
ZT0idGV4dCIgdHlwZT10ZXh0IC8+CisKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9InBvc3Qtbm90aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZh
bHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY3OTE1KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNo
YW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIgKzEsMyBAQAogQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbiAtIFZhbHVlQ2hhbmdlZCAtIGlkOnRleHQtZm9yLVZhbHVlQ2hh
bmdlZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0
cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgVmFsdWVDaGFuZ2VkIG5vdGlm
aWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCShyZXZpc2lv
biA2NzkxNSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkv
cG9zdC1ub3RpZmljYXRpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDUgKzIxLDUgQEAgZnVu
Y3Rpb24gdGVzdCgpIHsKICAgdGVzdE5vdGlmaWNhdGlvbigpOwogCiAgIC8vIFVzZSBzZXRUaW1l
b3V0IHNvIHRoYXQgYXN5bmNocm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyBjYW4g
YmUgcHJvY2Vzc2VkLgotICBzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsKKyAgc2V0VGltZW91dCgi
c2V0VGltZW91dCh0ZXN0RG9uZSwgMCk7IiwgMCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68389</attachid>
            <date>2010-09-22 10:20:21 -0700</date>
            <delta_ts>2010-09-24 00:51:58 -0700</delta_ts>
            <desc>Reland patch</desc>
            <filename>MyPatch.txt</filename>
            <type>text/plain</type>
            <size>31281</size>
            <attacher name="Chris Guillory">ctguil</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODA1MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTAtMDktMjIgIENocmlzIEd1aWxsb3J5ICAgPGNocmlzLmd1aWxs
b3J5QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgU2VuZCB3ZWJraXQgYWNjZXNzaWJpbGl0eSBub3RpZmljYXRpb25zIHRvIENocm9t
aXVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUx
NTYKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2No
cm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9i
amVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAgICAg
ICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbXBsaWNp
dENsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRGb2N1c2VkTm9kZSk6Cisg
ICAgICAgICogZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9D
aHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cG9zdEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24pOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKwogMjAxMC0wOS0yMiAgTWFydGlu
IFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
WGFuIExvcGV6LgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDY4MDUwKQorKysgV2ViQ29yZS9XZWJDb3JlLmd5
cGkJKHdvcmtpbmcgY29weSkKQEAgLTEzMzMsNiArMTMzMyw3IEBACiAgICAgICAgICAgICAnZG9t
L1hNTERvY3VtZW50UGFyc2VyUXQuY3BwJywKICAgICAgICAgICAgICdlZGl0aW5nL2FuZHJvaWQv
RWRpdG9yQW5kcm9pZC5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvY2hyb21pdW0vRWRpdG9y
Q2hyb21pdW0uY3BwJywKKyAgICAgICAgICAgICdlZGl0aW5nL2Nocm9taXVtL1NlbGVjdGlvbkNv
bnRyb2xsZXJDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvbWFjL0VkaXRvck1h
Yy5tbScsCiAgICAgICAgICAgICAnZWRpdGluZy9tYWMvU2VsZWN0aW9uQ29udHJvbGxlck1hYy5t
bScsCiAgICAgICAgICAgICAnZWRpdGluZy9xdC9FZGl0b3JRdC5jcHAnLApJbmRleDogV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2FjaGVDaHJv
bWl1bS5jcHAJKHJldmlzaW9uIDY4MDUwKQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2Nocm9t
aXVtL0FYT2JqZWN0Q2FjaGVDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDE1ICs1
NCwxNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhCiAgICAgaWYg
KCFjbGllbnQpCiAgICAgICAgIHJldHVybjsKIAotICAgIC8vIFRPRE86IFJlbW92ZSBhZnRlciB0
aGUgbmV3IHBvc3RBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIGlzIHVzZWQgZG93bnN0cmVhbS4K
ICAgICBzd2l0Y2ggKG5vdGlmaWNhdGlvbikgewotICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFu
Z2VkOgotICAgICAgICBjbGllbnQtPmRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShv
YmopOworICAgIGNhc2UgQVhBY3RpdmVEZXNjZW5kYW50Q2hhbmdlZDoKKyAgICAgICAgaWYgKCFv
YmotPmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCkgfHwgKG9iai0+bm9kZSgpICE9IG9iai0+ZG9j
dW1lbnQoKS0+Zm9jdXNlZE5vZGUoKSkpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICAv
LyBDYWxsaW5nIGhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIHdpbGwgZm9jdXMgdGhlIG5l
dyBhY3RpdmUKKyAgICAgICAgLy8gZGVzY2VuZGFudCBhbmQgc2VuZCB0aGUgQVhGb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCisgICAgICAgIGhhbmRsZUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkKDAsIG9iai0+ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKS0+cmVuZGVyZXIoKSk7
CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhDaGVja2VkU3RhdGVDaGFuZ2VkOgogICAgIGNh
c2UgQVhDaGlsZHJlbkNoYW5nZWQ6Ci0gICAgICAgIGNsaWVudC0+ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdENoaWxkcmVuKG9iaik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQVhBY3Rp
dmVEZXNjZW5kYW50Q2hhbmdlZDoKICAgICBjYXNlIEFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQ6
CiAgICAgY2FzZSBBWExheW91dENvbXBsZXRlOgogICAgIGNhc2UgQVhMaXZlUmVnaW9uQ2hhbmdl
ZDoKQEAgLTgxLDEyICs4MywyNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5v
dGlmaWNhCiAgICAgY2xpZW50LT5wb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihvYmosIG5v
dGlmaWNhdGlvbik7ICAgICAgICAKIH0KIAotdm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVGb2N1
c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3QqLCBSZW5kZXJPYmplY3QqKQordm9pZCBB
WE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZChSZW5kZXJPYmplY3Qq
LCBSZW5kZXJPYmplY3QqIG5ld0ZvY3VzZWRSZW5kZXJlcikKIHsKKyAgICBpZiAoIW5ld0ZvY3Vz
ZWRSZW5kZXJlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgUGFnZSogcGFnZSA9IG5ld0ZvY3Vz
ZWRSZW5kZXJlci0+ZG9jdW1lbnQoKS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogZm9jdXNlZE9iamVjdCA9IGZvY3Vz
ZWRVSUVsZW1lbnRGb3JQYWdlKHBhZ2UpOworICAgIGlmICghZm9jdXNlZE9iamVjdCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKGZvY3VzZWRPYmplY3Qs
IEFYRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOwogfQogCi12b2lkIEFYT2JqZWN0Q2FjaGU6Omhh
bmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSopCit2b2lkIEFYT2JqZWN0Q2FjaGU6Omhh
bmRsZVNjcm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSogYW5jaG9yTm9kZSkKIHsKKyAgICAvLyBU
aGUgYW5jaG9yIG5vZGUgbWF5IG5vdCBiZSBhY2Nlc3NpYmxlLiBQb3N0IHRoZSBub3RpZmljYXRp
b24gZm9yIHRoZQorICAgIC8vIGZpcnN0IGFjY2Vzc2libGUgb2JqZWN0LgorICAgIHBvc3RQbGF0
Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0OjpmaXJzdEFjY2Vzc2libGVPYmpl
Y3RGcm9tTm9kZShhbmNob3JOb2RlKSwgQVhTY3JvbGxlZFRvQW5jaG9yKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNjgwNTApCisrKyBXZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNTEsNyArMjA1MSw3IEBA
IHZvaWQgRG9jdW1lbnQ6OmltcGxpY2l0Q2xvc2UoKQogICAgICAgICAgICAgdmlldygpLT5sYXlv
dXQoKTsKICAgICB9CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShDSFJPTUlVTSkKICAgICBpZiAoZiAmJiByZW5kZXJPYmplY3QgJiYgdGhpcyA9PSB0
b3BEb2N1bWVudCgpICYmIEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkpIHsK
ICAgICAgICAgLy8gVGhlIEFYIGNhY2hlIG1heSBoYXZlIGJlZW4gY2xlYXJlZCBhdCB0aGlzIHBv
aW50LCBidXQgd2UgbmVlZCB0byBtYWtlIHN1cmUgaXQgY29udGFpbnMgYW4KICAgICAgICAgLy8g
QVggb2JqZWN0IHRvIHNlbmQgdGhlIG5vdGlmaWNhdGlvbiB0by4gZ2V0T3JDcmVhdGUgd2lsbCBt
YWtlIHN1cmUgdGhhdCBhbiB2YWxpZCBBWCBvYmplY3QKQEAgLTMxNjUsNyArMzE2NSw3IEBAIGJv
b2wgRG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKFBhc3NSZWZQdHIKICAgICAgICAgfQogICAgIH0K
IAotI2lmICgoUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShXSU4pKSAmJiAhUExBVEZPUk0oQ0hS
T01JVU0pKSB8fCBQTEFURk9STShHVEspCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShX
SU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgaWYgKCFmb2N1
c0NoYW5nZUJsb2NrZWQgJiYgbV9mb2N1c2VkTm9kZSAmJiBBWE9iamVjdENhY2hlOjphY2Nlc3Np
YmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogb2xkRm9jdXNlZFJlbmRl
cmVyID0gMDsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBuZXdGb2N1c2VkUmVuZGVyZXIgPSAwOwpJ
bmRleDogV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCShyZXZpc2lvbiA2ODA1MCkK
KysrIFdlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI0Nyw3ICsyNDcsNyBAQCBpbmxpbmUgdm9pZCBTZWxlY3Rpb25Db250cm9sbGVyOjpzZXRU
eXBpCiAgICAgbV90eXBpbmdTdHlsZSA9IHN0eWxlOwogfQogCi0jaWYgIShQTEFURk9STShNQUMp
IHx8IFBMQVRGT1JNKEdUSykpCisjaWYgIShQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykg
fHwgUExBVEZPUk0oQ0hST01JVU0pKQogaW5saW5lIHZvaWQgU2VsZWN0aW9uQ29udHJvbGxlcjo6
bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgpCiB7CiB9CkluZGV4OiBXZWJD
b3JlL2VkaXRpbmcvY2hyb21pdW0vU2VsZWN0aW9uQ29udHJvbGxlckNocm9taXVtLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvY2hyb21pdW0vU2VsZWN0aW9uQ29udHJvbGxlckNo
cm9taXVtLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvZWRpdGluZy9jaHJvbWl1bS9TZWxl
Y3Rpb25Db250cm9sbGVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICogCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNlbGVjdGlvbkNvbnRyb2xsZXIuaCIK
KworI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgU2VsZWN0aW9uQ29udHJvbGxlcjo6bm90aWZ5QWNjZXNz
aWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgpCit7CisgICAgLy8gRklYTUU6IFN1cHBvcnQgZWRp
dGFibGUgdGV4dCBpbiBjaHJvbWl1bS4KKyAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJp
bGl0eUVuYWJsZWQoKSAmJiBtX3NlbGVjdGlvbi5zdGFydCgpLmlzTm90TnVsbCgpICYmIG1fc2Vs
ZWN0aW9uLmVuZCgpLmlzTm90TnVsbCgpKSB7CisgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9
IG1fZnJhbWUtPmRvY3VtZW50KCk7CisgICAgICAgIGRvY3VtZW50LT5heE9iamVjdENhY2hlKCkt
PnBvc3ROb3RpZmljYXRpb24obV9zZWxlY3Rpb24uc3RhcnQoKS5ub2RlKCktPnJlbmRlcmVyKCks
IEFYT2JqZWN0Q2FjaGU6OkFYU2VsZWN0ZWRUZXh0Q2hhbmdlZCwgZmFsc2UpOworICAgIH0KK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24g
NjgwNTApCisrKyBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTI3MSw4ICsyNzEsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShQb3B1cE1lbnVD
bGllbnQqKSBjb25zdCA9IDA7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBBWE9iamVjdENhY2hlOjpBWE5v
dGlmaWNhdGlvbikgeyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmls
aXR5T2JqZWN0U3RhdGUoQWNjZXNzaWJpbGl0eU9iamVjdCopIHsgfQotICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKEFjY2Vzc2liaWxpdHlP
YmplY3QqKSB7IH0KIAogICAgIHByb3RlY3RlZDoKICAgICAgICAgdmlydHVhbCB+Q2hyb21lQ2xp
ZW50KCkgeyB9CkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkocmV2aXNpb24gNjgwNTApCisrKyBXZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzk5LDcgKzc5OSw3IEBAIHZv
aWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUKICAgICAKICAgICBtX2xheW91
dENvdW50Kys7CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFU
Rk9STShDSFJPTUlVTSkKICAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJs
ZWQoKSkKICAgICAgICAgcm9vdC0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5wb3N0Tm90
aWZpY2F0aW9uKHJvb3QsIEFYT2JqZWN0Q2FjaGU6OkFYTGF5b3V0Q29tcGxldGUsIHRydWUpOwog
I2VuZGlmCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY4MDUwKQorKysgV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEwLTA5LTIy
ICBDaHJpcyBHdWlsbG9yeSAgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgd2Via2l0IGFjY2Vz
c2liaWxpdHkgbm90aWZpY2F0aW9ucyB0byBDaHJvbWl1bS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTU2CisKKyAgICAgICAgKiBwdWJsaWMvV2Vi
QWNjZXNzaWJpbGl0eUNhY2hlLmg6CisgICAgICAgICogcHVibGljL1dlYlZpZXdDbGllbnQuaDoK
KyAgICAgICAgKiBzcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNo
cm9tZUNsaWVudEltcGw6OmZvY3VzZWROb2RlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OkNo
cm9tZUNsaWVudEltcGw6OmdldFBvcHVwTWVudUluZm8pOgorICAgICAgICAqIHNyYy9DaHJvbWVD
bGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL1dlYkFjY2Vzc2liaWxpdHlDYWNoZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJs
ZWQpOgorCiAyMDEwLTA5LTIyICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBXZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkFjY2Vzc2liaWxpdHlDYWNoZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmgJKHJldmlzaW9uIDY4
MDUwKQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJBY2Nlc3NpYmlsaXR5Q2FjaGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJLSVRfQVBJ
IHN0YXRpYyBXZWJBY2Nlc3NpYmlsaXR5Q2FjaGUqIGNyZWF0ZSgpOwogICAgIFdFQktJVF9BUEkg
c3RhdGljIHZvaWQgZW5hYmxlQWNjZXNzaWJpbGl0eSgpOworICAgIFdFQktJVF9BUEkgc3RhdGlj
IGJvb2wgYWNjZXNzaWJpbGl0eUVuYWJsZWQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFs
aXplKFdlYlZpZXcqIHZpZXcpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNJbml0aWFsaXplZCgp
IGNvbnN0ID0gMDsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5oCShy
ZXZpc2lvbiA2ODA1MCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlld0NsaWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNzYsMTIgKzI3Niw2IEBAIHB1YmxpYzoKICAgICAvLyBhY2Nl
c3NpYmlsaXR5IG9iamVjdC4KICAgICB2aXJ0dWFsIHZvaWQgZm9jdXNBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KGNvbnN0IFdlYkFjY2Vzc2liaWxpdHlPYmplY3QmKSB7IH0KIAotICAgIC8vIE5vdGlmaWVz
IGVtYmVkZGVyIHRoYXQgdGhlIHN0YXRlIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0IGhhcyBj
aGFuZ2VkLgotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2JqZWN0U3Rh
dGUoY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpIHsgfQotICAgIAotICAgIC8vIE5vdGlm
aWVzIGVtYmVkZGVyIHRoYXQgdGhlIGNoaWxkcmVuIG9mIGFuIGFjY2Vzc2liaWxpdHkgb2JqZWN0
IGhhcyBjaGFuZ2VkLgotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Q2hpbGRyZW4oY29uc3QgV2ViQWNjZXNzaWJpbGl0eU9iamVjdCYpIHsgfQotICAgIAogICAg
IC8vIE5vdGlmaWVzIGVtYmVkZGVyIGFib3V0IGFuIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9u
LgogICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihjb25zdCBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0JiwgV2ViQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbikgeyB9
CiAKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmNwcAkocmV2aXNp
b24gNjgwNTApCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNTYsNyArMjU2LDkgQEAgdm9pZCBDaHJvbWVDbGllbnRJbXBsOjpm
b2N1c2VkTm9kZUNoYW5nZQogICAgIGlmICghZG9jdW1lbnQpIHsKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsKLSAgICB9IAorICAgIH0KKworICAgIC8vIFRP
RE86IFJlbW92ZSBvbmNlIHRoZSBGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24g
aXMgaGFuZGxlZCBkb3duc3RyZWFtLgogICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC0+YXhP
YmplY3RDYWNoZSgpLT5hY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgIC8vIFJldHJp
ZXZlIHRoZSBmb2N1c2VkIEFjY2Vzc2liaWxpdHlPYmplY3QuCiAgICAgICAgIEFjY2Vzc2liaWxp
dHlPYmplY3QqIGZvY3VzZWRBY2NPYmogPQpAQCAtNzU5LDIwICs3NjEsNiBAQCB2b2lkIENocm9t
ZUNsaWVudEltcGw6OmdldFBvcHVwTWVudUluZm8oCiAgICAgaW5mby0+cmlnaHRBbGlnbmVkID0g
cG9wdXBDb250YWluZXItPm1lbnVTdHlsZSgpLnRleHREaXJlY3Rpb24oKSA9PSBSVEw7CiB9CiAK
LXZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdFN0YXRl
KEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKLXsKLSAgICAvLyBBbGVydCBhc3Npc3RpdmUgdGVj
aG5vbG9neSBhYm91dCB0aGUgYWNjZXNzaWJpbGl0eSBvYmplY3Qgc3RhdGUgY2hhbmdlCi0gICAg
aWYgKG9iaikKLSAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+ZGlkQ2hhbmdlQWNjZXNzaWJp
bGl0eU9iamVjdFN0YXRlKFdlYkFjY2Vzc2liaWxpdHlPYmplY3Qob2JqKSk7Ci19Ci0KLXZvaWQg
Q2hyb21lQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKLXsKLSAgICAvLyBBbGVydCBhc3Npc3Rp
dmUgdGVjaG5vbG9neSBhYm91dCB0aGUgYWNjZXNzaWJpbGl0eSBvYmplY3QgY2hpbGRyZW4gY2hh
bmdlCi0gICAgaWYgKG9iaikKLSAgICAgICAgbV93ZWJWaWV3LT5jbGllbnQoKS0+ZGlkQ2hhbmdl
QWNjZXNzaWJpbGl0eU9iamVjdENoaWxkcmVuKFdlYkFjY2Vzc2liaWxpdHlPYmplY3Qob2JqKSk7
Ci19Ci0KIHZvaWQgQ2hyb21lQ2xpZW50SW1wbDo6cG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlv
biBub3RpZmljYXRpb24pCiB7CiAgICAgLy8gQWxlcnQgYXNzaXN0aXZlIHRlY2hub2xvZ3kgYWJv
dXQgdGhlIGFjY2Vzc2liaWxpdHkgb2JqZWN0IG5vdGlmaWNhdGlvbi4KSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJv
bWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCShyZXZpc2lvbiA2ODA1MCkKKysrIFdlYktpdC9j
aHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsOCAr
MTY2LDYgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiBib3VuZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg
aGFuZGxlRXh0ZXJuYWxseSk7CiAgICAgdmlydHVhbCB2b2lkIHBvcHVwQ2xvc2VkKFdlYkNvcmU6
OlBvcHVwQ29udGFpbmVyKiBwb3B1cENvbnRhaW5lcik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENo
YW5nZUFjY2Vzc2liaWxpdHlPYmplY3RTdGF0ZShXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Kik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUFjY2Vzc2liaWxpdHlPYmplY3RDaGlsZHJl
bihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RB
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbik7CiAKICAgICAvLyBDaHJvbWVD
bGllbnRJbXBsOgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJBY2Nlc3NpYmlsaXR5Q2Fj
aGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViQWNjZXNzaWJpbGl0
eUNhY2hlLmNwcAkocmV2aXNpb24gNjgwNTApCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkFj
Y2Vzc2liaWxpdHlDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDQgKzQyLDkgQEAgdm9p
ZCBXZWJBY2Nlc3NpYmlsaXR5Q2FjaGU6OmVuYWJsZUFjY2VzcwogICAgIEFYT2JqZWN0Q2FjaGU6
OmVuYWJsZUFjY2Vzc2liaWxpdHkoKTsKIH0KIAorYm9vbCBXZWJBY2Nlc3NpYmlsaXR5Q2FjaGU6
OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkKK3sKKyAgICByZXR1cm4gQVhPYmplY3RDYWNoZTo6YWNj
ZXNzaWJpbGl0eUVuYWJsZWQoKTsKK30KKwogfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjgwNTApCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMyBAQAor
MjAxMC0wOS0yMiAgQ2hyaXMgR3VpbGxvcnkgICA8Y2hyaXMuZ3VpbGxvcnlAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIHdl
YmtpdCBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgdG8gQ2hyb21pdW0uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTE1NgorCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1BY3RpdmVE
ZXNjZW5kYW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2VkU3RhdGVDaGFuZ2VkLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bv
c3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2Vk
VUlFbGVtZW50Q2hhbmdlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdl
ZC5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1u
b3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxl
dGUuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLUxpdmVSZWdpb25DaGFuZ2VkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21w
bGV0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJp
bGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUuaHRtbDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLU1lbnVMaXN0VmFs
dWVDaGFuZ2VkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlv
bi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93RXhwYW5kZWQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tU2Nyb2xsZWRUb0FuY2hvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRvQW5j
aG9yLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1T
ZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5qczoKKyAgICAgICAgKHRl
c3QpOgorCiAyMDEwLTA5LTIyICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZl
RGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQWN0aXZl
RGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2ODA1MCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
QWN0aXZlRGVzY2VuZGFudENoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsNiBAQAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEZvY3VzZWRVSUVsZW1lbnRD
aGFuZ2VkIC0gaWQ6dWwtZm9yLUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uIC0gRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgLSBpZDpyMQogQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbiAtIEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkIC0gaWQ6dWwtZm9yLUFj
dGl2ZURlc2NlbmRhbnRDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENv
bXBsZXRlCiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBB
Y3RpdmVEZXNjZW5kYW50Q2hhbmdlZCBub3RpZmljYXRpb24uCiBsaTEKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tQ2hl
Y2tlZFN0YXRlQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGVja2Vk
U3RhdGVDaGFuZ2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjgwNTApCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoZWNr
ZWRTdGF0ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDIgKzEsMyBA
QAogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoZWNrZWRTdGF0ZUNoYW5nZWQgLSBpZDpj
aGVja2JveC1mb3ItQ2hlY2tlZFN0YXRlQ2hhbmdlZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
biAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNp
ZXZlcyB0aGUgQ2hlY2tlZFN0YXRlQ2hhbmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
Q2hpbGRyZW5DaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUNoaWxkcmVu
Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY4MDUwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1DaGlsZHJlbkNo
YW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNSBAQAogQWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbiAtIENoaWxkcmVuQ2hhbmdlZCAtIGlkOmRpdi1mb3ItQ2hpbGRy
ZW5DaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTGF5b3V0Q29tcGxldGUKK0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29tcGxldGUKIFRoaXMgdGVzdHMgdGhhdCBj
aHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIENoaWxkcmVuQ2hhbmdlZCBub3RpZmljYXRp
b24uCiB0ZXh0CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNjgwNTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSw0IEBACitBY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uIC0gRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgLSBpZDpkaXYtZm9yLUZvY3VzZWRVSUVs
ZW1lbnRDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCiBU
aGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBGb2N1c2VkVUlF
bGVtZW50Q2hhbmdlZCBub3RpZmljYXRpb24uCitkaXYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tRm9jdXNlZFVJRWxl
bWVudENoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUZvY3VzZWRVSUVsZW1lbnRDaGFu
Z2VkLmh0bWwJKHJldmlzaW9uIDY4MDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Gb2N1c2VkVUlFbGVtZW50Q2hhbmdl
ZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDEzICsyLDE1IEBACiA8aGVhZD4KIDxzY3JpcHQ+
CiAgICAgZnVuY3Rpb24gdGVzdE5vdGlmaWNhdGlvbigpIHsKLSAgICAgICAgLy8gTm90IHNlbnQg
dG8gdGhlIGNocm9taXVtIHBvcnQgLSBzZWUgaGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQK
KyAgICAgICAgZG9jdW1lbnQuYm9keS5jaGlsZHJlblswXS5mb2N1cygpOwogICAgIH0KIDwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgogVGhpcyB0ZXN0cyB0aGF0IGNo
cm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgRm9jdXNlZFVJRWxlbWVudENoYW5nZWQgbm90
aWZpY2F0aW9uLgogCis8ZGl2IGlkPSJkaXYtZm9yLUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkIiBh
cmlhLWhlbHA9ImRpdi1mb3ItRm9jdXNlZFVJRWxlbWVudENoYW5nZWQiIHRhYmluZGV4PSItMSI+
ZGl2PC9kaXY+CisKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90
aWZpY2F0aW9uLmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5
b3V0Q29tcGxldGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxl
dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2ODA1MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxLDMgQEAKK0FjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24gLSBMYXlvdXRDb21wbGV0ZQorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgTGF5b3V0Q29tcGxldGUgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MYXlvdXRDb21w
bGV0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTGF5b3V0Q29tcGxldGUuaHRtbAkocmV2aXNp
b24gNjgwNTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxheW91dENvbXBsZXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTIsMTMgKzIsMTYgQEAKIDxoZWFkPgogPHNjcmlwdD4KICAgICBmdW5jdGlvbiB0ZXN0Tm90aWZp
Y2F0aW9uKCkgewotICAgICAgICAvLyBNYWMgc3BlY2lmaWMKKyAgICAgICAgLy8gVHJpZ2VyIGxh
eW91dCBvcGVyYXRpb24uCisgICAgICAgIGRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0uc3R5bGUu
d2lkdGggPSA1MDA7CiAgICAgfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InRl
c3QoKSI+CiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBM
YXlvdXRDb21wbGV0ZSBub3RpZmljYXRpb24uCiAKKzxkaXYgaWQ9ImRpdi1mb3ItTGF5b3V0Q29t
cGxldGUiIGFyaWEtaGVscD0iZGl2LWZvci1MYXlvdXRDb21wbGV0ZSI+PGRpdj48L2Rpdj48L2Rp
dj4KKwogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0icG9zdC1ub3RpZmljYXRp
b24uanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9u
Q2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY4MDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1MaXZlUmVnaW9uQ2hhbmdl
ZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMiArMSwzIEBACiBBY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uIC0gTGl2ZVJlZ2lvbkNoYW5nZWQgLSBpZDp1bC1mb3ItTGl2ZVJlZ2lv
bkNoYW5nZWQKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29tcGxldGUKIFRoaXMg
dGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExpdmVSZWdpb25DaGFu
Z2VkIG5vdGlmaWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Fj
Y2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tTG9hZENvbXBsZXRlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5
L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY4
MDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1Mb2FkQ29tcGxldGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xICsxLDIgQEAKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBMb2FkQ29tcGxldGUKIFRo
aXMgdGVzdHMgdGhhdCBjaHJvbWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIExvYWRDb21wbGV0
ZSBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nl
c3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLUxvYWRDb21wbGV0ZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3Rp
ZmljYXRpb24tTG9hZENvbXBsZXRlLmh0bWwJKHJldmlzaW9uIDY4MDUwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Mb2Fk
Q29tcGxldGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw5ICsxLDcgQEAKIDxodG1sPgogPGhl
YWQ+CiA8c2NyaXB0PgotICAgIGZ1bmN0aW9uIHRlc3ROb3RpZmljYXRpb24oKSB7Ci0gICAgICAg
IC8vIE1hYyBzcGVjaWZpYwotICAgIH0KKyAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0aW9uKCkg
eyB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0idGVzdCgpIj4KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24t
TWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2ODA1MCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRp
b24tTWVudUxpc3RWYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDIgKzEsMyBAQAogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIE1lbnVMaXN0VmFsdWVDaGFu
Z2VkIC0gaWQ6c2VsZWN0LWZvci1NZW51TGlzdFZhbHVlQ2hhbmdlZAorQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJl
Y3RseSByZWNpZXZlcyB0aGUgTWVudUxpc3RWYWx1ZUNoYW5nZWQgbm90aWZpY2F0aW9uLiAgCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90
aWZpY2F0aW9uLVJvd0NvbGxhcHNlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1S
b3dDb2xsYXBzZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2ODA1MCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q29s
bGFwc2VkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyICsxLDMgQEAKIEFjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb24gLSBSb3dDb2xsYXBzZWQgLSBpZDpkaXYtZm9yLVJvd0NvbGxh
cHNlZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0
cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgUm93Q29sbGFwc2VkIG5vdGlm
aWNhdGlvbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxp
dHkvcG9zdC1ub3RpZmljYXRpb24tUm93Q291bnRDaGFuZ2VkLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qt
bm90aWZpY2F0aW9uLVJvd0NvdW50Q2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY4MDUw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1Sb3dDb3VudENoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDIgKzEsMyBAQAogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFJvd0NvdW50Q2hhbmdl
ZCAtIGlkOmRpdi1mb3ItUm93Q291bnRDaGFuZ2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
IC0gTG9hZENvbXBsZXRlCiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2ll
dmVzIHRoZSBSb3dDb3VudENoYW5nZWQgbm90aWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBh
bmRlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDY4MDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
YWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1Sb3dFeHBhbmRlZC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMiArMSwzIEBACiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
IC0gUm93RXhwYW5kZWQgLSBpZDpkaXYtZm9yLVJvd0V4cGFuZGVkCitBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCiBUaGlzIHRlc3RzIHRoYXQgY2hyb21pdW0gY29ycmVj
dGx5IHJlY2lldmVzIHRoZSBSb3dFeHBhbmRlZCBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNj
cm9sbGVkVG9BbmNob3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2Nyb2xsZWRU
b0FuY2hvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY4MDUwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TY3JvbGxlZFRv
QW5jaG9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSw2IEBACitBY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uIC0gU2Nyb2xsZWRUb0FuY2hvciAtIGlkOmEtZm9yLVNjcm9sbGVk
VG9BbmNob3IKK0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNoYW5nZWQKK0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb24gLSBDaGlsZHJlbkNoYW5nZWQKK0FjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb24gLSBMYXlvdXRDb21wbGV0ZQorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAt
IExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3RseSByZWNpZXZl
cyB0aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVk
VG9BbmNob3IuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hY2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAko
cmV2aXNpb24gNjgwNTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3Np
YmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNjcm9sbGVkVG9BbmNob3IuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMiwxMyArMiwxOCBAQAogPGhlYWQ+CiA8c2NyaXB0PgogICAgIGZ1bmN0aW9uIHRl
c3ROb3RpZmljYXRpb24oKSB7Ci0gICAgICAgIC8vIE5vdCBzZW50IHRvIHRoZSBjaHJvbWl1bSBw
b3J0IC0gc2VlIGhhbmRsZVNjcm9sbGVkVG9BbmNob3IKKyAgICAgICAgd2luZG93LmxvY2F0aW9u
LmhyZWYgPSAnI2EtZm9yLVNjcm9sbGVkVG9BbmNob3InOworCisgICAgICAgIC8vIFJlbW92ZSBl
bGVtZW50IHRvIHByZXZlbnQgYW5vdGhlciBzY3JvbGwgbm90aWZpY2F0aW9uLiBBcHBlYXJzIHRv
IHJlcHJvIHdoZW4gdGVzdCBpcyBydW4gaW4gaXNvbGF0aW9uLgorICAgICAgICBkb2N1bWVudC5i
b2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0pOwogICAgIH0KIDwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgogVGhpcyB0ZXN0cyB0aGF0IGNo
cm9taXVtIGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2Nyb2xsZWRUb0FuY2hvciBub3RpZmljYXRp
b24uCiAKKzxhIGlkPSJhLWZvci1TY3JvbGxlZFRvQW5jaG9yIiBhcmlhLWhlbHA9ImEtZm9yLVNj
cm9sbGVkVG9BbmNob3IiPjwvYT4KKwogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0icG9zdC1ub3RpZmljYXRpb24uanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlm
aWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY4
MDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0
LW5vdGlmaWNhdGlvbi1TZWxlY3RlZENoaWxkcmVuQ2hhbmdlZC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMiArMSwzIEBACiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gU2Vs
ZWN0ZWRDaGlsZHJlbkNoYW5nZWQgLSBpZDpzZWxlY3QtZm9yLVNlbGVjdGVkQ2hpbGRyZW5DaGFu
Z2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCiBUaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZENoaWxkcmVuQ2hh
bmdlZCBub3RpZmljYXRpb24uICAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tU2VsZWN0ZWRUZXh0Q2hhbmdlZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gNjgwNTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVNlbGVjdGVkVGV4dENoYW5nZWQtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxLDQgQEAKLVRoaXMgdGVzdHMgdGhhdCBjaHJv
bWl1bSBjb3JyZWN0bHkgcmVjaWV2ZXMgdGhlIFNlbGVjdGVkVGV4dENoYW5nZWQgbm90aWZpY2F0
aW9uLgorQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIEZvY3VzZWRVSUVsZW1lbnRDaGFuZ2Vk
IC0gaWQ6dGV4dC1mb3ItU2VsZWN0ZWRUZXh0Q2hhbmdlZAorQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbiAtIFNlbGVjdGVkVGV4dENoYW5nZWQgLSBpZDp0ZXh0LWZvci1TZWxlY3RlZFRleHRDaGFu
Z2VkCitBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uIC0gTG9hZENvbXBsZXRlCitUaGlzIHRlc3Rz
IHRoYXQgY2hyb21pdW0gY29ycmVjdGx5IHJlY2lldmVzIHRoZSBTZWxlY3RlZFRleHRDaGFuZ2Vk
IG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNj
ZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9w
b3N0LW5vdGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwJKHJldmlzaW9uIDY4MDUw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5v
dGlmaWNhdGlvbi1TZWxlY3RlZFRleHRDaGFuZ2VkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIs
MTMgKzIsMTUgQEAKIDxoZWFkPgogPHNjcmlwdD4KICAgICBmdW5jdGlvbiB0ZXN0Tm90aWZpY2F0
aW9uKCkgewotICAgICAgICAvLyBNYWMgc3BlY2lmaWMgLSBzZWUgbm90aWZ5QWNjZXNzaWJpbGl0
eUZvclNlbGVjdGlvbkNoYW5nZQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4
dC1mb3ItU2VsZWN0ZWRUZXh0Q2hhbmdlZCIpLnNlbGVjdCgpOwogICAgIH0KIDwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVt
IGNvcnJlY3RseSByZWNpZXZlcyB0aGUgU2VsZWN0ZWRUZXh0Q2hhbmdlZCBub3RpZmljYXRpb24u
CiAKKzxpbnB1dCBpZD0idGV4dC1mb3ItU2VsZWN0ZWRUZXh0Q2hhbmdlZCIgYXJpYS1oZWxwPSJ0
ZXh0LWZvci1TZWxlY3RlZFRleHRDaGFuZ2VkIiB2YWx1ZT0idGV4dCIgdHlwZT10ZXh0IC8+CisK
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvc3Qtbm90aWZpY2F0aW9uLmpz
Ij48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24tVmFsdWVDaGFuZ2VkLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9h
Y2Nlc3NpYmlsaXR5L3Bvc3Qtbm90aWZpY2F0aW9uLVZhbHVlQ2hhbmdlZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDY4MDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNz
aWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi1WYWx1ZUNoYW5nZWQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDIgKzEsMyBAQAogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbiAtIFZh
bHVlQ2hhbmdlZCAtIGlkOnRleHQtZm9yLVZhbHVlQ2hhbmdlZAorQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbiAtIExvYWRDb21wbGV0ZQogVGhpcyB0ZXN0cyB0aGF0IGNocm9taXVtIGNvcnJlY3Rs
eSByZWNpZXZlcyB0aGUgVmFsdWVDaGFuZ2VkIG5vdGlmaWNhdGlvbi4gIApJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vYWNjZXNzaWJpbGl0eS9wb3N0LW5vdGlmaWNhdGlvbi5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hY2Nlc3NpYmls
aXR5L3Bvc3Qtbm90aWZpY2F0aW9uLmpzCShyZXZpc2lvbiA2ODA1MCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2FjY2Vzc2liaWxpdHkvcG9zdC1ub3RpZmljYXRpb24uanMJKHdv
cmtpbmcgY29weSkKQEAgLTIwLDYgKzIwLDYgQEAgZnVuY3Rpb24gdGVzdCgpIHsKICAgYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZHVtcEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25zKCk7CiAgIHRl
c3ROb3RpZmljYXRpb24oKTsKIAotICAvLyBVc2Ugc2V0VGltZW91dCBzbyB0aGF0IGFzeW5jaHJv
bm91cyBhY2Nlc3NpYmlsaXR5IG5vdGlmaWNhdGlvbnMgY2FuIGJlIHByb2Nlc3NlZC4KLSAgc2V0
VGltZW91dCh0ZXN0RG9uZSwgMCk7CisgIC8vIFVzZSBzZXRUaW1lb3V0IHNvIHRoYXQgYXN5bmNo
cm9ub3VzIGFjY2Vzc2liaWxpdHkgbm90aWZpY2F0aW9ucyBjYW4gYmUgcHJvY2Vzc2VkLgorICBz
ZXRUaW1lb3V0KCJzZXRUaW1lb3V0KHRlc3REb25lLCAwKTsiLCAwKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>