<?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>105568</bug_id>
          
          <creation_ts>2012-12-20 12:37:40 -0800</creation_ts>
          <short_desc>Implement AutocompleteErrorEvent#reason</short_desc>
          <delta_ts>2013-01-10 14:41:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>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>http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-December/038302.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>100560</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dan Beam">dbeam</reporter>
          <assigned_to name="Dan Beam">dbeam</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>esprehn</cc>
    
    <cc>estade</cc>
    
    <cc>fishd</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ian</cc>
    
    <cc>isherman</cc>
    
    <cc>jamesr</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>paulirish</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>795673</commentid>
    <comment_count>0</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-20 12:37:40 -0800</bug_when>
    <thetext>As talked about on whatwg@whatwg.org [1], the reason for an autocompleteerror event being triggered should be passed along to handlers of the event.

Elliot Sprehn (esprehn@chromium.org) recommended that I subclass Event as AutocompleteErrorEvent and add a read-only string &quot;reason&quot; attribute to the interface. The WebIDL for this looks like:

  interface AutocompleteErrorEvent : Event {
    readonly attribute DOMString reason;
  }

so this is what I plan to implement.

[1] http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-December/038302.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795800</commentid>
    <comment_count>1</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2012-12-20 14:24:12 -0800</bug_when>
    <thetext>If we use a string, developers will try to parse the string.  Let&apos;s use an enumerated value instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795802</commentid>
    <comment_count>2</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-12-20 14:27:18 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; If we use a string, developers will try to parse the string.  Let&apos;s use an enumerated value instead.

This is an enumerated value. The platform in general is moving away from magic numbers and to strings for the enum like values. That&apos;s the reason why they&apos;re all lower case and all one word. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795833</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2012-12-20 14:51:03 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; If we use a string, developers will try to parse the string.  Let&apos;s use an enumerated value instead.
&gt; 
&gt; This is an enumerated value. The platform in general is moving away from magic numbers and to strings for the enum like values. That&apos;s the reason why they&apos;re all lower case and all one word. :)

But with strings, the runtime has no hope of telling you that you&apos;ve made a typo; whereas with named constants, at least in principle you could get a warning/error.  Why does JavaScript hate its users? :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795841</commentid>
    <comment_count>4</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-12-20 15:00:54 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (In reply to comment #1)
&gt; &gt; &gt; If we use a string, developers will try to parse the string.  Let&apos;s use an enumerated value instead.
&gt; &gt; 
&gt; &gt; This is an enumerated value. The platform in general is moving away from magic numbers and to strings for the enum like values. That&apos;s the reason why they&apos;re all lower case and all one word. :)
&gt; 
&gt; But with strings, the runtime has no hope of telling you that you&apos;ve made a typo; whereas with named constants, at least in principle you could get a warning/error.  Why does JavaScript hate its users? :(

If we had AutocompleteErrorEvent.REASON_INVALID it&apos;d end up being a numeric value and developers would just write comparisons against the integer value anyway, we&apos;ve seen this time and time again:

if (errorEvent.reason == 1) ...
else if (errorEvent.reason == 2) ...

Also since this is JS typing AutocompleteErrorEvent.REASON_INAAALID wouldn&apos;t be any kind of error, it would evaluate to undefined and developers would have no idea.

Symbols give you the power to force developers to type the named constant (I&apos;m not sure developers really want that though...), but we&apos;ll have to wait a while before V8 or JSC supports them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795843</commentid>
    <comment_count>5</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-20 15:03:36 -0800</bug_when>
    <thetext>Ilya Sherman: Additionally, JS developers can still fake this themselves, i.e.:

  /** @const @enum {string} */
  var AutocompleteErrorTypes = { REASON_INVALID: &quot;invalid&quot;, ... };</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796028</commentid>
    <comment_count>6</comment_count>
    <who name="Paul Irish">paulirish</who>
    <bug_when>2012-12-20 18:31:16 -0800</bug_when>
    <thetext>the string is probably the most developer-friendly approach here. As a data point, nearly all elem.nodeType checking is checking against integers rather than the enumerated values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796057</commentid>
    <comment_count>7</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2012-12-20 19:19:20 -0800</bug_when>
    <thetext>Additionally, HTMLMediaElement#canPlayType() returns &quot;no&quot;, &quot;maybe&quot;, and &quot;probably&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803056</commentid>
    <comment_count>8</comment_count>
      <attachid>181853</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-08 23:00:48 -0800</bug_when>
    <thetext>Created attachment 181853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803058</commentid>
    <comment_count>9</comment_count>
      <attachid>181853</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-08 23:02:56 -0800</bug_when>
    <thetext>Comment on attachment 181853
Patch

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        Reviewed by NOBODY (OOPS!).

I will add a much more verbose :) changelog entry before I land.

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests (OOPS!).

I will fix this before landing.

&gt; Source/WebCore/ChangeLog:15
&gt; +        * Target.pri:

I dont&apos; think anything but WebCore.gypi was really needed here...

&gt; Source/WebCore/ChangeLog:34
&gt; +        * page/DOMWindow.idl:

I&apos;m not sure if this event would have a &quot;new GlobalEventStyle()&quot; constuctor...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803059</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 23:06:41 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803062</commentid>
    <comment_count>11</comment_count>
      <attachid>181853</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-08 23:13:25 -0800</bug_when>
    <thetext>Comment on attachment 181853
Patch

Attachment 181853 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15766326</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803066</commentid>
    <comment_count>12</comment_count>
      <attachid>181853</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-08 23:16:37 -0800</bug_when>
    <thetext>Comment on attachment 181853
Patch

Attachment 181853 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15764364</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803071</commentid>
    <comment_count>13</comment_count>
      <attachid>181853</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-01-08 23:28:18 -0800</bug_when>
    <thetext>Comment on attachment 181853
Patch

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

&gt; Source/WebCore/DerivedSources.cpp:36
&gt; +#if ENABLE(REQUEST_AUTOCOMPLETE)
&gt; +#include &quot;JSAutocompleteErrorEvent.cpp&quot;
&gt; +#endif

You don&apos;t need to wrap with ENABLE(REQUEST_AUTOCOMPLETE) because the IDL has Conditional=REQUEST_AUTOCOMPLETE.

&gt; Source/WebCore/DerivedSources.make:202
&gt; +    $(WebCore)/dom/AutocompleteErrorEvent.idl \

You need to add entries for the followings to WebCore/WebCore.pbxproj/project.pbxproj:
 AutocompleteErrorEvent.cpp
 AutocompleteErrorEvent.h
 JSAutocompleteErrorEvent.cpp
 JSAutocompleteErrorEvent.h
 DOMAutocompleteErrorEvent.mm
 DOMAutocompleteErrorEvent.h


and add the followings to WebCore/WebCore.vcproj/WebCore.vcproj:
 JSAutocompleteErrorEvent.cpp
 JSAutocompleteErrorEvent.h

&gt; Source/WebCore/dom/AutocompleteErrorEvent.h:14
&gt; + *     * Redistributions of source code must retain the above copyright
&gt; + * notice, this list of conditions and the following disclaimer.
&gt; + *     * Neither the name of Google Inc. nor the names of its
&gt; + * contributors may be used to endorse or promote products derived from
&gt; + * this software without specific prior written permission.
&gt; + *
&gt; + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

This is not the standard copyright header for WebKit contribution.
This should follow Source/WebKit/LICENSE.

&gt; Source/WebCore/dom/AutocompleteErrorEvent.h:30
&gt; +#include &quot;Event.h&quot;

This file should be wrapped with #if ENABLE(REQUEST_AUTOCOMPLETE).

&gt; Source/WebCore/dom/AutocompleteErrorEvent.h:38
&gt; +    AutocompleteErrorEventInit()
&gt; +    {
&gt; +    };

Is this necessary?

&gt; Source/WebCore/dom/DOMAllInOne.cpp:32
&gt; +#if ENABLE(REQUEST_AUTOCOMPLETE)
&gt; +#include &quot;AutocompleteErrorEvent.cpp&quot;
&gt; +#endif

This is unnecessary.  We don&apos;t have AutocompleteErrorEvent.cpp.

&gt; Source/WebCore/html/HTMLFormElement.cpp:65
&gt; +#if ENABLE(REQUEST_AUTOCOMPLETE)
&gt; +#include &quot;AutocompleteErrorEvent.h&quot;
&gt; +#endif

You don&apos;t need to wrap with ENABLE(REQUEST_AUTOCOMPLETE) if the content of AutocompleteErrorEvent.h is wrapped with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803083</commentid>
    <comment_count>14</comment_count>
      <attachid>181860</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-08 23:43:28 -0800</bug_when>
    <thetext>Created attachment 181860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803084</commentid>
    <comment_count>15</comment_count>
      <attachid>181853</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-08 23:43:39 -0800</bug_when>
    <thetext>Comment on attachment 181853
Patch

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

&gt;&gt; Source/WebCore/DerivedSources.cpp:36
&gt;&gt; +#endif
&gt; 
&gt; You don&apos;t need to wrap with ENABLE(REQUEST_AUTOCOMPLETE) because the IDL has Conditional=REQUEST_AUTOCOMPLETE.

Removed.

&gt;&gt; Source/WebCore/DerivedSources.make:202
&gt;&gt; +    $(WebCore)/dom/AutocompleteErrorEvent.idl \
&gt; 
&gt; You need to add entries for the followings to WebCore/WebCore.pbxproj/project.pbxproj:
&gt;  AutocompleteErrorEvent.cpp
&gt;  AutocompleteErrorEvent.h
&gt;  JSAutocompleteErrorEvent.cpp
&gt;  JSAutocompleteErrorEvent.h
&gt;  DOMAutocompleteErrorEvent.mm
&gt;  DOMAutocompleteErrorEvent.h
&gt; 
&gt; 
&gt; and add the followings to WebCore/WebCore.vcproj/WebCore.vcproj:
&gt;  JSAutocompleteErrorEvent.cpp
&gt;  JSAutocompleteErrorEvent.h

Talked to you about this - will try to get away with just WebCore.gypi for now...

&gt;&gt; Source/WebCore/dom/AutocompleteErrorEvent.h:14
&gt;&gt; + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
&gt; 
&gt; This is not the standard copyright header for WebKit contribution.
&gt; This should follow Source/WebKit/LICENSE.

Done.

&gt;&gt; Source/WebCore/dom/AutocompleteErrorEvent.h:30
&gt;&gt; +#include &quot;Event.h&quot;
&gt; 
&gt; This file should be wrapped with #if ENABLE(REQUEST_AUTOCOMPLETE).

Done.

&gt;&gt; Source/WebCore/dom/AutocompleteErrorEvent.h:38
&gt;&gt; +    };
&gt; 
&gt; Is this necessary?

No, I just copied it.  Removed.

&gt;&gt; Source/WebCore/dom/DOMAllInOne.cpp:32
&gt;&gt; +#endif
&gt; 
&gt; This is unnecessary.  We don&apos;t have AutocompleteErrorEvent.cpp.

Removed.

&gt;&gt; Source/WebCore/html/HTMLFormElement.cpp:65
&gt;&gt; +#endif
&gt; 
&gt; You don&apos;t need to wrap with ENABLE(REQUEST_AUTOCOMPLETE) if the content of AutocompleteErrorEvent.h is wrapped with it.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803099</commentid>
    <comment_count>16</comment_count>
      <attachid>181860</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-01-09 00:00:18 -0800</bug_when>
    <thetext>Comment on attachment 181860
Patch

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

&gt; Source/WebCore/dom/AutocompleteErrorEvent.h:2
&gt; + * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.

You wrote this.  This line should be &quot;Copyright (C) 2013 Google Inc. All rights reserved.&quot;

&gt; Source/WebCore/dom/AutocompleteErrorEvent.idl:2
&gt; + * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804011</commentid>
    <comment_count>17</comment_count>
      <attachid>182054</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-09 20:42:42 -0800</bug_when>
    <thetext>Created attachment 182054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804012</commentid>
    <comment_count>18</comment_count>
      <attachid>181860</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-09 20:43:03 -0800</bug_when>
    <thetext>Comment on attachment 181860
Patch

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

&gt;&gt; Source/WebCore/dom/AutocompleteErrorEvent.h:2
&gt;&gt; + * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
&gt; 
&gt; You wrote this.  This line should be &quot;Copyright (C) 2013 Google Inc. All rights reserved.&quot;

Done.

&gt;&gt; Source/WebCore/dom/AutocompleteErrorEvent.idl:2
&gt;&gt; + * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
&gt; 
&gt; Ditto.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804016</commentid>
    <comment_count>19</comment_count>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-09 20:43:30 -0800</bug_when>
    <thetext>Added tests and ChangeLog entries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804023</commentid>
    <comment_count>20</comment_count>
      <attachid>182054</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-09 20:57:19 -0800</bug_when>
    <thetext>Comment on attachment 182054
Patch

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

&gt; LayoutTests/fast/events/constructors/autocomplete-error-event-constructor-expected.txt:1
&gt; +This tests the constructor for the AutocompleteErrorEvent DOM class.

Ah, this needs to be in platform/chromium/, fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804030</commentid>
    <comment_count>21</comment_count>
      <attachid>182058</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-09 21:15:03 -0800</bug_when>
    <thetext>Created attachment 182058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804031</commentid>
    <comment_count>22</comment_count>
      <attachid>182054</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-09 21:15:47 -0800</bug_when>
    <thetext>Comment on attachment 182054
Patch

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

&gt;&gt; LayoutTests/fast/events/constructors/autocomplete-error-event-constructor-expected.txt:1
&gt;&gt; +This tests the constructor for the AutocompleteErrorEvent DOM class.
&gt; 
&gt; Ah, this needs to be in platform/chromium/, fixing.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804151</commentid>
    <comment_count>23</comment_count>
      <attachid>182084</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-10 01:07:38 -0800</bug_when>
    <thetext>Created attachment 182084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804155</commentid>
    <comment_count>24</comment_count>
      <attachid>182084</attachid>
    <who name="Dan Beam">dbeam</who>
    <bug_when>2013-01-10 01:11:56 -0800</bug_when>
    <thetext>Comment on attachment 182084
Patch

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

&gt; LayoutTests/fast/js/script-tests/global-constructors.js:42
&gt; +        name == &quot;FileReader&quot; ||

The only difference between this patch and the last one is that there was an accidental syntax error in the last one fixed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804710</commentid>
    <comment_count>25</comment_count>
      <attachid>182084</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-10 14:04:55 -0800</bug_when>
    <thetext>Comment on attachment 182084
Patch

It looks like you&apos;ve addressed all of tkent&apos;s feedback and this patch looks good to me too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804744</commentid>
    <comment_count>26</comment_count>
      <attachid>182084</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 14:41:40 -0800</bug_when>
    <thetext>Comment on attachment 182084
Patch

Clearing flags on attachment: 182084

Committed r139372: &lt;http://trac.webkit.org/changeset/139372&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804745</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-10 14:41:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181853</attachid>
            <date>2013-01-08 23:00:48 -0800</date>
            <delta_ts>2013-01-08 23:43:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105568-20130108225752.patch</filename>
            <type>text/plain</type>
            <size>20015</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M5ODhiYTk1MjY2ZTFh
NzNlMTUwNjE3Y2ZiYjRhZmEwY2Q3MDk0Yy4uY2E3ZjIwMTA5MTExMDg4NmEwOTI0MGFlOTNlOTVk
MWVjZjhlNzUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAxLTA4ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCNyZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdO
VW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CisgICAgICAgICogZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkF1dG9jb21wbGV0ZUVycm9y
RXZlbnRJbml0OjpBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCk6CisgICAgICAgIChBdXRvY29t
cGxldGVFcnJvckV2ZW50SW5pdCk6CisgICAgICAgIChBdXRvY29tcGxldGVFcnJvckV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpBdXRvY29tcGxldGVFcnJvckV2ZW50Ojppbml0QXV0b2NvbXBsZXRlRXJy
b3JFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpBdXRvY29tcGxldGVFcnJvckV2ZW50OjpyZWFz
b24pOgorICAgICAgICAoV2ViQ29yZTo6QXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6aW50ZXJmYWNl
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpBdXRvY29tcGxldGVFcnJvckV2ZW50OjpBdXRvY29t
cGxldGVFcnJvckV2ZW50KToKKyAgICAgICAgKiBkb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5p
ZGw6IEFkZGVkLgorICAgICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9t
L0V2ZW50TmFtZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0
ZSk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5pZGw6CisKIDIwMTMtMDEtMDggIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFy
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1F0XSBGaXggYnVpbGQgd2l0aCAtLXdlYi1hdWRpbwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAyMTk0MjIxYTljMjI2NTQzZWIxYjY3ZjRlOWZj
Y2RjZmU5MWZlNDFmLi45NTI5ZTE1N2IwMTRlNTQ2MWU5ODU5NDZjYzQ1MTJlOWM5OWQyOGQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTA4ICBE
YW4gQmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudCNyZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwNTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcHVibGljL1dlYkZvcm1FbGVtZW50Lmg6CisgICAgICAgICogc3Jj
L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorCiAyMDEzLTAxLTA4ICBLZWlzaGkgSGF0dG9yaSAg
PGtlaXNoaUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gRG9uJ3QgY29uZmluZSBw
YWdlIHBvcHVwcyB0byByb290IHZpZXcgb24gTWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDZi
Zjk0MmM5ODU5NjY0MDBmZDFhMjFhZmM0MWM2YzkyNWVhY2Q5NmQuLjcwY2I1NTRhNDk3NDU2NmU0
NGYxZGFmMzM4YzhkYmZjN2NlYWY4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zNDEsNiAr
MzQxLDcgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgY3NzL1dlYktpdENTU1ZpZXdwb3J0
UnVsZS5pZGwKIAogICAgIGRvbS9BdHRyLmlkbAorICAgIGRvbS9BdXRvY29tcGxldGVFcnJvckV2
ZW50LmlkbAogICAgIGRvbS9CZWZvcmVMb2FkRXZlbnQuaWRsCiAgICAgZG9tL0NEQVRBU2VjdGlv
bi5pZGwKICAgICBkb20vQ2hhcmFjdGVyRGF0YS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cAppbmRleCBhM2Q3ZjI5MWRlYjE3MTc0MmNlMmUwZTRmNzhkZjlhZmU4Y2JiYjU0Li5lMTNkNGNh
MGY3MjgwZDg5OWY3MDdjZDZmNmRhZDc1Njk4M2Y3Y2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCkBAIC0zMSw2ICszMSw5IEBACiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5jcHAiCiAj
aW5jbHVkZSAiSlNBcnJheUJ1ZmZlclZpZXcuY3BwIgogI2luY2x1ZGUgIkpTQXR0ci5jcHAiCisj
aWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQorI2luY2x1ZGUgIkpTQXV0b2NvbXBsZXRl
RXJyb3JFdmVudC5jcHAiCisjZW5kaWYKICNpbmNsdWRlICJKU0JhckluZm8uY3BwIgogI2luY2x1
ZGUgIkpTQmVmb3JlTG9hZEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU0Jsb2IuY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZTQ5MDUxOTc2Yjc1MGE1YjA4ZWYyZmRkNTNmOGRh
ZDM1N2IwMjRjYS4uMmIwNWZkYjc5OWMzOTA3ODZiYzU2MThkMjJmYzY0ZmE1Y2FlNTRkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xOTksNiArMTk5LDcgQEAgQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9kb20vQXR0ci5pZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0F1dG9jb21wbGV0ZUVy
cm9yRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9CZWZvcmVMb2FkRXZlbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9DREFUQVNlY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9DaGFyYWN0ZXJEYXRhLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggZWJk
NDAzNGVhZDE4NzdmOWIxNzJjODVmM2MyZjc1NDEwN2RhZTc4MS4uMjQ2NDk1MGFlNmUxNGY5ZDUw
NDc0NjM4MTU0YmU0ZjMzYmM2ZjFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAt
MjE2LDYgKzIxNiw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvY3NzL1dlYktpdENT
U1RyYW5zZm9ybVZhbHVlLmlkbCBcCiAgICAgJCRQV0QvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVs
ZS5pZGwgXAogICAgICQkUFdEL2RvbS9BdHRyLmlkbCBcCisgICAgJCRQV0QvZG9tL0F1dG9jb21w
bGV0ZUVycm9yRXZlbnQuaWRsIFwKICAgICAkJFBXRC9kb20vQmVmb3JlTG9hZEV2ZW50LmlkbCBc
CiAgICAgJCRQV0QvZG9tL0NoYXJhY3RlckRhdGEuaWRsIFwKICAgICAkJFBXRC9kb20vQ2xpZW50
UmVjdC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYmFlMjg3OGEwYmZm
NDVlYzVmOTYwY2RkZWRlZDAwMzFhYmVmMTk3Ny4uYjY4ODBhOTU1ZDk4YWE0NzJjZTc1YWRjNjlj
ZDIxMDdlZjRlYjA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC02Nyw2ICs2
Nyw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNB
dWRpb1NvdXJjZU5vZGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9Tb3Vy
Y2VOb2RlLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRvY29tcGxldGVFcnJvckV2
ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dG9jb21wbGV0ZUVycm9yRXZl
bnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0JhckluZm8uY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQmFySW5mby5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
QmVmb3JlTG9hZEV2ZW50LmNwcCBcCkBAIC0xMzQ3LDYgKzEzNDksNyBAQCBkb21fYmluZGluZ19p
ZGxzICs9IFwKIAkkKFdlYkNvcmUpL2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwgXAog
CSQoV2ViQ29yZSkvY3NzL1dlYktpdENTU1ZpZXdwb3J0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkv
ZG9tL0F0dHIuaWRsIFwKKwkkKFdlYkNvcmUpL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50Lmlk
bCBcCiAJJChXZWJDb3JlKS9kb20vQmVmb3JlTG9hZEV2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9k
b20vQ0RBVEFTZWN0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9kb20vQ2hhcmFjdGVyRGF0YS5pZGwg
XApAQCAtMjY5Nyw2ICsyNzAwLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vQXR0ci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmggXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21w
bGV0ZUVycm9yRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpp
bmRleCAxZjRlYmI2ZTMyNTNhOTA1NWMxNWNhNTgxODY3MmQxMGFmMGI2ODU4Li43YzRjOGU1NmEy
MzVjMTI1ZDA3N2E3MmM3MzM3Y2RkN2Q3MzVhYTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTMzNiw2ICsz
MzYsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmNwcCBc
CiAgICAgZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAgXAogICAgIGRvbS9BdHRyLmNwcCBcCisgICAg
ZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuY3BwIFwKICAgICBkb20vQmVmb3JlVGV4dEluc2Vy
dGVkRXZlbnQuY3BwIFwKICAgICBkb20vQmVmb3JlVW5sb2FkRXZlbnQuY3BwIFwKICAgICBkb20v
Q0RBVEFTZWN0aW9uLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMjJjZDc0ZTg4ZmI0Y2M1NTE1
ZjQ1MDYzZGZiM2ZmYTIyYTdlMzE4MS4uNmExZDMxNWUzYjEyZDkwMjNkMDAxYWVhODEzMTJkNzdk
NTNiMjM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTkwLDYgKzE5MCw3IEBACiAgICAgICAgICAg
ICAnY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL1dl
YktpdENTU1ZpZXdwb3J0UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2RvbS9BdHRyLmlkbCcsCisg
ICAgICAgICAgICAnZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaWRsJywKICAgICAgICAgICAg
ICdkb20vQmVmb3JlTG9hZEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0NEQVRBU2VjdGlv
bi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9DaGFyYWN0ZXJEYXRhLmlkbCcsCkBAIC0yNzA2LDYg
KzI3MDcsNyBAQAogICAgICAgICAnd2ViY29yZV9kb21fZmlsZXMnOiBbCiAgICAgICAgICAgICAn
ZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9BdHRyLmNwcCcsCisg
ICAgICAgICAgICAnZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCcsCiAgICAgICAgICAgICAn
ZG9tL0JlZm9yZUxvYWRFdmVudC5oJywKICAgICAgICAgICAgICdkb20vQmVmb3JlVGV4dEluc2Vy
dGVkRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vQmVmb3JlVGV4dEluc2VydGVkRXZlbnQu
aCcsCkBAIC02MDc1LDYgKzYwNzcsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdWRpb0J1ZmZlci5oJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0F1ZGlvQnVmZmVyU291cmNlTm9kZS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5jcHAnLAor
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdXRv
Y29tcGxldGVFcnJvckV2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGFubmVsTWVyZ2VyTm9kZS5jcHAnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGFubmVsTWVyZ2VyTm9k
ZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29t
cGxldGVFcnJvckV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzk3MWNhNzExYTdhYjEyMDU1YzA4YjIwY2Vl
ZTg0ZjVjMzllMzUwYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRv
Y29tcGxldGVFcnJvckV2ZW50LmgKQEAgLTAsMCArMSw5NiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudF9oCisjZGVmaW5lIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRfaAorCisjaW5j
bHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworc3RydWN0IEF1dG9jb21wbGV0ZUVycm9yRXZlbnRJbml0IDogcHVibGljIEV2ZW50
SW5pdCB7CisgICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudEluaXQoKQorICAgIHsKKyAgICB9Owor
CisgICAgU3RyaW5nIHJlYXNvbjsKK307CisKK2NsYXNzIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQg
OiBwdWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHJlYXNvbikK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dChyZWFzb24pKTsKKyAgICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdXRvY29tcGxldGVF
cnJvckV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IEF1
dG9jb21wbGV0ZUVycm9yRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudChldmVudFR5cGUsIGluaXRp
YWxpemVyKSk7CisgICAgfQorCisgICAgdm9pZCBpbml0QXV0b2NvbXBsZXRlRXJyb3JFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2Vs
YWJsZSwgY29uc3QgU3RyaW5nJiByZWFzb24pCisgICAgeworICAgICAgICBpZiAoZGlzcGF0Y2hl
ZCgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGluaXRFdmVudChldmVudFR5cGUs
IGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSk7CisKKyAgICAgICAgbV9yZWFzb24gPSByZWFzb247Cisg
ICAgfQorCisgICAgY29uc3QgU3RyaW5nJiByZWFzb24oKSBjb25zdCB7IHJldHVybiBtX3JlYXNv
bjsgfQorCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBj
b25zdCB7IHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yQXV0b2NvbXBsZXRlRXJyb3JF
dmVudDsgfQorCitwcml2YXRlOgorICAgIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoKQorICAgIHsK
KyAgICB9CisKKyAgICBBdXRvY29tcGxldGVFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgcmVhc29u
KQorICAgICAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVlcnJvckV2ZW50LCBm
YWxzZSwgZmFsc2UpCisgICAgICAgICwgbV9yZWFzb24ocmVhc29uKQorICAgIHsKKyAgICB9CisK
KyAgICBBdXRvY29tcGxldGVFcnJvckV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBl
LCBjb25zdCBBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCisgICAgICAg
IDogRXZlbnQoZXZlbnRUeXBlLCBpbml0aWFsaXplcikKKyAgICAgICAgLCBtX3JlYXNvbihpbml0
aWFsaXplci5yZWFzb24pCisgICAgeworICAgIH0KKworICAgIFN0cmluZyBtX3JlYXNvbjsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEF1dG9jb21wbGV0ZUVycm9y
RXZlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0ZUVycm9y
RXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRhOTE2YzFiMjk3ZGFiYjU0ZjMwZDJiMWI0ZGVlYTZlMDJjN2VmMTgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dC5pZGwKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9D
T01QTEVURSwKKyAgICBDb25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50CitdIGludGVyZmFjZSBBdXRv
Y29tcGxldGVFcnJvckV2ZW50IDogRXZlbnQgeworICAgIHZvaWQgaW5pdEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHR5cGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBib29sZWFuIGNhbkJ1YmJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gY2Fu
Y2VsYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25h
bD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyByZWFzb24pOworICAgIFtJbml0aWFsaXpl
ZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyByZWFzb247
Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcAppbmRleCA3MmU0YTQ4NTVmZmY0Y2Rj
M2ZjZTJmZjkyMTQzMGQyNDg5NzM3Y2E4Li5jNjZhZTk3MjQwOGYwMTliZWQwNzM3OTZlMGMzMjQz
MmJlZjc4Yzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKQEAgLTI3LDYgKzI3LDkg
QEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5jcHAiCiAjaW5jbHVkZSAiQXR0ci5jcHAi
CisjaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQorI2luY2x1ZGUgIkF1dG9jb21wbGV0
ZUVycm9yRXZlbnQuY3BwIgorI2VuZGlmCiAjaW5jbHVkZSAiQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuY3BwIgogI2luY2x1ZGUgIkJlZm9yZVVubG9hZEV2ZW50LmNwcCIKICNpbmNsdWRlICJDREFU
QVNlY3Rpb24uY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCAzNDcxYzA3MTBhYjRj
YTU1MmRjZjUyNDIyMWJmN2Q3ODY2MGVjMTFkLi5jMWMzYjllZjAyMzcxNzVjMzE0ZmFiNzU2MzQx
MGMxNDkzZjc3MjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtNTAsMyArNTAsNCBA
QCBEZXZpY2VQcm94aW1pdHlFdmVudCBjb25kaXRpb25hbD1QUk9YSU1JVFlfRVZFTlRTCiBPcmll
bnRhdGlvbkV2ZW50IGludGVyZmFjZU5hbWU9RXZlbnQsIGNvbmRpdGlvbmFsPU9SSUVOVEFUSU9O
X0VWRU5UUwogTWVkaWFLZXlFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKIFRyYWNr
RXZlbnQgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKK0F1dG9jb21wbGV0ZUVycm9yRXZlbnQgY29u
ZGl0aW9uYWw9UkVRVUVTVF9BVVRPQ09NUExFVEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcAppbmRleCA4YTgzODM4MjI2Nzc0OTljMTJjYWRlNTg4NTUzMTU2MDIxMjgxMGE4
Li4zMjgzY2YxNGY2YjIxM2JlZGRkNmNkNTcxZTUwZjhkYjkyNzJmMDk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC02MCw2ICs2MCwxMCBAQAogI2luY2x1ZGUg
PHd4L2ZpbGVuYW1lLmg+CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVU
RSkKKyNpbmNsdWRlICJBdXRvY29tcGxldGVFcnJvckV2ZW50LmgiCisjZW5kaWYKKwogdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzk5LDcgKzQwMyw3IEBA
IHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlKCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgaWYgKCFzaG91bGRBdXRvY29tcGxldGUoKSB8fCAhU2NyaXB0Q29udHJvbGxl
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpIHsKLSAgICAgICAgZmluaXNoUmVxdWVzdEF1dG9j
b21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHRFcnJvcik7CisgICAgICAgIGZpbmlzaFJlcXVlc3RB
dXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNhYmxlZCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKQEAgLTQxMSw3ICs0MTUsMTggQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6
OnJlcXVlc3RBdXRvY29tcGxldGUoKQogCiB2b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVx
dWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQogewotICAgIFJlZlB0
cjxFdmVudD4gZXZlbnQoRXZlbnQ6OmNyZWF0ZShyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0
U3VjY2VzcyA/IGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVFdmVudCA6IGV2ZW50TmFtZXMoKS5h
dXRvY29tcGxldGVlcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKKyAgICBSZWZQdHI8RXZlbnQ+
IGV2ZW50OworICAgIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcykKKyAg
ICAgICAgZXZlbnQgPSBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVFdmVu
dCwgZmFsc2UsIGZhbHNlKTsKKyAgICBlbHNlIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVz
dWx0RXJyb3IpIC8vIEZJWE1FOiBSZW1vdmUgd2hlbiBubyBsb25nZXIgdXNlZC4KKyAgICAgICAg
ZXZlbnQgPSBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVlcnJvckV2ZW50
LCBmYWxzZSwgZmFsc2UpOworICAgIGVsc2UgaWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1
bHRFcnJvckRpc2FibGVkKQorICAgICAgICBldmVudCA9IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6
OmNyZWF0ZSgiZGlzYWJsZWQiKTsKKyAgICBlbHNlIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRl
UmVzdWx0RXJyb3JDYW5jZWwpCisgICAgICAgIGV2ZW50ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dDo6Y3JlYXRlKCJjYW5jZWwiKTsKKyAgICBlbHNlIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRl
UmVzdWx0RXJyb3JJbnZhbGlkKQorICAgICAgICBldmVudCA9IEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQ6OmNyZWF0ZSgiaW52YWxpZCIpOworCiAgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKICAg
ICBtX3BlbmRpbmdBdXRvY29tcGxldGVFdmVudHMuYXBwZW5kKGV2ZW50LnJlbGVhc2UoKSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCmluZGV4IGQ5YzlhYjUwYjFjMDJiMzg0
YTQ4YWRiMDIxMzZlMTZiMGYwZGVlYzEuLjIzMjIwNjk5ZWQ3NjFhYjM2YzQwMGYyODM5OTg4YWU3
MmYwZWYxYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaApAQCAtOTksNyAr
OTksMTMgQEAgcHVibGljOgogICAgIGJvb2wgY2hlY2tWYWxpZGl0eSgpOwogCiAjaWYgRU5BQkxF
KFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgIGVudW0gQXV0b2NvbXBsZXRlUmVzdWx0IHsgQXV0
b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywgQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IgfTsKKyAgICBl
bnVtIEF1dG9jb21wbGV0ZVJlc3VsdCB7CisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdFN1Y2Nl
c3MsCisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yLCAvLyBGSVhNRTogUmVtb3ZlIHdo
ZW4gbm8gbG9uZ2VyIHVzZWQuCisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yRGlzYWJs
ZWQsCisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yQ2FuY2VsLAorICAgICAgICBBdXRv
Y29tcGxldGVSZXN1bHRFcnJvckludmFsaWQsCisgICAgfTsKIAogICAgIHZvaWQgcmVxdWVzdEF1
dG9jb21wbGV0ZSgpOwogICAgIHZvaWQgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29t
cGxldGVSZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IGM5NmM3MjUyYTJi
OWZmYTkzNWE2NDE1YWVmYTJjNDYzY2NjZGUzMTYuLmZjMzdiMjA0ZDliODI3NGQ3MDBiYmM2OGU1
NDAxNGMyYWQ1ZGRhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTU2Myw2ICs1
NjMsNyBAQAogICAgIFtDb25kaXRpb25hbD1JTlBVVF9TUEVFQ0hdIGF0dHJpYnV0ZSBTcGVlY2hJ
bnB1dEV2ZW50Q29uc3RydWN0b3IgU3BlZWNoSW5wdXRFdmVudDsKICAgICBbQ29uZGl0aW9uYWw9
V0VCR0xdIGF0dHJpYnV0ZSBXZWJHTENvbnRleHRFdmVudENvbnN0cnVjdG9yIFdlYkdMQ29udGV4
dEV2ZW50OwogICAgIFtDb25kaXRpb25hbD1QUk9YSU1JVFlfRVZFTlRTXSBhdHRyaWJ1dGUgRGV2
aWNlUHJveGltaXR5RXZlbnRDb25zdHJ1Y3RvciBEZXZpY2VQcm94aW1pdHlFdmVudDsKKyAgICBb
Q29uZGl0aW9uYWw9UkVRVUVTVF9BVVRPQ09NUExFVEVdIGF0dHJpYnV0ZSBBdXRvY29tcGxldGVF
cnJvckV2ZW50Q29uc3RydWN0b3IgQXV0b2NvbXBsZXRlRXJyb3JFdmVudDsKIAogICAgIGF0dHJp
YnV0ZSBFdmVudEV4Y2VwdGlvbkNvbnN0cnVjdG9yIEV2ZW50RXhjZXB0aW9uOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGb3JtRWxlbWVudC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRm9ybUVsZW1lbnQuaAppbmRleCAyN2M5OWQz
YTE3MTkyZjdkMDgwOGM4N2U3MmNhNWRhOGE2M2I2YzE4Li4wZWQ1ZmI2ZDZjMjJlNmE2OWE4ZDMw
ZDZhYzdkOWY5MTg1OTcwYTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJGb3JtRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkZvcm1FbGVtZW50LmgKQEAgLTY5LDcgKzY5LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
ICAgICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgZ2V0TmFtZWRFbGVtZW50cyhjb25zdCBXZWJTdHJp
bmcmLCBXZWJWZWN0b3I8V2ViTm9kZT4mKTsKICAgICAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGdl
dEZvcm1Db250cm9sRWxlbWVudHMoV2ViVmVjdG9yPFdlYkZvcm1Db250cm9sRWxlbWVudD4mKSBj
b25zdDsKIAotICAgICAgICBlbnVtIEF1dG9jb21wbGV0ZVJlc3VsdCB7IEF1dG9jb21wbGV0ZVJl
c3VsdFN1Y2Nlc3MsIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yIH07CisgICAgICAgIGVudW0gQXV0
b2NvbXBsZXRlUmVzdWx0IHsKKyAgICAgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdFN1Y2Nlc3Ms
CisgICAgICAgICAgICBBdXRvY29tcGxldGVSZXN1bHRFcnJvciwgLy8gRklYTUU6IFJlbW92ZSB3
aGVuIG5vdCB1c2VkIGFueSBtb3JlLgorICAgICAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0RXJy
b3JEaXNhYmxlZCwKKyAgICAgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yQ2FuY2VsLAor
ICAgICAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JJbnZhbGlkLAorICAgICAgICB9Owog
ICAgICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShXZWJG
b3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0KTsKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRB
VElPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0Vu
dW1zLmNwcAppbmRleCBhYmMyZmQ5YmY1NmYyMTgwMTg3MjliNGZiY2E3ZGRmMjVjNmExYzRhLi43
NmIwYjc2NTUyYzY3M2QxNjFhYjU5Njk5YTA1MmJmNTZlZGMxMGM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtNjI4LDQg
KzYyOCw3IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXI6OkNP
UlNNb2RlVXNlQ3JlZGVudGlhbHMsIE1lZGlhUGxheWVyCiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVU
T0NPTVBMRVRFKQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGb3JtRWxlbWVudDo6
QXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywgSFRNTEZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVS
ZXN1bHRTdWNjZXNzKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1l
bnQ6OkF1dG9jb21wbGV0ZVJlc3VsdEVycm9yLCBIVE1MRm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0
ZVJlc3VsdEVycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1l
bnQ6OkF1dG9jb21wbGV0ZVJlc3VsdEVycm9yRGlzYWJsZWQsIEhUTUxGb3JtRWxlbWVudDo6QXV0
b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNhYmxlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRFcnJvckNhbmNlbCwgSFRNTEZv
cm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRFcnJvckNhbmNlbCk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRFcnJvcklu
dmFsaWQsIEhUTUxGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JJbnZhbGlkKTsK
ICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181860</attachid>
            <date>2013-01-08 23:43:28 -0800</date>
            <delta_ts>2013-01-09 20:43:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105568-20130108234032.patch</filename>
            <type>text/plain</type>
            <size>15341</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M5ODhiYTk1MjY2ZTFh
NzNlMTUwNjE3Y2ZiYjRhZmEwY2Q3MDk0Yy4uNzMwMmE4MmFjYjhmMzYxZGU2NDFiYjZmZDQzM2M0
MDYzYTk3YWE5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAxLTA4ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCNyZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIGRvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50Lmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChBdXRvY29tcGxldGVFcnJvckV2ZW50SW5pdCk6Cisg
ICAgICAgIChBdXRvY29tcGxldGVFcnJvckV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkF1dG9j
b21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBdXRvY29tcGxl
dGVFcnJvckV2ZW50Ojppbml0QXV0b2NvbXBsZXRlRXJyb3JFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpBdXRvY29tcGxldGVFcnJvckV2ZW50OjpyZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6
QXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6aW50ZXJmYWNlTmFtZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBdXRvY29tcGxldGVFcnJvckV2ZW50OjpBdXRvY29tcGxldGVFcnJvckV2ZW50KToKKyAgICAg
ICAgKiBkb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIGRv
bS9FdmVudE5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxl
dGUpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogcGFnZS9E
T01XaW5kb3cuaWRsOgorCiAyMDEzLTAxLTA4ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxh
ckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtRdF0gRml4IGJ1aWxkIHdpdGggLS13ZWItYXVkaW8K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMjE5NDIyMWE5YzIyNjU0M2ViMWI2N2Y0ZTlm
Y2NkY2ZlOTFmZTQxZi4uOTUyOWUxNTdiMDE0ZTU0NjFlOTg1OTQ2Y2M0NTEyZTljOTlkMjhkNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMS0wOCAg
RGFuIEJlYW0gIDxkYmVhbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IEF1dG9j
b21wbGV0ZUVycm9yRXZlbnQjcmVhc29uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDU1NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJGb3JtRWxlbWVudC5oOgorICAgICAgICAqIHNy
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKwogMjAxMy0wMS0wOCAgS2Vpc2hpIEhhdHRvcmkg
IDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIERvbid0IGNvbmZpbmUg
cGFnZSBwb3B1cHMgdG8gcm9vdCB2aWV3IG9uIE1hYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDIyY2Q3
NGU4OGZiNGNjNTUxNWY0NTA2M2RmYjNmZmEyMmE3ZTMxODEuLjZhMWQzMTVlM2IxMmQ5MDIzZDAw
MWFlYTgxMzEyZDc3ZDUzYjIzNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE5MCw2ICsxOTAsNyBA
QAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5pZGwnLAogICAgICAg
ICAgICAgJ2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaWRsJywKICAgICAgICAgICAgICdkb20v
QXR0ci5pZGwnLAorICAgICAgICAgICAgJ2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0JlZm9yZUxvYWRFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2Rv
bS9DREFUQVNlY3Rpb24uaWRsJywKICAgICAgICAgICAgICdkb20vQ2hhcmFjdGVyRGF0YS5pZGwn
LApAQCAtMjcwNiw2ICsyNzA3LDcgQEAKICAgICAgICAgJ3dlYmNvcmVfZG9tX2ZpbGVzJzogWwog
ICAgICAgICAgICAgJ2RvbS9BY3RpdmVET01PYmplY3QuY3BwJywKICAgICAgICAgICAgICdkb20v
QXR0ci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmgnLAog
ICAgICAgICAgICAgJ2RvbS9CZWZvcmVMb2FkRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0Jl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL0JlZm9yZVRleHRJ
bnNlcnRlZEV2ZW50LmgnLApAQCAtNjA3NSw2ICs2MDc3LDggQEAKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9CdWZmZXIuaCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1ZGlvQnVm
ZmVyU291cmNlTm9kZS5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1dG9jb21wbGV0ZUVycm9y
RXZlbnQuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oJywKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hhbm5lbE1lcmdlck5vZGUuY3BwJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hh
bm5lbE1lcmdlck5vZGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0N2U3ODRmZWYwZTNk
MGVhMGQ0ZTcxMTczYzczNDM2OWQ5ZjBiZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnRfaAorI2RlZmluZSBBdXRvY29tcGxldGVFcnJvckV2ZW50X2gKKworI2lmIEVOQUJM
RShSRVFVRVNUX0FVVE9DT01QTEVURSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBBdXRvY29tcGxl
dGVFcnJvckV2ZW50SW5pdCA6IHB1YmxpYyBFdmVudEluaXQgeworICAgIFN0cmluZyByZWFzb247
Cit9OworCitjbGFzcyBBdXRvY29tcGxldGVFcnJvckV2ZW50IDogcHVibGljIEV2ZW50IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdXRvY29tcGxldGVFcnJvckV2ZW50PiBjcmVh
dGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdXRvY29tcGxldGVFcnJv
ckV2ZW50KTsKKyAgICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdXRvY29tcGxldGVFcnJv
ckV2ZW50PiBjcmVhdGUoY29uc3QgU3RyaW5nJiByZWFzb24pCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQocmVhc29uKSk7CisgICAgfQor
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4gY3JlYXRlKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBBdXRvY29tcGxldGVFcnJvckV2ZW50
SW5pdCYgaW5pdGlhbGl6ZXIpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoZXZlbnRUeXBlLCBpbml0aWFsaXplcikpOworICAgIH0KKwor
ICAgIHZvaWQgaW5pdEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGNvbnN0IFN0cmluZyYg
cmVhc29uKQorICAgIHsKKyAgICAgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICBpbml0RXZlbnQoZXZlbnRUeXBlLCBjYW5CdWJibGUsIGNhbmNlbGFi
bGUpOworCisgICAgICAgIG1fcmVhc29uID0gcmVhc29uOworICAgIH0KKworICAgIGNvbnN0IFN0
cmluZyYgcmVhc29uKCkgY29uc3QgeyByZXR1cm4gbV9yZWFzb247IH0KKworICAgIHZpcnR1YWwg
Y29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3QgeyByZXR1cm4gZXZlbnRO
YW1lcygpLmludGVyZmFjZUZvckF1dG9jb21wbGV0ZUVycm9yRXZlbnQ7IH0KKworcHJpdmF0ZToK
KyAgICBBdXRvY29tcGxldGVFcnJvckV2ZW50KCkKKyAgICB7CisgICAgfQorCisgICAgQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudChjb25zdCBTdHJpbmcmIHJlYXNvbikKKyAgICAgICAgOiBFdmVudChl
dmVudE5hbWVzKCkuYXV0b2NvbXBsZXRlZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKQorICAgICAg
ICAsIG1fcmVhc29uKHJlYXNvbikKKyAgICB7CisgICAgfQorCisgICAgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXV0b2NvbXBsZXRl
RXJyb3JFdmVudEluaXQmIGluaXRpYWxpemVyKQorICAgICAgICA6IEV2ZW50KGV2ZW50VHlwZSwg
aW5pdGlhbGl6ZXIpCisgICAgICAgICwgbV9yZWFzb24oaW5pdGlhbGl6ZXIucmVhc29uKQorICAg
IHsKKyAgICB9CisKKyAgICBTdHJpbmcgbV9yZWFzb247Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCisKKyNlbmRp
ZiAvLyBBdXRvY29tcGxldGVFcnJvckV2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRv
Y29tcGxldGVFcnJvckV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGQ5NjY4OTZhODgxNTcwMTIwOTUx
NGE4ODdhODM2NmNmOGQ3ZGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0F1dG9jb21wbGV0ZUVycm9yRXZlbnQuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9UkVRVUVTVF9B
VVRPQ09NUExFVEUsCisgICAgQ29uc3RydWN0b3JUZW1wbGF0ZT1FdmVudAorXSBpbnRlcmZhY2Ug
QXV0b2NvbXBsZXRlRXJyb3JFdmVudCA6IEV2ZW50IHsKKyAgICB2b2lkIGluaXRBdXRvY29tcGxl
dGVFcnJvckV2ZW50KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB0
eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVhbiBjYW5CdWJibGUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFu
IGNhbmNlbGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgcmVhc29uKTsKKyAgICBbSW5pdGlh
bGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcmVh
c29uOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCAzNDcxYzA3MTBhYjRjYTU1
MmRjZjUyNDIyMWJmN2Q3ODY2MGVjMTFkLi5jMWMzYjllZjAyMzcxNzVjMzE0ZmFiNzU2MzQxMGMx
NDkzZjc3MjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtNTAsMyArNTAsNCBAQCBE
ZXZpY2VQcm94aW1pdHlFdmVudCBjb25kaXRpb25hbD1QUk9YSU1JVFlfRVZFTlRTCiBPcmllbnRh
dGlvbkV2ZW50IGludGVyZmFjZU5hbWU9RXZlbnQsIGNvbmRpdGlvbmFsPU9SSUVOVEFUSU9OX0VW
RU5UUwogTWVkaWFLZXlFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKIFRyYWNrRXZl
bnQgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKK0F1dG9jb21wbGV0ZUVycm9yRXZlbnQgY29uZGl0
aW9uYWw9UkVRVUVTVF9BVVRPQ09NUExFVEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcAppbmRleCA4YTgzODM4MjI2Nzc0OTljMTJjYWRlNTg4NTUzMTU2MDIxMjgxMGE4Li5k
ZTc5YTcwZTZmNTM2OTI3NzgzNmQ2ODBmYjhmNWY2Yzg1ZTQyZjFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiSFRN
TEZvcm1FbGVtZW50LmgiCiAKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJBdXRv
Y29tcGxldGVFcnJvckV2ZW50LmgiCiAjaW5jbHVkZSAiRE9NRm9ybURhdGEuaCIKICNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtMzk5LDcgKzQwMCw3IEBA
IHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlKCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgaWYgKCFzaG91bGRBdXRvY29tcGxldGUoKSB8fCAhU2NyaXB0Q29udHJvbGxl
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpIHsKLSAgICAgICAgZmluaXNoUmVxdWVzdEF1dG9j
b21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHRFcnJvcik7CisgICAgICAgIGZpbmlzaFJlcXVlc3RB
dXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNhYmxlZCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKQEAgLTQxMSw3ICs0MTIsMTggQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6
OnJlcXVlc3RBdXRvY29tcGxldGUoKQogCiB2b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVx
dWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQogewotICAgIFJlZlB0
cjxFdmVudD4gZXZlbnQoRXZlbnQ6OmNyZWF0ZShyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0
U3VjY2VzcyA/IGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVFdmVudCA6IGV2ZW50TmFtZXMoKS5h
dXRvY29tcGxldGVlcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKKyAgICBSZWZQdHI8RXZlbnQ+
IGV2ZW50OworICAgIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcykKKyAg
ICAgICAgZXZlbnQgPSBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVFdmVu
dCwgZmFsc2UsIGZhbHNlKTsKKyAgICBlbHNlIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRlUmVz
dWx0RXJyb3IpIC8vIEZJWE1FOiBSZW1vdmUgd2hlbiBubyBsb25nZXIgdXNlZC4KKyAgICAgICAg
ZXZlbnQgPSBFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5hdXRvY29tcGxldGVlcnJvckV2ZW50
LCBmYWxzZSwgZmFsc2UpOworICAgIGVsc2UgaWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1
bHRFcnJvckRpc2FibGVkKQorICAgICAgICBldmVudCA9IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6
OmNyZWF0ZSgiZGlzYWJsZWQiKTsKKyAgICBlbHNlIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRl
UmVzdWx0RXJyb3JDYW5jZWwpCisgICAgICAgIGV2ZW50ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dDo6Y3JlYXRlKCJjYW5jZWwiKTsKKyAgICBlbHNlIGlmIChyZXN1bHQgPT0gQXV0b2NvbXBsZXRl
UmVzdWx0RXJyb3JJbnZhbGlkKQorICAgICAgICBldmVudCA9IEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQ6OmNyZWF0ZSgiaW52YWxpZCIpOworCiAgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKICAg
ICBtX3BlbmRpbmdBdXRvY29tcGxldGVFdmVudHMuYXBwZW5kKGV2ZW50LnJlbGVhc2UoKSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCmluZGV4IGQ5YzlhYjUwYjFjMDJiMzg0
YTQ4YWRiMDIxMzZlMTZiMGYwZGVlYzEuLjIzMjIwNjk5ZWQ3NjFhYjM2YzQwMGYyODM5OTg4YWU3
MmYwZWYxYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaApAQCAtOTksNyAr
OTksMTMgQEAgcHVibGljOgogICAgIGJvb2wgY2hlY2tWYWxpZGl0eSgpOwogCiAjaWYgRU5BQkxF
KFJFUVVFU1RfQVVUT0NPTVBMRVRFKQotICAgIGVudW0gQXV0b2NvbXBsZXRlUmVzdWx0IHsgQXV0
b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywgQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IgfTsKKyAgICBl
bnVtIEF1dG9jb21wbGV0ZVJlc3VsdCB7CisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdFN1Y2Nl
c3MsCisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yLCAvLyBGSVhNRTogUmVtb3ZlIHdo
ZW4gbm8gbG9uZ2VyIHVzZWQuCisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yRGlzYWJs
ZWQsCisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yQ2FuY2VsLAorICAgICAgICBBdXRv
Y29tcGxldGVSZXN1bHRFcnJvckludmFsaWQsCisgICAgfTsKIAogICAgIHZvaWQgcmVxdWVzdEF1
dG9jb21wbGV0ZSgpOwogICAgIHZvaWQgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29t
cGxldGVSZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IGM5NmM3MjUyYTJi
OWZmYTkzNWE2NDE1YWVmYTJjNDYzY2NjZGUzMTYuLmZjMzdiMjA0ZDliODI3NGQ3MDBiYmM2OGU1
NDAxNGMyYWQ1ZGRhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTU2Myw2ICs1
NjMsNyBAQAogICAgIFtDb25kaXRpb25hbD1JTlBVVF9TUEVFQ0hdIGF0dHJpYnV0ZSBTcGVlY2hJ
bnB1dEV2ZW50Q29uc3RydWN0b3IgU3BlZWNoSW5wdXRFdmVudDsKICAgICBbQ29uZGl0aW9uYWw9
V0VCR0xdIGF0dHJpYnV0ZSBXZWJHTENvbnRleHRFdmVudENvbnN0cnVjdG9yIFdlYkdMQ29udGV4
dEV2ZW50OwogICAgIFtDb25kaXRpb25hbD1QUk9YSU1JVFlfRVZFTlRTXSBhdHRyaWJ1dGUgRGV2
aWNlUHJveGltaXR5RXZlbnRDb25zdHJ1Y3RvciBEZXZpY2VQcm94aW1pdHlFdmVudDsKKyAgICBb
Q29uZGl0aW9uYWw9UkVRVUVTVF9BVVRPQ09NUExFVEVdIGF0dHJpYnV0ZSBBdXRvY29tcGxldGVF
cnJvckV2ZW50Q29uc3RydWN0b3IgQXV0b2NvbXBsZXRlRXJyb3JFdmVudDsKIAogICAgIGF0dHJp
YnV0ZSBFdmVudEV4Y2VwdGlvbkNvbnN0cnVjdG9yIEV2ZW50RXhjZXB0aW9uOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGb3JtRWxlbWVudC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRm9ybUVsZW1lbnQuaAppbmRleCAyN2M5OWQz
YTE3MTkyZjdkMDgwOGM4N2U3MmNhNWRhOGE2M2I2YzE4Li4wZWQ1ZmI2ZDZjMjJlNmE2OWE4ZDMw
ZDZhYzdkOWY5MTg1OTcwYTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJGb3JtRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkZvcm1FbGVtZW50LmgKQEAgLTY5LDcgKzY5LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
ICAgICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgZ2V0TmFtZWRFbGVtZW50cyhjb25zdCBXZWJTdHJp
bmcmLCBXZWJWZWN0b3I8V2ViTm9kZT4mKTsKICAgICAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGdl
dEZvcm1Db250cm9sRWxlbWVudHMoV2ViVmVjdG9yPFdlYkZvcm1Db250cm9sRWxlbWVudD4mKSBj
b25zdDsKIAotICAgICAgICBlbnVtIEF1dG9jb21wbGV0ZVJlc3VsdCB7IEF1dG9jb21wbGV0ZVJl
c3VsdFN1Y2Nlc3MsIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yIH07CisgICAgICAgIGVudW0gQXV0
b2NvbXBsZXRlUmVzdWx0IHsKKyAgICAgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdFN1Y2Nlc3Ms
CisgICAgICAgICAgICBBdXRvY29tcGxldGVSZXN1bHRFcnJvciwgLy8gRklYTUU6IFJlbW92ZSB3
aGVuIG5vdCB1c2VkIGFueSBtb3JlLgorICAgICAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0RXJy
b3JEaXNhYmxlZCwKKyAgICAgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yQ2FuY2VsLAor
ICAgICAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JJbnZhbGlkLAorICAgICAgICB9Owog
ICAgICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShXZWJG
b3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0KTsKIAogI2lmIFdFQktJVF9JTVBMRU1FTlRB
VElPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0Vu
dW1zLmNwcAppbmRleCBhYmMyZmQ5YmY1NmYyMTgwMTg3MjliNGZiY2E3ZGRmMjVjNmExYzRhLi43
NmIwYjc2NTUyYzY3M2QxNjFhYjU5Njk5YTA1MmJmNTZlZGMxMGM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtNjI4LDQg
KzYyOCw3IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViTWVkaWFQbGF5ZXI6OkNP
UlNNb2RlVXNlQ3JlZGVudGlhbHMsIE1lZGlhUGxheWVyCiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVU
T0NPTVBMRVRFKQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGb3JtRWxlbWVudDo6
QXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywgSFRNTEZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVS
ZXN1bHRTdWNjZXNzKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1l
bnQ6OkF1dG9jb21wbGV0ZVJlc3VsdEVycm9yLCBIVE1MRm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0
ZVJlc3VsdEVycm9yKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1l
bnQ6OkF1dG9jb21wbGV0ZVJlc3VsdEVycm9yRGlzYWJsZWQsIEhUTUxGb3JtRWxlbWVudDo6QXV0
b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNhYmxlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRFcnJvckNhbmNlbCwgSFRNTEZv
cm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRFcnJvckNhbmNlbCk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRFcnJvcklu
dmFsaWQsIEhUTUxGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JJbnZhbGlkKTsK
ICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182054</attachid>
            <date>2013-01-09 20:42:42 -0800</date>
            <delta_ts>2013-01-09 21:15:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105568-20130109203946.patch</filename>
            <type>text/plain</type>
            <size>33179</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk1NTQ1M2VjNjE5MzIz
YjJmOTUyMTNiNTI5YTcxMjFlZjMzMDYyZC4uODljNzNkYjhjMjM3ZWI2YWY0YjgxODk4MzQwZGEw
ZDk1MDg3ZmNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAxLTA5ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCNyZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUt
ZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOiBB
ZGRlZCBBdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbCBhbmQgQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dC5oIGZvciBjaHJvbWl1bSBwb3J0J3MgYnVpbGQuCisgICAgICAgICogZG9tL0F1dG9jb21wbGV0
ZUVycm9yRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKTogQWRkZWQgbmV3IHR5cGUg
b2YgZXJyb3IgbmFtZWQgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC4KKyAgICAgICAgKEF1dG9jb21w
bGV0ZUVycm9yRXZlbnRJbml0KTogQWRkZWQgaW5pdCBwYXJhbXMgZm9yIEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnRzIChzbyBpbml0RXZlbnQoKSBjYW4gYmUgdXNlZCkuCisgICAgICAgIChBdXRvY29t
cGxldGVFcnJvckV2ZW50KTogQWRkZWQgYSBuZXcgZXJyb3IgZXZlbnQgdGhhdCBpbmhlcml0cyBm
cm9tIEV2ZW50IGJ1dCBhbHNvIGhhcyBhIHJlYXNvbiBmb3IgZmFpbHVyZS4KKyAgICAgICAgKFdl
YkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0ZSk6IEZhY3RvcnkgZnVuY3Rpb24g
dG8gY3JlYXRlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRzLgorICAgICAgICAoV2ViQ29yZTo6QXV0
b2NvbXBsZXRlRXJyb3JFdmVudDo6cmVhc29uKTogVGhlIHJlYXNvbiB3aHkgYSByZXF1ZXN0QXV0
b2NvbXBsZXRlKCkgaW52b2NhdGlvbiBmYWlsZWQuIENhbiBiZQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVkIiwgImNhbmNlbCIsIG9y
ICJpbnZhbGlkIi4KKyAgICAgICAgKFdlYkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6Omlu
dGVyZmFjZU5hbWUpOiBUaGUgbmFtZSBvZiB0aGUgZXZlbnQncyBpbnRlcmZhY2UgKGZvciBldmVu
dC50b1N0cmluZygpKS4KKyAgICAgICAgKFdlYkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6
OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQpOiBWYXJpb3VzIHdheXMgb2YgY29uc3RydWN0aW5nIHRo
ZSBlcnJvciBldmVudC4KKyAgICAgICAgKiBkb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGw6
IEFkZGVkLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOiBBZGRlZCBBdXRvY29tcGxldGVF
cnJvciB0byB0aGlzIGxpc3QsIGJhc2VkIG9uIFJFUVVFU1RfQVVUT0NPTVBMRVRFIGNvbmRpdGlv
bmFsLgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDogVXBkYXRlZCBmb3JtIGVs
ZW1lbnRzIHRvIGRpc3BhdGNoIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRzIG9uIGVycm9ycyBhbmQg
dG8gZ2l2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9yZSBkZXRhaWxz
IChldmVudC5yZWFzb24pIHdoZW4gdGhlIHJlcXVlc3QgZmFpbHMuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUpOiBDaGFuZ2VkIHRvIG5ld2x5
IGFkZGVkIGZhaWx1cmUgdHlwZSAiZGlzYWJsZWQiLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKTogQ2hhbmdlZAorICAgICAgICAq
IGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6IEFkZGVkIG5ldyByZXN1bHRzIChFcnJvckRpc2FibGVk
LCBFcnJvckNhbmNlbCwgRXJyb3JJbnZhbGlkKS4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6IEFkZGVkIGdsb2JhbCBldmVudCBjb25zdHJ1Y3RvciBmb3IgbmV3IEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQoKSBzdHlsZSBldmVudCBjcmVhdGlvbi4KKwogMjAxMy0wMS0wOSAgRGltaXRyaSBH
bGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxMzkxNDMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDQ5OTViMTk3
NTExYzcyYzljNTIwM2YwYTFiMWNjNmVlODE1NmYxY2QuLjYwNmUyY2MzMmJjNmU3MDVkNGQyNzgw
NjU3MmRkYzc0OTc5MTVhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTMtMDEtMDkgIERhbiBCZWFtICA8ZGJlYW1AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIEltcGxlbWVudCBBdXRvY29tcGxldGVFcnJvckV2ZW50I3JlYXNvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTY4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRm9ybUVsZW1l
bnQuaDogQWRkZWQgbWF0Y2hpbmcgZW51bSB2YWx1ZXMgZm9yIHB1YmxpYyBjaHJvbWl1bSBXZWJL
aXQgQVBJLgorICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDogVXBkYXRlZCBj
b21waWxlIGFzc2VydCB0aGF0IFdlYktpdCBhbmQgV2ViQ29yZSBlbnVtcyBtYXRjaC4KKwogMjAx
My0wMS0wOSAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEFkanVzdCBTa2lhIGJ1aWxkIGZsYWdzIHRvIFdlYktpdCBza2lhIGd5cApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDIyY2Q3NGU4OGZiNGNjNTUxNWY0NTA2M2RmYjNmZmEyMmE3ZTMxODEuLjZhMWQz
MTVlM2IxMmQ5MDIzZDAwMWFlYTgxMzEyZDc3ZDUzYjIzNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTE5MCw2ICsxOTAsNyBAQAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaWRsJywKICAg
ICAgICAgICAgICdkb20vQXR0ci5pZGwnLAorICAgICAgICAgICAgJ2RvbS9BdXRvY29tcGxldGVF
cnJvckV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0JlZm9yZUxvYWRFdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9DREFUQVNlY3Rpb24uaWRsJywKICAgICAgICAgICAgICdkb20vQ2hh
cmFjdGVyRGF0YS5pZGwnLApAQCAtMjcwNiw2ICsyNzA3LDcgQEAKICAgICAgICAgJ3dlYmNvcmVf
ZG9tX2ZpbGVzJzogWwogICAgICAgICAgICAgJ2RvbS9BY3RpdmVET01PYmplY3QuY3BwJywKICAg
ICAgICAgICAgICdkb20vQXR0ci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9BdXRvY29tcGxldGVF
cnJvckV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9CZWZvcmVMb2FkRXZlbnQuaCcsCiAgICAg
ICAgICAgICAnZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmgnLApAQCAtNjA3NSw2ICs2MDc3LDggQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9C
dWZmZXIuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaCcs
CisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1
dG9jb21wbGV0ZUVycm9yRXZlbnQuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hhbm5lbE1l
cmdlck5vZGUuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ2hhbm5lbE1lcmdlck5vZGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdjNmI4YTVmODZiMWVmNTY2ZTRmNzRiZDRjYWI1ODYzMzE5MjViZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCkBAIC0wLDAg
KzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBBdXRvY29tcGxldGVFcnJvckV2ZW50
X2gKKyNkZWZpbmUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudF9oCisKKyNpZiBFTkFCTEUoUkVRVUVT
VF9BVVRPQ09NUExFVEUpCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsKKyAgICBTdHJpbmcgcmVhc29uOworfTsKKwor
Y2xhc3MgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4gY3JlYXRlKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCk7
CisgICAgfQorCisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4g
Y3JlYXRlKGNvbnN0IFN0cmluZyYgcmVhc29uKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KHJlYXNvbikpOworICAgIH0KKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXV0b2NvbXBsZXRlRXJyb3JFdmVudEluaXQmIGlu
aXRpYWxpemVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIpKTsKKyAgICB9CisKKyAgICBjb25z
dCBTdHJpbmcmIHJlYXNvbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVhc29uOyB9CisKKyAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIGV2
ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JBdXRvY29tcGxldGVFcnJvckV2ZW50OyB9CisKK3ByaXZh
dGU6CisgICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgpCisgICAgeworICAgIH0KKworICAgIEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiByZWFzb24pCisgICAgICAgIDogRXZl
bnQoZXZlbnROYW1lcygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSkKKyAg
ICAgICAgLCBtX3JlYXNvbihyZWFzb24pCisgICAgeworICAgIH0KKworICAgIEF1dG9jb21wbGV0
ZUVycm9yRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICAgICAgOiBFdmVudChldmVudFR5
cGUsIGluaXRpYWxpemVyKQorICAgICAgICAsIG1fcmVhc29uKGluaXRpYWxpemVyLnJlYXNvbikK
KyAgICB7CisgICAgfQorCisgICAgU3RyaW5nIG1fcmVhc29uOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQorCisj
ZW5kaWYgLy8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
QXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDMwMDNlOWUwNzFhYjNkYTgy
ZjBhOTA2YTZjNTNmMmVkZGEwNTRmYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbApAQCAtMCwwICsxLDMxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURSwKKyAgICBD
b25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50CitdIGludGVyZmFjZSBBdXRvY29tcGxldGVFcnJvckV2
ZW50IDogRXZlbnQgeworICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyByZWFzb247Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmluCmluZGV4IDM0NzFjMDcxMGFiNGNhNTUyZGNmNTI0MjIxYmY3ZDc4NjYwZWMxMWQuLmMxYzNi
OWVmMDIzNzE3NWMzMTRmYWI3NTYzNDEwYzE0OTNmNzcyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmluCkBAIC01MCwzICs1MCw0IEBAIERldmljZVByb3hpbWl0eUV2ZW50IGNvbmRpdGlvbmFs
PVBST1hJTUlUWV9FVkVOVFMKIE9yaWVudGF0aW9uRXZlbnQgaW50ZXJmYWNlTmFtZT1FdmVudCwg
Y29uZGl0aW9uYWw9T1JJRU5UQVRJT05fRVZFTlRTCiBNZWRpYUtleUV2ZW50IGNvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQQogVHJhY2tFdmVudCBjb25kaXRpb25hbD1WSURFT19UUkFDSworQXV0
b2NvbXBsZXRlRXJyb3JFdmVudCBjb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDhhODM4MzgyMjY3NzQ5OWMx
MmNhZGU1ODg1NTMxNTYwMjEyODEwYTguLmRlNzlhNzBlNmY1MzY5Mjc3ODM2ZDY4MGZiOGY1ZjZj
ODVlNDJmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI2
LDYgKzI2LDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0
dHJpYnV0ZS5oIgorI2luY2x1ZGUgIkF1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCIKICNpbmNsdWRl
ICJET01Gb3JtRGF0YS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCkBAIC0zOTksNyArNDAwLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RB
dXRvY29tcGxldGUoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIXNob3VsZEF1dG9jb21w
bGV0ZSgpIHx8ICFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgewot
ICAgICAgICBmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJlc3VsdEVycm9y
KTsKKyAgICAgICAgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHRF
cnJvckRpc2FibGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDExLDcgKzQxMiwx
OCBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZSgpCiAKIHZvaWQg
SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJl
c3VsdCByZXN1bHQpCiB7Ci0gICAgUmVmUHRyPEV2ZW50PiBldmVudChFdmVudDo6Y3JlYXRlKHJl
c3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzID8gZXZlbnROYW1lcygpLmF1dG9jb21w
bGV0ZUV2ZW50IDogZXZlbnROYW1lcygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBm
YWxzZSkpOworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQ7CisgICAgaWYgKHJlc3VsdCA9PSBBdXRv
Y29tcGxldGVSZXN1bHRTdWNjZXNzKQorICAgICAgICBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmF1dG9jb21wbGV0ZUV2ZW50LCBmYWxzZSwgZmFsc2UpOworICAgIGVsc2UgaWYg
KHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvcikgLy8gRklYTUU6IFJlbW92ZSB3aGVu
IG5vIGxvbmdlciB1c2VkLgorICAgICAgICBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSk7CisgICAgZWxzZSBpZiAo
cmVzdWx0ID09IEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yRGlzYWJsZWQpCisgICAgICAgIGV2ZW50
ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6Y3JlYXRlKCJkaXNhYmxlZCIpOworICAgIGVsc2Ug
aWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvckNhbmNlbCkKKyAgICAgICAgZXZl
bnQgPSBBdXRvY29tcGxldGVFcnJvckV2ZW50OjpjcmVhdGUoImNhbmNlbCIpOworICAgIGVsc2Ug
aWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvckludmFsaWQpCisgICAgICAgIGV2
ZW50ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6Y3JlYXRlKCJpbnZhbGlkIik7CisKICAgICBl
dmVudC0+c2V0VGFyZ2V0KHRoaXMpOwogICAgIG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2ZW50cy5h
cHBlbmQoZXZlbnQucmVsZWFzZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmgKaW5kZXggZDljOWFiNTBiMWMwMmIzODRhNDhhZGIwMjEzNmUxNmIwZjBkZWVjMS4uMjMyMjA2
OTllZDc2MWFiMzZjNDAwZjI4Mzk5ODhhZTcyZjBlZjFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5oCkBAIC05OSw3ICs5OSwxMyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjaGVj
a1ZhbGlkaXR5KCk7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0gICAgZW51
bSBBdXRvY29tcGxldGVSZXN1bHQgeyBBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzLCBBdXRvY29t
cGxldGVSZXN1bHRFcnJvciB9OworICAgIGVudW0gQXV0b2NvbXBsZXRlUmVzdWx0IHsKKyAgICAg
ICAgQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywKKyAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3IsIC8vIEZJWE1FOiBSZW1vdmUgd2hlbiBubyBsb25nZXIgdXNlZC4KKyAgICAgICAgQXV0
b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNhYmxlZCwKKyAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3JDYW5jZWwsCisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9ySW52YWxpZCwKKyAg
ICB9OwogCiAgICAgdm9pZCByZXF1ZXN0QXV0b2NvbXBsZXRlKCk7CiAgICAgdm9pZCBmaW5pc2hS
ZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJlc3VsdCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKaW5kZXggYzk2YzcyNTJhMmI5ZmZhOTM1YTY0MTVhZWZhMmM0NjNjY2NkZTMxNi4u
ZmMzN2IyMDRkOWI4Mjc0ZDcwMGJiYzY4ZTU0MDE0YzJhZDVkZGEwZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbApAQCAtNTYzLDYgKzU2Myw3IEBACiAgICAgW0NvbmRpdGlvbmFsPUlOUFVU
X1NQRUVDSF0gYXR0cmlidXRlIFNwZWVjaElucHV0RXZlbnRDb25zdHJ1Y3RvciBTcGVlY2hJbnB1
dEV2ZW50OwogICAgIFtDb25kaXRpb25hbD1XRUJHTF0gYXR0cmlidXRlIFdlYkdMQ29udGV4dEV2
ZW50Q29uc3RydWN0b3IgV2ViR0xDb250ZXh0RXZlbnQ7CiAgICAgW0NvbmRpdGlvbmFsPVBST1hJ
TUlUWV9FVkVOVFNdIGF0dHJpYnV0ZSBEZXZpY2VQcm94aW1pdHlFdmVudENvbnN0cnVjdG9yIERl
dmljZVByb3hpbWl0eUV2ZW50OworICAgIFtDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVU
RV0gYXR0cmlidXRlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRDb25zdHJ1Y3RvciBBdXRvY29tcGxl
dGVFcnJvckV2ZW50OwogCiAgICAgYXR0cmlidXRlIEV2ZW50RXhjZXB0aW9uQ29uc3RydWN0b3Ig
RXZlbnRFeGNlcHRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZvcm1FbGVtZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJG
b3JtRWxlbWVudC5oCmluZGV4IDI3Yzk5ZDNhMTcxOTJmN2QwODA4Yzg3ZTcyY2E1ZGE4YTYzYjZj
MTguLjBlZDVmYjZkNmMyMmU2YTY5YThkMzBkNmFjN2Q5ZjkxODU5NzBhODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZvcm1FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRm9ybUVsZW1lbnQuaApAQCAtNjksNyArNjks
MTMgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIFdFQktJVF9FWFBPUlQgdm9pZCBnZXRO
YW1lZEVsZW1lbnRzKGNvbnN0IFdlYlN0cmluZyYsIFdlYlZlY3RvcjxXZWJOb2RlPiYpOwogICAg
ICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgZ2V0Rm9ybUNvbnRyb2xFbGVtZW50cyhXZWJWZWN0b3I8
V2ViRm9ybUNvbnRyb2xFbGVtZW50PiYpIGNvbnN0OwogCi0gICAgICAgIGVudW0gQXV0b2NvbXBs
ZXRlUmVzdWx0IHsgQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywgQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3IgfTsKKyAgICAgICAgZW51bSBBdXRvY29tcGxldGVSZXN1bHQgeworICAgICAgICAgICAg
QXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywKKyAgICAgICAgICAgIEF1dG9jb21wbGV0ZVJlc3Vs
dEVycm9yLCAvLyBGSVhNRTogUmVtb3ZlIHdoZW4gbm90IHVzZWQgYW55IG1vcmUuCisgICAgICAg
ICAgICBBdXRvY29tcGxldGVSZXN1bHRFcnJvckRpc2FibGVkLAorICAgICAgICAgICAgQXV0b2Nv
bXBsZXRlUmVzdWx0RXJyb3JDYW5jZWwsCisgICAgICAgICAgICBBdXRvY29tcGxldGVSZXN1bHRF
cnJvckludmFsaWQsCisgICAgICAgIH07CiAgICAgICAgIFdFQktJVF9FWFBPUlQgdm9pZCBmaW5p
c2hSZXF1ZXN0QXV0b2NvbXBsZXRlKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHQp
OwogCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4IGFiYzJmZDliZjU2ZjIxODAx
ODcyOWI0ZmJjYTdkZGYyNWM2YTFjNGEuLjc2YjBiNzY1NTJjNjczZDE2MWFiNTk2OTlhMDUyYmY1
NmVkYzEwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1h
dGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1h
dGNoaW5nRW51bXMuY3BwCkBAIC02MjgsNCArNjI4LDcgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJNZWRpYVBsYXllcjo6Q09SU01vZGVVc2VDcmVkZW50aWFscywgTWVkaWFQbGF5
ZXIKICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCiBDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzLCBIVE1M
Rm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0ZVJlc3VsdFN1Y2Nlc3MpOwogQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IsIEhU
TUxGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNh
YmxlZCwgSFRNTEZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRFcnJvckRpc2FibGVkKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0
ZVJlc3VsdEVycm9yQ2FuY2VsLCBIVE1MRm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0ZVJlc3VsdEVy
cm9yQ2FuY2VsKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1lbnQ6
OkF1dG9jb21wbGV0ZVJlc3VsdEVycm9ySW52YWxpZCwgSFRNTEZvcm1FbGVtZW50OjpBdXRvY29t
cGxldGVSZXN1bHRFcnJvckludmFsaWQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTNjYjM5NGFlOWVhMjI2
MThiNDg1OGExMzVhY2EzY2ZjN2I1NjcwYS4uMmJmMGU3NzVhNDU4MWRhMWM3NjlkNmQ5Mzg0YjM5
YzllNGE4MGVhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTA5ICBEYW4gQmVhbSAg
PGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCNyZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNTU2OAorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIHZlcmlmeSBldmVudCBjcmVh
dGlvbiBhbmQgZ2xvYmFsIGV2ZW50IGNvbnN0cnVjdG9yIGV4aXN0ZW5jZSBvZiBBdXRvY29tcGxl
dGVFcnJvckV2ZW50CisgICAgICAgIGFuZCB1cGRhdGVkIHRoZSBleGlzdGluZyB0ZXN0cyB0byBt
YWtlIHN1cmUgZXJyb3JzIHJlY2VpdmVkIGFyZSBvZiB0aGUgcmlnaHQgdHlwZSBhbmQgaGF2ZSB0
aGUgcmlnaHQgcmVhc29uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1l
dmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbDogQWRk
ZWQgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoKSB0ZXN0IGNhc2UuCisgICAgICAgICogZmFz
dC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWw6IFVwZGF0ZWQgJ2F1dG9jb21w
bGV0ZWVycm9yJyBsaXN0ZW5lcnMgdG8gY2hlY2sgZXZlbnQucmVhc29uLgorICAgICAgICAqIGZh
c3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWw6IEFkZGVkIEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQgdG8gbGlzdC4KKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3Ry
dWN0b3JzLmpzOiBBZGRlZCBBdXRvY29tcGxldGVFcnJvckV2ZW50IHRvIGxpc3QuCisgICAgICAg
ICogcGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3Rl
ZC50eHQ6IEFkZGVkIGV4cGVjdGVkIFJlZmVyZW5jZUVycm9yLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS1leHBlY3RlZC50
eHQ6IFVwZGF0ZWQgcGFzc2luZyBleHBlY3RhdGlvbnMuCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0OiBBZGRlZCBleHBl
Y3RlZCAwIGxlbmd0aCByZXN1bHQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvanMvY29u
c3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dDogQWRkZWQgZXhwZWN0ZWQgUmVmZXJlbmNlRXJy
b3IuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4
cGVjdGVkLnR4dDogQWRkZWQgZXhwZWN0ZWQgUmVmZXJlbmNlRXJyb3IuCisgICAgICAgICogcGxh
dGZvcm0vcXQvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0OiBBZGRlZCBl
eHBlY3RlZCBSZWZlcmVuY2VFcnJvci4KKwogMjAxMy0wMS0wOSAgSnVzdGluIE5vdm9zYWQgIDxq
dW5vdkBnb29nbGUuY29tPgogCiAgICAgICAgIE5ldyBjaHJvbWl1bS13aW4gcGl4ZWwgYmFzZWxp
bmUgZm9yIGdyYWRpZW50LWJhY2tncm91bmQtbGVha2FnZS1oaWRwaS5odG1sCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9y
LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmY3OTlkOTkwYjljMTVkODRlZDgzODE5NjIzMzQwM2VhZTFmNTU4
NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3Rv
cnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMyIEBACitUaGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQgRE9NIGNsYXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJykuYnViYmxlcyBp
cyBmYWxzZQorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJykuY2Fu
Y2VsYWJsZSBpcyBmYWxzZQorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJykucmVhc29uIGlzICIiCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVu
dFR5cGUnLCB7IGJ1YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSB9KS5idWJi
bGVzIGlzIHRydWUKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScs
IHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2VsYWJsZSBpcyBmYWxzZQorUEFTUyBuZXcgQXV0
b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pLmNh
bmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJywgeyByZWFzb246ICdkb3JlbWknIH0pLnJlYXNvbiBpcyAiZG9yZW1pIgorUEFTUyBuZXcg
QXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246ICcnIH0pLnJlYXNv
biBpcyAiIgorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBy
ZWFzb246IHVuZGVmaW5lZCB9KS5yZWFzb24gaXMgInVuZGVmaW5lZCIKK1BBU1MgbmV3IEF1dG9j
b21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBudWxsIH0pLnJlYXNvbiBp
cyAibnVsbCIKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsg
cmVhc29uOiBmYWxzZSB9KS5yZWFzb24gaXMgImZhbHNlIgorUEFTUyBuZXcgQXV0b2NvbXBsZXRl
RXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHRydWUgfSkucmVhc29uIGlzICJ0cnVl
IgorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246
IDEyMzQ1IH0pLnJlYXNvbiBpcyAiMTIzNDUiCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2
ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogMTg0NDY3NDQwNzM3MDk1NTE2MTUgfSkucmVhc29u
IGlzICIxODQ0Njc0NDA3MzcwOTU1MjAwMCIKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBOYU4gfSkucmVhc29uIGlzICJOYU4iCitQQVNTIG5l
dyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogW10gfSkucmVh
c29uIGlzICIiCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7
IHJlYXNvbjogWzEsIDIsIDNdIH0pLnJlYXNvbiBpcyAiMSwyLDMiCitQQVNTIG5ldyBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjoge2RvcmVtaTogMTIzNDV9IH0p
LnJlYXNvbiBpcyAiW29iamVjdCBPYmplY3RdIgorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVy
biAnZG9yZW1pJzsgfSB9IH0pLnJlYXNvbiBpcyAiW29iamVjdCBPYmplY3RdIgorUEFTUyBuZXcg
QXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBjYW5j
ZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBu
ZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQor
UEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0
cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLnJlYXNvbiBpcyAiZG9y
ZW1pIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29t
cGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNWZlYWY2NDY2N2FhZjE1MzAzYjY4OTAwYzQ1NDFkNGM2YjYxMGU4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1
dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBB
dXRvY29tcGxldGVFcnJvckV2ZW50IERPTSBjbGFzcy4iKTsKKworLy8gTm8gaW5pdGlhbGl6ZXIg
aXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5
cGUnKS5idWJibGVzIiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9y
RXZlbnQoJ2V2ZW50VHlwZScpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScpLnJlYXNvbiIs
ICIiKTsKKworLy8gYnViYmxlcyBpcyBwYXNzZWQuCitzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0
ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogZmFsc2UgfSkuYnViYmxlcyIsICJm
YWxzZSIpOworc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUn
LCB7IGJ1YmJsZXM6IHRydWUgfSkuYnViYmxlcyIsICJ0cnVlIik7CisKKy8vIGNhbmNlbGFibGUg
aXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5
cGUnLCB7IGNhbmNlbGFibGU6IGZhbHNlIH0pLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKK3Nob3Vs
ZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxl
OiB0cnVlIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOworCisvLyByZWFzb24gaXMgcGFzc2VkLgor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJywgeyByZWFzb246ICdkb3JlbWknIH0pLnJlYXNvbiIsICJkb3JlbWkiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsg
cmVhc29uOiAnJyB9KS5yZWFzb24iLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBB
dXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogdW5kZWZpbmVkIH0p
LnJlYXNvbiIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9j
b21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBudWxsIH0pLnJlYXNvbiIs
ICJudWxsIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2
ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogZmFsc2UgfSkucmVhc29uIiwgImZhbHNlIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5
cGUnLCB7IHJlYXNvbjogdHJ1ZSB9KS5yZWFzb24iLCAidHJ1ZSIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246
IDEyMzQ1IH0pLnJlYXNvbiIsICIxMjM0NSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcg
QXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IDE4NDQ2NzQ0MDcz
NzA5NTUxNjE1IH0pLnJlYXNvbiIsICIxODQ0Njc0NDA3MzcwOTU1MjAwMCIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBy
ZWFzb246IE5hTiB9KS5yZWFzb24iLCAiTmFOIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5l
dyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogW10gfSkucmVh
c29uIiwgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IFsxLCAyLCAzXSB9KS5yZWFzb24iLCAiMSwyLDMi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2
ZW50VHlwZScsIHsgcmVhc29uOiB7ZG9yZW1pOiAxMjM0NX0gfSkucmVhc29uIiwgIltvYmplY3Qg
T2JqZWN0XSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVy
biAnZG9yZW1pJzsgfSB9IH0pLnJlYXNvbiIsICJbb2JqZWN0IE9iamVjdF0iKTsKKworLy8gQWxs
IGluaXRpYWxpemVycyBhcmUgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJv
ckV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHJl
YXNvbjogJ2RvcmVtaScgfSkuYnViYmxlcyIsICJ0cnVlIik7CitzaG91bGRCZSgibmV3IEF1dG9j
b21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwgcmVhc29uOiAnZG9yZW1pJyB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgcmVhc29uOiAnZG9yZW1pJyB9KS5y
ZWFzb24iLCAiZG9yZW1pIik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwKaW5kZXggMmQ3MjYzZGEz
OTI5YTI2NGIxMDQwZjdhZjE0NzUxNWFjZTZlNDM2NS4uMzExN2JmYTJjMzhjZTM5ODhmNTdiMzNm
Yjc0NGM0MmIwM2M3MTJmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZl
bnQtY3JlYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVh
dGlvbi5odG1sCkBAIC0yMjMsNiArMjIzLDEyIEBACiAgICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1
bWVudC5jcmVhdGVFdmVudCgnT3JpZW50YXRpb25FdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2
ZW50Iik7CiAgICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnT3JpZW50
YXRpb25FdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRXZlbnQiKTsKIAorICAgIC8vICNp
ZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCisgICAgLy8gQXV0b2NvbXBsZXRlRXJyb3JF
dmVudAorICAgIC8vIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0F1dG9jb21w
bGV0ZUVycm9yRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5BdXRvY29tcGxldGVFcnJvckV2ZW50
Iik7CisgICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CisgICAgLy8gc2hvdWxk
QmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpLmNv
bnN0cnVjdG9yID09PSB3aW5kb3cuQXV0b2NvbXBsZXRlRXJyb3JFdmVudCIpOworCiAKICAgICAv
LyBXZSB0ZXN0IGJvdGggYSBoYXJkIGNvZGVkIHNldCBhbmQgdGhlIGF1dG9tYXRlZCBzZXQgYmVs
b3cgKHVzaW5nIGVudW1lcmF0aW9uKSB0byBlbnN1cmUgdGhhdCBhIGNvbnN0cnVjdG9yIGJlaW5n
IHJlbW92ZWQKICAgICAvLyBmcm9tIHRoZSB3aW5kb3cgaXMgY2F1Z2h0IGEgcmVncmVzc2lvbi4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21w
bGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBs
ZXRlLmh0bWwKaW5kZXggMDY2ZDZkMjIzYzUxZjdlY2RhOTA0NzczNzk4MDExYmNjYzIwYzI5My4u
NzdiNDcxYjk1MDdhNTA3Mjg1YWZjYzhjM2ZlYWUwNjlmNzY3NDhkYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKQEAg
LTE4LDYgKzE4LDcgQEAgZnVuY3Rpb24gcnVuVGVzdHMoKQogCiAgICAgY2hlY2tEeW5hbWljQXR0
cmlidXRlcygpOwogICAgIGNoZWNrUGFyc2VkQXR0cmlidXRlcygpOworICAgIGNoZWNrTm9uVXNl
ckdlc3R1cmUoKTsKIH0KIAogZnVuY3Rpb24gY2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhm
b3JtKQpAQCAtNDAsNiArNDEsOSBAQCBmdW5jdGlvbiBjaGVja1BhcnNlZEF0dHJpYnV0ZXMoKQog
CiAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5mb3Jtc1swXTsKICAgICBjaGVja0ZvckVudW1lcmFi
bGVQcm9wZXJ0aWVzKGZvcm0pOworCisgICAgLy8gQ3VycmVudGx5IENocm9tZSBqdXN0IGltbWVk
aWF0ZWx5IGRpc3BhdGNoZXMgYW4gZXJyb3IuCisgICAgZm9ybS5vbmF1dG9jb21wbGV0ZWVycm9y
ID0gZXJyb3JXaXRoUmVhc29uKCdkaXNhYmxlZCcpOwogICAgIGZvcm0ucmVxdWVzdEF1dG9jb21w
bGV0ZSgpOwogfQogCkBAIC01MSw3ICs1NSw3IEBAIGZ1bmN0aW9uIGNoZWNrRHluYW1pY0F0dHJp
YnV0ZXMoKQogICAgIGNoZWNrRm9yRW51bWVyYWJsZVByb3BlcnRpZXMoZm9ybSk7CiAKICAgICBm
b3JtLmF1dG9jb21wbGV0ZSA9ICdvZmYnOwotICAgIGZvcm0ub25hdXRvY29tcGxldGVlcnJvciA9
IG9uRXJyb3I7CisgICAgZm9ybS5vbmF1dG9jb21wbGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29u
KCdkaXNhYmxlZCcpOwogICAgIGZvcm0ucmVxdWVzdEF1dG9jb21wbGV0ZSgpOwogfQogCkBAIC02
MSw3ICs2NSw3IEBAIGZ1bmN0aW9uIGNoZWNrTm9uVXNlckdlc3R1cmUoKQogCiAgICAgdmFyIGZv
cm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7CiAgICAgY2hlY2tGb3JFbnVtZXJh
YmxlUHJvcGVydGllcyhmb3JtKTsKLSAgICBmb3JtLm9uYXV0b2NvbXBsZXRlZXJyb3IgPSBvbkVy
cm9yOworICAgIGZvcm0ub25hdXRvY29tcGxldGVlcnJvciA9IGVycm9yV2l0aFJlYXNvbignZGlz
YWJsZWQnKTsKIAogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKQogICAgIHsKQEAgLTY5LDYgKzcz
LDIzIEBAIGZ1bmN0aW9uIGNoZWNrTm9uVXNlckdlc3R1cmUoKQogICAgIH0sIDApOwogfQogCitm
dW5jdGlvbiBlcnJvcldpdGhSZWFzb24ocmVhc29uKQoreworICAgIHJldHVybiBmdW5jdGlvbihl
dmVudCkgeworICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBBdXRvY29tcGxldGVFcnJvckV2
ZW50KQorICAgICAgICAgICAgdGVzdFBhc3NlZCgnZXZlbnQgaXMgYW4gQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdleHBlY3Rl
ZCBhbiBBdXRvY29tcGxldGVFcnJvckV2ZW50Jyk7CisKKyAgICAgICAgaWYgKGV2ZW50LnJlYXNv
biA9PSByZWFzb24pCisgICAgICAgICAgICB0ZXN0UGFzc2VkKCdnb3QgZXhwZWN0ZWQgcmVhc29u
OiAnICsgcmVhc29uKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGVzdEZhaWxlZCgnd3Jv
bmcgcmVhc29uLCBleHBlY3RlZDogJyArIHJlYXNvbiArICcsIGdvdDogJyArIGV2ZW50LnJlYXNv
bik7CisKKyAgICAgICAgb25FcnJvcigpOworICAgIH07Cit9CisKIGZ1bmN0aW9uIG9uRXJyb3Io
KQogewogICAgIG51bUVycm9ycyArPSAxOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9q
cy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0
b3ItbGVuZ3RoLmh0bWwKaW5kZXggZjMwOTI0ZGY2NDc3MTMxMDA4NmU0MmVkYTg5Y2NiNTY5OThl
MGM5YS4uMWQ0ZTQ2YTJjYTBlN2M5ZDE0OTQ5ZDg4ZjE2Y2YzNGExNzc1MjM3ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC5odG1sCkBAIC05LDYgKzksNyBAQCBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbnN0cnVjdG9y
cy4iKTsKIAogc2hvdWxkQmUoJ0FycmF5QnVmZmVyLmxlbmd0aCcsICcxJyk7CiBzaG91bGRCZSgn
QXVkaW9Db250ZXh0Lmxlbmd0aCcsICcwJyk7CitzaG91bGRCZSgnQXV0b2NvbXBsZXRlRXJyb3JF
dmVudC5sZW5ndGgnLCAnMicpOwogc2hvdWxkQmUoJ0JlZm9yZUxvYWRFdmVudC5sZW5ndGgnLCAn
MicpOwogc2hvdWxkQmUoJ0Jsb2IubGVuZ3RoJywgJzInKTsKIHNob3VsZEJlKCdDbG9zZUV2ZW50
Lmxlbmd0aCcsICcyJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10
ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQt
dGVzdHMvZ2xvYmFsLWNvbnN0cnVjdG9ycy5qcwppbmRleCA0M2Q0MzM2N2Q2ZDYzNGE1ODk0YTBh
Y2ViMjQyMTBlNWYwZGFhN2Q2Li45YzVkMGM5ZGFlNTE0NmM4YWY5N2I1YmQwZTdmOTNmZjJlNjgw
MGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwt
Y29uc3RydWN0b3JzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMuanMKQEAgLTQwLDYgKzQwLDcgQEAgZm9yICh2YXIgeCBpbiBjb25z
dHJ1Y3Rvck5hbWVzKSB7CiAgICAgICAgIG5hbWUgPT0gIkZsb2F0NjRBcnJheSIgfHwKICAgICAg
ICAgbmFtZSA9PSAiRmlsZUVycm9yIiB8fAogICAgICAgICBuYW1lID09ICJGaWxlUmVhZGVyIikK
KyAgICAgICAgbmFtZSA9PSAiQXV0b2NvbXBsZXRlRXJyb3JFdmVudCIpCiAgICAgICAgIGNvbnRp
bnVlOwogCiAgICAgaWYgKG5hbWUgPT0gIlhNTERvY3VtZW50IikKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKaW5kZXggOWRiZmZjOTJmMWRjYTliMWY1MTIxYjE2
Zjk2ZmExM2ZkNjUwMWFiYS4uMzkxMjdkMTRhNzIxMzNkYTIwYzI3YjUwNjIzNDA3YzY4ZmQ1MGUx
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2Nv
bnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
YmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKQEAgLTUs
NiArNSw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgQXJyYXlCdWZmZXIubGVu
Z3RoIGlzIDEKIEZBSUwgQXVkaW9Db250ZXh0Lmxlbmd0aCBzaG91bGQgYmUgMC4gVGhyZXcgZXhj
ZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBdWRpb0NvbnRleHQK
K0ZBSUwgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGggc2hvdWxkIGJlIDIuIFRocmV3IGV4
Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXV0b2NvbXBsZXRl
RXJyb3JFdmVudAogUEFTUyBCZWZvcmVMb2FkRXZlbnQubGVuZ3RoIGlzIDIKIFBBU1MgQmxvYi5s
ZW5ndGggaXMgMgogUEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29t
cGxldGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9m
b3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLWV4cGVjdGVkLnR4dAppbmRleCA1ZDE5YzIw
OTA0NjkxZDk1MzQ4M2Y0MzZjNzFkOWU0MTdlNTYwYzgyLi42MGJmYzllMTAwYTRkZDZiYmVkMTI5
OGNmYmEzNzA2NTExMjg1ZmY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0
LWF1dG9jb21wbGV0ZS1leHBlY3RlZC50eHQKQEAgLTQsNyArNCwxNCBAQCBGb3IgdGhpcyB0ZXN0
IHRvIHBhc3MsIHlvdSBzaG91bGQgc2VlIGFsbCBQQVNTRUQgYmVsb3cuCiAKIFBBU1Mgbm8gZW51
bWVyYWJsZSBwcm9wZXJ0aWVzIG9uIEhUTUxGb3JtRWxlbWVudAogUEFTUyBubyBlbnVtZXJhYmxl
IHByb3BlcnRpZXMgb24gSFRNTEZvcm1FbGVtZW50Ci1QQVNTIGdvdCBleHBlY3RlZCBudW1iZXIg
b2YgZXJyb3IgZXZlbnRzICgyKQorUEFTUyBubyBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb24gSFRN
TEZvcm1FbGVtZW50CitQQVNTIGV2ZW50IGlzIGFuIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKK1BB
U1MgZ290IGV4cGVjdGVkIHJlYXNvbjogZGlzYWJsZWQKK1BBU1MgZXZlbnQgaXMgYW4gQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudAorUEFTUyBnb3QgZXhwZWN0ZWQgcmVhc29uOiBkaXNhYmxlZAorUEFT
UyBldmVudCBpcyBhbiBBdXRvY29tcGxldGVFcnJvckV2ZW50CitQQVNTIGdvdCBleHBlY3RlZCBy
ZWFzb246IGRpc2FibGVkCitQQVNTIGdvdCBleHBlY3RlZCBudW1iZXIgb2YgZXJyb3IgZXZlbnRz
ICgzKQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2pzL2NvbnN0cnVj
dG9yLWxlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKaW5kZXggOGQxYjdlNzJhYzQ3
NDg3NzRmYWZlMjE1NmIxMTc0ZTdjOTRkMTdiYy4uNmZjM2IzMzYxYjJkN2RhOTc2ODgxMDIwYTlh
MzY5MGFlZjlmYjhjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4
dApAQCAtNSw2ICs1LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogRkFJTCBBcnJheUJ1
ZmZlci5sZW5ndGggc2hvdWxkIGJlIDEuIFdhcyAwLgogRkFJTCBBdWRpb0NvbnRleHQubGVuZ3Ro
IHNob3VsZCBiZSAwLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IEF1ZGlvQ29udGV4
dCBpcyBub3QgZGVmaW5lZAorRkFJTCBBdXRvY29tcGxldGVFcnJvckV2ZW50Lmxlbmd0aCBzaG91
bGQgYmUgMi4gV2FzIDAuCiBGQUlMIEJlZm9yZUxvYWRFdmVudC5sZW5ndGggc2hvdWxkIGJlIDIu
IFdhcyAwLgogRkFJTCBCbG9iLmxlbmd0aCBzaG91bGQgYmUgMi4gV2FzIDAuCiBGQUlMIENsb3Nl
RXZlbnQubGVuZ3RoIHNob3VsZCBiZSAyLiBXYXMgMC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0
ZWQudHh0CmluZGV4IDMxOWQ0YzJkYzEyNjU2ODdiYzczMWI1ODI2NDE2YWExNWQyYzVjZTUuLjk2
MjhhN2I1YTM2MDU0NDZkNjljOTQ2ZTZjNjYxNDk0NmNhNDk5ZDkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvY29uc3RydWN0b3ItbGVu
Z3RoLWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUK
IAogUEFTUyBBcnJheUJ1ZmZlci5sZW5ndGggaXMgMQogRkFJTCBBdWRpb0NvbnRleHQubGVuZ3Ro
IHNob3VsZCBiZSAwLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IEF1ZGlvQ29udGV4dAorRkFJTCBBdXRvY29tcGxldGVFcnJvckV2ZW50Lmxlbmd0
aCBzaG91bGQgYmUgMi4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBBdXRvY29tcGxldGVFcnJvckV2ZW50CiBQQVNTIEJlZm9yZUxvYWRFdmVudC5s
ZW5ndGggaXMgMgogUEFTUyBCbG9iLmxlbmd0aCBpcyAyCiBQQVNTIENsb3NlRXZlbnQubGVuZ3Ro
IGlzIDIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CmluZGV4IDMxOWQ0YzJkYzEyNjU2
ODdiYzczMWI1ODI2NDE2YWExNWQyYzVjZTUuLjk2MjhhN2I1YTM2MDU0NDZkNjljOTQ2ZTZjNjYx
NDk0NmNhNDk5ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2pz
L2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1
LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyBBcnJheUJ1ZmZlci5sZW5ndGgg
aXMgMQogRkFJTCBBdWRpb0NvbnRleHQubGVuZ3RoIHNob3VsZCBiZSAwLiBUaHJldyBleGNlcHRp
b24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEF1ZGlvQ29udGV4dAorRkFJ
TCBBdXRvY29tcGxldGVFcnJvckV2ZW50Lmxlbmd0aCBzaG91bGQgYmUgMi4gVGhyZXcgZXhjZXB0
aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBdXRvY29tcGxldGVFcnJv
ckV2ZW50CiBQQVNTIEJlZm9yZUxvYWRFdmVudC5sZW5ndGggaXMgMgogUEFTUyBCbG9iLmxlbmd0
aCBpcyAyCiBQQVNTIENsb3NlRXZlbnQubGVuZ3RoIGlzIDIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVj
dGVkLnR4dAppbmRleCAxMDNlZjRhZGE4NjYwNzhlMjYzOGFmMGQzZTM1YWQxYzkxMDZiNDIzLi45
MGRiMTExODAwZmY4YmNlYWJmYjk0MmFiNzMzOGI0MjE3ZGRjYTlhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5n
dGgtZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQog
CiBQQVNTIEFycmF5QnVmZmVyLmxlbmd0aCBpcyAxCiBGQUlMIEF1ZGlvQ29udGV4dC5sZW5ndGgg
c2hvdWxkIGJlIDAuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogQXVkaW9Db250ZXh0CitGQUlMIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQubGVuZ3Ro
IHNob3VsZCBiZSAyLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKIFBBU1MgQmVmb3JlTG9hZEV2ZW50Lmxl
bmd0aCBpcyAyCiBQQVNTIEJsb2IubGVuZ3RoIGlzIDIKIFBBU1MgQ2xvc2VFdmVudC5sZW5ndGgg
aXMgMgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182058</attachid>
            <date>2013-01-09 21:15:03 -0800</date>
            <delta_ts>2013-01-10 01:07:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105568-20130109211207.patch</filename>
            <type>text/plain</type>
            <size>34243</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk1NTQ1M2VjNjE5MzIz
YjJmOTUyMTNiNTI5YTcxMjFlZjMzMDYyZC4uODljNzNkYjhjMjM3ZWI2YWY0YjgxODk4MzQwZGEw
ZDk1MDg3ZmNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAxLTA5ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCNyZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUt
ZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOiBB
ZGRlZCBBdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbCBhbmQgQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dC5oIGZvciBjaHJvbWl1bSBwb3J0J3MgYnVpbGQuCisgICAgICAgICogZG9tL0F1dG9jb21wbGV0
ZUVycm9yRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKTogQWRkZWQgbmV3IHR5cGUg
b2YgZXJyb3IgbmFtZWQgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC4KKyAgICAgICAgKEF1dG9jb21w
bGV0ZUVycm9yRXZlbnRJbml0KTogQWRkZWQgaW5pdCBwYXJhbXMgZm9yIEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnRzIChzbyBpbml0RXZlbnQoKSBjYW4gYmUgdXNlZCkuCisgICAgICAgIChBdXRvY29t
cGxldGVFcnJvckV2ZW50KTogQWRkZWQgYSBuZXcgZXJyb3IgZXZlbnQgdGhhdCBpbmhlcml0cyBm
cm9tIEV2ZW50IGJ1dCBhbHNvIGhhcyBhIHJlYXNvbiBmb3IgZmFpbHVyZS4KKyAgICAgICAgKFdl
YkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0ZSk6IEZhY3RvcnkgZnVuY3Rpb24g
dG8gY3JlYXRlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRzLgorICAgICAgICAoV2ViQ29yZTo6QXV0
b2NvbXBsZXRlRXJyb3JFdmVudDo6cmVhc29uKTogVGhlIHJlYXNvbiB3aHkgYSByZXF1ZXN0QXV0
b2NvbXBsZXRlKCkgaW52b2NhdGlvbiBmYWlsZWQuIENhbiBiZQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVkIiwgImNhbmNlbCIsIG9y
ICJpbnZhbGlkIi4KKyAgICAgICAgKFdlYkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6Omlu
dGVyZmFjZU5hbWUpOiBUaGUgbmFtZSBvZiB0aGUgZXZlbnQncyBpbnRlcmZhY2UgKGZvciBldmVu
dC50b1N0cmluZygpKS4KKyAgICAgICAgKFdlYkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6
OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQpOiBWYXJpb3VzIHdheXMgb2YgY29uc3RydWN0aW5nIHRo
ZSBlcnJvciBldmVudC4KKyAgICAgICAgKiBkb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGw6
IEFkZGVkLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOiBBZGRlZCBBdXRvY29tcGxldGVF
cnJvciB0byB0aGlzIGxpc3QsIGJhc2VkIG9uIFJFUVVFU1RfQVVUT0NPTVBMRVRFIGNvbmRpdGlv
bmFsLgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDogVXBkYXRlZCBmb3JtIGVs
ZW1lbnRzIHRvIGRpc3BhdGNoIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRzIG9uIGVycm9ycyBhbmQg
dG8gZ2l2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9yZSBkZXRhaWxz
IChldmVudC5yZWFzb24pIHdoZW4gdGhlIHJlcXVlc3QgZmFpbHMuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUpOiBDaGFuZ2VkIHRvIG5ld2x5
IGFkZGVkIGZhaWx1cmUgdHlwZSAiZGlzYWJsZWQiLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKTogQ2hhbmdlZAorICAgICAgICAq
IGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6IEFkZGVkIG5ldyByZXN1bHRzIChFcnJvckRpc2FibGVk
LCBFcnJvckNhbmNlbCwgRXJyb3JJbnZhbGlkKS4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6IEFkZGVkIGdsb2JhbCBldmVudCBjb25zdHJ1Y3RvciBmb3IgbmV3IEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQoKSBzdHlsZSBldmVudCBjcmVhdGlvbi4KKwogMjAxMy0wMS0wOSAgRGltaXRyaSBH
bGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxMzkxNDMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDQ5OTViMTk3
NTExYzcyYzljNTIwM2YwYTFiMWNjNmVlODE1NmYxY2QuLjYwNmUyY2MzMmJjNmU3MDVkNGQyNzgw
NjU3MmRkYzc0OTc5MTVhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTMtMDEtMDkgIERhbiBCZWFtICA8ZGJlYW1AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIEltcGxlbWVudCBBdXRvY29tcGxldGVFcnJvckV2ZW50I3JlYXNvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTY4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRm9ybUVsZW1l
bnQuaDogQWRkZWQgbWF0Y2hpbmcgZW51bSB2YWx1ZXMgZm9yIHB1YmxpYyBjaHJvbWl1bSBXZWJL
aXQgQVBJLgorICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDogVXBkYXRlZCBj
b21waWxlIGFzc2VydCB0aGF0IFdlYktpdCBhbmQgV2ViQ29yZSBlbnVtcyBtYXRjaC4KKwogMjAx
My0wMS0wOSAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEFkanVzdCBTa2lhIGJ1aWxkIGZsYWdzIHRvIFdlYktpdCBza2lhIGd5cApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDIyY2Q3NGU4OGZiNGNjNTUxNWY0NTA2M2RmYjNmZmEyMmE3ZTMxODEuLjZhMWQz
MTVlM2IxMmQ5MDIzZDAwMWFlYTgxMzEyZDc3ZDUzYjIzNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTE5MCw2ICsxOTAsNyBAQAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaWRsJywKICAg
ICAgICAgICAgICdkb20vQXR0ci5pZGwnLAorICAgICAgICAgICAgJ2RvbS9BdXRvY29tcGxldGVF
cnJvckV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0JlZm9yZUxvYWRFdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9DREFUQVNlY3Rpb24uaWRsJywKICAgICAgICAgICAgICdkb20vQ2hh
cmFjdGVyRGF0YS5pZGwnLApAQCAtMjcwNiw2ICsyNzA3LDcgQEAKICAgICAgICAgJ3dlYmNvcmVf
ZG9tX2ZpbGVzJzogWwogICAgICAgICAgICAgJ2RvbS9BY3RpdmVET01PYmplY3QuY3BwJywKICAg
ICAgICAgICAgICdkb20vQXR0ci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9BdXRvY29tcGxldGVF
cnJvckV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9CZWZvcmVMb2FkRXZlbnQuaCcsCiAgICAg
ICAgICAgICAnZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmgnLApAQCAtNjA3NSw2ICs2MDc3LDggQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9C
dWZmZXIuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaCcs
CisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1
dG9jb21wbGV0ZUVycm9yRXZlbnQuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hhbm5lbE1l
cmdlck5vZGUuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ2hhbm5lbE1lcmdlck5vZGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdjNmI4YTVmODZiMWVmNTY2ZTRmNzRiZDRjYWI1ODYzMzE5MjViZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCkBAIC0wLDAg
KzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBBdXRvY29tcGxldGVFcnJvckV2ZW50
X2gKKyNkZWZpbmUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudF9oCisKKyNpZiBFTkFCTEUoUkVRVUVT
VF9BVVRPQ09NUExFVEUpCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsKKyAgICBTdHJpbmcgcmVhc29uOworfTsKKwor
Y2xhc3MgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4gY3JlYXRlKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCk7
CisgICAgfQorCisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4g
Y3JlYXRlKGNvbnN0IFN0cmluZyYgcmVhc29uKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KHJlYXNvbikpOworICAgIH0KKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXV0b2NvbXBsZXRlRXJyb3JFdmVudEluaXQmIGlu
aXRpYWxpemVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIpKTsKKyAgICB9CisKKyAgICBjb25z
dCBTdHJpbmcmIHJlYXNvbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVhc29uOyB9CisKKyAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIGV2
ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JBdXRvY29tcGxldGVFcnJvckV2ZW50OyB9CisKK3ByaXZh
dGU6CisgICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgpCisgICAgeworICAgIH0KKworICAgIEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiByZWFzb24pCisgICAgICAgIDogRXZl
bnQoZXZlbnROYW1lcygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSkKKyAg
ICAgICAgLCBtX3JlYXNvbihyZWFzb24pCisgICAgeworICAgIH0KKworICAgIEF1dG9jb21wbGV0
ZUVycm9yRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICAgICAgOiBFdmVudChldmVudFR5
cGUsIGluaXRpYWxpemVyKQorICAgICAgICAsIG1fcmVhc29uKGluaXRpYWxpemVyLnJlYXNvbikK
KyAgICB7CisgICAgfQorCisgICAgU3RyaW5nIG1fcmVhc29uOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQorCisj
ZW5kaWYgLy8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
QXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDMwMDNlOWUwNzFhYjNkYTgy
ZjBhOTA2YTZjNTNmMmVkZGEwNTRmYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbApAQCAtMCwwICsxLDMxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURSwKKyAgICBD
b25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50CitdIGludGVyZmFjZSBBdXRvY29tcGxldGVFcnJvckV2
ZW50IDogRXZlbnQgeworICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyByZWFzb247Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmluCmluZGV4IDM0NzFjMDcxMGFiNGNhNTUyZGNmNTI0MjIxYmY3ZDc4NjYwZWMxMWQuLmMxYzNi
OWVmMDIzNzE3NWMzMTRmYWI3NTYzNDEwYzE0OTNmNzcyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmluCkBAIC01MCwzICs1MCw0IEBAIERldmljZVByb3hpbWl0eUV2ZW50IGNvbmRpdGlvbmFs
PVBST1hJTUlUWV9FVkVOVFMKIE9yaWVudGF0aW9uRXZlbnQgaW50ZXJmYWNlTmFtZT1FdmVudCwg
Y29uZGl0aW9uYWw9T1JJRU5UQVRJT05fRVZFTlRTCiBNZWRpYUtleUV2ZW50IGNvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQQogVHJhY2tFdmVudCBjb25kaXRpb25hbD1WSURFT19UUkFDSworQXV0
b2NvbXBsZXRlRXJyb3JFdmVudCBjb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDhhODM4MzgyMjY3NzQ5OWMx
MmNhZGU1ODg1NTMxNTYwMjEyODEwYTguLmRlNzlhNzBlNmY1MzY5Mjc3ODM2ZDY4MGZiOGY1ZjZj
ODVlNDJmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI2
LDYgKzI2LDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0
dHJpYnV0ZS5oIgorI2luY2x1ZGUgIkF1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCIKICNpbmNsdWRl
ICJET01Gb3JtRGF0YS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCkBAIC0zOTksNyArNDAwLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RB
dXRvY29tcGxldGUoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIXNob3VsZEF1dG9jb21w
bGV0ZSgpIHx8ICFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgewot
ICAgICAgICBmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJlc3VsdEVycm9y
KTsKKyAgICAgICAgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHRF
cnJvckRpc2FibGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDExLDcgKzQxMiwx
OCBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZSgpCiAKIHZvaWQg
SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJl
c3VsdCByZXN1bHQpCiB7Ci0gICAgUmVmUHRyPEV2ZW50PiBldmVudChFdmVudDo6Y3JlYXRlKHJl
c3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzID8gZXZlbnROYW1lcygpLmF1dG9jb21w
bGV0ZUV2ZW50IDogZXZlbnROYW1lcygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBm
YWxzZSkpOworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQ7CisgICAgaWYgKHJlc3VsdCA9PSBBdXRv
Y29tcGxldGVSZXN1bHRTdWNjZXNzKQorICAgICAgICBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmF1dG9jb21wbGV0ZUV2ZW50LCBmYWxzZSwgZmFsc2UpOworICAgIGVsc2UgaWYg
KHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvcikgLy8gRklYTUU6IFJlbW92ZSB3aGVu
IG5vIGxvbmdlciB1c2VkLgorICAgICAgICBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSk7CisgICAgZWxzZSBpZiAo
cmVzdWx0ID09IEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yRGlzYWJsZWQpCisgICAgICAgIGV2ZW50
ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6Y3JlYXRlKCJkaXNhYmxlZCIpOworICAgIGVsc2Ug
aWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvckNhbmNlbCkKKyAgICAgICAgZXZl
bnQgPSBBdXRvY29tcGxldGVFcnJvckV2ZW50OjpjcmVhdGUoImNhbmNlbCIpOworICAgIGVsc2Ug
aWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvckludmFsaWQpCisgICAgICAgIGV2
ZW50ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6Y3JlYXRlKCJpbnZhbGlkIik7CisKICAgICBl
dmVudC0+c2V0VGFyZ2V0KHRoaXMpOwogICAgIG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2ZW50cy5h
cHBlbmQoZXZlbnQucmVsZWFzZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmgKaW5kZXggZDljOWFiNTBiMWMwMmIzODRhNDhhZGIwMjEzNmUxNmIwZjBkZWVjMS4uMjMyMjA2
OTllZDc2MWFiMzZjNDAwZjI4Mzk5ODhhZTcyZjBlZjFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5oCkBAIC05OSw3ICs5OSwxMyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjaGVj
a1ZhbGlkaXR5KCk7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0gICAgZW51
bSBBdXRvY29tcGxldGVSZXN1bHQgeyBBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzLCBBdXRvY29t
cGxldGVSZXN1bHRFcnJvciB9OworICAgIGVudW0gQXV0b2NvbXBsZXRlUmVzdWx0IHsKKyAgICAg
ICAgQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywKKyAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3IsIC8vIEZJWE1FOiBSZW1vdmUgd2hlbiBubyBsb25nZXIgdXNlZC4KKyAgICAgICAgQXV0
b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNhYmxlZCwKKyAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3JDYW5jZWwsCisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9ySW52YWxpZCwKKyAg
ICB9OwogCiAgICAgdm9pZCByZXF1ZXN0QXV0b2NvbXBsZXRlKCk7CiAgICAgdm9pZCBmaW5pc2hS
ZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJlc3VsdCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKaW5kZXggYzk2YzcyNTJhMmI5ZmZhOTM1YTY0MTVhZWZhMmM0NjNjY2NkZTMxNi4u
ZmMzN2IyMDRkOWI4Mjc0ZDcwMGJiYzY4ZTU0MDE0YzJhZDVkZGEwZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbApAQCAtNTYzLDYgKzU2Myw3IEBACiAgICAgW0NvbmRpdGlvbmFsPUlOUFVU
X1NQRUVDSF0gYXR0cmlidXRlIFNwZWVjaElucHV0RXZlbnRDb25zdHJ1Y3RvciBTcGVlY2hJbnB1
dEV2ZW50OwogICAgIFtDb25kaXRpb25hbD1XRUJHTF0gYXR0cmlidXRlIFdlYkdMQ29udGV4dEV2
ZW50Q29uc3RydWN0b3IgV2ViR0xDb250ZXh0RXZlbnQ7CiAgICAgW0NvbmRpdGlvbmFsPVBST1hJ
TUlUWV9FVkVOVFNdIGF0dHJpYnV0ZSBEZXZpY2VQcm94aW1pdHlFdmVudENvbnN0cnVjdG9yIERl
dmljZVByb3hpbWl0eUV2ZW50OworICAgIFtDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVU
RV0gYXR0cmlidXRlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRDb25zdHJ1Y3RvciBBdXRvY29tcGxl
dGVFcnJvckV2ZW50OwogCiAgICAgYXR0cmlidXRlIEV2ZW50RXhjZXB0aW9uQ29uc3RydWN0b3Ig
RXZlbnRFeGNlcHRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZvcm1FbGVtZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJG
b3JtRWxlbWVudC5oCmluZGV4IDI3Yzk5ZDNhMTcxOTJmN2QwODA4Yzg3ZTcyY2E1ZGE4YTYzYjZj
MTguLjBlZDVmYjZkNmMyMmU2YTY5YThkMzBkNmFjN2Q5ZjkxODU5NzBhODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZvcm1FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRm9ybUVsZW1lbnQuaApAQCAtNjksNyArNjks
MTMgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIFdFQktJVF9FWFBPUlQgdm9pZCBnZXRO
YW1lZEVsZW1lbnRzKGNvbnN0IFdlYlN0cmluZyYsIFdlYlZlY3RvcjxXZWJOb2RlPiYpOwogICAg
ICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgZ2V0Rm9ybUNvbnRyb2xFbGVtZW50cyhXZWJWZWN0b3I8
V2ViRm9ybUNvbnRyb2xFbGVtZW50PiYpIGNvbnN0OwogCi0gICAgICAgIGVudW0gQXV0b2NvbXBs
ZXRlUmVzdWx0IHsgQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywgQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3IgfTsKKyAgICAgICAgZW51bSBBdXRvY29tcGxldGVSZXN1bHQgeworICAgICAgICAgICAg
QXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywKKyAgICAgICAgICAgIEF1dG9jb21wbGV0ZVJlc3Vs
dEVycm9yLCAvLyBGSVhNRTogUmVtb3ZlIHdoZW4gbm90IHVzZWQgYW55IG1vcmUuCisgICAgICAg
ICAgICBBdXRvY29tcGxldGVSZXN1bHRFcnJvckRpc2FibGVkLAorICAgICAgICAgICAgQXV0b2Nv
bXBsZXRlUmVzdWx0RXJyb3JDYW5jZWwsCisgICAgICAgICAgICBBdXRvY29tcGxldGVSZXN1bHRF
cnJvckludmFsaWQsCisgICAgICAgIH07CiAgICAgICAgIFdFQktJVF9FWFBPUlQgdm9pZCBmaW5p
c2hSZXF1ZXN0QXV0b2NvbXBsZXRlKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHQp
OwogCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4IGFiYzJmZDliZjU2ZjIxODAx
ODcyOWI0ZmJjYTdkZGYyNWM2YTFjNGEuLjc2YjBiNzY1NTJjNjczZDE2MWFiNTk2OTlhMDUyYmY1
NmVkYzEwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1h
dGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1h
dGNoaW5nRW51bXMuY3BwCkBAIC02MjgsNCArNjI4LDcgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJNZWRpYVBsYXllcjo6Q09SU01vZGVVc2VDcmVkZW50aWFscywgTWVkaWFQbGF5
ZXIKICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCiBDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzLCBIVE1M
Rm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0ZVJlc3VsdFN1Y2Nlc3MpOwogQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IsIEhU
TUxGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNh
YmxlZCwgSFRNTEZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRFcnJvckRpc2FibGVkKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0
ZVJlc3VsdEVycm9yQ2FuY2VsLCBIVE1MRm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0ZVJlc3VsdEVy
cm9yQ2FuY2VsKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1lbnQ6
OkF1dG9jb21wbGV0ZVJlc3VsdEVycm9ySW52YWxpZCwgSFRNTEZvcm1FbGVtZW50OjpBdXRvY29t
cGxldGVSZXN1bHRFcnJvckludmFsaWQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTNjYjM5NGFlOWVhMjI2
MThiNDg1OGExMzVhY2EzY2ZjN2I1NjcwYS4uMmRhYTZjZWYzMTg2ZDQzZmVkNjI1NGM0NTZlYTdi
M2I5YjdiYTIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAxLTA5ICBEYW4gQmVhbSAg
PGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCNyZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNTU2OAorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIHZlcmlmeSBldmVudCBjcmVh
dGlvbiBhbmQgZ2xvYmFsIGV2ZW50IGNvbnN0cnVjdG9yIGV4aXN0ZW5jZSBvZiBBdXRvY29tcGxl
dGVFcnJvckV2ZW50CisgICAgICAgIGFuZCB1cGRhdGVkIHRoZSBleGlzdGluZyB0ZXN0cyB0byBt
YWtlIHN1cmUgZXJyb3JzIHJlY2VpdmVkIGFyZSBvZiB0aGUgcmlnaHQgdHlwZSBhbmQgaGF2ZSB0
aGUgcmlnaHQgcmVhc29uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1l
dmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbDogQWRk
ZWQgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoKSB0ZXN0IGNhc2UuCisgICAgICAgICogZmFz
dC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWw6IFVwZGF0ZWQgJ2F1dG9jb21w
bGV0ZWVycm9yJyBsaXN0ZW5lcnMgdG8gY2hlY2sgZXZlbnQucmVhc29uLgorICAgICAgICAqIGZh
c3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWw6IEFkZGVkIEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQgdG8gbGlzdC4KKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3Ry
dWN0b3JzLmpzOiBBZGRlZCBBdXRvY29tcGxldGVFcnJvckV2ZW50IHRvIGxpc3QuCisgICAgICAg
ICogcGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3Rl
ZC50eHQ6IEFkZGVkIGV4cGVjdGVkIFJlZmVyZW5jZUVycm9yLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZl
bnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUtZXhwZWN0ZWQudHh0
OiBVcGRhdGVkIHBhc3NpbmcgZXhwZWN0YXRpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dDogQWRkZWQgZXhwZWN0
ZWQgMCBsZW5ndGggcmVzdWx0LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkIGV4cGVjdGVkIFJlZmVyZW5jZUVycm9y
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBl
Y3RlZC50eHQ6IEFkZGVkIGV4cGVjdGVkIFJlZmVyZW5jZUVycm9yLgorICAgICAgICAqIHBsYXRm
b3JtL3F0L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dDogQWRkZWQgZXhw
ZWN0ZWQgUmVmZXJlbmNlRXJyb3IuCisKIDIwMTMtMDEtMDkgIEp1c3RpbiBOb3Zvc2FkICA8anVu
b3ZAZ29vZ2xlLmNvbT4KIAogICAgICAgICBOZXcgY2hyb21pdW0td2luIHBpeGVsIGJhc2VsaW5l
IGZvciBncmFkaWVudC1iYWNrZ3JvdW5kLWxlYWthZ2UtaGlkcGkuaHRtbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1l
dmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9j
b25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ZDdhNWZjNTI5ZTI0NTUxNzMyMmRkYWZiOTQ2NDA3ODY1ZjM1ZDk3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3Jz
L2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMCBAQAorVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBBdXRvY29tcGxl
dGVFcnJvckV2ZW50IERPTSBjbGFzcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0ZBSUwgbm8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3Iu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUt
ZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjFjZWM3NTRmMWZjMDVl
MGFlMGQzMzBlMGQ5MDIxYzVkOWFhNzIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1
Y3Rvci5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBBdXRvY29tcGxldGVFcnJvckV2ZW50IERPTSBjbGFz
cy4iKTsKKworaWYgKCF3aW5kb3cuQXV0b2NvbXBsZXRlRXJyb3JFdmVudCkgeworICAgIHRlc3RG
YWlsZWQoJ25vIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQnKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30gZWxzZSB7CisgICAgLy8gTm8gaW5pdGlhbGl6ZXIgaXMgcGFzc2VkLgorICAgIHNob3VsZEJl
KCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJykuYnViYmxlcyIsICJmYWxz
ZSIpOworICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBl
JykuY2FuY2VsYWJsZSIsICJmYWxzZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScpLnJlYXNvbiIsICIiKTsKKworICAg
IC8vIGJ1YmJsZXMgaXMgcGFzc2VkLgorICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiBmYWxzZSB9KS5idWJibGVzIiwgImZhbHNl
Iik7CisgICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUn
LCB7IGJ1YmJsZXM6IHRydWUgfSkuYnViYmxlcyIsICJ0cnVlIik7CisKKyAgICAvLyBjYW5jZWxh
YmxlIGlzIHBhc3NlZC4KKyAgICBzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQo
J2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2VsYWJsZSIsICJmYWxzZSIp
OworICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywg
eyBjYW5jZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOworCisgICAgLy8gcmVh
c29uIGlzIHBhc3NlZC4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogJ2RvcmVtaScgfSkucmVhc29uIiwg
ImRvcmVtaSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiAnJyB9KS5yZWFzb24iLCAiIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJywgeyByZWFzb246IHVuZGVmaW5lZCB9KS5yZWFzb24iLCAidW5kZWZpbmVkIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJywgeyByZWFzb246IG51bGwgfSkucmVhc29uIiwgIm51bGwiKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJl
YXNvbjogZmFsc2UgfSkucmVhc29uIiwgImZhbHNlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHRy
dWUgfSkucmVhc29uIiwgInRydWUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBB
dXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogMTIzNDUgfSkucmVh
c29uIiwgIjEyMzQ1Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IDE4NDQ2NzQ0MDczNzA5NTUxNjE1
IH0pLnJlYXNvbiIsICIxODQ0Njc0NDA3MzcwOTU1MjAwMCIpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29u
OiBOYU4gfSkucmVhc29uIiwgIk5hTiIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBbXSB9KS5yZWFz
b24iLCAiIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IFsxLCAyLCAzXSB9KS5yZWFzb24iLCAiMSwy
LDMiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2
ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjoge2RvcmVtaTogMTIzNDV9IH0pLnJlYXNvbiIsICJb
b2JqZWN0IE9iamVjdF0iKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjoge3ZhbHVlT2Y6IGZ1bmN0aW9u
ICgpIHsgcmV0dXJuICdkb3JlbWknOyB9IH0gfSkucmVhc29uIiwgIltvYmplY3QgT2JqZWN0XSIp
OworCisgICAgLy8gQWxsIGluaXRpYWxpemVycyBhcmUgcGFzc2VkLgorICAgIHNob3VsZEJlKCJu
ZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOwor
ICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBi
dWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLmNhbmNl
bGFibGUiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwgcmVhc29uOiAnZG9yZW1pJyB9KS5yZWFzb24iLCAiZG9yZW1pIik7Cit9CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50
LWNyZWF0aW9uLmh0bWwKaW5kZXggMmQ3MjYzZGEzOTI5YTI2NGIxMDQwZjdhZjE0NzUxNWFjZTZl
NDM2NS4uMzExN2JmYTJjMzhjZTM5ODhmNTdiMzNmYjc0NGM0MmIwM2M3MTJmYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCkBAIC0yMjMsNiArMjIzLDEy
IEBACiAgICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnT3JpZW50YXRp
b25FdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CiAgICAgLy8gc2hvdWxkQmVUcnVl
KCJkb2N1bWVudC5jcmVhdGVFdmVudCgnT3JpZW50YXRpb25FdmVudCcpLmNvbnN0cnVjdG9yID09
PSB3aW5kb3cuRXZlbnQiKTsKIAorICAgIC8vICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExF
VEUpCisgICAgLy8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudAorICAgIC8vIHNob3VsZEJlVHJ1ZSgi
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0F1dG9jb21wbGV0ZUVycm9yRXZlbnQnKSBpbnN0YW5jZW9m
IHdpbmRvdy5BdXRvY29tcGxldGVFcnJvckV2ZW50Iik7CisgICAgLy8gc2hvdWxkQmVUcnVlKCJk
b2N1bWVudC5jcmVhdGVFdmVudCgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpIGluc3RhbmNlb2Yg
d2luZG93LkV2ZW50Iik7CisgICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVu
dCgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudCIpOworCiAKICAgICAvLyBXZSB0ZXN0IGJvdGggYSBoYXJkIGNvZGVk
IHNldCBhbmQgdGhlIGF1dG9tYXRlZCBzZXQgYmVsb3cgKHVzaW5nIGVudW1lcmF0aW9uKSB0byBl
bnN1cmUgdGhhdCBhIGNvbnN0cnVjdG9yIGJlaW5nIHJlbW92ZWQKICAgICAvLyBmcm9tIHRoZSB3
aW5kb3cgaXMgY2F1Z2h0IGEgcmVncmVzc2lvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKaW5kZXggMDY2ZDZkMjIzYzUx
ZjdlY2RhOTA0NzczNzk4MDExYmNjYzIwYzI5My4uNzdiNDcxYjk1MDdhNTA3Mjg1YWZjYzhjM2Zl
YWUwNjlmNzY3NDhkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJl
cXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3Jt
LXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKQEAgLTE4LDYgKzE4LDcgQEAgZnVuY3Rpb24gcnVu
VGVzdHMoKQogCiAgICAgY2hlY2tEeW5hbWljQXR0cmlidXRlcygpOwogICAgIGNoZWNrUGFyc2Vk
QXR0cmlidXRlcygpOworICAgIGNoZWNrTm9uVXNlckdlc3R1cmUoKTsKIH0KIAogZnVuY3Rpb24g
Y2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhmb3JtKQpAQCAtNDAsNiArNDEsOSBAQCBmdW5j
dGlvbiBjaGVja1BhcnNlZEF0dHJpYnV0ZXMoKQogCiAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5m
b3Jtc1swXTsKICAgICBjaGVja0ZvckVudW1lcmFibGVQcm9wZXJ0aWVzKGZvcm0pOworCisgICAg
Ly8gQ3VycmVudGx5IENocm9tZSBqdXN0IGltbWVkaWF0ZWx5IGRpc3BhdGNoZXMgYW4gZXJyb3Iu
CisgICAgZm9ybS5vbmF1dG9jb21wbGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29uKCdkaXNhYmxl
ZCcpOwogICAgIGZvcm0ucmVxdWVzdEF1dG9jb21wbGV0ZSgpOwogfQogCkBAIC01MSw3ICs1NSw3
IEBAIGZ1bmN0aW9uIGNoZWNrRHluYW1pY0F0dHJpYnV0ZXMoKQogICAgIGNoZWNrRm9yRW51bWVy
YWJsZVByb3BlcnRpZXMoZm9ybSk7CiAKICAgICBmb3JtLmF1dG9jb21wbGV0ZSA9ICdvZmYnOwot
ICAgIGZvcm0ub25hdXRvY29tcGxldGVlcnJvciA9IG9uRXJyb3I7CisgICAgZm9ybS5vbmF1dG9j
b21wbGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29uKCdkaXNhYmxlZCcpOwogICAgIGZvcm0ucmVx
dWVzdEF1dG9jb21wbGV0ZSgpOwogfQogCkBAIC02MSw3ICs2NSw3IEBAIGZ1bmN0aW9uIGNoZWNr
Tm9uVXNlckdlc3R1cmUoKQogCiAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdmb3JtJyk7CiAgICAgY2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhmb3JtKTsKLSAgICBm
b3JtLm9uYXV0b2NvbXBsZXRlZXJyb3IgPSBvbkVycm9yOworICAgIGZvcm0ub25hdXRvY29tcGxl
dGVlcnJvciA9IGVycm9yV2l0aFJlYXNvbignZGlzYWJsZWQnKTsKIAogICAgIHNldFRpbWVvdXQo
ZnVuY3Rpb24oKQogICAgIHsKQEAgLTY5LDYgKzczLDIzIEBAIGZ1bmN0aW9uIGNoZWNrTm9uVXNl
ckdlc3R1cmUoKQogICAgIH0sIDApOwogfQogCitmdW5jdGlvbiBlcnJvcldpdGhSZWFzb24ocmVh
c29uKQoreworICAgIHJldHVybiBmdW5jdGlvbihldmVudCkgeworICAgICAgICBpZiAoZXZlbnQg
aW5zdGFuY2VvZiBBdXRvY29tcGxldGVFcnJvckV2ZW50KQorICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgnZXZlbnQgaXMgYW4gQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCdleHBlY3RlZCBhbiBBdXRvY29tcGxldGVFcnJvckV2ZW50
Jyk7CisKKyAgICAgICAgaWYgKGV2ZW50LnJlYXNvbiA9PSByZWFzb24pCisgICAgICAgICAgICB0
ZXN0UGFzc2VkKCdnb3QgZXhwZWN0ZWQgcmVhc29uOiAnICsgcmVhc29uKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgdGVzdEZhaWxlZCgnd3JvbmcgcmVhc29uLCBleHBlY3RlZDogJyArIHJl
YXNvbiArICcsIGdvdDogJyArIGV2ZW50LnJlYXNvbik7CisKKyAgICAgICAgb25FcnJvcigpOwor
ICAgIH07Cit9CisKIGZ1bmN0aW9uIG9uRXJyb3IoKQogewogICAgIG51bUVycm9ycyArPSAxOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWwKaW5kZXggZjMwOTI0
ZGY2NDc3MTMxMDA4NmU0MmVkYTg5Y2NiNTY5OThlMGM5YS4uMWQ0ZTQ2YTJjYTBlN2M5ZDE0OTQ5
ZDg4ZjE2Y2YzNGExNzc1MjM3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9jb25z
dHJ1Y3Rvci1sZW5ndGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2NvbnN0cnVjdG9y
LWxlbmd0aC5odG1sCkBAIC05LDYgKzksNyBAQCBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUg
bGVuZ3RoIHByb3BlcnR5IG9mIGNvbnN0cnVjdG9ycy4iKTsKIAogc2hvdWxkQmUoJ0FycmF5QnVm
ZmVyLmxlbmd0aCcsICcxJyk7CiBzaG91bGRCZSgnQXVkaW9Db250ZXh0Lmxlbmd0aCcsICcwJyk7
CitzaG91bGRCZSgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGgnLCAnMicpOwogc2hvdWxk
QmUoJ0JlZm9yZUxvYWRFdmVudC5sZW5ndGgnLCAnMicpOwogc2hvdWxkQmUoJ0Jsb2IubGVuZ3Ro
JywgJzInKTsKIHNob3VsZEJlKCdDbG9zZUV2ZW50Lmxlbmd0aCcsICcyJyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZ2xvYmFsLWNvbnN0cnVjdG9ycy5q
cwppbmRleCA0M2Q0MzM2N2Q2ZDYzNGE1ODk0YTBhY2ViMjQyMTBlNWYwZGFhN2Q2Li45YzVkMGM5
ZGFlNTE0NmM4YWY5N2I1YmQwZTdmOTNmZjJlNjgwMGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpzCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2dsb2JhbC1jb25zdHJ1Y3RvcnMuanMKQEAgLTQw
LDYgKzQwLDcgQEAgZm9yICh2YXIgeCBpbiBjb25zdHJ1Y3Rvck5hbWVzKSB7CiAgICAgICAgIG5h
bWUgPT0gIkZsb2F0NjRBcnJheSIgfHwKICAgICAgICAgbmFtZSA9PSAiRmlsZUVycm9yIiB8fAog
ICAgICAgICBuYW1lID09ICJGaWxlUmVhZGVyIikKKyAgICAgICAgbmFtZSA9PSAiQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCIpCiAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgaWYgKG5hbWUgPT0gIlhN
TERvY3VtZW50IikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkv
ZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQK
aW5kZXggOWRiZmZjOTJmMWRjYTliMWY1MTIxYjE2Zjk2ZmExM2ZkNjUwMWFiYS4uMzkxMjdkMTRh
NzIxMzNkYTIwYzI3YjUwNjIzNDA3YzY4ZmQ1MGUxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVj
dG9yLWxlbmd0aC1leHBlY3RlZC50eHQKQEAgLTUsNiArNSw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFCiAKIFBBU1MgQXJyYXlCdWZmZXIubGVuZ3RoIGlzIDEKIEZBSUwgQXVkaW9Db250ZXh0
Lmxlbmd0aCBzaG91bGQgYmUgMC4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBBdWRpb0NvbnRleHQKK0ZBSUwgQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dC5sZW5ndGggc2hvdWxkIGJlIDIuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogQXV0b2NvbXBsZXRlRXJyb3JFdmVudAogUEFTUyBCZWZvcmVMb2Fk
RXZlbnQubGVuZ3RoIGlzIDIKIFBBU1MgQmxvYi5sZW5ndGggaXMgMgogUEFTUyBDbG9zZUV2ZW50
Lmxlbmd0aCBpcyAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVj
dG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3ItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3OTlkOTkwYjljMTVkODRlZDgzODE5NjIzMzQwM2VhZTFm
NTU4NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVj
dG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyIEBACitUaGlzIHRlc3RzIHRoZSBjb25zdHJ1
Y3RvciBmb3IgdGhlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQgRE9NIGNsYXNzLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgn
ZXZlbnRUeXBlJykuYnViYmxlcyBpcyBmYWxzZQorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudCgnZXZlbnRUeXBlJykuY2FuY2VsYWJsZSBpcyBmYWxzZQorUEFTUyBuZXcgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJykucmVhc29uIGlzICIiCitQQVNTIG5ldyBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMg
aXMgZmFsc2UKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsg
YnViYmxlczogdHJ1ZSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2VsYWJsZSBp
cyBmYWxzZQorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBj
YW5jZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246ICdkb3JlbWknIH0pLnJlYXNvbiBp
cyAiZG9yZW1pIgorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywg
eyByZWFzb246ICcnIH0pLnJlYXNvbiBpcyAiIgorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHVuZGVmaW5lZCB9KS5yZWFzb24gaXMgInVuZGVm
aW5lZCIKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVh
c29uOiBudWxsIH0pLnJlYXNvbiBpcyAibnVsbCIKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVycm9y
RXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBmYWxzZSB9KS5yZWFzb24gaXMgImZhbHNlIgor
UEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHRy
dWUgfSkucmVhc29uIGlzICJ0cnVlIgorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgn
ZXZlbnRUeXBlJywgeyByZWFzb246IDEyMzQ1IH0pLnJlYXNvbiBpcyAiMTIzNDUiCitQQVNTIG5l
dyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogMTg0NDY3NDQw
NzM3MDk1NTE2MTUgfSkucmVhc29uIGlzICIxODQ0Njc0NDA3MzcwOTU1MjAwMCIKK1BBU1MgbmV3
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBOYU4gfSkucmVh
c29uIGlzICJOYU4iCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUn
LCB7IHJlYXNvbjogW10gfSkucmVhc29uIGlzICIiCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJv
ckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogWzEsIDIsIDNdIH0pLnJlYXNvbiBpcyAiMSwy
LDMiCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNv
bjoge2RvcmVtaTogMTIzNDV9IH0pLnJlYXNvbiBpcyAiW29iamVjdCBPYmplY3RdIgorUEFTUyBu
ZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHt2YWx1ZU9m
OiBmdW5jdGlvbiAoKSB7IHJldHVybiAnZG9yZW1pJzsgfSB9IH0pLnJlYXNvbiBpcyAiW29iamVj
dCBPYmplY3RdIgorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLmJ1
YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBl
JywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0p
LmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZl
bnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3Jl
bWknIH0pLnJlYXNvbiBpcyAiZG9yZW1pIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1h
dXRvY29tcGxldGUtZXhwZWN0ZWQudHh0CmluZGV4IDVkMTljMjA5MDQ2OTFkOTUzNDgzZjQzNmM3
MWQ5ZTQxN2U1NjBjODIuLjYwYmZjOWUxMDBhNGRkNmJiZWQxMjk4Y2ZiYTM3MDY1MTEyODVmZjcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZm9y
bS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLWV4cGVj
dGVkLnR4dApAQCAtNCw3ICs0LDE0IEBAIEZvciB0aGlzIHRlc3QgdG8gcGFzcywgeW91IHNob3Vs
ZCBzZWUgYWxsIFBBU1NFRCBiZWxvdy4KIAogUEFTUyBubyBlbnVtZXJhYmxlIHByb3BlcnRpZXMg
b24gSFRNTEZvcm1FbGVtZW50CiBQQVNTIG5vIGVudW1lcmFibGUgcHJvcGVydGllcyBvbiBIVE1M
Rm9ybUVsZW1lbnQKLVBBU1MgZ290IGV4cGVjdGVkIG51bWJlciBvZiBlcnJvciBldmVudHMgKDIp
CitQQVNTIG5vIGVudW1lcmFibGUgcHJvcGVydGllcyBvbiBIVE1MRm9ybUVsZW1lbnQKK1BBU1Mg
ZXZlbnQgaXMgYW4gQXV0b2NvbXBsZXRlRXJyb3JFdmVudAorUEFTUyBnb3QgZXhwZWN0ZWQgcmVh
c29uOiBkaXNhYmxlZAorUEFTUyBldmVudCBpcyBhbiBBdXRvY29tcGxldGVFcnJvckV2ZW50CitQ
QVNTIGdvdCBleHBlY3RlZCByZWFzb246IGRpc2FibGVkCitQQVNTIGV2ZW50IGlzIGFuIEF1dG9j
b21wbGV0ZUVycm9yRXZlbnQKK1BBU1MgZ290IGV4cGVjdGVkIHJlYXNvbjogZGlzYWJsZWQKK1BB
U1MgZ290IGV4cGVjdGVkIG51bWJlciBvZiBlcnJvciBldmVudHMgKDMpCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvanMvY29uc3RydWN0b3It
bGVuZ3RoLWV4cGVjdGVkLnR4dAppbmRleCA4ZDFiN2U3MmFjNDc0ODc3NGZhZmUyMTU2YjExNzRl
N2M5NGQxN2JjLi42ZmMzYjMzNjFiMmQ3ZGE5NzY4ODEwMjBhOWEzNjkwYWVmOWZiOGMyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2pzL2NvbnN0cnVjdG9y
LWxlbmd0aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsNyBAQCBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBGQUlMIEFycmF5QnVmZmVyLmxlbmd0aCBzaG91bGQg
YmUgMS4gV2FzIDAuCiBGQUlMIEF1ZGlvQ29udGV4dC5sZW5ndGggc2hvdWxkIGJlIDAuIFRocmV3
IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQXVkaW9Db250ZXh0IGlzIG5vdCBkZWZpbmVkCitG
QUlMIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQubGVuZ3RoIHNob3VsZCBiZSAyLiBXYXMgMC4KIEZB
SUwgQmVmb3JlTG9hZEV2ZW50Lmxlbmd0aCBzaG91bGQgYmUgMi4gV2FzIDAuCiBGQUlMIEJsb2Iu
bGVuZ3RoIHNob3VsZCBiZSAyLiBXYXMgMC4KIEZBSUwgQ2xvc2VFdmVudC5sZW5ndGggc2hvdWxk
IGJlIDIuIFdhcyAwLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3Qv
anMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKaW5kZXggMzE5ZDRj
MmRjMTI2NTY4N2JjNzMxYjU4MjY0MTZhYTE1ZDJjNWNlNS4uOTYyOGE3YjVhMzYwNTQ0NmQ2OWM5
NDZlNmM2NjE0OTQ2Y2E0OTlkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CkBA
IC01LDYgKzUsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIEFycmF5QnVmZmVy
Lmxlbmd0aCBpcyAxCiBGQUlMIEF1ZGlvQ29udGV4dC5sZW5ndGggc2hvdWxkIGJlIDAuIFRocmV3
IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXVkaW9Db250
ZXh0CitGQUlMIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQubGVuZ3RoIHNob3VsZCBiZSAyLiBUaHJl
dyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQKIFBBU1MgQmVmb3JlTG9hZEV2ZW50Lmxlbmd0aCBpcyAyCiBQQVNTIEJs
b2IubGVuZ3RoIGlzIDIKIFBBU1MgQ2xvc2VFdmVudC5sZW5ndGggaXMgMgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0cnVjdG9yLWxl
bmd0aC1leHBlY3RlZC50eHQKaW5kZXggMzE5ZDRjMmRjMTI2NTY4N2JjNzMxYjU4MjY0MTZhYTE1
ZDJjNWNlNS4uOTYyOGE3YjVhMzYwNTQ0NmQ2OWM5NDZlNmM2NjE0OTQ2Y2E0OTlkOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3Ro
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9jb25z
dHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsNyBAQCBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURQogCiBQQVNTIEFycmF5QnVmZmVyLmxlbmd0aCBpcyAxCiBGQUlMIEF1ZGlvQ29u
dGV4dC5sZW5ndGggc2hvdWxkIGJlIDAuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogQXVkaW9Db250ZXh0CitGQUlMIEF1dG9jb21wbGV0ZUVycm9y
RXZlbnQubGVuZ3RoIHNob3VsZCBiZSAyLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQKIFBBU1MgQmVmb3Jl
TG9hZEV2ZW50Lmxlbmd0aCBpcyAyCiBQQVNTIEJsb2IubGVuZ3RoIGlzIDIKIFBBU1MgQ2xvc2VF
dmVudC5sZW5ndGggaXMgMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFz
dC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CmluZGV4IDEwM2Vm
NGFkYTg2NjA3OGUyNjM4YWYwZDNlMzVhZDFjOTEwNmI0MjMuLjkwZGIxMTE4MDBmZjhiY2VhYmZi
OTQyYWI3MzM4YjQyMTdkZGNhOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKQEAg
LTUsNiArNSw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgQXJyYXlCdWZmZXIu
bGVuZ3RoIGlzIDEKIEZBSUwgQXVkaW9Db250ZXh0Lmxlbmd0aCBzaG91bGQgYmUgMC4gVGhyZXcg
ZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBdWRpb0NvbnRl
eHQKK0ZBSUwgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGggc2hvdWxkIGJlIDIuIFRocmV3
IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudAogUEFTUyBCZWZvcmVMb2FkRXZlbnQubGVuZ3RoIGlzIDIKIFBBU1MgQmxv
Yi5sZW5ndGggaXMgMgogUEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182084</attachid>
            <date>2013-01-10 01:07:38 -0800</date>
            <delta_ts>2013-01-10 14:41:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105568-20130110010441.patch</filename>
            <type>text/plain</type>
            <size>34311</size>
            <attacher name="Dan Beam">dbeam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk1NTQ1M2VjNjE5MzIz
YjJmOTUyMTNiNTI5YTcxMjFlZjMzMDYyZC4uODljNzNkYjhjMjM3ZWI2YWY0YjgxODk4MzQwZGEw
ZDk1MDg3ZmNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAxLTA5ICBEYW4g
QmVhbSAgPGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCNyZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNTU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUt
ZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOiBB
ZGRlZCBBdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbCBhbmQgQXV0b2NvbXBsZXRlRXJyb3JFdmVu
dC5oIGZvciBjaHJvbWl1bSBwb3J0J3MgYnVpbGQuCisgICAgICAgICogZG9tL0F1dG9jb21wbGV0
ZUVycm9yRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKTogQWRkZWQgbmV3IHR5cGUg
b2YgZXJyb3IgbmFtZWQgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC4KKyAgICAgICAgKEF1dG9jb21w
bGV0ZUVycm9yRXZlbnRJbml0KTogQWRkZWQgaW5pdCBwYXJhbXMgZm9yIEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnRzIChzbyBpbml0RXZlbnQoKSBjYW4gYmUgdXNlZCkuCisgICAgICAgIChBdXRvY29t
cGxldGVFcnJvckV2ZW50KTogQWRkZWQgYSBuZXcgZXJyb3IgZXZlbnQgdGhhdCBpbmhlcml0cyBm
cm9tIEV2ZW50IGJ1dCBhbHNvIGhhcyBhIHJlYXNvbiBmb3IgZmFpbHVyZS4KKyAgICAgICAgKFdl
YkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6OmNyZWF0ZSk6IEZhY3RvcnkgZnVuY3Rpb24g
dG8gY3JlYXRlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRzLgorICAgICAgICAoV2ViQ29yZTo6QXV0
b2NvbXBsZXRlRXJyb3JFdmVudDo6cmVhc29uKTogVGhlIHJlYXNvbiB3aHkgYSByZXF1ZXN0QXV0
b2NvbXBsZXRlKCkgaW52b2NhdGlvbiBmYWlsZWQuIENhbiBiZQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVkIiwgImNhbmNlbCIsIG9y
ICJpbnZhbGlkIi4KKyAgICAgICAgKFdlYkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6Omlu
dGVyZmFjZU5hbWUpOiBUaGUgbmFtZSBvZiB0aGUgZXZlbnQncyBpbnRlcmZhY2UgKGZvciBldmVu
dC50b1N0cmluZygpKS4KKyAgICAgICAgKFdlYkNvcmU6OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQ6
OkF1dG9jb21wbGV0ZUVycm9yRXZlbnQpOiBWYXJpb3VzIHdheXMgb2YgY29uc3RydWN0aW5nIHRo
ZSBlcnJvciBldmVudC4KKyAgICAgICAgKiBkb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGw6
IEFkZGVkLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOiBBZGRlZCBBdXRvY29tcGxldGVF
cnJvciB0byB0aGlzIGxpc3QsIGJhc2VkIG9uIFJFUVVFU1RfQVVUT0NPTVBMRVRFIGNvbmRpdGlv
bmFsLgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDogVXBkYXRlZCBmb3JtIGVs
ZW1lbnRzIHRvIGRpc3BhdGNoIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRzIG9uIGVycm9ycyBhbmQg
dG8gZ2l2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9yZSBkZXRhaWxz
IChldmVudC5yZWFzb24pIHdoZW4gdGhlIHJlcXVlc3QgZmFpbHMuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGUpOiBDaGFuZ2VkIHRvIG5ld2x5
IGFkZGVkIGZhaWx1cmUgdHlwZSAiZGlzYWJsZWQiLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKTogQ2hhbmdlZAorICAgICAgICAq
IGh0bWwvSFRNTEZvcm1FbGVtZW50Lmg6IEFkZGVkIG5ldyByZXN1bHRzIChFcnJvckRpc2FibGVk
LCBFcnJvckNhbmNlbCwgRXJyb3JJbnZhbGlkKS4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6IEFkZGVkIGdsb2JhbCBldmVudCBjb25zdHJ1Y3RvciBmb3IgbmV3IEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQoKSBzdHlsZSBldmVudCBjcmVhdGlvbi4KKwogMjAxMy0wMS0wOSAgRGltaXRyaSBH
bGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxMzkxNDMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDQ5OTViMTk3
NTExYzcyYzljNTIwM2YwYTFiMWNjNmVlODE1NmYxY2QuLjYwNmUyY2MzMmJjNmU3MDVkNGQyNzgw
NjU3MmRkYzc0OTc5MTVhNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTMtMDEtMDkgIERhbiBCZWFtICA8ZGJlYW1AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIEltcGxlbWVudCBBdXRvY29tcGxldGVFcnJvckV2ZW50I3JlYXNvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTY4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRm9ybUVsZW1l
bnQuaDogQWRkZWQgbWF0Y2hpbmcgZW51bSB2YWx1ZXMgZm9yIHB1YmxpYyBjaHJvbWl1bSBXZWJL
aXQgQVBJLgorICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDogVXBkYXRlZCBj
b21waWxlIGFzc2VydCB0aGF0IFdlYktpdCBhbmQgV2ViQ29yZSBlbnVtcyBtYXRjaC4KKwogMjAx
My0wMS0wOSAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEFkanVzdCBTa2lhIGJ1aWxkIGZsYWdzIHRvIFdlYktpdCBza2lhIGd5cApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDIyY2Q3NGU4OGZiNGNjNTUxNWY0NTA2M2RmYjNmZmEyMmE3ZTMxODEuLjZhMWQz
MTVlM2IxMmQ5MDIzZDAwMWFlYTgxMzEyZDc3ZDUzYjIzNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTE5MCw2ICsxOTAsNyBAQAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NUcmFuc2Zvcm1WYWx1
ZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaWRsJywKICAg
ICAgICAgICAgICdkb20vQXR0ci5pZGwnLAorICAgICAgICAgICAgJ2RvbS9BdXRvY29tcGxldGVF
cnJvckV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0JlZm9yZUxvYWRFdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9DREFUQVNlY3Rpb24uaWRsJywKICAgICAgICAgICAgICdkb20vQ2hh
cmFjdGVyRGF0YS5pZGwnLApAQCAtMjcwNiw2ICsyNzA3LDcgQEAKICAgICAgICAgJ3dlYmNvcmVf
ZG9tX2ZpbGVzJzogWwogICAgICAgICAgICAgJ2RvbS9BY3RpdmVET01PYmplY3QuY3BwJywKICAg
ICAgICAgICAgICdkb20vQXR0ci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9BdXRvY29tcGxldGVF
cnJvckV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9CZWZvcmVMb2FkRXZlbnQuaCcsCiAgICAg
ICAgICAgICAnZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmgnLApAQCAtNjA3NSw2ICs2MDc3LDggQEAKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXVkaW9C
dWZmZXIuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0F1ZGlvQnVmZmVyU291cmNlTm9kZS5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaCcs
CisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0F1
dG9jb21wbGV0ZUVycm9yRXZlbnQuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hhbm5lbE1l
cmdlck5vZGUuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ2hhbm5lbE1lcmdlck5vZGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdjNmI4YTVmODZiMWVmNTY2ZTRmNzRiZDRjYWI1ODYzMzE5MjViZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5oCkBAIC0wLDAg
KzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIAorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBBdXRvY29tcGxldGVFcnJvckV2ZW50
X2gKKyNkZWZpbmUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudF9oCisKKyNpZiBFTkFCTEUoUkVRVUVT
VF9BVVRPQ09NUExFVEUpCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQXV0b2NvbXBsZXRlRXJyb3JF
dmVudEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsKKyAgICBTdHJpbmcgcmVhc29uOworfTsKKwor
Y2xhc3MgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4gY3JlYXRlKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCk7
CisgICAgfQorCisgICAgc3RhdGljIFBhc3NSZWZQdHI8QXV0b2NvbXBsZXRlRXJyb3JFdmVudD4g
Y3JlYXRlKGNvbnN0IFN0cmluZyYgcmVhc29uKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KHJlYXNvbikpOworICAgIH0KKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEF1dG9jb21wbGV0ZUVycm9yRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXV0b2NvbXBsZXRlRXJyb3JFdmVudEluaXQmIGlu
aXRpYWxpemVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50KGV2ZW50VHlwZSwgaW5pdGlhbGl6ZXIpKTsKKyAgICB9CisKKyAgICBjb25z
dCBTdHJpbmcmIHJlYXNvbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVhc29uOyB9CisKKyAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIGV2
ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JBdXRvY29tcGxldGVFcnJvckV2ZW50OyB9CisKK3ByaXZh
dGU6CisgICAgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgpCisgICAgeworICAgIH0KKworICAgIEF1
dG9jb21wbGV0ZUVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiByZWFzb24pCisgICAgICAgIDogRXZl
bnQoZXZlbnROYW1lcygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSkKKyAg
ICAgICAgLCBtX3JlYXNvbihyZWFzb24pCisgICAgeworICAgIH0KKworICAgIEF1dG9jb21wbGV0
ZUVycm9yRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICAgICAgOiBFdmVudChldmVudFR5
cGUsIGluaXRpYWxpemVyKQorICAgICAgICAsIG1fcmVhc29uKGluaXRpYWxpemVyLnJlYXNvbikK
KyAgICB7CisgICAgfQorCisgICAgU3RyaW5nIG1fcmVhc29uOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQorCisj
ZW5kaWYgLy8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
QXV0b2NvbXBsZXRlRXJyb3JFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDMwMDNlOWUwNzFhYjNkYTgy
ZjBhOTA2YTZjNTNmMmVkZGEwNTRmYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BdXRvY29tcGxldGVFcnJvckV2ZW50LmlkbApAQCAtMCwwICsxLDMxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKiAKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURSwKKyAgICBD
b25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50CitdIGludGVyZmFjZSBBdXRvY29tcGxldGVFcnJvckV2
ZW50IDogRXZlbnQgeworICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyByZWFzb247Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmluCmluZGV4IDM0NzFjMDcxMGFiNGNhNTUyZGNmNTI0MjIxYmY3ZDc4NjYwZWMxMWQuLmMxYzNi
OWVmMDIzNzE3NWMzMTRmYWI3NTYzNDEwYzE0OTNmNzcyNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmluCkBAIC01MCwzICs1MCw0IEBAIERldmljZVByb3hpbWl0eUV2ZW50IGNvbmRpdGlvbmFs
PVBST1hJTUlUWV9FVkVOVFMKIE9yaWVudGF0aW9uRXZlbnQgaW50ZXJmYWNlTmFtZT1FdmVudCwg
Y29uZGl0aW9uYWw9T1JJRU5UQVRJT05fRVZFTlRTCiBNZWRpYUtleUV2ZW50IGNvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQQogVHJhY2tFdmVudCBjb25kaXRpb25hbD1WSURFT19UUkFDSworQXV0
b2NvbXBsZXRlRXJyb3JFdmVudCBjb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVURQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDhhODM4MzgyMjY3NzQ5OWMx
MmNhZGU1ODg1NTMxNTYwMjEyODEwYTguLmRlNzlhNzBlNmY1MzY5Mjc3ODM2ZDY4MGZiOGY1ZjZj
ODVlNDJmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTI2
LDYgKzI2LDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkF0
dHJpYnV0ZS5oIgorI2luY2x1ZGUgIkF1dG9jb21wbGV0ZUVycm9yRXZlbnQuaCIKICNpbmNsdWRl
ICJET01Gb3JtRGF0YS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCkBAIC0zOTksNyArNDAwLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RB
dXRvY29tcGxldGUoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIXNob3VsZEF1dG9jb21w
bGV0ZSgpIHx8ICFTY3JpcHRDb250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkgewot
ICAgICAgICBmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJlc3VsdEVycm9y
KTsKKyAgICAgICAgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHRF
cnJvckRpc2FibGVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDExLDcgKzQxMiwx
OCBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZSgpCiAKIHZvaWQg
SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJl
c3VsdCByZXN1bHQpCiB7Ci0gICAgUmVmUHRyPEV2ZW50PiBldmVudChFdmVudDo6Y3JlYXRlKHJl
c3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzID8gZXZlbnROYW1lcygpLmF1dG9jb21w
bGV0ZUV2ZW50IDogZXZlbnROYW1lcygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBm
YWxzZSkpOworICAgIFJlZlB0cjxFdmVudD4gZXZlbnQ7CisgICAgaWYgKHJlc3VsdCA9PSBBdXRv
Y29tcGxldGVSZXN1bHRTdWNjZXNzKQorICAgICAgICBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmF1dG9jb21wbGV0ZUV2ZW50LCBmYWxzZSwgZmFsc2UpOworICAgIGVsc2UgaWYg
KHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvcikgLy8gRklYTUU6IFJlbW92ZSB3aGVu
IG5vIGxvbmdlciB1c2VkLgorICAgICAgICBldmVudCA9IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLmF1dG9jb21wbGV0ZWVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSk7CisgICAgZWxzZSBpZiAo
cmVzdWx0ID09IEF1dG9jb21wbGV0ZVJlc3VsdEVycm9yRGlzYWJsZWQpCisgICAgICAgIGV2ZW50
ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6Y3JlYXRlKCJkaXNhYmxlZCIpOworICAgIGVsc2Ug
aWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvckNhbmNlbCkKKyAgICAgICAgZXZl
bnQgPSBBdXRvY29tcGxldGVFcnJvckV2ZW50OjpjcmVhdGUoImNhbmNlbCIpOworICAgIGVsc2Ug
aWYgKHJlc3VsdCA9PSBBdXRvY29tcGxldGVSZXN1bHRFcnJvckludmFsaWQpCisgICAgICAgIGV2
ZW50ID0gQXV0b2NvbXBsZXRlRXJyb3JFdmVudDo6Y3JlYXRlKCJpbnZhbGlkIik7CisKICAgICBl
dmVudC0+c2V0VGFyZ2V0KHRoaXMpOwogICAgIG1fcGVuZGluZ0F1dG9jb21wbGV0ZUV2ZW50cy5h
cHBlbmQoZXZlbnQucmVsZWFzZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50
LmgKaW5kZXggZDljOWFiNTBiMWMwMmIzODRhNDhhZGIwMjEzNmUxNmIwZjBkZWVjMS4uMjMyMjA2
OTllZDc2MWFiMzZjNDAwZjI4Mzk5ODhhZTcyZjBlZjFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5oCkBAIC05OSw3ICs5OSwxMyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjaGVj
a1ZhbGlkaXR5KCk7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCi0gICAgZW51
bSBBdXRvY29tcGxldGVSZXN1bHQgeyBBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzLCBBdXRvY29t
cGxldGVSZXN1bHRFcnJvciB9OworICAgIGVudW0gQXV0b2NvbXBsZXRlUmVzdWx0IHsKKyAgICAg
ICAgQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywKKyAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3IsIC8vIEZJWE1FOiBSZW1vdmUgd2hlbiBubyBsb25nZXIgdXNlZC4KKyAgICAgICAgQXV0
b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNhYmxlZCwKKyAgICAgICAgQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3JDYW5jZWwsCisgICAgICAgIEF1dG9jb21wbGV0ZVJlc3VsdEVycm9ySW52YWxpZCwKKyAg
ICB9OwogCiAgICAgdm9pZCByZXF1ZXN0QXV0b2NvbXBsZXRlKCk7CiAgICAgdm9pZCBmaW5pc2hS
ZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJlc3VsdCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKaW5kZXggYzk2YzcyNTJhMmI5ZmZhOTM1YTY0MTVhZWZhMmM0NjNjY2NkZTMxNi4u
ZmMzN2IyMDRkOWI4Mjc0ZDcwMGJiYzY4ZTU0MDE0YzJhZDVkZGEwZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbApAQCAtNTYzLDYgKzU2Myw3IEBACiAgICAgW0NvbmRpdGlvbmFsPUlOUFVU
X1NQRUVDSF0gYXR0cmlidXRlIFNwZWVjaElucHV0RXZlbnRDb25zdHJ1Y3RvciBTcGVlY2hJbnB1
dEV2ZW50OwogICAgIFtDb25kaXRpb25hbD1XRUJHTF0gYXR0cmlidXRlIFdlYkdMQ29udGV4dEV2
ZW50Q29uc3RydWN0b3IgV2ViR0xDb250ZXh0RXZlbnQ7CiAgICAgW0NvbmRpdGlvbmFsPVBST1hJ
TUlUWV9FVkVOVFNdIGF0dHJpYnV0ZSBEZXZpY2VQcm94aW1pdHlFdmVudENvbnN0cnVjdG9yIERl
dmljZVByb3hpbWl0eUV2ZW50OworICAgIFtDb25kaXRpb25hbD1SRVFVRVNUX0FVVE9DT01QTEVU
RV0gYXR0cmlidXRlIEF1dG9jb21wbGV0ZUVycm9yRXZlbnRDb25zdHJ1Y3RvciBBdXRvY29tcGxl
dGVFcnJvckV2ZW50OwogCiAgICAgYXR0cmlidXRlIEV2ZW50RXhjZXB0aW9uQ29uc3RydWN0b3Ig
RXZlbnRFeGNlcHRpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZvcm1FbGVtZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJG
b3JtRWxlbWVudC5oCmluZGV4IDI3Yzk5ZDNhMTcxOTJmN2QwODA4Yzg3ZTcyY2E1ZGE4YTYzYjZj
MTguLjBlZDVmYjZkNmMyMmU2YTY5YThkMzBkNmFjN2Q5ZjkxODU5NzBhODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZvcm1FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRm9ybUVsZW1lbnQuaApAQCAtNjksNyArNjks
MTMgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIFdFQktJVF9FWFBPUlQgdm9pZCBnZXRO
YW1lZEVsZW1lbnRzKGNvbnN0IFdlYlN0cmluZyYsIFdlYlZlY3RvcjxXZWJOb2RlPiYpOwogICAg
ICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgZ2V0Rm9ybUNvbnRyb2xFbGVtZW50cyhXZWJWZWN0b3I8
V2ViRm9ybUNvbnRyb2xFbGVtZW50PiYpIGNvbnN0OwogCi0gICAgICAgIGVudW0gQXV0b2NvbXBs
ZXRlUmVzdWx0IHsgQXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywgQXV0b2NvbXBsZXRlUmVzdWx0
RXJyb3IgfTsKKyAgICAgICAgZW51bSBBdXRvY29tcGxldGVSZXN1bHQgeworICAgICAgICAgICAg
QXV0b2NvbXBsZXRlUmVzdWx0U3VjY2VzcywKKyAgICAgICAgICAgIEF1dG9jb21wbGV0ZVJlc3Vs
dEVycm9yLCAvLyBGSVhNRTogUmVtb3ZlIHdoZW4gbm90IHVzZWQgYW55IG1vcmUuCisgICAgICAg
ICAgICBBdXRvY29tcGxldGVSZXN1bHRFcnJvckRpc2FibGVkLAorICAgICAgICAgICAgQXV0b2Nv
bXBsZXRlUmVzdWx0RXJyb3JDYW5jZWwsCisgICAgICAgICAgICBBdXRvY29tcGxldGVSZXN1bHRF
cnJvckludmFsaWQsCisgICAgICAgIH07CiAgICAgICAgIFdFQktJVF9FWFBPUlQgdm9pZCBmaW5p
c2hSZXF1ZXN0QXV0b2NvbXBsZXRlKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHQp
OwogCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4IGFiYzJmZDliZjU2ZjIxODAx
ODcyOWI0ZmJjYTdkZGYyNWM2YTFjNGEuLjc2YjBiNzY1NTJjNjczZDE2MWFiNTk2OTlhMDUyYmY1
NmVkYzEwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1h
dGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1h
dGNoaW5nRW51bXMuY3BwCkBAIC02MjgsNCArNjI4LDcgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJNZWRpYVBsYXllcjo6Q09SU01vZGVVc2VDcmVkZW50aWFscywgTWVkaWFQbGF5
ZXIKICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCiBDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRTdWNjZXNzLCBIVE1M
Rm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0ZVJlc3VsdFN1Y2Nlc3MpOwogQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IsIEhU
TUxGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3IpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJGb3JtRWxlbWVudDo6QXV0b2NvbXBsZXRlUmVzdWx0RXJyb3JEaXNh
YmxlZCwgSFRNTEZvcm1FbGVtZW50OjpBdXRvY29tcGxldGVSZXN1bHRFcnJvckRpc2FibGVkKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0
ZVJlc3VsdEVycm9yQ2FuY2VsLCBIVE1MRm9ybUVsZW1lbnQ6OkF1dG9jb21wbGV0ZVJlc3VsdEVy
cm9yQ2FuY2VsKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRm9ybUVsZW1lbnQ6
OkF1dG9jb21wbGV0ZVJlc3VsdEVycm9ySW52YWxpZCwgSFRNTEZvcm1FbGVtZW50OjpBdXRvY29t
cGxldGVSZXN1bHRFcnJvckludmFsaWQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTNjYjM5NGFlOWVhMjI2
MThiNDg1OGExMzVhY2EzY2ZjN2I1NjcwYS4uMmRhYTZjZWYzMTg2ZDQzZmVkNjI1NGM0NTZlYTdi
M2I5YjdiYTIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAxLTA5ICBEYW4gQmVhbSAg
PGRiZWFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCNyZWFzb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNTU2OAorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIHZlcmlmeSBldmVudCBjcmVh
dGlvbiBhbmQgZ2xvYmFsIGV2ZW50IGNvbnN0cnVjdG9yIGV4aXN0ZW5jZSBvZiBBdXRvY29tcGxl
dGVFcnJvckV2ZW50CisgICAgICAgIGFuZCB1cGRhdGVkIHRoZSBleGlzdGluZyB0ZXN0cyB0byBt
YWtlIHN1cmUgZXJyb3JzIHJlY2VpdmVkIGFyZSBvZiB0aGUgcmlnaHQgdHlwZSBhbmQgaGF2ZSB0
aGUgcmlnaHQgcmVhc29uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1l
dmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbDogQWRk
ZWQgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoKSB0ZXN0IGNhc2UuCisgICAgICAgICogZmFz
dC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWw6IFVwZGF0ZWQgJ2F1dG9jb21w
bGV0ZWVycm9yJyBsaXN0ZW5lcnMgdG8gY2hlY2sgZXZlbnQucmVhc29uLgorICAgICAgICAqIGZh
c3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWw6IEFkZGVkIEF1dG9jb21wbGV0ZUVycm9yRXZl
bnQgdG8gbGlzdC4KKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3Ry
dWN0b3JzLmpzOiBBZGRlZCBBdXRvY29tcGxldGVFcnJvckV2ZW50IHRvIGxpc3QuCisgICAgICAg
ICogcGxhdGZvcm0vYmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3Rl
ZC50eHQ6IEFkZGVkIGV4cGVjdGVkIFJlZmVyZW5jZUVycm9yLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZl
bnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29tcGxldGUtZXhwZWN0ZWQudHh0
OiBVcGRhdGVkIHBhc3NpbmcgZXhwZWN0YXRpb25zLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dDogQWRkZWQgZXhwZWN0
ZWQgMCBsZW5ndGggcmVzdWx0LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2pzL2NvbnN0
cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkIGV4cGVjdGVkIFJlZmVyZW5jZUVycm9y
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBl
Y3RlZC50eHQ6IEFkZGVkIGV4cGVjdGVkIFJlZmVyZW5jZUVycm9yLgorICAgICAgICAqIHBsYXRm
b3JtL3F0L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dDogQWRkZWQgZXhw
ZWN0ZWQgUmVmZXJlbmNlRXJyb3IuCisKIDIwMTMtMDEtMDkgIEp1c3RpbiBOb3Zvc2FkICA8anVu
b3ZAZ29vZ2xlLmNvbT4KIAogICAgICAgICBOZXcgY2hyb21pdW0td2luIHBpeGVsIGJhc2VsaW5l
IGZvciBncmFkaWVudC1iYWNrZ3JvdW5kLWxlYWthZ2UtaGlkcGkuaHRtbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1l
dmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9j
b25zdHJ1Y3RvcnMvYXV0b2NvbXBsZXRlLWVycm9yLWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ZDdhNWZjNTI5ZTI0NTUxNzMyMmRkYWZiOTQ2NDA3ODY1ZjM1ZDk3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3Jz
L2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMCBAQAorVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBBdXRvY29tcGxl
dGVFcnJvckV2ZW50IERPTSBjbGFzcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0ZBSUwgbm8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZlbnQtY29uc3RydWN0b3Iu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUt
ZXJyb3ItZXZlbnQtY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjFjZWM3NTRmMWZjMDVl
MGFlMGQzMzBlMGQ5MDIxYzVkOWFhNzIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25zdHJ1
Y3Rvci5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBBdXRvY29tcGxldGVFcnJvckV2ZW50IERPTSBjbGFz
cy4iKTsKKworaWYgKCF3aW5kb3cuQXV0b2NvbXBsZXRlRXJyb3JFdmVudCkgeworICAgIHRlc3RG
YWlsZWQoJ25vIEF1dG9jb21wbGV0ZUVycm9yRXZlbnQnKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30gZWxzZSB7CisgICAgLy8gTm8gaW5pdGlhbGl6ZXIgaXMgcGFzc2VkLgorICAgIHNob3VsZEJl
KCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJykuYnViYmxlcyIsICJmYWxz
ZSIpOworICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBl
JykuY2FuY2VsYWJsZSIsICJmYWxzZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScpLnJlYXNvbiIsICIiKTsKKworICAg
IC8vIGJ1YmJsZXMgaXMgcGFzc2VkLgorICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiBmYWxzZSB9KS5idWJibGVzIiwgImZhbHNl
Iik7CisgICAgc2hvdWxkQmUoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUn
LCB7IGJ1YmJsZXM6IHRydWUgfSkuYnViYmxlcyIsICJ0cnVlIik7CisKKyAgICAvLyBjYW5jZWxh
YmxlIGlzIHBhc3NlZC4KKyAgICBzaG91bGRCZSgibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQo
J2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2VsYWJsZSIsICJmYWxzZSIp
OworICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywg
eyBjYW5jZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUiLCAidHJ1ZSIpOworCisgICAgLy8gcmVh
c29uIGlzIHBhc3NlZC4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxl
dGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogJ2RvcmVtaScgfSkucmVhc29uIiwg
ImRvcmVtaSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiAnJyB9KS5yZWFzb24iLCAiIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJywgeyByZWFzb246IHVuZGVmaW5lZCB9KS5yZWFzb24iLCAidW5kZWZpbmVkIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJywgeyByZWFzb246IG51bGwgfSkucmVhc29uIiwgIm51bGwiKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJl
YXNvbjogZmFsc2UgfSkucmVhc29uIiwgImZhbHNlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IHRy
dWUgfSkucmVhc29uIiwgInRydWUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBB
dXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogMTIzNDUgfSkucmVh
c29uIiwgIjEyMzQ1Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IDE4NDQ2NzQ0MDczNzA5NTUxNjE1
IH0pLnJlYXNvbiIsICIxODQ0Njc0NDA3MzcwOTU1MjAwMCIpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29u
OiBOYU4gfSkucmVhc29uIiwgIk5hTiIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3
IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBbXSB9KS5yZWFz
b24iLCAiIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQXV0b2NvbXBsZXRlRXJy
b3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IFsxLCAyLCAzXSB9KS5yZWFzb24iLCAiMSwy
LDMiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29tcGxldGVFcnJvckV2
ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjoge2RvcmVtaTogMTIzNDV9IH0pLnJlYXNvbiIsICJb
b2JqZWN0IE9iamVjdF0iKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjoge3ZhbHVlT2Y6IGZ1bmN0aW9u
ICgpIHsgcmV0dXJuICdkb3JlbWknOyB9IH0gfSkucmVhc29uIiwgIltvYmplY3QgT2JqZWN0XSIp
OworCisgICAgLy8gQWxsIGluaXRpYWxpemVycyBhcmUgcGFzc2VkLgorICAgIHNob3VsZEJlKCJu
ZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOwor
ICAgIHNob3VsZEJlKCJuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBi
dWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCByZWFzb246ICdkb3JlbWknIH0pLmNhbmNl
bGFibGUiLCAidHJ1ZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IEF1dG9jb21w
bGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwgcmVhc29uOiAnZG9yZW1pJyB9KS5yZWFzb24iLCAiZG9yZW1pIik7Cit9CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50
LWNyZWF0aW9uLmh0bWwKaW5kZXggMmQ3MjYzZGEzOTI5YTI2NGIxMDQwZjdhZjE0NzUxNWFjZTZl
NDM2NS4uMzExN2JmYTJjMzhjZTM5ODhmNTdiMzNmYjc0NGM0MmIwM2M3MTJmYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCkBAIC0yMjMsNiArMjIzLDEy
IEBACiAgICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnT3JpZW50YXRp
b25FdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CiAgICAgLy8gc2hvdWxkQmVUcnVl
KCJkb2N1bWVudC5jcmVhdGVFdmVudCgnT3JpZW50YXRpb25FdmVudCcpLmNvbnN0cnVjdG9yID09
PSB3aW5kb3cuRXZlbnQiKTsKIAorICAgIC8vICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExF
VEUpCisgICAgLy8gQXV0b2NvbXBsZXRlRXJyb3JFdmVudAorICAgIC8vIHNob3VsZEJlVHJ1ZSgi
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0F1dG9jb21wbGV0ZUVycm9yRXZlbnQnKSBpbnN0YW5jZW9m
IHdpbmRvdy5BdXRvY29tcGxldGVFcnJvckV2ZW50Iik7CisgICAgLy8gc2hvdWxkQmVUcnVlKCJk
b2N1bWVudC5jcmVhdGVFdmVudCgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpIGluc3RhbmNlb2Yg
d2luZG93LkV2ZW50Iik7CisgICAgLy8gc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVu
dCgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudCIpOworCiAKICAgICAvLyBXZSB0ZXN0IGJvdGggYSBoYXJkIGNvZGVk
IHNldCBhbmQgdGhlIGF1dG9tYXRlZCBzZXQgYmVsb3cgKHVzaW5nIGVudW1lcmF0aW9uKSB0byBl
bnN1cmUgdGhhdCBhIGNvbnN0cnVjdG9yIGJlaW5nIHJlbW92ZWQKICAgICAvLyBmcm9tIHRoZSB3
aW5kb3cgaXMgY2F1Z2h0IGEgcmVncmVzc2lvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvZm9ybS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKaW5kZXggMDY2ZDZkMjIzYzUx
ZjdlY2RhOTA0NzczNzk4MDExYmNjYzIwYzI5My4uNzdiNDcxYjk1MDdhNTA3Mjg1YWZjYzhjM2Zl
YWUwNjlmNzY3NDhkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLXJl
cXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3Jt
LXJlcXVlc3QtYXV0b2NvbXBsZXRlLmh0bWwKQEAgLTE4LDYgKzE4LDcgQEAgZnVuY3Rpb24gcnVu
VGVzdHMoKQogCiAgICAgY2hlY2tEeW5hbWljQXR0cmlidXRlcygpOwogICAgIGNoZWNrUGFyc2Vk
QXR0cmlidXRlcygpOworICAgIGNoZWNrTm9uVXNlckdlc3R1cmUoKTsKIH0KIAogZnVuY3Rpb24g
Y2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhmb3JtKQpAQCAtNDAsNiArNDEsOSBAQCBmdW5j
dGlvbiBjaGVja1BhcnNlZEF0dHJpYnV0ZXMoKQogCiAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5m
b3Jtc1swXTsKICAgICBjaGVja0ZvckVudW1lcmFibGVQcm9wZXJ0aWVzKGZvcm0pOworCisgICAg
Ly8gQ3VycmVudGx5IENocm9tZSBqdXN0IGltbWVkaWF0ZWx5IGRpc3BhdGNoZXMgYW4gZXJyb3Iu
CisgICAgZm9ybS5vbmF1dG9jb21wbGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29uKCdkaXNhYmxl
ZCcpOwogICAgIGZvcm0ucmVxdWVzdEF1dG9jb21wbGV0ZSgpOwogfQogCkBAIC01MSw3ICs1NSw3
IEBAIGZ1bmN0aW9uIGNoZWNrRHluYW1pY0F0dHJpYnV0ZXMoKQogICAgIGNoZWNrRm9yRW51bWVy
YWJsZVByb3BlcnRpZXMoZm9ybSk7CiAKICAgICBmb3JtLmF1dG9jb21wbGV0ZSA9ICdvZmYnOwot
ICAgIGZvcm0ub25hdXRvY29tcGxldGVlcnJvciA9IG9uRXJyb3I7CisgICAgZm9ybS5vbmF1dG9j
b21wbGV0ZWVycm9yID0gZXJyb3JXaXRoUmVhc29uKCdkaXNhYmxlZCcpOwogICAgIGZvcm0ucmVx
dWVzdEF1dG9jb21wbGV0ZSgpOwogfQogCkBAIC02MSw3ICs2NSw3IEBAIGZ1bmN0aW9uIGNoZWNr
Tm9uVXNlckdlc3R1cmUoKQogCiAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdmb3JtJyk7CiAgICAgY2hlY2tGb3JFbnVtZXJhYmxlUHJvcGVydGllcyhmb3JtKTsKLSAgICBm
b3JtLm9uYXV0b2NvbXBsZXRlZXJyb3IgPSBvbkVycm9yOworICAgIGZvcm0ub25hdXRvY29tcGxl
dGVlcnJvciA9IGVycm9yV2l0aFJlYXNvbignZGlzYWJsZWQnKTsKIAogICAgIHNldFRpbWVvdXQo
ZnVuY3Rpb24oKQogICAgIHsKQEAgLTY5LDYgKzczLDIzIEBAIGZ1bmN0aW9uIGNoZWNrTm9uVXNl
ckdlc3R1cmUoKQogICAgIH0sIDApOwogfQogCitmdW5jdGlvbiBlcnJvcldpdGhSZWFzb24ocmVh
c29uKQoreworICAgIHJldHVybiBmdW5jdGlvbihldmVudCkgeworICAgICAgICBpZiAoZXZlbnQg
aW5zdGFuY2VvZiBBdXRvY29tcGxldGVFcnJvckV2ZW50KQorICAgICAgICAgICAgdGVzdFBhc3Nl
ZCgnZXZlbnQgaXMgYW4gQXV0b2NvbXBsZXRlRXJyb3JFdmVudCcpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCdleHBlY3RlZCBhbiBBdXRvY29tcGxldGVFcnJvckV2ZW50
Jyk7CisKKyAgICAgICAgaWYgKGV2ZW50LnJlYXNvbiA9PSByZWFzb24pCisgICAgICAgICAgICB0
ZXN0UGFzc2VkKCdnb3QgZXhwZWN0ZWQgcmVhc29uOiAnICsgcmVhc29uKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgdGVzdEZhaWxlZCgnd3JvbmcgcmVhc29uLCBleHBlY3RlZDogJyArIHJl
YXNvbiArICcsIGdvdDogJyArIGV2ZW50LnJlYXNvbik7CisKKyAgICAgICAgb25FcnJvcigpOwor
ICAgIH07Cit9CisKIGZ1bmN0aW9uIG9uRXJyb3IoKQogewogICAgIG51bUVycm9ycyArPSAxOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGguaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLmh0bWwKaW5kZXggZjMwOTI0
ZGY2NDc3MTMxMDA4NmU0MmVkYTg5Y2NiNTY5OThlMGM5YS4uMWQ0ZTQ2YTJjYTBlN2M5ZDE0OTQ5
ZDg4ZjE2Y2YzNGExNzc1MjM3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9jb25z
dHJ1Y3Rvci1sZW5ndGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2NvbnN0cnVjdG9y
LWxlbmd0aC5odG1sCkBAIC05LDYgKzksNyBAQCBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUg
bGVuZ3RoIHByb3BlcnR5IG9mIGNvbnN0cnVjdG9ycy4iKTsKIAogc2hvdWxkQmUoJ0FycmF5QnVm
ZmVyLmxlbmd0aCcsICcxJyk7CiBzaG91bGRCZSgnQXVkaW9Db250ZXh0Lmxlbmd0aCcsICcwJyk7
CitzaG91bGRCZSgnQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGgnLCAnMicpOwogc2hvdWxk
QmUoJ0JlZm9yZUxvYWRFdmVudC5sZW5ndGgnLCAnMicpOwogc2hvdWxkQmUoJ0Jsb2IubGVuZ3Ro
JywgJzInKTsKIHNob3VsZEJlKCdDbG9zZUV2ZW50Lmxlbmd0aCcsICcyJyk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvZ2xvYmFsLWNvbnN0cnVjdG9ycy5q
cwppbmRleCA0M2Q0MzM2N2Q2ZDYzNGE1ODk0YTBhY2ViMjQyMTBlNWYwZGFhN2Q2Li5hZTcyY2Ey
MGIzNjllNGIxZTM1OTcwYThlMjEwODJkYzYxYWEzNDk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9nbG9iYWwtY29uc3RydWN0b3JzLmpzCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2dsb2JhbC1jb25zdHJ1Y3RvcnMuanMKQEAgLTM5
LDcgKzM5LDggQEAgZm9yICh2YXIgeCBpbiBjb25zdHJ1Y3Rvck5hbWVzKSB7CiAgICAgICAgIG5h
bWUgPT0gIkZsb2F0MzJBcnJheSIgfHwKICAgICAgICAgbmFtZSA9PSAiRmxvYXQ2NEFycmF5IiB8
fAogICAgICAgICBuYW1lID09ICJGaWxlRXJyb3IiIHx8Ci0gICAgICAgIG5hbWUgPT0gIkZpbGVS
ZWFkZXIiKQorICAgICAgICBuYW1lID09ICJGaWxlUmVhZGVyIiB8fAorICAgICAgICBuYW1lID09
ICJBdXRvY29tcGxldGVFcnJvckV2ZW50IikKICAgICAgICAgY29udGludWU7CiAKICAgICBpZiAo
bmFtZSA9PSAiWE1MRG9jdW1lbnQiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
YmxhY2tiZXJyeS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4
cGVjdGVkLnR4dAppbmRleCA5ZGJmZmM5MmYxZGNhOWIxZjUxMjFiMTZmOTZmYTEzZmQ2NTAxYWJh
Li4zOTEyN2QxNGE3MjEzM2RhMjBjMjdiNTA2MjM0MDdjNjhmZDUwZTE5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3Ro
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2Zhc3Qv
anMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyBBcnJheUJ1ZmZlci5sZW5ndGggaXMgMQogRkFJTCBB
dWRpb0NvbnRleHQubGVuZ3RoIHNob3VsZCBiZSAwLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEF1ZGlvQ29udGV4dAorRkFJTCBBdXRvY29tcGxl
dGVFcnJvckV2ZW50Lmxlbmd0aCBzaG91bGQgYmUgMi4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBdXRvY29tcGxldGVFcnJvckV2ZW50CiBQQVNT
IEJlZm9yZUxvYWRFdmVudC5sZW5ndGggaXMgMgogUEFTUyBCbG9iLmxlbmd0aCBpcyAyCiBQQVNT
IENsb3NlRXZlbnQubGVuZ3RoIGlzIDIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZl
bnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL2F1dG9jb21wbGV0ZS1lcnJvci1ldmVudC1jb25z
dHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjc5OWQ5OTBiOWMxNWQ4NGVkODM4MTk2
MjMzNDAzZWFlMWY1NTg1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9hdXRvY29tcGxldGUtZXJyb3ItZXZl
bnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAKK1RoaXMgdGVzdHMg
dGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCBET00gY2xhc3Mu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5ldyBBdXRvY29tcGxldGVF
cnJvckV2ZW50KCdldmVudFR5cGUnKS5idWJibGVzIGlzIGZhbHNlCitQQVNTIG5ldyBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnKS5jYW5jZWxhYmxlIGlzIGZhbHNlCitQQVNTIG5l
dyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnKS5yZWFzb24gaXMgIiIKK1BBU1Mg
bmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogZmFsc2Ug
fSkuYnViYmxlcyBpcyBmYWxzZQorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZl
bnRUeXBlJywgeyBidWJibGVzOiB0cnVlIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgQXV0
b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiBmYWxzZSB9KS5j
YW5jZWxhYmxlIGlzIGZhbHNlCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVu
dFR5cGUnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNTIG5l
dyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogJ2RvcmVtaScg
fSkucmVhc29uIGlzICJkb3JlbWkiCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdl
dmVudFR5cGUnLCB7IHJlYXNvbjogJycgfSkucmVhc29uIGlzICIiCitQQVNTIG5ldyBBdXRvY29t
cGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogdW5kZWZpbmVkIH0pLnJlYXNv
biBpcyAidW5kZWZpbmVkIgorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRU
eXBlJywgeyByZWFzb246IG51bGwgfSkucmVhc29uIGlzICJudWxsIgorUEFTUyBuZXcgQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246IGZhbHNlIH0pLnJlYXNvbiBp
cyAiZmFsc2UiCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7
IHJlYXNvbjogdHJ1ZSB9KS5yZWFzb24gaXMgInRydWUiCitQQVNTIG5ldyBBdXRvY29tcGxldGVF
cnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNvbjogMTIzNDUgfSkucmVhc29uIGlzICIxMjM0
NSIKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29u
OiAxODQ0Njc0NDA3MzcwOTU1MTYxNSB9KS5yZWFzb24gaXMgIjE4NDQ2NzQ0MDczNzA5NTUyMDAw
IgorUEFTUyBuZXcgQXV0b2NvbXBsZXRlRXJyb3JFdmVudCgnZXZlbnRUeXBlJywgeyByZWFzb246
IE5hTiB9KS5yZWFzb24gaXMgIk5hTiIKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQo
J2V2ZW50VHlwZScsIHsgcmVhc29uOiBbXSB9KS5yZWFzb24gaXMgIiIKK1BBU1MgbmV3IEF1dG9j
b21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlwZScsIHsgcmVhc29uOiBbMSwgMiwgM10gfSkucmVh
c29uIGlzICIxLDIsMyIKK1BBU1MgbmV3IEF1dG9jb21wbGV0ZUVycm9yRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgcmVhc29uOiB7ZG9yZW1pOiAxMjM0NX0gfSkucmVhc29uIGlzICJbb2JqZWN0IE9iamVj
dF0iCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdldmVudFR5cGUnLCB7IHJlYXNv
bjoge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICdkb3JlbWknOyB9IH0gfSkucmVhc29u
IGlzICJbb2JqZWN0IE9iamVjdF0iCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50KCdl
dmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHJlYXNvbjogJ2Rv
cmVtaScgfSkuYnViYmxlcyBpcyB0cnVlCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJvckV2ZW50
KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHJlYXNvbjog
J2RvcmVtaScgfSkuY2FuY2VsYWJsZSBpcyB0cnVlCitQQVNTIG5ldyBBdXRvY29tcGxldGVFcnJv
ckV2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIHJl
YXNvbjogJ2RvcmVtaScgfSkucmVhc29uIGlzICJkb3JlbWkiCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZm9y
bS1yZXF1ZXN0LWF1dG9jb21wbGV0ZS1leHBlY3RlZC50eHQKaW5kZXggNWQxOWMyMDkwNDY5MWQ5
NTM0ODNmNDM2YzcxZDllNDE3ZTU2MGM4Mi4uNjBiZmM5ZTEwMGE0ZGQ2YmJlZDEyOThjZmJhMzcw
NjUxMTI4NWZmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9mb3Jtcy9mb3JtLXJlcXVlc3QtYXV0b2NvbXBsZXRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2Zvcm0tcmVxdWVzdC1hdXRvY29t
cGxldGUtZXhwZWN0ZWQudHh0CkBAIC00LDcgKzQsMTQgQEAgRm9yIHRoaXMgdGVzdCB0byBwYXNz
LCB5b3Ugc2hvdWxkIHNlZSBhbGwgUEFTU0VEIGJlbG93LgogCiBQQVNTIG5vIGVudW1lcmFibGUg
cHJvcGVydGllcyBvbiBIVE1MRm9ybUVsZW1lbnQKIFBBU1Mgbm8gZW51bWVyYWJsZSBwcm9wZXJ0
aWVzIG9uIEhUTUxGb3JtRWxlbWVudAotUEFTUyBnb3QgZXhwZWN0ZWQgbnVtYmVyIG9mIGVycm9y
IGV2ZW50cyAoMikKK1BBU1Mgbm8gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9uIEhUTUxGb3JtRWxl
bWVudAorUEFTUyBldmVudCBpcyBhbiBBdXRvY29tcGxldGVFcnJvckV2ZW50CitQQVNTIGdvdCBl
eHBlY3RlZCByZWFzb246IGRpc2FibGVkCitQQVNTIGV2ZW50IGlzIGFuIEF1dG9jb21wbGV0ZUVy
cm9yRXZlbnQKK1BBU1MgZ290IGV4cGVjdGVkIHJlYXNvbjogZGlzYWJsZWQKK1BBU1MgZXZlbnQg
aXMgYW4gQXV0b2NvbXBsZXRlRXJyb3JFdmVudAorUEFTUyBnb3QgZXhwZWN0ZWQgcmVhc29uOiBk
aXNhYmxlZAorUEFTUyBnb3QgZXhwZWN0ZWQgbnVtYmVyIG9mIGVycm9yIGV2ZW50cyAoMykKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5n
dGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9qcy9j
b25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CmluZGV4IDhkMWI3ZTcyYWM0NzQ4Nzc0ZmFm
ZTIxNTZiMTE3NGU3Yzk0ZDE3YmMuLjZmYzNiMzM2MWIyZDdkYTk3Njg4MTAyMGE5YTM2OTBhZWY5
ZmI4YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvanMv
Y29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKQEAgLTUs
NiArNSw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIEZBSUwgQXJyYXlCdWZmZXIubGVu
Z3RoIHNob3VsZCBiZSAxLiBXYXMgMC4KIEZBSUwgQXVkaW9Db250ZXh0Lmxlbmd0aCBzaG91bGQg
YmUgMC4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBBdWRpb0NvbnRleHQgaXMgbm90
IGRlZmluZWQKK0ZBSUwgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGggc2hvdWxkIGJlIDIu
IFdhcyAwLgogRkFJTCBCZWZvcmVMb2FkRXZlbnQubGVuZ3RoIHNob3VsZCBiZSAyLiBXYXMgMC4K
IEZBSUwgQmxvYi5sZW5ndGggc2hvdWxkIGJlIDIuIFdhcyAwLgogRkFJTCBDbG9zZUV2ZW50Lmxl
bmd0aCBzaG91bGQgYmUgMi4gV2FzIDAuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dApp
bmRleCAzMTlkNGMyZGMxMjY1Njg3YmM3MzFiNTgyNjQxNmFhMTVkMmM1Y2U1Li45NjI4YTdiNWEz
NjA1NDQ2ZDY5Yzk0NmU2YzY2MTQ5NDZjYTQ5OWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBl
Y3RlZC50eHQKQEAgLTUsNiArNSw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1Mg
QXJyYXlCdWZmZXIubGVuZ3RoIGlzIDEKIEZBSUwgQXVkaW9Db250ZXh0Lmxlbmd0aCBzaG91bGQg
YmUgMC4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBBdWRpb0NvbnRleHQKK0ZBSUwgQXV0b2NvbXBsZXRlRXJyb3JFdmVudC5sZW5ndGggc2hvdWxk
IGJlIDIuIFRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogQXV0b2NvbXBsZXRlRXJyb3JFdmVudAogUEFTUyBCZWZvcmVMb2FkRXZlbnQubGVuZ3RoIGlz
IDIKIFBBU1MgQmxvYi5sZW5ndGggaXMgMgogUEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9jb25zdHJ1Y3Rvci1s
ZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvanMvY29u
c3RydWN0b3ItbGVuZ3RoLWV4cGVjdGVkLnR4dAppbmRleCAzMTlkNGMyZGMxMjY1Njg3YmM3MzFi
NTgyNjQxNmFhMTVkMmM1Y2U1Li45NjI4YTdiNWEzNjA1NDQ2ZDY5Yzk0NmU2YzY2MTQ5NDZjYTQ5
OWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9jb25zdHJ1
Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQKQEAgLTUsNiArNSw3IEBAIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1MgQXJyYXlCdWZmZXIubGVuZ3RoIGlzIDEKIEZB
SUwgQXVkaW9Db250ZXh0Lmxlbmd0aCBzaG91bGQgYmUgMC4gVGhyZXcgZXhjZXB0aW9uIFJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBBdWRpb0NvbnRleHQKK0ZBSUwgQXV0b2Nv
bXBsZXRlRXJyb3JFdmVudC5sZW5ndGggc2hvdWxkIGJlIDIuIFRocmV3IGV4Y2VwdGlvbiBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogQXV0b2NvbXBsZXRlRXJyb3JFdmVudAog
UEFTUyBCZWZvcmVMb2FkRXZlbnQubGVuZ3RoIGlzIDIKIFBBU1MgQmxvYi5sZW5ndGggaXMgMgog
UEFTUyBDbG9zZUV2ZW50Lmxlbmd0aCBpcyAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2pzL2NvbnN0cnVjdG9yLWxlbmd0aC1leHBlY3RlZC50eHQK
aW5kZXggMTAzZWY0YWRhODY2MDc4ZTI2MzhhZjBkM2UzNWFkMWM5MTA2YjQyMy4uOTBkYjExMTgw
MGZmOGJjZWFiZmI5NDJhYjczMzhiNDIxN2RkY2E5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvZmFzdC9qcy9jb25zdHJ1Y3Rvci1sZW5ndGgtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvanMvY29uc3RydWN0b3ItbGVuZ3RoLWV4cGVj
dGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyBB
cnJheUJ1ZmZlci5sZW5ndGggaXMgMQogRkFJTCBBdWRpb0NvbnRleHQubGVuZ3RoIHNob3VsZCBi
ZSAwLiBUaHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IEF1ZGlvQ29udGV4dAorRkFJTCBBdXRvY29tcGxldGVFcnJvckV2ZW50Lmxlbmd0aCBzaG91bGQg
YmUgMi4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBBdXRvY29tcGxldGVFcnJvckV2ZW50CiBQQVNTIEJlZm9yZUxvYWRFdmVudC5sZW5ndGggaXMg
MgogUEFTUyBCbG9iLmxlbmd0aCBpcyAyCiBQQVNTIENsb3NlRXZlbnQubGVuZ3RoIGlzIDIK
</data>

          </attachment>
      

    </bug>

</bugzilla>