<?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>20709</bug_id>
          
          <creation_ts>2008-09-07 17:54:12 -0700</creation_ts>
          <short_desc>Implement HTML 5&apos;s HTMLElement.classList property</short_desc>
          <delta_ts>2011-08-16 02:06:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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://www.whatwg.org/specs/web-apps/current-work/#dom-classlist</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>31683</dependson>
    
    <dependson>46509</dependson>
          <blocked>66284</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anthony Ricaud">rik</reporter>
          <assigned_to name="Erik Arvidsson">arv</assigned_to>
          <cc>abarth</cc>
    
    <cc>alex</cc>
    
    <cc>aroben</cc>
    
    <cc>arv</cc>
    
    <cc>bashi</cc>
    
    <cc>boaz</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>Justin</cc>
    
    <cc>kangax</cc>
    
    <cc>miketaylr</cc>
    
    <cc>mike</cc>
    
    <cc>mjs</cc>
    
    <cc>ml</cc>
    
    <cc>ossy</cc>
    
    <cc>paulirish</cc>
    
    <cc>peter</cc>
    
    <cc>pknight</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>sylvain.pasche</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>90446</commentid>
    <comment_count>0</comment_count>
    <who name="Anthony Ricaud">rik</who>
    <bug_when>2008-09-07 17:54:12 -0700</bug_when>
    <thetext>This will help speeding up a lot of code for developers.
http://www.w3.org/TR/html5/semantics.html#classlist</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120950</commentid>
    <comment_count>1</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-05-12 16:26:36 -0700</bug_when>
    <thetext>I&apos;m interested in working on this.

How are CSS class names stored internally? For example if the class attribute is set to &quot;a b c&quot; is this stored as &quot;a b c&quot; or is it stored as a set with &quot;a&quot;, &quot;b&quot; and &quot;c&quot;? If the former, is it worth changing it to a set internally in the case classList is accessed? The number of class names is usually pretty small (less than 10 in most cases) so maybe a vector is enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126191</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-06-16 06:45:45 -0700</bug_when>
    <thetext>*** Bug 26358 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126193</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-06-16 06:47:07 -0700</bug_when>
    <thetext>See &lt;http://www.whatwg.org/specs/web-apps/current-work/#domtokenlist-0&gt; for the definition of the DOMTokenList interface, which the object returned by classList implements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126194</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-06-16 06:51:28 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; How are CSS class names stored internally? For example if the class attribute
&gt; is set to &quot;a b c&quot; is this stored as &quot;a b c&quot; or is it stored as a set with &quot;a&quot;,
&gt; &quot;b&quot; and &quot;c&quot;?

It is stored as a Vector with 3 items: &quot;a&quot;, &quot;b&quot;, &quot;c&quot;. The original order is preserved.

&gt; If the former, is it worth changing it to a set internally in the
&gt; case classList is accessed? The number of class names is usually pretty small
&gt; (less than 10 in most cases) so maybe a vector is enough.

I agree that in the common case a Vector seems fine. We could switch to using a set if the number of classes crosses some threshold, but maybe that isn&apos;t worth it. If we used a set we&apos;d still need to have a way of preserving the original ordering of the classes, as this is required for classList.item(n).

Another possibility would be to use ListHashSet &lt;http://trac.webkit.org/browser/trunk/JavaScriptCore/wtf/ListHashSet.h&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126195</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-06-16 06:53:10 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #1)
&gt; &gt; How are CSS class names stored internally? For example if the class attribute
&gt; &gt; is set to &quot;a b c&quot; is this stored as &quot;a b c&quot; or is it stored as a set with &quot;a&quot;,
&gt; &gt; &quot;b&quot; and &quot;c&quot;?
&gt; 
&gt; It is stored as a Vector with 3 items: &quot;a&quot;, &quot;b&quot;, &quot;c&quot;. The original order is
&gt; preserved.

You can see the implementation here: &lt;http://trac.webkit.org/browser/trunk/WebCore/dom/ClassNames.h?rev=43365&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126206</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-06-16 08:54:12 -0700</bug_when>
    <thetext>Erik found some existing tests for classList: &lt;http://simon.html5.org/test/html/dom/reflecting/DOMTokenList/&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126208</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-06-16 09:01:05 -0700</bug_when>
    <thetext>It looks like DOMTokenList provides a superset of ClassNames&apos;s functionality. Maybe a good way to go about this would be:

1) Rename ClassNames to DOMTokenList and ClassNamesData to DOMTokenListData
2) Expose the current functionality of DOMTokenList to JavaScript and add tests
3) Add the remaining DOMTokenList functionality (add, remove, toggle) and add tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139684</commentid>
    <comment_count>8</comment_count>
    <who name="Sylvain Pasche">sylvain.pasche</who>
    <bug_when>2009-08-12 17:58:20 -0700</bug_when>
    <thetext>This feature was recently implemented in Gecko. You may be interested in the automated test [1] that could be easily transformed into a layout test. There are a few Gecko-isms that would need to be removed and you would need to provide is()/ok() implementations.

In the current spec the mutating methods (add/remove/toggle) are preserving whitespace. There was some discussions about an alternative approach of normalizing whitespace, which could make implementation more straightforward [2].
That change wasn&apos;t made for now, but if you think it would be better to go that way that&apos;s something that could be considered.

[1] http://hg.mozilla.org/mozilla-central/file/tip/content/base/test/test_classList.html
[2] http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-July/021653.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163625</commentid>
    <comment_count>9</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-11-13 18:14:43 -0800</bug_when>
    <thetext>I got something mostly working without any refactoring of ClassNames by just forwarding calls as needed. I&apos;ll upload a snapshot early next week before I start any refactoring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165080</commentid>
    <comment_count>10</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-11-19 13:53:57 -0800</bug_when>
    <thetext>The JSC bindins for HasIndexGetter in combination with ConvertNullStringTo=Null is broken so that the following fails in Safari (it works in Chromium):

document.body.className = &apos;x&apos;;
assertTrue(null === document.body.classList[10])

JSC generates code that checks the length and if the index is larger to or equal to the length it does not call the index getter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166573</commentid>
    <comment_count>11</comment_count>
      <attachid>43876</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2009-11-25 16:25:24 -0800</bug_when>
    <thetext>Created attachment 43876
classList M1

This patch does not refactor ClassNames but instead uses ClassNames. I wanted something that more or less works before I do the refactoring and this is a good milestone.

I have a couple of questions:

Currently ClassNames converts all class names to lower case in quirks mode. HTML5 clearly states that DOMTokenList is case sensitive. We could store the non case folded class names and only do the case folding at runtime if needed. The downside is that I don&apos;t want to make class name matching slower since it seems crucial that this is as fast as it can get because it is used for matching CSS selectors.

Should the classList member be moved to RareData? NamedMappedAttrMap?

Should classList() be on StyledElement instead of HTMLElement?

Should I include ObjC bindings?

Do I need to upgrade WebKit/mac/MigrateHeaders.make?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264470</commentid>
    <comment_count>12</comment_count>
      <attachid>64365</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-08-13 12:44:54 -0700</bug_when>
    <thetext>Created attachment 64365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264507</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-13 14:48:39 -0700</bug_when>
    <thetext>Attachment 64365 did not build on gtk:
Build output: http://queues.webkit.org/results/3768133</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264549</commentid>
    <comment_count>14</comment_count>
      <attachid>64365</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-13 17:05:22 -0700</bug_when>
    <thetext>Comment on attachment 64365
Patch

&gt; -        typedef Vector&lt;AtomicString, 8&gt; StringVector;
&gt;          String m_string;
&gt; -        StringVector m_vector;
&gt;          bool m_shouldFoldCase;
&gt; +        bool m_folded;
&gt; +        StringVector m_vector;
&gt; +        StringVector m_vectorNoFold;

I am worried about the memory increase in adding a second vector here.  Have you done any memory benchmarking to make sure this doesn&apos;t regress things (eg. membuster)

&gt; @@ -0,0 +1,151 @@
&gt; +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
&gt; +// Use of this source code is governed by a BSD-style license that can be
&gt; +// found in the LICENSE file.

This is an invalid license header.  Please see http://webkit.org/coding/contributing.html for more on this.


&gt; +++ b/WebCore/html/ClassList.h
&gt; @@ -0,0 +1,44 @@
&gt; +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
&gt; +// Use of this source code is governed by a BSD-style license that can be
&gt; +// found in the LICENSE file.

Here too. (There are more as well).

r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265145</commentid>
    <comment_count>15</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-08-16 09:37:42 -0700</bug_when>
    <thetext>Thanks for the review. I&apos;m going on vacation but I&apos;ll want to get this done as soon as I come back.

(In reply to comment #14)

&gt; &gt; +        StringVector m_vectorNoFold;
&gt; 
&gt; I am worried about the memory increase in adding a second vector here.  Have you done any memory benchmarking to make sure this doesn&apos;t regress things (eg. membuster)

This is also worrying me. My current plan is to revert all the changes to ClassNames. Then add a member to ElementRareData that points to the ClassList. The ClassList uses the ClassNames in standards mode for fast contains and item lookup. For quirks mode there are two options. One is to have an internal ClassNames copy and the other option is to operate straight on the class attribute string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275375</commentid>
    <comment_count>16</comment_count>
      <attachid>66784</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-07 16:18:33 -0700</bug_when>
    <thetext>Created attachment 66784
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275378</commentid>
    <comment_count>17</comment_count>
      <attachid>66784</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-07 16:21:41 -0700</bug_when>
    <thetext>Comment on attachment 66784
Patch

It seems unnecessary to define an abstract base class DOMTokenList and do everything through virtual functions just because we might have another derived class in the future. The same thing came up with NamedNodeMap and we decided to just put the concrete implementation into the base and save abstraction for later. So investigate combining DOMTokenList and ClassList into a single class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275381</commentid>
    <comment_count>18</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-07 16:25:32 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 66784 [details])
&gt; It seems unnecessary to define an abstract base class DOMTokenList and do everything through virtual functions just because we might have another derived class in the future. The same thing came up with NamedNodeMap and we decided to just put the concrete implementation into the base and save abstraction for later. So investigate combining DOMTokenList and ClassList into a single class.

OK. I&apos;ll just fold it all into ClassList then. Should I rename the class to ClassListDOMTokenList?

(The dataset class that implements the DOMStringMap is called DatasetDOMStringMap.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275411</commentid>
    <comment_count>19</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-07 17:04:27 -0700</bug_when>
    <thetext>I looked at NamedNodeMap and now I understand what Darin meant. I&apos;ll rename ClassList to DOMTokenList.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275451</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-07 17:42:12 -0700</bug_when>
    <thetext>Attachment 66784 did not build on gtk:
Build output: http://queues.webkit.org/results/3938308</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275502</commentid>
    <comment_count>21</comment_count>
      <attachid>66817</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-07 18:21:10 -0700</bug_when>
    <thetext>Created attachment 66817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275543</commentid>
    <comment_count>22</comment_count>
      <attachid>66817</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-07 19:23:10 -0700</bug_when>
    <thetext>Comment on attachment 66817
Patch

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

&gt; WebCore/html/DOMTokenList.h:54
&gt; +    virtual void ref();
&gt; +    virtual void deref();
Per discussion in IRC, these should go away and this class should become RefCounted&lt;DOMTokenList&gt;

&gt; WebCore/html/DOMTokenList.h:61
&gt; +    virtual bool contains(const AtomicString&amp; token, ExceptionCode&amp;) const;
&gt; +    virtual void add(const AtomicString&amp; token, ExceptionCode&amp; ec);
&gt; +    virtual void remove(const AtomicString&amp; token, ExceptionCode&amp; ec);
&gt; +    virtual bool toggle(const AtomicString&amp; token, ExceptionCode&amp; ec);
nit: don&apos;t need to name the ExceptionCode parameters here.  Arguably the AtomicString params could be unnamed as well (as they are in the Internal versions).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275600</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-07 21:45:36 -0700</bug_when>
    <thetext>Attachment 66817 did not build on gtk:
Build output: http://queues.webkit.org/results/3976276</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275931</commentid>
    <comment_count>24</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-08 10:48:36 -0700</bug_when>
    <thetext>I think I might just follow Weinig&apos;s work in 45358 after all.

I&apos;m not arguing that his solution is better but we should be consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276007</commentid>
    <comment_count>25</comment_count>
      <attachid>66931</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-08 12:52:55 -0700</bug_when>
    <thetext>Created attachment 66931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276012</commentid>
    <comment_count>26</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-08 12:57:00 -0700</bug_when>
    <thetext>The latest patch follows Sam Weinig&apos;s pattern from bug 45358.

It would be great if DOMTokenList and DOMStringMap would not keep the Element alive but I don&apos;t think this is that of a common scenario. Like Sam wrote in bug 45358 we have a lot of places where this pattern is used and yes it would be good to improve them all but maybe that can be done in a separate bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276013</commentid>
    <comment_count>27</comment_count>
      <attachid>66931</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-09-08 12:58:01 -0700</bug_when>
    <thetext>Comment on attachment 66931
Patch

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

&gt; WebCore/bindings/js/JSElementCustom.cpp:63
&gt; +    markDOMObjectWrapper(markStack, globalData, element-&gt;optionalClassList());
Does this mean we&apos;ll eagerly create the classList object on every element that&apos;s wrapped from javascript?  It&apos;s not very optional in that case.  This seems a bit unfortunate.

Do you have to do anything for V8?

&gt; WebCore/html/DOMTokenList.h:64
&gt; +    virtual ~DOMTokenList() { }
&gt; +
&gt; +    virtual void ref();
&gt; +    virtual void deref();
&gt; +
&gt; +    virtual unsigned length() const;
&gt; +    virtual const AtomicString item(unsigned index) const;
&gt; +    virtual bool contains(const AtomicString&amp;, ExceptionCode&amp;) const;
&gt; +    virtual void add(const AtomicString&amp;, ExceptionCode&amp;);
&gt; +    virtual void remove(const AtomicString&amp;, ExceptionCode&amp;);
&gt; +    virtual bool toggle(const AtomicString&amp;, ExceptionCode&amp;);
&gt; +    virtual String toString() const;
&gt; +
&gt; +    virtual void reset(const String&amp;);
None of these should be virtual.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276019</commentid>
    <comment_count>28</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-08 13:15:59 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (From update of attachment 66931 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=66931&amp;action=prettypatch
&gt; 
&gt; &gt; WebCore/bindings/js/JSElementCustom.cpp:63
&gt; &gt; +    markDOMObjectWrapper(markStack, globalData, element-&gt;optionalClassList());
&gt; Does this mean we&apos;ll eagerly create the classList object on every element that&apos;s wrapped from javascript?  It&apos;s not very optional in that case.  This seems a bit unfortunate.

No, optionalClassList does not create a DOMTokenList.

&gt; Do you have to do anything for V8?

looking</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276115</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-08 15:31:16 -0700</bug_when>
    <thetext>Attachment 66931 did not build on gtk:
Build output: http://queues.webkit.org/results/3914329</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281045</commentid>
    <comment_count>30</comment_count>
      <attachid>67985</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-17 18:08:37 -0700</bug_when>
    <thetext>Created attachment 67985
Now with markDOMObjectWrapper and V8DOMWrapper::setHiddenWindowReference</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281081</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-17 21:00:06 -0700</bug_when>
    <thetext>Attachment 67985 did not build on gtk:
Build output: http://queues.webkit.org/results/4035060</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284029</commentid>
    <comment_count>32</comment_count>
      <attachid>68606</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-23 15:25:58 -0700</bug_when>
    <thetext>Created attachment 68606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284072</commentid>
    <comment_count>33</comment_count>
      <attachid>68606</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-23 16:22:20 -0700</bug_when>
    <thetext>Comment on attachment 68606
Patch

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

Great work. Looks close to ready!

I am going to say review- but only because of the inefficient use of String here in the add and remove functions. If we add some test cases to prove we don’t have O(n^2) algorithms there then I think we’re ready to go.

&gt; WebCore/dom/Element.cpp:1598
&gt; +    if (hasRareData()) {
&gt; +        ElementRareData* data = rareData();
&gt; +        if (data &amp;&amp; data-&gt;m_classList)
&gt; +            data-&gt;m_classList-&gt;reset(newClassName);
&gt; +    }

We’e normally use early return here:

    if (!hasRareData())
        return;
    ElementRareData* data = rareData();
    if (!data || !data-&gt;m_classList)
        return;
    data-&gt;m_classLiast-&gt;reset(newClassName);

But also, you could use optionalClassList for this:

    DOMTokenList* classList = optionalClassList();
    if (!classList)
        return;
    classList-&gt;reset(newClassName);

I think that’s the best way to write it. Or maybe even put that code in-line at the one call site and not have that function at all.

&gt; WebCore/dom/StyledElement.cpp:224
&gt; +    }
&gt;      else {

Braces go on the same line as the else in the WebKit coding style.

&gt; WebCore/html/DOMTokenList.cpp:38
&gt; +namespace {
&gt; +
&gt; +bool validateToken(const AtomicString&amp; token, ExceptionCode&amp; ec)

WebKit code typically uses “static” to get internal linkage rather than an anonymous namespace, but perhaps this is something that we should change?

&gt; WebCore/html/DOMTokenList.cpp:45
&gt; +    const unsigned length = token.length();

WebKit code normally does not use const for local scalar variables. I see the attraction of doing so to state that a particular variable won’t change, but doing in sometimes and not others seems untidy, and it has no effect on generated code. I’d prefer that we not do it here, just to stay consistent.

&gt; WebCore/html/DOMTokenList.cpp:62
&gt; +        m_classNames = new SpaceSplitString(m_element-&gt;getAttribute(classAttr), false);

This can use fastGetAttribute.

&gt; WebCore/html/DOMTokenList.cpp:91
&gt; +     return containsInternal(token);

This line of code has an extra space.

&gt; WebCore/html/DOMTokenList.cpp:108
&gt; +    const AtomicString oldClassName(m_element-&gt;getAttribute(classAttr));

This can use const AtomicString&amp; so it doesn’t ref and then deref.

This can use fastGetAttribute.

&gt; WebCore/html/DOMTokenList.cpp:110
&gt; +    if (oldClassName.isEmpty())
&gt; +        m_element-&gt;setAttribute(classAttr, token);

Don’t we also want to do this when the old value consists entirely of whitespace? Is there a test case covering this?

&gt; WebCore/html/DOMTokenList.cpp:112
&gt; +        m_element-&gt;setAttribute(classAttr, oldClassName + &quot; &quot; + token);

This is the cleanest way to write the code, but it is slow and reallocates the string twice. You should use Vector&lt;UChar&gt; or StringBuilder for better efficiency.

&gt; WebCore/html/DOMTokenList.cpp:133
&gt; +    String output; // 3

Building up a String a character at a time is pathologically slow. We need to use Vector&lt;UChar&gt; instead of String here. I’d like to see a test case with a long class name or a class attribute with a lot of class names to verify the algorithm is not O(n^2).

&gt; WebCore/html/DOMTokenList.cpp:185
&gt; +    return m_element-&gt;getAttribute(classAttr);

Can use fastGetAttribute.

&gt; WebCore/html/DOMTokenList.h:45
&gt; +    ~DOMTokenList() { }

There is no need to explicitly declare and define this constructor.

&gt; WebCore/html/DOMTokenList.idl:40
&gt; +#if defined(LANGUAGE_JAVASCRIPT) &amp;&amp; LANGUAGE_JAVASCRIPT
&gt; +        [DontEnum] DOMString toString();
&gt; +#endif

I don’t think this is the right way to make toString work. Isn’t it built in to the language already?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284123</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-23 17:10:11 -0700</bug_when>
    <thetext>Attachment 68606 did not build on gtk:
Build output: http://queues.webkit.org/results/4021142</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284166</commentid>
    <comment_count>35</comment_count>
      <attachid>68606</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-23 18:22:48 -0700</bug_when>
    <thetext>Comment on attachment 68606
Patch

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

I&apos;m adding a perf test as well.

&gt;&gt; WebCore/dom/Element.cpp:1598
&gt;&gt; +    }
&gt; 
&gt; We’e normally use early return here:
&gt; 
&gt;     if (!hasRareData())
&gt;         return;
&gt;     ElementRareData* data = rareData();
&gt;     if (!data || !data-&gt;m_classList)
&gt;         return;
&gt;     data-&gt;m_classLiast-&gt;reset(newClassName);
&gt; 
&gt; But also, you could use optionalClassList for this:
&gt; 
&gt;     DOMTokenList* classList = optionalClassList();
&gt;     if (!classList)
&gt;         return;
&gt;     classList-&gt;reset(newClassName);
&gt; 
&gt; I think that’s the best way to write it. Or maybe even put that code in-line at the one call site and not have that function at all.

Removed and inlined.

&gt;&gt; WebCore/dom/StyledElement.cpp:224
&gt;&gt;      else {
&gt; 
&gt; Braces go on the same line as the else in the WebKit coding style.

Done.

&gt;&gt; WebCore/html/DOMTokenList.cpp:38
&gt;&gt; +bool validateToken(const AtomicString&amp; token, ExceptionCode&amp; ec)
&gt; 
&gt; WebKit code typically uses “static” to get internal linkage rather than an anonymous namespace, but perhaps this is something that we should change?

Changed to static.

&gt;&gt; WebCore/html/DOMTokenList.cpp:45
&gt;&gt; +    const unsigned length = token.length();
&gt; 
&gt; WebKit code normally does not use const for local scalar variables. I see the attraction of doing so to state that a particular variable won’t change, but doing in sometimes and not others seems untidy, and it has no effect on generated code. I’d prefer that we not do it here, just to stay consistent.

Done.

&gt;&gt; WebCore/html/DOMTokenList.cpp:62
&gt;&gt; +        m_classNames = new SpaceSplitString(m_element-&gt;getAttribute(classAttr), false);
&gt; 
&gt; This can use fastGetAttribute.

Done.

&gt;&gt; WebCore/html/DOMTokenList.cpp:91
&gt;&gt; +     return containsInternal(token);
&gt; 
&gt; This line of code has an extra space.

Done.

&gt;&gt; WebCore/html/DOMTokenList.cpp:108
&gt;&gt; +    const AtomicString oldClassName(m_element-&gt;getAttribute(classAttr));
&gt; 
&gt; This can use const AtomicString&amp; so it doesn’t ref and then deref.
&gt; 
&gt; This can use fastGetAttribute.

Done.

&gt;&gt; WebCore/html/DOMTokenList.cpp:110
&gt;&gt; +        m_element-&gt;setAttribute(classAttr, token);
&gt; 
&gt; Don’t we also want to do this when the old value consists entirely of whitespace? Is there a test case covering this?

The token cannot contain whitespace and invalid tokens are covered by the test.

&gt;&gt; WebCore/html/DOMTokenList.cpp:112
&gt;&gt; +        m_element-&gt;setAttribute(classAttr, oldClassName + &quot; &quot; + token);
&gt; 
&gt; This is the cleanest way to write the code, but it is slow and reallocates the string twice. You should use Vector&lt;UChar&gt; or StringBuilder for better efficiency.

Changed to StringBuilder

&gt;&gt; WebCore/html/DOMTokenList.cpp:133
&gt;&gt; +    String output; // 3
&gt; 
&gt; Building up a String a character at a time is pathologically slow. We need to use Vector&lt;UChar&gt; instead of String here. I’d like to see a test case with a long class name or a class attribute with a lot of class names to verify the algorithm is not O(n^2).

Changed to Vector&lt;UChar&gt;

&gt;&gt; WebCore/html/DOMTokenList.cpp:185
&gt;&gt; +    return m_element-&gt;getAttribute(classAttr);
&gt; 
&gt; Can use fastGetAttribute.

Done.

&gt;&gt; WebCore/html/DOMTokenList.h:45
&gt;&gt; +    ~DOMTokenList() { }
&gt; 
&gt; There is no need to explicitly declare and define this constructor.

Done.

&gt;&gt; WebCore/html/DOMTokenList.idl:40
&gt;&gt; +#endif
&gt; 
&gt; I don’t think this is the right way to make toString work. Isn’t it built in to the language already?

This is how other toString cases are done. I assume it is just so that the toString method is only added to the JS bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284171</commentid>
    <comment_count>36</comment_count>
      <attachid>68637</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-23 18:30:47 -0700</bug_when>
    <thetext>Created attachment 68637
Took care of Darin&apos;s comments and added a perf test for remove</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284253</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-23 23:31:04 -0700</bug_when>
    <thetext>Attachment 68637 did not build on gtk:
Build output: http://queues.webkit.org/results/4079094</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284457</commentid>
    <comment_count>38</comment_count>
      <attachid>68696</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-24 09:55:37 -0700</bug_when>
    <thetext>Created attachment 68696
Trying to get this to build on GTK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284465</commentid>
    <comment_count>39</comment_count>
      <attachid>68606</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-24 10:02:55 -0700</bug_when>
    <thetext>Comment on attachment 68606
Patch

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

&gt;&gt;&gt; WebCore/html/DOMTokenList.cpp:110
&gt;&gt;&gt; +        m_element-&gt;setAttribute(classAttr, token);
&gt;&gt; 
&gt;&gt; Don’t we also want to do this when the old value consists entirely of whitespace? Is there a test case covering this?
&gt; 
&gt; The token cannot contain whitespace and invalid tokens are covered by the test.

I think you may have misunderstood my question. I was talking about oldClassName containing entirely whitespace, not the token containing whitespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284485</commentid>
    <comment_count>40</comment_count>
      <attachid>68606</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-24 10:20:04 -0700</bug_when>
    <thetext>Comment on attachment 68606
Patch

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

&gt;&gt;&gt;&gt; WebCore/html/DOMTokenList.cpp:110
&gt;&gt;&gt;&gt; +        m_element-&gt;setAttribute(classAttr, token);
&gt;&gt;&gt; 
&gt;&gt;&gt; Don’t we also want to do this when the old value consists entirely of whitespace? Is there a test case covering this?
&gt;&gt; 
&gt;&gt; The token cannot contain whitespace and invalid tokens are covered by the test.
&gt; 
&gt; I think you may have misunderstood my question. I was talking about oldClassName containing entirely whitespace, not the token containing whitespace.

Indeed, I did misunderstand you.

Add needs some refinements though. Checking isEmpty is still a correct optimization. However, we should only add a space if the last character is not already a space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284489</commentid>
    <comment_count>41</comment_count>
      <attachid>68696</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-24 10:22:49 -0700</bug_when>
    <thetext>Comment on attachment 68696
Trying to get this to build on GTK

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

Please consider my comments. You may want to do one more round of refinements before landing this.

&gt; WebCore/html/DOMTokenList.cpp:60
&gt; +    if (m_element-&gt;document()-&gt;inQuirksMode())
&gt; +        m_classNames = new SpaceSplitString(m_element-&gt;fastGetAttribute(classAttr), false);

I’m surprised this compiles without an explicit adoptPtr. Soon I will be turning on the “script OwnPtr” flag and then the adoptPtr will definitely be needed. Please use adoptPtr here.

&gt; WebCore/html/DOMTokenList.cpp:135
&gt; +    const unsigned inputLength = input.length();

This is another use of const like the one I asked you to remove earlier.

&gt; WebCore/html/DOMTokenList.cpp:137
&gt; +    Vector&lt;UChar&gt; tokenVector;
&gt; +    append(tokenVector, token);

We could easily write a function that compares a vector to an AtomicString so you would not have to copy the characters into a Vector. That function could go into AtomicString.h or for now could just be here in this source file and moved to AtomicString if we need it later.

&gt; WebCore/html/DOMTokenList.cpp:138
&gt; +    Vector&lt;UChar&gt; output; // 3

We could probably improve performance when doing this on a long string by calling reserveCapacity on output, guessing that its size will be inputLength. I don’t know exactly what it takes to remove excess capacity at String::adopt time but even if we don’t do that the performance tradeoff still might be good.

&gt; WebCore/html/DOMTokenList.cpp:177
&gt; +    if (!validateToken(token,  ec))

Extra space here after the comma.

&gt; WebCore/html/DOMTokenList.cpp:196
&gt; +    if (m_element-&gt;document()-&gt;inQuirksMode())
&gt; +        m_classNames-&gt;set(newClassName, false);

I suggest having this do if (m_classNames) instead of if (inQuirksMode).

&gt; WebCore/html/DOMTokenList.cpp:202
&gt; +    if (m_element-&gt;document()-&gt;inQuirksMode())
&gt; +        return m_classNames.get();

I suggest having this do if (m_classNames) instead of if (inQuirksMode).

&gt; WebCore/html/DOMTokenList.h:42
&gt; +        return new DOMTokenList(element);

This line of code should call adoptPtr.

&gt; WebCore/html/DOMTokenList.h:61
&gt; +    DOMTokenList(Element* element);

You should omit the argument name “element” here.

&gt; WebCore/html/DOMTokenList.h:70
&gt; +    OwnPtr&lt;SpaceSplitString&gt; m_classNames;

It might be better to name this in a way that makes it more clear it’s used only in a particular case. Even a name such as m_caseSensitiveClassNamesForQuirksMode would not be too crazy, given that this is only used in three places and it would be a mistake to use it anywhere else.

Given that SpaceSplitString already uses a pointer-to-implementation idiom, using an OwnPtr is unnecessary. In fact, it costs one extra memory block for no good reason. Another way to do this is to use have m_classNames be a SpaceSplitString.

If stop using OwnPtr, then my other comments above about switching to a null check of m_classNames would require adding an isNull() function to SpaceSplitString, which I think would be OK. Or you could check quirks mode each time as you are doing now.

If stop using OwnPtr, you won’t have to worry about adoptPtr in the constructor. Instead you would use the SpaceSplitString set function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284494</commentid>
    <comment_count>42</comment_count>
      <attachid>68696</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-24 10:24:03 -0700</bug_when>
    <thetext>Comment on attachment 68696
Trying to get this to build on GTK

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

&gt;&gt; WebCore/html/DOMTokenList.cpp:60
&gt;&gt; +        m_classNames = new SpaceSplitString(m_element-&gt;fastGetAttribute(classAttr), false);
&gt; 
&gt; I’m surprised this compiles without an explicit adoptPtr. Soon I will be turning on the “script OwnPtr” flag and then the adoptPtr will definitely be needed. Please use adoptPtr here.

I mean “strict OwnPtr”!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284629</commentid>
    <comment_count>43</comment_count>
      <attachid>68732</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-24 12:38:02 -0700</bug_when>
    <thetext>Created attachment 68732
Taking care of Darin&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284630</commentid>
    <comment_count>44</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-24 12:40:22 -0700</bug_when>
    <thetext>Darin, do you mind taking another look? 

Would it be better to submit the operator== for AtomicString and Vector&lt;UChar&gt; in another patch first?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284631</commentid>
    <comment_count>45</comment_count>
      <attachid>68732</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-24 12:45:01 -0700</bug_when>
    <thetext>Comment on attachment 68732
Taking care of Darin&apos;s comments

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

&gt; WebCore/html/DOMTokenList.cpp:112
&gt; +    if (!validateToken(token,  ec))

fixed locally

&gt; WebCore/html/DOMTokenList.cpp:134
&gt; +    if (!validateToken(token,  ec))

fixed locally</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284707</commentid>
    <comment_count>46</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-24 14:30:43 -0700</bug_when>
    <thetext>By moving the operator== to AtomicString it got a lot simpler. See bug 46509.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284896</commentid>
    <comment_count>47</comment_count>
      <attachid>68732</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-24 18:31:34 -0700</bug_when>
    <thetext>Comment on attachment 68732
Taking care of Darin&apos;s comments

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

&gt; WebCore/dom/StyledElement.cpp:224
&gt; +        DOMTokenList* classList = optionalClassList();
&gt; +        if (classList)

Putting the definition of the local variable inside the if would make this even clearer:

    if (DOMTokenList* classList = optionalClassList())
        classList-&gt;reset(newClassString);

&gt; WebCore/html/DOMTokenList.cpp:37
&gt; +bool operator==(const AtomicString&amp; a, const Vector&lt;UChar&gt;&amp; b)

Should be marked static so we get internal linkage.

&gt; WebCore/html/DOMTokenList.cpp:43
&gt; +    const UChar* chars = a.characters();

Please don&apos;t abbreviate this. Just use the word characters.

&gt; WebCore/html/DOMTokenList.h:74
&gt; +bool operator==(const AtomicString&amp; a, const Vector&lt;UChar&gt;&amp; b);
&gt; +inline bool operator==(const Vector&lt;UChar&gt;&amp; a, const AtomicString&amp; b) { return b == a; }

Why is this declared in the header? I don’t think it’s reasonable to have this here as a public function. When I said it could be in DOMTokenList, I meant in the .cpp file. If we want to put it in the header then we need to find a more appropriate file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285762</commentid>
    <comment_count>48</comment_count>
      <attachid>68962</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-27 14:49:57 -0700</bug_when>
    <thetext>Created attachment 68962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285773</commentid>
    <comment_count>49</comment_count>
      <attachid>68962</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-27 14:59:10 -0700</bug_when>
    <thetext>Comment on attachment 68962
Patch

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

&gt; WebCore/html/DOMTokenList.h:31
&gt; +#include &lt;wtf/OwnPtr.h&gt;

I don’t see any use of OwnPtr in this header, so there is no need to include OwnPtr.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285810</commentid>
    <comment_count>50</comment_count>
      <attachid>68979</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-27 15:35:30 -0700</bug_when>
    <thetext>Created attachment 68979
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285856</commentid>
    <comment_count>51</comment_count>
      <attachid>68979</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-27 16:12:22 -0700</bug_when>
    <thetext>Comment on attachment 68979
Patch for landing

Clearing flags on attachment: 68979

Committed r68440: &lt;http://trac.webkit.org/changeset/68440&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285857</commentid>
    <comment_count>52</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-27 16:12:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285879</commentid>
    <comment_count>53</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-27 16:43:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/68440 might have broken Qt Linux Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/68440
http://trac.webkit.org/changeset/68439</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286071</commentid>
    <comment_count>54</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-27 22:44:02 -0700</bug_when>
    <thetext>(In reply to comment #53)
&gt; http://trac.webkit.org/changeset/68440 might have broken Qt Linux Release
&gt; The following changes are on the blame list:
&gt; http://trac.webkit.org/changeset/68440
&gt; http://trac.webkit.org/changeset/68439

You guys shouldn&apos;t ignore this notice and burn always the Qt tree!
Qt specific expected files updated in http://trac.webkit.org/changeset/68488</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286078</commentid>
    <comment_count>55</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-27 23:04:38 -0700</bug_when>
    <thetext>(In reply to comment #54)
&gt; (In reply to comment #53)
&gt; &gt; http://trac.webkit.org/changeset/68440 might have broken Qt Linux Release
&gt; &gt; The following changes are on the blame list:
&gt; &gt; http://trac.webkit.org/changeset/68440
&gt; &gt; http://trac.webkit.org/changeset/68439
&gt; 
&gt; You guys shouldn&apos;t ignore this notice and burn always the Qt tree!
&gt; Qt specific expected files updated in http://trac.webkit.org/changeset/68488

I apologize. I&apos;ll make sure I wont neglect it again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286082</commentid>
    <comment_count>56</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-27 23:09:43 -0700</bug_when>
    <thetext>(In reply to comment #55)
&gt; I apologize. I&apos;ll make sure I wont neglect it again.
Not problem. I realized you broke GTK bots too,
could you fix the GTK specific expected results?
(You should make similar changes, as I did on Qt.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286094</commentid>
    <comment_count>57</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-09-27 23:34:11 -0700</bug_when>
    <thetext>(In reply to comment #56)
&gt; (In reply to comment #55)
&gt; &gt; I apologize. I&apos;ll make sure I wont neglect it again.
&gt; Not problem. I realized you broke GTK bots too,
&gt; could you fix the GTK specific expected results?
&gt; (You should make similar changes, as I did on Qt.)

Will do (tomorrow morning). Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286186</commentid>
    <comment_count>58</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-09-28 05:05:07 -0700</bug_when>
    <thetext>(In reply to comment #57)
&gt; Will do (tomorrow morning). Thanks.

Done by Alex: http://trac.webkit.org/changeset/68501</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289704</commentid>
    <comment_count>59</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-05 10:12:30 -0700</bug_when>
    <thetext>Hi,

I&apos;m interested in implementing HTML5 output element in WebKit. I happily realized that the DOMTokenList interface, which is used in the definition of the DOM interface of the output element, is implemented by this issue. However, unfortunately, the current implementation is tightly coupled to implement the classList property in spite of early patches weren&apos;t. So I couldn&apos;t employ the current DOMTokenList to implement output element. IMHO, we should decouple the classList property related implementation from the DOMTokenList class, like the implementation proposed in the early patches. I&apos;d like to ask your opinions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289717</commentid>
    <comment_count>60</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-05 10:24:41 -0700</bug_when>
    <thetext>(In reply to comment #59)
&gt; I&apos;m interested in implementing HTML5 output element in WebKit. I happily realized that the DOMTokenList interface, which is used in the definition of the DOM interface of the output element, is implemented by this issue. However, unfortunately, the current implementation is tightly coupled to implement the classList property in spite of early patches weren&apos;t. So I couldn&apos;t employ the current DOMTokenList to implement output element. IMHO, we should decouple the classList property related implementation from the DOMTokenList class, like the implementation proposed in the early patches. I&apos;d like to ask your opinions.

Yes, when we implement the output element we can refactor the DOMTokenList class so it serves both purposes. This should be straightforward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289720</commentid>
    <comment_count>61</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-05 10:26:48 -0700</bug_when>
    <thetext>(In reply to comment #60)
&gt; Yes, when we implement the output element we can refactor the DOMTokenList class so it serves both purposes. This should be straightforward.

This refactoring will start by making all functions exposed to the DOMTokenList IDL file pure virtual ones in the DOMTokenList base, and then moving the body of the class into a new ClassList class, derived from DOMTokenList.

Then if there is any code that can be shared between the ClassList and whatever DOMTokenList needs to be used by the &lt;output&gt; implementation, we can move that up into the DOMTokenList class a function at a time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289723</commentid>
    <comment_count>62</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2010-10-05 10:30:32 -0700</bug_when>
    <thetext>(In reply to comment #59)
&gt; I&apos;m interested in implementing HTML5 output element in WebKit. I happily realized that the DOMTokenList interface, which is used in the definition of the DOM interface of the output element, is implemented by this issue. However, unfortunately, the current implementation is tightly coupled to implement the classList property...

This was done by design since classList is the only user of this today. When we add other users of DOMTokenList or SettableDOMTokenList it was understood that this would need to get refactored.

The only hard part of doing this refactoring is updating the myriad of build files :&apos;(

I added you to bug 29363. Lets keep the discussion there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289739</commentid>
    <comment_count>63</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2010-10-05 10:43:14 -0700</bug_when>
    <thetext>Hi,

Thank you for your quick responses! Your comments definitely helpful for me. Although I&apos;m going to be off this week, I&apos;ll start refactoring DOMTokenList class and implementing the output element next week. I&apos;ll keep the discussion on bug 29363.

Thanks,</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43876</attachid>
            <date>2009-11-25 16:25:24 -0800</date>
            <delta_ts>2010-08-13 12:44:50 -0700</delta_ts>
            <desc>classList M1</desc>
            <filename>0001-classList-M1.patch</filename>
            <type>text/plain</type>
            <size>45467</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">RnJvbSAzOTgzNmI4NDYwMzYzMTYwOTI2NDBiOTNiNDhkMTJkNTQ0Nzc2YmYxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFcmlrIEFydmlkc3NvbiA8YXJ2QGNocm9taXVtLm9yZz4KRGF0
ZTogV2VkLCAyNSBOb3YgMjAwOSAxNTozNzoxNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIGNsYXNz
TGlzdCBNMQoKLS0tCiAuLi4vZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3Mu
aHRtbCAgICB8ICAgMTMgKysKIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNz
LWxpc3QuaHRtbCAgIHwgICAxMyArKwogLi4uL2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMv
VEVNUExBVEUuaHRtbCAgICAgfCAgIDEzICsrCiAuLi4vZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10
ZXN0cy9jbGFzcy1saXN0LmpzICAgICB8ICAyMjAgKysrKysrKysrKysrKysrKysrKysKIFdlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEg
KwogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
ICA0ICsKIFdlYkNvcmUvV2ViQ29yZS5neXBpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAgOCArLQogV2ViQ29yZS9XZWJDb3JlLnBybyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICA0ICsKIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogICAg
ICAgICAgICAgIHwgICAxMSArCiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiAgICAgICAgICB8ICAgMzggKysrKy0KIFdlYkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBXZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
SFRNTC5oICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9iaW5kaW5ncy9vYmpj
L1B1YmxpY0RPTUludGVyZmFjZXMuaCAgICAgICAgfCAgIDEwICsKIFdlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gICAgICAgIHwgICAgMiArLQogV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtICAgICAgfCAgICAyICstCiBXZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtICAgICAgICB8ICAgIDEgKwogV2Vi
Q29yZS9iaW5kaW5ncy92OC9ET01PYmplY3RzSW5jbHVkZS5oICAgICAgICAgICAgfCAgICAxICsK
IFdlYkNvcmUvYmluZGluZ3MvdjgvRGVyaXZlZFNvdXJjZXNBbGxJbk9uZS5jcHAgICAgIHwgICAg
MSArCiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAgICAgICAgICAgICAgICB8
ICAgIDMgKwogV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaCAgICAgICAgICAgICAg
ICAgfCAgICAxICsKIFdlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRleC5jcHAgICAgICAgICAgICAg
ICAgICAgIHwgICAgMSArCiBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5kZXguaCAgICAgICAgICAg
ICAgICAgICAgICB8ICAgIDUgKy0KIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9t
QmluZGluZy5oICAgICAgIHwgICAgMiArCiBXZWJDb3JlL2h0bWwvQ2xhc3NMaXN0LmNwcCAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAxMzcgKysrKysrKysrKysrCiBXZWJDb3JlL2h0bWwvQ2xh
c3NMaXN0LmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDAgKysrKwogV2ViQ29yZS9o
dG1sL0RPTVRva2VuTGlzdC5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMxICsrKwogV2Vi
Q29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsr
CiBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwICAgICAgICAgICAgICAgICAgICAgICB8ICAg
MTEgKwogV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmggICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICA1ICsKIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgMSArCiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgIDEgKwogV2ViS2l0L21hYy9NaWdyYXRlSGVhZGVycy5tYWtlICAgICAgICAg
ICAgICAgICAgICAgfCAgICAxICsKIDMzIGZpbGVzIGNoYW5nZWQsIDYwMSBpbnNlcnRpb25zKCsp
LCA3IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMv
VEVNUExBVEUuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzCiBjcmVhdGUgbW9kZSAxMDA3NTUg
V2ViQ29yZS9odG1sL0NsYXNzTGlzdC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDc1NSBXZWJDb3JlL2h0
bWwvQ2xhc3NMaXN0LmgKIGNyZWF0ZSBtb2RlIDEwMDc1NSBXZWJDb3JlL2h0bWwvRE9NVG9rZW5M
aXN0LmgKIGNyZWF0ZSBtb2RlIDEwMDc1NSBXZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbAoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3Qt
cXVpcmtzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0
LXF1aXJrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkODc2YTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFz
cy1saXN0LXF1aXJrcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhLS0gUXVpcmtzIE1vZGUgLS0+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxZGYyNDMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwK
QEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NsYXNzLWxpc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTEzMTA2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBM
QVRFLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hF
UkUiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTI5OTM3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNz
LWxpc3QuanMKQEAgLTAsMCArMSwyMjAgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGUgY2xhc3NM
aXN0IGF0dHJpYnV0ZSBhbmQgaXRzIHByb3BlcnRpZXMuJyk7CisKK3ZhciBlbGVtZW50OworCitm
dW5jdGlvbiBjcmVhdGVFbGVtZW50KGNsYXNzTmFtZSkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgncCcpOworICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1l
OworfQorCitkZWJ1ZygnVGVzdHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRt
bC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1s
NS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9zZXR0aW5nLzAwMS5o
dG0KKy8vIEZpcmVmb3ggdGhyb3dzIGhlcmUgYnV0IFdlYktpdCBkb2VzIG5vdCB0aHJvdyBvbiBz
ZXR0aW5nIHJlYWRvbmx5IGlkbAorLy8gYXR0cmlidXRlcy4KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsK
K3RyeSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QgPSAneSc7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdTdHJpbmcoZWxlbWVudC5jbGFzc0xpc3QpJywgJ3gnKTsKK30gY2F0Y2ggKGV4KSB7
CisgICAgdGVzdFBhc3NlZCgnVGhyb3dpbmcgb24gc2V0IGlzIGFjY2VwdGFibGUnKTsKK30KKwor
Ly8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9r
ZW5MaXN0L2dldHRpbmcvMDAxLmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAwKTsKKworLy8gaHR0cDovL3NpbW9uLmh0
bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAy
Lmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFz
c0xpc3QubGVuZ3RoJywgMSk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1s
L2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMy5odG0KK2NyZWF0ZUVsZW1l
bnQoJ3ggeCcpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywg
Mik7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5n
L0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hv
dWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6
Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9n
ZXR0aW5nLzAwNS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworZWxlbWVudC5jbGFzc0xpc3QuYWRk
KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3gnKTsK
KworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9N
VG9rZW5MaXN0L2dldHRpbmcvMDA2Lmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NO
YW1lJywgJ3gnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA3Lmh0bQorY3JlYXRlRWxlbWVudCgneCAg
eCcpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2VsZW1lbnQuY2xhc3NOYW1lJywgJ3ggIHgnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9y
Zy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA4Lmh0bQor
Y3JlYXRlRWxlbWVudCgneScpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3kgeCcpOworCisvLyBodHRwOi8v
c2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0
dGluZy8wMDkuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92
ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICcnKTsK
KworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9N
VG9rZW5MaXN0L2dldHRpbmcvMDEwLmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5j
bGFzc0xpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xh
c3NOYW1lJywgJycpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20v
cmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMTEuaHRtCitjcmVhdGVFbGVtZW50KCcg
eSB4ICB5ICcpOworZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJyB5IHkgJyk7CisKKy8vIGh0dHA6Ly9zaW1v
bi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5n
LzAxMi5odG0KK2NyZWF0ZUVsZW1lbnQoJyB4IHkgIHggJyk7CitlbGVtZW50LmNsYXNzTGlzdC5y
ZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAn
eScpOworCisKK2RlYnVnKCdUZXN0IGludmFsaWQgdG9rZW5zJyk7CisKKy8vIFRlc3RpbmcgZXhj
ZXB0aW9uIGR1ZSB0byBpbnZhbGlkIHRva2VuCisKKy8vIHNob3VsZFRocm93IGZyb20ganMtdGVz
dC1wcmUuanMgaXMgbm90IHN1ZmZpY2llbnQuCitmdW5jdGlvbiBzaG91bGRUaHJvd0RPTUV4Y2Vw
dGlvbihmLCBlYykKK3sKKyAgICB0cnkgeworICAgICAgICBmKCk7CisgICAgICAgIHRlc3RGYWls
ZWQoJ0V4cGVjdGVkIGFuIGV4Y2VwdGlvbicpOworICAgIH0gY2F0Y2ggKGV4KSB7CisgICAgICAg
IGlmICghKGV4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uKSkgeworICAgICAgICAgICAgdGVzdEZh
aWxlZCgnRXhjZXB0aW9uIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBET01FeGNlcHRpb24sIGZvdW5k
OiAnICsKKyAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnRvU3RyaW5nLmNhbGwoZXgpKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpZiAoZWMgIT09IGV4LmNv
ZGUpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoJ1dyb25nIGV4Y2VwdGlvbiBjb2RlOiAnICsg
ZXguY29kZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAgdmFy
IGZvcm1hdHRlZEZ1bmN0aW9uID0gU3RyaW5nKGYpLnJlcGxhY2UoL15mdW5jdGlvbi4rXHtccyov
bSwgJycpLgorICAgICAgICByZXBsYWNlKC87P1xzK1x9L20sICcnKTsKKyAgICB0ZXN0UGFzc2Vk
KGZvcm1hdHRlZEZ1bmN0aW9uICsgJyB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBj
b2RlICcgKyBlYyk7Cit9CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZFRocm93RE9NRXhj
ZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKTsK
K30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7Citz
aG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlz
dC5jb250YWlucygneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJS
KTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlv
bigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJycpOworfSwgRE9NRXhjZXB0aW9uLlNZ
TlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9u
KGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCB5Jyk7Cit9LCBET01F
eGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7Citz
aG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlz
dC5yZW1vdmUoJycpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVt
ZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1l
bnQuY2xhc3NMaXN0LnJlbW92ZSgneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFS
QUNURVJfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlv
bihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJycpOworfSwgRE9N
RXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZFRo
cm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LnRvZ2ds
ZSgneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKKworCitk
ZWJ1ZygnSW5kZXhpbmcnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFswXScsICd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCknLCAneCcpOworCitjcmVhdGVFbGVtZW50KCd4
IHgnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMV0nLCAneCcp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDEpJywgJ3gn
KTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQuY2xhc3NMaXN0WzFdJywgJ3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5j
bGFzc0xpc3QuaXRlbSgxKScsICd5Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkQmVO
dWxsKCdlbGVtZW50LmNsYXNzTGlzdFswXScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNz
TGlzdC5pdGVtKDApJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeSB6Jyk7CitzaG91bGRCZU51bGwo
J2VsZW1lbnQuY2xhc3NMaXN0WzRdJyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQuY2xhc3NMaXN0
Lml0ZW0oNCknKTsKKworY3JlYXRlRWxlbWVudCgneCB5IHonKTsKK3Nob3VsZEJlVW5kZWZpbmVk
KCdlbGVtZW50LmNsYXNzTGlzdFstMV0nKTsKKworZGVidWcoJ1Rlc3QgY2FzZSBzaW5jZSBET01U
b2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hv
dWxkQmVGYWxzZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCdYXCcpJyk7CisKK2NyZWF0
ZUVsZW1lbnQoJ1gnKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5z
KFwneFwnKScpOworCisKK2RlYnVnKCdUZXN0aW5nIHdoaXRlc3BhY2UnKTsKKy8vIFUrMDAyMCBT
UEFDRSwgVSswMDA5IENIQVJBQ1RFUiBUQUJVTEFUSU9OICh0YWIpLCBVKzAwMEEgTElORSBGRUVE
IChMRiksCisvLyBVKzAwMEMgRk9STSBGRUVEIChGRiksIGFuZCBVKzAwMEQgQ0FSUklBR0UgUkVU
VVJOIChDUikKKworY3JlYXRlRWxlbWVudCgneFx1MDAyMHknKTsKK3Nob3VsZEV2YWx1YXRlVG8o
J2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDA5
eScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisK
K2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMEF5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNs
YXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1MDAwQ3knKTsKK3Nob3Vs
ZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVt
ZW50KCd4XHUwMDBEeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVu
Z3RoJywgMik7CisKKworZGVidWcoJ0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZScpOwor
CisKKy8vIFNhZmFyaSByZXR1cm5zIG9iamVjdAorLy8gRmlyZWZveCByZXR1cm5zIG9iamVjdAor
Ly8gSUU4IHJldHVybnMgb2JqZWN0CisvLyBDaHJvbWUgcmV0dXJucyBmdW5jdGlvbgorLy8gYXNz
ZXJ0RXF1YWxzKCdvYmplY3QnLCB0eXBlb2YgRE9NVG9rZW5MaXN0KTsKK3Nob3VsZEJlVHJ1ZSgn
XCd1bmRlZmluZWRcJyAhPSB0eXBlb2YgRE9NVG9rZW5MaXN0Jyk7CisKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygndHlwZW9mIERPTVRva2VuTGlzdC5wcm90b3R5cGUnLCAnb2JqZWN0Jyk7CisKK2Ny
ZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIGVsZW1lbnQu
Y2xhc3NMaXN0JywgJ29iamVjdCcpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRFdmFs
dWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5jb25zdHJ1Y3RvcicsICdET01Ub2tlbkxpc3QnKTsK
KwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAppbmRleCBiY2U4N2QyLi5kMzQ2MzFmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApA
QCAtNzIsNiArNzIsNyBAQAogI2luY2x1ZGUgIkpTRE9NSW1wbGVtZW50YXRpb24uY3BwIgogI2lu
Y2x1ZGUgIkpTRE9NUGFyc2VyLmNwcCIKICNpbmNsdWRlICJKU0RPTVNlbGVjdGlvbi5jcHAiCisj
aW5jbHVkZSAiSlNET01Ub2tlbkxpc3QuY3BwIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmNwcCIK
ICNpbmNsdWRlICJKU0VsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTRW50aXR5LmNwcCIKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCAzZDc2MzZmLi5mOTFhY2Y1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMDks
NiArMTA5LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRE9NSW1wbGVtZW50YXRpb24gXAogICAg
IERPTVBhcnNlciBcCiAgICAgRE9NU2VsZWN0aW9uIFwKKyAgICBET01Ub2tlbkxpc3QgXAogICAg
IERPTVdpbmRvdyBcCiAgICAgRGF0YWJhc2UgXAogICAgIERvY3VtZW50IFwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGFm
NDkzYzAuLmE4NTRlMGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTY4LDYgKzE2OCw3IEBAIElETF9CSU5ESU5HUyAr
PSBcCiAJV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuc2lnbmVkU2hvcnRBcnJheS5pZGwgXAog
CVdlYkNvcmUvaHRtbC9EYXRhR3JpZENvbHVtbi5pZGwgXAogCVdlYkNvcmUvaHRtbC9EYXRhR3Jp
ZENvbHVtbkxpc3QuaWRsIFwKKwlXZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbCBcCiAJV2Vi
Q29yZS9odG1sL0ZpbGUuaWRsIFwKIAlXZWJDb3JlL2h0bWwvRmlsZUxpc3QuaWRsIFwKIAlXZWJD
b3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsIFwKQEAgLTk0OCw2ICs5NDksOCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJELmggXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwIFwKIAlXZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmggXAorCVdlYkNvcmUvaHRtbC9DbGFzc0xpc3Qu
Y3BwIFwKKwlXZWJDb3JlL2h0bWwvQ2xhc3NMaXN0LmggXAogCVdlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuY3BwIFwKIAlXZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmggXAogCVdlYkNv
cmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oIFwKQEAgLTk1OCw2ICs5NjEsNyBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVdlYkNvcmUvaHRtbC9EYXRhR3JpZERhdGFTb3VyY2UuaCBcCiAJV2ViQ29y
ZS9odG1sL0RPTURhdGFHcmlkRGF0YVNvdXJjZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9ET01EYXRh
R3JpZERhdGFTb3VyY2UuaCBcCisJV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oIFwKIAlXZWJD
b3JlL2h0bWwvRmlsZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9GaWxlLmggXAogCVdlYkNvcmUvaHRt
bC9GaWxlTGlzdC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCAyMjI1ZGVlLi4xODI2NzcxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTAxLDYgKzEw
MSw3IEBACiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmlkbCcsCiAgICAg
ICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbi5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRGF0
YUdyaWRDb2x1bW5MaXN0LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9ET01Ub2tlbkxpc3QuaWRs
JywKICAgICAgICAgICAgICdodG1sL0ZpbGUuaWRsJywKICAgICAgICAgICAgICdodG1sL0ZpbGVM
aXN0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwnLApAQCAt
MTMxOSwxNSArMTMyMCwxOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMVW5zaWdu
ZWRJbnRBcnJheS5oJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTFVuc2lnbmVkU2hv
cnRBcnJheS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMVW5zaWduZWRTaG9y
dEFycmF5LmgnLAorICAgICAgICAgICAgJ2h0bWwvQ2xhc3NMaXN0LmNwcCcsCisgICAgICAgICAg
ICAnaHRtbC9DbGFzc0xpc3QuaCcsCiAgICAgICAgICAgICAnaHRtbC9Db2xsZWN0aW9uQ2FjaGUu
Y3BwJywKICAgICAgICAgICAgICdodG1sL0NvbGxlY3Rpb25DYWNoZS5oJywKICAgICAgICAgICAg
ICdodG1sL0NvbGxlY3Rpb25UeXBlLmgnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1
bW4uY3BwJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uLmgnLAotICAgICAgICAg
ICAgJ2h0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmNwcCcsCi0gICAgICAgICAgICAnaHRtbC9E
T01EYXRhR3JpZERhdGFTb3VyY2UuaCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVt
bkxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5oJywKKyAg
ICAgICAgICAgICdodG1sL0RPTURhdGFHcmlkRGF0YVNvdXJjZS5jcHAnLAorICAgICAgICAgICAg
J2h0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmgnLAorICAgICAgICAgICAgJ2h0bWwvRE9NVG9r
ZW5MaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwvRmlsZS5jcHAnLAogICAgICAgICAgICAgJ2h0
bWwvRmlsZS5oJywKICAgICAgICAgICAgICdodG1sL0ZpbGVMaXN0LmNwcCcsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBhNjA0YzBj
Li45MTZhMzUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KQEAgLTM4OCw2ICszODgsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGh0
bWwvY2FudmFzL1dlYkdMVW5zaWduZWRTaG9ydEFycmF5LmlkbCBcCiAgICAgaHRtbC9EYXRhR3Jp
ZENvbHVtbi5pZGwgXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmlkbCBcCisgICAgaHRt
bC9ET01Ub2tlbkxpc3QuaWRsIFwKICAgICBodG1sL0ZpbGUuaWRsIFwKICAgICBodG1sL0ZpbGVM
aXN0LmlkbCBcCiAgICAgaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGwgXApAQCAtOTgxLDYgKzk4
Miw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQuY3BwIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIFwK
ICAgICBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAgXAorICAgIGh0bWwvQ2xhc3NMaXN0LmNw
cCBcCiAgICAgaHRtbC9Db2xsZWN0aW9uQ2FjaGUuY3BwIFwKICAgICBodG1sL0RhdGFHcmlkQ29s
dW1uLmNwcCBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwIFwKQEAgLTE2NTksMTAg
KzE2NjEsMTIgQEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5oIFwKICAgICBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCBc
CiAgICAgaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCBcCisgICAgaHRtbC9DbGFzc0xpc3QuaCBc
CiAgICAgaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbi5o
IFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwKICAgICBodG1sL0RPTURhdGFHcmlk
RGF0YVNvdXJjZS5oIFwKKyAgICBodG1sL0RPTVRva2VuTGlzdC5oIFwKICAgICBodG1sL0ZpbGUu
aCBcCiAgICAgaHRtbC9GaWxlTGlzdC5oIFwKICAgICBodG1sL0Zvcm1EYXRhTGlzdC5oIFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGJlNjU4MzYuLjk2ZGFkNmUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjk3MjcsNiArMjk3MjcsMTMg
QEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxDbGFzc0xpc3QuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caHRtbFxDbGFzc0xpc3QuaCINCisJCQkJPg0KKwkJCTxGaWxlDQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxDb2xsZWN0aW9uQ2FjaGUuY3BwIg0KIAkJCQk+DQog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTI5Nzc1LDYgKzI5NzgyLDEwIEBACiAJCQkJPg0K
IAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRE9NVG9r
ZW5MaXN0LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxodG1sXEZpbGUuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTgxYjM1Yi4uYTliNzU4MSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMjEsNiArMTIy
MSwxNSBAQAogCQk3NTc5M0VEMzBEMENFODVCMDA3RkMwQUMgLyogRE9NTWVzc2FnZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTc5M0VEMDBE
MENFODVCMDA3RkMwQUMgLyogRE9NTWVzc2FnZUV2ZW50LmggKi87IH07CiAJCTc1NzkzRUQ0MEQw
Q0U4NUIwMDdGQzBBQyAvKiBET01NZXNzYWdlRXZlbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTc5M0VEMTBEMENFODVCMDA3RkMwQUMgLyogRE9N
TWVzc2FnZUV2ZW50Lm1tICovOyB9OwogCQk3NTc5M0VENTBEMENFODVCMDA3RkMwQUMgLyogRE9N
TWVzc2FnZUV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDc1NzkzRUQyMEQwQ0U4NUIwMDdGQzBBQyAvKiBET01NZXNzYWdlRXZlbnRJ
bnRlcm5hbC5oICovOyB9OworCQk3NjVFMjhEOTEwQkNGRTM5MDBCNENEMzUgLyogQ2xhc3NMaXN0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2NUUy
OEQ3MTBCQ0ZFMzkwMEI0Q0QzNSAvKiBDbGFzc0xpc3QuY3BwICovOyB9OworCQk3NjVFMjhEQTEw
QkNGRTM5MDBCNENEMzUgLyogQ2xhc3NMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3NjVFMjhEODEwQkNGRTM5MDBCNENEMzUgLyogQ2xhc3NMaXN0
LmggKi87IH07CisJCTc2NUUyOEREMTBCQ0ZFNEMwMEI0Q0QzNSAvKiBET01Ub2tlbkxpc3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2NUUyOERCMTBC
Q0ZFNEMwMEI0Q0QzNSAvKiBET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY1RTI4REUxMEJDRkU0
QzAwQjRDRDM1IC8qIERPTVRva2VuTGlzdC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2NUUyOERDMTBCQ0ZFNEMwMEI0Q0QzNSAvKiBET01Ub2tl
bkxpc3QuaWRsICovOyB9OworCQk3NjVFMjhGMTEwQkQwQzFEMDBCNENEMzUgLyogSlNET01Ub2tl
bkxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzY1RTI4RUYxMEJEMEMxRDAwQjRDRDM1IC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLzsgfTsKKwkJ
NzY1RTI4RjIxMEJEMEMxRDAwQjRDRDM1IC8qIEpTRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjVFMjhGMDEwQkQwQzFEMDBCNENE
MzUgLyogSlNET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY1RTI4RjUxMEJEMEM0QzAwQjRDRDM1
IC8qIERPTURPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzY1RTI4RjMxMEJEMEM0QzAwQjRDRDM1IC8qIERPTURPTVRva2VuTGlzdC5o
ICovOyB9OworCQk3NjVFMjhGNjEwQkQwQzRDMDBCNENEMzUgLyogRE9NRE9NVG9rZW5MaXN0Lm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY1RTI4RjQx
MEJEMEM0QzAwQjRDRDM1IC8qIERPTURPTVRva2VuTGlzdC5tbSAqLzsgfTsKKwkJNzY1RTI4Rjgx
MEJEMEM2QjAwQjRDRDM1IC8qIERPTURPTVRva2VuTGlzdEludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjVFMjhGNzEwQkQwQzZCMDBCNENE
MzUgLyogRE9NRE9NVG9rZW5MaXN0SW50ZXJuYWwuaCAqLzsgfTsKIAkJNzY5M0JBRDIxMDZDMkRD
QTAwN0IwODIzIC8qIEhhbHRhYmxlUGx1Z2luLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFDRTEwNkMyRENBMDA3QjA4MjMgLyogSGFsdGFibGVQ
bHVnaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3NjkzQkFEMzEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTNCQUNGMTA2QzJEQ0EwMDdC
MDgyMyAvKiBQbHVnaW5IYWx0ZXIuY3BwICovOyB9OwogCQk3NjkzQkFENDEwNkMyRENBMDA3QjA4
MjMgLyogUGx1Z2luSGFsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3NjkzQkFEMDEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmggKi87
IH07CkBAIC02NTQxLDYgKzY1NTAsMTUgQEAKIAkJNzU3OTNFRDAwRDBDRTg1QjAwN0ZDMEFDIC8q
IERPTU1lc3NhZ2VFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
TWVzc2FnZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc1NzkzRUQxMEQw
Q0U4NUIwMDdGQzBBQyAvKiBET01NZXNzYWdlRXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NTWVzc2FnZUV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3NTc5M0VEMjBEMENFODVCMDA3RkMwQUMgLyogRE9NTWVzc2FnZUV2ZW50
SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTU1lc3NhZ2VF
dmVudEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2NUUyOEQ3MTBC
Q0ZFMzkwMEI0Q0QzNSAvKiBDbGFzc0xpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ2xhc3NMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzY1RTI4RDgxMEJDRkUzOTAwQjRDRDM1IC8qIENsYXNzTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDbGFzc0xpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNzY1RTI4REIxMEJDRkU0QzAwQjRDRDM1IC8qIERPTVRva2VuTGlzdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBET01Ub2tlbkxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNzY1RTI4REMxMEJDRkU0QzAwQjRDRDM1IC8qIERPTVRva2VuTGlzdC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NVG9rZW5MaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzY1RTI4RUYxMEJEMEMxRDAwQjRDRDM1IC8qIEpTRE9NVG9rZW5MaXN0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NVG9rZW5MaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY1RTI4RjAxMEJEMEMxRDAwQjRD
RDM1IC8qIEpTRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2NUUyOEYz
MTBCRDBDNEMwMEI0Q0QzNSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRE9NRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTc2NUUyOEY0MTBCRDBDNEMwMEI0Q0QzNSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01ET01Ub2tlbkxpc3QubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2NUUyOEY3MTBCRDBDNkIwMEI0Q0QzNSAv
KiBET01ET01Ub2tlbkxpc3RJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01ET01Ub2tlbkxpc3RJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3NjkzQkFDRTEwNkMyRENBMDA3QjA4MjMgLyogSGFsdGFibGVQbHVnaW4uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFsdGFibGVQbHVnaW4uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzY5M0JBQ0YxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnaW5IYWx0ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NjkzQkFEMDEwNkMyRENBMDA3QjA4
MjMgLyogUGx1Z2luSGFsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBs
dWdpbkhhbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAxOTIsNyArMTAy
MTAsNyBAQAogCQkJCTE4QzVGQ0EzMTBBMzk5MUYwMDQ4NDM4RCAvKiBXZWJLaXRTaGFyZWRTY3Jp
cHRSZXBvc2l0b3J5LmNwcCAqLywKIAkJCQkxOEM1RkNBNDEwQTM5OTFGMDA0ODQzOEQgLyogV2Vi
S2l0U2hhcmVkU2NyaXB0UmVwb3NpdG9yeS5oICovLAogCQkJKTsKLQkJCXBhdGggPSAiU2hhcmVk
U2NyaXB0IjsKKwkJCXBhdGggPSBTaGFyZWRTY3JpcHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OwogCQkxQTJFNkU1NjBDQzU1MUUwMDA0QTIwNjIgLyogc3FsICovID0gewpAQCAt
MTE5NzksNiArMTE5OTcsOCBAQAogCQk4NUM1NkQwMzBBQThCQUE3MDBEOTU3NTUgLyogSFRNTCAq
LyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNzY1RTI4RjMx
MEJEMEM0QzAwQjRDRDM1IC8qIERPTURPTVRva2VuTGlzdC5oICovLAorCQkJCTc2NUUyOEY0MTBC
RDBDNEMwMEI0Q0QzNSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi8sCiAJCQkJQkMwMEVGRkUwRTBB
MTg1NTAwRkQwNEUzIC8qIERPTUZpbGUuaCAqLywKIAkJCQlCQzAwRUZGRjBFMEExODU1MDBGRDA0
RTMgLyogRE9NRmlsZS5tbSAqLywKIAkJCQlCQzAwRjAwMTBFMEExODU1MDBGRDA0RTMgLyogRE9N
RmlsZUxpc3QuaCAqLywKQEAgLTEyMTE3LDYgKzEyMTM3LDcgQEAKIAkJODVFNzExM0QwQUM1RDRB
MTAwNTMyNzBGIC8qIEludGVybmFsICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKKwkJCQk3NjVFMjhGNzEwQkQwQzZCMDBCNENEMzUgLyogRE9NRE9NVG9rZW5MaXN0
SW50ZXJuYWwuaCAqLywKIAkJCQk4NTM4RjAxODBBRDcxOEQ4MDA2QTgxRDEgLyogRE9NQWJzdHJh
Y3RWaWV3SW50ZXJuYWwuaCAqLywKIAkJCQk4NUU3MTEzRTBBQzVENTM0MDA1MzI3MEYgLyogRE9N
QXR0ckludGVybmFsLmggKi8sCiAJCQkJODVFNzExM0YwQUM1RDUzNDAwNTMyNzBGIC8qIERPTUNE
QVRBU2VjdGlvbkludGVybmFsLmggKi8sCkBAIC0xMjUxOCw2ICsxMjUzOSw4IEBACiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0RE
MyAvKiBjYW52YXMgKi8sCisJCQkJNzY1RTI4RDcxMEJDRkUzOTAwQjRDRDM1IC8qIENsYXNzTGlz
dC5jcHAgKi8sCisJCQkJNzY1RTI4RDgxMEJDRkUzOTAwQjRDRDM1IC8qIENsYXNzTGlzdC5oICov
LAogCQkJCTkzQzQ0MUVEMEY4MTNBMUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuY3BwICov
LAogCQkJCTkzQzQ0MUVFMEY4MTNBMUEwMEMxQTYzNCAvKiBDb2xsZWN0aW9uQ2FjaGUuaCAqLywK
IAkJCQk5M0M0NDFGRjBGODEzQUUxMDBDMUE2MzQgLyogQ29sbGVjdGlvblR5cGUuaCAqLywKQEAg
LTEyNTMwLDYgKzEyNTUzLDggQEAKIAkJCQlCQ0JDQUUzNjBGRjE5Mzg1MDAwNzYyQUUgLyogRGF0
YUdyaWREYXRhU291cmNlLmggKi8sCiAJCQkJQkM3REFBRUMwRkY5NjE1RDAwQ0UwMTM4IC8qIERP
TURhdGFHcmlkRGF0YVNvdXJjZS5jcHAgKi8sCiAJCQkJQkM3REFBRUQwRkY5NjE1RDAwQ0UwMTM4
IC8qIERPTURhdGFHcmlkRGF0YVNvdXJjZS5oICovLAorCQkJCTc2NUUyOERCMTBCQ0ZFNEMwMEI0
Q0QzNSAvKiBET01Ub2tlbkxpc3QuaCAqLywKKwkJCQk3NjVFMjhEQzEwQkNGRTRDMDBCNENEMzUg
LyogRE9NVG9rZW5MaXN0LmlkbCAqLywKIAkJCQlCQ0RCQjhDQzBFMDg5NTg0MDBDNjBGRjYgLyog
RmlsZS5jcHAgKi8sCiAJCQkJQkNEQkI4Q0IwRTA4OTU4NDAwQzYwRkY2IC8qIEZpbGUuaCAqLywK
IAkJCQlCQzE4ODFEOTBFMDhDNEVEMDAwNDhDMTMgLyogRmlsZS5pZGwgKi8sCkBAIC0xMjgzMyw2
ICsxMjg1OCw4IEBACiAJCUE4M0I3OTA4MENDQUZGMkIwMDBCMDgyNSAvKiBIVE1MICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk3NjVFMjhFRjEwQkQwQzFE
MDBCNENEMzUgLyogSlNET01Ub2tlbkxpc3QuY3BwICovLAorCQkJCTc2NUUyOEYwMTBCRDBDMUQw
MEI0Q0QzNSAvKiBKU0RPTVRva2VuTGlzdC5oICovLAogCQkJCUE3RDIwRjYwMTA3RjQwNjkwMEE4
MDM5MiAvKiBKU1dlYkdMQWN0aXZlSW5mby5jcHAgKi8sCiAJCQkJQTdEMjBGNjExMDdGNDA2OTAw
QTgwMzkyIC8qIEpTV2ViR0xBY3RpdmVJbmZvLmggKi8sCiAJCQkJNDlFRUNGMTkxMDUwNzJGMzAw
MDk5RkFCIC8qIEpTV2ViR0xBcnJheS5jcHAgKi8sCkBAIC0xODE3OSw2ICsxODIwNiwxMSBAQAog
CQkJCTkzODJERjU4MTBBOEQ1QzkwMDkyNTY1MiAvKiBDb2xvclNwYWNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTZFNDdFNjYxMTBCNzk0NEIwMEIxODZDOCAvKiBXZWJHTEdldEluZm8u
aCBpbiBIZWFkZXJzICovLAorCQkJCTc2NUUyOERBMTBCQ0ZFMzkwMEI0Q0QzNSAvKiBDbGFzc0xp
c3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTc2NUUyOEREMTBCQ0ZFNEMwMEI0Q0QzNSAvKiBET01U
b2tlbkxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTc2NUUyOEYyMTBCRDBDMUQwMEI0Q0QzNSAv
KiBKU0RPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzY1RTI4RjUxMEJEMEM0QzAw
QjRDRDM1IC8qIERPTURPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzY1RTI4Rjgx
MEJEMEM2QjAwQjRDRDM1IC8qIERPTURPTVRva2VuTGlzdEludGVybmFsLmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTE4MjgyLDYgKzE4MzE0LDcgQEAKIAkJCQkxQUIxQUU3QjBDMDUxRkRFMDAxMzlGNEYg
Lyogem9vbU91dEN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTE4QzVGQ0E3MTBBMzk5
MUYwMDQ4NDM4RCAvKiBXZWJLaXRTaGFyZWRTY3JpcHQuaWRsIGluIFJlc291cmNlcyAqLywKIAkJ
CQkxOEM1RkNCOTEwQTNDNkYyMDA0ODQzOEQgLyogU2hhcmVkU2NyaXB0Q29udGV4dC5pZGwgaW4g
UmVzb3VyY2VzICovLAorCQkJCTc2NUUyOERFMTBCQ0ZFNEMwMEI0Q0QzNSAvKiBET01Ub2tlbkxp
c3QuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIwMzI5LDYgKzIwMzYyLDkgQEAKIAkJCQkxOEM1
RkNCNzEwQTNDNkYyMDA0ODQzOEQgLyogU2hhcmVkU2NyaXB0Q29udGV4dC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlFMUI0Q0QyNTEwQjMyMkUyMDBCRkZEN0UgLyogQ3JlZGVudGlhbFN0b3JhZ2VN
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk2RTQ3RTY2MDEwQjc5NDRCMDBCMTg2QzggLyogV2Vi
R0xHZXRJbmZvLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc2NUUyOEQ5MTBCQ0ZFMzkwMEI0Q0Qz
NSAvKiBDbGFzc0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzY1RTI4RjExMEJEMEMxRDAw
QjRDRDM1IC8qIEpTRE9NVG9rZW5MaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc2NUUyOEY2
MTBCRDBDNEMwMEI0Q0QzNSAvKiBET01ET01Ub2tlbkxpc3QubW0gaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZVNvdXJjZXMuYmtsIGIvV2ViQ29yZS9XZWJDb3JlU291
cmNlcy5ia2wKaW5kZXggMjM2ZTJlMi4uN2E2NTRlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlU291cmNlcy5ia2wKKysrIGIvV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKQEAgLTI4Niw2
ICsyODYsNyBAQCBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGxpc3Qgb2YgZmlsZXMgbmVlZGVkIHRv
IGJ1aWxkIFdlYkNvcmUuCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01JbXBs
ZW1lbnRhdGlvbi5jcHAKICAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVBhcnNl
ci5jcHAKICAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVNlbGVjdGlvbi5jcHAK
KyAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVRva2VuTGlzdC5jcHAKICAgICAg
ICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdy5jcHAKICAgICAgICAgRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0VsZW1lbnQuY3BwCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNFbnRpdHkuY3BwCkBAIC01ODgsNiArNTg5LDcgQEAgVGhpcyBmaWxlIGNvbnRhaW5z
IHRoZSBsaXN0IG9mIGZpbGVzIG5lZWRlZCB0byBidWlsZCBXZWJDb3JlLgogICAgICAgICBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcAogICAgICAgICBodG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL0NhbnZhc1N0
eWxlLmNwcAorICAgICAgICBodG1sL0NsYXNzTGlzdC5jcHAKICAgICAgICAgaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuY3BwCiAgICAgICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmNwcAogICAg
ICAgICBodG1sL0ZpbGUuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
SFRNTC5oIGIvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUwuaAppbmRleCBjMzM2YzA0Li4w
NDA3YWQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTC5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MLmgKQEAgLTI2LDYgKzI2LDcgQEAKIAogI2lt
cG9ydCA8V2ViQ29yZS9ET01Db3JlLmg+CiAKKyNpbXBvcnQgPFdlYkNvcmUvRE9NRE9NVG9rZW5M
aXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUZpbGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9N
RmlsZUxpc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NSFRNTEFuY2hvckVsZW1lbnQuaD4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRlcmZhY2VzLmggYi9X
ZWJDb3JlL2JpbmRpbmdzL29iamMvUHVibGljRE9NSW50ZXJmYWNlcy5oCmluZGV4IDkyMjEwMzcu
LjllZjU5MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9QdWJsaWNET01JbnRl
cmZhY2VzLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMu
aApAQCAtMTcwLDYgKzE3MCwxNSBAQAogQHByb3BlcnR5KHJlYWRvbmx5LCBjb3B5KSBOU1N0cmlu
ZyAqaW50ZXJuYWxTdWJzZXQ7CiBAZW5kCiAKK0BpbnRlcmZhY2UgRE9NRE9NVG9rZW5MaXN0IDog
RE9NT2JqZWN0IFdFQktJVF9WRVJTSU9OXzRfMAorQHByb3BlcnR5KHJlYWRvbmx5KSB1bnNpZ25l
ZCBsZW5ndGg7CistIChOU1N0cmluZyAqKWl0ZW06KHVuc2lnbmVkKWluZGV4OworLSAoQk9PTClj
b250YWluczooTlNTdHJpbmcgKil0b2tlbjsKKy0gKHZvaWQpYWRkOihOU1N0cmluZyAqKXRva2Vu
OworLSAodm9pZClyZW1vdmU6KE5TU3RyaW5nICopdG9rZW47CistIChCT09MKXRvZ2dsZTooTlNT
dHJpbmcgKil0b2tlbjsKK0BlbmQKKwogQGludGVyZmFjZSBET01FbGVtZW50IDogRE9NTm9kZSBX
RUJLSVRfVkVSU0lPTl8xXzMKIEBwcm9wZXJ0eShyZWFkb25seSwgY29weSkgTlNTdHJpbmcgKnRh
Z05hbWU7CiBAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NQ1NTU3R5bGVEZWNsYXJhdGlv
biAqc3R5bGU7CkBAIC00NjUsNiArNDc0LDcgQEAKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAq
bGFuZzsKIEBwcm9wZXJ0eShjb3B5KSBOU1N0cmluZyAqZGlyOwogQHByb3BlcnR5KGNvcHkpIE5T
U3RyaW5nICpjbGFzc05hbWU7CitAcHJvcGVydHkocmVhZG9ubHksIHJldGFpbikgRE9NRE9NVG9r
ZW5MaXN0ICpjbGFzc0xpc3QgQVZBSUxBQkxFX0lOX1dFQktJVF9WRVJTSU9OXzRfMDsKIEBwcm9w
ZXJ0eShjb3B5KSBOU1N0cmluZyAqaW5uZXJIVE1MOwogQHByb3BlcnR5KGNvcHkpIE5TU3RyaW5n
ICppbm5lclRleHQ7CiBAcHJvcGVydHkoY29weSkgTlNTdHJpbmcgKm91dGVySFRNTDsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDVjMzkwZGMuLmM5
ZTI0NmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpA
QCAtMTY1LDcgKzE2NSw3IEBAIHN1YiBJbmRleEdldHRlclJldHVybnNTdHJpbmdzCiB7CiAgICAg
bXkgJHR5cGUgPSBzaGlmdDsKIAotICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJDU1NTdHlsZURl
Y2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiTWVkaWFMaXN0IiBvciAkdHlwZSBlcSAiQ1NTVmFyaWFi
bGVzRGVjbGFyYXRpb24iOworICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJDU1NTdHlsZURlY2xh
cmF0aW9uIiBvciAkdHlwZSBlcSAiTWVkaWFMaXN0IiBvciAkdHlwZSBlcSAiQ1NTVmFyaWFibGVz
RGVjbGFyYXRpb24iIG9yICR0eXBlIGVxICJET01Ub2tlbkxpc3QiOwogICAgIHJldHVybiAwOwog
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9i
akMucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KaW5k
ZXggOTEyNDhjNS4uZDJjNTU2ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JPYmpDLnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yT2JqQy5wbQpAQCAtNjMsNyArNjMsNyBAQCBteSAlbmF0aXZlT2JqQ1R5cGVIYXNo
ID0gKCJVUkwiID0+IDEsICJDb2xvciIgPT4gMSk7CiAKICMgRklYTUU6IHRoaXMgc2hvdWxkIGJl
IHJlcGxhY2VkIHdpdGggYSBmdW5jdGlvbiB0aGF0IHJlY3Vyc2VzIHVwIHRoZSB0cmVlCiAjIHRv
IGZpbmQgdGhlIGFjdHVhbCBiYXNlIHR5cGUuCi1teSAlYmFzZVR5cGVIYXNoID0gKCJPYmplY3Qi
ID0+IDEsICJOb2RlIiA9PiAxLCAiTm9kZUxpc3QiID0+IDEsICJOYW1lZE5vZGVNYXAiID0+IDEs
ICJET01JbXBsZW1lbnRhdGlvbiIgPT4gMSwKK215ICViYXNlVHlwZUhhc2ggPSAoIk9iamVjdCIg
PT4gMSwgIk5vZGUiID0+IDEsICJOb2RlTGlzdCIgPT4gMSwgIk5hbWVkTm9kZU1hcCIgPT4gMSwg
IkRPTUltcGxlbWVudGF0aW9uIiA9PiAxLCAiRE9NVG9rZW5MaXN0IiA9PiAxLAogICAgICAgICAg
ICAgICAgICAgICAiRXZlbnQiID0+IDEsICJDU1NSdWxlIiA9PiAxLCAiQ1NTVmFsdWUiID0+IDEs
ICJTdHlsZVNoZWV0IiA9PiAxLCAiTWVkaWFMaXN0IiA9PiAxLAogICAgICAgICAgICAgICAgICAg
ICAiQ291bnRlciIgPT4gMSwgIlJlY3QiID0+IDEsICJSR0JDb2xvciIgPT4gMSwgIlhQYXRoRXhw
cmVzc2lvbiIgPT4gMSwgIlhQYXRoUmVzdWx0IiA9PiAxLAogICAgICAgICAgICAgICAgICAgICAi
Tm9kZUl0ZXJhdG9yIiA9PiAxLCAiVHJlZVdhbGtlciIgPT4gMSwgIkFic3RyYWN0VmlldyIgPT4g
MSwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgu
cG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDhm
NjNlMGQuLjdiYWI0NWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yVjgucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JWOC5wbQpAQCAtMTc3Niw2ICsxNzc2LDcgQEAgc3ViIElzUmVmUHRyVHlwZQogICAgIHJldHVy
biAxIGlmICR0eXBlIGVxICJEb2N1bWVudCI7CiAgICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkRv
Y3VtZW50RnJhZ21lbnQiOwogICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJEb2N1bWVudFR5cGUi
OworICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJET01Ub2tlbkxpc3QiOwogICAgIHJldHVybiAx
IGlmICR0eXBlIGVxICJFbGVtZW50IjsKICAgICByZXR1cm4gMSBpZiAkdHlwZSBlcSAiRW50aXR5
UmVmZXJlbmNlIjsKICAgICByZXR1cm4gMSBpZiAkdHlwZSBlcSAiRXZlbnQiOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01PYmplY3RzSW5jbHVkZS5oIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01PYmplY3RzSW5jbHVkZS5oCmluZGV4IDk3MjExYWUuLjA0MGM0MDAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NT2JqZWN0c0luY2x1ZGUuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTU9iamVjdHNJbmNsdWRlLmgKQEAgLTgzLDYgKzgzLDcgQEAKICNp
bmNsdWRlICJET01JbXBsZW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkRPTVBhcnNlci5oIgogI2lu
Y2x1ZGUgIkRPTVNlbGVjdGlvbi5oIgorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1
ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkVudGl0eS5oIgogI2luY2x1ZGUgIkVycm9yRXZl
bnQuaCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvRGVyaXZlZFNvdXJjZXNBbGxJ
bk9uZS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0Rlcml2ZWRTb3VyY2VzQWxsSW5PbmUuY3Bw
CmluZGV4IDUwOGNkNDUuLjZkM2MyNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RGVyaXZlZFNvdXJjZXNBbGxJbk9uZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9EZXJp
dmVkU291cmNlc0FsbEluT25lLmNwcApAQCAtOTMsNiArOTMsNyBAQAogI2luY2x1ZGUgImJpbmRp
bmdzL1Y4RE9NSW1wbGVtZW50YXRpb24uY3BwIgogI2luY2x1ZGUgImJpbmRpbmdzL1Y4RE9NUGFy
c2VyLmNwcCIKICNpbmNsdWRlICJiaW5kaW5ncy9WOERPTVNlbGVjdGlvbi5jcHAiCisjaW5jbHVk
ZSAiYmluZGluZ3MvVjhET01Ub2tlbkxpc3QuY3BwIgogI2luY2x1ZGUgImJpbmRpbmdzL1Y4RE9N
V2luZG93LmNwcCIKICNpbmNsdWRlICJiaW5kaW5ncy9WOEVsZW1lbnQuY3BwIgogI2luY2x1ZGUg
ImJpbmRpbmdzL1Y4RW50aXR5LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhET01XcmFwcGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcApp
bmRleCAxNWY5NjZlLi5kN2UxZDg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RE9NV3JhcHBlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3Bw
CkBAIC0zOTAsNiArMzkwLDkgQEAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+
IFY4RE9NV3JhcHBlcjo6Z2V0VGVtcGxhdGUoVjhDbGFzc0luZGV4OjpWOFcKICAgICAgICAgZGVz
Y3JpcHRvci0+SW5zdGFuY2VUZW1wbGF0ZSgpLT5TZXROYW1lZFByb3BlcnR5SGFuZGxlcihVU0Vf
TkFNRURfUFJPUEVSVFlfR0VUVEVSKFN0eWxlU2hlZXRMaXN0KSk7CiAgICAgICAgIHNldENvbGxl
Y3Rpb25JbmRleGVkR2V0dGVyPFN0eWxlU2hlZXRMaXN0LCBTdHlsZVNoZWV0PihkZXNjcmlwdG9y
LCBWOENsYXNzSW5kZXg6OlNUWUxFU0hFRVQpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFY4
Q2xhc3NJbmRleDo6RE9NVE9LRU5MSVNUOgorICAgICAgICBzZXRDb2xsZWN0aW9uU3RyaW5nT3JO
dWxsSW5kZXhlZEdldHRlcjxET01Ub2tlbkxpc3Q+KGRlc2NyaXB0b3IpOworICAgICAgICBicmVh
azsKICAgICBjYXNlIFY4Q2xhc3NJbmRleDo6RE9NV0lORE9XOiB7CiAgICAgICAgIHY4OjpMb2Nh
bDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0dXJlID0gdjg6OlNpZ25hdHVyZTo6TmV3KGRl
c2NyaXB0b3IpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBl
ci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuaAppbmRleCA3Y2EyZTYzLi43
OTFhZTE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmgKQEAgLTU1LDYgKzU1LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENTU1ZhbHVlTGlzdDsKICAgICBjbGFzcyBD
bGllbnRSZWN0TGlzdDsKICAgICBjbGFzcyBET01JbXBsZW1lbnRhdGlvbjsKKyAgICBjbGFzcyBE
T01Ub2tlbkxpc3Q7CiAgICAgY2xhc3MgRE9NV2luZG93OwogICAgIGNsYXNzIERvY3VtZW50Owog
ICAgIGNsYXNzIEVsZW1lbnQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5k
ZXguY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluZGV4LmNwcAppbmRleCA3YTQzYWMyLi5m
ODNlNWFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5kZXguY3BwCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbmRleC5jcHAKQEAgLTY2LDYgKzY2LDcgQEAKICNpbmNs
dWRlICJWOENTU1ZhcmlhYmxlc1J1bGUuaCIKICNpbmNsdWRlICJWOERhdGFHcmlkQ29sdW1uLmgi
CiAjaW5jbHVkZSAiVjhEYXRhR3JpZENvbHVtbkxpc3QuaCIKKyNpbmNsdWRlICJWOERPTVRva2Vu
TGlzdC5oIgogI2luY2x1ZGUgIlY4RG9jdW1lbnQuaCIKICNpbmNsdWRlICJWOERvY3VtZW50RnJh
Z21lbnQuaCIKICNpbmNsdWRlICJWOERvY3VtZW50VHlwZS5oIgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEluZGV4LmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5kZXguaApp
bmRleCBiMTIwMDM0Li4xN2RjMjQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
SW5kZXguaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5kZXguaApAQCAtMzUzLDYgKzM1
Myw3IEBAIHR5cGVkZWYgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+ICgqRnVu
Y3Rpb25UZW1wbGF0ZUZhY3RvcnkpKCk7CiAgICAgVihET01JTVBMRU1FTlRBVElPTiwgRE9NSW1w
bGVtZW50YXRpb24pICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgVihET01QQVJT
RVIsIERPTVBhcnNlcikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgVihET01TRUxFQ1RJT04sIERPTVNlbGVjdGlvbikgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgVihET01UT0tFTkxJU1QsIERPTVRva2VuTGlzdCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgVihET01XSU5ET1cs
IERPTVdpbmRvdykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgVihFVkVOVCwgRXZlbnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCiAgICAgVihFVkVOVEVYQ0VQVElPTiwgRXZlbnRFeGNlcHRpb24p
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0zNjYsMTAgKzM2NywxMCBA
QCB0eXBlZGVmIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiAoKkZ1bmN0aW9u
VGVtcGxhdGVGYWN0b3J5KSgpOwogICAgIFYoQ0FOVkFTUElYRUxBUlJBWSwgQ2FudmFzUGl4ZWxB
cnJheSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIFYoS0VZQk9BUkRFVkVO
VCwgS2V5Ym9hcmRFdmVudCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
ICAgIFYoTE9DQVRJT04sIExvY2F0aW9uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAotICAgIFYoTUVESUEsIE1lZGlhKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFYoTUVESUFMSVNULCBNZWRp
YUxpc3QpCisgICAgVihNRURJQSwgTWVkaWEpCiAKICNkZWZpbmUgRE9NX09CSkVDVF9UWVBFU18y
KFYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBWKE1F
RElBTElTVCwgTWVkaWFMaXN0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKICAgICBWKE1FU1NBR0VDSEFOTkVMLCBNZXNzYWdlQ2hhbm5lbCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBWKE1FU1NBR0VFVkVOVCwgTWVzc2FnZUV2
ZW50KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBWKE1JTUVU
WVBFLCBNaW1lVHlwZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tQmlu
ZGluZy5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21CaW5kaW5nLmgKaW5k
ZXggYThmZDk2Yy4uNzNmMmMwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhDdXN0b21CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhD
dXN0b21CaW5kaW5nLmgKQEAgLTUxMSw2ICs1MTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAgICAgREVDTEFSRV9DQUxMQkFDSyhIVE1MRm9ybUVsZW1lbnRTdWJtaXQpOwogCisgICAg
ICAgIERFQ0xBUkVfSU5ERVhFRF9QUk9QRVJUWV9HRVRURVIoRE9NVG9rZW5MaXN0KTsKKwogICAg
ICAgICBERUNMQVJFX05BTUVEX1BST1BFUlRZX0dFVFRFUihET01XaW5kb3cpOwogICAgICAgICBE
RUNMQVJFX0lOREVYRURfUFJPUEVSVFlfR0VUVEVSKERPTVdpbmRvdyk7CiAgICAgICAgIERFQ0xB
UkVfTkFNRURfQUNDRVNTX0NIRUNLKERPTVdpbmRvdyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvQ2xhc3NMaXN0LmNwcCBiL1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZmZjJiMzcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJD
b3JlL2h0bWwvQ2xhc3NMaXN0LmNwcApAQCAtMCwwICsxLDEzNyBAQAorLy8gQ29weXJpZ2h0IChj
KSAyMDA5IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNl
IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0
aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkNsYXNzTGlzdC5oIgorCisjaW5jbHVkZSAiQ2xhc3NOYW1lcy5o
IgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworYm9vbCB2
YWxpZGF0ZVRva2VuKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmICh0b2tlbi5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJS
OworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgY29uc3QgdW5zaWduZWQgbGVu
Z3RoID0gdG9rZW4ubGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0
aDsgKytpKSB7CisgICAgICAgIGlmIChpc0NsYXNzV2hpdGVzcGFjZSh0b2tlbltpXSkpIHsKKyAg
ICAgICAgICAgIGVjID0gSU5WQUxJRF9DSEFSQUNURVJfRVJSOworICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3Vuc2ln
bmVkIENsYXNzTGlzdDo6bGVuZ3RoKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9lbGVtZW50LT5o
YXNDbGFzcygpID8gbV9lbGVtZW50LT5jbGFzc05hbWVzKCkuc2l6ZSgpIDogMDsKK30KKworY29u
c3QgQXRvbWljU3RyaW5nIENsYXNzTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sK
KyAgICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBBdG9taWNTdHJpbmco
KTsKKyAgICByZXR1cm4gbV9lbGVtZW50LT5jbGFzc05hbWVzKClbaW5kZXhdOworfQorCitib29s
IENsYXNzTGlzdDo6Y29udGFpbnMoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9u
Q29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBtX2VsZW1lbnQtPmhhc0NsYXNzKCkg
PyBtX2VsZW1lbnQtPmNsYXNzTmFtZXMoKS5jb250YWlucyh0b2tlbikgOiBmYWxzZTsKK30KKwor
dm9pZCBDbGFzc0xpc3Q6OmFkZChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25D
b2RlJiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sICBlYykpCisgICAgICAg
IHJldHVybjsKKworICAgIGNvbnN0IEF0b21pY1N0cmluZyBvbGRDbGFzc05hbWUgPSBtX2VsZW1l
bnQtPmdldEF0dHJpYnV0ZShjbGFzc0F0dHIpOworICAgIGlmIChvbGRDbGFzc05hbWUuaXNFbXB0
eSgpKQorICAgICAgICBtX2VsZW1lbnQtPnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIHRva2VuKTsK
KyAgICBlbHNlIGlmICghY29udGFpbnModG9rZW4sIGVjKSkgeworICAgICAgICBtX2VsZW1lbnQt
PnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIG9sZENsYXNzTmFtZSArICIgIiArIHRva2VuKTsKKyAg
ICB9Cit9CisKKwordm9pZCBDbGFzc0xpc3Q6OnJlbW92ZShjb25zdCBBdG9taWNTdHJpbmcmIHRv
a2VuLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4s
ICBlYykpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIENoZWNrIHVzaW5nIGNvbnRhaW5zIGZp
cnN0IHNpbmNlIGl0IHVzZXMgQXRvbWljU3RyaW5nIGNvbXBhcmlzb25zIGluc3RlYWQKKyAgICAv
LyBvZiBjaGFyYWN0ZXIgYnkgY2hhcmFjdGVyIHRlc3RpbmcuCisgICAgaWYgKCFtX2VsZW1lbnQt
Pmhhc0NsYXNzKCkgfHwgIWNvbnRhaW5zKHRva2VuLCBlYykpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICAvLyBBbGdvcml0aG0gZGVmaW5lZCBhdCBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3Bl
Y3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9jb21tb24tbWljcm9zeW50YXhlcy5o
dG1sI3JlbW92ZS1hLXRva2VuLWZyb20tYS1zdHJpbmcKKworICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaW5wdXQgPSBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShjbGFzc0F0dHIpOworICAgIGNvbnN0
IHVuc2lnbmVkIGlucHV0TGVuZ3RoID0gaW5wdXQubGVuZ3RoKCk7CisgICAgU3RyaW5nIG91dHB1
dDsgLy8gMworICAgIHVuc2lnbmVkIHBvc2l0aW9uID0gMDsgLy8gNAorICAgIAorICAgIC8vIFN0
ZXAgNQorICAgIHdoaWxlIChwb3NpdGlvbiA8IGlucHV0TGVuZ3RoKSB7CisgICAgICAgIGlmIChp
c0NsYXNzV2hpdGVzcGFjZShpbnB1dFtwb3NpdGlvbl0pKSB7IC8vIDYKKyAgICAgICAgICAgIG91
dHB1dC5hcHBlbmQoaW5wdXRbcG9zaXRpb24rK10pOyAvLyA2LjEsIDYuMgorICAgICAgICAgICAg
Y29udGludWU7IC8vIDYuMworICAgICAgICB9CisKKyAgICAgICAgLy8gU3RlcCA3CisgICAgICAg
IFN0cmluZyBzOworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiAhaXND
bGFzc1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkgeworICAgICAgICAgICAgcy5hcHBlbmQo
aW5wdXRbcG9zaXRpb24rK10pOworICAgICAgICB9CisKKyAgICAgICAgLy8gU3RlcCA4CisgICAg
ICAgIGlmIChzID09IHRva2VuKSB7CisgICAgICAgICAgICAvLyBTdGVwIDguMQorICAgICAgICAg
ICAgd2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGggJiYgaXNDbGFzc1doaXRlc3BhY2UoaW5w
dXRbcG9zaXRpb25dKSkgeworICAgICAgICAgICAgICAgICsrcG9zaXRpb247CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4yCisgICAgICAgICAgICB1bnNpZ25lZCBqID0g
b3V0cHV0Lmxlbmd0aCgpOworICAgICAgICAgICAgd2hpbGUgKGogPiAwICYmIGlzQ2xhc3NXaGl0
ZXNwYWNlKG91dHB1dFtqIC0gMV0pKSB7CisgICAgICAgICAgICAgICAgLS1qOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgb3V0cHV0LnRydW5jYXRlKGopOworCisgICAgICAgICAgICAvLyBT
dGVwIDguMworICAgICAgICAgICAgaWYgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGggJiYgIW91dHB1
dC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgnICcpOworICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgIG91dHB1dC5hcHBlbmQocyk7IC8vIFN0ZXAgOQorICAgIH0K
KworICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgb3V0cHV0KTsKK30KKwor
Ym9vbCBDbGFzc0xpc3Q6OnRvZ2dsZShjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRp
b25Db2RlJiBlYykKK3sKKyAgICBpZiAoY29udGFpbnModG9rZW4sIGVjKSkgeworICAgICAgICBy
ZW1vdmUodG9rZW4sIGVjKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBhZGQo
dG9rZW4sIGVjKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworU3RyaW5nIENsYXNzTGlzdDo6dG9T
dHJpbmcoKSBjb25zdAoreworICAgIHJldHVybiBtX2VsZW1lbnQtPmhhc0NsYXNzKCkgPyBtX2Vs
ZW1lbnQtPmdldEF0dHJpYnV0ZShjbGFzc0F0dHIpIDogIiI7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuaCBiL1dlYkNvcmUv
aHRtbC9DbGFzc0xpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDUy
YWEwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0NsYXNzTGlzdC5oCkBAIC0wLDAg
KzEsNDAgQEAKKy8vIENvcHlyaWdodCAoYykgMjAwOSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVk
IGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNF
TlNFIGZpbGUuCisKKyNpZm5kZWYgQ2xhc3NMaXN0X2gKKyNkZWZpbmUgQ2xhc3NMaXN0X2gKKwor
I2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEhUTUxFbGVtZW50OworCitjbGFzcyBDbGFzc0xpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGFzc0xpc3Q+IGNyZWF0ZShQYXNzUmVm
UHRyPEhUTUxFbGVtZW50PiBlbGVtZW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBDbGFzc0xpc3QoZWxlbWVudCkpOworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQg
bGVuZ3RoKCkgY29uc3Q7CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcgaXRlbSh1bnNp
Z25lZCBpbmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGNvbnRhaW5zKGNvbnN0IEF0b21p
Y1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQg
YWRkKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNv
ZGUmIGVjKTsKKyAgICB2aXJ0dWFsIGJvb2wgdG9nZ2xlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9r
ZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKTsKKyAgICB2aXJ0dWFsIFN0cmluZyB0b1N0cmluZygpIGNv
bnN0OworCitwcml2YXRlOgorICAgIENsYXNzTGlzdChQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBl
bGVtZW50KQorICAgICAgICA6IG1fZWxlbWVudChlbGVtZW50KQorICAgIHsKKyAgICB9CisKKyAg
ICBSZWZQdHI8SFRNTEVsZW1lbnQ+IG1fZWxlbWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIENsYXNzTGlzdF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
RE9NVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODkzNTk2MgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvaHRtbC9ET01Ub2tlbkxpc3QuaApAQCAtMCwwICsxLDMxIEBACisvLyBDb3B5cmlnaHQgKGMp
IDIwMDkgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ug
b2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRo
YXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorCisjaWZuZGVmIERPTVRv
a2VuTGlzdF9oCisjZGVmaW5lIERPTVRva2VuTGlzdF9oCisKKyNpbmNsdWRlICJBdG9taWNTdHJp
bmcuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisgICAgY2xhc3MgU3RyaW5nOworCisgICAg
Y2xhc3MgRE9NVG9rZW5MaXN0IDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVG9rZW5MaXN0PiB7Cisg
ICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIH5ET01Ub2tlbkxpc3QoKSB7IH0KKworICAgICAg
ICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCBj
b25zdCBBdG9taWNTdHJpbmcgaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QgPSAwOworICAgICAg
ICB2aXJ0dWFsIGJvb2wgY29udGFpbnMoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0
aW9uQ29kZSYgZWMpIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIGFkZChjb25zdCBB
dG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykgPSAwOworICAgICAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUm
IGVjKSA9IDA7CisgICAgICAgIHZpcnR1YWwgYm9vbCB0b2dnbGUoY29uc3QgQXRvbWljU3RyaW5n
JiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpID0gMDsKKyAgICAgICAgdmlydHVhbCBTdHJpbmcg
dG9TdHJpbmcoKSBjb25zdCA9IDA7CisgICAgfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRE9NVG9rZW5MaXN0X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01U
b2tlbkxpc3QuaWRsIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDFlMWYyOAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCkBAIC0wLDAgKzEsMjMgQEAKKy8vIENvcHlyaWdodCAo
YykgMjAwOSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVz
ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug
dGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKK21vZHVsZSBjb3Jl
IHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IsCisgICAg
ICAgIEhhc0luZGV4R2V0dGVyCisgICAgXSBET01Ub2tlbkxpc3QgeworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAgIFtDb252ZXJ0TnVsbFN0
cmluZ1RvPU51bGxdIERPTVN0cmluZyBpdGVtKGluIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKKyAgICAgICAgYm9vbGVhbiBjb250YWlucyhpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNl
cyhET01FeGNlcHRpb24pOworICAgICAgICB2b2lkIGFkZChpbiBET01TdHJpbmcgdG9rZW4pIHJh
aXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2b2lkIHJlbW92ZShpbiBET01TdHJpbmcgdG9r
ZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBib29sZWFuIHRvZ2dsZShpbiBET01T
dHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworCisjaWYgZGVmaW5lZChMQU5HVUFH
RV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCisgICAgICAgIFtEb250RW51bV0g
RE9NU3RyaW5nIHRvU3RyaW5nKCk7CisjZW5kaWYKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNw
cAppbmRleCBkZjNjYjdkLi40Njg1NzQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTI0LDkgKzI0
LDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKIAor
I2luY2x1ZGUgIkNsYXNzTGlzdC5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNp
bmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5o
IgorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVk
ZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKQEAgLTk5MCw2ICs5
OTIsMTUgQEAgSFRNTEZvcm1FbGVtZW50KiBIVE1MRWxlbWVudDo6dmlydHVhbEZvcm0oKSBjb25z
dAogICAgIHJldHVybiBmaW5kRm9ybUFuY2VzdG9yKCk7CiB9CiAKK1Bhc3NSZWZQdHI8RE9NVG9r
ZW5MaXN0PiBIVE1MRWxlbWVudDo6Y2xhc3NMaXN0KCkgCit7CisgIGlmIChtX2NsYXNzTGlzdCkK
KyAgICAgIHJldHVybiBtX2NsYXNzTGlzdDsKKyAgbV9jbGFzc0xpc3QgPSBDbGFzc0xpc3Q6OmNy
ZWF0ZSh0aGlzKTsKKworICByZXR1cm4gbV9jbGFzc0xpc3Q7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1M
RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKaW5kZXggYzZhMzg0Yi4uYjQ4
M2M3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmgKQEAgLTI0LDYgKzI0LDcgQEAKICNkZWZpbmUgSFRNTEVsZW1l
bnRfaAogCiAjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgorI2luY2x1ZGUgIkRPTVRva2VuTGlz
dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc5LDYgKzgwLDggQEAgcHVibGljOgog
CiAgICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtKCkgY29uc3QgeyByZXR1cm4gdmlydHVhbEZvcm0o
KTsgfQogCisgICAgUGFzc1JlZlB0cjxET01Ub2tlbkxpc3Q+IGNsYXNzTGlzdCgpOworCiAgICAg
c3RhdGljIHZvaWQgYWRkSFRNTEFsaWdubWVudFRvU3R5bGVkRWxlbWVudChTdHlsZWRFbGVtZW50
KiwgTWFwcGVkQXR0cmlidXRlKik7CiAKIHByb3RlY3RlZDoKQEAgLTExMSw2ICsxMTQsOCBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgSFRNTEZvcm1FbGVtZW50KiB2aXJ0dWFsRm9ybSgpIGNvbnN0
OwogCiAgICAgTm9kZSogaW5zZXJ0QWRqYWNlbnQoY29uc3QgU3RyaW5nJiB3aGVyZSwgTm9kZSog
bmV3Q2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIFJlZlB0cjxET01Ub2tlbkxpc3Q+IG1f
Y2xhc3NMaXN0OwogfTsKIAogaW5saW5lIEhUTUxFbGVtZW50OjpIVE1MRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIENvbnN0cnVjdGlvblR5
cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwgYi9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCmluZGV4IDZiOWUxZDAuLjkwNWE5NWQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmlkbApAQCAtMzQsNiArMzQsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmcsIFJlZmxlY3RdIERPTVN0cmlu
ZyBsYW5nOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3Ry
aW5nLCBSZWZsZWN0XSBET01TdHJpbmcgZGlyOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
W0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nLCBSZWZsZWN0PWNsYXNzXSBET01TdHJpbmcgY2xhc3NO
YW1lOworICAgICAgICAgICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IGNs
YXNzTGlzdDsKIAogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgIHRh
YkluZGV4OwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgIGRyYWdn
YWJsZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggZTgzMzk5OC4uMjcwMzhlYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
QEAgLTMzOSw2ICszMzksNyBAQCBtb2R1bGUgd2luZG93IHsKIC8vICAgICAgICBhdHRyaWJ1dGUg
RE9NSW1wbGVtZW50YXRpb25MaXN0Q29uc3RydWN0b3IgRE9NSW1wbGVtZW50YXRpb25MaXN0Owog
Ly8gICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvblNvdXJjZUNvbnN0cnVjdG9yIERP
TUltcGxlbWVudGF0aW9uU291cmNlOwogICAgICAgICBhdHRyaWJ1dGUgRE9NSW1wbGVtZW50YXRp
b25Db25zdHJ1Y3RvciBET01JbXBsZW1lbnRhdGlvbjsKKyAgICAgICAgYXR0cmlidXRlIERPTVRv
a2VuTGlzdENvbnN0cnVjdG9yIERPTVRva2VuTGlzdDsKICAgICAgICAgYXR0cmlidXRlIERvY3Vt
ZW50RnJhZ21lbnRDb25zdHJ1Y3RvciBEb2N1bWVudEZyYWdtZW50OwogICAgICAgICBhdHRyaWJ1
dGUgRG9jdW1lbnRDb25zdHJ1Y3RvciBEb2N1bWVudDsKICAgICAgICAgYXR0cmlidXRlIE5vZGVD
b25zdHJ1Y3RvciBOb2RlOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9NaWdyYXRlSGVhZGVycy5t
YWtlIGIvV2ViS2l0L21hYy9NaWdyYXRlSGVhZGVycy5tYWtlCmluZGV4IDllNzgzNjcuLmIxMWQ5
YWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvTWlncmF0ZUhlYWRlcnMubWFrZQorKysgYi9XZWJL
aXQvbWFjL01pZ3JhdGVIZWFkZXJzLm1ha2UKQEAgLTE2Nyw2ICsxNjcsNyBAQCBhbGwgOiBcCiAg
ICAgJChQVUJMSUNfSEVBREVSU19ESVIpL0RPTVN0eWxlU2hlZXRMaXN0LmggXAogICAgICQoUFVC
TElDX0hFQURFUlNfRElSKS9ET01TdHlsZXNoZWV0cy5oIFwKICAgICAkKFBVQkxJQ19IRUFERVJT
X0RJUikvRE9NVGV4dC5oIFwKKyAgICAkKFBVQkxJQ19IRUFERVJTX0RJUikvRE9NRE9NVG9rZW5M
aXN0LmggXAogICAgICQoUFVCTElDX0hFQURFUlNfRElSKS9ET01UcmF2ZXJzYWwuaCBcCiAgICAg
JChQVUJMSUNfSEVBREVSU19ESVIpL0RPTVRyZWVXYWxrZXIuaCBcCiAgICAgJChQVUJMSUNfSEVB
REVSU19ESVIpL0RPTVVJRXZlbnQuaCBcCi0tIAoxLjYuNC4yCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64365</attachid>
            <date>2010-08-13 12:44:54 -0700</date>
            <delta_ts>2010-09-07 16:18:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-20709-20100813124452.patch</filename>
            <type>text/plain</type>
            <size>57653</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MTVhNjJmNjA5YzI4OWUzZjI1ZTMzN2YxNThkZTVkYjAxMzljZjgwLi5lODA4ZTE2
M2YzMTIxMmEzNTQzMDUzN2NiNDQwNDZhMmIzMjlkYWYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTAtMDgtMTMgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3MtbGlz
dC5qczogQWRkZWQuCisgICAgICAgIChjcmVhdGVFbGVtZW50KToKKyAgICAgICAgKiBmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RvbUxpc3RFbnVtZXJhdGlvbi5qczoKKyAgICAgICAg
KiBmYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTA4LTEy
ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
bGFuZGluZyBnb29nbGUtY2hyb21lIGxpbnV4IDY0IHRlc3QgcmVzdWx0cy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTJiYjFiZTNhNTYxY2JiMTk2ODhjMzk3YWZlMTRiODhlOWZmMzQxMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNz
LWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjIgQEAKK1Rlc3RzIHRoZSBjbGFzc0xpc3Qg
YXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGllcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0LworUEFTUyBTdHJpbmcoZWxlbWVudC5jbGFzc0xpc3QpIGlz
ICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTmFt
ZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xh
c3NOYW1lIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieSB4IgorUEFTUyBl
bGVtZW50LmNsYXNzTmFtZSBpcyAiIgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIgorUEFT
UyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIHkgeSAiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlz
ICJ5IgorVGVzdCBpbnZhbGlkIHRva2VucworUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlu
cygnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC5jb250YWlucygneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9u
IHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnJykgdGhyZXcgZXhwZWN0
ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5hZGQo
J3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC5yZW1vdmUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRo
IGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4IHknKSB0aHJldyBleHBl
Y3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9n
Z2xlKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9u
IHdpdGggY29kZSA1CitJbmRleGluZworUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyAieCIK
K1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3RbMV0gaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgIngiCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0WzFdIGlzICJ5IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5p
dGVtKDEpIGlzICJ5IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyBudWxsCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCkgaXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFs0
XSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oNCkgaXMgbnVsbAorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdFstMV0gaXMgdW5kZWZpbmVkLgorVGVzdCBjYXNlIHNpbmNlIERPTVRv
a2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlu
cygneCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ1gnKSBpcyBm
YWxzZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoJ1gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRh
aW5zKCd4JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIlgiCitUZXN0
aW5nIHdoaXRlc3BhY2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1Mg
ZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVu
Z3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZQor
UEFTUyAndW5kZWZpbmVkJyAhPSB0eXBlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgdHlw
ZW9mIERPTVRva2VuTGlzdC5wcm90b3R5cGUgaXMgIm9iamVjdCIKK1BBU1MgdHlwZW9mIGVsZW1l
bnQuY2xhc3NMaXN0IGlzICJvYmplY3QiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVj
dG9yIGlzIERPTVRva2VuTGlzdAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVt
ZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
MmJiMWJlM2E1NjFjYmIxOTY4OGMzOTdhZmUxNGI4OGU5ZmYzNDEyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjIgQEAKK1Rlc3RzIHRoZSBjbGFzc0xpc3QgYXR0cmlidXRl
IGFuZCBpdHMgcHJvcGVydGllcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rl
c3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3Rpbmcv
RE9NVG9rZW5MaXN0LworUEFTUyBTdHJpbmcoZWxlbWVudC5jbGFzc0xpc3QpIGlzICJ4IgorUEFT
UyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5s
ZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCIK
K1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlz
ICJ4ICB4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieSB4IgorUEFTUyBlbGVtZW50LmNs
YXNzTmFtZSBpcyAiIgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIgorUEFTUyBlbGVtZW50
LmNsYXNzTmFtZSBpcyAiIHkgeSAiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ5IgorVGVz
dCBpbnZhbGlkIHRva2VucworUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnJykgdGhy
ZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5jb250YWlucygneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29k
ZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhj
ZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3ggeScpIHRo
cmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIK
K1BBU1MgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4IHknKSB0aHJldyBleHBlY3RlZCBET01F
eGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCcnKSB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0LnRvZ2dsZSgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29k
ZSA1CitJbmRleGluZworUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyAieCIKK1BBU1MgZWxl
bWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0g
aXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgIngiCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0WzFdIGlzICJ5IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDEpIGlz
ICJ5IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0Lml0ZW0oMCkgaXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFs0XSBpcyBudWxs
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oNCkgaXMgbnVsbAorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdFstMV0gaXMgdW5kZWZpbmVkLgorVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBp
cyBjYXNlIHNlbnNpdGl2ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygneCcpIGlz
IHRydWUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ1gnKSBpcyBmYWxzZQorUEFT
UyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29u
dGFpbnMoJ1gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4Jykg
aXMgZmFsc2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIlgiCitUZXN0aW5nIHdoaXRl
c3BhY2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIK
K1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QubGVuZ3RoIGlzIDIKK0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZQorUEFTUyAndW5k
ZWZpbmVkJyAhPSB0eXBlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgdHlwZW9mIERPTVRv
a2VuTGlzdC5wcm90b3R5cGUgaXMgIm9iamVjdCIKK1BBU1MgdHlwZW9mIGVsZW1lbnQuY2xhc3NM
aXN0IGlzICJvYmplY3QiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVjdG9yIGlzIERP
TVRva2VuTGlzdAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNz
LWxpc3QtcXVpcmtzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFz
cy1saXN0LXF1aXJrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkODc2YTE2ZjgyMjI5YWExMGFjMmMzYjll
MDU3ODgxNzJiYzkzNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhLS0g
UXVpcmtzIE1vZGUgLS0+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQv
Y2xhc3MtbGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZGYyNDNjZTMyOWY5NDQwM2I4ZWY2Njg4NjM2
Y2E3NDZlYWYyMTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
RWxlbWVudC9jbGFzcy1saXN0Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRl
c3RzL2NsYXNzLWxpc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3Jp
cHQtdGVzdHMvY2xhc3MtbGlzdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWU4ZWYyODRmOWVkNjFjMjk2MWZi
Y2NmYzY3MGQ1MGEwMTNkMjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMKQEAgLTAsMCArMSwyMjQg
QEAKK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGUgY2xhc3NMaXN0IGF0dHJpYnV0ZSBhbmQgaXRzIHBy
b3BlcnRpZXMuJyk7CisKK3ZhciBlbGVtZW50OworCitmdW5jdGlvbiBjcmVhdGVFbGVtZW50KGNs
YXNzTmFtZSkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOwor
ICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1lOworfQorCitkZWJ1ZygnVGVzdHMgZnJv
bSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tl
bkxpc3QvJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZs
ZWN0aW5nL0RPTVRva2VuTGlzdC9zZXR0aW5nLzAwMS5odG0KKy8vIEZpcmVmb3ggdGhyb3dzIGhl
cmUgYnV0IFdlYktpdCBkb2VzIG5vdCB0aHJvdyBvbiBzZXR0aW5nIHJlYWRvbmx5IGlkbAorLy8g
YXR0cmlidXRlcy4KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3RyeSB7CisgICAgZWxlbWVudC5jbGFz
c0xpc3QgPSAneSc7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcoZWxlbWVudC5j
bGFzc0xpc3QpJywgJ3gnKTsKK30gY2F0Y2ggKGV4KSB7CisgICAgdGVzdFBhc3NlZCgnVGhyb3dp
bmcgb24gc2V0IGlzIGFjY2VwdGFibGUnKTsKK30KKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9y
Zy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAxLmh0bQor
Y3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5s
ZW5ndGgnLCAwKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAyLmh0bQorY3JlYXRlRWxlbWVudCgneCcp
Oworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMSk7CisKKy8v
IGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2Vu
TGlzdC9nZXR0aW5nLzAwMy5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggeCcpOworc2hvdWxkRXZhbHVh
dGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9zaW1vbi5o
dG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAw
NC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5j
bGFzc0xpc3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNS5odG0KK2NyZWF0ZUVs
ZW1lbnQoJycpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3gnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA2Lmh0
bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3gnKTsKKworLy8gaHR0cDov
L3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dl
dHRpbmcvMDA3Lmh0bQorY3JlYXRlRWxlbWVudCgneCAgeCcpOworZWxlbWVudC5jbGFzc0xpc3Qu
YWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3gg
IHgnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3Rp
bmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA4Lmh0bQorY3JlYXRlRWxlbWVudCgneScpOworZWxl
bWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
Y2xhc3NOYW1lJywgJ3kgeCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRt
bC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDkuaHRtCitjcmVhdGVFbGVt
ZW50KCcnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICcnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDEwLmh0
bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJycpOworCisvLyBodHRw
Oi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qv
Z2V0dGluZy8wMTEuaHRtCitjcmVhdGVFbGVtZW50KCcgeSB4ICB5ICcpOworZWxlbWVudC5jbGFz
c0xpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NO
YW1lJywgJyB5IHkgJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2Rv
bS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMi5odG0KK2NyZWF0ZUVsZW1lbnQo
JyB4IHkgIHggJyk7CitlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAneScpOworCisKK2RlYnVnKCdUZXN0IGlu
dmFsaWQgdG9rZW5zJyk7CisKKy8vIFRlc3RpbmcgZXhjZXB0aW9uIGR1ZSB0byBpbnZhbGlkIHRv
a2VuCisKKy8vIHNob3VsZFRocm93IGZyb20ganMtdGVzdC1wcmUuanMgaXMgbm90IHN1ZmZpY2ll
bnQuCitmdW5jdGlvbiBzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmLCBlYykKK3sKKyAgICB0cnkg
eworICAgICAgICBmKCk7CisgICAgICAgIHRlc3RGYWlsZWQoJ0V4cGVjdGVkIGFuIGV4Y2VwdGlv
bicpOworICAgIH0gY2F0Y2ggKGV4KSB7CisgICAgICAgIGlmICghKGV4IGluc3RhbmNlb2YgRE9N
RXhjZXB0aW9uKSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgnRXhjZXB0aW9uIGlzIG5vdCBh
biBpbnN0YW5jZSBvZiBET01FeGNlcHRpb24sIGZvdW5kOiAnICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgT2JqZWN0LnRvU3RyaW5nLmNhbGwoZXgpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgICAgICBpZiAoZWMgIT09IGV4LmNvZGUpIHsKKyAgICAgICAgICAgIHRlc3RG
YWlsZWQoJ1dyb25nIGV4Y2VwdGlvbiBjb2RlOiAnICsgZXguY29kZSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAgdmFyIGZvcm1hdHRlZEZ1bmN0aW9uID0gU3Ry
aW5nKGYpLnJlcGxhY2UoL15mdW5jdGlvbi4rXHtccyovbSwgJycpLgorICAgICAgICByZXBsYWNl
KC87P1xzK1x9L20sICcnKTsKKyAgICB0ZXN0UGFzc2VkKGZvcm1hdHRlZEZ1bmN0aW9uICsgJyB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlICcgKyBlYyk7Cit9CisKK2NyZWF0
ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAg
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhf
RVJSKTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygneCB5Jyk7Cit9LCBE
T01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNz
TGlzdC5hZGQoJycpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVt
ZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1l
bnQuY2xhc3NMaXN0LmFkZCgneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNU
RVJfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJycpOworfSwgRE9NRXhj
ZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9N
RXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCB5
Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKKworY3JlYXRlRWxl
bWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVt
ZW50LmNsYXNzTGlzdC50b2dnbGUoJycpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOwor
CitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9u
KCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgneCB5Jyk7Cit9LCBET01FeGNlcHRp
b24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKKworCitkZWJ1ZygnSW5kZXhpbmcnKTsKKworY3Jl
YXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlz
dFswXScsICd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0Lml0
ZW0oMCknLCAneCcpOworCitjcmVhdGVFbGVtZW50KCd4IHgnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMV0nLCAneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDEpJywgJ3gnKTsKKworY3JlYXRlRWxlbWVudCgneCB5
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzFdJywgJ3knKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgxKScsICd5Jyk7
CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdFsw
XScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApJyk7CisKK2NyZWF0
ZUVsZW1lbnQoJ3ggeSB6Jyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQuY2xhc3NMaXN0WzRdJyk7
CitzaG91bGRCZU51bGwoJ2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oNCknKTsKKworY3JlYXRlRWxl
bWVudCgneCB5IHonKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LmNsYXNzTGlzdFstMV0n
KTsKKworZGVidWcoJ1Rlc3QgY2FzZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRp
dmUnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LmNsYXNz
TGlzdC5jb250YWlucyhcJ3hcJyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQuY2xhc3NMaXN0
LmNvbnRhaW5zKFwnWFwnKScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNz
TGlzdFswXScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ1gnKTsKK3Nob3VsZEJlVHJ1ZSgnZWxl
bWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCdYXCcpJyk7CitzaG91bGRCZUZhbHNlKCdlbGVtZW50
LmNsYXNzTGlzdC5jb250YWlucyhcJ3hcJyknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxl
bWVudC5jbGFzc0xpc3RbMF0nLCAnWCcpOworCisKK2RlYnVnKCdUZXN0aW5nIHdoaXRlc3BhY2Un
KTsKKy8vIFUrMDAyMCBTUEFDRSwgVSswMDA5IENIQVJBQ1RFUiBUQUJVTEFUSU9OICh0YWIpLCBV
KzAwMEEgTElORSBGRUVEIChMRiksCisvLyBVKzAwMEMgRk9STSBGRUVEIChGRiksIGFuZCBVKzAw
MEQgQ0FSUklBR0UgUkVUVVJOIChDUikKKworY3JlYXRlRWxlbWVudCgneFx1MDAyMHknKTsKK3No
b3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVF
bGVtZW50KCd4XHUwMDA5eScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3Qu
bGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMEF5Jyk7CitzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1
MDAwQ3knKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIp
OworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBEeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVu
dC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKKworZGVidWcoJ0RPTVRva2VuTGlzdCBwcmVzZW5j
ZSBhbmQgdHlwZScpOworCisKKy8vIFNhZmFyaSByZXR1cm5zIG9iamVjdAorLy8gRmlyZWZveCBy
ZXR1cm5zIG9iamVjdAorLy8gSUU4IHJldHVybnMgb2JqZWN0CisvLyBDaHJvbWUgcmV0dXJucyBm
dW5jdGlvbgorLy8gYXNzZXJ0RXF1YWxzKCdvYmplY3QnLCB0eXBlb2YgRE9NVG9rZW5MaXN0KTsK
K3Nob3VsZEJlVHJ1ZSgnXCd1bmRlZmluZWRcJyAhPSB0eXBlb2YgRE9NVG9rZW5MaXN0Jyk7CisK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIERPTVRva2VuTGlzdC5wcm90b3R5cGUnLCAn
b2JqZWN0Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
dHlwZW9mIGVsZW1lbnQuY2xhc3NMaXN0JywgJ29iamVjdCcpOworCitjcmVhdGVFbGVtZW50KCd4
Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5jb25zdHJ1Y3RvcicsICdE
T01Ub2tlbkxpc3QnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKaW5kZXggY2NhMDY0ZmNiN2Fl
YjIyMjYzNjMwZDUxMWExYzcwZTEyYWQwNzA4NC4uOGUwZGRhMzNmYTIyNzk3OTRhZjQ5MTA1OGFm
OTgzZWRhNDgyMTQ1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC01NTksNiArNTU5LDE0IEBA
IHdpbmRvdy5ET01TdHJpbmdMaXN0LnByb3RvdHlwZS5jb250YWlucyBbZnVuY3Rpb25dCiB3aW5k
b3cuRE9NU3RyaW5nTGlzdC5wcm90b3R5cGUuaXRlbSBbZnVuY3Rpb25dCiB3aW5kb3cuRE9NU3Ry
aW5nTWFwIFtvYmplY3QgRE9NU3RyaW5nTWFwQ29uc3RydWN0b3JdCiB3aW5kb3cuRE9NU3RyaW5n
TWFwLnByb3RvdHlwZSBbb2JqZWN0IERPTVN0cmluZ01hcFByb3RvdHlwZV0KK3dpbmRvdy5ET01U
b2tlbkxpc3QgW29iamVjdCBET01Ub2tlbkxpc3RDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5ET01Ub2tl
bkxpc3QucHJvdG90eXBlIFtvYmplY3QgRE9NVG9rZW5MaXN0UHJvdG90eXBlXQord2luZG93LkRP
TVRva2VuTGlzdC5wcm90b3R5cGUuYWRkIFtmdW5jdGlvbl0KK3dpbmRvdy5ET01Ub2tlbkxpc3Qu
cHJvdG90eXBlLmNvbnRhaW5zIFtmdW5jdGlvbl0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90
eXBlLml0ZW0gW2Z1bmN0aW9uXQord2luZG93LkRPTVRva2VuTGlzdC5wcm90b3R5cGUucmVtb3Zl
IFtmdW5jdGlvbl0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBlLnRvU3RyaW5nIFtmdW5j
dGlvbl0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBlLnRvZ2dsZSBbZnVuY3Rpb25dCiB3
aW5kb3cuRGF0ZSBbZnVuY3Rpb25dCiB3aW5kb3cuRG9jdW1lbnQgW29iamVjdCBEb2N1bWVudENv
bnN0cnVjdG9yXQogd2luZG93LkRvY3VtZW50LnByb3RvdHlwZSBbb2JqZWN0IERvY3VtZW50UHJv
dG90eXBlXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA2M2Qy
NjllYjllMDhhOWRhYjQ1NTBjNWEwMzFiYzRiZjI3MGFhMWYyLi5mMjU4NmVhODhhMmNjZjRkODg0
YzI0N2M3NTE2NjMyZjM3YWQxMWI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVj
dGVkLnR4dApAQCAtNDAsNiArNDAsNyBAQCBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTUltcGxlbWVudGF0aW9uJykgaXMgJ29iagogUEFTUyB0
eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdET01QYXJzZXIn
KSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICdET01TdHJpbmdMaXN0JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NU3RyaW5nTWFwJykgaXMgJ29i
amVjdCcKK1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93
LCAnRE9NVG9rZW5MaXN0JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRGF0ZScpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RvY3VtZW50JykgaXMg
J29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAnRG9jdW1lbnRGcmFnbWVudCcpIGlzICdvYmplY3QnCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9kb21MaXN0RW51bWVyYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vZG9tTGlzdEVudW1lcmF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBlYTQ1MjRm
ZDU0MDMwMzIxZDQ1OWM4MWI0MjUxMTE3MDg5ZTU3NjVkLi41ZGRmYjE0ZmRiMjhmOWI3YTNlZDQw
YWY0MDM5ZTQxNmMyZDQwMTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb21M
aXN0RW51bWVyYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Rv
bUxpc3RFbnVtZXJhdGlvbi1leHBlY3RlZC50eHQKQEAgLTMyLDcgKzMyLDcgQEAgUEFTUyByZXN1
bHRBcnJheVsyXS5pIGlzICcyJwogUEFTUyByZXN1bHRBcnJheVsyXS5pdGVtIGlzIG5hbWVkTm9k
ZU1hcC5pdGVtKDIpCiAKIFtvYmplY3QgSFRNTEZvcm1FbGVtZW50XQotUEFTUyByZXN1bHRBcnJh
eS5sZW5ndGggaXMgMTM2CitQQVNTIHJlc3VsdEFycmF5Lmxlbmd0aCBpcyAxMzcKIFBBU1MgcmVz
dWx0QXJyYXlbMF0uaSBpcyAnMCcKIFBBU1MgcmVzdWx0QXJyYXlbMF0uaXRlbSBpcyBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF0KIFBBU1MgcmVzdWx0QXJyYXlbMV0u
aSBpcyAnMScKQEAgLTQxLDcgKzQxLDcgQEAgUEFTUyByZXN1bHRBcnJheVsyXS5pIGlzICcyJwog
UEFTUyByZXN1bHRBcnJheVsyXS5pdGVtIGlzIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCdzZWxlY3QnKVsyXQogCiBbb2JqZWN0IEhUTUxTZWxlY3RFbGVtZW50XQotUEFTUyByZXN1bHRB
cnJheS5sZW5ndGggaXMgMTQ0CitQQVNTIHJlc3VsdEFycmF5Lmxlbmd0aCBpcyAxNDUKIFBBU1Mg
cmVzdWx0QXJyYXlbMF0uaSBpcyAnMCcKIFBBU1MgcmVzdWx0QXJyYXlbMF0uaXRlbSBpcyBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnb3B0aW9uJylbMF0KIFBBU1MgcmVzdWx0QXJyYXlb
MV0uaSBpcyAnMScKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1p
bmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlw
ZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAppbmRleCAyMDU1NzVhMzM2NzVhNjUzNDQzOTIw
ZGRjZDVjZDU2NDE5ZmNhYmE0Li5kNGEzMWRiM2Q3ZjYyNmM4NWQzNzAwMzc3NzQ1MzczZmM1OThm
YjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFu
Y2UtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWlu
aGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CkBAIC03Nyw2ICs3Nyw5IEBAIFBBU1MgRE9NSW1wbGVt
ZW50YXRpb25Qcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93
bmVyRG9jdW1lCiBQQVNTIERPTVN0cmluZ01hcCBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRl
c3RGb3JtLjAuZGF0YXNldAogUEFTUyBET01TdHJpbmdNYXBDb25zdHJ1Y3RvciBmcm9tIGlubmVy
LmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuZGF0YXNldC5jb25zdHJ1Y3RvcgogUEFTUyBET01T
dHJpbmdNYXBQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLmRh
dGFzZXQuX19wcm90b19fCitQQVNTIERPTVRva2VuTGlzdCBmcm9tIGlubmVyLmRvY3VtZW50LmZv
cm1zLnRlc3RGb3JtLjAuMC5jbGFzc0xpc3QKK1BBU1MgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3Ig
ZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLmNsYXNzTGlzdC5jb25zdHJ1Y3Rv
cgorUEFTUyBET01Ub2tlbkxpc3RQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50
ZXN0Rm9ybS4wLjAuY2xhc3NMaXN0Ll9fcHJvdG9fXwogUEFTUyBET01XaW5kb3cgZnJvbSBpbm5l
cgogUEFTUyBET01XaW5kb3dQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0
Rm9ybS4wLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuX19wcm90b19fCiBQQVNTIERvY3VtZW50
UHJvdG90eXBlIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5vd25lckRvY3Vt
ZW50Ll9fcHJvdG9fXy5fX3Byb3RvX18KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IDZlOGYxYzgzZTc1Nzc4
NWZkN2YxMzQ4YWRlOGU4ZTQzY2NkMDgzZjUuLmQ2Mzk3ODkyOWJiNWMyZDNiMTczNDRlNjQ3MTAz
NmYwNTY2ZWFmNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1p
bmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90
eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtNzcsNiArNzcsOCBAQCBQQVNTIGlubmVy
LkRPTVN0cmluZ0xpc3QuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkRPTVN0cmluZ0xpc3Qu
Y29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkRPTVN0cmluZ01hcC5pc0lu
bmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTWFwLmNvbnN0cnVjdG9yLmlzSW5uZXIg
aXMgdHJ1ZQorUEFTUyBpbm5lci5ET01Ub2tlbkxpc3QuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlu
bmVyLkRPTVRva2VuTGlzdC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIu
RGF0ZS5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRGF0ZS5jb25zdHJ1Y3Rvci5pc0lubmVy
IGlzIHRydWUKIFBBU1MgaW5uZXIuRG9jdW1lbnQuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9uLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL2RvbUxpc3RFbnVtZXJhdGlvbi5q
cwppbmRleCBiOGQzMWVkZmU0ZjY3YTkzNzY4NmUxYTQ0NzNhYzFhZjg2MjljZDNhLi4xNzg0YjEz
ZTEzYWY5ZDc4ZjI5YmU2YmE5YzE0NjcxZjMzODQzMDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvZG9tTGlzdEVudW1lcmF0aW9uLmpzCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9kb21MaXN0RW51bWVyYXRpb24uanMKQEAgLTEz
MCw3ICsxMzAsNyBAQCBzaG91bGRCZSgicmVzdWx0QXJyYXlbMl0uaXRlbSIsICJuYW1lZE5vZGVN
YXAuaXRlbSgyKSIpOwogLy8gSFRNTEZvcm1FbGVtZW50CiB2YXIgaHRtbEZvcm1FbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2Zvcm0nKVswXTsKIHJlc3VsdEFycmF5ID0g
aXRlcmF0ZUxpc3QoaHRtbEZvcm1FbGVtZW50KTsKLXNob3VsZEJlKCJyZXN1bHRBcnJheS5sZW5n
dGgiLCAiMTM2Iik7CitzaG91bGRCZSgicmVzdWx0QXJyYXkubGVuZ3RoIiwgIjEzNyIpOwogc2hv
dWxkQmUoInJlc3VsdEFycmF5WzBdLmkiLCAiJzAnIik7CiBzaG91bGRCZSgicmVzdWx0QXJyYXlb
MF0uaXRlbSIsICJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF0iKTsK
IHNob3VsZEJlKCJyZXN1bHRBcnJheVsxXS5pIiwgIicxJyIpOwpAQCAtMTQxLDcgKzE0MSw3IEBA
IHNob3VsZEJlKCJyZXN1bHRBcnJheVsyXS5pdGVtIiwgImRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdzZWxlY3QnKVsyXSIpOwogLy8gSFRNTFNlbGVjdEVsZW1lbnQKIHZhciBodG1sU2Vs
ZWN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTsK
IHJlc3VsdEFycmF5ID0gaXRlcmF0ZUxpc3QoaHRtbFNlbGVjdEVsZW1lbnQpOwotc2hvdWxkQmUo
InJlc3VsdEFycmF5Lmxlbmd0aCIsICIxNDQiKTsKK3Nob3VsZEJlKCJyZXN1bHRBcnJheS5sZW5n
dGgiLCAiMTQ1Iik7CiBzaG91bGRCZSgicmVzdWx0QXJyYXlbMF0uaSIsICInMCciKTsKIHNob3Vs
ZEJlKCJyZXN1bHRBcnJheVswXS5pdGVtIiwgImRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCdvcHRpb24nKVswXSIpOwogc2hvdWxkQmUoInJlc3VsdEFycmF5WzFdLmkiLCAiJzEnIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVk
LnR4dAppbmRleCA1YWEwZDI4MWZjOGE1NjA4MWNmOWE4NWE4MWQ5NzZkNmI3ZGI3ZTM3Li41OTBl
MjEwM2Y5NTEwZTVjNzc3ZDZjOGEwMjU3Mjc4YjNiMDM1NDdkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTM4LDYg
KzM4LDcgQEAgUEFTUyBET01JbXBsZW1lbnRhdGlvbi50b1N0cmluZygpIGlzICdbb2JqZWN0IERP
TUltcGxlbWVudGF0aW9uQ29uc3RydWN0b3JdJwogUEFTUyBET01QYXJzZXIudG9TdHJpbmcoKSBp
cyAnW29iamVjdCBET01QYXJzZXJDb25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVN0cmluZ0xpc3QudG9T
dHJpbmcoKSBpcyAnW29iamVjdCBET01TdHJpbmdMaXN0Q29uc3RydWN0b3JdJwogUEFTUyBET01T
dHJpbmdNYXAudG9TdHJpbmcoKSBpcyAnW29iamVjdCBET01TdHJpbmdNYXBDb25zdHJ1Y3Rvcl0n
CitQQVNTIERPTVRva2VuTGlzdC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVRva2VuTGlzdENv
bnN0cnVjdG9yXScKIFBBU1MgRG9jdW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBEb2N1bWVu
dENvbnN0cnVjdG9yXScKIFBBU1MgRG9jdW1lbnRGcmFnbWVudC50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IERvY3VtZW50RnJhZ21lbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIERvY3VtZW50VHlwZS50b1N0
cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50VHlwZUNvbnN0cnVjdG9yXScKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lk
LmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggNDg2ZDhjZDNhZWE1MTVlOGM5ZTFkOTlhYzI1
MTk5YzkyZjE1OWRlOS4uYTkyN2YxMWQ2Nzk3NjA1YTIzMDNlN2Y2MGZiMGJiYjQxNjNjOTEwZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysrIGIv
V2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTE1OSw2ICsxNTksNyBA
QCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0Jsb2IuaCBcCiAgICAgJChp
bnRlcm1lZGlhdGVzKS9odG1sL0pTQmxvYkJ1aWxkZXIuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9odG1sL0pTRE9NRm9ybURhdGEuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRE9N
VG9rZW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1u
LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxlLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVk
LnY4YmluZGluZ3MubWsKaW5kZXggOWI4ZjIyYzI5YTM4OWQ5OWE3MjczZmVkNDYxMzA5YWNmNDdj
M2NhMy4uYTczMTU3ZDcxYWNkZWJmZDdjMjg2MTZhYTZhMWRkOTMxZDhhMjQ2ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0Fu
ZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0xNDAsNiArMTQwLDcgQEAgJChwYXRzdWJz
dCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQo
aW50ZXJtZWRpYXRlcykKIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9W
OEJsb2IuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEJsb2JCdWlsZGVyLmgg
XAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhET01Ub2tlbkxpc3QuaCBcCiAgICAg
JChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uLmggXAogICAgICQoaW50
ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbkxpc3QuaCBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGUuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJv
aWQuanNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKaW5kZXgg
ZTA3ZWQxZTRmZTU4MDhlMDI3YTcxYjhlNzZjNGQ0NTAzMWM5NGExNi4uMDgxNjExMzQ5OWYzMzUw
NTQ1ZGEwMWRjZTlmYTk4OTBkNDQ5MDU5NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmpz
Y2JpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpAQCAtODMs
NiArODMsNyBAQCBMT0NBTF9TUkNfRklMRVMgKz0gXAogCWJpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRE9NVG9rZW5MaXN0
LmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBcCiAJYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNw
cCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDNkOTU0Y2I0YzNkMDBmY2U5M2I2ZThmY2Q5ZjE3NzY4MmUzYjc0NzkuLjJkODk0ZmIxNTU3
MGJhNTQ1NzY4ZWFmMjhmY2JlMTk0NDFiMTcyMTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMTAtMDgtMTMg
IEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1J3MgSFRNTEVsZW1l
bnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgIFNwYWNlU3BsaXRTdHJpbmcgKGFuZCBTcGFj
ZVNwbGl0U3RyaW5nRGF0YSkgaGF2ZSBiZWVuIGV4dGVuZGVkIHRvIGJlIGNhc2UgZm9sZGluZyBh
d2FyZSBzaW5jZQorICAgICAgICBET01Ub2tlbkxpc3QgaXMgYWx3YXlzIGNhc2Ugc2Vuc2l0aXZl
IChldmVuIGluIHF1aXJrcyBtb2RlKS4KKworICAgICAgICBUZXN0czogZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sCisKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQuanNj
YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6Cisg
ICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcmk6
CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAq
IGRvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcDogV2Ugbm93IGtlZXAgdHdvIHZlY3RvcnMgaW4gcXVp
cmtzIG1vZGUgaWYgdGhlIGNsYXNzIG5hbWVzIGNvbnRhaW5zCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1cHBlciBjYXNlcyBjaGFyYWN0ZXJzIHNvIHRoYXQgd2UgY2FuIGNv
cnJlY3RseSBiZSBjYXNlIGF3YXJlIGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2xhc3NMaXN0LgorICAgICAgICAoV2ViQ29yZTo6U3BhY2VTcGxpdFN0cmluZ0RhdGE6
OmNyZWF0ZVZlY3Rvcik6IEFsc28gY3JlYXRlcyBhIG5vbiBmb2xkZWQgdmVjdG9yIGlmIHJlcXVp
cmVkLgorICAgICAgICAqIGRvbS9TcGFjZVNwbGl0U3RyaW5nLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTcGFjZVNwbGl0U3RyaW5nRGF0YTo6Y29udGFpbnMpOiBUaGlzIHVzZXMgdGhlIGZvbGRlZCB2
ZWN0b3IgYXMgcmVxdWlyZWQKKyAgICAgICAgKFdlYkNvcmU6OlNwYWNlU3BsaXRTdHJpbmdEYXRh
Ojpjb250YWluc05vRm9sZCk6IFRoaXMgdXNlcyB0aGUgbm9uIGZvbGRlZCB2ZWN0b3IgYXMgcmVx
dWlyZWQKKyAgICAgICAgKFdlYkNvcmU6OlNwYWNlU3BsaXRTdHJpbmdEYXRhOjppdGVtTm9Gb2xk
KTogVGhpcyByZXR1cm5zIHRoZSBpdGggaXRlbSBmcm9tIHRoZSBub24gZm9sZGVkCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlY3RvciBpZiBm
b2xkaW5nIHdhcyBkb25lCisgICAgICAgIChXZWJDb3JlOjpTcGFjZVNwbGl0U3RyaW5nRGF0YTo6
b3BlcmF0b3JbXSk6IEp1c3QgY2FsbHMgaXRlbSBub3cKKyAgICAgICAgKFdlYkNvcmU6OlNwYWNl
U3BsaXRTdHJpbmdEYXRhOjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlNwYWNlU3BsaXRTdHJp
bmc6OmNvbnRhaW5zTm9Gb2xkKToKKyAgICAgICAgKFdlYkNvcmU6OlNwYWNlU3BsaXRTdHJpbmc6
Oml0ZW1Ob0ZvbGQpOgorICAgICAgICAqIGh0bWwvQ2xhc3NMaXN0LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTmFtZXM6OnZhbGlkYXRlVG9rZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6Q2xhc3NMaXN0OjpsZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q2xhc3NMaXN0OjppdGVt
KToKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNzTGlzdDo6Y29udGFpbnMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2xhc3NMaXN0Ojpjb250YWluc0ludGVybmFsKTogVGhlIGludGVybmFsIG1ldGhvZHMg
ZG8gbm90IGRvIHRva2VuIHZhbGlkYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDbGFzc0xpc3Q6
OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpDbGFzc0xpc3Q6OmFkZEludGVybmFsKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNsYXNzTGlzdDo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNz
TGlzdDo6cmVtb3ZlSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6Q2xhc3NMaXN0Ojp0b2dn
bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2xhc3NMaXN0Ojp0b1N0cmluZyk6CisgICAgICAgICog
aHRtbC9DbGFzc0xpc3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDbGFzc0xpc3Q6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbGFzc0xpc3Q6OkNsYXNzTGlzdCk6CisgICAgICAg
ICogaHRtbC9ET01Ub2tlbkxpc3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01Ub2tl
bkxpc3Q6On5ET01Ub2tlbkxpc3QpOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5MaXN0LmlkbDog
QWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRWxlbWVudDo6Y2xhc3NMaXN0KToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50Lmg6
CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5pZGw6CisgICAgICAgICogcGFnZS9ET01XaW5k
b3cuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMC0wOC0xMiAgS2Vu
bmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2
aWQgTGV2aW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGZkN2ZjZjhmMTlkM2ZlMjVhZGVjZTM1ZjdjN2Mx
OTA4OTE5ZTA1MzIuLjY3MGQ1YzY4ZTExM2ZjODU3YTFkOTEwZGVkMzZmNzIxZmQwZmI2NTIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCkBAIC04Nyw2ICs4Nyw3IEBACiAjaW5jbHVkZSAiSlNET01TZWxlY3Rpb24u
Y3BwIgogI2luY2x1ZGUgIkpTRE9NU3RyaW5nTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNET01TdHJp
bmdNYXAuY3BwIgorI2luY2x1ZGUgIkpTRE9NVG9rZW5MaXN0LmNwcCIKICNpbmNsdWRlICJKU0RP
TVdpbmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0VudGl0
eS5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMzdjMmYxMGQzM2Y4ZGJkOTIzOGRiYjRlMjQ1ZmVl
YzM5YjZjOWVkZi4uODBjOGM5MDU2YjkyNDExNmNlZDc3YmJlZGYwMmM2ZGRmYjk0YTE4MCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMTIzLDYgKzEyMyw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERP
TVNlbGVjdGlvbiBcCiAgICAgRE9NU3RyaW5nTGlzdCBcCiAgICAgRE9NU3RyaW5nTWFwIFwKKyAg
ICBET01Ub2tlbkxpc3QgXAogICAgIERPTVdpbmRvdyBcCiAgICAgRGF0YWJhc2UgXAogICAgIERh
dGFiYXNlQ2FsbGJhY2sgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYmNhMmFhZTMwZmI5MDk1ZjY5ZjBmZWUxODk2Yjll
Y2JmN2E0Nzk5NS4uMjMyYTcwNzJhNTUwNTU2NWIzZGU5YTVjM2NhMzMxZTI2ODM5ZTQyNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCkBAIC0yMTMsNiArMjEzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRE9NU3RyaW5nTWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RP
TVN0cmluZ01hcC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmNw
cCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVRva2VuTGlzdC5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RPTVdpbmRvdy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRWxlbWVudC5jcHAg
XApAQCAtMTMzMiw2ICsxMzM0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIFwKIAlXZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1N0eWxlLmNwcCBcCiAJV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5o
IFwKKwlXZWJDb3JlL2h0bWwvQ2xhc3NMaXN0LmNwcCBcCisJV2ViQ29yZS9odG1sL0NsYXNzTGlz
dC5oIFwKIAlXZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmNwcCBcCiAJV2ViQ29yZS9odG1s
L0NvbGxlY3Rpb25DYWNoZS5oIFwKIAlXZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaCBcCkBA
IC0xMzQ4LDYgKzEzNTIsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvaHRtbC9E
T01EYXRhR3JpZERhdGFTb3VyY2UuaCBcCiAJV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmNwcCBc
CiAJV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmggXAorCVdlYkNvcmUvaHRtbC9ET01Ub2tlbkxp
c3QuaCBcCiAJV2ViQ29yZS9odG1sL0ZpbGUuY3BwIFwKIAlXZWJDb3JlL2h0bWwvRmlsZS5oIFwK
IAlXZWJDb3JlL2h0bWwvRmlsZUVycm9yLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA3NGU4MTI2OWJiNTdiNzdkNGUzMWRl
ZTQ0ZjFlMjY1Nzg5NDE0MThkLi4yYWI5N2VlYjMzOTcyZDkwYjQwMTM5NjQzNmJkZGRmNWUzZjNl
ZWI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtMTE0LDYgKzExNCw3IEBACiAgICAgICAgICAgICAnaHRtbC9EYXRhR3JpZENv
bHVtbi5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmlkbCcsCiAg
ICAgICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5pZGwnLAorICAgICAgICAgICAgJ2h0bWwvRE9N
VG9rZW5MaXN0LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9GaWxlLmlkbCcsCiAgICAgICAgICAg
ICAnaHRtbC9GaWxlRXJyb3IuaWRsJywKICAgICAgICAgICAgICdodG1sL0ZpbGVMaXN0LmlkbCcs
CkBAIC0xNDk0LDYgKzE0OTUsOCBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1VpbnQxNkFy
cmF5LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaCcsCiAgICAg
ICAgICAgICAnaHRtbC9jYW52YXMvQ2hlY2tlZEludC5oJywKKyAgICAgICAgICAgICdodG1sL0Ns
YXNzTGlzdC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvQ2xhc3NMaXN0LmgnLAogICAgICAgICAg
ICAgJ2h0bWwvQ29sbGVjdGlvbkNhY2hlLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaCcsCiAgICAgICAgICAgICAnaHRtbC9Db2xsZWN0aW9uVHlwZS5oJywKQEAgLTE1
MDUsNiArMTUwOCw3IEBACiAgICAgICAgICAgICAnaHRtbC9ET01EYXRhR3JpZERhdGFTb3VyY2Uu
aCcsCiAgICAgICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5jcHAnLAogICAgICAgICAgICAgJ2h0
bWwvRE9NRm9ybURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9ET01Ub2tlbkxpc3QuaCcsCiAg
ICAgICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwJywKICAgICAgICAgICAgICdo
dG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5oJywKICAgICAgICAgICAgICdodG1sL0RhdGVDb21wb25l
bnRzLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJD
b3JlLnByaQppbmRleCBiMGVmZmVlN2ViNmVlMmIxZWI3ZWI0ZmI1ZGU2Njk5ZmU4YTg0ZWM4Li45
ZTNlYTRjZWI1ZTdiNzM5MTg5ZDI1NGNlZWEwY2U2NzAwNDJmN2M3IDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTE3NSw2ICsxNzUs
NyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRsIFwKICAg
ICBodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5pZGwgXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRs
IFwKKyAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwgXAogICAgIGh0bWwvRmlsZS5pZGwgXAogICAg
IGh0bWwvRmlsZUVycm9yLmlkbCBcCiAgICAgaHRtbC9GaWxlTGlzdC5pZGwgXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggNGNhOWZk
MGM4ZTdhOTFkMDc3OGY2NTRhMDcwYWEyYWJiYTAxYmY5MS4uMDc3NGE3NjgxMWRiZTY5ZGFkYzNj
MTk1OTcyNDM3ZjFjZmQ5NGUwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysg
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC02MzMsNiArNjMzLDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAgXAogICAgIGh0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgXAogICAgIGh0bWwvY2FudmFzL0NhbnZh
c1N0eWxlLmNwcCBcCisgICAgaHRtbC9DbGFzc0xpc3QuY3BwIFwKICAgICBodG1sL0NvbGxlY3Rp
b25DYWNoZS5jcHAgXAogICAgIGh0bWwvQ1NTUHJlbG9hZFNjYW5uZXIuY3BwIFwKICAgICBodG1s
L0RhdGFHcmlkQ29sdW1uLmNwcCBcCkBAIC0xNDAxLDEyICsxNDAyLDE0IEBAIEhFQURFUlMgKz0g
XAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBcCiAgICAgaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmggXAogICAgIGh0bWwvY2FudmFzL0NhbnZh
c1N0eWxlLmggXAorICAgIGh0bWwvQ2xhc3NMaXN0LmggXAogICAgIGh0bWwvQ29sbGVjdGlvbkNh
Y2hlLmggXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgaHRtbC9EYXRhR3JpZENv
bHVtbkxpc3QuaCBcCiAgICAgaHRtbC9EYXRlQ29tcG9uZW50cy5oIFwKICAgICBodG1sL0RPTURh
dGFHcmlkRGF0YVNvdXJjZS5oIFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmggXAorICAgIGh0bWwv
RE9NVG9rZW5MaXN0LmggXAogICAgIGh0bWwvRmlsZS5oIFwKICAgICBodG1sL0ZpbGVFcnJvci5o
IFwKICAgICBodG1sL0ZpbGVMaXN0LmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKaW5kZXggNWZmNDI1MDdiNjJkZGM1NjBhODk0YTlmZTJiMjI4Y2Y3MWM0M2JiYy4uZmIxYzE5
YjQwYTI4MDBiNGE5NzgwOTk5NDlhMTQ5ZTc4MGUxMjUyYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCkBAIC0zODU3LDYgKzM4NTcsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxl
Pg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVRva2VuTGlzdC5jcHAiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NVG9rZW5MaXN0Lmgi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NV2lu
ZG93LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zNjMyNSw2ICsz
NjMzMywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxodG1sXENsYXNzTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXENsYXNzTGlzdC5oIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxDb2xsZWN0aW9u
Q2FjaGUuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTM2Mzk3LDYg
KzM2NDEzLDEwIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGh0bWxcRE9NVG9rZW5MaXN0LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEZpbGUuY3BwIg0KIAkJCQk+DQogCQkJ
PC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ZjllZDFiNDMxMzk2YmUwYzFmZDg3ZTEwN2Q2NTFjMTcyYmYzMDI0My4uMWJlMTY1MmU4ZDM1ZDY1
NDhmMGNmNzczYzBiNDk0ZWM4YWYzY2U2YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTE0MDQsNiArMTQwNCwxMyBAQAogCQk3NjkzQkFEMzEwNkMyRENB
MDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTNCQUNGMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0
ZXIuY3BwICovOyB9OwogCQk3NjkzQkFENDEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFE
MDEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmggKi87IH07CiAJCTc2OTNCQUQ1MTA2
QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTNCQUQxMTA2QzJEQ0EwMDdCMDgyMyAvKiBQ
bHVnaW5IYWx0ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk3Njk0NTYzMjEyMTREOEQ2MDAwN0NCQUUgLyogRE9NVG9rZW5MaXN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Njk0NTYzMDEy
MTREOEQ2MDAwN0NCQUUgLyogRE9NVG9rZW5MaXN0LmggKi87IH07CisJCTc2OTQ1NjM2MTIxNEQ4
RTQwMDA3Q0JBRSAvKiBDbGFzc0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2MzQxMjE0RDhFNDAwMDdDQkFFIC8qIENsYXNzTGlzdC5j
cHAgKi87IH07CisJCTc2OTQ1NjM3MTIxNEQ4RTQwMDA3Q0JBRSAvKiBDbGFzc0xpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjM1MTIxNEQ4
RTQwMDA3Q0JBRSAvKiBDbGFzc0xpc3QuaCAqLzsgfTsKKwkJNzY5NDU2M0MxMjE0RDk3QzAwMDdD
QkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlz
dC5jcHAgKi87IH07CisJCTc2OTQ1NjNEMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlz
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2
M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi87IH07CisJCTc2OTQ1NjVC
MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBE
T01ET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY5NDU2NUMxMjE0REI2MzAwMDdDQkFFIC8qIERP
TURPTVRva2VuTGlzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi87
IH07CiAJCTc2Q0REMkYyMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQy
RUMxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAgKi87IH07CiAJ
CTc2Q0REMkYzMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVEMTEwM0RB
NjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCAqLzsgfTsKIAkJNzZDREQyRjQx
MTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVFMTEwM0RBNjYw
MDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHAgKi87IH07CkBAIC03MjQ0
LDYgKzcyNTEsMTQgQEAKIAkJNzY5M0JBQ0YxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbHVnaW5IYWx0ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NjkzQkFEMDEwNkMyRENBMDA3QjA4
MjMgLyogUGx1Z2luSGFsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBs
dWdpbkhhbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NjkzQkFEMTEwNkMy
RENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBsdWdpbkhhbHRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk3Njk0NTYzMDEyMTREOEQ2MDAwN0NCQUUgLyogRE9NVG9rZW5MaXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk3Njk0NTYzMTEyMTREOEQ2MDAwN0NCQUUgLyogRE9NVG9rZW5MaXN0
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01Ub2tlbkxpc3QuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3Njk0NTYzNDEyMTREOEU0MDAwN0NCQUUgLyogQ2xhc3NMaXN0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsYXNzTGlzdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjM1MTIxNEQ4RTQwMDA3Q0JBRSAv
KiBDbGFzc0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xhc3NMaXN0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JB
RSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0RPTVRva2VuTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2
OTQ1NjNCMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3Njk0NTY1OTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTURPTVRva2VuTGlzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Njk0NTY1QTEyMTREQjYzMDAwN0NCQUUgLyogRE9N
RE9NVG9rZW5MaXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
RE9NRE9NVG9rZW5MaXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NkNERDJF
QzExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVEMTEwM0RBNjYwMDY4MDUyMSAvKiBB
Y2Nlc3NpYmlsaXR5TWVudUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QWNjZXNzaWJpbGl0eU1lbnVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2
Q0REMkVFMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVudUxp
c3RQb3B1cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzMwMiw2ICsxMzMx
Nyw4IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQkyRTJEOTlFNTEwRTJCQzFDMDA0OTYzMzcgLyog
RE9NQmxvYi5oICovLAogCQkJCTJFMkQ5OUU2MTBFMkJDMUMwMDQ5NjMzNyAvKiBET01CbG9iLm1t
ICovLAorCQkJCTc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAq
LywKKwkJCQk3Njk0NTY1QTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0Lm1tICov
LAogCQkJCUJDMDBFRkZFMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLmggKi8sCiAJCQkJQkMw
MEVGRkYwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGUubW0gKi8sCiAJCQkJMkUzQkMxMDYxMTdE
NDc5ODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvci5oICovLApAQCAtMTM4NjUsNiArMTM4ODIsOCBA
QAogCQkJCTJFRUQ1NzRGMTIxMDlFRDAwMDc2NTZCQiAvKiBCbG9iU3RvcmFnZURhdGEuaCAqLywK
IAkJCQkyRUVENTc1MDEyMTA5RUQwMDA3NjU2QkIgLyogQmxvYlVSTC5jcHAgKi8sCiAJCQkJMkVF
RDU3NTExMjEwOUVEMDAwNzY1NkJCIC8qIEJsb2JVUkwuaCAqLywKKwkJCQk3Njk0NTYzNDEyMTRE
OEU0MDAwN0NCQUUgLyogQ2xhc3NMaXN0LmNwcCAqLywKKwkJCQk3Njk0NTYzNTEyMTREOEU0MDAw
N0NCQUUgLyogQ2xhc3NMaXN0LmggKi8sCiAJCQkJOTNDNDQxRUQwRjgxM0ExQTAwQzFBNjM0IC8q
IENvbGxlY3Rpb25DYWNoZS5jcHAgKi8sCiAJCQkJOTNDNDQxRUUwRjgxM0ExQTAwQzFBNjM0IC8q
IENvbGxlY3Rpb25DYWNoZS5oICovLAogCQkJCTkzQzQ0MUZGMEY4MTNBRTEwMEMxQTYzNCAvKiBD
b2xsZWN0aW9uVHlwZS5oICovLApAQCAtMTM4ODQsNiArMTM5MDMsOCBAQAogCQkJCTJFRDYwOUJB
MTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5jcHAgKi8sCiAJCQkJMkVENjA5QkIxMTQ1
QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRhLmggKi8sCiAJCQkJMkUwODg4QzMxMTQ4ODNBOTAw
QUY0MjY1IC8qIERPTUZvcm1EYXRhLmlkbCAqLywKKwkJCQk3Njk0NTYzMDEyMTREOEQ2MDAwN0NC
QUUgLyogRE9NVG9rZW5MaXN0LmggKi8sCisJCQkJNzY5NDU2MzExMjE0RDhENjAwMDdDQkFFIC8q
IERPTVRva2VuTGlzdC5pZGwgKi8sCiAJCQkJQkNEQkI4Q0MwRTA4OTU4NDAwQzYwRkY2IC8qIEZp
bGUuY3BwICovLAogCQkJCUJDREJCOENCMEUwODk1ODQwMEM2MEZGNiAvKiBGaWxlLmggKi8sCiAJ
CQkJQkMxODgxRDkwRTA4QzRFRDAwMDQ4QzEzIC8qIEZpbGUuaWRsICovLApAQCAtMTQyNzUsNiAr
MTQyOTYsOCBAQAogCQkJCUJDNzdEMTY4MEZGMTlGNTUwMDcwODg3QiAvKiBKU0RhdGFHcmlkQ29s
dW1uTGlzdC5oICovLAogCQkJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1E
YXRhLmNwcCAqLywKIAkJCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0
YS5oICovLAorCQkJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5j
cHAgKi8sCisJCQkJNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0Lmgg
Ki8sCiAJCQkJQkMwMEYwMTAwRTBBMTg5NTAwRkQwNEUzIC8qIEpTRmlsZS5jcHAgKi8sCiAJCQkJ
QkMwMEYwMTEwRTBBMTg5NTAwRkQwNEUzIC8qIEpTRmlsZS5oICovLAogCQkJCTJFM0JDMEM4MTE3
RDNFMDgwMEI5NDA5QSAvKiBKU0ZpbGVFcnJvci5jcHAgKi8sCkBAIC0yMDE1Niw2ICsyMDE3OSwx
MCBAQAogCQkJCTk3REQ0RDg3MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRTE3MkUwMTExMzZFOENFMDA2MkE1MzMgLyogWm9vbU1vZGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTJFRUQ1N0ZFMTIxNEE5QzIwMDc2NTZCQiAvKiBUaHJlYWRhYmxlQmxv
YlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQk3Njk0NTYzMjEyMTREOEQ2MDAwN0NCQUUg
LyogRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3Njk0NTYzNzEyMTREOEU0MDAw
N0NCQUUgLyogQ2xhc3NMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3Njk0NTYzRDEyMTREOTdD
MDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTc2OTQ1NjVC
MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MjI1ODIsNiArMjI2MDksOSBAQAogCQkJCUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xU
VW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdERDREODYwRkRGNEQ2RTAwRUNG
OUE0IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVFRDU3RkQxMjE0QTlD
MjAwNzY1NkJCIC8qIFRocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNzY5NDU2MzYxMjE0RDhFNDAwMDdDQkFFIC8qIENsYXNzTGlzdC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk3Njk0NTYzQzEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNzY5NDU2NUMxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2Vu
TGlzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KaW5kZXggZjQ4MTU5YmY1YTk0Y2E5NmYyYmMyOWY1MWQwMjQ1OTRlZTQxN2U2
Yi4uMjQwODk2NGViZjk1ZjMwOWI5ODBjMGRhNDM3ZTZmYTkxMjEzYTM1NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0yNDAsNyArMjQwLDcgQEAg
c3ViIEluZGV4R2V0dGVyUmV0dXJuc1N0cmluZ3MKIHsKICAgICBteSAkdHlwZSA9IHNoaWZ0Owog
Ci0gICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVjbGFyYXRpb24iIG9yICR0eXBl
IGVxICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbiIgb3Ig
JHR5cGUgZXEgIkRPTVN0cmluZ0xpc3QiOworICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJDU1NT
dHlsZURlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiTWVkaWFMaXN0IiBvciAkdHlwZSBlcSAiQ1NT
VmFyaWFibGVzRGVjbGFyYXRpb24iIG9yICR0eXBlIGVxICJET01TdHJpbmdMaXN0IiBvciAkdHlw
ZSBlcSAiRE9NVG9rZW5MaXN0IjsKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5jcHAgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3Ry
aW5nLmNwcAppbmRleCBiMDYyZGJmMTMzYzQ0MGQ1NWJhOTJjOWIwM2M1MDEzYjYwN2EyYjNjLi5h
OGQyYjFkNWQ4MmY5N2M1NjNlZTM5NjMxMWViOWQ0OGExYmE1MzU0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0
U3RyaW5nLmNwcApAQCAtNDUsMTAgKzQ1LDIzIEBAIHZvaWQgU3BhY2VTcGxpdFN0cmluZ0RhdGE6
OmNyZWF0ZVZlY3RvcigpCiB7CiAgICAgQVNTRVJUKCFtX2NyZWF0ZWRWZWN0b3IpOwogICAgIEFT
U0VSVChtX3ZlY3Rvci5pc0VtcHR5KCkpOworICAgIEFTU0VSVChtX3ZlY3Rvck5vRm9sZC5pc0Vt
cHR5KCkpOwogCi0gICAgaWYgKG1fc2hvdWxkRm9sZENhc2UgJiYgaGFzTm9uQVNDSUlPclVwcGVy
KG1fc3RyaW5nKSkKKyAgICBtX2ZvbGRlZCA9IG1fc2hvdWxkRm9sZENhc2UgJiYgaGFzTm9uQVND
SUlPclVwcGVyKG1fc3RyaW5nKTsKKworICAgIGlmIChtX2ZvbGRlZCkgeworICAgICAgICBjcmVh
dGVWZWN0b3IoJm1fdmVjdG9yTm9Gb2xkKTsKICAgICAgICAgbV9zdHJpbmcgPSBtX3N0cmluZy5m
b2xkQ2FzZSgpOworICAgIH0KKworICAgIGNyZWF0ZVZlY3RvcigmbV92ZWN0b3IpOwogCisgICAg
bV9zdHJpbmcgPSBTdHJpbmcoKTsKKyAgICBtX2NyZWF0ZWRWZWN0b3IgPSB0cnVlOworfQorCit2
b2lkIFNwYWNlU3BsaXRTdHJpbmdEYXRhOjpjcmVhdGVWZWN0b3IoU3RyaW5nVmVjdG9yKiB2ZWN0
b3IpCit7CiAgICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMgPSBtX3N0cmluZy5jaGFyYWN0ZXJz
KCk7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gbV9zdHJpbmcubGVuZ3RoKCk7CiAgICAgdW5zaWdu
ZWQgc3RhcnQgPSAwOwpAQCAtNjEsMTMgKzc0LDEwIEBAIHZvaWQgU3BhY2VTcGxpdFN0cmluZ0Rh
dGE6OmNyZWF0ZVZlY3RvcigpCiAgICAgICAgIHdoaWxlIChlbmQgPCBsZW5ndGggJiYgIWlzQ2xh
c3NXaGl0ZXNwYWNlKGNoYXJhY3RlcnNbZW5kXSkpCiAgICAgICAgICAgICArK2VuZDsKIAotICAg
ICAgICBtX3ZlY3Rvci5hcHBlbmQoQXRvbWljU3RyaW5nKGNoYXJhY3RlcnMgKyBzdGFydCwgZW5k
IC0gc3RhcnQpKTsKKyAgICAgICAgdmVjdG9yLT5hcHBlbmQoQXRvbWljU3RyaW5nKGNoYXJhY3Rl
cnMgKyBzdGFydCwgZW5kIC0gc3RhcnQpKTsKIAogICAgICAgICBzdGFydCA9IGVuZCArIDE7CiAg
ICAgfQotCi0gICAgbV9zdHJpbmcgPSBTdHJpbmcoKTsKLSAgICBtX2NyZWF0ZWRWZWN0b3IgPSB0
cnVlOwogfQogCiBib29sIFNwYWNlU3BsaXRTdHJpbmdEYXRhOjpjb250YWluc0FsbChTcGFjZVNw
bGl0U3RyaW5nRGF0YSYgb3RoZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0
U3RyaW5nLmggYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKaW5kZXggZjQ5NjcwYmEx
YmQzZmUwM2MzMDA3MjU0MGU5NmQ0N2Q1ZDNjMDYyYi4uNjQ2ZmJmOWMxNTE2ZWIzYWE3MTQzMmUy
NTIwYTAwMDQzY2Y3YTZkYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmlu
Zy5oCisrKyBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaApAQCAtMzUsMzAgKzM1LDQ2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgewogICAgICAgICB9CiAKLSAgICAgICAg
Ym9vbCBjb250YWlucyhjb25zdCBBdG9taWNTdHJpbmcmIHN0cmluZykKLSAgICAgICAgewotICAg
ICAgICAgICAgZW5zdXJlVmVjdG9yKCk7Ci0gICAgICAgICAgICBzaXplX3Qgc2l6ZSA9IG1fdmVj
dG9yLnNpemUoKTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytp
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKG1fdmVjdG9yW2ldID09IHN0cmluZykKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgIH0KKyAgICAgICAgYm9vbCBjb250YWlucyhjb25zdCBBdG9taWNT
dHJpbmcmIHN0cmluZykgeyByZXR1cm4gY29udGFpbnMoc3RyaW5nLCAmbV92ZWN0b3IpOyB9CiAK
ICAgICAgICAgYm9vbCBjb250YWluc0FsbChTcGFjZVNwbGl0U3RyaW5nRGF0YSYpOwogCisgICAg
ICAgIGJvb2wgY29udGFpbnNOb0ZvbGQoY29uc3QgQXRvbWljU3RyaW5nJiBzdHJpbmcpIHsgZW5z
dXJlVmVjdG9yKCk7IHJldHVybiBjb250YWlucyhzdHJpbmcsIG1fZm9sZGVkID8gJm1fdmVjdG9y
Tm9Gb2xkIDogJm1fdmVjdG9yKTsgfQorICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGl0ZW1O
b0ZvbGQoc2l6ZV90IGkpIHsgZW5zdXJlVmVjdG9yKCk7IHJldHVybiBpdGVtKGksIG1fZm9sZGVk
ID8gJm1fdmVjdG9yTm9Gb2xkIDogJm1fdmVjdG9yKTsgfQorCiAgICAgICAgIHNpemVfdCBzaXpl
KCkgeyBlbnN1cmVWZWN0b3IoKTsgcmV0dXJuIG1fdmVjdG9yLnNpemUoKTsgfQotICAgICAgICBj
b25zdCBBdG9taWNTdHJpbmcmIG9wZXJhdG9yW10oc2l6ZV90IGkpIHsgZW5zdXJlVmVjdG9yKCk7
IEFTU0VSVChpIDwgc2l6ZSgpKTsgcmV0dXJuIG1fdmVjdG9yW2ldOyB9CisgICAgICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgb3BlcmF0b3JbXShzaXplX3QgaSkgeyByZXR1cm4gaXRlbShpLCAmbV92
ZWN0b3IpOyB9CiAKICAgICBwcml2YXRlOgorICAgICAgICB0eXBlZGVmIFZlY3RvcjxBdG9taWNT
dHJpbmcsIDg+IFN0cmluZ1ZlY3RvcjsKKwogICAgICAgICB2b2lkIGVuc3VyZVZlY3RvcigpIHsg
aWYgKCFtX2NyZWF0ZWRWZWN0b3IpIGNyZWF0ZVZlY3RvcigpOyB9CiAgICAgICAgIHZvaWQgY3Jl
YXRlVmVjdG9yKCk7CisgICAgICAgIHZvaWQgY3JlYXRlVmVjdG9yKFN0cmluZ1ZlY3RvciopOwor
CisgICAgICAgIGJvb2wgY29udGFpbnMoY29uc3QgQXRvbWljU3RyaW5nJiBzdHJpbmcsIFN0cmlu
Z1ZlY3RvciogdmVjdG9yKQorICAgICAgICB7CisgICAgICAgICAgICBlbnN1cmVWZWN0b3IoKTsK
KyAgICAgICAgICAgIHNpemVfdCBzaXplID0gdmVjdG9yLT5zaXplKCk7CisgICAgICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICAgICAgICAgIGlmICgo
KnZlY3RvcilbaV0gPT0gc3RyaW5nKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisg
ICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaXRlbShzaXplX3QgaSwgU3RyaW5nVmVjdG9yKiB2
ZWN0b3IpCisgICAgICAgIHsKKyAgICAgICAgICAgIGVuc3VyZVZlY3RvcigpOworICAgICAgICAg
ICAgQVNTRVJUKGkgPCBzaXplKCkpOworICAgICAgICAgICAgcmV0dXJuICgqdmVjdG9yKVtpXTsK
KyAgICAgICAgfQogCi0gICAgICAgIHR5cGVkZWYgVmVjdG9yPEF0b21pY1N0cmluZywgOD4gU3Ry
aW5nVmVjdG9yOwogICAgICAgICBTdHJpbmcgbV9zdHJpbmc7Ci0gICAgICAgIFN0cmluZ1ZlY3Rv
ciBtX3ZlY3RvcjsKICAgICAgICAgYm9vbCBtX3Nob3VsZEZvbGRDYXNlOworICAgICAgICBib29s
IG1fZm9sZGVkOworICAgICAgICBTdHJpbmdWZWN0b3IgbV92ZWN0b3I7CisgICAgICAgIFN0cmlu
Z1ZlY3RvciBtX3ZlY3Rvck5vRm9sZDsKICAgICAgICAgYm9vbCBtX2NyZWF0ZWRWZWN0b3I7CiAg
ICAgfTsKIApAQCAtNzMsNiArODksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJv
b2wgY29udGFpbnMoY29uc3QgQXRvbWljU3RyaW5nJiBzdHJpbmcpIGNvbnN0IHsgcmV0dXJuIG1f
ZGF0YSAmJiBtX2RhdGEtPmNvbnRhaW5zKHN0cmluZyk7IH0KICAgICAgICAgYm9vbCBjb250YWlu
c0FsbChjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBuYW1lcykgY29uc3QgeyByZXR1cm4gIW5hbWVz
Lm1fZGF0YSB8fCAobV9kYXRhICYmIG1fZGF0YS0+Y29udGFpbnNBbGwoKm5hbWVzLm1fZGF0YSkp
OyB9CiAKKyAgICAgICAgYm9vbCBjb250YWluc05vRm9sZChjb25zdCBBdG9taWNTdHJpbmcmIHN0
cmluZykgY29uc3QgeyByZXR1cm4gbV9kYXRhICYmIG1fZGF0YS0+Y29udGFpbnNOb0ZvbGQoc3Ry
aW5nKTsgfQorICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGl0ZW1Ob0ZvbGQoc2l6ZV90IGkp
IGNvbnN0IHsgQVNTRVJUKGkgPCBzaXplKCkpOyByZXR1cm4gbV9kYXRhLT5pdGVtTm9Gb2xkKGkp
OyB9CisKICAgICAgICAgc2l6ZV90IHNpemUoKSBjb25zdCB7IHJldHVybiBtX2RhdGEgPyBtX2Rh
dGEtPnNpemUoKSA6IDA7IH0KICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBvcGVyYXRvcltd
KHNpemVfdCBpKSBjb25zdCB7IEFTU0VSVChpIDwgc2l6ZSgpKTsgcmV0dXJuICgqbV9kYXRhKVtp
XTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQ2xhc3NMaXN0LmNwcCBiL1dlYkNvcmUv
aHRtbC9DbGFzc0xpc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkYTMyNjJmYmRmNmUwYTA1MzIzOGZkM2I4
MDg0N2FkZDZjZDhkNTkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvQ2xhc3NMaXN0
LmNwcApAQCAtMCwwICsxLDE1MSBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDA5IFRoZSBDaHJvbWl1
bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRoaXMgc291cmNlIGNv
ZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91
bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkNsYXNzTGlzdC5oIgorCisjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworbmFtZXNwYWNlIHsKKworYm9v
bCB2YWxpZGF0ZVRva2VuKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIGlmICh0b2tlbi5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhf
RVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgY29uc3QgdW5zaWduZWQg
bGVuZ3RoID0gdG9rZW4ubGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxl
bmd0aDsgKytpKSB7CisgICAgICAgIGlmIChpc0NsYXNzV2hpdGVzcGFjZSh0b2tlbltpXSkpIHsK
KyAgICAgICAgICAgIGVjID0gSU5WQUxJRF9DSEFSQUNURVJfRVJSOworICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlCisKK3Vuc2lnbmVkIENsYXNzTGlzdDo6bGVuZ3RoKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9lbGVtZW50LT5oYXNDbGFzcygpID8gbV9lbGVtZW50LT5jbGFzc05hbWVzKCku
c2l6ZSgpIDogMDsKK30KKworY29uc3QgQXRvbWljU3RyaW5nIENsYXNzTGlzdDo6aXRlbSh1bnNp
Z25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCisgICAgICAg
IHJldHVybiBBdG9taWNTdHJpbmcoKTsKKyAgICByZXR1cm4gbV9lbGVtZW50LT5jbGFzc05hbWVz
KCkuaXRlbU5vRm9sZChpbmRleCk7Cit9CisKK2Jvb2wgQ2xhc3NMaXN0Ojpjb250YWlucyhjb25z
dCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKK3sKKyAgICBp
ZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sIGVjKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICByZXR1cm4gY29udGFpbnNJbnRlcm5hbCh0b2tlbik7Cit9CisKK2Jvb2wgQ2xhc3NMaXN0Ojpj
b250YWluc0ludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4pIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fZWxlbWVudC0+aGFzQ2xhc3MoKSA/IG1fZWxlbWVudC0+Y2xhc3NOYW1lcygpLmNv
bnRhaW5zTm9Gb2xkKHRva2VuKSA6IGZhbHNlOworfQorCit2b2lkIENsYXNzTGlzdDo6YWRkKGNv
bnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICgh
dmFsaWRhdGVUb2tlbih0b2tlbiwgIGVjKSkKKyAgICAgICAgcmV0dXJuOworICAgIGFkZEludGVy
bmFsKHRva2VuKTsKK30KKwordm9pZCBDbGFzc0xpc3Q6OmFkZEludGVybmFsKGNvbnN0IEF0b21p
Y1N0cmluZyYgdG9rZW4pIGNvbnN0Cit7CisgICAgY29uc3QgQXRvbWljU3RyaW5nIG9sZENsYXNz
TmFtZShtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShjbGFzc0F0dHIpKTsKKyAgICBpZiAob2xkQ2xh
c3NOYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgbV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NB
dHRyLCB0b2tlbik7CisgICAgZWxzZSBpZiAoIWNvbnRhaW5zSW50ZXJuYWwodG9rZW4pKQorICAg
ICAgICBtX2VsZW1lbnQtPnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIG9sZENsYXNzTmFtZSArICIg
IiArIHRva2VuKTsKK30KKwordm9pZCBDbGFzc0xpc3Q6OnJlbW92ZShjb25zdCBBdG9taWNTdHJp
bmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4o
dG9rZW4sICBlYykpCisgICAgICAgIHJldHVybjsKKyAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7
Cit9CisKK3ZvaWQgQ2xhc3NMaXN0OjpyZW1vdmVJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcm
IHRva2VuKSBjb25zdAoreworICAgIC8vIENoZWNrIHVzaW5nIGNvbnRhaW5zIGZpcnN0IHNpbmNl
IGl0IHVzZXMgQXRvbWljU3RyaW5nIGNvbXBhcmlzb25zIGluc3RlYWQKKyAgICAvLyBvZiBjaGFy
YWN0ZXIgYnkgY2hhcmFjdGVyIHRlc3RpbmcuCisgICAgaWYgKCFjb250YWluc0ludGVybmFsKHRv
a2VuKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gQWxnb3JpdGhtIGRlZmluZWQgYXQgaHR0
cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2Uv
Y29tbW9uLW1pY3Jvc3ludGF4ZXMuaHRtbCNyZW1vdmUtYS10b2tlbi1mcm9tLWEtc3RyaW5nCisK
KyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGlucHV0ID0gbV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUo
Y2xhc3NBdHRyKTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnB1dExlbmd0aCA9IGlucHV0Lmxlbmd0
aCgpOworICAgIFN0cmluZyBvdXRwdXQ7IC8vIDMKKyAgICB1bnNpZ25lZCBwb3NpdGlvbiA9IDA7
IC8vIDQKKworICAgIC8vIFN0ZXAgNQorICAgIHdoaWxlIChwb3NpdGlvbiA8IGlucHV0TGVuZ3Ro
KSB7CisgICAgICAgIGlmIChpc0NsYXNzV2hpdGVzcGFjZShpbnB1dFtwb3NpdGlvbl0pKSB7IC8v
IDYKKyAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoaW5wdXRbcG9zaXRpb24rK10pOyAvLyA2LjEs
IDYuMgorICAgICAgICAgICAgY29udGludWU7IC8vIDYuMworICAgICAgICB9CisKKyAgICAgICAg
Ly8gU3RlcCA3CisgICAgICAgIFN0cmluZyBzOworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBp
bnB1dExlbmd0aCAmJiAhaXNDbGFzc1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkKKyAgICAg
ICAgICAgIHMuYXBwZW5kKGlucHV0W3Bvc2l0aW9uKytdKTsKKworICAgICAgICAvLyBTdGVwIDgK
KyAgICAgICAgaWYgKHMgPT0gdG9rZW4pIHsKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4xCisgICAg
ICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiBpc0NsYXNzV2hpdGVzcGFj
ZShpbnB1dFtwb3NpdGlvbl0pKQorICAgICAgICAgICAgICAgICsrcG9zaXRpb247CisKKyAgICAg
ICAgICAgIC8vIFN0ZXAgOC4yCisgICAgICAgICAgICB1bnNpZ25lZCBqID0gb3V0cHV0Lmxlbmd0
aCgpOworICAgICAgICAgICAgd2hpbGUgKGogPiAwICYmIGlzQ2xhc3NXaGl0ZXNwYWNlKG91dHB1
dFtqIC0gMV0pKQorICAgICAgICAgICAgICAgIC0tajsKKyAgICAgICAgICAgIG91dHB1dC50cnVu
Y2F0ZShqKTsKKworICAgICAgICAgICAgLy8gU3RlcCA4LjMKKyAgICAgICAgICAgIGlmIChwb3Np
dGlvbiA8IGlucHV0TGVuZ3RoICYmICFvdXRwdXQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAg
IG91dHB1dC5hcHBlbmQoJyAnKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBvdXRwdXQu
YXBwZW5kKHMpOyAvLyBTdGVwIDkKKyAgICB9CisKKyAgICBtX2VsZW1lbnQtPnNldEF0dHJpYnV0
ZShjbGFzc0F0dHIsIG91dHB1dCk7Cit9CisKK2Jvb2wgQ2xhc3NMaXN0Ojp0b2dnbGUoY29uc3Qg
QXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCF2YWxp
ZGF0ZVRva2VuKHRva2VuLCAgZWMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAo
Y29udGFpbnNJbnRlcm5hbCh0b2tlbikpIHsKKyAgICAgICAgcmVtb3ZlSW50ZXJuYWwodG9rZW4p
OworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIGFkZEludGVybmFsKHRva2VuKTsK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKworU3RyaW5nIENsYXNzTGlzdDo6dG9TdHJpbmcoKSBjb25z
dAoreworICAgIHJldHVybiBtX2VsZW1lbnQtPmhhc0NsYXNzKCkgPyBtX2VsZW1lbnQtPmdldEF0
dHJpYnV0ZShjbGFzc0F0dHIpIDogIiI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuaCBiL1dlYkNvcmUvaHRtbC9DbGFzc0xp
c3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42NGRkNzg0NzZjNjhkZmY1YjY4M2QyM2UzMDc4MWQ3NDc1ZGJjN2Ux
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0NsYXNzTGlzdC5oCkBAIC0wLDAgKzEs
NDQgQEAKKy8vIENvcHlyaWdodCAoYykgMjAwOSBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5
IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNF
IGZpbGUuCisKKyNpZm5kZWYgQ2xhc3NMaXN0X2gKKyNkZWZpbmUgQ2xhc3NMaXN0X2gKKworI2lu
Y2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEhU
TUxFbGVtZW50OworCitjbGFzcyBDbGFzc0xpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGFzc0xpc3Q+IGNyZWF0ZShQYXNzUmVmUHRy
PEhUTUxFbGVtZW50PiBlbGVtZW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDbGFzc0xpc3QoZWxlbWVudCkpOworICAgIH0KKworICAgIHZpcnR1YWwgdW5zaWduZWQgbGVu
Z3RoKCkgY29uc3Q7CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcgaXRlbSh1bnNpZ25l
ZCBpbmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGNvbnRhaW5zKGNvbnN0IEF0b21pY1N0
cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRk
KGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUm
IGVjKTsKKyAgICB2aXJ0dWFsIGJvb2wgdG9nZ2xlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4s
IEV4Y2VwdGlvbkNvZGUmIGVjKTsKKyAgICB2aXJ0dWFsIFN0cmluZyB0b1N0cmluZygpIGNvbnN0
OworCitwcml2YXRlOgorICAgIENsYXNzTGlzdChQYXNzUmVmUHRyPEhUTUxFbGVtZW50PiBlbGVt
ZW50KQorICAgICAgICA6IG1fZWxlbWVudChlbGVtZW50KQorICAgIHsKKyAgICB9CisKKyAgICB2
b2lkIGFkZEludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworICAgIGJvb2wgY29u
dGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKKyAgICB2b2lkIHJlbW92
ZUludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworCisgICAgUmVmUHRyPEhUTUxF
bGVtZW50PiBtX2VsZW1lbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBDbGFzc0xpc3RfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5o
IGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlNTY0YTVhYjhjNTJh
NDYxYzY5ZWNiNDY1OTRjMDhmODk3ZDZiZjcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0
bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTAsMCArMSwyOSBAQAorLy8gQ29weXJpZ2h0IChjKSAyMDA5
IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworI2lmbmRlZiBET01Ub2tlbkxp
c3RfaAorI2RlZmluZSBET01Ub2tlbkxpc3RfaAorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5o
IgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWlj
U3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NVG9rZW5MaXN0IDog
cHVibGljIFJlZkNvdW50ZWQ8RE9NVG9rZW5MaXN0PiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+
RE9NVG9rZW5MaXN0KCkgeyB9CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyBpdGVtKHVuc2lnbmVkIGluZGV4
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGNvbnRhaW5zKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGFkZChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0
aW9uQ29kZSYgZWMpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgdG9nZ2xlKGNvbnN0IEF0b21pY1N0
cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKSA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcg
dG9TdHJpbmcoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBET01Ub2tlbkxpc3RfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5pZGwgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWUx
ZjI4ZTg0OTI3N2NlMzFkMWRjMDA3OGExMDExYWUxNjEzY2RmCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKQEAgLTAsMCArMSwyMyBAQAorLy8gQ29weXJp
Z2h0IChjKSAyMDA5IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj
ZW5zZSB0aGF0IGNhbiBiZQorLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKworbW9kdWxl
IGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvciwK
KyAgICAgICAgSGFzSW5kZXhHZXR0ZXIKKyAgICBdIERPTVRva2VuTGlzdCB7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAgW0NvbnZlcnRO
dWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nIGl0ZW0oaW4gW0lzSW5kZXhdIHVuc2lnbmVkIGxv
bmcgaW5kZXgpOworICAgICAgICBib29sZWFuIGNvbnRhaW5zKGluIERPTVN0cmluZyB0b2tlbikg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgYWRkKGluIERPTVN0cmluZyB0b2tl
bikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgcmVtb3ZlKGluIERPTVN0cmlu
ZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGJvb2xlYW4gdG9nZ2xlKGlu
IERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisKKyNpZiBkZWZpbmVkKExB
TkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKKyAgICAgICAgW0RvbnRF
bnVtXSBET01TdHJpbmcgdG9TdHJpbmcoKTsKKyNlbmRpZgorICAgIH07CisKK30KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTEVsZW1l
bnQuY3BwCmluZGV4IGI3ZDQ1ZGVjYWUxMGJhYjVkNGFiN2MwZmViMzI0ZmM4ZThhN2Y3NmQuLjFh
OGI3MzkzMGMwZjkyMWNkOGZiMmZjNzljNDdlNTAzNzlmMmZlZDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNw
cApAQCAtMjUsOCArMjUsMTAgQEAKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogCiAjaW5jbHVk
ZSAiQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiQ2xhc3NMaXN0LmgiCiAjaW5jbHVkZSAiQ1NTUHJv
cGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKKyNpbmNsdWRlICJE
T01Ub2tlbkxpc3QuaCIKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVkZSAi
RXZlbnQuaCIKICNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgiCkBAIC0xMDUwLDYgKzEwNTIsMTEg
QEAgSFRNTEZvcm1FbGVtZW50KiBIVE1MRWxlbWVudDo6dmlydHVhbEZvcm0oKSBjb25zdAogICAg
IHJldHVybiBmaW5kRm9ybUFuY2VzdG9yKCk7CiB9CiAKK1Bhc3NSZWZQdHI8RE9NVG9rZW5MaXN0
PiBIVE1MRWxlbWVudDo6Y2xhc3NMaXN0KCkKK3sKKyAgICByZXR1cm4gQ2xhc3NMaXN0OjpjcmVh
dGUodGhpcyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2lmbmRlZiBOREVCVUcK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hU
TUxFbGVtZW50LmgKaW5kZXggMDM0NDljOTg1YWUwNDI3NTU1MWQ3ODFkZDIwZmRkYzY0OWFlYzE3
Mi4uMjVjYjBmZmZmNTY2ZDg3ZmU0MGE2Y2NjMTg2MWJmYmQ4NGQyYjI4NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50
LmgKQEAgLTI4LDYgKzI4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1l
bnRGcmFnbWVudDsKK2NsYXNzIERPTVRva2VuTGlzdDsKIGNsYXNzIEhUTUxDb2xsZWN0aW9uOwog
Y2xhc3MgSFRNTEZvcm1FbGVtZW50OwogCkBAIC03OSw2ICs4MCw4IEBAIHB1YmxpYzoKIAogICAg
IEhUTUxGb3JtRWxlbWVudCogZm9ybSgpIGNvbnN0IHsgcmV0dXJuIHZpcnR1YWxGb3JtKCk7IH0K
IAorICAgIFBhc3NSZWZQdHI8RE9NVG9rZW5MaXN0PiBjbGFzc0xpc3QoKTsKKwogICAgIHN0YXRp
YyB2b2lkIGFkZEhUTUxBbGlnbm1lbnRUb1N0eWxlZEVsZW1lbnQoU3R5bGVkRWxlbWVudCosIEF0
dHJpYnV0ZSopOwogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbAppbmRleCA4NjNmMjhjODY1
NDdlYjk3Y2M0OGNjNjIxZDlhMWI2NmFjOTI2N2JiLi5iMTI3YzUxNzI3NjViMThjODE4MDFiZGNl
NmY1YTcwYTAyZTNkYThmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRs
CisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKQEAgLTMxLDYgKzMxLDcgQEAgbW9k
dWxlIGh0bWwgewogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmlu
ZyBsYW5nOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBk
aXI7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdD1jbGFzc10gRE9NU3RyaW5n
IGNsYXNzTmFtZTsKKyAgICAgICAgICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2Vu
TGlzdCBjbGFzc0xpc3Q7CiAKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAg
ICAgICAgIHRhYkluZGV4OwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAg
ICAgICAgZHJhZ2dhYmxlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBiNDc4OWUzMWE0MzM3NGY1ODgwYzNk
ZGZlMmZhZTQyZWFmZmMxZGMzLi5jMzc1MTMwMjY4NDc5NTRkZDc2ZTc1YmRlNjZmYWFmMzY2MDk2
OWJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkRPTVNlbGVj
dGlvbi5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJET01UaW1lci5o
IgorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5j
bHVkZSAiRGF0YWJhc2VDYWxsYmFjay5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xs
ZXIuaCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggMTliY2JlZTZlYjI5YjFhZDM2YTNhNThhMDgwMWY3ZjE1
Yjc3MGQ5Ni4uOWQ4OWZmNTMyNWRjMWZkMWM0Njc3ODljYWMwZGZlMzJiYjU1MDZiOCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKQEAgLTM1OSw2ICszNTksNyBAQCBtb2R1bGUgd2luZG93IHsKIC8vICAgICAgICBh
dHRyaWJ1dGUgRE9NSW1wbGVtZW50YXRpb25MaXN0Q29uc3RydWN0b3IgRE9NSW1wbGVtZW50YXRp
b25MaXN0OwogLy8gICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvblNvdXJjZUNvbnN0
cnVjdG9yIERPTUltcGxlbWVudGF0aW9uU291cmNlOwogICAgICAgICBhdHRyaWJ1dGUgRE9NSW1w
bGVtZW50YXRpb25Db25zdHJ1Y3RvciBET01JbXBsZW1lbnRhdGlvbjsKKyAgICAgICAgYXR0cmli
dXRlIERPTVRva2VuTGlzdENvbnN0cnVjdG9yIERPTVRva2VuTGlzdDsKICAgICAgICAgYXR0cmli
dXRlIERvY3VtZW50RnJhZ21lbnRDb25zdHJ1Y3RvciBEb2N1bWVudEZyYWdtZW50OwogICAgICAg
ICBhdHRyaWJ1dGUgRG9jdW1lbnRDb25zdHJ1Y3RvciBEb2N1bWVudDsKICAgICAgICAgYXR0cmli
dXRlIE5vZGVDb25zdHJ1Y3RvciBOb2RlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66784</attachid>
            <date>2010-09-07 16:18:33 -0700</date>
            <delta_ts>2010-09-07 18:21:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-20709-20100907161832.patch</filename>
            <type>text/plain</type>
            <size>59736</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhODc3ODcwNjkwMmJhYmQwMWM3YzRlYTEzMDJmZWZkOWY2MTkzZGMxLi41Y2ZlZWYz
MGJhNTMyYjlkMWRkZjU4MmM4OWI4ZmQ5MTNiNjIzYWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTAtMDktMDcgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3MtbGlz
dC5qczogQWRkZWQuCisgICAgICAgIChjcmVhdGVFbGVtZW50KToKKyAgICAgICAgKiBmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisKIDIwMTAt
MDktMDcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXZlIEh5YXR0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
RWxlbWVudC9jbGFzcy1saXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDkzYTE5OGU0ZDcx
YzNiNGFlYjQ3YmJkM2E2OWRiYTc0MGMzMzIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2MyBAQAorVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVz
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2lt
b24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNT
IFN0cmluZyhlbGVtZW50LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0
Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNz
TmFtZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggIHgiCitQQVNTIGVsZW1l
bnQuY2xhc3NOYW1lIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNT
IGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIgeSB5
ICIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNl
cHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHkn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEy
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhj
ZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhy
ZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUg
NQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4
Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHkn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVt
KDApIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMg
InkiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0WzBdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBu
dWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRl
ZmluZWQuCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0
WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIHRydWUK
K1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMg
MgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorRE9N
VG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBE
T01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBp
cyAib2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QgaXMgIm9iamVjdCIKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCBpcyB0cnVlCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3Mt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwOTNhMTk4ZTRkNzFjM2I0YWViNDdiYmQzYTY5ZGJh
NzQwYzMzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxl
bWVudC9jbGFzcy1saXN0LXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2MyBAQAorVGVz
dHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3Jn
L3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0cmluZyhlbGVt
ZW50LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAw
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNT
IGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCIK
K1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggIHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1l
IGlzICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xh
c3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIgeSB5ICIKK1BBU1MgZWxl
bWVudC5jbGFzc05hbWUgaXMgInkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBj
b2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHknKSB0aHJldyBleHBl
Y3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuYWRk
KCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGgg
Y29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhyZXcgZXhwZWN0ZWQg
RE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUo
J3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRo
IGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKSB0aHJldyBleHBl
Y3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApIGlzICJ4Igor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qu
aXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgInkiCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBd
IGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBudWxsCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSg0
KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRlZmluZWQuCitUZXN0
IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0LmNvbnRhaW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5j
b250YWlucygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4Igor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIHRydWUKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5s
ZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgg
aXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHBy
ZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3Qg
aXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2JqZWN0Igor
UEFTUyB0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ4
NzZhMTZmODIyMjlhYTEwYWMyYzNiOWUwNTc4ODE3MmJjOTM3MwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLmh0bWwK
QEAgLTAsMCArMSwxMyBAQAorPCEtLSBRdWlya3MgTW9kZSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2xhc3Mt
bGlzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkZjI0
M2NlMzI5Zjk0NDAzYjhlZjY2ODg2MzZjYTc0NmVhZjIxMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbApAQCAtMCwwICsx
LDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC5qcyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUyMTQ5ODk4YjgwNzgzZjY3ZTkyMGFiNmZjNDM5ZWJkNDI4Mjc5MDQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3Mt
bGlzdC5qcwpAQCAtMCwwICsxLDIyNSBAQAorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoZSBjbGFzc0xp
c3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGllcy4nKTsKKwordmFyIGVsZW1lbnQ7CisKK2Z1
bmN0aW9uIGNyZWF0ZUVsZW1lbnQoY2xhc3NOYW1lKQoreworICAgIGVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdwJyk7CisgICAgZWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc05hbWU7
Cit9CisKK2RlYnVnKCdUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1s
L2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC8nKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L3NldHRpbmcvMDAxLmh0
bQorLy8gRmlyZWZveCB0aHJvd3MgaGVyZSBidXQgV2ViS2l0IGRvZXMgbm90IHRocm93IG9uIHNl
dHRpbmcgcmVhZG9ubHkgaWRsCisvLyBhdHRyaWJ1dGVzLgorY3JlYXRlRWxlbWVudCgneCcpOwor
dHJ5IHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdCA9ICd5JzsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ1N0cmluZyhlbGVtZW50LmNsYXNzTGlzdCknLCAneCcpOworfSBjYXRjaCAoZXgpIHsK
KyAgICB0ZXN0UGFzc2VkKCdUaHJvd2luZyBvbiBzZXQgaXMgYWNjZXB0YWJsZScpOworfQorCisv
LyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tl
bkxpc3QvZ2V0dGluZy8wMDEuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZEV2YWx1YXRl
VG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDApOworCisvLyBodHRwOi8vc2ltb24uaHRt
bDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDIu
aHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNz
TGlzdC5sZW5ndGgnLCAxKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwv
ZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAzLmh0bQorY3JlYXRlRWxlbWVu
dCgneCB4Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAy
KTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3Rpbmcv
RE9NVG9rZW5MaXN0L2dldHRpbmcvMDA0Lmh0bQorY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91
bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworLy8gaHR0cDov
L3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dl
dHRpbmcvMDA1Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LmNsYXNzTGlzdC5hZGQo
J3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAneCcpOwor
CisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01U
b2tlbkxpc3QvZ2V0dGluZy8wMDYuaHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitlbGVtZW50LmNs
YXNzTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05h
bWUnLCAneCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVm
bGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDcuaHRtCitjcmVhdGVFbGVtZW50KCd4ICB4
Jyk7CitlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
ZWxlbWVudC5jbGFzc05hbWUnLCAneCAgeCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3Jn
L3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDguaHRtCitj
cmVhdGVFbGVtZW50KCd5Jyk7CitlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAneSB4Jyk7CisKKy8vIGh0dHA6Ly9z
aW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0
aW5nLzAwOS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworZWxlbWVudC5jbGFzc0xpc3QucmVtb3Zl
KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJycpOwor
CisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01U
b2tlbkxpc3QvZ2V0dGluZy8wMTAuaHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitlbGVtZW50LmNs
YXNzTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFz
c05hbWUnLCAnJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9y
ZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMS5odG0KK2NyZWF0ZUVsZW1lbnQoJyB5
IHggIHkgJyk7CitlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAnIHkgeSAnKTsKKworLy8gaHR0cDovL3NpbW9u
Lmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcv
MDEyLmh0bQorY3JlYXRlRWxlbWVudCgnIHggeSAgeCAnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJl
bW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd5
Jyk7CisKKworZGVidWcoJ1Rlc3QgaW52YWxpZCB0b2tlbnMnKTsKKworLy8gVGVzdGluZyBleGNl
cHRpb24gZHVlIHRvIGludmFsaWQgdG9rZW4KKworLy8gc2hvdWxkVGhyb3cgZnJvbSBqcy10ZXN0
LXByZS5qcyBpcyBub3Qgc3VmZmljaWVudC4KK2Z1bmN0aW9uIHNob3VsZFRocm93RE9NRXhjZXB0
aW9uKGYsIGVjKQoreworICAgIHRyeSB7CisgICAgICAgIGYoKTsKKyAgICAgICAgdGVzdEZhaWxl
ZCgnRXhwZWN0ZWQgYW4gZXhjZXB0aW9uJyk7CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAg
aWYgKCEoZXggaW5zdGFuY2VvZiBET01FeGNlcHRpb24pKSB7CisgICAgICAgICAgICB0ZXN0RmFp
bGVkKCdFeGNlcHRpb24gaXMgbm90IGFuIGluc3RhbmNlIG9mIERPTUV4Y2VwdGlvbiwgZm91bmQ6
ICcgKworICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QudG9TdHJpbmcuY2FsbChleCkpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlmIChlYyAhPT0gZXguY29k
ZSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgnV3JvbmcgZXhjZXB0aW9uIGNvZGU6ICcgKyBl
eC5jb2RlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKyAgICB2YXIg
Zm9ybWF0dGVkRnVuY3Rpb24gPSBTdHJpbmcoZikucmVwbGFjZSgvXmZ1bmN0aW9uLitce1xzKi9t
LCAnJykuCisgICAgICAgIHJlcGxhY2UoLzs/XHMrXH0vbSwgJycpOworICAgIHRlc3RQYXNzZWQo
Zm9ybWF0dGVkRnVuY3Rpb24gKyAnIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNv
ZGUgJyArIGVjKTsKK30KKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkVGhyb3dET01FeGNl
cHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJycpOwor
fSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3No
b3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0
LmNvbnRhaW5zKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIp
OworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9u
KCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lO
VEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24o
ZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4IHknKTsKK30sIERPTUV4
Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3No
b3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0
LnJlbW92ZSgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1l
bnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVu
dC5jbGFzc0xpc3QucmVtb3ZlKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJB
Q1RFUl9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9u
KGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnJyk7Cit9LCBET01F
eGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkVGhy
b3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xl
KCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCisKK2Rl
YnVnKCdJbmRleGluZycpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJywgJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gg
eCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFsxXScsICd4Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSknLCAneCcp
OworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVu
dC5jbGFzc0xpc3RbMV0nLCAneScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNs
YXNzTGlzdC5pdGVtKDEpJywgJ3knKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRCZU51
bGwoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQuY2xhc3NM
aXN0Lml0ZW0oMCknKTsKKworY3JlYXRlRWxlbWVudCgneCB5IHonKTsKK3Nob3VsZEJlTnVsbCgn
ZWxlbWVudC5jbGFzc0xpc3RbNF0nKTsKK3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3Qu
aXRlbSg0KScpOworCitjcmVhdGVFbGVtZW50KCd4IHkgeicpOworc2hvdWxkQmVVbmRlZmluZWQo
J2VsZW1lbnQuY2xhc3NMaXN0Wy0xXScpOworCitkZWJ1ZygnVGVzdCBjYXNlIHNpbmNlIERPTVRv
a2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2ZScpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91
bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hvdWxkQmVG
YWxzZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCdYXCcpJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJywgJ3gnKTsKKworY3JlYXRlRWxlbWVudCgn
WCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcJ1hcJyknKTsK
K3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFswXScsICdYJyk7CisKKworZGVi
dWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScpOworLy8gVSswMDIwIFNQQUNFLCBVKzAwMDkgQ0hBUkFD
VEVSIFRBQlVMQVRJT04gKHRhYiksIFUrMDAwQSBMSU5FIEZFRUQgKExGKSwKKy8vIFUrMDAwQyBG
T1JNIEZFRUQgKEZGKSwgYW5kIFUrMDAwRCBDQVJSSUFHRSBSRVRVUk4gKENSKQorCitjcmVhdGVF
bGVtZW50KCd4XHUwMDIweScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3Qu
bGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMDl5Jyk7CitzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1
MDAwQXknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIp
OworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBDeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVu
dC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMER5Jyk7Citz
aG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworCitkZWJ1
ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlJyk7CisKKworLy8gU2FmYXJpIHJldHVy
bnMgb2JqZWN0CisvLyBGaXJlZm94IHJldHVybnMgb2JqZWN0CisvLyBJRTggcmV0dXJucyBvYmpl
Y3QKKy8vIENocm9tZSByZXR1cm5zIGZ1bmN0aW9uCisvLyBhc3NlcnRFcXVhbHMoJ29iamVjdCcs
IHR5cGVvZiBET01Ub2tlbkxpc3QpOworc2hvdWxkQmVUcnVlKCdcJ3VuZGVmaW5lZFwnICE9IHR5
cGVvZiBET01Ub2tlbkxpc3QnKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgRE9N
VG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmplY3QnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QnLCAnb2JqZWN0
Jyk7CisKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVjdG9yJywg
J0RPTVRva2VuTGlzdCcpOworCitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0ID09PSBl
bGVtZW50LmNsYXNzTGlzdCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCBlNTUzYmVj
ZWQ4ZTdkZGZkMzZhNzQxYTYzZjVmYWNmZjliMDU4ZjZlLi5iMGUwZTc1NGM2ZjZiZjQzZmQyNTc5
NjZkYjcxYzY3ODZjYWM0OTRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKQEAgLTU2MSw2ICs1NjEs
MTQgQEAgd2luZG93LkRPTVN0cmluZ0xpc3QucHJvdG90eXBlLmNvbnRhaW5zIFtmdW5jdGlvbl0K
IHdpbmRvdy5ET01TdHJpbmdMaXN0LnByb3RvdHlwZS5pdGVtIFtmdW5jdGlvbl0KIHdpbmRvdy5E
T01TdHJpbmdNYXAgW29iamVjdCBET01TdHJpbmdNYXBDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5ET01T
dHJpbmdNYXAucHJvdG90eXBlIFtvYmplY3QgRE9NU3RyaW5nTWFwUHJvdG90eXBlXQord2luZG93
LkRPTVRva2VuTGlzdCBbb2JqZWN0IERPTVRva2VuTGlzdENvbnN0cnVjdG9yXQord2luZG93LkRP
TVRva2VuTGlzdC5wcm90b3R5cGUgW29iamVjdCBET01Ub2tlbkxpc3RQcm90b3R5cGVdCit3aW5k
b3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5hZGQgW2Z1bmN0aW9uXQord2luZG93LkRPTVRva2Vu
TGlzdC5wcm90b3R5cGUuY29udGFpbnMgW2Z1bmN0aW9uXQord2luZG93LkRPTVRva2VuTGlzdC5w
cm90b3R5cGUuaXRlbSBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5y
ZW1vdmUgW2Z1bmN0aW9uXQord2luZG93LkRPTVRva2VuTGlzdC5wcm90b3R5cGUudG9TdHJpbmcg
W2Z1bmN0aW9uXQord2luZG93LkRPTVRva2VuTGlzdC5wcm90b3R5cGUudG9nZ2xlIFtmdW5jdGlv
bl0KIHdpbmRvdy5EYXRlIFtmdW5jdGlvbl0KIHdpbmRvdy5Eb2N1bWVudCBbb2JqZWN0IERvY3Vt
ZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlIFtvYmplY3QgRG9jdW1l
bnRQcm90b3R5cGVdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4
IGE3NmJmNzMxZGE1ZDU3NTJlYzYxYjAyNjJkMGU0MWU4ZDljMDg3NDAuLjBkMjM5ZWQ0ZDIxZjEw
NzFhMWMyYTM5ZTdiMjg5ZDcyNzkzNDVmY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMt
ZXhwZWN0ZWQudHh0CkBAIC00MCw2ICs0MCw3IEBAIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NSW1wbGVtZW50YXRpb24nKSBpcyAnb2JqCiBQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVBh
cnNlcicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ0RPTVN0cmluZ0xpc3QnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdET01TdHJpbmdNYXAnKSBp
cyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICdET01Ub2tlbkxpc3QnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdEYXRlJykgaXMgJ29iamVjdCcKIFBBU1Mg
dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRG9jdW1lbnQn
KSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICdEb2N1bWVudEZyYWdtZW50JykgaXMgJ29iamVjdCcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4
dAppbmRleCAyMDU1NzVhMzM2NzVhNjUzNDQzOTIwZGRjZDVjZDU2NDE5ZmNhYmE0Li5kNGEzMWRi
M2Q3ZjYyNmM4NWQzNzAwMzc3NzQ1MzczZmM1OThmYjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CkBA
IC03Nyw2ICs3Nyw5IEBAIFBBU1MgRE9NSW1wbGVtZW50YXRpb25Qcm90b3R5cGUgZnJvbSBpbm5l
ci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lCiBQQVNTIERPTVN0cmluZ01h
cCBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuZGF0YXNldAogUEFTUyBET01T
dHJpbmdNYXBDb25zdHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAu
ZGF0YXNldC5jb25zdHJ1Y3RvcgogUEFTUyBET01TdHJpbmdNYXBQcm90b3R5cGUgZnJvbSBpbm5l
ci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLmRhdGFzZXQuX19wcm90b19fCitQQVNTIERPTVRv
a2VuTGlzdCBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFzc0xpc3QK
K1BBU1MgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50
ZXN0Rm9ybS4wLmNsYXNzTGlzdC5jb25zdHJ1Y3RvcgorUEFTUyBET01Ub2tlbkxpc3RQcm90b3R5
cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLjAuY2xhc3NMaXN0Ll9fcHJv
dG9fXwogUEFTUyBET01XaW5kb3cgZnJvbSBpbm5lcgogUEFTUyBET01XaW5kb3dQcm90b3R5cGUg
ZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuZGVmYXVs
dFZpZXcuX19wcm90b19fCiBQQVNTIERvY3VtZW50UHJvdG90eXBlIGZyb20gaW5uZXIuZG9jdW1l
bnQuZm9ybXMudGVzdEZvcm0uMC5vd25lckRvY3VtZW50Ll9fcHJvdG9fXy5fX3Byb3RvX18KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhw
ZWN0ZWQudHh0CmluZGV4IDZlOGYxYzgzZTc1Nzc4NWZkN2YxMzQ4YWRlOGU4ZTQzY2NkMDgzZjUu
LmQ2Mzk3ODkyOWJiNWMyZDNiMTczNDRlNjQ3MTAzNmYwNTY2ZWFmNmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4
dApAQCAtNzcsNiArNzcsOCBAQCBQQVNTIGlubmVyLkRPTVN0cmluZ0xpc3QuaXNJbm5lciBpcyB0
cnVlCiBQQVNTIGlubmVyLkRPTVN0cmluZ0xpc3QuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVl
CiBQQVNTIGlubmVyLkRPTVN0cmluZ01hcC5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9N
U3RyaW5nTWFwLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5ET01Ub2tl
bkxpc3QuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkRPTVRva2VuTGlzdC5jb25zdHJ1Y3Rv
ci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRGF0ZS5pc0lubmVyIGlzIHRydWUKIFBBU1Mg
aW5uZXIuRGF0ZS5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRG9jdW1l
bnQuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwt
Y29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA1YWEwZDI4MWZjOGE1NjA4MWNmOWE4NWE4
MWQ5NzZkNmI3ZGI3ZTM3Li41OTBlMjEwM2Y5NTEwZTVjNzc3ZDZjOGEwMjU3Mjc4YjNiMDM1NDdk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKQEAgLTM4LDYgKzM4LDcgQEAgUEFTUyBET01JbXBsZW1lbnRhdGlvbi50b1N0
cmluZygpIGlzICdbb2JqZWN0IERPTUltcGxlbWVudGF0aW9uQ29uc3RydWN0b3JdJwogUEFTUyBE
T01QYXJzZXIudG9TdHJpbmcoKSBpcyAnW29iamVjdCBET01QYXJzZXJDb25zdHJ1Y3Rvcl0nCiBQ
QVNTIERPTVN0cmluZ0xpc3QudG9TdHJpbmcoKSBpcyAnW29iamVjdCBET01TdHJpbmdMaXN0Q29u
c3RydWN0b3JdJwogUEFTUyBET01TdHJpbmdNYXAudG9TdHJpbmcoKSBpcyAnW29iamVjdCBET01T
dHJpbmdNYXBDb25zdHJ1Y3Rvcl0nCitQQVNTIERPTVRva2VuTGlzdC50b1N0cmluZygpIGlzICdb
b2JqZWN0IERPTVRva2VuTGlzdENvbnN0cnVjdG9yXScKIFBBU1MgRG9jdW1lbnQudG9TdHJpbmco
KSBpcyAnW29iamVjdCBEb2N1bWVudENvbnN0cnVjdG9yXScKIFBBU1MgRG9jdW1lbnRGcmFnbWVu
dC50b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50RnJhZ21lbnRDb25zdHJ1Y3Rvcl0nCiBQ
QVNTIERvY3VtZW50VHlwZS50b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50VHlwZUNvbnN0
cnVjdG9yXScKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdz
Lm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggNDg2ZDhj
ZDNhZWE1MTVlOGM5ZTFkOTlhYzI1MTk5YzkyZjE1OWRlOS4uYTkyN2YxMWQ2Nzk3NjA1YTIzMDNl
N2Y2MGZiMGJiYjQxNjNjOTEwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQu
anNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3Mu
bWsKQEAgLTE1OSw2ICsxNTksNyBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRt
bC9KU0Jsb2IuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTQmxvYkJ1aWxkZXIuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRE9NRm9ybURhdGEuaCBcCisgICAgJChpbnRl
cm1lZGlhdGVzKS9odG1sL0pTRE9NVG9rZW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykv
aHRtbC9KU0RhdGFHcmlkQ29sdW1uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0Rh
dGFHcmlkQ29sdW1uTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxlLmgg
XApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dl
YkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKaW5kZXggOWI4ZjIyYzI5YTM4OWQ5
OWE3MjczZmVkNDYxMzA5YWNmNDdjM2NhMy4uYTczMTU3ZDcxYWNkZWJmZDdjMjg2MTZhYTZhMWRk
OTMxZDhhMjQ2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5n
cy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0xNDAs
NiArMTQwLDcgQEAgJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlhdGVz
KS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykKIEdFTiA6PSBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9iaW5kaW5ncy9WOEJsb2IuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5k
aW5ncy9WOEJsb2JCdWlsZGVyLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhE
T01Ub2tlbkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlk
Q29sdW1uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEYXRhR3JpZENvbHVt
bkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGUuaCBcCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQu
anNjYmluZGluZ3MubWsKaW5kZXggZTA3ZWQxZTRmZTU4MDhlMDI3YTcxYjhlNzZjNGQ0NTAzMWM5
NGExNi4uMDgxNjExMzQ5OWYzMzUwNTQ1ZGEwMWRjZTlmYTk4OTBkNDQ5MDU5NyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5q
c2NiaW5kaW5ncy5tawpAQCAtODMsNiArODMsNyBAQCBMT0NBTF9TUkNfRklMRVMgKz0gXAogCWJp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFD
dXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgXAorCWJpbmRp
bmdzL2pzL0pTRE9NVG9rZW5MaXN0LmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNl
LmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd1NoZWxsLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRjNGY3NTgxNjhhNjU1YjMxOGY2ODFhNmI4NTA0MTM0
OTY4N2RhMTguLmVhMTcxYWY4M2UzYTNiNDJhZGU0ODVlNzI5NGFjYjIyZGM1MGI5MWIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNjUgQEAKKzIwMTAtMDktMDcgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1l
bnQgSFRNTCA1J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwKKworICAgICAgICBUaGlz
IGFkZHMgYSBDbGFzc0xpc3QgY2xhc3MgdGhhdCBpbXBsZW1lbnRzIHRoZSBET01Ub2tlbkxpc3Qg
aW50ZXJmYWNlLiBDbGFzc0xpc3QgdXNlcyBhIFNwYWNlU3BsaXRTdHJpbmcgZm9yIGZhc3QKKyAg
ICAgICAgY29udGFpbnMgY2hlY2suIEluIHN0YW5kYXJkcyBtb2RlIHRoZSBleGlzdGluZyBjbGFz
c05hbWVzIGlzIHVzZWQgYnV0IGluIHF1aXJrcyBtb2RlIHdlIHVzZSBhbiBpbnRlcm5hbCBTcGFj
ZVNwbGl0U3RyaW5nCisgICAgICAgIGJlY2F1c2UgY2xhc3NMaXN0IGlzIGFsd2F5cyBjYXNlIHNl
bnNpdGl2ZS4KKworICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAg
ICAgICAgKiBBbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lk
LmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJD
b3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgICogZG9tL0RPTVRva2VuTGlz
dC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6fkRPTVRva2VuTGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OkRPTVRva2VuTGlzdCk6CisgICAg
ICAgICogZG9tL0RPTVRva2VuTGlzdC5pZGw6IEFkZGVkLgorICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsYXNzTGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpyZXNldENsYXNzTGlzdCk6IFRoaXMgaXMgY2FsbGVkIHdoZW4gdGhl
IGNsYXNzIGF0dHJpYnV0ZSBjaGFuZ2VzIHNvIHRoYXQgdGhlIGludGVyYWwgU3BhY2VTcGxpdFN0
cmluZyBjYW4KKyAgICAgICAgYmUgdXBkYXRlZCBhcyBuZWVkZWQuCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6IFRoaXMgbm93IGhhcyBh
biBPd25QdHIgdG8gYSBDbGFzc0xpc3QgaWYgdGhlIEVsZW1lbnQ6OmNsYXNzTGlzdCBpcyBldmVy
IGNhbGxlZC4KKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAqIGRv
bS9TdHlsZWRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9DbGFzc0xpc3QuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxOYW1lczo6dmFsaWRhdGVUb2tlbik6CisgICAgICAgIChX
ZWJDb3JlOjpDbGFzc0xpc3Q6OkNsYXNzTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDbGFzc0xp
c3Q6OnJlZik6CisgICAgICAgIChXZWJDb3JlOjpDbGFzc0xpc3Q6OmRlcmVmKToKKyAgICAgICAg
KFdlYkNvcmU6OkNsYXNzTGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNzTGlz
dDo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpDbGFzc0xpc3Q6OmNvbnRhaW5zKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNsYXNzTGlzdDo6Y29udGFpbnNJbnRlcm5hbCk6IFRoZSBpbnRlcm5hbCBt
ZXRob2RzIGRvIG5vIHZhbGlkYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpDbGFzc0xpc3Q6OmFk
ZCk6CisgICAgICAgIChXZWJDb3JlOjpDbGFzc0xpc3Q6OmFkZEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OkNsYXNzTGlzdDo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNzTGlz
dDo6cmVtb3ZlSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6Q2xhc3NMaXN0Ojp0b2dnbGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q2xhc3NMaXN0Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJD
b3JlOjpDbGFzc0xpc3Q6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNzTGlzdDo6Y2xh
c3NOYW1lcyk6CisgICAgICAgICogaHRtbC9DbGFzc0xpc3QuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpDbGFzc0xpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5p
ZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93LmlkbDoKKwogMjAxMC0wOS0wNyAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxp
YS5jb20+CiAKICAgICAgICAgQWRkIHJlbmRlcmluZy9Db2x1bW5JbmZvLmggdG8gdGhlIHNvdXJj
ZXMgbGlzdC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggODFmNDA3MDAxYzk2MWFjNGM2MTYyMmJiODBhYTE4
OTY4MGVlZmU4YS4uYzExYzVlYzFhYTEzOGE1MmI0ZGEzZjlkMGRmODY2MDA5OTJjM2JlYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKQEAgLTkxLDYgKzkxLDcgQEAKICNpbmNsdWRlICJKU0RPTVNlbGVjdGlvbi5j
cHAiCiAjaW5jbHVkZSAiSlNET01TdHJpbmdMaXN0LmNwcCIKICNpbmNsdWRlICJKU0RPTVN0cmlu
Z01hcC5jcHAiCisjaW5jbHVkZSAiSlNET01Ub2tlbkxpc3QuY3BwIgogI2luY2x1ZGUgIkpTRE9N
V2luZG93LmNwcCIKICNpbmNsdWRlICJKU0VsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTRW50aXR5
LmNwcCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA2ZmQxY2RlZTE2ZGQ5YjVlZGZjNDdlYjNjZTBjMzFj
MmEyZTMzZjI4Li44MTgxYmFkZmQzNGYxZTZmMTJiOTQ3ZmUxYTc2MTA3NTdjNTAwZGI1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xMjQsNiArMTI0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRE9N
U2VsZWN0aW9uIFwKICAgICBET01TdHJpbmdMaXN0IFwKICAgICBET01TdHJpbmdNYXAgXAorICAg
IERPTVRva2VuTGlzdCBcCiAgICAgRE9NV2luZG93IFwKICAgICBEYXRhYmFzZSBcCiAgICAgRGF0
YWJhc2VDYWxsYmFjayBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCAxZTQ0YWRjZGJiNzk3YzcxM2Q0OTg4NzM0OGUwZTA5
YjAyZTY1MDBkLi4yMjUwY2YzYmRjMGNiNzNhNjVhZWFmYTcxNDBlMjA4YTQwYmVkZTNlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KQEAgLTIxNCw2ICsyMTQsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TdHJpbmdMaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNET01TdHJpbmdNYXAuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
U3RyaW5nTWFwLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01Ub2tlbkxpc3QuY3Bw
IFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3cuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRE9NV2luZG93LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFbGVtZW50LmNwcCBc
CkBAIC0xMDIyLDYgKzEwMjQsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvZG9t
L0RPTVN0cmluZ0xpc3QuaCBcCiAJV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmNwcCBcCiAJV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmggXAorCVdlYkNvcmUvZG9tL0RPTVRva2VuTGlzdC5oIFwK
IAlXZWJDb3JlL2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmNwcCBcCiAJV2ViQ29yZS9kb20vRGF0
YXNldERPTVN0cmluZ01hcC5oIFwKIAlXZWJDb3JlL2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFy
c2VyLmNwcCBcCkBAIC0xMzM3LDYgKzEzNDAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdl
YkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaCBcCiAJV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNp
emVyLmNwcCBcCiAJV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmggXAorCVdlYkNvcmUv
aHRtbC9DbGFzc0xpc3QuY3BwIFwKKwlXZWJDb3JlL2h0bWwvQ2xhc3NMaXN0LmggXAogCVdlYkNv
cmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuY3BwIFwKIAlXZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNh
Y2hlLmggXAogCVdlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMzMyMWNiYjdk
NGJmM2I2MTFlMzMxOTVkYzI0MjBhMWU5Mzc2MzFmYy4uZDMwZDk1YzEzNGJjNzQwMGNjZWU1Yjhk
ZDQ0YTIwYmQ4MTQyZDBiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQzLDYgKzQzLDcgQEAKICAgICAgICAgICAgICdkb20v
RE9NSW1wbGVtZW50YXRpb24uaWRsJywKICAgICAgICAgICAgICdkb20vRE9NU3RyaW5nTGlzdC5p
ZGwnLAogICAgICAgICAgICAgJ2RvbS9ET01TdHJpbmdNYXAuaWRsJywKKyAgICAgICAgICAgICdk
b20vRE9NVG9rZW5MaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkV2ZW50
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsJywKICAg
ICAgICAgICAgICdkb20vRG9jdW1lbnQuaWRsJywKQEAgLTExMzMsNiArMTEzNCw3IEBACiAgICAg
ICAgICAgICAnZG9tL0RPTVN0cmluZ0xpc3QuaCcsCiAgICAgICAgICAgICAnZG9tL0RPTVN0cmlu
Z01hcC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9ET01TdHJpbmdNYXAuaCcsCisgICAgICAgICAg
ICAnZG9tL0RPTVRva2VuTGlzdC5oJywKICAgICAgICAgICAgICdkb20vRGF0YXNldERPTVN0cmlu
Z01hcC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmgnLAogICAg
ICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCcsCkBAIC0xNDkyLDYg
KzE0OTQsOCBAQAogICAgICAgICAgICAgJ2hpc3RvcnkvUGFnZUNhY2hlLmgnLAogICAgICAgICAg
ICAgJ2h0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuY3BwJywKICAgICAgICAgICAgICdodG1sL0FzeW5j
SW1hZ2VSZXNpemVyLmgnLAorICAgICAgICAgICAgJ2h0bWwvQ2xhc3NMaXN0LmNwcCcsCisgICAg
ICAgICAgICAnaHRtbC9DbGFzc0xpc3QuaCcsCiAgICAgICAgICAgICAnaHRtbC9Db2xsZWN0aW9u
Q2FjaGUuY3BwJywKICAgICAgICAgICAgICdodG1sL0NvbGxlY3Rpb25DYWNoZS5oJywKICAgICAg
ICAgICAgICdodG1sL0NvbGxlY3Rpb25UeXBlLmgnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggYTRjNjliMTBjMmEwZTY2MGNmNmZi
ZjcyNmFlM2YzOGUwNmNmMmE5Ny4uYmJmNTQwOTIzOGE5YWI1NjA1Y2Y0MjY1ZGYwN2I5OWYyMTNk
YjViMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNv
cmUucHJpCkBAIC0xMTAsNiArMTEwLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBkb20vRE9N
SW1wbGVtZW50YXRpb24uaWRsIFwKICAgICBkb20vRE9NU3RyaW5nTGlzdC5pZGwgXAogICAgIGRv
bS9ET01TdHJpbmdNYXAuaWRsIFwKKyAgICBkb20vRE9NVG9rZW5MaXN0LmlkbCBcCiAgICAgZG9t
L0VsZW1lbnQuaWRsIFwKICAgICBkb20vRW50aXR5LmlkbCBcCiAgICAgZG9tL0VudGl0eVJlZmVy
ZW5jZS5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KaW5kZXggNzc1YjA3ZWIzNWY4MDBmOGE5NmE2YmI5NDQzZDkyMzcyY2Q1MGQ2Zi4u
Y2Q0NDM2MjBjZDY4NDAxMDVjYTlkOWZjMjUwYjg5NGYyNjgxNDA5YyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC02MzksNiArNjM5
LDcgQEAgU09VUkNFUyArPSBcCiAgICAgaGlzdG9yeS9xdC9IaXN0b3J5SXRlbVF0LmNwcCBcCiAg
ICAgaGlzdG9yeS9QYWdlQ2FjaGUuY3BwIFwKICAgICBodG1sL0FzeW5jSW1hZ2VSZXNpemVyLmNw
cCBcCisgICAgaHRtbC9DbGFzc0xpc3QuY3BwIFwKICAgICBodG1sL0NvbGxlY3Rpb25DYWNoZS5j
cHAgXAogICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmNwcCBcCiAgICAgaHRtbC9ET01G
b3JtRGF0YS5jcHAgXApAQCAtMTI4Nyw2ICsxMjg4LDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9t
L0RPTUltcGxlbWVudGF0aW9uLmggXAogICAgIGRvbS9ET01TdHJpbmdMaXN0LmggXAogICAgIGRv
bS9ET01TdHJpbmdNYXAuaCBcCisgICAgZG9tL0RPTVRva2VuTGlzdC5oIFwKICAgICBkb20vRGF0
YXNldERPTVN0cmluZ01hcC5oIFwKICAgICBkb20vRHluYW1pY05vZGVMaXN0LmggXAogICAgIGRv
bS9FZGl0aW5nVGV4dC5oIFwKQEAgLTE0MjksNiArMTQzMSw3IEBAIEhFQURFUlMgKz0gXAogICAg
IGh0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBcCiAgICAgaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmggXAogICAgIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxl
LmggXAorICAgIGh0bWwvQ2xhc3NMaXN0LmggXAogICAgIGh0bWwvQ29sbGVjdGlvbkNhY2hlLmgg
XAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxp
c3QuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBmM2U0OWY1ZDNk
MWVlZWU5NTBkNGNkMjAyZDhmYmUyYzY2OThkNGRlLi41ZmY5YjVjMmViMGY4MTNjYjdiNWJhYmRm
MTFmY2Q5OTRlOTg5ZmQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAg
LTQwMzMsNiArNDAzMywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJ
UmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTRE9NVG9rZW5MaXN0LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01Ub2tlbkxpc3QuaCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01XaW5kb3cuY3BwIg0KIAkJCQk+DQog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTMzNjkzLDYgKzMzNzAxLDEwIEBACiAJCQkJPg0K
IAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxET01Ub2tl
bkxpc3QuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGRvbVxEeW5hbWljTm9kZUxpc3QuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAg
LTM3MzQ5LDYgKzM3MzYxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcQ2xhc3NMaXN0LmNwcCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcQ2xhc3NMaXN0LmgiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1s
XENvbGxlY3Rpb25DYWNoZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxNWNjMDZjYjRk
M2VlNWQ2ODM0MzM5MGNmNDg2NzQxOTY5OWUxY2U3Li4zY2FkMTcxYmQ3Njc5ZjA5MjE4NWVmMTFh
MzAxNTU3Y2FjYTE4YjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTQxNSw2ICsxNDE1LDEzIEBACiAJCTc2OTNCQUQzMTA2QzJEQ0EwMDdCMDgyMyAv
KiBQbHVnaW5IYWx0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzY5M0JBQ0YxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5jcHAgKi87
IH07CiAJCTc2OTNCQUQ0MTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTNCQUQwMTA2QzJEQ0Ew
MDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuaCAqLzsgfTsKIAkJNzY5M0JBRDUxMDZDMkRDQTAwN0Iw
ODIzIC8qIFBsdWdpbkhhbHRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzY5M0JBRDExMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRl
ckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTc2OTQ1NjMyMTIxNEQ4RDYwMDA3Q0JBRSAvKiBET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjMwMTIxNEQ4RDYwMDA3
Q0JBRSAvKiBET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY5NDU2MzYxMjE0RDhFNDAwMDdDQkFF
IC8qIENsYXNzTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Njk0NTYzNDEyMTREOEU0MDAwN0NCQUUgLyogQ2xhc3NMaXN0LmNwcCAqLzsgfTsK
KwkJNzY5NDU2MzcxMjE0RDhFNDAwMDdDQkFFIC8qIENsYXNzTGlzdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2MzUxMjE0RDhFNDAwMDdDQkFF
IC8qIENsYXNzTGlzdC5oICovOyB9OworCQk3Njk0NTYzQzEyMTREOTdDMDAwN0NCQUUgLyogSlNE
T01Ub2tlbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzY5NDU2M0ExMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLzsg
fTsKKwkJNzY5NDU2M0QxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Njk0NTYzQjEyMTREOTdD
MDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY5NDU2NUIxMjE0REI2MzAw
MDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2NTkxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2Vu
TGlzdC5oICovOyB9OworCQk3Njk0NTY1QzEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5M
aXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5
NDU2NUExMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSAqLzsgfTsKIAkJNzZD
REQyRjIxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkNERDJFQzExMDNEQTY2
MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcCAqLzsgfTsKIAkJNzZDREQyRjMx
MTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUQxMTAzREE2NjAwNjgwNTIx
IC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5oICovOyB9OwogCQk3NkNERDJGNDExMDNEQTY2MDA2
ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUUxMTAzREE2NjAwNjgwNTIxIC8q
IEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCAqLzsgfTsKQEAgLTczNDAsNiArNzM0Nywx
NCBAQAogCQk3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpbkhhbHRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2OTNCQUQwMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVn
aW5IYWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luSGFsdGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2OTNCQUQxMTA2QzJEQ0EwMDdCMDgy
MyAvKiBQbHVnaW5IYWx0ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGx1Z2luSGFsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2
OTQ1NjMwMTIxNEQ4RDYwMDA3Q0JBRSAvKiBET01Ub2tlbkxpc3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTc2OTQ1NjMxMTIxNEQ4RDYwMDA3Q0JBRSAvKiBET01Ub2tlbkxpc3QuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IERPTVRva2VuTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTc2OTQ1NjM0MTIxNEQ4RTQwMDA3Q0JBRSAvKiBDbGFzc0xpc3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xhc3NMaXN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5NDU2MzUxMjE0RDhFNDAwMDdDQkFFIC8qIENsYXNzTGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGFzc0xpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5NDU2M0ExMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9N
VG9rZW5MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9N
VG9rZW5MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5NDU2M0IxMjE0
RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxp
c3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01ET01Ub2tl
bkxpc3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVDMTEwM0RBNjYw
MDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUQxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxp
dHlNZW51TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmls
aXR5TWVudUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUUxMTAz
REE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNDQyLDYgKzEzNDU3LDggQEAKIAkJ
CWNoaWxkcmVuID0gKAogCQkJCTJFMkQ5OUU1MTBFMkJDMUMwMDQ5NjMzNyAvKiBET01CbG9iLmgg
Ki8sCiAJCQkJMkUyRDk5RTYxMEUyQkMxQzAwNDk2MzM3IC8qIERPTUJsb2IubW0gKi8sCisJCQkJ
NzY5NDU2NTkxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5oICovLAorCQkJCTc2
OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi8sCiAJCQkJQkMw
MEVGRkUwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGUuaCAqLywKIAkJCQlCQzAwRUZGRjBFMEEx
ODU1MDBGRDA0RTMgLyogRE9NRmlsZS5tbSAqLywKIAkJCQkyRTNCQzEwNjExN0Q0Nzk4MDBCOTQw
OUEgLyogRE9NRmlsZUVycm9yLmggKi8sCkBAIC0xNDA0Niw2ICsxNDA2Myw4IEBACiAJCQkJOTdD
MUY1NTExMjI4NTU4ODAwRURFNjE2IC8qIHBhcnNlciAqLywKIAkJCQlCMDE0OUU3OTExQTRCMjE1
MDAxOTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuY3BwICovLAogCQkJCUIwMTQ5RTdBMTFBNEIy
MTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oICovLAorCQkJCTc2OTQ1NjM0MTIxNEQ4
RTQwMDA3Q0JBRSAvKiBDbGFzc0xpc3QuY3BwICovLAorCQkJCTc2OTQ1NjM1MTIxNEQ4RTQwMDA3
Q0JBRSAvKiBDbGFzc0xpc3QuaCAqLywKIAkJCQk5M0M0NDFFRDBGODEzQTFBMDBDMUE2MzQgLyog
Q29sbGVjdGlvbkNhY2hlLmNwcCAqLywKIAkJCQk5M0M0NDFFRTBGODEzQTFBMDBDMUE2MzQgLyog
Q29sbGVjdGlvbkNhY2hlLmggKi8sCiAJCQkJOTNDNDQxRkYwRjgxM0FFMTAwQzFBNjM0IC8qIENv
bGxlY3Rpb25UeXBlLmggKi8sCkBAIC0xNDQ5OSw2ICsxNDUxOCw4IEBACiAJCQkJQkM3N0QxNjgw
RkYxOUY1NTAwNzA4ODdCIC8qIEpTRGF0YUdyaWRDb2x1bW5MaXN0LmggKi8sCiAJCQkJMkUwODg4
RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovLAogCQkJCTJFMDg4OEQz
MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8sCisJCQkJNzY5NDU2M0ExMjE0
RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLywKKwkJCQk3Njk0NTYzQjEyMTRE
OTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuaCAqLywKIAkJCQk0OUVFQ0VGNDEwNTA3MEM0
MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuY3BwICovLAogCQkJCTQ5RUVDRUY1MTA1MDcwQzQw
MDA5OUZBQiAvKiBKU0Zsb2F0MzJBcnJheS5oICovLAogCQkJCUJDOTdFNDEwMTA5MTU0RkEwMDEw
RDM2MSAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uLmNwcCAqLywKQEAgLTE3NDY2LDYgKzE3NDg3LDgg
QEAKIAkJCQlCQzY0NjQwNzExRDdGMzA0MDA2NDU1QjAgLyogRE9NU3RyaW5nTWFwLmNwcCAqLywK
IAkJCQlCQzY0NjQwODExRDdGMzA0MDA2NDU1QjAgLyogRE9NU3RyaW5nTWFwLmggKi8sCiAJCQkJ
QkM2NDY0NzkxMUQ4MDBDRDAwNjQ1NUIwIC8qIERPTVN0cmluZ01hcC5pZGwgKi8sCisJCQkJNzY5
NDU2MzAxMjE0RDhENjAwMDdDQkFFIC8qIERPTVRva2VuTGlzdC5oICovLAorCQkJCTc2OTQ1NjMx
MTIxNEQ4RDYwMDA3Q0JBRSAvKiBET01Ub2tlbkxpc3QuaWRsICovLAogCQkJCUJDN0ZBNjFFMEQx
RjBDQkQwMERCMjJBOSAvKiBEeW5hbWljTm9kZUxpc3QuY3BwICovLAogCQkJCUJDN0ZBNjFGMEQx
RjBDQkQwMERCMjJBOSAvKiBEeW5hbWljTm9kZUxpc3QuaCAqLywKIAkJCQk2NTUwQjY5OTA5OURG
MDI3MDA5MEQ3ODEgLyogRWRpdGluZ1RleHQuY3BwICovLApAQCAtMjA0MzYsNiArMjA0NTksMTAg
QEAKIAkJCQk4OTg3ODVGMTEyMkUxRTg3MDAzQUFCREEgLyogSlNGaWxlRXhjZXB0aW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4OTg3ODVGNTEyMkUxRUFDMDAzQUFCREEgLyogSlNGaWxlUmVhZGVy
U3luYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNERDQ1NEUxMjM2Qzk1QzAwOUE3OTg1IC8qIENv
bHVtbkluZm8uaCBpbiBIZWFkZXJzICovLAorCQkJCTc2OTQ1NjMyMTIxNEQ4RDYwMDA3Q0JBRSAv
KiBET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTc2OTQ1NjM3MTIxNEQ4RTQwMDA3
Q0JBRSAvKiBDbGFzc0xpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTc2OTQ1NjNEMTIxNEQ5N0Mw
MDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzY5NDU2NUIx
MjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0y
Mjg5OSw2ICsyMjkyNiw5IEBACiAJCQkJODk4Nzg1QjgxMjJDQTJBNzAwM0FBQkRBIC8qIEpTTWV0
YWRhdGFDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTg3ODVGMDEyMkUxRTg3MDAz
QUFCREEgLyogSlNGaWxlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5ODc4NUY0
MTIyRTFFQUMwMDNBQUJEQSAvKiBKU0ZpbGVSZWFkZXJTeW5jLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTc2OTQ1NjM2MTIxNEQ4RTQwMDA3Q0JBRSAvKiBDbGFzc0xpc3QuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNzY5NDU2M0MxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTc2OTQ1NjVDMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tl
bkxpc3QubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtCmluZGV4IDFhMTE0YTQyOTdlMTQ5MjkzM2JhYjI4M2UzNjRmNWNhMTQ3OTJi
Y2YuLjgwMzU0MmU2OWQ4MmRjYmRmNTI3OGNkZTcyZDA2YjU1NTQyYjcxMTYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMjQwLDcgKzI0MCw3IEBA
IHN1YiBJbmRleEdldHRlclJldHVybnNTdHJpbmdzCiB7CiAgICAgbXkgJHR5cGUgPSBzaGlmdDsK
IAotICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJDU1NTdHlsZURlY2xhcmF0aW9uIiBvciAkdHlw
ZSBlcSAiTWVkaWFMaXN0IiBvciAkdHlwZSBlcSAiQ1NTVmFyaWFibGVzRGVjbGFyYXRpb24iIG9y
ICR0eXBlIGVxICJET01TdHJpbmdMaXN0IjsKKyAgICByZXR1cm4gMSBpZiAkdHlwZSBlcSAiQ1NT
U3R5bGVEZWNsYXJhdGlvbiIgb3IgJHR5cGUgZXEgIk1lZGlhTGlzdCIgb3IgJHR5cGUgZXEgIkNT
U1ZhcmlhYmxlc0RlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiRE9NU3RyaW5nTGlzdCIgb3IgJHR5
cGUgZXEgIkRPTVRva2VuTGlzdCI7CiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0RPTVRva2VuTGlzdC5oIGIvV2ViQ29yZS9kb20vRE9NVG9rZW5MaXN0LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjhlYjRjNjQzNmY4MzE4NTE0ZjI2NDk4NDQ2ZTM0MWJjNzQ4NzQxNgotLS0gL2Rl
di9udWxsCisrKyBiL1dlYkNvcmUvZG9tL0RPTVRva2VuTGlzdC5oCkBAIC0wLDAgKzEsNjEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIERPTVRva2VuTGlzdF9oCisjZGVmaW5lIERPTVRva2VuTGlzdF9oCisKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVk
ZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRE9NVG9rZW5MaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3B1YmxpYzoKKyAgICB2aXJ0
dWFsIH5ET01Ub2tlbkxpc3QoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCByZWYoKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgPSAwOworCisgICAgdmlydHVhbCB1bnNpZ25lZCBsZW5n
dGgoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcgaXRlbSh1bnNp
Z25lZCBpbmRleCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBjb250YWlucyhjb25zdCBB
dG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBhZGQoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYg
ZWMpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9r
ZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKSA9IDA7CisgICAgdmlydHVhbCBib29sIHRvZ2dsZShjb25z
dCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykgPSAwOworICAgIHZpcnR1
YWwgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3QgPSAwOworCitwcm90ZWN0ZWQ6CisgICAgRE9NVG9r
ZW5MaXN0KCkgeyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBE
T01Ub2tlbkxpc3RfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRE9NVG9rZW5MaXN0LmlkbCBi
L1dlYkNvcmUvZG9tL0RPTVRva2VuTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmEzNGYwMTMzODY1MzMw
MDU1ZjZhNTM0N2JlNWJiYjdmMDIyMzJiYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvZG9t
L0RPTVRva2VuTGlzdC5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGlu
dGVyZmFjZSBbCisgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IsCisgICAgICAgIEhhc0luZGV4
R2V0dGVyCisgICAgXSBET01Ub2tlbkxpc3QgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAgIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGxd
IERPTVN0cmluZyBpdGVtKGluIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICAg
ICAgYm9vbGVhbiBjb250YWlucyhpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNlcHRp
b24pOworICAgICAgICB2b2lkIGFkZChpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNl
cHRpb24pOworICAgICAgICB2b2lkIHJlbW92ZShpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNlcyhE
T01FeGNlcHRpb24pOworICAgICAgICBib29sZWFuIHRvZ2dsZShpbiBET01TdHJpbmcgdG9rZW4p
IHJhaXNlcyhET01FeGNlcHRpb24pOworCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBU
KSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCisgICAgICAgIFtEb250RW51bV0gRE9NU3RyaW5nIHRv
U3RyaW5nKCk7CisjZW5kaWYKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDY5YmQxNjA5Zjk3ZDgx
ZWYyZmUwMzU4ZGM3ZWZjZDMyY2FkMDU3NjQuLjM5YmMwMTI1MTM2OTM3M2ZlYzUzZTUxNDk4M2Vi
ZWUyNjE0NDc0YjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0zMSw4ICszMSwxMCBAQAogI2luY2x1ZGUgIkNTU1Bh
cnNlci5oIgogI2luY2x1ZGUgIkNTU1NlbGVjdG9yTGlzdC5oIgogI2luY2x1ZGUgIkNTU1N0eWxl
U2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDbGFzc0xpc3QuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0
LmgiCiAjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3Qu
aCIKICNpbmNsdWRlICJEYXRhc2V0RE9NU3RyaW5nTWFwLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmgiCkBAIC0xNTUwLDYgKzE1NTIsMjMgQEAg
Ym9vbCBFbGVtZW50Ojp3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3Rv
ciwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitET01Ub2tlbkxp
c3QqIEVsZW1lbnQ6OmNsYXNzTGlzdCgpCit7CisgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0g
ZW5zdXJlUmFyZURhdGEoKTsKKyAgICBpZiAoIWRhdGEtPm1fY2xhc3NMaXN0KQorICAgICAgICBk
YXRhLT5tX2NsYXNzTGlzdCA9IENsYXNzTGlzdDo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVybiBk
YXRhLT5tX2NsYXNzTGlzdC5nZXQoKTsKK30KKwordm9pZCBFbGVtZW50OjpyZXNldENsYXNzTGlz
dChjb25zdCBTdHJpbmcmIG5ld0NsYXNzTmFtZSkKK3sKKyAgICBpZiAoaGFzUmFyZURhdGEoKSkg
eworICAgICAgICBFbGVtZW50UmFyZURhdGEqIGRhdGEgPSByYXJlRGF0YSgpOworICAgICAgICBp
ZiAoZGF0YSAmJiBkYXRhLT5tX2NsYXNzTGlzdCkKKyAgICAgICAgICAgIGRhdGEtPm1fY2xhc3NM
aXN0LT5yZXNldChuZXdDbGFzc05hbWUpOworICAgIH0KK30KKwogRE9NU3RyaW5nTWFwKiBFbGVt
ZW50OjpkYXRhc2V0KCkKIHsKICAgICBFbGVtZW50UmFyZURhdGEqIGRhdGEgPSBlbnN1cmVSYXJl
RGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvV2ViQ29yZS9kb20v
RWxlbWVudC5oCmluZGV4IDViYmRkYzJlOTc0NTg0ZTVkMzMxNTEwOTg1YzcwOGNlYjI5ZjMyMjku
LmNjODllMTUyNDYxMDlkODQ4OTIxM2Y0MzA2NDA1NTIxZDcyY2RhZjggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTM2LDYg
KzM2LDcgQEAgY2xhc3MgQXR0cmlidXRlOwogY2xhc3MgQ2xpZW50UmVjdDsKIGNsYXNzIENsaWVu
dFJlY3RMaXN0OwogY2xhc3MgRE9NU3RyaW5nTWFwOworY2xhc3MgRE9NVG9rZW5MaXN0OwogY2xh
c3MgRWxlbWVudFJhcmVEYXRhOwogY2xhc3MgSW50U2l6ZTsKIApAQCAtMjY5LDYgKzI3MCw3IEBA
IHB1YmxpYzoKIAogICAgIGJvb2wgd2Via2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0cmluZyYg
c2VsZWN0b3JzLCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICBET01Ub2tlbkxpc3QqIGNsYXNzTGlz
dCgpOwogICAgIERPTVN0cmluZ01hcCogZGF0YXNldCgpOwogCiAgICAgdmlydHVhbCBib29sIGlz
Rm9ybUNvbnRyb2xFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTMyMiw2ICsz
MjQsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCByZWNhbGNTdHlsZUlmTmVlZGVkQWZ0ZXJBdHRy
aWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSopOwogICAgIHZvaWQgdXBkYXRlQWZ0ZXJBdHRyaWJ1dGVD
aGFuZ2VkKEF0dHJpYnV0ZSopOwogCisgICAgdm9pZCByZXNldENsYXNzTGlzdChjb25zdCBTdHJp
bmcmIG5ld0NsYXNzTmFtZSk7CisKIHByaXZhdGU6CiAgICAgdm9pZCBzY3JvbGxCeVVuaXRzKGlu
dCB1bml0cywgU2Nyb2xsR3JhbnVsYXJpdHkpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDhl
MzM4YWJjNjgwZjI0NGQyZjRhZmI2YWVlZmI1NjMzNTJhYTNmZjIuLjA2YmZlMGM3ZGFiNzI4MjUx
NzY2ZDdlNWFlZGU0YmMyZWM4NmU2MWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0yMiw2ICsy
Miw3IEBACiAjaWZuZGVmIEVsZW1lbnRSYXJlRGF0YV9oCiAjZGVmaW5lIEVsZW1lbnRSYXJlRGF0
YV9oCiAKKyNpbmNsdWRlICJDbGFzc0xpc3QuaCIKICNpbmNsdWRlICJEYXRhc2V0RE9NU3RyaW5n
TWFwLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgpA
QCAtNDIsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX2NvbXB1
dGVkU3R5bGU7CiAKICAgICBPd25QdHI8RGF0YXNldERPTVN0cmluZ01hcD4gbV9kYXRhc2V0RE9N
U3RyaW5nTWFwOworICAgIE93blB0cjxDbGFzc0xpc3Q+IG1fY2xhc3NMaXN0OwogfTsKIAogaW5s
aW5lIEludFNpemUgZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50
LmNwcAppbmRleCBhMTU4ZTJlYWU1YmJiNjRkYzZlYTgxMmU4NTY4MzJlYWUwMTQ2NGExLi42NTUx
NGZiOTVhYjUyMDdmZGUyMjRjYzlkOWQzZDBhOWUxZTM3MTQ2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9TdHlsZWRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNw
cApAQCAtMjE3LDggKzIxNywxMCBAQCB2b2lkIFN0eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRl
Q2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQogICAgIH0KICAgICBi
b29sIGhhc0NsYXNzID0gaSA8IGxlbmd0aDsKICAgICBzZXRIYXNDbGFzcyhoYXNDbGFzcyk7Ci0g
ICAgaWYgKGhhc0NsYXNzKQorICAgIGlmIChoYXNDbGFzcykgewogICAgICAgICBhdHRyaWJ1dGVz
KCktPnNldENsYXNzKG5ld0NsYXNzU3RyaW5nKTsKKyAgICAgICAgcmVzZXRDbGFzc0xpc3QobmV3
Q2xhc3NTdHJpbmcpOworICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgaWYgKGF0dHJpYnV0ZU1h
cCgpKSAgICAKICAgICAgICAgICAgIGF0dHJpYnV0ZU1hcCgpLT5jbGVhckNsYXNzKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmggYi9XZWJDb3JlL2RvbS9TdHlsZWRF
bGVtZW50LmgKaW5kZXggODA0MGRiZjFlMzY4YWNiN2Y0ZWE4ZTgzNTdhMWIxNWFmODA0MmYwMy4u
NGI2MjM4ODE0NDRlMTg1NDA3NjM2M2MwY2M2OTIxYjk4NzNkMzA2MSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vU3R5bGVkRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQu
aApAQCAtMzIsNiArMzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBBdHRyaWJ1
dGU7CitjbGFzcyBDbGFzc0xpc3Q7CiBjbGFzcyBDU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlv
bjsKIAogY2xhc3MgU3R5bGVkRWxlbWVudCA6IHB1YmxpYyBFbGVtZW50IHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuY3BwIGIvV2ViQ29yZS9odG1sL0NsYXNzTGlzdC5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODMxZTY3ZDE3OGFhZmY0MDQ2ZjU0MjQxYWQ4Y2VjNjhiZmQ1NjEzYQotLS0g
L2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuY3BwCkBAIC0wLDAgKzEsMjA3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNsYXNzTGlzdC5oIgorCisjaW5jbHVk
ZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlNwYWNlU3Bs
aXRTdHJpbmcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOworCituYW1lc3BhY2UgeworCitib29sIHZhbGlkYXRlVG9rZW4oY29uc3QgQXRvbWlj
U3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHRva2VuLmlzRW1w
dHkoKSkgeworICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGggPSB0b2tlbi5sZW5ndGgoKTsKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKGlz
Q2xhc3NXaGl0ZXNwYWNlKHRva2VuW2ldKSkgeworICAgICAgICAgICAgZWMgPSBJTlZBTElEX0NI
QVJBQ1RFUl9FUlI7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UKKworQ2xhc3NMaXN0OjpD
bGFzc0xpc3QoRWxlbWVudCogZWxlbWVudCkKKyAgICA6IG1fZWxlbWVudChlbGVtZW50KQorewor
ICAgIGlmIChtX2VsZW1lbnQtPmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpKQorICAgICAgICBt
X2NsYXNzTmFtZXMgPSBuZXcgU3BhY2VTcGxpdFN0cmluZyhtX2VsZW1lbnQtPmdldEF0dHJpYnV0
ZShjbGFzc0F0dHIpLCBmYWxzZSk7Cit9CisKK3ZvaWQgQ2xhc3NMaXN0OjpyZWYoKQoreworICAg
IG1fZWxlbWVudC0+cmVmKCk7Cit9CisKK3ZvaWQgQ2xhc3NMaXN0OjpkZXJlZigpCit7CisgICAg
bV9lbGVtZW50LT5kZXJlZigpOworfQorCit1bnNpZ25lZCBDbGFzc0xpc3Q6Omxlbmd0aCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGNsYXNzTmFtZXMoKS0+c2l6ZSgpOworfQorCitjb25zdCBBdG9t
aWNTdHJpbmcgQ2xhc3NMaXN0OjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIGlm
IChpbmRleCA+PSBsZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZygpOworICAg
IHJldHVybiAoKmNsYXNzTmFtZXMoKSlbaW5kZXhdOworfQorCitib29sIENsYXNzTGlzdDo6Y29u
dGFpbnMoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0
Cit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgcmV0dXJuIGNvbnRhaW5zSW50ZXJuYWwodG9rZW4pOworfQorCitib29sIENs
YXNzTGlzdDo6Y29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25z
dAoreworICAgIHJldHVybiBjbGFzc05hbWVzKCktPmNvbnRhaW5zKHRva2VuKTsKK30KKwordm9p
ZCBDbGFzc0xpc3Q6OmFkZChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sICBlYykpCisgICAgICAgIHJl
dHVybjsKKyAgICBhZGRJbnRlcm5hbCh0b2tlbik7Cit9CisKK3ZvaWQgQ2xhc3NMaXN0OjphZGRJ
bnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAgIGNvbnN0IEF0
b21pY1N0cmluZyBvbGRDbGFzc05hbWUobV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUoY2xhc3NBdHRy
KSk7CisgICAgaWYgKG9sZENsYXNzTmFtZS5pc0VtcHR5KCkpCisgICAgICAgIG1fZWxlbWVudC0+
c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgdG9rZW4pOworICAgIGVsc2UgaWYgKCFjb250YWluc0lu
dGVybmFsKHRva2VuKSkKKyAgICAgICAgbV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRy
LCBvbGRDbGFzc05hbWUgKyAiICIgKyB0b2tlbik7Cit9CisKK3ZvaWQgQ2xhc3NMaXN0OjpyZW1v
dmUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAg
aWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCAgZWMpKQorICAgICAgICByZXR1cm47CisgICAgcmVt
b3ZlSW50ZXJuYWwodG9rZW4pOworfQorCit2b2lkIENsYXNzTGlzdDo6cmVtb3ZlSW50ZXJuYWwo
Y29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbikgY29uc3QKK3sKKyAgICAvLyBDaGVjayB1c2luZyBj
b250YWlucyBmaXJzdCBzaW5jZSBpdCB1c2VzIEF0b21pY1N0cmluZyBjb21wYXJpc29ucyBpbnN0
ZWFkCisgICAgLy8gb2YgY2hhcmFjdGVyIGJ5IGNoYXJhY3RlciB0ZXN0aW5nLgorICAgIGlmICgh
Y29udGFpbnNJbnRlcm5hbCh0b2tlbikpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIEFsZ29y
aXRobSBkZWZpbmVkIGF0IGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJy
ZW50LXdvcmsvbXVsdGlwYWdlL2NvbW1vbi1taWNyb3N5bnRheGVzLmh0bWwjcmVtb3ZlLWEtdG9r
ZW4tZnJvbS1hLXN0cmluZworCisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBpbnB1dCA9IG1fZWxl
bWVudC0+Z2V0QXR0cmlidXRlKGNsYXNzQXR0cik7CisgICAgY29uc3QgdW5zaWduZWQgaW5wdXRM
ZW5ndGggPSBpbnB1dC5sZW5ndGgoKTsKKyAgICBTdHJpbmcgb3V0cHV0OyAvLyAzCisgICAgdW5z
aWduZWQgcG9zaXRpb24gPSAwOyAvLyA0CisKKyAgICAvLyBTdGVwIDUKKyAgICB3aGlsZSAocG9z
aXRpb24gPCBpbnB1dExlbmd0aCkgeworICAgICAgICBpZiAoaXNDbGFzc1doaXRlc3BhY2UoaW5w
dXRbcG9zaXRpb25dKSkgeyAvLyA2CisgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKGlucHV0W3Bv
c2l0aW9uKytdKTsgLy8gNi4xLCA2LjIKKyAgICAgICAgICAgIGNvbnRpbnVlOyAvLyA2LjMKKyAg
ICAgICAgfQorCisgICAgICAgIC8vIFN0ZXAgNworICAgICAgICBTdHJpbmcgczsKKyAgICAgICAg
d2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGggJiYgIWlzQ2xhc3NXaGl0ZXNwYWNlKGlucHV0
W3Bvc2l0aW9uXSkpCisgICAgICAgICAgICBzLmFwcGVuZChpbnB1dFtwb3NpdGlvbisrXSk7CisK
KyAgICAgICAgLy8gU3RlcCA4CisgICAgICAgIGlmIChzID09IHRva2VuKSB7CisgICAgICAgICAg
ICAvLyBTdGVwIDguMQorICAgICAgICAgICAgd2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGgg
JiYgaXNDbGFzc1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkKKyAgICAgICAgICAgICAgICAr
K3Bvc2l0aW9uOworCisgICAgICAgICAgICAvLyBTdGVwIDguMgorICAgICAgICAgICAgdW5zaWdu
ZWQgaiA9IG91dHB1dC5sZW5ndGgoKTsKKyAgICAgICAgICAgIHdoaWxlIChqID4gMCAmJiBpc0Ns
YXNzV2hpdGVzcGFjZShvdXRwdXRbaiAtIDFdKSkKKyAgICAgICAgICAgICAgICAtLWo7CisgICAg
ICAgICAgICBvdXRwdXQudHJ1bmNhdGUoaik7CisKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4zCisg
ICAgICAgICAgICBpZiAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiAhb3V0cHV0LmlzRW1wdHko
KSkKKyAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCcgJyk7CisgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChzKTsgLy8gU3RlcCA5CisgICAgfQorCisgICAgbV9l
bGVtZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCBvdXRwdXQpOworfQorCitib29sIENsYXNz
TGlzdDo6dG9nZ2xlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwgIGVjKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgaWYgKGNvbnRhaW5zSW50ZXJuYWwodG9rZW4pKSB7CisgICAgICAgIHJl
bW92ZUludGVybmFsKHRva2VuKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBh
ZGRJbnRlcm5hbCh0b2tlbik7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK1N0cmluZyBDbGFzc0xp
c3Q6OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9lbGVtZW50LT5nZXRBdHRyaWJ1
dGUoY2xhc3NBdHRyKTsKK30KKwordm9pZCBDbGFzc0xpc3Q6OnJlc2V0KGNvbnN0IFN0cmluZyYg
bmV3Q2xhc3NOYW1lKQoreworICAgIGlmIChtX2VsZW1lbnQtPmRvY3VtZW50KCktPmluUXVpcmtz
TW9kZSgpKQorICAgICAgICBtX2NsYXNzTmFtZXMtPnNldChuZXdDbGFzc05hbWUsIGZhbHNlKTsK
K30KKworY29uc3QgU3BhY2VTcGxpdFN0cmluZyogQ2xhc3NMaXN0OjpjbGFzc05hbWVzKCkgY29u
c3QKK3sKKyAgICBpZiAobV9lbGVtZW50LT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSkKKyAg
ICAgICAgcmV0dXJuIG1fY2xhc3NOYW1lcy5nZXQoKTsKKyAgICByZXR1cm4gJm1fZWxlbWVudC0+
YXR0cmlidXRlTWFwKCktPmNsYXNzTmFtZXMoKTsKK30KKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvQ2xhc3NMaXN0LmggYi9XZWJDb3JlL2h0bWwvQ2xhc3NMaXN0LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjg5
MjgzNzE0NTE0N2E0MjNlNjlmZDBjMTgwMjZiZTI4YzM1NGI5NAotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuaApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDbGFzc0xp
c3RfaAorI2RlZmluZSBDbGFzc0xpc3RfaAorCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCisj
aW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEVsZW1lbnQ7CisKK2NsYXNzIENsYXNzTGlzdCA6IHB1YmxpYyBET01Ub2tlbkxpc3QgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPENsYXNzTGlzdD4gY3JlYXRlKEVsZW1lbnQqIGVs
ZW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IENsYXNzTGlzdChlbGVtZW50KTsKKyAg
ICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVmKCk7CisgICAgdmlydHVhbCB2b2lkIGRlcmVmKCk7
CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OworICAgIHZpcnR1YWwgY29u
c3QgQXRvbWljU3RyaW5nIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgIHZpcnR1YWwg
Ym9vbCBjb250YWlucyhjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJikg
Y29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGFkZChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBF
eGNlcHRpb25Db2RlJiBlYyk7CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZShjb25zdCBBdG9taWNT
dHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYyk7CisgICAgdmlydHVhbCBib29sIHRvZ2ds
ZShjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYyk7CisgICAgdmly
dHVhbCBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKKworICAgIHZpcnR1YWwgdm9pZCByZXNldChj
b25zdCBTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICBDbGFzc0xpc3QoRWxlbWVudCogZWxlbWVu
dCk7CisKKyAgICB2b2lkIGFkZEludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0Owor
ICAgIGJvb2wgY29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKKyAg
ICB2b2lkIHJlbW92ZUludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworCisgICAg
Y29uc3QgU3BhY2VTcGxpdFN0cmluZyogY2xhc3NOYW1lcygpIGNvbnN0OworCisgICAgRWxlbWVu
dCogbV9lbGVtZW50OworICAgIE93blB0cjxTcGFjZVNwbGl0U3RyaW5nPiBtX2NsYXNzTmFtZXM7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDbGFzc0xpc3RfaApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5pZGwKaW5kZXggODYzZjI4Yzg2NTQ3ZWI5N2NjNDhjYzYyMWQ5YTFiNjZhYzky
NjdiYi4uYjEyN2M1MTcyNzY1YjE4YzgxODAxYmRjZTZmNWE3MGEwMmUzZGE4ZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuaWRsCkBAIC0zMSw2ICszMSw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgbGFuZzsKICAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgZGlyOwogICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3Q9Y2xhc3NdIERPTVN0cmluZyBjbGFzc05hbWU7CisgICAgICAgICAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgY2xhc3NMaXN0OwogCiAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBsb25nICAgICAgICAgICAgICB0YWJJbmRleDsKICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICAgIGRyYWdnYWJsZTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAKaW5kZXggYmYyNmNlNGRmYTY2NmNlMGFlZGUxYTIyOWRlMGUzODM5NTMzNWM4ZC4uMzY4YTk2
NDYyOTMyNGJiMDA5Y2Y5YTgxYTIyZjNkZGZjYThiZTFhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTQw
LDYgKzQwLDcgQEAKICNpbmNsdWRlICJET01TZWxlY3Rpb24uaCIKICNpbmNsdWRlICJET01TdHJp
bmdMaXN0LmgiCiAjaW5jbHVkZSAiRE9NVGltZXIuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3Qu
aCIKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQ2FsbGJhY2suaCIK
ICNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgiCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDcw
MmVkY2Q3NjI0YmU3YjlkMThhNzkzMjk3NjEyYzk1Zjc1MjNhMjkuLjMxNjc0ZjI4Y2ZlMDRmNjUz
MDMwY2FiMGI3MmM0NzAwMjBiOWE1OWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaWRsCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0zNzcsNiArMzc3LDcg
QEAgbW9kdWxlIHdpbmRvdyB7CiAvLyAgICAgICAgYXR0cmlidXRlIERPTUltcGxlbWVudGF0aW9u
TGlzdENvbnN0cnVjdG9yIERPTUltcGxlbWVudGF0aW9uTGlzdDsKIC8vICAgICAgICBhdHRyaWJ1
dGUgRE9NSW1wbGVtZW50YXRpb25Tb3VyY2VDb25zdHJ1Y3RvciBET01JbXBsZW1lbnRhdGlvblNv
dXJjZTsKICAgICAgICAgYXR0cmlidXRlIERPTUltcGxlbWVudGF0aW9uQ29uc3RydWN0b3IgRE9N
SW1wbGVtZW50YXRpb247CisgICAgICAgIGF0dHJpYnV0ZSBET01Ub2tlbkxpc3RDb25zdHJ1Y3Rv
ciBET01Ub2tlbkxpc3Q7CiAgICAgICAgIGF0dHJpYnV0ZSBEb2N1bWVudEZyYWdtZW50Q29uc3Ry
dWN0b3IgRG9jdW1lbnRGcmFnbWVudDsKICAgICAgICAgYXR0cmlidXRlIERvY3VtZW50Q29uc3Ry
dWN0b3IgRG9jdW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBOb2RlQ29uc3RydWN0b3IgTm9kZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66817</attachid>
            <date>2010-09-07 18:21:10 -0700</date>
            <delta_ts>2010-09-08 12:52:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-20709-20100907182109.patch</filename>
            <type>text/plain</type>
            <size>57511</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhODc3ODcwNjkwMmJhYmQwMWM3YzRlYTEzMDJmZWZkOWY2MTkzZGMxLi41Y2ZlZWYz
MGJhNTMyYjlkMWRkZjU4MmM4OWI4ZmQ5MTNiNjIzYWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTAtMDktMDcgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3MtbGlz
dC5qczogQWRkZWQuCisgICAgICAgIChjcmVhdGVFbGVtZW50KToKKyAgICAgICAgKiBmYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisKIDIwMTAt
MDktMDcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXZlIEh5YXR0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
RWxlbWVudC9jbGFzcy1saXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDkzYTE5OGU0ZDcx
YzNiNGFlYjQ3YmJkM2E2OWRiYTc0MGMzMzIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2MyBAQAorVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVz
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2lt
b24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNT
IFN0cmluZyhlbGVtZW50LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0
Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNz
TmFtZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggIHgiCitQQVNTIGVsZW1l
bnQuY2xhc3NOYW1lIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNT
IGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIgeSB5
ICIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNl
cHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHkn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEy
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhj
ZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhy
ZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUg
NQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4
Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHkn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVt
KDApIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMg
InkiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0WzBdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBu
dWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRl
ZmluZWQuCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0
WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIHRydWUK
K1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMg
MgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorRE9N
VG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBE
T01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBp
cyAib2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QgaXMgIm9iamVjdCIKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCBpcyB0cnVlCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3Mt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwOTNhMTk4ZTRkNzFjM2I0YWViNDdiYmQzYTY5ZGJh
NzQwYzMzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxl
bWVudC9jbGFzcy1saXN0LXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2MyBAQAorVGVz
dHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3Jn
L3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0cmluZyhlbGVt
ZW50LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAw
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNT
IGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCIK
K1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggIHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1l
IGlzICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xh
c3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIgeSB5ICIKK1BBU1MgZWxl
bWVudC5jbGFzc05hbWUgaXMgInkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBj
b2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHknKSB0aHJldyBleHBl
Y3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuYWRk
KCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGgg
Y29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhyZXcgZXhwZWN0ZWQg
RE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUo
J3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRo
IGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKSB0aHJldyBleHBl
Y3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApIGlzICJ4Igor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qu
aXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgInkiCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBd
IGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBudWxsCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSg0
KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRlZmluZWQuCitUZXN0
IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0LmNvbnRhaW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5j
b250YWlucygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4Igor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIHRydWUKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5s
ZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgg
aXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHBy
ZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3Qg
aXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2JqZWN0Igor
UEFTUyB0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ4
NzZhMTZmODIyMjlhYTEwYWMyYzNiOWUwNTc4ODE3MmJjOTM3MwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLmh0bWwK
QEAgLTAsMCArMSwxMyBAQAorPCEtLSBRdWlya3MgTW9kZSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2xhc3Mt
bGlzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkZjI0
M2NlMzI5Zjk0NDAzYjhlZjY2ODg2MzZjYTc0NmVhZjIxMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbApAQCAtMCwwICsx
LDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC5qcyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjUyMTQ5ODk4YjgwNzgzZjY3ZTkyMGFiNmZjNDM5ZWJkNDI4Mjc5MDQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3Mt
bGlzdC5qcwpAQCAtMCwwICsxLDIyNSBAQAorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoZSBjbGFzc0xp
c3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGllcy4nKTsKKwordmFyIGVsZW1lbnQ7CisKK2Z1
bmN0aW9uIGNyZWF0ZUVsZW1lbnQoY2xhc3NOYW1lKQoreworICAgIGVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdwJyk7CisgICAgZWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc05hbWU7
Cit9CisKK2RlYnVnKCdUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1s
L2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC8nKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L3NldHRpbmcvMDAxLmh0
bQorLy8gRmlyZWZveCB0aHJvd3MgaGVyZSBidXQgV2ViS2l0IGRvZXMgbm90IHRocm93IG9uIHNl
dHRpbmcgcmVhZG9ubHkgaWRsCisvLyBhdHRyaWJ1dGVzLgorY3JlYXRlRWxlbWVudCgneCcpOwor
dHJ5IHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdCA9ICd5JzsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ1N0cmluZyhlbGVtZW50LmNsYXNzTGlzdCknLCAneCcpOworfSBjYXRjaCAoZXgpIHsK
KyAgICB0ZXN0UGFzc2VkKCdUaHJvd2luZyBvbiBzZXQgaXMgYWNjZXB0YWJsZScpOworfQorCisv
LyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tl
bkxpc3QvZ2V0dGluZy8wMDEuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZEV2YWx1YXRl
VG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDApOworCisvLyBodHRwOi8vc2ltb24uaHRt
bDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDIu
aHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNz
TGlzdC5sZW5ndGgnLCAxKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwv
ZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAzLmh0bQorY3JlYXRlRWxlbWVu
dCgneCB4Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAy
KTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3Rpbmcv
RE9NVG9rZW5MaXN0L2dldHRpbmcvMDA0Lmh0bQorY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91
bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworLy8gaHR0cDov
L3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dl
dHRpbmcvMDA1Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LmNsYXNzTGlzdC5hZGQo
J3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAneCcpOwor
CisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01U
b2tlbkxpc3QvZ2V0dGluZy8wMDYuaHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitlbGVtZW50LmNs
YXNzTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05h
bWUnLCAneCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVm
bGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDcuaHRtCitjcmVhdGVFbGVtZW50KCd4ICB4
Jyk7CitlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
ZWxlbWVudC5jbGFzc05hbWUnLCAneCAgeCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3Jn
L3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDguaHRtCitj
cmVhdGVFbGVtZW50KCd5Jyk7CitlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAneSB4Jyk7CisKKy8vIGh0dHA6Ly9z
aW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0
aW5nLzAwOS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworZWxlbWVudC5jbGFzc0xpc3QucmVtb3Zl
KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJycpOwor
CisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01U
b2tlbkxpc3QvZ2V0dGluZy8wMTAuaHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitlbGVtZW50LmNs
YXNzTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFz
c05hbWUnLCAnJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9y
ZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMS5odG0KK2NyZWF0ZUVsZW1lbnQoJyB5
IHggIHkgJyk7CitlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAnIHkgeSAnKTsKKworLy8gaHR0cDovL3NpbW9u
Lmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcv
MDEyLmh0bQorY3JlYXRlRWxlbWVudCgnIHggeSAgeCAnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJl
bW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd5
Jyk7CisKKworZGVidWcoJ1Rlc3QgaW52YWxpZCB0b2tlbnMnKTsKKworLy8gVGVzdGluZyBleGNl
cHRpb24gZHVlIHRvIGludmFsaWQgdG9rZW4KKworLy8gc2hvdWxkVGhyb3cgZnJvbSBqcy10ZXN0
LXByZS5qcyBpcyBub3Qgc3VmZmljaWVudC4KK2Z1bmN0aW9uIHNob3VsZFRocm93RE9NRXhjZXB0
aW9uKGYsIGVjKQoreworICAgIHRyeSB7CisgICAgICAgIGYoKTsKKyAgICAgICAgdGVzdEZhaWxl
ZCgnRXhwZWN0ZWQgYW4gZXhjZXB0aW9uJyk7CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAg
aWYgKCEoZXggaW5zdGFuY2VvZiBET01FeGNlcHRpb24pKSB7CisgICAgICAgICAgICB0ZXN0RmFp
bGVkKCdFeGNlcHRpb24gaXMgbm90IGFuIGluc3RhbmNlIG9mIERPTUV4Y2VwdGlvbiwgZm91bmQ6
ICcgKworICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QudG9TdHJpbmcuY2FsbChleCkpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlmIChlYyAhPT0gZXguY29k
ZSkgeworICAgICAgICAgICAgdGVzdEZhaWxlZCgnV3JvbmcgZXhjZXB0aW9uIGNvZGU6ICcgKyBl
eC5jb2RlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKyAgICB2YXIg
Zm9ybWF0dGVkRnVuY3Rpb24gPSBTdHJpbmcoZikucmVwbGFjZSgvXmZ1bmN0aW9uLitce1xzKi9t
LCAnJykuCisgICAgICAgIHJlcGxhY2UoLzs/XHMrXH0vbSwgJycpOworICAgIHRlc3RQYXNzZWQo
Zm9ybWF0dGVkRnVuY3Rpb24gKyAnIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNv
ZGUgJyArIGVjKTsKK30KKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkVGhyb3dET01FeGNl
cHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJycpOwor
fSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3No
b3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0
LmNvbnRhaW5zKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIp
OworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9u
KCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lO
VEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24o
ZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4IHknKTsKK30sIERPTUV4
Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3No
b3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0
LnJlbW92ZSgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1l
bnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVu
dC5jbGFzc0xpc3QucmVtb3ZlKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJB
Q1RFUl9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9u
KGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnJyk7Cit9LCBET01F
eGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkVGhy
b3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xl
KCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCisKK2Rl
YnVnKCdJbmRleGluZycpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJywgJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gg
eCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFsxXScsICd4Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSknLCAneCcp
OworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVu
dC5jbGFzc0xpc3RbMV0nLCAneScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNs
YXNzTGlzdC5pdGVtKDEpJywgJ3knKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRCZU51
bGwoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQuY2xhc3NM
aXN0Lml0ZW0oMCknKTsKKworY3JlYXRlRWxlbWVudCgneCB5IHonKTsKK3Nob3VsZEJlTnVsbCgn
ZWxlbWVudC5jbGFzc0xpc3RbNF0nKTsKK3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3Qu
aXRlbSg0KScpOworCitjcmVhdGVFbGVtZW50KCd4IHkgeicpOworc2hvdWxkQmVVbmRlZmluZWQo
J2VsZW1lbnQuY2xhc3NMaXN0Wy0xXScpOworCitkZWJ1ZygnVGVzdCBjYXNlIHNpbmNlIERPTVRv
a2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2ZScpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91
bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hvdWxkQmVG
YWxzZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCdYXCcpJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJywgJ3gnKTsKKworY3JlYXRlRWxlbWVudCgn
WCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcJ1hcJyknKTsK
K3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFswXScsICdYJyk7CisKKworZGVi
dWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScpOworLy8gVSswMDIwIFNQQUNFLCBVKzAwMDkgQ0hBUkFD
VEVSIFRBQlVMQVRJT04gKHRhYiksIFUrMDAwQSBMSU5FIEZFRUQgKExGKSwKKy8vIFUrMDAwQyBG
T1JNIEZFRUQgKEZGKSwgYW5kIFUrMDAwRCBDQVJSSUFHRSBSRVRVUk4gKENSKQorCitjcmVhdGVF
bGVtZW50KCd4XHUwMDIweScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3Qu
bGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMDl5Jyk7CitzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1
MDAwQXknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIp
OworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBDeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVu
dC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMER5Jyk7Citz
aG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworCitkZWJ1
ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlJyk7CisKKworLy8gU2FmYXJpIHJldHVy
bnMgb2JqZWN0CisvLyBGaXJlZm94IHJldHVybnMgb2JqZWN0CisvLyBJRTggcmV0dXJucyBvYmpl
Y3QKKy8vIENocm9tZSByZXR1cm5zIGZ1bmN0aW9uCisvLyBhc3NlcnRFcXVhbHMoJ29iamVjdCcs
IHR5cGVvZiBET01Ub2tlbkxpc3QpOworc2hvdWxkQmVUcnVlKCdcJ3VuZGVmaW5lZFwnICE9IHR5
cGVvZiBET01Ub2tlbkxpc3QnKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgRE9N
VG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmplY3QnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QnLCAnb2JqZWN0
Jyk7CisKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVjdG9yJywg
J0RPTVRva2VuTGlzdCcpOworCitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0ID09PSBl
bGVtZW50LmNsYXNzTGlzdCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCBlNTUzYmVj
ZWQ4ZTdkZGZkMzZhNzQxYTYzZjVmYWNmZjliMDU4ZjZlLi5iMGUwZTc1NGM2ZjZiZjQzZmQyNTc5
NjZkYjcxYzY3ODZjYWM0OTRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKQEAgLTU2MSw2ICs1NjEs
MTQgQEAgd2luZG93LkRPTVN0cmluZ0xpc3QucHJvdG90eXBlLmNvbnRhaW5zIFtmdW5jdGlvbl0K
IHdpbmRvdy5ET01TdHJpbmdMaXN0LnByb3RvdHlwZS5pdGVtIFtmdW5jdGlvbl0KIHdpbmRvdy5E
T01TdHJpbmdNYXAgW29iamVjdCBET01TdHJpbmdNYXBDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5ET01T
dHJpbmdNYXAucHJvdG90eXBlIFtvYmplY3QgRE9NU3RyaW5nTWFwUHJvdG90eXBlXQord2luZG93
LkRPTVRva2VuTGlzdCBbb2JqZWN0IERPTVRva2VuTGlzdENvbnN0cnVjdG9yXQord2luZG93LkRP
TVRva2VuTGlzdC5wcm90b3R5cGUgW29iamVjdCBET01Ub2tlbkxpc3RQcm90b3R5cGVdCit3aW5k
b3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5hZGQgW2Z1bmN0aW9uXQord2luZG93LkRPTVRva2Vu
TGlzdC5wcm90b3R5cGUuY29udGFpbnMgW2Z1bmN0aW9uXQord2luZG93LkRPTVRva2VuTGlzdC5w
cm90b3R5cGUuaXRlbSBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5y
ZW1vdmUgW2Z1bmN0aW9uXQord2luZG93LkRPTVRva2VuTGlzdC5wcm90b3R5cGUudG9TdHJpbmcg
W2Z1bmN0aW9uXQord2luZG93LkRPTVRva2VuTGlzdC5wcm90b3R5cGUudG9nZ2xlIFtmdW5jdGlv
bl0KIHdpbmRvdy5EYXRlIFtmdW5jdGlvbl0KIHdpbmRvdy5Eb2N1bWVudCBbb2JqZWN0IERvY3Vt
ZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuRG9jdW1lbnQucHJvdG90eXBlIFtvYmplY3QgRG9jdW1l
bnRQcm90b3R5cGVdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4
IGE3NmJmNzMxZGE1ZDU3NTJlYzYxYjAyNjJkMGU0MWU4ZDljMDg3NDAuLjBkMjM5ZWQ0ZDIxZjEw
NzFhMWMyYTM5ZTdiMjg5ZDcyNzkzNDVmY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMt
ZXhwZWN0ZWQudHh0CkBAIC00MCw2ICs0MCw3IEBAIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NSW1wbGVtZW50YXRpb24nKSBpcyAnb2JqCiBQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVBh
cnNlcicpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ0RPTVN0cmluZ0xpc3QnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdET01TdHJpbmdNYXAnKSBp
cyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICdET01Ub2tlbkxpc3QnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdEYXRlJykgaXMgJ29iamVjdCcKIFBBU1Mg
dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRG9jdW1lbnQn
KSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICdEb2N1bWVudEZyYWdtZW50JykgaXMgJ29iamVjdCcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4
dAppbmRleCAyMDU1NzVhMzM2NzVhNjUzNDQzOTIwZGRjZDVjZDU2NDE5ZmNhYmE0Li5kNGEzMWRi
M2Q3ZjYyNmM4NWQzNzAwMzc3NzQ1MzczZmM1OThmYjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CkBA
IC03Nyw2ICs3Nyw5IEBAIFBBU1MgRE9NSW1wbGVtZW50YXRpb25Qcm90b3R5cGUgZnJvbSBpbm5l
ci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lCiBQQVNTIERPTVN0cmluZ01h
cCBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuZGF0YXNldAogUEFTUyBET01T
dHJpbmdNYXBDb25zdHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAu
ZGF0YXNldC5jb25zdHJ1Y3RvcgogUEFTUyBET01TdHJpbmdNYXBQcm90b3R5cGUgZnJvbSBpbm5l
ci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLmRhdGFzZXQuX19wcm90b19fCitQQVNTIERPTVRv
a2VuTGlzdCBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFzc0xpc3QK
K1BBU1MgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50
ZXN0Rm9ybS4wLmNsYXNzTGlzdC5jb25zdHJ1Y3RvcgorUEFTUyBET01Ub2tlbkxpc3RQcm90b3R5
cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLjAuY2xhc3NMaXN0Ll9fcHJv
dG9fXwogUEFTUyBET01XaW5kb3cgZnJvbSBpbm5lcgogUEFTUyBET01XaW5kb3dQcm90b3R5cGUg
ZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuZGVmYXVs
dFZpZXcuX19wcm90b19fCiBQQVNTIERvY3VtZW50UHJvdG90eXBlIGZyb20gaW5uZXIuZG9jdW1l
bnQuZm9ybXMudGVzdEZvcm0uMC5vd25lckRvY3VtZW50Ll9fcHJvdG9fXy5fX3Byb3RvX18KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhw
ZWN0ZWQudHh0CmluZGV4IDZlOGYxYzgzZTc1Nzc4NWZkN2YxMzQ4YWRlOGU4ZTQzY2NkMDgzZjUu
LmQ2Mzk3ODkyOWJiNWMyZDNiMTczNDRlNjQ3MTAzNmYwNTY2ZWFmNmYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4
dApAQCAtNzcsNiArNzcsOCBAQCBQQVNTIGlubmVyLkRPTVN0cmluZ0xpc3QuaXNJbm5lciBpcyB0
cnVlCiBQQVNTIGlubmVyLkRPTVN0cmluZ0xpc3QuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVl
CiBQQVNTIGlubmVyLkRPTVN0cmluZ01hcC5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9N
U3RyaW5nTWFwLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5ET01Ub2tl
bkxpc3QuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkRPTVRva2VuTGlzdC5jb25zdHJ1Y3Rv
ci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRGF0ZS5pc0lubmVyIGlzIHRydWUKIFBBU1Mg
aW5uZXIuRGF0ZS5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRG9jdW1l
bnQuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwt
Y29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCA1YWEwZDI4MWZjOGE1NjA4MWNmOWE4NWE4
MWQ5NzZkNmI3ZGI3ZTM3Li41OTBlMjEwM2Y5NTEwZTVjNzc3ZDZjOGEwMjU3Mjc4YjNiMDM1NDdk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKQEAgLTM4LDYgKzM4LDcgQEAgUEFTUyBET01JbXBsZW1lbnRhdGlvbi50b1N0
cmluZygpIGlzICdbb2JqZWN0IERPTUltcGxlbWVudGF0aW9uQ29uc3RydWN0b3JdJwogUEFTUyBE
T01QYXJzZXIudG9TdHJpbmcoKSBpcyAnW29iamVjdCBET01QYXJzZXJDb25zdHJ1Y3Rvcl0nCiBQ
QVNTIERPTVN0cmluZ0xpc3QudG9TdHJpbmcoKSBpcyAnW29iamVjdCBET01TdHJpbmdMaXN0Q29u
c3RydWN0b3JdJwogUEFTUyBET01TdHJpbmdNYXAudG9TdHJpbmcoKSBpcyAnW29iamVjdCBET01T
dHJpbmdNYXBDb25zdHJ1Y3Rvcl0nCitQQVNTIERPTVRva2VuTGlzdC50b1N0cmluZygpIGlzICdb
b2JqZWN0IERPTVRva2VuTGlzdENvbnN0cnVjdG9yXScKIFBBU1MgRG9jdW1lbnQudG9TdHJpbmco
KSBpcyAnW29iamVjdCBEb2N1bWVudENvbnN0cnVjdG9yXScKIFBBU1MgRG9jdW1lbnRGcmFnbWVu
dC50b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50RnJhZ21lbnRDb25zdHJ1Y3Rvcl0nCiBQ
QVNTIERvY3VtZW50VHlwZS50b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50VHlwZUNvbnN0
cnVjdG9yXScKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdz
Lm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggNDg2ZDhj
ZDNhZWE1MTVlOGM5ZTFkOTlhYzI1MTk5YzkyZjE1OWRlOS4uYTkyN2YxMWQ2Nzk3NjA1YTIzMDNl
N2Y2MGZiMGJiYjQxNjNjOTEwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQu
anNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3Mu
bWsKQEAgLTE1OSw2ICsxNTksNyBAQCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRt
bC9KU0Jsb2IuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTQmxvYkJ1aWxkZXIuaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRE9NRm9ybURhdGEuaCBcCisgICAgJChpbnRl
cm1lZGlhdGVzKS9odG1sL0pTRE9NVG9rZW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykv
aHRtbC9KU0RhdGFHcmlkQ29sdW1uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0Rh
dGFHcmlkQ29sdW1uTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxlLmgg
XApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dl
YkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKaW5kZXggOWI4ZjIyYzI5YTM4OWQ5
OWE3MjczZmVkNDYxMzA5YWNmNDdjM2NhMy4uYTczMTU3ZDcxYWNkZWJmZDdjMjg2MTZhYTZhMWRk
OTMxZDhhMjQ2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5n
cy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0xNDAs
NiArMTQwLDcgQEAgJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlhdGVz
KS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykKIEdFTiA6PSBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9iaW5kaW5ncy9WOEJsb2IuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5k
aW5ncy9WOEJsb2JCdWlsZGVyLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhE
T01Ub2tlbkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlk
Q29sdW1uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEYXRhR3JpZENvbHVt
bkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGUuaCBcCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQu
anNjYmluZGluZ3MubWsKaW5kZXggZTA3ZWQxZTRmZTU4MDhlMDI3YTcxYjhlNzZjNGQ0NTAzMWM5
NGExNi4uMDgxNjExMzQ5OWYzMzUwNTQ1ZGEwMWRjZTlmYTk4OTBkNDQ5MDU5NyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5q
c2NiaW5kaW5ncy5tawpAQCAtODMsNiArODMsNyBAQCBMT0NBTF9TUkNfRklMRVMgKz0gXAogCWJp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFD
dXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgXAorCWJpbmRp
bmdzL2pzL0pTRE9NVG9rZW5MaXN0LmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNl
LmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd1NoZWxsLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRjNGY3NTgxNjhhNjU1YjMxOGY2ODFhNmI4NTA0MTM0
OTY4N2RhMTguLjJlYjQyZTM5YjU5YWRjMDgxMDk5MjlmYmZkZTljMzExYmIzY2ZiNGQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNjMgQEAKKzIwMTAtMDktMDcgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1l
bnQgSFRNTCA1J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwKKworICAgICAgICBUaGlz
IGFkZHMgYSBET01Ub2tlbkxpc3QgY2xhc3MgdGhhdCBpcyB1c2VkIGZvciB0aGUgY2xhc3NMaXN0
IHByb3BlcnR5LiBET01Ub2tlbkxpc3QgdXNlcyBhIFNwYWNlU3BsaXRTdHJpbmcgZm9yIGZhc3QK
KyAgICAgICAgY29udGFpbnMgY2hlY2suIEluIHN0YW5kYXJkcyBtb2RlIHRoZSBleGlzdGluZyBj
bGFzc05hbWVzIGlzIHVzZWQgYnV0IGluIHF1aXJrcyBtb2RlIHdlIHVzZSBhbiBpbnRlcm5hbCBT
cGFjZVNwbGl0U3RyaW5nCisgICAgICAgIGJlY2F1c2UgY2xhc3NMaXN0IGlzIGFsd2F5cyBjYXNl
IHNlbnNpdGl2ZS4KKworICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoK
KyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRy
b2lkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBX
ZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgICogZG9tL0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y2xhc3NMaXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnQ6OnJlc2V0Q2xhc3NMaXN0KTogVGhpcyBpcyBjYWxsZWQgd2hlbiB0aGUg
Y2xhc3MgYXR0cmlidXRlIGNoYW5nZXMgc28gdGhhdCB0aGUgaW50ZXJhbCBTcGFjZVNwbGl0U3Ry
aW5nIGNhbgorICAgICAgICBiZSB1cGRhdGVkIGFzIG5lZWRlZC4KKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDogVGhpcyBub3cgaGFzIGFu
IE93blB0ciB0byBhIENsYXNzTGlzdCBpZiB0aGUgRWxlbWVudDo6Y2xhc3NMaXN0IGlzIGV2ZXIg
Y2FsbGVkLgorICAgICAgICAqIGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogZG9t
L1N0eWxlZEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0RPTVRva2VuTGlzdC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE5hbWVzOjp2YWxpZGF0ZVRva2VuKToKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6RE9NVG9rZW5MaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVRva2VuTGlzdDo6cmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6ZGVy
ZWYpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpsZW5ndGgpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NVG9rZW5MaXN0OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2Vu
TGlzdDo6Y29udGFpbnMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0Ojpjb250YWlu
c0ludGVybmFsKTogVGhlIGludGVybmFsIG1ldGhvZHMgZG8gbm8gdmFsaWRhdGlvbiBvZiB0aGUg
dG9rZW4uCisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmFkZCk6CisgICAgICAgIChX
ZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmFkZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVRva2VuTGlzdDo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6cmVt
b3ZlSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0Ojp0b2dnbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJD
b3JlOjpET01Ub2tlbkxpc3Q6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlz
dDo6Y2xhc3NOYW1lcyk6CisgICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3QuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpET01Ub2tlbkxpc3Q6On5ET01Ub2tlbkxpc3QpOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5M
aXN0LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5pZGw6CisgICAgICAg
ICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwog
MjAxMC0wOS0wNyAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgQWRkIHJlbmRlcmluZy9Db2x1bW5JbmZvLmggdG8gdGhlIHNvdXJjZXMgbGlzdC4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKaW5kZXggODFmNDA3MDAxYzk2MWFjNGM2MTYyMmJiODBhYTE4OTY4MGVlZmU4YS4u
YzExYzVlYzFhYTEzOGE1MmI0ZGEzZjlkMGRmODY2MDA5OTJjM2JlYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
QEAgLTkxLDYgKzkxLDcgQEAKICNpbmNsdWRlICJKU0RPTVNlbGVjdGlvbi5jcHAiCiAjaW5jbHVk
ZSAiSlNET01TdHJpbmdMaXN0LmNwcCIKICNpbmNsdWRlICJKU0RPTVN0cmluZ01hcC5jcHAiCisj
aW5jbHVkZSAiSlNET01Ub2tlbkxpc3QuY3BwIgogI2luY2x1ZGUgIkpTRE9NV2luZG93LmNwcCIK
ICNpbmNsdWRlICJKU0VsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTRW50aXR5LmNwcCIKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCA2ZmQxY2RlZTE2ZGQ5YjVlZGZjNDdlYjNjZTBjMzFjMmEyZTMzZjI4Li44
MTgxYmFkZmQzNGYxZTZmMTJiOTQ3ZmUxYTc2MTA3NTdjNTAwZGI1IDEwMDY0NAotLS0gYS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CkBAIC0xMjQsNiArMTI0LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgRE9NU2VsZWN0aW9uIFwK
ICAgICBET01TdHJpbmdMaXN0IFwKICAgICBET01TdHJpbmdNYXAgXAorICAgIERPTVRva2VuTGlz
dCBcCiAgICAgRE9NV2luZG93IFwKICAgICBEYXRhYmFzZSBcCiAgICAgRGF0YWJhc2VDYWxsYmFj
ayBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQppbmRleCAxZTQ0YWRjZGJiNzk3YzcxM2Q0OTg4NzM0OGUwZTA5YjAyZTY1MDBkLi5k
ODk5OGYwNGUyODgxMTcxZWY5YzViZTJiZWM4M2E1MjEzNWI3ODNlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTIxNCw2
ICsyMTQsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNET01TdHJpbmdMaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01T
dHJpbmdNYXAuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTWFwLmgg
XAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01Ub2tlbkxpc3QuY3BwIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNET01XaW5kb3cuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93
LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFbGVtZW50LmNwcCBcCkBAIC0xMzM3LDYg
KzEzMzksOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvaGlzdG9yeS9QYWdlQ2Fj
aGUuaCBcCiAJV2ViQ29yZS9odG1sL0FzeW5jSW1hZ2VSZXNpemVyLmNwcCBcCiAJV2ViQ29yZS9o
dG1sL0FzeW5jSW1hZ2VSZXNpemVyLmggXAorCVdlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuY3Bw
IFwKKwlXZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmggXAogCVdlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuY3BwIFwKIAlXZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmggXAogCVdlYkNv
cmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMzMyMWNiYjdkNGJmM2I2MTFlMzMxOTVk
YzI0MjBhMWU5Mzc2MzFmYy4uMjBlN2JhYWRlZjIxMDk0NDVlNWUxNTZkNzJkODhiMDgxZTFlNzI2
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTEwOCw2ICsxMDgsNyBAQAogICAgICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGEu
aWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL01ldGFkYXRhQ2FsbGJhY2suaWRsJywKICAgICAg
ICAgICAgICdodG1sL0RPTUZvcm1EYXRhLmlkbCcsCisgICAgICAgICAgICAnaHRtbC9ET01Ub2tl
bkxpc3QuaWRsJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uLmlkbCcsCiAgICAg
ICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuaWRsJywKICAgICAgICAgICAgICdodG1s
L0hUTUxBbGxDb2xsZWN0aW9uLmlkbCcsCkBAIC0xNDk5LDYgKzE1MDAsOCBAQAogICAgICAgICAg
ICAgJ2h0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmgnLAogICAgICAgICAgICAgJ2h0bWwvRE9N
Rm9ybURhdGEuY3BwJywKICAgICAgICAgICAgICdodG1sL0RPTUZvcm1EYXRhLmgnLAorICAgICAg
ICAgICAgJ2h0bWwvRE9NVG9rZW5MaXN0LmNwcCcsCisgICAgICAgICAgICAnaHRtbC9ET01Ub2tl
bkxpc3QuaCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbi5jcHAnLAogICAgICAg
ICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW4uaCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRhR3Jp
ZENvbHVtbkxpc3QuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJD
b3JlL1dlYkNvcmUucHJpCmluZGV4IGE0YzY5YjEwYzJhMGU2NjBjZjZmYmY3MjZhZTNmMzhlMDZj
ZjJhOTcuLmYyOTA1ZjQ0YjIzYTQzNWVhMTJkZmYzYjY1ZTYwMTRiNTNhNDRmOTkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtMTkz
LDYgKzE5Myw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbi5p
ZGwgXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmlkbCBcCiAgICAgaHRtbC9ET01Gb3Jt
RGF0YS5pZGwgXAorICAgIGh0bWwvRE9NVG9rZW5MaXN0LmlkbCBcCiAgICAgaHRtbC9IVE1MQWxs
Q29sbGVjdGlvbi5pZGwgXAogICAgIGh0bWwvSFRNTEF1ZGlvRWxlbWVudC5pZGwgXAogICAgIGh0
bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5w
cm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDc3NWIwN2ViMzVmODAwZjhhOTZhNmJiOTQ0
M2Q5MjM3MmNkNTBkNmYuLjRjOTM1ZTE3N2YxNWMyYjBkMjFhZmNmNzA1YTg5MDk2YmIwODBlZjgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBy
bwpAQCAtNjQyLDYgKzY0Miw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvQ29sbGVjdGlvbkNh
Y2hlLmNwcCBcCiAgICAgaHRtbC9ET01EYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKICAgICBodG1s
L0RPTUZvcm1EYXRhLmNwcCBcCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuY3BwIFwKICAgICBodG1s
L0RhdGFHcmlkQ29sdW1uLmNwcCBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwIFwK
ICAgICBodG1sL0RhdGVDb21wb25lbnRzLmNwcCBcCkBAIC0xNDM1LDYgKzE0MzYsNyBAQCBIRUFE
RVJTICs9IFwKICAgICBodG1sL0RhdGVDb21wb25lbnRzLmggXAogICAgIGh0bWwvRE9NRGF0YUdy
aWREYXRhU291cmNlLmggXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaCBcCisgICAgaHRtbC9ET01U
b2tlbkxpc3QuaCBcCiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuaCBcCiAgICAgaHRtbC9IVE1MQWxs
Q29sbGVjdGlvbi5oIFwKICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmggXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZjNlNDlmNWQzZDFlZWVlOTUwZDRjZDIwMmQ4
ZmJlMmM2Njk4ZDRkZS4uOTkxN2VmZWYxOTRjMTUyYmNiNGE1YzJiZDUzZGJlMTFjY2UxZTllMyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC00MDMzLDYgKzQwMzMsMTQg
QEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVRv
a2VuTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRE9NVG9rZW5MaXN0LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTRE9NV2luZG93LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCkBAIC0zNzQxMyw2ICszNzQyMSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTVRva2VuTGlzdC5jcHAiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERP
TVRva2VuTGlzdC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5caHRtbFxGb3JtRGF0YUxpc3QuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTVjYzA2Y2I0
ZDNlZTVkNjgzNDMzOTBjZjQ4Njc0MTk2OTllMWNlNy4uZWRkOTcwMzdmMGI5MzMzYzUyNmVkODE3
MGRiZWZmN2ViNTcwNTFlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE0MTUsMTIgKzE0MTUsMTggQEAKIAkJNzY5M0JBRDMxMDZDMkRDQTAwN0IwODIz
IC8qIFBsdWdpbkhhbHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAq
LzsgfTsKIAkJNzY5M0JBRDQxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5M0JBRDAxMDZDMkRD
QTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovOyB9OwogCQk3NjkzQkFENTEwNkMyRENBMDA3
QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFEMTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFs
dGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNzY5NDU2M0MxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjNBMTIxNEQ5
N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi87IH07CisJCTc2OTQ1NjNEMTIxNEQ5
N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9r
ZW5MaXN0LmggKi87IH07CisJCTc2OTQ1NjVCMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tl
bkxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2
OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY5
NDU2NUMxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JB
RSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi87IH07CiAJCTc2Q0REMkYyMTEwM0RBNjYwMDY4MDUy
MSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUMxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2li
aWxpdHlNZW51TGlzdC5jcHAgKi87IH07CiAJCTc2Q0REMkYzMTEwM0RBNjYwMDY4MDUyMSAvKiBB
Y2Nlc3NpYmlsaXR5TWVudUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDc2Q0REMkVEMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVu
dUxpc3QuaCAqLzsgfTsKIAkJNzZDREQyRjQxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxp
dHlNZW51TGlzdFBvcHVwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc2Q0REMkVFMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxp
c3RQb3B1cC5jcHAgKi87IH07CiAJCTc2Q0REMkY1MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3Np
YmlsaXR5TWVudUxpc3RQb3B1cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzZDREQyRUYxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51
TGlzdFBvcHVwLmggKi87IH07CiAJCTc2Q0REMkY2MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3Np
YmlsaXR5TWVudUxpc3RPcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzZDREQyRjAxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlN
ZW51TGlzdE9wdGlvbi5jcHAgKi87IH07CiAJCTc2Q0REMkY3MTEwM0RBNjYwMDY4MDUyMSAvKiBB
Y2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkYxMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmls
aXR5TWVudUxpc3RPcHRpb24uaCAqLzsgfTsKKwkJNzZGQzJCMEIxMjM3MERBMDAwNkE5OTFBIC8q
IERPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3NkZDMkIwODEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmNwcCAqLzsg
fTsKKwkJNzZGQzJCMEMxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGQzJCMDkxMjM3MERBMDAw
NkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovOyB9OwogCQk3NkZGMTdFMzExMjM1NjczMDAxRDYx
QjUgLyogUGx1Z2luVmlld05vbmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzZGRjE3RTIxMTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdpblZpZXdOb25l
LmNwcCAqLzsgfTsKIAkJNzlBQzkyMTgxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUFDOTIxNjEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCAqLzsgfTsK
IAkJNzlBQzkyMTkxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlBQzkyMTcxMDk5NDVD
ODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oICovOyB9OwpAQCAtNzM0MCwxMiArNzM0
NiwxOSBAQAogCQk3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpbkhhbHRlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2OTNCQUQwMTA2QzJEQ0EwMDdCMDgyMyAvKiBQ
bHVnaW5IYWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luSGFs
dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2OTNCQUQxMTA2QzJEQ0EwMDdC
MDgyMyAvKiBQbHVnaW5IYWx0ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGx1Z2luSGFsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVRva2VuTGlzdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjNCMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRv
a2VuTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVRva2VuTGlz
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Njk0NTY1OTEyMTREQjYzMDAwN0NC
QUUgLyogRE9NRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTURPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Njk0NTY1
QTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NRE9NVG9rZW5MaXN0Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3NkNERDJFQzExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0
eU1lbnVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vz
c2liaWxpdHlNZW51TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0RE
MkVEMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVFMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3Np
YmlsaXR5TWVudUxpc3RQb3B1cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTc2Q0REMkVGMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxp
c3RQb3B1cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5
TWVudUxpc3RQb3B1cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NkNERDJGMDEx
MDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkYxMTEwM0RBNjYwMDY4
MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTc2RkMyQjA4MTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NVG9rZW5MaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZGQzJCMDkxMjM3MERBMDAwNkE5
OTFBIC8qIERPTVRva2VuTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
T01Ub2tlbkxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZGQzJCMEExMjM3
MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
RE9NVG9rZW5MaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZGRjE3RTIx
MTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdpblZpZXdOb25lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpblZpZXdOb25lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzlBQzkyMTYxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NvbXBvc2l0aW9u
RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUFDOTIxNzEwOTk0NUM4
MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQ29tcG9zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTM0NDIsNiArMTM0NTUsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMkUyRDk5RTUx
MEUyQkMxQzAwNDk2MzM3IC8qIERPTUJsb2IuaCAqLywKIAkJCQkyRTJEOTlFNjEwRTJCQzFDMDA0
OTYzMzcgLyogRE9NQmxvYi5tbSAqLywKKwkJCQk3Njk0NTY1OTEyMTREQjYzMDAwN0NCQUUgLyog
RE9NRE9NVG9rZW5MaXN0LmggKi8sCisJCQkJNzY5NDU2NUExMjE0REI2MzAwMDdDQkFFIC8qIERP
TURPTVRva2VuTGlzdC5tbSAqLywKIAkJCQlCQzAwRUZGRTBFMEExODU1MDBGRDA0RTMgLyogRE9N
RmlsZS5oICovLAogCQkJCUJDMDBFRkZGMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLm1tICov
LAogCQkJCTJFM0JDMTA2MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IuaCAqLywKQEAg
LTE0MDYzLDYgKzE0MDc4LDkgQEAKIAkJCQkyRUQ2MDlCQTExNDVCMDcxMDBDODY4NEUgLyogRE9N
Rm9ybURhdGEuY3BwICovLAogCQkJCTJFRDYwOUJCMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3Jt
RGF0YS5oICovLAogCQkJCTJFMDg4OEMzMTE0ODgzQTkwMEFGNDI2NSAvKiBET01Gb3JtRGF0YS5p
ZGwgKi8sCisJCQkJNzZGQzJCMDgxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAg
Ki8sCisJCQkJNzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovLAor
CQkJCTc2RkMyQjBBMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuaWRsICovLAogCQkJ
CUE4MTM2RDM3MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuY3BwICovLAogCQkJCUE4
MTM2RDM2MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuaCAqLywKIAkJCQlCQzk3RTIz
OTEwOTE0NDk1MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uY3BwICovLApAQCAtMTQ0OTks
NiArMTQ1MTcsOCBAQAogCQkJCUJDNzdEMTY4MEZGMTlGNTUwMDcwODg3QiAvKiBKU0RhdGFHcmlk
Q29sdW1uTGlzdC5oICovLAogCQkJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZv
cm1EYXRhLmNwcCAqLywKIAkJCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3Jt
RGF0YS5oICovLAorCQkJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlz
dC5jcHAgKi8sCisJCQkJNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0
LmggKi8sCiAJCQkJNDlFRUNFRjQxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmNw
cCAqLywKIAkJCQk0OUVFQ0VGNTEwNTA3MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuaCAq
LywKIAkJCQlCQzk3RTQxMDEwOTE1NEZBMDAxMEQzNjEgLyogSlNIVE1MQWxsQ29sbGVjdGlvbi5j
cHAgKi8sCkBAIC0yMDQzNiw2ICsyMDQ1Niw5IEBACiAJCQkJODk4Nzg1RjExMjJFMUU4NzAwM0FB
QkRBIC8qIEpTRmlsZUV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1RjUxMjJF
MUVBQzAwM0FBQkRBIC8qIEpTRmlsZVJlYWRlclN5bmMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
REQ0NTRFMTIzNkM5NUMwMDlBNzk4NSAvKiBDb2x1bW5JbmZvLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk3Njk0NTYzRDEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTc2OTQ1NjVCMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCBp
biBIZWFkZXJzICovLAorCQkJCTc2RkMyQjBDMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxp
c3QuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjI4OTksNiArMjI5MjIsOSBAQAogCQkJCTg5ODc4NUI4
MTIyQ0EyQTcwMDNBQUJEQSAvKiBKU01ldGFkYXRhQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJODk4Nzg1RjAxMjJFMUU4NzAwM0FBQkRBIC8qIEpTRmlsZUV4Y2VwdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk4OTg3ODVGNDEyMkUxRUFDMDAzQUFCREEgLyogSlNGaWxlUmVhZGVy
U3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Njk0NTYzQzEyMTREOTdDMDAwN0NCQUUgLyog
SlNET01Ub2tlbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzY5NDU2NUMxMjE0REI2MzAw
MDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTc2RkMyQjBC
MTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxYTExNGE0Mjk3
ZTE0OTI5MzNiYWIyODNlMzY0ZjVjYTE0NzkyYmNmLi44MDM1NDJlNjlkODJkY2JkZjUyNzhjZGU3
MmQwNmI1NTU0MmI3MTE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KQEAgLTI0MCw3ICsyNDAsNyBAQCBzdWIgSW5kZXhHZXR0ZXJSZXR1cm5zU3RyaW5n
cwogewogICAgIG15ICR0eXBlID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gMSBpZiAkdHlwZSBlcSAi
Q1NTU3R5bGVEZWNsYXJhdGlvbiIgb3IgJHR5cGUgZXEgIk1lZGlhTGlzdCIgb3IgJHR5cGUgZXEg
IkNTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiRE9NU3RyaW5nTGlzdCI7Cisg
ICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVjbGFyYXRpb24iIG9yICR0eXBlIGVx
ICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbiIgb3IgJHR5
cGUgZXEgIkRPTVN0cmluZ0xpc3QiIG9yICR0eXBlIGVxICJET01Ub2tlbkxpc3QiOwogICAgIHJl
dHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDY5YmQxNjA5Zjk3ZDgxZWYyZmUwMzU4ZGM3ZWZjZDMy
Y2FkMDU3NjQuLmE1YzZkNmM4NTM1YjdmM2I4M2M0OGIzMzlkZWJlY2QyMzU2ZGY0MjIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQ1NTU3R5bGVTZWxlY3Rvci5oIgogI2lu
Y2x1ZGUgIkNsaWVudFJlY3QuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0TGlzdC5oIgorI2luY2x1
ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkRhdGFzZXRET01TdHJpbmdNYXAuaCIKICNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50RnJhZ21lbnQuaCIKQEAgLTE1
NTAsNiArMTU1MSwyMyBAQCBib29sIEVsZW1lbnQ6OndlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25z
dCBTdHJpbmcmIHNlbGVjdG9yLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK0RPTVRva2VuTGlzdCogRWxlbWVudDo6Y2xhc3NMaXN0KCkKK3sKKyAgICBFbGVtZW50
UmFyZURhdGEqIGRhdGEgPSBlbnN1cmVSYXJlRGF0YSgpOworICAgIGlmICghZGF0YS0+bV9jbGFz
c0xpc3QpCisgICAgICAgIGRhdGEtPm1fY2xhc3NMaXN0ID0gRE9NVG9rZW5MaXN0OjpjcmVhdGUo
dGhpcyk7CisgICAgcmV0dXJuIGRhdGEtPm1fY2xhc3NMaXN0LmdldCgpOworfQorCit2b2lkIEVs
ZW1lbnQ6OnJlc2V0Q2xhc3NMaXN0KGNvbnN0IFN0cmluZyYgbmV3Q2xhc3NOYW1lKQoreworICAg
IGlmIChoYXNSYXJlRGF0YSgpKSB7CisgICAgICAgIEVsZW1lbnRSYXJlRGF0YSogZGF0YSA9IHJh
cmVEYXRhKCk7CisgICAgICAgIGlmIChkYXRhICYmIGRhdGEtPm1fY2xhc3NMaXN0KQorICAgICAg
ICAgICAgZGF0YS0+bV9jbGFzc0xpc3QtPnJlc2V0KG5ld0NsYXNzTmFtZSk7CisgICAgfQorfQor
CiBET01TdHJpbmdNYXAqIEVsZW1lbnQ6OmRhdGFzZXQoKQogewogICAgIEVsZW1lbnRSYXJlRGF0
YSogZGF0YSA9IGVuc3VyZVJhcmVEYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNWJiZGRjMmU5NzQ1ODRlNWQzMzE1
MTA5ODVjNzA4Y2ViMjlmMzIyOS4uY2M4OWUxNTI0NjEwOWQ4NDg5MjEzZjQzMDY0MDU1MjFkNzJj
ZGFmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaApAQCAtMzYsNiArMzYsNyBAQCBjbGFzcyBBdHRyaWJ1dGU7CiBjbGFzcyBDbGll
bnRSZWN0OwogY2xhc3MgQ2xpZW50UmVjdExpc3Q7CiBjbGFzcyBET01TdHJpbmdNYXA7CitjbGFz
cyBET01Ub2tlbkxpc3Q7CiBjbGFzcyBFbGVtZW50UmFyZURhdGE7CiBjbGFzcyBJbnRTaXplOwog
CkBAIC0yNjksNiArMjcwLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCB3ZWJraXRNYXRjaGVzU2Vs
ZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvcnMsIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIERP
TVRva2VuTGlzdCogY2xhc3NMaXN0KCk7CiAgICAgRE9NU3RyaW5nTWFwKiBkYXRhc2V0KCk7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgaXNGb3JtQ29udHJvbEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQpAQCAtMzIyLDYgKzMyNCw4IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHJlY2FsY1N0
eWxlSWZOZWVkZWRBZnRlckF0dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKik7CiAgICAgdm9pZCB1
cGRhdGVBZnRlckF0dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKik7CiAKKyAgICB2b2lkIHJlc2V0
Q2xhc3NMaXN0KGNvbnN0IFN0cmluZyYgbmV3Q2xhc3NOYW1lKTsKKwogcHJpdmF0ZToKICAgICB2
b2lkIHNjcm9sbEJ5VW5pdHMoaW50IHVuaXRzLCBTY3JvbGxHcmFudWxhcml0eSk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9kb20vRWxlbWVu
dFJhcmVEYXRhLmgKaW5kZXggOGUzMzhhYmM2ODBmMjQ0ZDJmNGFmYjZhZWVmYjU2MzM1MmFhM2Zm
Mi4uZjFlNjMzNDE4Y2MyNDY2OTUzYTg5MjlhODBjM2NjY2M1NmViY2Q4YSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudFJh
cmVEYXRhLmgKQEAgLTIyLDYgKzIyLDcgQEAKICNpZm5kZWYgRWxlbWVudFJhcmVEYXRhX2gKICNk
ZWZpbmUgRWxlbWVudFJhcmVEYXRhX2gKIAorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2lu
Y2x1ZGUgIkRhdGFzZXRET01TdHJpbmdNYXAuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiTm9kZVJhcmVEYXRhLmgiCkBAIC00Miw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICBSZWZQ
dHI8UmVuZGVyU3R5bGU+IG1fY29tcHV0ZWRTdHlsZTsKIAogICAgIE93blB0cjxEYXRhc2V0RE9N
U3RyaW5nTWFwPiBtX2RhdGFzZXRET01TdHJpbmdNYXA7CisgICAgT3duUHRyPERPTVRva2VuTGlz
dD4gbV9jbGFzc0xpc3Q7CiB9OwogCiBpbmxpbmUgSW50U2l6ZSBkZWZhdWx0TWluaW11bVNpemVG
b3JSZXNpemluZygpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBi
L1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IGExNThlMmVhZTViYmI2NGRjNmVh
ODEyZTg1NjgzMmVhZTAxNDY0YTEuLjY1NTE0ZmI5NWFiNTIwN2ZkZTIyNGNjOWQ5ZDNkMGE5ZTFl
MzcxNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0yMTcsOCArMjE3LDEwIEBAIHZvaWQgU3R5
bGVkRWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3
Q2xhc3NTdHJpbmcpCiAgICAgfQogICAgIGJvb2wgaGFzQ2xhc3MgPSBpIDwgbGVuZ3RoOwogICAg
IHNldEhhc0NsYXNzKGhhc0NsYXNzKTsKLSAgICBpZiAoaGFzQ2xhc3MpCisgICAgaWYgKGhhc0Ns
YXNzKSB7CiAgICAgICAgIGF0dHJpYnV0ZXMoKS0+c2V0Q2xhc3MobmV3Q2xhc3NTdHJpbmcpOwor
ICAgICAgICByZXNldENsYXNzTGlzdChuZXdDbGFzc1N0cmluZyk7CisgICAgfQogICAgIGVsc2Ug
ewogICAgICAgICBpZiAoYXR0cmlidXRlTWFwKCkpICAgIAogICAgICAgICAgICAgYXR0cmlidXRl
TWFwKCktPmNsZWFyQ2xhc3MoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1l
bnQuaCBiL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaAppbmRleCA4MDQwZGJmMWUzNjhhY2I3
ZjRlYThlODM1N2ExYjE1YWY4MDQyZjAzLi40YjYyMzg4MTQ0NGUxODU0MDc2MzYzYzBjYzY5MjFi
OTg3M2QzMDYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKKysrIGIv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEF0dHJpYnV0ZTsKK2NsYXNzIENsYXNzTGlzdDsKIGNsYXNzIENT
U01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uOwogCiBjbGFzcyBTdHlsZWRFbGVtZW50IDogcHVi
bGljIEVsZW1lbnQgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAg
Yi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZDY2YzUwYzRlMTIz
NjI4MzIyYTI5OGJmYTkxNDRlNTgyNDBhNWVmCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9o
dG1sL0RPTVRva2VuTGlzdC5jcHAKQEAgLTAsMCArMSwyMDcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCisKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKK25hbWVzcGFj
ZSB7CisKK2Jvb2wgdmFsaWRhdGVUb2tlbihjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAodG9rZW4uaXNFbXB0eSgpKSB7CisgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGNvbnN0
IHVuc2lnbmVkIGxlbmd0aCA9IHRva2VuLmxlbmd0aCgpOworICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAgICBpZiAoaXNDbGFzc1doaXRlc3BhY2UodG9r
ZW5baV0pKSB7CisgICAgICAgICAgICBlYyA9IElOVkFMSURfQ0hBUkFDVEVSX0VSUjsKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB0cnVl
OworfQorCit9IC8vIG5hbWVzcGFjZQorCitET01Ub2tlbkxpc3Q6OkRPTVRva2VuTGlzdChFbGVt
ZW50KiBlbGVtZW50KQorICAgIDogbV9lbGVtZW50KGVsZW1lbnQpCit7CisgICAgaWYgKG1fZWxl
bWVudC0+ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpCisgICAgICAgIG1fY2xhc3NOYW1lcyA9
IG5ldyBTcGFjZVNwbGl0U3RyaW5nKG1fZWxlbWVudC0+Z2V0QXR0cmlidXRlKGNsYXNzQXR0ciks
IGZhbHNlKTsKK30KKwordm9pZCBET01Ub2tlbkxpc3Q6OnJlZigpCit7CisgICAgbV9lbGVtZW50
LT5yZWYoKTsKK30KKwordm9pZCBET01Ub2tlbkxpc3Q6OmRlcmVmKCkKK3sKKyAgICBtX2VsZW1l
bnQtPmRlcmVmKCk7Cit9CisKK3Vuc2lnbmVkIERPTVRva2VuTGlzdDo6bGVuZ3RoKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gY2xhc3NOYW1lcygpLT5zaXplKCk7Cit9CisKK2NvbnN0IEF0b21pY1N0
cmluZyBET01Ub2tlbkxpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYg
KGluZGV4ID49IGxlbmd0aCgpKQorICAgICAgICByZXR1cm4gQXRvbWljU3RyaW5nKCk7CisgICAg
cmV0dXJuICgqY2xhc3NOYW1lcygpKVtpbmRleF07Cit9CisKK2Jvb2wgRE9NVG9rZW5MaXN0Ojpj
b250YWlucyhjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykgY29u
c3QKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sIGVjKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICByZXR1cm4gY29udGFpbnNJbnRlcm5hbCh0b2tlbik7Cit9CisKK2Jvb2wg
RE9NVG9rZW5MaXN0Ojpjb250YWluc0ludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4p
IGNvbnN0Cit7CisgICAgcmV0dXJuIGNsYXNzTmFtZXMoKS0+Y29udGFpbnModG9rZW4pOworfQor
Cit2b2lkIERPTVRva2VuTGlzdDo6YWRkKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwgIGVjKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIGFkZEludGVybmFsKHRva2VuKTsKK30KKwordm9pZCBET01Ub2tl
bkxpc3Q6OmFkZEludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4pIGNvbnN0Cit7Cisg
ICAgY29uc3QgQXRvbWljU3RyaW5nIG9sZENsYXNzTmFtZShtX2VsZW1lbnQtPmdldEF0dHJpYnV0
ZShjbGFzc0F0dHIpKTsKKyAgICBpZiAob2xkQ2xhc3NOYW1lLmlzRW1wdHkoKSkKKyAgICAgICAg
bV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCB0b2tlbik7CisgICAgZWxzZSBpZiAo
IWNvbnRhaW5zSW50ZXJuYWwodG9rZW4pKQorICAgICAgICBtX2VsZW1lbnQtPnNldEF0dHJpYnV0
ZShjbGFzc0F0dHIsIG9sZENsYXNzTmFtZSArICIgIiArIHRva2VuKTsKK30KKwordm9pZCBET01U
b2tlbkxpc3Q6OnJlbW92ZShjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sICBlYykpCisgICAgICAgIHJl
dHVybjsKKyAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0
OjpyZW1vdmVJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAg
IC8vIENoZWNrIHVzaW5nIGNvbnRhaW5zIGZpcnN0IHNpbmNlIGl0IHVzZXMgQXRvbWljU3RyaW5n
IGNvbXBhcmlzb25zIGluc3RlYWQKKyAgICAvLyBvZiBjaGFyYWN0ZXIgYnkgY2hhcmFjdGVyIHRl
c3RpbmcuCisgICAgaWYgKCFjb250YWluc0ludGVybmFsKHRva2VuKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgLy8gQWxnb3JpdGhtIGRlZmluZWQgYXQgaHR0cDovL3d3dy53aGF0d2cub3JnL3Nw
ZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvY29tbW9uLW1pY3Jvc3ludGF4ZXMu
aHRtbCNyZW1vdmUtYS10b2tlbi1mcm9tLWEtc3RyaW5nCisKKyAgICBjb25zdCBBdG9taWNTdHJp
bmcmIGlucHV0ID0gbV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUoY2xhc3NBdHRyKTsKKyAgICBjb25z
dCB1bnNpZ25lZCBpbnB1dExlbmd0aCA9IGlucHV0Lmxlbmd0aCgpOworICAgIFN0cmluZyBvdXRw
dXQ7IC8vIDMKKyAgICB1bnNpZ25lZCBwb3NpdGlvbiA9IDA7IC8vIDQKKworICAgIC8vIFN0ZXAg
NQorICAgIHdoaWxlIChwb3NpdGlvbiA8IGlucHV0TGVuZ3RoKSB7CisgICAgICAgIGlmIChpc0Ns
YXNzV2hpdGVzcGFjZShpbnB1dFtwb3NpdGlvbl0pKSB7IC8vIDYKKyAgICAgICAgICAgIG91dHB1
dC5hcHBlbmQoaW5wdXRbcG9zaXRpb24rK10pOyAvLyA2LjEsIDYuMgorICAgICAgICAgICAgY29u
dGludWU7IC8vIDYuMworICAgICAgICB9CisKKyAgICAgICAgLy8gU3RlcCA3CisgICAgICAgIFN0
cmluZyBzOworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiAhaXNDbGFz
c1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkKKyAgICAgICAgICAgIHMuYXBwZW5kKGlucHV0
W3Bvc2l0aW9uKytdKTsKKworICAgICAgICAvLyBTdGVwIDgKKyAgICAgICAgaWYgKHMgPT0gdG9r
ZW4pIHsKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4xCisgICAgICAgICAgICB3aGlsZSAocG9zaXRp
b24gPCBpbnB1dExlbmd0aCAmJiBpc0NsYXNzV2hpdGVzcGFjZShpbnB1dFtwb3NpdGlvbl0pKQor
ICAgICAgICAgICAgICAgICsrcG9zaXRpb247CisKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4yCisg
ICAgICAgICAgICB1bnNpZ25lZCBqID0gb3V0cHV0Lmxlbmd0aCgpOworICAgICAgICAgICAgd2hp
bGUgKGogPiAwICYmIGlzQ2xhc3NXaGl0ZXNwYWNlKG91dHB1dFtqIC0gMV0pKQorICAgICAgICAg
ICAgICAgIC0tajsKKyAgICAgICAgICAgIG91dHB1dC50cnVuY2F0ZShqKTsKKworICAgICAgICAg
ICAgLy8gU3RlcCA4LjMKKyAgICAgICAgICAgIGlmIChwb3NpdGlvbiA8IGlucHV0TGVuZ3RoICYm
ICFvdXRwdXQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoJyAnKTsK
KyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKHMpOyAvLyBTdGVwIDkK
KyAgICB9CisKKyAgICBtX2VsZW1lbnQtPnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIG91dHB1dCk7
Cit9CisKK2Jvb2wgRE9NVG9rZW5MaXN0Ojp0b2dnbGUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tl
biwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCAg
ZWMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoY29udGFpbnNJbnRlcm5hbCh0
b2tlbikpIHsKKyAgICAgICAgcmVtb3ZlSW50ZXJuYWwodG9rZW4pOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorICAgIGFkZEludGVybmFsKHRva2VuKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworU3RyaW5nIERPTVRva2VuTGlzdDo6dG9TdHJpbmcoKSBjb25zdAoreworICAgIHJldHVy
biBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShjbGFzc0F0dHIpOworfQorCit2b2lkIERPTVRva2Vu
TGlzdDo6cmVzZXQoY29uc3QgU3RyaW5nJiBuZXdDbGFzc05hbWUpCit7CisgICAgaWYgKG1fZWxl
bWVudC0+ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpCisgICAgICAgIG1fY2xhc3NOYW1lcy0+
c2V0KG5ld0NsYXNzTmFtZSwgZmFsc2UpOworfQorCitjb25zdCBTcGFjZVNwbGl0U3RyaW5nKiBE
T01Ub2tlbkxpc3Q6OmNsYXNzTmFtZXMoKSBjb25zdAoreworICAgIGlmIChtX2VsZW1lbnQtPmRv
Y3VtZW50KCktPmluUXVpcmtzTW9kZSgpKQorICAgICAgICByZXR1cm4gbV9jbGFzc05hbWVzLmdl
dCgpOworICAgIHJldHVybiAmbV9lbGVtZW50LT5hdHRyaWJ1dGVNYXAoKS0+Y2xhc3NOYW1lcygp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
RE9NVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjdlNTU3ODBlMzM0YTZhYjE4ZGEyOWU0OWFiMzNkM2ZlMjg3NmU0MQotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApAQCAtMCwwICsxLDgxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBE
T01Ub2tlbkxpc3RfaAorI2RlZmluZSBET01Ub2tlbkxpc3RfaAorCisjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgorI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBFbGVtZW50OworCitj
bGFzcyBET01Ub2tlbkxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzT3duUHRyPERPTVRva2VuTGlzdD4gY3JlYXRlKEVsZW1lbnQqIGVsZW1lbnQpCisg
ICAgeworICAgICAgICByZXR1cm4gbmV3IERPTVRva2VuTGlzdChlbGVtZW50KTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIH5ET01Ub2tlbkxpc3QoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCByZWYo
KTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWYoKTsKKworICAgIHZpcnR1YWwgdW5zaWduZWQgbGVu
Z3RoKCkgY29uc3Q7CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcgaXRlbSh1bnNpZ25l
ZCBpbmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGNvbnRhaW5zKGNvbnN0IEF0b21pY1N0
cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgYWRk
KGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUm
IGVjKTsKKyAgICB2aXJ0dWFsIGJvb2wgdG9nZ2xlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4s
IEV4Y2VwdGlvbkNvZGUmIGVjKTsKKyAgICB2aXJ0dWFsIFN0cmluZyB0b1N0cmluZygpIGNvbnN0
OworCisgICAgdmlydHVhbCB2b2lkIHJlc2V0KGNvbnN0IFN0cmluZyYpOworCitwcml2YXRlOgor
ICAgIERPTVRva2VuTGlzdChFbGVtZW50KiBlbGVtZW50KTsKKworICAgIHZvaWQgYWRkSW50ZXJu
YWwoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CisgICAgYm9vbCBjb250YWluc0ludGVybmFs
KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworICAgIHZvaWQgcmVtb3ZlSW50ZXJuYWwoY29u
c3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CisKKyAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nKiBj
bGFzc05hbWVzKCkgY29uc3Q7CisKKyAgICBFbGVtZW50KiBtX2VsZW1lbnQ7CisgICAgT3duUHRy
PFNwYWNlU3BsaXRTdHJpbmc+IG1fY2xhc3NOYW1lczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIERPTVRva2VuTGlzdF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvRE9NVG9rZW5MaXN0LmlkbCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJhMzRmMDEzMzg2NTMzMDA1NWY2YTUzNDdiZTViYmI3ZjAyMjMyYmEKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbApAQCAtMCwwICsxLDQ5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
bW9kdWxlIGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgR2VuZXJhdGVDb25zdHJ1
Y3RvciwKKyAgICAgICAgSGFzSW5kZXhHZXR0ZXIKKyAgICBdIERPTVRva2VuTGlzdCB7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAgW0Nv
bnZlcnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nIGl0ZW0oaW4gW0lzSW5kZXhdIHVuc2ln
bmVkIGxvbmcgaW5kZXgpOworICAgICAgICBib29sZWFuIGNvbnRhaW5zKGluIERPTVN0cmluZyB0
b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgYWRkKGluIERPTVN0cmlu
ZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgcmVtb3ZlKGluIERP
TVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGJvb2xlYW4gdG9n
Z2xlKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisKKyNpZiBkZWZp
bmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKKyAgICAgICAg
W0RvbnRFbnVtXSBET01TdHJpbmcgdG9TdHJpbmcoKTsKKyNlbmRpZgorICAgIH07CisKK30KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuaWRsCmluZGV4IDg2M2YyOGM4NjU0N2ViOTdjYzQ4Y2M2MjFkOWExYjY2YWM5MjY3
YmIuLmIxMjdjNTE3Mjc2NWIxOGM4MTgwMWJkY2U2ZjVhNzBhMDJlM2RhOGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmlkbApAQCAtMzEsNiArMzEsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGxhbmc7CiAgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGRpcjsKICAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIFtSZWZsZWN0PWNsYXNzXSBET01TdHJpbmcgY2xhc3NOYW1lOworICAgICAgICAgICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IGNsYXNzTGlzdDsKIAogICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgICAgdGFiSW5kZXg7CiAgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgICBkcmFnZ2FibGU7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CmluZGV4IGJmMjZjZTRkZmE2NjZjZTBhZWRlMWEyMjlkZTBlMzgzOTUzMzVjOGQuLjM2OGE5NjQ2
MjkzMjRiYjAwOWNmOWE4MWEyMmYzZGRmY2E4YmUxYWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC00MCw2
ICs0MCw3IEBACiAjaW5jbHVkZSAiRE9NU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiRE9NU3RyaW5n
TGlzdC5oIgogI2luY2x1ZGUgIkRPTVRpbWVyLmgiCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0Lmgi
CiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNrLmgiCiAj
aW5jbHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA3MDJl
ZGNkNzYyNGJlN2I5ZDE4YTc5MzI5NzYxMmM5NWY3NTIzYTI5Li4zMTY3NGYyOGNmZTA0ZjY1MzAz
MGNhYjBiNzJjNDcwMDIwYjlhNTliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzc3LDYgKzM3Nyw3IEBA
IG1vZHVsZSB3aW5kb3cgewogLy8gICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvbkxp
c3RDb25zdHJ1Y3RvciBET01JbXBsZW1lbnRhdGlvbkxpc3Q7CiAvLyAgICAgICAgYXR0cmlidXRl
IERPTUltcGxlbWVudGF0aW9uU291cmNlQ29uc3RydWN0b3IgRE9NSW1wbGVtZW50YXRpb25Tb3Vy
Y2U7CiAgICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvbkNvbnN0cnVjdG9yIERPTUlt
cGxlbWVudGF0aW9uOworICAgICAgICBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3Ig
RE9NVG9rZW5MaXN0OwogICAgICAgICBhdHRyaWJ1dGUgRG9jdW1lbnRGcmFnbWVudENvbnN0cnVj
dG9yIERvY3VtZW50RnJhZ21lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBEb2N1bWVudENvbnN0cnVj
dG9yIERvY3VtZW50OwogICAgICAgICBhdHRyaWJ1dGUgTm9kZUNvbnN0cnVjdG9yIE5vZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66931</attachid>
            <date>2010-09-08 12:52:55 -0700</date>
            <delta_ts>2010-09-17 18:08:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-20709-20100908125254.patch</filename>
            <type>text/plain</type>
            <size>61181</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmMzkxZDMxMjJmZjEyMjU2NTlkN2Y3MmVkMDY1ZjY4MTAwNDk1Y2E2Li4xODczOTY4
MzNmOGNiNmEzODBkNWIzZjJkNzA3MWM3MThkMzY4MThkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTAtMDktMDggIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWly
a3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC1nYy5qczogQWRkZWQuCisgICAgICAgIChnYyk6CisgICAgICAgICogZmFz
dC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanM6IEFkZGVkLgorICAg
ICAgICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTA5LTA4ICBBbmR5IEVzdGVz
ICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24u
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxp
c3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwOTNhMTk4ZTRkNzFjM2I0YWViNDdiYmQzYTY5
ZGJhNzQwYzMzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
RWxlbWVudC9jbGFzcy1saXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYzIEBACitUZXN0cyB0
aGUgY2xhc3NMaXN0IGF0dHJpYnV0ZSBhbmQgaXRzIHByb3BlcnRpZXMuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVz
dC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC8KK1BBU1MgU3RyaW5nKGVsZW1lbnQu
Y2xhc3NMaXN0KSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDAKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qu
bGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxl
bWVudC5jbGFzc05hbWUgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFT
UyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCAgeCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMg
InkgeCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIiIKK1BBU1MgZWxlbWVudC5jbGFzc05h
bWUgaXMgIiIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIiB5IHkgIgorUEFTUyBlbGVtZW50
LmNsYXNzTmFtZSBpcyAieSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUg
MTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3ggeScpIHRocmV3IGV4cGVjdGVk
IERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJycp
IHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCd4IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2Rl
IDUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCcnKSB0aHJldyBleHBlY3RlZCBET01F
eGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCB5
JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0LnRvZ2dsZSgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29k
ZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ3ggeScpIHRocmV3IGV4cGVjdGVk
IERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorSW5kZXhpbmcKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCkgaXMgIngiCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0WzFdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVt
KDEpIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QuaXRlbSgxKSBpcyAieSIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMg
bnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3RbNF0gaXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDQpIGlz
IG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1Rlc3QgY2Fz
ZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoJ3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRh
aW5zKCdYJykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIngiCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5jb250YWlucygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBd
IGlzICJYIgorVGVzdGluZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAy
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2Vu
Y2UgYW5kIHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0
cnVlCitQQVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNT
IHR5cGVvZiBlbGVtZW50LmNsYXNzTGlzdCBpcyAib2JqZWN0IgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qg
PT09IGVsZW1lbnQuY2xhc3NMaXN0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ5YWEyYjZmZTI0NzBkMjc5ZTNiMjJiM2ExNmIyMmI4MTU4NGEzZDAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBvbiB0
aGUgY2xhc3NMaXN0IHBlcnNpc3RzIEdDLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBkLmNsYXNzTGlzdC5fX3Byb3RvX18gaXMgbm9uLW51bGwuCitQQVNTIGQuY2xhc3NM
aXN0Ll9fcHJvdG9fXyBpcyBudWxsCitQQVNTIGQuY2xhc3NMaXN0Ll9fcHJvdG9fXyBpcyBudWxs
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRjNWVmYWQ3ZTk5NTNlZjM1OGFlNGE4YTM1MDM3NTNhZGNjYTU3OWUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1s
aXN0LWdjLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L2NsYXNzLWxpc3QtZ2MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC1xdWlya3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwOTNhMTk4ZTRkNzFjM2I0YWViNDdi
YmQzYTY5ZGJhNzQwYzMzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2
MyBAQAorVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2ltb24u
aHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0
cmluZyhlbGVtZW50LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxl
bmd0aCBpcyAwCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBp
cyAyCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFt
ZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggIHgiCitQQVNTIGVsZW1lbnQu
Y2xhc3NOYW1lIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVs
ZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIgeSB5ICIK
K1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRp
b24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHknKSB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0
aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhyZXcg
ZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5yZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2Vw
dGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKSB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDAp
IGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgInki
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0WzBdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBudWxs
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRlZmlu
ZWQuCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5jb250YWlucygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBd
IGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorRE9NVG9r
ZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01U
b2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAi
b2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QgaXMgIm9iamVjdCIKK1BBU1Mg
ZWxlbWVudC5jbGFzc0xpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmQ4NzZhMTZmODIyMjlhYTEwYWMyYzNiOWUwNTc4ODE3MmJjOTM3MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVp
cmtzLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCEtLSBRdWlya3MgTW9kZSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjFkZjI0M2NlMzI5Zjk0NDAzYjhlZjY2ODg2MzZjYTc0NmVhZjIxMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbApA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC1nYy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LWdj
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ0ZWYzMWFiNzA0NWEzMjg0NGNkZjIxNmExNjc0ODM5NWNmZmNmODkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3Jp
cHQtdGVzdHMvY2xhc3MtbGlzdC1nYy5qcwpAQCAtMCwwICsxLDMzIEBACitkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0cyB0aGF0IHByb3BlcnRpZXMgb24gdGhlIGNsYXNzTGlzdCBwZXJzaXN0cyBHQy4i
KTsKKworZnVuY3Rpb24gZ2MoKQoreworICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAg
ICAgICByZXR1cm4gR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDA7IGkrKykgeworICAgICAgICB2YXIgcyA9IG5ldyBTdHJpbmc7CisgICAgfQor
fQorCit2YXIgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworCisvLyBFbnN1cmUg
dGhlIGNsYXNzTGlzdCBpcyBjcmVhdGVkLgordmFyIGNsYXNzTGlzdCA9IGQuY2xhc3NMaXN0Owor
CisvLyBFbnN1cmUgdGhlcmUgaXMgYSBfX3Byb3RvX18gYmVmb3JlIHRlc3QuCitzaG91bGRCZU5v
bk51bGwoImQuY2xhc3NMaXN0Ll9fcHJvdG9fXyIpOworCisvLyBTZXQgX19wcm90b19fIHRvIG5v
bi1zdGFydGluZyB2YWx1ZS4gKE11c3QgYmUgbnVsbCBkbyB0byBfX3Byb3RvX18gcmVzdHJpY3Rp
b25zKS4KK2QuY2xhc3NMaXN0Ll9fcHJvdG9fXyA9IG51bGw7CitzaG91bGRCZU51bGwoImQuY2xh
c3NMaXN0Ll9fcHJvdG9fXyIpOworCisvLyBOdWxsIG91dCByZWZlcmVuY2UgdG8gdGhlIGRhdGFz
ZXQuIAorY2xhc3NMaXN0ID0gbnVsbDsKKworZ2MoKTsKKworLy8gVGVzdCB0aGF0IHRoZSBudWxs
IHBlcnNpc3RlZCB0aGUgR0MuCitzaG91bGRCZU51bGwoImQuY2xhc3NMaXN0Ll9fcHJvdG9fXyIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTIxNDk4OThiODA3ODNmNjdlOTIwYWI2ZmM0MzllYmQ0MjgyNzkwNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10
ZXN0cy9jbGFzcy1saXN0LmpzCkBAIC0wLDAgKzEsMjI1IEBACitkZXNjcmlwdGlvbignVGVzdHMg
dGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLicpOworCit2YXIgZWxl
bWVudDsKKworZnVuY3Rpb24gY3JlYXRlRWxlbWVudChjbGFzc05hbWUpCit7CisgICAgZWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9
IGNsYXNzTmFtZTsKK30KKworZGVidWcoJ1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9y
Zy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LycpOworCisvLyBodHRwOi8v
c2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qvc2V0
dGluZy8wMDEuaHRtCisvLyBGaXJlZm94IHRocm93cyBoZXJlIGJ1dCBXZWJLaXQgZG9lcyBub3Qg
dGhyb3cgb24gc2V0dGluZyByZWFkb25seSBpZGwKKy8vIGF0dHJpYnV0ZXMuCitjcmVhdGVFbGVt
ZW50KCd4Jyk7Cit0cnkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0ID0gJ3knOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnU3RyaW5nKGVsZW1lbnQuY2xhc3NMaXN0KScsICd4Jyk7Cit9IGNh
dGNoIChleCkgeworICAgIHRlc3RQYXNzZWQoJ1Rocm93aW5nIG9uIHNldCBpcyBhY2NlcHRhYmxl
Jyk7Cit9CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0
aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworc2hv
dWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMCk7CisKKy8vIGh0dHA6
Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9n
ZXR0aW5nLzAwMi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2Vs
ZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDEpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3Jn
L3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDMuaHRtCitj
cmVhdGVFbGVtZW50KCd4IHgnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0
Lmxlbmd0aCcsIDIpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20v
cmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDQuaHRtCitjcmVhdGVFbGVtZW50KCd4
IHknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOwor
CisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01U
b2tlbkxpc3QvZ2V0dGluZy8wMDUuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQuY2xh
c3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFt
ZScsICd4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZs
ZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsK
K2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LmNsYXNzTmFtZScsICd4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNy5odG0KK2NyZWF0ZUVs
ZW1lbnQoJ3ggIHgnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4ICB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1v
bi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5n
LzAwOC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3knKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd5IHgnKTsKKwor
Ly8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9r
ZW5MaXN0L2dldHRpbmcvMDA5Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05h
bWUnLCAnJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZs
ZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsK
K2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LmNsYXNzTmFtZScsICcnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0
L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDExLmh0bQorY3JlYXRl
RWxlbWVudCgnIHkgeCAgeSAnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICcgeSB5ICcpOworCisvLyBo
dHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxp
c3QvZ2V0dGluZy8wMTIuaHRtCitjcmVhdGVFbGVtZW50KCcgeCB5ICB4ICcpOworZWxlbWVudC5j
bGFzc0xpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xh
c3NOYW1lJywgJ3knKTsKKworCitkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2VucycpOworCisvLyBU
ZXN0aW5nIGV4Y2VwdGlvbiBkdWUgdG8gaW52YWxpZCB0b2tlbgorCisvLyBzaG91bGRUaHJvdyBm
cm9tIGpzLXRlc3QtcHJlLmpzIGlzIG5vdCBzdWZmaWNpZW50LgorZnVuY3Rpb24gc2hvdWxkVGhy
b3dET01FeGNlcHRpb24oZiwgZWMpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigpOworICAgICAg
ICB0ZXN0RmFpbGVkKCdFeHBlY3RlZCBhbiBleGNlcHRpb24nKTsKKyAgICB9IGNhdGNoIChleCkg
eworICAgICAgICBpZiAoIShleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikpIHsKKyAgICAgICAg
ICAgIHRlc3RGYWlsZWQoJ0V4Y2VwdGlvbiBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgRE9NRXhjZXB0
aW9uLCBmb3VuZDogJyArCisgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC50b1N0cmluZy5j
YWxsKGV4KSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVj
ICE9PSBleC5jb2RlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdXcm9uZyBleGNlcHRpb24g
Y29kZTogJyArIGV4LmNvZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
fQorICAgIHZhciBmb3JtYXR0ZWRGdW5jdGlvbiA9IFN0cmluZyhmKS5yZXBsYWNlKC9eZnVuY3Rp
b24uK1x7XHMqL20sICcnKS4KKyAgICAgICAgcmVwbGFjZSgvOz9ccytcfS9tLCAnJyk7CisgICAg
dGVzdFBhc3NlZChmb3JtYXR0ZWRGdW5jdGlvbiArICcgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0
aW9uIHdpdGggY29kZSAnICsgZWMpOworfQorCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRU
aHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5jb250
YWlucygnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQo
J3ggeScpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVu
dC5jbGFzc0xpc3QuY29udGFpbnMoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hB
UkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRp
b24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCcnKTsKK30sIERPTUV4
Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RP
TUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3ggeScp
OworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1l
bnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVu
dC5jbGFzc0xpc3QucmVtb3ZlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKwor
Y3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsK
KyAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklO
VkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dE
T01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCcn
KTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNz
TGlzdC50b2dnbGUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VS
Uik7CisKKworZGVidWcoJ0luZGV4aW5nJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAneCcpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApJywgJ3gnKTsKKworY3JlYXRl
RWxlbWVudCgneCB4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0
WzFdJywgJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3QuaXRl
bSgxKScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LmNsYXNzTGlzdFsxXScsICd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSknLCAneScpOworCitjcmVhdGVFbGVtZW50KCcnKTsK
K3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3RbMF0nKTsKK3Nob3VsZEJlTnVsbCgnZWxl
bWVudC5jbGFzc0xpc3QuaXRlbSgwKScpOworCitjcmVhdGVFbGVtZW50KCd4IHkgeicpOworc2hv
dWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdFs0XScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50
LmNsYXNzTGlzdC5pdGVtKDQpJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeSB6Jyk7CitzaG91bGRC
ZVVuZGVmaW5lZCgnZWxlbWVudC5jbGFzc0xpc3RbLTFdJyk7CisKK2RlYnVnKCdUZXN0IGNhc2Ug
c2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlJyk7CisKK2NyZWF0ZUVsZW1lbnQo
J3gnKTsKK3Nob3VsZEJlVHJ1ZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCd4XCcpJyk7
CitzaG91bGRCZUZhbHNlKCdlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcJ1hcJyknKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAneCcpOworCitjcmVh
dGVFbGVtZW50KCdYJyk7CitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5z
KFwnWFwnKScpOworc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCd4
XCcpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJywgJ1gn
KTsKKworCitkZWJ1ZygnVGVzdGluZyB3aGl0ZXNwYWNlJyk7CisvLyBVKzAwMjAgU1BBQ0UsIFUr
MDAwOSBDSEFSQUNURVIgVEFCVUxBVElPTiAodGFiKSwgVSswMDBBIExJTkUgRkVFRCAoTEYpLAor
Ly8gVSswMDBDIEZPUk0gRkVFRCAoRkYpLCBhbmQgVSswMDBEIENBUlJJQUdFIFJFVFVSTiAoQ1Ip
CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMjB5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50
LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1MDAwOXknKTsKK3No
b3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVF
bGVtZW50KCd4XHUwMDBBeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3Qu
bGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMEN5Jyk7CitzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1
MDAwRHknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIp
OworCisKK2RlYnVnKCdET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5kIHR5cGUnKTsKKworCisvLyBT
YWZhcmkgcmV0dXJucyBvYmplY3QKKy8vIEZpcmVmb3ggcmV0dXJucyBvYmplY3QKKy8vIElFOCBy
ZXR1cm5zIG9iamVjdAorLy8gQ2hyb21lIHJldHVybnMgZnVuY3Rpb24KKy8vIGFzc2VydEVxdWFs
cygnb2JqZWN0JywgdHlwZW9mIERPTVRva2VuTGlzdCk7CitzaG91bGRCZVRydWUoJ1wndW5kZWZp
bmVkXCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCcpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3R5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlJywgJ29iamVjdCcpOworCitjcmVhdGVFbGVt
ZW50KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBlbGVtZW50LmNsYXNzTGlz
dCcsICdvYmplY3QnKTsKKworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QuY29u
c3RydWN0b3InLCAnRE9NVG9rZW5MaXN0Jyk7CisKK3Nob3VsZEJlVHJ1ZSgnZWxlbWVudC5jbGFz
c0xpc3QgPT09IGVsZW1lbnQuY2xhc3NMaXN0Jyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGU1NTNiZWNlZDhlN2RkZmQzNmE3NDFhNjNmNWZhY2ZmOWIwNThmNmUuLmIwZTBlNzU0YzZm
NmJmNDNmZDI1Nzk2NmRiNzFjNjc4NmNhYzQ5NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAt
NTYxLDYgKzU2MSwxNCBAQCB3aW5kb3cuRE9NU3RyaW5nTGlzdC5wcm90b3R5cGUuY29udGFpbnMg
W2Z1bmN0aW9uXQogd2luZG93LkRPTVN0cmluZ0xpc3QucHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9u
XQogd2luZG93LkRPTVN0cmluZ01hcCBbb2JqZWN0IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXQog
d2luZG93LkRPTVN0cmluZ01hcC5wcm90b3R5cGUgW29iamVjdCBET01TdHJpbmdNYXBQcm90b3R5
cGVdCit3aW5kb3cuRE9NVG9rZW5MaXN0IFtvYmplY3QgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3Jd
Cit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBbb2JqZWN0IERPTVRva2VuTGlzdFByb3Rv
dHlwZV0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBlLmFkZCBbZnVuY3Rpb25dCit3aW5k
b3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5jb250YWlucyBbZnVuY3Rpb25dCit3aW5kb3cuRE9N
VG9rZW5MaXN0LnByb3RvdHlwZS5pdGVtIFtmdW5jdGlvbl0KK3dpbmRvdy5ET01Ub2tlbkxpc3Qu
cHJvdG90eXBlLnJlbW92ZSBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlw
ZS50b1N0cmluZyBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b2dn
bGUgW2Z1bmN0aW9uXQogd2luZG93LkRhdGUgW2Z1bmN0aW9uXQogd2luZG93LkRvY3VtZW50IFtv
YmplY3QgRG9jdW1lbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUgW29i
amVjdCBEb2N1bWVudFByb3RvdHlwZV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3Rl
ZC50eHQKaW5kZXggYTc2YmY3MzFkYTVkNTc1MmVjNjFiMDI2MmQwZTQxZThkOWMwODc0MC4uMGQy
MzllZDRkMjFmMTA3MWExYzJhMzllN2IyODlkNzI3OTM0NWZjYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1k
ZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKQEAgLTQwLDYgKzQwLDcgQEAgUEFTUyB0eXBlb2YgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdET01JbXBsZW1lbnRhdGlvbicp
IGlzICdvYmoKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAnRE9NUGFyc2VyJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NU3RyaW5nTGlzdCcpIGlzICdvYmplY3QnCiBQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVN0
cmluZ01hcCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVRva2VuTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RhdGUnKSBpcyAnb2Jq
ZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cs
ICdEb2N1bWVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RvY3VtZW50RnJhZ21lbnQnKSBpcyAnb2JqZWN0JwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTIt
ZXhwZWN0ZWQudHh0CmluZGV4IDIwNTU3NWEzMzY3NWE2NTM0NDM5MjBkZGNkNWNkNTY0MTlmY2Fi
YTQuLmQ0YTMxZGIzZDdmNjI2Yzg1ZDM3MDAzNzc3NDUzNzNmYzU5OGZiNjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBl
Y3RlZC50eHQKQEAgLTc3LDYgKzc3LDkgQEAgUEFTUyBET01JbXBsZW1lbnRhdGlvblByb3RvdHlw
ZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWUKIFBBU1Mg
RE9NU3RyaW5nTWFwIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0
CiBQQVNTIERPTVN0cmluZ01hcENvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMu
dGVzdEZvcm0uMC5kYXRhc2V0LmNvbnN0cnVjdG9yCiBQQVNTIERPTVN0cmluZ01hcFByb3RvdHlw
ZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuZGF0YXNldC5fX3Byb3RvX18K
K1BBU1MgRE9NVG9rZW5MaXN0IGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC4w
LmNsYXNzTGlzdAorUEFTUyBET01Ub2tlbkxpc3RDb25zdHJ1Y3RvciBmcm9tIGlubmVyLmRvY3Vt
ZW50LmZvcm1zLnRlc3RGb3JtLjAuY2xhc3NMaXN0LmNvbnN0cnVjdG9yCitQQVNTIERPTVRva2Vu
TGlzdFByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFz
c0xpc3QuX19wcm90b19fCiBQQVNTIERPTVdpbmRvdyBmcm9tIGlubmVyCiBQQVNTIERPTVdpbmRv
d1Byb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1
bWVudC5kZWZhdWx0Vmlldy5fX3Byb3RvX18KIFBBU1MgRG9jdW1lbnRQcm90b3R5cGUgZnJvbSBp
bm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuX19wcm90b19fLl9f
cHJvdG9fXwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggNmU4ZjFjODNlNzU3Nzg1ZmQ3ZjEzNDhhZGU4ZThl
NDNjY2QwODNmNS4uZDYzOTc4OTI5YmI1YzJkM2IxNzM0NGU2NDcxMDM2ZjA1NjZlYWY2ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2Ut
ZXhwZWN0ZWQudHh0CkBAIC03Nyw2ICs3Nyw4IEBAIFBBU1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5p
c0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5jb25zdHJ1Y3Rvci5pc0lu
bmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTWFwLmlzSW5uZXIgaXMgdHJ1ZQogUEFT
UyBpbm5lci5ET01TdHJpbmdNYXAuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlu
bmVyLkRPTVRva2VuTGlzdC5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuRE9NVG9rZW5MaXN0
LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5EYXRlLmlzSW5uZXIgaXMg
dHJ1ZQogUEFTUyBpbm5lci5EYXRlLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBp
bm5lci5Eb2N1bWVudC5pc0lubmVyIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDVhYTBkMjgxZmM4YTU2
MDgxY2Y5YTg1YTgxZDk3NmQ2YjdkYjdlMzcuLjU5MGUyMTAzZjk1MTBlNWM3NzdkNmM4YTAyNTcy
NzhiM2IwMzU0N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0
cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29u
c3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMzgsNiArMzgsNyBAQCBQQVNTIERPTUltcGxlbWVu
dGF0aW9uLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRE9NSW1wbGVtZW50YXRpb25Db25zdHJ1Y3Rv
cl0nCiBQQVNTIERPTVBhcnNlci50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVBhcnNlckNvbnN0
cnVjdG9yXScKIFBBU1MgRE9NU3RyaW5nTGlzdC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVN0
cmluZ0xpc3RDb25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVN0cmluZ01hcC50b1N0cmluZygpIGlzICdb
b2JqZWN0IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXScKK1BBU1MgRE9NVG9rZW5MaXN0LnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVu
dC50b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1
bWVudEZyYWdtZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRGcmFnbWVudENvbnN0
cnVjdG9yXScKIFBBU1MgRG9jdW1lbnRUeXBlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1l
bnRUeXBlQ29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQu
anNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawpp
bmRleCA0ODZkOGNkM2FlYTUxNWU4YzllMWQ5OWFjMjUxOTljOTJmMTU5ZGU5Li5hOTI3ZjExZDY3
OTc2MDVhMjMwM2U3ZjYwZmIwYmJiNDE2M2M5MTBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJv
aWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5q
c2NiaW5kaW5ncy5tawpAQCAtMTU5LDYgKzE1OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTQmxvYi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNCbG9i
QnVpbGRlci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNET01Gb3JtRGF0YS5oIFwK
KyAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNET01Ub2tlbkxpc3QuaCBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9odG1sL0pTRGF0YUdyaWRDb2x1bW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRt
bC9KU0ZpbGUuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRp
bmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawppbmRleCA5Yjhm
MjJjMjlhMzg5ZDk5YTcyNzNmZWQ0NjEzMDlhY2Y0N2MzY2EzLi5hNzMxNTdkNzFhY2RlYmZkN2My
ODYxNmFhNmExZGQ5MzFkOGEyNDZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZl
ZC52OGJpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3Mu
bWsKQEAgLTE0MCw2ICsxNDAsNyBAQCAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKQogR0VOIDo9IFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYi5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYkJ1aWxkZXIuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9i
aW5kaW5ncy9WOERPTVRva2VuTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdz
L1Y4RGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERh
dGFHcmlkQ29sdW1uTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4Rmls
ZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNv
cmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawppbmRleCBlMDdlZDFlNGZlNTgwOGUwMjdhNzFiOGU3
NmM0ZDQ1MDMxYzk0YTE2Li4wODE2MTEzNDk5ZjMzNTA1NDVkYTAxZGNlOWZhOTg5MGQ0NDkwNTk3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29y
ZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCkBAIC04Myw2ICs4Myw3IEBAIExPQ0FMX1NSQ19GSUxF
UyArPSBcCiAJYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBcCiAJYmluZGluZ3MvanMvSlNE
T01Gb3JtRGF0YUN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNw
cCBcCisJYmluZGluZ3MvanMvSlNET01Ub2tlbkxpc3QuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2I0MTM4NzI0OWE0M2JjZTNmOTkz
Y2E4ZDQ1YWEwOGQ1NjM0ZTkwMy4uMDA2YzAzODlhZWY3ZjQzZjk4MWYzZTk1MzIwNGUyY2JhNDFk
NGZmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw2NiBAQAorMjAxMC0wOS0wOCAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEltcGxlbWVudCBIVE1MIDUncyBIVE1MRWxlbWVudC5jbGFzc0xpc3QgcHJvcGVydHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzA5CisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sCisKKyAg
ICAgICAgVGhpcyBhZGRzIGEgRE9NVG9rZW5MaXN0IGNsYXNzIHRoYXQgaXMgdXNlZGZvciB0aGUg
Y2xhc3NMaXN0IHByb3BlcnR5LiBET01Ub2tlbkxpc3QgdXNlcyBhIFNwYWNlU3BsaXRTdHJpbmcg
Zm9yIGZhc3QKKyAgICAgICAgY29udGFpbnMgY2hlY2suIEluIHN0YW5kYXJkcyBtb2RlIHRoZSBl
eGlzdGluZyBjbGFzc05hbWVzIGlzIHVzZWQgYnV0IGluIHF1aXJrcyBtb2RlIHdlIHVzZSBhbiBp
bnRlcm5hbCBTcGFjZVNwbGl0U3RyaW5nCisgICAgICAgIGJlY2F1c2UgY2xhc3NMaXN0IGlzIGFs
d2F5cyBjYXNlIHNlbnNpdGl2ZS4KKworICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5k
aW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAg
ICAgKiBBbmRyb2lkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNw
cDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAg
ICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTRWxlbWVudDo6bWFya0NoaWxkcmVuKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpjbGFzc0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
b3B0aW9uYWxDbGFzc0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVzZXRDbGFz
c0xpc3QpOiBUaGlzIGlzIGNhbGxlZCB3aGVuIHRoZSBjbGFzcyBhdHRyaWJ1dGUgY2hhbmdlcyBz
byB0aGF0IHRoZSBpbnRlcmFsIFNwYWNlU3BsaXRTdHJpbmcgY2FuCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6IFRoaXMgbm93IGhhcyBh
biBPd25QdHIgdG8gYSBDbGFzc0xpc3QgaWYgdGhlIEVsZW1lbnQ6OmNsYXNzTGlzdCBpcyBldmVy
IGNhbGxlZC4KKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAqIGRv
bS9TdHlsZWRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3QuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxOYW1lczo6dmFsaWRhdGVUb2tlbik6CisgICAgICAg
IChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OkRPTVRva2VuTGlzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpET01Ub2tlbkxpc3Q6OnJlZik6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmRl
cmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6bGVuZ3RoKToKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tl
bkxpc3Q6OmNvbnRhaW5zKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6Y29udGFp
bnNJbnRlcm5hbCk6IFRoZSBpbnRlcm5hbCBtZXRob2RzIGRvIG5vIHZhbGlkYXRpb24gb2YgdGhl
IHRva2VuLgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjphZGQpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NVG9rZW5MaXN0OjphZGRJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01Ub2tlbkxpc3Q6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJl
bW92ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6dG9nZ2xlKToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6dG9TdHJpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NVG9rZW5MaXN0OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxp
c3Q6OmNsYXNzTmFtZXMpOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5MaXN0Lmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NVG9rZW5MaXN0Ojp+RE9NVG9rZW5MaXN0KToKKyAgICAgICAgKiBodG1sL0RPTVRva2Vu
TGlzdC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaWRsOgorICAgICAg
ICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisK
IDIwMTAtMDktMDggIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1
YmJlci1zdGFtcGVkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA4MWY0MDcwMDFj
OTYxYWM0YzYxNjIyYmI4MGFhMTg5NjgwZWVmZThhLi5jMTFjNWVjMWFhMTM4YTUyYjRkYTNmOWQw
ZGY4NjYwMDk5MmMzYmVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAor
KysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtOTEsNiArOTEsNyBAQAogI2luY2x1
ZGUgIkpTRE9NU2VsZWN0aW9uLmNwcCIKICNpbmNsdWRlICJKU0RPTVN0cmluZ0xpc3QuY3BwIgog
I2luY2x1ZGUgIkpTRE9NU3RyaW5nTWFwLmNwcCIKKyNpbmNsdWRlICJKU0RPTVRva2VuTGlzdC5j
cHAiCiAjaW5jbHVkZSAiSlNET01XaW5kb3cuY3BwIgogI2luY2x1ZGUgIkpTRWxlbWVudC5jcHAi
CiAjaW5jbHVkZSAiSlNFbnRpdHkuY3BwIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDZmZDFjZGVlMTZk
ZDliNWVkZmM0N2ViM2NlMGMzMWMyYTJlMzNmMjguLjgxODFiYWRmZDM0ZjFlNmYxMmI5NDdmZTFh
NzYxMDc1N2M1MDBkYjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyNCw2ICsxMjQsNyBAQCBET01f
Q0xBU1NFUyA9IFwKICAgICBET01TZWxlY3Rpb24gXAogICAgIERPTVN0cmluZ0xpc3QgXAogICAg
IERPTVN0cmluZ01hcCBcCisgICAgRE9NVG9rZW5MaXN0IFwKICAgICBET01XaW5kb3cgXAogICAg
IERhdGFiYXNlIFwKICAgICBEYXRhYmFzZUNhbGxiYWNrIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDBmNTc0MTMyNjlh
YmM0ZDNmY2U5Yzg3YWExNDI3OTAzZmQ1NTM4NjAuLmRkYWU4ODZiNzA1ZDJiMDhmMGMwNDBkNjM5
ODM2MjQ4ZWE1NDA4ZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMjE0LDYgKzIxNCw4IEBAIHdlYmNvcmVfYnVpbHRf
c291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVN0cmluZ0xpc3QuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVN0cmluZ01hcC5jcHAgXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNET01TdHJpbmdNYXAuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RPTVRva2VuTGlzdC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01Ub2tl
bkxpc3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdy5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3cuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0VsZW1lbnQuY3BwIFwKQEAgLTEzMzcsNiArMTMzOSw4IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIFwKIAlXZWJDb3JlL2h0bWwvQXN5
bmNJbWFnZVJlc2l6ZXIuY3BwIFwKIAlXZWJDb3JlL2h0bWwvQXN5bmNJbWFnZVJlc2l6ZXIuaCBc
CisJV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAgXAorCVdlYkNvcmUvaHRtbC9ET01Ub2tl
bkxpc3QuaCBcCiAJV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5jcHAgXAogCVdlYkNvcmUv
aHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBcCiAJV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmgg
XApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCBjNzU5Nzk0NmFkMGQ4OTk3NTEyYjg5ZjEyOGE2YjllZjdlNjIyMGE5Li5kZDRmMDBk
ZWI1MDI2YTYxOTk5MTg0OTg3MTRhZjk4ZmQzYjEyYzlkIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTA4LDYgKzEwOCw3IEBA
CiAgICAgICAgICAgICAnZmlsZWFwaS9NZXRhZGF0YS5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVh
cGkvTWV0YWRhdGFDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRE9NRm9ybURhdGEu
aWRsJywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvRGF0YUdyaWRDb2x1bW4uaWRsJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29s
dW1uTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsJywK
QEAgLTE0OTksNiArMTUwMCw4IEBACiAgICAgICAgICAgICAnaHRtbC9ET01EYXRhR3JpZERhdGFT
b3VyY2UuaCcsCiAgICAgICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5jcHAnLAogICAgICAgICAg
ICAgJ2h0bWwvRE9NRm9ybURhdGEuaCcsCisgICAgICAgICAgICAnaHRtbC9ET01Ub2tlbkxpc3Qu
Y3BwJywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5oJywKICAgICAgICAgICAgICdo
dG1sL0RhdGFHcmlkQ29sdW1uLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVt
bi5oJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5jcHAnLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggYTRj
NjliMTBjMmEwZTY2MGNmNmZiZjcyNmFlM2YzOGUwNmNmMmE5Ny4uZjI5MDVmNDRiMjNhNDM1ZWEx
MmRmZjNiNjVlNjAxNGI1M2E0NGY5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQor
KysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0xOTMsNiArMTkzLDcgQEAgSURMX0JJTkRJTkdT
ICs9IFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uLmlkbCBcCiAgICAgaHRtbC9EYXRhR3JpZENv
bHVtbkxpc3QuaWRsIFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmlkbCBcCisgICAgaHRtbC9ET01U
b2tlbkxpc3QuaWRsIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbCBcCiAgICAgaHRt
bC9IVE1MQXVkaW9FbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwg
XApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8K
aW5kZXggZWE2ZTkwMTQ1YTc2MDcxYWQ2MmJmYTA1MjdkY2E3ZTg5OTE5ODcwZS4uMWY4ZjBhZWIz
NDNmNDdhODIyZGE4MjQzNzU3Zjc3ZTc3ZGU2ZmM2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC02NDIsNiArNjQyLDcgQEAgU09V
UkNFUyArPSBcCiAgICAgaHRtbC9Db2xsZWN0aW9uQ2FjaGUuY3BwIFwKICAgICBodG1sL0RPTURh
dGFHcmlkRGF0YVNvdXJjZS5jcHAgXAogICAgIGh0bWwvRE9NRm9ybURhdGEuY3BwIFwKKyAgICBo
dG1sL0RPTVRva2VuTGlzdC5jcHAgXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uY3BwIFwKICAg
ICBodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5jcHAgXAogICAgIGh0bWwvRGF0ZUNvbXBvbmVudHMu
Y3BwIFwKQEAgLTE0MzcsNiArMTQzOCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvRGF0ZUNv
bXBvbmVudHMuaCBcCiAgICAgaHRtbC9ET01EYXRhR3JpZERhdGFTb3VyY2UuaCBcCiAgICAgaHRt
bC9ET01Gb3JtRGF0YS5oIFwKKyAgICBodG1sL0RPTVRva2VuTGlzdC5oIFwKICAgICBodG1sL0Zv
cm1EYXRhTGlzdC5oIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmggXAogICAgIGh0bWwv
SFRNTEFuY2hvckVsZW1lbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpp
bmRleCAwNDdiZDQ3MjI2ZGE3MDE2ZGVkODUyOThkMjk2MmUxODU2MWE4YWFmLi5lMjg1Yzg0YWU2
ZjRhZmYwNGYwN2ZhMDNjNGFhNmI4ZWNiZDMxY2ViIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTQwMzMsNiArNDAzMywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NVG9rZW5MaXN0LmNwcCINCisJCQkJPg0KKwkJ
CTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01Ub2tlbkxpc3QuaCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01XaW5kb3cu
Y3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTM3NDY1LDYgKzM3NDcz
LDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGh0bWxcRE9NVG9rZW5MaXN0LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8Rmls
ZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRE9NVG9rZW5MaXN0LmgiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEZvcm1EYXRh
TGlzdC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBhNTI0MzllYjk3YWQyMWQwZDIxNTAxYTQ1ZDVhN2RmZjE1
YmEzYzhkLi5lYWI5MmQ5OWMxNjZjYmRmNmY2YWY1MjFhYjI2YjJjN2FmZmU5ZjFmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQxNSwxMiArMTQxNSwx
OCBAQAogCQk3NjkzQkFEMzEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTNCQUNGMTA2QzJE
Q0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuY3BwICovOyB9OwogCQk3NjkzQkFENDEwNkMyRENB
MDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFEMDEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVy
LmggKi87IH07CiAJCTc2OTNCQUQ1MTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXJDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTNC
QUQxMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXJDbGllbnQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3Njk0NTYzQzEyMTREOTdDMDAw
N0NCQUUgLyogSlNET01Ub2tlbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2M0ExMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5M
aXN0LmNwcCAqLzsgfTsKKwkJNzY5NDU2M0QxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5M
aXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Njk0
NTYzQjEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY5NDU2
NUIxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2NTkxMjE0REI2MzAwMDdDQkFFIC8q
IERPTURPTVRva2VuTGlzdC5oICovOyB9OworCQk3Njk0NTY1QzEyMTREQjYzMDAwN0NCQUUgLyog
RE9NRE9NVG9rZW5MaXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzY5NDU2NUExMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSAq
LzsgfTsKIAkJNzZDREQyRjIxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlz
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkNE
RDJFQzExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcCAqLzsgfTsK
IAkJNzZDREQyRjMxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUQxMTAz
REE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5oICovOyB9OwogCQk3NkNERDJG
NDExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUUxMTAzREE2
NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCAqLzsgfTsKIAkJNzZD
REQyRjUxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkNERDJFRjExMDNE
QTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAuaCAqLzsgfTsKIAkJNzZD
REQyRjYxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbi5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkNERDJGMDEx
MDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmNwcCAqLzsgfTsK
IAkJNzZDREQyRjcxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQy
RjExMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbi5oICovOyB9
OworCQk3NkZDMkIwQjEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2RkMyQjA4MTIzNzBEQTAw
MDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuY3BwICovOyB9OworCQk3NkZDMkIwQzEyMzcwREEwMDA2
QTk5MUEgLyogRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3NkZDMkIwOTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0Lmgg
Ki87IH07CiAJCTc2RkYxN0UzMTEyMzU2NzMwMDFENjFCNSAvKiBQbHVnaW5WaWV3Tm9uZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkZGMTdFMjEx
MjM1NjczMDAxRDYxQjUgLyogUGx1Z2luVmlld05vbmUuY3BwICovOyB9OwogCQk3OUFDOTIxODEw
OTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5QUM5MjE2MTA5OTQ1QzgwMDIxMjY2RSAv
KiBKU0NvbXBvc2l0aW9uRXZlbnQuY3BwICovOyB9OwogCQk3OUFDOTIxOTEwOTk0NUM4MDAyMTI2
NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3OUFDOTIxNzEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlv
bkV2ZW50LmggKi87IH07CkBAIC03MzQ2LDEyICs3MzUyLDE5IEBACiAJCTc2OTNCQUNGMTA2QzJE
Q0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGx1Z2luSGFsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5IYWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzY5M0JBRDExMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlckNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5IYWx0ZXJDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5NDU2M0ExMjE0RDk3QzAwMDdDQkFF
IC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRE9NVG9rZW5MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5
NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRE9NVG9rZW5MaXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01E
T01Ub2tlbkxpc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
T01ET01Ub2tlbkxpc3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVD
MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUQxMTAzREE2NjAwNjgwNTIxIC8qIEFj
Y2Vzc2liaWxpdHlNZW51TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5TWVudUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZD
REQyRUUxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlz
dFBvcHVwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUYxMTAzREE2
NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkYwMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3Np
YmlsaXR5TWVudUxpc3RPcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzZDREQyRjExMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51
TGlzdE9wdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmls
aXR5TWVudUxpc3RPcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZGQzJC
MDgxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBET01Ub2tlbkxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3NkZDMkIwOTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3NkZDMkIwQTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5M
aXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01Ub2tlbkxpc3QuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3NkZGMTdFMjExMjM1NjczMDAxRDYxQjUgLyogUGx1Z2lu
Vmlld05vbmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2lu
Vmlld05vbmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUFDOTIxNjEwOTk0
NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ29tcG9zaXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc5QUM5MjE3MTA5OTQ1QzgwMDIxMjY2RSAvKiBKU0NvbXBvc2l0aW9u
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDb21wb3NpdGlvbkV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzQ1NCw2ICsxMzQ2Nyw4IEBA
CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkyRTJEOTlFNTEwRTJCQzFDMDA0OTYzMzcgLyogRE9NQmxv
Yi5oICovLAogCQkJCTJFMkQ5OUU2MTBFMkJDMUMwMDQ5NjMzNyAvKiBET01CbG9iLm1tICovLAor
CQkJCTc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLywKKwkJ
CQk3Njk0NTY1QTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0Lm1tICovLAogCQkJ
CUJDMDBFRkZFMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLmggKi8sCiAJCQkJQkMwMEVGRkYw
RTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGUubW0gKi8sCiAJCQkJMkUzQkMxMDYxMTdENDc5ODAw
Qjk0MDlBIC8qIERPTUZpbGVFcnJvci5oICovLApAQCAtMTQwNzUsNiArMTQwOTAsOSBAQAogCQkJ
CTJFRDYwOUJBMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5jcHAgKi8sCiAJCQkJMkVE
NjA5QkIxMTQ1QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRhLmggKi8sCiAJCQkJMkUwODg4QzMx
MTQ4ODNBOTAwQUY0MjY1IC8qIERPTUZvcm1EYXRhLmlkbCAqLywKKwkJCQk3NkZDMkIwODEyMzcw
REEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmNwcCAqLywKKwkJCQk3NkZDMkIwOTEyMzcwREEw
MDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmggKi8sCisJCQkJNzZGQzJCMEExMjM3MERBMDAwNkE5
OTFBIC8qIERPTVRva2VuTGlzdC5pZGwgKi8sCiAJCQkJQTgxMzZEMzcwOTczQThFNzAwRDc0NDYz
IC8qIEZvcm1EYXRhTGlzdC5jcHAgKi8sCiAJCQkJQTgxMzZEMzYwOTczQThFNzAwRDc0NDYzIC8q
IEZvcm1EYXRhTGlzdC5oICovLAogCQkJCUJDOTdFMjM5MTA5MTQ0OTUwMDEwRDM2MSAvKiBIVE1M
QWxsQ29sbGVjdGlvbi5jcHAgKi8sCkBAIC0xNDUxNyw2ICsxNDUzNSw4IEBACiAJCQkJQkM3N0Qx
NjgwRkYxOUY1NTAwNzA4ODdCIC8qIEpTRGF0YUdyaWRDb2x1bW5MaXN0LmggKi8sCiAJCQkJMkUw
ODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovLAogCQkJCTJFMDg4
OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8sCisJCQkJNzY5NDU2M0Ex
MjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLywKKwkJCQk3Njk0NTYzQjEy
MTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuaCAqLywKIAkJCQk0OUVFQ0VGNDEwNTA3
MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuY3BwICovLAogCQkJCTQ5RUVDRUY1MTA1MDcw
QzQwMDA5OUZBQiAvKiBKU0Zsb2F0MzJBcnJheS5oICovLAogCQkJCUJDOTdFNDEwMTA5MTU0RkEw
MDEwRDM2MSAvKiBKU0hUTUxBbGxDb2xsZWN0aW9uLmNwcCAqLywKQEAgLTIwNDU3LDYgKzIwNDc3
LDkgQEAKIAkJCQk5N0JDODQ5QjEyMzcwQTRCMDAwQzYxNjEgLyogSFRNTElucHV0U3RyZWFtLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5N0JDODRBNTEyMzcwREM4MDAwQzYxNjEgLyogVGV4dFZpZXdT
b3VyY2VQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QkM4NEI0MTIzNzExODAwMDBDNjE2
MSAvKiBUZXh0RG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTc2OTQ1NjNEMTIxNEQ5N0Mw
MDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzY5NDU2NUIx
MjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NzZGQzJCMEMxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC0yMjkyMyw2ICsyMjk0Niw5IEBACiAJCQkJOTdCQzg0ODMxMjM2RkQ5MzAwMEM2MTYxIC8q
IFRleHREb2N1bWVudFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0JDODRBNDEyMzcw
REM4MDAwQzYxNjEgLyogVGV4dFZpZXdTb3VyY2VQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOTdCQzg0QjMxMjM3MTE4MDAwMEM2MTYxIC8qIFRleHREb2N1bWVudC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk3Njk0NTYzQzEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNzY5NDU2NUMxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRv
a2VuTGlzdC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTc2RkMyQjBCMTIzNzBEQTAwMDZBOTkxQSAv
KiBET01Ub2tlbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxl
bWVudEN1c3RvbS5jcHAKaW5kZXggOGExZGY1YzZjYTJhY2VmMDMzNzAxNDA1NjYzNTNmMDExYmU5
ZDQ0Ni4uZjY5MTYyMGE4YzgyZTRmMzgxM2RkZGE3Yjc3ODdiZjVkMjM3Yzg3OCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcApAQCAtNjAsNiArNjAsNyBAQCB2b2lkIEpT
RWxlbWVudDo6bWFya0NoaWxkcmVuKE1hcmtTdGFjayYgbWFya1N0YWNrKQogICAgIEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSA9ICpIZWFwOjpoZWFwKHRoaXMpLT5nbG9iYWxEYXRhKCk7CiAKICAg
ICBtYXJrRE9NT2JqZWN0V3JhcHBlcihtYXJrU3RhY2ssIGdsb2JhbERhdGEsIGVsZW1lbnQtPmF0
dHJpYnV0ZU1hcCgpKTsKKyAgICBtYXJrRE9NT2JqZWN0V3JhcHBlcihtYXJrU3RhY2ssIGdsb2Jh
bERhdGEsIGVsZW1lbnQtPm9wdGlvbmFsQ2xhc3NMaXN0KCkpOwogICAgIG1hcmtET01PYmplY3RX
cmFwcGVyKG1hcmtTdGFjaywgZ2xvYmFsRGF0YSwgZWxlbWVudC0+b3B0aW9uYWxEYXRhc2V0KCkp
OwogCiAgICAgaWYgKGVsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMWExMTRhNDI5N2UxNDkyOTMzYmFi
MjgzZTM2NGY1Y2ExNDc5MmJjZi4uODAzNTQyZTY5ZDgyZGNiZGY1Mjc4Y2RlNzJkMDZiNTU1NDJi
NzExNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBA
IC0yNDAsNyArMjQwLDcgQEAgc3ViIEluZGV4R2V0dGVyUmV0dXJuc1N0cmluZ3MKIHsKICAgICBt
eSAkdHlwZSA9IHNoaWZ0OwogCi0gICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVj
bGFyYXRpb24iIG9yICR0eXBlIGVxICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJs
ZXNEZWNsYXJhdGlvbiIgb3IgJHR5cGUgZXEgIkRPTVN0cmluZ0xpc3QiOworICAgIHJldHVybiAx
IGlmICR0eXBlIGVxICJDU1NTdHlsZURlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiTWVkaWFMaXN0
IiBvciAkdHlwZSBlcSAiQ1NTVmFyaWFibGVzRGVjbGFyYXRpb24iIG9yICR0eXBlIGVxICJET01T
dHJpbmdMaXN0IiBvciAkdHlwZSBlcSAiRE9NVG9rZW5MaXN0IjsKICAgICByZXR1cm4gMDsKIH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcAppbmRleCA2ZmY0N2UwYTk2MDg5NGMyNWU5YjExMzk5ODc2ODgwZjgxNDllYjY1Li5i
MGViYmM0N2JhMDhiZmQwNjJmYjUxMWI3NDBjOGVmYmU4ZDA0OWI5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzMs
NiArMzMsNyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDbGll
bnRSZWN0LmgiCiAjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKKyNpbmNsdWRlICJET01Ub2tl
bkxpc3QuaCIKICNpbmNsdWRlICJEYXRhc2V0RE9NU3RyaW5nTWFwLmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmgiCkBAIC0xNTUwLDYgKzE1NTEs
MzAgQEAgYm9vbCBFbGVtZW50Ojp3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBz
ZWxlY3RvciwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitET01U
b2tlbkxpc3QqIEVsZW1lbnQ6OmNsYXNzTGlzdCgpCit7CisgICAgRWxlbWVudFJhcmVEYXRhKiBk
YXRhID0gZW5zdXJlUmFyZURhdGEoKTsKKyAgICBpZiAoIWRhdGEtPm1fY2xhc3NMaXN0KQorICAg
ICAgICBkYXRhLT5tX2NsYXNzTGlzdCA9IERPTVRva2VuTGlzdDo6Y3JlYXRlKHRoaXMpOworICAg
IHJldHVybiBkYXRhLT5tX2NsYXNzTGlzdC5nZXQoKTsKK30KKworRE9NVG9rZW5MaXN0KiBFbGVt
ZW50OjpvcHRpb25hbENsYXNzTGlzdCgpIGNvbnN0Cit7CisgICAgaWYgKCFoYXNSYXJlRGF0YSgp
KQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmFyZURhdGEoKS0+bV9jbGFzc0xpc3Qu
Z2V0KCk7Cit9CisgICAgCit2b2lkIEVsZW1lbnQ6OnJlc2V0Q2xhc3NMaXN0KGNvbnN0IFN0cmlu
ZyYgbmV3Q2xhc3NOYW1lKQoreworICAgIGlmIChoYXNSYXJlRGF0YSgpKSB7CisgICAgICAgIEVs
ZW1lbnRSYXJlRGF0YSogZGF0YSA9IHJhcmVEYXRhKCk7CisgICAgICAgIGlmIChkYXRhICYmIGRh
dGEtPm1fY2xhc3NMaXN0KQorICAgICAgICAgICAgZGF0YS0+bV9jbGFzc0xpc3QtPnJlc2V0KG5l
d0NsYXNzTmFtZSk7CisgICAgfQorfQorCiBET01TdHJpbmdNYXAqIEVsZW1lbnQ6OmRhdGFzZXQo
KQogewogICAgIEVsZW1lbnRSYXJlRGF0YSogZGF0YSA9IGVuc3VyZVJhcmVEYXRhKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5k
ZXggZDEzZDQ4MzJiNDY2ZDhiZjc4NmU5YmEzYTdmMzM5NmVkMzliMjVhMi4uMWYyMTJhYmZlM2Uy
NGNkMmEwZjM2YjE3MzZjZDA4MGVjZDA5NzQ3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxl
bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMzYsNiArMzYsNyBAQCBjbGFz
cyBBdHRyaWJ1dGU7CiBjbGFzcyBDbGllbnRSZWN0OwogY2xhc3MgQ2xpZW50UmVjdExpc3Q7CiBj
bGFzcyBET01TdHJpbmdNYXA7CitjbGFzcyBET01Ub2tlbkxpc3Q7CiBjbGFzcyBFbGVtZW50UmFy
ZURhdGE7CiBjbGFzcyBJbnRTaXplOwogCkBAIC0yNjksNiArMjcwLDkgQEAgcHVibGljOgogCiAg
ICAgYm9vbCB3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvcnMsIEV4
Y2VwdGlvbkNvZGUmKTsKIAorICAgIERPTVRva2VuTGlzdCogY2xhc3NMaXN0KCk7CisgICAgRE9N
VG9rZW5MaXN0KiBvcHRpb25hbENsYXNzTGlzdCgpIGNvbnN0OworICAgIAogICAgIERPTVN0cmlu
Z01hcCogZGF0YXNldCgpOwogICAgIERPTVN0cmluZ01hcCogb3B0aW9uYWxEYXRhc2V0KCkgY29u
c3Q7CiAKQEAgLTMyMyw2ICszMjcsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCByZWNhbGNTdHls
ZUlmTmVlZGVkQWZ0ZXJBdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSopOwogICAgIHZvaWQgdXBk
YXRlQWZ0ZXJBdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSopOwogCisgICAgdm9pZCByZXNldENs
YXNzTGlzdChjb25zdCBTdHJpbmcmIG5ld0NsYXNzTmFtZSk7CisKIHByaXZhdGU6CiAgICAgdm9p
ZCBzY3JvbGxCeVVuaXRzKGludCB1bml0cywgU2Nyb2xsR3JhbnVsYXJpdHkpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oCmluZGV4IDhlMzM4YWJjNjgwZjI0NGQyZjRhZmI2YWVlZmI1NjMzNTJhYTNmZjIu
LmYxZTYzMzQxOGNjMjQ2Njk1M2E4OTI5YTgwYzNjY2NjNTZlYmNkOGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJl
RGF0YS5oCkBAIC0yMiw2ICsyMiw3IEBACiAjaWZuZGVmIEVsZW1lbnRSYXJlRGF0YV9oCiAjZGVm
aW5lIEVsZW1lbnRSYXJlRGF0YV9oCiAKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNs
dWRlICJEYXRhc2V0RE9NU3RyaW5nTWFwLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1
ZGUgIk5vZGVSYXJlRGF0YS5oIgpAQCAtNDIsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRy
PFJlbmRlclN0eWxlPiBtX2NvbXB1dGVkU3R5bGU7CiAKICAgICBPd25QdHI8RGF0YXNldERPTVN0
cmluZ01hcD4gbV9kYXRhc2V0RE9NU3RyaW5nTWFwOworICAgIE93blB0cjxET01Ub2tlbkxpc3Q+
IG1fY2xhc3NMaXN0OwogfTsKIAogaW5saW5lIEludFNpemUgZGVmYXVsdE1pbmltdW1TaXplRm9y
UmVzaXppbmcoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9X
ZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCBhMTU4ZTJlYWU1YmJiNjRkYzZlYTgx
MmU4NTY4MzJlYWUwMTQ2NGExLi42NTUxNGZiOTVhYjUyMDdmZGUyMjRjYzlkOWQzZDBhOWUxZTM3
MTQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAorKysgYi9XZWJD
b3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtMjE3LDggKzIxNywxMCBAQCB2b2lkIFN0eWxl
ZEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5ld0Ns
YXNzU3RyaW5nKQogICAgIH0KICAgICBib29sIGhhc0NsYXNzID0gaSA8IGxlbmd0aDsKICAgICBz
ZXRIYXNDbGFzcyhoYXNDbGFzcyk7Ci0gICAgaWYgKGhhc0NsYXNzKQorICAgIGlmIChoYXNDbGFz
cykgewogICAgICAgICBhdHRyaWJ1dGVzKCktPnNldENsYXNzKG5ld0NsYXNzU3RyaW5nKTsKKyAg
ICAgICAgcmVzZXRDbGFzc0xpc3QobmV3Q2xhc3NTdHJpbmcpOworICAgIH0KICAgICBlbHNlIHsK
ICAgICAgICAgaWYgKGF0dHJpYnV0ZU1hcCgpKSAgICAKICAgICAgICAgICAgIGF0dHJpYnV0ZU1h
cCgpLT5jbGVhckNsYXNzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50
LmggYi9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKaW5kZXggODA0MGRiZjFlMzY4YWNiN2Y0
ZWE4ZTgzNTdhMWIxNWFmODA0MmYwMy4uNGI2MjM4ODE0NDRlMTg1NDA3NjM2M2MwY2M2OTIxYjk4
NzNkMzA2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCisrKyBiL1dl
YkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaApAQCAtMzIsNiArMzIsNyBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBBdHRyaWJ1dGU7CitjbGFzcyBDbGFzc0xpc3Q7CiBjbGFzcyBDU1NN
YXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbjsKIAogY2xhc3MgU3R5bGVkRWxlbWVudCA6IHB1Ymxp
YyBFbGVtZW50IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuY3BwIGIv
V2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ2NmM1MGM0ZTEyMzYy
ODMyMmEyOThiZmE5MTQ0ZTU4MjQwYTVlZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRt
bC9ET01Ub2tlbkxpc3QuY3BwCkBAIC0wLDAgKzEsMjA3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorCisjaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1
ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCituYW1lc3BhY2Ug
eworCitib29sIHZhbGlkYXRlVG9rZW4oY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHRva2VuLmlzRW1wdHkoKSkgeworICAgICAgICBlYyA9
IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBjb25zdCB1
bnNpZ25lZCBsZW5ndGggPSB0b2tlbi5sZW5ndGgoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKGlzQ2xhc3NXaGl0ZXNwYWNlKHRva2Vu
W2ldKSkgeworICAgICAgICAgICAgZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7CisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworfSAvLyBuYW1lc3BhY2UKKworRE9NVG9rZW5MaXN0OjpET01Ub2tlbkxpc3QoRWxlbWVu
dCogZWxlbWVudCkKKyAgICA6IG1fZWxlbWVudChlbGVtZW50KQoreworICAgIGlmIChtX2VsZW1l
bnQtPmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpKQorICAgICAgICBtX2NsYXNzTmFtZXMgPSBu
ZXcgU3BhY2VTcGxpdFN0cmluZyhtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShjbGFzc0F0dHIpLCBm
YWxzZSk7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0OjpyZWYoKQoreworICAgIG1fZWxlbWVudC0+
cmVmKCk7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0OjpkZXJlZigpCit7CisgICAgbV9lbGVtZW50
LT5kZXJlZigpOworfQorCit1bnNpZ25lZCBET01Ub2tlbkxpc3Q6Omxlbmd0aCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGNsYXNzTmFtZXMoKS0+c2l6ZSgpOworfQorCitjb25zdCBBdG9taWNTdHJp
bmcgRE9NVG9rZW5MaXN0OjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIGlmIChp
bmRleCA+PSBsZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZygpOworICAgIHJl
dHVybiAoKmNsYXNzTmFtZXMoKSlbaW5kZXhdOworfQorCitib29sIERPTVRva2VuTGlzdDo6Y29u
dGFpbnMoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0
Cit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgcmV0dXJuIGNvbnRhaW5zSW50ZXJuYWwodG9rZW4pOworfQorCitib29sIERP
TVRva2VuTGlzdDo6Y29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBj
b25zdAoreworICAgIHJldHVybiBjbGFzc05hbWVzKCktPmNvbnRhaW5zKHRva2VuKTsKK30KKwor
dm9pZCBET01Ub2tlbkxpc3Q6OmFkZChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRp
b25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sICBlYykpCisgICAg
ICAgIHJldHVybjsKKyAgICBhZGRJbnRlcm5hbCh0b2tlbik7Cit9CisKK3ZvaWQgRE9NVG9rZW5M
aXN0OjphZGRJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAg
IGNvbnN0IEF0b21pY1N0cmluZyBvbGRDbGFzc05hbWUobV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUo
Y2xhc3NBdHRyKSk7CisgICAgaWYgKG9sZENsYXNzTmFtZS5pc0VtcHR5KCkpCisgICAgICAgIG1f
ZWxlbWVudC0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgdG9rZW4pOworICAgIGVsc2UgaWYgKCFj
b250YWluc0ludGVybmFsKHRva2VuKSkKKyAgICAgICAgbV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUo
Y2xhc3NBdHRyLCBvbGRDbGFzc05hbWUgKyAiICIgKyB0b2tlbik7Cit9CisKK3ZvaWQgRE9NVG9r
ZW5MaXN0OjpyZW1vdmUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYg
ZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCAgZWMpKQorICAgICAgICByZXR1
cm47CisgICAgcmVtb3ZlSW50ZXJuYWwodG9rZW4pOworfQorCit2b2lkIERPTVRva2VuTGlzdDo6
cmVtb3ZlSW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbikgY29uc3QKK3sKKyAgICAv
LyBDaGVjayB1c2luZyBjb250YWlucyBmaXJzdCBzaW5jZSBpdCB1c2VzIEF0b21pY1N0cmluZyBj
b21wYXJpc29ucyBpbnN0ZWFkCisgICAgLy8gb2YgY2hhcmFjdGVyIGJ5IGNoYXJhY3RlciB0ZXN0
aW5nLgorICAgIGlmICghY29udGFpbnNJbnRlcm5hbCh0b2tlbikpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIEFsZ29yaXRobSBkZWZpbmVkIGF0IGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVj
cy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL2NvbW1vbi1taWNyb3N5bnRheGVzLmh0
bWwjcmVtb3ZlLWEtdG9rZW4tZnJvbS1hLXN0cmluZworCisgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBpbnB1dCA9IG1fZWxlbWVudC0+Z2V0QXR0cmlidXRlKGNsYXNzQXR0cik7CisgICAgY29uc3Qg
dW5zaWduZWQgaW5wdXRMZW5ndGggPSBpbnB1dC5sZW5ndGgoKTsKKyAgICBTdHJpbmcgb3V0cHV0
OyAvLyAzCisgICAgdW5zaWduZWQgcG9zaXRpb24gPSAwOyAvLyA0CisKKyAgICAvLyBTdGVwIDUK
KyAgICB3aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0aCkgeworICAgICAgICBpZiAoaXNDbGFz
c1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkgeyAvLyA2CisgICAgICAgICAgICBvdXRwdXQu
YXBwZW5kKGlucHV0W3Bvc2l0aW9uKytdKTsgLy8gNi4xLCA2LjIKKyAgICAgICAgICAgIGNvbnRp
bnVlOyAvLyA2LjMKKyAgICAgICAgfQorCisgICAgICAgIC8vIFN0ZXAgNworICAgICAgICBTdHJp
bmcgczsKKyAgICAgICAgd2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGggJiYgIWlzQ2xhc3NX
aGl0ZXNwYWNlKGlucHV0W3Bvc2l0aW9uXSkpCisgICAgICAgICAgICBzLmFwcGVuZChpbnB1dFtw
b3NpdGlvbisrXSk7CisKKyAgICAgICAgLy8gU3RlcCA4CisgICAgICAgIGlmIChzID09IHRva2Vu
KSB7CisgICAgICAgICAgICAvLyBTdGVwIDguMQorICAgICAgICAgICAgd2hpbGUgKHBvc2l0aW9u
IDwgaW5wdXRMZW5ndGggJiYgaXNDbGFzc1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkKKyAg
ICAgICAgICAgICAgICArK3Bvc2l0aW9uOworCisgICAgICAgICAgICAvLyBTdGVwIDguMgorICAg
ICAgICAgICAgdW5zaWduZWQgaiA9IG91dHB1dC5sZW5ndGgoKTsKKyAgICAgICAgICAgIHdoaWxl
IChqID4gMCAmJiBpc0NsYXNzV2hpdGVzcGFjZShvdXRwdXRbaiAtIDFdKSkKKyAgICAgICAgICAg
ICAgICAtLWo7CisgICAgICAgICAgICBvdXRwdXQudHJ1bmNhdGUoaik7CisKKyAgICAgICAgICAg
IC8vIFN0ZXAgOC4zCisgICAgICAgICAgICBpZiAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiAh
b3V0cHV0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCcgJyk7Cisg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChzKTsgLy8gU3RlcCA5Cisg
ICAgfQorCisgICAgbV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCBvdXRwdXQpOwor
fQorCitib29sIERPTVRva2VuTGlzdDo6dG9nZ2xlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4s
IEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwgIGVj
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGNvbnRhaW5zSW50ZXJuYWwodG9r
ZW4pKSB7CisgICAgICAgIHJlbW92ZUludGVybmFsKHRva2VuKTsKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KKyAgICBhZGRJbnRlcm5hbCh0b2tlbik7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK1N0cmluZyBET01Ub2tlbkxpc3Q6OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUoY2xhc3NBdHRyKTsKK30KKwordm9pZCBET01Ub2tlbkxp
c3Q6OnJlc2V0KGNvbnN0IFN0cmluZyYgbmV3Q2xhc3NOYW1lKQoreworICAgIGlmIChtX2VsZW1l
bnQtPmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpKQorICAgICAgICBtX2NsYXNzTmFtZXMtPnNl
dChuZXdDbGFzc05hbWUsIGZhbHNlKTsKK30KKworY29uc3QgU3BhY2VTcGxpdFN0cmluZyogRE9N
VG9rZW5MaXN0OjpjbGFzc05hbWVzKCkgY29uc3QKK3sKKyAgICBpZiAobV9lbGVtZW50LT5kb2N1
bWVudCgpLT5pblF1aXJrc01vZGUoKSkKKyAgICAgICAgcmV0dXJuIG1fY2xhc3NOYW1lcy5nZXQo
KTsKKyAgICByZXR1cm4gJm1fZWxlbWVudC0+YXR0cmlidXRlTWFwKCktPmNsYXNzTmFtZXMoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1
MDJlMmE2MGZkY2RhNTBlNTRjZGYzMDMwMDA1ZjQ2NmNlODdkZWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRE9N
VG9rZW5MaXN0X2gKKyNkZWZpbmUgRE9NVG9rZW5MaXN0X2gKKworI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRWxlbWVudDsKKworY2xh
c3MgRE9NVG9rZW5MaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc093blB0cjxET01Ub2tlbkxpc3Q+IGNyZWF0ZShFbGVtZW50KiBlbGVtZW50KQorICAg
IHsKKyAgICAgICAgcmV0dXJuIG5ldyBET01Ub2tlbkxpc3QoZWxlbWVudCk7CisgICAgfQorCisg
ICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkgeyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVmKCk7
CisgICAgdmlydHVhbCB2b2lkIGRlcmVmKCk7CisKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0
aCgpIGNvbnN0OworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nIGl0ZW0odW5zaWduZWQg
aW5kZXgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBjb250YWlucyhjb25zdCBBdG9taWNTdHJp
bmcmLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGFkZChjb25zdCBB
dG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZShj
b25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCBib29sIHRv
Z2dsZShjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdmlydHVhbCBT
dHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKKworICAgIHZpcnR1YWwgdm9pZCByZXNldChjb25zdCBT
dHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICBET01Ub2tlbkxpc3QoRWxlbWVudCogZWxlbWVudCk7
CisKKyAgICB2b2lkIGFkZEludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworICAg
IGJvb2wgY29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKKyAgICB2
b2lkIHJlbW92ZUludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworCisgICAgY29u
c3QgU3BhY2VTcGxpdFN0cmluZyogY2xhc3NOYW1lcygpIGNvbnN0OworCisgICAgRWxlbWVudCog
bV9lbGVtZW50OworICAgIE93blB0cjxTcGFjZVNwbGl0U3RyaW5nPiBtX2NsYXNzTmFtZXM7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBET01Ub2tlbkxpc3RfaApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwgYi9XZWJDb3JlL2h0bWwv
RE9NVG9rZW5MaXN0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTM0ZjAxMzM4NjUzMzAwNTVmNmE1MzQ3YmU1
YmJiN2YwMjIzMmJhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlz
dC5pZGwKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisg
ICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IsCisgICAgICAgIEhhc0luZGV4R2V0dGVyCisgICAg
XSBET01Ub2tlbkxpc3QgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsZW5ndGg7CisgICAgICAgIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyBp
dGVtKGluIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICAgICAgYm9vbGVhbiBj
b250YWlucyhpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAg
ICB2b2lkIGFkZChpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworICAg
ICAgICB2b2lkIHJlbW92ZShpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24p
OworICAgICAgICBib29sZWFuIHRvZ2dsZShpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNlcyhET01F
eGNlcHRpb24pOworCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFH
RV9KQVZBU0NSSVBUCisgICAgICAgIFtEb250RW51bV0gRE9NU3RyaW5nIHRvU3RyaW5nKCk7Cisj
ZW5kaWYKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQu
aWRsIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbAppbmRleCA4NjNmMjhjODY1NDdlYjk3
Y2M0OGNjNjIxZDlhMWI2NmFjOTI2N2JiLi5iMTI3YzUxNzI3NjViMThjODE4MDFiZGNlNmY1YTcw
YTAyZTNkYThmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCisrKyBi
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKQEAgLTMxLDYgKzMxLDcgQEAgbW9kdWxlIGh0
bWwgewogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBsYW5n
OwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBkaXI7CiAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdD1jbGFzc10gRE9NU3RyaW5nIGNsYXNz
TmFtZTsKKyAgICAgICAgICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCBj
bGFzc0xpc3Q7CiAKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICAg
IHRhYkluZGV4OwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgICAg
ZHJhZ2dhYmxlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBiZjI2Y2U0ZGZhNjY2Y2UwYWVkZTFhMjI5ZGUw
ZTM4Mzk1MzM1YzhkLi4zNjhhOTY0NjI5MzI0YmIwMDljZjlhODFhMjJmM2RkZmNhOGJlMWFhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkRPTVNlbGVjdGlvbi5o
IgogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJET01UaW1lci5oIgorI2lu
Y2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAi
RGF0YWJhc2VDYWxsYmFjay5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwKaW5kZXggNzAyZWRjZDc2MjRiZTdiOWQxOGE3OTMyOTc2MTJjOTVmNzUyM2Ey
OS4uMzE2NzRmMjhjZmUwNGY2NTMwMzBjYWIwYjcyYzQ3MDAyMGI5YTU5YiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKQEAgLTM3Nyw2ICszNzcsNyBAQCBtb2R1bGUgd2luZG93IHsKIC8vICAgICAgICBhdHRyaWJ1
dGUgRE9NSW1wbGVtZW50YXRpb25MaXN0Q29uc3RydWN0b3IgRE9NSW1wbGVtZW50YXRpb25MaXN0
OwogLy8gICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvblNvdXJjZUNvbnN0cnVjdG9y
IERPTUltcGxlbWVudGF0aW9uU291cmNlOwogICAgICAgICBhdHRyaWJ1dGUgRE9NSW1wbGVtZW50
YXRpb25Db25zdHJ1Y3RvciBET01JbXBsZW1lbnRhdGlvbjsKKyAgICAgICAgYXR0cmlidXRlIERP
TVRva2VuTGlzdENvbnN0cnVjdG9yIERPTVRva2VuTGlzdDsKICAgICAgICAgYXR0cmlidXRlIERv
Y3VtZW50RnJhZ21lbnRDb25zdHJ1Y3RvciBEb2N1bWVudEZyYWdtZW50OwogICAgICAgICBhdHRy
aWJ1dGUgRG9jdW1lbnRDb25zdHJ1Y3RvciBEb2N1bWVudDsKICAgICAgICAgYXR0cmlidXRlIE5v
ZGVDb25zdHJ1Y3RvciBOb2RlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67985</attachid>
            <date>2010-09-17 18:08:37 -0700</date>
            <delta_ts>2010-09-23 15:25:52 -0700</delta_ts>
            <desc>Now with markDOMObjectWrapper and V8DOMWrapper::setHiddenWindowReference</desc>
            <filename>bug-20709-20100917180836.patch</filename>
            <type>text/plain</type>
            <size>64774</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzY2JiMTA1NGJhNTI5NjNiM2Y5MjE5NTczZWZjYTgxY2UxNjQ3M2FkLi5iMjk0Nzg5
YTkwZTAyY2QyNGNjMDlhYjdkYjYzYzUxMWU0NWIxYzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTAtMDktMDggIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWly
a3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC1nYy5qczogQWRkZWQuCisgICAgICAgIChnYyk6CisgICAgICAgICogZmFz
dC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanM6IEFkZGVkLgorICAg
ICAgICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTA5LTE3ICBKaWFuIExpICA8
amlhbmxpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3Yu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxp
c3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwOTNhMTk4ZTRkNzFjM2I0YWViNDdiYmQzYTY5
ZGJhNzQwYzMzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
RWxlbWVudC9jbGFzcy1saXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYzIEBACitUZXN0cyB0
aGUgY2xhc3NMaXN0IGF0dHJpYnV0ZSBhbmQgaXRzIHByb3BlcnRpZXMuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVz
dC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC8KK1BBU1MgU3RyaW5nKGVsZW1lbnQu
Y2xhc3NMaXN0KSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDAKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qu
bGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxl
bWVudC5jbGFzc05hbWUgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFT
UyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCAgeCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMg
InkgeCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIiIKK1BBU1MgZWxlbWVudC5jbGFzc05h
bWUgaXMgIiIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIiB5IHkgIgorUEFTUyBlbGVtZW50
LmNsYXNzTmFtZSBpcyAieSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUg
MTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3ggeScpIHRocmV3IGV4cGVjdGVk
IERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJycp
IHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCd4IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2Rl
IDUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCcnKSB0aHJldyBleHBlY3RlZCBET01F
eGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCB5
JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0LnRvZ2dsZSgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29k
ZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ3ggeScpIHRocmV3IGV4cGVjdGVk
IERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorSW5kZXhpbmcKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCkgaXMgIngiCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0WzFdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVt
KDEpIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QuaXRlbSgxKSBpcyAieSIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMg
bnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3RbNF0gaXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDQpIGlz
IG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1Rlc3QgY2Fz
ZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoJ3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRh
aW5zKCdYJykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIngiCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5jb250YWlucygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBd
IGlzICJYIgorVGVzdGluZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAy
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2Vu
Y2UgYW5kIHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0
cnVlCitQQVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNT
IHR5cGVvZiBlbGVtZW50LmNsYXNzTGlzdCBpcyAib2JqZWN0IgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qg
PT09IGVsZW1lbnQuY2xhc3NMaXN0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ5YWEyYjZmZTI0NzBkMjc5ZTNiMjJiM2ExNmIyMmI4MTU4NGEzZDAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBvbiB0
aGUgY2xhc3NMaXN0IHBlcnNpc3RzIEdDLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBkLmNsYXNzTGlzdC5fX3Byb3RvX18gaXMgbm9uLW51bGwuCitQQVNTIGQuY2xhc3NM
aXN0Ll9fcHJvdG9fXyBpcyBudWxsCitQQVNTIGQuY2xhc3NMaXN0Ll9fcHJvdG9fXyBpcyBudWxs
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRjNWVmYWQ3ZTk5NTNlZjM1OGFlNGE4YTM1MDM3NTNhZGNjYTU3OWUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1s
aXN0LWdjLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L2NsYXNzLWxpc3QtZ2MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC1xdWlya3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwOTNhMTk4ZTRkNzFjM2I0YWViNDdi
YmQzYTY5ZGJhNzQwYzMzMjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2
MyBAQAorVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2ltb24u
aHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0
cmluZyhlbGVtZW50LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxl
bmd0aCBpcyAwCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBp
cyAyCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFt
ZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggIHgiCitQQVNTIGVsZW1lbnQu
Y2xhc3NOYW1lIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVs
ZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIgeSB5ICIK
K1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRp
b24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHknKSB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0
aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhyZXcg
ZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5yZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2Vw
dGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKSB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDAp
IGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgInki
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0WzBdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBudWxs
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRlZmlu
ZWQuCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5jb250YWlucygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBd
IGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorRE9NVG9r
ZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01U
b2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAi
b2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QgaXMgIm9iamVjdCIKK1BBU1Mg
ZWxlbWVudC5jbGFzc0xpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmQ4NzZhMTZmODIyMjlhYTEwYWMyYzNiOWUwNTc4ODE3MmJjOTM3MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVp
cmtzLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCEtLSBRdWlya3MgTW9kZSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjFkZjI0M2NlMzI5Zjk0NDAzYjhlZjY2ODg2MzZjYTc0NmVhZjIxMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbApA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC1nYy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LWdj
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ0ZWYzMWFiNzA0NWEzMjg0NGNkZjIxNmExNjc0ODM5NWNmZmNmODkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3Jp
cHQtdGVzdHMvY2xhc3MtbGlzdC1nYy5qcwpAQCAtMCwwICsxLDMzIEBACitkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0cyB0aGF0IHByb3BlcnRpZXMgb24gdGhlIGNsYXNzTGlzdCBwZXJzaXN0cyBHQy4i
KTsKKworZnVuY3Rpb24gZ2MoKQoreworICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAg
ICAgICByZXR1cm4gR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDA7IGkrKykgeworICAgICAgICB2YXIgcyA9IG5ldyBTdHJpbmc7CisgICAgfQor
fQorCit2YXIgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworCisvLyBFbnN1cmUg
dGhlIGNsYXNzTGlzdCBpcyBjcmVhdGVkLgordmFyIGNsYXNzTGlzdCA9IGQuY2xhc3NMaXN0Owor
CisvLyBFbnN1cmUgdGhlcmUgaXMgYSBfX3Byb3RvX18gYmVmb3JlIHRlc3QuCitzaG91bGRCZU5v
bk51bGwoImQuY2xhc3NMaXN0Ll9fcHJvdG9fXyIpOworCisvLyBTZXQgX19wcm90b19fIHRvIG5v
bi1zdGFydGluZyB2YWx1ZS4gKE11c3QgYmUgbnVsbCBkbyB0byBfX3Byb3RvX18gcmVzdHJpY3Rp
b25zKS4KK2QuY2xhc3NMaXN0Ll9fcHJvdG9fXyA9IG51bGw7CitzaG91bGRCZU51bGwoImQuY2xh
c3NMaXN0Ll9fcHJvdG9fXyIpOworCisvLyBOdWxsIG91dCByZWZlcmVuY2UgdG8gdGhlIGRhdGFz
ZXQuIAorY2xhc3NMaXN0ID0gbnVsbDsKKworZ2MoKTsKKworLy8gVGVzdCB0aGF0IHRoZSBudWxs
IHBlcnNpc3RlZCB0aGUgR0MuCitzaG91bGRCZU51bGwoImQuY2xhc3NMaXN0Ll9fcHJvdG9fXyIp
OworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTIxNDk4OThiODA3ODNmNjdlOTIwYWI2ZmM0MzllYmQ0MjgyNzkwNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10
ZXN0cy9jbGFzcy1saXN0LmpzCkBAIC0wLDAgKzEsMjI1IEBACitkZXNjcmlwdGlvbignVGVzdHMg
dGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLicpOworCit2YXIgZWxl
bWVudDsKKworZnVuY3Rpb24gY3JlYXRlRWxlbWVudChjbGFzc05hbWUpCit7CisgICAgZWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9
IGNsYXNzTmFtZTsKK30KKworZGVidWcoJ1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9y
Zy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LycpOworCisvLyBodHRwOi8v
c2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qvc2V0
dGluZy8wMDEuaHRtCisvLyBGaXJlZm94IHRocm93cyBoZXJlIGJ1dCBXZWJLaXQgZG9lcyBub3Qg
dGhyb3cgb24gc2V0dGluZyByZWFkb25seSBpZGwKKy8vIGF0dHJpYnV0ZXMuCitjcmVhdGVFbGVt
ZW50KCd4Jyk7Cit0cnkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0ID0gJ3knOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnU3RyaW5nKGVsZW1lbnQuY2xhc3NMaXN0KScsICd4Jyk7Cit9IGNh
dGNoIChleCkgeworICAgIHRlc3RQYXNzZWQoJ1Rocm93aW5nIG9uIHNldCBpcyBhY2NlcHRhYmxl
Jyk7Cit9CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0
aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworc2hv
dWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMCk7CisKKy8vIGh0dHA6
Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9n
ZXR0aW5nLzAwMi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2Vs
ZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDEpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3Jn
L3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDMuaHRtCitj
cmVhdGVFbGVtZW50KCd4IHgnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0
Lmxlbmd0aCcsIDIpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20v
cmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDQuaHRtCitjcmVhdGVFbGVtZW50KCd4
IHknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOwor
CisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01U
b2tlbkxpc3QvZ2V0dGluZy8wMDUuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQuY2xh
c3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFt
ZScsICd4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZs
ZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsK
K2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LmNsYXNzTmFtZScsICd4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNy5odG0KK2NyZWF0ZUVs
ZW1lbnQoJ3ggIHgnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4ICB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1v
bi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5n
LzAwOC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3knKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd5IHgnKTsKKwor
Ly8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9r
ZW5MaXN0L2dldHRpbmcvMDA5Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05h
bWUnLCAnJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZs
ZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsK
K2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LmNsYXNzTmFtZScsICcnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0
L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDExLmh0bQorY3JlYXRl
RWxlbWVudCgnIHkgeCAgeSAnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICcgeSB5ICcpOworCisvLyBo
dHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxp
c3QvZ2V0dGluZy8wMTIuaHRtCitjcmVhdGVFbGVtZW50KCcgeCB5ICB4ICcpOworZWxlbWVudC5j
bGFzc0xpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xh
c3NOYW1lJywgJ3knKTsKKworCitkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2VucycpOworCisvLyBU
ZXN0aW5nIGV4Y2VwdGlvbiBkdWUgdG8gaW52YWxpZCB0b2tlbgorCisvLyBzaG91bGRUaHJvdyBm
cm9tIGpzLXRlc3QtcHJlLmpzIGlzIG5vdCBzdWZmaWNpZW50LgorZnVuY3Rpb24gc2hvdWxkVGhy
b3dET01FeGNlcHRpb24oZiwgZWMpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigpOworICAgICAg
ICB0ZXN0RmFpbGVkKCdFeHBlY3RlZCBhbiBleGNlcHRpb24nKTsKKyAgICB9IGNhdGNoIChleCkg
eworICAgICAgICBpZiAoIShleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikpIHsKKyAgICAgICAg
ICAgIHRlc3RGYWlsZWQoJ0V4Y2VwdGlvbiBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgRE9NRXhjZXB0
aW9uLCBmb3VuZDogJyArCisgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC50b1N0cmluZy5j
YWxsKGV4KSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVj
ICE9PSBleC5jb2RlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdXcm9uZyBleGNlcHRpb24g
Y29kZTogJyArIGV4LmNvZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
fQorICAgIHZhciBmb3JtYXR0ZWRGdW5jdGlvbiA9IFN0cmluZyhmKS5yZXBsYWNlKC9eZnVuY3Rp
b24uK1x7XHMqL20sICcnKS4KKyAgICAgICAgcmVwbGFjZSgvOz9ccytcfS9tLCAnJyk7CisgICAg
dGVzdFBhc3NlZChmb3JtYXR0ZWRGdW5jdGlvbiArICcgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0
aW9uIHdpdGggY29kZSAnICsgZWMpOworfQorCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRU
aHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5jb250
YWlucygnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQo
J3ggeScpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVu
dC5jbGFzc0xpc3QuY29udGFpbnMoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hB
UkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRp
b24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCcnKTsKK30sIERPTUV4
Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RP
TUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3ggeScp
OworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1l
bnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVu
dC5jbGFzc0xpc3QucmVtb3ZlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKwor
Y3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsK
KyAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklO
VkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dE
T01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCcn
KTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNz
TGlzdC50b2dnbGUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VS
Uik7CisKKworZGVidWcoJ0luZGV4aW5nJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAneCcpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApJywgJ3gnKTsKKworY3JlYXRl
RWxlbWVudCgneCB4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0
WzFdJywgJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3QuaXRl
bSgxKScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LmNsYXNzTGlzdFsxXScsICd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSknLCAneScpOworCitjcmVhdGVFbGVtZW50KCcnKTsK
K3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3RbMF0nKTsKK3Nob3VsZEJlTnVsbCgnZWxl
bWVudC5jbGFzc0xpc3QuaXRlbSgwKScpOworCitjcmVhdGVFbGVtZW50KCd4IHkgeicpOworc2hv
dWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdFs0XScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50
LmNsYXNzTGlzdC5pdGVtKDQpJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeSB6Jyk7CitzaG91bGRC
ZVVuZGVmaW5lZCgnZWxlbWVudC5jbGFzc0xpc3RbLTFdJyk7CisKK2RlYnVnKCdUZXN0IGNhc2Ug
c2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlJyk7CisKK2NyZWF0ZUVsZW1lbnQo
J3gnKTsKK3Nob3VsZEJlVHJ1ZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCd4XCcpJyk7
CitzaG91bGRCZUZhbHNlKCdlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcJ1hcJyknKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAneCcpOworCitjcmVh
dGVFbGVtZW50KCdYJyk7CitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5z
KFwnWFwnKScpOworc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCd4
XCcpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJywgJ1gn
KTsKKworCitkZWJ1ZygnVGVzdGluZyB3aGl0ZXNwYWNlJyk7CisvLyBVKzAwMjAgU1BBQ0UsIFUr
MDAwOSBDSEFSQUNURVIgVEFCVUxBVElPTiAodGFiKSwgVSswMDBBIExJTkUgRkVFRCAoTEYpLAor
Ly8gVSswMDBDIEZPUk0gRkVFRCAoRkYpLCBhbmQgVSswMDBEIENBUlJJQUdFIFJFVFVSTiAoQ1Ip
CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMjB5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50
LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1MDAwOXknKTsKK3No
b3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVF
bGVtZW50KCd4XHUwMDBBeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3Qu
bGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMEN5Jyk7CitzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1
MDAwRHknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIp
OworCisKK2RlYnVnKCdET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5kIHR5cGUnKTsKKworCisvLyBT
YWZhcmkgcmV0dXJucyBvYmplY3QKKy8vIEZpcmVmb3ggcmV0dXJucyBvYmplY3QKKy8vIElFOCBy
ZXR1cm5zIG9iamVjdAorLy8gQ2hyb21lIHJldHVybnMgZnVuY3Rpb24KKy8vIGFzc2VydEVxdWFs
cygnb2JqZWN0JywgdHlwZW9mIERPTVRva2VuTGlzdCk7CitzaG91bGRCZVRydWUoJ1wndW5kZWZp
bmVkXCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCcpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3R5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlJywgJ29iamVjdCcpOworCitjcmVhdGVFbGVt
ZW50KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBlbGVtZW50LmNsYXNzTGlz
dCcsICdvYmplY3QnKTsKKworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QuY29u
c3RydWN0b3InLCAnRE9NVG9rZW5MaXN0Jyk7CisKK3Nob3VsZEJlVHJ1ZSgnZWxlbWVudC5jbGFz
c0xpc3QgPT09IGVsZW1lbnQuY2xhc3NMaXN0Jyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGU1NTNiZWNlZDhlN2RkZmQzNmE3NDFhNjNmNWZhY2ZmOWIwNThmNmUuLmIwZTBlNzU0YzZm
NmJmNDNmZDI1Nzk2NmRiNzFjNjc4NmNhYzQ5NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAt
NTYxLDYgKzU2MSwxNCBAQCB3aW5kb3cuRE9NU3RyaW5nTGlzdC5wcm90b3R5cGUuY29udGFpbnMg
W2Z1bmN0aW9uXQogd2luZG93LkRPTVN0cmluZ0xpc3QucHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9u
XQogd2luZG93LkRPTVN0cmluZ01hcCBbb2JqZWN0IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXQog
d2luZG93LkRPTVN0cmluZ01hcC5wcm90b3R5cGUgW29iamVjdCBET01TdHJpbmdNYXBQcm90b3R5
cGVdCit3aW5kb3cuRE9NVG9rZW5MaXN0IFtvYmplY3QgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3Jd
Cit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBbb2JqZWN0IERPTVRva2VuTGlzdFByb3Rv
dHlwZV0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBlLmFkZCBbZnVuY3Rpb25dCit3aW5k
b3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5jb250YWlucyBbZnVuY3Rpb25dCit3aW5kb3cuRE9N
VG9rZW5MaXN0LnByb3RvdHlwZS5pdGVtIFtmdW5jdGlvbl0KK3dpbmRvdy5ET01Ub2tlbkxpc3Qu
cHJvdG90eXBlLnJlbW92ZSBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlw
ZS50b1N0cmluZyBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b2dn
bGUgW2Z1bmN0aW9uXQogd2luZG93LkRhdGUgW2Z1bmN0aW9uXQogd2luZG93LkRvY3VtZW50IFtv
YmplY3QgRG9jdW1lbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUgW29i
amVjdCBEb2N1bWVudFByb3RvdHlwZV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3Rl
ZC50eHQKaW5kZXggYTc2YmY3MzFkYTVkNTc1MmVjNjFiMDI2MmQwZTQxZThkOWMwODc0MC4uMGQy
MzllZDRkMjFmMTA3MWExYzJhMzllN2IyODlkNzI3OTM0NWZjYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1k
ZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKQEAgLTQwLDYgKzQwLDcgQEAgUEFTUyB0eXBlb2YgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdET01JbXBsZW1lbnRhdGlvbicp
IGlzICdvYmoKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAnRE9NUGFyc2VyJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NU3RyaW5nTGlzdCcpIGlzICdvYmplY3QnCiBQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVN0
cmluZ01hcCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVRva2VuTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RhdGUnKSBpcyAnb2Jq
ZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cs
ICdEb2N1bWVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RvY3VtZW50RnJhZ21lbnQnKSBpcyAnb2JqZWN0JwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTIt
ZXhwZWN0ZWQudHh0CmluZGV4IDIwNTU3NWEzMzY3NWE2NTM0NDM5MjBkZGNkNWNkNTY0MTlmY2Fi
YTQuLmQ0YTMxZGIzZDdmNjI2Yzg1ZDM3MDAzNzc3NDUzNzNmYzU5OGZiNjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBl
Y3RlZC50eHQKQEAgLTc3LDYgKzc3LDkgQEAgUEFTUyBET01JbXBsZW1lbnRhdGlvblByb3RvdHlw
ZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWUKIFBBU1Mg
RE9NU3RyaW5nTWFwIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0
CiBQQVNTIERPTVN0cmluZ01hcENvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMu
dGVzdEZvcm0uMC5kYXRhc2V0LmNvbnN0cnVjdG9yCiBQQVNTIERPTVN0cmluZ01hcFByb3RvdHlw
ZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuZGF0YXNldC5fX3Byb3RvX18K
K1BBU1MgRE9NVG9rZW5MaXN0IGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC4w
LmNsYXNzTGlzdAorUEFTUyBET01Ub2tlbkxpc3RDb25zdHJ1Y3RvciBmcm9tIGlubmVyLmRvY3Vt
ZW50LmZvcm1zLnRlc3RGb3JtLjAuY2xhc3NMaXN0LmNvbnN0cnVjdG9yCitQQVNTIERPTVRva2Vu
TGlzdFByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFz
c0xpc3QuX19wcm90b19fCiBQQVNTIERPTVdpbmRvdyBmcm9tIGlubmVyCiBQQVNTIERPTVdpbmRv
d1Byb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1
bWVudC5kZWZhdWx0Vmlldy5fX3Byb3RvX18KIFBBU1MgRG9jdW1lbnRQcm90b3R5cGUgZnJvbSBp
bm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuX19wcm90b19fLl9f
cHJvdG9fXwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggNmU4ZjFjODNlNzU3Nzg1ZmQ3ZjEzNDhhZGU4ZThl
NDNjY2QwODNmNS4uZDYzOTc4OTI5YmI1YzJkM2IxNzM0NGU2NDcxMDM2ZjA1NjZlYWY2ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2Ut
ZXhwZWN0ZWQudHh0CkBAIC03Nyw2ICs3Nyw4IEBAIFBBU1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5p
c0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5jb25zdHJ1Y3Rvci5pc0lu
bmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTWFwLmlzSW5uZXIgaXMgdHJ1ZQogUEFT
UyBpbm5lci5ET01TdHJpbmdNYXAuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlu
bmVyLkRPTVRva2VuTGlzdC5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuRE9NVG9rZW5MaXN0
LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5EYXRlLmlzSW5uZXIgaXMg
dHJ1ZQogUEFTUyBpbm5lci5EYXRlLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBp
bm5lci5Eb2N1bWVudC5pc0lubmVyIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDVhYTBkMjgxZmM4YTU2
MDgxY2Y5YTg1YTgxZDk3NmQ2YjdkYjdlMzcuLjU5MGUyMTAzZjk1MTBlNWM3NzdkNmM4YTAyNTcy
NzhiM2IwMzU0N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0
cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29u
c3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMzgsNiArMzgsNyBAQCBQQVNTIERPTUltcGxlbWVu
dGF0aW9uLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRE9NSW1wbGVtZW50YXRpb25Db25zdHJ1Y3Rv
cl0nCiBQQVNTIERPTVBhcnNlci50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVBhcnNlckNvbnN0
cnVjdG9yXScKIFBBU1MgRE9NU3RyaW5nTGlzdC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVN0
cmluZ0xpc3RDb25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVN0cmluZ01hcC50b1N0cmluZygpIGlzICdb
b2JqZWN0IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXScKK1BBU1MgRE9NVG9rZW5MaXN0LnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVu
dC50b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1
bWVudEZyYWdtZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRGcmFnbWVudENvbnN0
cnVjdG9yXScKIFBBU1MgRG9jdW1lbnRUeXBlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1l
bnRUeXBlQ29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQu
anNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawpp
bmRleCA0ODZkOGNkM2FlYTUxNWU4YzllMWQ5OWFjMjUxOTljOTJmMTU5ZGU5Li5hOTI3ZjExZDY3
OTc2MDVhMjMwM2U3ZjYwZmIwYmJiNDE2M2M5MTBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJv
aWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5q
c2NiaW5kaW5ncy5tawpAQCAtMTU5LDYgKzE1OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTQmxvYi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNCbG9i
QnVpbGRlci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNET01Gb3JtRGF0YS5oIFwK
KyAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNET01Ub2tlbkxpc3QuaCBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9odG1sL0pTRGF0YUdyaWRDb2x1bW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRt
bC9KU0ZpbGUuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRp
bmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawppbmRleCA5Yjhm
MjJjMjlhMzg5ZDk5YTcyNzNmZWQ0NjEzMDlhY2Y0N2MzY2EzLi5hNzMxNTdkNzFhY2RlYmZkN2My
ODYxNmFhNmExZGQ5MzFkOGEyNDZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZl
ZC52OGJpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3Mu
bWsKQEAgLTE0MCw2ICsxNDAsNyBAQCAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKQogR0VOIDo9IFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYi5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYkJ1aWxkZXIuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9i
aW5kaW5ncy9WOERPTVRva2VuTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdz
L1Y4RGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERh
dGFHcmlkQ29sdW1uTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4Rmls
ZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNv
cmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawppbmRleCBlMDdlZDFlNGZlNTgwOGUwMjdhNzFiOGU3
NmM0ZDQ1MDMxYzk0YTE2Li4wODE2MTEzNDk5ZjMzNTA1NDVkYTAxZGNlOWZhOTg5MGQ0NDkwNTk3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29y
ZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCkBAIC04Myw2ICs4Myw3IEBAIExPQ0FMX1NSQ19GSUxF
UyArPSBcCiAJYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBcCiAJYmluZGluZ3MvanMvSlNE
T01Gb3JtRGF0YUN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNw
cCBcCisJYmluZGluZ3MvanMvSlNET01Ub2tlbkxpc3QuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVjN2ZhMmEwOTkxZjZiZTRjYWQ5
OTUyYTc5MzkzYjkxNGE1NzBiZC4uYzY1YzgxMmQzNzdmYzU5NmZmMTg3YmFhNzUxYTMzOTc3ZjQ2
ODU1ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw2NiBAQAorMjAxMC0wOS0wOCAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEltcGxlbWVudCBIVE1MIDUncyBIVE1MRWxlbWVudC5jbGFzc0xpc3QgcHJvcGVydHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzA5CisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sCisKKyAg
ICAgICAgVGhpcyBhZGRzIGEgRE9NVG9rZW5MaXN0IGNsYXNzIHRoYXQgaXMgdXNlZGZvciB0aGUg
Y2xhc3NMaXN0IHByb3BlcnR5LiBET01Ub2tlbkxpc3QgdXNlcyBhIFNwYWNlU3BsaXRTdHJpbmcg
Zm9yIGZhc3QKKyAgICAgICAgY29udGFpbnMgY2hlY2suIEluIHN0YW5kYXJkcyBtb2RlIHRoZSBl
eGlzdGluZyBjbGFzc05hbWVzIGlzIHVzZWQgYnV0IGluIHF1aXJrcyBtb2RlIHdlIHVzZSBhbiBp
bnRlcm5hbCBTcGFjZVNwbGl0U3RyaW5nCisgICAgICAgIGJlY2F1c2UgY2xhc3NMaXN0IGlzIGFs
d2F5cyBjYXNlIHNlbnNpdGl2ZS4KKworICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5k
aW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAg
ICAgKiBBbmRyb2lkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNw
cDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAg
ICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTRWxlbWVudDo6bWFya0NoaWxkcmVuKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpjbGFzc0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
b3B0aW9uYWxDbGFzc0xpc3QpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVzZXRDbGFz
c0xpc3QpOiBUaGlzIGlzIGNhbGxlZCB3aGVuIHRoZSBjbGFzcyBhdHRyaWJ1dGUgY2hhbmdlcyBz
byB0aGF0IHRoZSBpbnRlcmFsIFNwYWNlU3BsaXRTdHJpbmcgY2FuCisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6IFRoaXMgbm93IGhhcyBh
biBPd25QdHIgdG8gYSBDbGFzc0xpc3QgaWYgdGhlIEVsZW1lbnQ6OmNsYXNzTGlzdCBpcyBldmVy
IGNhbGxlZC4KKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAqIGRv
bS9TdHlsZWRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3QuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxOYW1lczo6dmFsaWRhdGVUb2tlbik6CisgICAgICAg
IChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OkRPTVRva2VuTGlzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpET01Ub2tlbkxpc3Q6OnJlZik6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmRl
cmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6bGVuZ3RoKToKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tl
bkxpc3Q6OmNvbnRhaW5zKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6Y29udGFp
bnNJbnRlcm5hbCk6IFRoZSBpbnRlcm5hbCBtZXRob2RzIGRvIG5vIHZhbGlkYXRpb24gb2YgdGhl
IHRva2VuLgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjphZGQpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NVG9rZW5MaXN0OjphZGRJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01Ub2tlbkxpc3Q6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJl
bW92ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6dG9nZ2xlKToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6dG9TdHJpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NVG9rZW5MaXN0OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxp
c3Q6OmNsYXNzTmFtZXMpOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5MaXN0Lmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NVG9rZW5MaXN0Ojp+RE9NVG9rZW5MaXN0KToKKyAgICAgICAgKiBodG1sL0RPTVRva2Vu
TGlzdC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaWRsOgorICAgICAg
ICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisK
IDIwMTAtMDktMTcgIEx1Y2FzIERlIE1hcmNoaSAgPGx1Y2FzLmRlbWFyY2hpQHByb2Z1c2lvbi5t
b2JpPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxkIGZpeC4gQWRkIGZpbGVzIG1pc3NlZCBp
biByNjc3MDQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDdhMGMyZmRjZTcxMTI1NGE3ZjhlYzhkMDc1Mzhi
NzE1NjU1OTc5MzguLjc1NDQyODMxMDI0MGE1Y2Q2OTEwN2VjOTFlMWM3ZDI0Y2I1NTkyZjIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCkBAIC05MSw2ICs5MSw3IEBACiAjaW5jbHVkZSAiSlNET01TZWxlY3Rpb24u
Y3BwIgogI2luY2x1ZGUgIkpTRE9NU3RyaW5nTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNET01TdHJp
bmdNYXAuY3BwIgorI2luY2x1ZGUgIkpTRE9NVG9rZW5MaXN0LmNwcCIKICNpbmNsdWRlICJKU0RP
TVdpbmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0VudGl0
eS5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZWEzMDFiODYyNzVhZDBlZDIzODg4MDE4Y2FjNTQ1
MzcxNzNiMzhjNi4uMWFiMWI4ZmJkNjI2NGY5MGFiZWMwNWE0ZmM0ZWY1ZmU0NGZhMDkwMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMTI0LDYgKzEyNCw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERP
TVNlbGVjdGlvbiBcCiAgICAgRE9NU3RyaW5nTGlzdCBcCiAgICAgRE9NU3RyaW5nTWFwIFwKKyAg
ICBET01Ub2tlbkxpc3QgXAogICAgIERPTVdpbmRvdyBcCiAgICAgRGF0YWJhc2UgXAogICAgIERh
dGFiYXNlQ2FsbGJhY2sgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMzNkZWU5NDVjY2M5NmFhYmNlZjc0NTc3NGUxOGRk
YTIyMTljZGU0ZC4uZWQ5ZmFmOWUyMWU1MjI5Y2M3MGVmZmNhNzdmMTU1YWFiZjQyYmU2MiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCkBAIC0yMTYsNiArMjE2LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRE9NU3RyaW5nTWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RP
TVN0cmluZ01hcC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmNw
cCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVRva2VuTGlzdC5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RPTVdpbmRvdy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRWxlbWVudC5jcHAg
XApAQCAtMTQyOCw2ICsxNDMwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBcCiAJV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNTdHlsZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCBc
CisJV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAgXAorCVdlYkNvcmUvaHRtbC9ET01Ub2tl
bkxpc3QuaCBcCiAJV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5jcHAgXAogCVdlYkNvcmUv
aHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBcCiAJV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmgg
XApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCAxZGVkMDZmNDdjYjk1MGQ1OTI1NDcwNGI3MzhkNjM1YmFhYjFjMDBjLi5hMTkzNWE5
NjM5MTMyYTc2Y2RlZTFlMDkxYThhODlmM2NiZTVhZjMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTEwLDYgKzExMCw3IEBA
CiAgICAgICAgICAgICAnZmlsZWFwaS9NZXRhZGF0YS5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVh
cGkvTWV0YWRhdGFDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRE9NRm9ybURhdGEu
aWRsJywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvRGF0YUdyaWRDb2x1bW4uaWRsJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29s
dW1uTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsJywK
QEAgLTc2NSw2ICs3NjYsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERv
Y3VtZW50TG9jYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5jcHAnLApAQCAtMTUxNCw2ICsxNTE2LDggQEAKICAg
ICAgICAgICAgICdodG1sL0RPTURhdGFHcmlkRGF0YVNvdXJjZS5oJywKICAgICAgICAgICAgICdo
dG1sL0RPTUZvcm1EYXRhLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5oJywK
KyAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwv
RE9NVG9rZW5MaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW4uY3BwJywK
ICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uLmgnLAogICAgICAgICAgICAgJ2h0bWwv
RGF0YUdyaWRDb2x1bW5MaXN0LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJp
IGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCA5NDcwZmZkMWNhNTg4YmMxOWIyNmMxZTI0Y2Q3
NjlmNGYxZmQyZmM2Li44ODY0ZjZiMjkwOGQ3MzgzMzIwMzJlMTgwZjRhMDZhNmJmMWVlYjQ5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkK
QEAgLTIwMCw2ICsyMDAsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvRGF0YUdyaWRD
b2x1bW4uaWRsIFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5pZGwgXAogICAgIGh0bWwv
RE9NRm9ybURhdGEuaWRsIFwKKyAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwgXAogICAgIGh0bWwv
SFRNTEFsbENvbGxlY3Rpb24uaWRsIFwKICAgICBodG1sL0hUTUxBdWRpb0VsZW1lbnQuaWRsIFwK
ICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dl
YkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA4OTk4MzU1NjUzMzM4NmY0MzY0
MGRkMDY4Y2QzN2Y0Nzk5YjlmNTE1Li4zY2U5MWYyMTM0ZWViNWQ5NGJlZjQyYTJiY2Q4Y2JkMGUx
ZWYzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KQEAgLTQwMyw3ICs0MDMsOCBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tRXZlbnRMaXN0ZW5lci5jcHAgXAotICAgICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCiAKICAgICBTT1VSQ0VTICs9IFwKICAg
ICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFj
ay5jcHAgXApAQCAtODM4LDYgKzgzOSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvQ29sbGVj
dGlvbkNhY2hlLmNwcCBcCiAgICAgaHRtbC9ET01EYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKICAg
ICBodG1sL0RPTUZvcm1EYXRhLmNwcCBcCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuY3BwIFwKICAg
ICBodG1sL0RhdGFHcmlkQ29sdW1uLmNwcCBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3Qu
Y3BwIFwKICAgICBodG1sL0RhdGVDb21wb25lbnRzLmNwcCBcCkBAIC0xNzEzLDYgKzE3MTUsNyBA
QCBIRUFERVJTICs9IFwKICAgICBodG1sL0RhdGVDb21wb25lbnRzLmggXAogICAgIGh0bWwvRE9N
RGF0YUdyaWREYXRhU291cmNlLmggXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaCBcCisgICAgaHRt
bC9ET01Ub2tlbkxpc3QuaCBcCiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuaCBcCiAgICAgaHRtbC9G
VFBEaXJlY3RvcnlEb2N1bWVudC5oIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmggXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMGMzNjBjZWMyODJhZDg2OGYx
ZDIwNmE5YzFhMGI4ZWU1ZTNiYjc5OC4uNDEyMWFiNWY2ZTM1YTcyNWE0NTIxNzUxOWI0MjBlN2Ez
ZDIxNDA0MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC00MDMzLDYg
KzQwMzMsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0RPTVRva2VuTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTRE9NVG9rZW5MaXN0LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NV2luZG93LmNwcCINCiAJCQkJPg0KIAkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCkBAIC0zNzUzMyw2ICszNzU0MSwxOCBAQAogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTVRva2VuTGlzdC5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxodG1sXERPTVRva2VuTGlzdC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGb3JtRGF0YUxpc3QuY3BwIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGVFBEaXJlY3Rv
cnlEb2N1bWVudC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWQ5MWVkN2M2NDAwNDU0N2I4M2U4YWVmYTcwZjY3
M2FlNGUyNzVhMS4uYTBmYjkwOTEzZTg2ZGM3NTg0NzllNWM4OWJlOWM2OGE2MjY4OTA0MyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0MTIsMTIgKzE0
MTIsMTggQEAKIAkJNzY5M0JBRDMxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFDRjEw
NkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAqLzsgfTsKIAkJNzY5M0JBRDQxMDZD
MkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhh
bHRlci5oICovOyB9OwogCQk3NjkzQkFENTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVy
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
NjkzQkFEMTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xpZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzY5NDU2M0MxMjE0RDk3
QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRv
a2VuTGlzdC5jcHAgKi87IH07CisJCTc2OTQ1NjNEMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRv
a2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi87IH07CisJCTc2
OTQ1NjVCMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JB
RSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY5NDU2NUMxMjE0REI2MzAwMDdDQkFF
IC8qIERPTURPTVRva2VuTGlzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3Qu
bW0gKi87IH07CiAJCTc2Q0REMkYyMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVu
dUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzZDREQyRUMxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAgKi87
IH07CiAJCTc2Q0REMkYzMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVE
MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCAqLzsgfTsKIAkJNzZD
REQyRjQxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVFMTEw
M0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHAgKi87IH07CiAJ
CTc2Q0REMkY1MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUYx
MTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmggKi87IH07CiAJ
CTc2Q0REMkY2MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQy
RjAxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbi5jcHAgKi87
IH07CiAJCTc2Q0REMkY3MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RP
cHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2
Q0REMkYxMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCAq
LzsgfTsKKwkJNzZGQzJCMEIxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkZDMkIwODEyMzcw
REEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmNwcCAqLzsgfTsKKwkJNzZGQzJCMEMxMjM3MERB
MDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlz
dC5oICovOyB9OwogCQk3NkZGMTdFMzExMjM1NjczMDAxRDYxQjUgLyogUGx1Z2luVmlld05vbmUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGRjE3
RTIxMTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdpblZpZXdOb25lLmNwcCAqLzsgfTsKIAkJNzlBQzky
MTgxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUFDOTIxNjEwOTk0NUM4MDAyMTI2
NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCAqLzsgfTsKIAkJNzlBQzkyMTkxMDk5NDVDODAw
MjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzlBQzkyMTcxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9z
aXRpb25FdmVudC5oICovOyB9OwpAQCAtNzM2NiwxMiArNzM3MiwxOSBAQAogCQk3NjkzQkFDRjEw
NkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBsdWdpbkhhbHRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTc2OTNCQUQwMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luSGFsdGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc2OTNCQUQxMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXJD
bGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luSGFsdGVyQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3
Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0RPTVRva2VuTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTc2OTQ1NjNCMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3Njk0NTY1OTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTURPTVRva2VuTGlzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Njk0NTY1QTEyMTREQjYzMDAwN0NCQUUgLyog
RE9NRE9NVG9rZW5MaXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gRE9NRE9NVG9rZW5MaXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NkNE
RDJFQzExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVEMTEwM0RBNjYwMDY4MDUyMSAv
KiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTc2Q0REMkVFMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVu
dUxpc3RQb3B1cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVGMTEw
M0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NkNERDJGMDExMDNEQTY2MDA2ODA1MjEgLyogQWNj
ZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc2Q0REMkYxMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5
TWVudUxpc3RPcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNz
aWJpbGl0eU1lbnVMaXN0T3B0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2
RkMyQjA4MTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NVG9rZW5MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Ub2tlbkxpc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZGQzJCMEExMjM3MERBMDAwNkE5OTFBIC8qIERPTVRv
a2VuTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NVG9rZW5MaXN0LmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZGRjE3RTIxMTIzNTY3MzAwMUQ2MUI1IC8qIFBs
dWdpblZpZXdOb25lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBs
dWdpblZpZXdOb25lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlBQzkyMTYx
MDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NvbXBvc2l0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3OUFDOTIxNzEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3Np
dGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29tcG9zaXRp
b25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1MTMsNiArMTM1MjYs
OCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMkUyRDk5RTUxMEUyQkMxQzAwNDk2MzM3IC8qIERP
TUJsb2IuaCAqLywKIAkJCQkyRTJEOTlFNjEwRTJCQzFDMDA0OTYzMzcgLyogRE9NQmxvYi5tbSAq
LywKKwkJCQk3Njk0NTY1OTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0LmggKi8s
CisJCQkJNzY5NDU2NUExMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSAqLywK
IAkJCQlCQzAwRUZGRTBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5oICovLAogCQkJCUJDMDBF
RkZGMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLm1tICovLAogCQkJCTJFM0JDMTA2MTE3RDQ3
OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IuaCAqLywKQEAgLTE0MTM4LDYgKzE0MTUzLDkgQEAK
IAkJCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsICovLAogCQkJ
CTk3MjA1QUFEMTIzOTI4Q0EwMEIxNzM4MCAvKiBGVFBEaXJlY3RvcnlEb2N1bWVudC5jcHAgKi8s
CiAJCQkJOTcyMDVBQUUxMjM5MjhDQTAwQjE3MzgwIC8qIEZUUERpcmVjdG9yeURvY3VtZW50Lmgg
Ki8sCisJCQkJNzZGQzJCMDgxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgKi8s
CisJCQkJNzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovLAorCQkJ
CTc2RkMyQjBBMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuaWRsICovLAogCQkJCUE4
MTM2RDM3MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuY3BwICovLAogCQkJCUE4MTM2
RDM2MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuaCAqLywKIAkJCQlCQzk3RTIzOTEw
OTE0NDk1MDAxMEQzNjEgLyogSFRNTEFsbENvbGxlY3Rpb24uY3BwICovLApAQCAtMTQ2MDAsNiAr
MTQ2MTgsOCBAQAogCQkJCUJDNzdEMTY4MEZGMTlGNTUwMDcwODg3QiAvKiBKU0RhdGFHcmlkQ29s
dW1uTGlzdC5oICovLAogCQkJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1E
YXRhLmNwcCAqLywKIAkJCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0
YS5oICovLAorCQkJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5j
cHAgKi8sCisJCQkJNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0Lmgg
Ki8sCiAJCQkJNDlFRUNFRjQxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmNwcCAq
LywKIAkJCQk0OUVFQ0VGNTEwNTA3MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuaCAqLywK
IAkJCQlCQzk3RTQxMDEwOTE1NEZBMDAxMEQzNjEgLyogSlNIVE1MQWxsQ29sbGVjdGlvbi5jcHAg
Ki8sCkBAIC0yMDU2OSw2ICsyMDU4OSw5IEBACiAJCQkJODJFM0Q4REYxMjJFQTBEMTAwM0FFNUJD
IC8qIENTU1Byb3BlcnR5U291cmNlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEEzMDlDOUYx
MjM5NTBCRTAwQ0I5MjA0IC8qIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5M0UyQTMwNzEyM0U5REMwMDA5RkUxMkEgLyogSFRNTFBhcnNlcklkaW9tcy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNzY5NDU2M0QxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5M
aXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3Njk0NTY1QjEyMTREQjYzMDAwN0NCQUUgLyogRE9N
RE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3NkZDMkIwQzEyMzcwREEwMDA2QTk5
MUEgLyogRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzMDQ3LDYgKzIzMDcwLDkg
QEAKIAkJCQk5M0UyQTMwNjEyM0U5REMwMDA5RkUxMkEgLyogSFRNTFBhcnNlcklkaW9tcy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk4OTNDNDdERjEyM0VGNEE5MDAyQjNEODYgLyogSlNEaXJlY3Rv
cnlFbnRyeUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTNDNDdDQzEyM0VFQkEyMDAy
QjNEODYgLyogSlNFbnRyeUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Njk0NTYzQzEy
MTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NzY5NDU2NUMxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCTc2RkMyQjBCMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1
c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAKaW5kZXgg
OGExZGY1YzZjYTJhY2VmMDMzNzAxNDA1NjYzNTNmMDExYmU5ZDQ0Ni4uZjY5MTYyMGE4YzgyZTRm
MzgxM2RkZGE3Yjc3ODdiZjVkMjM3Yzg3OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50
Q3VzdG9tLmNwcApAQCAtNjAsNiArNjAsNyBAQCB2b2lkIEpTRWxlbWVudDo6bWFya0NoaWxkcmVu
KE1hcmtTdGFjayYgbWFya1N0YWNrKQogICAgIEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSA9ICpI
ZWFwOjpoZWFwKHRoaXMpLT5nbG9iYWxEYXRhKCk7CiAKICAgICBtYXJrRE9NT2JqZWN0V3JhcHBl
cihtYXJrU3RhY2ssIGdsb2JhbERhdGEsIGVsZW1lbnQtPmF0dHJpYnV0ZU1hcCgpKTsKKyAgICBt
YXJrRE9NT2JqZWN0V3JhcHBlcihtYXJrU3RhY2ssIGdsb2JhbERhdGEsIGVsZW1lbnQtPm9wdGlv
bmFsQ2xhc3NMaXN0KCkpOwogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywgZ2xv
YmFsRGF0YSwgZWxlbWVudC0+b3B0aW9uYWxEYXRhc2V0KCkpOwogCiAgICAgaWYgKGVsZW1lbnQt
PmlzU3R5bGVkRWxlbWVudCgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KaW5kZXggMWExMTRhNDI5N2UxNDkyOTMzYmFiMjgzZTM2NGY1Y2ExNDc5MmJjZi4u
ODAzNTQyZTY5ZDgyZGNiZGY1Mjc4Y2RlNzJkMDZiNTU1NDJiNzExNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0yNDAsNyArMjQwLDcgQEAgc3Vi
IEluZGV4R2V0dGVyUmV0dXJuc1N0cmluZ3MKIHsKICAgICBteSAkdHlwZSA9IHNoaWZ0OwogCi0g
ICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVjbGFyYXRpb24iIG9yICR0eXBlIGVx
ICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbiIgb3IgJHR5
cGUgZXEgIkRPTVN0cmluZ0xpc3QiOworICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJDU1NTdHls
ZURlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiTWVkaWFMaXN0IiBvciAkdHlwZSBlcSAiQ1NTVmFy
aWFibGVzRGVjbGFyYXRpb24iIG9yICR0eXBlIGVxICJET01TdHJpbmdMaXN0IiBvciAkdHlwZSBl
cSAiRE9NVG9rZW5MaXN0IjsKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggZmRlNjk5NWViYWU2OWM0OTdlYmUxMjc2
MjAzODM0ZTRhZTI4ZDJjYS4uMzk4OTcwODA1OGRmYWM0YmQ3MTJjY2M2MTkwNzJiMjczODQzNDI3
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCkBAIC0y
NTA5LDYgKzI1MDksNyBAQCBzdWIgSGFzQ3VzdG9tVG9WOEltcGxlbWVudGF0aW9uIHsKICAgICBy
ZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiQ1NTU3R5bGVTaGVldCI7CiAgICAgcmV0dXJu
IDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkNhbnZhc1BpeGVsQXJyYXkiOwogICAgIHJldHVybiAx
IGlmICRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciOworICAgIHJldHVybiAxIGlmICRpbnRl
cmZhY2VOYW1lIGVxICJET01Ub2tlbkxpc3QiOwogICAgIHJldHVybiAxIGlmICRpbnRlcmZhY2VO
YW1lIGVxICJFbGVtZW50IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiSFRN
TERvY3VtZW50IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiSFRNTEVsZW1l
bnQiOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxp
c3RDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RD
dXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2YTFjZjFjZmMyZTdkZjY1ZjA0OTZjYzdhYmQ3MDNhMjA1
M2NiMmQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVRva2VuTGlzdEN1c3RvbS5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJWOERPTVRva2VuTGlzdC5oIgorCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0Lmgi
CisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9NVG9rZW5MaXN0KiBpbXBsKQoreworICAgIGlmICghaW1w
bCkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3cmFwcGVyID0gVjhET01Ub2tlbkxpc3Q6OndyYXAoaW1wbCk7CisgICAgLy8gQWRkIGEgaGlk
ZGVuIHJlZmVyZW5jZSBmcm9tIHRoZSBlbGVtZW50IHRvIHRoZSBET01TdHJpbmdNYXAuCisgICAg
RWxlbWVudCogZWxlbWVudCA9IGltcGwtPmVsZW1lbnQoKTsKKyAgICBpZiAoIXdyYXBwZXIuSXNF
bXB0eSgpICYmIGVsZW1lbnQpCisgICAgICAgIFY4RE9NV3JhcHBlcjo6c2V0SGlkZGVuV2luZG93
UmVmZXJlbmNlKGVsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCksIHdyYXBwZXIpOworICAgIHJl
dHVybiB3cmFwcGVyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDVm
NTNjMmRkZGU3M2YxY2ZjZTU4MTZlZGRmYTc1MGRhMjBkMGNjM2MuLmNjMzQ0MWEzMzdmNzZhYjQw
NDcxZGRkMThiMjExN2UxOWY0NzFlZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5j
bHVkZSAiQ1NTU3R5bGVTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNsaWVudFJlY3QuaCIKICNpbmNs
dWRlICJDbGllbnRSZWN0TGlzdC5oIgorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1
ZGUgIkRhdGFzZXRET01TdHJpbmdNYXAuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkRvY3VtZW50RnJhZ21lbnQuaCIKQEAgLTE1NjUsNiArMTU2NiwzMCBAQCBib29sIEVsZW1l
bnQ6OndlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBFeGNlcHRp
b25Db2RlJiBlYykKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK0RPTVRva2VuTGlzdCogRWxlbWVu
dDo6Y2xhc3NMaXN0KCkKK3sKKyAgICBFbGVtZW50UmFyZURhdGEqIGRhdGEgPSBlbnN1cmVSYXJl
RGF0YSgpOworICAgIGlmICghZGF0YS0+bV9jbGFzc0xpc3QpCisgICAgICAgIGRhdGEtPm1fY2xh
c3NMaXN0ID0gRE9NVG9rZW5MaXN0OjpjcmVhdGUodGhpcyk7CisgICAgcmV0dXJuIGRhdGEtPm1f
Y2xhc3NMaXN0LmdldCgpOworfQorCitET01Ub2tlbkxpc3QqIEVsZW1lbnQ6Om9wdGlvbmFsQ2xh
c3NMaXN0KCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgIHJldHVy
biAwOworICAgIHJldHVybiByYXJlRGF0YSgpLT5tX2NsYXNzTGlzdC5nZXQoKTsKK30KKyAgICAK
K3ZvaWQgRWxlbWVudDo6cmVzZXRDbGFzc0xpc3QoY29uc3QgU3RyaW5nJiBuZXdDbGFzc05hbWUp
Cit7CisgICAgaWYgKGhhc1JhcmVEYXRhKCkpIHsKKyAgICAgICAgRWxlbWVudFJhcmVEYXRhKiBk
YXRhID0gcmFyZURhdGEoKTsKKyAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS0+bV9jbGFzc0xpc3Qp
CisgICAgICAgICAgICBkYXRhLT5tX2NsYXNzTGlzdC0+cmVzZXQobmV3Q2xhc3NOYW1lKTsKKyAg
ICB9Cit9CisKIERPTVN0cmluZ01hcCogRWxlbWVudDo6ZGF0YXNldCgpCiB7CiAgICAgRWxlbWVu
dFJhcmVEYXRhKiBkYXRhID0gZW5zdXJlUmFyZURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBkOWE1MDg1NDhlMDY3
MDhhYjkwYjE2YjlkZGM3MTFlZjM0ODY1NTE0Li41ZjEwZWIyNmVmZWYzMzU3NWY2OThiNGNlY2Jl
Yzg5ZDE1ZjlkNDAzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCkBAIC0zNiw2ICszNiw3IEBAIGNsYXNzIEF0dHJpYnV0ZTsKIGNs
YXNzIENsaWVudFJlY3Q7CiBjbGFzcyBDbGllbnRSZWN0TGlzdDsKIGNsYXNzIERPTVN0cmluZ01h
cDsKK2NsYXNzIERPTVRva2VuTGlzdDsKIGNsYXNzIEVsZW1lbnRSYXJlRGF0YTsKIGNsYXNzIElu
dFNpemU7CiAKQEAgLTI2OSw2ICsyNzAsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIHdlYmtpdE1h
dGNoZXNTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9ycywgRXhjZXB0aW9uQ29kZSYpOwog
CisgICAgRE9NVG9rZW5MaXN0KiBjbGFzc0xpc3QoKTsKKyAgICBET01Ub2tlbkxpc3QqIG9wdGlv
bmFsQ2xhc3NMaXN0KCkgY29uc3Q7CisgICAgCiAgICAgRE9NU3RyaW5nTWFwKiBkYXRhc2V0KCk7
CiAgICAgRE9NU3RyaW5nTWFwKiBvcHRpb25hbERhdGFzZXQoKSBjb25zdDsKIApAQCAtMzI0LDYg
KzMyOCw4IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHJlY2FsY1N0eWxlSWZOZWVkZWRBZnRlckF0
dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKik7CiAgICAgdm9pZCB1cGRhdGVBZnRlckF0dHJpYnV0
ZUNoYW5nZWQoQXR0cmlidXRlKik7CiAKKyAgICB2b2lkIHJlc2V0Q2xhc3NMaXN0KGNvbnN0IFN0
cmluZyYgbmV3Q2xhc3NOYW1lKTsKKwogcHJpdmF0ZToKICAgICB2b2lkIHNjcm9sbEJ5VW5pdHMo
aW50IHVuaXRzLCBTY3JvbGxHcmFudWxhcml0eSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXgg
OGUzMzhhYmM2ODBmMjQ0ZDJmNGFmYjZhZWVmYjU2MzM1MmFhM2ZmMi4uZjFlNjMzNDE4Y2MyNDY2
OTUzYTg5MjlhODBjM2NjY2M1NmViY2Q4YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVu
dFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIyLDYg
KzIyLDcgQEAKICNpZm5kZWYgRWxlbWVudFJhcmVEYXRhX2gKICNkZWZpbmUgRWxlbWVudFJhcmVE
YXRhX2gKIAorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkRhdGFzZXRET01T
dHJpbmdNYXAuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiTm9kZVJhcmVEYXRh
LmgiCkBAIC00Miw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG1f
Y29tcHV0ZWRTdHlsZTsKIAogICAgIE93blB0cjxEYXRhc2V0RE9NU3RyaW5nTWFwPiBtX2RhdGFz
ZXRET01TdHJpbmdNYXA7CisgICAgT3duUHRyPERPTVRva2VuTGlzdD4gbV9jbGFzc0xpc3Q7CiB9
OwogCiBpbmxpbmUgSW50U2l6ZSBkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL1N0eWxl
ZEVsZW1lbnQuY3BwCmluZGV4IGExNThlMmVhZTViYmI2NGRjNmVhODEyZTg1NjgzMmVhZTAxNDY0
YTEuLjY1NTE0ZmI5NWFiNTIwN2ZkZTIyNGNjOWQ5ZDNkMGE5ZTFlMzcxNDYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1N0eWxlZEVs
ZW1lbnQuY3BwCkBAIC0yMTcsOCArMjE3LDEwIEBAIHZvaWQgU3R5bGVkRWxlbWVudDo6Y2xhc3NB
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3Q2xhc3NTdHJpbmcpCiAgICAg
fQogICAgIGJvb2wgaGFzQ2xhc3MgPSBpIDwgbGVuZ3RoOwogICAgIHNldEhhc0NsYXNzKGhhc0Ns
YXNzKTsKLSAgICBpZiAoaGFzQ2xhc3MpCisgICAgaWYgKGhhc0NsYXNzKSB7CiAgICAgICAgIGF0
dHJpYnV0ZXMoKS0+c2V0Q2xhc3MobmV3Q2xhc3NTdHJpbmcpOworICAgICAgICByZXNldENsYXNz
TGlzdChuZXdDbGFzc1N0cmluZyk7CisgICAgfQogICAgIGVsc2UgewogICAgICAgICBpZiAoYXR0
cmlidXRlTWFwKCkpICAgIAogICAgICAgICAgICAgYXR0cmlidXRlTWFwKCktPmNsZWFyQ2xhc3Mo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9t
L1N0eWxlZEVsZW1lbnQuaAppbmRleCA4MDQwZGJmMWUzNjhhY2I3ZjRlYThlODM1N2ExYjE1YWY4
MDQyZjAzLi40YjYyMzg4MTQ0NGUxODU0MDc2MzYzYzBjYzY5MjFiOTg3M2QzMDYxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU3R5bGVk
RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEF0dHJpYnV0ZTsKK2NsYXNzIENsYXNzTGlzdDsKIGNsYXNzIENTU01hcHBlZEF0dHJpYnV0ZURl
Y2xhcmF0aW9uOwogCiBjbGFzcyBTdHlsZWRFbGVtZW50IDogcHVibGljIEVsZW1lbnQgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAgYi9XZWJDb3JlL2h0bWwvRE9N
VG9rZW5MaXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODQxYjcwOGI3YjZkZTlhZGYwOGM2OWNjNDU0ODVm
MjM0MDgyNGE1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5j
cHAKQEAgLTAsMCArMSwyMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCisKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKK25hbWVzcGFj
ZSB7CisKK2Jvb2wgdmFsaWRhdGVUb2tlbihjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAodG9rZW4uaXNFbXB0eSgpKSB7CisgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGNvbnN0
IHVuc2lnbmVkIGxlbmd0aCA9IHRva2VuLmxlbmd0aCgpOworICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBsZW5ndGg7ICsraSkgeworICAgICAgICBpZiAoaXNDbGFzc1doaXRlc3BhY2UodG9r
ZW5baV0pKSB7CisgICAgICAgICAgICBlYyA9IElOVkFMSURfQ0hBUkFDVEVSX0VSUjsKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiB0cnVl
OworfQorCit9IC8vIG5hbWVzcGFjZQorCitET01Ub2tlbkxpc3Q6OkRPTVRva2VuTGlzdChFbGVt
ZW50KiBlbGVtZW50KQorICAgIDogbV9lbGVtZW50KGVsZW1lbnQpCit7CisgICAgaWYgKG1fZWxl
bWVudC0+ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpCisgICAgICAgIG1fY2xhc3NOYW1lcyA9
IG5ldyBTcGFjZVNwbGl0U3RyaW5nKG1fZWxlbWVudC0+Z2V0QXR0cmlidXRlKGNsYXNzQXR0ciks
IGZhbHNlKTsKK30KKwordm9pZCBET01Ub2tlbkxpc3Q6OnJlZigpCit7CisgICAgbV9lbGVtZW50
LT5yZWYoKTsKK30KKwordm9pZCBET01Ub2tlbkxpc3Q6OmRlcmVmKCkKK3sKKyAgICBtX2VsZW1l
bnQtPmRlcmVmKCk7Cit9CisKK3Vuc2lnbmVkIERPTVRva2VuTGlzdDo6bGVuZ3RoKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gY2xhc3NOYW1lcygpLT5zaXplKCk7Cit9CisKK2NvbnN0IEF0b21pY1N0
cmluZyBET01Ub2tlbkxpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYg
KGluZGV4ID49IGxlbmd0aCgpKQorICAgICAgICByZXR1cm4gQXRvbWljU3RyaW5nKCk7CisgICAg
cmV0dXJuICgqY2xhc3NOYW1lcygpKVtpbmRleF07Cit9CisKK2Jvb2wgRE9NVG9rZW5MaXN0Ojpj
b250YWlucyhjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykgY29u
c3QKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sIGVjKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICByZXR1cm4gY29udGFpbnNJbnRlcm5hbCh0b2tlbik7Cit9CisKK2Jvb2wg
RE9NVG9rZW5MaXN0Ojpjb250YWluc0ludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4p
IGNvbnN0Cit7CisgICAgcmV0dXJuIGNsYXNzTmFtZXMoKS0+Y29udGFpbnModG9rZW4pOworfQor
Cit2b2lkIERPTVRva2VuTGlzdDo6YWRkKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwgIGVjKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIGFkZEludGVybmFsKHRva2VuKTsKK30KKwordm9pZCBET01Ub2tl
bkxpc3Q6OmFkZEludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4pIGNvbnN0Cit7Cisg
ICAgY29uc3QgQXRvbWljU3RyaW5nIG9sZENsYXNzTmFtZShtX2VsZW1lbnQtPmdldEF0dHJpYnV0
ZShjbGFzc0F0dHIpKTsKKyAgICBpZiAob2xkQ2xhc3NOYW1lLmlzRW1wdHkoKSkKKyAgICAgICAg
bV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCB0b2tlbik7CisgICAgZWxzZSBpZiAo
IWNvbnRhaW5zSW50ZXJuYWwodG9rZW4pKQorICAgICAgICBtX2VsZW1lbnQtPnNldEF0dHJpYnV0
ZShjbGFzc0F0dHIsIG9sZENsYXNzTmFtZSArICIgIiArIHRva2VuKTsKK30KKwordm9pZCBET01U
b2tlbkxpc3Q6OnJlbW92ZShjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sICBlYykpCisgICAgICAgIHJl
dHVybjsKKyAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0
OjpyZW1vdmVJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAg
IC8vIENoZWNrIHVzaW5nIGNvbnRhaW5zIGZpcnN0IHNpbmNlIGl0IHVzZXMgQXRvbWljU3RyaW5n
IGNvbXBhcmlzb25zIGluc3RlYWQKKyAgICAvLyBvZiBjaGFyYWN0ZXIgYnkgY2hhcmFjdGVyIHRl
c3RpbmcuCisgICAgaWYgKCFjb250YWluc0ludGVybmFsKHRva2VuKSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgLy8gQWxnb3JpdGhtIGRlZmluZWQgYXQgaHR0cDovL3d3dy53aGF0d2cub3JnL3Nw
ZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvY29tbW9uLW1pY3Jvc3ludGF4ZXMu
aHRtbCNyZW1vdmUtYS10b2tlbi1mcm9tLWEtc3RyaW5nCisKKyAgICBjb25zdCBBdG9taWNTdHJp
bmcmIGlucHV0ID0gbV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUoY2xhc3NBdHRyKTsKKyAgICBjb25z
dCB1bnNpZ25lZCBpbnB1dExlbmd0aCA9IGlucHV0Lmxlbmd0aCgpOworICAgIFN0cmluZyBvdXRw
dXQ7IC8vIDMKKyAgICB1bnNpZ25lZCBwb3NpdGlvbiA9IDA7IC8vIDQKKworICAgIC8vIFN0ZXAg
NQorICAgIHdoaWxlIChwb3NpdGlvbiA8IGlucHV0TGVuZ3RoKSB7CisgICAgICAgIGlmIChpc0Ns
YXNzV2hpdGVzcGFjZShpbnB1dFtwb3NpdGlvbl0pKSB7IC8vIDYKKyAgICAgICAgICAgIG91dHB1
dC5hcHBlbmQoaW5wdXRbcG9zaXRpb24rK10pOyAvLyA2LjEsIDYuMgorICAgICAgICAgICAgY29u
dGludWU7IC8vIDYuMworICAgICAgICB9CisKKyAgICAgICAgLy8gU3RlcCA3CisgICAgICAgIFN0
cmluZyBzOworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiAhaXNDbGFz
c1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkKKyAgICAgICAgICAgIHMuYXBwZW5kKGlucHV0
W3Bvc2l0aW9uKytdKTsKKworICAgICAgICAvLyBTdGVwIDgKKyAgICAgICAgaWYgKHMgPT0gdG9r
ZW4pIHsKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4xCisgICAgICAgICAgICB3aGlsZSAocG9zaXRp
b24gPCBpbnB1dExlbmd0aCAmJiBpc0NsYXNzV2hpdGVzcGFjZShpbnB1dFtwb3NpdGlvbl0pKQor
ICAgICAgICAgICAgICAgICsrcG9zaXRpb247CisKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4yCisg
ICAgICAgICAgICB1bnNpZ25lZCBqID0gb3V0cHV0Lmxlbmd0aCgpOworICAgICAgICAgICAgd2hp
bGUgKGogPiAwICYmIGlzQ2xhc3NXaGl0ZXNwYWNlKG91dHB1dFtqIC0gMV0pKQorICAgICAgICAg
ICAgICAgIC0tajsKKyAgICAgICAgICAgIG91dHB1dC50cnVuY2F0ZShqKTsKKworICAgICAgICAg
ICAgLy8gU3RlcCA4LjMKKyAgICAgICAgICAgIGlmIChwb3NpdGlvbiA8IGlucHV0TGVuZ3RoICYm
ICFvdXRwdXQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoJyAnKTsK
KyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKHMpOyAvLyBTdGVwIDkK
KyAgICB9CisKKyAgICBtX2VsZW1lbnQtPnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIG91dHB1dCk7
Cit9CisKK2Jvb2wgRE9NVG9rZW5MaXN0Ojp0b2dnbGUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tl
biwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCAg
ZWMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoY29udGFpbnNJbnRlcm5hbCh0
b2tlbikpIHsKKyAgICAgICAgcmVtb3ZlSW50ZXJuYWwodG9rZW4pOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorICAgIGFkZEludGVybmFsKHRva2VuKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworU3RyaW5nIERPTVRva2VuTGlzdDo6dG9TdHJpbmcoKSBjb25zdAoreworICAgIHJldHVy
biBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShjbGFzc0F0dHIpOworfQorCit2b2lkIERPTVRva2Vu
TGlzdDo6cmVzZXQoY29uc3QgU3RyaW5nJiBuZXdDbGFzc05hbWUpCit7CisgICAgaWYgKG1fZWxl
bWVudC0+ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpCisgICAgICAgIG1fY2xhc3NOYW1lcy0+
c2V0KG5ld0NsYXNzTmFtZSwgZmFsc2UpOworfQorCitjb25zdCBTcGFjZVNwbGl0U3RyaW5nKiBE
T01Ub2tlbkxpc3Q6OmNsYXNzTmFtZXMoKSBjb25zdAoreworICAgIGlmIChtX2VsZW1lbnQtPmRv
Y3VtZW50KCktPmluUXVpcmtzTW9kZSgpKQorICAgICAgICByZXR1cm4gbV9jbGFzc05hbWVzLmdl
dCgpOworICAgIHJldHVybiAmbV9lbGVtZW50LT5hdHRyaWJ1dGVNYXAoKS0+Y2xhc3NOYW1lcygp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
RE9NVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NThmYzFkOTM4OWMwY2E0MzljYWRkNTg0MjIxODdiYTMxNzk4ODViOAotLS0gL2Rldi9udWxsCisr
KyBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApAQCAtMCwwICsxLDc3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBET01Ub2tlbkxpc3RfaAorI2RlZmluZSBET01Ub2tlbkxpc3RfaAor
CisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcu
aCIKKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBFbGVtZW50OworCitjbGFzcyBET01Ub2tlbkxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPERPTVRva2VuTGlzdD4gY3JlYXRlKEVs
ZW1lbnQqIGVsZW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IERPTVRva2VuTGlzdChl
bGVtZW50KTsKKyAgICB9CisKKyAgICB+RE9NVG9rZW5MaXN0KCkgeyB9CisKKyAgICB2b2lkIHJl
ZigpOworICAgIHZvaWQgZGVyZWYoKTsKKworICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0Owor
ICAgIGNvbnN0IEF0b21pY1N0cmluZyBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKyAgICBi
b29sIGNvbnRhaW5zKGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsK
KyAgICB2b2lkIGFkZChjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAg
dm9pZCByZW1vdmUoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworICAgIGJv
b2wgdG9nZ2xlKGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBTdHJp
bmcgdG9TdHJpbmcoKSBjb25zdDsKKworICAgIHZvaWQgcmVzZXQoY29uc3QgU3RyaW5nJik7Cisg
ICAgCisgICAgRWxlbWVudCogZWxlbWVudCgpIHsgcmV0dXJuIG1fZWxlbWVudDsgfQorCitwcml2
YXRlOgorICAgIERPTVRva2VuTGlzdChFbGVtZW50KiBlbGVtZW50KTsKKworICAgIHZvaWQgYWRk
SW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CisgICAgYm9vbCBjb250YWluc0lu
dGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OworICAgIHZvaWQgcmVtb3ZlSW50ZXJu
YWwoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CisKKyAgICBjb25zdCBTcGFjZVNwbGl0U3Ry
aW5nKiBjbGFzc05hbWVzKCkgY29uc3Q7CisKKyAgICBFbGVtZW50KiBtX2VsZW1lbnQ7CisgICAg
T3duUHRyPFNwYWNlU3BsaXRTdHJpbmc+IG1fY2xhc3NOYW1lczsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERPTVRva2VuTGlzdF9oCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk5YTRiZjllNjA3MGMyNGZhZWYxYWZjMzRlNmI3ZDU4MTc5N2YxNDEKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbApAQCAtMCwwICsx
LDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsK
KyAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvciwKKyAgICAgICAgSGFzSW5kZXhHZXR0ZXIKKyAg
ICBdIERPTVRva2VuTGlzdCB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIGxlbmd0aDsKKyAgICAgICAgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5n
IGl0ZW0oaW4gW0lzSW5kZXhdIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgICAgICBib29sZWFu
IGNvbnRhaW5zKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAg
ICAgIHZvaWQgYWRkKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cisg
ICAgICAgIHZvaWQgcmVtb3ZlKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CisgICAgICAgIGJvb2xlYW4gdG9nZ2xlKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CisKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdV
QUdFX0pBVkFTQ1JJUFQKKyAgICAgICAgW0RvbnRFbnVtXSBET01TdHJpbmcgdG9TdHJpbmcoKTsK
KyNlbmRpZgorICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCmluZGV4IDg2M2YyOGM4NjU0N2Vi
OTdjYzQ4Y2M2MjFkOWExYjY2YWM5MjY3YmIuLmIxMjdjNTE3Mjc2NWIxOGM4MTgwMWJkY2U2ZjVh
NzBhMDJlM2RhOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKKysr
IGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbApAQCAtMzEsNiArMzEsNyBAQCBtb2R1bGUg
aHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGxh
bmc7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGRpcjsK
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0PWNsYXNzXSBET01TdHJpbmcgY2xh
c3NOYW1lOworICAgICAgICAgICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0
IGNsYXNzTGlzdDsKIAogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAg
ICAgdGFiSW5kZXg7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAg
ICBkcmFnZ2FibGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDE1ZjNlZDE4MGU2ZmM3YzUyY2VlMjkwMGY1
NTQyYzY4MWJlYThiZDkuLjhmZWZlYWQ2MGUwNTRkMDE2OWIyNmQ1ZmYzOTVlMzcxNzI4NmE1MDYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiRE9NU2VsZWN0aW9u
LmgiCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkRPTVRpbWVyLmgiCisj
aW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRl
ICJEYXRhYmFzZUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5o
IgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAppbmRleCAyMzUwOGJlNWQyZWEwZWEwMDY5MzBmMDlmMTg3YTBlNTI5YWYy
ZDMzLi5jZTUxMDVmNmNkYjA5ZTkyMDBlOTJjZDRiNTUwOWJiYjE3NzEwNGI1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbApAQCAtMzc5LDYgKzM3OSw3IEBAIG1vZHVsZSB3aW5kb3cgewogLy8gICAgICAgIGF0dHJp
YnV0ZSBET01JbXBsZW1lbnRhdGlvbkxpc3RDb25zdHJ1Y3RvciBET01JbXBsZW1lbnRhdGlvbkxp
c3Q7CiAvLyAgICAgICAgYXR0cmlidXRlIERPTUltcGxlbWVudGF0aW9uU291cmNlQ29uc3RydWN0
b3IgRE9NSW1wbGVtZW50YXRpb25Tb3VyY2U7CiAgICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1l
bnRhdGlvbkNvbnN0cnVjdG9yIERPTUltcGxlbWVudGF0aW9uOworICAgICAgICBhdHRyaWJ1dGUg
RE9NVG9rZW5MaXN0Q29uc3RydWN0b3IgRE9NVG9rZW5MaXN0OwogICAgICAgICBhdHRyaWJ1dGUg
RG9jdW1lbnRGcmFnbWVudENvbnN0cnVjdG9yIERvY3VtZW50RnJhZ21lbnQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBEb2N1bWVudENvbnN0cnVjdG9yIERvY3VtZW50OwogICAgICAgICBhdHRyaWJ1dGUg
Tm9kZUNvbnN0cnVjdG9yIE5vZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68606</attachid>
            <date>2010-09-23 15:25:58 -0700</date>
            <delta_ts>2010-09-24 10:20:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-20709-20100923152556.patch</filename>
            <type>text/plain</type>
            <size>64693</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZmExMmQzMmU5Mjk4N2NhMzU2NmVlZTE0ZWU1MGYxYTNmY2MwNTg1Li5iODgwNjRj
M2JhNWQyZmIzNDQwMWQxODcyYWFhNDIyNjZmNTU5NDllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTAtMDktMjIgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWly
a3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC1nYy5qczogQWRkZWQuCisgICAgICAgIChnYyk6CisgICAgICAgICogZmFz
dC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanM6IEFkZGVkLgorICAg
ICAgICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTA5LTIzICBBbmRyZXcgV2ls
c29uICA8YXR3aWxzb25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHI2ODE5Ny4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVt
ZW50L2NsYXNzLWxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTJlODk1MjBlZTJkZDQ3
NDExMDQxYmQxYjAyZTI3MjdiZGIwNTBhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NjQgQEAKK1Rlc3RzIHRoZSBjbGFzc0xpc3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGllcy4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RzIGZyb20gaHR0cDovL3NpbW9u
Lmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LworUEFTUyBT
dHJpbmcoZWxlbWVudC5jbGFzc0xpc3QpIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5s
ZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgg
aXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05h
bWUgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50
LmNsYXNzTmFtZSBpcyAieSB4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIgorUEFTUyBl
bGVtZW50LmNsYXNzTmFtZSBpcyAiIgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIHkgeSAi
CitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ5IgorVGVzdCBpbnZhbGlkIHRva2VucworUEFT
UyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0
aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygneCB5Jykg
dGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0LmFkZCgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2Vw
dGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJycpIHRocmV3
IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QucmVtb3ZlKCd4IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUK
K1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNl
cHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgneCB5Jykg
dGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitJbmRleGluZworUEFTUyBl
bGVtZW50LmNsYXNzTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgw
KSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgIngiCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0Lml0ZW0oMSkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzFdIGlzICJ5
IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDEpIGlzICJ5IgorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdFswXSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCkgaXMgbnVs
bAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFs0XSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0Lml0ZW0oNCkgaXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFstMV0gaXMgdW5kZWZp
bmVkLgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKC0xKSBpcyBudWxsCitUZXN0IGNhc2Ug
c2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0LmNvbnRhaW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlu
cygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBp
cyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgg
aXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHByZXNlbmNl
IGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QgaXMgdHJ1
ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2JqZWN0IgorUEFTUyB0
eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0ID09
PSBlbGVtZW50LmNsYXNzTGlzdCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MWMyNWZiNTFhZGRjNGQwMDc3MjYzZWZmZjQ4ZWRlNzE0OTFjMjM2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0cyB0aGF0IHByb3BlcnRpZXMgb24gdGhl
IGNsYXNzTGlzdCBwZXJzaXN0cyBHQy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgZC5jbGFzc0xpc3QubGlmZSBpcyA0MgorUEFTUyBkLmNsYXNzTGlzdC5saWZlIGlzIDQy
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRjNWVmYWQ3ZTk5NTNlZjM1OGFlNGE4YTM1MDM3NTNhZGNjYTU3OWUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1s
aXN0LWdjLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L2NsYXNzLWxpc3QtZ2MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC1xdWlya3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZTg5NTIwZWUyZGQ0NzQxMTA0MWJk
MWIwMmUyNzI3YmRiMDUwYWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2
NCBAQAorVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2ltb24u
aHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0
cmluZyhlbGVtZW50LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxl
bmd0aCBpcyAwCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBp
cyAyCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFt
ZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggIHgiCitQQVNTIGVsZW1lbnQu
Y2xhc3NOYW1lIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVs
ZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIgeSB5ICIK
K1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRp
b24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHknKSB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0
aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhyZXcg
ZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5yZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2Vw
dGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKSB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDAp
IGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgInki
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0WzBdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBudWxs
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRlZmlu
ZWQuCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oLTEpIGlzIG51bGwKK1Rlc3QgY2FzZSBz
aW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuY29udGFpbnMoJ3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5z
KCdYJykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIngiCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5jb250YWlucygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlz
ICJYIgorVGVzdGluZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBp
cyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2Ug
YW5kIHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVl
CitQQVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5
cGVvZiBlbGVtZW50LmNsYXNzTGlzdCBpcyAib2JqZWN0IgorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QgPT09
IGVsZW1lbnQuY2xhc3NMaXN0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDg3NmExNmY4
MjIyOWFhMTBhYzJjM2I5ZTA1Nzg4MTcyYmM5MzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbApAQCAtMCww
ICsxLDEzIEBACis8IS0tIFF1aXJrcyBNb2RlIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jbGFzcy1saXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWRmMjQzY2UzMjlm
OTQ0MDNiOGVmNjY4ODYzNmNhNzQ2ZWFmMjEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sCkBAIC0wLDAgKzEsMTMgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxF
bGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LWdjLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QtZ2MuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGUzMTYxYWJmYjVjMzNmM2VlNjE1YWFiMjJiM2Y5ZDk2N2E1Zjg5ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1s
aXN0LWdjLmpzCkBAIC0wLDAgKzEsMzAgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQg
cHJvcGVydGllcyBvbiB0aGUgY2xhc3NMaXN0IHBlcnNpc3RzIEdDLicpOworCitmdW5jdGlvbiBn
YygpCit7CisgICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBHQ0Nv
bnRyb2xsZXIuY29sbGVjdCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgaSsr
KSB7CisgICAgICAgIHZhciBzID0gbmV3IFN0cmluZzsKKyAgICB9Cit9CisKK3ZhciBkID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKKy8vIEVuc3VyZSB0aGUgY2xhc3NMaXN0IGlz
IGNyZWF0ZWQuCit2YXIgY2xhc3NMaXN0ID0gZC5jbGFzc0xpc3Q7CisKKy8vIFNldCBhIGN1c3Rv
bSBwcm9wZXJ0eS4KK2QuY2xhc3NMaXN0LmxpZmUgPSA0MjsKK3Nob3VsZEV2YWx1YXRlVG8oJ2Qu
Y2xhc3NMaXN0LmxpZmUnLCA0Mik7CisKKy8vIE51bGwgb3V0IHJlZmVyZW5jZSB0byB0aGUgZGF0
YXNldC4KK2NsYXNzTGlzdCA9IG51bGw7CisKK2djKCk7CisKKy8vIFRlc3QgdGhhdCB0aGUgY2xh
c3NMaXN0IHdyYXBwZXIgcGVyc2lzdGVkIHRoZSBHQyBhbmQgc3RpbGwgaGFzIHRoZSBjdXN0b20g
cHJvcGVydHkuCitzaG91bGRFdmFsdWF0ZVRvKCdkLmNsYXNzTGlzdC5saWZlJywgNDIpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGU4MDBkMjhkZWI2NmVjYmRiNjYzMTE3NjAxNWFlNGQwOThmMDFiMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9j
bGFzcy1saXN0LmpzCkBAIC0wLDAgKzEsMjI0IEBACitkZXNjcmlwdGlvbignVGVzdHMgdGhlIGNs
YXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLicpOworCit2YXIgZWxlbWVudDsK
KworZnVuY3Rpb24gY3JlYXRlRWxlbWVudChjbGFzc05hbWUpCit7CisgICAgZWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9IGNsYXNz
TmFtZTsKK30KKworZGVidWcoJ1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0
L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LycpOworCisvLyBodHRwOi8vc2ltb24u
aHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qvc2V0dGluZy8w
MDEuaHRtCisvLyBGaXJlZm94IHRocm93cyBoZXJlIGJ1dCBXZWJLaXQgZG9lcyBub3QgdGhyb3cg
b24gc2V0dGluZyByZWFkb25seSBpZGwKKy8vIGF0dHJpYnV0ZXMuCitjcmVhdGVFbGVtZW50KCd4
Jyk7Cit0cnkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0ID0gJ3knOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygnU3RyaW5nKGVsZW1lbnQuY2xhc3NMaXN0KScsICd4Jyk7Cit9IGNhdGNoIChl
eCkgeworICAgIHRlc3RQYXNzZWQoJ1Rocm93aW5nIG9uIHNldCBpcyBhY2NlcHRhYmxlJyk7Cit9
CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RP
TVRva2VuTGlzdC9nZXR0aW5nLzAwMS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkRXZh
bHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMCk7CisKKy8vIGh0dHA6Ly9zaW1v
bi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5n
LzAwMi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQu
Y2xhc3NMaXN0Lmxlbmd0aCcsIDEpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3Qv
aHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDMuaHRtCitjcmVhdGVF
bGVtZW50KCd4IHgnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCcsIDIpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVj
dGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDQuaHRtCitjcmVhdGVFbGVtZW50KCd4IHknKTsK
K3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCisvLyBo
dHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxp
c3QvZ2V0dGluZy8wMDUuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQuY2xhc3NMaXN0
LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4
Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5n
L0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK2VsZW1l
bnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNs
YXNzTmFtZScsICd4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2Rv
bS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNy5odG0KK2NyZWF0ZUVsZW1lbnQo
J3ggIHgnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4ICB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1s
NS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwOC5o
dG0KK2NyZWF0ZUVsZW1lbnQoJ3knKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd5IHgnKTsKKworLy8gaHR0
cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0
L2dldHRpbmcvMDA5Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LmNsYXNzTGlzdC5y
ZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAn
Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5n
L0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK2VsZW1l
bnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LmNsYXNzTmFtZScsICcnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwv
ZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDExLmh0bQorY3JlYXRlRWxlbWVu
dCgnIHkgeCAgeSAnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICcgeSB5ICcpOworCisvLyBodHRwOi8v
c2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0
dGluZy8wMTIuaHRtCitjcmVhdGVFbGVtZW50KCcgeCB5ICB4ICcpOworZWxlbWVudC5jbGFzc0xp
c3QucmVtb3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1l
JywgJ3knKTsKKworCitkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2VucycpOworCisvLyBUZXN0aW5n
IGV4Y2VwdGlvbiBkdWUgdG8gaW52YWxpZCB0b2tlbgorCisvLyBzaG91bGRUaHJvdyBmcm9tIGpz
LXRlc3QtcHJlLmpzIGlzIG5vdCBzdWZmaWNpZW50LgorZnVuY3Rpb24gc2hvdWxkVGhyb3dET01F
eGNlcHRpb24oZiwgZWMpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigpOworICAgICAgICB0ZXN0
RmFpbGVkKCdFeHBlY3RlZCBhbiBleGNlcHRpb24nKTsKKyAgICB9IGNhdGNoIChleCkgeworICAg
ICAgICBpZiAoIShleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikpIHsKKyAgICAgICAgICAgIHRl
c3RGYWlsZWQoJ0V4Y2VwdGlvbiBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgRE9NRXhjZXB0aW9uLCBm
b3VuZDogJyArCisgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC50b1N0cmluZy5jYWxsKGV4
KSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVjICE9PSBl
eC5jb2RlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdXcm9uZyBleGNlcHRpb24gY29kZTog
JyArIGV4LmNvZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorICAg
IHZhciBmb3JtYXR0ZWRGdW5jdGlvbiA9IFN0cmluZyhmKS5yZXBsYWNlKC9eZnVuY3Rpb24uK1x7
XHMqL20sICcnKS4KKyAgICAgICAgcmVwbGFjZSgvOz9ccytcfS9tLCAnJyk7CisgICAgdGVzdFBh
c3NlZChmb3JtYXR0ZWRGdW5jdGlvbiArICcgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdp
dGggY29kZSAnICsgZWMpOworfQorCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRUaHJvd0RP
TUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygn
Jyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScp
Oworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVS
X0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVu
Y3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCcnKTsKK30sIERPTUV4Y2VwdGlv
bi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2Vw
dGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3ggeScpOworfSwg
RE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycp
Oworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFz
c0xpc3QucmVtb3ZlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRl
RWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBl
bGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURf
Q0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNl
cHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCcnKTsKK30s
IERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91
bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC50
b2dnbGUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisK
KworZGVidWcoJ0luZGV4aW5nJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAneCcpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApJywgJ3gnKTsKKworY3JlYXRlRWxlbWVu
dCgneCB4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzFdJywg
J3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgxKScs
ICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LmNsYXNzTGlzdFsxXScsICd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQuY2xhc3NMaXN0Lml0ZW0oMSknLCAneScpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3Vs
ZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3RbMF0nKTsKK3Nob3VsZEJlTnVsbCgnZWxlbWVudC5j
bGFzc0xpc3QuaXRlbSgwKScpOworCitjcmVhdGVFbGVtZW50KCd4IHkgeicpOworc2hvdWxkQmVO
dWxsKCdlbGVtZW50LmNsYXNzTGlzdFs0XScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNz
TGlzdC5pdGVtKDQpJyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5jbGFzc0xpc3RbLTFd
Jyk7ICAvLyBOb3QgYSB2YWxpZCBpbmRleCBzbyBzaG91bGQgbm90IHRyaWdnZXIgaXRlbSgpLgor
c2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKC0xKScpOworCitkZWJ1ZygnVGVz
dCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2ZScpOworCitjcmVhdGVF
bGVtZW50KCd4Jyk7CitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwn
eFwnKScpOworc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCdYXCcp
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJywgJ3gnKTsK
KworY3JlYXRlRWxlbWVudCgnWCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LmNsYXNzTGlzdC5j
b250YWlucyhcJ1hcJyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRh
aW5zKFwneFwnKScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFsw
XScsICdYJyk7CisKKworZGVidWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScpOworLy8gVSswMDIwIFNQ
QUNFLCBVKzAwMDkgQ0hBUkFDVEVSIFRBQlVMQVRJT04gKHRhYiksIFUrMDAwQSBMSU5FIEZFRUQg
KExGKSwKKy8vIFUrMDAwQyBGT1JNIEZFRUQgKEZGKSwgYW5kIFUrMDAwRCBDQVJSSUFHRSBSRVRV
Uk4gKENSKQorCitjcmVhdGVFbGVtZW50KCd4XHUwMDIweScpOworc2hvdWxkRXZhbHVhdGVUbygn
ZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMDl5
Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKwor
Y3JlYXRlRWxlbWVudCgneFx1MDAwQXknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xh
c3NMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBDeScpOworc2hvdWxk
RXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1l
bnQoJ3hcdTAwMER5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5n
dGgnLCAyKTsKKworCitkZWJ1ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlJyk7CisK
KworLy8gU2FmYXJpIHJldHVybnMgb2JqZWN0CisvLyBGaXJlZm94IHJldHVybnMgb2JqZWN0Cisv
LyBJRTggcmV0dXJucyBvYmplY3QKKy8vIENocm9tZSByZXR1cm5zIGZ1bmN0aW9uCisvLyBhc3Nl
cnRFcXVhbHMoJ29iamVjdCcsIHR5cGVvZiBET01Ub2tlbkxpc3QpOworc2hvdWxkQmVUcnVlKCdc
J3VuZGVmaW5lZFwnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QnKTsKKworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmplY3QnKTsKKworY3Jl
YXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgZWxlbWVudC5j
bGFzc0xpc3QnLCAnb2JqZWN0Jyk7CisKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NM
aXN0LmNvbnN0cnVjdG9yJywgJ0RPTVRva2VuTGlzdCcpOworCitzaG91bGRCZVRydWUoJ2VsZW1l
bnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IGQ0ODRjZmU1MTJiM2UzMzUw
NjdhOGRjOGE0MTU0NDFhMDhlNDYyOGUuLmI2NjdhZGM2OTYwNmZhMTEzMmM1MTBlY2U5MDE5OGYy
ZjI5YjYwNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtNTYxLDYgKzU2MSwxNCBAQCB3aW5k
b3cuRE9NU3RyaW5nTGlzdC5wcm90b3R5cGUuY29udGFpbnMgW2Z1bmN0aW9uXQogd2luZG93LkRP
TVN0cmluZ0xpc3QucHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9uXQogd2luZG93LkRPTVN0cmluZ01h
cCBbb2JqZWN0IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXQogd2luZG93LkRPTVN0cmluZ01hcC5w
cm90b3R5cGUgW29iamVjdCBET01TdHJpbmdNYXBQcm90b3R5cGVdCit3aW5kb3cuRE9NVG9rZW5M
aXN0IFtvYmplY3QgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3JdCit3aW5kb3cuRE9NVG9rZW5MaXN0
LnByb3RvdHlwZSBbb2JqZWN0IERPTVRva2VuTGlzdFByb3RvdHlwZV0KK3dpbmRvdy5ET01Ub2tl
bkxpc3QucHJvdG90eXBlLmFkZCBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3Rv
dHlwZS5jb250YWlucyBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5p
dGVtIFtmdW5jdGlvbl0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBlLnJlbW92ZSBbZnVu
Y3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b1N0cmluZyBbZnVuY3Rpb25d
Cit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b2dnbGUgW2Z1bmN0aW9uXQogd2luZG93
LkRhdGUgW2Z1bmN0aW9uXQogd2luZG93LkRvY3VtZW50IFtvYmplY3QgRG9jdW1lbnRDb25zdHJ1
Y3Rvcl0KIHdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUgW29iamVjdCBEb2N1bWVudFByb3RvdHlw
ZV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKaW5kZXggMDhkNjY2NDNh
ODExODRhMDZkYjk3Zjg2YjdiODBhM2MzOWFiNzFkNS4uZjVlNzYzZjFiY2Y5YzQ5YzRlOGFmMDQ4
OTg4NzI4OTZmNjkzMTNiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50
eHQKQEAgLTQwLDYgKzQwLDcgQEAgUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcih3aW5kb3csICdET01JbXBsZW1lbnRhdGlvbicpIGlzICdvYmoKIFBBU1MgdHlwZW9m
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NUGFyc2VyJykgaXMg
J29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAnRE9NU3RyaW5nTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVN0cmluZ01hcCcpIGlzICdvYmplY3Qn
CitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RP
TVRva2VuTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RhdGUnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdEb2N1bWVudCcpIGlzICdvYmpl
Y3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywg
J0RvY3VtZW50RnJhZ21lbnQnKSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CmluZGV4IDIw
NTU3NWEzMzY3NWE2NTM0NDM5MjBkZGNkNWNkNTY0MTlmY2FiYTQuLmQ0YTMxZGIzZDdmNjI2Yzg1
ZDM3MDAzNzc3NDUzNzNmYzU5OGZiNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKQEAgLTc3LDYgKzc3
LDkgQEAgUEFTUyBET01JbXBsZW1lbnRhdGlvblByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50
LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWUKIFBBU1MgRE9NU3RyaW5nTWFwIGZyb20gaW5u
ZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0CiBQQVNTIERPTVN0cmluZ01hcENv
bnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0LmNv
bnN0cnVjdG9yCiBQQVNTIERPTVN0cmluZ01hcFByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50
LmZvcm1zLnRlc3RGb3JtLjAuZGF0YXNldC5fX3Byb3RvX18KK1BBU1MgRE9NVG9rZW5MaXN0IGZy
b20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC4wLmNsYXNzTGlzdAorUEFTUyBET01U
b2tlbkxpc3RDb25zdHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAu
Y2xhc3NMaXN0LmNvbnN0cnVjdG9yCitQQVNTIERPTVRva2VuTGlzdFByb3RvdHlwZSBmcm9tIGlu
bmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFzc0xpc3QuX19wcm90b19fCiBQQVNT
IERPTVdpbmRvdyBmcm9tIGlubmVyCiBQQVNTIERPTVdpbmRvd1Byb3RvdHlwZSBmcm9tIGlubmVy
LmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5fX3By
b3RvX18KIFBBU1MgRG9jdW1lbnRQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50
ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuX19wcm90b19fLl9fcHJvdG9fXwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQK
aW5kZXggM2I0NWNlODhmNTIyMGYyYzU2YWRmNmQxZDNlNjk4Yjc1Y2NkZTZjYi4uZmE2NDc2YWRk
YTY4MjFkNzdiZmIzYzIyNjBmZDcxM2M0NWY4MWQzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBAIC03Nyw2
ICs3Nyw4IEBAIFBBU1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5pc0lubmVyIGlzIHRydWUKIFBBU1Mg
aW5uZXIuRE9NU3RyaW5nTGlzdC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5u
ZXIuRE9NU3RyaW5nTWFwLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5ET01TdHJpbmdNYXAu
Y29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkRPTVRva2VuTGlzdC5pc0lu
bmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuRE9NVG9rZW5MaXN0LmNvbnN0cnVjdG9yLmlzSW5uZXIg
aXMgdHJ1ZQogUEFTUyBpbm5lci5EYXRlLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5EYXRl
LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5Eb2N1bWVudC5pc0lubmVy
IGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVj
dG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0CmluZGV4IDk3ODkzZGE3MzEzMzhmN2VmMjAyODRkOTVlOTgzZjViNWI5
OGNmNGQuLjIxNDNiODZkMzUzYjc5ZGFlNGE4OTEzNTdiYjI0ZDYyYjU0MTc4ZjkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dApAQCAtMzgsNiArMzgsNyBAQCBQQVNTIERPTUltcGxlbWVudGF0aW9uLnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgRE9NSW1wbGVtZW50YXRpb25Db25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVBhcnNlci50
b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVBhcnNlckNvbnN0cnVjdG9yXScKIFBBU1MgRE9NU3Ry
aW5nTGlzdC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVN0cmluZ0xpc3RDb25zdHJ1Y3Rvcl0n
CiBQQVNTIERPTVN0cmluZ01hcC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVN0cmluZ01hcENv
bnN0cnVjdG9yXScKK1BBU1MgRE9NVG9rZW5MaXN0LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRE9N
VG9rZW5MaXN0Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVudC50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IERvY3VtZW50Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVudEZyYWdtZW50LnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRGcmFnbWVudENvbnN0cnVjdG9yXScKIFBBU1MgRG9jdW1l
bnRUeXBlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRUeXBlQ29uc3RydWN0b3JdJwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsgYi9XZWJD
b3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawppbmRleCA0ODZkOGNkM2FlYTUxNWU4
YzllMWQ5OWFjMjUxOTljOTJmMTU5ZGU5Li5hOTI3ZjExZDY3OTc2MDVhMjMwM2U3ZjYwZmIwYmJi
NDE2M2M5MTBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5n
cy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawpAQCAtMTU5
LDYgKzE1OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTQmxvYi5o
IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNCbG9iQnVpbGRlci5oIFwKICAgICAkKGlu
dGVybWVkaWF0ZXMpL2h0bWwvSlNET01Gb3JtRGF0YS5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMp
L2h0bWwvSlNET01Ub2tlbkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRGF0
YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1
bW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0ZpbGUuaCBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRy
b2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawppbmRleCA5YjhmMjJjMjlhMzg5ZDk5YTcyNzNmZWQ0
NjEzMDlhY2Y0N2MzY2EzLi5hNzMxNTdkNzFhY2RlYmZkN2MyODYxNmFhNmExZGQ5MzFkOGEyNDZl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCisrKyBi
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKQEAgLTE0MCw2ICsxNDAsNyBA
QCAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdz
LyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKQogR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMp
L2JpbmRpbmdzL1Y4QmxvYi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4Qmxv
YkJ1aWxkZXIuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERPTVRva2VuTGlz
dC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RGF0YUdyaWRDb2x1bW4uaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uTGlzdC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RmlsZS5oIFwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5n
cy5tawppbmRleCBlMDdlZDFlNGZlNTgwOGUwMjdhNzFiOGU3NmM0ZDQ1MDMxYzk0YTE2Li4wODE2
MTEzNDk5ZjMzNTA1NDVkYTAxZGNlOWZhOTg5MGQ0NDkwNTk3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdz
Lm1rCkBAIC04Myw2ICs4Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMv
SlNET01CaW5kaW5nLmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAg
XAogCWJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBcCisJYmluZGluZ3MvanMvSlNE
T01Ub2tlbkxpc3QuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggODRmYWFlMjU2OWYxNzgyNTE0OTUzNDUyMTlmMjMwMmE4NDNjNTIyOC4u
ZGM0NmU3YzhlMjY4YWU1OTNjYjdiNjk1NTg5Mjg0NTMyODQ1ZDM0YSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MSBAQAor
MjAxMC0wOS0yMiAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBIVE1MIDUn
cyBIVE1MRWxlbWVudC5jbGFzc0xpc3QgcHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzA5CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9t
L0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20v
SFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9k
b20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sCisKKyAgICAgICAgVGhpcyBhZGRzIGEgRE9N
VG9rZW5MaXN0IGNsYXNzIHRoYXQgaXMgdXNlZGZvciB0aGUgY2xhc3NMaXN0IHByb3BlcnR5LiBE
T01Ub2tlbkxpc3QgdXNlcyBhIFNwYWNlU3BsaXRTdHJpbmcgZm9yIGZhc3QKKyAgICAgICAgY29u
dGFpbnMgY2hlY2suIEluIHN0YW5kYXJkcyBtb2RlIHRoZSBleGlzdGluZyBjbGFzc05hbWVzIGlz
IHVzZWQgYnV0IGluIHF1aXJrcyBtb2RlIHdlIHVzZSBhbiBpbnRlcm5hbCBTcGFjZVNwbGl0U3Ry
aW5nCisgICAgICAgIGJlY2F1c2UgY2xhc3NMaXN0IGlzIGFsd2F5cyBjYXNlIHNlbnNpdGl2ZS4K
KworICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBB
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmpzY2JpbmRp
bmdzLm1rOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SlNFbGVtZW50OjptYXJrQ2hpbGRyZW4pOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsYXNzTGlzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpvcHRpb25hbENsYXNzTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
OjpyZXNldENsYXNzTGlzdCk6IFRoaXMgaXMgY2FsbGVkIHdoZW4gdGhlIGNsYXNzIGF0dHJpYnV0
ZSBjaGFuZ2VzIHNvIHRoYXQgdGhlIGludGVyYWwgU3BhY2VTcGxpdFN0cmluZyBjYW4KKyAgICAg
ICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDogVGhp
cyBub3cgaGFzIGFuIE93blB0ciB0byBhIENsYXNzTGlzdCBpZiB0aGUgRWxlbWVudDo6Y2xhc3NM
aXN0IGlzIGV2ZXIgY2FsbGVkLgorICAgICAgICAqIGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZCk6Cisg
ICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0RPTVRva2VuTGlz
dC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE5hbWVzOjp2YWxpZGF0ZVRva2Vu
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6RE9NVG9rZW5MaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6cmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRv
a2VuTGlzdDo6ZGVyZWYpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpsZW5ndGgp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjppdGVtKToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVRva2VuTGlzdDo6Y29udGFpbnMpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5M
aXN0Ojpjb250YWluc0ludGVybmFsKTogVGhlIGludGVybmFsIG1ldGhvZHMgZG8gbm8gdmFsaWRh
dGlvbiBvZiB0aGUgdG9rZW4uCisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmFkZCk6
CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmFkZEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRv
a2VuTGlzdDo6cmVtb3ZlSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0
Ojp0b2dnbGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0Ojp0b1N0cmluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVRva2VuTGlzdDo6Y2xhc3NOYW1lcyk6CisgICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3Qu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6On5ET01Ub2tlbkxpc3QpOgorICAgICAgICAqIGh0
bWwvRE9NVG9rZW5MaXN0LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5p
ZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NV2lu
ZG93LmlkbDoKKwogMjAxMC0wOS0yMyAgQW5kcmV3IFdpbHNvbiAgPGF0d2lsc29uQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjgxOTcuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCmluZGV4IGJhYjgxMDk3MDQ5NDg4ZGFlMjI0ZTBmYTE4ZTJkOWY3MjhkMDYwN2EuLjg5OGRh
NWNhZWM4ZjA2NWFhMzU5NDVlMjRhNmI3Y2U4MDVjNmVmNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC05
MSw2ICs5MSw3IEBACiAjaW5jbHVkZSAiSlNET01TZWxlY3Rpb24uY3BwIgogI2luY2x1ZGUgIkpT
RE9NU3RyaW5nTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNET01TdHJpbmdNYXAuY3BwIgorI2luY2x1
ZGUgIkpTRE9NVG9rZW5MaXN0LmNwcCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5jcHAiCiAjaW5j
bHVkZSAiSlNFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0VudGl0eS5jcHAiCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggYWRiZDMwY2NmNWI1MTZhNGQ2ZDAyMDZlYzkwMmRmM2YyNDcxOWZjNC4uMmZkYTVl
OThiZTFhNjlmN2NjYTU3ZjZhOGEwMWUwZmM0NTU2ZGJhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
MTI0LDYgKzEyNCw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERPTVNlbGVjdGlvbiBcCiAgICAg
RE9NU3RyaW5nTGlzdCBcCiAgICAgRE9NU3RyaW5nTWFwIFwKKyAgICBET01Ub2tlbkxpc3QgXAog
ICAgIERPTVdpbmRvdyBcCiAgICAgRGF0YWJhc2UgXAogICAgIERhdGFiYXNlQ2FsbGJhY2sgXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KaW5kZXggNDRjNzFiNTJmZjZkZWE3MGFmNjI5YzFjZjU0MDMzZWMyODBjMDQ0Ni4uODgyY2E3
Y2MyZDUzYWJmY2YyZDkxM2M2NTA2ZTBhYWY0NzYwNTU5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMTYsNiArMjE2
LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRE9NU3RyaW5nTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5n
TWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVN0cmluZ01hcC5oIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmNwcCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0RPTVRva2VuTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
RE9NV2luZG93LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdy5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRWxlbWVudC5jcHAgXApAQCAtMTQzMyw2ICsxNDM1
LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQuaCBcCiAJV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAg
XAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCBcCisJV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5jcHAgXAorCVdlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBcCiAJV2ViQ29y
ZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2Fj
aGUuaCBcCiAJV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmggXApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1NzYyZjJiM2Y4
YTQ5NTc2Mjg2NDEwZjQxMjUwNWE1YzAyODI1NTNmLi44ODkxMjc1ODI5OTJlNjE0ZTg4MDY4NDk3
NzM4OGYwNmVmYTQ0ZjUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTExLDYgKzExMSw3IEBACiAgICAgICAgICAgICAnZmls
ZWFwaS9NZXRhZGF0YS5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGFDYWxsYmFj
ay5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRE9NRm9ybURhdGEuaWRsJywKKyAgICAgICAgICAg
ICdodG1sL0RPTVRva2VuTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1
bW4uaWRsJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5pZGwnLAogICAg
ICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsJywKQEAgLTc2Niw2ICs3NjcsNyBA
QAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01h
cEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2Vu
TGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdp
bmRvd0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3Vt
ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RWxlbWVu
dEN1c3RvbS5jcHAnLApAQCAtMTUxNiw2ICsxNTE4LDggQEAKICAgICAgICAgICAgICdodG1sL0RP
TURhdGFHcmlkRGF0YVNvdXJjZS5oJywKICAgICAgICAgICAgICdodG1sL0RPTUZvcm1EYXRhLmNw
cCcsCiAgICAgICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5oJywKKyAgICAgICAgICAgICdodG1s
L0RPTVRva2VuTGlzdC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvRE9NVG9rZW5MaXN0LmgnLAog
ICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW4uY3BwJywKICAgICAgICAgICAgICdodG1s
L0RhdGFHcmlkQ29sdW1uLmgnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0
LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3Jl
LnByaQppbmRleCAzN2JiMjA1MTgzYWVkMDBhMDc1YTFjNGYyYjlkMmZhNjJmM2RhZmEzLi41NGM5
Y2I1NDBkYjE4NmY2NjVjOTU1MDc1YjIxZDdkN2E3ZjA3NjZiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTIwMSw2ICsyMDEsNyBA
QCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRsIFwKICAgICBo
dG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5pZGwgXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRsIFwK
KyAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwgXAogICAgIGh0bWwvSFRNTEFsbENvbGxlY3Rpb24u
aWRsIFwKICAgICBodG1sL0hUTUxBdWRpb0VsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxBbmNo
b3JFbGVtZW50LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29y
ZS9XZWJDb3JlLnBybwppbmRleCBiYzFkM2RiODBkZWQ5NGQ3YTE0MWI1NzNlNDRmYmNhMGE4MTM2
NTg2Li4yNjVmMDQxMTQ0YjU3MTExZDNhYmZiY2IxN2EzODFmZjk4ZGMyN2YxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQwMyw3
ICs0MDMsOCBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2Ny
aXB0SG9zdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbnNwZWN0
b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tRXZlbnRMaXN0ZW5lci5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhE
T01TdHJpbmdNYXBDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0
cmluZ01hcEN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tl
bkxpc3RDdXN0b20uY3BwCiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAgXApAQCAtODM4LDYg
KzgzOSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvQ29sbGVjdGlvbkNhY2hlLmNwcCBcCiAg
ICAgaHRtbC9ET01EYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKICAgICBodG1sL0RPTUZvcm1EYXRh
LmNwcCBcCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuY3BwIFwKICAgICBodG1sL0RhdGFHcmlkQ29s
dW1uLmNwcCBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwIFwKICAgICBodG1sL0Rh
dGVDb21wb25lbnRzLmNwcCBcCkBAIC0xNzE2LDYgKzE3MTgsNyBAQCBIRUFERVJTICs9IFwKICAg
ICBodG1sL0RhdGVDb21wb25lbnRzLmggXAogICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291cmNl
LmggXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaCBcCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuaCBc
CiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuaCBcCiAgICAgaHRtbC9GVFBEaXJlY3RvcnlEb2N1bWVu
dC5oIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKaW5kZXggNTVjOGQ3MjA5NjYxNTY3NmU1NWRjNDc5MzA5NDQ4MzBkY2U0
NmRmYS4uMWIxZGQ5M2M2NGZjMTg2MTljZmIzNmY4MWI0ODIyYTQ4NDBkODQ0NSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC00MDMzLDYgKzQwMzMsMTQgQEAKIAkJCQk+
DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVRva2VuTGlzdC5j
cHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIk
KFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9N
VG9rZW5MaXN0LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTRE9NV2luZG93LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBA
IC0zNzg0NSw2ICszNzg1MywxOCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTVRva2VuTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTVRva2VuTGlz
dC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5caHRtbFxGb3JtRGF0YUxpc3QuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGVFBEaXJlY3RvcnlEb2N1bWVudC5oIg0KIAkJ
CQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggM2FiZTNkMzVmOWJiNzQzYjNkODU5MjQwMTAzOTdjODJlMDlkZjU0Mi4uNTViMmY4
ZTI1NTkwYzZjZTk1NDcyNjYzNDhiOWQ0NWY3YjczZDI2MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0MTIsMTIgKzE0MTIsMTggQEAKIAkJNzY5M0JB
RDMxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyog
UGx1Z2luSGFsdGVyLmNwcCAqLzsgfTsKIAkJNzY5M0JBRDQxMDZDMkRDQTAwN0IwODIzIC8qIFBs
dWdpbkhhbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovOyB9OwogCQk3
NjkzQkFENTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFEMTEwNkMyRENBMDA3
QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzY5NDU2M0MxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9N
VG9rZW5MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi87IH07
CisJCTc2OTQ1NjNEMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2M0IxMjE0RDk3QzAw
MDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi87IH07CisJCTc2OTQ1NjVCMTIxNERCNjMwMDA3
Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxp
c3QuaCAqLzsgfTsKKwkJNzY5NDU2NUMxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlz
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1
NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi87IH07CiAJCTc2Q0RE
MkYyMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUMxMTAzREE2NjAw
NjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAgKi87IH07CiAJCTc2Q0REMkYzMTEw
M0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVEMTEwM0RBNjYwMDY4MDUyMSAv
KiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCAqLzsgfTsKIAkJNzZDREQyRjQxMTAzREE2NjAwNjgw
NTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVFMTEwM0RBNjYwMDY4MDUyMSAvKiBB
Y2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHAgKi87IH07CiAJCTc2Q0REMkY1MTEwM0RBNjYw
MDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUYxMTAzREE2NjAwNjgwNTIxIC8q
IEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmggKi87IH07CiAJCTc2Q0REMkY2MTEwM0RBNjYw
MDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRjAxMTAzREE2NjAwNjgwNTIx
IC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbi5jcHAgKi87IH07CiAJCTc2Q0REMkY3MTEw
M0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkYxMTEwM0RBNjYwMDY4
MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCAqLzsgfTsKKwkJNzZGQzJCMEIx
MjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkZDMkIwODEyMzcwREEwMDA2QTk5MUEgLyogRE9N
VG9rZW5MaXN0LmNwcCAqLzsgfTsKKwkJNzZGQzJCMEMxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRv
a2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovOyB9OwogCQk3NkZG
MTdFMzExMjM1NjczMDAxRDYxQjUgLyogUGx1Z2luVmlld05vbmUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGRjE3RTIxMTIzNTY3MzAwMUQ2MUI1
IC8qIFBsdWdpblZpZXdOb25lLmNwcCAqLzsgfTsKIAkJNzlBQzkyMTgxMDk5NDVDODAwMjEyNjZF
IC8qIEpTQ29tcG9zaXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3OUFDOTIxNjEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlv
bkV2ZW50LmNwcCAqLzsgfTsKIAkJNzlBQzkyMTkxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9z
aXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzlBQzkyMTcxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oICovOyB9
OwpAQCAtNzM3MCwxMiArNzM3NiwxOSBAQAogCQk3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyog
UGx1Z2luSGFsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBs
dWdpbkhhbHRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2OTNCQUQwMTA2
QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGx1Z2luSGFsdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2
OTNCQUQxMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXJDbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luSGFsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2Vu
TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVRva2Vu
TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjNCMTIxNEQ5N0Mw
MDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0RPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Njk0
NTY1OTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERPTURPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3Njk0NTY1QTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NRE9NVG9rZW5MaXN0
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NkNERDJFQzExMDNEQTY2MDA2ODA1
MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTc2Q0REMkVEMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVu
dUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1l
bnVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVFMTEwM0RBNjYw
MDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVGMTEwM0RBNjYwMDY4MDUyMSAvKiBB
Y2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3NkNERDJGMDExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0
T3B0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlNZW51TGlzdE9wdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2
Q0REMkYxMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2RkMyQjA4MTIzNzBEQTAwMDZB
OTkxQSAvKiBET01Ub2tlbkxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRE9NVG9rZW5MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZG
QzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01Ub2tlbkxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNzZGQzJCMEExMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gRE9NVG9rZW5MaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzZGRjE3RTIxMTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdpblZpZXdOb25lLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpblZpZXdOb25lLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlBQzkyMTYxMDk5NDVDODAwMjEyNjZFIC8q
IEpTQ29tcG9zaXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NvbXBvc2l0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3OUFDOTIxNzEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29tcG9zaXRpb25FdmVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1MjAsNiArMTM1MzMsOCBAQAogCQkJY2hpbGRyZW4g
PSAoCiAJCQkJMkUyRDk5RTUxMEUyQkMxQzAwNDk2MzM3IC8qIERPTUJsb2IuaCAqLywKIAkJCQky
RTJEOTlFNjEwRTJCQzFDMDA0OTYzMzcgLyogRE9NQmxvYi5tbSAqLywKKwkJCQk3Njk0NTY1OTEy
MTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0LmggKi8sCisJCQkJNzY5NDU2NUExMjE0
REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSAqLywKIAkJCQlCQzAwRUZGRTBFMEEx
ODU1MDBGRDA0RTMgLyogRE9NRmlsZS5oICovLAogCQkJCUJDMDBFRkZGMEUwQTE4NTUwMEZEMDRF
MyAvKiBET01GaWxlLm1tICovLAogCQkJCTJFM0JDMTA2MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01G
aWxlRXJyb3IuaCAqLywKQEAgLTE0MTQzLDYgKzE0MTU4LDkgQEAKIAkJCQkyRUQ2MDlCQTExNDVC
MDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuY3BwICovLAogCQkJCTJFRDYwOUJCMTE0NUIwNzEw
MEM4Njg0RSAvKiBET01Gb3JtRGF0YS5oICovLAogCQkJCTJFMDg4OEMzMTE0ODgzQTkwMEFGNDI2
NSAvKiBET01Gb3JtRGF0YS5pZGwgKi8sCisJCQkJNzZGQzJCMDgxMjM3MERBMDAwNkE5OTFBIC8q
IERPTVRva2VuTGlzdC5jcHAgKi8sCisJCQkJNzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERP
TVRva2VuTGlzdC5oICovLAorCQkJCTc2RkMyQjBBMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tl
bkxpc3QuaWRsICovLAogCQkJCUE4MTM2RDM3MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxp
c3QuY3BwICovLAogCQkJCUE4MTM2RDM2MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3Qu
aCAqLywKIAkJCQk5NzIwNUFBRDEyMzkyOENBMDBCMTczODAgLyogRlRQRGlyZWN0b3J5RG9jdW1l
bnQuY3BwICovLApAQCAtMTQ2MzQsNiArMTQ2NTIsOCBAQAogCQkJCUJDNzdEMTY4MEZGMTlGNTUw
MDcwODg3QiAvKiBKU0RhdGFHcmlkQ29sdW1uTGlzdC5oICovLAogCQkJCTJFMDg4OEQyMTE0ODg0
OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLywKIAkJCQkyRTA4ODhEMzExNDg4NDhB
MDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oICovLAorCQkJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3
Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi8sCisJCQkJNzY5NDU2M0IxMjE0RDk3QzAwMDdD
QkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi8sCiAJCQkJNDlFRUNFRjQxMDUwNzBDNDAwMDk5RkFC
IC8qIEpTRmxvYXQzMkFycmF5LmNwcCAqLywKIAkJCQk0OUVFQ0VGNTEwNTA3MEM0MDAwOTlGQUIg
LyogSlNGbG9hdDMyQXJyYXkuaCAqLywKIAkJCQlCQzk3RTQxMDEwOTE1NEZBMDAxMEQzNjEgLyog
SlNIVE1MQWxsQ29sbGVjdGlvbi5jcHAgKi8sCkBAIC0yMDU4Miw2ICsyMDYwMiw5IEBACiAJCQkJ
ODQ3MzBEOTExMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NDczMEQ5MjEyNDhGMEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNvdXJjZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODQ3MzBEOTMxMjQ4RjBCMzAwRDNBOUM5IC8qIFNwb3RMaWdodFNvdXJj
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzY5NDU2M0QxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9N
VG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3Njk0NTY1QjEyMTREQjYzMDAwN0NCQUUg
LyogRE9NRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3NkZDMkIwQzEyMzcwREEw
MDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzMDYxLDYgKzIz
MDg0LDkgQEAKIAkJCQk4NDczMEQ4QTEyNDhGMEIzMDBEM0E5QzkgLyogRkVUaWxlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTg0NzMwRDhDMTI0OEYwQjMwMEQzQTlDOSAvKiBGRVR1cmJ1bGVuY2Uu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODQ3MzBEOTAxMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0
U291cmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc2OTQ1NjNDMTIxNEQ5N0MwMDA3Q0JBRSAv
KiBKU0RPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Njk0NTY1QzEyMTREQjYz
MDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNzZGQzJC
MEIxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA4YTFkZjVjNmNhMmFjZWYw
MzM3MDE0MDU2NjM1M2YwMTFiZTlkNDQ2Li5mNjkxNjIwYThjODJlNGYzODEzZGRkYTdiNzc4N2Jm
NWQyMzdjODc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3Rv
bS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwCkBAIC02
MCw2ICs2MCw3IEBAIHZvaWQgSlNFbGVtZW50OjptYXJrQ2hpbGRyZW4oTWFya1N0YWNrJiBtYXJr
U3RhY2spCiAgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gKkhlYXA6OmhlYXAodGhpcykt
Pmdsb2JhbERhdGEoKTsKIAogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywgZ2xv
YmFsRGF0YSwgZWxlbWVudC0+YXR0cmlidXRlTWFwKCkpOworICAgIG1hcmtET01PYmplY3RXcmFw
cGVyKG1hcmtTdGFjaywgZ2xvYmFsRGF0YSwgZWxlbWVudC0+b3B0aW9uYWxDbGFzc0xpc3QoKSk7
CiAgICAgbWFya0RPTU9iamVjdFdyYXBwZXIobWFya1N0YWNrLCBnbG9iYWxEYXRhLCBlbGVtZW50
LT5vcHRpb25hbERhdGFzZXQoKSk7CiAKICAgICBpZiAoZWxlbWVudC0+aXNTdHlsZWRFbGVtZW50
KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAx
YTExNGE0Mjk3ZTE0OTI5MzNiYWIyODNlMzY0ZjVjYTE0NzkyYmNmLi44MDM1NDJlNjlkODJkY2Jk
ZjUyNzhjZGU3MmQwNmI1NTU0MmI3MTE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KQEAgLTI0MCw3ICsyNDAsNyBAQCBzdWIgSW5kZXhHZXR0ZXJSZXR1
cm5zU3RyaW5ncwogewogICAgIG15ICR0eXBlID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gMSBpZiAk
dHlwZSBlcSAiQ1NTU3R5bGVEZWNsYXJhdGlvbiIgb3IgJHR5cGUgZXEgIk1lZGlhTGlzdCIgb3Ig
JHR5cGUgZXEgIkNTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiRE9NU3RyaW5n
TGlzdCI7CisgICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVjbGFyYXRpb24iIG9y
ICR0eXBlIGVxICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJsZXNEZWNsYXJhdGlv
biIgb3IgJHR5cGUgZXEgIkRPTVN0cmluZ0xpc3QiIG9yICR0eXBlIGVxICJET01Ub2tlbkxpc3Qi
OwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JWOC5wbQppbmRleCBmNzRmMmIxZDg4ZjU4OTk1Yzg3MDI4NTVhZDJkNTZhMmYyZGI0MzVh
Li4zMzUzZjBmNWU2NzQyNjE1Y2MzZTBhMzllY2ZiNDJlMzM3MWU3MzU0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTI1MTAsNiArMjUxMCw3IEBA
IHN1YiBIYXNDdXN0b21Ub1Y4SW1wbGVtZW50YXRpb24gewogICAgIHJldHVybiAxIGlmICRpbnRl
cmZhY2VOYW1lIGVxICJDYW52YXNQaXhlbEFycmF5IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJm
YWNlTmFtZSBlcSAiRE9NU3RyaW5nTWFwIjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFt
ZSBlcSAiRE9NV2luZG93IjsKKyAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRE9N
VG9rZW5MaXN0IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRWxlbWVudCI7
CiAgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxEb2N1bWVudCI7CiAgICAg
cmV0dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxFbGVtZW50IjsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xNzFmZjVjMjlkZTA4NjZjZmZlOTRkMjBmOTQ4ODc3MTgxOWVkYjFkCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20u
Y3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhET01U
b2tlbkxpc3QuaCIKKworI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorI2luY2x1ZGUgIlY4Qmlu
ZGluZy5oIgorI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2luY2x1ZGUgIlY4RWxlbWVudC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERP
TVRva2VuTGlzdCogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2ODo6
TnVsbCgpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NVG9rZW5M
aXN0Ojp3cmFwKGltcGwpOworICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUg
ZWxlbWVudCB0byB0aGUgRE9NVG9rZW5MaXN0LgorICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBs
LT5lbGVtZW50KCk7CisgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7Cisg
ICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQp
OworICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5J
c09iamVjdCgpKQorICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXRIaWRkZW5SZWZlcmVuY2Uo
ZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCksIHdyYXBwZXIpOworICAgIH0KKyAgICByZXR1
cm4gd3JhcHBlcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA1YzRl
ODJiMmE1Zjg0YjZiZmZjNzQ3YTcwODJmODZmOGNlYWM3ZjQ4Li5jMDhiMGQxY2ZkYjI0OGM2NGM0
OGE0MWYxYjJlNWJiYjUzN2EyODNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1
ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0LmgiCiAjaW5jbHVk
ZSAiQ2xpZW50UmVjdExpc3QuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRl
ICJEYXRhc2V0RE9NU3RyaW5nTWFwLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJEb2N1bWVudEZyYWdtZW50LmgiCkBAIC0xNTczLDYgKzE1NzQsMzAgQEAgYm9vbCBFbGVtZW50
Ojp3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgRXhjZXB0aW9u
Q29kZSYgZWMpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitET01Ub2tlbkxpc3QqIEVsZW1lbnQ6
OmNsYXNzTGlzdCgpCit7CisgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0gZW5zdXJlUmFyZURh
dGEoKTsKKyAgICBpZiAoIWRhdGEtPm1fY2xhc3NMaXN0KQorICAgICAgICBkYXRhLT5tX2NsYXNz
TGlzdCA9IERPTVRva2VuTGlzdDo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVybiBkYXRhLT5tX2Ns
YXNzTGlzdC5nZXQoKTsKK30KKworRE9NVG9rZW5MaXN0KiBFbGVtZW50OjpvcHRpb25hbENsYXNz
TGlzdCgpIGNvbnN0Cit7CisgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gcmFyZURhdGEoKS0+bV9jbGFzc0xpc3QuZ2V0KCk7Cit9CisKK3ZvaWQg
RWxlbWVudDo6cmVzZXRDbGFzc0xpc3QoY29uc3QgU3RyaW5nJiBuZXdDbGFzc05hbWUpCit7Cisg
ICAgaWYgKGhhc1JhcmVEYXRhKCkpIHsKKyAgICAgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0g
cmFyZURhdGEoKTsKKyAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS0+bV9jbGFzc0xpc3QpCisgICAg
ICAgICAgICBkYXRhLT5tX2NsYXNzTGlzdC0+cmVzZXQobmV3Q2xhc3NOYW1lKTsKKyAgICB9Cit9
CisKIERPTVN0cmluZ01hcCogRWxlbWVudDo6ZGF0YXNldCgpCiB7CiAgICAgRWxlbWVudFJhcmVE
YXRhKiBkYXRhID0gZW5zdXJlUmFyZURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBkOWE1MDg1NDhlMDY3MDhhYjkw
YjE2YjlkZGM3MTFlZjM0ODY1NTE0Li4xMWUyMTY5YmNlNDBmZTkwZGUxOTRhYzRhNDU0OGM4NmNh
NTM4MjM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvV2ViQ29yZS9k
b20vRWxlbWVudC5oCkBAIC0zNiw2ICszNiw3IEBAIGNsYXNzIEF0dHJpYnV0ZTsKIGNsYXNzIENs
aWVudFJlY3Q7CiBjbGFzcyBDbGllbnRSZWN0TGlzdDsKIGNsYXNzIERPTVN0cmluZ01hcDsKK2Ns
YXNzIERPTVRva2VuTGlzdDsKIGNsYXNzIEVsZW1lbnRSYXJlRGF0YTsKIGNsYXNzIEludFNpemU7
CiAKQEAgLTI2OSw2ICsyNzAsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIHdlYmtpdE1hdGNoZXNT
ZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9ycywgRXhjZXB0aW9uQ29kZSYpOwogCisgICAg
RE9NVG9rZW5MaXN0KiBjbGFzc0xpc3QoKTsKKyAgICBET01Ub2tlbkxpc3QqIG9wdGlvbmFsQ2xh
c3NMaXN0KCkgY29uc3Q7CisKICAgICBET01TdHJpbmdNYXAqIGRhdGFzZXQoKTsKICAgICBET01T
dHJpbmdNYXAqIG9wdGlvbmFsRGF0YXNldCgpIGNvbnN0OwogCkBAIC0zMjQsNiArMzI4LDggQEAg
cHJvdGVjdGVkOgogICAgIHZvaWQgcmVjYWxjU3R5bGVJZk5lZWRlZEFmdGVyQXR0cmlidXRlQ2hh
bmdlZChBdHRyaWJ1dGUqKTsKICAgICB2b2lkIHVwZGF0ZUFmdGVyQXR0cmlidXRlQ2hhbmdlZChB
dHRyaWJ1dGUqKTsKIAorICAgIHZvaWQgcmVzZXRDbGFzc0xpc3QoY29uc3QgU3RyaW5nJiBuZXdD
bGFzc05hbWUpOworCiBwcml2YXRlOgogICAgIHZvaWQgc2Nyb2xsQnlVbml0cyhpbnQgdW5pdHMs
IFNjcm9sbEdyYW51bGFyaXR5KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudFJh
cmVEYXRhLmggYi9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCA4ZTMzOGFiYzY4
MGYyNDRkMmY0YWZiNmFlZWZiNTYzMzUyYWEzZmYyLi5mMWU2MzM0MThjYzI0NjY5NTNhODkyOWE4
MGMzY2NjYzU2ZWJjZDhhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEu
aAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMjIsNiArMjIsNyBAQAog
I2lmbmRlZiBFbGVtZW50UmFyZURhdGFfaAogI2RlZmluZSBFbGVtZW50UmFyZURhdGFfaAogCisj
aW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCiAjaW5jbHVkZSAiRGF0YXNldERPTVN0cmluZ01hcC5o
IgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJOb2RlUmFyZURhdGEuaCIKQEAgLTQy
LDYgKzQzLDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9jb21wdXRlZFN0
eWxlOwogCiAgICAgT3duUHRyPERhdGFzZXRET01TdHJpbmdNYXA+IG1fZGF0YXNldERPTVN0cmlu
Z01hcDsKKyAgICBPd25QdHI8RE9NVG9rZW5MaXN0PiBtX2NsYXNzTGlzdDsKIH07CiAKIGlubGlu
ZSBJbnRTaXplIGRlZmF1bHRNaW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5j
cHAKaW5kZXggYTE1OGUyZWFlNWJiYjY0ZGM2ZWE4MTJlODU2ODMyZWFlMDE0NjRhMS4uNjU1MTRm
Yjk1YWI1MjA3ZmRlMjI0Y2M5ZDlkM2QwYTllMWUzNzE0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vU3R5bGVkRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAK
QEAgLTIxNyw4ICsyMTcsMTAgQEAgdm9pZCBTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdDbGFzc1N0cmluZykKICAgICB9CiAgICAgYm9v
bCBoYXNDbGFzcyA9IGkgPCBsZW5ndGg7CiAgICAgc2V0SGFzQ2xhc3MoaGFzQ2xhc3MpOwotICAg
IGlmIChoYXNDbGFzcykKKyAgICBpZiAoaGFzQ2xhc3MpIHsKICAgICAgICAgYXR0cmlidXRlcygp
LT5zZXRDbGFzcyhuZXdDbGFzc1N0cmluZyk7CisgICAgICAgIHJlc2V0Q2xhc3NMaXN0KG5ld0Ns
YXNzU3RyaW5nKTsKKyAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIGlmIChhdHRyaWJ1dGVNYXAo
KSkgICAgCiAgICAgICAgICAgICBhdHRyaWJ1dGVNYXAoKS0+Y2xlYXJDbGFzcygpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxl
bWVudC5oCmluZGV4IDgwNDBkYmYxZTM2OGFjYjdmNGVhOGU4MzU3YTFiMTVhZjgwNDJmMDMuLjRi
NjIzODgxNDQ0ZTE4NTQwNzYzNjNjMGNjNjkyMWI5ODczZDMwNjEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL1N0eWxlZEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgK
QEAgLTMyLDYgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXR0cmlidXRl
OworY2xhc3MgQ2xhc3NMaXN0OwogY2xhc3MgQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb247
CiAKIGNsYXNzIFN0eWxlZEVsZW1lbnQgOiBwdWJsaWMgRWxlbWVudCB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmNwcCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3Qu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY4NDFiNzA4YjdiNmRlOWFkZjA4YzY5Y2M0NTQ4NWYyMzQwODI0YTUK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmNwcApAQCAtMCww
ICsxLDIwMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCwgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJET01Ub2tlbkxpc3QuaCIKKworI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworbmFtZXNwYWNlIHsKKworYm9v
bCB2YWxpZGF0ZVRva2VuKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIGlmICh0b2tlbi5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhf
RVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgY29uc3QgdW5zaWduZWQg
bGVuZ3RoID0gdG9rZW4ubGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxl
bmd0aDsgKytpKSB7CisgICAgICAgIGlmIChpc0NsYXNzV2hpdGVzcGFjZSh0b2tlbltpXSkpIHsK
KyAgICAgICAgICAgIGVjID0gSU5WQUxJRF9DSEFSQUNURVJfRVJSOworICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlCisKK0RPTVRva2VuTGlzdDo6RE9NVG9rZW5MaXN0KEVsZW1lbnQqIGVsZW1l
bnQpCisgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkKK3sKKyAgICBpZiAobV9lbGVtZW50LT5kb2N1
bWVudCgpLT5pblF1aXJrc01vZGUoKSkKKyAgICAgICAgbV9jbGFzc05hbWVzID0gbmV3IFNwYWNl
U3BsaXRTdHJpbmcobV9lbGVtZW50LT5nZXRBdHRyaWJ1dGUoY2xhc3NBdHRyKSwgZmFsc2UpOwor
fQorCit2b2lkIERPTVRva2VuTGlzdDo6cmVmKCkKK3sKKyAgICBtX2VsZW1lbnQtPnJlZigpOwor
fQorCit2b2lkIERPTVRva2VuTGlzdDo6ZGVyZWYoKQoreworICAgIG1fZWxlbWVudC0+ZGVyZWYo
KTsKK30KKwordW5zaWduZWQgRE9NVG9rZW5MaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAgIHJl
dHVybiBjbGFzc05hbWVzKCktPnNpemUoKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nIERPTVRv
a2VuTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0g
bGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBBdG9taWNTdHJpbmcoKTsKKyAgICByZXR1cm4gKCpj
bGFzc05hbWVzKCkpW2luZGV4XTsKK30KKworYm9vbCBET01Ub2tlbkxpc3Q6OmNvbnRhaW5zKGNv
bnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAg
IGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwgZWMpKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgIHJldHVybiBjb250YWluc0ludGVybmFsKHRva2VuKTsKK30KKworYm9vbCBET01Ub2tlbkxp
c3Q6OmNvbnRhaW5zSW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbikgY29uc3QKK3sK
KyAgICByZXR1cm4gY2xhc3NOYW1lcygpLT5jb250YWlucyh0b2tlbik7Cit9CisKK3ZvaWQgRE9N
VG9rZW5MaXN0OjphZGQoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYg
ZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCAgZWMpKQorICAgICAgICByZXR1
cm47CisgICAgYWRkSW50ZXJuYWwodG9rZW4pOworfQorCit2b2lkIERPTVRva2VuTGlzdDo6YWRk
SW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbikgY29uc3QKK3sKKyAgICBjb25zdCBB
dG9taWNTdHJpbmcgb2xkQ2xhc3NOYW1lKG1fZWxlbWVudC0+Z2V0QXR0cmlidXRlKGNsYXNzQXR0
cikpOworICAgIGlmIChvbGRDbGFzc05hbWUuaXNFbXB0eSgpKQorICAgICAgICBtX2VsZW1lbnQt
PnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIHRva2VuKTsKKyAgICBlbHNlIGlmICghY29udGFpbnNJ
bnRlcm5hbCh0b2tlbikpCisgICAgICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKGNsYXNzQXR0
ciwgb2xkQ2xhc3NOYW1lICsgIiAiICsgdG9rZW4pOworfQorCit2b2lkIERPTVRva2VuTGlzdDo6
cmVtb3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQorewor
ICAgIGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwgIGVjKSkKKyAgICAgICAgcmV0dXJuOworICAg
IHJlbW92ZUludGVybmFsKHRva2VuKTsKK30KKwordm9pZCBET01Ub2tlbkxpc3Q6OnJlbW92ZUlu
dGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4pIGNvbnN0Cit7CisgICAgLy8gQ2hlY2sg
dXNpbmcgY29udGFpbnMgZmlyc3Qgc2luY2UgaXQgdXNlcyBBdG9taWNTdHJpbmcgY29tcGFyaXNv
bnMgaW5zdGVhZAorICAgIC8vIG9mIGNoYXJhY3RlciBieSBjaGFyYWN0ZXIgdGVzdGluZy4KKyAg
ICBpZiAoIWNvbnRhaW5zSW50ZXJuYWwodG9rZW4pKQorICAgICAgICByZXR1cm47CisKKyAgICAv
LyBBbGdvcml0aG0gZGVmaW5lZCBhdCBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFw
cHMvY3VycmVudC13b3JrL211bHRpcGFnZS9jb21tb24tbWljcm9zeW50YXhlcy5odG1sI3JlbW92
ZS1hLXRva2VuLWZyb20tYS1zdHJpbmcKKworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaW5wdXQg
PSBtX2VsZW1lbnQtPmdldEF0dHJpYnV0ZShjbGFzc0F0dHIpOworICAgIGNvbnN0IHVuc2lnbmVk
IGlucHV0TGVuZ3RoID0gaW5wdXQubGVuZ3RoKCk7CisgICAgU3RyaW5nIG91dHB1dDsgLy8gMwor
ICAgIHVuc2lnbmVkIHBvc2l0aW9uID0gMDsgLy8gNAorCisgICAgLy8gU3RlcCA1CisgICAgd2hp
bGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGgpIHsKKyAgICAgICAgaWYgKGlzQ2xhc3NXaGl0ZXNw
YWNlKGlucHV0W3Bvc2l0aW9uXSkpIHsgLy8gNgorICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChp
bnB1dFtwb3NpdGlvbisrXSk7IC8vIDYuMSwgNi4yCisgICAgICAgICAgICBjb250aW51ZTsgLy8g
Ni4zCisgICAgICAgIH0KKworICAgICAgICAvLyBTdGVwIDcKKyAgICAgICAgU3RyaW5nIHM7Cisg
ICAgICAgIHdoaWxlIChwb3NpdGlvbiA8IGlucHV0TGVuZ3RoICYmICFpc0NsYXNzV2hpdGVzcGFj
ZShpbnB1dFtwb3NpdGlvbl0pKQorICAgICAgICAgICAgcy5hcHBlbmQoaW5wdXRbcG9zaXRpb24r
K10pOworCisgICAgICAgIC8vIFN0ZXAgOAorICAgICAgICBpZiAocyA9PSB0b2tlbikgeworICAg
ICAgICAgICAgLy8gU3RlcCA4LjEKKyAgICAgICAgICAgIHdoaWxlIChwb3NpdGlvbiA8IGlucHV0
TGVuZ3RoICYmIGlzQ2xhc3NXaGl0ZXNwYWNlKGlucHV0W3Bvc2l0aW9uXSkpCisgICAgICAgICAg
ICAgICAgKytwb3NpdGlvbjsKKworICAgICAgICAgICAgLy8gU3RlcCA4LjIKKyAgICAgICAgICAg
IHVuc2lnbmVkIGogPSBvdXRwdXQubGVuZ3RoKCk7CisgICAgICAgICAgICB3aGlsZSAoaiA+IDAg
JiYgaXNDbGFzc1doaXRlc3BhY2Uob3V0cHV0W2ogLSAxXSkpCisgICAgICAgICAgICAgICAgLS1q
OworICAgICAgICAgICAgb3V0cHV0LnRydW5jYXRlKGopOworCisgICAgICAgICAgICAvLyBTdGVw
IDguMworICAgICAgICAgICAgaWYgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGggJiYgIW91dHB1dC5p
c0VtcHR5KCkpCisgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgnICcpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIG91dHB1dC5hcHBlbmQocyk7IC8vIFN0ZXAgOQorICAgIH0KKwor
ICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgb3V0cHV0KTsKK30KKworYm9v
bCBET01Ub2tlbkxpc3Q6OnRvZ2dsZShjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRp
b25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sICBlYykpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChjb250YWluc0ludGVybmFsKHRva2VuKSkgewor
ICAgICAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisgICAgYWRkSW50ZXJuYWwodG9rZW4pOworICAgIHJldHVybiB0cnVlOworfQorCitTdHJp
bmcgRE9NVG9rZW5MaXN0Ojp0b1N0cmluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZWxlbWVu
dC0+Z2V0QXR0cmlidXRlKGNsYXNzQXR0cik7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0OjpyZXNl
dChjb25zdCBTdHJpbmcmIG5ld0NsYXNzTmFtZSkKK3sKKyAgICBpZiAobV9lbGVtZW50LT5kb2N1
bWVudCgpLT5pblF1aXJrc01vZGUoKSkKKyAgICAgICAgbV9jbGFzc05hbWVzLT5zZXQobmV3Q2xh
c3NOYW1lLCBmYWxzZSk7Cit9CisKK2NvbnN0IFNwYWNlU3BsaXRTdHJpbmcqIERPTVRva2VuTGlz
dDo6Y2xhc3NOYW1lcygpIGNvbnN0Cit7CisgICAgaWYgKG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+
aW5RdWlya3NNb2RlKCkpCisgICAgICAgIHJldHVybiBtX2NsYXNzTmFtZXMuZ2V0KCk7CisgICAg
cmV0dXJuICZtX2VsZW1lbnQtPmF0dHJpYnV0ZU1hcCgpLT5jbGFzc05hbWVzKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxp
c3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTMzODg2MTUw
NDhiZjVjNWEwMGY3ZmM0NmIzMzU1ZThkOGU1ZTNiCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29y
ZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICog
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIERPTVRva2VuTGlzdF9oCisjZGVmaW5lIERPTVRva2VuTGlzdF9oCisKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgorI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVsZW1l
bnQ7CisKK2NsYXNzIERPTVRva2VuTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NPd25QdHI8RE9NVG9rZW5MaXN0PiBjcmVhdGUoRWxlbWVudCogZWxl
bWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgRE9NVG9rZW5MaXN0KGVsZW1lbnQpOwor
ICAgIH0KKworICAgIH5ET01Ub2tlbkxpc3QoKSB7IH0KKworICAgIHZvaWQgcmVmKCk7CisgICAg
dm9pZCBkZXJlZigpOworCisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7CisgICAgY29uc3Qg
QXRvbWljU3RyaW5nIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgIGJvb2wgY29udGFp
bnMoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHZvaWQg
YWRkKGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHJlbW92
ZShjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgYm9vbCB0b2dnbGUo
Y29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyB0b1N0cmlu
ZygpIGNvbnN0OworCisgICAgdm9pZCByZXNldChjb25zdCBTdHJpbmcmKTsKKworICAgIEVsZW1l
bnQqIGVsZW1lbnQoKSB7IHJldHVybiBtX2VsZW1lbnQ7IH0KKworcHJpdmF0ZToKKyAgICBET01U
b2tlbkxpc3QoRWxlbWVudCogZWxlbWVudCk7CisKKyAgICB2b2lkIGFkZEludGVybmFsKGNvbnN0
IEF0b21pY1N0cmluZyYpIGNvbnN0OworICAgIGJvb2wgY29udGFpbnNJbnRlcm5hbChjb25zdCBB
dG9taWNTdHJpbmcmKSBjb25zdDsKKyAgICB2b2lkIHJlbW92ZUludGVybmFsKGNvbnN0IEF0b21p
Y1N0cmluZyYpIGNvbnN0OworCisgICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyogY2xhc3NOYW1l
cygpIGNvbnN0OworCisgICAgRWxlbWVudCogbV9lbGVtZW50OworICAgIE93blB0cjxTcGFjZVNw
bGl0U3RyaW5nPiBtX2NsYXNzTmFtZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBET01Ub2tlbkxpc3RfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRv
a2VuTGlzdC5pZGwgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
NDY5MDBlYTA0ZmVkYzc5Y2M2OTNlZjZmN2Y2OGVlNGJmYmE2MWRlCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIEdlbmVy
YXRlQ29uc3RydWN0b3IsCisgICAgICAgIEhhc0luZGV4R2V0dGVyCisgICAgXSBET01Ub2tlbkxp
c3QgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Cisg
ICAgICAgIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyBpdGVtKGluIHVuc2ln
bmVkIGxvbmcgaW5kZXgpOworICAgICAgICBib29sZWFuIGNvbnRhaW5zKGluIERPTVN0cmluZyB0
b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgYWRkKGluIERPTVN0cmlu
ZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgcmVtb3ZlKGluIERP
TVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGJvb2xlYW4gdG9n
Z2xlKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisKKyNpZiBkZWZp
bmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKKyAgICAgICAg
W0RvbnRFbnVtXSBET01TdHJpbmcgdG9TdHJpbmcoKTsKKyNlbmRpZgorICAgIH07CisKK30KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuaWRsCmluZGV4IDg2M2YyOGM4NjU0N2ViOTdjYzQ4Y2M2MjFkOWExYjY2YWM5MjY3
YmIuLmIxMjdjNTE3Mjc2NWIxOGM4MTgwMWJkY2U2ZjVhNzBhMDJlM2RhOGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmlkbApAQCAtMzEsNiArMzEsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAg
IGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGxhbmc7CiAgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGRpcjsKICAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIFtSZWZsZWN0PWNsYXNzXSBET01TdHJpbmcgY2xhc3NOYW1lOworICAgICAgICAgICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IGNsYXNzTGlzdDsKIAogICAgICAgICAg
ICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAgICAgdGFiSW5kZXg7CiAgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgICBkcmFnZ2FibGU7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CmluZGV4IGY1YmEyNWMzNmE5YWQyYzdmZDE2NTlhNWI1ZDNkMDZkODdiYTVjNDYuLjA4NjkxZDc0
YzA2MDk1ZTQ4YTY4Yjc1NjU2NmU1YmY4NWVmOWFkMzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC00MCw2
ICs0MCw3IEBACiAjaW5jbHVkZSAiRE9NU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiRE9NU3RyaW5n
TGlzdC5oIgogI2luY2x1ZGUgIkRPTVRpbWVyLmgiCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0Lmgi
CiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNrLmgiCiAj
aW5jbHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA3MmNh
MzZhOTdmNTM5OGVhMGVhY2ZiNDFmMTkwZDAwMWFhMjRjZmE0Li44Y2FjODc5OTdhYTk1MzI2NjBl
NWJlYzIzZTk5Y2IxOTFlYmQ5NGU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzc5LDYgKzM3OSw3IEBA
IG1vZHVsZSB3aW5kb3cgewogLy8gICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvbkxp
c3RDb25zdHJ1Y3RvciBET01JbXBsZW1lbnRhdGlvbkxpc3Q7CiAvLyAgICAgICAgYXR0cmlidXRl
IERPTUltcGxlbWVudGF0aW9uU291cmNlQ29uc3RydWN0b3IgRE9NSW1wbGVtZW50YXRpb25Tb3Vy
Y2U7CiAgICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvbkNvbnN0cnVjdG9yIERPTUlt
cGxlbWVudGF0aW9uOworICAgICAgICBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3Ig
RE9NVG9rZW5MaXN0OwogICAgICAgICBhdHRyaWJ1dGUgRG9jdW1lbnRGcmFnbWVudENvbnN0cnVj
dG9yIERvY3VtZW50RnJhZ21lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBEb2N1bWVudENvbnN0cnVj
dG9yIERvY3VtZW50OwogICAgICAgICBhdHRyaWJ1dGUgTm9kZUNvbnN0cnVjdG9yIE5vZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68637</attachid>
            <date>2010-09-23 18:30:47 -0700</date>
            <delta_ts>2010-09-24 09:55:31 -0700</delta_ts>
            <desc>Took care of Darin&apos;s comments and added a perf test for remove</desc>
            <filename>bug-20709-20100923183046.patch</filename>
            <type>text/plain</type>
            <size>72148</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZmExMmQzMmU5Mjk4N2NhMzU2NmVlZTE0ZWU1MGYxYTNmY2MwNTg1Li5kOTE1YTkw
ZGJhYWI0NTY2NDU5MjViZmM3MTUxY2NjYzQzNWJlYTE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTAtMDktMjMgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWly
a3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC1nYy5qczogQWRkZWQuCisgICAgICAgIChnYyk6CisgICAgICAgICogZmFz
dC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanM6IEFkZGVkLgorICAg
ICAgICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBlcmYvY2xhc3MtbGlz
dC1yZW1vdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmL2NsYXNzLWxpc3Qt
cmVtb3ZlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTIzICBBbmRyZXcgV2lsc29uICA8YXR3aWxz
b25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2ODE5
Ny4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxp
c3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3Mt
bGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTJlODk1MjBlZTJkZDQ3NDExMDQxYmQxYjAy
ZTI3MjdiZGIwNTBhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxFbGVtZW50L2NsYXNzLWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjQgQEAKK1Rlc3Rz
IHRoZSBjbGFzc0xpc3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGllcy4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90
ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LworUEFTUyBTdHJpbmcoZWxlbWVu
dC5jbGFzc0xpc3QpIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMAor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBl
bGVtZW50LmNsYXNzTmFtZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngiCitQ
QVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBp
cyAieSB4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIgorUEFTUyBlbGVtZW50LmNsYXNz
TmFtZSBpcyAiIgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIHkgeSAiCitQQVNTIGVsZW1l
bnQuY2xhc3NOYW1lIGlzICJ5IgorVGVzdCBpbnZhbGlkIHRva2VucworUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5jb250YWlucygnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29k
ZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygneCB5JykgdGhyZXcgZXhwZWN0
ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgn
JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC5hZGQoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNv
ZGUgNQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJycpIHRocmV3IGV4cGVjdGVkIERP
TUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4
IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QudG9nZ2xlKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBj
b2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgneCB5JykgdGhyZXcgZXhwZWN0
ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitJbmRleGluZworUEFTUyBlbGVtZW50LmNsYXNz
TGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyAieCIKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0
ZW0oMSkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzFdIGlzICJ5IgorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC5pdGVtKDEpIGlzICJ5IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBp
cyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCkgaXMgbnVsbAorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdFs0XSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oNCkg
aXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFstMV0gaXMgdW5kZWZpbmVkLgorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdC5pdGVtKC0xKSBpcyBudWxsCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9r
ZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5z
KCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIGZh
bHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5jb250YWlucygnWCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFp
bnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyAiWCIKK1Rlc3Rp
bmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5n
dGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQ
QVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBl
b2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVu
dC5jbGFzc0xpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29uc3RydWN0
b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNs
YXNzTGlzdCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQv
Y2xhc3MtbGlzdC1nYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxl
bWVudC9jbGFzcy1saXN0LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMWMyNWZiNTFhZGRj
NGQwMDc3MjYzZWZmZjQ4ZWRlNzE0OTFjMjM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorVGhpcyB0ZXN0cyB0aGF0IHByb3BlcnRpZXMgb24gdGhlIGNsYXNzTGlzdCBw
ZXJzaXN0cyBHQy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZC5jbGFz
c0xpc3QubGlmZSBpcyA0MgorUEFTUyBkLmNsYXNzTGlzdC5saWZlIGlzIDQyCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRjNWVmYWQ3ZTk5NTNlZjM1OGFlNGE4YTM1MDM3NTNhZGNjYTU3OWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWwK
QEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NsYXNzLWxpc3Qt
Z2MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZTg5NTIwZWUyZGQ0NzQxMTA0MWJkMWIwMmUyNzI3YmRi
MDUwYWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVu
dC9jbGFzcy1saXN0LXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2NCBAQAorVGVzdHMg
dGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rl
c3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0cmluZyhlbGVtZW50
LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAwCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0
Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVs
ZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCIKK1BB
U1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggIHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlz
ICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NO
YW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVu
dC5jbGFzc05hbWUgaXMgInkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2Rl
IDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHknKSB0aHJldyBleHBlY3Rl
ZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCcn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29k
ZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhyZXcgZXhwZWN0ZWQgRE9N
RXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3gg
eScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNv
ZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKSB0aHJldyBleHBlY3Rl
ZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApIGlzICJ4IgorUEFT
UyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRl
bSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgInkiCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlz
IG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBudWxsCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSg0KSBp
cyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRlZmluZWQuCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lml0ZW0oLTEpIGlzIG51bGwKK1Rlc3QgY2FzZSBzaW5jZSBET01Ub2tl
bkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMo
J3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdYJykgaXMgZmFs
c2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlu
cygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJYIgorVGVzdGlu
ZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5kIHR5cGUKK1BB
U1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQQVNTIHR5cGVv
ZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5cGVvZiBlbGVtZW50
LmNsYXNzTGlzdCBpcyAib2JqZWN0IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb25zdHJ1Y3Rv
ciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QgPT09IGVsZW1lbnQuY2xh
c3NMaXN0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9j
bGFzcy1saXN0LXF1aXJrcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQv
Y2xhc3MtbGlzdC1xdWlya3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDg3NmExNmY4MjIyOWFhMTBhYzJj
M2I5ZTA1Nzg4MTcyYmM5MzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbApAQCAtMCwwICsxLDEzIEBACis8
IS0tIFF1aXJrcyBNb2RlIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVt
ZW50L2NsYXNzLWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWRmMjQzY2UzMjlmOTQ0MDNiOGVmNjY4
ODYzNmNhNzQ2ZWFmMjEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3Njcmlw
dC10ZXN0cy9jbGFzcy1saXN0LWdjLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1l
bnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QtZ2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUzMTYxYWJmYjVj
MzNmM2VlNjE1YWFiMjJiM2Y5ZDk2N2E1Zjg5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LWdjLmpzCkBA
IC0wLDAgKzEsMzAgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBv
biB0aGUgY2xhc3NMaXN0IHBlcnNpc3RzIEdDLicpOworCitmdW5jdGlvbiBnYygpCit7CisgICAg
aWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBHQ0NvbnRyb2xsZXIuY29s
bGVjdCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7CisgICAgICAg
IHZhciBzID0gbmV3IFN0cmluZzsKKyAgICB9Cit9CisKK3ZhciBkID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CisKKy8vIEVuc3VyZSB0aGUgY2xhc3NMaXN0IGlzIGNyZWF0ZWQuCit2
YXIgY2xhc3NMaXN0ID0gZC5jbGFzc0xpc3Q7CisKKy8vIFNldCBhIGN1c3RvbSBwcm9wZXJ0eS4K
K2QuY2xhc3NMaXN0LmxpZmUgPSA0MjsKK3Nob3VsZEV2YWx1YXRlVG8oJ2QuY2xhc3NMaXN0Lmxp
ZmUnLCA0Mik7CisKKy8vIE51bGwgb3V0IHJlZmVyZW5jZSB0byB0aGUgZGF0YXNldC4KK2NsYXNz
TGlzdCA9IG51bGw7CisKK2djKCk7CisKKy8vIFRlc3QgdGhhdCB0aGUgY2xhc3NMaXN0IHdyYXBw
ZXIgcGVyc2lzdGVkIHRoZSBHQyBhbmQgc3RpbGwgaGFzIHRoZSBjdXN0b20gcHJvcGVydHkuCitz
aG91bGRFdmFsdWF0ZVRvKCdkLmNsYXNzTGlzdC5saWZlJywgNDIpOworCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxF
bGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU4MDBk
MjhkZWI2NmVjYmRiNjYzMTE3NjAxNWFlNGQwOThmMDFiMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0Lmpz
CkBAIC0wLDAgKzEsMjI0IEBACitkZXNjcmlwdGlvbignVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRy
aWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLicpOworCit2YXIgZWxlbWVudDsKKworZnVuY3Rpb24g
Y3JlYXRlRWxlbWVudChjbGFzc05hbWUpCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3AnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKK30KKwor
ZGVidWcoJ1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0LycpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rl
c3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qvc2V0dGluZy8wMDEuaHRtCisvLyBG
aXJlZm94IHRocm93cyBoZXJlIGJ1dCBXZWJLaXQgZG9lcyBub3QgdGhyb3cgb24gc2V0dGluZyBy
ZWFkb25seSBpZGwKKy8vIGF0dHJpYnV0ZXMuCitjcmVhdGVFbGVtZW50KCd4Jyk7Cit0cnkgewor
ICAgIGVsZW1lbnQuY2xhc3NMaXN0ID0gJ3knOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
U3RyaW5nKGVsZW1lbnQuY2xhc3NMaXN0KScsICd4Jyk7Cit9IGNhdGNoIChleCkgeworICAgIHRl
c3RQYXNzZWQoJ1Rocm93aW5nIG9uIHNldCBpcyBhY2NlcHRhYmxlJyk7Cit9CisKKy8vIGh0dHA6
Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9n
ZXR0aW5nLzAwMS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkRXZhbHVhdGVUbygnZWxl
bWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMCk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcv
dGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMi5odG0KK2Ny
ZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxl
bmd0aCcsIDEpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVm
bGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDMuaHRtCitjcmVhdGVFbGVtZW50KCd4IHgn
KTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCisv
LyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tl
bkxpc3QvZ2V0dGluZy8wMDQuaHRtCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZEV2YWx1
YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCisvLyBodHRwOi8vc2ltb24u
aHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8w
MDUuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4Jyk7CisKKy8vIGh0
dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlz
dC9nZXR0aW5nLzAwNi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK2VsZW1lbnQuY2xhc3NMaXN0
LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4
Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5n
L0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNy5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggIHgnKTsKK2Vs
ZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LmNsYXNzTmFtZScsICd4ICB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwOC5odG0KK2NyZWF0ZUVs
ZW1lbnQoJ3knKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd5IHgnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0
bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA5
Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3gnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAnJyk7CisKKy8vIGh0
dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlz
dC9nZXR0aW5nLzAxMC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK2VsZW1lbnQuY2xhc3NMaXN0
LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScs
ICcnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3Rp
bmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDExLmh0bQorY3JlYXRlRWxlbWVudCgnIHkgeCAgeSAn
KTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdlbGVtZW50LmNsYXNzTmFtZScsICcgeSB5ICcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUu
b3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMTIuaHRt
CitjcmVhdGVFbGVtZW50KCcgeCB5ICB4ICcpOworZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3knKTsKKwor
CitkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2VucycpOworCisvLyBUZXN0aW5nIGV4Y2VwdGlvbiBk
dWUgdG8gaW52YWxpZCB0b2tlbgorCisvLyBzaG91bGRUaHJvdyBmcm9tIGpzLXRlc3QtcHJlLmpz
IGlzIG5vdCBzdWZmaWNpZW50LgorZnVuY3Rpb24gc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZiwg
ZWMpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigpOworICAgICAgICB0ZXN0RmFpbGVkKCdFeHBl
Y3RlZCBhbiBleGNlcHRpb24nKTsKKyAgICB9IGNhdGNoIChleCkgeworICAgICAgICBpZiAoIShl
eCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoJ0V4
Y2VwdGlvbiBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgRE9NRXhjZXB0aW9uLCBmb3VuZDogJyArCisg
ICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC50b1N0cmluZy5jYWxsKGV4KSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVjICE9PSBleC5jb2RlKSB7Cisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCdXcm9uZyBleGNlcHRpb24gY29kZTogJyArIGV4LmNvZGUp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorICAgIHZhciBmb3JtYXR0
ZWRGdW5jdGlvbiA9IFN0cmluZyhmKS5yZXBsYWNlKC9eZnVuY3Rpb24uK1x7XHMqL20sICcnKS4K
KyAgICAgICAgcmVwbGFjZSgvOz9ccytcfS9tLCAnJyk7CisgICAgdGVzdFBhc3NlZChmb3JtYXR0
ZWRGdW5jdGlvbiArICcgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAnICsg
ZWMpOworfQorCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnJyk7Cit9LCBET01F
eGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkVGhy
b3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuY29udGFp
bnMoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2Ny
ZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7Cisg
ICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJS
KTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlv
bigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9u
LklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhy
b3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3Zl
KCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VS
Uik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rp
b24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCcnKTsKK30sIERPTUV4Y2VwdGlv
bi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91bGRUaHJvd0RPTUV4
Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ3ggeScp
OworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKKworZGVidWcoJ0lu
ZGV4aW5nJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
ZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LmNsYXNzTGlzdC5pdGVtKDApJywgJ3gnKTsKKworY3JlYXRlRWxlbWVudCgneCB4Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzFdJywgJ3gnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgxKScsICd4Jyk7CisKK2Ny
ZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNz
TGlzdFsxXScsICd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0
Lml0ZW0oMSknLCAneScpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZEJlTnVsbCgnZWxl
bWVudC5jbGFzc0xpc3RbMF0nKTsKK3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3QuaXRl
bSgwKScpOworCitjcmVhdGVFbGVtZW50KCd4IHkgeicpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50
LmNsYXNzTGlzdFs0XScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDQp
Jyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5jbGFzc0xpc3RbLTFdJyk7ICAvLyBOb3Qg
YSB2YWxpZCBpbmRleCBzbyBzaG91bGQgbm90IHRyaWdnZXIgaXRlbSgpLgorc2hvdWxkQmVOdWxs
KCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKC0xKScpOworCitkZWJ1ZygnVGVzdCBjYXNlIHNpbmNl
IERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2ZScpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7
CitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hv
dWxkQmVGYWxzZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCdYXCcpJyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJywgJ3gnKTsKKworY3JlYXRlRWxl
bWVudCgnWCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcJ1hc
JyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwneFwnKScp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFswXScsICdYJyk7CisK
KworZGVidWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScpOworLy8gVSswMDIwIFNQQUNFLCBVKzAwMDkg
Q0hBUkFDVEVSIFRBQlVMQVRJT04gKHRhYiksIFUrMDAwQSBMSU5FIEZFRUQgKExGKSwKKy8vIFUr
MDAwQyBGT1JNIEZFRUQgKEZGKSwgYW5kIFUrMDAwRCBDQVJSSUFHRSBSRVRVUk4gKENSKQorCitj
cmVhdGVFbGVtZW50KCd4XHUwMDIweScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFz
c0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMDl5Jyk7CitzaG91bGRF
dmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVu
dCgneFx1MDAwQXknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBDeScpOworc2hvdWxkRXZhbHVhdGVUbygn
ZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMER5
Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKwor
CitkZWJ1ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlJyk7CisKKworLy8gU2FmYXJp
IHJldHVybnMgb2JqZWN0CisvLyBGaXJlZm94IHJldHVybnMgb2JqZWN0CisvLyBJRTggcmV0dXJu
cyBvYmplY3QKKy8vIENocm9tZSByZXR1cm5zIGZ1bmN0aW9uCisvLyBhc3NlcnRFcXVhbHMoJ29i
amVjdCcsIHR5cGVvZiBET01Ub2tlbkxpc3QpOworc2hvdWxkQmVUcnVlKCdcJ3VuZGVmaW5lZFwn
ICE9IHR5cGVvZiBET01Ub2tlbkxpc3QnKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBl
b2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmplY3QnKTsKKworY3JlYXRlRWxlbWVudCgn
eCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QnLCAn
b2JqZWN0Jyk7CisKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVj
dG9yJywgJ0RPTVRva2VuTGlzdCcpOworCitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0
ID09PSBlbGVtZW50LmNsYXNzTGlzdCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IGQ0ODRjZmU1MTJiM2UzMzUwNjdhOGRjOGE0MTU0
NDFhMDhlNDYyOGUuLmI2NjdhZGM2OTYwNmZhMTEzMmM1MTBlY2U5MDE5OGYyZjI5YjYwNzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtNTYxLDYgKzU2MSwxNCBAQCB3aW5kb3cuRE9NU3RyaW5n
TGlzdC5wcm90b3R5cGUuY29udGFpbnMgW2Z1bmN0aW9uXQogd2luZG93LkRPTVN0cmluZ0xpc3Qu
cHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9uXQogd2luZG93LkRPTVN0cmluZ01hcCBbb2JqZWN0IERP
TVN0cmluZ01hcENvbnN0cnVjdG9yXQogd2luZG93LkRPTVN0cmluZ01hcC5wcm90b3R5cGUgW29i
amVjdCBET01TdHJpbmdNYXBQcm90b3R5cGVdCit3aW5kb3cuRE9NVG9rZW5MaXN0IFtvYmplY3Qg
RE9NVG9rZW5MaXN0Q29uc3RydWN0b3JdCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBb
b2JqZWN0IERPTVRva2VuTGlzdFByb3RvdHlwZV0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90
eXBlLmFkZCBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5jb250YWlu
cyBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5pdGVtIFtmdW5jdGlv
bl0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBlLnJlbW92ZSBbZnVuY3Rpb25dCit3aW5k
b3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b1N0cmluZyBbZnVuY3Rpb25dCit3aW5kb3cuRE9N
VG9rZW5MaXN0LnByb3RvdHlwZS50b2dnbGUgW2Z1bmN0aW9uXQogd2luZG93LkRhdGUgW2Z1bmN0
aW9uXQogd2luZG93LkRvY3VtZW50IFtvYmplY3QgRG9jdW1lbnRDb25zdHJ1Y3Rvcl0KIHdpbmRv
dy5Eb2N1bWVudC5wcm90b3R5cGUgW29iamVjdCBEb2N1bWVudFByb3RvdHlwZV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRv
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKaW5kZXggMDhkNjY2NDNhODExODRhMDZkYjk3
Zjg2YjdiODBhM2MzOWFiNzFkNS4uZjVlNzYzZjFiY2Y5YzQ5YzRlOGFmMDQ4OTg4NzI4OTZmNjkz
MTNiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKQEAgLTQwLDYg
KzQwLDcgQEAgUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5k
b3csICdET01JbXBsZW1lbnRhdGlvbicpIGlzICdvYmoKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NUGFyc2VyJykgaXMgJ29iamVjdCcKIFBB
U1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NU3Ry
aW5nTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVN0cmluZ01hcCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVRva2VuTGlzdCcp
IGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHdpbmRvdywgJ0RhdGUnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdEb2N1bWVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RvY3VtZW50RnJh
Z21lbnQnKSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJv
dG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CmluZGV4IDIwNTU3NWEzMzY3NWE2
NTM0NDM5MjBkZGNkNWNkNTY0MTlmY2FiYTQuLmQ0YTMxZGIzZDdmNjI2Yzg1ZDM3MDAzNzc3NDUz
NzNmYzU5OGZiNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1p
bmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90
b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKQEAgLTc3LDYgKzc3LDkgQEAgUEFTUyBE
T01JbXBsZW1lbnRhdGlvblByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RG
b3JtLjAub3duZXJEb2N1bWUKIFBBU1MgRE9NU3RyaW5nTWFwIGZyb20gaW5uZXIuZG9jdW1lbnQu
Zm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0CiBQQVNTIERPTVN0cmluZ01hcENvbnN0cnVjdG9yIGZy
b20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0LmNvbnN0cnVjdG9yCiBQ
QVNTIERPTVN0cmluZ01hcFByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RG
b3JtLjAuZGF0YXNldC5fX3Byb3RvX18KK1BBU1MgRE9NVG9rZW5MaXN0IGZyb20gaW5uZXIuZG9j
dW1lbnQuZm9ybXMudGVzdEZvcm0uMC4wLmNsYXNzTGlzdAorUEFTUyBET01Ub2tlbkxpc3RDb25z
dHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuY2xhc3NMaXN0LmNv
bnN0cnVjdG9yCitQQVNTIERPTVRva2VuTGlzdFByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50
LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFzc0xpc3QuX19wcm90b19fCiBQQVNTIERPTVdpbmRvdyBm
cm9tIGlubmVyCiBQQVNTIERPTVdpbmRvd1Byb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZv
cm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5fX3Byb3RvX18KIFBBU1Mg
RG9jdW1lbnRQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93
bmVyRG9jdW1lbnQuX19wcm90b19fLl9fcHJvdG9fXwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggM2I0NWNl
ODhmNTIyMGYyYzU2YWRmNmQxZDNlNjk4Yjc1Y2NkZTZjYi4uZmE2NDc2YWRkYTY4MjFkNzdiZmIz
YzIyNjBmZDcxM2M0NWY4MWQzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJv
dG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBAIC03Nyw2ICs3Nyw4IEBAIFBB
U1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3Ry
aW5nTGlzdC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5n
TWFwLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5ET01TdHJpbmdNYXAuY29uc3RydWN0b3Iu
aXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkRPTVRva2VuTGlzdC5pc0lubmVyIGlzIHRydWUK
K1BBU1MgaW5uZXIuRE9NVG9rZW5MaXN0LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFT
UyBpbm5lci5EYXRlLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5EYXRlLmNvbnN0cnVjdG9y
LmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5Eb2N1bWVudC5pc0lubmVyIGlzIHRydWUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQu
dHh0CmluZGV4IDk3ODkzZGE3MzEzMzhmN2VmMjAyODRkOTVlOTgzZjViNWI5OGNmNGQuLjIxNDNi
ODZkMzUzYjc5ZGFlNGE4OTEzNTdiYjI0ZDYyYjU0MTc4ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMzgsNiAr
MzgsNyBAQCBQQVNTIERPTUltcGxlbWVudGF0aW9uLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRE9N
SW1wbGVtZW50YXRpb25Db25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVBhcnNlci50b1N0cmluZygpIGlz
ICdbb2JqZWN0IERPTVBhcnNlckNvbnN0cnVjdG9yXScKIFBBU1MgRE9NU3RyaW5nTGlzdC50b1N0
cmluZygpIGlzICdbb2JqZWN0IERPTVN0cmluZ0xpc3RDb25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVN0
cmluZ01hcC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXScK
K1BBU1MgRE9NVG9rZW5MaXN0LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRE9NVG9rZW5MaXN0Q29u
c3RydWN0b3JdJwogUEFTUyBEb2N1bWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50
Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVudEZyYWdtZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgRG9jdW1lbnRGcmFnbWVudENvbnN0cnVjdG9yXScKIFBBU1MgRG9jdW1lbnRUeXBlLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRUeXBlQ29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJlbW92ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTM4
MTMzNDYyMmVhNGU5MDA1YTBkZDYxNDAyNjY2ZGM3YzdjNmZmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJlbW92ZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitUZXN0cyB0aGF0IGNsYXNzTGlzdCByZW1vdmUgaXMgbGluZWFyLgorUEFTUworUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAz
ZTliYWMxODAyYTM4NjM5OTI5M2U5YzJmYWYyNmMzNzk0NTNkNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BlcmYvY2xhc3MtbGlzdC1yZW1vdmUuaHRtbApAQCAtMCwwICsxLDM5IEBA
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21hZ25pdHVkZS1wZXJmLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CisKK3ZhciBlbGVtZW50LCBzOworCisvLyBUZXN0IDEgdGVzdHMgdGhhdCByZW1v
dmUgaXMgbGluZWFyIHdoZW4gdGhlcmUgYXJlIE4gY2xhc3MgbmFtZXMuCisKK2Z1bmN0aW9uIHNl
dHVwRnVuY3Rpb24xKG1hZ25pdHVkZSkKK3sKKyAgICBzID0gJ2InOworICAgIGVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9IEFy
cmF5KG1hZ25pdHVkZSkuam9pbignYSAnKSArIHM7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKG1hZ25p
dHVkZSkKK3sKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUocyk7Cit9CisKKy8vIFRlc3Qg
MiB0ZXN0cyB0aGF0IHJlbW92ZSBpcyBsaW5lYXIgd2hlbiB0aGUgbGVuZ3RoIG9mIHRoZSBjbGFz
cyBuYW1lIGlzIE4uCisKK2Z1bmN0aW9uIHNldHVwRnVuY3Rpb24yKG1hZ25pdHVkZSkKK3sKKyAg
ICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cit9CisKK2Z1bmN0aW9u
IHRlc3QyKG1hZ25pdHVkZSkKK3sKKyAgICB2YXIgcyA9IEFycmF5KG1hZ25pdHVkZSArIDEpLmpv
aW4oJ2EnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9IHM7CisgICAgZWxlbWVudC5jbGFzc0xp
c3QucmVtb3ZlKHMpOworfQorCitNYWduaXR1ZGUuZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgY2xh
c3NMaXN0IHJlbW92ZSBpcyBsaW5lYXIuJyk7CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24x
LCB0ZXN0MSwgTWFnbml0dWRlLkxJTkVBUik7CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24y
LCB0ZXN0MiwgTWFnbml0dWRlLkxJTkVBUik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0Fu
ZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawppbmRleCA0ODZkOGNkM2FlYTUxNWU4YzllMWQ5
OWFjMjUxOTljOTJmMTU5ZGU5Li5hOTI3ZjExZDY3OTc2MDVhMjMwM2U3ZjYwZmIwYmJiNDE2M2M5
MTBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawor
KysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawpAQCAtMTU5LDYgKzE1
OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTQmxvYi5oIFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNCbG9iQnVpbGRlci5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2h0bWwvSlNET01Gb3JtRGF0YS5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwv
SlNET01Ub2tlbkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRD
b2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW5MaXN0
LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0ZpbGUuaCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRl
cml2ZWQudjhiaW5kaW5ncy5tawppbmRleCA5YjhmMjJjMjlhMzg5ZDk5YTcyNzNmZWQ0NjEzMDlh
Y2Y0N2MzY2EzLi5hNzMxNTdkNzFhY2RlYmZkN2MyODYxNmFhNmExZGQ5MzFkOGEyNDZlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCisrKyBiL1dlYkNv
cmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKQEAgLTE0MCw2ICsxNDAsNyBAQCAkKHBh
dHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3Bw
IDogJChpbnRlcm1lZGlhdGVzKQogR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4QmxvYi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYkJ1aWxk
ZXIuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERPTVRva2VuTGlzdC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RGF0YUdyaWRDb2x1bW4uaCBcCiAgICAg
JChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uTGlzdC5oIFwKICAgICAk
KGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RmlsZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
QW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpp
bmRleCBlMDdlZDFlNGZlNTgwOGUwMjdhNzFiOGU3NmM0ZDQ1MDMxYzk0YTE2Li4wODE2MTEzNDk5
ZjMzNTA1NDVkYTAxZGNlOWZhOTg5MGQ0NDkwNTk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJv
aWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCkBA
IC04Myw2ICs4Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgXAogCWJp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBcCisJYmluZGluZ3MvanMvSlNET01Ub2tl
bkxpc3QuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggODRmYWFlMjU2OWYxNzgyNTE0OTUzNDUyMTlmMjMwMmE4NDNjNTIyOC4uZDljNTM4
MTc4OGU0ZTViNDJkYWYyMzI4ZWE4ZTJhNTIxZDFiOWMwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2OSBAQAorMjAxMC0w
OS0yMyAgRXJpayBBcnZpZHNzb24gIDxhcnZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBIVE1MIDUncyBIVE1M
RWxlbWVudC5jbGFzc0xpc3QgcHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwNzA5CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9tL0hUTUxF
bGVtZW50L2NsYXNzLWxpc3QtZ2MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sCisgICAgICAgICAgICAgICBwZXJmL2NsYXNzLWxpc3Qt
cmVtb3ZlLmh0bWwKKworICAgICAgICBUaGlzIGFkZHMgYSBET01Ub2tlbkxpc3QgY2xhc3MgdGhh
dCBpcyB1c2VkIGZvciB0aGUgY2xhc3NMaXN0IHByb3BlcnR5LiBET01Ub2tlbkxpc3QgdXNlcyBh
IFNwYWNlU3BsaXRTdHJpbmcgZm9yIGZhc3QKKyAgICAgICAgY29udGFpbnMgY2hlY2suIEluIHN0
YW5kYXJkcyBtb2RlIHRoZSBleGlzdGluZyBjbGFzc05hbWVzIGlzIHVzZWQgYnV0IGluIHF1aXJr
cyBtb2RlIHdlIHVzZSBhbiBpbnRlcm5hbCBTcGFjZVNwbGl0U3RyaW5nCisgICAgICAgIGJlY2F1
c2UgY2xhc3NMaXN0IGlzIGFsd2F5cyBjYXNlIHNlbnNpdGl2ZS4KKworICAgICAgICAqIEFuZHJv
aWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQudjhi
aW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmpzY2JpbmRpbmdzLm1rOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTRWxlbWVudDo6bWFya0NoaWxkcmVuKTogTWFrZSBzdXJlIHRo
YXQgd2Uga2VlcCB0aGUgd3JhcHBlciB3aGlsZSB0aGUgZWxlbWVudCBpcyBhbGl2ZS4KKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogRE9NVG9rZW5MaXN0IGhh
cyBhIHN0cmluZyBpbmRleGVkIGdldHRlci4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tl
bkxpc3RDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAg
ICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsYXNzTGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpvcHRpb25hbENsYXNzTGlzdCk6IFJldHVy
bnMgbnVsbCBpZiBubyBvbmUgaGFzIHlldCBjcmVhdGVkIHRoZSBjbGFzc0xpc3QKKyAgICAgICAg
KiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDogVGhpcyBu
b3cgaGFzIGFuIE93blB0ciB0byBhIENsYXNzTGlzdCBpZiB0aGUgRWxlbWVudDo6Y2xhc3NMaXN0
IGlzIGV2ZXIgY2FsbGVkLgorICAgICAgICAqIGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZCk6IFVwZGF0
ZSB0aGUgY2xhc3NMaXN0IGlmIGl0IGV4aXN0cy4KKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5MaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjp2YWxpZGF0ZVRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6
RE9NVG9rZW5MaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6cmVmKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6ZGVyZWYpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NVG9rZW5MaXN0OjpsZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0Ojpp
dGVtKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6Y29udGFpbnMpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0Ojpjb250YWluc0ludGVybmFsKTogVGhlIGludGVybmFs
IG1ldGhvZHMgZG8gbm8gdmFsaWRhdGlvbiBvZiB0aGUgdG9rZW4uCisgICAgICAgIChXZWJDb3Jl
OjpET01Ub2tlbkxpc3Q6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmFk
ZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6cmVtb3ZlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6cmVtb3ZlSW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NVG9rZW5MaXN0Ojp0b2dnbGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9r
ZW5MaXN0Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlc2V0
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6Y2xhc3NOYW1lcyk6CisgICAgICAg
ICogaHRtbC9ET01Ub2tlbkxpc3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01Ub2tl
bkxpc3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmVsZW1lbnQp
OgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5MaXN0LmlkbDogQWRkZWQuCisgICAgICAgICogaHRt
bC9IVE1MRWxlbWVudC5pZGw6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAg
ICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMC0wOS0yMyAgQW5kcmV3IFdpbHNvbiAgPGF0
d2lsc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
NjgxOTcuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGJhYjgxMDk3MDQ5NDg4ZGFlMjI0ZTBmYTE4ZTJkOWY3
MjhkMDYwN2EuLjg5OGRhNWNhZWM4ZjA2NWFhMzU5NDVlMjRhNmI3Y2U4MDVjNmVmNDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCkBAIC05MSw2ICs5MSw3IEBACiAjaW5jbHVkZSAiSlNET01TZWxlY3Rpb24uY3Bw
IgogI2luY2x1ZGUgIkpTRE9NU3RyaW5nTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNET01TdHJpbmdN
YXAuY3BwIgorI2luY2x1ZGUgIkpTRE9NVG9rZW5MaXN0LmNwcCIKICNpbmNsdWRlICJKU0RPTVdp
bmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0VudGl0eS5j
cHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYWRiZDMwY2NmNWI1MTZhNGQ2ZDAyMDZlYzkwMmRmM2Yy
NDcxOWZjNC4uMmZkYTVlOThiZTFhNjlmN2NjYTU3ZjZhOGEwMWUwZmM0NTU2ZGJhYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQpAQCAtMTI0LDYgKzEyNCw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERPTVNl
bGVjdGlvbiBcCiAgICAgRE9NU3RyaW5nTGlzdCBcCiAgICAgRE9NU3RyaW5nTWFwIFwKKyAgICBE
T01Ub2tlbkxpc3QgXAogICAgIERPTVdpbmRvdyBcCiAgICAgRGF0YWJhc2UgXAogICAgIERhdGFi
YXNlQ2FsbGJhY2sgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNDRjNzFiNTJmZjZkZWE3MGFmNjI5YzFjZjU0MDMzZWMy
ODBjMDQ0Ni4uODgyY2E3Y2MyZDUzYWJmY2YyZDkxM2M2NTA2ZTBhYWY0NzYwNTU5MyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CkBAIC0yMTYsNiArMjE2LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRE9NU3RyaW5nTWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVN0
cmluZ01hcC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmNwcCBc
CisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVRva2VuTGlzdC5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0RPTVdpbmRvdy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRWxlbWVudC5jcHAgXApA
QCAtMTQzMyw2ICsxNDM1LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBcCiAJV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNTdHlsZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCBcCisJ
V2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAgXAorCVdlYkNvcmUvaHRtbC9ET01Ub2tlbkxp
c3QuaCBcCiAJV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5jcHAgXAogCVdlYkNvcmUvaHRt
bC9Db2xsZWN0aW9uQ2FjaGUuaCBcCiAJV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmggXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCA1NzYyZjJiM2Y4YTQ5NTc2Mjg2NDEwZjQxMjUwNWE1YzAyODI1NTNmLi44ODkxMjc1ODI5
OTJlNjE0ZTg4MDY4NDk3NzM4OGYwNmVmYTQ0ZjUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTExLDYgKzExMSw3IEBACiAg
ICAgICAgICAgICAnZmlsZWFwaS9NZXRhZGF0YS5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkv
TWV0YWRhdGFDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRE9NRm9ybURhdGEuaWRs
JywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0
bWwvRGF0YUdyaWRDb2x1bW4uaWRsJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1u
TGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsJywKQEAg
LTc2Niw2ICs3NjcsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3Vt
ZW50TG9jYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhET01Gb3JtRGF0YUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5jcHAnLApAQCAtMTUxNiw2ICsxNTE4LDggQEAKICAgICAg
ICAgICAgICdodG1sL0RPTURhdGFHcmlkRGF0YVNvdXJjZS5oJywKICAgICAgICAgICAgICdodG1s
L0RPTUZvcm1EYXRhLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5oJywKKyAg
ICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvRE9N
VG9rZW5MaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW4uY3BwJywKICAg
ICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uLmgnLAogICAgICAgICAgICAgJ2h0bWwvRGF0
YUdyaWRDb2x1bW5MaXN0LmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIv
V2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAzN2JiMjA1MTgzYWVkMDBhMDc1YTFjNGYyYjlkMmZh
NjJmM2RhZmEzLi41NGM5Y2I1NDBkYjE4NmY2NjVjOTU1MDc1YjIxZDdkN2E3ZjA3NjZiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAg
LTIwMSw2ICsyMDEsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1
bW4uaWRsIFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5pZGwgXAogICAgIGh0bWwvRE9N
Rm9ybURhdGEuaWRsIFwKKyAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwgXAogICAgIGh0bWwvSFRN
TEFsbENvbGxlY3Rpb24uaWRsIFwKICAgICBodG1sL0hUTUxBdWRpb0VsZW1lbnQuaWRsIFwKICAg
ICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBiYzFkM2RiODBkZWQ5NGQ3YTE0MWI1
NzNlNDRmYmNhMGE4MTM2NTg2Li4yNjVmMDQxMTQ0YjU3MTExZDNhYmZiY2IxN2EzODFmZjk4ZGMy
N2YxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KQEAgLTQwMyw3ICs0MDMsOCBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q3VzdG9tRXZlbnRMaXN0ZW5lci5jcHAgXAotICAgICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5j
cHAgXApAQCAtODM4LDYgKzgzOSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvQ29sbGVjdGlv
bkNhY2hlLmNwcCBcCiAgICAgaHRtbC9ET01EYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKICAgICBo
dG1sL0RPTUZvcm1EYXRhLmNwcCBcCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuY3BwIFwKICAgICBo
dG1sL0RhdGFHcmlkQ29sdW1uLmNwcCBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3Bw
IFwKICAgICBodG1sL0RhdGVDb21wb25lbnRzLmNwcCBcCkBAIC0xNzE2LDYgKzE3MTgsNyBAQCBI
RUFERVJTICs9IFwKICAgICBodG1sL0RhdGVDb21wb25lbnRzLmggXAogICAgIGh0bWwvRE9NRGF0
YUdyaWREYXRhU291cmNlLmggXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaCBcCisgICAgaHRtbC9E
T01Ub2tlbkxpc3QuaCBcCiAgICAgaHRtbC9Gb3JtRGF0YUxpc3QuaCBcCiAgICAgaHRtbC9GVFBE
aXJlY3RvcnlEb2N1bWVudC5oIFwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmggXApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNTVjOGQ3MjA5NjYxNTY3NmU1NWRj
NDc5MzA5NDQ4MzBkY2U0NmRmYS4uMWIxZGQ5M2M2NGZjMTg2MTljZmIzNmY4MWI0ODIyYTQ4NDBk
ODQ0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC00MDMzLDYgKzQw
MzMsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U0RPTVRva2VuTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJ
UmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTRE9NVG9rZW5MaXN0LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NV2luZG93LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCkBAIC0zNzg0NSw2ICszNzg1MywxOCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTVRva2VuTGlzdC5jcHAi
DQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxo
dG1sXERPTVRva2VuTGlzdC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGb3JtRGF0YUxpc3QuY3BwIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGVFBEaXJlY3RvcnlE
b2N1bWVudC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2FiZTNkMzVmOWJiNzQzYjNkODU5MjQwMTAzOTdjODJl
MDlkZjU0Mi4uZGMzZDRmMmZlNzBmNTJiNzQzNWNhZTgyYjZkZTJjM2Q5Mzg2OGQ2MiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0MTIsMTIgKzE0MTIs
MTggQEAKIAkJNzY5M0JBRDMxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFDRjEwNkMy
RENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAqLzsgfTsKIAkJNzY5M0JBRDQxMDZDMkRD
QTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRl
ci5oICovOyB9OwogCQk3NjkzQkFENTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Njkz
QkFEMTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xpZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzY5NDU2M0MxMjE0RDk3QzAw
MDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2Vu
TGlzdC5jcHAgKi87IH07CisJCTc2OTQ1NjNEMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2Vu
TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5
NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi87IH07CisJCTc2OTQ1
NjVCMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAv
KiBET01ET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY5NDU2NUMxMjE0REI2MzAwMDdDQkFFIC8q
IERPTURPTVRva2VuTGlzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QubW0g
Ki87IH07CiAJCTc2Q0REMkYyMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZD
REQyRUMxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAgKi87IH07
CiAJCTc2Q0REMkYzMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVEMTEw
M0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCAqLzsgfTsKIAkJNzZDREQy
RjQxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVFMTEwM0RB
NjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHAgKi87IH07CiAJCTc2
Q0REMkY1MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUYxMTAz
REE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmggKi87IH07CiAJCTc2
Q0REMkY2MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRjAx
MTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbi5jcHAgKi87IH07
CiAJCTc2Q0REMkY3MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0RE
MkYxMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCAqLzsg
fTsKKwkJNzZGQzJCMEIxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkZDMkIwODEyMzcwREEw
MDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmNwcCAqLzsgfTsKKwkJNzZGQzJCMEMxMjM3MERBMDAw
NkE5OTFBIC8qIERPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5o
ICovOyB9OwogCQk3NkZGMTdFMzExMjM1NjczMDAxRDYxQjUgLyogUGx1Z2luVmlld05vbmUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGRjE3RTIx
MTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdpblZpZXdOb25lLmNwcCAqLzsgfTsKIAkJNzlBQzkyMTgx
MDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUFDOTIxNjEwOTk0NUM4MDAyMTI2NkUg
LyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCAqLzsgfTsKIAkJNzlBQzkyMTkxMDk5NDVDODAwMjEy
NjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzlBQzkyMTcxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRp
b25FdmVudC5oICovOyB9OwpAQCAtMjc3Nyw3ICsyNzgzLDYgQEAKIAkJOTczRTMyNTYxMDg4M0I3
QzAwNUJDNDkzIC8qIFJlc291cmNlTG9hZE5vdGlmaWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3M0UzMjU0MTA4ODNCN0MwMDVCQzQ5MyAvKiBS
ZXNvdXJjZUxvYWROb3RpZmllci5jcHAgKi87IH07CiAJCTk3M0UzMjU3MTA4ODNCN0MwMDVCQzQ5
MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTczRTMyNTUxMDg4M0I3QzAwNUJDNDkzIC8qIFJlc291cmNlTG9h
ZE5vdGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJOTc2RDZDNzcxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNTgxMjJCOEEz
RDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlci5oICovOyB9OwotCQk5NzZENkM5MzEyMkI4QTNE
MDAxRkQxRjcgLyogQXN5bmNGaWxlV3JpdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM3NDEyMkI4QTNEMDAxRkQxRjcgLyogQXN5
bmNGaWxlV3JpdGVyQ2xpZW50LmggKi87IH07CiAJCTk3NkQ2Qzc4MTIyQjhBM0QwMDFGRDFGNyAv
KiBCbG9iLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk3NkQ2QzU5MTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iLmNwcCAqLzsgfTsKIAkJOTc2RDZDNzkx
MjJCOEEzRDAwMUZEMUY3IC8qIEJsb2IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk3NkQ2QzVBMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iLmggKi87IH07
CiAJCTk3NkQ2QzdCMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iQnVpbGRlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM1QzEyMkI4QTNEMDAx
RkQxRjcgLyogQmxvYkJ1aWxkZXIuY3BwICovOyB9OwpAQCAtMjc5OCw2ICsyODAzLDcgQEAKIAkJ
OTc2RDZDOEYxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVUaHJlYWRUYXNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM3MDEyMkI4QTNEMDAxRkQx
RjcgLyogRmlsZVRocmVhZFRhc2suaCAqLzsgfTsKIAkJOTc2RDZDOTAxMjJCOEEzRDAwMUZEMUY3
IC8qIEZpbGVXcml0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTc2RDZDNzExMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuY3BwICovOyB9
OwogCQk5NzZENkM5MTEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZVdyaXRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNzIxMjJCOEEzRDAwMUZE
MUY3IC8qIEZpbGVXcml0ZXIuaCAqLzsgfTsKKwkJOTc2RDZDOTMxMjJCOEEzRDAwMUZEMUY3IC8q
IEFzeW5jRmlsZVdyaXRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTc2RDZDNzQxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRl
ckNsaWVudC5oICovOyB9OwogCQk5NzZENkM5NDEyMkI4QTNEMDAxRkQxRjcgLyogVGhyZWFkYWJs
ZUJsb2JSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NzZENkM3NTEyMkI4QTNEMDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3Ry
eS5jcHAgKi87IH07CiAJCTk3NkQ2Qzk1MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxv
YlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5NzZENkM3NjEyMkI4QTNEMDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oICov
OyB9OwogCQk5NzdCMzcyMzEyMjg3MjE3MDBCODFGRjggLyogSFRNTEVsZW1lbnRTdGFjay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzcxRjEy
Mjg3MjE3MDBCODFGRjggLyogSFRNTEVsZW1lbnRTdGFjay5jcHAgKi87IH07CkBAIC03MzcwLDEy
ICs3Mzc2LDE5IEBACiAJCTc2OTNCQUNGMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luSGFsdGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIz
IC8qIFBsdWdpbkhhbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVn
aW5IYWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzY5M0JBRDExMDZDMkRD
QTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQbHVnaW5IYWx0ZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNzY5NDU2M0ExMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NVG9rZW5MaXN0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpT
RE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NVG9r
ZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjU5MTIxNERCNjMw
MDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2
OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01ET01Ub2tlbkxpc3QubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVDMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3Np
YmlsaXR5TWVudUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NzZDREQyRUQxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUUxMTAzREE2NjAwNjgwNTIxIC8qIEFj
Y2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUYxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlN
ZW51TGlzdFBvcHVwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlNZW51TGlzdFBvcHVwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0RE
MkYwMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0
T3B0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRjExMTAzREE2
NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZGQzJCMDgxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRv
a2VuTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01Ub2tl
bkxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3NkZDMkIwOTEyMzcwREEw
MDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3NkZDMkIw
QTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBET01Ub2tlbkxpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NkZG
MTdFMjExMjM1NjczMDAxRDYxQjUgLyogUGx1Z2luVmlld05vbmUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luVmlld05vbmUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3OUFDOTIxNjEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlv
bkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ29tcG9z
aXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QUM5MjE3MTA5
OTQ1QzgwMDIxMjY2RSAvKiBKU0NvbXBvc2l0aW9uRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNDb21wb3NpdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC04Njc3LDcgKzg2OTAsNiBAQAogCQk5NzNFMzI1NDEwODgzQjdDMDA1QkM0OTMg
LyogUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5NzNFMzI1NTEwODgzQjdDMDA1QkM0OTMgLyogUmVzb3VyY2VMb2FkTm90aWZpZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkTm90aWZpZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNTgxMjJCOEEzRDAwMUZEMUY3
IC8qIEFzeW5jRmlsZVdyaXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBB
c3luY0ZpbGVXcml0ZXIuaDsgcGF0aCA9IGZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3NkQ2Qzc0MTIyQjhBM0QwMDFGRDFGNyAvKiBBc3lu
Y0ZpbGVXcml0ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQXN5
bmNGaWxlV3JpdGVyQ2xpZW50Lmg7IHBhdGggPSBmaWxlYXBpL0FzeW5jRmlsZVdyaXRlckNsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzZENkM1OTEyMkI4QTNEMDAxRkQx
RjcgLyogQmxvYi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBCbG9i
LmNwcDsgcGF0aCA9IGZpbGVhcGkvQmxvYi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTk3NkQ2QzVBMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEJsb2IuaDsgcGF0aCA9IGZpbGVhcGkvQmxvYi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5NzZENkM1QzEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYkJ1aWxk
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQmxvYkJ1aWxkZXIu
Y3BwOyBwYXRoID0gZmlsZWFwaS9CbG9iQnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC04Njk4LDYgKzg3MTAsNyBAQAogCQk5NzZENkM3MDEyMkI4QTNEMDAxRkQxRjcg
LyogRmlsZVRocmVhZFRhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRmls
ZVRocmVhZFRhc2suaDsgcGF0aCA9IGZpbGVhcGkvRmlsZVRocmVhZFRhc2suaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNzExMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRmlsZVdyaXRlci5j
cHA7IHBhdGggPSBmaWxlYXBpL0ZpbGVXcml0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5NzZENkM3MjEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZVdyaXRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGaWxlV3JpdGVyLmg7IHBhdGggPSBmaWxlYXBpL0Zp
bGVXcml0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTc2RDZDNzQxMjJCOEEz
RDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBBc3luY0ZpbGVXcml0ZXJDbGllbnQuaDsgcGF0aCA9IGZpbGVhcGkvQXN5
bmNGaWxlV3JpdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NkQ2
Qzc1MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFRocmVhZGFibGVCbG9iUmVnaXN0cnkuY3Bw
OyBwYXRoID0gZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNzYxMjJCOEEzRDAwMUZEMUY3IC8qIFRocmVhZGFibGVC
bG9iUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGhyZWFkYWJs
ZUJsb2JSZWdpc3RyeS5oOyBwYXRoID0gZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3N0IzNzFGMTIyODcyMTcwMEI4MUZGOCAv
KiBIVE1MRWxlbWVudFN0YWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IEhUTUxFbGVtZW50U3RhY2suY3BwOyBwYXRoID0gcGFyc2VyL0hUTUxFbGVtZW50U3RhY2su
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1MjAsNiArMTM1MzMsOCBAQAog
CQkJY2hpbGRyZW4gPSAoCiAJCQkJMkUyRDk5RTUxMEUyQkMxQzAwNDk2MzM3IC8qIERPTUJsb2Iu
aCAqLywKIAkJCQkyRTJEOTlFNjEwRTJCQzFDMDA0OTYzMzcgLyogRE9NQmxvYi5tbSAqLywKKwkJ
CQk3Njk0NTY1OTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0LmggKi8sCisJCQkJ
NzY5NDU2NUExMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSAqLywKIAkJCQlC
QzAwRUZGRTBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5oICovLAogCQkJCUJDMDBFRkZGMEUw
QTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLm1tICovLAogCQkJCTJFM0JDMTA2MTE3RDQ3OTgwMEI5
NDA5QSAvKiBET01GaWxlRXJyb3IuaCAqLywKQEAgLTE0MTQzLDYgKzE0MTU4LDkgQEAKIAkJCQky
RUQ2MDlCQTExNDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuY3BwICovLAogCQkJCTJFRDYw
OUJCMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5oICovLAogCQkJCTJFMDg4OEMzMTE0
ODgzQTkwMEFGNDI2NSAvKiBET01Gb3JtRGF0YS5pZGwgKi8sCisJCQkJNzZGQzJCMDgxMjM3MERB
MDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgKi8sCisJCQkJNzZGQzJCMDkxMjM3MERBMDAw
NkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovLAorCQkJCTc2RkMyQjBBMTIzNzBEQTAwMDZBOTkx
QSAvKiBET01Ub2tlbkxpc3QuaWRsICovLAogCQkJCUE4MTM2RDM3MDk3M0E4RTcwMEQ3NDQ2MyAv
KiBGb3JtRGF0YUxpc3QuY3BwICovLAogCQkJCUE4MTM2RDM2MDk3M0E4RTcwMEQ3NDQ2MyAvKiBG
b3JtRGF0YUxpc3QuaCAqLywKIAkJCQk5NzIwNUFBRDEyMzkyOENBMDBCMTczODAgLyogRlRQRGly
ZWN0b3J5RG9jdW1lbnQuY3BwICovLApAQCAtMTQ2MzQsNiArMTQ2NTIsOCBAQAogCQkJCUJDNzdE
MTY4MEZGMTlGNTUwMDcwODg3QiAvKiBKU0RhdGFHcmlkQ29sdW1uTGlzdC5oICovLAogCQkJCTJF
MDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLywKIAkJCQkyRTA4
ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oICovLAorCQkJCTc2OTQ1NjNB
MTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi8sCisJCQkJNzY5NDU2M0Ix
MjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi8sCiAJCQkJNDlFRUNFRjQxMDUw
NzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmNwcCAqLywKIAkJCQk0OUVFQ0VGNTEwNTA3
MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuaCAqLywKIAkJCQlCQzk3RTQxMDEwOTE1NEZB
MDAxMEQzNjEgLyogSlNIVE1MQWxsQ29sbGVjdGlvbi5jcHAgKi8sCkBAIC0yMDU4Miw2ICsyMDYw
Miw5IEBACiAJCQkJODQ3MzBEOTExMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MjEyNDhGMEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNv
dXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTMxMjQ4RjBCMzAwRDNBOUM5IC8qIFNw
b3RMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzY5NDU2M0QxMjE0RDk3QzAwMDdD
QkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3Njk0NTY1QjEyMTRE
QjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3NkZD
MkIwQzEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTIzMDYxLDYgKzIzMDg0LDkgQEAKIAkJCQk4NDczMEQ4QTEyNDhGMEIzMDBEM0E5QzkgLyogRkVU
aWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg0NzMwRDhDMTI0OEYwQjMwMEQzQTlDOSAvKiBG
RVR1cmJ1bGVuY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODQ3MzBEOTAxMjQ4RjBCMzAwRDNB
OUM5IC8qIExpZ2h0U291cmNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc2OTQ1NjNDMTIxNEQ5
N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Njk0
NTY1QzEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0Lm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJNzZGQzJCMEIxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9t
LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA4YTFk
ZjVjNmNhMmFjZWYwMzM3MDE0MDU2NjM1M2YwMTFiZTlkNDQ2Li5mNjkxNjIwYThjODJlNGYzODEz
ZGRkYTdiNzc4N2JmNWQyMzdjODc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RWxlbWVudEN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0
b20uY3BwCkBAIC02MCw2ICs2MCw3IEBAIHZvaWQgSlNFbGVtZW50OjptYXJrQ2hpbGRyZW4oTWFy
a1N0YWNrJiBtYXJrU3RhY2spCiAgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gKkhlYXA6
OmhlYXAodGhpcyktPmdsb2JhbERhdGEoKTsKIAogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1h
cmtTdGFjaywgZ2xvYmFsRGF0YSwgZWxlbWVudC0+YXR0cmlidXRlTWFwKCkpOworICAgIG1hcmtE
T01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywgZ2xvYmFsRGF0YSwgZWxlbWVudC0+b3B0aW9uYWxD
bGFzc0xpc3QoKSk7CiAgICAgbWFya0RPTU9iamVjdFdyYXBwZXIobWFya1N0YWNrLCBnbG9iYWxE
YXRhLCBlbGVtZW50LT5vcHRpb25hbERhdGFzZXQoKSk7CiAKICAgICBpZiAoZWxlbWVudC0+aXNT
dHlsZWRFbGVtZW50KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQppbmRleCAxYTExNGE0Mjk3ZTE0OTI5MzNiYWIyODNlMzY0ZjVjYTE0NzkyYmNmLi44MDM1
NDJlNjlkODJkY2JkZjUyNzhjZGU3MmQwNmI1NTU0MmI3MTE2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTI0MCw3ICsyNDAsNyBAQCBzdWIgSW5k
ZXhHZXR0ZXJSZXR1cm5zU3RyaW5ncwogewogICAgIG15ICR0eXBlID0gc2hpZnQ7CiAKLSAgICBy
ZXR1cm4gMSBpZiAkdHlwZSBlcSAiQ1NTU3R5bGVEZWNsYXJhdGlvbiIgb3IgJHR5cGUgZXEgIk1l
ZGlhTGlzdCIgb3IgJHR5cGUgZXEgIkNTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uIiBvciAkdHlwZSBl
cSAiRE9NU3RyaW5nTGlzdCI7CisgICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVj
bGFyYXRpb24iIG9yICR0eXBlIGVxICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJs
ZXNEZWNsYXJhdGlvbiIgb3IgJHR5cGUgZXEgIkRPTVN0cmluZ0xpc3QiIG9yICR0eXBlIGVxICJE
T01Ub2tlbkxpc3QiOwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCBmNzRmMmIxZDg4ZjU4OTk1Yzg3MDI4NTVhZDJk
NTZhMmYyZGI0MzVhLi4zMzUzZjBmNWU2NzQyNjE1Y2MzZTBhMzllY2ZiNDJlMzM3MWU3MzU0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisr
KyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTI1MTAs
NiArMjUxMCw3IEBAIHN1YiBIYXNDdXN0b21Ub1Y4SW1wbGVtZW50YXRpb24gewogICAgIHJldHVy
biAxIGlmICRpbnRlcmZhY2VOYW1lIGVxICJDYW52YXNQaXhlbEFycmF5IjsKICAgICByZXR1cm4g
MSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRE9NU3RyaW5nTWFwIjsKICAgICByZXR1cm4gMSBpZiAk
aW50ZXJmYWNlTmFtZSBlcSAiRE9NV2luZG93IjsKKyAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNl
TmFtZSBlcSAiRE9NVG9rZW5MaXN0IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBl
cSAiRWxlbWVudCI7CiAgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxEb2N1
bWVudCI7CiAgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxFbGVtZW50IjsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3Vz
dG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9t
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xNzFmZjVjMjlkZTA4NjZjZmZlOTRkMjBmOTQ4ODc3MTgxOWVkYjFk
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tl
bkxpc3RDdXN0b20uY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiVjhET01Ub2tlbkxpc3QuaCIKKworI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2luY2x1ZGUg
IlY4RWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZh
bHVlPiB0b1Y4KERPTVRva2VuTGlzdCogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAg
IHJldHVybiB2ODo6TnVsbCgpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9
IFY4RE9NVG9rZW5MaXN0Ojp3cmFwKGltcGwpOworICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVu
Y2UgZnJvbSB0aGUgZWxlbWVudCB0byB0aGUgRE9NVG9rZW5MaXN0LgorICAgIEVsZW1lbnQqIGVs
ZW1lbnQgPSBpbXBsLT5lbGVtZW50KCk7CisgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBl
bGVtZW50KSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0
b1Y4KGVsZW1lbnQpOworICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxl
bWVudFZhbHVlLT5Jc09iamVjdCgpKQorICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXRIaWRk
ZW5SZWZlcmVuY2UoZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCksIHdyYXBwZXIpOworICAg
IH0KKyAgICByZXR1cm4gd3JhcHBlcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAppbmRleCA1YzRlODJiMmE1Zjg0YjZiZmZjNzQ3YTcwODJmODZmOGNlYWM3ZjQ4Li5jNDA4Nzkw
YzdjYWEzMjI3Mzk2NmI2OWM0Yzc0NmQwZGI4YzMwNTVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzMsNiArMzMs
NyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0
LmgiCiAjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3Qu
aCIKICNpbmNsdWRlICJEYXRhc2V0RE9NU3RyaW5nTWFwLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmgiCkBAIC0xNTczLDYgKzE1NzQsMjEgQEAg
Ym9vbCBFbGVtZW50Ojp3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3Rv
ciwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitET01Ub2tlbkxp
c3QqIEVsZW1lbnQ6OmNsYXNzTGlzdCgpCit7CisgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0g
ZW5zdXJlUmFyZURhdGEoKTsKKyAgICBpZiAoIWRhdGEtPm1fY2xhc3NMaXN0KQorICAgICAgICBk
YXRhLT5tX2NsYXNzTGlzdCA9IERPTVRva2VuTGlzdDo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVy
biBkYXRhLT5tX2NsYXNzTGlzdC5nZXQoKTsKK30KKworRE9NVG9rZW5MaXN0KiBFbGVtZW50Ojpv
cHRpb25hbENsYXNzTGlzdCgpIGNvbnN0Cit7CisgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmFyZURhdGEoKS0+bV9jbGFzc0xpc3QuZ2V0KCk7
Cit9CisKIERPTVN0cmluZ01hcCogRWxlbWVudDo6ZGF0YXNldCgpCiB7CiAgICAgRWxlbWVudFJh
cmVEYXRhKiBkYXRhID0gZW5zdXJlUmFyZURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBkOWE1MDg1NDhlMDY3MDhh
YjkwYjE2YjlkZGM3MTFlZjM0ODY1NTE0Li5iNTFlNzUwYTUxZDA4Y2JmMTZkNzk1NmRhOWYxZDJk
ZjAzZjVkNDA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC0zNiw2ICszNiw3IEBAIGNsYXNzIEF0dHJpYnV0ZTsKIGNsYXNz
IENsaWVudFJlY3Q7CiBjbGFzcyBDbGllbnRSZWN0TGlzdDsKIGNsYXNzIERPTVN0cmluZ01hcDsK
K2NsYXNzIERPTVRva2VuTGlzdDsKIGNsYXNzIEVsZW1lbnRSYXJlRGF0YTsKIGNsYXNzIEludFNp
emU7CiAKQEAgLTI2OSw2ICsyNzAsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIHdlYmtpdE1hdGNo
ZXNTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9ycywgRXhjZXB0aW9uQ29kZSYpOwogCisg
ICAgRE9NVG9rZW5MaXN0KiBjbGFzc0xpc3QoKTsKKyAgICBET01Ub2tlbkxpc3QqIG9wdGlvbmFs
Q2xhc3NMaXN0KCkgY29uc3Q7CisKICAgICBET01TdHJpbmdNYXAqIGRhdGFzZXQoKTsKICAgICBE
T01TdHJpbmdNYXAqIG9wdGlvbmFsRGF0YXNldCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5o
CmluZGV4IDhlMzM4YWJjNjgwZjI0NGQyZjRhZmI2YWVlZmI1NjMzNTJhYTNmZjIuLmYxZTYzMzQx
OGNjMjQ2Njk1M2E4OTI5YTgwYzNjY2NjNTZlYmNkOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBA
IC0yMiw2ICsyMiw3IEBACiAjaWZuZGVmIEVsZW1lbnRSYXJlRGF0YV9oCiAjZGVmaW5lIEVsZW1l
bnRSYXJlRGF0YV9oCiAKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRlICJEYXRh
c2V0RE9NU3RyaW5nTWFwLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVS
YXJlRGF0YS5oIgpAQCAtNDIsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFJlbmRlclN0
eWxlPiBtX2NvbXB1dGVkU3R5bGU7CiAKICAgICBPd25QdHI8RGF0YXNldERPTVN0cmluZ01hcD4g
bV9kYXRhc2V0RE9NU3RyaW5nTWFwOworICAgIE93blB0cjxET01Ub2tlbkxpc3Q+IG1fY2xhc3NM
aXN0OwogfTsKIAogaW5saW5lIEludFNpemUgZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmco
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9XZWJDb3JlL2Rv
bS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCBhMTU4ZTJlYWU1YmJiNjRkYzZlYTgxMmU4NTY4MzJl
YWUwMTQ2NGExLi4yMDVlMjEwNDgxOTA4MTJmZDgyMDAwNmI3N2U5YTcxNTlmMzNmNmRkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9T
dHlsZWRFbGVtZW50LmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlU2Vs
ZWN0b3IuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVL
ZXl3b3Jkcy5oIgorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hGdW5jdGlvbnMu
aD4KQEAgLTIxNywxMiArMjE4LDEzIEBAIHZvaWQgU3R5bGVkRWxlbWVudDo6Y2xhc3NBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3Q2xhc3NTdHJpbmcpCiAgICAgfQogICAg
IGJvb2wgaGFzQ2xhc3MgPSBpIDwgbGVuZ3RoOwogICAgIHNldEhhc0NsYXNzKGhhc0NsYXNzKTsK
LSAgICBpZiAoaGFzQ2xhc3MpCisgICAgaWYgKGhhc0NsYXNzKSB7CiAgICAgICAgIGF0dHJpYnV0
ZXMoKS0+c2V0Q2xhc3MobmV3Q2xhc3NTdHJpbmcpOwotICAgIGVsc2UgewotICAgICAgICBpZiAo
YXR0cmlidXRlTWFwKCkpICAgIAotICAgICAgICAgICAgYXR0cmlidXRlTWFwKCktPmNsZWFyQ2xh
c3MoKTsKLSAgICB9CisgICAgICAgIERPTVRva2VuTGlzdCogY2xhc3NMaXN0ID0gb3B0aW9uYWxD
bGFzc0xpc3QoKTsKKyAgICAgICAgaWYgKGNsYXNzTGlzdCkKKyAgICAgICAgICAgIGNsYXNzTGlz
dC0+cmVzZXQobmV3Q2xhc3NTdHJpbmcpOworICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlTWFwKCkp
CisgICAgICAgIGF0dHJpYnV0ZU1hcCgpLT5jbGVhckNsYXNzKCk7CiAgICAgc2V0TmVlZHNTdHls
ZVJlY2FsYygpOwogICAgIGRpc3BhdGNoU3VidHJlZU1vZGlmaWVkRXZlbnQoKTsKIH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1N0eWxlZEVs
ZW1lbnQuaAppbmRleCA4MDQwZGJmMWUzNjhhY2I3ZjRlYThlODM1N2ExYjE1YWY4MDQyZjAzLi40
YjYyMzg4MTQ0NGUxODU0MDc2MzYzYzBjYzY5MjFiOTg3M2QzMDYxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5o
CkBAIC0zMiw2ICszMiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF0dHJpYnV0
ZTsKK2NsYXNzIENsYXNzTGlzdDsKIGNsYXNzIENTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9u
OwogCiBjbGFzcyBTdHlsZWRFbGVtZW50IDogcHVibGljIEVsZW1lbnQgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45YWMxMDhjYWIzNzE5YjkzOGQ3N2RiZTBiNjA4Y2YwNjE2NzNjZmM3
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAKQEAgLTAs
MCArMSwyMDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiRE9NVG9rZW5MaXN0LmgiCisKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgorI2luY2x1ZGUgIlN0cmlu
Z0J1aWxkZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOworCisKK3N0YXRpYyBib29sIHZhbGlkYXRlVG9rZW4oY29uc3QgQXRvbWljU3RyaW5n
JiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHRva2VuLmlzRW1wdHkoKSkg
eworICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CisKKyAgICB1bnNpZ25lZCBsZW5ndGggPSB0b2tlbi5sZW5ndGgoKTsKKyAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKGlzQ2xhc3NXaGl0ZXNw
YWNlKHRva2VuW2ldKSkgeworICAgICAgICAgICAgZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKworRE9NVG9rZW5MaXN0OjpET01Ub2tlbkxpc3QoRWxlbWVudCogZWxlbWVu
dCkKKyAgICA6IG1fZWxlbWVudChlbGVtZW50KQoreworICAgIGlmIChtX2VsZW1lbnQtPmRvY3Vt
ZW50KCktPmluUXVpcmtzTW9kZSgpKQorICAgICAgICBtX2NsYXNzTmFtZXMgPSBuZXcgU3BhY2VT
cGxpdFN0cmluZyhtX2VsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUoY2xhc3NBdHRyKSwgZmFsc2Up
OworfQorCit2b2lkIERPTVRva2VuTGlzdDo6cmVmKCkKK3sKKyAgICBtX2VsZW1lbnQtPnJlZigp
OworfQorCit2b2lkIERPTVRva2VuTGlzdDo6ZGVyZWYoKQoreworICAgIG1fZWxlbWVudC0+ZGVy
ZWYoKTsKK30KKwordW5zaWduZWQgRE9NVG9rZW5MaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAg
IHJldHVybiBjbGFzc05hbWVzKCktPnNpemUoKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nIERP
TVRva2VuTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXgg
Pj0gbGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBBdG9taWNTdHJpbmcoKTsKKyAgICByZXR1cm4g
KCpjbGFzc05hbWVzKCkpW2luZGV4XTsKK30KKworYm9vbCBET01Ub2tlbkxpc3Q6OmNvbnRhaW5z
KGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAorewor
ICAgIGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwgZWMpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgcmV0dXJuIGNvbnRhaW5zSW50ZXJuYWwodG9rZW4pOworfQorCitib29sIERPTVRva2Vu
TGlzdDo6Y29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAor
eworICAgIHJldHVybiBjbGFzc05hbWVzKCktPmNvbnRhaW5zKHRva2VuKTsKK30KKwordm9pZCBE
T01Ub2tlbkxpc3Q6OmFkZChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sICBlYykpCisgICAgICAgIHJl
dHVybjsKKyAgICBhZGRJbnRlcm5hbCh0b2tlbik7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0Ojph
ZGRJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgb2xkQ2xhc3NOYW1lKG1fZWxlbWVudC0+ZmFzdEdldEF0dHJpYnV0ZShj
bGFzc0F0dHIpKTsKKyAgICBpZiAob2xkQ2xhc3NOYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgbV9l
bGVtZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCB0b2tlbik7CisgICAgZWxzZSBpZiAoIWNv
bnRhaW5zSW50ZXJuYWwodG9rZW4pKSB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsK
KyAgICAgICAgYnVpbGRlci5hcHBlbmQob2xkQ2xhc3NOYW1lKTsKKyAgICAgICAgYnVpbGRlci5h
cHBlbmQoJyAnKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQodG9rZW4pOworICAgICAgICBtX2Vs
ZW1lbnQtPnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIGJ1aWxkZXIudG9TdHJpbmcoKSk7CisgICAg
fQorfQorCit2b2lkIERPTVRva2VuTGlzdDo6cmVtb3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9r
ZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwg
IGVjKSkKKyAgICAgICAgcmV0dXJuOworICAgIHJlbW92ZUludGVybmFsKHRva2VuKTsKK30KKwor
dm9pZCBET01Ub2tlbkxpc3Q6OnJlbW92ZUludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9r
ZW4pIGNvbnN0Cit7CisgICAgLy8gQ2hlY2sgdXNpbmcgY29udGFpbnMgZmlyc3Qgc2luY2UgaXQg
dXNlcyBBdG9taWNTdHJpbmcgY29tcGFyaXNvbnMgaW5zdGVhZAorICAgIC8vIG9mIGNoYXJhY3Rl
ciBieSBjaGFyYWN0ZXIgdGVzdGluZy4KKyAgICBpZiAoIWNvbnRhaW5zSW50ZXJuYWwodG9rZW4p
KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBBbGdvcml0aG0gZGVmaW5lZCBhdCBodHRwOi8v
d3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9jb21t
b24tbWljcm9zeW50YXhlcy5odG1sI3JlbW92ZS1hLXRva2VuLWZyb20tYS1zdHJpbmcKKworICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgaW5wdXQgPSBtX2VsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUo
Y2xhc3NBdHRyKTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnB1dExlbmd0aCA9IGlucHV0Lmxlbmd0
aCgpOworICAgIFZlY3RvcjxVQ2hhcj4gdG9rZW5WZWN0b3I7CisgICAgYXBwZW5kKHRva2VuVmVj
dG9yLCB0b2tlbik7CisgICAgVmVjdG9yPFVDaGFyPiBvdXRwdXQ7IC8vIDMKKyAgICB1bnNpZ25l
ZCBwb3NpdGlvbiA9IDA7IC8vIDQKKworICAgIC8vIFN0ZXAgNQorICAgIHdoaWxlIChwb3NpdGlv
biA8IGlucHV0TGVuZ3RoKSB7CisgICAgICAgIGlmIChpc0NsYXNzV2hpdGVzcGFjZShpbnB1dFtw
b3NpdGlvbl0pKSB7IC8vIDYKKyAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoaW5wdXRbcG9zaXRp
b24rK10pOyAvLyA2LjEsIDYuMgorICAgICAgICAgICAgY29udGludWU7IC8vIDYuMworICAgICAg
ICB9CisKKyAgICAgICAgLy8gU3RlcCA3CisgICAgICAgIFZlY3RvcjxVQ2hhcj4gczsKKyAgICAg
ICAgd2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGggJiYgIWlzQ2xhc3NXaGl0ZXNwYWNlKGlu
cHV0W3Bvc2l0aW9uXSkpCisgICAgICAgICAgICBzLmFwcGVuZChpbnB1dFtwb3NpdGlvbisrXSk7
CisKKyAgICAgICAgLy8gU3RlcCA4CisgICAgICAgIGlmIChzID09IHRva2VuVmVjdG9yKSB7Cisg
ICAgICAgICAgICAvLyBTdGVwIDguMQorICAgICAgICAgICAgd2hpbGUgKHBvc2l0aW9uIDwgaW5w
dXRMZW5ndGggJiYgaXNDbGFzc1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkKKyAgICAgICAg
ICAgICAgICArK3Bvc2l0aW9uOworCisgICAgICAgICAgICAvLyBTdGVwIDguMgorICAgICAgICAg
ICAgc2l6ZV90IGogPSBvdXRwdXQuc2l6ZSgpOworICAgICAgICAgICAgd2hpbGUgKGogPiAwICYm
IGlzQ2xhc3NXaGl0ZXNwYWNlKG91dHB1dFtqIC0gMV0pKQorICAgICAgICAgICAgICAgIC0tajsK
KyAgICAgICAgICAgIG91dHB1dC5yZXNpemUoaik7CisKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4z
CisgICAgICAgICAgICBpZiAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiAhb3V0cHV0LmlzRW1w
dHkoKSkKKyAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCcgJyk7CisgICAgICAgIH0gZWxz
ZQorICAgICAgICAgICAgb3V0cHV0LmFwcGVuZChzKTsgLy8gU3RlcCA5CisgICAgfQorCisgICAg
bV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCBTdHJpbmc6OmFkb3B0KG91dHB1dCkp
OworfQorCitib29sIERPTVRva2VuTGlzdDo6dG9nZ2xlKGNvbnN0IEF0b21pY1N0cmluZyYgdG9r
ZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwg
IGVjKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGNvbnRhaW5zSW50ZXJuYWwo
dG9rZW4pKSB7CisgICAgICAgIHJlbW92ZUludGVybmFsKHRva2VuKTsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKyAgICBhZGRJbnRlcm5hbCh0b2tlbik7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK1N0cmluZyBET01Ub2tlbkxpc3Q6OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9lbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKGNsYXNzQXR0cik7Cit9CisKK3ZvaWQgRE9N
VG9rZW5MaXN0OjpyZXNldChjb25zdCBTdHJpbmcmIG5ld0NsYXNzTmFtZSkKK3sKKyAgICBpZiAo
bV9lbGVtZW50LT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSkKKyAgICAgICAgbV9jbGFzc05h
bWVzLT5zZXQobmV3Q2xhc3NOYW1lLCBmYWxzZSk7Cit9CisKK2NvbnN0IFNwYWNlU3BsaXRTdHJp
bmcqIERPTVRva2VuTGlzdDo6Y2xhc3NOYW1lcygpIGNvbnN0Cit7CisgICAgaWYgKG1fZWxlbWVu
dC0+ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpCisgICAgICAgIHJldHVybiBtX2NsYXNzTmFt
ZXMuZ2V0KCk7CisgICAgcmV0dXJuICZtX2VsZW1lbnQtPmF0dHJpYnV0ZU1hcCgpLT5jbGFzc05h
bWVzKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9ET01Ub2tlbkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40OWYzNDBjMDlmMzA3NmE4MGJjNTY2MjUwMTU3Nzg0MzY0ZTdkODU5Ci0tLSAvZGV2L251
bGwKKysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0wLDAgKzEsNzUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisg
KiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIERPTVRva2VuTGlzdF9oCisjZGVmaW5lIERPTVRva2VuTGlz
dF9oCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0
cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIEVsZW1lbnQ7CisKK2NsYXNzIERPTVRva2VuTGlzdCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8RE9NVG9rZW5MaXN0PiBjcmVh
dGUoRWxlbWVudCogZWxlbWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgRE9NVG9rZW5M
aXN0KGVsZW1lbnQpOworICAgIH0KKworICAgIHZvaWQgcmVmKCk7CisgICAgdm9pZCBkZXJlZigp
OworCisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7CisgICAgY29uc3QgQXRvbWljU3RyaW5n
IGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgIGJvb2wgY29udGFpbnMoY29uc3QgQXRv
bWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OworICAgIHZvaWQgYWRkKGNvbnN0IEF0
b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHJlbW92ZShjb25zdCBBdG9t
aWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgYm9vbCB0b2dnbGUoY29uc3QgQXRvbWlj
U3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0Owor
CisgICAgdm9pZCByZXNldChjb25zdCBTdHJpbmcmKTsKKworICAgIEVsZW1lbnQqIGVsZW1lbnQo
KSB7IHJldHVybiBtX2VsZW1lbnQ7IH0KKworcHJpdmF0ZToKKyAgICBET01Ub2tlbkxpc3QoRWxl
bWVudCogZWxlbWVudCk7CisKKyAgICB2b2lkIGFkZEludGVybmFsKGNvbnN0IEF0b21pY1N0cmlu
ZyYpIGNvbnN0OworICAgIGJvb2wgY29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcm
KSBjb25zdDsKKyAgICB2b2lkIHJlbW92ZUludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYpIGNv
bnN0OworCisgICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyogY2xhc3NOYW1lcygpIGNvbnN0Owor
CisgICAgRWxlbWVudCogbV9lbGVtZW50OworICAgIE93blB0cjxTcGFjZVNwbGl0U3RyaW5nPiBt
X2NsYXNzTmFtZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBE
T01Ub2tlbkxpc3RfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwg
Yi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDY5MDBlYTA0ZmVk
Yzc5Y2M2OTNlZjZmN2Y2OGVlNGJmYmE2MWRlCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9o
dG1sL0RPTVRva2VuTGlzdC5pZGwKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21v
ZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0
b3IsCisgICAgICAgIEhhc0luZGV4R2V0dGVyCisgICAgXSBET01Ub2tlbkxpc3QgeworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAgIFtDb252
ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOworICAgICAgICBib29sZWFuIGNvbnRhaW5zKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2Vz
KERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgYWRkKGluIERPTVN0cmluZyB0b2tlbikgcmFp
c2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIHZvaWQgcmVtb3ZlKGluIERPTVN0cmluZyB0b2tl
bikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGJvb2xlYW4gdG9nZ2xlKGluIERPTVN0
cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisKKyNpZiBkZWZpbmVkKExBTkdVQUdF
X0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKKyAgICAgICAgW0RvbnRFbnVtXSBE
T01TdHJpbmcgdG9TdHJpbmcoKTsKKyNlbmRpZgorICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRs
CmluZGV4IDg2M2YyOGM4NjU0N2ViOTdjYzQ4Y2M2MjFkOWExYjY2YWM5MjY3YmIuLmIxMjdjNTE3
Mjc2NWIxOGM4MTgwMWJkY2U2ZjVhNzBhMDJlM2RhOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5pZGwKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbApAQCAt
MzEsNiArMzEsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdF0gRE9NU3RyaW5nIGxhbmc7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVm
bGVjdF0gRE9NU3RyaW5nIGRpcjsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
PWNsYXNzXSBET01TdHJpbmcgY2xhc3NOYW1lOworICAgICAgICAgICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NVG9rZW5MaXN0IGNsYXNzTGlzdDsKIAogICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgbG9uZyAgICAgICAgICAgICAgdGFiSW5kZXg7CiAgICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBib29sZWFuICAgICAgICAgICBkcmFnZ2FibGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGY1YmEy
NWMzNmE5YWQyYzdmZDE2NTlhNWI1ZDNkMDZkODdiYTVjNDYuLjA4NjkxZDc0YzA2MDk1ZTQ4YTY4
Yjc1NjU2NmU1YmY4NWVmOWFkMzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAj
aW5jbHVkZSAiRE9NU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2lu
Y2x1ZGUgIkRPTVRpbWVyLmgiCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCiAjaW5jbHVkZSAi
RGF0YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRGV2
aWNlTW90aW9uQ29udHJvbGxlci5oIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA3MmNhMzZhOTdmNTM5OGVh
MGVhY2ZiNDFmMTkwZDAwMWFhMjRjZmE0Li44Y2FjODc5OTdhYTk1MzI2NjBlNWJlYzIzZTk5Y2Ix
OTFlYmQ5NGU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzc5LDYgKzM3OSw3IEBAIG1vZHVsZSB3aW5k
b3cgewogLy8gICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvbkxpc3RDb25zdHJ1Y3Rv
ciBET01JbXBsZW1lbnRhdGlvbkxpc3Q7CiAvLyAgICAgICAgYXR0cmlidXRlIERPTUltcGxlbWVu
dGF0aW9uU291cmNlQ29uc3RydWN0b3IgRE9NSW1wbGVtZW50YXRpb25Tb3VyY2U7CiAgICAgICAg
IGF0dHJpYnV0ZSBET01JbXBsZW1lbnRhdGlvbkNvbnN0cnVjdG9yIERPTUltcGxlbWVudGF0aW9u
OworICAgICAgICBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3IgRE9NVG9rZW5MaXN0
OwogICAgICAgICBhdHRyaWJ1dGUgRG9jdW1lbnRGcmFnbWVudENvbnN0cnVjdG9yIERvY3VtZW50
RnJhZ21lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBEb2N1bWVudENvbnN0cnVjdG9yIERvY3VtZW50
OwogICAgICAgICBhdHRyaWJ1dGUgTm9kZUNvbnN0cnVjdG9yIE5vZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68696</attachid>
            <date>2010-09-24 09:55:37 -0700</date>
            <delta_ts>2010-09-24 12:37:57 -0700</delta_ts>
            <desc>Trying to get this to build on GTK</desc>
            <filename>bug-20709-20100924095536.patch</filename>
            <type>text/plain</type>
            <size>74039</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZmExMmQzMmU5Mjk4N2NhMzU2NmVlZTE0ZWU1MGYxYTNmY2MwNTg1Li42NjA5MWI1
MDEzNzMzNGQzOGIwOTc3M2IyNjEzZjI3YzY4ODI0M2JlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTAtMDktMjQgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWly
a3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC1nYy5qczogQWRkZWQuCisgICAgICAgIChnYyk6CisgICAgICAgICogZmFz
dC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanM6IEFkZGVkLgorICAg
ICAgICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBlcmYvY2xhc3MtbGlz
dC1yZW1vdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmL2NsYXNzLWxpc3Qt
cmVtb3ZlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTIzICBBbmRyZXcgV2lsc29uICA8YXR3aWxz
b25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2ODE5
Ny4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxp
c3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3Mt
bGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTJlODk1MjBlZTJkZDQ3NDExMDQxYmQxYjAy
ZTI3MjdiZGIwNTBhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxFbGVtZW50L2NsYXNzLWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjQgQEAKK1Rlc3Rz
IHRoZSBjbGFzc0xpc3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGllcy4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90
ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LworUEFTUyBTdHJpbmcoZWxlbWVu
dC5jbGFzc0xpc3QpIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMAor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBl
bGVtZW50LmNsYXNzTmFtZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngiCitQ
QVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBp
cyAieSB4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIgorUEFTUyBlbGVtZW50LmNsYXNz
TmFtZSBpcyAiIgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIHkgeSAiCitQQVNTIGVsZW1l
bnQuY2xhc3NOYW1lIGlzICJ5IgorVGVzdCBpbnZhbGlkIHRva2VucworUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5jb250YWlucygnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29k
ZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygneCB5JykgdGhyZXcgZXhwZWN0
ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgn
JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC5hZGQoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNv
ZGUgNQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJycpIHRocmV3IGV4cGVjdGVkIERP
TUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4
IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QudG9nZ2xlKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBj
b2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgneCB5JykgdGhyZXcgZXhwZWN0
ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitJbmRleGluZworUEFTUyBlbGVtZW50LmNsYXNz
TGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyAieCIKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0
ZW0oMSkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzFdIGlzICJ5IgorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdC5pdGVtKDEpIGlzICJ5IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBp
cyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCkgaXMgbnVsbAorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdFs0XSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oNCkg
aXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFstMV0gaXMgdW5kZWZpbmVkLgorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdC5pdGVtKC0xKSBpcyBudWxsCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9r
ZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5z
KCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIGZh
bHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5jb250YWlucygnWCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFp
bnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyAiWCIKK1Rlc3Rp
bmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5n
dGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQ
QVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBl
b2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVu
dC5jbGFzc0xpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29uc3RydWN0
b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNs
YXNzTGlzdCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQv
Y2xhc3MtbGlzdC1nYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxl
bWVudC9jbGFzcy1saXN0LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMWMyNWZiNTFhZGRj
NGQwMDc3MjYzZWZmZjQ4ZWRlNzE0OTFjMjM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorVGhpcyB0ZXN0cyB0aGF0IHByb3BlcnRpZXMgb24gdGhlIGNsYXNzTGlzdCBw
ZXJzaXN0cyBHQy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZC5jbGFz
c0xpc3QubGlmZSBpcyA0MgorUEFTUyBkLmNsYXNzTGlzdC5saWZlIGlzIDQyCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRjNWVmYWQ3ZTk5NTNlZjM1OGFlNGE4YTM1MDM3NTNhZGNjYTU3OWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWwK
QEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NsYXNzLWxpc3Qt
Z2MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZTg5NTIwZWUyZGQ0NzQxMTA0MWJkMWIwMmUyNzI3YmRi
MDUwYWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVu
dC9jbGFzcy1saXN0LXF1aXJrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2NCBAQAorVGVzdHMg
dGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rl
c3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0cmluZyhlbGVtZW50
LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAwCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0
Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVs
ZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCIKK1BB
U1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggIHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlz
ICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NO
YW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVu
dC5jbGFzc05hbWUgaXMgInkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2Rl
IDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHknKSB0aHJldyBleHBlY3Rl
ZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCcn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29k
ZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhyZXcgZXhwZWN0ZWQgRE9N
RXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3gg
eScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNv
ZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKSB0aHJldyBleHBlY3Rl
ZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApIGlzICJ4IgorUEFT
UyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRl
bSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgInkiCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlz
IG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBudWxsCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSg0KSBp
cyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRlZmluZWQuCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lml0ZW0oLTEpIGlzIG51bGwKK1Rlc3QgY2FzZSBzaW5jZSBET01Ub2tl
bkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMo
J3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdYJykgaXMgZmFs
c2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlu
cygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJYIgorVGVzdGlu
ZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5kIHR5cGUKK1BB
U1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQQVNTIHR5cGVv
ZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5cGVvZiBlbGVtZW50
LmNsYXNzTGlzdCBpcyAib2JqZWN0IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb25zdHJ1Y3Rv
ciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QgPT09IGVsZW1lbnQuY2xh
c3NMaXN0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9j
bGFzcy1saXN0LXF1aXJrcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQv
Y2xhc3MtbGlzdC1xdWlya3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDg3NmExNmY4MjIyOWFhMTBhYzJj
M2I5ZTA1Nzg4MTcyYmM5MzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbApAQCAtMCwwICsxLDEzIEBACis8
IS0tIFF1aXJrcyBNb2RlIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVt
ZW50L2NsYXNzLWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWRmMjQzY2UzMjlmOTQ0MDNiOGVmNjY4
ODYzNmNhNzQ2ZWFmMjEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3Njcmlw
dC10ZXN0cy9jbGFzcy1saXN0LWdjLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1l
bnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QtZ2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUzMTYxYWJmYjVj
MzNmM2VlNjE1YWFiMjJiM2Y5ZDk2N2E1Zjg5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LWdjLmpzCkBA
IC0wLDAgKzEsMzAgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBv
biB0aGUgY2xhc3NMaXN0IHBlcnNpc3RzIEdDLicpOworCitmdW5jdGlvbiBnYygpCit7CisgICAg
aWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBHQ0NvbnRyb2xsZXIuY29s
bGVjdCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7CisgICAgICAg
IHZhciBzID0gbmV3IFN0cmluZzsKKyAgICB9Cit9CisKK3ZhciBkID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CisKKy8vIEVuc3VyZSB0aGUgY2xhc3NMaXN0IGlzIGNyZWF0ZWQuCit2
YXIgY2xhc3NMaXN0ID0gZC5jbGFzc0xpc3Q7CisKKy8vIFNldCBhIGN1c3RvbSBwcm9wZXJ0eS4K
K2QuY2xhc3NMaXN0LmxpZmUgPSA0MjsKK3Nob3VsZEV2YWx1YXRlVG8oJ2QuY2xhc3NMaXN0Lmxp
ZmUnLCA0Mik7CisKKy8vIE51bGwgb3V0IHJlZmVyZW5jZSB0byB0aGUgZGF0YXNldC4KK2NsYXNz
TGlzdCA9IG51bGw7CisKK2djKCk7CisKKy8vIFRlc3QgdGhhdCB0aGUgY2xhc3NMaXN0IHdyYXBw
ZXIgcGVyc2lzdGVkIHRoZSBHQyBhbmQgc3RpbGwgaGFzIHRoZSBjdXN0b20gcHJvcGVydHkuCitz
aG91bGRFdmFsdWF0ZVRvKCdkLmNsYXNzTGlzdC5saWZlJywgNDIpOworCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxF
bGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU4MDBk
MjhkZWI2NmVjYmRiNjYzMTE3NjAxNWFlNGQwOThmMDFiMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0Lmpz
CkBAIC0wLDAgKzEsMjI0IEBACitkZXNjcmlwdGlvbignVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRy
aWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLicpOworCit2YXIgZWxlbWVudDsKKworZnVuY3Rpb24g
Y3JlYXRlRWxlbWVudChjbGFzc05hbWUpCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ3AnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKK30KKwor
ZGVidWcoJ1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0LycpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rl
c3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qvc2V0dGluZy8wMDEuaHRtCisvLyBG
aXJlZm94IHRocm93cyBoZXJlIGJ1dCBXZWJLaXQgZG9lcyBub3QgdGhyb3cgb24gc2V0dGluZyBy
ZWFkb25seSBpZGwKKy8vIGF0dHJpYnV0ZXMuCitjcmVhdGVFbGVtZW50KCd4Jyk7Cit0cnkgewor
ICAgIGVsZW1lbnQuY2xhc3NMaXN0ID0gJ3knOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
U3RyaW5nKGVsZW1lbnQuY2xhc3NMaXN0KScsICd4Jyk7Cit9IGNhdGNoIChleCkgeworICAgIHRl
c3RQYXNzZWQoJ1Rocm93aW5nIG9uIHNldCBpcyBhY2NlcHRhYmxlJyk7Cit9CisKKy8vIGh0dHA6
Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9n
ZXR0aW5nLzAwMS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkRXZhbHVhdGVUbygnZWxl
bWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMCk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcv
dGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMi5odG0KK2Ny
ZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxl
bmd0aCcsIDEpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVm
bGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDMuaHRtCitjcmVhdGVFbGVtZW50KCd4IHgn
KTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCisv
LyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tl
bkxpc3QvZ2V0dGluZy8wMDQuaHRtCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZEV2YWx1
YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCisvLyBodHRwOi8vc2ltb24u
aHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8w
MDUuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4Jyk7CisKKy8vIGh0
dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlz
dC9nZXR0aW5nLzAwNi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK2VsZW1lbnQuY2xhc3NMaXN0
LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4
Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5n
L0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNy5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggIHgnKTsKK2Vs
ZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LmNsYXNzTmFtZScsICd4ICB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwOC5odG0KK2NyZWF0ZUVs
ZW1lbnQoJ3knKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd5IHgnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0
bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA5
Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3gnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAnJyk7CisKKy8vIGh0
dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlz
dC9nZXR0aW5nLzAxMC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK2VsZW1lbnQuY2xhc3NMaXN0
LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScs
ICcnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3Rp
bmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDExLmh0bQorY3JlYXRlRWxlbWVudCgnIHkgeCAgeSAn
KTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdlbGVtZW50LmNsYXNzTmFtZScsICcgeSB5ICcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUu
b3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMTIuaHRt
CitjcmVhdGVFbGVtZW50KCcgeCB5ICB4ICcpOworZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3knKTsKKwor
CitkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2VucycpOworCisvLyBUZXN0aW5nIGV4Y2VwdGlvbiBk
dWUgdG8gaW52YWxpZCB0b2tlbgorCisvLyBzaG91bGRUaHJvdyBmcm9tIGpzLXRlc3QtcHJlLmpz
IGlzIG5vdCBzdWZmaWNpZW50LgorZnVuY3Rpb24gc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZiwg
ZWMpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigpOworICAgICAgICB0ZXN0RmFpbGVkKCdFeHBl
Y3RlZCBhbiBleGNlcHRpb24nKTsKKyAgICB9IGNhdGNoIChleCkgeworICAgICAgICBpZiAoIShl
eCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoJ0V4
Y2VwdGlvbiBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgRE9NRXhjZXB0aW9uLCBmb3VuZDogJyArCisg
ICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC50b1N0cmluZy5jYWxsKGV4KSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVjICE9PSBleC5jb2RlKSB7Cisg
ICAgICAgICAgICB0ZXN0RmFpbGVkKCdXcm9uZyBleGNlcHRpb24gY29kZTogJyArIGV4LmNvZGUp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorICAgIHZhciBmb3JtYXR0
ZWRGdW5jdGlvbiA9IFN0cmluZyhmKS5yZXBsYWNlKC9eZnVuY3Rpb24uK1x7XHMqL20sICcnKS4K
KyAgICAgICAgcmVwbGFjZSgvOz9ccytcfS9tLCAnJyk7CisgICAgdGVzdFBhc3NlZChmb3JtYXR0
ZWRGdW5jdGlvbiArICcgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAnICsg
ZWMpOworfQorCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnJyk7Cit9LCBET01F
eGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkVGhy
b3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuY29udGFp
bnMoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2Ny
ZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7Cisg
ICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJS
KTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlv
bigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9u
LklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhy
b3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3Zl
KCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VS
Uik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rp
b24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCcnKTsKK30sIERPTUV4Y2VwdGlv
bi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91bGRUaHJvd0RPTUV4
Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ3ggeScp
OworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKKworZGVidWcoJ0lu
ZGV4aW5nJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
ZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LmNsYXNzTGlzdC5pdGVtKDApJywgJ3gnKTsKKworY3JlYXRlRWxlbWVudCgneCB4Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzFdJywgJ3gnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgxKScsICd4Jyk7CisKK2Ny
ZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNz
TGlzdFsxXScsICd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0
Lml0ZW0oMSknLCAneScpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZEJlTnVsbCgnZWxl
bWVudC5jbGFzc0xpc3RbMF0nKTsKK3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3QuaXRl
bSgwKScpOworCitjcmVhdGVFbGVtZW50KCd4IHkgeicpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50
LmNsYXNzTGlzdFs0XScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDQp
Jyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5jbGFzc0xpc3RbLTFdJyk7ICAvLyBOb3Qg
YSB2YWxpZCBpbmRleCBzbyBzaG91bGQgbm90IHRyaWdnZXIgaXRlbSgpLgorc2hvdWxkQmVOdWxs
KCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKC0xKScpOworCitkZWJ1ZygnVGVzdCBjYXNlIHNpbmNl
IERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2ZScpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7
CitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hv
dWxkQmVGYWxzZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCdYXCcpJyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0WzBdJywgJ3gnKTsKKworY3JlYXRlRWxl
bWVudCgnWCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcJ1hc
JyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwneFwnKScp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFswXScsICdYJyk7CisK
KworZGVidWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScpOworLy8gVSswMDIwIFNQQUNFLCBVKzAwMDkg
Q0hBUkFDVEVSIFRBQlVMQVRJT04gKHRhYiksIFUrMDAwQSBMSU5FIEZFRUQgKExGKSwKKy8vIFUr
MDAwQyBGT1JNIEZFRUQgKEZGKSwgYW5kIFUrMDAwRCBDQVJSSUFHRSBSRVRVUk4gKENSKQorCitj
cmVhdGVFbGVtZW50KCd4XHUwMDIweScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFz
c0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMDl5Jyk7CitzaG91bGRF
dmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVu
dCgneFx1MDAwQXknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBDeScpOworc2hvdWxkRXZhbHVhdGVUbygn
ZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMER5
Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKwor
CitkZWJ1ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlJyk7CisKKworLy8gU2FmYXJp
IHJldHVybnMgb2JqZWN0CisvLyBGaXJlZm94IHJldHVybnMgb2JqZWN0CisvLyBJRTggcmV0dXJu
cyBvYmplY3QKKy8vIENocm9tZSByZXR1cm5zIGZ1bmN0aW9uCisvLyBhc3NlcnRFcXVhbHMoJ29i
amVjdCcsIHR5cGVvZiBET01Ub2tlbkxpc3QpOworc2hvdWxkQmVUcnVlKCdcJ3VuZGVmaW5lZFwn
ICE9IHR5cGVvZiBET01Ub2tlbkxpc3QnKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBl
b2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmplY3QnKTsKKworY3JlYXRlRWxlbWVudCgn
eCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QnLCAn
b2JqZWN0Jyk7CisKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVj
dG9yJywgJ0RPTVRva2VuTGlzdCcpOworCitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0
ID09PSBlbGVtZW50LmNsYXNzTGlzdCcpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IGQ0ODRjZmU1MTJiM2UzMzUwNjdhOGRjOGE0MTU0
NDFhMDhlNDYyOGUuLmI2NjdhZGM2OTYwNmZhMTEzMmM1MTBlY2U5MDE5OGYyZjI5YjYwNzUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtNTYxLDYgKzU2MSwxNCBAQCB3aW5kb3cuRE9NU3RyaW5n
TGlzdC5wcm90b3R5cGUuY29udGFpbnMgW2Z1bmN0aW9uXQogd2luZG93LkRPTVN0cmluZ0xpc3Qu
cHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9uXQogd2luZG93LkRPTVN0cmluZ01hcCBbb2JqZWN0IERP
TVN0cmluZ01hcENvbnN0cnVjdG9yXQogd2luZG93LkRPTVN0cmluZ01hcC5wcm90b3R5cGUgW29i
amVjdCBET01TdHJpbmdNYXBQcm90b3R5cGVdCit3aW5kb3cuRE9NVG9rZW5MaXN0IFtvYmplY3Qg
RE9NVG9rZW5MaXN0Q29uc3RydWN0b3JdCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBb
b2JqZWN0IERPTVRva2VuTGlzdFByb3RvdHlwZV0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90
eXBlLmFkZCBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5jb250YWlu
cyBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5pdGVtIFtmdW5jdGlv
bl0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBlLnJlbW92ZSBbZnVuY3Rpb25dCit3aW5k
b3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b1N0cmluZyBbZnVuY3Rpb25dCit3aW5kb3cuRE9N
VG9rZW5MaXN0LnByb3RvdHlwZS50b2dnbGUgW2Z1bmN0aW9uXQogd2luZG93LkRhdGUgW2Z1bmN0
aW9uXQogd2luZG93LkRvY3VtZW50IFtvYmplY3QgRG9jdW1lbnRDb25zdHJ1Y3Rvcl0KIHdpbmRv
dy5Eb2N1bWVudC5wcm90b3R5cGUgW29iamVjdCBEb2N1bWVudFByb3RvdHlwZV0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRv
cnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKaW5kZXggMDhkNjY2NDNhODExODRhMDZkYjk3
Zjg2YjdiODBhM2MzOWFiNzFkNS4uZjVlNzYzZjFiY2Y5YzQ5YzRlOGFmMDQ4OTg4NzI4OTZmNjkz
MTNiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKQEAgLTQwLDYg
KzQwLDcgQEAgUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5k
b3csICdET01JbXBsZW1lbnRhdGlvbicpIGlzICdvYmoKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NUGFyc2VyJykgaXMgJ29iamVjdCcKIFBB
U1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9NU3Ry
aW5nTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVN0cmluZ01hcCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVRva2VuTGlzdCcp
IGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHdpbmRvdywgJ0RhdGUnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdEb2N1bWVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RvY3VtZW50RnJh
Z21lbnQnKSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJv
dG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CmluZGV4IDIwNTU3NWEzMzY3NWE2
NTM0NDM5MjBkZGNkNWNkNTY0MTlmY2FiYTQuLmQ0YTMxZGIzZDdmNjI2Yzg1ZDM3MDAzNzc3NDUz
NzNmYzU5OGZiNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1p
bmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90
b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQKQEAgLTc3LDYgKzc3LDkgQEAgUEFTUyBE
T01JbXBsZW1lbnRhdGlvblByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RG
b3JtLjAub3duZXJEb2N1bWUKIFBBU1MgRE9NU3RyaW5nTWFwIGZyb20gaW5uZXIuZG9jdW1lbnQu
Zm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0CiBQQVNTIERPTVN0cmluZ01hcENvbnN0cnVjdG9yIGZy
b20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0LmNvbnN0cnVjdG9yCiBQ
QVNTIERPTVN0cmluZ01hcFByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RG
b3JtLjAuZGF0YXNldC5fX3Byb3RvX18KK1BBU1MgRE9NVG9rZW5MaXN0IGZyb20gaW5uZXIuZG9j
dW1lbnQuZm9ybXMudGVzdEZvcm0uMC4wLmNsYXNzTGlzdAorUEFTUyBET01Ub2tlbkxpc3RDb25z
dHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuY2xhc3NMaXN0LmNv
bnN0cnVjdG9yCitQQVNTIERPTVRva2VuTGlzdFByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50
LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFzc0xpc3QuX19wcm90b19fCiBQQVNTIERPTVdpbmRvdyBm
cm9tIGlubmVyCiBQQVNTIERPTVdpbmRvd1Byb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZv
cm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5fX3Byb3RvX18KIFBBU1Mg
RG9jdW1lbnRQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93
bmVyRG9jdW1lbnQuX19wcm90b19fLl9fcHJvdG9fXwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggM2I0NWNl
ODhmNTIyMGYyYzU2YWRmNmQxZDNlNjk4Yjc1Y2NkZTZjYi4uZmE2NDc2YWRkYTY4MjFkNzdiZmIz
YzIyNjBmZDcxM2M0NWY4MWQzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJv
dG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBAIC03Nyw2ICs3Nyw4IEBAIFBB
U1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3Ry
aW5nTGlzdC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5n
TWFwLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5ET01TdHJpbmdNYXAuY29uc3RydWN0b3Iu
aXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkRPTVRva2VuTGlzdC5pc0lubmVyIGlzIHRydWUK
K1BBU1MgaW5uZXIuRE9NVG9rZW5MaXN0LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFT
UyBpbm5lci5EYXRlLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5EYXRlLmNvbnN0cnVjdG9y
LmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5Eb2N1bWVudC5pc0lubmVyIGlzIHRydWUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQu
dHh0CmluZGV4IDk3ODkzZGE3MzEzMzhmN2VmMjAyODRkOTVlOTgzZjViNWI5OGNmNGQuLjIxNDNi
ODZkMzUzYjc5ZGFlNGE4OTEzNTdiYjI0ZDYyYjU0MTc4ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtMzgsNiAr
MzgsNyBAQCBQQVNTIERPTUltcGxlbWVudGF0aW9uLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRE9N
SW1wbGVtZW50YXRpb25Db25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVBhcnNlci50b1N0cmluZygpIGlz
ICdbb2JqZWN0IERPTVBhcnNlckNvbnN0cnVjdG9yXScKIFBBU1MgRE9NU3RyaW5nTGlzdC50b1N0
cmluZygpIGlzICdbb2JqZWN0IERPTVN0cmluZ0xpc3RDb25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVN0
cmluZ01hcC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXScK
K1BBU1MgRE9NVG9rZW5MaXN0LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRE9NVG9rZW5MaXN0Q29u
c3RydWN0b3JdJwogUEFTUyBEb2N1bWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50
Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVudEZyYWdtZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgRG9jdW1lbnRGcmFnbWVudENvbnN0cnVjdG9yXScKIFBBU1MgRG9jdW1lbnRUeXBlLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRUeXBlQ29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJlbW92ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTM4
MTMzNDYyMmVhNGU5MDA1YTBkZDYxNDAyNjY2ZGM3YzdjNmZmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJlbW92ZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitUZXN0cyB0aGF0IGNsYXNzTGlzdCByZW1vdmUgaXMgbGluZWFyLgorUEFTUworUEFT
UworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAz
ZTliYWMxODAyYTM4NjM5OTI5M2U5YzJmYWYyNmMzNzk0NTNkNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BlcmYvY2xhc3MtbGlzdC1yZW1vdmUuaHRtbApAQCAtMCwwICsxLDM5IEBA
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21hZ25pdHVkZS1wZXJmLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+CisKK3ZhciBlbGVtZW50LCBzOworCisvLyBUZXN0IDEgdGVzdHMgdGhhdCByZW1v
dmUgaXMgbGluZWFyIHdoZW4gdGhlcmUgYXJlIE4gY2xhc3MgbmFtZXMuCisKK2Z1bmN0aW9uIHNl
dHVwRnVuY3Rpb24xKG1hZ25pdHVkZSkKK3sKKyAgICBzID0gJ2InOworICAgIGVsZW1lbnQgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9IEFy
cmF5KG1hZ25pdHVkZSkuam9pbignYSAnKSArIHM7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKG1hZ25p
dHVkZSkKK3sKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUocyk7Cit9CisKKy8vIFRlc3Qg
MiB0ZXN0cyB0aGF0IHJlbW92ZSBpcyBsaW5lYXIgd2hlbiB0aGUgbGVuZ3RoIG9mIHRoZSBjbGFz
cyBuYW1lIGlzIE4uCisKK2Z1bmN0aW9uIHNldHVwRnVuY3Rpb24yKG1hZ25pdHVkZSkKK3sKKyAg
ICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cit9CisKK2Z1bmN0aW9u
IHRlc3QyKG1hZ25pdHVkZSkKK3sKKyAgICB2YXIgcyA9IEFycmF5KG1hZ25pdHVkZSArIDEpLmpv
aW4oJ2EnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9IHM7CisgICAgZWxlbWVudC5jbGFzc0xp
c3QucmVtb3ZlKHMpOworfQorCitNYWduaXR1ZGUuZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgY2xh
c3NMaXN0IHJlbW92ZSBpcyBsaW5lYXIuJyk7CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24x
LCB0ZXN0MSwgTWFnbml0dWRlLkxJTkVBUik7CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24y
LCB0ZXN0MiwgTWFnbml0dWRlLkxJTkVBUik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0Fu
ZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawppbmRleCA0ODZkOGNkM2FlYTUxNWU4YzllMWQ5
OWFjMjUxOTljOTJmMTU5ZGU5Li5hOTI3ZjExZDY3OTc2MDVhMjMwM2U3ZjYwZmIwYmJiNDE2M2M5
MTBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawor
KysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawpAQCAtMTU5LDYgKzE1
OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTQmxvYi5oIFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNCbG9iQnVpbGRlci5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2h0bWwvSlNET01Gb3JtRGF0YS5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwv
SlNET01Ub2tlbkxpc3QuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRD
b2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW5MaXN0
LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0ZpbGUuaCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRl
cml2ZWQudjhiaW5kaW5ncy5tawppbmRleCA5YjhmMjJjMjlhMzg5ZDk5YTcyNzNmZWQ0NjEzMDlh
Y2Y0N2MzY2EzLi5hNzMxNTdkNzFhY2RlYmZkN2MyODYxNmFhNmExZGQ5MzFkOGEyNDZlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCisrKyBiL1dlYkNv
cmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsKQEAgLTE0MCw2ICsxNDAsNyBAQCAkKHBh
dHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3Bw
IDogJChpbnRlcm1lZGlhdGVzKQogR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4QmxvYi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYkJ1aWxk
ZXIuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERPTVRva2VuTGlzdC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RGF0YUdyaWRDb2x1bW4uaCBcCiAgICAg
JChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uTGlzdC5oIFwKICAgICAk
KGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RmlsZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
QW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpp
bmRleCBlMDdlZDFlNGZlNTgwOGUwMjdhNzFiOGU3NmM0ZDQ1MDMxYzk0YTE2Li4wODE2MTEzNDk5
ZjMzNTA1NDVkYTAxZGNlOWZhOTg5MGQ0NDkwNTk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJv
aWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCkBA
IC04Myw2ICs4Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgXAogCWJp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBcCisJYmluZGluZ3MvanMvSlNET01Ub2tl
bkxpc3QuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CmluZGV4IGZhZWQ4ZWViYzg1MGQ4NGM1MjNkNmYxNTk0MDFmOGU2MDE4MDVj
M2MuLjUwZjY0Y2Y1OTMwMGVhYTBmYzk1MDlkZjY2NTYwNzFjMzdmY2I0ZmMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MjA1LDYgKzIwNSw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIGh0bWwvRGF0YUdyaWRD
b2x1bW4uaWRsCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuaWRsCiAgICAgaHRtbC9ET01G
b3JtRGF0YS5pZGwKKyAgICBodG1sL0RPTVRva2VuTGlzdC5pZGwKICAgICBodG1sL0hUTUxBbGxD
b2xsZWN0aW9uLmlkbAogICAgIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCiAgICAgaHRtbC9I
VE1MQXBwbGV0RWxlbWVudC5pZGwKQEAgLTk0Miw2ICs5NDMsNyBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgaHRtbC9Db2xsZWN0aW9uQ2FjaGUuY3BwCiAgICAgaHRtbC9ET01EYXRhR3JpZERh
dGFTb3VyY2UuY3BwCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5jcHAKKyAgICBodG1sL0RPTVRva2Vu
TGlzdC5jcHAKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uLmNwcAogICAgIGh0bWwvRGF0YUdyaWRD
b2x1bW5MaXN0LmNwcAogICAgIGh0bWwvRGF0ZUNvbXBvbmVudHMuY3BwCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg0ZmFhZTI1NjlmMTc4
MjUxNDk1MzQ1MjE5ZjIzMDJhODQzYzUyMjguLjE1NzJlZDViZTBlYmNiOTJjODU4NmJmNGY5MGM4
NWZiM2JjODM1MDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNzEgQEAKKzIwMTAtMDktMjQgIEVyaWsgQXJ2aWRzc29uICA8
YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3Bl
cnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcw
OQorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtz
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRt
bAorICAgICAgICAgICAgICAgcGVyZi9jbGFzcy1saXN0LXJlbW92ZS5odG1sCisKKyAgICAgICAg
VGhpcyBhZGRzIGEgRE9NVG9rZW5MaXN0IGNsYXNzIHRoYXQgaXMgdXNlZCBmb3IgdGhlIGNsYXNz
TGlzdCBwcm9wZXJ0eS4gRE9NVG9rZW5MaXN0IHVzZXMgYSBTcGFjZVNwbGl0U3RyaW5nIGZvciBm
YXN0CisgICAgICAgIGNvbnRhaW5zIGNoZWNrLiBJbiBzdGFuZGFyZHMgbW9kZSB0aGUgZXhpc3Rp
bmcgY2xhc3NOYW1lcyBpcyB1c2VkIGJ1dCBpbiBxdWlya3MgbW9kZSB3ZSB1c2UgYW4gaW50ZXJu
YWwgU3BhY2VTcGxpdFN0cmluZworICAgICAgICBiZWNhdXNlIGNsYXNzTGlzdCBpcyBhbHdheXMg
Y2FzZSBzZW5zaXRpdmUuCisKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3Mu
bWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICog
QW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAg
ICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUu
YW06CisgICAgICAgICogYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTRWxlbWVudDo6bWFya0NoaWxkcmVuKTogTWFrZSBzdXJlIHRoYXQgd2Uga2Vl
cCB0aGUgd3JhcHBlciB3aGlsZSB0aGUgZWxlbWVudCBpcyBhbGl2ZS4KKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogRE9NVG9rZW5MaXN0IGhhcyBhIHN0cmlu
ZyBpbmRleGVkIGdldHRlci4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JWOC5wbToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0
b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGRvbS9F
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsYXNzTGlzdCk6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpvcHRpb25hbENsYXNzTGlzdCk6CisgICAgICAgICogZG9t
L0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6IFRoaXMgbm93IGhh
cyBhbiBPd25QdHIgdG8gYSBDbGFzc0xpc3QgaWYgdGhlIEVsZW1lbnQ6OmNsYXNzTGlzdCBpcyBl
dmVyIGNhbGxlZC4KKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQpOiBVcGRhdGUgdGhl
IGNsYXNzTGlzdCBpZiBpdCBleGlzdHMuCisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuaDoK
KyAgICAgICAgKiBodG1sL0RPTVRva2VuTGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6dmFsaWRhdGVUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OkRPTVRv
a2VuTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlZik6CisgICAgICAg
IChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmRlcmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRv
a2VuTGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6aXRlbSk6
CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmNvbnRhaW5zKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVRva2VuTGlzdDo6Y29udGFpbnNJbnRlcm5hbCk6IFRoZSBpbnRlcm5hbCBtZXRo
b2RzIGRvIG5vIHZhbGlkYXRpb24gb2YgdGhlIHRva2VuLgorICAgICAgICAoV2ViQ29yZTo6RE9N
VG9rZW5MaXN0OjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjphZGRJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlbW92ZSk6CisgICAgICAg
IChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlbW92ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVRva2VuTGlzdDo6dG9nZ2xlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlz
dDo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpyZXNldCk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmNsYXNzTmFtZXMpOgorICAgICAgICAqIGh0
bWwvRE9NVG9rZW5MaXN0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjplbGVtZW50KToKKyAg
ICAgICAgKiBodG1sL0RPTVRva2VuTGlzdC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRN
TEVsZW1lbnQuaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKiBw
YWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTAtMDktMjMgIEFuZHJldyBXaWxzb24gIDxhdHdpbHNv
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY4MTk3
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcAppbmRleCBiYWI4MTA5NzA0OTQ4OGRhZTIyNGUwZmExOGUyZDlmNzI4ZDA2
MDdhLi44OThkYTVjYWVjOGYwNjVhYTM1OTQ1ZTI0YTZiN2NlODA1YzZlZjQ2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcApAQCAtOTEsNiArOTEsNyBAQAogI2luY2x1ZGUgIkpTRE9NU2VsZWN0aW9uLmNwcCIKICNp
bmNsdWRlICJKU0RPTVN0cmluZ0xpc3QuY3BwIgogI2luY2x1ZGUgIkpTRE9NU3RyaW5nTWFwLmNw
cCIKKyNpbmNsdWRlICJKU0RPTVRva2VuTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNET01XaW5kb3cu
Y3BwIgogI2luY2x1ZGUgIkpTRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNFbnRpdHkuY3BwIgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IGFkYmQzMGNjZjViNTE2YTRkNmQwMjA2ZWM5MDJkZjNmMjQ3MTlm
YzQuLjJmZGE1ZTk4YmUxYTY5ZjdjY2E1N2Y2YThhMDFlMGZjNDU1NmRiYWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTEyNCw2ICsxMjQsNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBET01TZWxlY3Rp
b24gXAogICAgIERPTVN0cmluZ0xpc3QgXAogICAgIERPTVN0cmluZ01hcCBcCisgICAgRE9NVG9r
ZW5MaXN0IFwKICAgICBET01XaW5kb3cgXAogICAgIERhdGFiYXNlIFwKICAgICBEYXRhYmFzZUNh
bGxiYWNrIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCmluZGV4IDQ0YzcxYjUyZmY2ZGVhNzBhZjYyOWMxY2Y1NDAzM2VjMjgwYzA0
NDYuLjg4MmNhN2NjMmQ1M2FiZmNmMmQ5MTNjNjUwNmUwYWFmNDc2MDU1OTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
MjE2LDYgKzIxNiw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0RPTVN0cmluZ0xpc3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0RPTVN0cmluZ01hcC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01TdHJpbmdN
YXAuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVRva2VuTGlzdC5jcHAgXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01Ub2tlbkxpc3QuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RPTVdpbmRvdy5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01X
aW5kb3cuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0VsZW1lbnQuY3BwIFwKQEAgLTE0
MzMsNiArMTQzNSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggXAogCVdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
U3R5bGUuY3BwIFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmggXAorCVdlYkNv
cmUvaHRtbC9ET01Ub2tlbkxpc3QuY3BwIFwKKwlXZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0Lmgg
XAogCVdlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuY3BwIFwKIAlXZWJDb3JlL2h0bWwvQ29s
bGVjdGlvbkNhY2hlLmggXAogCVdlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oIFwKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
NTc2MmYyYjNmOGE0OTU3NjI4NjQxMGY0MTI1MDVhNWMwMjgyNTUzZi4uODg5MTI3NTgyOTkyZTYx
NGU4ODA2ODQ5NzczODhmMDZlZmE0NGY1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTExMSw2ICsxMTEsNyBAQAogICAgICAg
ICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGEuaWRsJywKICAgICAgICAgICAgICdmaWxlYXBpL01ldGFk
YXRhQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdodG1sL0RPTUZvcm1EYXRhLmlkbCcsCisg
ICAgICAgICAgICAnaHRtbC9ET01Ub2tlbkxpc3QuaWRsJywKICAgICAgICAgICAgICdodG1sL0Rh
dGFHcmlkQ29sdW1uLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbkxpc3Qu
aWRsJywKICAgICAgICAgICAgICdodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbCcsCkBAIC03NjYs
NiArNzY3LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudExv
Y2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9N
Rm9ybURhdGFDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhE
T01TdHJpbmdNYXBDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhET01Ub2tlbkxpc3RDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhET01XaW5kb3dDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEVsZW1lbnRDdXN0b20uY3BwJywKQEAgLTE1MTYsNiArMTUxOCw4IEBACiAgICAgICAgICAg
ICAnaHRtbC9ET01EYXRhR3JpZERhdGFTb3VyY2UuaCcsCiAgICAgICAgICAgICAnaHRtbC9ET01G
b3JtRGF0YS5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvRE9NRm9ybURhdGEuaCcsCisgICAgICAg
ICAgICAnaHRtbC9ET01Ub2tlbkxpc3QuY3BwJywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2Vu
TGlzdC5oJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uLmNwcCcsCiAgICAgICAg
ICAgICAnaHRtbC9EYXRhR3JpZENvbHVtbi5oJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlk
Q29sdW1uTGlzdC5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNv
cmUvV2ViQ29yZS5wcmkKaW5kZXggMzdiYjIwNTE4M2FlZDAwYTA3NWExYzRmMmI5ZDJmYTYyZjNk
YWZhMy4uNTRjOWNiNTQwZGIxODZmNjY1Yzk1NTA3NWIyMWQ3ZDdhN2YwNzY2YiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0yMDEs
NiArMjAxLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uLmlk
bCBcCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuaWRsIFwKICAgICBodG1sL0RPTUZvcm1E
YXRhLmlkbCBcCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuaWRsIFwKICAgICBodG1sL0hUTUxBbGxD
b2xsZWN0aW9uLmlkbCBcCiAgICAgaHRtbC9IVE1MQXVkaW9FbGVtZW50LmlkbCBcCiAgICAgaHRt
bC9IVE1MQW5jaG9yRWxlbWVudC5pZGwgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBy
byBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggYmMxZDNkYjgwZGVkOTRkN2ExNDFiNTczZTQ0
ZmJjYTBhODEzNjU4Ni4uMjY1ZjA0MTE0NGI1NzExMWQzYWJmYmNiMTdhMzgxZmY5OGRjMjdmMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJv
CkBAIC00MDMsNyArNDAzLDggQEAgdjggewogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJ
bmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOEN1c3RvbUV2ZW50TGlzdGVuZXIuY3BwIFwKLSAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAorICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAogCiAgICAgU09VUkNFUyArPSBcCiAgICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwIFwK
QEAgLTgzOCw2ICs4MzksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0NvbGxlY3Rpb25DYWNo
ZS5jcHAgXAogICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmNwcCBcCiAgICAgaHRtbC9E
T01Gb3JtRGF0YS5jcHAgXAorICAgIGh0bWwvRE9NVG9rZW5MaXN0LmNwcCBcCiAgICAgaHRtbC9E
YXRhR3JpZENvbHVtbi5jcHAgXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmNwcCBcCiAg
ICAgaHRtbC9EYXRlQ29tcG9uZW50cy5jcHAgXApAQCAtMTcxNiw2ICsxNzE4LDcgQEAgSEVBREVS
UyArPSBcCiAgICAgaHRtbC9EYXRlQ29tcG9uZW50cy5oIFwKICAgICBodG1sL0RPTURhdGFHcmlk
RGF0YVNvdXJjZS5oIFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmggXAorICAgIGh0bWwvRE9NVG9r
ZW5MaXN0LmggXAogICAgIGh0bWwvRm9ybURhdGFMaXN0LmggXAogICAgIGh0bWwvRlRQRGlyZWN0
b3J5RG9jdW1lbnQuaCBcCiAgICAgaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5oIFwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDU1YzhkNzIwOTY2MTU2NzZlNTVkYzQ3OTMw
OTQ0ODMwZGNlNDZkZmEuLjFiMWRkOTNjNjRmYzE4NjE5Y2ZiMzZmODFiNDgyMmE0ODQwZDg0NDUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNDAzMyw2ICs0MDMzLDE0
IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQo
V2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNET01U
b2tlbkxpc3QuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0RPTVRva2VuTGlzdC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQog
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU0RPTVdpbmRvdy5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQpAQCAtMzc4NDUsNiArMzc4NTMsMTggQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxET01Ub2tlbkxpc3QuY3BwIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxE
T01Ub2tlbkxpc3QuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGh0bWxcRm9ybURhdGFMaXN0LmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRlRQRGlyZWN0b3J5RG9jdW1l
bnQuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDNhYmUzZDM1ZjliYjc0M2IzZDg1OTI0MDEwMzk3YzgyZTA5ZGY1
NDIuLmRjM2Q0ZjJmZTcwZjUyYjc0MzVjYWU4MmI2ZGUyYzNkOTM4NjhkNjIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDEyLDEyICsxNDEyLDE4IEBA
CiAJCTc2OTNCQUQzMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5M0JBQ0YxMDZDMkRDQTAw
N0IwODIzIC8qIFBsdWdpbkhhbHRlci5jcHAgKi87IH07CiAJCTc2OTNCQUQ0MTA2QzJEQ0EwMDdC
MDgyMyAvKiBQbHVnaW5IYWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDc2OTNCQUQwMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuaCAq
LzsgfTsKIAkJNzY5M0JBRDUxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5M0JBRDEx
MDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc2OTQ1NjNDMTIxNEQ5N0MwMDA3Q0JB
RSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3Njk0NTYzQTEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3Qu
Y3BwICovOyB9OworCQk3Njk0NTYzRDEyMTREOTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjNC
MTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oICovOyB9OworCQk3Njk0NTY1QjEy
MTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Njk0NTY1OTEyMTREQjYzMDAwN0NCQUUgLyogRE9N
RE9NVG9rZW5MaXN0LmggKi87IH07CisJCTc2OTQ1NjVDMTIxNERCNjMwMDA3Q0JBRSAvKiBET01E
T01Ub2tlbkxpc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3Njk0NTY1QTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0Lm1tICovOyB9
OwogCQk3NkNERDJGMjExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVD
MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwICovOyB9OwogCQk3
NkNERDJGMzExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkNERDJFRDExMDNEQTY2
MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmggKi87IH07CiAJCTc2Q0REMkY0MTEw
M0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkNERDJFRTExMDNEQTY2MDA2
ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAuY3BwICovOyB9OwogCQk3NkNERDJG
NTExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0UG9wdXAuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVGMTEwM0RBNjYw
MDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oICovOyB9OwogCQk3NkNERDJG
NjExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkYwMTEwM0RB
NjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uY3BwICovOyB9OwogCQk3
NkNERDJGNzExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkNERDJGMTEx
MDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmggKi87IH07CisJ
CTc2RkMyQjBCMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGQzJCMDgxMjM3MERBMDAwNkE5
OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgKi87IH07CisJCTc2RkMyQjBDMTIzNzBEQTAwMDZBOTkx
QSAvKiBET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc2RkMyQjA5MTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuaCAqLzsg
fTsKIAkJNzZGRjE3RTMxMTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdpblZpZXdOb25lLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2RkYxN0UyMTEyMzU2
NzMwMDFENjFCNSAvKiBQbHVnaW5WaWV3Tm9uZS5jcHAgKi87IH07CiAJCTc5QUM5MjE4MTA5OTQ1
QzgwMDIxMjY2RSAvKiBKU0NvbXBvc2l0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlBQzkyMTYxMDk5NDVDODAwMjEyNjZFIC8qIEpT
Q29tcG9zaXRpb25FdmVudC5jcHAgKi87IH07CiAJCTc5QUM5MjE5MTA5OTQ1QzgwMDIxMjY2RSAv
KiBKU0NvbXBvc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDc5QUM5MjE3MTA5OTQ1QzgwMDIxMjY2RSAvKiBKU0NvbXBvc2l0aW9uRXZl
bnQuaCAqLzsgfTsKQEAgLTI3NzcsNyArMjc4Myw2IEBACiAJCTk3M0UzMjU2MTA4ODNCN0MwMDVC
QzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzNFMzI1NDEwODgzQjdDMDA1QkM0OTMgLyogUmVzb3Vy
Y2VMb2FkTm90aWZpZXIuY3BwICovOyB9OwogCQk5NzNFMzI1NzEwODgzQjdDMDA1QkM0OTMgLyog
UmVzb3VyY2VMb2FkTm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk3M0UzMjU1MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3Rp
Zmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTk3NkQ2Qzc3MTIyQjhBM0QwMDFGRDFGNyAvKiBBc3luY0ZpbGVXcml0ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkQ2QzU4MTIyQjhBM0QwMDFG
RDFGNyAvKiBBc3luY0ZpbGVXcml0ZXIuaCAqLzsgfTsKLQkJOTc2RDZDOTMxMjJCOEEzRDAwMUZE
MUY3IC8qIEFzeW5jRmlsZVdyaXRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNzQxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmls
ZVdyaXRlckNsaWVudC5oICovOyB9OwogCQk5NzZENkM3ODEyMkI4QTNEMDAxRkQxRjcgLyogQmxv
Yi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZE
NkM1OTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYi5jcHAgKi87IH07CiAJCTk3NkQ2Qzc5MTIyQjhB
M0QwMDFGRDFGNyAvKiBCbG9iLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NzZENkM1QTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYi5oICovOyB9OwogCQk5
NzZENkM3QjEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNUMxMjJCOEEzRDAwMUZEMUY3
IC8qIEJsb2JCdWlsZGVyLmNwcCAqLzsgfTsKQEAgLTI3OTgsNiArMjgwMyw3IEBACiAJCTk3NkQ2
QzhGMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlVGhyZWFkVGFzay5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNzAxMjJCOEEzRDAwMUZEMUY3IC8q
IEZpbGVUaHJlYWRUYXNrLmggKi87IH07CiAJCTk3NkQ2QzkwMTIyQjhBM0QwMDFGRDFGNyAvKiBG
aWxlV3JpdGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3NkQ2QzcxMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlV3JpdGVyLmNwcCAqLzsgfTsKIAkJ
OTc2RDZDOTExMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkQ2QzcyMTIyQjhBM0QwMDFGRDFGNyAv
KiBGaWxlV3JpdGVyLmggKi87IH07CisJCTk3NkQ2QzkzMTIyQjhBM0QwMDFGRDFGNyAvKiBBc3lu
Y0ZpbGVXcml0ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk3NkQ2Qzc0MTIyQjhBM0QwMDFGRDFGNyAvKiBBc3luY0ZpbGVXcml0ZXJDbGll
bnQuaCAqLzsgfTsKIAkJOTc2RDZDOTQxMjJCOEEzRDAwMUZEMUY3IC8qIFRocmVhZGFibGVCbG9i
UmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTc2RDZDNzUxMjJCOEEzRDAwMUZEMUY3IC8qIFRocmVhZGFibGVCbG9iUmVnaXN0cnkuY3Bw
ICovOyB9OwogCQk5NzZENkM5NTEyMkI4QTNEMDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdp
c3RyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2
RDZDNzYxMjJCOEEzRDAwMUZEMUY3IC8qIFRocmVhZGFibGVCbG9iUmVnaXN0cnkuaCAqLzsgfTsK
IAkJOTc3QjM3MjMxMjI4NzIxNzAwQjgxRkY4IC8qIEhUTUxFbGVtZW50U3RhY2suY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc3QjM3MUYxMjI4NzIx
NzAwQjgxRkY4IC8qIEhUTUxFbGVtZW50U3RhY2suY3BwICovOyB9OwpAQCAtNzM3MCwxMiArNzM3
NiwxOSBAQAogCQk3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpbkhhbHRlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2OTNCQUQwMTA2QzJEQ0EwMDdCMDgyMyAvKiBQ
bHVnaW5IYWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGx1Z2luSGFs
dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2OTNCQUQxMTA2QzJEQ0EwMDdC
MDgyMyAvKiBQbHVnaW5IYWx0ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUGx1Z2luSGFsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVRva2VuTGlzdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjNCMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRv
a2VuTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVRva2VuTGlz
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Njk0NTY1OTEyMTREQjYzMDAwN0NC
QUUgLyogRE9NRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTURPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3Njk0NTY1
QTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NRE9NVG9rZW5MaXN0Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3NkNERDJFQzExMDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0
eU1lbnVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vz
c2liaWxpdHlNZW51TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0RE
MkVEMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVFMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3Np
YmlsaXR5TWVudUxpc3RQb3B1cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTc2Q0REMkVGMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxp
c3RQb3B1cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5
TWVudUxpc3RQb3B1cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NkNERDJGMDEx
MDNEQTY2MDA2ODA1MjEgLyogQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdE9wdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkYxMTEwM0RBNjYwMDY4
MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTc2RkMyQjA4MTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NVG9rZW5MaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZGQzJCMDkxMjM3MERBMDAwNkE5
OTFBIC8qIERPTVRva2VuTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
T01Ub2tlbkxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZGQzJCMEExMjM3
MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
RE9NVG9rZW5MaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZGRjE3RTIx
MTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdpblZpZXdOb25lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBsdWdpblZpZXdOb25lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzlBQzkyMTYxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NvbXBvc2l0aW9u
RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUFDOTIxNzEwOTk0NUM4
MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTQ29tcG9zaXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtODY3Nyw3ICs4NjkwLDYgQEAKIAkJOTczRTMyNTQxMDg4M0I3QzAwNUJDNDkzIC8qIFJl
c291cmNlTG9hZE5vdGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlc291cmNlTG9hZE5vdGlmaWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTczRTMyNTUxMDg4M0I3QzAwNUJDNDkzIC8qIFJlc291cmNlTG9hZE5vdGlmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZE5vdGlmaWVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NkQ2QzU4MTIyQjhBM0QwMDFGRDFGNyAvKiBB
c3luY0ZpbGVXcml0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQXN5bmNG
aWxlV3JpdGVyLmg7IHBhdGggPSBmaWxlYXBpL0FzeW5jRmlsZVdyaXRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk5NzZENkM3NDEyMkI4QTNEMDAxRkQxRjcgLyogQXN5bmNGaWxl
V3JpdGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFzeW5jRmls
ZVdyaXRlckNsaWVudC5oOyBwYXRoID0gZmlsZWFwaS9Bc3luY0ZpbGVXcml0ZXJDbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNTkxMjJCOEEzRDAwMUZEMUY3IC8q
IEJsb2IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQmxvYi5jcHA7
IHBhdGggPSBmaWxlYXBpL0Jsb2IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
NzZENkM1QTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBCbG9iLmg7IHBhdGggPSBmaWxlYXBpL0Jsb2IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNUMxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2JCdWlsZGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJsb2JCdWlsZGVyLmNwcDsg
cGF0aCA9IGZpbGVhcGkvQmxvYkJ1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtODY5OCw2ICs4NzEwLDcgQEAKIAkJOTc2RDZDNzAxMjJCOEEzRDAwMUZEMUY3IC8qIEZp
bGVUaHJlYWRUYXNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZpbGVUaHJl
YWRUYXNrLmg7IHBhdGggPSBmaWxlYXBpL0ZpbGVUaHJlYWRUYXNrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTk3NkQ2QzcxMTIyQjhBM0QwMDFGRDFGNyAvKiBGaWxlV3JpdGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZpbGVXcml0ZXIuY3BwOyBw
YXRoID0gZmlsZWFwaS9GaWxlV3JpdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTc2RDZDNzIxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gRmlsZVdyaXRlci5oOyBwYXRoID0gZmlsZWFwaS9GaWxlV3Jp
dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk3NkQ2Qzc0MTIyQjhBM0QwMDFG
RDFGNyAvKiBBc3luY0ZpbGVXcml0ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gQXN5bmNGaWxlV3JpdGVyQ2xpZW50Lmg7IHBhdGggPSBmaWxlYXBpL0FzeW5jRmls
ZVdyaXRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzZENkM3NTEy
MkI4QTNEMDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcDsgcGF0
aCA9IGZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTk3NkQ2Qzc2MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJl
Z2lzdHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFRocmVhZGFibGVCbG9i
UmVnaXN0cnkuaDsgcGF0aCA9IGZpbGVhcGkvVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzdCMzcxRjEyMjg3MjE3MDBCODFGRjggLyogSFRN
TEVsZW1lbnRTdGFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBI
VE1MRWxlbWVudFN0YWNrLmNwcDsgcGF0aCA9IHBhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNTIwLDYgKzEzNTMzLDggQEAKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTJFMkQ5OUU1MTBFMkJDMUMwMDQ5NjMzNyAvKiBET01CbG9iLmggKi8s
CiAJCQkJMkUyRDk5RTYxMEUyQkMxQzAwNDk2MzM3IC8qIERPTUJsb2IubW0gKi8sCisJCQkJNzY5
NDU2NTkxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5oICovLAorCQkJCTc2OTQ1
NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi8sCiAJCQkJQkMwMEVG
RkUwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGUuaCAqLywKIAkJCQlCQzAwRUZGRjBFMEExODU1
MDBGRDA0RTMgLyogRE9NRmlsZS5tbSAqLywKIAkJCQkyRTNCQzEwNjExN0Q0Nzk4MDBCOTQwOUEg
LyogRE9NRmlsZUVycm9yLmggKi8sCkBAIC0xNDE0Myw2ICsxNDE1OCw5IEBACiAJCQkJMkVENjA5
QkExMTQ1QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRhLmNwcCAqLywKIAkJCQkyRUQ2MDlCQjEx
NDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuaCAqLywKIAkJCQkyRTA4ODhDMzExNDg4M0E5
MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsICovLAorCQkJCTc2RkMyQjA4MTIzNzBEQTAwMDZB
OTkxQSAvKiBET01Ub2tlbkxpc3QuY3BwICovLAorCQkJCTc2RkMyQjA5MTIzNzBEQTAwMDZBOTkx
QSAvKiBET01Ub2tlbkxpc3QuaCAqLywKKwkJCQk3NkZDMkIwQTEyMzcwREEwMDA2QTk5MUEgLyog
RE9NVG9rZW5MaXN0LmlkbCAqLywKIAkJCQlBODEzNkQzNzA5NzNBOEU3MDBENzQ0NjMgLyogRm9y
bURhdGFMaXN0LmNwcCAqLywKIAkJCQlBODEzNkQzNjA5NzNBOEU3MDBENzQ0NjMgLyogRm9ybURh
dGFMaXN0LmggKi8sCiAJCQkJOTcyMDVBQUQxMjM5MjhDQTAwQjE3MzgwIC8qIEZUUERpcmVjdG9y
eURvY3VtZW50LmNwcCAqLywKQEAgLTE0NjM0LDYgKzE0NjUyLDggQEAKIAkJCQlCQzc3RDE2ODBG
RjE5RjU1MDA3MDg4N0IgLyogSlNEYXRhR3JpZENvbHVtbkxpc3QuaCAqLywKIAkJCQkyRTA4ODhE
MjExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgKi8sCiAJCQkJMkUwODg4RDMx
MTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCAqLywKKwkJCQk3Njk0NTYzQTEyMTRE
OTdDMDAwN0NCQUUgLyogSlNET01Ub2tlbkxpc3QuY3BwICovLAorCQkJCTc2OTQ1NjNCMTIxNEQ5
N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oICovLAogCQkJCTQ5RUVDRUY0MTA1MDcwQzQw
MDA5OUZBQiAvKiBKU0Zsb2F0MzJBcnJheS5jcHAgKi8sCiAJCQkJNDlFRUNFRjUxMDUwNzBDNDAw
MDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmggKi8sCiAJCQkJQkM5N0U0MTAxMDkxNTRGQTAwMTBE
MzYxIC8qIEpTSFRNTEFsbENvbGxlY3Rpb24uY3BwICovLApAQCAtMjA1ODIsNiArMjA2MDIsOSBA
QAogCQkJCTg0NzMwRDkxMTI0OEYwQjMwMEQzQTlDOSAvKiBMaWdodFNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODQ3MzBEOTIxMjQ4RjBCMzAwRDNBOUM5IC8qIFBvaW50TGlnaHRTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDkzMTI0OEYwQjMwMEQzQTlDOSAvKiBTcG90TGln
aHRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTc2OTQ1NjNEMTIxNEQ5N0MwMDA3Q0JBRSAv
KiBKU0RPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzY5NDU2NUIxMjE0REI2MzAw
MDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzZGQzJCMEMx
MjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMzA2
MSw2ICsyMzA4NCw5IEBACiAJCQkJODQ3MzBEOEExMjQ4RjBCMzAwRDNBOUM5IC8qIEZFVGlsZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk4NDczMEQ4QzEyNDhGMEIzMDBEM0E5QzkgLyogRkVUdXJi
dWxlbmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg0NzMwRDkwMTI0OEYwQjMwMEQzQTlDOSAv
KiBMaWdodFNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Njk0NTYzQzEyMTREOTdDMDAw
N0NCQUUgLyogSlNET01Ub2tlbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzY5NDU2NUMx
MjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTc2RkMyQjBCMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0g
Yi9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KaW5kZXggMTI4MzVjYzRk
YWU0N2Q1YTFkZDY1MWE1ZDU2NWYzMGU1YTZmNzBkZS4uZDgwOGUxODk5ZjNhZmJkN2FmNWI4NzNk
NmVlZjZjYWE1MTE1YmQzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dO
VW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5h
bQpAQCAtNDksNiArNDksOCBAQCB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzICs9IFwKIAlE
ZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NU3RyaW5nTGlzdFByaXZhdGUuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVN0cmluZ01hcC5jcHAgXAogCURlcml2
ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01TdHJpbmdNYXBQcml2YXRlLmggXAorCURlcml2
ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01Ub2tlbkxpc3QuY3BwIFwKKwlEZXJpdmVkU291
cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NVG9rZW5MaXN0UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291
cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NV2luZG93LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Vi
a2l0L1dlYktpdERPTURPTVdpbmRvd1ByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0
L1dlYktpdERPTUVsZW1lbnQuY3BwIFwKQEAgLTI2Myw2ICsyNjUsNyBAQCB3ZWJraXRndGtfYnVp
bHRfaF9hcGkgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01JbXBsZW1l
bnRhdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NU3RyaW5nTGlz
dC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NU3RyaW5nTWFwLmggXAor
CURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01Ub2tlbkxpc3QuaCBcCiAJRGVyaXZl
ZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUVsZW1lbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Vi
a2l0L1dlYktpdERPTUVudGl0eVJlZmVyZW5jZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQv
V2ViS2l0RE9NRXZlbnQuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxl
bWVudEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAK
aW5kZXggOGExZGY1YzZjYTJhY2VmMDMzNzAxNDA1NjYzNTNmMDExYmU5ZDQ0Ni4uZjY5MTYyMGE4
YzgyZTRmMzgxM2RkZGE3Yjc3ODdiZjVkMjM3Yzg3OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNF
bGVtZW50Q3VzdG9tLmNwcApAQCAtNjAsNiArNjAsNyBAQCB2b2lkIEpTRWxlbWVudDo6bWFya0No
aWxkcmVuKE1hcmtTdGFjayYgbWFya1N0YWNrKQogICAgIEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSA9ICpIZWFwOjpoZWFwKHRoaXMpLT5nbG9iYWxEYXRhKCk7CiAKICAgICBtYXJrRE9NT2JqZWN0
V3JhcHBlcihtYXJrU3RhY2ssIGdsb2JhbERhdGEsIGVsZW1lbnQtPmF0dHJpYnV0ZU1hcCgpKTsK
KyAgICBtYXJrRE9NT2JqZWN0V3JhcHBlcihtYXJrU3RhY2ssIGdsb2JhbERhdGEsIGVsZW1lbnQt
Pm9wdGlvbmFsQ2xhc3NMaXN0KCkpOwogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFj
aywgZ2xvYmFsRGF0YSwgZWxlbWVudC0+b3B0aW9uYWxEYXRhc2V0KCkpOwogCiAgICAgaWYgKGVs
ZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0KaW5kZXggMWExMTRhNDI5N2UxNDkyOTMzYmFiMjgzZTM2NGY1Y2ExNDc5
MmJjZi4uODAzNTQyZTY5ZDgyZGNiZGY1Mjc4Y2RlNzJkMDZiNTU1NDJiNzExNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0yNDAsNyArMjQwLDcg
QEAgc3ViIEluZGV4R2V0dGVyUmV0dXJuc1N0cmluZ3MKIHsKICAgICBteSAkdHlwZSA9IHNoaWZ0
OwogCi0gICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVjbGFyYXRpb24iIG9yICR0
eXBlIGVxICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbiIg
b3IgJHR5cGUgZXEgIkRPTVN0cmluZ0xpc3QiOworICAgIHJldHVybiAxIGlmICR0eXBlIGVxICJD
U1NTdHlsZURlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiTWVkaWFMaXN0IiBvciAkdHlwZSBlcSAi
Q1NTVmFyaWFibGVzRGVjbGFyYXRpb24iIG9yICR0eXBlIGVxICJET01TdHJpbmdMaXN0IiBvciAk
dHlwZSBlcSAiRE9NVG9rZW5MaXN0IjsKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggZjc0ZjJiMWQ4OGY1ODk5NWM4
NzAyODU1YWQyZDU2YTJmMmRiNDM1YS4uMzM1M2YwZjVlNjc0MjYxNWNjM2UwYTM5ZWNmYjQyZTMz
NzFlNzM1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JWOC5wbQorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBt
CkBAIC0yNTEwLDYgKzI1MTAsNyBAQCBzdWIgSGFzQ3VzdG9tVG9WOEltcGxlbWVudGF0aW9uIHsK
ICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiQ2FudmFzUGl4ZWxBcnJheSI7CiAg
ICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkRPTVN0cmluZ01hcCI7CiAgICAgcmV0
dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkRPTVdpbmRvdyI7CisgICAgcmV0dXJuIDEgaWYg
JGludGVyZmFjZU5hbWUgZXEgIkRPTVRva2VuTGlzdCI7CiAgICAgcmV0dXJuIDEgaWYgJGludGVy
ZmFjZU5hbWUgZXEgIkVsZW1lbnQiOwogICAgIHJldHVybiAxIGlmICRpbnRlcmZhY2VOYW1lIGVx
ICJIVE1MRG9jdW1lbnQiOwogICAgIHJldHVybiAxIGlmICRpbnRlcmZhY2VOYW1lIGVxICJIVE1M
RWxlbWVudCI7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRv
a2VuTGlzdEN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2Vu
TGlzdEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcxZmY1YzI5ZGUwODY2Y2ZmZTk0ZDIwZjk0ODg3
NzE4MTllZGIxZAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlY4RE9NVG9rZW5MaXN0LmgiCisKKyNpbmNsdWRlICJET01Ub2tlbkxp
c3QuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOERPTVdyYXBwZXIuaCIK
KyNpbmNsdWRlICJWOEVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChET01Ub2tlbkxpc3QqIGltcGwpCit7CisgICAgaWYgKCFpbXBs
KQorICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IHdyYXBwZXIgPSBWOERPTVRva2VuTGlzdDo6d3JhcChpbXBsKTsKKyAgICAvLyBBZGQgYSBoaWRk
ZW4gcmVmZXJlbmNlIGZyb20gdGhlIGVsZW1lbnQgdG8gdGhlIERPTVRva2VuTGlzdC4KKyAgICBF
bGVtZW50KiBlbGVtZW50ID0gaW1wbC0+ZWxlbWVudCgpOworICAgIGlmICghd3JhcHBlci5Jc0Vt
cHR5KCkgJiYgZWxlbWVudCkgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZWxlbWVu
dFZhbHVlID0gdG9WOChlbGVtZW50KTsKKyAgICAgICAgaWYgKCFlbGVtZW50VmFsdWUuSXNFbXB0
eSgpICYmIGVsZW1lbnRWYWx1ZS0+SXNPYmplY3QoKSkKKyAgICAgICAgICAgIFY4RE9NV3JhcHBl
cjo6c2V0SGlkZGVuUmVmZXJlbmNlKGVsZW1lbnRWYWx1ZS5Bczx2ODo6T2JqZWN0PigpLCB3cmFw
cGVyKTsKKyAgICB9CisgICAgcmV0dXJuIHdyYXBwZXI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKaW5kZXggNWM0ZTgyYjJhNWY4NGI2YmZmYzc0N2E3MDgyZjg2ZjhjZWFjN2Y0
OC4uYzQwODc5MGM3Y2FhMzIyNzM5NjZiNjljNGM3NDZkMGRiOGMzMDU1YyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAi
Q2xpZW50UmVjdC5oIgogI2luY2x1ZGUgIkNsaWVudFJlY3RMaXN0LmgiCisjaW5jbHVkZSAiRE9N
VG9rZW5MaXN0LmgiCiAjaW5jbHVkZSAiRGF0YXNldERPTVN0cmluZ01hcC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgpAQCAtMTU3Myw2ICsx
NTc0LDIxIEBAIGJvb2wgRWxlbWVudDo6d2Via2l0TWF0Y2hlc1NlbGVjdG9yKGNvbnN0IFN0cmlu
ZyYgc2VsZWN0b3IsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAor
RE9NVG9rZW5MaXN0KiBFbGVtZW50OjpjbGFzc0xpc3QoKQoreworICAgIEVsZW1lbnRSYXJlRGF0
YSogZGF0YSA9IGVuc3VyZVJhcmVEYXRhKCk7CisgICAgaWYgKCFkYXRhLT5tX2NsYXNzTGlzdCkK
KyAgICAgICAgZGF0YS0+bV9jbGFzc0xpc3QgPSBET01Ub2tlbkxpc3Q6OmNyZWF0ZSh0aGlzKTsK
KyAgICByZXR1cm4gZGF0YS0+bV9jbGFzc0xpc3QuZ2V0KCk7Cit9CisKK0RPTVRva2VuTGlzdCog
RWxlbWVudDo6b3B0aW9uYWxDbGFzc0xpc3QoKSBjb25zdAoreworICAgIGlmICghaGFzUmFyZURh
dGEoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJhcmVEYXRhKCktPm1fY2xhc3NM
aXN0LmdldCgpOworfQorCiBET01TdHJpbmdNYXAqIEVsZW1lbnQ6OmRhdGFzZXQoKQogewogICAg
IEVsZW1lbnRSYXJlRGF0YSogZGF0YSA9IGVuc3VyZVJhcmVEYXRhKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmggYi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZDlhNTA4
NTQ4ZTA2NzA4YWI5MGIxNmI5ZGRjNzExZWYzNDg2NTUxNC4uYjUxZTc1MGE1MWQwOGNiZjE2ZDc5
NTZkYTlmMWQyZGYwM2Y1ZDQwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5oCisr
KyBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMzYsNiArMzYsNyBAQCBjbGFzcyBBdHRyaWJ1
dGU7CiBjbGFzcyBDbGllbnRSZWN0OwogY2xhc3MgQ2xpZW50UmVjdExpc3Q7CiBjbGFzcyBET01T
dHJpbmdNYXA7CitjbGFzcyBET01Ub2tlbkxpc3Q7CiBjbGFzcyBFbGVtZW50UmFyZURhdGE7CiBj
bGFzcyBJbnRTaXplOwogCkBAIC0yNjksNiArMjcwLDkgQEAgcHVibGljOgogCiAgICAgYm9vbCB3
ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvcnMsIEV4Y2VwdGlvbkNv
ZGUmKTsKIAorICAgIERPTVRva2VuTGlzdCogY2xhc3NMaXN0KCk7CisgICAgRE9NVG9rZW5MaXN0
KiBvcHRpb25hbENsYXNzTGlzdCgpIGNvbnN0OworCiAgICAgRE9NU3RyaW5nTWFwKiBkYXRhc2V0
KCk7CiAgICAgRE9NU3RyaW5nTWFwKiBvcHRpb25hbERhdGFzZXQoKSBjb25zdDsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9FbGVtZW50
UmFyZURhdGEuaAppbmRleCA4ZTMzOGFiYzY4MGYyNDRkMmY0YWZiNmFlZWZiNTYzMzUyYWEzZmYy
Li5mMWU2MzM0MThjYzI0NjY5NTNhODkyOWE4MGMzY2NjYzU2ZWJjZDhhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50UmFy
ZURhdGEuaApAQCAtMjIsNiArMjIsNyBAQAogI2lmbmRlZiBFbGVtZW50UmFyZURhdGFfaAogI2Rl
ZmluZSBFbGVtZW50UmFyZURhdGFfaAogCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCiAjaW5j
bHVkZSAiRGF0YXNldERPTVN0cmluZ01hcC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNs
dWRlICJOb2RlUmFyZURhdGEuaCIKQEAgLTQyLDYgKzQzLDcgQEAgcHVibGljOgogICAgIFJlZlB0
cjxSZW5kZXJTdHlsZT4gbV9jb21wdXRlZFN0eWxlOwogCiAgICAgT3duUHRyPERhdGFzZXRET01T
dHJpbmdNYXA+IG1fZGF0YXNldERPTVN0cmluZ01hcDsKKyAgICBPd25QdHI8RE9NVG9rZW5MaXN0
PiBtX2NsYXNzTGlzdDsKIH07CiAKIGlubGluZSBJbnRTaXplIGRlZmF1bHRNaW5pbXVtU2l6ZUZv
clJlc2l6aW5nKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwIGIv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYTE1OGUyZWFlNWJiYjY0ZGM2ZWE4
MTJlODU2ODMyZWFlMDE0NjRhMS4uMjA1ZTIxMDQ4MTkwODEyZmQ4MjAwMDZiNzdlOWE3MTU5ZjMz
ZjZkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKKysrIGIvV2Vi
Q29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJD
U1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUg
IkNTU1ZhbHVlS2V5d29yZHMuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
RnVuY3Rpb25zLmg+CkBAIC0yMTcsMTIgKzIxOCwxMyBAQCB2b2lkIFN0eWxlZEVsZW1lbnQ6OmNs
YXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQog
ICAgIH0KICAgICBib29sIGhhc0NsYXNzID0gaSA8IGxlbmd0aDsKICAgICBzZXRIYXNDbGFzcyho
YXNDbGFzcyk7Ci0gICAgaWYgKGhhc0NsYXNzKQorICAgIGlmIChoYXNDbGFzcykgewogICAgICAg
ICBhdHRyaWJ1dGVzKCktPnNldENsYXNzKG5ld0NsYXNzU3RyaW5nKTsKLSAgICBlbHNlIHsKLSAg
ICAgICAgaWYgKGF0dHJpYnV0ZU1hcCgpKSAgICAKLSAgICAgICAgICAgIGF0dHJpYnV0ZU1hcCgp
LT5jbGVhckNsYXNzKCk7Ci0gICAgfQorICAgICAgICBET01Ub2tlbkxpc3QqIGNsYXNzTGlzdCA9
IG9wdGlvbmFsQ2xhc3NMaXN0KCk7CisgICAgICAgIGlmIChjbGFzc0xpc3QpCisgICAgICAgICAg
ICBjbGFzc0xpc3QtPnJlc2V0KG5ld0NsYXNzU3RyaW5nKTsKKyAgICB9IGVsc2UgaWYgKGF0dHJp
YnV0ZU1hcCgpKQorICAgICAgICBhdHRyaWJ1dGVNYXAoKS0+Y2xlYXJDbGFzcygpOwogICAgIHNl
dE5lZWRzU3R5bGVSZWNhbGMoKTsKICAgICBkaXNwYXRjaFN1YnRyZWVNb2RpZmllZEV2ZW50KCk7
CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmggYi9XZWJDb3JlL2Rv
bS9TdHlsZWRFbGVtZW50LmgKaW5kZXggODA0MGRiZjFlMzY4YWNiN2Y0ZWE4ZTgzNTdhMWIxNWFm
ODA0MmYwMy4uNGI2MjM4ODE0NDRlMTg1NDA3NjM2M2MwY2M2OTIxYjk4NzNkMzA2MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL1N0eWxl
ZEVsZW1lbnQuaApAQCAtMzIsNiArMzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBBdHRyaWJ1dGU7CitjbGFzcyBDbGFzc0xpc3Q7CiBjbGFzcyBDU1NNYXBwZWRBdHRyaWJ1dGVE
ZWNsYXJhdGlvbjsKIAogY2xhc3MgU3R5bGVkRWxlbWVudCA6IHB1YmxpYyBFbGVtZW50IHsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuY3BwIGIvV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFjMTA4Y2FiMzcxOWI5MzhkNzdkYmUwYjYwOGNm
MDYxNjczY2ZjNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3Qu
Y3BwCkBAIC0wLDAgKzEsMjA2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorCisjaW5jbHVkZSAiRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKKyNpbmNs
dWRlICJTdHJpbmdCdWlsZGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKKworCitzdGF0aWMgYm9vbCB2YWxpZGF0ZVRva2VuKGNvbnN0IEF0
b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICh0b2tlbi5p
c0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgdW5zaWduZWQgbGVuZ3RoID0gdG9rZW4ubGVuZ3RoKCk7CisgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgIGlmIChpc0Ns
YXNzV2hpdGVzcGFjZSh0b2tlbltpXSkpIHsKKyAgICAgICAgICAgIGVjID0gSU5WQUxJRF9DSEFS
QUNURVJfRVJSOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQor
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK0RPTVRva2VuTGlzdDo6RE9NVG9rZW5MaXN0KEVsZW1l
bnQqIGVsZW1lbnQpCisgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkKK3sKKyAgICBpZiAobV9lbGVt
ZW50LT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSkKKyAgICAgICAgbV9jbGFzc05hbWVzID0g
bmV3IFNwYWNlU3BsaXRTdHJpbmcobV9lbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKGNsYXNzQXR0
ciksIGZhbHNlKTsKK30KKwordm9pZCBET01Ub2tlbkxpc3Q6OnJlZigpCit7CisgICAgbV9lbGVt
ZW50LT5yZWYoKTsKK30KKwordm9pZCBET01Ub2tlbkxpc3Q6OmRlcmVmKCkKK3sKKyAgICBtX2Vs
ZW1lbnQtPmRlcmVmKCk7Cit9CisKK3Vuc2lnbmVkIERPTVRva2VuTGlzdDo6bGVuZ3RoKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gY2xhc3NOYW1lcygpLT5zaXplKCk7Cit9CisKK2NvbnN0IEF0b21p
Y1N0cmluZyBET01Ub2tlbkxpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAg
aWYgKGluZGV4ID49IGxlbmd0aCgpKQorICAgICAgICByZXR1cm4gQXRvbWljU3RyaW5nKCk7Cisg
ICAgcmV0dXJuICgqY2xhc3NOYW1lcygpKVtpbmRleF07Cit9CisKK2Jvb2wgRE9NVG9rZW5MaXN0
Ojpjb250YWlucyhjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykg
Y29uc3QKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sIGVjKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiBjb250YWluc0ludGVybmFsKHRva2VuKTsKK30KKworYm9v
bCBET01Ub2tlbkxpc3Q6OmNvbnRhaW5zSW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tl
bikgY29uc3QKK3sKKyAgICByZXR1cm4gY2xhc3NOYW1lcygpLT5jb250YWlucyh0b2tlbik7Cit9
CisKK3ZvaWQgRE9NVG9rZW5MaXN0OjphZGQoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCAgZWMpKQor
ICAgICAgICByZXR1cm47CisgICAgYWRkSW50ZXJuYWwodG9rZW4pOworfQorCit2b2lkIERPTVRv
a2VuTGlzdDo6YWRkSW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbikgY29uc3QKK3sK
KyAgICBjb25zdCBBdG9taWNTdHJpbmcmIG9sZENsYXNzTmFtZShtX2VsZW1lbnQtPmZhc3RHZXRB
dHRyaWJ1dGUoY2xhc3NBdHRyKSk7CisgICAgaWYgKG9sZENsYXNzTmFtZS5pc0VtcHR5KCkpCisg
ICAgICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgdG9rZW4pOworICAgIGVs
c2UgaWYgKCFjb250YWluc0ludGVybmFsKHRva2VuKSkgeworICAgICAgICBTdHJpbmdCdWlsZGVy
IGJ1aWxkZXI7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKG9sZENsYXNzTmFtZSk7CisgICAgICAg
IGJ1aWxkZXIuYXBwZW5kKCcgJyk7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHRva2VuKTsKKyAg
ICAgICAgbV9lbGVtZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCBidWlsZGVyLnRvU3RyaW5n
KCkpOworICAgIH0KK30KKwordm9pZCBET01Ub2tlbkxpc3Q6OnJlbW92ZShjb25zdCBBdG9taWNT
dHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9r
ZW4odG9rZW4sICBlYykpCisgICAgICAgIHJldHVybjsKKyAgICByZW1vdmVJbnRlcm5hbCh0b2tl
bik7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0OjpyZW1vdmVJbnRlcm5hbChjb25zdCBBdG9taWNT
dHJpbmcmIHRva2VuKSBjb25zdAoreworICAgIC8vIENoZWNrIHVzaW5nIGNvbnRhaW5zIGZpcnN0
IHNpbmNlIGl0IHVzZXMgQXRvbWljU3RyaW5nIGNvbXBhcmlzb25zIGluc3RlYWQKKyAgICAvLyBv
ZiBjaGFyYWN0ZXIgYnkgY2hhcmFjdGVyIHRlc3RpbmcuCisgICAgaWYgKCFjb250YWluc0ludGVy
bmFsKHRva2VuKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gQWxnb3JpdGhtIGRlZmluZWQg
YXQgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0
aXBhZ2UvY29tbW9uLW1pY3Jvc3ludGF4ZXMuaHRtbCNyZW1vdmUtYS10b2tlbi1mcm9tLWEtc3Ry
aW5nCisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGlucHV0ID0gbV9lbGVtZW50LT5mYXN0R2V0
QXR0cmlidXRlKGNsYXNzQXR0cik7CisgICAgY29uc3QgdW5zaWduZWQgaW5wdXRMZW5ndGggPSBp
bnB1dC5sZW5ndGgoKTsKKyAgICBWZWN0b3I8VUNoYXI+IHRva2VuVmVjdG9yOworICAgIGFwcGVu
ZCh0b2tlblZlY3RvciwgdG9rZW4pOworICAgIFZlY3RvcjxVQ2hhcj4gb3V0cHV0OyAvLyAzCisg
ICAgdW5zaWduZWQgcG9zaXRpb24gPSAwOyAvLyA0CisKKyAgICAvLyBTdGVwIDUKKyAgICB3aGls
ZSAocG9zaXRpb24gPCBpbnB1dExlbmd0aCkgeworICAgICAgICBpZiAoaXNDbGFzc1doaXRlc3Bh
Y2UoaW5wdXRbcG9zaXRpb25dKSkgeyAvLyA2CisgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKGlu
cHV0W3Bvc2l0aW9uKytdKTsgLy8gNi4xLCA2LjIKKyAgICAgICAgICAgIGNvbnRpbnVlOyAvLyA2
LjMKKyAgICAgICAgfQorCisgICAgICAgIC8vIFN0ZXAgNworICAgICAgICBWZWN0b3I8VUNoYXI+
IHM7CisgICAgICAgIHdoaWxlIChwb3NpdGlvbiA8IGlucHV0TGVuZ3RoICYmICFpc0NsYXNzV2hp
dGVzcGFjZShpbnB1dFtwb3NpdGlvbl0pKQorICAgICAgICAgICAgcy5hcHBlbmQoaW5wdXRbcG9z
aXRpb24rK10pOworCisgICAgICAgIC8vIFN0ZXAgOAorICAgICAgICBpZiAocyA9PSB0b2tlblZl
Y3RvcikgeworICAgICAgICAgICAgLy8gU3RlcCA4LjEKKyAgICAgICAgICAgIHdoaWxlIChwb3Np
dGlvbiA8IGlucHV0TGVuZ3RoICYmIGlzQ2xhc3NXaGl0ZXNwYWNlKGlucHV0W3Bvc2l0aW9uXSkp
CisgICAgICAgICAgICAgICAgKytwb3NpdGlvbjsKKworICAgICAgICAgICAgLy8gU3RlcCA4LjIK
KyAgICAgICAgICAgIHNpemVfdCBqID0gb3V0cHV0LnNpemUoKTsKKyAgICAgICAgICAgIHdoaWxl
IChqID4gMCAmJiBpc0NsYXNzV2hpdGVzcGFjZShvdXRwdXRbaiAtIDFdKSkKKyAgICAgICAgICAg
ICAgICAtLWo7CisgICAgICAgICAgICBvdXRwdXQucmVzaXplKGopOworCisgICAgICAgICAgICAv
LyBTdGVwIDguMworICAgICAgICAgICAgaWYgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGggJiYgIW91
dHB1dC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgnICcpOworICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgIG91dHB1dC5hcHBlbmQocyk7IC8vIFN0ZXAgOQorICAg
IH0KKworICAgIG1fZWxlbWVudC0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgU3RyaW5nOjphZG9w
dChvdXRwdXQpKTsKK30KKworYm9vbCBET01Ub2tlbkxpc3Q6OnRvZ2dsZShjb25zdCBBdG9taWNT
dHJpbmcmIHRva2VuLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9r
ZW4odG9rZW4sICBlYykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChjb250YWlu
c0ludGVybmFsKHRva2VuKSkgeworICAgICAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgYWRkSW50ZXJuYWwodG9rZW4pOworICAgIHJl
dHVybiB0cnVlOworfQorCitTdHJpbmcgRE9NVG9rZW5MaXN0Ojp0b1N0cmluZygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fZWxlbWVudC0+ZmFzdEdldEF0dHJpYnV0ZShjbGFzc0F0dHIpOworfQor
Cit2b2lkIERPTVRva2VuTGlzdDo6cmVzZXQoY29uc3QgU3RyaW5nJiBuZXdDbGFzc05hbWUpCit7
CisgICAgaWYgKG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpCisgICAgICAg
IG1fY2xhc3NOYW1lcy0+c2V0KG5ld0NsYXNzTmFtZSwgZmFsc2UpOworfQorCitjb25zdCBTcGFj
ZVNwbGl0U3RyaW5nKiBET01Ub2tlbkxpc3Q6OmNsYXNzTmFtZXMoKSBjb25zdAoreworICAgIGlm
IChtX2VsZW1lbnQtPmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpKQorICAgICAgICByZXR1cm4g
bV9jbGFzc05hbWVzLmdldCgpOworICAgIHJldHVybiAmbV9lbGVtZW50LT5hdHRyaWJ1dGVNYXAo
KS0+Y2xhc3NOYW1lcygpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDlmMzQwYzA5ZjMwNzZhODBiYzU2NjI1MDE1Nzc4NDM2NGU3ZDg1OQot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApAQCAtMCwwICsx
LDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBET01Ub2tlbkxpc3RfaAorI2RlZmluZSBE
T01Ub2tlbkxpc3RfaAorCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlNw
YWNlU3BsaXRTdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBFbGVtZW50OworCitjbGFzcyBET01Ub2tlbkxpc3QgOiBwdWJs
aWMgTm9uY29weWFibGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPERPTVRva2Vu
TGlzdD4gY3JlYXRlKEVsZW1lbnQqIGVsZW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4gbmV3
IERPTVRva2VuTGlzdChlbGVtZW50KTsKKyAgICB9CisKKyAgICB2b2lkIHJlZigpOworICAgIHZv
aWQgZGVyZWYoKTsKKworICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OworICAgIGNvbnN0IEF0
b21pY1N0cmluZyBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKyAgICBib29sIGNvbnRhaW5z
KGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2b2lkIGFk
ZChjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZW1vdmUo
Y29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworICAgIGJvb2wgdG9nZ2xlKGNv
bnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBTdHJpbmcgdG9TdHJpbmco
KSBjb25zdDsKKworICAgIHZvaWQgcmVzZXQoY29uc3QgU3RyaW5nJik7CisKKyAgICBFbGVtZW50
KiBlbGVtZW50KCkgeyByZXR1cm4gbV9lbGVtZW50OyB9CisKK3ByaXZhdGU6CisgICAgRE9NVG9r
ZW5MaXN0KEVsZW1lbnQqIGVsZW1lbnQpOworCisgICAgdm9pZCBhZGRJbnRlcm5hbChjb25zdCBB
dG9taWNTdHJpbmcmKSBjb25zdDsKKyAgICBib29sIGNvbnRhaW5zSW50ZXJuYWwoY29uc3QgQXRv
bWljU3RyaW5nJikgY29uc3Q7CisgICAgdm9pZCByZW1vdmVJbnRlcm5hbChjb25zdCBBdG9taWNT
dHJpbmcmKSBjb25zdDsKKworICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcqIGNsYXNzTmFtZXMo
KSBjb25zdDsKKworICAgIEVsZW1lbnQqIG1fZWxlbWVudDsKKyAgICBPd25QdHI8U3BhY2VTcGxp
dFN0cmluZz4gbV9jbGFzc05hbWVzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRE9NVG9rZW5MaXN0X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tl
bkxpc3QuaWRsIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQ2
OTAwZWEwNGZlZGM3OWNjNjkzZWY2ZjdmNjhlZTRiZmJhNjFkZQotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCittb2R1bGUgY29yZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBHZW5lcmF0
ZUNvbnN0cnVjdG9yLAorICAgICAgICBIYXNJbmRleEdldHRlcgorICAgIF0gRE9NVG9rZW5MaXN0
IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAg
ICAgICBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsXSBET01TdHJpbmcgaXRlbShpbiB1bnNpZ25l
ZCBsb25nIGluZGV4KTsKKyAgICAgICAgYm9vbGVhbiBjb250YWlucyhpbiBET01TdHJpbmcgdG9r
ZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2b2lkIGFkZChpbiBET01TdHJpbmcg
dG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2b2lkIHJlbW92ZShpbiBET01T
dHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBib29sZWFuIHRvZ2ds
ZShpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworCisjaWYgZGVmaW5l
ZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCisgICAgICAgIFtE
b250RW51bV0gRE9NU3RyaW5nIHRvU3RyaW5nKCk7CisjZW5kaWYKKyAgICB9OworCit9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmlkbAppbmRleCA4NjNmMjhjODY1NDdlYjk3Y2M0OGNjNjIxZDlhMWI2NmFjOTI2N2Ji
Li5iMTI3YzUxNzI3NjViMThjODE4MDFiZGNlNmY1YTcwYTAyZTNkYThmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5pZGwKQEAgLTMxLDYgKzMxLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBsYW5nOwogICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBkaXI7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdD1jbGFzc10gRE9NU3RyaW5nIGNsYXNzTmFtZTsKKyAgICAgICAgICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCBjbGFzc0xpc3Q7CiAKICAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICAgIHRhYkluZGV4OwogICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgICAgZHJhZ2dhYmxlOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApp
bmRleCBmNWJhMjVjMzZhOWFkMmM3ZmQxNjU5YTViNWQzZDA2ZDg3YmE1YzQ2Li4wODY5MWQ3NGMw
NjA5NWU0OGE2OGI3NTY1NjZlNWJmODVlZjlhZDM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDAsNiAr
NDAsNyBAQAogI2luY2x1ZGUgIkRPTVNlbGVjdGlvbi5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xp
c3QuaCIKICNpbmNsdWRlICJET01UaW1lci5oIgorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgog
I2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VDYWxsYmFjay5oIgogI2lu
Y2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNzJjYTM2
YTk3ZjUzOThlYTBlYWNmYjQxZjE5MGQwMDFhYTI0Y2ZhNC4uOGNhYzg3OTk3YWE5NTMyNjYwZTVi
ZWMyM2U5OWNiMTkxZWJkOTRlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTM3OSw2ICszNzksNyBAQCBt
b2R1bGUgd2luZG93IHsKIC8vICAgICAgICBhdHRyaWJ1dGUgRE9NSW1wbGVtZW50YXRpb25MaXN0
Q29uc3RydWN0b3IgRE9NSW1wbGVtZW50YXRpb25MaXN0OwogLy8gICAgICAgIGF0dHJpYnV0ZSBE
T01JbXBsZW1lbnRhdGlvblNvdXJjZUNvbnN0cnVjdG9yIERPTUltcGxlbWVudGF0aW9uU291cmNl
OwogICAgICAgICBhdHRyaWJ1dGUgRE9NSW1wbGVtZW50YXRpb25Db25zdHJ1Y3RvciBET01JbXBs
ZW1lbnRhdGlvbjsKKyAgICAgICAgYXR0cmlidXRlIERPTVRva2VuTGlzdENvbnN0cnVjdG9yIERP
TVRva2VuTGlzdDsKICAgICAgICAgYXR0cmlidXRlIERvY3VtZW50RnJhZ21lbnRDb25zdHJ1Y3Rv
ciBEb2N1bWVudEZyYWdtZW50OwogICAgICAgICBhdHRyaWJ1dGUgRG9jdW1lbnRDb25zdHJ1Y3Rv
ciBEb2N1bWVudDsKICAgICAgICAgYXR0cmlidXRlIE5vZGVDb25zdHJ1Y3RvciBOb2RlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68732</attachid>
            <date>2010-09-24 12:38:02 -0700</date>
            <delta_ts>2010-09-27 14:49:51 -0700</delta_ts>
            <desc>Taking care of Darin&apos;s comments</desc>
            <filename>bug-20709-20100924123801.patch</filename>
            <type>text/plain</type>
            <size>76077</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZmExMmQzMmU5Mjk4N2NhMzU2NmVlZTE0ZWU1MGYxYTNmY2MwNTg1Li42NjA5MWI1
MDEzNzMzNGQzOGIwOTc3M2IyNjEzZjI3YzY4ODI0M2JlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTAtMDktMjQgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWly
a3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC1nYy5qczogQWRkZWQuCisgICAgICAgIChnYyk6CisgICAgICAgICogZmFz
dC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanM6IEFkZGVkLgorICAg
ICAgICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBlcmYvY2xhc3MtbGlz
dC1yZW1vdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmL2NsYXNzLWxpc3Qt
cmVtb3ZlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTIzICBBbmRyZXcgV2lsc29uICA8YXR3aWxz
b25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2ODE5
Ny4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxp
c3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3Mt
bGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQwZThhNDc5YTdhNDk4MzFlYTE4ZTE3YTgy
MDM4ODk4MDNkYThmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxFbGVtZW50L2NsYXNzLWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjggQEAKK1Rlc3Rz
IHRoZSBjbGFzc0xpc3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGllcy4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90
ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LworUEFTUyBTdHJpbmcoZWxlbWVu
dC5jbGFzc0xpc3QpIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMAor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBl
bGVtZW50LmNsYXNzTmFtZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngiCitQ
QVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBp
cyAieSB4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIgorUEFTUyBlbGVtZW50LmNsYXNz
TmFtZSBpcyAiIgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIHkgeSAiCitQQVNTIGVsZW1l
bnQuY2xhc3NOYW1lIGlzICJ5IgorVGVzdGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJhaWxpbmcg
d2hpdGUgc3BhY2VzLgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCB5IgorUEFTUyBlbGVt
ZW50LmNsYXNzTmFtZSBpcyAieAkgeSIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIiB5Igor
VGVzdCBpbnZhbGlkIHRva2VucworUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnJykg
dGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5jb250YWlucygneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGgg
Y29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnJykgdGhyZXcgZXhwZWN0ZWQgRE9N
RXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3ggeScp
IHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5yZW1vdmUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUg
MTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4IHknKSB0aHJldyBleHBlY3RlZCBE
T01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCcn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0LnRvZ2dsZSgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGgg
Y29kZSA1CitJbmRleGluZworUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyAieCIKK1BBU1Mg
ZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Rb
MV0gaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgIngiCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0WzFdIGlzICJ5IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDEp
IGlzICJ5IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyBudWxsCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0Lml0ZW0oMCkgaXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFs0XSBpcyBu
dWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oNCkgaXMgbnVsbAorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdFstMV0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVt
KC0xKSBpcyBudWxsCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0
aXZlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnWCcpIGlz
IHRydWUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFT
UyBlbGVtZW50LmNsYXNzTGlzdFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5n
dGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50
LmNsYXNzTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGggaXMg
MgorRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5
cGVvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3Rv
dHlwZSBpcyAib2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QgaXMgIm9iamVj
dCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCBpcyB0cnVlCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1nYy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMWMyNWZiNTFhZGRjNGQwMDc3MjYzZWZmZjQ4ZWRlNzE0
OTFjMjM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1l
bnQvY2xhc3MtbGlzdC1nYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0
cyB0aGF0IHByb3BlcnRpZXMgb24gdGhlIGNsYXNzTGlzdCBwZXJzaXN0cyBHQy4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZC5jbGFzc0xpc3QubGlmZSBpcyA0MgorUEFT
UyBkLmNsYXNzTGlzdC5saWZlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjNWVmYWQ3ZTk5NTNlZjM1OGFl
NGE4YTM1MDM3NTNhZGNjYTU3OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QtZ2MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJkMGU4YTQ3OWE3YTQ5ODMxZWExOGUxN2E4MjAzODg5ODAzZGE4ZmEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw2OCBAQAorVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1
dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
VGVzdHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGlu
Zy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0cmluZyhlbGVtZW50LmNsYXNzTGlzdCkgaXMgIngiCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0
Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4
IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUg
aXMgInggIHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQu
Y2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1l
bnQuY2xhc3NOYW1lIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInkiCitU
ZXN0aW5nIGFkZCBpbiBwcmVzZW5jZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuCitQQVNTIGVs
ZW1lbnQuY2xhc3NOYW1lIGlzICJ4IHkiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4CSB5
IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIHkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNl
cHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHkn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEy
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhj
ZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhy
ZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUg
NQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4
Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHkn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVt
KDApIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMg
InkiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0WzBdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBu
dWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRl
ZmluZWQuCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oLTEpIGlzIG51bGwKK1Rlc3QgY2Fz
ZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuY29udGFpbnMoJ3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRh
aW5zKCdYJykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIngiCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNs
YXNzTGlzdC5jb250YWlucygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBd
IGlzICJYIgorVGVzdGluZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAy
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2Vu
Y2UgYW5kIHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0
cnVlCitQQVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNT
IHR5cGVvZiBlbGVtZW50LmNsYXNzTGlzdCBpcyAib2JqZWN0IgorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qg
PT09IGVsZW1lbnQuY2xhc3NMaXN0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDg3NmEx
NmY4MjIyOWFhMTBhYzJjM2I5ZTA1Nzg4MTcyYmM5MzczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3MuaHRtbApAQCAt
MCwwICsxLDEzIEBACis8IS0tIFF1aXJrcyBNb2RlIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jbGFzcy1saXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWRmMjQzY2Uz
MjlmOTQ0MDNiOGVmNjY4ODYzNmNhNzQ2ZWFmMjEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5odG1sCkBAIC0wLDAgKzEsMTMg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LWdjLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QtZ2MuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGUzMTYxYWJmYjVjMzNmM2VlNjE1YWFiMjJiM2Y5ZDk2N2E1Zjg5ZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFz
cy1saXN0LWdjLmpzCkBAIC0wLDAgKzEsMzAgQEAKK2Rlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIHRo
YXQgcHJvcGVydGllcyBvbiB0aGUgY2xhc3NMaXN0IHBlcnNpc3RzIEdDLicpOworCitmdW5jdGlv
biBnYygpCit7CisgICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBH
Q0NvbnRyb2xsZXIuY29sbGVjdCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsg
aSsrKSB7CisgICAgICAgIHZhciBzID0gbmV3IFN0cmluZzsKKyAgICB9Cit9CisKK3ZhciBkID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisKKy8vIEVuc3VyZSB0aGUgY2xhc3NMaXN0
IGlzIGNyZWF0ZWQuCit2YXIgY2xhc3NMaXN0ID0gZC5jbGFzc0xpc3Q7CisKKy8vIFNldCBhIGN1
c3RvbSBwcm9wZXJ0eS4KK2QuY2xhc3NMaXN0LmxpZmUgPSA0MjsKK3Nob3VsZEV2YWx1YXRlVG8o
J2QuY2xhc3NMaXN0LmxpZmUnLCA0Mik7CisKKy8vIE51bGwgb3V0IHJlZmVyZW5jZSB0byB0aGUg
ZGF0YXNldC4KK2NsYXNzTGlzdCA9IG51bGw7CisKK2djKCk7CisKKy8vIFRlc3QgdGhhdCB0aGUg
Y2xhc3NMaXN0IHdyYXBwZXIgcGVyc2lzdGVkIHRoZSBHQyBhbmQgc3RpbGwgaGFzIHRoZSBjdXN0
b20gcHJvcGVydHkuCitzaG91bGRFdmFsdWF0ZVRvKCdkLmNsYXNzTGlzdC5saWZlJywgNDIpOwor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0cy9jbGFzcy1saXN0LmpzIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmEzNGRmYWFhODhmZWY2MjY0M2RiYjdhZDIyZGZlNDZjOGZkOTM0YgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L3NjcmlwdC10ZXN0
cy9jbGFzcy1saXN0LmpzCkBAIC0wLDAgKzEsMjM4IEBACitkZXNjcmlwdGlvbignVGVzdHMgdGhl
IGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLicpOworCit2YXIgZWxlbWVu
dDsKKworZnVuY3Rpb24gY3JlYXRlRWxlbWVudChjbGFzc05hbWUpCit7CisgICAgZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9IGNs
YXNzTmFtZTsKK30KKworZGVidWcoJ1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90
ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LycpOworCisvLyBodHRwOi8vc2lt
b24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qvc2V0dGlu
Zy8wMDEuaHRtCisvLyBGaXJlZm94IHRocm93cyBoZXJlIGJ1dCBXZWJLaXQgZG9lcyBub3QgdGhy
b3cgb24gc2V0dGluZyByZWFkb25seSBpZGwKKy8vIGF0dHJpYnV0ZXMuCitjcmVhdGVFbGVtZW50
KCd4Jyk7Cit0cnkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0ID0gJ3knOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygnU3RyaW5nKGVsZW1lbnQuY2xhc3NMaXN0KScsICd4Jyk7Cit9IGNhdGNo
IChleCkgeworICAgIHRlc3RQYXNzZWQoJ1Rocm93aW5nIG9uIHNldCBpcyBhY2NlcHRhYmxlJyk7
Cit9CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5n
L0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxk
RXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMCk7CisKKy8vIGh0dHA6Ly9z
aW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0
aW5nLzAwMi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1l
bnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDEpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rl
c3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDMuaHRtCitjcmVh
dGVFbGVtZW50KCd4IHgnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxl
bmd0aCcsIDIpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVm
bGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDQuaHRtCitjcmVhdGVFbGVtZW50KCd4IHkn
KTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCisv
LyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tl
bkxpc3QvZ2V0dGluZy8wMDUuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQuY2xhc3NM
aXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScs
ICd4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0
aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK2Vs
ZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LmNsYXNzTmFtZScsICd4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1s
L2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNy5odG0KK2NyZWF0ZUVsZW1l
bnQoJ3ggIHgnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4ICB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5o
dG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAw
OC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3knKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCcpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd5IHgnKTsKKworLy8g
aHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5M
aXN0L2dldHRpbmcvMDA5Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LmNsYXNzTGlz
dC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUn
LCAnJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0
aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK2Vs
ZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LmNsYXNzTmFtZScsICcnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0
bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDExLmh0bQorY3JlYXRlRWxl
bWVudCgnIHkgeCAgeSAnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICcgeSB5ICcpOworCisvLyBodHRw
Oi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qv
Z2V0dGluZy8wMTIuaHRtCitjcmVhdGVFbGVtZW50KCcgeCB5ICB4ICcpOworZWxlbWVudC5jbGFz
c0xpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NO
YW1lJywgJ3knKTsKKworZGVidWcoJ1Rlc3RpbmcgYWRkIGluIHByZXNlbmNlIG9mIHRyYWlsaW5n
IHdoaXRlIHNwYWNlcy4nKTsKKworY3JlYXRlRWxlbWVudCgneCAnKTsKK2VsZW1lbnQuY2xhc3NM
aXN0LmFkZCgneScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScs
ICd4IHknKTsKKworY3JlYXRlRWxlbWVudCgneFx0Jyk7CitlbGVtZW50LmNsYXNzTGlzdC5hZGQo
J3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAneFx0IHkn
KTsKKworY3JlYXRlRWxlbWVudCgnICcpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd5Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJyB5Jyk7CisKKworZGVi
dWcoJ1Rlc3QgaW52YWxpZCB0b2tlbnMnKTsKKworLy8gVGVzdGluZyBleGNlcHRpb24gZHVlIHRv
IGludmFsaWQgdG9rZW4KKworLy8gc2hvdWxkVGhyb3cgZnJvbSBqcy10ZXN0LXByZS5qcyBpcyBu
b3Qgc3VmZmljaWVudC4KK2Z1bmN0aW9uIHNob3VsZFRocm93RE9NRXhjZXB0aW9uKGYsIGVjKQor
eworICAgIHRyeSB7CisgICAgICAgIGYoKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXhwZWN0ZWQg
YW4gZXhjZXB0aW9uJyk7CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgaWYgKCEoZXggaW5z
dGFuY2VvZiBET01FeGNlcHRpb24pKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdFeGNlcHRp
b24gaXMgbm90IGFuIGluc3RhbmNlIG9mIERPTUV4Y2VwdGlvbiwgZm91bmQ6ICcgKworICAgICAg
ICAgICAgICAgICAgICAgICBPYmplY3QudG9TdHJpbmcuY2FsbChleCkpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlmIChlYyAhPT0gZXguY29kZSkgeworICAgICAg
ICAgICAgdGVzdEZhaWxlZCgnV3JvbmcgZXhjZXB0aW9uIGNvZGU6ICcgKyBleC5jb2RlKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKyAgICB2YXIgZm9ybWF0dGVkRnVu
Y3Rpb24gPSBTdHJpbmcoZikucmVwbGFjZSgvXmZ1bmN0aW9uLitce1xzKi9tLCAnJykuCisgICAg
ICAgIHJlcGxhY2UoLzs/XHMrXH0vbSwgJycpOworICAgIHRlc3RQYXNzZWQoZm9ybWF0dGVkRnVu
Y3Rpb24gKyAnIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgJyArIGVjKTsK
K30KKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rp
b24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJycpOworfSwgRE9NRXhjZXB0
aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZFRocm93RE9N
RXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4
IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCitjcmVhdGVF
bGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVs
ZW1lbnQuY2xhc3NMaXN0LmFkZCgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisK
K2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7
CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZB
TElEX0NIQVJBQ1RFUl9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9N
RXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJyk7
Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hv
dWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3Qu
cmVtb3ZlKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOwor
CitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkg
eworICAgIGVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lO
VEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkVGhyb3dET01FeGNlcHRp
b24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKTsKK30s
IERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCisKK2RlYnVnKCdJbmRleGlu
ZycpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQuY2xhc3NMaXN0WzBdJywgJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5j
bGFzc0xpc3QuaXRlbSgwKScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeCcpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFsxXScsICd4Jyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSknLCAneCcpOworCitjcmVhdGVF
bGVtZW50KCd4IHknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3Rb
MV0nLCAneScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVt
KDEpJywgJ3knKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQu
Y2xhc3NMaXN0WzBdJyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCkn
KTsKKworY3JlYXRlRWxlbWVudCgneCB5IHonKTsKK3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFz
c0xpc3RbNF0nKTsKK3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3QuaXRlbSg0KScpOwor
c2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQuY2xhc3NMaXN0Wy0xXScpOyAgLy8gTm90IGEgdmFs
aWQgaW5kZXggc28gc2hvdWxkIG5vdCB0cmlnZ2VyIGl0ZW0oKS4KK3Nob3VsZEJlTnVsbCgnZWxl
bWVudC5jbGFzc0xpc3QuaXRlbSgtMSknKTsKKworZGVidWcoJ1Rlc3QgY2FzZSBzaW5jZSBET01U
b2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hv
dWxkQmVUcnVlKCdlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcJ3hcJyknKTsKK3Nob3VsZEJl
RmFsc2UoJ2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwnWFwnKScpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFswXScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQo
J1gnKTsKK3Nob3VsZEJlVHJ1ZSgnZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoXCdYXCcpJyk7
CitzaG91bGRCZUZhbHNlKCdlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcJ3hcJyknKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAnWCcpOworCisKK2Rl
YnVnKCdUZXN0aW5nIHdoaXRlc3BhY2UnKTsKKy8vIFUrMDAyMCBTUEFDRSwgVSswMDA5IENIQVJB
Q1RFUiBUQUJVTEFUSU9OICh0YWIpLCBVKzAwMEEgTElORSBGRUVEIChMRiksCisvLyBVKzAwMEMg
Rk9STSBGRUVEIChGRiksIGFuZCBVKzAwMEQgQ0FSUklBR0UgUkVUVVJOIChDUikKKworY3JlYXRl
RWxlbWVudCgneFx1MDAyMHknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQuY2xhc3NMaXN0
Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDA5eScpOworc2hvdWxkRXZhbHVh
dGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hc
dTAwMEF5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5ndGgnLCAy
KTsKKworY3JlYXRlRWxlbWVudCgneFx1MDAwQ3knKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1l
bnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBEeScpOwor
c2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKKworZGVi
dWcoJ0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZScpOworCisKKy8vIFNhZmFyaSByZXR1
cm5zIG9iamVjdAorLy8gRmlyZWZveCByZXR1cm5zIG9iamVjdAorLy8gSUU4IHJldHVybnMgb2Jq
ZWN0CisvLyBDaHJvbWUgcmV0dXJucyBmdW5jdGlvbgorLy8gYXNzZXJ0RXF1YWxzKCdvYmplY3Qn
LCB0eXBlb2YgRE9NVG9rZW5MaXN0KTsKK3Nob3VsZEJlVHJ1ZSgnXCd1bmRlZmluZWRcJyAhPSB0
eXBlb2YgRE9NVG9rZW5MaXN0Jyk7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIERP
TVRva2VuTGlzdC5wcm90b3R5cGUnLCAnb2JqZWN0Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIGVsZW1lbnQuY2xhc3NMaXN0JywgJ29iamVj
dCcpOworCitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5jb25zdHJ1Y3Rvcics
ICdET01Ub2tlbkxpc3QnKTsKKworc2hvdWxkQmVUcnVlKCdlbGVtZW50LmNsYXNzTGlzdCA9PT0g
ZWxlbWVudC5jbGFzc0xpc3QnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dAppbmRleCBkNDg0Y2ZlNTEyYjNlMzM1MDY3YThkYzhhNDE1NDQxYTA4
ZTQ2MjhlLi5iNjY3YWRjNjk2MDZmYTExMzJjNTEwZWNlOTAxOThmMmYyOWI2MDc1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGll
cy1leHBlY3RlZC50eHQKQEAgLTU2MSw2ICs1NjEsMTQgQEAgd2luZG93LkRPTVN0cmluZ0xpc3Qu
cHJvdG90eXBlLmNvbnRhaW5zIFtmdW5jdGlvbl0KIHdpbmRvdy5ET01TdHJpbmdMaXN0LnByb3Rv
dHlwZS5pdGVtIFtmdW5jdGlvbl0KIHdpbmRvdy5ET01TdHJpbmdNYXAgW29iamVjdCBET01TdHJp
bmdNYXBDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5ET01TdHJpbmdNYXAucHJvdG90eXBlIFtvYmplY3Qg
RE9NU3RyaW5nTWFwUHJvdG90eXBlXQord2luZG93LkRPTVRva2VuTGlzdCBbb2JqZWN0IERPTVRv
a2VuTGlzdENvbnN0cnVjdG9yXQord2luZG93LkRPTVRva2VuTGlzdC5wcm90b3R5cGUgW29iamVj
dCBET01Ub2tlbkxpc3RQcm90b3R5cGVdCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5h
ZGQgW2Z1bmN0aW9uXQord2luZG93LkRPTVRva2VuTGlzdC5wcm90b3R5cGUuY29udGFpbnMgW2Z1
bmN0aW9uXQord2luZG93LkRPTVRva2VuTGlzdC5wcm90b3R5cGUuaXRlbSBbZnVuY3Rpb25dCit3
aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5yZW1vdmUgW2Z1bmN0aW9uXQord2luZG93LkRP
TVRva2VuTGlzdC5wcm90b3R5cGUudG9TdHJpbmcgW2Z1bmN0aW9uXQord2luZG93LkRPTVRva2Vu
TGlzdC5wcm90b3R5cGUudG9nZ2xlIFtmdW5jdGlvbl0KIHdpbmRvdy5EYXRlIFtmdW5jdGlvbl0K
IHdpbmRvdy5Eb2N1bWVudCBbb2JqZWN0IERvY3VtZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuRG9j
dW1lbnQucHJvdG90eXBlIFtvYmplY3QgRG9jdW1lbnRQcm90b3R5cGVdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHkt
ZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDA4ZDY2NjQzYTgxMTg0YTA2ZGI5N2Y4NmI3
YjgwYTNjMzlhYjcxZDUuLmY1ZTc2M2YxYmNmOWM0OWM0ZThhZjA0ODk4ODcyODk2ZjY5MzEzYjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHkt
ZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CkBAIC00MCw2ICs0MCw3
IEBAIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
RE9NSW1wbGVtZW50YXRpb24nKSBpcyAnb2JqCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVBhcnNlcicpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVN0cmluZ0xp
c3QnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih3aW5kb3csICdET01TdHJpbmdNYXAnKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdET01Ub2tlbkxpc3QnKSBpcyAn
b2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5k
b3csICdEYXRlJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnRG9jdW1lbnQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdEb2N1bWVudEZyYWdtZW50
JykgaXMgJ29iamVjdCcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlw
ZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3Rv
dHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAppbmRleCAyMDU1NzVhMzM2NzVhNjUzNDQz
OTIwZGRjZDVjZDU2NDE5ZmNhYmE0Li5kNGEzMWRiM2Q3ZjYyNmM4NWQzNzAwMzc3NzQ1MzczZmM1
OThmYjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJp
dGFuY2UtMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBl
LWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0CkBAIC03Nyw2ICs3Nyw5IEBAIFBBU1MgRE9NSW1w
bGVtZW50YXRpb25Qcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4w
Lm93bmVyRG9jdW1lCiBQQVNTIERPTVN0cmluZ01hcCBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1z
LnRlc3RGb3JtLjAuZGF0YXNldAogUEFTUyBET01TdHJpbmdNYXBDb25zdHJ1Y3RvciBmcm9tIGlu
bmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuZGF0YXNldC5jb25zdHJ1Y3RvcgogUEFTUyBE
T01TdHJpbmdNYXBQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4w
LmRhdGFzZXQuX19wcm90b19fCitQQVNTIERPTVRva2VuTGlzdCBmcm9tIGlubmVyLmRvY3VtZW50
LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFzc0xpc3QKK1BBU1MgRE9NVG9rZW5MaXN0Q29uc3RydWN0
b3IgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLmNsYXNzTGlzdC5jb25zdHJ1
Y3RvcgorUEFTUyBET01Ub2tlbkxpc3RQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jt
cy50ZXN0Rm9ybS4wLjAuY2xhc3NMaXN0Ll9fcHJvdG9fXwogUEFTUyBET01XaW5kb3cgZnJvbSBp
bm5lcgogUEFTUyBET01XaW5kb3dQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50
ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuX19wcm90b19fCiBQQVNTIERvY3Vt
ZW50UHJvdG90eXBlIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5vd25lckRv
Y3VtZW50Ll9fcHJvdG9fXy5fX3Byb3RvX18KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IDNiNDVjZTg4ZjUy
MjBmMmM1NmFkZjZkMWQzZTY5OGI3NWNjZGU2Y2IuLmZhNjQ3NmFkZGE2ODIxZDc3YmZiM2MyMjYw
ZmQ3MTNjNDVmODFkM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlw
ZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJv
dG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtNzcsNiArNzcsOCBAQCBQQVNTIGlu
bmVyLkRPTVN0cmluZ0xpc3QuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkRPTVN0cmluZ0xp
c3QuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLkRPTVN0cmluZ01hcC5p
c0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTWFwLmNvbnN0cnVjdG9yLmlzSW5u
ZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5ET01Ub2tlbkxpc3QuaXNJbm5lciBpcyB0cnVlCitQQVNT
IGlubmVyLkRPTVRva2VuTGlzdC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5u
ZXIuRGF0ZS5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRGF0ZS5jb25zdHJ1Y3Rvci5pc0lu
bmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuRG9jdW1lbnQuaXNJbm5lciBpcyB0cnVlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dApp
bmRleCA5Nzg5M2RhNzMxMzM4ZjdlZjIwMjg0ZDk1ZTk4M2Y1YjViOThjZjRkLi4yMTQzYjg2ZDM1
M2I3OWRhZTRhODkxMzU3YmIyNGQ2MmI1NDE3OGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTM4LDYgKzM4LDcg
QEAgUEFTUyBET01JbXBsZW1lbnRhdGlvbi50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTUltcGxl
bWVudGF0aW9uQ29uc3RydWN0b3JdJwogUEFTUyBET01QYXJzZXIudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBET01QYXJzZXJDb25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVN0cmluZ0xpc3QudG9TdHJpbmco
KSBpcyAnW29iamVjdCBET01TdHJpbmdMaXN0Q29uc3RydWN0b3JdJwogUEFTUyBET01TdHJpbmdN
YXAudG9TdHJpbmcoKSBpcyAnW29iamVjdCBET01TdHJpbmdNYXBDb25zdHJ1Y3Rvcl0nCitQQVNT
IERPTVRva2VuTGlzdC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVRva2VuTGlzdENvbnN0cnVj
dG9yXScKIFBBU1MgRG9jdW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBEb2N1bWVudENvbnN0
cnVjdG9yXScKIFBBU1MgRG9jdW1lbnRGcmFnbWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IERv
Y3VtZW50RnJhZ21lbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIERvY3VtZW50VHlwZS50b1N0cmluZygp
IGlzICdbb2JqZWN0IERvY3VtZW50VHlwZUNvbnN0cnVjdG9yXScKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BlcmYvY2xhc3MtbGlzdC1yZW1vdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGVyZi9jbGFzcy1saXN0LXJlbW92ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmUzODEzMzQ2
MjJlYTRlOTAwNWEwZGQ2MTQwMjY2NmRjN2M3YzZmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BlcmYvY2xhc3MtbGlzdC1yZW1vdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBA
QAorVGVzdHMgdGhhdCBjbGFzc0xpc3QgcmVtb3ZlIGlzIGxpbmVhci4KK1BBU1MKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJlbW92ZS5odG1sIGIvTGF5
b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJlbW92ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwM2U5YmFj
MTgwMmEzODYzOTkyOTNlOWMyZmFmMjZjMzc5NDUzZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYWduaXR1ZGUtcGVyZi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorCit2YXIgZWxlbWVudCwgczsKKworLy8gVGVzdCAxIHRlc3RzIHRoYXQgcmVtb3ZlIGlz
IGxpbmVhciB3aGVuIHRoZXJlIGFyZSBOIGNsYXNzIG5hbWVzLgorCitmdW5jdGlvbiBzZXR1cEZ1
bmN0aW9uMShtYWduaXR1ZGUpCit7CisgICAgcyA9ICdiJzsKKyAgICBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZWxlbWVudC5jbGFzc05hbWUgPSBBcnJheSht
YWduaXR1ZGUpLmpvaW4oJ2EgJykgKyBzOworfQorCitmdW5jdGlvbiB0ZXN0MShtYWduaXR1ZGUp
Cit7CisgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHMpOworfQorCisvLyBUZXN0IDIgdGVz
dHMgdGhhdCByZW1vdmUgaXMgbGluZWFyIHdoZW4gdGhlIGxlbmd0aCBvZiB0aGUgY2xhc3MgbmFt
ZSBpcyBOLgorCitmdW5jdGlvbiBzZXR1cEZ1bmN0aW9uMihtYWduaXR1ZGUpCit7CisgICAgZWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworfQorCitmdW5jdGlvbiB0ZXN0
MihtYWduaXR1ZGUpCit7CisgICAgdmFyIHMgPSBBcnJheShtYWduaXR1ZGUgKyAxKS5qb2luKCdh
Jyk7CisgICAgZWxlbWVudC5jbGFzc05hbWUgPSBzOworICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJl
bW92ZShzKTsKK30KKworTWFnbml0dWRlLmRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGNsYXNzTGlz
dCByZW1vdmUgaXMgbGluZWFyLicpOworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMSwgdGVz
dDEsIE1hZ25pdHVkZS5MSU5FQVIpOworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMiwgdGVz
dDIsIE1hZ25pdHVkZS5MSU5FQVIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lk
LmRlcml2ZWQuanNjYmluZGluZ3MubWsKaW5kZXggNDg2ZDhjZDNhZWE1MTVlOGM5ZTFkOTlhYzI1
MTk5YzkyZjE1OWRlOS4uYTkyN2YxMWQ2Nzk3NjA1YTIzMDNlN2Y2MGZiMGJiYjQxNjNjOTEwZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKKysrIGIv
V2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWsKQEAgLTE1OSw2ICsxNTksNyBA
QCBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0Jsb2IuaCBcCiAgICAgJChp
bnRlcm1lZGlhdGVzKS9odG1sL0pTQmxvYkJ1aWxkZXIuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9odG1sL0pTRE9NRm9ybURhdGEuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9odG1sL0pTRE9N
VG9rZW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1u
LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9KU0RhdGFHcmlkQ29sdW1uTGlzdC5oIFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNGaWxlLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVk
LnY4YmluZGluZ3MubWsKaW5kZXggOWI4ZjIyYzI5YTM4OWQ5OWE3MjczZmVkNDYxMzA5YWNmNDdj
M2NhMy4uYTczMTU3ZDcxYWNkZWJmZDdjMjg2MTZhYTZhMWRkOTMxZDhhMjQ2ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0Fu
ZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0xNDAsNiArMTQwLDcgQEAgJChwYXRzdWJz
dCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQo
aW50ZXJtZWRpYXRlcykKIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9W
OEJsb2IuaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEJsb2JCdWlsZGVyLmgg
XAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhET01Ub2tlbkxpc3QuaCBcCiAgICAg
JChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFHcmlkQ29sdW1uLmggXAogICAgICQoaW50
ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhEYXRhR3JpZENvbHVtbkxpc3QuaCBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9iaW5kaW5ncy9WOEZpbGUuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJv
aWQuanNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKaW5kZXgg
ZTA3ZWQxZTRmZTU4MDhlMDI3YTcxYjhlNzZjNGQ0NTAzMWM5NGExNi4uMDgxNjExMzQ5OWYzMzUw
NTQ1ZGEwMWRjZTlmYTk4OTBkNDQ5MDU5NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9BbmRyb2lkLmpz
Y2JpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawpAQCAtODMs
NiArODMsNyBAQCBMT0NBTF9TUkNfRklMRVMgKz0gXAogCWJpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRE9NVG9rZW5MaXN0
LmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBcCiAJYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNw
cCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCBmYWVkOGVlYmM4NTBkODRjNTIzZDZmMTU5NDAxZjhlNjAxODA1YzNjLi41
MGY2NGNmNTkzMDBlYWEwZmM5NTA5ZGY2NjU2MDcxYzM3ZmNiNGZjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIwNSw2
ICsyMDUsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBodG1sL0RhdGFHcmlkQ29sdW1u
LmlkbAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmlkbAogICAgIGh0bWwvRE9NRm9ybURh
dGEuaWRsCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuaWRsCiAgICAgaHRtbC9IVE1MQWxsQ29sbGVj
dGlvbi5pZGwKICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAogICAgIGh0bWwvSFRNTEFw
cGxldEVsZW1lbnQuaWRsCkBAIC05NDIsNiArOTQzLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwog
ICAgIGh0bWwvQ29sbGVjdGlvbkNhY2hlLmNwcAogICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291
cmNlLmNwcAogICAgIGh0bWwvRE9NRm9ybURhdGEuY3BwCisgICAgaHRtbC9ET01Ub2tlbkxpc3Qu
Y3BwCiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbi5jcHAKICAgICBodG1sL0RhdGFHcmlkQ29sdW1u
TGlzdC5jcHAKICAgICBodG1sL0RhdGVDb21wb25lbnRzLmNwcApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4NGZhYWUyNTY5ZjE3ODI1MTQ5
NTM0NTIxOWYyMzAyYTg0M2M1MjI4Li5kMTE3OGJlYjY5MDdmODhjNWYwNmViNWI2MmYxMmY5NGNk
MWU1MmRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDc1IEBACisyMDEwLTA5LTI0ICBFcmlrIEFydmlkc3NvbiAgPGFydkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW1wbGVtZW50IEhUTUwgNSdzIEhUTUxFbGVtZW50LmNsYXNzTGlzdCBwcm9wZXJ0eQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MDkKKwor
ICAgICAgICBUaGlzIGFkZHMgYSBET01Ub2tlbkxpc3QgY2xhc3MgdGhhdCBpcyB1c2VkIGZvciB0
aGUgY2xhc3NMaXN0IHByb3BlcnR5LiBET01Ub2tlbkxpc3QgdXNlcyBhIFNwYWNlU3BsaXRTdHJp
bmcgZm9yIGZhc3QKKyAgICAgICAgY29udGFpbnMgY2hlY2suIEluIHN0YW5kYXJkcyBtb2RlIHRo
ZSBleGlzdGluZyBjbGFzc05hbWVzIGlzIHVzZWQgYnV0IGluIHF1aXJrcyBtb2RlIHdlIHVzZSBh
biBpbnRlcm5hbCBTcGFjZVNwbGl0U3RyaW5nCisgICAgICAgIGJlY2F1c2UgY2xhc3NMaXN0IGlz
IGFsd2F5cyBjYXNlIHNlbnNpdGl2ZS4KKworICAgICAgICBUZXN0czogZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC1nYy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MRWxl
bWVudC9jbGFzcy1saXN0LXF1aXJrcy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1M
RWxlbWVudC9jbGFzcy1saXN0Lmh0bWwKKyAgICAgICAgICAgICAgIHBlcmYvY2xhc3MtbGlzdC1y
ZW1vdmUuaHRtbAorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rOgor
ICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJv
aWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAg
ICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAq
IFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU0VsZW1lbnQ6Om1hcmtDaGlsZHJlbik6IE1ha2Ugc3VyZSB0aGF0IHdlIGtlZXAgdGhl
IHdyYXBwZXIgd2hpbGUgdGhlIGVsZW1lbnQgaXMgYWxpdmUuCisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06IERPTVRva2VuTGlzdCBoYXMgYSBzdHJpbmcgaW5k
ZXhlZCBnZXR0ZXIuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgu
cG06CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBkb20vRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpjbGFzc0xpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6b3B0aW9uYWxDbGFzc0xpc3QpOgorICAgICAgICAqIGRvbS9FbGVt
ZW50Lmg6CisgICAgICAgICogZG9tL0VsZW1lbnRSYXJlRGF0YS5oOiBUaGlzIG5vdyBoYXMgYW4g
T3duUHRyIHRvIGEgQ2xhc3NMaXN0IGlmIHRoZSBFbGVtZW50OjpjbGFzc0xpc3QgaXMgZXZlciBj
YWxsZWQuCisgICAgICAgICogZG9tL1NwYWNlU3BsaXRTdHJpbmcuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNwYWNlU3BsaXRTdHJpbmc6OmlzTnVsbCk6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVD
aGFuZ2VkKTogVXBkYXRlIHRoZSBjbGFzc0xpc3QgaWYgaXQgZXhpc3RzLgorICAgICAgICAqIGRv
bS9TdHlsZWRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9ET01Ub2tlbkxpc3QuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV2ViQ29yZTo6dmFs
aWRhdGVUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OkRPTVRva2VuTGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlZik6CisgICAgICAgIChXZWJD
b3JlOjpET01Ub2tlbkxpc3Q6OmRlcmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlz
dDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6aXRlbSk6CisgICAg
ICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmNvbnRhaW5zKToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVRva2VuTGlzdDo6Y29udGFpbnNJbnRlcm5hbCk6IFRoZSBpbnRlcm5hbCBtZXRob2RzIGRv
IG5vIHZhbGlkYXRpb24gb2YgdGhlIHRva2VuLgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5M
aXN0OjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjphZGRJbnRlcm5hbCk6
CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlbW92ZSk6CisgICAgICAgIChXZWJD
b3JlOjpET01Ub2tlbkxpc3Q6OnJlbW92ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVRva2VuTGlzdDo6dG9nZ2xlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6dG9T
dHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpyZXNldCk6CisgICAgICAg
IChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmNsYXNzTmFtZXMpOgorICAgICAgICAqIGh0bWwvRE9N
VG9rZW5MaXN0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjplbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5MaXN0LmlkbDog
QWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5pZGw6CisgICAgICAgICogcGFnZS9E
T01XaW5kb3cuY3BwOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMC0wOS0y
MyAgQW5kcmV3IFdpbHNvbiAgPGF0d2lsc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByNjgxOTcuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGJhYjgxMDk3MDQ5
NDg4ZGFlMjI0ZTBmYTE4ZTJkOWY3MjhkMDYwN2EuLjg5OGRhNWNhZWM4ZjA2NWFhMzU5NDVlMjRh
NmI3Y2U4MDVjNmVmNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisr
KyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC05MSw2ICs5MSw3IEBACiAjaW5jbHVk
ZSAiSlNET01TZWxlY3Rpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9NU3RyaW5nTGlzdC5jcHAiCiAj
aW5jbHVkZSAiSlNET01TdHJpbmdNYXAuY3BwIgorI2luY2x1ZGUgIkpTRE9NVG9rZW5MaXN0LmNw
cCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNFbGVtZW50LmNwcCIK
ICNpbmNsdWRlICJKU0VudGl0eS5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYWRiZDMwY2NmNWI1
MTZhNGQ2ZDAyMDZlYzkwMmRmM2YyNDcxOWZjNC4uMmZkYTVlOThiZTFhNjlmN2NjYTU3ZjZhOGEw
MWUwZmM0NTU2ZGJhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTI0LDYgKzEyNCw3IEBAIERPTV9D
TEFTU0VTID0gXAogICAgIERPTVNlbGVjdGlvbiBcCiAgICAgRE9NU3RyaW5nTGlzdCBcCiAgICAg
RE9NU3RyaW5nTWFwIFwKKyAgICBET01Ub2tlbkxpc3QgXAogICAgIERPTVdpbmRvdyBcCiAgICAg
RGF0YWJhc2UgXAogICAgIERhdGFiYXNlQ2FsbGJhY2sgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNDRjNzFiNTJmZjZk
ZWE3MGFmNjI5YzFjZjU0MDMzZWMyODBjMDQ0Ni4uODgyY2E3Y2MyZDUzYWJmY2YyZDkxM2M2NTA2
ZTBhYWY0NzYwNTU5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMTYsNiArMjE2LDggQEAgd2ViY29yZV9idWlsdF9z
b3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTGlzdC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTWFwLmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0RPTVN0cmluZ01hcC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRE9NVG9rZW5MaXN0LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVRva2Vu
TGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93LmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRWxlbWVudC5jcHAgXApAQCAtMTQzMyw2ICsxNDM1LDggQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBcCiAJ
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzU3R5bGUuaCBcCisJV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAgXAorCVdl
YkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBcCiAJV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNo
ZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBcCiAJV2ViQ29yZS9odG1s
L0NvbGxlY3Rpb25UeXBlLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1NzYyZjJiM2Y4YTQ5NTc2Mjg2NDEwZjQxMjUwNWE1
YzAyODI1NTNmLi44ODkxMjc1ODI5OTJlNjE0ZTg4MDY4NDk3NzM4OGYwNmVmYTQ0ZjUyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMTExLDYgKzExMSw3IEBACiAgICAgICAgICAgICAnZmlsZWFwaS9NZXRhZGF0YS5pZGwnLAog
ICAgICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGFDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvRE9NRm9ybURhdGEuaWRsJywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5p
ZGwnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW4uaWRsJywKICAgICAgICAgICAg
ICdodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFs
bENvbGxlY3Rpb24uaWRsJywKQEAgLTc2Niw2ICs3NjcsNyBAQAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAnLAorICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5jcHAnLApAQCAtMTUx
Niw2ICsxNTE4LDggQEAKICAgICAgICAgICAgICdodG1sL0RPTURhdGFHcmlkRGF0YVNvdXJjZS5o
JywKICAgICAgICAgICAgICdodG1sL0RPTUZvcm1EYXRhLmNwcCcsCiAgICAgICAgICAgICAnaHRt
bC9ET01Gb3JtRGF0YS5oJywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5jcHAnLAor
ICAgICAgICAgICAgJ2h0bWwvRE9NVG9rZW5MaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwvRGF0
YUdyaWRDb2x1bW4uY3BwJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uLmgnLAog
ICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmNwcCcsCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCAzN2JiMjA1MTgz
YWVkMDBhMDc1YTFjNGYyYjlkMmZhNjJmM2RhZmEzLi41NGM5Y2I1NDBkYjE4NmY2NjVjOTU1MDc1
YjIxZDdkN2E3ZjA3NjZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5wcmkKQEAgLTIwMSw2ICsyMDEsNyBAQCBJRExfQklORElOR1MgKz0gXAog
ICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRsIFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uTGlz
dC5pZGwgXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRsIFwKKyAgICBodG1sL0RPTVRva2VuTGlz
dC5pZGwgXAogICAgIGh0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsIFwKICAgICBodG1sL0hUTUxB
dWRpb0VsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBcCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBi
YzFkM2RiODBkZWQ5NGQ3YTE0MWI1NzNlNDRmYmNhMGE4MTM2NTg2Li4yNjVmMDQxMTQ0YjU3MTEx
ZDNhYmZiY2IxN2EzODFmZjk4ZGMyN2YxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJv
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQwMyw3ICs0MDMsOCBAQCB2OCB7CiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20u
Y3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tRXZlbnRMaXN0ZW5lci5j
cHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3Bw
CisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAgXAor
ICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCiAKICAg
ICBTT1VSQ0VTICs9IFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tU1FMU3Rh
dGVtZW50RXJyb3JDYWxsYmFjay5jcHAgXApAQCAtODM4LDYgKzgzOSw3IEBAIFNPVVJDRVMgKz0g
XAogICAgIGh0bWwvQ29sbGVjdGlvbkNhY2hlLmNwcCBcCiAgICAgaHRtbC9ET01EYXRhR3JpZERh
dGFTb3VyY2UuY3BwIFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmNwcCBcCisgICAgaHRtbC9ET01U
b2tlbkxpc3QuY3BwIFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uLmNwcCBcCiAgICAgaHRtbC9E
YXRhR3JpZENvbHVtbkxpc3QuY3BwIFwKICAgICBodG1sL0RhdGVDb21wb25lbnRzLmNwcCBcCkBA
IC0xNzE2LDYgKzE3MTgsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0RhdGVDb21wb25lbnRz
LmggXAogICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmggXAogICAgIGh0bWwvRE9NRm9y
bURhdGEuaCBcCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuaCBcCiAgICAgaHRtbC9Gb3JtRGF0YUxp
c3QuaCBcCiAgICAgaHRtbC9GVFBEaXJlY3RvcnlEb2N1bWVudC5oIFwKICAgICBodG1sL0hUTUxB
bGxDb2xsZWN0aW9uLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
NTVjOGQ3MjA5NjYxNTY3NmU1NWRjNDc5MzA5NDQ4MzBkY2U0NmRmYS4uMWIxZGQ5M2M2NGZjMTg2
MTljZmIzNmY4MWI0ODIyYTQ4NDBkODQ0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCkBAIC00MDMzLDYgKzQwMzMsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVRva2VuTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NVG9rZW5MaXN0LmgiDQorCQkJCT4N
CisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1
dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NV2luZG93LmNwcCIN
CiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zNzg0NSw2ICszNzg1MywxOCBA
QAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxo
dG1sXERPTVRva2VuTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTVRva2VuTGlzdC5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGb3JtRGF0YUxpc3Qu
Y3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5caHRtbFxGVFBEaXJlY3RvcnlEb2N1bWVudC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2FiZTNkMzVmOWJi
NzQzYjNkODU5MjQwMTAzOTdjODJlMDlkZjU0Mi4uZGMzZDRmMmZlNzBmNTJiNzQzNWNhZTgyYjZk
ZTJjM2Q5Mzg2OGQ2MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTE0MTIsMTIgKzE0MTIsMTggQEAKIAkJNzY5M0JBRDMxMDZDMkRDQTAwN0IwODIzIC8q
IFBsdWdpbkhhbHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAqLzsg
fTsKIAkJNzY5M0JBRDQxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5M0JBRDAxMDZDMkRDQTAw
N0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovOyB9OwogCQk3NjkzQkFENTEwNkMyRENBMDA3QjA4
MjMgLyogUGx1Z2luSGFsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFEMTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVy
Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJNzY5NDU2M0MxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjNBMTIxNEQ5N0Mw
MDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi87IH07CisJCTc2OTQ1NjNEMTIxNEQ5N0Mw
MDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5M
aXN0LmggKi87IH07CisJCTc2OTQ1NjVCMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxp
c3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1
NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJNzY5NDU2
NUMxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAv
KiBET01ET01Ub2tlbkxpc3QubW0gKi87IH07CiAJCTc2Q0REMkYyMTEwM0RBNjYwMDY4MDUyMSAv
KiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUMxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxp
dHlNZW51TGlzdC5jcHAgKi87IH07CiAJCTc2Q0REMkYzMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nl
c3NpYmlsaXR5TWVudUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc2Q0REMkVEMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxp
c3QuaCAqLzsgfTsKIAkJNzZDREQyRjQxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlN
ZW51TGlzdFBvcHVwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc2Q0REMkVFMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQ
b3B1cC5jcHAgKi87IH07CiAJCTc2Q0REMkY1MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmls
aXR5TWVudUxpc3RQb3B1cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzZDREQyRUYxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlz
dFBvcHVwLmggKi87IH07CiAJCTc2Q0REMkY2MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmls
aXR5TWVudUxpc3RPcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzZDREQyRjAxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51
TGlzdE9wdGlvbi5jcHAgKi87IH07CiAJCTc2Q0REMkY3MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nl
c3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc2Q0REMkYxMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5
TWVudUxpc3RPcHRpb24uaCAqLzsgfTsKKwkJNzZGQzJCMEIxMjM3MERBMDAwNkE5OTFBIC8qIERP
TVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3NkZDMkIwODEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmNwcCAqLzsgfTsK
KwkJNzZGQzJCMEMxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGQzJCMDkxMjM3MERBMDAwNkE5
OTFBIC8qIERPTVRva2VuTGlzdC5oICovOyB9OwogCQk3NkZGMTdFMzExMjM1NjczMDAxRDYxQjUg
LyogUGx1Z2luVmlld05vbmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzZGRjE3RTIxMTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdpblZpZXdOb25lLmNw
cCAqLzsgfTsKIAkJNzlBQzkyMTgxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUFD
OTIxNjEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCAqLzsgfTsKIAkJ
NzlBQzkyMTkxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlBQzkyMTcxMDk5NDVDODAw
MjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oICovOyB9OwpAQCAtMjc3Nyw3ICsyNzgzLDYg
QEAKIAkJOTczRTMyNTYxMDg4M0I3QzAwNUJDNDkzIC8qIFJlc291cmNlTG9hZE5vdGlmaWVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3M0UzMjU0
MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5jcHAgKi87IH07CiAJCTk3
M0UzMjU3MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTczRTMyNTUxMDg4M0I3QzAw
NUJDNDkzIC8qIFJlc291cmNlTG9hZE5vdGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTc2RDZDNzcxMjJCOEEzRDAwMUZEMUY3IC8qIEFz
eW5jRmlsZVdyaXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTc2RDZDNTgxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlci5oICovOyB9
OwotCQk5NzZENkM5MzEyMkI4QTNEMDAxRkQxRjcgLyogQXN5bmNGaWxlV3JpdGVyQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM3NDEy
MkI4QTNEMDAxRkQxRjcgLyogQXN5bmNGaWxlV3JpdGVyQ2xpZW50LmggKi87IH07CiAJCTk3NkQ2
Qzc4MTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkQ2QzU5MTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iLmNw
cCAqLzsgfTsKIAkJOTc2RDZDNzkxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkQ2QzVBMTIyQjhBM0QwMDFG
RDFGNyAvKiBCbG9iLmggKi87IH07CiAJCTk3NkQ2QzdCMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9i
QnVpbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5NzZENkM1QzEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIuY3BwICovOyB9OwpAQCAt
Mjc5OCw2ICsyODAzLDcgQEAKIAkJOTc2RDZDOEYxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVUaHJl
YWRUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
NzZENkM3MDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZVRocmVhZFRhc2suaCAqLzsgfTsKIAkJOTc2
RDZDOTAxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNzExMjJCOEEzRDAwMUZEMUY3IC8q
IEZpbGVXcml0ZXIuY3BwICovOyB9OwogCQk5NzZENkM5MTEyMkI4QTNEMDAxRkQxRjcgLyogRmls
ZVdyaXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTc2RDZDNzIxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuaCAqLzsgfTsKKwkJOTc2RDZD
OTMxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlckNsaWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNzQxMjJCOEEzRDAwMUZE
MUY3IC8qIEFzeW5jRmlsZVdyaXRlckNsaWVudC5oICovOyB9OwogCQk5NzZENkM5NDEyMkI4QTNE
MDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM3NTEyMkI4QTNEMDAxRkQxRjcgLyog
VGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgKi87IH07CiAJCTk3NkQ2Qzk1MTIyQjhBM0QwMDFG
RDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM3NjEyMkI4QTNEMDAxRkQxRjcgLyogVGhyZWFk
YWJsZUJsb2JSZWdpc3RyeS5oICovOyB9OwogCQk5NzdCMzcyMzEyMjg3MjE3MDBCODFGRjggLyog
SFRNTEVsZW1lbnRTdGFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NzdCMzcxRjEyMjg3MjE3MDBCODFGRjggLyogSFRNTEVsZW1lbnRTdGFjay5j
cHAgKi87IH07CkBAIC03MzcwLDEyICs3Mzc2LDE5IEBACiAJCTc2OTNCQUNGMTA2QzJEQ0EwMDdC
MDgyMyAvKiBQbHVnaW5IYWx0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUGx1Z2luSGFsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzY5
M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQbHVnaW5IYWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzY5M0JBRDExMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlckNsaWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5IYWx0ZXJDbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5NDU2M0ExMjE0RDk3QzAwMDdDQkFFIC8qIEpT
RE9NVG9rZW5MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
RE9NVG9rZW5MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5NDU2M0Ix
MjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tl
bkxpc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01ET01U
b2tlbkxpc3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVDMTEwM0RB
NjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUQxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2li
aWxpdHlNZW51TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3Np
YmlsaXR5TWVudUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUUx
MTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVw
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUYxMTAzREE2NjAwNjgw
NTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc2Q0REMkYwMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5
TWVudUxpc3RPcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzZDREQyRjExMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdE9w
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5TWVu
dUxpc3RPcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZGQzJCMDgxMjM3
MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBET01Ub2tlbkxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3NkZDMkIwOTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3NkZDMkIwQTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01Ub2tlbkxpc3QuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3NkZGMTdFMjExMjM1NjczMDAxRDYxQjUgLyogUGx1Z2luVmlld05v
bmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luVmlld05v
bmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUFDOTIxNjEwOTk0NUM4MDAy
MTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQ29tcG9zaXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTc5QUM5MjE3MTA5OTQ1QzgwMDIxMjY2RSAvKiBKU0NvbXBvc2l0aW9uRXZlbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDb21wb3NpdGlvbkV2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04Njc3LDcgKzg2OTAsNiBAQAogCQk5NzNF
MzI1NDEwODgzQjdDMDA1QkM0OTMgLyogUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzNFMzI1NTEwODgzQjdDMDA1QkM0OTMgLyog
UmVzb3VyY2VMb2FkTm90aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVzb3VyY2VMb2FkTm90aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2
RDZDNTgxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBBc3luY0ZpbGVXcml0ZXIuaDsgcGF0aCA9IGZpbGVhcGkvQXN5
bmNGaWxlV3JpdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3NkQ2Qzc0MTIy
QjhBM0QwMDFGRDFGNyAvKiBBc3luY0ZpbGVXcml0ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gQXN5bmNGaWxlV3JpdGVyQ2xpZW50Lmg7IHBhdGggPSBmaWxlYXBp
L0FzeW5jRmlsZVdyaXRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
NzZENkM1OTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBCbG9iLmNwcDsgcGF0aCA9IGZpbGVhcGkvQmxvYi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NkQ2QzVBMTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9i
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEJsb2IuaDsgcGF0aCA9IGZpbGVh
cGkvQmxvYi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzZENkM1QzEyMkI4QTNE
MDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gQmxvYkJ1aWxkZXIuY3BwOyBwYXRoID0gZmlsZWFwaS9CbG9iQnVpbGRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04Njk4LDYgKzg3MTAsNyBAQAogCQk5NzZE
NkM3MDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZVRocmVhZFRhc2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRmlsZVRocmVhZFRhc2suaDsgcGF0aCA9IGZpbGVhcGkvRmlsZVRo
cmVhZFRhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNzExMjJCOEEz
RDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRmlsZVdyaXRlci5jcHA7IHBhdGggPSBmaWxlYXBpL0ZpbGVXcml0ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzZENkM3MjEyMkI4QTNEMDAxRkQxRjcgLyog
RmlsZVdyaXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGaWxlV3JpdGVy
Lmg7IHBhdGggPSBmaWxlYXBpL0ZpbGVXcml0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTc2RDZDNzQxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlckNsaWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBc3luY0ZpbGVXcml0ZXJDbGllbnQu
aDsgcGF0aCA9IGZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTk3NkQ2Qzc1MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxv
YlJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFRocmVh
ZGFibGVCbG9iUmVnaXN0cnkuY3BwOyBwYXRoID0gZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lz
dHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNzYxMjJCOEEzRDAw
MUZEMUY3IC8qIFRocmVhZGFibGVCbG9iUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oOyBwYXRoID0gZmlsZWFwaS9UaHJl
YWRhYmxlQmxvYlJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3N0Iz
NzFGMTIyODcyMTcwMEI4MUZGOCAvKiBIVE1MRWxlbWVudFN0YWNrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEhUTUxFbGVtZW50U3RhY2suY3BwOyBwYXRoID0gcGFy
c2VyL0hUTUxFbGVtZW50U3RhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTM1MjAsNiArMTM1MzMsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMkUyRDk5RTUxMEUyQkMx
QzAwNDk2MzM3IC8qIERPTUJsb2IuaCAqLywKIAkJCQkyRTJEOTlFNjEwRTJCQzFDMDA0OTYzMzcg
LyogRE9NQmxvYi5tbSAqLywKKwkJCQk3Njk0NTY1OTEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9N
VG9rZW5MaXN0LmggKi8sCisJCQkJNzY5NDU2NUExMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRv
a2VuTGlzdC5tbSAqLywKIAkJCQlCQzAwRUZGRTBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5o
ICovLAogCQkJCUJDMDBFRkZGMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLm1tICovLAogCQkJ
CTJFM0JDMTA2MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IuaCAqLywKQEAgLTE0MTQz
LDYgKzE0MTU4LDkgQEAKIAkJCQkyRUQ2MDlCQTExNDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURh
dGEuY3BwICovLAogCQkJCTJFRDYwOUJCMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5o
ICovLAogCQkJCTJFMDg4OEMzMTE0ODgzQTkwMEFGNDI2NSAvKiBET01Gb3JtRGF0YS5pZGwgKi8s
CisJCQkJNzZGQzJCMDgxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgKi8sCisJ
CQkJNzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovLAorCQkJCTc2
RkMyQjBBMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuaWRsICovLAogCQkJCUE4MTM2
RDM3MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuY3BwICovLAogCQkJCUE4MTM2RDM2
MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuaCAqLywKIAkJCQk5NzIwNUFBRDEyMzky
OENBMDBCMTczODAgLyogRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwICovLApAQCAtMTQ2MzQsNiAr
MTQ2NTIsOCBAQAogCQkJCUJDNzdEMTY4MEZGMTlGNTUwMDcwODg3QiAvKiBKU0RhdGFHcmlkQ29s
dW1uTGlzdC5oICovLAogCQkJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1E
YXRhLmNwcCAqLywKIAkJCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0
YS5oICovLAorCQkJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5j
cHAgKi8sCisJCQkJNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0Lmgg
Ki8sCiAJCQkJNDlFRUNFRjQxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmNwcCAq
LywKIAkJCQk0OUVFQ0VGNTEwNTA3MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuaCAqLywK
IAkJCQlCQzk3RTQxMDEwOTE1NEZBMDAxMEQzNjEgLyogSlNIVE1MQWxsQ29sbGVjdGlvbi5jcHAg
Ki8sCkBAIC0yMDU4Miw2ICsyMDYwMiw5IEBACiAJCQkJODQ3MzBEOTExMjQ4RjBCMzAwRDNBOUM5
IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MjEyNDhGMEIzMDBE
M0E5QzkgLyogUG9pbnRMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTMx
MjQ4RjBCMzAwRDNBOUM5IC8qIFNwb3RMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NzY5NDU2M0QxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk3Njk0NTY1QjEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0LmggaW4g
SGVhZGVycyAqLywKKwkJCQk3NkZDMkIwQzEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0
LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzMDYxLDYgKzIzMDg0LDkgQEAKIAkJCQk4NDczMEQ4QTEy
NDhGMEIzMDBEM0E5QzkgLyogRkVUaWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg0NzMwRDhD
MTI0OEYwQjMwMEQzQTlDOSAvKiBGRVR1cmJ1bGVuY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODQ3MzBEOTAxMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTc2OTQ1NjNDMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk3Njk0NTY1QzEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5M
aXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNzZGQzJCMEIxMjM3MERBMDAwNkE5OTFBIC8qIERP
TVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQppbmRleCAxMjgzNWNjNGRhZTQ3ZDVhMWRkNjUxYTVkNTY1ZjMwZTVhNmY3MGRl
Li5kODA4ZTE4OTlmM2FmYmQ3YWY1Yjg3M2Q2ZWVmNmNhYTUxMTViZDM0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCkBAIC00OSw2ICs0OSw4IEBAIHdlYmtpdGd0a19n
ZG9tX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01E
T01TdHJpbmdMaXN0UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9N
RE9NU3RyaW5nTWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVN0
cmluZ01hcFByaXZhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTVRv
a2VuTGlzdC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01Ub2tlbkxp
c3RQcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01XaW5kb3cu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NV2luZG93UHJpdmF0ZS5o
IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRWxlbWVudC5jcHAgXApAQCAtMjYz
LDYgKzI2NSw3IEBAIHdlYmtpdGd0a19idWlsdF9oX2FwaSArPSBcCiAJRGVyaXZlZFNvdXJjZXMv
d2Via2l0L1dlYktpdERPTURPTUltcGxlbWVudGF0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01ET01TdHJpbmdMaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9X
ZWJLaXRET01ET01TdHJpbmdNYXAuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TURPTVRva2VuTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRWxlbWVu
dC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRW50aXR5UmVmZXJlbmNlLmgg
XAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01FdmVudC5oIFwKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA4YTFkZjVjNmNhMmFjZWYwMzM3MDE0MDU2
NjM1M2YwMTFiZTlkNDQ2Li5mNjkxNjIwYThjODJlNGYzODEzZGRkYTdiNzc4N2JmNWQyMzdjODc4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwCkBAIC02MCw2ICs2MCw3
IEBAIHZvaWQgSlNFbGVtZW50OjptYXJrQ2hpbGRyZW4oTWFya1N0YWNrJiBtYXJrU3RhY2spCiAg
ICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gKkhlYXA6OmhlYXAodGhpcyktPmdsb2JhbERh
dGEoKTsKIAogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywgZ2xvYmFsRGF0YSwg
ZWxlbWVudC0+YXR0cmlidXRlTWFwKCkpOworICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtT
dGFjaywgZ2xvYmFsRGF0YSwgZWxlbWVudC0+b3B0aW9uYWxDbGFzc0xpc3QoKSk7CiAgICAgbWFy
a0RPTU9iamVjdFdyYXBwZXIobWFya1N0YWNrLCBnbG9iYWxEYXRhLCBlbGVtZW50LT5vcHRpb25h
bERhdGFzZXQoKSk7CiAKICAgICBpZiAoZWxlbWVudC0+aXNTdHlsZWRFbGVtZW50KCkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxYTExNGE0Mjk3
ZTE0OTI5MzNiYWIyODNlMzY0ZjVjYTE0NzkyYmNmLi44MDM1NDJlNjlkODJkY2JkZjUyNzhjZGU3
MmQwNmI1NTU0MmI3MTE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0KQEAgLTI0MCw3ICsyNDAsNyBAQCBzdWIgSW5kZXhHZXR0ZXJSZXR1cm5zU3RyaW5n
cwogewogICAgIG15ICR0eXBlID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gMSBpZiAkdHlwZSBlcSAi
Q1NTU3R5bGVEZWNsYXJhdGlvbiIgb3IgJHR5cGUgZXEgIk1lZGlhTGlzdCIgb3IgJHR5cGUgZXEg
IkNTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiRE9NU3RyaW5nTGlzdCI7Cisg
ICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVjbGFyYXRpb24iIG9yICR0eXBlIGVx
ICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbiIgb3IgJHR5
cGUgZXEgIkRPTVN0cmluZ0xpc3QiIG9yICR0eXBlIGVxICJET01Ub2tlbkxpc3QiOwogICAgIHJl
dHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5w
bQppbmRleCBmNzRmMmIxZDg4ZjU4OTk1Yzg3MDI4NTVhZDJkNTZhMmYyZGI0MzVhLi4zMzUzZjBm
NWU2NzQyNjE1Y2MzZTBhMzllY2ZiNDJlMzM3MWU3MzU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTI1MTAsNiArMjUxMCw3IEBAIHN1YiBIYXND
dXN0b21Ub1Y4SW1wbGVtZW50YXRpb24gewogICAgIHJldHVybiAxIGlmICRpbnRlcmZhY2VOYW1l
IGVxICJDYW52YXNQaXhlbEFycmF5IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBl
cSAiRE9NU3RyaW5nTWFwIjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRE9N
V2luZG93IjsKKyAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRE9NVG9rZW5MaXN0
IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRWxlbWVudCI7CiAgICAgcmV0
dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxEb2N1bWVudCI7CiAgICAgcmV0dXJuIDEg
aWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxFbGVtZW50IjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBiL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNzFm
ZjVjMjlkZTA4NjZjZmZlOTRkMjBmOTQ4ODc3MTgxOWVkYjFkCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCkBAIC0w
LDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhET01Ub2tlbkxpc3Qu
aCIKKworI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgor
I2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2luY2x1ZGUgIlY4RWxlbWVudC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERPTVRva2VuTGlz
dCogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwor
ICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NVG9rZW5MaXN0Ojp3cmFw
KGltcGwpOworICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxlbWVudCB0
byB0aGUgRE9NVG9rZW5MaXN0LgorICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5lbGVtZW50
KCk7CisgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7CisgICAgICAgIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQpOworICAgICAg
ICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09iamVjdCgp
KQorICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXRIaWRkZW5SZWZlcmVuY2UoZWxlbWVudFZh
bHVlLkFzPHY4OjpPYmplY3Q+KCksIHdyYXBwZXIpOworICAgIH0KKyAgICByZXR1cm4gd3JhcHBl
cjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA1YzRlODJiMmE1Zjg0
YjZiZmZjNzQ3YTcwODJmODZmOGNlYWM3ZjQ4Li5jNDA4NzkwYzdjYWEzMjI3Mzk2NmI2OWM0Yzc0
NmQwZGI4YzMwNTVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkNTU1N0
eWxlU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0LmgiCiAjaW5jbHVkZSAiQ2xpZW50
UmVjdExpc3QuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRlICJEYXRhc2V0
RE9NU3RyaW5nTWFwLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVu
dEZyYWdtZW50LmgiCkBAIC0xNTczLDYgKzE1NzQsMjEgQEAgYm9vbCBFbGVtZW50Ojp3ZWJraXRN
YXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgRXhjZXB0aW9uQ29kZSYgZWMp
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitET01Ub2tlbkxpc3QqIEVsZW1lbnQ6OmNsYXNzTGlz
dCgpCit7CisgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0gZW5zdXJlUmFyZURhdGEoKTsKKyAg
ICBpZiAoIWRhdGEtPm1fY2xhc3NMaXN0KQorICAgICAgICBkYXRhLT5tX2NsYXNzTGlzdCA9IERP
TVRva2VuTGlzdDo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVybiBkYXRhLT5tX2NsYXNzTGlzdC5n
ZXQoKTsKK30KKworRE9NVG9rZW5MaXN0KiBFbGVtZW50OjpvcHRpb25hbENsYXNzTGlzdCgpIGNv
bnN0Cit7CisgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gcmFyZURhdGEoKS0+bV9jbGFzc0xpc3QuZ2V0KCk7Cit9CisKIERPTVN0cmluZ01hcCog
RWxlbWVudDo6ZGF0YXNldCgpCiB7CiAgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0gZW5zdXJl
UmFyZURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAppbmRleCBkOWE1MDg1NDhlMDY3MDhhYjkwYjE2YjlkZGM3MTFlZjM0ODY1
NTE0Li5iNTFlNzUwYTUxZDA4Y2JmMTZkNzk1NmRhOWYxZDJkZjAzZjVkNDA3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0z
Niw2ICszNiw3IEBAIGNsYXNzIEF0dHJpYnV0ZTsKIGNsYXNzIENsaWVudFJlY3Q7CiBjbGFzcyBD
bGllbnRSZWN0TGlzdDsKIGNsYXNzIERPTVN0cmluZ01hcDsKK2NsYXNzIERPTVRva2VuTGlzdDsK
IGNsYXNzIEVsZW1lbnRSYXJlRGF0YTsKIGNsYXNzIEludFNpemU7CiAKQEAgLTI2OSw2ICsyNzAs
OSBAQCBwdWJsaWM6CiAKICAgICBib29sIHdlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25zdCBTdHJp
bmcmIHNlbGVjdG9ycywgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgRE9NVG9rZW5MaXN0KiBjbGFz
c0xpc3QoKTsKKyAgICBET01Ub2tlbkxpc3QqIG9wdGlvbmFsQ2xhc3NMaXN0KCkgY29uc3Q7CisK
ICAgICBET01TdHJpbmdNYXAqIGRhdGFzZXQoKTsKICAgICBET01TdHJpbmdNYXAqIG9wdGlvbmFs
RGF0YXNldCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURh
dGEuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDhlMzM4YWJjNjgwZjI0
NGQyZjRhZmI2YWVlZmI1NjMzNTJhYTNmZjIuLmYxZTYzMzQxOGNjMjQ2Njk1M2E4OTI5YTgwYzNj
Y2NjNTZlYmNkOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisr
KyBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0yMiw2ICsyMiw3IEBACiAjaWZu
ZGVmIEVsZW1lbnRSYXJlRGF0YV9oCiAjZGVmaW5lIEVsZW1lbnRSYXJlRGF0YV9oCiAKKyNpbmNs
dWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRlICJEYXRhc2V0RE9NU3RyaW5nTWFwLmgiCiAj
aW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgpAQCAtNDIsNiAr
NDMsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX2NvbXB1dGVkU3R5bGU7
CiAKICAgICBPd25QdHI8RGF0YXNldERPTVN0cmluZ01hcD4gbV9kYXRhc2V0RE9NU3RyaW5nTWFw
OworICAgIE93blB0cjxET01Ub2tlbkxpc3Q+IG1fY2xhc3NMaXN0OwogfTsKIAogaW5saW5lIElu
dFNpemUgZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5o
CmluZGV4IGY0OTY3MGJhMWJkM2ZlMDNjMzAwNzI1NDBlOTZkNDdkNWQzYzA2MmIuLjBkMzY1MGUx
NmJiYWFhODZkZjU4YTQ3YzIyZDMzOWRiODg5ZTFhM2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L1NwYWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgK
QEAgLTc0LDYgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGNvbnRh
aW5zQWxsKGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIG5hbWVzKSBjb25zdCB7IHJldHVybiAhbmFt
ZXMubV9kYXRhIHx8IChtX2RhdGEgJiYgbV9kYXRhLT5jb250YWluc0FsbCgqbmFtZXMubV9kYXRh
KSk7IH0KIAogICAgICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YSA/IG1f
ZGF0YS0+c2l6ZSgpIDogMDsgfQorICAgICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJu
ICFtX2RhdGE7IH0KICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBvcGVyYXRvcltdKHNpemVf
dCBpKSBjb25zdCB7IEFTU0VSVChpIDwgc2l6ZSgpKTsgcmV0dXJuICgqbV9kYXRhKVtpXTsgfQog
CiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
IGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYTE1OGUyZWFlNWJiYjY0ZGM2
ZWE4MTJlODU2ODMyZWFlMDE0NjRhMS4uMjA1ZTIxMDQ4MTkwODEyZmQ4MjAwMDZiNzdlOWE3MTU5
ZjMzZjZkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKKysrIGIv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRl
ICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1
ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoRnVuY3Rpb25zLmg+CkBAIC0yMTcsMTIgKzIxOCwxMyBAQCB2b2lkIFN0eWxlZEVsZW1lbnQ6
OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5ld0NsYXNzU3RyaW5n
KQogICAgIH0KICAgICBib29sIGhhc0NsYXNzID0gaSA8IGxlbmd0aDsKICAgICBzZXRIYXNDbGFz
cyhoYXNDbGFzcyk7Ci0gICAgaWYgKGhhc0NsYXNzKQorICAgIGlmIChoYXNDbGFzcykgewogICAg
ICAgICBhdHRyaWJ1dGVzKCktPnNldENsYXNzKG5ld0NsYXNzU3RyaW5nKTsKLSAgICBlbHNlIHsK
LSAgICAgICAgaWYgKGF0dHJpYnV0ZU1hcCgpKSAgICAKLSAgICAgICAgICAgIGF0dHJpYnV0ZU1h
cCgpLT5jbGVhckNsYXNzKCk7Ci0gICAgfQorICAgICAgICBET01Ub2tlbkxpc3QqIGNsYXNzTGlz
dCA9IG9wdGlvbmFsQ2xhc3NMaXN0KCk7CisgICAgICAgIGlmIChjbGFzc0xpc3QpCisgICAgICAg
ICAgICBjbGFzc0xpc3QtPnJlc2V0KG5ld0NsYXNzU3RyaW5nKTsKKyAgICB9IGVsc2UgaWYgKGF0
dHJpYnV0ZU1hcCgpKQorICAgICAgICBhdHRyaWJ1dGVNYXAoKS0+Y2xlYXJDbGFzcygpOwogICAg
IHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKICAgICBkaXNwYXRjaFN1YnRyZWVNb2RpZmllZEV2ZW50
KCk7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmggYi9XZWJDb3Jl
L2RvbS9TdHlsZWRFbGVtZW50LmgKaW5kZXggODA0MGRiZjFlMzY4YWNiN2Y0ZWE4ZTgzNTdhMWIx
NWFmODA0MmYwMy4uNGI2MjM4ODE0NDRlMTg1NDA3NjM2M2MwY2M2OTIxYjk4NzNkMzA2MSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL1N0
eWxlZEVsZW1lbnQuaApAQCAtMzIsNiArMzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBBdHRyaWJ1dGU7CitjbGFzcyBDbGFzc0xpc3Q7CiBjbGFzcyBDU1NNYXBwZWRBdHRyaWJ1
dGVEZWNsYXJhdGlvbjsKIAogY2xhc3MgU3R5bGVkRWxlbWVudCA6IHB1YmxpYyBFbGVtZW50IHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuY3BwIGIvV2ViQ29yZS9odG1s
L0RPTVRva2VuTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q2OTQzMTllYjY2ZjQ5YWY0ZmQ1ZDJjMGJi
NDJmNDhiNTA4Zjg1ZgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxp
c3QuY3BwCkBAIC0wLDAgKzEsMjIwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwLCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorCisjaW5jbHVkZSAiRWxlbWVudC5oIgor
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKKyNp
bmNsdWRlICJTdHJpbmdCdWlsZGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcg
bmFtZXNwYWNlIEhUTUxOYW1lczsKKworYm9vbCBvcGVyYXRvcj09KGNvbnN0IEF0b21pY1N0cmlu
ZyYgYSwgY29uc3QgVmVjdG9yPFVDaGFyPiYgYikKK3sKKyAgICB1bnNpZ25lZCBsZW5ndGggPSBh
Lmxlbmd0aCgpOworICAgIGlmIChsZW5ndGggIT0gYi5zaXplKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGNvbnN0IFVDaGFyKiBjaGFycyA9IGEuY2hhcmFjdGVycygpOworICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgIT0gbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKGNoYXJz
W2ldICE9IGJbaV0pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVy
biB0cnVlOworfQorCitzdGF0aWMgYm9vbCB2YWxpZGF0ZVRva2VuKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICh0b2tlbi5pc0VtcHR5KCkp
IHsKKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgdW5zaWduZWQgbGVuZ3RoID0gdG9rZW4ubGVuZ3RoKCk7CisgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgIGlmIChpc0NsYXNzV2hpdGVz
cGFjZSh0b2tlbltpXSkpIHsKKyAgICAgICAgICAgIGVjID0gSU5WQUxJRF9DSEFSQUNURVJfRVJS
OworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0
dXJuIHRydWU7Cit9CisKK0RPTVRva2VuTGlzdDo6RE9NVG9rZW5MaXN0KEVsZW1lbnQqIGVsZW1l
bnQpCisgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkKK3sKKyAgICBpZiAobV9lbGVtZW50LT5kb2N1
bWVudCgpLT5pblF1aXJrc01vZGUoKSkKKyAgICAgICAgbV9jbGFzc05hbWVzRm9yUXVpcmtzTW9k
ZS5zZXQobV9lbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKGNsYXNzQXR0ciksIGZhbHNlKTsKK30K
Kwordm9pZCBET01Ub2tlbkxpc3Q6OnJlZigpCit7CisgICAgbV9lbGVtZW50LT5yZWYoKTsKK30K
Kwordm9pZCBET01Ub2tlbkxpc3Q6OmRlcmVmKCkKK3sKKyAgICBtX2VsZW1lbnQtPmRlcmVmKCk7
Cit9CisKK3Vuc2lnbmVkIERPTVRva2VuTGlzdDo6bGVuZ3RoKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gY2xhc3NOYW1lcygpLnNpemUoKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nIERPTVRva2Vu
TGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbGVu
Z3RoKCkpCisgICAgICAgIHJldHVybiBBdG9taWNTdHJpbmcoKTsKKyAgICByZXR1cm4gY2xhc3NO
YW1lcygpW2luZGV4XTsKK30KKworYm9vbCBET01Ub2tlbkxpc3Q6OmNvbnRhaW5zKGNvbnN0IEF0
b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAoreworICAgIGlmICgh
dmFsaWRhdGVUb2tlbih0b2tlbiwgZWMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0
dXJuIGNvbnRhaW5zSW50ZXJuYWwodG9rZW4pOworfQorCitib29sIERPTVRva2VuTGlzdDo6Y29u
dGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAgIHJl
dHVybiBjbGFzc05hbWVzKCkuY29udGFpbnModG9rZW4pOworfQorCit2b2lkIERPTVRva2VuTGlz
dDo6YWRkKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQorewor
ICAgIGlmICghdmFsaWRhdGVUb2tlbih0b2tlbiwgIGVjKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGFkZEludGVybmFsKHRva2VuKTsKK30KKwordm9pZCBET01Ub2tlbkxpc3Q6OmFkZEludGVybmFs
KGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4pIGNvbnN0Cit7CisgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBvbGRDbGFzc05hbWUobV9lbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKGNsYXNzQXR0cikp
OworICAgIGlmIChvbGRDbGFzc05hbWUuaXNFbXB0eSgpKQorICAgICAgICBtX2VsZW1lbnQtPnNl
dEF0dHJpYnV0ZShjbGFzc0F0dHIsIHRva2VuKTsKKyAgICBlbHNlIGlmICghY29udGFpbnNJbnRl
cm5hbCh0b2tlbikpIHsKKyAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOworICAgICAgICBi
dWlsZGVyLmFwcGVuZChvbGRDbGFzc05hbWUpOworICAgICAgICBpZiAob2xkQ2xhc3NOYW1lW29s
ZENsYXNzTmFtZS5sZW5ndGgoKSAtIDFdICE9ICcgJykKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBw
ZW5kKCcgJyk7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5kKHRva2VuKTsKKyAgICAgICAgbV9lbGVt
ZW50LT5zZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCBidWlsZGVyLnRvU3RyaW5nKCkpOworICAgIH0K
K30KKwordm9pZCBET01Ub2tlbkxpc3Q6OnJlbW92ZShjb25zdCBBdG9taWNTdHJpbmcmIHRva2Vu
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIXZhbGlkYXRlVG9rZW4odG9rZW4sICBl
YykpCisgICAgICAgIHJldHVybjsKKyAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7Cit9CisKK3Zv
aWQgRE9NVG9rZW5MaXN0OjpyZW1vdmVJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2Vu
KSBjb25zdAoreworICAgIC8vIENoZWNrIHVzaW5nIGNvbnRhaW5zIGZpcnN0IHNpbmNlIGl0IHVz
ZXMgQXRvbWljU3RyaW5nIGNvbXBhcmlzb25zIGluc3RlYWQKKyAgICAvLyBvZiBjaGFyYWN0ZXIg
YnkgY2hhcmFjdGVyIHRlc3RpbmcuCisgICAgaWYgKCFjb250YWluc0ludGVybmFsKHRva2VuKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgLy8gQWxnb3JpdGhtIGRlZmluZWQgYXQgaHR0cDovL3d3
dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvY29tbW9u
LW1pY3Jvc3ludGF4ZXMuaHRtbCNyZW1vdmUtYS10b2tlbi1mcm9tLWEtc3RyaW5nCisKKyAgICBj
b25zdCBBdG9taWNTdHJpbmcmIGlucHV0ID0gbV9lbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKGNs
YXNzQXR0cik7CisgICAgdW5zaWduZWQgaW5wdXRMZW5ndGggPSBpbnB1dC5sZW5ndGgoKTsKKyAg
ICBWZWN0b3I8VUNoYXI+IG91dHB1dDsgLy8gMworICAgIG91dHB1dC5yZXNlcnZlQ2FwYWNpdHko
aW5wdXRMZW5ndGgpOworICAgIHVuc2lnbmVkIHBvc2l0aW9uID0gMDsgLy8gNAorCisgICAgLy8g
U3RlcCA1CisgICAgd2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGgpIHsKKyAgICAgICAgaWYg
KGlzQ2xhc3NXaGl0ZXNwYWNlKGlucHV0W3Bvc2l0aW9uXSkpIHsgLy8gNgorICAgICAgICAgICAg
b3V0cHV0LmFwcGVuZChpbnB1dFtwb3NpdGlvbisrXSk7IC8vIDYuMSwgNi4yCisgICAgICAgICAg
ICBjb250aW51ZTsgLy8gNi4zCisgICAgICAgIH0KKworICAgICAgICAvLyBTdGVwIDcKKyAgICAg
ICAgVmVjdG9yPFVDaGFyPiBzOworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0
aCAmJiAhaXNDbGFzc1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkKKyAgICAgICAgICAgIHMu
YXBwZW5kKGlucHV0W3Bvc2l0aW9uKytdKTsKKworICAgICAgICAvLyBTdGVwIDgKKyAgICAgICAg
aWYgKHMgPT0gdG9rZW4pIHsKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4xCisgICAgICAgICAgICB3
aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiBpc0NsYXNzV2hpdGVzcGFjZShpbnB1dFtw
b3NpdGlvbl0pKQorICAgICAgICAgICAgICAgICsrcG9zaXRpb247CisKKyAgICAgICAgICAgIC8v
IFN0ZXAgOC4yCisgICAgICAgICAgICBzaXplX3QgaiA9IG91dHB1dC5zaXplKCk7CisgICAgICAg
ICAgICB3aGlsZSAoaiA+IDAgJiYgaXNDbGFzc1doaXRlc3BhY2Uob3V0cHV0W2ogLSAxXSkpCisg
ICAgICAgICAgICAgICAgLS1qOworICAgICAgICAgICAgb3V0cHV0LnJlc2l6ZShqKTsKKworICAg
ICAgICAgICAgLy8gU3RlcCA4LjMKKyAgICAgICAgICAgIGlmIChwb3NpdGlvbiA8IGlucHV0TGVu
Z3RoICYmICFvdXRwdXQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQo
JyAnKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKHMpOyAvLyBT
dGVwIDkKKyAgICB9CisKKyAgICBvdXRwdXQuc2hyaW5rVG9GaXQoKTsKKyAgICBtX2VsZW1lbnQt
PnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIFN0cmluZzo6YWRvcHQob3V0cHV0KSk7Cit9CisKK2Jv
b2wgRE9NVG9rZW5MaXN0Ojp0b2dnbGUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChjb250YWluc0ludGVybmFsKHRva2VuKSkgewor
ICAgICAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisgICAgYWRkSW50ZXJuYWwodG9rZW4pOworICAgIHJldHVybiB0cnVlOworfQorCitTdHJp
bmcgRE9NVG9rZW5MaXN0Ojp0b1N0cmluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZWxlbWVu
dC0+ZmFzdEdldEF0dHJpYnV0ZShjbGFzc0F0dHIpOworfQorCit2b2lkIERPTVRva2VuTGlzdDo6
cmVzZXQoY29uc3QgU3RyaW5nJiBuZXdDbGFzc05hbWUpCit7CisgICAgaWYgKCFtX2NsYXNzTmFt
ZXNGb3JRdWlya3NNb2RlLmlzTnVsbCgpKQorICAgICAgICBtX2NsYXNzTmFtZXNGb3JRdWlya3NN
b2RlLnNldChuZXdDbGFzc05hbWUsIGZhbHNlKTsKK30KKworY29uc3QgU3BhY2VTcGxpdFN0cmlu
ZyYgRE9NVG9rZW5MaXN0OjpjbGFzc05hbWVzKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fY2xhc3NO
YW1lc0ZvclF1aXJrc01vZGUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBtX2NsYXNzTmFtZXNG
b3JRdWlya3NNb2RlOworICAgIHJldHVybiBtX2VsZW1lbnQtPmF0dHJpYnV0ZU1hcCgpLT5jbGFz
c05hbWVzKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jZGY3YjJlMzBjN2JlZmQ0NGU1YTBlZjk0Yzg5ZGVlNDlhN2I4MmEzCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0wLDAgKzEsNzggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
CisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIERPTVRva2VuTGlzdF9oCisjZGVmaW5lIERPTVRva2Vu
TGlzdF9oCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3BhY2VTcGxp
dFN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEVsZW1lbnQ7CisKK2NsYXNzIERPTVRva2VuTGlzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8RE9NVG9rZW5MaXN0PiBj
cmVhdGUoRWxlbWVudCogZWxlbWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgRE9NVG9rZW5MaXN0KGVsZW1lbnQpKTsKKyAgICB9CisKKyAgICB2b2lkIHJlZigpOworICAg
IHZvaWQgZGVyZWYoKTsKKworICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OworICAgIGNvbnN0
IEF0b21pY1N0cmluZyBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKyAgICBib29sIGNvbnRh
aW5zKGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2b2lk
IGFkZChjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZW1v
dmUoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworICAgIGJvb2wgdG9nZ2xl
KGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBTdHJpbmcgdG9TdHJp
bmcoKSBjb25zdDsKKworICAgIHZvaWQgcmVzZXQoY29uc3QgU3RyaW5nJik7CisKKyAgICBFbGVt
ZW50KiBlbGVtZW50KCkgeyByZXR1cm4gbV9lbGVtZW50OyB9CisKK3ByaXZhdGU6CisgICAgRE9N
VG9rZW5MaXN0KEVsZW1lbnQqKTsKKworICAgIHZvaWQgYWRkSW50ZXJuYWwoY29uc3QgQXRvbWlj
U3RyaW5nJikgY29uc3Q7CisgICAgYm9vbCBjb250YWluc0ludGVybmFsKGNvbnN0IEF0b21pY1N0
cmluZyYpIGNvbnN0OworICAgIHZvaWQgcmVtb3ZlSW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5n
JikgY29uc3Q7CisKKyAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc05hbWVzKCkgY29u
c3Q7CisKKyAgICBFbGVtZW50KiBtX2VsZW1lbnQ7CisgICAgU3BhY2VTcGxpdFN0cmluZyBtX2Ns
YXNzTmFtZXNGb3JRdWlya3NNb2RlOworfTsKKworYm9vbCBvcGVyYXRvcj09KGNvbnN0IEF0b21p
Y1N0cmluZyYgYSwgY29uc3QgVmVjdG9yPFVDaGFyPiYgYik7CitpbmxpbmUgYm9vbCBvcGVyYXRv
cj09KGNvbnN0IFZlY3RvcjxVQ2hhcj4mIGEsIGNvbnN0IEF0b21pY1N0cmluZyYgYikgeyByZXR1
cm4gYiA9PSBhOyB9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERPTVRv
a2VuTGlzdF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbCBiL1dl
YkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0NjkwMGVhMDRmZWRjNzlj
YzY5M2VmNmY3ZjY4ZWU0YmZiYTYxZGUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwv
RE9NVG9rZW5MaXN0LmlkbApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxl
IGNvcmUgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgR2VuZXJhdGVDb25zdHJ1Y3RvciwK
KyAgICAgICAgSGFzSW5kZXhHZXR0ZXIKKyAgICBdIERPTVRva2VuTGlzdCB7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAgW0NvbnZlcnRO
dWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nIGl0ZW0oaW4gdW5zaWduZWQgbG9uZyBpbmRleCk7
CisgICAgICAgIGJvb2xlYW4gY29udGFpbnMoaW4gRE9NU3RyaW5nIHRva2VuKSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCBhZGQoaW4gRE9NU3RyaW5nIHRva2VuKSByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKKyAgICAgICAgdm9pZCByZW1vdmUoaW4gRE9NU3RyaW5nIHRva2VuKSBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgYm9vbGVhbiB0b2dnbGUoaW4gRE9NU3RyaW5n
IHRva2VuKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKworI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFW
QVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAorICAgICAgICBbRG9udEVudW1dIERPTVN0
cmluZyB0b1N0cmluZygpOworI2VuZGlmCisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmlkbCBiL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKaW5k
ZXggODYzZjI4Yzg2NTQ3ZWI5N2NjNDhjYzYyMWQ5YTFiNjZhYzkyNjdiYi4uYjEyN2M1MTcyNzY1
YjE4YzgxODAxYmRjZTZmNWE3MGEwMmUzZGE4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxFbGVtZW50LmlkbAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCkBAIC0zMSw2
ICszMSw3IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtSZWZs
ZWN0XSBET01TdHJpbmcgbGFuZzsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0
XSBET01TdHJpbmcgZGlyOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3Q9Y2xh
c3NdIERPTVN0cmluZyBjbGFzc05hbWU7CisgICAgICAgICAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01Ub2tlbkxpc3QgY2xhc3NMaXN0OwogCiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBsb25nICAgICAgICAgICAgICB0YWJJbmRleDsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRl
IGJvb2xlYW4gICAgICAgICAgIGRyYWdnYWJsZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZjViYTI1YzM2
YTlhZDJjN2ZkMTY1OWE1YjVkM2QwNmQ4N2JhNWM0Ni4uMDg2OTFkNzRjMDYwOTVlNDhhNjhiNzU2
NTY2ZTViZjg1ZWY5YWQzNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNs
dWRlICJET01TZWxlY3Rpb24uaCIKICNpbmNsdWRlICJET01TdHJpbmdMaXN0LmgiCiAjaW5jbHVk
ZSAiRE9NVGltZXIuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRlICJEYXRh
YmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQ2FsbGJhY2suaCIKICNpbmNsdWRlICJEZXZpY2VN
b3Rpb25Db250cm9sbGVyLmgiCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDcyY2EzNmE5N2Y1Mzk4ZWEwZWFj
ZmI0MWYxOTBkMDAxYWEyNGNmYTQuLjhjYWM4Nzk5N2FhOTUzMjY2MGU1YmVjMjNlOTljYjE5MWVi
ZDk0ZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0zNzksNiArMzc5LDcgQEAgbW9kdWxlIHdpbmRvdyB7
CiAvLyAgICAgICAgYXR0cmlidXRlIERPTUltcGxlbWVudGF0aW9uTGlzdENvbnN0cnVjdG9yIERP
TUltcGxlbWVudGF0aW9uTGlzdDsKIC8vICAgICAgICBhdHRyaWJ1dGUgRE9NSW1wbGVtZW50YXRp
b25Tb3VyY2VDb25zdHJ1Y3RvciBET01JbXBsZW1lbnRhdGlvblNvdXJjZTsKICAgICAgICAgYXR0
cmlidXRlIERPTUltcGxlbWVudGF0aW9uQ29uc3RydWN0b3IgRE9NSW1wbGVtZW50YXRpb247Cisg
ICAgICAgIGF0dHJpYnV0ZSBET01Ub2tlbkxpc3RDb25zdHJ1Y3RvciBET01Ub2tlbkxpc3Q7CiAg
ICAgICAgIGF0dHJpYnV0ZSBEb2N1bWVudEZyYWdtZW50Q29uc3RydWN0b3IgRG9jdW1lbnRGcmFn
bWVudDsKICAgICAgICAgYXR0cmlidXRlIERvY3VtZW50Q29uc3RydWN0b3IgRG9jdW1lbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBOb2RlQ29uc3RydWN0b3IgTm9kZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68962</attachid>
            <date>2010-09-27 14:49:57 -0700</date>
            <delta_ts>2010-09-27 15:35:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-20709-20100927144955.patch</filename>
            <type>text/plain</type>
            <size>75521</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlYTYwNGI5MGZmZjNmMzg2YTA4ZDU0ZDE5YTI2NDJhZTI5YTJiNmZhLi5iYzIxZWJl
ODJlNDdlZDE5ZTFiYjRhOGJkZTM5ODBkM2M3NjM5ODMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTAtMDktMjcgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1
J3MgSFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRN
TEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWly
a3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC1nYy5qczogQWRkZWQuCisgICAgICAgIChnYyk6CisgICAgICAgICogZmFz
dC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanM6IEFkZGVkLgorICAg
ICAgICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
cHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBlcmYvY2xhc3MtbGlz
dC1yZW1vdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmL2NsYXNzLWxpc3Qt
cmVtb3ZlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTI3ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9i
aW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lIHNvbWUgdGVzdHMgd2hlcmUg
cmVzdWx0cyBkaWZmZXIgYmV0d2VlbiBteSBtYWNoaW5lcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZDBlOGE0NzlhN2E0OTgzMWVhMThlMTdhODIwMzg4OTgwM2RhOGZhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw2OCBAQAorVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUg
YW5kIGl0cyBwcm9wZXJ0aWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVz
dHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9E
T01Ub2tlbkxpc3QvCitQQVNTIFN0cmluZyhlbGVtZW50LmNsYXNzTGlzdCkgaXMgIngiCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxl
bmd0aCBpcyAxCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4Igor
UEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMg
InggIHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xh
c3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQu
Y2xhc3NOYW1lIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInkiCitUZXN0
aW5nIGFkZCBpbiBwcmVzZW5jZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuCitQQVNTIGVsZW1l
bnQuY2xhc3NOYW1lIGlzICJ4IHkiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4CSB5Igor
UEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIHkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRp
b24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHknKSB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0
aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhyZXcg
ZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5yZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2Vw
dGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKSB0
aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDAp
IGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgInki
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0WzBdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBudWxs
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRlZmlu
ZWQuCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oLTEpIGlzIG51bGwKK1Rlc3QgY2FzZSBz
aW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuY29udGFpbnMoJ3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5z
KCdYJykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIngiCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNz
TGlzdC5jb250YWlucygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlz
ICJYIgorVGVzdGluZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBp
cyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2Ug
YW5kIHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVl
CitQQVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5
cGVvZiBlbGVtZW50LmNsYXNzTGlzdCBpcyAib2JqZWN0IgorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QgPT09
IGVsZW1lbnQuY2xhc3NMaXN0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUx
YzI1ZmI1MWFkZGM0ZDAwNzcyNjNlZmZmNDhlZGU3MTQ5MWMyMzYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBvbiB0aGUg
Y2xhc3NMaXN0IHBlcnNpc3RzIEdDLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBkLmNsYXNzTGlzdC5saWZlIGlzIDQyCitQQVNTIGQuY2xhc3NMaXN0LmxpZmUgaXMgNDIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGM1ZWZhZDdlOTk1M2VmMzU4YWU0YThhMzUwMzc1M2FkY2NhNTc5ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxp
c3QtZ2MuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
Y2xhc3MtbGlzdC1nYy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0
LXF1aXJrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQwZThhNDc5YTdhNDk4MzFlYTE4ZTE3
YTgyMDM4ODk4MDNkYThmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4
IEBACitUZXN0cyB0aGUgY2xhc3NMaXN0IGF0dHJpYnV0ZSBhbmQgaXRzIHByb3BlcnRpZXMuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5o
dG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC8KK1BBU1MgU3Ry
aW5nKGVsZW1lbnQuY2xhc3NMaXN0KSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVu
Z3RoIGlzIDAKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVu
dC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlz
IDIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1l
IGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCAgeCIKK1BBU1MgZWxlbWVudC5j
bGFzc05hbWUgaXMgInkgeCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIiIKK1BBU1MgZWxl
bWVudC5jbGFzc05hbWUgaXMgIiIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIiB5IHkgIgor
UEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieSIKK1Rlc3RpbmcgYWRkIGluIHByZXNlbmNlIG9m
IHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4KK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggeSIK
K1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngJIHkiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1l
IGlzICIgeSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29u
dGFpbnMoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1Mg
ZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2Vw
dGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJycpIHRocmV3IGV4
cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qu
YWRkKCd4IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1Mg
ZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24g
d2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCB5JykgdGhyZXcg
ZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0
LnRvZ2dsZSgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFT
UyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2Vw
dGlvbiB3aXRoIGNvZGUgNQorSW5kZXhpbmcKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMg
IngiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCkgaXMgIngiCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0WzFdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDEpIGlzICJ4
IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuaXRlbSgxKSBpcyAieSIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgbnVsbAorUEFT
UyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3RbNF0gaXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDQpIGlzIG51bGwKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuaXRlbSgtMSkgaXMgbnVsbAorVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBj
YXNlIHNlbnNpdGl2ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygneCcpIGlzIHRy
dWUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ1gnKSBpcyBmYWxzZQorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFp
bnMoJ1gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4JykgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIlgiCitUZXN0aW5nIHdoaXRlc3Bh
Y2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BB
U1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qu
bGVuZ3RoIGlzIDIKK0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZQorUEFTUyAndW5kZWZp
bmVkJyAhPSB0eXBlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgdHlwZW9mIERPTVRva2Vu
TGlzdC5wcm90b3R5cGUgaXMgIm9iamVjdCIKK1BBU1MgdHlwZW9mIGVsZW1lbnQuY2xhc3NMaXN0
IGlzICJvYmplY3QiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVjdG9yIGlzIERPTVRv
a2VuTGlzdAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdCA9PT0gZWxlbWVudC5jbGFzc0xpc3QgaXMg
dHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3Qt
cXVpcmtzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0
LXF1aXJrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkODc2YTE2ZjgyMjI5YWExMGFjMmMzYjllMDU3ODgx
NzJiYzkzNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxl
bWVudC9jbGFzcy1saXN0LXF1aXJrcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhLS0gUXVpcmtz
IE1vZGUgLS0+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQv
Y2xhc3MtbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3Mt
bGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZGYyNDNjZTMyOWY5NDQwM2I4ZWY2Njg4NjM2Y2E3NDZl
YWYyMTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVu
dC9jbGFzcy1saXN0Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0
LXRlc3RzL2NsYXNzLWxpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2Ns
YXNzLWxpc3QtZ2MuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQt
dGVzdHMvY2xhc3MtbGlzdC1nYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTMxNjFhYmZiNWMzM2YzZWU2MTVh
YWIyMmIzZjlkOTY3YTVmODlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QtZ2MuanMKQEAgLTAsMCArMSwz
MCBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgdGhhdCBwcm9wZXJ0aWVzIG9uIHRoZSBjbGFz
c0xpc3QgcGVyc2lzdHMgR0MuJyk7CisKK2Z1bmN0aW9uIGdjKCkKK3sKKyAgICBpZiAod2luZG93
LkdDQ29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsKKyAgICAgICAgdmFyIHMgPSBu
ZXcgU3RyaW5nOworICAgIH0KK30KKwordmFyIGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKKworLy8gRW5zdXJlIHRoZSBjbGFzc0xpc3QgaXMgY3JlYXRlZC4KK3ZhciBjbGFzc0xp
c3QgPSBkLmNsYXNzTGlzdDsKKworLy8gU2V0IGEgY3VzdG9tIHByb3BlcnR5LgorZC5jbGFzc0xp
c3QubGlmZSA9IDQyOworc2hvdWxkRXZhbHVhdGVUbygnZC5jbGFzc0xpc3QubGlmZScsIDQyKTsK
KworLy8gTnVsbCBvdXQgcmVmZXJlbmNlIHRvIHRoZSBkYXRhc2V0LgorY2xhc3NMaXN0ID0gbnVs
bDsKKworZ2MoKTsKKworLy8gVGVzdCB0aGF0IHRoZSBjbGFzc0xpc3Qgd3JhcHBlciBwZXJzaXN0
ZWQgdGhlIEdDIGFuZCBzdGlsbCBoYXMgdGhlIGN1c3RvbSBwcm9wZXJ0eS4KK3Nob3VsZEV2YWx1
YXRlVG8oJ2QuY2xhc3NMaXN0LmxpZmUnLCA0Mik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2Ny
aXB0LXRlc3RzL2NsYXNzLWxpc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVu
dC9zY3JpcHQtdGVzdHMvY2xhc3MtbGlzdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTM0ZGZhYWE4OGZlZjYy
NjQzZGJiN2FkMjJkZmU0NmM4ZmQ5MzRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMKQEAgLTAsMCAr
MSwyMzggQEAKK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGUgY2xhc3NMaXN0IGF0dHJpYnV0ZSBhbmQg
aXRzIHByb3BlcnRpZXMuJyk7CisKK3ZhciBlbGVtZW50OworCitmdW5jdGlvbiBjcmVhdGVFbGVt
ZW50KGNsYXNzTmFtZSkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
cCcpOworICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1lOworfQorCitkZWJ1ZygnVGVz
dHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9E
T01Ub2tlbkxpc3QvJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2Rv
bS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9zZXR0aW5nLzAwMS5odG0KKy8vIEZpcmVmb3ggdGhy
b3dzIGhlcmUgYnV0IFdlYktpdCBkb2VzIG5vdCB0aHJvdyBvbiBzZXR0aW5nIHJlYWRvbmx5IGlk
bAorLy8gYXR0cmlidXRlcy4KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3RyeSB7CisgICAgZWxlbWVu
dC5jbGFzc0xpc3QgPSAneSc7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcoZWxl
bWVudC5jbGFzc0xpc3QpJywgJ3gnKTsKK30gY2F0Y2ggKGV4KSB7CisgICAgdGVzdFBhc3NlZCgn
VGhyb3dpbmcgb24gc2V0IGlzIGFjY2VwdGFibGUnKTsKK30KKworLy8gaHR0cDovL3NpbW9uLmh0
bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAx
Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNz
TGlzdC5sZW5ndGgnLCAwKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwv
ZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAyLmh0bQorY3JlYXRlRWxlbWVu
dCgneCcpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMSk7
CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RP
TVRva2VuTGlzdC9nZXR0aW5nLzAwMy5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggeCcpOworc2hvdWxk
RXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9z
aW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0
aW5nLzAwNC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxl
bWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcv
dGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNS5odG0KK2Ny
ZWF0ZUVsZW1lbnQoJycpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3gnKTsKKworLy8gaHR0cDovL3NpbW9u
Lmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcv
MDA2Lmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3gnKTsKKworLy8g
aHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5M
aXN0L2dldHRpbmcvMDA3Lmh0bQorY3JlYXRlRWxlbWVudCgneCAgeCcpOworZWxlbWVudC5jbGFz
c0xpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1l
JywgJ3ggIHgnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA4Lmh0bQorY3JlYXRlRWxlbWVudCgneScp
OworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Vs
ZW1lbnQuY2xhc3NOYW1lJywgJ3kgeCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rl
c3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDkuaHRtCitjcmVh
dGVFbGVtZW50KCcnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICcnKTsKKworLy8gaHR0cDovL3NpbW9u
Lmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcv
MDEwLmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJycpOworCisv
LyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tl
bkxpc3QvZ2V0dGluZy8wMTEuaHRtCitjcmVhdGVFbGVtZW50KCcgeSB4ICB5ICcpOworZWxlbWVu
dC5jbGFzc0xpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
Y2xhc3NOYW1lJywgJyB5IHkgJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMi5odG0KK2NyZWF0ZUVs
ZW1lbnQoJyB4IHkgIHggJyk7CitlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAneScpOworCitkZWJ1ZygnVGVz
dGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJhaWxpbmcgd2hpdGUgc3BhY2VzLicpOworCitjcmVh
dGVFbGVtZW50KCd4ICcpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd5Jyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3ggeScpOworCitjcmVhdGVFbGVtZW50
KCd4XHQnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICd4XHQgeScpOworCitjcmVhdGVFbGVtZW50KCcgJyk7
CitlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxl
bWVudC5jbGFzc05hbWUnLCAnIHknKTsKKworCitkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2Vucycp
OworCisvLyBUZXN0aW5nIGV4Y2VwdGlvbiBkdWUgdG8gaW52YWxpZCB0b2tlbgorCisvLyBzaG91
bGRUaHJvdyBmcm9tIGpzLXRlc3QtcHJlLmpzIGlzIG5vdCBzdWZmaWNpZW50LgorZnVuY3Rpb24g
c2hvdWxkVGhyb3dET01FeGNlcHRpb24oZiwgZWMpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigp
OworICAgICAgICB0ZXN0RmFpbGVkKCdFeHBlY3RlZCBhbiBleGNlcHRpb24nKTsKKyAgICB9IGNh
dGNoIChleCkgeworICAgICAgICBpZiAoIShleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikpIHsK
KyAgICAgICAgICAgIHRlc3RGYWlsZWQoJ0V4Y2VwdGlvbiBpcyBub3QgYW4gaW5zdGFuY2Ugb2Yg
RE9NRXhjZXB0aW9uLCBmb3VuZDogJyArCisgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC50
b1N0cmluZy5jYWxsKGV4KSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKGVjICE9PSBleC5jb2RlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdXcm9uZyBl
eGNlcHRpb24gY29kZTogJyArIGV4LmNvZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisgICAgfQorICAgIHZhciBmb3JtYXR0ZWRGdW5jdGlvbiA9IFN0cmluZyhmKS5yZXBsYWNl
KC9eZnVuY3Rpb24uK1x7XHMqL20sICcnKS4KKyAgICAgICAgcmVwbGFjZSgvOz9ccytcfS9tLCAn
Jyk7CisgICAgdGVzdFBhc3NlZChmb3JtYXR0ZWRGdW5jdGlvbiArICcgdGhyZXcgZXhwZWN0ZWQg
RE9NRXhjZXB0aW9uIHdpdGggY29kZSAnICsgZWMpOworfQorCitjcmVhdGVFbGVtZW50KCd4Jyk7
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNz
TGlzdC5jb250YWlucygnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0
ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7Cisg
ICAgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklO
VkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dE
T01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCcnKTsK
K30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91
bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5h
ZGQoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2Ny
ZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7Cisg
ICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhf
RVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5j
dGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3ggeScpOworfSwgRE9NRXhj
ZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hv
dWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3Qu
dG9nZ2xlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVu
dCgneCB5Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVt
ZW50LmNsYXNzTGlzdC50b2dnbGUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hB
UkFDVEVSX0VSUik7CisKKworZGVidWcoJ0luZGV4aW5nJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAneCcpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApJywgJ3gnKTsK
KworY3JlYXRlRWxlbWVudCgneCB4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
Y2xhc3NMaXN0WzFdJywgJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFz
c0xpc3QuaXRlbSgxKScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFsxXScsICd5Jyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSknLCAneScpOworCitjcmVhdGVFbGVt
ZW50KCcnKTsKK3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3RbMF0nKTsKK3Nob3VsZEJl
TnVsbCgnZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKScpOworCitjcmVhdGVFbGVtZW50KCd4IHkg
eicpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdFs0XScpOworc2hvdWxkQmVOdWxs
KCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDQpJyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVu
dC5jbGFzc0xpc3RbLTFdJyk7ICAvLyBOb3QgYSB2YWxpZCBpbmRleCBzbyBzaG91bGQgbm90IHRy
aWdnZXIgaXRlbSgpLgorc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKC0xKScp
OworCitkZWJ1ZygnVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2
ZScpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NM
aXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5jbGFzc0xpc3Qu
Y29udGFpbnMoXCdYXCcpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NM
aXN0WzBdJywgJ3gnKTsKKworY3JlYXRlRWxlbWVudCgnWCcpOworc2hvdWxkQmVUcnVlKCdlbGVt
ZW50LmNsYXNzTGlzdC5jb250YWlucyhcJ1hcJyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQu
Y2xhc3NMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LmNsYXNzTGlzdFswXScsICdYJyk7CisKKworZGVidWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScp
OworLy8gVSswMDIwIFNQQUNFLCBVKzAwMDkgQ0hBUkFDVEVSIFRBQlVMQVRJT04gKHRhYiksIFUr
MDAwQSBMSU5FIEZFRUQgKExGKSwKKy8vIFUrMDAwQyBGT1JNIEZFRUQgKEZGKSwgYW5kIFUrMDAw
RCBDQVJSSUFHRSBSRVRVUk4gKENSKQorCitjcmVhdGVFbGVtZW50KCd4XHUwMDIweScpOworc2hv
dWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVs
ZW1lbnQoJ3hcdTAwMDl5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5s
ZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1MDAwQXknKTsKK3Nob3VsZEV2YWx1YXRl
VG8oJ2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUw
MDBDeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7
CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMER5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50
LmNsYXNzTGlzdC5sZW5ndGgnLCAyKTsKKworCitkZWJ1ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNl
IGFuZCB0eXBlJyk7CisKKworLy8gU2FmYXJpIHJldHVybnMgb2JqZWN0CisvLyBGaXJlZm94IHJl
dHVybnMgb2JqZWN0CisvLyBJRTggcmV0dXJucyBvYmplY3QKKy8vIENocm9tZSByZXR1cm5zIGZ1
bmN0aW9uCisvLyBhc3NlcnRFcXVhbHMoJ29iamVjdCcsIHR5cGVvZiBET01Ub2tlbkxpc3QpOwor
c2hvdWxkQmVUcnVlKCdcJ3VuZGVmaW5lZFwnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QnKTsKKwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZScsICdv
YmplY3QnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
eXBlb2YgZWxlbWVudC5jbGFzc0xpc3QnLCAnb2JqZWN0Jyk7CisKK3Nob3VsZEV2YWx1YXRlVG8o
J2VsZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVjdG9yJywgJ0RPTVRva2VuTGlzdCcpOworCitzaG91
bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCcpOworCit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IGI1
NDU1ZGUzNWYyOTA2MGQzNDNhNGRkODQxM2RmMjk3Yzc0NTJhZjMuLmNjMWQwYmUwMzM2YzE0MDkx
YWZhMTQ3NGUyOThlMDU2ZDM1ZGVmNGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtNTYxLDYg
KzU2MSwxNCBAQCB3aW5kb3cuRE9NU3RyaW5nTGlzdC5wcm90b3R5cGUuY29udGFpbnMgW2Z1bmN0
aW9uXQogd2luZG93LkRPTVN0cmluZ0xpc3QucHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9uXQogd2lu
ZG93LkRPTVN0cmluZ01hcCBbb2JqZWN0IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXQogd2luZG93
LkRPTVN0cmluZ01hcC5wcm90b3R5cGUgW29iamVjdCBET01TdHJpbmdNYXBQcm90b3R5cGVdCit3
aW5kb3cuRE9NVG9rZW5MaXN0IFtvYmplY3QgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3JdCit3aW5k
b3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBbb2JqZWN0IERPTVRva2VuTGlzdFByb3RvdHlwZV0K
K3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBlLmFkZCBbZnVuY3Rpb25dCit3aW5kb3cuRE9N
VG9rZW5MaXN0LnByb3RvdHlwZS5jb250YWlucyBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5M
aXN0LnByb3RvdHlwZS5pdGVtIFtmdW5jdGlvbl0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90
eXBlLnJlbW92ZSBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b1N0
cmluZyBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b2dnbGUgW2Z1
bmN0aW9uXQogd2luZG93LkRhdGUgW2Z1bmN0aW9uXQogd2luZG93LkRvY3VtZW50IFtvYmplY3Qg
RG9jdW1lbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUgW29iamVjdCBE
b2N1bWVudFByb3RvdHlwZV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQK
aW5kZXggMDhkNjY2NDNhODExODRhMDZkYjk3Zjg2YjdiODBhM2MzOWFiNzFkNS4uZjVlNzYzZjFi
Y2Y5YzQ5YzRlOGFmMDQ4OTg4NzI4OTZmNjkzMTNiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlw
dG9ycy1leHBlY3RlZC50eHQKQEAgLTQwLDYgKzQwLDcgQEAgUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdET01JbXBsZW1lbnRhdGlvbicpIGlzICdv
YmoKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
RE9NUGFyc2VyJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnRE9NU3RyaW5nTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVN0cmluZ01h
cCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgJ0RPTVRva2VuTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RhdGUnKSBpcyAnb2JqZWN0Jwog
UEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdEb2N1
bWVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ0RvY3VtZW50RnJhZ21lbnQnKSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0
ZWQudHh0CmluZGV4IDFkMWY1YzU3MzEzNDdkOWUxMmJiYTk3ODgzMmQ5Y2VkODU3MDFhYWMuLjM0
NTFkMTYzYzhlOTVmZDVmYzBiNzNmYmI1MmEzNGE5Mzk2OTA1ZjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50
eHQKQEAgLTc3LDYgKzc3LDkgQEAgUEFTUyBET01JbXBsZW1lbnRhdGlvblByb3RvdHlwZSBmcm9t
IGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWUKIFBBU1MgRE9NU3Ry
aW5nTWFwIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0CiBQQVNT
IERPTVN0cmluZ01hcENvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZv
cm0uMC5kYXRhc2V0LmNvbnN0cnVjdG9yCiBQQVNTIERPTVN0cmluZ01hcFByb3RvdHlwZSBmcm9t
IGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuZGF0YXNldC5fX3Byb3RvX18KK1BBU1Mg
RE9NVG9rZW5MaXN0IGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC4wLmNsYXNz
TGlzdAorUEFTUyBET01Ub2tlbkxpc3RDb25zdHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmZv
cm1zLnRlc3RGb3JtLjAuY2xhc3NMaXN0LmNvbnN0cnVjdG9yCitQQVNTIERPTVRva2VuTGlzdFBy
b3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFzc0xpc3Qu
X19wcm90b19fCiBQQVNTIERPTVdpbmRvdyBmcm9tIGlubmVyCiBQQVNTIERPTVdpbmRvd1Byb3Rv
dHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWVudC5k
ZWZhdWx0Vmlldy5fX3Byb3RvX18KIFBBU1MgRG9jdW1lbnRQcm90b3R5cGUgZnJvbSBpbm5lci5k
b2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuX19wcm90b19fLl9fcHJvdG9f
XwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5j
ZS1leHBlY3RlZC50eHQKaW5kZXggM2I0NWNlODhmNTIyMGYyYzU2YWRmNmQxZDNlNjk4Yjc1Y2Nk
ZTZjYi4uZmE2NDc2YWRkYTY4MjFkNzdiZmIzYzIyNjBmZDcxM2M0NWY4MWQzZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0
ZWQudHh0CkBAIC03Nyw2ICs3Nyw4IEBAIFBBU1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5pc0lubmVy
IGlzIHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlz
IHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTWFwLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5l
ci5ET01TdHJpbmdNYXAuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkRP
TVRva2VuTGlzdC5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuRE9NVG9rZW5MaXN0LmNvbnN0
cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5EYXRlLmlzSW5uZXIgaXMgdHJ1ZQog
UEFTUyBpbm5lci5EYXRlLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5E
b2N1bWVudC5pc0lubmVyIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMv
Z2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2ds
b2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDk3ODkzZGE3MzEzMzhmN2VmMjAy
ODRkOTVlOTgzZjViNWI5OGNmNGQuLjIxNDNiODZkMzUzYjc5ZGFlNGE4OTEzNTdiYjI0ZDYyYjU0
MTc4ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0
b3JzLWV4cGVjdGVkLnR4dApAQCAtMzgsNiArMzgsNyBAQCBQQVNTIERPTUltcGxlbWVudGF0aW9u
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRE9NSW1wbGVtZW50YXRpb25Db25zdHJ1Y3Rvcl0nCiBQ
QVNTIERPTVBhcnNlci50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVBhcnNlckNvbnN0cnVjdG9y
XScKIFBBU1MgRE9NU3RyaW5nTGlzdC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVN0cmluZ0xp
c3RDb25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVN0cmluZ01hcC50b1N0cmluZygpIGlzICdbb2JqZWN0
IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXScKK1BBU1MgRE9NVG9rZW5MaXN0LnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVudC50b1N0
cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVudEZy
YWdtZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRGcmFnbWVudENvbnN0cnVjdG9y
XScKIFBBU1MgRG9jdW1lbnRUeXBlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRUeXBl
Q29uc3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJl
bW92ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTM4MTMzNDYyMmVhNGU5MDA1YTBkZDYxNDAyNjY2ZGM3
YzdjNmZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJl
bW92ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUZXN0cyB0aGF0IGNsYXNzTGlzdCBy
ZW1vdmUgaXMgbGluZWFyLgorUEFTUworUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
ZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmL2NsYXNzLWxpc3Qt
cmVtb3ZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAzZTliYWMxODAyYTM4NjM5OTI5M2U5YzJmYWYyNmMz
Nzk0NTNkNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmYvY2xhc3MtbGlzdC1y
ZW1vdmUuaHRtbApAQCAtMCwwICsxLDM5IEBACis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21h
Z25pdHVkZS1wZXJmLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3ZhciBlbGVtZW50LCBzOwor
CisvLyBUZXN0IDEgdGVzdHMgdGhhdCByZW1vdmUgaXMgbGluZWFyIHdoZW4gdGhlcmUgYXJlIE4g
Y2xhc3MgbmFtZXMuCisKK2Z1bmN0aW9uIHNldHVwRnVuY3Rpb24xKG1hZ25pdHVkZSkKK3sKKyAg
ICBzID0gJ2InOworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
KyAgICBlbGVtZW50LmNsYXNzTmFtZSA9IEFycmF5KG1hZ25pdHVkZSkuam9pbignYSAnKSArIHM7
Cit9CisKK2Z1bmN0aW9uIHRlc3QxKG1hZ25pdHVkZSkKK3sKKyAgICBlbGVtZW50LmNsYXNzTGlz
dC5yZW1vdmUocyk7Cit9CisKKy8vIFRlc3QgMiB0ZXN0cyB0aGF0IHJlbW92ZSBpcyBsaW5lYXIg
d2hlbiB0aGUgbGVuZ3RoIG9mIHRoZSBjbGFzcyBuYW1lIGlzIE4uCisKK2Z1bmN0aW9uIHNldHVw
RnVuY3Rpb24yKG1hZ25pdHVkZSkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7Cit9CisKK2Z1bmN0aW9uIHRlc3QyKG1hZ25pdHVkZSkKK3sKKyAgICB2YXIg
cyA9IEFycmF5KG1hZ25pdHVkZSArIDEpLmpvaW4oJ2EnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFt
ZSA9IHM7CisgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHMpOworfQorCitNYWduaXR1ZGUu
ZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgY2xhc3NMaXN0IHJlbW92ZSBpcyBsaW5lYXIuJyk7CitN
YWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24xLCB0ZXN0MSwgTWFnbml0dWRlLkxJTkVBUik7CitN
YWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24yLCB0ZXN0MiwgTWFnbml0dWRlLkxJTkVBUik7CisK
Kzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQu
anNjYmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawpp
bmRleCA0ODZkOGNkM2FlYTUxNWU4YzllMWQ5OWFjMjUxOTljOTJmMTU5ZGU5Li5hOTI3ZjExZDY3
OTc2MDVhMjMwM2U3ZjYwZmIwYmJiNDE2M2M5MTBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJv
aWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5q
c2NiaW5kaW5ncy5tawpAQCAtMTU5LDYgKzE1OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTQmxvYi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNCbG9i
QnVpbGRlci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNET01Gb3JtRGF0YS5oIFwK
KyAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNET01Ub2tlbkxpc3QuaCBcCiAgICAgJChpbnRl
cm1lZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVz
KS9odG1sL0pTRGF0YUdyaWRDb2x1bW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRt
bC9KU0ZpbGUuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRp
bmdzLm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawppbmRleCA5Yjhm
MjJjMjlhMzg5ZDk5YTcyNzNmZWQ0NjEzMDlhY2Y0N2MzY2EzLi5hNzMxNTdkNzFhY2RlYmZkN2My
ODYxNmFhNmExZGQ5MzFkOGEyNDZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZl
ZC52OGJpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3Mu
bWsKQEAgLTE0MCw2ICsxNDAsNyBAQCAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKQogR0VOIDo9IFwK
ICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYi5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYkJ1aWxkZXIuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9i
aW5kaW5ncy9WOERPTVRva2VuTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdz
L1Y4RGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERh
dGFHcmlkQ29sdW1uTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4Rmls
ZS5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNv
cmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawppbmRleCBlMDdlZDFlNGZlNTgwOGUwMjdhNzFiOGU3
NmM0ZDQ1MDMxYzk0YTE2Li4wODE2MTEzNDk5ZjMzNTA1NDVkYTAxZGNlOWZhOTg5MGQ0NDkwNTk3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29y
ZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCkBAIC04Myw2ICs4Myw3IEBAIExPQ0FMX1NSQ19GSUxF
UyArPSBcCiAJYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBcCiAJYmluZGluZ3MvanMvSlNE
T01Gb3JtRGF0YUN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNw
cCBcCisJYmluZGluZ3MvanMvSlNET01Ub2tlbkxpc3QuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RP
TVdpbmRvd0Jhc2UuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGZhZWQ4ZWViYzg1
MGQ4NGM1MjNkNmYxNTk0MDFmOGU2MDE4MDVjM2MuLjUwZjY0Y2Y1OTMwMGVhYTBmYzk1MDlkZjY2
NTYwNzFjMzdmY2I0ZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjA1LDYgKzIwNSw3IEBAIFNFVChXZWJDb3JlX0lE
TF9GSUxFUwogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRsCiAgICAgaHRtbC9EYXRhR3JpZENv
bHVtbkxpc3QuaWRsCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5pZGwKKyAgICBodG1sL0RPTVRva2Vu
TGlzdC5pZGwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbAogICAgIGh0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuaWRsCiAgICAgaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5pZGwKQEAgLTk0Miw2
ICs5NDMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9Db2xsZWN0aW9uQ2FjaGUu
Y3BwCiAgICAgaHRtbC9ET01EYXRhR3JpZERhdGFTb3VyY2UuY3BwCiAgICAgaHRtbC9ET01Gb3Jt
RGF0YS5jcHAKKyAgICBodG1sL0RPTVRva2VuTGlzdC5jcHAKICAgICBodG1sL0RhdGFHcmlkQ29s
dW1uLmNwcAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmNwcAogICAgIGh0bWwvRGF0ZUNv
bXBvbmVudHMuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGQ1MjhlNjc0YjQzYzVkOTNiNTg3MmNkODI3OWNhNGM3YjhjN2YxZmEuLjMw
ZDNjYTJhZWIyMjIyNDE0MTFjZWNjOTlhMmVmNzIzOTJmMjUyYjQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzMgQEAKKzIw
MTAtMDktMjcgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1J3Mg
SFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgIFRoaXMgYWRkcyBhIERPTVRv
a2VuTGlzdCBjbGFzcyB0aGF0IGlzIHVzZWQgZm9yIHRoZSBjbGFzc0xpc3QgcHJvcGVydHkuIERP
TVRva2VuTGlzdCB1c2VzIGEgU3BhY2VTcGxpdFN0cmluZyBmb3IgZmFzdAorICAgICAgICBjb250
YWlucyBjaGVjay4gSW4gc3RhbmRhcmRzIG1vZGUgdGhlIGV4aXN0aW5nIGNsYXNzTmFtZXMgaXMg
dXNlZCBidXQgaW4gcXVpcmtzIG1vZGUgd2UgdXNlIGFuIGludGVybmFsIFNwYWNlU3BsaXRTdHJp
bmcKKyAgICAgICAgYmVjYXVzZSBjbGFzc0xpc3QgaXMgYWx3YXlzIGNhc2Ugc2Vuc2l0aXZlLgor
CisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbAor
ICAgICAgICAgICAgICAgcGVyZi9jbGFzcy1saXN0LXJlbW92ZS5odG1sCisKKyAgICAgICAgKiBB
bmRyb2lkLmRlcml2ZWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVk
LnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICog
V2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJp
bmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW06CisgICAgICAgICogYmluZGluZ3MvanMvSlNF
bGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRWxlbWVudDo6bWFya0NoaWxk
cmVuKTogTWFrZSBzdXJlIHRoYXQgd2Uga2VlcCB0aGUgd3JhcHBlciB3aGlsZSB0aGUgZWxlbWVu
dCBpcyBhbGl2ZS4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bTogRE9NVG9rZW5MaXN0IGhhcyBhIHN0cmluZyBpbmRleGVkIGdldHRlci4KKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OnRvVjgpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmNsYXNzTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpvcHRpb25h
bENsYXNzTGlzdCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxl
bWVudFJhcmVEYXRhLmg6IFRoaXMgbm93IGhhcyBhbiBPd25QdHIgdG8gYSBDbGFzc0xpc3QgaWYg
dGhlIEVsZW1lbnQ6OmNsYXNzTGlzdCBpcyBldmVyIGNhbGxlZC4KKyAgICAgICAgKiBkb20vU3Bh
Y2VTcGxpdFN0cmluZy5oOgorICAgICAgICAoV2ViQ29yZTo6U3BhY2VTcGxpdFN0cmluZzo6aXNO
dWxsKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQpOiBVcGRhdGUgdGhlIGNsYXNz
TGlzdCBpZiBpdCBleGlzdHMuCisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0RPTVRva2VuTGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dmFs
aWRhdGVUb2tlbik6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OkRPTVRva2VuTGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlZik6CisgICAgICAgIChXZWJD
b3JlOjpET01Ub2tlbkxpc3Q6OmRlcmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlz
dDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6aXRlbSk6CisgICAg
ICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmNvbnRhaW5zKToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVRva2VuTGlzdDo6Y29udGFpbnNJbnRlcm5hbCk6IFRoZSBpbnRlcm5hbCBtZXRob2RzIGRv
IG5vIHZhbGlkYXRpb24gb2YgdGhlIHRva2VuLgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5M
aXN0OjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjphZGRJbnRlcm5hbCk6
CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlbW92ZSk6CisgICAgICAgIChXZWJD
b3JlOjpET01Ub2tlbkxpc3Q6OnJlbW92ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVRva2VuTGlzdDo6dG9nZ2xlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6dG9T
dHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpyZXNldCk6CisgICAgICAg
IChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmNsYXNzTmFtZXMpOgorICAgICAgICAqIGh0bWwvRE9N
VG9rZW5MaXN0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjplbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0RPTVRva2VuTGlzdC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1l
bnQuaWRsOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5pZGw6CisKIDIwMTAtMDktMjcgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4
IGJhYjgxMDk3MDQ5NDg4ZGFlMjI0ZTBmYTE4ZTJkOWY3MjhkMDYwN2EuLjg5OGRhNWNhZWM4ZjA2
NWFhMzU5NDVlMjRhNmI3Y2U4MDVjNmVmNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC05MSw2ICs5MSw3
IEBACiAjaW5jbHVkZSAiSlNET01TZWxlY3Rpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9NU3RyaW5n
TGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNET01TdHJpbmdNYXAuY3BwIgorI2luY2x1ZGUgIkpTRE9N
VG9rZW5MaXN0LmNwcCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNF
bGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0VudGl0eS5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXgg
YWRiZDMwY2NmNWI1MTZhNGQ2ZDAyMDZlYzkwMmRmM2YyNDcxOWZjNC4uMmZkYTVlOThiZTFhNjlm
N2NjYTU3ZjZhOGEwMWUwZmM0NTU2ZGJhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTI0LDYgKzEy
NCw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIERPTVNlbGVjdGlvbiBcCiAgICAgRE9NU3RyaW5n
TGlzdCBcCiAgICAgRE9NU3RyaW5nTWFwIFwKKyAgICBET01Ub2tlbkxpc3QgXAogICAgIERPTVdp
bmRvdyBcCiAgICAgRGF0YWJhc2UgXAogICAgIERhdGFiYXNlQ2FsbGJhY2sgXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXgg
NDRjNzFiNTJmZjZkZWE3MGFmNjI5YzFjZjU0MDMzZWMyODBjMDQ0Ni4uODgyY2E3Y2MyZDUzYWJm
Y2YyZDkxM2M2NTA2ZTBhYWY0NzYwNTU5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMTYsNiArMjE2LDggQEAgd2Vi
Y29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3Ry
aW5nTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTWFwLmNwcCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVN0cmluZ01hcC5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RPTVRva2VuTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdy5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRWxlbWVudC5jcHAgXApAQCAtMTQzMyw2ICsxNDM1LDggQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQuaCBcCiAJV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAgXAogCVdlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCBcCisJV2ViQ29yZS9odG1sL0RPTVRva2VuTGlz
dC5jcHAgXAorCVdlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBcCiAJV2ViQ29yZS9odG1sL0Nv
bGxlY3Rpb25DYWNoZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBcCiAJ
V2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjYTY1NWQ1NGY4MTE4NjM0OWY0
NmM1MjczODYyNDllMmY5MGQxYTE0Li5lZTY1ZjQ3ZjFjZGMxMDgzZDQ2ZDYyMDZkY2RiZDEyMDM3
MGQ3YWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQpAQCAtMTExLDYgKzExMSw3IEBACiAgICAgICAgICAgICAnZmlsZWFwaS9NZXRh
ZGF0YS5pZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGFDYWxsYmFjay5pZGwnLAog
ICAgICAgICAgICAgJ2h0bWwvRE9NRm9ybURhdGEuaWRsJywKKyAgICAgICAgICAgICdodG1sL0RP
TVRva2VuTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW4uaWRsJywK
ICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsJywKQEAgLTc2Niw2ICs3NjcsNyBAQAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5j
cHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5j
cHAnLApAQCAtMTUxNyw2ICsxNTE5LDggQEAKICAgICAgICAgICAgICdodG1sL0RPTURhdGFHcmlk
RGF0YVNvdXJjZS5oJywKICAgICAgICAgICAgICdodG1sL0RPTUZvcm1EYXRhLmNwcCcsCiAgICAg
ICAgICAgICAnaHRtbC9ET01Gb3JtRGF0YS5oJywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2Vu
TGlzdC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvRE9NVG9rZW5MaXN0LmgnLAogICAgICAgICAg
ICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW4uY3BwJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlk
Q29sdW1uLmgnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmNwcCcsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRl
eCA2N2I1ZmRiOWNiZjI4ZGEzYTI4NzY2ZDU4OTRlOTRmYzBkOGRjYTMyLi5kMTVjMzQzMDA2MTJk
NGU4MWJkNWMxNGI1MjBjNGRhY2M4OGMyNzNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTIwMSw2ICsyMDEsNyBAQCBJRExfQklO
RElOR1MgKz0gXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRsIFwKICAgICBodG1sL0RhdGFH
cmlkQ29sdW1uTGlzdC5pZGwgXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRsIFwKKyAgICBodG1s
L0RPTVRva2VuTGlzdC5pZGwgXAogICAgIGh0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsIFwKICAg
ICBodG1sL0hUTUxBdWRpb0VsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50
LmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCA5MzA3NmQ2OGVkYjZlMDIzZDQ1OGMzMTIyNmFmNjVlNDNkNjYwODY1Li4zMzdk
MjI3Yzg5ZTg1YzIxYzhmOThhZmVlM2M1MjZhZDcyYWE5ODVmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQwMyw3ICs0MDMsOCBA
QCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1
c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbnNwZWN0b3JGcm9udGVu
ZEhvc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tRXZl
bnRMaXN0ZW5lci5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdN
YXBDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1
c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0
b20uY3BwCiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAgXApAQCAtODM4LDYgKzgzOSw3IEBA
IFNPVVJDRVMgKz0gXAogICAgIGh0bWwvQ29sbGVjdGlvbkNhY2hlLmNwcCBcCiAgICAgaHRtbC9E
T01EYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmNwcCBcCisg
ICAgaHRtbC9ET01Ub2tlbkxpc3QuY3BwIFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uLmNwcCBc
CiAgICAgaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwIFwKICAgICBodG1sL0RhdGVDb21wb25l
bnRzLmNwcCBcCkBAIC0xNzE2LDYgKzE3MTgsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0Rh
dGVDb21wb25lbnRzLmggXAogICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmggXAogICAg
IGh0bWwvRE9NRm9ybURhdGEuaCBcCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuaCBcCiAgICAgaHRt
bC9Gb3JtRGF0YUxpc3QuaCBcCiAgICAgaHRtbC9GVFBEaXJlY3RvcnlEb2N1bWVudC5oIFwKICAg
ICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggNmU4NGY3Yzk0YTJiNjI5NGUxZDlkOTFjMDU0ZThiYWRkMjVhNDcyZC4uODNj
YTk1N2RhZTQ4NTRmZmE1ZTY4MzI3YTc5ODg0YjVkNGNlMjIwMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC00MDMzLDYgKzQwMzMsMTQgQEAKIAkJCQk+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVRva2VuTGlzdC5jcHAiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91
dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NVG9rZW5MaXN0
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIk
KFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9N
V2luZG93LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zNzg0NSw2
ICszNzg1MywxOCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxodG1sXERPTVRva2VuTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQor
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTVRva2VuTGlzdC5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxG
b3JtRGF0YUxpc3QuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5caHRtbFxGVFBEaXJlY3RvcnlEb2N1bWVudC5oIg0KIAkJCQk+DQogCQkJ
PC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ZGQ0YThiNmFkZDQxODZhOWU5ZjYxNzRmZjY4N2EwYTkzM2RlMDhmZC4uNWRiZjEzZWQ2ZGM0ZDUy
YjZkYjEyYTY1MmEyYWE3YWY2ZTVhM2FiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTE0MTIsMTIgKzE0MTIsMTggQEAKIAkJNzY5M0JBRDMxMDZDMkRD
QTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFs
dGVyLmNwcCAqLzsgfTsKIAkJNzY5M0JBRDQxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5M0JB
RDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovOyB9OwogCQk3NjkzQkFENTEw
NkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFEMTEwNkMyRENBMDA3QjA4MjMgLyog
UGx1Z2luSGFsdGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJNzY5NDU2M0MxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1
NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi87IH07CisJCTc2OTQ1
NjNEMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8q
IEpTRE9NVG9rZW5MaXN0LmggKi87IH07CisJCTc2OTQ1NjVCMTIxNERCNjMwMDA3Q0JBRSAvKiBE
T01ET01Ub2tlbkxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLzsg
fTsKKwkJNzY5NDU2NUMxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjVBMTIxNERC
NjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi87IH07CiAJCTc2Q0REMkYyMTEwM0RB
NjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUMxMTAzREE2NjAwNjgwNTIxIC8q
IEFjY2Vzc2liaWxpdHlNZW51TGlzdC5jcHAgKi87IH07CiAJCTc2Q0REMkYzMTEwM0RBNjYwMDY4
MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVEMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3Np
YmlsaXR5TWVudUxpc3QuaCAqLzsgfTsKIAkJNzZDREQyRjQxMTAzREE2NjAwNjgwNTIxIC8qIEFj
Y2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVFMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmls
aXR5TWVudUxpc3RQb3B1cC5jcHAgKi87IH07CiAJCTc2Q0REMkY1MTEwM0RBNjYwMDY4MDUyMSAv
KiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUYxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2li
aWxpdHlNZW51TGlzdFBvcHVwLmggKi87IH07CiAJCTc2Q0REMkY2MTEwM0RBNjYwMDY4MDUyMSAv
KiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRjAxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vz
c2liaWxpdHlNZW51TGlzdE9wdGlvbi5jcHAgKi87IH07CiAJCTc2Q0REMkY3MTEwM0RBNjYwMDY4
MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkYxMTEwM0RBNjYwMDY4MDUyMSAvKiBB
Y2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCAqLzsgfTsKKwkJNzZGQzJCMEIxMjM3MERBMDAw
NkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3NkZDMkIwODEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0
LmNwcCAqLzsgfTsKKwkJNzZGQzJCMEMxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGQzJCMDkx
MjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovOyB9OwogCQk3NkZGMTdFMzExMjM1
NjczMDAxRDYxQjUgLyogUGx1Z2luVmlld05vbmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGRjE3RTIxMTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdp
blZpZXdOb25lLmNwcCAqLzsgfTsKIAkJNzlBQzkyMTgxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29t
cG9zaXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OUFDOTIxNjEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNw
cCAqLzsgfTsKIAkJNzlBQzkyMTkxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlBQzky
MTcxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oICovOyB9OwpAQCAtMjc3
Nyw3ICsyNzgzLDYgQEAKIAkJOTczRTMyNTYxMDg4M0I3QzAwNUJDNDkzIC8qIFJlc291cmNlTG9h
ZE5vdGlmaWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk3M0UzMjU0MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5jcHAg
Ki87IH07CiAJCTk3M0UzMjU3MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmll
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTczRTMy
NTUxMDg4M0I3QzAwNUJDNDkzIC8qIFJlc291cmNlTG9hZE5vdGlmaWVyLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTc2RDZDNzcxMjJCOEEzRDAw
MUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNTgxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdy
aXRlci5oICovOyB9OwotCQk5NzZENkM5MzEyMkI4QTNEMDAxRkQxRjcgLyogQXN5bmNGaWxlV3Jp
dGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5NzZENkM3NDEyMkI4QTNEMDAxRkQxRjcgLyogQXN5bmNGaWxlV3JpdGVyQ2xpZW50LmggKi87
IH07CiAJCTk3NkQ2Qzc4MTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkQ2QzU5MTIyQjhBM0QwMDFGRDFG
NyAvKiBCbG9iLmNwcCAqLzsgfTsKIAkJOTc2RDZDNzkxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkQ2QzVB
MTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iLmggKi87IH07CiAJCTk3NkQ2QzdCMTIyQjhBM0QwMDFG
RDFGNyAvKiBCbG9iQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NzZENkM1QzEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIuY3Bw
ICovOyB9OwpAQCAtMjc5OCw2ICsyODAzLDcgQEAKIAkJOTc2RDZDOEYxMjJCOEEzRDAwMUZEMUY3
IC8qIEZpbGVUaHJlYWRUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NzZENkM3MDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZVRocmVhZFRhc2suaCAq
LzsgfTsKIAkJOTc2RDZDOTAxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNzExMjJCOEEz
RDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuY3BwICovOyB9OwogCQk5NzZENkM5MTEyMkI4QTNEMDAx
RkQxRjcgLyogRmlsZVdyaXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTc2RDZDNzIxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuaCAqLzsg
fTsKKwkJOTc2RDZDOTMxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNzQx
MjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlckNsaWVudC5oICovOyB9OwogCQk5NzZE
NkM5NDEyMkI4QTNEMDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM3NTEyMkI4QTNE
MDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgKi87IH07CiAJCTk3NkQ2Qzk1
MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM3NjEyMkI4QTNEMDAxRkQx
RjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oICovOyB9OwogCQk5NzdCMzcyMzEyMjg3MjE3
MDBCODFGRjggLyogSFRNTEVsZW1lbnRTdGFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzcxRjEyMjg3MjE3MDBCODFGRjggLyogSFRNTEVs
ZW1lbnRTdGFjay5jcHAgKi87IH07CkBAIC03MzcwLDEyICs3Mzc2LDE5IEBACiAJCTc2OTNCQUNG
MTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luSGFsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5IYWx0ZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzY5M0JBRDExMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRl
ckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5IYWx0ZXJD
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5NDU2M0ExMjE0RDk3QzAw
MDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRE9NVG9rZW5MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxp
c3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRE9NVG9rZW5MaXN0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAv
KiBET01ET01Ub2tlbkxpc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBET01ET01Ub2tlbkxpc3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2
Q0REMkVDMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUQxMTAzREE2NjAwNjgwNTIx
IC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzZDREQyRUUxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVw
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlN
ZW51TGlzdFBvcHVwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUYx
MTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkYwMTEwM0RBNjYwMDY4MDUyMSAvKiBB
Y2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRjExMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxp
dHlNZW51TGlzdE9wdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nl
c3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzZGQzJCMDgxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01Ub2tlbkxpc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk3NkZDMkIwOTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVRva2VuTGlzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3NkZDMkIwQTEyMzcwREEwMDA2QTk5MUEgLyogRE9N
VG9rZW5MaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01Ub2tlbkxpc3QuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NkZGMTdFMjExMjM1NjczMDAxRDYxQjUgLyog
UGx1Z2luVmlld05vbmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UGx1Z2luVmlld05vbmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUFDOTIx
NjEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ29tcG9zaXRpb25FdmVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QUM5MjE3MTA5OTQ1QzgwMDIxMjY2RSAvKiBKU0NvbXBv
c2l0aW9uRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDb21wb3Np
dGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04Njc3LDcgKzg2OTAs
NiBAQAogCQk5NzNFMzI1NDEwODgzQjdDMDA1QkM0OTMgLyogUmVzb3VyY2VMb2FkTm90aWZpZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkTm90
aWZpZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzNFMzI1NTEwODgzQjdD
MDA1QkM0OTMgLyogUmVzb3VyY2VMb2FkTm90aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkTm90aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTc2RDZDNTgxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBc3luY0ZpbGVXcml0ZXIuaDsgcGF0aCA9
IGZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTk3NkQ2Qzc0MTIyQjhBM0QwMDFGRDFGNyAvKiBBc3luY0ZpbGVXcml0ZXJDbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQXN5bmNGaWxlV3JpdGVyQ2xpZW50Lmg7IHBh
dGggPSBmaWxlYXBpL0FzeW5jRmlsZVdyaXRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5NzZENkM1OTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBCbG9iLmNwcDsgcGF0aCA9IGZpbGVhcGkvQmxv
Yi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NkQ2QzVBMTIyQjhBM0QwMDFG
RDFGNyAvKiBCbG9iLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEJsb2IuaDsg
cGF0aCA9IGZpbGVhcGkvQmxvYi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzZE
NkM1QzEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gQmxvYkJ1aWxkZXIuY3BwOyBwYXRoID0gZmlsZWFwaS9CbG9i
QnVpbGRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04Njk4LDYgKzg3MTAs
NyBAQAogCQk5NzZENkM3MDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZVRocmVhZFRhc2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRmlsZVRocmVhZFRhc2suaDsgcGF0aCA9IGZp
bGVhcGkvRmlsZVRocmVhZFRhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2
RDZDNzExMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gRmlsZVdyaXRlci5jcHA7IHBhdGggPSBmaWxlYXBpL0ZpbGVX
cml0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzZENkM3MjEyMkI4QTNE
MDAxRkQxRjcgLyogRmlsZVdyaXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBGaWxlV3JpdGVyLmg7IHBhdGggPSBmaWxlYXBpL0ZpbGVXcml0ZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTc2RDZDNzQxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdy
aXRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBc3luY0ZpbGVX
cml0ZXJDbGllbnQuaDsgcGF0aCA9IGZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyQ2xpZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NkQ2Qzc1MTIyQjhBM0QwMDFGRDFGNyAvKiBU
aHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IFRocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwOyBwYXRoID0gZmlsZWFwaS9UaHJlYWRh
YmxlQmxvYlJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZD
NzYxMjJCOEEzRDAwMUZEMUY3IC8qIFRocmVhZGFibGVCbG9iUmVnaXN0cnkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oOyBwYXRoID0g
ZmlsZWFwaS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTk3N0IzNzFGMTIyODcyMTcwMEI4MUZGOCAvKiBIVE1MRWxlbWVudFN0YWNrLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEhUTUxFbGVtZW50U3RhY2suY3Bw
OyBwYXRoID0gcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTM1MjAsNiArMTM1MzMsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMkUy
RDk5RTUxMEUyQkMxQzAwNDk2MzM3IC8qIERPTUJsb2IuaCAqLywKIAkJCQkyRTJEOTlFNjEwRTJC
QzFDMDA0OTYzMzcgLyogRE9NQmxvYi5tbSAqLywKKwkJCQk3Njk0NTY1OTEyMTREQjYzMDAwN0NC
QUUgLyogRE9NRE9NVG9rZW5MaXN0LmggKi8sCisJCQkJNzY5NDU2NUExMjE0REI2MzAwMDdDQkFF
IC8qIERPTURPTVRva2VuTGlzdC5tbSAqLywKIAkJCQlCQzAwRUZGRTBFMEExODU1MDBGRDA0RTMg
LyogRE9NRmlsZS5oICovLAogCQkJCUJDMDBFRkZGMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxl
Lm1tICovLAogCQkJCTJFM0JDMTA2MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IuaCAq
LywKQEAgLTE0MTQzLDYgKzE0MTU4LDkgQEAKIAkJCQkyRUQ2MDlCQTExNDVCMDcxMDBDODY4NEUg
LyogRE9NRm9ybURhdGEuY3BwICovLAogCQkJCTJFRDYwOUJCMTE0NUIwNzEwMEM4Njg0RSAvKiBE
T01Gb3JtRGF0YS5oICovLAogCQkJCTJFMDg4OEMzMTE0ODgzQTkwMEFGNDI2NSAvKiBET01Gb3Jt
RGF0YS5pZGwgKi8sCisJCQkJNzZGQzJCMDgxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlz
dC5jcHAgKi8sCisJCQkJNzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5o
ICovLAorCQkJCTc2RkMyQjBBMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuaWRsICov
LAogCQkJCUE4MTM2RDM3MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuY3BwICovLAog
CQkJCUE4MTM2RDM2MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuaCAqLywKIAkJCQk5
NzIwNUFBRDEyMzkyOENBMDBCMTczODAgLyogRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwICovLApA
QCAtMTQ2MzQsNiArMTQ2NTIsOCBAQAogCQkJCUJDNzdEMTY4MEZGMTlGNTUwMDcwODg3QiAvKiBK
U0RhdGFHcmlkQ29sdW1uTGlzdC5oICovLAogCQkJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAv
KiBKU0RPTUZvcm1EYXRhLmNwcCAqLywKIAkJCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyog
SlNET01Gb3JtRGF0YS5oICovLAorCQkJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RP
TVRva2VuTGlzdC5jcHAgKi8sCisJCQkJNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9N
VG9rZW5MaXN0LmggKi8sCiAJCQkJNDlFRUNFRjQxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQz
MkFycmF5LmNwcCAqLywKIAkJCQk0OUVFQ0VGNTEwNTA3MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMy
QXJyYXkuaCAqLywKIAkJCQlCQzk3RTQxMDEwOTE1NEZBMDAxMEQzNjEgLyogSlNIVE1MQWxsQ29s
bGVjdGlvbi5jcHAgKi8sCkBAIC0yMDU4Miw2ICsyMDYwMiw5IEBACiAJCQkJODQ3MzBEOTExMjQ4
RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ5
MjEyNDhGMEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODQ3MzBEOTMxMjQ4RjBCMzAwRDNBOUM5IC8qIFNwb3RMaWdodFNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNzY5NDU2M0QxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3Njk0NTY1QjEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9r
ZW5MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3NkZDMkIwQzEyMzcwREEwMDA2QTk5MUEgLyog
RE9NVG9rZW5MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzMDYxLDYgKzIzMDg0LDkgQEAKIAkJ
CQk4NDczMEQ4QTEyNDhGMEIzMDBEM0E5QzkgLyogRkVUaWxlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTg0NzMwRDhDMTI0OEYwQjMwMEQzQTlDOSAvKiBGRVR1cmJ1bGVuY2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJODQ3MzBEOTAxMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTc2OTQ1NjNDMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2Vu
TGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Njk0NTY1QzEyMTREQjYzMDAwN0NCQUUgLyog
RE9NRE9NVG9rZW5MaXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNzZGQzJCMEIxMjM3MERBMDAw
NkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvYmluZGluZ3Mv
Z29iamVjdC9HTlVtYWtlZmlsZS5hbQppbmRleCAxMjgzNWNjNGRhZTQ3ZDVhMWRkNjUxYTVkNTY1
ZjMwZTVhNmY3MGRlLi5kODA4ZTE4OTlmM2FmYmQ3YWY1Yjg3M2Q2ZWVmNmNhYTUxMTViZDM0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCkBAIC00OSw2ICs0OSw4IEBA
IHdlYmtpdGd0a19nZG9tX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtp
dC9XZWJLaXRET01ET01TdHJpbmdMaXN0UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJr
aXQvV2ViS2l0RE9NRE9NU3RyaW5nTWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dl
YktpdERPTURPTVN0cmluZ01hcFByaXZhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dl
YktpdERPTURPTVRva2VuTGlzdC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01ET01Ub2tlbkxpc3RQcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01ET01XaW5kb3cuY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NV2lu
ZG93UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRWxlbWVudC5j
cHAgXApAQCAtMjYzLDYgKzI2NSw3IEBAIHdlYmtpdGd0a19idWlsdF9oX2FwaSArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTUltcGxlbWVudGF0aW9uLmggXAogCURlcml2
ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01TdHJpbmdMaXN0LmggXAogCURlcml2ZWRTb3Vy
Y2VzL3dlYmtpdC9XZWJLaXRET01ET01TdHJpbmdNYXAuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Vi
a2l0L1dlYktpdERPTURPTVRva2VuTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2Vi
S2l0RE9NRWxlbWVudC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRW50aXR5
UmVmZXJlbmNlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01FdmVudC5oIFwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBiL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA4YTFkZjVjNmNhMmFj
ZWYwMzM3MDE0MDU2NjM1M2YwMTFiZTlkNDQ2Li5mNjkxNjIwYThjODJlNGYzODEzZGRkYTdiNzc4
N2JmNWQyMzdjODc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1
c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwCkBA
IC02MCw2ICs2MCw3IEBAIHZvaWQgSlNFbGVtZW50OjptYXJrQ2hpbGRyZW4oTWFya1N0YWNrJiBt
YXJrU3RhY2spCiAgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gKkhlYXA6OmhlYXAodGhp
cyktPmdsb2JhbERhdGEoKTsKIAogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywg
Z2xvYmFsRGF0YSwgZWxlbWVudC0+YXR0cmlidXRlTWFwKCkpOworICAgIG1hcmtET01PYmplY3RX
cmFwcGVyKG1hcmtTdGFjaywgZ2xvYmFsRGF0YSwgZWxlbWVudC0+b3B0aW9uYWxDbGFzc0xpc3Qo
KSk7CiAgICAgbWFya0RPTU9iamVjdFdyYXBwZXIobWFya1N0YWNrLCBnbG9iYWxEYXRhLCBlbGVt
ZW50LT5vcHRpb25hbERhdGFzZXQoKSk7CiAKICAgICBpZiAoZWxlbWVudC0+aXNTdHlsZWRFbGVt
ZW50KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRl
eCAxYTExNGE0Mjk3ZTE0OTI5MzNiYWIyODNlMzY0ZjVjYTE0NzkyYmNmLi44MDM1NDJlNjlkODJk
Y2JkZjUyNzhjZGU3MmQwNmI1NTU0MmI3MTE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTI0MCw3ICsyNDAsNyBAQCBzdWIgSW5kZXhHZXR0ZXJS
ZXR1cm5zU3RyaW5ncwogewogICAgIG15ICR0eXBlID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gMSBp
ZiAkdHlwZSBlcSAiQ1NTU3R5bGVEZWNsYXJhdGlvbiIgb3IgJHR5cGUgZXEgIk1lZGlhTGlzdCIg
b3IgJHR5cGUgZXEgIkNTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiRE9NU3Ry
aW5nTGlzdCI7CisgICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVjbGFyYXRpb24i
IG9yICR0eXBlIGVxICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJsZXNEZWNsYXJh
dGlvbiIgb3IgJHR5cGUgZXEgIkRPTVN0cmluZ0xpc3QiIG9yICR0eXBlIGVxICJET01Ub2tlbkxp
c3QiOwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQppbmRleCBmNzRmMmIxZDg4ZjU4OTk1Yzg3MDI4NTVhZDJkNTZhMmYyZGI0
MzVhLi4zMzUzZjBmNWU2NzQyNjE1Y2MzZTBhMzllY2ZiNDJlMzM3MWU3MzU0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTI1MTAsNiArMjUxMCw3
IEBAIHN1YiBIYXNDdXN0b21Ub1Y4SW1wbGVtZW50YXRpb24gewogICAgIHJldHVybiAxIGlmICRp
bnRlcmZhY2VOYW1lIGVxICJDYW52YXNQaXhlbEFycmF5IjsKICAgICByZXR1cm4gMSBpZiAkaW50
ZXJmYWNlTmFtZSBlcSAiRE9NU3RyaW5nTWFwIjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNl
TmFtZSBlcSAiRE9NV2luZG93IjsKKyAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAi
RE9NVG9rZW5MaXN0IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRWxlbWVu
dCI7CiAgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxEb2N1bWVudCI7CiAg
ICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxFbGVtZW50IjsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xNzFmZjVjMjlkZTA4NjZjZmZlOTRkMjBmOTQ4ODc3MTgxOWVkYjFkCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0
b20uY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhE
T01Ub2tlbkxpc3QuaCIKKworI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorI2luY2x1ZGUgIlY4
QmluZGluZy5oIgorI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2luY2x1ZGUgIlY4RWxlbWVu
dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KERPTVRva2VuTGlzdCogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2
ODo6TnVsbCgpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NVG9r
ZW5MaXN0Ojp3cmFwKGltcGwpOworICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0
aGUgZWxlbWVudCB0byB0aGUgRE9NVG9rZW5MaXN0LgorICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBp
bXBsLT5lbGVtZW50KCk7CisgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7
CisgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1l
bnQpOworICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVl
LT5Jc09iamVjdCgpKQorICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXRIaWRkZW5SZWZlcmVu
Y2UoZWxlbWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCksIHdyYXBwZXIpOworICAgIH0KKyAgICBy
ZXR1cm4gd3JhcHBlcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA1
YzRlODJiMmE1Zjg0YjZiZmZjNzQ3YTcwODJmODZmOGNlYWM3ZjQ4Li5jNDA4NzkwYzdjYWEzMjI3
Mzk2NmI2OWM0Yzc0NmQwZGI4YzMwNTVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAorKysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2lu
Y2x1ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0LmgiCiAjaW5j
bHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNs
dWRlICJEYXRhc2V0RE9NU3RyaW5nTWFwLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJEb2N1bWVudEZyYWdtZW50LmgiCkBAIC0xNTczLDYgKzE1NzQsMjEgQEAgYm9vbCBFbGVt
ZW50Ojp3ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgRXhjZXB0
aW9uQ29kZSYgZWMpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitET01Ub2tlbkxpc3QqIEVsZW1l
bnQ6OmNsYXNzTGlzdCgpCit7CisgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0gZW5zdXJlUmFy
ZURhdGEoKTsKKyAgICBpZiAoIWRhdGEtPm1fY2xhc3NMaXN0KQorICAgICAgICBkYXRhLT5tX2Ns
YXNzTGlzdCA9IERPTVRva2VuTGlzdDo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVybiBkYXRhLT5t
X2NsYXNzTGlzdC5nZXQoKTsKK30KKworRE9NVG9rZW5MaXN0KiBFbGVtZW50OjpvcHRpb25hbENs
YXNzTGlzdCgpIGNvbnN0Cit7CisgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gcmFyZURhdGEoKS0+bV9jbGFzc0xpc3QuZ2V0KCk7Cit9CisKIERP
TVN0cmluZ01hcCogRWxlbWVudDo6ZGF0YXNldCgpCiB7CiAgICAgRWxlbWVudFJhcmVEYXRhKiBk
YXRhID0gZW5zdXJlUmFyZURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aCBiL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBkOWE1MDg1NDhlMDY3MDhhYjkwYjE2Yjlk
ZGM3MTFlZjM0ODY1NTE0Li5iNTFlNzUwYTUxZDA4Y2JmMTZkNzk1NmRhOWYxZDJkZjAzZjVkNDA3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRWxl
bWVudC5oCkBAIC0zNiw2ICszNiw3IEBAIGNsYXNzIEF0dHJpYnV0ZTsKIGNsYXNzIENsaWVudFJl
Y3Q7CiBjbGFzcyBDbGllbnRSZWN0TGlzdDsKIGNsYXNzIERPTVN0cmluZ01hcDsKK2NsYXNzIERP
TVRva2VuTGlzdDsKIGNsYXNzIEVsZW1lbnRSYXJlRGF0YTsKIGNsYXNzIEludFNpemU7CiAKQEAg
LTI2OSw2ICsyNzAsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIHdlYmtpdE1hdGNoZXNTZWxlY3Rv
cihjb25zdCBTdHJpbmcmIHNlbGVjdG9ycywgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgRE9NVG9r
ZW5MaXN0KiBjbGFzc0xpc3QoKTsKKyAgICBET01Ub2tlbkxpc3QqIG9wdGlvbmFsQ2xhc3NMaXN0
KCkgY29uc3Q7CisKICAgICBET01TdHJpbmdNYXAqIGRhdGFzZXQoKTsKICAgICBET01TdHJpbmdN
YXAqIG9wdGlvbmFsRGF0YXNldCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDhl
MzM4YWJjNjgwZjI0NGQyZjRhZmI2YWVlZmI1NjMzNTJhYTNmZjIuLmYxZTYzMzQxOGNjMjQ2Njk1
M2E4OTI5YTgwYzNjY2NjNTZlYmNkOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnRS
YXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0yMiw2ICsy
Miw3IEBACiAjaWZuZGVmIEVsZW1lbnRSYXJlRGF0YV9oCiAjZGVmaW5lIEVsZW1lbnRSYXJlRGF0
YV9oCiAKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRlICJEYXRhc2V0RE9NU3Ry
aW5nTWFwLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5o
IgpAQCAtNDIsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX2Nv
bXB1dGVkU3R5bGU7CiAKICAgICBPd25QdHI8RGF0YXNldERPTVN0cmluZ01hcD4gbV9kYXRhc2V0
RE9NU3RyaW5nTWFwOworICAgIE93blB0cjxET01Ub2tlbkxpc3Q+IG1fY2xhc3NMaXN0OwogfTsK
IAogaW5saW5lIEludFNpemUgZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VT
cGxpdFN0cmluZy5oCmluZGV4IGY0OTY3MGJhMWJkM2ZlMDNjMzAwNzI1NDBlOTZkNDdkNWQzYzA2
MmIuLjBkMzY1MGUxNmJiYWFhODZkZjU4YTQ3YzIyZDMzOWRiODg5ZTFhM2IgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNw
bGl0U3RyaW5nLmgKQEAgLTc0LDYgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBib29sIGNvbnRhaW5zQWxsKGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIG5hbWVzKSBjb25zdCB7
IHJldHVybiAhbmFtZXMubV9kYXRhIHx8IChtX2RhdGEgJiYgbV9kYXRhLT5jb250YWluc0FsbCgq
bmFtZXMubV9kYXRhKSk7IH0KIAogICAgICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZGF0YSA/IG1fZGF0YS0+c2l6ZSgpIDogMDsgfQorICAgICAgICBib29sIGlzTnVsbCgpIGNv
bnN0IHsgcmV0dXJuICFtX2RhdGE7IH0KICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBvcGVy
YXRvcltdKHNpemVfdCBpKSBjb25zdCB7IEFTU0VSVChpIDwgc2l6ZSgpKTsgcmV0dXJuICgqbV9k
YXRhKVtpXTsgfQogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1N0eWxl
ZEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYTE1OGUy
ZWFlNWJiYjY0ZGM2ZWE4MTJlODU2ODMyZWFlMDE0NjRhMS4uZjA3ZmRhOTg5ODIxNDU2MjcwNTk2
NTNlY2FlY2ZjMzAyNmVkNzRjYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVu
dC5jcHAKKysrIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTI4LDYgKzI4LDcg
QEAKICNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVl
dC5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxp
c3QuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoRnVuY3Rpb25zLmg+CkBAIC0yMTcsMTIgKzIxOCwxMiBAQCB2b2lkIFN0
eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5l
d0NsYXNzU3RyaW5nKQogICAgIH0KICAgICBib29sIGhhc0NsYXNzID0gaSA8IGxlbmd0aDsKICAg
ICBzZXRIYXNDbGFzcyhoYXNDbGFzcyk7Ci0gICAgaWYgKGhhc0NsYXNzKQorICAgIGlmIChoYXND
bGFzcykgewogICAgICAgICBhdHRyaWJ1dGVzKCktPnNldENsYXNzKG5ld0NsYXNzU3RyaW5nKTsK
LSAgICBlbHNlIHsKLSAgICAgICAgaWYgKGF0dHJpYnV0ZU1hcCgpKSAgICAKLSAgICAgICAgICAg
IGF0dHJpYnV0ZU1hcCgpLT5jbGVhckNsYXNzKCk7Ci0gICAgfQorICAgICAgICBpZiAoRE9NVG9r
ZW5MaXN0KiBjbGFzc0xpc3QgPSBvcHRpb25hbENsYXNzTGlzdCgpKQorICAgICAgICAgICAgY2xh
c3NMaXN0LT5yZXNldChuZXdDbGFzc1N0cmluZyk7CisgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGVN
YXAoKSkKKyAgICAgICAgYXR0cmlidXRlTWFwKCktPmNsZWFyQ2xhc3MoKTsKICAgICBzZXROZWVk
c1N0eWxlUmVjYWxjKCk7CiAgICAgZGlzcGF0Y2hTdWJ0cmVlTW9kaWZpZWRFdmVudCgpOwogfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU3R5
bGVkRWxlbWVudC5oCmluZGV4IDgwNDBkYmYxZTM2OGFjYjdmNGVhOGU4MzU3YTFiMTVhZjgwNDJm
MDMuLjRiNjIzODgxNDQ0ZTE4NTQwNzYzNjNjMGNjNjkyMWI5ODczZDMwNjEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TdHlsZWRFbGVt
ZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXR0
cmlidXRlOworY2xhc3MgQ2xhc3NMaXN0OwogY2xhc3MgQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFy
YXRpb247CiAKIGNsYXNzIFN0eWxlZEVsZW1lbnQgOiBwdWJsaWMgRWxlbWVudCB7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmNwcCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tl
bkxpc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlZTQ1YTIxZDRlNWM3ZGQ3ZGNiNTUyYWIzMDgxZDJjNDMw
NjFhZTUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmNwcApA
QCAtMCwwICsxLDIwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCwgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJET01Ub2tlbkxpc3QuaCIKKworI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgiCisjaW5jbHVkZSAi
U3RyaW5nQnVpbGRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFj
ZSBIVE1MTmFtZXM7CisKK3N0YXRpYyBib29sIHZhbGlkYXRlVG9rZW4oY29uc3QgQXRvbWljU3Ry
aW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHRva2VuLmlzRW1wdHko
KSkgeworICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICB1bnNpZ25lZCBsZW5ndGggPSB0b2tlbi5sZW5ndGgoKTsKKyAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKGlzQ2xhc3NXaGl0
ZXNwYWNlKHRva2VuW2ldKSkgeworICAgICAgICAgICAgZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9F
UlI7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKworRE9NVG9rZW5MaXN0OjpET01Ub2tlbkxpc3QoRWxlbWVudCogZWxl
bWVudCkKKyAgICA6IG1fZWxlbWVudChlbGVtZW50KQoreworICAgIGlmIChtX2VsZW1lbnQtPmRv
Y3VtZW50KCktPmluUXVpcmtzTW9kZSgpKQorICAgICAgICBtX2NsYXNzTmFtZXNGb3JRdWlya3NN
b2RlLnNldChtX2VsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUoY2xhc3NBdHRyKSwgZmFsc2UpOwor
fQorCit2b2lkIERPTVRva2VuTGlzdDo6cmVmKCkKK3sKKyAgICBtX2VsZW1lbnQtPnJlZigpOwor
fQorCit2b2lkIERPTVRva2VuTGlzdDo6ZGVyZWYoKQoreworICAgIG1fZWxlbWVudC0+ZGVyZWYo
KTsKK30KKwordW5zaWduZWQgRE9NVG9rZW5MaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAgIHJl
dHVybiBjbGFzc05hbWVzKCkuc2l6ZSgpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcgRE9NVG9r
ZW5MaXN0OjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIGlmIChpbmRleCA+PSBs
ZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZygpOworICAgIHJldHVybiBjbGFz
c05hbWVzKClbaW5kZXhdOworfQorCitib29sIERPTVRva2VuTGlzdDo6Y29udGFpbnMoY29uc3Qg
QXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYg
KCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXR1cm4gY29udGFpbnNJbnRlcm5hbCh0b2tlbik7Cit9CisKK2Jvb2wgRE9NVG9rZW5MaXN0Ojpj
b250YWluc0ludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4pIGNvbnN0Cit7CisgICAg
cmV0dXJuIGNsYXNzTmFtZXMoKS5jb250YWlucyh0b2tlbik7Cit9CisKK3ZvaWQgRE9NVG9rZW5M
aXN0OjphZGQoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisgICAgICAgIHJldHVybjsKKyAg
ICBhZGRJbnRlcm5hbCh0b2tlbik7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0OjphZGRJbnRlcm5h
bChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgb2xkQ2xhc3NOYW1lKG1fZWxlbWVudC0+ZmFzdEdldEF0dHJpYnV0ZShjbGFzc0F0dHIp
KTsKKyAgICBpZiAob2xkQ2xhc3NOYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgbV9lbGVtZW50LT5z
ZXRBdHRyaWJ1dGUoY2xhc3NBdHRyLCB0b2tlbik7CisgICAgZWxzZSBpZiAoIWNvbnRhaW5zSW50
ZXJuYWwodG9rZW4pKSB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAgICAgICAg
YnVpbGRlci5hcHBlbmQob2xkQ2xhc3NOYW1lKTsKKyAgICAgICAgaWYgKG9sZENsYXNzTmFtZVtv
bGRDbGFzc05hbWUubGVuZ3RoKCkgLSAxXSAhPSAnICcpCisgICAgICAgICAgICBidWlsZGVyLmFw
cGVuZCgnICcpOworICAgICAgICBidWlsZGVyLmFwcGVuZCh0b2tlbik7CisgICAgICAgIG1fZWxl
bWVudC0+c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgYnVpbGRlci50b1N0cmluZygpKTsKKyAgICB9
Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0OjpyZW1vdmUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tl
biwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBl
YykpCisgICAgICAgIHJldHVybjsKKyAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7Cit9CisKK3Zv
aWQgRE9NVG9rZW5MaXN0OjpyZW1vdmVJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2Vu
KSBjb25zdAoreworICAgIC8vIENoZWNrIHVzaW5nIGNvbnRhaW5zIGZpcnN0IHNpbmNlIGl0IHVz
ZXMgQXRvbWljU3RyaW5nIGNvbXBhcmlzb25zIGluc3RlYWQKKyAgICAvLyBvZiBjaGFyYWN0ZXIg
YnkgY2hhcmFjdGVyIHRlc3RpbmcuCisgICAgaWYgKCFjb250YWluc0ludGVybmFsKHRva2VuKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgLy8gQWxnb3JpdGhtIGRlZmluZWQgYXQgaHR0cDovL3d3
dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvY29tbW9u
LW1pY3Jvc3ludGF4ZXMuaHRtbCNyZW1vdmUtYS10b2tlbi1mcm9tLWEtc3RyaW5nCisKKyAgICBj
b25zdCBBdG9taWNTdHJpbmcmIGlucHV0ID0gbV9lbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKGNs
YXNzQXR0cik7CisgICAgdW5zaWduZWQgaW5wdXRMZW5ndGggPSBpbnB1dC5sZW5ndGgoKTsKKyAg
ICBWZWN0b3I8VUNoYXI+IG91dHB1dDsgLy8gMworICAgIG91dHB1dC5yZXNlcnZlQ2FwYWNpdHko
aW5wdXRMZW5ndGgpOworICAgIHVuc2lnbmVkIHBvc2l0aW9uID0gMDsgLy8gNAorCisgICAgLy8g
U3RlcCA1CisgICAgd2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGgpIHsKKyAgICAgICAgaWYg
KGlzQ2xhc3NXaGl0ZXNwYWNlKGlucHV0W3Bvc2l0aW9uXSkpIHsgLy8gNgorICAgICAgICAgICAg
b3V0cHV0LmFwcGVuZChpbnB1dFtwb3NpdGlvbisrXSk7IC8vIDYuMSwgNi4yCisgICAgICAgICAg
ICBjb250aW51ZTsgLy8gNi4zCisgICAgICAgIH0KKworICAgICAgICAvLyBTdGVwIDcKKyAgICAg
ICAgVmVjdG9yPFVDaGFyPiBzOworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0
aCAmJiAhaXNDbGFzc1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkKKyAgICAgICAgICAgIHMu
YXBwZW5kKGlucHV0W3Bvc2l0aW9uKytdKTsKKworICAgICAgICAvLyBTdGVwIDgKKyAgICAgICAg
aWYgKHMgPT0gdG9rZW4pIHsKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4xCisgICAgICAgICAgICB3
aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiBpc0NsYXNzV2hpdGVzcGFjZShpbnB1dFtw
b3NpdGlvbl0pKQorICAgICAgICAgICAgICAgICsrcG9zaXRpb247CisKKyAgICAgICAgICAgIC8v
IFN0ZXAgOC4yCisgICAgICAgICAgICBzaXplX3QgaiA9IG91dHB1dC5zaXplKCk7CisgICAgICAg
ICAgICB3aGlsZSAoaiA+IDAgJiYgaXNDbGFzc1doaXRlc3BhY2Uob3V0cHV0W2ogLSAxXSkpCisg
ICAgICAgICAgICAgICAgLS1qOworICAgICAgICAgICAgb3V0cHV0LnJlc2l6ZShqKTsKKworICAg
ICAgICAgICAgLy8gU3RlcCA4LjMKKyAgICAgICAgICAgIGlmIChwb3NpdGlvbiA8IGlucHV0TGVu
Z3RoICYmICFvdXRwdXQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQo
JyAnKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKHMpOyAvLyBT
dGVwIDkKKyAgICB9CisKKyAgICBvdXRwdXQuc2hyaW5rVG9GaXQoKTsKKyAgICBtX2VsZW1lbnQt
PnNldEF0dHJpYnV0ZShjbGFzc0F0dHIsIFN0cmluZzo6YWRvcHQob3V0cHV0KSk7Cit9CisKK2Jv
b2wgRE9NVG9rZW5MaXN0Ojp0b2dnbGUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChjb250YWluc0ludGVybmFsKHRva2VuKSkgewor
ICAgICAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisgICAgYWRkSW50ZXJuYWwodG9rZW4pOworICAgIHJldHVybiB0cnVlOworfQorCitTdHJp
bmcgRE9NVG9rZW5MaXN0Ojp0b1N0cmluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZWxlbWVu
dC0+ZmFzdEdldEF0dHJpYnV0ZShjbGFzc0F0dHIpOworfQorCit2b2lkIERPTVRva2VuTGlzdDo6
cmVzZXQoY29uc3QgU3RyaW5nJiBuZXdDbGFzc05hbWUpCit7CisgICAgaWYgKCFtX2NsYXNzTmFt
ZXNGb3JRdWlya3NNb2RlLmlzTnVsbCgpKQorICAgICAgICBtX2NsYXNzTmFtZXNGb3JRdWlya3NN
b2RlLnNldChuZXdDbGFzc05hbWUsIGZhbHNlKTsKK30KKworY29uc3QgU3BhY2VTcGxpdFN0cmlu
ZyYgRE9NVG9rZW5MaXN0OjpjbGFzc05hbWVzKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fY2xhc3NO
YW1lc0ZvclF1aXJrc01vZGUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBtX2NsYXNzTmFtZXNG
b3JRdWlya3NNb2RlOworICAgIHJldHVybiBtX2VsZW1lbnQtPmF0dHJpYnV0ZU1hcCgpLT5jbGFz
c05hbWVzKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hNzlkNzJhYmY0NTM2OGZjYmExZTY2MzBkMGMwZGEwNjVhNGRkNDlhCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0wLDAgKzEsNzUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
CisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIERPTVRva2VuTGlzdF9oCisjZGVmaW5lIERPTVRva2Vu
TGlzdF9oCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3BhY2VTcGxp
dFN0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEVsZW1lbnQ7CisKK2NsYXNzIERPTVRva2VuTGlzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8RE9NVG9rZW5MaXN0PiBj
cmVhdGUoRWxlbWVudCogZWxlbWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgRE9NVG9rZW5MaXN0KGVsZW1lbnQpKTsKKyAgICB9CisKKyAgICB2b2lkIHJlZigpOworICAg
IHZvaWQgZGVyZWYoKTsKKworICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OworICAgIGNvbnN0
IEF0b21pY1N0cmluZyBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKyAgICBib29sIGNvbnRh
aW5zKGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKKyAgICB2b2lk
IGFkZChjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZW1v
dmUoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworICAgIGJvb2wgdG9nZ2xl
KGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBTdHJpbmcgdG9TdHJp
bmcoKSBjb25zdDsKKworICAgIHZvaWQgcmVzZXQoY29uc3QgU3RyaW5nJik7CisKKyAgICBFbGVt
ZW50KiBlbGVtZW50KCkgeyByZXR1cm4gbV9lbGVtZW50OyB9CisKK3ByaXZhdGU6CisgICAgRE9N
VG9rZW5MaXN0KEVsZW1lbnQqKTsKKworICAgIHZvaWQgYWRkSW50ZXJuYWwoY29uc3QgQXRvbWlj
U3RyaW5nJikgY29uc3Q7CisgICAgYm9vbCBjb250YWluc0ludGVybmFsKGNvbnN0IEF0b21pY1N0
cmluZyYpIGNvbnN0OworICAgIHZvaWQgcmVtb3ZlSW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5n
JikgY29uc3Q7CisKKyAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc05hbWVzKCkgY29u
c3Q7CisKKyAgICBFbGVtZW50KiBtX2VsZW1lbnQ7CisgICAgU3BhY2VTcGxpdFN0cmluZyBtX2Ns
YXNzTmFtZXNGb3JRdWlya3NNb2RlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRE9NVG9rZW5MaXN0X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tl
bkxpc3QuaWRsIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQ2
OTAwZWEwNGZlZGM3OWNjNjkzZWY2ZjdmNjhlZTRiZmJhNjFkZQotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCittb2R1bGUgY29yZSB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBHZW5lcmF0
ZUNvbnN0cnVjdG9yLAorICAgICAgICBIYXNJbmRleEdldHRlcgorICAgIF0gRE9NVG9rZW5MaXN0
IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAg
ICAgICBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsXSBET01TdHJpbmcgaXRlbShpbiB1bnNpZ25l
ZCBsb25nIGluZGV4KTsKKyAgICAgICAgYm9vbGVhbiBjb250YWlucyhpbiBET01TdHJpbmcgdG9r
ZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2b2lkIGFkZChpbiBET01TdHJpbmcg
dG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2b2lkIHJlbW92ZShpbiBET01T
dHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBib29sZWFuIHRvZ2ds
ZShpbiBET01TdHJpbmcgdG9rZW4pIHJhaXNlcyhET01FeGNlcHRpb24pOworCisjaWYgZGVmaW5l
ZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUCisgICAgICAgIFtE
b250RW51bV0gRE9NU3RyaW5nIHRvU3RyaW5nKCk7CisjZW5kaWYKKyAgICB9OworCit9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsIGIvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmlkbAppbmRleCA4NjNmMjhjODY1NDdlYjk3Y2M0OGNjNjIxZDlhMWI2NmFjOTI2N2Ji
Li5iMTI3YzUxNzI3NjViMThjODE4MDFiZGNlNmY1YTcwYTAyZTNkYThmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5pZGwKQEAgLTMxLDYgKzMxLDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBsYW5nOwogICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3RdIERPTVN0cmluZyBkaXI7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBbUmVmbGVjdD1jbGFzc10gRE9NU3RyaW5nIGNsYXNzTmFtZTsKKyAgICAgICAgICAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCBjbGFzc0xpc3Q7CiAKICAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgICAgICAgIHRhYkluZGV4OwogICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgICAgZHJhZ2dhYmxlOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApp
bmRleCA1ZWZhZWE3MjRlZGY0YzI2MDlmYTFkMGMxYjlhNGY4MTlkZjVjY2ZkLi4zNDNjYTJjMDRk
MDkyOWYwNGNlNWRkNTg1NTE2ZGFjYjI2ZDRkNzFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDAsNiAr
NDAsNyBAQAogI2luY2x1ZGUgIkRPTVNlbGVjdGlvbi5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xp
c3QuaCIKICNpbmNsdWRlICJET01UaW1lci5oIgorI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgog
I2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VDYWxsYmFjay5oIgogI2lu
Y2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNzJjYTM2
YTk3ZjUzOThlYTBlYWNmYjQxZjE5MGQwMDFhYTI0Y2ZhNC4uOGNhYzg3OTk3YWE5NTMyNjYwZTVi
ZWMyM2U5OWNiMTkxZWJkOTRlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTM3OSw2ICszNzksNyBAQCBt
b2R1bGUgd2luZG93IHsKIC8vICAgICAgICBhdHRyaWJ1dGUgRE9NSW1wbGVtZW50YXRpb25MaXN0
Q29uc3RydWN0b3IgRE9NSW1wbGVtZW50YXRpb25MaXN0OwogLy8gICAgICAgIGF0dHJpYnV0ZSBE
T01JbXBsZW1lbnRhdGlvblNvdXJjZUNvbnN0cnVjdG9yIERPTUltcGxlbWVudGF0aW9uU291cmNl
OwogICAgICAgICBhdHRyaWJ1dGUgRE9NSW1wbGVtZW50YXRpb25Db25zdHJ1Y3RvciBET01JbXBs
ZW1lbnRhdGlvbjsKKyAgICAgICAgYXR0cmlidXRlIERPTVRva2VuTGlzdENvbnN0cnVjdG9yIERP
TVRva2VuTGlzdDsKICAgICAgICAgYXR0cmlidXRlIERvY3VtZW50RnJhZ21lbnRDb25zdHJ1Y3Rv
ciBEb2N1bWVudEZyYWdtZW50OwogICAgICAgICBhdHRyaWJ1dGUgRG9jdW1lbnRDb25zdHJ1Y3Rv
ciBEb2N1bWVudDsKICAgICAgICAgYXR0cmlidXRlIE5vZGVDb25zdHJ1Y3RvciBOb2RlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68979</attachid>
            <date>2010-09-27 15:35:30 -0700</date>
            <delta_ts>2010-09-27 16:12:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-20709-20100927153529.patch</filename>
            <type>text/plain</type>
            <size>75490</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlYTYwNGI5MGZmZjNmMzg2YTA4ZDU0ZDE5YTI2NDJhZTI5YTJiNmZhLi43MjA4NjFm
N2M2MjFhOTVhYzJmOWQxMjhkZDZmZTg2MDZmYjg2YWFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTAtMDktMjcgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1J3Mg
SFRNTEVsZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgICogZmFzdC9kb20vSFRNTEVs
ZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1xdWlya3Mu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVzdHMv
Y2xhc3MtbGlzdC1nYy5qczogQWRkZWQuCisgICAgICAgIChnYyk6CisgICAgICAgICogZmFzdC9k
b20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanM6IEFkZGVkLgorICAgICAg
ICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9wcm90
b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vcHJv
dG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBlcmYvY2xhc3MtbGlzdC1y
ZW1vdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmL2NsYXNzLWxpc3QtcmVt
b3ZlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTI3ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5z
b25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lIHNvbWUgdGVzdHMgd2hlcmUgcmVz
dWx0cyBkaWZmZXIgYmV0d2VlbiBteSBtYWNoaW5lcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iZDBlOGE0NzlhN2E0OTgzMWVhMThlMTdhODIwMzg4OTgwM2RhOGZhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlzdC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw2OCBAQAorVGVzdHMgdGhlIGNsYXNzTGlzdCBhdHRyaWJ1dGUgYW5k
IGl0cyBwcm9wZXJ0aWVzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMg
ZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01U
b2tlbkxpc3QvCitQQVNTIFN0cmluZyhlbGVtZW50LmNsYXNzTGlzdCkgaXMgIngiCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0
aCBpcyAxCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
Y2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4IgorUEFT
UyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngg
IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQuY2xhc3NO
YW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICIiCitQQVNTIGVsZW1lbnQuY2xh
c3NOYW1lIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInkiCitUZXN0aW5n
IGFkZCBpbiBwcmVzZW5jZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuCitQQVNTIGVsZW1lbnQu
Y2xhc3NOYW1lIGlzICJ4IHkiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlzICJ4CSB5IgorUEFT
UyBlbGVtZW50LmNsYXNzTmFtZSBpcyAiIHkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVs
ZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24g
d2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4IHknKSB0aHJl
dyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9u
IHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnJykgdGhyZXcgZXhw
ZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5y
ZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFT
UyBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlv
biB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCd4IHknKSB0aHJl
dyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK0luZGV4aW5nCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApIGlz
ICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFz
c0xpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMV0gaXMgInkiCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0WzBdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKSBpcyBudWxsCitQ
QVNTIGVsZW1lbnQuY2xhc3NMaXN0WzRdIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qu
aXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Wy0xXSBpcyB1bmRlZmluZWQu
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oLTEpIGlzIG51bGwKK1Rlc3QgY2FzZSBzaW5j
ZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qu
Y29udGFpbnMoJ3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdY
JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1l
bnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlz
dC5jb250YWlucygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0WzBdIGlzICJY
IgorVGVzdGluZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAy
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NM
aXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitQQVNT
IGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5k
IHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQ
QVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5cGVv
ZiBlbGVtZW50LmNsYXNzTGlzdCBpcyAib2JqZWN0IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5j
b25zdHJ1Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QgPT09IGVs
ZW1lbnQuY2xhc3NMaXN0IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
RWxlbWVudC9jbGFzcy1saXN0LWdjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtZ2MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxYzI1
ZmI1MWFkZGM0ZDAwNzcyNjNlZmZmNDhlZGU3MTQ5MWMyMzYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBvbiB0aGUgY2xh
c3NMaXN0IHBlcnNpc3RzIEdDLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBkLmNsYXNzTGlzdC5saWZlIGlzIDQyCitQQVNTIGQuY2xhc3NMaXN0LmxpZmUgaXMgNDIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGM1ZWZhZDdlOTk1M2VmMzU4YWU0YThhMzUwMzc1M2FkY2NhNTc5ZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3Qt
Z2MuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2xh
c3MtbGlzdC1nYy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1aXJrcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1
aXJrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQwZThhNDc5YTdhNDk4MzFlYTE4ZTE3YTgy
MDM4ODk4MDNkYThmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4IEBA
CitUZXN0cyB0aGUgY2xhc3NMaXN0IGF0dHJpYnV0ZSBhbmQgaXRzIHByb3BlcnRpZXMuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5odG1s
NS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC8KK1BBU1MgU3RyaW5n
KGVsZW1lbnQuY2xhc3NMaXN0KSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3Ro
IGlzIDAKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVudC5j
bGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIK
K1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlz
ICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieCAgeCIKK1BBU1MgZWxlbWVudC5jbGFz
c05hbWUgaXMgInkgeCIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIiIKK1BBU1MgZWxlbWVu
dC5jbGFzc05hbWUgaXMgIiIKK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIiB5IHkgIgorUEFT
UyBlbGVtZW50LmNsYXNzTmFtZSBpcyAieSIKK1Rlc3RpbmcgYWRkIGluIHByZXNlbmNlIG9mIHRy
YWlsaW5nIHdoaXRlIHNwYWNlcy4KK1BBU1MgZWxlbWVudC5jbGFzc05hbWUgaXMgInggeSIKK1BB
U1MgZWxlbWVudC5jbGFzc05hbWUgaXMgIngJIHkiCitQQVNTIGVsZW1lbnQuY2xhc3NOYW1lIGlz
ICIgeSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFp
bnMoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxl
bWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlv
biB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJycpIHRocmV3IGV4cGVj
dGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuYWRk
KCd4IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxl
bWVudC5jbGFzc0xpc3QucmVtb3ZlKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0
aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCB5JykgdGhyZXcgZXhw
ZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LnRv
Z2dsZSgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlv
biB3aXRoIGNvZGUgNQorSW5kZXhpbmcKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIngi
CitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMCkgaXMgIngiCitQQVNTIGVsZW1lbnQuY2xh
c3NMaXN0WzFdIGlzICJ4IgorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDEpIGlzICJ4Igor
UEFTUyBlbGVtZW50LmNsYXNzTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Qu
aXRlbSgxKSBpcyAieSIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgbnVsbAorUEFTUyBl
bGVtZW50LmNsYXNzTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3Rb
NF0gaXMgbnVsbAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDQpIGlzIG51bGwKK1BBU1Mg
ZWxlbWVudC5jbGFzc0xpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QuaXRlbSgtMSkgaXMgbnVsbAorVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNl
IHNlbnNpdGl2ZQorUEFTUyBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygneCcpIGlzIHRydWUK
K1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ1gnKSBpcyBmYWxzZQorUEFTUyBlbGVt
ZW50LmNsYXNzTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMo
J1gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCd4JykgaXMgZmFs
c2UKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3RbMF0gaXMgIlgiCitUZXN0aW5nIHdoaXRlc3BhY2UK
K1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xp
c3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1Mg
ZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5jbGFzc0xpc3QubGVu
Z3RoIGlzIDIKK0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZQorUEFTUyAndW5kZWZpbmVk
JyAhPSB0eXBlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgdHlwZW9mIERPTVRva2VuTGlz
dC5wcm90b3R5cGUgaXMgIm9iamVjdCIKK1BBU1MgdHlwZW9mIGVsZW1lbnQuY2xhc3NMaXN0IGlz
ICJvYmplY3QiCitQQVNTIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVjdG9yIGlzIERPTVRva2Vu
TGlzdAorUEFTUyBlbGVtZW50LmNsYXNzTGlzdCA9PT0gZWxlbWVudC5jbGFzc0xpc3QgaXMgdHJ1
ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVp
cmtzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LXF1
aXJrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkODc2YTE2ZjgyMjI5YWExMGFjMmMzYjllMDU3ODgxNzJi
YzkzNzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVu
dC9jbGFzcy1saXN0LXF1aXJrcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhLS0gUXVpcmtzIE1v
ZGUgLS0+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xh
c3MtbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvY2xhc3MtbGlz
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjYxZGYyNDNjZTMyOWY5NDQwM2I4ZWY2Njg4NjM2Y2E3NDZlYWYy
MTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9j
bGFzcy1saXN0Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL2NsYXNzLWxpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNz
LWxpc3QtZ2MuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9zY3JpcHQtdGVz
dHMvY2xhc3MtbGlzdC1nYy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTMxNjFhYmZiNWMzM2YzZWU2MTVhYWIy
MmIzZjlkOTY3YTVmODlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QtZ2MuanMKQEAgLTAsMCArMSwzMCBA
QAorZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgdGhhdCBwcm9wZXJ0aWVzIG9uIHRoZSBjbGFzc0xp
c3QgcGVyc2lzdHMgR0MuJyk7CisKK2Z1bmN0aW9uIGdjKCkKK3sKKyAgICBpZiAod2luZG93LkdD
Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsKKyAgICAgICAgdmFyIHMgPSBuZXcg
U3RyaW5nOworICAgIH0KK30KKwordmFyIGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKKworLy8gRW5zdXJlIHRoZSBjbGFzc0xpc3QgaXMgY3JlYXRlZC4KK3ZhciBjbGFzc0xpc3Qg
PSBkLmNsYXNzTGlzdDsKKworLy8gU2V0IGEgY3VzdG9tIHByb3BlcnR5LgorZC5jbGFzc0xpc3Qu
bGlmZSA9IDQyOworc2hvdWxkRXZhbHVhdGVUbygnZC5jbGFzc0xpc3QubGlmZScsIDQyKTsKKwor
Ly8gTnVsbCBvdXQgcmVmZXJlbmNlIHRvIHRoZSBkYXRhc2V0LgorY2xhc3NMaXN0ID0gbnVsbDsK
KworZ2MoKTsKKworLy8gVGVzdCB0aGF0IHRoZSBjbGFzc0xpc3Qgd3JhcHBlciBwZXJzaXN0ZWQg
dGhlIEdDIGFuZCBzdGlsbCBoYXMgdGhlIGN1c3RvbSBwcm9wZXJ0eS4KK3Nob3VsZEV2YWx1YXRl
VG8oJ2QuY2xhc3NMaXN0LmxpZmUnLCA0Mik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0
LXRlc3RzL2NsYXNzLWxpc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRWxlbWVudC9z
Y3JpcHQtdGVzdHMvY2xhc3MtbGlzdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTM0ZGZhYWE4OGZlZjYyNjQz
ZGJiN2FkMjJkZmU0NmM4ZmQ5MzRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEVsZW1lbnQvc2NyaXB0LXRlc3RzL2NsYXNzLWxpc3QuanMKQEAgLTAsMCArMSwy
MzggQEAKK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGUgY2xhc3NMaXN0IGF0dHJpYnV0ZSBhbmQgaXRz
IHByb3BlcnRpZXMuJyk7CisKK3ZhciBlbGVtZW50OworCitmdW5jdGlvbiBjcmVhdGVFbGVtZW50
KGNsYXNzTmFtZSkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcp
OworICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1lOworfQorCitkZWJ1ZygnVGVzdHMg
ZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01U
b2tlbkxpc3QvJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9y
ZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9zZXR0aW5nLzAwMS5odG0KKy8vIEZpcmVmb3ggdGhyb3dz
IGhlcmUgYnV0IFdlYktpdCBkb2VzIG5vdCB0aHJvdyBvbiBzZXR0aW5nIHJlYWRvbmx5IGlkbAor
Ly8gYXR0cmlidXRlcy4KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3RyeSB7CisgICAgZWxlbWVudC5j
bGFzc0xpc3QgPSAneSc7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcoZWxlbWVu
dC5jbGFzc0xpc3QpJywgJ3gnKTsKK30gY2F0Y2ggKGV4KSB7CisgICAgdGVzdFBhc3NlZCgnVGhy
b3dpbmcgb24gc2V0IGlzIGFjY2VwdGFibGUnKTsKK30KKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAxLmh0
bQorY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlz
dC5sZW5ndGgnLCAwKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9t
L3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAyLmh0bQorY3JlYXRlRWxlbWVudCgn
eCcpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMSk7CisK
Ky8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRv
a2VuTGlzdC9nZXR0aW5nLzAwMy5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggeCcpOworc2hvdWxkRXZh
bHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9zaW1v
bi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5n
LzAwNC5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVu
dC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVz
dC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNS5odG0KK2NyZWF0
ZUVsZW1lbnQoJycpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3gnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0
bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA2
Lmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3gnKTsKKworLy8gaHR0
cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0
L2dldHRpbmcvMDA3Lmh0bQorY3JlYXRlRWxlbWVudCgneCAgeCcpOworZWxlbWVudC5jbGFzc0xp
c3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywg
J3ggIHgnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxl
Y3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA4Lmh0bQorY3JlYXRlRWxlbWVudCgneScpOwor
ZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQuY2xhc3NOYW1lJywgJ3kgeCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3Qv
aHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDkuaHRtCitjcmVhdGVF
bGVtZW50KCcnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTmFtZScsICcnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0
bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDEw
Lmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd4Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJycpOworCisvLyBo
dHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxp
c3QvZ2V0dGluZy8wMTEuaHRtCitjcmVhdGVFbGVtZW50KCcgeSB4ICB5ICcpOworZWxlbWVudC5j
bGFzc0xpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xh
c3NOYW1lJywgJyB5IHkgJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1s
L2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMi5odG0KK2NyZWF0ZUVsZW1l
bnQoJyB4IHkgIHggJyk7CitlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc05hbWUnLCAneScpOworCitkZWJ1ZygnVGVzdGlu
ZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJhaWxpbmcgd2hpdGUgc3BhY2VzLicpOworCitjcmVhdGVF
bGVtZW50KCd4ICcpOworZWxlbWVudC5jbGFzc0xpc3QuYWRkKCd5Jyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NOYW1lJywgJ3ggeScpOworCitjcmVhdGVFbGVtZW50KCd4
XHQnKTsKK2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgneScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdlbGVtZW50LmNsYXNzTmFtZScsICd4XHQgeScpOworCitjcmVhdGVFbGVtZW50KCcgJyk7Citl
bGVtZW50LmNsYXNzTGlzdC5hZGQoJ3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVu
dC5jbGFzc05hbWUnLCAnIHknKTsKKworCitkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2VucycpOwor
CisvLyBUZXN0aW5nIGV4Y2VwdGlvbiBkdWUgdG8gaW52YWxpZCB0b2tlbgorCisvLyBzaG91bGRU
aHJvdyBmcm9tIGpzLXRlc3QtcHJlLmpzIGlzIG5vdCBzdWZmaWNpZW50LgorZnVuY3Rpb24gc2hv
dWxkVGhyb3dET01FeGNlcHRpb24oZiwgZWMpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigpOwor
ICAgICAgICB0ZXN0RmFpbGVkKCdFeHBlY3RlZCBhbiBleGNlcHRpb24nKTsKKyAgICB9IGNhdGNo
IChleCkgeworICAgICAgICBpZiAoIShleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikpIHsKKyAg
ICAgICAgICAgIHRlc3RGYWlsZWQoJ0V4Y2VwdGlvbiBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgRE9N
RXhjZXB0aW9uLCBmb3VuZDogJyArCisgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC50b1N0
cmluZy5jYWxsKGV4KSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAg
aWYgKGVjICE9PSBleC5jb2RlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdXcm9uZyBleGNl
cHRpb24gY29kZTogJyArIGV4LmNvZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisgICAgfQorICAgIHZhciBmb3JtYXR0ZWRGdW5jdGlvbiA9IFN0cmluZyhmKS5yZXBsYWNlKC9e
ZnVuY3Rpb24uK1x7XHMqL20sICcnKS4KKyAgICAgICAgcmVwbGFjZSgvOz9ccytcfS9tLCAnJyk7
CisgICAgdGVzdFBhc3NlZChmb3JtYXR0ZWRGdW5jdGlvbiArICcgdGhyZXcgZXhwZWN0ZWQgRE9N
RXhjZXB0aW9uIHdpdGggY29kZSAnICsgZWMpOworfQorCitjcmVhdGVFbGVtZW50KCd4Jyk7Citz
aG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlz
dC5jb250YWlucygnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVs
ZW1lbnQoJ3ggeScpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAg
ZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFM
SURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01F
eGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCcnKTsKK30s
IERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRU
aHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQo
J3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0
ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAg
ZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJS
KTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlv
bigpIHsKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3ggeScpOworfSwgRE9NRXhjZXB0
aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxk
VGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5jbGFzc0xpc3QudG9n
Z2xlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgn
eCB5Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50
LmNsYXNzTGlzdC50b2dnbGUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFD
VEVSX0VSUik7CisKKworZGVidWcoJ0luZGV4aW5nJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xpc3RbMF0nLCAneCcpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKDApJywgJ3gnKTsKKwor
Y3JlYXRlRWxlbWVudCgneCB4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xh
c3NMaXN0WzFdJywgJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5jbGFzc0xp
c3QuaXRlbSgxKScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdlbGVtZW50LmNsYXNzTGlzdFsxXScsICd5Jyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0Lml0ZW0oMSknLCAneScpOworCitjcmVhdGVFbGVtZW50
KCcnKTsKK3Nob3VsZEJlTnVsbCgnZWxlbWVudC5jbGFzc0xpc3RbMF0nKTsKK3Nob3VsZEJlTnVs
bCgnZWxlbWVudC5jbGFzc0xpc3QuaXRlbSgwKScpOworCitjcmVhdGVFbGVtZW50KCd4IHkgeicp
Oworc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdFs0XScpOworc2hvdWxkQmVOdWxsKCdl
bGVtZW50LmNsYXNzTGlzdC5pdGVtKDQpJyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5j
bGFzc0xpc3RbLTFdJyk7ICAvLyBOb3QgYSB2YWxpZCBpbmRleCBzbyBzaG91bGQgbm90IHRyaWdn
ZXIgaXRlbSgpLgorc2hvdWxkQmVOdWxsKCdlbGVtZW50LmNsYXNzTGlzdC5pdGVtKC0xKScpOwor
CitkZWJ1ZygnVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2ZScp
OworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRCZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0
LmNvbnRhaW5zKFwneFwnKScpOworc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5jbGFzc0xpc3QuY29u
dGFpbnMoXCdYXCcpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQuY2xhc3NMaXN0
WzBdJywgJ3gnKTsKKworY3JlYXRlRWxlbWVudCgnWCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50
LmNsYXNzTGlzdC5jb250YWlucyhcJ1hcJyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQuY2xh
c3NMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LmNsYXNzTGlzdFswXScsICdYJyk7CisKKworZGVidWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScpOwor
Ly8gVSswMDIwIFNQQUNFLCBVKzAwMDkgQ0hBUkFDVEVSIFRBQlVMQVRJT04gKHRhYiksIFUrMDAw
QSBMSU5FIEZFRUQgKExGKSwKKy8vIFUrMDAwQyBGT1JNIEZFRUQgKEZGKSwgYW5kIFUrMDAwRCBD
QVJSSUFHRSBSRVRVUk4gKENSKQorCitjcmVhdGVFbGVtZW50KCd4XHUwMDIweScpOworc2hvdWxk
RXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1l
bnQoJ3hcdTAwMDl5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNsYXNzTGlzdC5sZW5n
dGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1MDAwQXknKTsKK3Nob3VsZEV2YWx1YXRlVG8o
J2VsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBD
eScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoJywgMik7CisK
K2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMER5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LmNs
YXNzTGlzdC5sZW5ndGgnLCAyKTsKKworCitkZWJ1ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFu
ZCB0eXBlJyk7CisKKworLy8gU2FmYXJpIHJldHVybnMgb2JqZWN0CisvLyBGaXJlZm94IHJldHVy
bnMgb2JqZWN0CisvLyBJRTggcmV0dXJucyBvYmplY3QKKy8vIENocm9tZSByZXR1cm5zIGZ1bmN0
aW9uCisvLyBhc3NlcnRFcXVhbHMoJ29iamVjdCcsIHR5cGVvZiBET01Ub2tlbkxpc3QpOworc2hv
dWxkQmVUcnVlKCdcJ3VuZGVmaW5lZFwnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QnKTsKKworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmpl
Y3QnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBl
b2YgZWxlbWVudC5jbGFzc0xpc3QnLCAnb2JqZWN0Jyk7CisKK3Nob3VsZEV2YWx1YXRlVG8oJ2Vs
ZW1lbnQuY2xhc3NMaXN0LmNvbnN0cnVjdG9yJywgJ0RPTVRva2VuTGlzdCcpOworCitzaG91bGRC
ZVRydWUoJ2VsZW1lbnQuY2xhc3NMaXN0ID09PSBlbGVtZW50LmNsYXNzTGlzdCcpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CmluZGV4IGI1NDU1
ZGUzNWYyOTA2MGQzNDNhNGRkODQxM2RmMjk3Yzc0NTJhZjMuLmNjMWQwYmUwMzM2YzE0MDkxYWZh
MTQ3NGUyOThlMDU2ZDM1ZGVmNGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtNTYxLDYgKzU2
MSwxNCBAQCB3aW5kb3cuRE9NU3RyaW5nTGlzdC5wcm90b3R5cGUuY29udGFpbnMgW2Z1bmN0aW9u
XQogd2luZG93LkRPTVN0cmluZ0xpc3QucHJvdG90eXBlLml0ZW0gW2Z1bmN0aW9uXQogd2luZG93
LkRPTVN0cmluZ01hcCBbb2JqZWN0IERPTVN0cmluZ01hcENvbnN0cnVjdG9yXQogd2luZG93LkRP
TVN0cmluZ01hcC5wcm90b3R5cGUgW29iamVjdCBET01TdHJpbmdNYXBQcm90b3R5cGVdCit3aW5k
b3cuRE9NVG9rZW5MaXN0IFtvYmplY3QgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3JdCit3aW5kb3cu
RE9NVG9rZW5MaXN0LnByb3RvdHlwZSBbb2JqZWN0IERPTVRva2VuTGlzdFByb3RvdHlwZV0KK3dp
bmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBlLmFkZCBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9r
ZW5MaXN0LnByb3RvdHlwZS5jb250YWlucyBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0
LnByb3RvdHlwZS5pdGVtIFtmdW5jdGlvbl0KK3dpbmRvdy5ET01Ub2tlbkxpc3QucHJvdG90eXBl
LnJlbW92ZSBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b1N0cmlu
ZyBbZnVuY3Rpb25dCit3aW5kb3cuRE9NVG9rZW5MaXN0LnByb3RvdHlwZS50b2dnbGUgW2Z1bmN0
aW9uXQogd2luZG93LkRhdGUgW2Z1bmN0aW9uXQogd2luZG93LkRvY3VtZW50IFtvYmplY3QgRG9j
dW1lbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5Eb2N1bWVudC5wcm90b3R5cGUgW29iamVjdCBEb2N1
bWVudFByb3RvdHlwZV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKaW5k
ZXggMDhkNjY2NDNhODExODRhMDZkYjk3Zjg2YjdiODBhM2MzOWFiNzFkNS4uZjVlNzYzZjFiY2Y5
YzQ5YzRlOGFmMDQ4OTg4NzI4OTZmNjkzMTNiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9y
cy1leHBlY3RlZC50eHQKQEAgLTQwLDYgKzQwLDcgQEAgUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdET01JbXBsZW1lbnRhdGlvbicpIGlzICdvYmoK
IFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnRE9N
UGFyc2VyJykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iod2luZG93LCAnRE9NU3RyaW5nTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RPTVN0cmluZ01hcCcp
IGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHdpbmRvdywgJ0RPTVRva2VuTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ0RhdGUnKSBpcyAnb2JqZWN0JwogUEFT
UyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdEb2N1bWVu
dCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgJ0RvY3VtZW50RnJhZ21lbnQnKSBpcyAnb2JqZWN0JwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhwZWN0ZWQu
dHh0CmluZGV4IDFkMWY1YzU3MzEzNDdkOWUxMmJiYTk3ODgzMmQ5Y2VkODU3MDFhYWMuLjM0NTFk
MTYzYzhlOTVmZDVmYzBiNzNmYmI1MmEzNGE5Mzk2OTA1ZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQK
QEAgLTc3LDYgKzc3LDkgQEAgUEFTUyBET01JbXBsZW1lbnRhdGlvblByb3RvdHlwZSBmcm9tIGlu
bmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWUKIFBBU1MgRE9NU3RyaW5n
TWFwIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5kYXRhc2V0CiBQQVNTIERP
TVN0cmluZ01hcENvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0u
MC5kYXRhc2V0LmNvbnN0cnVjdG9yCiBQQVNTIERPTVN0cmluZ01hcFByb3RvdHlwZSBmcm9tIGlu
bmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuZGF0YXNldC5fX3Byb3RvX18KK1BBU1MgRE9N
VG9rZW5MaXN0IGZyb20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC4wLmNsYXNzTGlz
dAorUEFTUyBET01Ub2tlbkxpc3RDb25zdHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1z
LnRlc3RGb3JtLjAuY2xhc3NMaXN0LmNvbnN0cnVjdG9yCitQQVNTIERPTVRva2VuTGlzdFByb3Rv
dHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuMC5jbGFzc0xpc3QuX19w
cm90b19fCiBQQVNTIERPTVdpbmRvdyBmcm9tIGlubmVyCiBQQVNTIERPTVdpbmRvd1Byb3RvdHlw
ZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWVudC5kZWZh
dWx0Vmlldy5fX3Byb3RvX18KIFBBU1MgRG9jdW1lbnRQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1
bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuX19wcm90b19fLl9fcHJvdG9fXwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1l
eHBlY3RlZC50eHQKaW5kZXggM2I0NWNlODhmNTIyMGYyYzU2YWRmNmQxZDNlNjk4Yjc1Y2NkZTZj
Yi4uZmE2NDc2YWRkYTY4MjFkNzdiZmIzYzIyNjBmZDcxM2M0NWY4MWQzZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQu
dHh0CkBAIC03Nyw2ICs3Nyw4IEBAIFBBU1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5pc0lubmVyIGlz
IHRydWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTGlzdC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRy
dWUKIFBBU1MgaW5uZXIuRE9NU3RyaW5nTWFwLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5E
T01TdHJpbmdNYXAuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLkRPTVRv
a2VuTGlzdC5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuRE9NVG9rZW5MaXN0LmNvbnN0cnVj
dG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5EYXRlLmlzSW5uZXIgaXMgdHJ1ZQogUEFT
UyBpbm5lci5EYXRlLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5Eb2N1
bWVudC5pc0lubmVyIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xv
YmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CmluZGV4IDk3ODkzZGE3MzEzMzhmN2VmMjAyODRk
OTVlOTgzZjViNWI5OGNmNGQuLjIxNDNiODZkMzUzYjc5ZGFlNGE4OTEzNTdiYjI0ZDYyYjU0MTc4
ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3Jz
LWV4cGVjdGVkLnR4dApAQCAtMzgsNiArMzgsNyBAQCBQQVNTIERPTUltcGxlbWVudGF0aW9uLnRv
U3RyaW5nKCkgaXMgJ1tvYmplY3QgRE9NSW1wbGVtZW50YXRpb25Db25zdHJ1Y3Rvcl0nCiBQQVNT
IERPTVBhcnNlci50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVBhcnNlckNvbnN0cnVjdG9yXScK
IFBBU1MgRE9NU3RyaW5nTGlzdC50b1N0cmluZygpIGlzICdbb2JqZWN0IERPTVN0cmluZ0xpc3RD
b25zdHJ1Y3Rvcl0nCiBQQVNTIERPTVN0cmluZ01hcC50b1N0cmluZygpIGlzICdbb2JqZWN0IERP
TVN0cmluZ01hcENvbnN0cnVjdG9yXScKK1BBU1MgRE9NVG9rZW5MaXN0LnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgRE9NVG9rZW5MaXN0Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVudC50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IERvY3VtZW50Q29uc3RydWN0b3JdJwogUEFTUyBEb2N1bWVudEZyYWdt
ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRGcmFnbWVudENvbnN0cnVjdG9yXScK
IFBBU1MgRG9jdW1lbnRUeXBlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgRG9jdW1lbnRUeXBlQ29u
c3RydWN0b3JdJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJlbW92
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVtb3ZlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yZTM4MTMzNDYyMmVhNGU5MDA1YTBkZDYxNDAyNjY2ZGM3Yzdj
NmZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZi9jbGFzcy1saXN0LXJlbW92
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUZXN0cyB0aGF0IGNsYXNzTGlzdCByZW1v
dmUgaXMgbGluZWFyLgorUEFTUworUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJm
L2NsYXNzLWxpc3QtcmVtb3ZlLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmL2NsYXNzLWxpc3QtcmVt
b3ZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAzZTliYWMxODAyYTM4NjM5OTI5M2U5YzJmYWYyNmMzNzk0
NTNkNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmYvY2xhc3MtbGlzdC1yZW1v
dmUuaHRtbApAQCAtMCwwICsxLDM5IEBACis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL21hZ25p
dHVkZS1wZXJmLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3ZhciBlbGVtZW50LCBzOworCisv
LyBUZXN0IDEgdGVzdHMgdGhhdCByZW1vdmUgaXMgbGluZWFyIHdoZW4gdGhlcmUgYXJlIE4gY2xh
c3MgbmFtZXMuCisKK2Z1bmN0aW9uIHNldHVwRnVuY3Rpb24xKG1hZ25pdHVkZSkKK3sKKyAgICBz
ID0gJ2InOworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAg
ICBlbGVtZW50LmNsYXNzTmFtZSA9IEFycmF5KG1hZ25pdHVkZSkuam9pbignYSAnKSArIHM7Cit9
CisKK2Z1bmN0aW9uIHRlc3QxKG1hZ25pdHVkZSkKK3sKKyAgICBlbGVtZW50LmNsYXNzTGlzdC5y
ZW1vdmUocyk7Cit9CisKKy8vIFRlc3QgMiB0ZXN0cyB0aGF0IHJlbW92ZSBpcyBsaW5lYXIgd2hl
biB0aGUgbGVuZ3RoIG9mIHRoZSBjbGFzcyBuYW1lIGlzIE4uCisKK2Z1bmN0aW9uIHNldHVwRnVu
Y3Rpb24yKG1hZ25pdHVkZSkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7Cit9CisKK2Z1bmN0aW9uIHRlc3QyKG1hZ25pdHVkZSkKK3sKKyAgICB2YXIgcyA9
IEFycmF5KG1hZ25pdHVkZSArIDEpLmpvaW4oJ2EnKTsKKyAgICBlbGVtZW50LmNsYXNzTmFtZSA9
IHM7CisgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKHMpOworfQorCitNYWduaXR1ZGUuZGVz
Y3JpcHRpb24oJ1Rlc3RzIHRoYXQgY2xhc3NMaXN0IHJlbW92ZSBpcyBsaW5lYXIuJyk7CitNYWdu
aXR1ZGUucnVuKHNldHVwRnVuY3Rpb24xLCB0ZXN0MSwgTWFnbml0dWRlLkxJTkVBUik7CitNYWdu
aXR1ZGUucnVuKHNldHVwRnVuY3Rpb24yLCB0ZXN0MiwgTWFnbml0dWRlLkxJTkVBUik7CisKKzwv
c2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNj
YmluZGluZ3MubWsgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawppbmRl
eCA0ODZkOGNkM2FlYTUxNWU4YzllMWQ5OWFjMjUxOTljOTJmMTU5ZGU5Li5hOTI3ZjExZDY3OTc2
MDVhMjMwM2U3ZjYwZmIwYmJiNDE2M2M5MTBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQu
ZGVyaXZlZC5qc2NiaW5kaW5ncy5taworKysgYi9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2Ni
aW5kaW5ncy5tawpAQCAtMTU5LDYgKzE1OSw3IEBAIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9odG1sL0pTQmxvYi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNCbG9iQnVp
bGRlci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNET01Gb3JtRGF0YS5oIFwKKyAg
ICAkKGludGVybWVkaWF0ZXMpL2h0bWwvSlNET01Ub2tlbkxpc3QuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9odG1sL0pTRGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9o
dG1sL0pTRGF0YUdyaWRDb2x1bW5MaXN0LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvaHRtbC9K
U0ZpbGUuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rIGIvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawppbmRleCA5YjhmMjJj
MjlhMzg5ZDk5YTcyNzNmZWQ0NjEzMDlhY2Y0N2MzY2EzLi5hNzMxNTdkNzFhY2RlYmZkN2MyODYx
NmFhNmExZGQ5MzFkOGEyNDZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52
OGJpbmRpbmdzLm1rCisrKyBiL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsK
QEAgLTE0MCw2ICsxNDAsNyBAQCAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVy
bWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKQogR0VOIDo9IFwKICAg
ICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmxvYi5oIFwKICAgICAkKGludGVybWVkaWF0
ZXMpL2JpbmRpbmdzL1Y4QmxvYkJ1aWxkZXIuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5k
aW5ncy9WOERPTVRva2VuTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4
RGF0YUdyaWRDb2x1bW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOERhdGFH
cmlkQ29sdW1uTGlzdC5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4RmlsZS5o
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tayBiL1dlYkNvcmUv
QW5kcm9pZC5qc2NiaW5kaW5ncy5tawppbmRleCBlMDdlZDFlNGZlNTgwOGUwMjdhNzFiOGU3NmM0
ZDQ1MDMxYzk0YTE2Li4wODE2MTEzNDk5ZjMzNTA1NDVkYTAxZGNlOWZhOTg5MGQ0NDkwNTk3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKKysrIGIvV2ViQ29yZS9B
bmRyb2lkLmpzY2JpbmRpbmdzLm1rCkBAIC04Myw2ICs4Myw3IEBAIExPQ0FMX1NSQ19GSUxFUyAr
PSBcCiAJYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01G
b3JtRGF0YUN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBc
CisJYmluZGluZ3MvanMvSlNET01Ub2tlbkxpc3QuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0Jhc2UuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgXAogCWJp
bmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGZhZWQ4ZWViYzg1MGQ4
NGM1MjNkNmYxNTk0MDFmOGU2MDE4MDVjM2MuLjUwZjY0Y2Y1OTMwMGVhYTBmYzk1MDlkZjY2NTYw
NzFjMzdmY2I0ZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjA1LDYgKzIwNSw3IEBAIFNFVChXZWJDb3JlX0lETF9G
SUxFUwogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRsCiAgICAgaHRtbC9EYXRhR3JpZENvbHVt
bkxpc3QuaWRsCiAgICAgaHRtbC9ET01Gb3JtRGF0YS5pZGwKKyAgICBodG1sL0RPTVRva2VuTGlz
dC5pZGwKICAgICBodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmlkbAogICAgIGh0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuaWRsCiAgICAgaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5pZGwKQEAgLTk0Miw2ICs5
NDMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9Db2xsZWN0aW9uQ2FjaGUuY3Bw
CiAgICAgaHRtbC9ET01EYXRhR3JpZERhdGFTb3VyY2UuY3BwCiAgICAgaHRtbC9ET01Gb3JtRGF0
YS5jcHAKKyAgICBodG1sL0RPTVRva2VuTGlzdC5jcHAKICAgICBodG1sL0RhdGFHcmlkQ29sdW1u
LmNwcAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmNwcAogICAgIGh0bWwvRGF0ZUNvbXBv
bmVudHMuY3BwCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGQ1MjhlNjc0YjQzYzVkOTNiNTg3MmNkODI3OWNhNGM3YjhjN2YxZmEuLmQ2OGU0
MDU0ZmY1N2M4OWViY2ViODQwNzRkMjA2MzRjMmFkNGY5YTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzMgQEAKKzIwMTAt
MDktMjcgIEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBJbXBsZW1lbnQgSFRNTCA1J3MgSFRNTEVs
ZW1lbnQuY2xhc3NMaXN0IHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDcwOQorCisgICAgICAgIFRoaXMgYWRkcyBhIERPTVRva2VuTGlz
dCBjbGFzcyB0aGF0IGlzIHVzZWQgZm9yIHRoZSBjbGFzc0xpc3QgcHJvcGVydHkuIERPTVRva2Vu
TGlzdCB1c2VzIGEgU3BhY2VTcGxpdFN0cmluZyBmb3IgZmFzdAorICAgICAgICBjb250YWlucyBj
aGVjay4gSW4gc3RhbmRhcmRzIG1vZGUgdGhlIGV4aXN0aW5nIGNsYXNzTmFtZXMgaXMgdXNlZCBi
dXQgaW4gcXVpcmtzIG1vZGUgd2UgdXNlIGFuIGludGVybmFsIFNwYWNlU3BsaXRTdHJpbmcKKyAg
ICAgICAgYmVjYXVzZSBjbGFzc0xpc3QgaXMgYWx3YXlzIGNhc2Ugc2Vuc2l0aXZlLgorCisgICAg
ICAgIFRlc3RzOiBmYXN0L2RvbS9IVE1MRWxlbWVudC9jbGFzcy1saXN0LWdjLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QtcXVpcmtzLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxFbGVtZW50L2NsYXNzLWxpc3QuaHRtbAorICAgICAg
ICAgICAgICAgcGVyZi9jbGFzcy1saXN0LXJlbW92ZS5odG1sCisKKyAgICAgICAgKiBBbmRyb2lk
LmRlcml2ZWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLnY4Ymlu
ZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29y
ZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2dvYmplY3QvR05VbWFrZWZpbGUuYW06CisgICAgICAgICogYmluZGluZ3MvanMvSlNFbGVtZW50
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRWxlbWVudDo6bWFya0NoaWxkcmVuKTog
TWFrZSBzdXJlIHRoYXQgd2Uga2VlcCB0aGUgd3JhcHBlciB3aGlsZSB0aGUgZWxlbWVudCBpcyBh
bGl2ZS4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogRE9N
VG9rZW5MaXN0IGhhcyBhIHN0cmluZyBpbmRleGVkIGdldHRlci4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRv
VjgpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OmNsYXNzTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpvcHRpb25hbENsYXNz
TGlzdCk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vRWxlbWVudFJh
cmVEYXRhLmg6IFRoaXMgbm93IGhhcyBhbiBPd25QdHIgdG8gYSBDbGFzc0xpc3QgaWYgdGhlIEVs
ZW1lbnQ6OmNsYXNzTGlzdCBpcyBldmVyIGNhbGxlZC4KKyAgICAgICAgKiBkb20vU3BhY2VTcGxp
dFN0cmluZy5oOgorICAgICAgICAoV2ViQ29yZTo6U3BhY2VTcGxpdFN0cmluZzo6aXNOdWxsKToK
KyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQpOiBVcGRhdGUgdGhlIGNsYXNzTGlzdCBp
ZiBpdCBleGlzdHMuCisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuaDoKKyAgICAgICAgKiBo
dG1sL0RPTVRva2VuTGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dmFsaWRhdGVU
b2tlbik6CisgICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OkRPTVRva2VuTGlzdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlZik6CisgICAgICAgIChXZWJDb3JlOjpE
T01Ub2tlbkxpc3Q6OmRlcmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6bGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6aXRlbSk6CisgICAgICAgIChX
ZWJDb3JlOjpET01Ub2tlbkxpc3Q6OmNvbnRhaW5zKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRv
a2VuTGlzdDo6Y29udGFpbnNJbnRlcm5hbCk6IFRoZSBpbnRlcm5hbCBtZXRob2RzIGRvIG5vIHZh
bGlkYXRpb24gb2YgdGhlIHRva2VuLgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0Ojph
ZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjphZGRJbnRlcm5hbCk6CisgICAg
ICAgIChXZWJDb3JlOjpET01Ub2tlbkxpc3Q6OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpE
T01Ub2tlbkxpc3Q6OnJlbW92ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2Vu
TGlzdDo6dG9nZ2xlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRva2VuTGlzdDo6dG9TdHJpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpyZXNldCk6CisgICAgICAgIChXZWJD
b3JlOjpET01Ub2tlbkxpc3Q6OmNsYXNzTmFtZXMpOgorICAgICAgICAqIGh0bWwvRE9NVG9rZW5M
aXN0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NVG9rZW5MaXN0OjplbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0RPTVRva2VuTGlzdC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaWRs
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRv
dy5pZGw6CisKIDIwMTAtMDktMjcgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcCBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGJhYjgx
MDk3MDQ5NDg4ZGFlMjI0ZTBmYTE4ZTJkOWY3MjhkMDYwN2EuLjg5OGRhNWNhZWM4ZjA2NWFhMzU5
NDVlMjRhNmI3Y2U4MDVjNmVmNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC05MSw2ICs5MSw3IEBACiAj
aW5jbHVkZSAiSlNET01TZWxlY3Rpb24uY3BwIgogI2luY2x1ZGUgIkpTRE9NU3RyaW5nTGlzdC5j
cHAiCiAjaW5jbHVkZSAiSlNET01TdHJpbmdNYXAuY3BwIgorI2luY2x1ZGUgIkpTRE9NVG9rZW5M
aXN0LmNwcCIKICNpbmNsdWRlICJKU0RPTVdpbmRvdy5jcHAiCiAjaW5jbHVkZSAiSlNFbGVtZW50
LmNwcCIKICNpbmNsdWRlICJKU0VudGl0eS5jcHAiCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYWRiZDMw
Y2NmNWI1MTZhNGQ2ZDAyMDZlYzkwMmRmM2YyNDcxOWZjNC4uMmZkYTVlOThiZTFhNjlmN2NjYTU3
ZjZhOGEwMWUwZmM0NTU2ZGJhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTI0LDYgKzEyNCw3IEBA
IERPTV9DTEFTU0VTID0gXAogICAgIERPTVNlbGVjdGlvbiBcCiAgICAgRE9NU3RyaW5nTGlzdCBc
CiAgICAgRE9NU3RyaW5nTWFwIFwKKyAgICBET01Ub2tlbkxpc3QgXAogICAgIERPTVdpbmRvdyBc
CiAgICAgRGF0YWJhc2UgXAogICAgIERhdGFiYXNlQ2FsbGJhY2sgXApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNDRjNzFi
NTJmZjZkZWE3MGFmNjI5YzFjZjU0MDMzZWMyODBjMDQ0Ni4uODgyY2E3Y2MyZDUzYWJmY2YyZDkx
M2M2NTA2ZTBhYWY0NzYwNTU5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQor
KysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0yMTYsNiArMjE2LDggQEAgd2ViY29yZV9i
dWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTGlz
dC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NU3RyaW5nTWFwLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVN0cmluZ01hcC5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRE9NVG9rZW5MaXN0LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RP
TVRva2VuTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93LmNwcCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdy5oIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRWxlbWVudC5jcHAgXApAQCAtMTQzMyw2ICsxNDM1LDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQu
aCBcCiAJV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAgXAogCVdlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzU3R5bGUuaCBcCisJV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5jcHAg
XAorCVdlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBcCiAJV2ViQ29yZS9odG1sL0NvbGxlY3Rp
b25DYWNoZS5jcHAgXAogCVdlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBcCiAJV2ViQ29y
ZS9odG1sL0NvbGxlY3Rpb25UeXBlLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjYTY1NWQ1NGY4MTE4NjM0OWY0NmM1Mjcz
ODYyNDllMmY5MGQxYTE0Li5lZTY1ZjQ3ZjFjZGMxMDgzZDQ2ZDYyMDZkY2RiZDEyMDM3MGQ3YWFm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtMTExLDYgKzExMSw3IEBACiAgICAgICAgICAgICAnZmlsZWFwaS9NZXRhZGF0YS5p
ZGwnLAogICAgICAgICAgICAgJ2ZpbGVhcGkvTWV0YWRhdGFDYWxsYmFjay5pZGwnLAogICAgICAg
ICAgICAgJ2h0bWwvRE9NRm9ybURhdGEuaWRsJywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2Vu
TGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW4uaWRsJywKICAgICAg
ICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
SFRNTEFsbENvbGxlY3Rpb24uaWRsJywKQEAgLTc2Niw2ICs3NjcsNyBAQAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50TG9jYXRpb25DdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAnLAor
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5jcHAnLApA
QCAtMTUxNyw2ICsxNTE5LDggQEAKICAgICAgICAgICAgICdodG1sL0RPTURhdGFHcmlkRGF0YVNv
dXJjZS5oJywKICAgICAgICAgICAgICdodG1sL0RPTUZvcm1EYXRhLmNwcCcsCiAgICAgICAgICAg
ICAnaHRtbC9ET01Gb3JtRGF0YS5oJywKKyAgICAgICAgICAgICdodG1sL0RPTVRva2VuTGlzdC5j
cHAnLAorICAgICAgICAgICAgJ2h0bWwvRE9NVG9rZW5MaXN0LmgnLAogICAgICAgICAgICAgJ2h0
bWwvRGF0YUdyaWRDb2x1bW4uY3BwJywKICAgICAgICAgICAgICdodG1sL0RhdGFHcmlkQ29sdW1u
LmgnLAogICAgICAgICAgICAgJ2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmNwcCcsCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCA2N2I1
ZmRiOWNiZjI4ZGEzYTI4NzY2ZDU4OTRlOTRmYzBkOGRjYTMyLi5kMTVjMzQzMDA2MTJkNGU4MWJk
NWMxNGI1MjBjNGRhY2M4OGMyNzNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisr
KyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTIwMSw2ICsyMDEsNyBAQCBJRExfQklORElOR1Mg
Kz0gXAogICAgIGh0bWwvRGF0YUdyaWRDb2x1bW4uaWRsIFwKICAgICBodG1sL0RhdGFHcmlkQ29s
dW1uTGlzdC5pZGwgXAogICAgIGh0bWwvRE9NRm9ybURhdGEuaWRsIFwKKyAgICBodG1sL0RPTVRv
a2VuTGlzdC5pZGwgXAogICAgIGh0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsIFwKICAgICBodG1s
L0hUTUxBdWRpb0VsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBc
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpp
bmRleCA5MzA3NmQ2OGVkYjZlMDIzZDQ1OGMzMTIyNmFmNjVlNDNkNjYwODY1Li4zMzdkMjI3Yzg5
ZTg1YzIxYzhmOThhZmVlM2M1MjZhZDcyYWE5ODVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTQwMyw3ICs0MDMsOCBAQCB2OCB7
CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5j
cHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbnNwZWN0b3JGcm9udGVuZEhvc3RD
dXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tRXZlbnRMaXN0
ZW5lci5jcHAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0
b20uY3BwCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5j
cHAgXAorICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3Bw
CiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9t
U1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAgXApAQCAtODM4LDYgKzgzOSw3IEBAIFNPVVJD
RVMgKz0gXAogICAgIGh0bWwvQ29sbGVjdGlvbkNhY2hlLmNwcCBcCiAgICAgaHRtbC9ET01EYXRh
R3JpZERhdGFTb3VyY2UuY3BwIFwKICAgICBodG1sL0RPTUZvcm1EYXRhLmNwcCBcCisgICAgaHRt
bC9ET01Ub2tlbkxpc3QuY3BwIFwKICAgICBodG1sL0RhdGFHcmlkQ29sdW1uLmNwcCBcCiAgICAg
aHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwIFwKICAgICBodG1sL0RhdGVDb21wb25lbnRzLmNw
cCBcCkBAIC0xNzE2LDYgKzE3MTgsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0RhdGVDb21w
b25lbnRzLmggXAogICAgIGh0bWwvRE9NRGF0YUdyaWREYXRhU291cmNlLmggXAogICAgIGh0bWwv
RE9NRm9ybURhdGEuaCBcCisgICAgaHRtbC9ET01Ub2tlbkxpc3QuaCBcCiAgICAgaHRtbC9Gb3Jt
RGF0YUxpc3QuaCBcCiAgICAgaHRtbC9GVFBEaXJlY3RvcnlEb2N1bWVudC5oIFwKICAgICBodG1s
L0hUTUxBbGxDb2xsZWN0aW9uLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
aW5kZXggNmU4NGY3Yzk0YTJiNjI5NGUxZDlkOTFjMDU0ZThiYWRkMjVhNDcyZC4uODNjYTk1N2Rh
ZTQ4NTRmZmE1ZTY4MzI3YTc5ODg0YjVkNGNlMjIwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCkBAIC00MDMzLDYgKzQwMzMsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0RPTVRva2VuTGlzdC5jcHAiDQorCQkJCT4NCisJ
CQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NVG9rZW5MaXN0LmgiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTRE9NV2luZG93
LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zNzg0NSw2ICszNzg1
MywxOCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxodG1sXERPTVRva2VuTGlzdC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXERPTVRva2VuTGlzdC5oIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGb3JtRGF0
YUxpc3QuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZl
UGF0aD0iLi5caHRtbFxGVFBEaXJlY3RvcnlEb2N1bWVudC5oIg0KIAkJCQk+DQogCQkJPC9GaWxl
Pg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGQ0YThi
NmFkZDQxODZhOWU5ZjYxNzRmZjY4N2EwYTkzM2RlMDhmZC4uNWRiZjEzZWQ2ZGM0ZDUyYjZkYjEy
YTY1MmEyYWE3YWY2ZTVhM2FiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTE0MTIsMTIgKzE0MTIsMTggQEAKIAkJNzY5M0JBRDMxMDZDMkRDQTAwN0Iw
ODIzIC8qIFBsdWdpbkhhbHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNw
cCAqLzsgfTsKIAkJNzY5M0JBRDQxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5M0JBRDAxMDZD
MkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovOyB9OwogCQk3NjkzQkFENTEwNkMyRENB
MDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjkzQkFEMTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2lu
SGFsdGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzY5NDU2M0MxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjNBMTIx
NEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5jcHAgKi87IH07CisJCTc2OTQ1NjNEMTIx
NEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9N
VG9rZW5MaXN0LmggKi87IH07CisJCTc2OTQ1NjVCMTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01U
b2tlbkxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAqLzsgfTsKKwkJ
NzY5NDU2NUMxMjE0REI2MzAwMDdDQkFFIC8qIERPTURPTVRva2VuTGlzdC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2OTQ1NjVBMTIxNERCNjMwMDA3
Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QubW0gKi87IH07CiAJCTc2Q0REMkYyMTEwM0RBNjYwMDY4
MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRUMxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vz
c2liaWxpdHlNZW51TGlzdC5jcHAgKi87IH07CiAJCTc2Q0REMkYzMTEwM0RBNjYwMDY4MDUyMSAv
KiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc2Q0REMkVEMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5
TWVudUxpc3QuaCAqLzsgfTsKIAkJNzZDREQyRjQxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2li
aWxpdHlNZW51TGlzdFBvcHVwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDc2Q0REMkVFMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVu
dUxpc3RQb3B1cC5jcHAgKi87IH07CiAJCTc2Q0REMkY1MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nl
c3NpYmlsaXR5TWVudUxpc3RQb3B1cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzZDREQyRUYxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlN
ZW51TGlzdFBvcHVwLmggKi87IH07CiAJCTc2Q0REMkY2MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nl
c3NpYmlsaXR5TWVudUxpc3RPcHRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzZDREQyRjAxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxp
dHlNZW51TGlzdE9wdGlvbi5jcHAgKi87IH07CiAJCTc2Q0REMkY3MTEwM0RBNjYwMDY4MDUyMSAv
KiBBY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2Q0REMkYxMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3Np
YmlsaXR5TWVudUxpc3RPcHRpb24uaCAqLzsgfTsKKwkJNzZGQzJCMEIxMjM3MERBMDAwNkE5OTFB
IC8qIERPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3NkZDMkIwODEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmNwcCAq
LzsgfTsKKwkJNzZGQzJCMEMxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGQzJCMDkxMjM3MERB
MDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovOyB9OwogCQk3NkZGMTdFMzExMjM1NjczMDAx
RDYxQjUgLyogUGx1Z2luVmlld05vbmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzZGRjE3RTIxMTIzNTY3MzAwMUQ2MUI1IC8qIFBsdWdpblZpZXdO
b25lLmNwcCAqLzsgfTsKIAkJNzlBQzkyMTgxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRp
b25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OUFDOTIxNjEwOTk0NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCAqLzsg
fTsKIAkJNzlBQzkyMTkxMDk5NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlBQzkyMTcxMDk5
NDVDODAwMjEyNjZFIC8qIEpTQ29tcG9zaXRpb25FdmVudC5oICovOyB9OwpAQCAtMjc3Nyw3ICsy
NzgzLDYgQEAKIAkJOTczRTMyNTYxMDg4M0I3QzAwNUJDNDkzIC8qIFJlc291cmNlTG9hZE5vdGlm
aWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3
M0UzMjU0MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5jcHAgKi87IH07
CiAJCTk3M0UzMjU3MTA4ODNCN0MwMDVCQzQ5MyAvKiBSZXNvdXJjZUxvYWROb3RpZmllci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTczRTMyNTUxMDg4
M0I3QzAwNUJDNDkzIC8qIFJlc291cmNlTG9hZE5vdGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTc2RDZDNzcxMjJCOEEzRDAwMUZEMUY3
IC8qIEFzeW5jRmlsZVdyaXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTc2RDZDNTgxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlci5o
ICovOyB9OwotCQk5NzZENkM5MzEyMkI4QTNEMDAxRkQxRjcgLyogQXN5bmNGaWxlV3JpdGVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZE
NkM3NDEyMkI4QTNEMDAxRkQxRjcgLyogQXN5bmNGaWxlV3JpdGVyQ2xpZW50LmggKi87IH07CiAJ
CTk3NkQ2Qzc4MTIyQjhBM0QwMDFGRDFGNyAvKiBCbG9iLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkQ2QzU5MTIyQjhBM0QwMDFGRDFGNyAvKiBC
bG9iLmNwcCAqLzsgfTsKIAkJOTc2RDZDNzkxMjJCOEEzRDAwMUZEMUY3IC8qIEJsb2IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3NkQ2QzVBMTIyQjhB
M0QwMDFGRDFGNyAvKiBCbG9iLmggKi87IH07CiAJCTk3NkQ2QzdCMTIyQjhBM0QwMDFGRDFGNyAv
KiBCbG9iQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NzZENkM1QzEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIuY3BwICovOyB9
OwpAQCAtMjc5OCw2ICsyODAzLDcgQEAKIAkJOTc2RDZDOEYxMjJCOEEzRDAwMUZEMUY3IC8qIEZp
bGVUaHJlYWRUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NzZENkM3MDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZVRocmVhZFRhc2suaCAqLzsgfTsK
IAkJOTc2RDZDOTAxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNzExMjJCOEEzRDAwMUZE
MUY3IC8qIEZpbGVXcml0ZXIuY3BwICovOyB9OwogCQk5NzZENkM5MTEyMkI4QTNEMDAxRkQxRjcg
LyogRmlsZVdyaXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTc2RDZDNzIxMjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuaCAqLzsgfTsKKwkJ
OTc2RDZDOTMxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlckNsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTc2RDZDNzQxMjJCOEEz
RDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlckNsaWVudC5oICovOyB9OwogCQk5NzZENkM5NDEy
MkI4QTNEMDAxRkQxRjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM3NTEyMkI4QTNEMDAxRkQx
RjcgLyogVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5jcHAgKi87IH07CiAJCTk3NkQ2Qzk1MTIyQjhB
M0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzZENkM3NjEyMkI4QTNEMDAxRkQxRjcgLyog
VGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oICovOyB9OwogCQk5NzdCMzcyMzEyMjg3MjE3MDBCODFG
RjggLyogSFRNTEVsZW1lbnRTdGFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NzdCMzcxRjEyMjg3MjE3MDBCODFGRjggLyogSFRNTEVsZW1lbnRT
dGFjay5jcHAgKi87IH07CkBAIC03MzcwLDEyICs3Mzc2LDE5IEBACiAJCTc2OTNCQUNGMTA2QzJE
Q0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGx1Z2luSGFsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5IYWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzY5M0JBRDExMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlckNsaWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5IYWx0ZXJDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5NDU2M0ExMjE0RDk3QzAwMDdDQkFF
IC8qIEpTRE9NVG9rZW5MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRE9NVG9rZW5MaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY5
NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NVG9rZW5MaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTc2OTQ1NjU5MTIxNERCNjMwMDA3Q0JBRSAvKiBET01ET01Ub2tlbkxpc3QuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRE9NVG9rZW5MaXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2OTQ1NjVBMTIxNERCNjMwMDA3Q0JBRSAvKiBET01E
T01Ub2tlbkxpc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
T01ET01Ub2tlbkxpc3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkVD
MTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3NpYmlsaXR5TWVudUxpc3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUQxMTAzREE2NjAwNjgwNTIxIC8qIEFj
Y2Vzc2liaWxpdHlNZW51TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5TWVudUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZD
REQyRUUxMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlz
dFBvcHVwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZDREQyRUYxMTAzREE2
NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlNZW51TGlzdFBvcHVwLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2Q0REMkYwMTEwM0RBNjYwMDY4MDUyMSAvKiBBY2Nlc3Np
YmlsaXR5TWVudUxpc3RPcHRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQWNjZXNzaWJpbGl0eU1lbnVMaXN0T3B0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzZDREQyRjExMTAzREE2NjAwNjgwNTIxIC8qIEFjY2Vzc2liaWxpdHlNZW51
TGlzdE9wdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmls
aXR5TWVudUxpc3RPcHRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzZGQzJC
MDgxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBET01Ub2tlbkxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3NkZDMkIwOTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5MaXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVRva2VuTGlzdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3NkZDMkIwQTEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9rZW5M
aXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01Ub2tlbkxpc3QuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3NkZGMTdFMjExMjM1NjczMDAxRDYxQjUgLyogUGx1Z2lu
Vmlld05vbmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2lu
Vmlld05vbmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUFDOTIxNjEwOTk0
NUM4MDAyMTI2NkUgLyogSlNDb21wb3NpdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ29tcG9zaXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc5QUM5MjE3MTA5OTQ1QzgwMDIxMjY2RSAvKiBKU0NvbXBvc2l0aW9u
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDb21wb3NpdGlvbkV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04Njc3LDcgKzg2OTAsNiBAQAog
CQk5NzNFMzI1NDEwODgzQjdDMDA1QkM0OTMgLyogUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkTm90aWZpZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzNFMzI1NTEwODgzQjdDMDA1QkM0
OTMgLyogUmVzb3VyY2VMb2FkTm90aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVzb3VyY2VMb2FkTm90aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTc2RDZDNTgxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBc3luY0ZpbGVXcml0ZXIuaDsgcGF0aCA9IGZpbGVh
cGkvQXN5bmNGaWxlV3JpdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk3NkQ2
Qzc0MTIyQjhBM0QwMDFGRDFGNyAvKiBBc3luY0ZpbGVXcml0ZXJDbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQXN5bmNGaWxlV3JpdGVyQ2xpZW50Lmg7IHBhdGggPSBm
aWxlYXBpL0FzeW5jRmlsZVdyaXRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5NzZENkM1OTEyMkI4QTNEMDAxRkQxRjcgLyogQmxvYi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBCbG9iLmNwcDsgcGF0aCA9IGZpbGVhcGkvQmxvYi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NkQ2QzVBMTIyQjhBM0QwMDFGRDFGNyAv
KiBCbG9iLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEJsb2IuaDsgcGF0aCA9
IGZpbGVhcGkvQmxvYi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzZENkM1QzEy
MkI4QTNEMDAxRkQxRjcgLyogQmxvYkJ1aWxkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gQmxvYkJ1aWxkZXIuY3BwOyBwYXRoID0gZmlsZWFwaS9CbG9iQnVpbGRl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04Njk4LDYgKzg3MTAsNyBAQAog
CQk5NzZENkM3MDEyMkI4QTNEMDAxRkQxRjcgLyogRmlsZVRocmVhZFRhc2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRmlsZVRocmVhZFRhc2suaDsgcGF0aCA9IGZpbGVhcGkv
RmlsZVRocmVhZFRhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNzEx
MjJCOEEzRDAwMUZEMUY3IC8qIEZpbGVXcml0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gRmlsZVdyaXRlci5jcHA7IHBhdGggPSBmaWxlYXBpL0ZpbGVXcml0ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzZENkM3MjEyMkI4QTNEMDAxRkQx
RjcgLyogRmlsZVdyaXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGaWxl
V3JpdGVyLmg7IHBhdGggPSBmaWxlYXBpL0ZpbGVXcml0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTc2RDZDNzQxMjJCOEEzRDAwMUZEMUY3IC8qIEFzeW5jRmlsZVdyaXRlckNs
aWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBc3luY0ZpbGVXcml0ZXJD
bGllbnQuaDsgcGF0aCA9IGZpbGVhcGkvQXN5bmNGaWxlV3JpdGVyQ2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3NkQ2Qzc1MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRh
YmxlQmxvYlJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IFRocmVhZGFibGVCbG9iUmVnaXN0cnkuY3BwOyBwYXRoID0gZmlsZWFwaS9UaHJlYWRhYmxlQmxv
YlJlZ2lzdHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTc2RDZDNzYxMjJC
OEEzRDAwMUZEMUY3IC8qIFRocmVhZGFibGVCbG9iUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gVGhyZWFkYWJsZUJsb2JSZWdpc3RyeS5oOyBwYXRoID0gZmlsZWFw
aS9UaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTk3N0IzNzFGMTIyODcyMTcwMEI4MUZGOCAvKiBIVE1MRWxlbWVudFN0YWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEhUTUxFbGVtZW50U3RhY2suY3BwOyBwYXRo
ID0gcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTM1MjAsNiArMTM1MzMsOCBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMkUyRDk5RTUx
MEUyQkMxQzAwNDk2MzM3IC8qIERPTUJsb2IuaCAqLywKIAkJCQkyRTJEOTlFNjEwRTJCQzFDMDA0
OTYzMzcgLyogRE9NQmxvYi5tbSAqLywKKwkJCQk3Njk0NTY1OTEyMTREQjYzMDAwN0NCQUUgLyog
RE9NRE9NVG9rZW5MaXN0LmggKi8sCisJCQkJNzY5NDU2NUExMjE0REI2MzAwMDdDQkFFIC8qIERP
TURPTVRva2VuTGlzdC5tbSAqLywKIAkJCQlCQzAwRUZGRTBFMEExODU1MDBGRDA0RTMgLyogRE9N
RmlsZS5oICovLAogCQkJCUJDMDBFRkZGMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLm1tICov
LAogCQkJCTJFM0JDMTA2MTE3RDQ3OTgwMEI5NDA5QSAvKiBET01GaWxlRXJyb3IuaCAqLywKQEAg
LTE0MTQzLDYgKzE0MTU4LDkgQEAKIAkJCQkyRUQ2MDlCQTExNDVCMDcxMDBDODY4NEUgLyogRE9N
Rm9ybURhdGEuY3BwICovLAogCQkJCTJFRDYwOUJCMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3Jt
RGF0YS5oICovLAogCQkJCTJFMDg4OEMzMTE0ODgzQTkwMEFGNDI2NSAvKiBET01Gb3JtRGF0YS5p
ZGwgKi8sCisJCQkJNzZGQzJCMDgxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5jcHAg
Ki8sCisJCQkJNzZGQzJCMDkxMjM3MERBMDAwNkE5OTFBIC8qIERPTVRva2VuTGlzdC5oICovLAor
CQkJCTc2RkMyQjBBMTIzNzBEQTAwMDZBOTkxQSAvKiBET01Ub2tlbkxpc3QuaWRsICovLAogCQkJ
CUE4MTM2RDM3MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuY3BwICovLAogCQkJCUE4
MTM2RDM2MDk3M0E4RTcwMEQ3NDQ2MyAvKiBGb3JtRGF0YUxpc3QuaCAqLywKIAkJCQk5NzIwNUFB
RDEyMzkyOENBMDBCMTczODAgLyogRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwICovLApAQCAtMTQ2
MzQsNiArMTQ2NTIsOCBAQAogCQkJCUJDNzdEMTY4MEZGMTlGNTUwMDcwODg3QiAvKiBKU0RhdGFH
cmlkQ29sdW1uTGlzdC5oICovLAogCQkJCTJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RP
TUZvcm1EYXRhLmNwcCAqLywKIAkJCQkyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01G
b3JtRGF0YS5oICovLAorCQkJCTc2OTQ1NjNBMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2Vu
TGlzdC5jcHAgKi8sCisJCQkJNzY5NDU2M0IxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5M
aXN0LmggKi8sCiAJCQkJNDlFRUNFRjQxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5
LmNwcCAqLywKIAkJCQk0OUVFQ0VGNTEwNTA3MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXku
aCAqLywKIAkJCQlCQzk3RTQxMDEwOTE1NEZBMDAxMEQzNjEgLyogSlNIVE1MQWxsQ29sbGVjdGlv
bi5jcHAgKi8sCkBAIC0yMDU4Miw2ICsyMDYwMiw5IEBACiAJCQkJODQ3MzBEOTExMjQ4RjBCMzAw
RDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MjEyNDhG
MEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3
MzBEOTMxMjQ4RjBCMzAwRDNBOUM5IC8qIFNwb3RMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNzY5NDU2M0QxMjE0RDk3QzAwMDdDQkFFIC8qIEpTRE9NVG9rZW5MaXN0LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk3Njk0NTY1QjEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9NVG9rZW5MaXN0
LmggaW4gSGVhZGVycyAqLywKKwkJCQk3NkZDMkIwQzEyMzcwREEwMDA2QTk5MUEgLyogRE9NVG9r
ZW5MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzMDYxLDYgKzIzMDg0LDkgQEAKIAkJCQk4NDcz
MEQ4QTEyNDhGMEIzMDBEM0E5QzkgLyogRkVUaWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg0
NzMwRDhDMTI0OEYwQjMwMEQzQTlDOSAvKiBGRVR1cmJ1bGVuY2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJODQ3MzBEOTAxMjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTc2OTQ1NjNDMTIxNEQ5N0MwMDA3Q0JBRSAvKiBKU0RPTVRva2VuTGlzdC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk3Njk0NTY1QzEyMTREQjYzMDAwN0NCQUUgLyogRE9NRE9N
VG9rZW5MaXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNzZGQzJCMEIxMjM3MERBMDAwNkE5OTFB
IC8qIERPTVRva2VuTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9HTlVtYWtlZmlsZS5hbQppbmRleCAxMjgzNWNjNGRhZTQ3ZDVhMWRkNjUxYTVkNTY1ZjMwZTVh
NmY3MGRlLi5kODA4ZTE4OTlmM2FmYmQ3YWY1Yjg3M2Q2ZWVmNmNhYTUxMTViZDM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCkBAIC00OSw2ICs0OSw4IEBAIHdlYmtp
dGd0a19nZG9tX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJL
aXRET01ET01TdHJpbmdMaXN0UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2Vi
S2l0RE9NRE9NU3RyaW5nTWFwLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TURPTVN0cmluZ01hcFByaXZhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TURPTVRva2VuTGlzdC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01U
b2tlbkxpc3RQcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01X
aW5kb3cuY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9NV2luZG93UHJp
dmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRWxlbWVudC5jcHAgXApA
QCAtMjYzLDYgKzI2NSw3IEBAIHdlYmtpdGd0a19idWlsdF9oX2FwaSArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvd2Via2l0L1dlYktpdERPTURPTUltcGxlbWVudGF0aW9uLmggXAogCURlcml2ZWRTb3Vy
Y2VzL3dlYmtpdC9XZWJLaXRET01ET01TdHJpbmdMaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01ET01TdHJpbmdNYXAuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dl
YktpdERPTURPTVRva2VuTGlzdC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9N
RWxlbWVudC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRW50aXR5UmVmZXJl
bmNlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01FdmVudC5oIFwKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBiL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA4YTFkZjVjNmNhMmFjZWYwMzM3
MDE0MDU2NjM1M2YwMTFiZTlkNDQ2Li5mNjkxNjIwYThjODJlNGYzODEzZGRkYTdiNzc4N2JmNWQy
MzdjODc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5j
cHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwCkBAIC02MCw2
ICs2MCw3IEBAIHZvaWQgSlNFbGVtZW50OjptYXJrQ2hpbGRyZW4oTWFya1N0YWNrJiBtYXJrU3Rh
Y2spCiAgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gKkhlYXA6OmhlYXAodGhpcyktPmds
b2JhbERhdGEoKTsKIAogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywgZ2xvYmFs
RGF0YSwgZWxlbWVudC0+YXR0cmlidXRlTWFwKCkpOworICAgIG1hcmtET01PYmplY3RXcmFwcGVy
KG1hcmtTdGFjaywgZ2xvYmFsRGF0YSwgZWxlbWVudC0+b3B0aW9uYWxDbGFzc0xpc3QoKSk7CiAg
ICAgbWFya0RPTU9iamVjdFdyYXBwZXIobWFya1N0YWNrLCBnbG9iYWxEYXRhLCBlbGVtZW50LT5v
cHRpb25hbERhdGFzZXQoKSk7CiAKICAgICBpZiAoZWxlbWVudC0+aXNTdHlsZWRFbGVtZW50KCkp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
IGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAxYTEx
NGE0Mjk3ZTE0OTI5MzNiYWIyODNlMzY0ZjVjYTE0NzkyYmNmLi44MDM1NDJlNjlkODJkY2JkZjUy
NzhjZGU3MmQwNmI1NTU0MmI3MTE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0KQEAgLTI0MCw3ICsyNDAsNyBAQCBzdWIgSW5kZXhHZXR0ZXJSZXR1cm5z
U3RyaW5ncwogewogICAgIG15ICR0eXBlID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gMSBpZiAkdHlw
ZSBlcSAiQ1NTU3R5bGVEZWNsYXJhdGlvbiIgb3IgJHR5cGUgZXEgIk1lZGlhTGlzdCIgb3IgJHR5
cGUgZXEgIkNTU1ZhcmlhYmxlc0RlY2xhcmF0aW9uIiBvciAkdHlwZSBlcSAiRE9NU3RyaW5nTGlz
dCI7CisgICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIkNTU1N0eWxlRGVjbGFyYXRpb24iIG9yICR0
eXBlIGVxICJNZWRpYUxpc3QiIG9yICR0eXBlIGVxICJDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbiIg
b3IgJHR5cGUgZXEgIkRPTVN0cmluZ0xpc3QiIG9yICR0eXBlIGVxICJET01Ub2tlbkxpc3QiOwog
ICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JWOC5wbQppbmRleCBmNzRmMmIxZDg4ZjU4OTk1Yzg3MDI4NTVhZDJkNTZhMmYyZGI0MzVhLi4z
MzUzZjBmNWU2NzQyNjE1Y2MzZTBhMzllY2ZiNDJlMzM3MWU3MzU0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTI1MTAsNiArMjUxMCw3IEBAIHN1
YiBIYXNDdXN0b21Ub1Y4SW1wbGVtZW50YXRpb24gewogICAgIHJldHVybiAxIGlmICRpbnRlcmZh
Y2VOYW1lIGVxICJDYW52YXNQaXhlbEFycmF5IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNl
TmFtZSBlcSAiRE9NU3RyaW5nTWFwIjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBl
cSAiRE9NV2luZG93IjsKKyAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRE9NVG9r
ZW5MaXN0IjsKICAgICByZXR1cm4gMSBpZiAkaW50ZXJmYWNlTmFtZSBlcSAiRWxlbWVudCI7CiAg
ICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxEb2N1bWVudCI7CiAgICAgcmV0
dXJuIDEgaWYgJGludGVyZmFjZU5hbWUgZXEgIkhUTUxFbGVtZW50IjsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xNzFmZjVjMjlkZTA4NjZjZmZlOTRkMjBmOTQ4ODc3MTgxOWVkYjFkCi0tLSAvZGV2L251bGwK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3Bw
CkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhET01Ub2tl
bkxpc3QuaCIKKworI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorI2luY2x1ZGUgIlY4QmluZGlu
Zy5oIgorI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2luY2x1ZGUgIlY4RWxlbWVudC5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERPTVRv
a2VuTGlzdCogaW1wbCkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2ODo6TnVs
bCgpOworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NVG9rZW5MaXN0
Ojp3cmFwKGltcGwpOworICAgIC8vIEFkZCBhIGhpZGRlbiByZWZlcmVuY2UgZnJvbSB0aGUgZWxl
bWVudCB0byB0aGUgRE9NVG9rZW5MaXN0LgorICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBpbXBsLT5l
bGVtZW50KCk7CisgICAgaWYgKCF3cmFwcGVyLklzRW1wdHkoKSAmJiBlbGVtZW50KSB7CisgICAg
ICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBlbGVtZW50VmFsdWUgPSB0b1Y4KGVsZW1lbnQpOwor
ICAgICAgICBpZiAoIWVsZW1lbnRWYWx1ZS5Jc0VtcHR5KCkgJiYgZWxlbWVudFZhbHVlLT5Jc09i
amVjdCgpKQorICAgICAgICAgICAgVjhET01XcmFwcGVyOjpzZXRIaWRkZW5SZWZlcmVuY2UoZWxl
bWVudFZhbHVlLkFzPHY4OjpPYmplY3Q+KCksIHdyYXBwZXIpOworICAgIH0KKyAgICByZXR1cm4g
d3JhcHBlcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA1YzRlODJi
MmE1Zjg0YjZiZmZjNzQ3YTcwODJmODZmOGNlYWM3ZjQ4Li5jNDA4NzkwYzdjYWEzMjI3Mzk2NmI2
OWM0Yzc0NmQwZGI4YzMwNTVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IkNTU1N0eWxlU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0LmgiCiAjaW5jbHVkZSAi
Q2xpZW50UmVjdExpc3QuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRlICJE
YXRhc2V0RE9NU3RyaW5nTWFwLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJE
b2N1bWVudEZyYWdtZW50LmgiCkBAIC0xNTczLDYgKzE1NzQsMjEgQEAgYm9vbCBFbGVtZW50Ojp3
ZWJraXRNYXRjaGVzU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgRXhjZXB0aW9uQ29k
ZSYgZWMpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitET01Ub2tlbkxpc3QqIEVsZW1lbnQ6OmNs
YXNzTGlzdCgpCit7CisgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0gZW5zdXJlUmFyZURhdGEo
KTsKKyAgICBpZiAoIWRhdGEtPm1fY2xhc3NMaXN0KQorICAgICAgICBkYXRhLT5tX2NsYXNzTGlz
dCA9IERPTVRva2VuTGlzdDo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVybiBkYXRhLT5tX2NsYXNz
TGlzdC5nZXQoKTsKK30KKworRE9NVG9rZW5MaXN0KiBFbGVtZW50OjpvcHRpb25hbENsYXNzTGlz
dCgpIGNvbnN0Cit7CisgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gcmFyZURhdGEoKS0+bV9jbGFzc0xpc3QuZ2V0KCk7Cit9CisKIERPTVN0cmlu
Z01hcCogRWxlbWVudDo6ZGF0YXNldCgpCiB7CiAgICAgRWxlbWVudFJhcmVEYXRhKiBkYXRhID0g
ZW5zdXJlUmFyZURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBkOWE1MDg1NDhlMDY3MDhhYjkwYjE2YjlkZGM3MTFl
ZjM0ODY1NTE0Li5iNTFlNzUwYTUxZDA4Y2JmMTZkNzk1NmRhOWYxZDJkZjAzZjVkNDA3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRWxlbWVudC5o
CkBAIC0zNiw2ICszNiw3IEBAIGNsYXNzIEF0dHJpYnV0ZTsKIGNsYXNzIENsaWVudFJlY3Q7CiBj
bGFzcyBDbGllbnRSZWN0TGlzdDsKIGNsYXNzIERPTVN0cmluZ01hcDsKK2NsYXNzIERPTVRva2Vu
TGlzdDsKIGNsYXNzIEVsZW1lbnRSYXJlRGF0YTsKIGNsYXNzIEludFNpemU7CiAKQEAgLTI2OSw2
ICsyNzAsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIHdlYmtpdE1hdGNoZXNTZWxlY3Rvcihjb25z
dCBTdHJpbmcmIHNlbGVjdG9ycywgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgRE9NVG9rZW5MaXN0
KiBjbGFzc0xpc3QoKTsKKyAgICBET01Ub2tlbkxpc3QqIG9wdGlvbmFsQ2xhc3NMaXN0KCkgY29u
c3Q7CisKICAgICBET01TdHJpbmdNYXAqIGRhdGFzZXQoKTsKICAgICBET01TdHJpbmdNYXAqIG9w
dGlvbmFsRGF0YXNldCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50
UmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDhlMzM4YWJj
NjgwZjI0NGQyZjRhZmI2YWVlZmI1NjMzNTJhYTNmZjIuLmYxZTYzMzQxOGNjMjQ2Njk1M2E4OTI5
YTgwYzNjY2NjNTZlYmNkOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0
YS5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0yMiw2ICsyMiw3IEBA
CiAjaWZuZGVmIEVsZW1lbnRSYXJlRGF0YV9oCiAjZGVmaW5lIEVsZW1lbnRSYXJlRGF0YV9oCiAK
KyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNpbmNsdWRlICJEYXRhc2V0RE9NU3RyaW5nTWFw
LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgpAQCAt
NDIsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX2NvbXB1dGVk
U3R5bGU7CiAKICAgICBPd25QdHI8RGF0YXNldERPTVN0cmluZ01hcD4gbV9kYXRhc2V0RE9NU3Ry
aW5nTWFwOworICAgIE93blB0cjxET01Ub2tlbkxpc3Q+IG1fY2xhc3NMaXN0OwogfTsKIAogaW5s
aW5lIEludFNpemUgZGVmYXVsdE1pbmltdW1TaXplRm9yUmVzaXppbmcoKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCmluZGV4IGY0OTY3MGJhMWJkM2ZlMDNjMzAwNzI1NDBlOTZkNDdkNWQzYzA2MmIuLjBk
MzY1MGUxNmJiYWFhODZkZjU4YTQ3YzIyZDMzOWRiODg5ZTFhM2IgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3Ry
aW5nLmgKQEAgLTc0LDYgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29s
IGNvbnRhaW5zQWxsKGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIG5hbWVzKSBjb25zdCB7IHJldHVy
biAhbmFtZXMubV9kYXRhIHx8IChtX2RhdGEgJiYgbV9kYXRhLT5jb250YWluc0FsbCgqbmFtZXMu
bV9kYXRhKSk7IH0KIAogICAgICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0
YSA/IG1fZGF0YS0+c2l6ZSgpIDogMDsgfQorICAgICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsg
cmV0dXJuICFtX2RhdGE7IH0KICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBvcGVyYXRvcltd
KHNpemVfdCBpKSBjb25zdCB7IEFTU0VSVChpIDwgc2l6ZSgpKTsgcmV0dXJuICgqbV9kYXRhKVtp
XTsgfQogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1l
bnQuY3BwIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYTE1OGUyZWFlNWJi
YjY0ZGM2ZWE4MTJlODU2ODMyZWFlMDE0NjRhMS4uZjA3ZmRhOTg5ODIxNDU2MjcwNTk2NTNlY2Fl
Y2ZjMzAyNmVkNzRjYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAK
KysrIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNp
bmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgog
I2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKKyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoRnVuY3Rpb25zLmg+CkBAIC0yMTcsMTIgKzIxOCwxMiBAQCB2b2lkIFN0eWxlZEVs
ZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5ld0NsYXNz
U3RyaW5nKQogICAgIH0KICAgICBib29sIGhhc0NsYXNzID0gaSA8IGxlbmd0aDsKICAgICBzZXRI
YXNDbGFzcyhoYXNDbGFzcyk7Ci0gICAgaWYgKGhhc0NsYXNzKQorICAgIGlmIChoYXNDbGFzcykg
ewogICAgICAgICBhdHRyaWJ1dGVzKCktPnNldENsYXNzKG5ld0NsYXNzU3RyaW5nKTsKLSAgICBl
bHNlIHsKLSAgICAgICAgaWYgKGF0dHJpYnV0ZU1hcCgpKSAgICAKLSAgICAgICAgICAgIGF0dHJp
YnV0ZU1hcCgpLT5jbGVhckNsYXNzKCk7Ci0gICAgfQorICAgICAgICBpZiAoRE9NVG9rZW5MaXN0
KiBjbGFzc0xpc3QgPSBvcHRpb25hbENsYXNzTGlzdCgpKQorICAgICAgICAgICAgY2xhc3NMaXN0
LT5yZXNldChuZXdDbGFzc1N0cmluZyk7CisgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGVNYXAoKSkK
KyAgICAgICAgYXR0cmlidXRlTWFwKCktPmNsZWFyQ2xhc3MoKTsKICAgICBzZXROZWVkc1N0eWxl
UmVjYWxjKCk7CiAgICAgZGlzcGF0Y2hTdWJ0cmVlTW9kaWZpZWRFdmVudCgpOwogfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU3R5bGVkRWxl
bWVudC5oCmluZGV4IDgwNDBkYmYxZTM2OGFjYjdmNGVhOGU4MzU3YTFiMTVhZjgwNDJmMDMuLjRi
NjIzODgxNDQ0ZTE4NTQwNzYzNjNjMGNjNjkyMWI5ODczZDMwNjEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL1N0eWxlZEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgK
QEAgLTMyLDYgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQXR0cmlidXRl
OworY2xhc3MgQ2xhc3NMaXN0OwogY2xhc3MgQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb247
CiAKIGNsYXNzIFN0eWxlZEVsZW1lbnQgOiBwdWJsaWMgRWxlbWVudCB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmNwcCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3Qu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhlZTQ1YTIxZDRlNWM3ZGQ3ZGNiNTUyYWIzMDgxZDJjNDMwNjFhZTUK
LS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmNwcApAQCAtMCww
ICsxLDIwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCwgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJET01Ub2tlbkxpc3QuaCIKKworI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgiCisjaW5jbHVkZSAiU3RyaW5n
QnVpbGRlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CisKK3N0YXRpYyBib29sIHZhbGlkYXRlVG9rZW4oY29uc3QgQXRvbWljU3RyaW5nJiB0
b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKHRva2VuLmlzRW1wdHkoKSkgewor
ICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisK
KyAgICB1bnNpZ25lZCBsZW5ndGggPSB0b2tlbi5sZW5ndGgoKTsKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKGlzQ2xhc3NXaGl0ZXNwYWNl
KHRva2VuW2ldKSkgeworICAgICAgICAgICAgZWMgPSBJTlZBTElEX0NIQVJBQ1RFUl9FUlI7Cisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworRE9NVG9rZW5MaXN0OjpET01Ub2tlbkxpc3QoRWxlbWVudCogZWxlbWVudCkK
KyAgICA6IG1fZWxlbWVudChlbGVtZW50KQoreworICAgIGlmIChtX2VsZW1lbnQtPmRvY3VtZW50
KCktPmluUXVpcmtzTW9kZSgpKQorICAgICAgICBtX2NsYXNzTmFtZXNGb3JRdWlya3NNb2RlLnNl
dChtX2VsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUoY2xhc3NBdHRyKSwgZmFsc2UpOworfQorCit2
b2lkIERPTVRva2VuTGlzdDo6cmVmKCkKK3sKKyAgICBtX2VsZW1lbnQtPnJlZigpOworfQorCit2
b2lkIERPTVRva2VuTGlzdDo6ZGVyZWYoKQoreworICAgIG1fZWxlbWVudC0+ZGVyZWYoKTsKK30K
KwordW5zaWduZWQgRE9NVG9rZW5MaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAgIHJldHVybiBj
bGFzc05hbWVzKCkuc2l6ZSgpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcgRE9NVG9rZW5MaXN0
OjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIGlmIChpbmRleCA+PSBsZW5ndGgo
KSkKKyAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZygpOworICAgIHJldHVybiBjbGFzc05hbWVz
KClbaW5kZXhdOworfQorCitib29sIERPTVRva2VuTGlzdDo6Y29udGFpbnMoY29uc3QgQXRvbWlj
U3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0Cit7CisgICAgaWYgKCF2YWxp
ZGF0ZVRva2VuKHRva2VuLCBlYykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
Y29udGFpbnNJbnRlcm5hbCh0b2tlbik7Cit9CisKK2Jvb2wgRE9NVG9rZW5MaXN0Ojpjb250YWlu
c0ludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9rZW4pIGNvbnN0Cit7CisgICAgcmV0dXJu
IGNsYXNzTmFtZXMoKS5jb250YWlucyh0b2tlbik7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0Ojph
ZGQoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAg
aWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisgICAgICAgIHJldHVybjsKKyAgICBhZGRJ
bnRlcm5hbCh0b2tlbik7Cit9CisKK3ZvaWQgRE9NVG9rZW5MaXN0OjphZGRJbnRlcm5hbChjb25z
dCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
b2xkQ2xhc3NOYW1lKG1fZWxlbWVudC0+ZmFzdEdldEF0dHJpYnV0ZShjbGFzc0F0dHIpKTsKKyAg
ICBpZiAob2xkQ2xhc3NOYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgbV9lbGVtZW50LT5zZXRBdHRy
aWJ1dGUoY2xhc3NBdHRyLCB0b2tlbik7CisgICAgZWxzZSBpZiAoIWNvbnRhaW5zSW50ZXJuYWwo
dG9rZW4pKSB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAgICAgICAgYnVpbGRl
ci5hcHBlbmQob2xkQ2xhc3NOYW1lKTsKKyAgICAgICAgaWYgKG9sZENsYXNzTmFtZVtvbGRDbGFz
c05hbWUubGVuZ3RoKCkgLSAxXSAhPSAnICcpCisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgn
ICcpOworICAgICAgICBidWlsZGVyLmFwcGVuZCh0b2tlbik7CisgICAgICAgIG1fZWxlbWVudC0+
c2V0QXR0cmlidXRlKGNsYXNzQXR0ciwgYnVpbGRlci50b1N0cmluZygpKTsKKyAgICB9Cit9CisK
K3ZvaWQgRE9NVG9rZW5MaXN0OjpyZW1vdmUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisg
ICAgICAgIHJldHVybjsKKyAgICByZW1vdmVJbnRlcm5hbCh0b2tlbik7Cit9CisKK3ZvaWQgRE9N
VG9rZW5MaXN0OjpyZW1vdmVJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25z
dAoreworICAgIC8vIENoZWNrIHVzaW5nIGNvbnRhaW5zIGZpcnN0IHNpbmNlIGl0IHVzZXMgQXRv
bWljU3RyaW5nIGNvbXBhcmlzb25zIGluc3RlYWQKKyAgICAvLyBvZiBjaGFyYWN0ZXIgYnkgY2hh
cmFjdGVyIHRlc3RpbmcuCisgICAgaWYgKCFjb250YWluc0ludGVybmFsKHRva2VuKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgLy8gQWxnb3JpdGhtIGRlZmluZWQgYXQgaHR0cDovL3d3dy53aGF0
d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvY29tbW9uLW1pY3Jv
c3ludGF4ZXMuaHRtbCNyZW1vdmUtYS10b2tlbi1mcm9tLWEtc3RyaW5nCisKKyAgICBjb25zdCBB
dG9taWNTdHJpbmcmIGlucHV0ID0gbV9lbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKGNsYXNzQXR0
cik7CisgICAgdW5zaWduZWQgaW5wdXRMZW5ndGggPSBpbnB1dC5sZW5ndGgoKTsKKyAgICBWZWN0
b3I8VUNoYXI+IG91dHB1dDsgLy8gMworICAgIG91dHB1dC5yZXNlcnZlQ2FwYWNpdHkoaW5wdXRM
ZW5ndGgpOworICAgIHVuc2lnbmVkIHBvc2l0aW9uID0gMDsgLy8gNAorCisgICAgLy8gU3RlcCA1
CisgICAgd2hpbGUgKHBvc2l0aW9uIDwgaW5wdXRMZW5ndGgpIHsKKyAgICAgICAgaWYgKGlzQ2xh
c3NXaGl0ZXNwYWNlKGlucHV0W3Bvc2l0aW9uXSkpIHsgLy8gNgorICAgICAgICAgICAgb3V0cHV0
LmFwcGVuZChpbnB1dFtwb3NpdGlvbisrXSk7IC8vIDYuMSwgNi4yCisgICAgICAgICAgICBjb250
aW51ZTsgLy8gNi4zCisgICAgICAgIH0KKworICAgICAgICAvLyBTdGVwIDcKKyAgICAgICAgVmVj
dG9yPFVDaGFyPiBzOworICAgICAgICB3aGlsZSAocG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiAh
aXNDbGFzc1doaXRlc3BhY2UoaW5wdXRbcG9zaXRpb25dKSkKKyAgICAgICAgICAgIHMuYXBwZW5k
KGlucHV0W3Bvc2l0aW9uKytdKTsKKworICAgICAgICAvLyBTdGVwIDgKKyAgICAgICAgaWYgKHMg
PT0gdG9rZW4pIHsKKyAgICAgICAgICAgIC8vIFN0ZXAgOC4xCisgICAgICAgICAgICB3aGlsZSAo
cG9zaXRpb24gPCBpbnB1dExlbmd0aCAmJiBpc0NsYXNzV2hpdGVzcGFjZShpbnB1dFtwb3NpdGlv
bl0pKQorICAgICAgICAgICAgICAgICsrcG9zaXRpb247CisKKyAgICAgICAgICAgIC8vIFN0ZXAg
OC4yCisgICAgICAgICAgICBzaXplX3QgaiA9IG91dHB1dC5zaXplKCk7CisgICAgICAgICAgICB3
aGlsZSAoaiA+IDAgJiYgaXNDbGFzc1doaXRlc3BhY2Uob3V0cHV0W2ogLSAxXSkpCisgICAgICAg
ICAgICAgICAgLS1qOworICAgICAgICAgICAgb3V0cHV0LnJlc2l6ZShqKTsKKworICAgICAgICAg
ICAgLy8gU3RlcCA4LjMKKyAgICAgICAgICAgIGlmIChwb3NpdGlvbiA8IGlucHV0TGVuZ3RoICYm
ICFvdXRwdXQuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoJyAnKTsK
KyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKHMpOyAvLyBTdGVwIDkK
KyAgICB9CisKKyAgICBvdXRwdXQuc2hyaW5rVG9GaXQoKTsKKyAgICBtX2VsZW1lbnQtPnNldEF0
dHJpYnV0ZShjbGFzc0F0dHIsIFN0cmluZzo6YWRvcHQob3V0cHV0KSk7Cit9CisKK2Jvb2wgRE9N
VG9rZW5MaXN0Ojp0b2dnbGUoY29uc3QgQXRvbWljU3RyaW5nJiB0b2tlbiwgRXhjZXB0aW9uQ29k
ZSYgZWMpCit7CisgICAgaWYgKCF2YWxpZGF0ZVRva2VuKHRva2VuLCBlYykpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmIChjb250YWluc0ludGVybmFsKHRva2VuKSkgeworICAgICAg
ICByZW1vdmVJbnRlcm5hbCh0b2tlbik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cisg
ICAgYWRkSW50ZXJuYWwodG9rZW4pOworICAgIHJldHVybiB0cnVlOworfQorCitTdHJpbmcgRE9N
VG9rZW5MaXN0Ojp0b1N0cmluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZWxlbWVudC0+ZmFz
dEdldEF0dHJpYnV0ZShjbGFzc0F0dHIpOworfQorCit2b2lkIERPTVRva2VuTGlzdDo6cmVzZXQo
Y29uc3QgU3RyaW5nJiBuZXdDbGFzc05hbWUpCit7CisgICAgaWYgKCFtX2NsYXNzTmFtZXNGb3JR
dWlya3NNb2RlLmlzTnVsbCgpKQorICAgICAgICBtX2NsYXNzTmFtZXNGb3JRdWlya3NNb2RlLnNl
dChuZXdDbGFzc05hbWUsIGZhbHNlKTsKK30KKworY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgRE9N
VG9rZW5MaXN0OjpjbGFzc05hbWVzKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fY2xhc3NOYW1lc0Zv
clF1aXJrc01vZGUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBtX2NsYXNzTmFtZXNGb3JRdWly
a3NNb2RlOworICAgIHJldHVybiBtX2VsZW1lbnQtPmF0dHJpYnV0ZU1hcCgpLT5jbGFzc05hbWVz
KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9ET01Ub2tlbkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mYWQ2OWNhOGI5NTk1ZTIxNzY5MmQxMDI0YjUwZmJiODYwNjYzZDUzCi0tLSAvZGV2L251bGwK
KysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIERPTVRva2VuTGlzdF9oCisjZGVmaW5lIERPTVRva2VuTGlzdF9o
CisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmlu
Zy5oIgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRWxlbWVudDsKKworY2xhc3Mg
RE9NVG9rZW5MaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc093blB0cjxET01Ub2tlbkxpc3Q+IGNyZWF0ZShFbGVtZW50KiBlbGVtZW50KQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBET01Ub2tlbkxpc3QoZWxlbWVudCkpOworICAg
IH0KKworICAgIHZvaWQgcmVmKCk7CisgICAgdm9pZCBkZXJlZigpOworCisgICAgdW5zaWduZWQg
bGVuZ3RoKCkgY29uc3Q7CisgICAgY29uc3QgQXRvbWljU3RyaW5nIGl0ZW0odW5zaWduZWQgaW5k
ZXgpIGNvbnN0OworICAgIGJvb2wgY29udGFpbnMoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OworICAgIHZvaWQgYWRkKGNvbnN0IEF0b21pY1N0cmluZyYsIEV4Y2Vw
dGlvbkNvZGUmKTsKKyAgICB2b2lkIHJlbW92ZShjb25zdCBBdG9taWNTdHJpbmcmLCBFeGNlcHRp
b25Db2RlJik7CisgICAgYm9vbCB0b2dnbGUoY29uc3QgQXRvbWljU3RyaW5nJiwgRXhjZXB0aW9u
Q29kZSYpOworICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0OworCisgICAgdm9pZCByZXNldChj
b25zdCBTdHJpbmcmKTsKKworICAgIEVsZW1lbnQqIGVsZW1lbnQoKSB7IHJldHVybiBtX2VsZW1l
bnQ7IH0KKworcHJpdmF0ZToKKyAgICBET01Ub2tlbkxpc3QoRWxlbWVudCopOworCisgICAgdm9p
ZCBhZGRJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKKyAgICBib29sIGNvbnRh
aW5zSW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CisgICAgdm9pZCByZW1vdmVJ
bnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKKworICAgIGNvbnN0IFNwYWNlU3Bs
aXRTdHJpbmcmIGNsYXNzTmFtZXMoKSBjb25zdDsKKworICAgIEVsZW1lbnQqIG1fZWxlbWVudDsK
KyAgICBTcGFjZVNwbGl0U3RyaW5nIG1fY2xhc3NOYW1lc0ZvclF1aXJrc01vZGU7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBET01Ub2tlbkxpc3RfaApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwgYi9XZWJDb3JlL2h0bWwvRE9NVG9r
ZW5MaXN0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDY5MDBlYTA0ZmVkYzc5Y2M2OTNlZjZmN2Y2OGVlNGJm
YmE2MWRlCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwK
QEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCwgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGlu
dGVyZmFjZSBbCisgICAgICAgIEdlbmVyYXRlQ29uc3RydWN0b3IsCisgICAgICAgIEhhc0luZGV4
R2V0dGVyCisgICAgXSBET01Ub2tlbkxpc3QgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAgIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGxd
IERPTVN0cmluZyBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgICAgICBib29sZWFu
IGNvbnRhaW5zKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAg
ICAgIHZvaWQgYWRkKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cisg
ICAgICAgIHZvaWQgcmVtb3ZlKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CisgICAgICAgIGJvb2xlYW4gdG9nZ2xlKGluIERPTVN0cmluZyB0b2tlbikgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CisKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdV
QUdFX0pBVkFTQ1JJUFQKKyAgICAgICAgW0RvbnRFbnVtXSBET01TdHJpbmcgdG9TdHJpbmcoKTsK
KyNlbmRpZgorICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVu
dC5pZGwgYi9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCmluZGV4IDg2M2YyOGM4NjU0N2Vi
OTdjYzQ4Y2M2MjFkOWExYjY2YWM5MjY3YmIuLmIxMjdjNTE3Mjc2NWIxOGM4MTgwMWJkY2U2ZjVh
NzBhMDJlM2RhOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKKysr
IGIvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbApAQCAtMzEsNiArMzEsNyBAQCBtb2R1bGUg
aHRtbCB7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGxh
bmc7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gRE9NU3RyaW5nIGRpcjsK
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0PWNsYXNzXSBET01TdHJpbmcgY2xh
c3NOYW1lOworICAgICAgICAgICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0
IGNsYXNzTGlzdDsKIAogICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgICAg
ICAgdGFiSW5kZXg7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAg
ICBkcmFnZ2FibGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDVlZmFlYTcyNGVkZjRjMjYwOWZhMWQwYzFi
OWE0ZjgxOWRmNWNjZmQuLjM0M2NhMmMwNGQwOTI5ZjA0Y2U1ZGQ1ODU1MTZkYWNiMjZkNGQ3MWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiRE9NU2VsZWN0aW9u
LmgiCiAjaW5jbHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkRPTVRpbWVyLmgiCisj
aW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRl
ICJEYXRhYmFzZUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5o
IgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAppbmRleCA3MmNhMzZhOTdmNTM5OGVhMGVhY2ZiNDFmMTkwZDAwMWFhMjRj
ZmE0Li44Y2FjODc5OTdhYTk1MzI2NjBlNWJlYzIzZTk5Y2IxOTFlYmQ5NGU1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbApAQCAtMzc5LDYgKzM3OSw3IEBAIG1vZHVsZSB3aW5kb3cgewogLy8gICAgICAgIGF0dHJp
YnV0ZSBET01JbXBsZW1lbnRhdGlvbkxpc3RDb25zdHJ1Y3RvciBET01JbXBsZW1lbnRhdGlvbkxp
c3Q7CiAvLyAgICAgICAgYXR0cmlidXRlIERPTUltcGxlbWVudGF0aW9uU291cmNlQ29uc3RydWN0
b3IgRE9NSW1wbGVtZW50YXRpb25Tb3VyY2U7CiAgICAgICAgIGF0dHJpYnV0ZSBET01JbXBsZW1l
bnRhdGlvbkNvbnN0cnVjdG9yIERPTUltcGxlbWVudGF0aW9uOworICAgICAgICBhdHRyaWJ1dGUg
RE9NVG9rZW5MaXN0Q29uc3RydWN0b3IgRE9NVG9rZW5MaXN0OwogICAgICAgICBhdHRyaWJ1dGUg
RG9jdW1lbnRGcmFnbWVudENvbnN0cnVjdG9yIERvY3VtZW50RnJhZ21lbnQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBEb2N1bWVudENvbnN0cnVjdG9yIERvY3VtZW50OwogICAgICAgICBhdHRyaWJ1dGUg
Tm9kZUNvbnN0cnVjdG9yIE5vZGU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>