<?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>41414</bug_id>
          
          <creation_ts>2010-06-30 09:31:03 -0700</creation_ts>
          <short_desc>Web Inspector: autocompletion for CSS property values in Styles pane</short_desc>
          <delta_ts>2011-01-19 05:29:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>51332</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikita Vasilyev">me</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>dglazkov</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>244809</commentid>
    <comment_count>0</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-30 09:31:03 -0700</bug_when>
    <thetext>For instance, Inspector should autocomplete left/right/none for &quot;float&quot;.

This issue is related to:
https://bugs.webkit.org/show_bug.cgi?id=17374
https://bugs.webkit.org/show_bug.cgi?id=38448
https://bugs.webkit.org/show_bug.cgi?id=40886</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244812</commentid>
    <comment_count>1</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-30 09:34:59 -0700</bug_when>
    <thetext>I can&apos;t assign it to myself, so I&apos;m just saying I&apos;m working on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245038</commentid>
    <comment_count>2</comment_count>
      <attachid>60177</attachid>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-06-30 18:06:45 -0700</bug_when>
    <thetext>Created attachment 60177
Firebug autocomplete weakness

Let&apos;s talk about API and how to implement it. My suggestion:
WebInspector.CSSCompletions.getValuesByName(name, [prefix=&quot;&quot;])


There are 3 examples:

WebInspector.CSSCompletions.getValueByName(&quot;float&quot;, &quot;r&quot;)
-&gt; &quot;right&quot;

WebInspector.CSSCompletions.getValueByName(&quot;background&quot;, &quot;url(image.png) 40% no-re&quot;)
-&gt; &quot;url(image.png) 40% no-repeat&quot;

WebInspector.CSSCompletions.getValueByName(&quot;-webkit-transition&quot;, &quot;color 0.5s l&quot;)
-&gt; &quot;color 0.5s linear&quot;


1. float.

WebInspector.CSSCompletions.values = {
    float: [&quot;left&quot;, &quot;right&quot;, &quot;none&quot;]
}

WebInspector.CSSCompletions.getValueByName = function(name, prefix)
{
    for (var i = 0; i &lt; this.values[name].length; ++i)
        if (this.values[name][i].indexOf(prefix) === 0)
            return this.values[name][i];
    return prefix;
}

This one is works well.

Actual implementation may use binary search. It&apos;s not the point here.


2. background

WebInspector.CSSCompletions.values = {
    background: [
        &quot;repeat-x&quot;, &quot;repeat-y&quot;, &quot;no-repeat&quot;, 
        &quot;left&quot;, &quot;right&quot;, &quot;top&quot;, &quot;bottom&quot;, &quot;center&quot;,
        &quot;white&quot;, &quot;red&quot;, &quot;yellow&quot;, ...all color names,
        &quot;fixed&quot;, &quot;scroll&quot;,
        ...
    ]
}

WebInspector.CSSCompletions.getValueByName = function(name, prefix)
{
    var splitted = prefix.split(&quot; &quot;);
    prefix = splitted.splice(splitted.length - 1, 1);
    for (var i = 0; i &lt; this.values[name].length; ++i)
        if (this.values[name][i].indexOf(prefix) === 0) {
            splitted.push(this.values[name][i]);
            return splitted.join(&quot; &quot;);
        }
    return prefix;
}

This works for WebInspector.CSSCompletions.getValueByName(&quot;background&quot;, &quot;url(image.png) 40% no-re&quot;). I assume, this is what Firebug does. It has a downside, see attached firebug-autocomplete.png.

&quot;background&quot; shorthand actually has a pretty complicated syntax: http://www.w3.org/TR/css3-background/#the-background


3. -webkit-transition

WebInspector.CSSCompletions.getValueByName(&quot;-webkit-transition&quot;, &quot;color 0.5s l&quot;)
-&gt; &quot;color 0.5s linear&quot;

Using previous approach, it will give you &quot;color 0.5 left&quot; instead, because &quot;left&quot; is a CSS property like &quot;color&quot;! Not good.

So, we need some grammar logic! We can do better than Firebug, right? Any suggestions how that logic will look like?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245156</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-07-01 00:31:09 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=60177) [details]
&gt; Firebug autocomplete weakness
&gt; 
&gt; Let&apos;s talk about API and how to implement it. My suggestion:
&gt; WebInspector.CSSCompletions.getValuesByName(name, [prefix=&quot;&quot;])
&gt; 
&gt; 
&gt; There are 3 examples:
&gt; 
&gt; WebInspector.CSSCompletions.getValueByName(&quot;float&quot;, &quot;r&quot;)
&gt; -&gt; &quot;right&quot;
&gt; 

I agree that it makes sense to try implementing synchronous api. There already is a WebInspector.CSSStyleModel class that should get the new method. The method itself should probably have &quot;getCompletions(name, prefix)&quot; signature. So same arguments, different name.

&gt; So, we need some grammar logic! We can do better than Firebug, right? Any suggestions how that logic will look like?

I&apos;d start with hinting the names. Joe, do you plan to finish https://bugs.webkit.org/show_bug.cgi?id=40886? Starting on something and then dropping it makes others stay away from the problem thinking that it is being taken care of. Let us know.

Talking about the values for the properties, as you suggest, i&apos;d use groups of values per property name (potentially referencing sub-groups to re-use stuff). It is already very useful.

As we go on, we can add mutually exclusive groups for property names so that &quot;color&quot; and &quot;left&quot; fell into one and fixed the issue you are talking about. I don&apos;t think we should deal with parsing for now - it is an overkill. I&apos;d be interested in your thoughts on it though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245257</commentid>
    <comment_count>4</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-07-01 04:58:39 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; As we go on, we can add mutually exclusive groups for property names so that &quot;color&quot; and &quot;left&quot; fell into one and fixed the issue you are talking about. I don&apos;t think we should deal with parsing for now - it is an overkill. I&apos;d be interested in your thoughts on it though.

It isn&apos;t clear to me how to implement this &quot;mutually exclusive groups&quot;. So, I agree, let&apos;s start with groups of values per property name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245404</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-07-01 09:58:54 -0700</bug_when>
    <thetext>&gt; Joe, do you plan to finish https://bugs.webkit.org/show_bug.cgi?id=40886? Starting on something and then dropping it makes others stay away from the problem thinking that it is being taken care of. Let us know.

Yep, I&apos;ll be making time to put up versions of my patches for the above
and another one I think I was working on. Sorry about the inactivity,
I have just been super busy! I&apos;ll focus on Bugzilla today.

I think I only stopped working on one (for the time being) because I
know I won&apos;t get around to it. I&apos;ll comment on that bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245926</commentid>
    <comment_count>6</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-07-02 09:02:16 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I agree that it makes sense to try implementing synchronous api. There already is a WebInspector.CSSStyleModel class that should get the new method. The method itself should probably have &quot;getCompletions(name, prefix)&quot; signature. So same arguments, different name.

Is getCompletions(name, prefix) gonna be a back-end solution? If so, I won&apos;t bother myself with it and just wait until it&apos;s done :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245927</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-07-02 09:10:12 -0700</bug_when>
    <thetext>&gt; Is getCompletions(name, prefix) gonna be a back-end solution? If so, I won&apos;t bother myself with it and just wait until it&apos;s done :)

I&apos;d implement it on the front-end side!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250519</commentid>
    <comment_count>8</comment_count>
      <attachid>61380</attachid>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-07-13 08:22:06 -0700</bug_when>
    <thetext>Created attachment 61380
Work-in-progress patch

http://screenr.com/mtR (there is a debug colors)

I took WebInspector.CSSStyleModel.properties and WebInspector.CSSStyleModel.keywords from FireBug (just removed -moz- properties). There are no -webkit- properties. It&apos;s all hardcoded.

I would like to hear about UI bugs and the code in general. I don&apos;t need code style review yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250680</commentid>
    <comment_count>9</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-07-13 12:35:36 -0700</bug_when>
    <thetext>I have a hash of all CSS values: WebInspector.CSSStyleModel.keywordMap. It looks like:

{
  background: Array (185)
    0: &quot;repeat&quot;
    1: &quot;repeat-x&quot;
    2: &quot;repeat-y&quot;
    ...
    152: &quot;Yellow&quot;
    ...
    184: &quot;none&quot;
  ...
  float: Array (3)
    0: &quot;left&quot;
    1: &quot;right&quot;
    2: &quot;none&quot;
  ...
}

Now, I lazily build it within WebInspector.CSSStyleModel.getCSSKeywordsByProperty method. It builds from WebInspector.CSSStyleModel.properties and WebInspector.CSSStyleModel.keywords.

We need to keep it up to date! How we going to do that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251126</commentid>
    <comment_count>10</comment_count>
      <attachid>61380</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-07-14 05:29:35 -0700</bug_when>
    <thetext>Comment on attachment 61380
Work-in-progress patch

WebCore/inspector/front-end/utilities.js:378
 +  Element.prototype.select = function select(start, end)
Please see Node.prototype.rangeBoundaryForOffset. Does it do pretty much the same thing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251154</commentid>
    <comment_count>11</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-07-14 06:37:01 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 61380 [details])
&gt; WebCore/inspector/front-end/utilities.js:378
&gt;  +  Element.prototype.select = function select(start, end)
&gt; Please see Node.prototype.rangeBoundaryForOffset. Does it do pretty much the same thing?

It works, but instead of one line:
    
    element.select(startOffset, endOffset);

I have to use ten:

    var start = element.rangeBoundaryForOffset(startOffset)
    var end = element.rangeBoundaryForOffset(endOffset)
    var selection = getSelection()
    if (selection.rangeCount) {
        var range = selection.getRangeAt(0);
        range.setStart(start.container, start.offset)
        range.setEnd(end.container, end.offset)
        selection.removeAllRanges()
        selection.addRange(range)
    }

I prefer one line :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251174</commentid>
    <comment_count>12</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-07-14 07:21:29 -0700</bug_when>
    <thetext>&gt; It works, but instead of one line:
&gt; 
&gt;     element.select(startOffset, endOffset);
&gt; 
&gt; I have to use ten:
&gt; 
&gt;     var start = element.rangeBoundaryForOffset(startOffset)
&gt;     var end = element.rangeBoundaryForOffset(endOffset)
&gt;     var selection = getSelection()
&gt;     if (selection.rangeCount) {
&gt;         var range = selection.getRangeAt(0);
&gt;         range.setStart(start.container, start.offset)
&gt;         range.setEnd(end.container, end.offset)
&gt;         selection.removeAllRanges()
&gt;         selection.addRange(range)
&gt;     }
&gt; 

All I ask is that you implement it on top of rangeBoundaryForOffset. That way you add 10 lines, not 60 to the utilities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251280</commentid>
    <comment_count>13</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-07-14 10:49:18 -0700</bug_when>
    <thetext>(In reply to comment #12)

Okay, I will use rangeBoundaryForOffset.

By the way, I have QUnit tests[1] for Element.prototype.select and Text.prototype.select. I would like to know how to port it to Inspector&apos;s tests.

[1]: http://nv.github.com/select-text.js/test/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253140</commentid>
    <comment_count>14</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-07-19 04:43:06 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; We need to keep it up to date! How we going to do that?

I&apos;ve found WebCore/css/CSSValueKeywords.in. I wonder if WebInspector.CSSStyleModel.keywordMap could be generated from that on back-end. Can it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253265</commentid>
    <comment_count>15</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-07-19 09:45:54 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; I&apos;ve found WebCore/css/CSSValueKeywords.in. I wonder if
&gt; WebInspector.CSSStyleModel.keywordMap could be generated
&gt; from that on back-end. Can it?

Hmm, it looks like the CSSValueKeywords.in file does have the idea
of relationships between properties and values. You could find the
script that parsers it, to see if you could generate something from it.
I think its doable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258153</commentid>
    <comment_count>16</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2010-07-30 05:29:23 -0700</bug_when>
    <thetext>I wonder how WebKit does relationships between CSS values and keywords? There is a lot of inconsistencies in CSSValueKeywords.in.

`-webkit-box-pack: start` is a valid property, but there is no &quot;CSS_PROP__WEBKIT_BOX_PACK&quot; in CSSValueKeywords.in. There is a &quot;CSS_PROP_BOX_PACK&quot;, but it&apos;s commented out:

    # CSS_PROP_BOX_PACK
    # start
    # end
    # center
    # justify

Most groups start with &quot;CSS_PROP_&quot;, but some don&apos;t:

    #
    # background-size
    #
    contain
    cover

Also, there is one strange group:

    # Unordered rest
    #
    a3
    a4
    a5
    above
    absolute
    always
    ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258233</commentid>
    <comment_count>17</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-07-30 09:42:51 -0700</bug_when>
    <thetext>Hmm, then maybe that file isn&apos;t completely accurate or up to date in that way.
It looks likes its only use is to generate CSSValueKeywords.{c,h} in DerivedSources.
The script that processes it is WebCore/css/makevalues.pl, and it just ignores
all comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323827</commentid>
    <comment_count>18</comment_count>
      <attachid>76887</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-17 09:31:13 -0800</bug_when>
    <thetext>Created attachment 76887
[PATCH] Suggested solution

As there has been no progress on this bug for quite a time, I take liberty to implement the feature with auto-generated lists of keywords for every supported property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323833</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-17 09:35:31 -0800</bug_when>
    <thetext>Attachment 76887 did not build on chromium:
Build output: http://queues.webkit.org/results/7255016</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323849</commentid>
    <comment_count>20</comment_count>
      <attachid>76887</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-17 10:18:46 -0800</bug_when>
    <thetext>Comment on attachment 76887
[PATCH] Suggested solution

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

&gt; As there has been no progress on this bug for quite a time, I take liberty to
&gt; implement the feature with auto-generated lists of keywords for every
&gt; supported property

Nicely done. I like the approach. Some high level comments after looking at the patch:

  • Whenever you attach a patch with a new generated file, please also attach a copy
     of the generated file, so we can see what it looks like!

  • You generate a .js file for the property -&gt; values map. This is an excellent approach.
     I think you should also add the complete property list to this generated file and
     completely remove the backend fetch approach:
     InspectorBackend.getSupportedCSSProperties

  • If you could break this up into smaller patches it might be easier to review. Ex.
     - Refactoring CSSCompletions from a singleton to a &quot;class&quot;, so we can then see
     your changes to it, if any, after the refactoring.

I&apos;ll have some &quot;quick&quot; review comments.


&gt; WebCore/css/makevalues.pl:49
&gt; +open KEYWORDMAP, &quot;&gt;CSSKeywordCompletions.js&quot; || die &quot;Could not open CSSKeywordMap.js for writing&quot;;

Nit. I think &quot;CSSKeywordMap.js&quot; was probably an older name choice for the file? Update to
match CSSKeywordCompletions.js.


&gt; WebCore/inspector/front-end/StylesSidebarPane.js:1627
&gt; +                // WebCore crash workaround: we cannot remove the range right away, since
&gt; +                // if there is no suggest, WebCore/editing will try to remove the same range
&gt; +                // once again, as event.preventDefault() will not have been called.

Is there a bug filed for this?


&gt; WebCore/inspector/front-end/inspector.js:1763
&gt; +    config = config || {};
&gt;      element.__editing = true;
&gt;      WebInspector.__editing = true;
&gt; +    var committedCallback = config.commitHandler;
&gt; +    var cancelledCallback = config.cancelHandler;
&gt;  
&gt;      config = config || {};
&gt;      var committedCallback = config.commitHandler;

Below it looks like some (maybe all) of these lines already exist. Maybe a merge conflict?
But it looks like these changes won&apos;t be needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323886</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-17 11:21:09 -0800</bug_when>
    <thetext>Attachment 76887 did not build on chromium:
Build output: http://queues.webkit.org/results/7224019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324958</commentid>
    <comment_count>22</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-21 05:21:32 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 76887 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=76887&amp;action=review
&gt; 
&gt; &gt; As there has been no progress on this bug for quite a time, I take liberty to
&gt; &gt; implement the feature with auto-generated lists of keywords for every
&gt; &gt; supported property
&gt; 
&gt; Nicely done. I like the approach. Some high level comments after looking at the patch:
&gt; 
&gt;   • Whenever you attach a patch with a new generated file, please also attach a copy
&gt;      of the generated file, so we can see what it looks like!

Will do

&gt;   • You generate a .js file for the property -&gt; values map. This is an excellent approach.
&gt;      I think you should also add the complete property list to this generated file and
&gt;      completely remove the backend fetch approach:
&gt;      InspectorBackend.getSupportedCSSProperties

That&apos;s what I&apos;m eventually going to do, but I since property names and keywords are processed by different Perl scripts, I have no clue how to join the two script outputs into a single file. My current idea is to generate a separate JS file beside (I guess it warrants a separate change).

&gt;   • If you could break this up into smaller patches it might be easier to review. Ex.
&gt;      - Refactoring CSSCompletions from a singleton to a &quot;class&quot;, so we can then see
&gt;      your changes to it, if any, after the refactoring.

Done

&gt; I&apos;ll have some &quot;quick&quot; review comments.
&gt; 
&gt; 
&gt; &gt; WebCore/css/makevalues.pl:49
&gt; &gt; +open KEYWORDMAP, &quot;&gt;CSSKeywordCompletions.js&quot; || die &quot;Could not open CSSKeywordMap.js for writing&quot;;
&gt; 
&gt; Nit. I think &quot;CSSKeywordMap.js&quot; was probably an older name choice for the file? Update to
&gt; match CSSKeywordCompletions.js.

Correct, fixed.

&gt; &gt; WebCore/inspector/front-end/StylesSidebarPane.js:1627
&gt; &gt; +                // WebCore crash workaround: we cannot remove the range right away, since
&gt; &gt; +                // if there is no suggest, WebCore/editing will try to remove the same range
&gt; &gt; +                // once again, as event.preventDefault() will not have been called.
&gt; 
&gt; Is there a bug filed for this?

Bug 51389 filed.

&gt; &gt; WebCore/inspector/front-end/inspector.js:1763
&gt; &gt; +    config = config || {};
&gt; &gt;      element.__editing = true;
&gt; &gt;      WebInspector.__editing = true;
&gt; &gt; +    var committedCallback = config.commitHandler;
&gt; &gt; +    var cancelledCallback = config.cancelHandler;
&gt; &gt;  
&gt; &gt;      config = config || {};
&gt; &gt;      var committedCallback = config.commitHandler;
&gt; 
&gt; Below it looks like some (maybe all) of these lines already exist. Maybe a merge conflict?
&gt; But it looks like these changes won&apos;t be needed.

Right, it&apos;s a bad merge. File reverted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324972</commentid>
    <comment_count>23</comment_count>
      <attachid>77107</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-21 06:06:04 -0800</bug_when>
    <thetext>Created attachment 77107
[PATCH] Comments addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324975</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-21 06:11:26 -0800</bug_when>
    <thetext>Attachment 77107 did not build on chromium:
Build output: http://queues.webkit.org/results/7317066</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324986</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-21 06:56:13 -0800</bug_when>
    <thetext>Attachment 77107 did not build on chromium:
Build output: http://queues.webkit.org/results/7311073</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325010</commentid>
    <comment_count>26</comment_count>
      <attachid>77115</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-21 08:02:57 -0800</bug_when>
    <thetext>Created attachment 77115
[PATCH] Python style and Chromium non-debug_devtools compilability tentatively fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325024</commentid>
    <comment_count>27</comment_count>
      <attachid>77120</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-21 08:41:34 -0800</bug_when>
    <thetext>Created attachment 77120
[FILE] Generated CSSKeywordCompletions.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325025</commentid>
    <comment_count>28</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-21 08:45:33 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt;   • Whenever you attach a patch with a new generated file, please also attach a copy
&gt;      of the generated file, so we can see what it looks like!

Done.

&gt;   • If you could break this up into smaller patches it might be easier to review. Ex.
&gt;      - Refactoring CSSCompletions from a singleton to a &quot;class&quot;, so we can then see

As of now, I cannot see any changes to extract. Currently, there are two logical parts in this change: (1) generate CSSKeywordCompletions.js on all platforms; (2) Make use of the file in StylesSidebarPane.js. However we don&apos;t seem to land unused code, so landing a separate patch for (1) does not look like a good solution. What do you think about it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325055</commentid>
    <comment_count>29</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-21 10:21:29 -0800</bug_when>
    <thetext>Thanks for addressing my comments!

&gt; &gt;   • If you could break this up into smaller patches it might be easier to review. Ex.
&gt; &gt;      - Refactoring CSSCompletions from a singleton to a &quot;class&quot;, so we can then see
&gt; 
&gt; As of now, I cannot see any changes to extract. Currently, there are two logical parts in
&gt; this change: (1) generate CSSKeywordCompletions.js on all platforms; (2) Make use of
&gt; the file in StylesSidebarPane.js. However we don&apos;t seem to land unused code, so landing
&gt; a separate patch for (1) does not look like a good solution. What do you think about it?

Its really a personal preference. Your choice to leave them in one patch is fine. Already
removing the CSSCompletions refactoring makes this patch easier to follow now that
I know there were no changes made to its internals!

A couple things I noticed from the generated file:

&gt; var acceptedKeywords = [ &quot;initial&quot; ];

Nit: I don&apos;t think we want spaces inside the braces.

&gt;    &quot;box-lines&quot;: [
&gt;        &quot;single&quot;,
&gt;        &quot;multiple&quot;
&gt;    ],

Would it be useful to sort these value lists at generation time? It would be useful for
me reading the file to see if a property is missing. Currently WebInspector.CSSCompletions
sorts the provided properties, and that is called every time the forProperty method is called.
This is a lot of wasted cycles if it could just be sorted once. Removing the sort in
CSSCompletions would require fixing its other callers, but there is just one in
inspector.js and that list (which will eventually be replaced with a new generated file)
can be sorted before calling the constructor.


&gt;   &quot;_color_&quot;: [ ... ]

This is an improved list of colors, since it is auto-generated, over
WebInspector.Color.Nicknames in front-end/Color.js, which I think I just took colors
mentioned in the CSS 2.1 spec. Merging these lists, to eliminate duplicated code,
would be another thing good for future consideration. I think your list had ~40
extra values, nice! Without those colors in the WebInspector.Color list, those colors
don&apos;t have a swatch and cannot be cycled since we don&apos;t know their corresponding
hex. I don&apos;t know how that would work for a color like &quot;-webkit-link&quot;, which I
am not sure is always a static color, but we can come up with something eventually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325436</commentid>
    <comment_count>30</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-22 03:26:45 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; Thanks for addressing my comments!
&gt; 
&gt; A couple things I noticed from the generated file:
&gt; 
&gt; &gt; var acceptedKeywords = [ &quot;initial&quot; ];
&gt; 
&gt; Nit: I don&apos;t think we want spaces inside the braces.

Fixed.

&gt; &gt;    &quot;box-lines&quot;: [
&gt; &gt;        &quot;single&quot;,
&gt; &gt;        &quot;multiple&quot;
&gt; &gt;    ],
&gt; 
&gt; Would it be useful to sort these value lists at generation time? It would be useful for
&gt; me reading the file to see if a property is missing. Currently WebInspector.CSSCompletions
&gt; sorts the provided properties, and that is called every time the forProperty method is called.
&gt; This is a lot of wasted cycles if it could just be sorted once. Removing the sort in
&gt; CSSCompletions would require fixing its other callers, but there is just one in
&gt; inspector.js and that list (which will eventually be replaced with a new generated file)
&gt; can be sorted before calling the constructor.

As discussed on IRC, several keyword lists are merged at runtime, so we still need to sort the resulting list.

&gt; &gt;   &quot;_color_&quot;: [ ... ]
&gt; 
&gt; This is an improved list of colors, since it is auto-generated, over
&gt; WebInspector.Color.Nicknames in front-end/Color.js, which I think I just took colors
&gt; mentioned in the CSS 2.1 spec. Merging these lists, to eliminate duplicated code,
&gt; would be another thing good for future consideration. I think your list had ~40
&gt; extra values, nice! Without those colors in the WebInspector.Color list, those colors
&gt; don&apos;t have a swatch and cannot be cycled since we don&apos;t know their corresponding
&gt; hex. I don&apos;t know how that would work for a color like &quot;-webkit-link&quot;, which I
&gt; am not sure is always a static color, but we can come up with something eventually.

Most of those new keywords are CSS2 system colors which were deprecated in CSS3 (and also CSS2.1). As per http://www.w3.org/TR/css3-color/#css2-system,
&quot;The CSS2 System Color values have been deprecated in favor of the CSS3 UI ‘appearance’ property. If you want to emulate the look of a user interface related element or control, please use the ‘appearance’ property instead of attempting to mimic a user interface element through a combination of system colors.&quot;

Thus, I will unmark these system color keywords so that they never appear in the &quot;_color_&quot; category. I have also added the &quot;*grey&quot; color nicknames to your list, since WebCore seems to support both kinds of variations. Do we have any other issues to solve yet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325447</commentid>
    <comment_count>31</comment_count>
      <attachid>77204</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-22 05:02:25 -0800</bug_when>
    <thetext>Created attachment 77204
[PATCH] Comments addressed, color nicknames fixed

- Added &quot;*grey&quot; color nicknames to Colors to accompany the &quot;*gray&quot; ones
- Removed the system color keywords, as they have been deprecated in CSS2.1 and CSS3
- Renamed &quot;lightGrey&quot; to &quot;lightGray&quot; in HexTable to keep the &quot;...Gray&quot; spelling consistent across the table</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325451</commentid>
    <comment_count>32</comment_count>
      <attachid>77205</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-22 05:15:17 -0800</bug_when>
    <thetext>Created attachment 77205
[FILE] Generated CSSKeywordCompletions.js (with patch 77204)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326189</commentid>
    <comment_count>33</comment_count>
      <attachid>77204</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-23 11:54:41 -0800</bug_when>
    <thetext>Comment on attachment 77204
[PATCH] Comments addressed, color nicknames fixed

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

Having tried this patch and testing some weird cases, I&apos;m happy with this patch.
I want to get a CSS reviewer a chance to see if they might have any concerns with
the CSSValueKeywords.in changes. Otherwise it looks good to me! I&apos;ll grab
a CSS expert.

&gt; LayoutTests/inspector/styles-autocomplete-values-expected.txt:1
&gt; +Tests that Up/Down keys switch suggestions in CSS property values.

Is there an Up/Down test for #s? Could you add a test, or section to this test, to verify #s change
(Up/Down and maybe PageUp/PageDown). I ask because I see at the bottom this touches that code
(maybe it just indents it though).

That is not a requirement for this patch, and could be filed separately.

&gt; WebCore/ChangeLog:1
&gt; +2010-12-22  Alexander Pavlov  &lt;apavlov@chromium.org&gt;

This is pretty sparse for such an interesting change. Please add comments to ChangeLogs!
I know I stopped harping about this in the past... but it really is helpful, especially for reviewers. =)

&gt; WebCore/WebCore.gyp/scripts/action_cssvaluekeywords.py:135
&gt; +            parts = line.partition(&apos;,&apos;)
&gt; +            if parts[1] != &apos;&apos;:
&gt; +                value = parts[0]

Is the parts[1] != &apos;&apos; check really necessary here? Previously it just added all lines. What lines are new such that parts[1] is &quot;&quot; and invalid?
This is not r- material, since I see that it will work, but it seems unnecessary at the moment.

&gt; WebCore/WebCore.pri:603
&gt; +cssKeywordCompletions.wkAddOutputToSources = false
&gt; +cssKeywordCompletions.output = generated/CSSKeywordCompletions.qrc
&gt; +cssKeywordCompletions.input = CSS_KEYWORD_COMPLETIONS_QRC
&gt; +cssKeywordCompletions.tempNames = $$PWD/$$CSS_KEYWORD_COMPLETIONS_QRC $${WC_GENERATED_SOURCES_DIR}/CSSKeywordCompletions.qrc
&gt; +cssKeywordCompletions.commands = $$QMAKE_COPY $$replace(cssKeywordCompletions.tempNames, &quot;/&quot;, $$QMAKE_DIR_SEP)
&gt; +addExtraCompiler(cssKeywordCompletions)

1. Other generated sections have a comment, like &quot;# GENERATOR 6-B:&quot;. I suggest
adding some kind of comment here.

2. &quot;generated/CSSKeywordCompletions.qrc&quot; should probably use the $${WC_GENERATED_SOURCES_DIR}
variable instead of a hardcoded generated directory. Like you do for tempNames in (line 600).

For the same reasons maybe you can drive by improve the generator for InspectorBackendStub.
Add a comment and use the variable:

    646    inspectorBackendStub.output = generated/InspectorBackendStub.qrc

&gt; WebCore/css/makevalues.pl:38
&gt; +  @parts = split(/,/);

I don&apos;t think the parenthesis are needed here. Other perl calls in this file don&apos;t use them,
so you can probably drop them.

&gt; WebCore/css/makevalues.pl:80
&gt; + * THIS FILE IS GENERATED BY makevalues.pl. DO NOT MODIFY!

I would suggest giving the full path if &quot;makevalues.pl&quot;: WebCore/css/makevalues.pl

However, this runs the risk of becoming stale if the file moves. But it still would make
it easier for people to find the generator.

&gt; WebCore/inspector/front-end/StylesSidebarPane.js:1373
&gt; +        nameElement.normalize();
&gt; +        valueElement.normalize();

Whoa. I just learned about this by reviewing this patch! That really could have saved me
some time in the past. Good solution!
https://developer.mozilla.org/En/DOM/Node.normalize

I&apos;m not sure if normalizing here is the best place, but I don&apos;t think its a performance
issue at this point.

&gt; WebCore/inspector/front-end/StylesSidebarPane.js:1596
&gt; +        const styleValueDelimiters = &quot; \u00A0\t\n\&quot;&apos;:;,/()&quot;;

I don&apos;t like that this constant is in two places. Maybe it could be made a constant on the class
or the code for its two uses shared.

&gt; WebCore/inspector/front-end/StylesSidebarPane.js:1627
&gt; +                // WebCore crash workaround: we cannot remove the range right away, since
&gt; +                // if there is no suggest, WebCore/editing will try to remove the same range
&gt; +                // once again, as event.preventDefault() will not have been called.

Please link to the Bugzilla bug you made.
&lt;http://webkit.org/b/51389&gt; Selection becomes stale when CharacterData is manipulated directly

Note there has been a lot of progress and that, and it might be fixed today.

&gt; WebCore/inspector/front-end/StylesSidebarPane.js:1711
&gt; +        if (!!this.cssValueCompletions.firstStartsWith(wordStringLower)) {

Nit: The !! is unnecessary here. The value returned is always a valid string or &quot;&quot;.
And &quot;&quot; is a falsely value. Does it make things clearer for you to leave in the !!?

  js&gt; &quot;&quot; &amp;&amp; alert(1); // No alert.

&gt; WebCore/inspector/front-end/StylesSidebarPane.js:1776
&gt; +        this.valueElement.firstChild.select(selectionStart, selectionStart + replacementString.length)

Nit: Should have a semicolon.

&gt; WebKit/chromium/ChangeLog:8
&gt; +        * WebKit.gyp:

Could use a comment.

&gt; WebKit/chromium/WebKit.gyp:755
&gt; +                &apos;../../WebCore/WebCore.gyp/WebCore.gyp:webcore_bindings_sources&apos;

Nit: Other dependencies above always add trailing commas. Might be nice to reduce future diffs.

&gt; WebKit/chromium/WebKit.gyp:768
&gt; +                    &apos;&lt;(SHARED_INTERMEDIATE_DIR)/webkit/CSSKeywordCompletions.js&apos;

Nit: Other dependencies above always add trailing commas. Might be nice to reduce future diffs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326199</commentid>
    <comment_count>34</comment_count>
      <attachid>77204</attachid>
    <who name="">mitz</who>
    <bug_when>2010-12-23 12:05:03 -0800</bug_when>
    <thetext>Comment on attachment 77204
[PATCH] Comments addressed, color nicknames fixed

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

&gt; WebCore/ChangeLog:18
&gt; +        * css/CSSValueKeywords.in:

The changes to this file seem to make it hard to read and maintain, while not even helping the css parser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326207</commentid>
    <comment_count>35</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-23 12:21:38 -0800</bug_when>
    <thetext>(In reply to comment #34)
&gt; (From update of attachment 77204 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77204&amp;action=review
&gt; 
&gt; &gt; WebCore/ChangeLog:18
&gt; &gt; +        * css/CSSValueKeywords.in:
&gt; 
&gt; The changes to this file seem to make it hard to read and maintain, while not
&gt; even helping the css parser.

I agree. It seems like it should be possible to generate the mapping between
values and the properties they apply to by reading in the entire file once, and
generating a map. Then writing out that map after parsing. This way we would
only need to make minimal changes the input file. Challenges:

  • Special case globals (inherit, initial)?
  • Special case colors?
  • Mapping comments like CSS_PROP_OUTLINE_STYLE to their CSS string
  • Detecting when to apply a value to multiple properties or just one. Ex.

    Multiple properties where the values apply. Note that the value list
    does apply to all the properties, not just the last one.
    
        # CSS_PROP_OUTLINE_STYLE
        # CSS_PROP_BORDER_TOP_STYLE
        # CSS_PROP_BORDER_BOTTOM_STYLE
        # CSS_PROP_BORDER_LEFT_STYLE
        none
        hidden
        inset
        groove
        ridge
        outset
        dotted
        dashed
        solid
        double
    
    A case like this we would need to reset.
    
        #
        # CSS_PROP_FONT:
        #
        caption
        icon
        menu
        message-box
        small-caption
        -webkit-mini-control
        -webkit-small-control
        -webkit-control
        status-bar

I will r- based on this, and give you a chance to address these comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326209</commentid>
    <comment_count>36</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-12-23 12:22:58 -0800</bug_when>
    <thetext>@Reviewers. I will be on vacation for a few weeks (returning ~ January 10th) so feel
free to pick up where this was left off. The front-end changes looked good, and
based on the review comments so far they wouldn&apos;t change much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326595</commentid>
    <comment_count>37</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-24 05:45:17 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; (From update of attachment 77204 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77204&amp;action=review
&gt; 
&gt; Having tried this patch and testing some weird cases, I&apos;m happy with this patch.
&gt; I want to get a CSS reviewer a chance to see if they might have any concerns with
&gt; the CSSValueKeywords.in changes. Otherwise it looks good to me! I&apos;ll grab
&gt; a CSS expert.
&gt; 
&gt; &gt; LayoutTests/inspector/styles-autocomplete-values-expected.txt:1
&gt; &gt; +Tests that Up/Down keys switch suggestions in CSS property values.
&gt; 
&gt; Is there an Up/Down test for #s? Could you add a test, or section to this test, to verify #s change
&gt; (Up/Down and maybe PageUp/PageDown). I ask because I see at the bottom this touches that code
&gt; (maybe it just indents it though).

It&apos;s just due to the diff algorithm. In fact, some code has been inserted before this chunk, and for some reason the chunk was deemed modified in full. I did not change anything number-scroll-related.

&gt; &gt; WebCore/ChangeLog:1
&gt; &gt; +2010-12-22  Alexander Pavlov  &lt;apavlov@chromium.org (:apavlov) (c)&gt;
&gt; 
&gt; This is pretty sparse for such an interesting change. Please add comments to ChangeLogs!
&gt; I know I stopped harping about this in the past... but it really is helpful, especially for reviewers. =)

Good, fixed!

&gt; &gt; WebCore/WebCore.gyp/scripts/action_cssvaluekeywords.py:135
&gt; &gt; +            parts = line.partition(&apos;,&apos;)
&gt; &gt; +            if parts[1] != &apos;&apos;:
&gt; &gt; +                value = parts[0]
&gt; 
&gt; Is the parts[1] != &apos;&apos; check really necessary here? Previously it just added all lines. What lines are new such that parts[1] is &quot;&quot; and invalid?
&gt; This is not r- material, since I see that it will work, but it seems unnecessary at the moment.

This was added to account for keywords without related properties (i.e., just &quot;red&quot; instead of &quot;red,_color_&quot;). However I considered such lines invalid for some reason. Fixed.

&gt; &gt; WebCore/WebCore.pri:603
&gt; &gt; +cssKeywordCompletions.wkAddOutputToSources = false
&gt; &gt; +cssKeywordCompletions.output = generated/CSSKeywordCompletions.qrc
&gt; &gt; +cssKeywordCompletions.input = CSS_KEYWORD_COMPLETIONS_QRC
&gt; &gt; +cssKeywordCompletions.tempNames = $$PWD/$$CSS_KEYWORD_COMPLETIONS_QRC $${WC_GENERATED_SOURCES_DIR}/CSSKeywordCompletions.qrc
&gt; &gt; +cssKeywordCompletions.commands = $$QMAKE_COPY $$replace(cssKeywordCompletions.tempNames, &quot;/&quot;, $$QMAKE_DIR_SEP)
&gt; &gt; +addExtraCompiler(cssKeywordCompletions)
&gt; 
&gt; 1. Other generated sections have a comment, like &quot;# GENERATOR 6-B:&quot;. I suggest
&gt; adding some kind of comment here.

Done.

&gt; 2. &quot;generated/CSSKeywordCompletions.qrc&quot; should probably use the $${WC_GENERATED_SOURCES_DIR}
&gt; variable instead of a hardcoded generated directory. Like you do for tempNames in (line 600).

Done.

&gt; For the same reasons maybe you can drive by improve the generator for InspectorBackendStub.
&gt; Add a comment and use the variable:
&gt; 
&gt;     646    inspectorBackendStub.output = generated/InspectorBackendStub.qrc

Done.

&gt; &gt; WebCore/css/makevalues.pl:38
&gt; &gt; +  @parts = split(/,/);
&gt; 
&gt; I don&apos;t think the parenthesis are needed here. Other perl calls in this file don&apos;t use them,
&gt; so you can probably drop them.

Done.

&gt; &gt; WebCore/css/makevalues.pl:80
&gt; &gt; + * THIS FILE IS GENERATED BY makevalues.pl. DO NOT MODIFY!
&gt; 
&gt; I would suggest giving the full path if &quot;makevalues.pl&quot;: WebCore/css/makevalues.pl
&gt; 
&gt; However, this runs the risk of becoming stale if the file moves. But it still would make
&gt; it easier for people to find the generator.

Done.

&gt; &gt; WebCore/inspector/front-end/StylesSidebarPane.js:1596
&gt; &gt; +        const styleValueDelimiters = &quot; \u00A0\t\n\&quot;&apos;:;,/()&quot;;
&gt; 
&gt; I don&apos;t like that this constant is in two places. Maybe it could be made a constant on the class
&gt; or the code for its two uses shared.

Done.

&gt; &gt; WebCore/inspector/front-end/StylesSidebarPane.js:1627
&gt; &gt; +                // WebCore crash workaround: we cannot remove the range right away, since
&gt; &gt; +                // if there is no suggest, WebCore/editing will try to remove the same range
&gt; &gt; +                // once again, as event.preventDefault() will not have been called.
&gt; 
&gt; Please link to the Bugzilla bug you made.
&gt; &lt;http://webkit.org/b/51389&gt; Selection becomes stale when CharacterData is manipulated directly
&gt; Note there has been a lot of progress and that, and it might be fixed today.

Alas, the patch has landed but the assertion still occurs. Linking to the bug.

&gt; &gt; WebCore/inspector/front-end/StylesSidebarPane.js:1711
&gt; &gt; +        if (!!this.cssValueCompletions.firstStartsWith(wordStringLower)) {
&gt; 
&gt; Nit: The !! is unnecessary here. The value returned is always a valid string or &quot;&quot;.
&gt; And &quot;&quot; is a falsely value. Does it make things clearer for you to leave in the !!?
&gt; 
&gt;   js&gt; &quot;&quot; &amp;&amp; alert(1); // No alert.

Yes, I find it cleaner to explicitly cast to a boolean. On a side note, this makes perfect sense when assigning the result to a variable. Here it is not necessary, so removing !!.

&gt; &gt; WebCore/inspector/front-end/StylesSidebarPane.js:1776
&gt; &gt; +        this.valueElement.firstChild.select(selectionStart, selectionStart + replacementString.length)
&gt; 
&gt; Nit: Should have a semicolon.

Done.

&gt; &gt; WebKit/chromium/ChangeLog:8
&gt; &gt; +        * WebKit.gyp:
&gt; 
&gt; Could use a comment.

Done.

&gt; &gt; WebKit/chromium/WebKit.gyp:755
&gt; &gt; +                &apos;../../WebCore/WebCore.gyp/WebCore.gyp:webcore_bindings_sources&apos;
&gt; 
&gt; Nit: Other dependencies above always add trailing commas. Might be nice to reduce future diffs.

Done.

&gt; &gt; WebKit/chromium/WebKit.gyp:768
&gt; &gt; +                    &apos;&lt;(SHARED_INTERMEDIATE_DIR)/webkit/CSSKeywordCompletions.js&apos;
&gt; 
&gt; Nit: Other dependencies above always add trailing commas. Might be nice to reduce future diffs.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326596</commentid>
    <comment_count>38</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-24 06:09:19 -0800</bug_when>
    <thetext>(In reply to comment #35)
&gt; (In reply to comment #34)
&gt; &gt; (From update of attachment 77204 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77204&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; WebCore/ChangeLog:18
&gt; &gt; &gt; +        * css/CSSValueKeywords.in:
&gt; &gt; 
&gt; &gt; The changes to this file seem to make it hard to read and maintain, while not
&gt; &gt; even helping the css parser.
&gt; 
&gt; I agree. It seems like it should be possible to generate the mapping between
&gt; values and the properties they apply to by reading in the entire file once, and
&gt; generating a map. Then writing out that map after parsing. This way we would
&gt; only need to make minimal changes the input file. Challenges:
&gt; 
&gt;   • Special case globals (inherit, initial)?
&gt;   • Special case colors?
&gt;   • Mapping comments like CSS_PROP_OUTLINE_STYLE to their CSS string
&gt;   • Detecting when to apply a value to multiple properties or just one. Ex.
&gt;     Multiple properties where the values apply. Note that the value list
&gt;     does apply to all the properties, not just the last one.
&gt; 
&gt;         # CSS_PROP_OUTLINE_STYLE
&gt;         # CSS_PROP_BORDER_TOP_STYLE
&gt;         # CSS_PROP_BORDER_BOTTOM_STYLE
&gt;         # CSS_PROP_BORDER_LEFT_STYLE
&gt;         none
&gt;         hidden
&gt;         inset
&gt;         groove
&gt;         ridge
&gt;         outset
&gt;         dotted
&gt;         dashed
&gt;         solid
&gt;         double
&gt; 
&gt;     A case like this we would need to reset.
&gt; 
&gt;         #
&gt;         # CSS_PROP_FONT:
&gt;         #
&gt;         caption
&gt;         icon
&gt;         menu
&gt;         message-box
&gt;         small-caption
&gt;         -webkit-mini-control
&gt;         -webkit-small-control
&gt;         -webkit-control
&gt;         status-bar
&gt; 
&gt; I will r- based on this, and give you a chance to address these comments.

Unfortunately, there are a few more grave challenges with the suggested approach:
* The file does not have consistent CSS_PROP_* comments for all the values: there are a bunch of unlabelled keywords; there are comments that contain plain property names (text-rendering, -webkit-color-correction, etc.); the comment format is inconsistent (e.g. CSS_PROP_WIDTH/MIN_WIDTH/MAX_WIDTH); comments do not correspond to the actual properties (CSS_PROP_SPEECH -&gt; speak, CSS_PROP_GENERIC_FONT_FAMILY -&gt; font-family)
* The CSS_PROP_* keywords do not take shorthands into account.
* Keywords can occur in the file only once, so it is a real challenge to organize the file structure so as to map 1 keyword -&gt; N properties.
* Some of the CSS_PROP_* comments are misleading/unparsable: CSS_PROP_*_COLOR; CSS_PROP_MASK and CSS_PROP_OPACITY (in SVGCSSValueKeywords.in) correspond to the &quot;accumulate&quot; and &quot;new&quot; keywords that are not valid for the &quot;mask&quot; and &quot;opacity&quot; SVG properties. 

I&apos;m pretty sure this list is not comprehensive, so I decided to hand-write the mappings to avoid [subtle] confusions. A much simpler approach could be to generate the CSSKeywordCompletions.js file once to commit it and rely on manual updates of the mappings. Does this solution sound acceptable? If not, are there any suggestions on how the current format (or the entire approach) can be improved, beyond bare criticism? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326598</commentid>
    <comment_count>39</comment_count>
      <attachid>77411</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-24 06:21:44 -0800</bug_when>
    <thetext>Created attachment 77411
[PATCH] Comments from joepeck addressed

Waiting for suggestions on the CSSKeywordSuggestions.js generation!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326600</commentid>
    <comment_count>40</comment_count>
      <attachid>77412</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-24 06:25:57 -0800</bug_when>
    <thetext>Created attachment 77412
[FILE] Generated CSSKeywordCompletions.js (with patch 77411)

In the previous comment, I meant to say &quot;CSSKeywordCompletions.js&quot;, of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326601</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-24 06:26:42 -0800</bug_when>
    <thetext>Attachment 77411 did not build on chromium:
Build output: http://queues.webkit.org/results/7326168</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326607</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-24 07:10:30 -0800</bug_when>
    <thetext>Attachment 77411 did not build on chromium:
Build output: http://queues.webkit.org/results/7213164</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326627</commentid>
    <comment_count>43</comment_count>
      <attachid>77416</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-24 08:53:01 -0800</bug_when>
    <thetext>Created attachment 77416
[PATCH] Fix Chromium compilability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327575</commentid>
    <comment_count>44</comment_count>
      <attachid>77620</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-29 08:30:05 -0800</bug_when>
    <thetext>Created attachment 77620
[PATCH] An alternative solution suggested by pfeldman. Non-generated CSSKeywordCompletions.js (which is to be updated manually)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327584</commentid>
    <comment_count>45</comment_count>
      <attachid>77622</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-12-29 09:15:35 -0800</bug_when>
    <thetext>Created attachment 77622
[PATCH] Alternative solution with rebaselined test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327895</commentid>
    <comment_count>46</comment_count>
      <attachid>77622</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-12-30 05:30:25 -0800</bug_when>
    <thetext>Comment on attachment 77622
[PATCH] Alternative solution with rebaselined test

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

&gt; WebCore/inspector/front-end/CSSKeywordCompletions.js:1107
&gt; +    &quot;-webkit-text-emphasis-style&quot;: [

I&apos;d suggest that we:
- remove \n between values
- group -webkit items

&gt; WebCore/inspector/front-end/StylesSidebarPane.js:1635
&gt; +        var character = event.data.toLowerCase();

You should use TextPrompt instead. It has configurable completions and stopCharacters. You will need to make it a bit more flexible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327896</commentid>
    <comment_count>47</comment_count>
      <attachid>77416</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-12-30 05:30:47 -0800</bug_when>
    <thetext>Comment on attachment 77416
[PATCH] Fix Chromium compilability

Clearing r? from obsolete patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332170</commentid>
    <comment_count>48</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-01-10 22:55:18 -0800</bug_when>
    <thetext>&gt; Unfortunately, there are a few more grave challenges with the suggested approach:

Arg, you bring up some very good points.


&gt; I&apos;m pretty sure this list is not comprehensive, so I decided to hand-write the mappings
&gt; to avoid [subtle] confusions. A much simpler approach could be to generate the
&gt; CSSKeywordCompletions.js file once to commit it and rely on manual updates of the
&gt; mappings. Does this solution sound acceptable? If not, are there any suggestions on how
&gt; the current format (or the entire approach) can be improved, beyond bare criticism? :)

I don&apos;t have any good suggestions. I believe there are other places in the Inspector code
where things can get out of sync between reality (WebCore) and what the Inspector knows
about (not just the tokenizers). So ultimately autogeneration would be best. But, I see your
point, and going back and forth isn&apos;t helping get this useful feature into the nightlies.

I&apos;m okay with a patch containing a generated completions file with the intent that it be
updating manually in the future. My immediate suggestions for that type of patch would
be to:

  1. Add a comment into the relevant *.in files along the lines of:

      &quot;When adding new or changing CSS properties / values, please check if the Inspector
       mapping needs an update as well: WebCore/inspector/front-end/CSSKeywordCompletions.js&quot;

  2. Open a new bug specifically about better autogeneration of CSS Properties and
       Values for WebCore and the Inspector to share. Ultimately, autogeneration is
       not necessary for this patch, it is just desired and useful.

       For instance, the generated file you have right now could quite quickly be turned
       into a JSON input file that could potentially replace the existing *.in files. However
       there are probably plenty of concerns that the CSS Experts might have moving to a
       new format or possibly better formats. I&apos;m still not completely familiar with how
       these *.in files are used and maintained.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336440</commentid>
    <comment_count>49</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-01-19 05:29:58 -0800</bug_when>
    <thetext>The feature was implemented in bug 52212.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>60177</attachid>
            <date>2010-06-30 18:06:45 -0700</date>
            <delta_ts>2010-06-30 18:06:45 -0700</delta_ts>
            <desc>Firebug autocomplete weakness</desc>
            <filename>firebug-autocomplete.png</filename>
            <type>image/png</type>
            <size>4229</size>
            <attacher name="Nikita Vasilyev">me</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAdYAAABRCAIAAADguhDZAAAQTElEQVR42uydB1BVZxbHd9SJzo7B
GIojJAtEFxQFI+pCVIwVEh3LrIoaNBM1KKJighJCCSr2gkDYiBtLlERELCEqrgULKoRYsBBb0Ng7
WIlSffsbvvFOxlfCsiEvOOc3d5jD9867933wzv+ee+695/5FJwiCIJgJkWBBEASRYEEQBJFgQRAE
QSRYEARBJFgQBEEQCRYEQRAJFgRBEESCBUEQRIIFQRAEkWBBEASRYEEQBEEkWBAEQSRYEARBEAkW
BEEQCRYEQRBEggVBEESCBUEQRIIFQRAEkWBBEASR4P+FoKCgQYMGvf/++zpzYv5ZpKWlvf32261a
tfrpp590giAIf4wEnz17Njs728LCQleTLFq0aM6cObpqMXDgwH379tX0LOzt7bds2VJWVqYTBEH4
IwsRDx48qGkJnjFjRmRkpK5a9OjRIyMjo6Zn0bRp0wsXLugEQRBqToKvXLnSp0+f1q1bjxs37vr1
63riZdStV69eGzdufP3113ft2tWxY8cRI0YwWFpaGhAQ4Orq2r9//0OHDjFy7ty5vn377tixo127
do6OjjgzmJycPHjw4AEDBqyu5N69eyaS5c6dO7PCtm3bPnr06Pbt2/hTHAgPD8dYt24dPrGxsQg6
hoLiw8GDB6s0C5P07t1706ZNOkEQhJqTYDc3txUrVmBMnToV8dKTYKNu6GlwcPCsWbMcHByOHz/O
YTuDEydOHD16NAfve/bsYeTp06cnT55s1KhRv379rl69mpqa2rVrV9xiYmJ8fHxIZhdUgrDqDFFQ
UNCwYUM+DPbDhw8rKipYCf7NmzcfM2YMRkJCAi8hppaWlrdu3cKmbtuiRQu2W6VZGIc1dOjQYfv2
7TpBEIQakuBTp07Vr19/2rRp0dHR/v7+zs7OehJs1A0Jvnbt2qpVqxjhVyXBTZo0GTt2LG7Tp0+v
V6/ejRs3kGAbG5v79+/z6okTJ8hnq16IQAdJgdu3b798+fLi4mIThQikf/LkyRiTJk1Cl6s6CyMg
7nzmwMBAnSAIQs1J8JEjR2xtbQ8844cfftATL6NuSDASiQTPnTtXSTBZKgnvhg0bNM/Hjx8jwdQN
cABsFxcXZc+cOTMiIgLjN1V427ZtlDXItTnDpgZ79uy5c+dODA2y48aNG1P0oDBCvlzVWRiBisfu
3bvfeOMNtqgTBEGoIQkuLy9HlbhyABvOnz+vJ15G3fQlmJ++vr7qV7h06RKlYWMSTCV3yJAhytau
OqCkkJKSgqEgiUYNlT18+PDFixcrmxw2MTERo6ISDCBp5SORBWNXdRYm4Zo2PoxOEASh5mrBubm5
yCJ5JSWC8ePHa+JVp04dRpAhg27GJJgTa1xL26lTJwqp3bp1KyoqMibB1Hk5Qde9e3dGtm7dqgZZ
Fdu9e/cuNuzduxcfzvtReWC12lk7zraRFL/zzjsUhVmPpvh169bNz8/HruosTEKlghq3ThAEoaYv
SqOqi57+Xm537tzRSremoYCgysQKsmb95BTlRUyfGyT5/fnnn0tKSrQRro4YNmzY7zhZKysrBF0n
CIIgNyibgOrz/PnzmzVrdvnyZd3vR1xcnJ2dHbkwFeGKSihllFVSUkmxIAgvBCqiVXQT5iren1Yi
EvzbcL0EKTCn/nQ1AP8DTX8TlyTKIossL/bCsbimwiLB5qeiEpX58u95qnsqiyyyvKgLMf7kyROV
EavYFwk2Myr/5V9Clq0kWCcIwv9B+sk/y6IPMc5VrQQ7IU/giwSbH/4NHJiwY+QfIxIsCC+8BHOR
FcFOyKuKBLWIP7UEn7p+KiotSlctrt+7HpQcpDMrH6788N4v90w4cDxCtZ6r6woLC0WCBeGFl2Au
0yLYCXkCvxZIcObZzC7zulSzK+aNs04RTjqzYvOxzc0HN01LMPtDroq7efNmLZLgnJwcuiOZcJBZ
yCzMMAtzS3DMmpx/dO1rWoK5LpZgJ+QJfFURFgk2pwSzJ+SohB5A7BtrkQTv37+f9homHGQWMgsz
zMLcEjw/ab+Le2fTEnz69GmCnRvEqAjXGglOP5HuOtXVY5bH4YuH1XhyTnKPhT1aRrZsEdniQP4B
Rh4+eTgmaQyai+ewL4f9WoLLK8rHfT0uYmMENsz7zzxW5fKZC2+/8/AOI8Frg9Ny0/xX+Tt+6ug1
z4uR+7/c91vqx6/Nw5qvOLCCkdxLuYxgaLb6GDM2z4jZHoNbh5kdrt279twm6vrX1SR45cqV3OPH
3u85CeYmaST44sWLSoKNdeDkHhM/Pz9+5Z491Y/NGF5eXkePHqVXHC2Jw8LCDDb55Cf9P9PT0xn0
8PA4fPgwg0ATInd3d9ag3TxNnzlaI+FGi7ihQ4cywueJioriiubVlZw5c0anh8xCZmGWWZiQ4Fbu
Xp+vP+reyaexVdPB/mGMfHes9F3fAPu/u3p26x+39hAj/Ozed8S0xHQGnV094lIPq/cGhCc0a+nO
GkIXpqiR5P233/Udi9trji26vDuUkdnLdw0bF2Xn4BwybzXLv7ecMSjBdBMj2KkIU4vgz1gLJNj6
I+vBiYMRsmnfTfNd4svg5mObnSOc957Zi90rpte2vG0Y7335HjqrLrXLv5WvSXBJWcnAxQM/WPEB
Qszg7PTZXed3PXntpEpRb9y/gTFkyZDXQl5be3DthTsX0HRGZm6ZOXLFyMclj1mJ3RQ73BD6TnM6
8RJk5Wcp+4vdXzT5uEnIupCi4qLAbwL5hMY2oe57njBhAtUfgxLMzXiaBBvswEnjoZEjR7Ln5FYO
7umgwYXOCPST4zt67Ngxbu8mTgw2+czMzLS2tqarMsdEdHej+QZu69evp98m32lqVermPd5Cs+bQ
0FB22llZWZ6enrjxkVTHjAWV0J9Ip4fMQmZhrlkYk+BXLJs0d2mXsOFY8OxVKC8jff0mev9z9Kbj
ZXO+2mPT1H7Lj0/nrsq0aGzd2WfwN5k33wuc5uXji1t47HoHJ7fUnPspWYUWr1gt3ZrPW1q+2XHQ
6NCU7LsLvslydvPE7dNFqX2GBjaxcxw1ZQFL/LojBiWYNgYEO7f4Evi1Q4IdQh0QOOy8q3lWH1lh
9I7rvXD7QgzwXuSNBBeXFtcbUw+Zfq4QwXtxQBy1mrftZNuMUxnPVQmQ4OjN0Ris5/tz32O0imqV
cz4HA0Z9NSo+I96YBPvE+mDA5xmfT0yeaHgTxtEkmAqRJsEGO3DSCiMn59lHGjUqPj4eIyQkpN8z
6O6mBYx68BJfR456DDb5JGDog8F+mFfz8vIID9UFydvbGzcgp1izZg27DVrE8UXhVToQETBVPGyU
WcgszDUL1HDgyBCPbv3UMnPZTk2C5yXtw/h6740lm0+rETLZ4ROi/cZPr1O3HuNIsI2tw4ZDRbz6
RVoegouBELft6I0bS9O/Nf9kwZrYlIMNLRqTRPPqwtXZSHDVCxEcHxDsHAoQ+FyaVptqwUnZSZ6z
PTHIWA9dOISBsL45/U0kmHS1fkD9iwUX9WvBFBlYAw6MFBYV1vGvg86qwsXL41/WJDjlYAqGhv0n
9ii+shFWkuLsc9lvzX5LjVC10CR4/OrxGMpG6/U3UT0J1u89RK7BN1vrX8zOH4M3Xn4G334tYMhE
MBQGm3wSMF26PPvDJiWpSOAojybLmhtxtWzZMp4Dotx4iIlyA16lWZLOODILmYW5ZoH2rd53a2XG
ZbWgp5oEk9tq+rg5r+KvDRuFx21Y8PUBtWw88hgJbt2ui3IInpOktJUzbEPHRmpuKHVQ9LIOXfoo
t4j4jZoE82rLtp1eTAmmzIrqJexKwKawQFpaVl42JXWKxQSLb3O/ZZBslGIuqoddWlaqSTAyTRWC
xFkNUrSlgkFazUpeGvuSMQkOXR8avjFcyWizsGbnb5//8eqP5NSqysFKjEmw/iYoROi1yqyOBHPs
xuOU1AM+aFhhrBmmfsAYbPKpBQxNhfjqqz70tOvkcUrqO0GuQbmKLzcdOAkwynNOTk5t2rTRWhFx
0KeKKgafQCqzkFmYaxb6JQiDEqzS2w8+nqvsr3ZeIqvVJDhpzzXElBIwduBni9t79UaysSlHrMkq
IEF+1doWyabga2vv5OjchpfUuyxt7DadKMemWPGCSHCDgAbtZ7QnLY38NlIN7j69m/os58ooR3Dh
beyOWJXhcoLu1aBXyZTRx+dOxw341wDqyMx26b6lFJdRVQrKlpMsCx4VGJTgK4VX3KPd3aa64RO2
IUytpGdMT1ZI3s1ZOBMS/OtNqEKEXqvM6kgwD6bjtAaVNZ6ipE6JVD1g9Jt8EjANGjTgiSEkEeQp
WsMKnnrHJnDGUz0ij7bLrBDP/7Z39ypORHEYxivFcq8glVYuVquQQkRsxMZyIU1qCyH3kMImWISI
u6SNBkkj20hKQQjBwn69AcVCgq4sSjw+5MAg+Zgsys7sSZ4fU0gIWcbh/86ZM+eDRehp+wTM1Ot1
6ocXL7xICQs8C8+irLM4ewS/Gn3d3btD1F7bvXnj1l3ay0TwpctXrl7fo2uYlm/8Gn3ED/Yf0R3M
l/kmvRB8ePv+Pj/IN5/2x7Sms9+897BOIvMqj1dzyUdwZvJjMjeAmSf9k9OTpd8ki3PWxIkNW1rQ
jIXYebxDsOZP7ojd0JmYp/myPxGixaUy8yM4F03p+HiYa/0inxQML6knk/n/WPD7c/cJ3qWEZfh8
1Tscz8KzKP4s/m1Q2st3X15/OI3/JoIZ9jAYT4jdua8R0Lx8+/sT3s4t/UE+p7OigI6I9NC2pfVK
2/nw7SEt696oF0qRH8GFyB4bz4ln4VmkODsu64j4/8MIXo6e2f64T1/B8afjgG2NYNovDCcK58az
8CxSjGBaxAxQM4K3SIxgrgdXxcUqPTw2+zCCL2gE04JgtPbzrV/N2sNjs4/FqRlGcMm4DfIagcE6
zFlktDkD4I+Ojnq93sHBATsbsWHSE0nJooQpZMqZoqa0KfBCJygzm5sZLEyPGY1GQcvExdp5X8yc
S+YdMUyHKUkMWeeCdbtd9tJ/JilZlDCzUShniprSpsCLXqaHB+12u82+7kHrFqukh4ht7Zk4z6Xi
hsn8eqZyvJCULEqYQqacKWpKmwIvYbHK4XDIwOygdUu2c29kHRMuErdKHlhYCIrHiDeSkkUJU8iU
M0VNaVPgJSzZ3mq1Go1G0LqNi+ge4vJwk2TuJh1GLA/Iy9P3kpJFCVPIlDNFTWlT4CVsXNTpdGq1
WtC67Tu5MNweeUjhOtFhz2tTrtlHScmihClkypmiprQp8BK27yTsWaqDmeMsVRe0ehN7bow8ntBJ
RFc9t0qGrTB48LOkZFHCFDLlTFFT2hR4CZvY0w/NOhp0hfC3gxaWrZjOxB6JGMTcJL/PfJOUuFjL
FHUM39j/MJ2h/IuI4GazyWpyQSsiOKZwFsS/Zn6CRJaUuFjLsa6z8MVvFBPBg8GAlZuDzpDFmEra
UFmZh0wBEcyOftVqNUiSomIimF5gdkWtVCrscRIkSQtcI0KSjGBJkhEsSUawJMkIliQjWJKCESxJ
MoIlyQiWJBnBkmQES5KMYEkygiVJRrAkGcGSJCNYkoxgSZIRLElGsCTJCJaki+UPXqoXMN2j7uQA
AAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61380</attachid>
            <date>2010-07-13 08:22:06 -0700</date>
            <delta_ts>2010-07-14 05:29:34 -0700</delta_ts>
            <desc>Work-in-progress patch</desc>
            <filename>work-in-progress.patch</filename>
            <type>text/plain</type>
            <size>26682</size>
            <attacher name="Nikita Vasilyev">me</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpz
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanMKaW5kZXggNjZh
MjBjZS4uMTU0ZGU1MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NT
U1N0eWxlTW9kZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxl
TW9kZWwuanMKQEAgLTMyLDYgKzMyLDczMSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbCA9
IGZ1bmN0aW9uKCkKIHsKIH0KIAorCisvLyBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvZmJ1Zy9z
b3VyY2UvYnJvd3NlL2JyYW5jaGVzL2ZpcmVidWcxLjYvY29udGVudC9maXJlYnVnL2xpYi5qcz9y
PTczMDMjNjI0MQorLy8gQWxsIGZyb20gRmlyZWJ1ZywgYnV0IHdpdGhvdXQgLW1vei0gcHJvcGVy
dGllcworV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwua2V5d29yZHMgPQoreworICAgICJhcHBl
YXJhbmNlIjoKKyAgICBbCisgICAgICAgICJidXR0b24iLAorICAgICAgICAiYnV0dG9uLXNtYWxs
IiwKKyAgICAgICAgImNoZWNrYm94IiwKKyAgICAgICAgImNoZWNrYm94LWNvbnRhaW5lciIsCisg
ICAgICAgICJjaGVja2JveC1zbWFsbCIsCisgICAgICAgICJkaWFsb2ciLAorICAgICAgICAibGlz
dGJveCIsCisgICAgICAgICJtZW51aXRlbSIsCisgICAgICAgICJtZW51bGlzdCIsCisgICAgICAg
ICJtZW51bGlzdC1idXR0b24iLAorICAgICAgICAibWVudWxpc3QtdGV4dGZpZWxkIiwKKyAgICAg
ICAgIm1lbnVwb3B1cCIsCisgICAgICAgICJwcm9ncmVzc2JhciIsCisgICAgICAgICJyYWRpbyIs
CisgICAgICAgICJyYWRpby1jb250YWluZXIiLAorICAgICAgICAicmFkaW8tc21hbGwiLAorICAg
ICAgICAicmVzaXplciIsCisgICAgICAgICJzY3JvbGxiYXIiLAorICAgICAgICAic2Nyb2xsYmFy
YnV0dG9uLWRvd24iLAorICAgICAgICAic2Nyb2xsYmFyYnV0dG9uLWxlZnQiLAorICAgICAgICAi
c2Nyb2xsYmFyYnV0dG9uLXJpZ2h0IiwKKyAgICAgICAgInNjcm9sbGJhcmJ1dHRvbi11cCIsCisg
ICAgICAgICJzY3JvbGxiYXJ0cmFjay1ob3Jpem9udGFsIiwKKyAgICAgICAgInNjcm9sbGJhcnRy
YWNrLXZlcnRpY2FsIiwKKyAgICAgICAgInNlcGFyYXRvciIsCisgICAgICAgICJzdGF0dXNiYXIi
LAorICAgICAgICAidGFiIiwKKyAgICAgICAgInRhYi1sZWZ0LWVkZ2UiLAorICAgICAgICAidGFi
cGFuZWxzIiwKKyAgICAgICAgInRleHRmaWVsZCIsCisgICAgICAgICJ0b29sYmFyIiwKKyAgICAg
ICAgInRvb2xiYXJidXR0b24iLAorICAgICAgICAidG9vbGJveCIsCisgICAgICAgICJ0b29sdGlw
IiwKKyAgICAgICAgInRyZWVoZWFkZXJjZWxsIiwKKyAgICAgICAgInRyZWVoZWFkZXJzb3J0YXJy
b3ciLAorICAgICAgICAidHJlZWl0ZW0iLAorICAgICAgICAidHJlZXR3aXN0eSIsCisgICAgICAg
ICJ0cmVldHdpc3R5b3BlbiIsCisgICAgICAgICJ0cmVldmlldyIsCisgICAgICAgICJ3aW5kb3ci
CisgICAgXSwKKworICAgICJzeXN0ZW1Db2xvciI6CisgICAgWworICAgICAgICAiQWN0aXZlQm9y
ZGVyIiwKKyAgICAgICAgIkFjdGl2ZUNhcHRpb24iLAorICAgICAgICAiQXBwV29ya3NwYWNlIiwK
KyAgICAgICAgIkJhY2tncm91bmQiLAorICAgICAgICAiQnV0dG9uRmFjZSIsCisgICAgICAgICJC
dXR0b25IaWdobGlnaHQiLAorICAgICAgICAiQnV0dG9uU2hhZG93IiwKKyAgICAgICAgIkJ1dHRv
blRleHQiLAorICAgICAgICAiQ2FwdGlvblRleHQiLAorICAgICAgICAiR3JheVRleHQiLAorICAg
ICAgICAiSGlnaGxpZ2h0IiwKKyAgICAgICAgIkhpZ2hsaWdodFRleHQiLAorICAgICAgICAiSW5h
Y3RpdmVCb3JkZXIiLAorICAgICAgICAiSW5hY3RpdmVDYXB0aW9uIiwKKyAgICAgICAgIkluYWN0
aXZlQ2FwdGlvblRleHQiLAorICAgICAgICAiSW5mb0JhY2tncm91bmQiLAorICAgICAgICAiSW5m
b1RleHQiLAorICAgICAgICAiTWVudSIsCisgICAgICAgICJNZW51VGV4dCIsCisgICAgICAgICJT
Y3JvbGxiYXIiLAorICAgICAgICAiVGhyZWVERGFya1NoYWRvdyIsCisgICAgICAgICJUaHJlZURG
YWNlIiwKKyAgICAgICAgIlRocmVlREhpZ2hsaWdodCIsCisgICAgICAgICJUaHJlZURMaWdodFNo
YWRvdyIsCisgICAgICAgICJUaHJlZURTaGFkb3ciLAorICAgICAgICAiV2luZG93IiwKKyAgICAg
ICAgIldpbmRvd0ZyYW1lIiwKKyAgICAgICAgIldpbmRvd1RleHQiCisgICAgXSwKKworICAgICJj
b2xvciI6CisgICAgWworICAgICAgICAiQWxpY2VCbHVlIiwKKyAgICAgICAgIkFudGlxdWVXaGl0
ZSIsCisgICAgICAgICJBcXVhIiwKKyAgICAgICAgIkFxdWFtYXJpbmUiLAorICAgICAgICAiQXp1
cmUiLAorICAgICAgICAiQmVpZ2UiLAorICAgICAgICAiQmlzcXVlIiwKKyAgICAgICAgIkJsYWNr
IiwKKyAgICAgICAgIkJsYW5jaGVkQWxtb25kIiwKKyAgICAgICAgIkJsdWUiLAorICAgICAgICAi
Qmx1ZVZpb2xldCIsCisgICAgICAgICJCcm93biIsCisgICAgICAgICJCdXJseVdvb2QiLAorICAg
ICAgICAiQ2FkZXRCbHVlIiwKKyAgICAgICAgIkNoYXJ0cmV1c2UiLAorICAgICAgICAiQ2hvY29s
YXRlIiwKKyAgICAgICAgIkNvcmFsIiwKKyAgICAgICAgIkNvcm5mbG93ZXJCbHVlIiwKKyAgICAg
ICAgIkNvcm5zaWxrIiwKKyAgICAgICAgIkNyaW1zb24iLAorICAgICAgICAiQ3lhbiIsCisgICAg
ICAgICJEYXJrQmx1ZSIsCisgICAgICAgICJEYXJrQ3lhbiIsCisgICAgICAgICJEYXJrR29sZGVu
Um9kIiwKKyAgICAgICAgIkRhcmtHcmF5IiwKKyAgICAgICAgIkRhcmtHcmVlbiIsCisgICAgICAg
ICJEYXJrS2hha2kiLAorICAgICAgICAiRGFya01hZ2VudGEiLAorICAgICAgICAiRGFya09saXZl
R3JlZW4iLAorICAgICAgICAiRGFya09yYW5nZSIsCisgICAgICAgICJEYXJrT3JjaGlkIiwKKyAg
ICAgICAgIkRhcmtSZWQiLAorICAgICAgICAiRGFya1NhbG1vbiIsCisgICAgICAgICJEYXJrU2Vh
R3JlZW4iLAorICAgICAgICAiRGFya1NsYXRlQmx1ZSIsCisgICAgICAgICJEYXJrU2xhdGVHcmF5
IiwKKyAgICAgICAgIkRhcmtUdXJxdW9pc2UiLAorICAgICAgICAiRGFya1Zpb2xldCIsCisgICAg
ICAgICJEZWVwUGluayIsCisgICAgICAgICJEYXJrU2t5Qmx1ZSIsCisgICAgICAgICJEaW1HcmF5
IiwKKyAgICAgICAgIkRvZGdlckJsdWUiLAorICAgICAgICAiRmVsZHNwYXIiLAorICAgICAgICAi
RmlyZUJyaWNrIiwKKyAgICAgICAgIkZsb3JhbFdoaXRlIiwKKyAgICAgICAgIkZvcmVzdEdyZWVu
IiwKKyAgICAgICAgIkZ1Y2hzaWEiLAorICAgICAgICAiR2FpbnNib3JvIiwKKyAgICAgICAgIkdo
b3N0V2hpdGUiLAorICAgICAgICAiR29sZCIsCisgICAgICAgICJHb2xkZW5Sb2QiLAorICAgICAg
ICAiR3JheSIsCisgICAgICAgICJHcmVlbiIsCisgICAgICAgICJHcmVlblllbGxvdyIsCisgICAg
ICAgICJIb25leURldyIsCisgICAgICAgICJIb3RQaW5rIiwKKyAgICAgICAgIkluZGlhblJlZCIs
CisgICAgICAgICJJbmRpZ28iLAorICAgICAgICAiSXZvcnkiLAorICAgICAgICAiS2hha2kiLAor
ICAgICAgICAiTGF2ZW5kZXIiLAorICAgICAgICAiTGF2ZW5kZXJCbHVzaCIsCisgICAgICAgICJM
YXduR3JlZW4iLAorICAgICAgICAiTGVtb25DaGlmZm9uIiwKKyAgICAgICAgIkxpZ2h0Qmx1ZSIs
CisgICAgICAgICJMaWdodENvcmFsIiwKKyAgICAgICAgIkxpZ2h0Q3lhbiIsCisgICAgICAgICJM
aWdodEdvbGRlblJvZFllbGxvdyIsCisgICAgICAgICJMaWdodEdyZXkiLAorICAgICAgICAiTGln
aHRHcmVlbiIsCisgICAgICAgICJMaWdodFBpbmsiLAorICAgICAgICAiTGlnaHRTYWxtb24iLAor
ICAgICAgICAiTGlnaHRTZWFHcmVlbiIsCisgICAgICAgICJMaWdodFNreUJsdWUiLAorICAgICAg
ICAiTGlnaHRTbGF0ZUJsdWUiLAorICAgICAgICAiTGlnaHRTbGF0ZUdyYXkiLAorICAgICAgICAi
TGlnaHRTdGVlbEJsdWUiLAorICAgICAgICAiTGlnaHRZZWxsb3ciLAorICAgICAgICAiTGltZSIs
CisgICAgICAgICJMaW1lR3JlZW4iLAorICAgICAgICAiTGluZW4iLAorICAgICAgICAiTWFnZW50
YSIsCisgICAgICAgICJNYXJvb24iLAorICAgICAgICAiTWVkaXVtQXF1YU1hcmluZSIsCisgICAg
ICAgICJNZWRpdW1CbHVlIiwKKyAgICAgICAgIk1lZGl1bU9yY2hpZCIsCisgICAgICAgICJNZWRp
dW1QdXJwbGUiLAorICAgICAgICAiTWVkaXVtU2VhR3JlZW4iLAorICAgICAgICAiTWVkaXVtU2xh
dGVCbHVlIiwKKyAgICAgICAgIk1lZGl1bVNwcmluZ0dyZWVuIiwKKyAgICAgICAgIk1lZGl1bVR1
cnF1b2lzZSIsCisgICAgICAgICJNZWRpdW1WaW9sZXRSZWQiLAorICAgICAgICAiTWlkbmlnaHRC
bHVlIiwKKyAgICAgICAgIk1pbnRDcmVhbSIsCisgICAgICAgICJNaXN0eVJvc2UiLAorICAgICAg
ICAiTW9jY2FzaW4iLAorICAgICAgICAiTmF2YWpvV2hpdGUiLAorICAgICAgICAiTmF2eSIsCisg
ICAgICAgICJPbGRMYWNlIiwKKyAgICAgICAgIk9saXZlIiwKKyAgICAgICAgIk9saXZlRHJhYiIs
CisgICAgICAgICJPcmFuZ2UiLAorICAgICAgICAiT3JhbmdlUmVkIiwKKyAgICAgICAgIk9yY2hp
ZCIsCisgICAgICAgICJQYWxlR29sZGVuUm9kIiwKKyAgICAgICAgIlBhbGVHcmVlbiIsCisgICAg
ICAgICJQYWxlVHVycXVvaXNlIiwKKyAgICAgICAgIlBhbGVWaW9sZXRSZWQiLAorICAgICAgICAi
UGFwYXlhV2hpcCIsCisgICAgICAgICJQZWFjaFB1ZmYiLAorICAgICAgICAiUGVydSIsCisgICAg
ICAgICJQaW5rIiwKKyAgICAgICAgIlBsdW0iLAorICAgICAgICAiUG93ZGVyQmx1ZSIsCisgICAg
ICAgICJQdXJwbGUiLAorICAgICAgICAiUmVkIiwKKyAgICAgICAgIlJvc3lCcm93biIsCisgICAg
ICAgICJSb3lhbEJsdWUiLAorICAgICAgICAiU2FkZGxlQnJvd24iLAorICAgICAgICAiU2FsbW9u
IiwKKyAgICAgICAgIlNhbmR5QnJvd24iLAorICAgICAgICAiU2VhR3JlZW4iLAorICAgICAgICAi
U2VhU2hlbGwiLAorICAgICAgICAiU2llbm5hIiwKKyAgICAgICAgIlNpbHZlciIsCisgICAgICAg
ICJTa3lCbHVlIiwKKyAgICAgICAgIlNsYXRlQmx1ZSIsCisgICAgICAgICJTbGF0ZUdyYXkiLAor
ICAgICAgICAiU25vdyIsCisgICAgICAgICJTcHJpbmdHcmVlbiIsCisgICAgICAgICJTdGVlbEJs
dWUiLAorICAgICAgICAiVGFuIiwKKyAgICAgICAgIlRlYWwiLAorICAgICAgICAiVGhpc3RsZSIs
CisgICAgICAgICJUb21hdG8iLAorICAgICAgICAiVHVycXVvaXNlIiwKKyAgICAgICAgIlZpb2xl
dCIsCisgICAgICAgICJWaW9sZXRSZWQiLAorICAgICAgICAiV2hlYXQiLAorICAgICAgICAiV2hp
dGUiLAorICAgICAgICAiV2hpdGVTbW9rZSIsCisgICAgICAgICJZZWxsb3ciLAorICAgICAgICAi
WWVsbG93R3JlZW4iLAorICAgICAgICAidHJhbnNwYXJlbnQiLAorICAgICAgICAiaW52ZXJ0Igor
ICAgIF0sCisKKyAgICAiYXV0byI6CisgICAgWworICAgICAgICAiYXV0byIKKyAgICBdLAorCisg
ICAgIm5vbmUiOgorICAgIFsKKyAgICAgICAgIm5vbmUiCisgICAgXSwKKworICAgICJjYXB0aW9u
U2lkZSI6CisgICAgWworICAgICAgICAidG9wIiwKKyAgICAgICAgImJvdHRvbSIsCisgICAgICAg
ICJsZWZ0IiwKKyAgICAgICAgInJpZ2h0IgorICAgIF0sCisKKyAgICAiY2xlYXIiOgorICAgIFsK
KyAgICAgICAgImxlZnQiLAorICAgICAgICAicmlnaHQiLAorICAgICAgICAiYm90aCIKKyAgICBd
LAorCisgICAgImN1cnNvciI6CisgICAgWworICAgICAgICAiYXV0byIsCisgICAgICAgICJjZWxs
IiwKKyAgICAgICAgImNvbnRleHQtbWVudSIsCisgICAgICAgICJjcm9zc2hhaXIiLAorICAgICAg
ICAiZGVmYXVsdCIsCisgICAgICAgICJoZWxwIiwKKyAgICAgICAgInBvaW50ZXIiLAorICAgICAg
ICAicHJvZ3Jlc3MiLAorICAgICAgICAibW92ZSIsCisgICAgICAgICJlLXJlc2l6ZSIsCisgICAg
ICAgICJhbGwtc2Nyb2xsIiwKKyAgICAgICAgIm5lLXJlc2l6ZSIsCisgICAgICAgICJudy1yZXNp
emUiLAorICAgICAgICAibi1yZXNpemUiLAorICAgICAgICAic2UtcmVzaXplIiwKKyAgICAgICAg
InN3LXJlc2l6ZSIsCisgICAgICAgICJzLXJlc2l6ZSIsCisgICAgICAgICJ3LXJlc2l6ZSIsCisg
ICAgICAgICJldy1yZXNpemUiLAorICAgICAgICAibnMtcmVzaXplIiwKKyAgICAgICAgIm5lc3ct
cmVzaXplIiwKKyAgICAgICAgIm53c2UtcmVzaXplIiwKKyAgICAgICAgImNvbC1yZXNpemUiLAor
ICAgICAgICAicm93LXJlc2l6ZSIsCisgICAgICAgICJ0ZXh0IiwKKyAgICAgICAgInZlcnRpY2Fs
LXRleHQiLAorICAgICAgICAid2FpdCIsCisgICAgICAgICJhbGlhcyIsCisgICAgICAgICJjb3B5
IiwKKyAgICAgICAgIm1vdmUiLAorICAgICAgICAibm8tZHJvcCIsCisgICAgICAgICJub3QtYWxs
b3dlZCIKKyAgICBdLAorCisgICAgImRpcmVjdGlvbiI6CisgICAgWworICAgICAgICAibHRyIiwK
KyAgICAgICAgInJ0bCIKKyAgICBdLAorCisgICAgImJnQXR0YWNobWVudCI6CisgICAgWworICAg
ICAgICAic2Nyb2xsIiwKKyAgICAgICAgImZpeGVkIgorICAgIF0sCisKKyAgICAiYmdQb3NpdGlv
biI6CisgICAgWworICAgICAgICAidG9wIiwKKyAgICAgICAgImNlbnRlciIsCisgICAgICAgICJi
b3R0b20iLAorICAgICAgICAibGVmdCIsCisgICAgICAgICJyaWdodCIKKyAgICBdLAorCisgICAg
ImJnUmVwZWF0IjoKKyAgICBbCisgICAgICAgICJyZXBlYXQiLAorICAgICAgICAicmVwZWF0LXgi
LAorICAgICAgICAicmVwZWF0LXkiLAorICAgICAgICAibm8tcmVwZWF0IgorICAgIF0sCisKKyAg
ICAiYm9yZGVyU3R5bGUiOgorICAgIFsKKyAgICAgICAgImhpZGRlbiIsCisgICAgICAgICJkb3R0
ZWQiLAorICAgICAgICAiZGFzaGVkIiwKKyAgICAgICAgInNvbGlkIiwKKyAgICAgICAgImRvdWJs
ZSIsCisgICAgICAgICJncm9vdmUiLAorICAgICAgICAicmlkZ2UiLAorICAgICAgICAiaW5zZXQi
LAorICAgICAgICAib3V0c2V0IgorICAgIF0sCisKKyAgICAiYm9yZGVyQ29sbGFwc2UiOgorICAg
IFsKKyAgICAgICAgImNvbGxhcHNlIiwKKyAgICAgICAgInNlcGFyYXRlIgorICAgIF0sCisKKyAg
ICAib3ZlcmZsb3ciOgorICAgIFsKKyAgICAgICAgInZpc2libGUiLAorICAgICAgICAiaGlkZGVu
IiwKKyAgICAgICAgInNjcm9sbCIKKyAgICBdLAorCisgICAgImxpc3RTdHlsZVR5cGUiOgorICAg
IFsKKyAgICAgICAgImRpc2MiLAorICAgICAgICAiY2lyY2xlIiwKKyAgICAgICAgInNxdWFyZSIs
CisgICAgICAgICJkZWNpbWFsIiwKKyAgICAgICAgImRlY2ltYWwtbGVhZGluZy16ZXJvIiwKKyAg
ICAgICAgImxvd2VyLXJvbWFuIiwKKyAgICAgICAgInVwcGVyLXJvbWFuIiwKKyAgICAgICAgImxv
d2VyLWdyZWVrIiwKKyAgICAgICAgImxvd2VyLWFscGhhIiwKKyAgICAgICAgImxvd2VyLWxhdGlu
IiwKKyAgICAgICAgInVwcGVyLWFscGhhIiwKKyAgICAgICAgInVwcGVyLWxhdGluIiwKKyAgICAg
ICAgImhlYnJldyIsCisgICAgICAgICJhcm1lbmlhbiIsCisgICAgICAgICJnZW9yZ2lhbiIsCisg
ICAgICAgICJjamstaWRlb2dyYXBoaWMiLAorICAgICAgICAiaGlyYWdhbmEiLAorICAgICAgICAi
a2F0YWthbmEiLAorICAgICAgICAiaGlyYWdhbmEtaXJvaGEiLAorICAgICAgICAia2F0YWthbmEt
aXJvaGEiLAorICAgICAgICAiaW5oZXJpdCIKKyAgICBdLAorCisgICAgImxpc3RTdHlsZVBvc2l0
aW9uIjoKKyAgICBbCisgICAgICAgICJpbnNpZGUiLAorICAgICAgICAib3V0c2lkZSIKKyAgICBd
LAorCisgICAgImNvbnRlbnQiOgorICAgIFsKKyAgICAgICAgIm9wZW4tcXVvdGUiLAorICAgICAg
ICAiY2xvc2UtcXVvdGUiLAorICAgICAgICAibm8tb3Blbi1xdW90ZSIsCisgICAgICAgICJuby1j
bG9zZS1xdW90ZSIsCisgICAgICAgICJpbmhlcml0IgorICAgIF0sCisKKyAgICAiZm9udFN0eWxl
IjoKKyAgICBbCisgICAgICAgICJub3JtYWwiLAorICAgICAgICAiaXRhbGljIiwKKyAgICAgICAg
Im9ibGlxdWUiLAorICAgICAgICAiaW5oZXJpdCIKKyAgICBdLAorCisgICAgImZvbnRWYXJpYW50
IjoKKyAgICBbCisgICAgICAgICJub3JtYWwiLAorICAgICAgICAic21hbGwtY2FwcyIsCisgICAg
ICAgICJpbmhlcml0IgorICAgIF0sCisKKyAgICAiZm9udFdlaWdodCI6CisgICAgWworICAgICAg
ICAibm9ybWFsIiwKKyAgICAgICAgImJvbGQiLAorICAgICAgICAiYm9sZGVyIiwKKyAgICAgICAg
ImxpZ2h0ZXIiLAorICAgICAgICAiaW5oZXJpdCIKKyAgICBdLAorCisgICAgImZvbnRTaXplIjoK
KyAgICBbCisgICAgICAgICJ4eC1zbWFsbCIsCisgICAgICAgICJ4LXNtYWxsIiwKKyAgICAgICAg
InNtYWxsIiwKKyAgICAgICAgIm1lZGl1bSIsCisgICAgICAgICJsYXJnZSIsCisgICAgICAgICJ4
LWxhcmdlIiwKKyAgICAgICAgInh4LWxhcmdlIiwKKyAgICAgICAgInNtYWxsZXIiLAorICAgICAg
ICAibGFyZ2VyIgorICAgIF0sCisKKyAgICAiZm9udEZhbWlseSI6CisgICAgWworICAgICAgICAi
QXJpYWwiLAorICAgICAgICAiQ29taWMgU2FucyBNUyIsCisgICAgICAgICJHZW9yZ2lhIiwKKyAg
ICAgICAgIlRhaG9tYSIsCisgICAgICAgICJWZXJkYW5hIiwKKyAgICAgICAgIlRpbWVzIE5ldyBS
b21hbiIsCisgICAgICAgICJUcmVidWNoZXQgTVMiLAorICAgICAgICAiTHVjaWRhIEdyYW5kZSIs
CisgICAgICAgICJIZWx2ZXRpY2EiLAorICAgICAgICAic2VyaWYiLAorICAgICAgICAic2Fucy1z
ZXJpZiIsCisgICAgICAgICJjdXJzaXZlIiwKKyAgICAgICAgImZhbnRhc3kiLAorICAgICAgICAi
bW9ub3NwYWNlIiwKKyAgICAgICAgImNhcHRpb24iLAorICAgICAgICAiaWNvbiIsCisgICAgICAg
ICJtZW51IiwKKyAgICAgICAgIm1lc3NhZ2UtYm94IiwKKyAgICAgICAgInNtYWxsLWNhcHRpb24i
LAorICAgICAgICAic3RhdHVzLWJhciIsCisgICAgICAgICJpbmhlcml0IgorICAgIF0sCisKKyAg
ICAiZGlzcGxheSI6CisgICAgWworICAgICAgICAiYmxvY2siLAorICAgICAgICAiaW5saW5lIiwK
KyAgICAgICAgImxpc3QtaXRlbSIsCisgICAgICAgICJtYXJrZXIiLAorICAgICAgICAicnVuLWlu
IiwKKyAgICAgICAgImNvbXBhY3QiLAorICAgICAgICAidGFibGUiLAorICAgICAgICAiaW5saW5l
LXRhYmxlIiwKKyAgICAgICAgInRhYmxlLXJvdy1ncm91cCIsCisgICAgICAgICJ0YWJsZS1jb2x1
bW4iLAorICAgICAgICAidGFibGUtY29sdW1uLWdyb3VwIiwKKyAgICAgICAgInRhYmxlLWhlYWRl
ci1ncm91cCIsCisgICAgICAgICJ0YWJsZS1mb290ZXItZ3JvdXAiLAorICAgICAgICAidGFibGUt
cm93IiwKKyAgICAgICAgInRhYmxlLWNlbGwiLAorICAgICAgICAidGFibGUtY2FwdGlvbiIKKyAg
ICBdLAorCisgICAgInBvc2l0aW9uIjoKKyAgICBbCisgICAgICAgICJzdGF0aWMiLAorICAgICAg
ICAicmVsYXRpdmUiLAorICAgICAgICAiYWJzb2x1dGUiLAorICAgICAgICAiZml4ZWQiLAorICAg
ICAgICAiaW5oZXJpdCIKKyAgICBdLAorCisgICAgImZsb2F0IjoKKyAgICBbCisgICAgICAgICJs
ZWZ0IiwKKyAgICAgICAgInJpZ2h0IgorICAgIF0sCisKKyAgICAidGV4dEFsaWduIjoKKyAgICBb
CisgICAgICAgICJsZWZ0IiwKKyAgICAgICAgInJpZ2h0IiwKKyAgICAgICAgImNlbnRlciIsCisg
ICAgICAgICJqdXN0aWZ5IgorICAgIF0sCisKKyAgICAidGFibGVMYXlvdXQiOgorICAgIFsKKyAg
ICAgICAgImZpeGVkIgorICAgIF0sCisKKyAgICAidGV4dERlY29yYXRpb24iOgorICAgIFsKKyAg
ICAgICAgInVuZGVybGluZSIsCisgICAgICAgICJvdmVybGluZSIsCisgICAgICAgICJsaW5lLXRo
cm91Z2giLAorICAgICAgICAiYmxpbmsiCisgICAgXSwKKworICAgICJ0ZXh0VHJhbnNmb3JtIjoK
KyAgICBbCisgICAgICAgICJjYXBpdGFsaXplIiwKKyAgICAgICAgImxvd2VyY2FzZSIsCisgICAg
ICAgICJ1cHBlcmNhc2UiLAorICAgICAgICAiaW5oZXJpdCIKKyAgICBdLAorCisgICAgInVuaWNv
ZGVCaWRpIjoKKyAgICBbCisgICAgICAgICJub3JtYWwiLAorICAgICAgICAiZW1iZWQiLAorICAg
ICAgICAiYmlkaS1vdmVycmlkZSIKKyAgICBdLAorCisgICAgIndoaXRlU3BhY2UiOgorICAgIFsK
KyAgICAgICAgIm5vcm1hbCIsCisgICAgICAgICJwcmUiLAorICAgICAgICAibm93cmFwIgorICAg
IF0sCisKKyAgICAidmVydGljYWxBbGlnbiI6CisgICAgWworICAgICAgICAiYmFzZWxpbmUiLAor
ICAgICAgICAic3ViIiwKKyAgICAgICAgInN1cGVyIiwKKyAgICAgICAgInRvcCIsCisgICAgICAg
ICJ0ZXh0LXRvcCIsCisgICAgICAgICJtaWRkbGUiLAorICAgICAgICAiYm90dG9tIiwKKyAgICAg
ICAgInRleHQtYm90dG9tIiwKKyAgICAgICAgImluaGVyaXQiCisgICAgXSwKKworICAgICJ0aGlj
a25lc3MiOgorICAgIFsKKyAgICAgICAgInRoaW4iLAorICAgICAgICAibWVkaXVtIiwKKyAgICAg
ICAgInRoaWNrIgorICAgIF0sCisKKyAgICAidXNlckZvY3VzIjoKKyAgICBbCisgICAgICAgICJp
Z25vcmUiLAorICAgICAgICAibm9ybWFsIgorICAgIF0sCisKKyAgICAidXNlcklucHV0IjoKKyAg
ICBbCisgICAgICAgICJkaXNhYmxlZCIsCisgICAgICAgICJlbmFibGVkIgorICAgIF0sCisKKyAg
ICAidXNlclNlbGVjdCI6CisgICAgWworICAgICAgICAibm9ybWFsIgorICAgIF0KK30KKworLy8g
aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2ZidWcvc291cmNlL2Jyb3dzZS9icmFuY2hlcy9maXJl
YnVnMS42L2NvbnRlbnQvZmlyZWJ1Zy9saWIuanM/cj03MzAzIzU5ODEKKy8vIEFsbCBmcm9tIEZp
cmVidWcsIGJ1ZyB3aXRob3V0IC1tb3otIHByb3BlcnRpZXMuCitXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVNb2RlbC5wcm9wZXJ0aWVzID0geworICAgICJiYWNrZ3JvdW5kIjogWyJiZ1JlcGVhdCIsICJi
Z0F0dGFjaG1lbnQiLCAiYmdQb3NpdGlvbiIsICJjb2xvciIsICJzeXN0ZW1Db2xvciIsICJub25l
Il0sCisgICAgImJhY2tncm91bmQtYXR0YWNobWVudCI6IFsiYmdBdHRhY2htZW50Il0sCisgICAg
ImJhY2tncm91bmQtY29sb3IiOiBbImNvbG9yIiwgInN5c3RlbUNvbG9yIl0sCisgICAgImJhY2tn
cm91bmQtaW1hZ2UiOiBbIm5vbmUiXSwKKyAgICAiYmFja2dyb3VuZC1wb3NpdGlvbiI6IFsiYmdQ
b3NpdGlvbiJdLAorICAgICJiYWNrZ3JvdW5kLXJlcGVhdCI6IFsiYmdSZXBlYXQiXSwKKworICAg
ICJib3JkZXIiOiBbImJvcmRlclN0eWxlIiwgInRoaWNrbmVzcyIsICJjb2xvciIsICJzeXN0ZW1D
b2xvciIsICJub25lIl0sCisgICAgImJvcmRlci10b3AiOiBbImJvcmRlclN0eWxlIiwgImJvcmRl
ckNvbGxhcHNlIiwgImNvbG9yIiwgInN5c3RlbUNvbG9yIiwgIm5vbmUiXSwKKyAgICAiYm9yZGVy
LXJpZ2h0IjogWyJib3JkZXJTdHlsZSIsICJib3JkZXJDb2xsYXBzZSIsICJjb2xvciIsICJzeXN0
ZW1Db2xvciIsICJub25lIl0sCisgICAgImJvcmRlci1ib3R0b20iOiBbImJvcmRlclN0eWxlIiwg
ImJvcmRlckNvbGxhcHNlIiwgImNvbG9yIiwgInN5c3RlbUNvbG9yIiwgIm5vbmUiXSwKKyAgICAi
Ym9yZGVyLWxlZnQiOiBbImJvcmRlclN0eWxlIiwgImJvcmRlckNvbGxhcHNlIiwgImNvbG9yIiwg
InN5c3RlbUNvbG9yIiwgIm5vbmUiXSwKKyAgICAiYm9yZGVyLWNvbGxhcHNlIjogWyJib3JkZXJD
b2xsYXBzZSJdLAorICAgICJib3JkZXItY29sb3IiOiBbImNvbG9yIiwgInN5c3RlbUNvbG9yIl0s
CisgICAgImJvcmRlci10b3AtY29sb3IiOiBbImNvbG9yIiwgInN5c3RlbUNvbG9yIl0sCisgICAg
ImJvcmRlci1yaWdodC1jb2xvciI6IFsiY29sb3IiLCAic3lzdGVtQ29sb3IiXSwKKyAgICAiYm9y
ZGVyLWJvdHRvbS1jb2xvciI6IFsiY29sb3IiLCAic3lzdGVtQ29sb3IiXSwKKyAgICAiYm9yZGVy
LWxlZnQtY29sb3IiOiBbImNvbG9yIiwgInN5c3RlbUNvbG9yIl0sCisgICAgImJvcmRlci1zcGFj
aW5nIjogW10sCisgICAgImJvcmRlci1zdHlsZSI6IFsiYm9yZGVyU3R5bGUiXSwKKyAgICAiYm9y
ZGVyLXRvcC1zdHlsZSI6IFsiYm9yZGVyU3R5bGUiXSwKKyAgICAiYm9yZGVyLXJpZ2h0LXN0eWxl
IjogWyJib3JkZXJTdHlsZSJdLAorICAgICJib3JkZXItYm90dG9tLXN0eWxlIjogWyJib3JkZXJT
dHlsZSJdLAorICAgICJib3JkZXItbGVmdC1zdHlsZSI6IFsiYm9yZGVyU3R5bGUiXSwKKyAgICAi
Ym9yZGVyLXdpZHRoIjogWyJ0aGlja25lc3MiXSwKKyAgICAiYm9yZGVyLXRvcC13aWR0aCI6IFsi
dGhpY2tuZXNzIl0sCisgICAgImJvcmRlci1yaWdodC13aWR0aCI6IFsidGhpY2tuZXNzIl0sCisg
ICAgImJvcmRlci1ib3R0b20td2lkdGgiOiBbInRoaWNrbmVzcyJdLAorICAgICJib3JkZXItbGVm
dC13aWR0aCI6IFsidGhpY2tuZXNzIl0sCisKKyAgICAiYm90dG9tIjogWyJhdXRvIl0sCisgICAg
ImNhcHRpb24tc2lkZSI6IFsiY2FwdGlvblNpZGUiXSwKKyAgICAiY2xlYXIiOiBbImNsZWFyIiwg
Im5vbmUiXSwKKyAgICAiY2xpcCI6IFsiYXV0byJdLAorICAgICJjb2xvciI6IFsiY29sb3IiLCAi
c3lzdGVtQ29sb3IiXSwKKyAgICAiY29udGVudCI6IFsiY29udGVudCJdLAorICAgICJjb3VudGVy
LWluY3JlbWVudCI6IFsibm9uZSJdLAorICAgICJjb3VudGVyLXJlc2V0IjogWyJub25lIl0sCisg
ICAgImN1cnNvciI6IFsiY3Vyc29yIiwgIm5vbmUiXSwKKyAgICAiZGlyZWN0aW9uIjogWyJkaXJl
Y3Rpb24iXSwKKyAgICAiZGlzcGxheSI6IFsiZGlzcGxheSIsICJub25lIl0sCisgICAgImVtcHR5
LWNlbGxzIjogW10sCisgICAgImZsb2F0IjogWyJmbG9hdCIsICJub25lIl0sCisgICAgImZvbnQi
OiBbImZvbnRTdHlsZSIsICJmb250VmFyaWFudCIsICJmb250V2VpZ2h0IiwgImZvbnRGYW1pbHki
XSwKKworICAgICJmb250LWZhbWlseSI6IFsiZm9udEZhbWlseSJdLAorICAgICJmb250LXNpemUi
OiBbImZvbnRTaXplIl0sCisgICAgImZvbnQtc2l6ZS1hZGp1c3QiOiBbXSwKKyAgICAiZm9udC1z
dHJldGNoIjogW10sCisgICAgImZvbnQtc3R5bGUiOiBbImZvbnRTdHlsZSJdLAorICAgICJmb250
LXZhcmlhbnQiOiBbImZvbnRWYXJpYW50Il0sCisgICAgImZvbnQtd2VpZ2h0IjogWyJmb250V2Vp
Z2h0Il0sCisKKyAgICAiaGVpZ2h0IjogWyJhdXRvIl0sCisgICAgImxlZnQiOiBbImF1dG8iXSwK
KyAgICAibGV0dGVyLXNwYWNpbmciOiBbXSwKKyAgICAibGluZS1oZWlnaHQiOiBbXSwKKworICAg
ICJsaXN0LXN0eWxlIjogWyJsaXN0U3R5bGVUeXBlIiwgImxpc3RTdHlsZVBvc2l0aW9uIiwgIm5v
bmUiXSwKKyAgICAibGlzdC1zdHlsZS1pbWFnZSI6IFsibm9uZSJdLAorICAgICJsaXN0LXN0eWxl
LXBvc2l0aW9uIjogWyJsaXN0U3R5bGVQb3NpdGlvbiJdLAorICAgICJsaXN0LXN0eWxlLXR5cGUi
OiBbImxpc3RTdHlsZVR5cGUiLCAibm9uZSJdLAorCisgICAgIm1hcmdpbiI6IFtdLAorICAgICJt
YXJnaW4tdG9wIjogW10sCisgICAgIm1hcmdpbi1yaWdodCI6IFtdLAorICAgICJtYXJnaW4tYm90
dG9tIjogW10sCisgICAgIm1hcmdpbi1sZWZ0IjogW10sCisKKyAgICAibWFya2VyLW9mZnNldCI6
IFsiYXV0byJdLAorICAgICJtaW4taGVpZ2h0IjogWyJub25lIl0sCisgICAgIm1heC1oZWlnaHQi
OiBbIm5vbmUiXSwKKyAgICAibWluLXdpZHRoIjogWyJub25lIl0sCisgICAgIm1heC13aWR0aCI6
IFsibm9uZSJdLAorCisgICAgIm91dGxpbmUiOiBbImJvcmRlclN0eWxlIiwgImNvbG9yIiwgInN5
c3RlbUNvbG9yIiwgIm5vbmUiXSwKKyAgICAib3V0bGluZS1jb2xvciI6IFsiY29sb3IiLCAic3lz
dGVtQ29sb3IiXSwKKyAgICAib3V0bGluZS1zdHlsZSI6IFsiYm9yZGVyU3R5bGUiXSwKKyAgICAi
b3V0bGluZS13aWR0aCI6IFtdLAorCisgICAgIm92ZXJmbG93IjogWyJvdmVyZmxvdyIsICJhdXRv
Il0sCisgICAgIm92ZXJmbG93LXgiOiBbIm92ZXJmbG93IiwgImF1dG8iXSwKKyAgICAib3ZlcmZs
b3cteSI6IFsib3ZlcmZsb3ciLCAiYXV0byJdLAorCisgICAgInBhZGRpbmciOiBbXSwKKyAgICAi
cGFkZGluZy10b3AiOiBbXSwKKyAgICAicGFkZGluZy1yaWdodCI6IFtdLAorICAgICJwYWRkaW5n
LWJvdHRvbSI6IFtdLAorICAgICJwYWRkaW5nLWxlZnQiOiBbXSwKKworICAgICJwb3NpdGlvbiI6
IFsicG9zaXRpb24iXSwKKyAgICAicXVvdGVzIjogWyJub25lIl0sCisgICAgInJpZ2h0IjogWyJh
dXRvIl0sCisgICAgInRhYmxlLWxheW91dCI6IFsidGFibGVMYXlvdXQiLCAiYXV0byJdLAorICAg
ICJ0ZXh0LWFsaWduIjogWyJ0ZXh0QWxpZ24iXSwKKyAgICAidGV4dC1kZWNvcmF0aW9uIjogWyJ0
ZXh0RGVjb3JhdGlvbiIsICJub25lIl0sCisgICAgInRleHQtaW5kZW50IjogW10sCisgICAgInRl
eHQtc2hhZG93IjogW10sCisgICAgInRleHQtdHJhbnNmb3JtIjogWyJ0ZXh0VHJhbnNmb3JtIiwg
Im5vbmUiXSwKKyAgICAidG9wIjogWyJhdXRvIl0sCisgICAgInVuaWNvZGUtYmlkaSI6IFtdLAor
ICAgICJ2ZXJ0aWNhbC1hbGlnbiI6IFsidmVydGljYWxBbGlnbiJdLAorICAgICJ3aGl0ZS1zcGFj
ZSI6IFsid2hpdGVTcGFjZSJdLAorICAgICJ3aWR0aCI6IFsiYXV0byJdLAorICAgICJ3b3JkLXNw
YWNpbmciOiBbXSwKKyAgICAiei1pbmRleCI6IFtdCit9OworCisKKy8vIGh0dHA6Ly9jb2RlLmdv
b2dsZS5jb20vcC9mYnVnL3NvdXJjZS9icm93c2UvYnJhbmNoZXMvZmlyZWJ1ZzEuNi9jb250ZW50
L2ZpcmVidWcvbGliLmpzP3I9NzMwMyMxNjMxCitXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5n
ZXRDU1NLZXl3b3Jkc0J5UHJvcGVydHkgPSBmdW5jdGlvbihwcm9wTmFtZSkKK3sKKyAgICBpZiAo
IXRoaXMua2V5d29yZE1hcCkgeworICAgICAgICB0aGlzLmtleXdvcmRNYXAgPSB7fTsKKworICAg
ICAgICBmb3IgKHZhciBuYW1lIGluIHRoaXMucHJvcGVydGllcykgeworICAgICAgICAgICAgdmFy
IGxpc3QgPSBbXTsKKworICAgICAgICAgICAgdmFyIHR5cGVzID0gdGhpcy5wcm9wZXJ0aWVzW25h
bWVdOworICAgICAgICAgICAgCisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGVz
Lmxlbmd0aDsgKytpKSB7CisKKyAgICAgICAgICAgICAgICB2YXIga2V5d29yZHMgPSB0aGlzLmtl
eXdvcmRzW3R5cGVzW2ldXTsKKyAgICAgICAgICAgICAgICBpZiAoa2V5d29yZHMpCisgICAgICAg
ICAgICAgICAgICAgIGxpc3QucHVzaC5hcHBseShsaXN0LCBrZXl3b3Jkcyk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIHRoaXMua2V5d29yZE1hcFtuYW1lXSA9IGxpc3Q7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICByZXR1cm4gcHJvcE5hbWUgaW4gdGhpcy5rZXl3b3JkTWFwID8gdGhp
cy5rZXl3b3JkTWFwW3Byb3BOYW1lXSA6IFtdOworfTsKKworCitXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVNb2RlbC5nZXRDb21wbGV0aW9ucyA9IGZ1bmN0aW9uKG5hbWUsIHByZWZpeCkKK3sKKyAgICB2
YXIgc3BsaXR0ZWQgPSBwcmVmaXguc3BsaXQoL1xzLyk7CisgICAgcHJlZml4ID0gc3BsaXR0ZWQu
cG9wKCk7CisgICAgaWYgKCFwcmVmaXgpIHsKKyAgICAgICAgY29uc29sZS53YXJuKCJObyBwcmVm
aXghIik7CisgICAgICAgIHJldHVybiAiIjsKKyAgICB9CisgICAgCisgICAgdmFyIGtleXdvcmRz
ID0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwuZ2V0Q1NTS2V5d29yZHNCeVByb3BlcnR5KG5h
bWUpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXl3b3Jkcy5sZW5ndGg7ICsraSkKKyAg
ICAgICAgaWYgKGtleXdvcmRzW2ldLmluZGV4T2YocHJlZml4KSA9PT0gMCkgeworICAgICAgICAg
ICAgc3BsaXR0ZWQucHVzaChrZXl3b3Jkc1tpXSk7CisgICAgICAgICAgICByZXR1cm4gc3BsaXR0
ZWQuam9pbigiICIpOworICAgICAgICB9CisKKyAgICByZXR1cm4gIiI7Cit9OworCisKKwogV2Vi
SW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBlID0gewogICAgIGdldFN0eWxlc0FzeW5j
OiBmdW5jdGlvbihub2RlSWQsIGF1dGhPbmx5LCB1c2VyQ2FsbGJhY2spCiAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCmluZGV4IDVm
NWE1YWQuLjUwM2I0NzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
dHlsZXNTaWRlYmFyUGFuZS5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5
bGVzU2lkZWJhclBhbmUuanMKQEAgLTgxNyw3ICs4MTcsNiBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQ
cm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgaXRlbSA9
IG5ldyBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50KHRoaXMuc3R5bGVSdWxl
LCB0aGlzLnN0eWxlUnVsZS5zdHlsZSwgIiIsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsK
ICAgICAgICAgdGhpcy5wcm9wZXJ0aWVzVHJlZU91dGxpbmUuYXBwZW5kQ2hpbGQoaXRlbSk7Ci0g
ICAgICAgIGl0ZW0ubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50ID0gIiI7CiAgICAgICAgIGl0
ZW0uX25ld1Byb3BlcnR5ID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgfSwKQEAg
LTEzNjMsMzQgKzEzNjIsMTE3IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1l
bnQucHJvdG90eXBlID0gewogICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFu
ZEV4dGVudChzZWxlY3RFbGVtZW50LCAwLCBzZWxlY3RFbGVtZW50LCAxKTsKICAgICB9LAogCisg
ICAgcmVidWlsZExpc3RJdGVtOiBmdW5jdGlvbih0ZXh0KQorICAgIHsKKyAgICAgICAgdmFyIGNv
bG9uSW5kZXggPSB0ZXh0LmluZGV4T2YoIjoiKTsKKyAgICAgICAgdmFyIHNlbWljb2xvbkluZGV4
ID0gdGV4dC5pbmRleE9mKCI7Iik7CisKKyAgICAgICAgdmFyIG5hbWUsIHZhbHVlOworICAgICAg
ICBpZiAoY29sb25JbmRleCA9PT0gLTEpIHsKKyAgICAgICAgICAgIG5hbWUgPSB0ZXh0OworICAg
ICAgICAgICAgdmFsdWUgPSAiIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG5hbWUg
PSB0ZXh0LnNsaWNlKDAsIGNvbG9uSW5kZXgpOworICAgICAgICAgICAgaWYgKHNlbWljb2xvbklu
ZGV4ID09PSAtMSkgeworICAgICAgICAgICAgICAgIHZhbHVlID0gdGV4dC5zbGljZShjb2xvbklu
ZGV4ICsgMSkKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdmFsdWUgPSB0
ZXh0LnNsaWNlKGNvbG9uSW5kZXggKyAxLCBzZW1pY29sb25JbmRleCkKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorCisgICAgICAgIHZhciBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3Vt
ZW50RnJhZ21lbnQoKTsKKyAgICAgICAgdmFyIG5hbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOworICAgICAgICBuYW1lRWxlbWVudC5jbGFzc05hbWUgPSAid2Via2l0
LWNzcy1wcm9wZXJ0eSI7CisgICAgICAgIG5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gbmFtZTsK
KyAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQobmFtZUVsZW1lbnQpOworCisgICAgICAgIGZy
YWdtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCI6IikpOworICAgICAg
ICB2YXIgdmFsdWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAg
ICAgICB2YWx1ZUVsZW1lbnQuY2xhc3NOYW1lID0gInZhbHVlIjsKKyAgICAgICAgdmFsdWVFbGVt
ZW50LnRleHRDb250ZW50ID0gdmFsdWU7CisgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKHZh
bHVlRWxlbWVudCk7CisgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKCI7IikpOworCisgICAgICAgIHRoaXMubmFtZUVsZW1lbnQgPSBuYW1lRWxlbWVu
dDsKKyAgICAgICAgdGhpcy52YWx1ZUVsZW1lbnQgPSB2YWx1ZUVsZW1lbnQ7CisKKyAgICAgICAg
cmV0dXJuIGZyYWdtZW50OworICAgIH0sCisKKyAgICBzZWxlY3RWYWx1ZTogZnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgLy8gUGxhY2UgY3Vyc29yIGJlZm9yZSB0aGUgZmlyc3Qgbm9uLXNwYWNl
IGNoYXJhY3Rlci4KKyAgICAgICAgdmFyIHZhbHVlID0gdGhpcy52YWx1ZUVsZW1lbnQudGV4dENv
bnRlbnQ7CisgICAgICAgIHZhciBwb3NpdGlvbkluZGV4ID0gdmFsdWUuaW5kZXhPZih2YWx1ZS50
cmltTGVmdCgpKTsKKyAgICAgICAgdGhpcy52YWx1ZUVsZW1lbnQuc2VsZWN0KHBvc2l0aW9uSW5k
ZXgpOworICAgIH0sCisKICAgICBlZGl0aW5nS2V5UHJlc3M6IGZ1bmN0aW9uKGV2ZW50KQogICAg
IHsKKyAgICAgICAgdmFyIGNoYXJhY3RlciA9IGV2ZW50LmRhdGE7CisKKyAgICAgICAgaWYgKCFj
aGFyYWN0ZXIubGVuZ3RoIHx8IGNoYXJhY3RlciA9PT0gIiAiKSB7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoY2hhcmFjdGVyID09PSAiOiIpIHsKKyAgICAg
ICAgICAgIGlmICh0aGlzLmxpc3RJdGVtRWxlbWVudC50ZXh0Q29udGVudC5pbmRleE9mKCI6Iikg
PiAtMSkgeworICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0VmFsdWUoKTsKKyAgICAgICAgICAg
ICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGNoYXJhY3RlciA9PT0gIjsiKSB7Cisg
ICAgICAgICAgICAvLyBGSVhNRToganVtcCB0byBuZXh0IHByb3BlcnR5LgorICAgICAgICB9CisK
ICAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKLSAgICAgICAg
dmFyIGNvbG9uSW5kZXggPSB0aGlzLmxpc3RJdGVtRWxlbWVudC50ZXh0Q29udGVudC5pbmRleE9m
KCI6Iik7Ci0gICAgICAgIHZhciBzZWxlY3Rpb25MZWZ0T2Zmc2V0ID0gZXZlbnQudGFyZ2V0LnNl
bGVjdGlvbkxlZnRPZmZzZXQ7CisgICAgICAgIGlmICghc2VsZWN0aW9uLnJhbmdlQ291bnQpCisg
ICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKGNvbG9uSW5kZXggPCAwIHx8IHNlbGVj
dGlvbkxlZnRPZmZzZXQgPD0gY29sb25JbmRleCkgewotICAgICAgICAgICAgLy8gQ29tcGxldGUg
cHJvcGVydHkgbmFtZXMuCi0gICAgICAgICAgICB2YXIgY2hhcmFjdGVyID0gZXZlbnQuZGF0YS50
b0xvd2VyQ2FzZSgpOwotICAgICAgICAgICAgaWYgKGNoYXJhY3RlciAmJiAvW2Etei1dLy50ZXN0
KGNoYXJhY3RlcikpIHsKLSAgICAgICAgICAgICAgICB2YXIgcHJlZml4ID0gc2VsZWN0aW9uLmFu
Y2hvck5vZGUudGV4dENvbnRlbnQuc3Vic3RyaW5nKDAsIHNlbGVjdGlvbi5hbmNob3JPZmZzZXQp
OwotICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IFdlYkluc3BlY3Rvci5DU1NDb21wbGV0
aW9ucy5maXJzdFN0YXJ0c1dpdGgocHJlZml4ICsgY2hhcmFjdGVyKTsKKyAgICAgICAgdmFyIHNl
bGVjdGlvblN0cmluZyA9IHNlbGVjdGlvbi50b1N0cmluZygpOworICAgICAgICB2YXIgdGV4dCA9
IHRoaXMubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50OwogCi0gICAgICAgICAgICAgICAgaWYg
KCFzZWxlY3Rpb24uaXNDb2xsYXBzZWQpCi0gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5k
ZWxldGVGcm9tRG9jdW1lbnQoKTsKKyAgICAgICAgdmFyIHNlbGVjdGlvbkxlZnRPZmZzZXQgPSBl
dmVudC50YXJnZXQuc2VsZWN0aW9uTGVmdE9mZnNldDsKKyAgICAgICAgdmFyIHByZWZpeCA9IHRl
eHQuc2xpY2UoMCwgc2VsZWN0aW9uTGVmdE9mZnNldCk7CisgICAgICAgIHZhciBzdWZmaXggPSB0
ZXh0LnNsaWNlKHNlbGVjdGlvbkxlZnRPZmZzZXQgKyBzZWxlY3Rpb25TdHJpbmcubGVuZ3RoKTsK
IAotICAgICAgICAgICAgICAgIHRoaXMucmVzdG9yZU5hbWVFbGVtZW50KCk7CisgICAgICAgIHZh
ciBuZXdWYWx1ZSA9IHByZWZpeCArIGNoYXJhY3RlciArIHN1ZmZpeDsKKyAgICAgICAgdmFyIG5l
d1Byb3BlcnR5ID0gdGhpcy5yZWJ1aWxkTGlzdEl0ZW0obmV3VmFsdWUpOworICAgICAgICB0aGlz
Lmxpc3RJdGVtRWxlbWVudC50ZXh0Q29udGVudCA9ICIiOworICAgICAgICB0aGlzLmxpc3RJdGVt
RWxlbWVudC5hcHBlbmRDaGlsZChuZXdQcm9wZXJ0eSk7CisgICAgICAgIHRoaXMubGlzdEl0ZW1F
bGVtZW50LnNlbGVjdChzZWxlY3Rpb25MZWZ0T2Zmc2V0ICsgMSk7CisgICAgICAgIHZhciByYW5n
ZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApOwogCi0gICAgICAgICAgICAgICAgaWYgKHByb3Bl
cnR5KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSAhPT0gdGhpcy5uYW1lRWxl
bWVudC50ZXh0Q29udGVudCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmFtZUVsZW1l
bnQudGV4dENvbnRlbnQgPSBwcm9wZXJ0eTsKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5uYW1l
RWxlbWVudC5maXJzdENoaWxkLnNlbGVjdChwcmVmaXgubGVuZ3RoICsgMSk7Ci0gICAgICAgICAg
ICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgICAgIGlmIChyYW5nZS5zdGFy
dENvbnRhaW5lci5pc0Rlc2NlbmRhbnQodGhpcy5uYW1lRWxlbWVudCkpIHsKKyAgICAgICAgICAg
IC8vIENvbXBsZXRlIHByb3BlcnR5IG5hbWVzLgorICAgICAgICAgICAgaWYgKC9bYS16LV0vLnRl
c3QoY2hhcmFjdGVyKSkgeworICAgICAgICAgICAgICAgIHByZWZpeCA9IHJhbmdlLnN0YXJ0Q29u
dGFpbmVyLnRleHRDb250ZW50LnN1YnN0cmluZygwLCByYW5nZS5zdGFydE9mZnNldCk7CisgICAg
ICAgICAgICAgICAgdmFyIG5hbWUgPSBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuZmlyc3RT
dGFydHNXaXRoKHByZWZpeCk7CisKKyAgICAgICAgICAgICAgICBpZiAobmFtZSkgeworICAgICAg
ICAgICAgICAgICAgICBpZiAobmFtZSAhPT0gdGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVudCkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmFtZUVsZW1lbnQudGV4dENvbnRlbnQgPSBu
YW1lOworICAgICAgICAgICAgICAgICAgICB0aGlzLm5hbWVFbGVtZW50LnNlbGVjdChwcmVmaXgu
bGVuZ3RoLCBuYW1lLmxlbmd0aCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICB9IGVsc2UgaWYgKHJhbmdlLnN0YXJ0Q29udGFpbmVyLmlzRGVzY2VuZGFudCh0aGlz
LnZhbHVlRWxlbWVudCkpIHsKKyAgICAgICAgICAgIHZhciBpbmRleCA9IHRoaXMudmFsdWVFbGVt
ZW50LnNlbGVjdGlvbkxlZnRPZmZzZXQ7CisgICAgICAgICAgICBwcmVmaXggPSB0aGlzLnZhbHVl
RWxlbWVudC50ZXh0Q29udGVudC5zdWJzdHJpbmcoMCwgaW5kZXgpOworICAgICAgICAgICAgc3Vm
Zml4ID0gdGhpcy52YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQuc3Vic3RyaW5nKGluZGV4KTsKKwor
ICAgICAgICAgICAgaWYgKHByZWZpeC50cmltKCkpIHsKKyAgICAgICAgICAgICAgICB2YXIgdmFs
dWUgPSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5nZXRDb21wbGV0aW9ucyh0aGlzLm5hbWVF
bGVtZW50LnRleHRDb250ZW50LnRyaW0oKSwgcHJlZml4KTsKKyAgICAgICAgICAgICAgICBpZiAo
dmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlRWxl
bWVudC50ZXh0Q29udGVudCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVFbGVt
ZW50LnRleHRDb250ZW50ID0gdmFsdWUgKyBzdWZmaXg7CisgICAgICAgICAgICAgICAgICAgIHRo
aXMudmFsdWVFbGVtZW50LnNlbGVjdChpbmRleCwgdmFsdWUubGVuZ3RoKTsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBG
SVhNRTogVGhpcyBzaG91bGQgY29tcGxldGUgcHJvcGVydHkgdmFsdWVzLgogICAgICAgICB9CisK
KyAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICB9LAogCiAgICAgZWRpdGluZ0tl
eURvd246IGZ1bmN0aW9uKGV2ZW50KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5jc3MgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmNzcwppbmRleCBkOGUyOWU4Li4yZTM0YTdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMTQ4NSw3ICsxNDg1LDcgQEAgYm9keS5pbmFjdGl2ZSAu
cGxhY2FyZC5zZWxlY3RlZCB7CiB9CiAKIC5lZGl0aW5nLCAuZWRpdGluZyAqIHsKLSAgICBjb2xv
cjogYmxhY2sgIWltcG9ydGFudDsKKyAgICAvKmNvbG9yOiBibGFjayAhaW1wb3J0YW50OyovCiAg
ICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7CiB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3JTeW50YXhIaWdobGlnaHQuY3NzIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3RvclN5bnRheEhpZ2hsaWdodC5jc3MK
aW5kZXggMDk2NWE1Yy4uMDcxODE3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3RvclN5bnRheEhpZ2hsaWdodC5jc3MKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3RvclN5bnRheEhpZ2hsaWdodC5jc3MKQEAgLTM5LDcgKzM5LDE3
IEBACiB9CiAKIC53ZWJraXQtY3NzLXByb3BlcnR5LCAud2Via2l0LWNzcy1hdC1ydWxlIHsKLSAg
ICBjb2xvcjogcmdiKDIwMCwgMCwgMCk7CisgICAgLyogRGVidWdnaW5nIGNvbG9ycyEgKi8KKyAg
ICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTAsIDI1MCk7CisgICAgYm9yZGVyOiAxcHggc29saWQg
cmdiKDI0MCwgMTgwLCAxODApOworICAgIGNvbG9yOiByZ2IoMTAwLCAwLCAwKTsKK30KKworLnZh
bHVlIHsKKyAgICAvKiBEZWJ1Z2dpbmcgY29sb3JzISAqLworICAgIGJhY2tncm91bmQ6IHJnYigy
MzAsIDI0NSwgMjU1KTsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjOTljNmUyOworICAgIGNvbG9y
OiAjMTYzZjZhOwogfQogCiAud2Via2l0LWNzcy1zZWxlY3RvciB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3V0aWxpdGllcy5qcwppbmRleCAxMzEyZTViLi40ZDNjMDc0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKQEAgLTM0NywzMiArMzQ3LDEwNiBAQCBL
ZXlib2FyZEV2ZW50LnByb3RvdHlwZS5fX2RlZmluZUdldHRlcl9fKCJkYXRhIiwgZnVuY3Rpb24o
KQogICAgIH0KIH0pOwogCi1UZXh0LnByb3RvdHlwZS5zZWxlY3QgPSBmdW5jdGlvbihzdGFydCwg
ZW5kKQorLyoqCisgKiBAcGFyYW0ge051bWJlcn0gW3N0YXJ0PTBdID49IDAKKyAqIEBwYXJhbSB7
TnVtYmVyfSBbZW5kPXN0YXJ0XSA+PSAwCisgKiBAc2VlIGh0dHA6Ly9naXRodWIuY29tL05WL3Nl
bGVjdC10ZXh0LmpzCisgKi8KK1RleHQucHJvdG90eXBlLnNlbGVjdCA9IGZ1bmN0aW9uIHNlbGVj
dChzdGFydCwgZW5kKQogewogICAgIHN0YXJ0ID0gc3RhcnQgfHwgMDsKLSAgICBlbmQgPSBlbmQg
fHwgdGhpcy50ZXh0Q29udGVudC5sZW5ndGg7Ci0KLSAgICBpZiAoc3RhcnQgPCAwKQotICAgICAg
ICBzdGFydCA9IGVuZCArIHN0YXJ0OworICAgIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMikKKyAg
ICAgICAgZW5kID0gc3RhcnQ7CisgICAgZWxzZQorICAgICAgICBlbmQgPSBNYXRoLm1pbihlbmQs
IHRoaXMudGV4dENvbnRlbnQubGVuZ3RoKTsKIAotICAgIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cu
Z2V0U2VsZWN0aW9uKCk7Ci0gICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOwogICAgIHZh
ciByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CiAgICAgcmFuZ2Uuc2V0U3RhcnQodGhp
cywgc3RhcnQpOwogICAgIHJhbmdlLnNldEVuZCh0aGlzLCBlbmQpOworICAgIHZhciBzZWxlY3Rp
b24gPSBnZXRTZWxlY3Rpb24oKTsKKyAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7CiAg
ICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTsKKwogICAgIHJldHVybiB0aGlzOwotfQorfTsK
KworLyoqCisgKiBAcGFyYW0ge051bWJlcn0gW3N0YXJ0PTBdID49IDAKKyAqIEBwYXJhbSB7TnVt
YmVyfSBbZW5kPXN0YXJ0XSA+PSAwCisgKiBAc2VlIGh0dHA6Ly9naXRodWIuY29tL05WL3NlbGVj
dC10ZXh0LmpzCisgKi8KK0VsZW1lbnQucHJvdG90eXBlLnNlbGVjdCA9IGZ1bmN0aW9uIHNlbGVj
dChzdGFydCwgZW5kKQoreworICAgIHN0YXJ0ID0gc3RhcnQgfHwgMDsKKworICAgIGlmIChhcmd1
bWVudHMubGVuZ3RoIDwgMikKKyAgICAgICAgZW5kID0gc3RhcnQ7CisgICAgZWxzZQorICAgICAg
ICBlbmQgPSBNYXRoLm1pbihlbmQsIHRoaXMudGV4dENvbnRlbnQubGVuZ3RoKTsKKworICAgIHZh
ciByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgdmFyIG5vZGUgPSB0aGlzLmZp
cnN0Q2hpbGQ7CisKKyAgICBpZiAobm9kZSkgeworCisgICAgICAgIHZhciBpID0gc3RhcnQ7Cisg
ICAgICAgIHZhciBsZW5ndGg7CisKKyAgICAgICAgd2hpbGUgKGkgPiAobGVuZ3RoID0gbm9kZS50
ZXh0Q29udGVudC5sZW5ndGgpKSB7CisgICAgICAgICAgICBpIC09IGxlbmd0aDsKKyAgICAgICAg
ICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nOworICAgICAgICB9CisKKyAgICAgICAgdmFyIHN0
YXJ0Tm9kZTsKKyAgICAgICAgaWYgKG5vZGUuZmlyc3RDaGlsZCkgeworICAgICAgICAgICAgc3Rh
cnROb2RlID0gbm9kZS5maXJzdENoaWxkOworICAgICAgICAgICAgd2hpbGUgKHN0YXJ0Tm9kZS5m
aXJzdENoaWxkKQorICAgICAgICAgICAgICAgIHN0YXJ0Tm9kZSA9IHN0YXJ0Tm9kZS5maXJzdENo
aWxkOworCisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgc3RhcnROb2RlID0gbm9kZTsKKwor
ICAgICAgICByYW5nZS5zZXRTdGFydChzdGFydE5vZGUsIGkpOworCisgICAgICAgIHZhciBqID0g
ZW5kIC0gKHN0YXJ0IC0gaSk7CisgICAgICAgIHdoaWxlIChqID4gKGxlbmd0aCA9IG5vZGUudGV4
dENvbnRlbnQubGVuZ3RoKSkgeworICAgICAgICAgICAgaiAtPSBsZW5ndGg7CisgICAgICAgICAg
ICBub2RlID0gbm9kZS5uZXh0U2libGluZzsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBlbmRO
b2RlOworICAgICAgICBpZiAobm9kZS5maXJzdENoaWxkKSB7CisgICAgICAgICAgICBlbmROb2Rl
ID0gbm9kZS5maXJzdENoaWxkOworICAgICAgICAgICAgd2hpbGUgKGVuZE5vZGUuZmlyc3RDaGls
ZCkKKyAgICAgICAgICAgICAgICBlbmROb2RlID0gZW5kTm9kZS5maXJzdENoaWxkOworCisgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgZW5kTm9kZSA9IG5vZGU7CisKKyAgICAgICAgcmFuZ2Uu
c2V0RW5kKGVuZE5vZGUsIGopOworCisgICAgfSBlbHNlIHsKKyAgICAgICAgcmFuZ2Uuc2V0U3Rh
cnRCZWZvcmUodGhpcyk7CisgICAgICAgIHJhbmdlLnNldEVuZEJlZm9yZSh0aGlzKTsKKyAgICB9
CisKKyAgICB2YXIgc2VsZWN0aW9uID0gZ2V0U2VsZWN0aW9uKCk7CisgICAgc2VsZWN0aW9uLnJl
bW92ZUFsbFJhbmdlcygpOworICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7CisKKyAgICBy
ZXR1cm4gdGhpczsKK307CiAKIEVsZW1lbnQucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18oInNl
bGVjdGlvbkxlZnRPZmZzZXQiLCBmdW5jdGlvbigpIHsKICAgICAvLyBDYWxjdWxhdGUgc2VsZWN0
aW9uIG9mZnNldCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBlbGVtZW50LgogCiAgICAgdmFyIHNl
bGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKLSAgICBpZiAoIXNlbGVjdGlvbi5jb250
YWluc05vZGUodGhpcywgdHJ1ZSkpCisgICAgaWYgKCFzZWxlY3Rpb24uY29udGFpbnNOb2RlKHRo
aXMsIHRydWUpIHx8ICFzZWxlY3Rpb24ucmFuZ2VDb3VudCkKICAgICAgICAgcmV0dXJuIG51bGw7
CiAKLSAgICB2YXIgbGVmdE9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQ7Ci0gICAgdmFy
IG5vZGUgPSBzZWxlY3Rpb24uYW5jaG9yTm9kZTsKKyAgICB2YXIgcmFuZ2UgPSBzZWxlY3Rpb24u
Z2V0UmFuZ2VBdCgwKTsKKyAgICB2YXIgbGVmdE9mZnNldCA9IHJhbmdlLnN0YXJ0T2Zmc2V0Owor
ICAgIHZhciBub2RlID0gcmFuZ2Uuc3RhcnRDb250YWluZXI7CiAKICAgICB3aGlsZSAobm9kZSAh
PT0gdGhpcykgewogICAgICAgICB3aGlsZSAobm9kZS5wcmV2aW91c1NpYmxpbmcpIHsKQEAgLTg2
MSw3ICs5MzUsNyBAQCBTdHJpbmcuc3RhbmRhcmRGb3JtYXR0ZXJzID0gewogICAgICAgICBpZiAo
dHlwZW9mIHN1YnN0aXR1dGlvbiA9PSAib2JqZWN0IiAmJiBPYmplY3QucHJveHlUeXBlKHN1YnN0
aXR1dGlvbikgIT09ICJudWxsIikKICAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1
dGlvbi5kZXNjcmlwdGlvbjsKICAgICAgICAgcmV0dXJuIHN1YnN0aXR1dGlvbjsKLSAgICB9LAor
ICAgIH0KIH07CiAKIFN0cmluZy52c3ByaW50ZiA9IGZ1bmN0aW9uKGZvcm1hdCwgc3Vic3RpdHV0
aW9ucykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76887</attachid>
            <date>2010-12-17 09:31:13 -0800</date>
            <delta_ts>2010-12-21 06:06:04 -0800</delta_ts>
            <desc>[PATCH] Suggested solution</desc>
            <filename>completevalues.patch</filename>
            <type>text/plain</type>
            <size>71086</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGJiY2Q4ZDkxZTZkZTJmMmZhMmI2YTc0NGI5NmZmN2Q5NmFjN2IzODcKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBGcmkgRGVjIDMg
MjA6MDc6NDMgMjAxMCArMDMwMAoKICAgIFdJUCAtIGF1dG9jb21wbGV0ZSB2YWx1ZSBrZXl3b3Jk
cwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBkOWU5ZmM4Li5lMGFlMGQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAt
MTItMTcgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBh
dXRvY29tcGxldGlvbiBmb3IgQ1NTIHByb3BlcnR5IHZhbHVlcyBpbiBTdHlsZXMgcGFuZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0MTQKKworICAg
ICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy5o
dG1sOiBBZGRlZC4KKwogMjAxMC0xMi0xNyAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MWI5MDk2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IFVwL0Rvd24ga2V5cyBzd2l0
Y2ggc3VnZ2VzdGlvbnMgaW4gQ1NTIHByb3BlcnR5IHZhbHVlcy4KKworVGV4dAorSW5pdGlhbCBw
cm9wZXJ0eSB2YWx1ZToKK2NvbG9yOiBncmVlbjsKK05leHQgdmFsdWU6Citjb2xvcjogZ3JlZW55
ZWxsb3c7CitPcmlnaW5hbCB2YWx1ZToKK2NvbG9yOiBncmVlbjsKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZjNlYWVjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLmh0bWwKQEAg
LTAsMCArMSw3MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZWxl
bWVudHMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gZG9pdCgpCit7
CisgICAgZnVuY3Rpb24gY2FsbGJhY2socmVzdWx0KQorICAgIHsKKyAgICAgICAgZHVtcEFycmF5
KHJlc3VsdCk7CisgICAgICAgIG5vdGlmeURvbmUoKTsKKyAgICB9CisgICAgZXZhbHVhdGVJbldl
Ykluc3BlY3RvcigiZnJvbnRlbmRfcnVuVGVzdCIsIGNhbGxiYWNrKTsKK30KKworLy8gRnJvbnRl
bmQgZnVuY3Rpb25zLgorCitmdW5jdGlvbiBmcm9udGVuZF9ydW5UZXN0KHRlc3RDb250cm9sbGVy
KQoreworICAgIHRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBmcm9udGVuZF9l
eHBhbmRET01TdWJ0cmVlQW5kUnVuKHRlc3RDb250cm9sbGVyLCBudWxsLCBmcm9udGVuZF9zZWxl
Y3RJbnNwZWN0ZWRFbGVtZW50KTsKK30KKworZnVuY3Rpb24gZnJvbnRlbmRfc2VsZWN0SW5zcGVj
dGVkRWxlbWVudCh0ZXN0Q29udHJvbGxlcikKK3sKKyAgICBmcm9udGVuZF9zZWxlY3RFbGVtZW50
QW5kUnVuKHRlc3RDb250cm9sbGVyLCAiaW5zcGVjdGVkIiwgZnJvbnRlbmRfZHVtcEluc3BlY3Rl
ZFN0eWxlKTsKK30KKworZnVuY3Rpb24gZnJvbnRlbmRfY3JlYXRlS2V5Ym9hcmRFdmVudChldmVu
dE5hbWUsIGtleUlkZW50aWZpZXIpCit7CisgICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2
ZW50KCJLZXlib2FyZEV2ZW50Iik7CisgICAgZXZ0LmluaXRLZXlib2FyZEV2ZW50KGV2ZW50TmFt
ZSwgdHJ1ZSAvKiBjYW4gYnViYmxlICovLCB0cnVlIC8qIGNhbiBjYW5jZWwgKi8sIG51bGwgLyog
dmlldyAqLywga2V5SWRlbnRpZmllciwgIiIpOworICAgIHJldHVybiBldnQ7Cit9CisKK2Z1bmN0
aW9uIGZyb250ZW5kX2R1bXBJbnNwZWN0ZWRTdHlsZSh0ZXN0Q29udHJvbGxlcikKK3sKKyAgICB2
YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0
eWxlcy5zZWN0aW9uc1swXVsxXTsKKyAgICBzZWN0aW9uLmV4cGFuZCgpOworICAgIHZhciB0cmVl
RWxlbWVudCA9IHNlY3Rpb24ucHJvcGVydGllc1RyZWVPdXRsaW5lLmNoaWxkcmVuWzBdOworCisg
ICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKCJJbml0aWFsIHByb3BlcnR5IHZhbHVlOiIp
OworICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCh0cmVlRWxlbWVudC5saXN0SXRlbUVs
ZW1lbnQudGV4dENvbnRlbnQpOworICAgIHRyZWVFbGVtZW50LnN0YXJ0RWRpdGluZyh0cmVlRWxl
bWVudC52YWx1ZUVsZW1lbnQpOworICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudC5maXJzdENo
aWxkLnNlbGVjdCgpOworCisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKCJOZXh0IHZh
bHVlOiIpOworICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudC5kaXNwYXRjaEV2ZW50KGZyb250
ZW5kX2NyZWF0ZUtleWJvYXJkRXZlbnQoImtleWRvd24iLCAiRG93biIpKTsKKyAgICB0ZXN0Q29u
dHJvbGxlci5yZXN1bHRzLnB1c2godHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50LnRleHRDb250
ZW50KTsKKworICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCgiT3JpZ2luYWwgdmFsdWU6
Iik7CisgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZnJvbnRlbmRf
Y3JlYXRlS2V5Ym9hcmRFdmVudCgia2V5ZG93biIsICJVcCIpKTsKKyAgICB0ZXN0Q29udHJvbGxl
ci5yZXN1bHRzLnB1c2godHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50KTsK
KworICAgIHRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUodGVzdENvbnRyb2xsZXIucmVzdWx0cyk7
Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9Im9ubG9hZCgpIj4KKzxw
PgorVGVzdHMgdGhhdCBVcC9Eb3duIGtleXMgc3dpdGNoIHN1Z2dlc3Rpb25zIGluIENTUyBwcm9w
ZXJ0eSB2YWx1ZXMuCis8L3A+CisKKzxkaXYgaWQ9Imluc3BlY3RlZCIgc3R5bGU9ImNvbG9yOiBn
cmVlbjsiPlRleHQ8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNDc1NTJkLi43ZjJmNTE0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQyIEBACisyMDEwLTEyLTE3ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogYXV0b2NvbXBsZXRpb24gZm9yIENTUyBwcm9wZXJ0eSB2YWx1ZXMg
aW4gU3R5bGVzIHBhbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQxNDE0CisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxl
dGUtdmFsdWVzLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6Cisg
ICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovY29weUluc3BlY3RvckZpbGVzLmNtZDoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29y
ZHMuaW46CisgICAgICAgICogY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgICog
Y3NzL21ha2V2YWx1ZXMucGw6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NDb21w
bGV0aW9ucy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMucHJvdG90eXBlLnN0YXJ0c1dpdGgpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLnByb3RvdHlwZS5maXJzdFN0YXJ0
c1dpdGgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLnByb3RvdHlwZS5f
Zmlyc3RJbmRleE9mUHJlZml4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9u
cy5wcm90b3R5cGUubmV4dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMu
cHJvdG90eXBlLnByZXZpb3VzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9u
cy5wcm90b3R5cGUuX2Nsb3Nlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRp
b25zLnByb3RvdHlwZS5fbG9hZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlv
bnMucHJvdG90eXBlLmxvYWRGcm9tT2JqZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNvdXJjZUNTU1Rva2VuaXplcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3Vy
Y2VDU1NUb2tlbml6ZXIucmUyanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TdHls
ZXNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJl
ZUVsZW1lbnQucHJvdG90eXBlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLmRvTG9hZGVkRG9uZSk6CisKIDIwMTAtMTItMTcgIEFuZHJl
eSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQ
YXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGZiMTNhZmUuLjY4MjM1ZGMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTYzMSw3ICs2MzEsNyBAQCBDU1NQcm9wZXJ0eU5hbWVzLmggOiAkKFdF
QkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSBjc3MvbWFrZXByb3AucGwKIENTU1ZhbHVlS2V5d29y
ZHMuaCA6ICQoV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMpIGNzcy9tYWtldmFsdWVzLnBsCiAJ
IyBMb3dlciBjYXNlIGFsbCB0aGUgdmFsdWVzLCBhcyBDU1MgdmFsdWVzIGFyZSBjYXNlLWluc2Vu
c2l0aXZlCiAJcGVybCAtbmUgJ3ByaW50IGxjJyAkKFdFQkNPUkVfQ1NTX1ZBTFVFX0tFWVdPUkRT
KSA+IENTU1ZhbHVlS2V5d29yZHMuaW4KLQlpZiBzb3J0IENTU1ZhbHVlS2V5d29yZHMuaW4gfCB1
bmlxIC1kIHwgZ3JlcCAtRSAtdiAnKF4jKXwoXltbOnNwYWNlOl1dKiQkKSc7IHRoZW4gZWNobyAn
RHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKKwlpZiBjYXQgQ1NTVmFsdWVLZXl3b3Jkcy5p
biB8IHNlZCAtZSAncy9cKFteLF0qXCkuKi9cMS8nIHwgc29ydCB8IHVuaXEgLWQgfCBncmVwIC1F
IC12ICcoXiMpfCheW1s6c3BhY2U6XV0qJCQpJzsgdGhlbiBlY2hvICdEdXBsaWNhdGUgdmFsdWUh
JzsgZXhpdCAxOyBmaQogCXBlcmwgIiQoV2ViQ29yZSkvY3NzL21ha2V2YWx1ZXMucGwiCiAKICMg
LS0tLS0tLS0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCmluZGV4IGNiMzZlMzEuLmFiOTRjNWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY1OCwxMiAr
NDY1OCwxNCBAQCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFtZXMuaDogJChX
RUJDT1JFX0NTU19QUk9QRVJUWV9OQU1FUykgJChXZWJDbwogCW12IENTU1Byb3BlcnR5TmFtZXMq
ICQoR0VOU09VUkNFU19XRUJDT1JFKQogCiAjIExvd2VyIGNhc2UgYWxsIHRoZSB2YWx1ZXMsIGFz
IENTUyB2YWx1ZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUKK0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
Q1NTS2V5d29yZENvbXBsZXRpb25zLmpzOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVl
S2V5d29yZHMuY3BwCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuY3Bw
OiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuaAogRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9DU1NWYWx1ZUtleXdvcmRzLmg6ICQoV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09S
RFMpICQoV2ViQ29yZSkvY3NzL21ha2V2YWx1ZXMucGwKIAkkKFBFUkwpIC1uZSAncHJpbnQgbGMn
ICQoV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMpID4gQ1NTVmFsdWVLZXl3b3Jkcy5pbgotCWlm
IHNvcnQgQ1NTVmFsdWVLZXl3b3Jkcy5pbiB8IHVuaXEgLWQgfCBncmVwIC1FICdeW14jXSc7IHRo
ZW4gZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKKwlpZiBjYXQgQ1NTVmFsdWVL
ZXl3b3Jkcy5pbiB8IHNlZCAtZSAncy9cKFteLF0qXCkuKi9cMS8nIHwgc29ydCB8IHVuaXEgLWQg
fCBncmVwIC1FICdeW14jXSc7IHRoZW4gZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsg
ZmkKIAkkKFBFUkwpICIkKFdlYkNvcmUpL2Nzcy9tYWtldmFsdWVzLnBsIgogCW12IENTU1ZhbHVl
S2V5d29yZHMqICQoR0VOU09VUkNFU19XRUJDT1JFKQorCW12IENTU0tleXdvcmRDb21wbGV0aW9u
cy5qcyAkKEdFTlNPVVJDRVNfV0VCQ09SRSkKIAogIyBET0NUWVBFIHN0cmluZ3MKIERlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSGFzaFRvb2xzLmg6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRG9jVHlw
ZVN0cmluZ3MuY3BwCkBAIC00ODQ5LDYgKzQ4NTEsNyBAQCBFWFRSQV9ESVNUICs9IFwKIHdlYmlu
c3BlY3RvcmRpciA9ICR7ZGF0YWRpcn0vd2Via2l0Z3RrLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05A
L3dlYmluc3BlY3RvcgogZGlzdF93ZWJpbnNwZWN0b3JfREFUQSA9IFwKIAkkKFdlYkNvcmUpL0Vu
Z2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZFN0dWIuanMgXAogCSQoc2hlbGwgbHMgJChXZWJDb3JlKS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kLyouanMpIFwKIAkkKHNoZWxsIGxzICQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250
LWVuZC8qLmh0bWwpIFwKQEAgLTQ4NjYsNiArNDg2OSw3IEBAICR7R0VOU09VUkNFU19JTlNQRUNU
T1J9L2luc3BlY3Rvci5odG1sOiAkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9udC1lbmQvKi5odG1s
IFwKIAkJJChXZWJDb3JlKS9pbnNwZWN0b3IvZnJvbnQtZW5kLyouanMgXAogCQkkKFdlYkNvcmUp
L2luc3BlY3Rvci9mcm9udC1lbmQvKi5jc3MgXAogCQkkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VzLyogXAorCQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU0tleXdvcmRDb21w
bGV0aW9ucy5qcyBcCiAJCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZFN0
dWIuanMgXAogCQkkKFdlYkNvcmUpL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwog
CSQoQU1fVl9HRU4pbWtkaXIgLXAgJHtHRU5TT1VSQ0VTX0lOU1BFQ1RPUn0vaW1hZ2VzCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cAppbmRleCA2NmI5NWMxLi44OTQ2YTFmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAKQEAgLTM3Myw2ICszNzMsNyBAQAogICAgICAgICAgICAgJy4uL2Nzcy9DU1NQcm9w
ZXJ0eU5hbWVzLmluJywKICAgICAgICAgICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWworICAg
ICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9DU1NLZXl3b3JkQ29t
cGxldGlvbnMuanMnLAogICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dl
YmtpdC9DU1NQcm9wZXJ0eU5hbWVzLmNwcCcsCiAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2Via2l0L0NTU1Byb3BlcnR5TmFtZXMuaCcsCiAgICAgICAgICAgXSwKQEAg
LTM5OSw2ICs0MDAsNyBAQAogICAgICAgICAgICAgJy4uL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
JywKICAgICAgICAgICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWworICAgICAgICAgICAgJzwo
U0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMn
LAogICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9DU1NWYWx1
ZUtleXdvcmRzLmNwcCcsCiAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikv
d2Via2l0L0NTU1ZhbHVlS2V5d29yZHMuaCcsCiAgICAgICAgICAgXSwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5wcmkgYi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IGJjM2Y1OTUuLjVh
ZjU3ZDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnByaQpAQCAtNTM2LDYgKzUzNiw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAKIElOU1BFQ1RP
Ul9JTlRFUkZBQ0VTID0gaW5zcGVjdG9yL0luc3BlY3Rvci5pZGwKIElOU1BFQ1RPUl9CQUNLRU5E
X1NUVUJfUVJDID0gaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5xcmMK
K0NTU19LRVlXT1JEX0NPTVBMRVRJT05TX1FSQyA9IGluc3BlY3Rvci9mcm9udC1lbmQvQ1NTS2V5
d29yZENvbXBsZXRpb25zLnFyYwogCiB2ODogd3JhcHBlckZhY3RvcnlBcmcgPSAtLXdyYXBwZXJG
YWN0b3J5VjgKIGVsc2U6IHdyYXBwZXJGYWN0b3J5QXJnID0gLS13cmFwcGVyRmFjdG9yeQpAQCAt
NTk0LDYgKzU5NSwxMyBAQCBjc3N2YWx1ZXMuZGVwZW5kcyA9ICR7UU1BS0VfRklMRV9OQU1FfSAk
JHtFWFRSQUNTU1ZBTFVFU30gJCRjc3N2YWx1ZXMud2tTY3JpcHQKIGNzc3ZhbHVlcy5jbGVhbiA9
ICR7UU1BS0VfRklMRV9PVVR9ICR7UU1BS0VfVkFSX1dDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUn0v
JHtRTUFLRV9GSUxFX0JBU0V9LmgKIGFkZEV4dHJhQ29tcGlsZXIoY3NzdmFsdWVzKQogCitjc3NL
ZXl3b3JkQ29tcGxldGlvbnMud2tBZGRPdXRwdXRUb1NvdXJjZXMgPSBmYWxzZQorY3NzS2V5d29y
ZENvbXBsZXRpb25zLm91dHB1dCA9IGdlbmVyYXRlZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJj
Citjc3NLZXl3b3JkQ29tcGxldGlvbnMuaW5wdXQgPSBDU1NfS0VZV09SRF9DT01QTEVUSU9OU19R
UkMKK2Nzc0tleXdvcmRDb21wbGV0aW9ucy50ZW1wTmFtZXMgPSAkJFBXRC8kJENTU19LRVlXT1JE
X0NPTVBMRVRJT05TX1FSQyAkJHtXQ19HRU5FUkFURURfU09VUkNFU19ESVJ9L0NTU0tleXdvcmRD
b21wbGV0aW9ucy5xcmMKK2Nzc0tleXdvcmRDb21wbGV0aW9ucy5jb21tYW5kcyA9ICQkUU1BS0Vf
Q09QWSAkJHJlcGxhY2UoY3NzS2V5d29yZENvbXBsZXRpb25zLnRlbXBOYW1lcywgIi8iLCAkJFFN
QUtFX0RJUl9TRVApCithZGRFeHRyYUNvbXBpbGVyKGNzc0tleXdvcmRDb21wbGV0aW9ucykKKwog
IyBHRU5FUkFUT1IgMTogSURMIGNvbXBpbGVyCiBpZGwuaW5wdXQgPSBJRExfQklORElOR1MKIGlk
bC53a1NjcmlwdCA9ICQkUFdEL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmlu
ZGV4IDU1MTk4ZDAuLjExODM0NGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysr
IGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMTU3LDcgKzE1Nyw3IEBAIHN5bWJpYW4gewogUkVT
T1VSQ0VTICs9IFwKICAgICAkJFBXRC8uLi9XZWJDb3JlL1dlYkNvcmUucXJjCiAKLWluY2x1ZGVf
d2ViaW5zcGVjdG9yOiBSRVNPVVJDRVMgKz0gJCRQV0QvLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1dlYktpdC5xcmMgJCRXQ19HRU5FUkFURURfU09VUkNFU19ESVIvSW5zcGVjdG9yQmFj
a2VuZFN0dWIucXJjCitpbmNsdWRlX3dlYmluc3BlY3RvcjogUkVTT1VSQ0VTICs9ICQkUFdELy4u
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjICQkV0NfR0VORVJBVEVEX1NP
VVJDRVNfRElSL0luc3BlY3RvckJhY2tlbmRTdHViLnFyYyAkJFdDX0dFTkVSQVRFRF9TT1VSQ0VT
X0RJUi9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJjCiAKIGVuYWJsZV9mYXN0X21vYmlsZV9zY3Jv
bGxpbmc6IERFRklORVMgKz0gRU5BQkxFX0ZBU1RfTU9CSUxFX1NDUk9MTElORz0xCiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUluc3BlY3RvckZpbGVzLmNtZCBiL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUluc3BlY3RvckZpbGVzLmNtZAppbmRleCAzMTZmZGRj
Li42NDkxMjExIDEwMDc1NQotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlJbnNwZWN0
b3JGaWxlcy5jbWQKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5SW5zcGVjdG9yRmls
ZXMuY21kCkBAIC0xLDUgKzEsNiBAQAogbWtkaXIgMj5OVUwgIiVXZWJLaXRPdXRwdXREaXIlXGJp
blxXZWJLaXQucmVzb3VyY2VzXGluc3BlY3RvciIKIHhjb3B5IC95IC9kIC9zIC9leGNsdWRlOnhj
b3B5LmV4Y2x1ZGVzICIlUHJvamVjdERpciUuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXCoiICIlV2Vi
S2l0T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xpbnNwZWN0b3IiCit4Y29weSAveSAv
ZCAvcyAvZXhjbHVkZTp4Y29weS5leGNsdWRlcyAiJVdlYktpdE91dHB1dERpciVcb2JqXFdlYkNv
cmVcRGVyaXZlZFNvdXJjZXNcQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzIiAiJVdlYktpdE91dHB1
dERpciVcYmluXFdlYktpdC5yZXNvdXJjZXNcaW5zcGVjdG9yIgogeGNvcHkgL3kgL2QgL3MgL2V4
Y2x1ZGU6eGNvcHkuZXhjbHVkZXMgIiVXZWJLaXRPdXRwdXREaXIlXG9ialxXZWJDb3JlXERlcml2
ZWRTb3VyY2VzXEluc3BlY3RvckJhY2tlbmRTdHViLmpzIiAiJVdlYktpdE91dHB1dERpciVcYmlu
XFdlYktpdC5yZXNvdXJjZXNcaW5zcGVjdG9yIgogbWtkaXIgMj5OVUwgIiVXZWJLaXRPdXRwdXRE
aXIlXGJpblxXZWJLaXQucmVzb3VyY2VzXGVuLmxwcm9qIgogeGNvcHkgL3kgL2QgL3MgL2V4Y2x1
ZGU6eGNvcHkuZXhjbHVkZXMgIiVQcm9qZWN0RGlyJS4uXEVuZ2xpc2gubHByb2pcbG9jYWxpemVk
U3RyaW5ncy5qcyIgIiVXZWJLaXRPdXRwdXREaXIlXGJpblxXZWJLaXQucmVzb3VyY2VzXGVuLmxw
cm9qIgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmY2Yz
MDA5Li4xNzQ2ZGQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMjIzNzMsNiArMjIzNzMsNyBAQAogCQkJKTsKIAkJCWlucHV0UGF0aHMgPSAoCiAJCQkJ
IiQoU1JDUk9PVCkvaW5zcGVjdG9yL2Zyb250LWVuZCIsCisJCQkJIiR7QlVJTFRfUFJPRFVDVFNf
RElSfS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcyIsCiAJ
CQkJIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3Rv
ckJhY2tlbmRTdHViLmpzIiwKIAkJCSk7CiAJCQluYW1lID0gIkNvcHkgSW5zcGVjdG9yIFJlc291
cmNlcyI7CkBAIC0yMjM4MSw3ICsyMjM4Miw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hl
bGxTY3JpcHQgPSAiIyBDb3B5IGFsbCB0aGUgSW5zcGVjdG9yIGZyb250LWVuZCByZXNvdXJjZXMu
XG5kaXR0byBcIiR7U1JDUk9PVH0vaW5zcGVjdG9yL2Zyb250LWVuZFwiIFwiJHtUQVJHRVRfQlVJ
TERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yXCJc
bmRpdHRvIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZFN0dWIuanNcIiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpF
RF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiXG5cbiMgUmVtb3ZlIHRoZSBXZWJL
aXQucXJjIGZpbGUgc2luY2UgaXQgaXMgbm90IHVzZWQgb24gdGhlIE1hYyAodGhpcyBmaWxlIGlz
IGZvciBRdCkuXG5ybSAtZiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNP
VVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3Rvci9XZWJLaXQucXJjXCJcblxuIyBSZW1vdmUgKi5y
ZTJqcyBmaWxlcywgdGhleSBhcmUgb25seSB1c2VkIHRvIGdlbmVyYXRlIHNvbWUgLmpzIGZpbGVz
Llxucm0gLWYgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZP
TERFUl9QQVRIfS9pbnNwZWN0b3IvXCIqLnJlMmpzXG5cbiMgUmVtb3ZlIGFueSAuc3ZuIGRpcmVj
dG9yaWVzIHRoYXQgbWF5IGhhdmUgYmVlbiBjb3BpZWQgb3Zlci5cbmZpbmQgXCIke1RBUkdFVF9C
VUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3Jc
IiAtbmFtZSBcIi5zdm5cIiAtdHlwZSBkIHwgeGFyZ3Mgcm0gLXJmXG4iOworCQkJc2hlbGxTY3Jp
cHQgPSAiIyBDb3B5IGFsbCB0aGUgSW5zcGVjdG9yIGZyb250LWVuZCByZXNvdXJjZXMuXG5kaXR0
byBcIiR7U1JDUk9PVH0vaW5zcGVjdG9yL2Zyb250LWVuZFwiIFwiJHtUQVJHRVRfQlVJTERfRElS
fS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yXCJcbmRpdHRv
IFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTS2V5d29y
ZENvbXBsZXRpb25zLmpzXCIgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVT
T1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3JcIlxuZGl0dG8gXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qc1wiIFwi
JHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0v
aW5zcGVjdG9yXCJcblxuIyBSZW1vdmUgdGhlIFdlYktpdC5xcmMgZmlsZSBzaW5jZSBpdCBpcyBu
b3QgdXNlZCBvbiB0aGUgTWFjICh0aGlzIGZpbGUgaXMgZm9yIFF0KS5cbnJtIC1mIFwiJHtUQVJH
RVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVj
dG9yL1dlYktpdC5xcmNcIlxuXG4jIFJlbW92ZSAqLnJlMmpzIGZpbGVzLCB0aGV5IGFyZSBvbmx5
IHVzZWQgdG8gZ2VuZXJhdGUgc29tZSAuanMgZmlsZXMuXG5ybSAtZiBcIiR7VEFSR0VUX0JVSUxE
X0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3Rvci9cIiou
cmUyanNcblxuIyBSZW1vdmUgYW55IC5zdm4gZGlyZWN0b3JpZXMgdGhhdCBtYXkgaGF2ZSBiZWVu
IGNvcGllZCBvdmVyLlxuZmluZCBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9S
RVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiIC1uYW1lIFwiLnN2blwiIC10eXBlIGQg
fCB4YXJncyBybSAtcmZcbiI7CiAJCX07CiAJCTVEMEQ1NDBEMEU5ODYyRjYwMDI5RTIyMyAvKiBD
aGVjayBGb3IgV2VhayBWVGFibGVzIGFuZCBFeHRlcm5hbHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhT
aGVsbFNjcmlwdEJ1aWxkUGhhc2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluIGIvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCBjM2NhMWI1
Li5hMjE2NTNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisr
KyBiL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTE2LDQ0NCArMTYsNDQ0IEBA
IGluaXRpYWwKICMgQ1NTX1BST1BfQk9SREVSX1RPUF9TVFlMRQogIyBDU1NfUFJPUF9CT1JERVJf
Qk9UVE9NX1NUWUxFCiAjIENTU19QUk9QX0JPUkRFUl9MRUZUX1NUWUxFCi1ub25lCi1oaWRkZW4K
LWluc2V0Ci1ncm9vdmUKLXJpZGdlCi1vdXRzZXQKLWRvdHRlZAotZGFzaGVkCi1zb2xpZAotZG91
YmxlCitub25lLG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxi
b3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZSxj
bGVhcixjbGlwLXBhdGgsY3Vyc29yLGRpc3BsYXksZmxvYXQsbGlzdC1zdHlsZS10eXBlLGxpc3Qt
c3R5bGUtaW1hZ2UsbWFycXVlZS1zdHlsZSxtYXgtaGVpZ2h0LG1heC13aWR0aCxwb2ludGVyLWV2
ZW50cyxzcGVhayx0ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0ZXh0
LW92ZXJsaW5lLXN0eWxlLHRleHQtdW5kZXJsaW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlLHRleHQt
dHJhbnNmb3JtLC13ZWJraXQtZm9udC1zbW9vdGhpbmcsLXdlYmtpdC1oeXBoZW5zCitoaWRkZW4s
b3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0eWxlLGJvcmRlci1yaWdo
dC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0eWxlLHZpc2liaWxpdHks
b3ZlcmZsb3csb3ZlcmZsb3cteCxvdmVyZmxvdy15CitpbnNldCxvdXRsaW5lLG91dGxpbmUtc3R5
bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0
b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUKK2dyb292ZSxvdXRsaW5lLG91dGxpbmUtc3R5bGUs
Ym9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20t
c3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUKK3JpZGdlLG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3Jk
ZXIsYm9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHls
ZSxib3JkZXItbGVmdC1zdHlsZQorb3V0c2V0LG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIs
Ym9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxi
b3JkZXItbGVmdC1zdHlsZQorZG90dGVkLG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9y
ZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3Jk
ZXItbGVmdC1zdHlsZSx0ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0
ZXh0LW92ZXJsaW5lLXN0eWxlLHRleHQtdW5kZXJsaW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlCitk
YXNoZWQsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0eWxlLGJvcmRl
ci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0eWxlLHRleHQt
bGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUtc3R5bGUs
dGV4dC11bmRlcmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5bGUKK3NvbGlkLG91dGxpbmUsb3V0bGlu
ZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVy
LWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZSx0ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxp
bmUtdGhyb3VnaC1zdHlsZSx0ZXh0LW92ZXJsaW5lLXN0eWxlLHRleHQtdW5kZXJsaW5lLHRleHQt
dW5kZXJsaW5lLXN0eWxlCitkb3VibGUsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3Jk
ZXItdG9wLXN0eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRl
ci1sZWZ0LXN0eWxlLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLXN0eWxlLHRl
eHQtb3ZlcmxpbmUtc3R5bGUsdGV4dC11bmRlcmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5bGUKICMK
ICMgQ1NTX1BST1BfRk9OVDoKICMKLWNhcHRpb24KLWljb24KLW1lbnUKLW1lc3NhZ2UtYm94Ci1z
bWFsbC1jYXB0aW9uCi0td2Via2l0LW1pbmktY29udHJvbAotLXdlYmtpdC1zbWFsbC1jb250cm9s
Ci0td2Via2l0LWNvbnRyb2wKLXN0YXR1cy1iYXIKK2NhcHRpb24sZm9udAoraWNvbixmb250Citt
ZW51LGZvbnQKK21lc3NhZ2UtYm94LGZvbnQKK3NtYWxsLWNhcHRpb24sZm9udAorLXdlYmtpdC1t
aW5pLWNvbnRyb2wsZm9udAorLXdlYmtpdC1zbWFsbC1jb250cm9sLGZvbnQKKy13ZWJraXQtY29u
dHJvbCxmb250CitzdGF0dXMtYmFyLGZvbnQKIAogIwogIyBDU1NfUFJPUF9GT05UX1NUWUxFOgog
IwotI25vcm1hbAotaXRhbGljCi1vYmxpcXVlCisjbm9ybWFsLGZvbnQsZm9udC1zdHlsZQoraXRh
bGljLGZvbnQsZm9udC1zdHlsZQorb2JsaXF1ZSxmb250LGZvbnQtc3R5bGUKICMgVGhlIGZvbGxv
d2luZyBpcyBvbmx5IGFsbG93ZWQgaW4gQGZvbnQtZmFjZToKLWFsbAorYWxsLHBvaW50ZXItZXZl
bnRzCiAjCiAjIENTU19QUk9QX0ZPTlRfVkFSSUFOVDoKICMKLSNub3JtYWwKLXNtYWxsLWNhcHMK
KyNub3JtYWwsZm9udC12YXJpYW50CitzbWFsbC1jYXBzLGZvbnQtdmFyaWFudAogIwogIyBDU1Nf
UFJPUF9GT05UX1dFSUdIVDoKICMKLW5vcm1hbAotYm9sZAotYm9sZGVyCi1saWdodGVyCi0xMDAK
LTIwMAotMzAwCi00MDAKLTUwMAotNjAwCi03MDAKLTgwMAotOTAwCitub3JtYWwsZm9udC13ZWln
aHQsZm9udC1zdHlsZSxmb250LXZhcmlhbnQsZm9udC1zdHJldGNoLGJveC1kaXJlY3Rpb24sbWFy
cXVlZS1zcGVlZCx3aGl0ZS1zcGFjZSxsZXR0ZXItc3BhY2luZyxsaW5lLWhlaWdodCxzcGVhayx0
ZXh0LWxpbmUtdGhyb3VnaC13aWR0aCx0ZXh0LW92ZXJsaW5lLXdpZHRoLHRleHQtdW5kZXJsaW5l
LXdpZHRoLHVuaWNvZGUtYmlkaSx3b3JkLXdyYXAKK2JvbGQsZm9udC13ZWlnaHQKK2JvbGRlcixm
b250LXdlaWdodAorbGlnaHRlcixmb250LXdlaWdodAorMTAwLGZvbnQtd2VpZ2h0CisyMDAsZm9u
dC13ZWlnaHQKKzMwMCxmb250LXdlaWdodAorNDAwLGZvbnQtd2VpZ2h0Cis1MDAsZm9udC13ZWln
aHQKKzYwMCxmb250LXdlaWdodAorNzAwLGZvbnQtd2VpZ2h0Cis4MDAsZm9udC13ZWlnaHQKKzkw
MCxmb250LXdlaWdodAogIwogIyBDU1NfUFJPUF9GT05UX1NJWkU6CiAjCi14eC1zbWFsbAoteC1z
bWFsbAotc21hbGwKLW1lZGl1bQotbGFyZ2UKLXgtbGFyZ2UKLXh4LWxhcmdlCi0td2Via2l0LXh4
eC1sYXJnZQotc21hbGxlcgotbGFyZ2VyCit4eC1zbWFsbCxmb250LXNpemUKK3gtc21hbGwsZm9u
dC1zaXplCitzbWFsbCxmb250LXNpemUKK21lZGl1bSxmb250LXNpemUsb3V0bGluZS13aWR0aCxi
b3JkZXItd2lkdGgsYm9yZGVyLXRvcC13aWR0aCxib3JkZXItcmlnaHQtd2lkdGgsYm9yZGVyLWJv
dHRvbS13aWR0aCxib3JkZXItbGVmdC13aWR0aCx0ZXh0LWxpbmUtdGhyb3VnaC13aWR0aCx0ZXh0
LW92ZXJsaW5lLXdpZHRoLHRleHQtdW5kZXJsaW5lLXdpZHRoCitsYXJnZSxmb250LXNpemUKK3gt
bGFyZ2UsZm9udC1zaXplCit4eC1sYXJnZSxmb250LXNpemUKKy13ZWJraXQteHh4LWxhcmdlLGZv
bnQtc2l6ZQorc21hbGxlcixmb250LXNpemUKK2xhcmdlcixmb250LXNpemUKICMKICMgQ1NTX1BS
T1BfRk9OVF9TVFJFVENIOgogIwotI25vcm1hbAotd2lkZXIKLW5hcnJvd2VyCi11bHRyYS1jb25k
ZW5zZWQKLWV4dHJhLWNvbmRlbnNlZAotY29uZGVuc2VkCi1zZW1pLWNvbmRlbnNlZAotc2VtaS1l
eHBhbmRlZAotZXhwYW5kZWQKLWV4dHJhLWV4cGFuZGVkCi11bHRyYS1leHBhbmRlZAorI25vcm1h
bCxmb250LXN0cmV0Y2gKK3dpZGVyLGZvbnQtc3RyZXRjaAorbmFycm93ZXIsZm9udC1zdHJldGNo
Cit1bHRyYS1jb25kZW5zZWQsZm9udC1zdHJldGNoCitleHRyYS1jb25kZW5zZWQsZm9udC1zdHJl
dGNoCitjb25kZW5zZWQsZm9udC1zdHJldGNoCitzZW1pLWNvbmRlbnNlZCxmb250LXN0cmV0Y2gK
K3NlbWktZXhwYW5kZWQsZm9udC1zdHJldGNoCitleHBhbmRlZCxmb250LXN0cmV0Y2gKK2V4dHJh
LWV4cGFuZGVkLGZvbnQtc3RyZXRjaAordWx0cmEtZXhwYW5kZWQsZm9udC1zdHJldGNoCiAjCiAj
IENTU19QUk9QX0dFTkVSSUNfRk9OVF9GQU1JTFk6CiAjCi1zZXJpZgotc2Fucy1zZXJpZgotY3Vy
c2l2ZQotZmFudGFzeQotbW9ub3NwYWNlCi0td2Via2l0LWJvZHkKK3NlcmlmLGZvbnQtZmFtaWx5
CitzYW5zLXNlcmlmLGZvbnQtZmFtaWx5CitjdXJzaXZlLGZvbnQtZmFtaWx5CitmYW50YXN5LGZv
bnQtZmFtaWx5Cittb25vc3BhY2UsZm9udC1mYW1pbHkKKy13ZWJraXQtYm9keSxmb250LWZhbWls
eQogIwogIwogIyBDU1NfUFJPUF8qX0NPTE9SCiAjCi1hcXVhCi1ibGFjawotYmx1ZQotZnVjaHNp
YQotZ3JheQotZ3JlZW4KLWxpbWUKLW1hcm9vbgotbmF2eQotb2xpdmUKLW9yYW5nZQotcHVycGxl
Ci1yZWQKLXNpbHZlcgotdGVhbAotd2hpdGUKLXllbGxvdwotdHJhbnNwYXJlbnQKLS13ZWJraXQt
bGluawotLXdlYmtpdC1hY3RpdmVsaW5rCi1hY3RpdmVib3JkZXIKLWFjdGl2ZWNhcHRpb24KLWFw
cHdvcmtzcGFjZQotYmFja2dyb3VuZAotYnV0dG9uZmFjZQotYnV0dG9uaGlnaGxpZ2h0Ci1idXR0
b25zaGFkb3cKLWJ1dHRvbnRleHQKLWNhcHRpb250ZXh0Ci1ncmF5dGV4dAotaGlnaGxpZ2h0Ci1o
aWdobGlnaHR0ZXh0Ci1pbmFjdGl2ZWJvcmRlcgotaW5hY3RpdmVjYXB0aW9uCi1pbmFjdGl2ZWNh
cHRpb250ZXh0Ci1pbmZvYmFja2dyb3VuZAotaW5mb3RleHQKLW1hdGNoCi1tZW51dGV4dAotc2Ny
b2xsYmFyCi10aHJlZWRkYXJrc2hhZG93Ci10aHJlZWRmYWNlCi10aHJlZWRoaWdobGlnaHQKLXRo
cmVlZGxpZ2h0c2hhZG93Ci10aHJlZWRzaGFkb3cKLXdpbmRvdwotd2luZG93ZnJhbWUKLXdpbmRv
d3RleHQKLS13ZWJraXQtZm9jdXMtcmluZy1jb2xvcgotY3VycmVudGNvbG9yCithcXVhLF9jb2xv
cl8KK2JsYWNrLF9jb2xvcl8KK2JsdWUsX2NvbG9yXworZnVjaHNpYSxfY29sb3JfCitncmF5LF9j
b2xvcl8KK2dyZWVuLF9jb2xvcl8KK2xpbWUsX2NvbG9yXworbWFyb29uLF9jb2xvcl8KK25hdnks
X2NvbG9yXworb2xpdmUsX2NvbG9yXworb3JhbmdlLF9jb2xvcl8KK3B1cnBsZSxfY29sb3JfCity
ZWQsX2NvbG9yXworc2lsdmVyLF9jb2xvcl8KK3RlYWwsX2NvbG9yXword2hpdGUsX2NvbG9yXwor
eWVsbG93LF9jb2xvcl8KK3RyYW5zcGFyZW50LF9jb2xvcl8KKy13ZWJraXQtbGluayxfY29sb3Jf
Cistd2Via2l0LWFjdGl2ZWxpbmssX2NvbG9yXworYWN0aXZlYm9yZGVyLF9jb2xvcl8KK2FjdGl2
ZWNhcHRpb24sX2NvbG9yXworYXBwd29ya3NwYWNlLF9jb2xvcl8KK2JhY2tncm91bmQsX2NvbG9y
XworYnV0dG9uZmFjZSxfY29sb3JfCitidXR0b25oaWdobGlnaHQsX2NvbG9yXworYnV0dG9uc2hh
ZG93LF9jb2xvcl8KK2J1dHRvbnRleHQsX2NvbG9yXworY2FwdGlvbnRleHQsX2NvbG9yXworZ3Jh
eXRleHQsX2NvbG9yXworaGlnaGxpZ2h0LF9jb2xvcl8sLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBv
c2l0ZQoraGlnaGxpZ2h0dGV4dCxfY29sb3JfCitpbmFjdGl2ZWJvcmRlcixfY29sb3JfCitpbmFj
dGl2ZWNhcHRpb24sX2NvbG9yXworaW5hY3RpdmVjYXB0aW9udGV4dCxfY29sb3JfCitpbmZvYmFj
a2dyb3VuZCxfY29sb3JfCitpbmZvdGV4dCxfY29sb3JfCittYXRjaCxfY29sb3JfCittZW51dGV4
dCxfY29sb3JfCitzY3JvbGxiYXIsX2NvbG9yXwordGhyZWVkZGFya3NoYWRvdyxfY29sb3JfCit0
aHJlZWRmYWNlLF9jb2xvcl8KK3RocmVlZGhpZ2hsaWdodCxfY29sb3JfCit0aHJlZWRsaWdodHNo
YWRvdyxfY29sb3JfCit0aHJlZWRzaGFkb3csX2NvbG9yXword2luZG93LF9jb2xvcl8KK3dpbmRv
d2ZyYW1lLF9jb2xvcl8KK3dpbmRvd3RleHQsX2NvbG9yXworLXdlYmtpdC1mb2N1cy1yaW5nLWNv
bG9yLF9jb2xvcl8KK2N1cnJlbnRjb2xvcixfY29sb3JfCiAjCiAjIGNvbG9ycyBpbiBub24gc3Ry
aWN0IG1vZGUKLWdyZXkKLS13ZWJraXQtdGV4dAorZ3JleSxfY29sb3JfCistd2Via2l0LXRleHQs
X2NvbG9yXwogIwogIyBDU1NfUFJPUF9CQUNLR1JPVU5EX1JFUEVBVDoKICMKLXJlcGVhdAotcmVw
ZWF0LXgKLXJlcGVhdC15Ci1uby1yZXBlYXQKLSMgcm91bmQKLSMgc3BhY2UKK3JlcGVhdCxiYWNr
Z3JvdW5kLXJlcGVhdCxib3JkZXItaW1hZ2UKK3JlcGVhdC14LGJhY2tncm91bmQtcmVwZWF0City
ZXBlYXQteSxiYWNrZ3JvdW5kLXJlcGVhdAorbm8tcmVwZWF0LGJhY2tncm91bmQtcmVwZWF0Cisj
IHJvdW5kLGJhY2tncm91bmQtcmVwZWF0CisjIHNwYWNlLGJhY2tncm91bmQtcmVwZWF0CiAjCiAj
IENTU19QUk9QX19XRUJLSVRfQkFDS0dST1VORF9DT01QT1NJVEU6CiAjCi1jbGVhcgotY29weQot
c291cmNlLW92ZXIKLXNvdXJjZS1pbgotc291cmNlLW91dAotc291cmNlLWF0b3AKLWRlc3RpbmF0
aW9uLW92ZXIKLWRlc3RpbmF0aW9uLWluCi1kZXN0aW5hdGlvbi1vdXQKLWRlc3RpbmF0aW9uLWF0
b3AKLXhvcgotcGx1cy1kYXJrZXIKLSMgaGlnaGxpZ2h0Ci1wbHVzLWxpZ2h0ZXIKK2NsZWFyLC13
ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2NvcHksLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBv
c2l0ZSxjdXJzb3IKK3NvdXJjZS1vdmVyLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3Nv
dXJjZS1pbiwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitzb3VyY2Utb3V0LC13ZWJraXQt
YmFja2dyb3VuZC1jb21wb3NpdGUKK3NvdXJjZS1hdG9wLC13ZWJraXQtYmFja2dyb3VuZC1jb21w
b3NpdGUKK2Rlc3RpbmF0aW9uLW92ZXIsLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQorZGVz
dGluYXRpb24taW4sLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQorZGVzdGluYXRpb24tb3V0
LC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2Rlc3RpbmF0aW9uLWF0b3AsLXdlYmtpdC1i
YWNrZ3JvdW5kLWNvbXBvc2l0ZQoreG9yLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3Bs
dXMtZGFya2VyLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKKyMgaGlnaGxpZ2h0LC13ZWJr
aXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3BsdXMtbGlnaHRlciwtd2Via2l0LWJhY2tncm91bmQt
Y29tcG9zaXRlCiAjCiAjIENTU19QUk9QX1ZFUlRJQ0FMX0FMSUdOOgogIwotYmFzZWxpbmUKLW1p
ZGRsZQotc3ViCi1zdXBlcgotdGV4dC10b3AKLXRleHQtYm90dG9tCi10b3AKLWJvdHRvbQorYmFz
ZWxpbmUsdmVydGljYWwtYWxpZ24sYWxpZ25tZW50LWJhc2VsaW5lLGJhc2VsaW5lLXNoaWZ0LGJv
eC1hbGlnbgorbWlkZGxlLHZlcnRpY2FsLWFsaWduLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFu
dC1iYXNlbGluZQorc3ViLHZlcnRpY2FsLWFsaWduLGJhc2VsaW5lLXNoaWZ0CitzdXBlcix2ZXJ0
aWNhbC1hbGlnbixiYXNlbGluZS1zaGlmdAordGV4dC10b3AsdmVydGljYWwtYWxpZ24KK3RleHQt
Ym90dG9tLHZlcnRpY2FsLWFsaWduCit0b3AsdmVydGljYWwtYWxpZ24KK2JvdHRvbSx2ZXJ0aWNh
bC1hbGlnbgogIyBIVE1MIGFsaWdubWVudCBNSURETEUgaGFzIG5vIGNvcnJlc3BvbmRpbmcgQ1NT
IGFsaWdubWVudAotLXdlYmtpdC1iYXNlbGluZS1taWRkbGUKKy13ZWJraXQtYmFzZWxpbmUtbWlk
ZGxlLHZlcnRpY2FsLWFsaWduCiAjCiAjIENTU19QUk9QX1RFWFRfQUxJR046CiAjCi0td2Via2l0
LWF1dG8KLWxlZnQKLXJpZ2h0Ci1jZW50ZXIKLWp1c3RpZnkKLS13ZWJraXQtbGVmdAotLXdlYmtp
dC1yaWdodAotLXdlYmtpdC1jZW50ZXIKKy13ZWJraXQtYXV0byx0ZXh0LWFsaWduCitsZWZ0LHRl
eHQtYWxpZ24sY2xlYXIsZmxvYXQsbWFycXVlZS1kaXJlY3Rpb24sYm94LXJlZmxlY3QscGFnZS1i
cmVhay1hZnRlcixwYWdlLWJyZWFrLWJlZm9yZQorcmlnaHQsdGV4dC1hbGlnbixjbGVhcixmbG9h
dCxtYXJxdWVlLWRpcmVjdGlvbixib3gtcmVmbGVjdCxwYWdlLWJyZWFrLWFmdGVyLHBhZ2UtYnJl
YWstYmVmb3JlCitjZW50ZXIsdGV4dC1hbGlnbixib3gtYWxpZ24KK2p1c3RpZnksdGV4dC1hbGln
bgorLXdlYmtpdC1sZWZ0LHRleHQtYWxpZ24KKy13ZWJraXQtcmlnaHQsdGV4dC1hbGlnbgorLXdl
YmtpdC1jZW50ZXIsdGV4dC1hbGlnbgogIwogIyBDU1NfUFJPUF9MSVNUX1NUWUxFX1BPU0lUSU9O
OgogIwotb3V0c2lkZQotaW5zaWRlCitvdXRzaWRlLGxpc3Qtc3R5bGUtcG9zaXRpb24KK2luc2lk
ZSxsaXN0LXN0eWxlLXBvc2l0aW9uCiAjCiAjIENTU19QUk9QX0xJU1RfU1RZTEVfVFlQRToKICMK
LWRpc2MKLWNpcmNsZQotc3F1YXJlCi1kZWNpbWFsCi1kZWNpbWFsLWxlYWRpbmctemVybwotYXJh
YmljLWluZGljCi1iaW5hcnkKLWJlbmdhbGkKLWNhbWJvZGlhbgota2htZXIKLWRldmFuYWdhcmkK
LWd1amFyYXRpCi1ndXJtdWtoaQota2FubmFkYQotbG93ZXItaGV4YWRlY2ltYWwKLWxhbwotbWFs
YXlhbGFtCi1tb25nb2xpYW4KLW15YW5tYXIKLW9jdGFsCi1vcml5YQotcGVyc2lhbgotdXJkdQot
dGVsdWd1Ci10aWJldGFuCi10aGFpCi11cHBlci1oZXhhZGVjaW1hbAotbG93ZXItcm9tYW4KLXVw
cGVyLXJvbWFuCi1sb3dlci1ncmVlawotbG93ZXItYWxwaGEKLWxvd2VyLWxhdGluCi11cHBlci1h
bHBoYQotdXBwZXItbGF0aW4KLWFmYXIKLWV0aGlvcGljLWhhbGVoYW1lLWFhLWV0Ci1ldGhpb3Bp
Yy1oYWxlaGFtZS1hYS1lcgotYW1oYXJpYwotZXRoaW9waWMtaGFsZWhhbWUtYW0tZXQKLWFtaGFy
aWMtYWJlZ2VkZQotZXRoaW9waWMtYWJlZ2VkZS1hbS1ldAotY2prLWVhcnRobHktYnJhbmNoCi1j
amstaGVhdmVubHktc3RlbQotZXRoaW9waWMKLWV0aGlvcGljLWhhbGVoYW1lLWdlegotZXRoaW9w
aWMtYWJlZ2VkZQotZXRoaW9waWMtYWJlZ2VkZS1nZXoKLWhhbmd1bC1jb25zb25hbnQKLWhhbmd1
bAotbG93ZXItbm9yd2VnaWFuCi1vcm9tbwotZXRoaW9waWMtaGFsZWhhbWUtb20tZXQKLXNpZGFt
YQotZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0Ci1zb21hbGkKLWV0aGlvcGljLWhhbGVoYW1lLXNv
LWV0Ci10aWdyZQotZXRoaW9waWMtaGFsZWhhbWUtdGlnCi10aWdyaW55YS1lcgotZXRoaW9waWMt
aGFsZWhhbWUtdGktZXIKLXRpZ3JpbnlhLWVyLWFiZWdlZGUKLWV0aGlvcGljLWFiZWdlZGUtdGkt
ZXIKLXRpZ3JpbnlhLWV0Ci1ldGhpb3BpYy1oYWxlaGFtZS10aS1ldAotdGlncmlueWEtZXQtYWJl
Z2VkZQotZXRoaW9waWMtYWJlZ2VkZS10aS1ldAotdXBwZXItZ3JlZWsKLXVwcGVyLW5vcndlZ2lh
bgotYXN0ZXJpc2tzCi1mb290bm90ZXMKLWhlYnJldwotYXJtZW5pYW4KLWxvd2VyLWFybWVuaWFu
Ci11cHBlci1hcm1lbmlhbgotZ2VvcmdpYW4KLWNqay1pZGVvZ3JhcGhpYwotaGlyYWdhbmEKLWth
dGFrYW5hCi1oaXJhZ2FuYS1pcm9oYQota2F0YWthbmEtaXJvaGEKLSNub25lCitkaXNjLGxpc3Qt
c3R5bGUtdHlwZQorY2lyY2xlLGxpc3Qtc3R5bGUtdHlwZSwtd2Via2l0LXRleHQtZW1waGFzaXMt
c3R5bGUKK3NxdWFyZSxsaXN0LXN0eWxlLXR5cGUKK2RlY2ltYWwsbGlzdC1zdHlsZS10eXBlCitk
ZWNpbWFsLWxlYWRpbmctemVybyxsaXN0LXN0eWxlLXR5cGUKK2FyYWJpYy1pbmRpYyxsaXN0LXN0
eWxlLXR5cGUKK2JpbmFyeSxsaXN0LXN0eWxlLXR5cGUKK2JlbmdhbGksbGlzdC1zdHlsZS10eXBl
CitjYW1ib2RpYW4sbGlzdC1zdHlsZS10eXBlCitraG1lcixsaXN0LXN0eWxlLXR5cGUKK2RldmFu
YWdhcmksbGlzdC1zdHlsZS10eXBlCitndWphcmF0aSxsaXN0LXN0eWxlLXR5cGUKK2d1cm11a2hp
LGxpc3Qtc3R5bGUtdHlwZQora2FubmFkYSxsaXN0LXN0eWxlLXR5cGUKK2xvd2VyLWhleGFkZWNp
bWFsLGxpc3Qtc3R5bGUtdHlwZQorbGFvLGxpc3Qtc3R5bGUtdHlwZQorbWFsYXlhbGFtLGxpc3Qt
c3R5bGUtdHlwZQorbW9uZ29saWFuLGxpc3Qtc3R5bGUtdHlwZQorbXlhbm1hcixsaXN0LXN0eWxl
LXR5cGUKK29jdGFsLGxpc3Qtc3R5bGUtdHlwZQorb3JpeWEsbGlzdC1zdHlsZS10eXBlCitwZXJz
aWFuLGxpc3Qtc3R5bGUtdHlwZQordXJkdSxsaXN0LXN0eWxlLXR5cGUKK3RlbHVndSxsaXN0LXN0
eWxlLXR5cGUKK3RpYmV0YW4sbGlzdC1zdHlsZS10eXBlCit0aGFpLGxpc3Qtc3R5bGUtdHlwZQor
dXBwZXItaGV4YWRlY2ltYWwsbGlzdC1zdHlsZS10eXBlCitsb3dlci1yb21hbixsaXN0LXN0eWxl
LXR5cGUKK3VwcGVyLXJvbWFuLGxpc3Qtc3R5bGUtdHlwZQorbG93ZXItZ3JlZWssbGlzdC1zdHls
ZS10eXBlCitsb3dlci1hbHBoYSxsaXN0LXN0eWxlLXR5cGUKK2xvd2VyLWxhdGluLGxpc3Qtc3R5
bGUtdHlwZQordXBwZXItYWxwaGEsbGlzdC1zdHlsZS10eXBlCit1cHBlci1sYXRpbixsaXN0LXN0
eWxlLXR5cGUKK2FmYXIsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS1hYS1ldCxs
aXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLWFhLWVyLGxpc3Qtc3R5bGUtdHlwZQor
YW1oYXJpYyxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLWFtLWV0LGxpc3Qtc3R5
bGUtdHlwZQorYW1oYXJpYy1hYmVnZWRlLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtYWJlZ2Vk
ZS1hbS1ldCxsaXN0LXN0eWxlLXR5cGUKK2Nqay1lYXJ0aGx5LWJyYW5jaCxsaXN0LXN0eWxlLXR5
cGUKK2Nqay1oZWF2ZW5seS1zdGVtLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMsbGlzdC1zdHls
ZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS1nZXosbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1h
YmVnZWRlLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtYWJlZ2VkZS1nZXosbGlzdC1zdHlsZS10
eXBlCitoYW5ndWwtY29uc29uYW50LGxpc3Qtc3R5bGUtdHlwZQoraGFuZ3VsLGxpc3Qtc3R5bGUt
dHlwZQorbG93ZXItbm9yd2VnaWFuLGxpc3Qtc3R5bGUtdHlwZQorb3JvbW8sbGlzdC1zdHlsZS10
eXBlCitldGhpb3BpYy1oYWxlaGFtZS1vbS1ldCxsaXN0LXN0eWxlLXR5cGUKK3NpZGFtYSxsaXN0
LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCxsaXN0LXN0eWxlLXR5cGUKK3Nv
bWFsaSxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLXNvLWV0LGxpc3Qtc3R5bGUt
dHlwZQordGlncmUsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS10aWcsbGlzdC1z
dHlsZS10eXBlCit0aWdyaW55YS1lcixsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1l
LXRpLWVyLGxpc3Qtc3R5bGUtdHlwZQordGlncmlueWEtZXItYWJlZ2VkZSxsaXN0LXN0eWxlLXR5
cGUKK2V0aGlvcGljLWFiZWdlZGUtdGktZXIsbGlzdC1zdHlsZS10eXBlCit0aWdyaW55YS1ldCxs
aXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLXRpLWV0LGxpc3Qtc3R5bGUtdHlwZQor
dGlncmlueWEtZXQtYWJlZ2VkZSxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWFiZWdlZGUtdGkt
ZXQsbGlzdC1zdHlsZS10eXBlCit1cHBlci1ncmVlayxsaXN0LXN0eWxlLXR5cGUKK3VwcGVyLW5v
cndlZ2lhbixsaXN0LXN0eWxlLXR5cGUKK2FzdGVyaXNrcyxsaXN0LXN0eWxlLXR5cGUKK2Zvb3Ru
b3RlcyxsaXN0LXN0eWxlLXR5cGUKK2hlYnJldyxsaXN0LXN0eWxlLXR5cGUKK2FybWVuaWFuLGxp
c3Qtc3R5bGUtdHlwZQorbG93ZXItYXJtZW5pYW4sbGlzdC1zdHlsZS10eXBlCit1cHBlci1hcm1l
bmlhbixsaXN0LXN0eWxlLXR5cGUKK2dlb3JnaWFuLGxpc3Qtc3R5bGUtdHlwZQorY2prLWlkZW9n
cmFwaGljLGxpc3Qtc3R5bGUtdHlwZQoraGlyYWdhbmEsbGlzdC1zdHlsZS10eXBlCitrYXRha2Fu
YSxsaXN0LXN0eWxlLXR5cGUKK2hpcmFnYW5hLWlyb2hhLGxpc3Qtc3R5bGUtdHlwZQora2F0YWth
bmEtaXJvaGEsbGlzdC1zdHlsZS10eXBlCisjbm9uZSxsaXN0LXN0eWxlLXR5cGUKICMKICMgQ1NT
X1BST1BfRElTUExBWToKICMKLWlubGluZQotYmxvY2sKLWxpc3QtaXRlbQotcnVuLWluCi1jb21w
YWN0Ci1pbmxpbmUtYmxvY2sKLXRhYmxlCi1pbmxpbmUtdGFibGUKLXRhYmxlLXJvdy1ncm91cAot
dGFibGUtaGVhZGVyLWdyb3VwCi10YWJsZS1mb290ZXItZ3JvdXAKLXRhYmxlLXJvdwotdGFibGUt
Y29sdW1uLWdyb3VwCi10YWJsZS1jb2x1bW4KLXRhYmxlLWNlbGwKLXRhYmxlLWNhcHRpb24KLS13
ZWJraXQtYm94Ci0td2Via2l0LWlubGluZS1ib3gKLS13YXAtbWFycXVlZQotI25vbmUKK2lubGlu
ZSxkaXNwbGF5CitibG9jayxkaXNwbGF5CitsaXN0LWl0ZW0sZGlzcGxheSxjb250ZW50CitydW4t
aW4sZGlzcGxheQorY29tcGFjdCxkaXNwbGF5CitpbmxpbmUtYmxvY2ssZGlzcGxheQordGFibGUs
ZGlzcGxheQoraW5saW5lLXRhYmxlLGRpc3BsYXkKK3RhYmxlLXJvdy1ncm91cCxkaXNwbGF5Cit0
YWJsZS1oZWFkZXItZ3JvdXAsZGlzcGxheQordGFibGUtZm9vdGVyLWdyb3VwLGRpc3BsYXkKK3Rh
YmxlLXJvdyxkaXNwbGF5Cit0YWJsZS1jb2x1bW4tZ3JvdXAsZGlzcGxheQordGFibGUtY29sdW1u
LGRpc3BsYXkKK3RhYmxlLWNlbGwsZGlzcGxheQordGFibGUtY2FwdGlvbixkaXNwbGF5Cistd2Vi
a2l0LWJveCxkaXNwbGF5Cistd2Via2l0LWlubGluZS1ib3gsZGlzcGxheQorLXdhcC1tYXJxdWVl
LGRpc3BsYXkKKyNub25lLGRpc3BsYXkKICMKICMgQ1NTX1BST1BfQ1VSU09SOgogIwotYXV0bwot
Y3Jvc3NoYWlyCi1kZWZhdWx0Ci1wb2ludGVyCi1tb3ZlCi12ZXJ0aWNhbC10ZXh0Ci1jZWxsCi1j
b250ZXh0LW1lbnUKLWFsaWFzCi0jIGNvcHkKLXByb2dyZXNzCi1uby1kcm9wCi1ub3QtYWxsb3dl
ZAotLXdlYmtpdC16b29tLWluCi0td2Via2l0LXpvb20tb3V0Ci1lLXJlc2l6ZQotbmUtcmVzaXpl
Ci1udy1yZXNpemUKLW4tcmVzaXplCi1zZS1yZXNpemUKLXN3LXJlc2l6ZQotcy1yZXNpemUKLXct
cmVzaXplCi1ldy1yZXNpemUKLW5zLXJlc2l6ZQotbmVzdy1yZXNpemUKLW53c2UtcmVzaXplCi1j
b2wtcmVzaXplCi1yb3ctcmVzaXplCi10ZXh0Ci13YWl0Ci1oZWxwCi1hbGwtc2Nyb2xsCi0td2Vi
a2l0LWdyYWIKLS13ZWJraXQtZ3JhYmJpbmcKLSMgbm9uZQorYXV0byxjdXJzb3IsYWxpZ25tZW50
LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lLGNvbG9yLXJlbmRlcmluZyxpbWFnZS1yZW5kZXJp
bmcsbWFyZ2luLG1hcmdpbi10b3AsbWFyZ2luLXJpZ2h0LG1hcmdpbi1ib3R0b20sbWFyZ2luLWxl
ZnQsbWFycXVlZS1kaXJlY3Rpb24sb3ZlcmZsb3csb3ZlcmZsb3cteCxvdmVyZmxvdy15LHBhZ2Ut
YnJlYWstYWZ0ZXIscGFnZS1icmVhay1iZWZvcmUscGFnZS1icmVhay1pbnNpZGUscG9pbnRlci1l
dmVudHMsdGFibGUtbGF5b3V0LHRleHQtbGluZS10aHJvdWdoLXdpZHRoLHRleHQtb3ZlcmxpbmUt
d2lkdGgsdGV4dC11bmRlcmxpbmUtd2lkdGgsdGV4dC1yZW5kZXJpbmcsLXdlYmtpdC1mb250LXNt
b290aGluZywtd2Via2l0LWh5cGhlbnMKK2Nyb3NzaGFpcixjdXJzb3IKK2RlZmF1bHQsY3Vyc29y
LC13ZWJraXQtY29sb3ItY29ycmVjdGlvbgorcG9pbnRlcixjdXJzb3IKK21vdmUsY3Vyc29yCit2
ZXJ0aWNhbC10ZXh0LGN1cnNvcgorY2VsbCxjdXJzb3IKK2NvbnRleHQtbWVudSxjdXJzb3IKK2Fs
aWFzLGN1cnNvcgorIyBjb3B5LGN1cnNvcgorcHJvZ3Jlc3MsY3Vyc29yCituby1kcm9wLGN1cnNv
cgorbm90LWFsbG93ZWQsY3Vyc29yCistd2Via2l0LXpvb20taW4sY3Vyc29yCistd2Via2l0LXpv
b20tb3V0LGN1cnNvcgorZS1yZXNpemUsY3Vyc29yCituZS1yZXNpemUsY3Vyc29yCitudy1yZXNp
emUsY3Vyc29yCituLXJlc2l6ZSxjdXJzb3IKK3NlLXJlc2l6ZSxjdXJzb3IKK3N3LXJlc2l6ZSxj
dXJzb3IKK3MtcmVzaXplLGN1cnNvcgordy1yZXNpemUsY3Vyc29yCitldy1yZXNpemUsY3Vyc29y
Citucy1yZXNpemUsY3Vyc29yCituZXN3LXJlc2l6ZSxjdXJzb3IKK253c2UtcmVzaXplLGN1cnNv
cgorY29sLXJlc2l6ZSxjdXJzb3IKK3Jvdy1yZXNpemUsY3Vyc29yCit0ZXh0LGN1cnNvcgord2Fp
dCxjdXJzb3IKK2hlbHAsY3Vyc29yCithbGwtc2Nyb2xsLGN1cnNvcgorLXdlYmtpdC1ncmFiLGN1
cnNvcgorLXdlYmtpdC1ncmFiYmluZyxjdXJzb3IKKyMgbm9uZSxjdXJzb3IKICMKICMgQ1NTX1BS
T1BfRElSRUNUSU9OOgogIwotbHRyCi1ydGwKK2x0cixkaXJlY3Rpb24KK3J0bCxkaXJlY3Rpb24K
ICMKICMgQ1NTX1BST1BfVEVYVF9UUkFOU0ZPUk06CiAjCi1jYXBpdGFsaXplCi11cHBlcmNhc2UK
LWxvd2VyY2FzZQotI25vbmUKK2NhcGl0YWxpemUsdGV4dC10cmFuc2Zvcm0KK3VwcGVyY2FzZSx0
ZXh0LXRyYW5zZm9ybQorbG93ZXJjYXNlLHRleHQtdHJhbnNmb3JtCisjbm9uZSx0ZXh0LXRyYW5z
Zm9ybQogIwogIyBDU1NfUFJPUF9WSVNJQklMSVRZOgogIwotdmlzaWJsZQotI2hpZGRlbgotY29s
bGFwc2UKK3Zpc2libGUsdmlzaWJpbGl0eSxvdmVyZmxvdyxvdmVyZmxvdy14LG92ZXJmbG93LXks
cG9pbnRlci1ldmVudHMKKyNoaWRkZW4sdmlzaWJpbGl0eQorY29sbGFwc2UsdmlzaWJpbGl0eSxi
b3JkZXItY29sbGFwc2UsbWFyZ2luLWJlZm9yZS1jb2xsYXBzZSxtYXJnaW4tYWZ0ZXItY29sbGFw
c2UsbWFyZ2luLXRvcC1jb2xsYXBzZSxtYXJnaW4tYm90dG9tLWNvbGxhcHNlCiAjCiAjIFVub3Jk
ZXJlZCByZXN0CiAjCi1hMwotYTQKLWE1Ci1hYm92ZQotYWJzb2x1dGUKLWFsd2F5cwotYXZvaWQK
LWI0Ci1iNQotYmVsb3cKLWJpZGktb3ZlcnJpZGUKLWJsaW5rCi1ib3RoCi1jbG9zZS1xdW90ZQor
YTMsc2l6ZQorYTQsc2l6ZQorYTUsc2l6ZQorYWJvdmUsYm94LXJlZmxlY3QKK2Fic29sdXRlLHBv
c2l0aW9uCithbHdheXMscGFnZS1icmVhay1hZnRlcixwYWdlLWJyZWFrLWJlZm9yZQorYXZvaWQs
cGFnZS1icmVhay1hZnRlcixwYWdlLWJyZWFrLWJlZm9yZSxwYWdlLWJyZWFrLWluc2lkZQorYjQs
c2l6ZQorYjUsc2l6ZQorYmVsb3csYm94LXJlZmxlY3QKK2JpZGktb3ZlcnJpZGUsdW5pY29kZS1i
aWRpCitibGluayx0ZXh0LWRlY29yYXRpb24KK2JvdGgsY2xlYXIKK2Nsb3NlLXF1b3RlLGNvbnRl
bnQKIGNyb3AKIGNyb3NzCi1lbWJlZAotZml4ZWQKK2VtYmVkLHVuaWNvZGUtYmlkaQorZml4ZWQs
cG9zaXRpb24sdGFibGUtbGF5b3V0CiBoYW5kCi1oaWRlCitoaWRlLGVtcHR5LWNlbGxzCiBoaWdo
ZXIKLWludmVydAotbGFuZHNjYXBlCi1sZWRnZXIKLWxlZ2FsCi1sZXR0ZXIKK2ludmVydCxvdXRs
aW5lLWNvbG9yCitsYW5kc2NhcGUsc2l6ZQorbGVkZ2VyLHNpemUKK2xlZ2FsLHNpemUKK2xldHRl
cixzaXplCiBsZXZlbAotbGluZS10aHJvdWdoCitsaW5lLXRocm91Z2gsdGV4dC1kZWNvcmF0aW9u
CiBsb2NhbAogbG91ZAogbG93ZXIKIC13ZWJraXQtbWFycXVlZQogbWl4Ci1uby1jbG9zZS1xdW90
ZQotbm8tb3Blbi1xdW90ZQotbm93cmFwCi1vcGVuLXF1b3RlCi1vdmVybGF5Ci1vdmVybGluZQot
cG9ydHJhaXQKLXByZQotcHJlLWxpbmUKLXByZS13cmFwCi1yZWxhdGl2ZQotc2Nyb2xsCi1zZXBh
cmF0ZQotc2hvdwotc3RhdGljCi10aGljawotdGhpbgotdW5kZXJsaW5lCituby1jbG9zZS1xdW90
ZSxjb250ZW50Cituby1vcGVuLXF1b3RlLGNvbnRlbnQKK25vd3JhcCx3aGl0ZS1zcGFjZQorb3Bl
bi1xdW90ZSxjb250ZW50CitvdmVybGF5LG92ZXJmbG93LG92ZXJmbG93LXgsb3ZlcmZsb3cteQor
b3ZlcmxpbmUsdGV4dC1kZWNvcmF0aW9uCitwb3J0cmFpdCxzaXplCitwcmUsd2hpdGUtc3BhY2UK
K3ByZS1saW5lLHdoaXRlLXNwYWNlCitwcmUtd3JhcCx3aGl0ZS1zcGFjZQorcmVsYXRpdmUscG9z
aXRpb24KK3Njcm9sbCxtYXJxdWVlLXN0eWxlLG92ZXJmbG93LG92ZXJmbG93LXgsb3ZlcmZsb3ct
eQorc2VwYXJhdGUsYm9yZGVyLWNvbGxhcHNlLG1hcmdpbi1iZWZvcmUtY29sbGFwc2UsbWFyZ2lu
LWFmdGVyLWNvbGxhcHNlLG1hcmdpbi10b3AtY29sbGFwc2UsbWFyZ2luLWJvdHRvbS1jb2xsYXBz
ZQorc2hvdyxlbXB0eS1jZWxscworc3RhdGljLHBvc2l0aW9uCit0aGljayxvdXRsaW5lLXdpZHRo
LGJvcmRlci13aWR0aCxib3JkZXItdG9wLXdpZHRoLGJvcmRlci1yaWdodC13aWR0aCxib3JkZXIt
Ym90dG9tLXdpZHRoLGJvcmRlci1sZWZ0LXdpZHRoLHRleHQtbGluZS10aHJvdWdoLXdpZHRoLHRl
eHQtb3ZlcmxpbmUtd2lkdGgsdGV4dC11bmRlcmxpbmUtd2lkdGgKK3RoaW4sb3V0bGluZS13aWR0
aCxib3JkZXItd2lkdGgsYm9yZGVyLXRvcC13aWR0aCxib3JkZXItcmlnaHQtd2lkdGgsYm9yZGVy
LWJvdHRvbS13aWR0aCxib3JkZXItbGVmdC13aWR0aCx0ZXh0LWxpbmUtdGhyb3VnaC13aWR0aCx0
ZXh0LW92ZXJsaW5lLXdpZHRoLHRleHQtdW5kZXJsaW5lLXdpZHRoCit1bmRlcmxpbmUsdGV4dC1k
ZWNvcmF0aW9uCiAtd2Via2l0LW5vd3JhcAogCiAjIENTUzMgVmFsdWVzCiAjIENTU19QUk9QX0JP
WF9BTElHTgotc3RyZXRjaAotc3RhcnQKLWVuZAotI2NlbnRlcgotI2Jhc2VsaW5lCitzdHJldGNo
LGJveC1hbGlnbixib3JkZXItaW1hZ2UKK3N0YXJ0LGJveC1hbGlnbgorZW5kLGJveC1hbGlnbgor
I2NlbnRlcixib3gtYWxpZ24KKyNiYXNlbGluZSxib3gtYWxpZ24KIAogIyBDU1NfUFJPUF9CT1hf
RElSRUNUSU9OCi0jIG5vcm1hbAotcmV2ZXJzZQorIyBub3JtYWwsYm94LWRpcmVjdGlvbgorcmV2
ZXJzZSxib3gtZGlyZWN0aW9uLG1hcnF1ZWUtZGlyZWN0aW9uCiAKICMgQ1NTX1BST1BfQk9YX09S
SUVOVAotaG9yaXpvbnRhbAotdmVydGljYWwKLWlubGluZS1heGlzCi1ibG9jay1heGlzCitob3Jp
em9udGFsLGJveC1vcmllbnQKK3ZlcnRpY2FsLGJveC1vcmllbnQKK2lubGluZS1heGlzLGJveC1v
cmllbnQKK2Jsb2NrLWF4aXMsYm94LW9yaWVudAogCiAjIENTU19QUk9QX0JPWF9QQUNLCiAjIHN0
YXJ0CkBAIC00NjIsMzMgKzQ2MiwzMyBAQCBibG9jay1heGlzCiAjIGp1c3RpZnkKIAogIyBDU1Nf
UFJPUF9CT1hfTElORVMKLXNpbmdsZQotbXVsdGlwbGUKK3NpbmdsZSxib3gtbGluZXMKK211bHRp
cGxlLGJveC1saW5lcwogCiAjIENTU19QUk9QX01BUlFVRUVfRElSRUNUSU9OCi1mb3J3YXJkcwot
YmFja3dhcmRzCi1haGVhZAotIyByZXZlcnNlCi0jIGxlZnQKLSMgcmlnaHQKLXVwCi1kb3duCi0j
IGF1dG8KK2ZvcndhcmRzLG1hcnF1ZWUtZGlyZWN0aW9uCitiYWNrd2FyZHMsbWFycXVlZS1kaXJl
Y3Rpb24KK2FoZWFkLG1hcnF1ZWUtZGlyZWN0aW9uCisjIHJldmVyc2UsbWFycXVlZS1kaXJlY3Rp
b24KKyMgbGVmdCxtYXJxdWVlLWRpcmVjdGlvbgorIyByaWdodCxtYXJxdWVlLWRpcmVjdGlvbgor
dXAsbWFycXVlZS1kaXJlY3Rpb24KK2Rvd24sbWFycXVlZS1kaXJlY3Rpb24KKyMgYXV0byxtYXJx
dWVlLWRpcmVjdGlvbgogCiAjIENTU19QUk9QX01BUlFVRUVfU1BFRUQKLXNsb3cKLSMgbm9ybWFs
Ci1mYXN0CitzbG93LG1hcnF1ZWUtc3BlZWQKKyMgbm9ybWFsLG1hcnF1ZWUtc3BlZWQKK2Zhc3Qs
bWFycXVlZS1zcGVlZAogCiAjIENTU19QUk9QX01BUlFVRUVfUkVQRVRJVElPTgotaW5maW5pdGUK
K2luZmluaXRlLG1hcnF1ZWUtcmVwZXRpdGlvbgogCiAjIENTU19QUk9QX01BUlFVRUVfU1RZTEUK
LSMgbm9uZQotc2xpZGUKLSMgc2Nyb2xsCi1hbHRlcm5hdGUKKyMgbm9uZSxtYXJxdWVlLXN0eWxl
CitzbGlkZSxtYXJxdWVlLXN0eWxlCisjIHNjcm9sbCxtYXJxdWVlLXN0eWxlCithbHRlcm5hdGUs
bWFycXVlZS1zdHlsZQogCiAjCiAjIENTU19QUk9QX19LSFRNTF9VU0VSX01PRElGWQpAQCAtNTE2
LDI4ICs1MTYsMjggQEAgbWluLWludHJpbnNpYwogIwogIyBDU1NfUFJPUF9URVhUX09WRVJGTE9X
CiAjCi1jbGlwCi1lbGxpcHNpcworY2xpcCx0ZXh0LW92ZXJmbG93LHRleHQtb3ZlcmZsb3ctbW9k
ZQorZWxsaXBzaXMsdGV4dC1vdmVyZmxvdyx0ZXh0LW92ZXJmbG93LW1vZGUKIAogIwogIyBDU1Nf
UFJPUF9fS0hUTUxfTUFSR0lOX0NPTExBUFNFCiAjCi0jIGNvbGxhcHNlCi0jIHNlcGFyYXRlCi1k
aXNjYXJkCisjIGNvbGxhcHNlLG1hcmdpbi1iZWZvcmUtY29sbGFwc2UsbWFyZ2luLWFmdGVyLWNv
bGxhcHNlLG1hcmdpbi10b3AtY29sbGFwc2UsbWFyZ2luLWJvdHRvbS1jb2xsYXBzZQorIyBzZXBh
cmF0ZSxtYXJnaW4tYmVmb3JlLWNvbGxhcHNlLG1hcmdpbi1hZnRlci1jb2xsYXBzZSxtYXJnaW4t
dG9wLWNvbGxhcHNlLG1hcmdpbi1ib3R0b20tY29sbGFwc2UKK2Rpc2NhcmQsbWFyZ2luLWJlZm9y
ZS1jb2xsYXBzZSxtYXJnaW4tYWZ0ZXItY29sbGFwc2UsbWFyZ2luLXRvcC1jb2xsYXBzZSxtYXJn
aW4tYm90dG9tLWNvbGxhcHNlCiAKICMKICMgQ1NTX1BST1BfVEVYVF8qX0NPTE9SCiAjCi1kb3Qt
ZGFzaAotZG90LWRvdC1kYXNoCi13YXZlCitkb3QtZGFzaCx0ZXh0LXVuZGVybGluZSx0ZXh0LXVu
ZGVybGluZS1zdHlsZSx0ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0
ZXh0LW92ZXJsaW5lLXN0eWxlCitkb3QtZG90LWRhc2gsdGV4dC11bmRlcmxpbmUsdGV4dC11bmRl
cmxpbmUtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4
dC1vdmVybGluZS1zdHlsZQord2F2ZSx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVybGluZS1zdHls
ZSx0ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0ZXh0LW92ZXJsaW5l
LXN0eWxlCiAKICMKICMgQ1NTX1BST1BfVEVYVF8qX01PREUKICMKLWNvbnRpbnVvdXMKLXNraXAt
d2hpdGUtc3BhY2UKK2NvbnRpbnVvdXMsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91
Z2gtbW9kZSx0ZXh0LW92ZXJsaW5lLW1vZGUsdGV4dC11bmRlcmxpbmUtbW9kZQorc2tpcC13aGl0
ZS1zcGFjZSx0ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3VnaC1tb2RlLHRleHQtb3Zl
cmxpbmUtbW9kZSx0ZXh0LXVuZGVybGluZS1tb2RlCiAKICMKICMgQ1NTX1BST1BfV09SRF9CUkVB
SwpAQCAtNTQ3LDEyICs1NDcsMTIgQEAgYnJlYWstYWxsCiAjCiAjIENTU19QUk9QX1dPUkRfV1JB
UAogIwotYnJlYWstd29yZAorYnJlYWstd29yZCx3b3JkLXdyYXAKIAogIwogIyBDU1NfUFJPUF9f
S0hUTUxfTkJTUF9NT0RFCiAjCi1zcGFjZQorc3BhY2UsYmFja2dyb3VuZC1yZXBlYXQKIAogIwog
IyBDU1NfUFJPUF9fS0hUTUxfTElORV9CUkVBSwpAQCAtNjIyLDkgKzYyMiw5IEBAIGNhcHMtbG9j
ay1pbmRpY2F0b3IKICMKICMgQ1NTX1BST1BfQk9SREVSX0lNQUdFCiAjCi0jIHN0cmV0Y2gKLSMg
cmVwZWF0Ci1yb3VuZAorIyBzdHJldGNoLGJvcmRlci1pbWFnZQorIyByZXBlYXQsYm9yZGVyLWlt
YWdlCityb3VuZCxiYWNrZ3JvdW5kLXJlcGVhdCxzdHJva2UtbGluZWpvaW4KIAogIwogIyBDU1Nf
UFJPUF9CQUNLR1JPVU5EX0NMSVAvT1JJR0lOCkBAIC02MzMsMTcgKzYzMywxNyBAQCByb3VuZAog
IyBib3JkZXItYm94L2NvbnRlbnQtYm94L3BhZGRpbmctYm94IHNob3VsZCBiZSB1c2VkIGluc3Rl
YWQuCiAjCiBib3JkZXIKLWJvcmRlci1ib3gKK2JvcmRlci1ib3gsYmFja2dyb3VuZC1vcmlnaW4s
YmFja2dyb3VuZC1jbGlwCiBjb250ZW50Ci1jb250ZW50LWJveAorY29udGVudC1ib3gsYmFja2dy
b3VuZC1vcmlnaW4sYmFja2dyb3VuZC1jbGlwCiBwYWRkaW5nCi1wYWRkaW5nLWJveAorcGFkZGlu
Zy1ib3gsYmFja2dyb3VuZC1vcmlnaW4sYmFja2dyb3VuZC1jbGlwCiAKICMKICMgYmFja2dyb3Vu
ZC1zaXplCiAjCi1jb250YWluCi1jb3ZlcgorY29udGFpbixiYWNrZ3JvdW5kLXNpemUKK2NvdmVy
LGJhY2tncm91bmQtc2l6ZQogCiAjCiAjIENTU19QUk9QX19LSFRNTF9SVExfT1JERVJJTkcKQEAg
LTcwMCw0NyArNzAwLDQ3IEBAIHN0ZXAtZW5kCiAjCiAjIENTU19QUk9QX1pPT00KICMKLWRvY3Vt
ZW50Ci1yZXNldAorZG9jdW1lbnQsem9vbQorcmVzZXQsem9vbQogCiAjCiAjIENTU19QUk9QX1BP
SU5URVJfRVZFTlRTCiAjCi12aXNpYmxlUGFpbnRlZAotdmlzaWJsZUZpbGwKLXZpc2libGVTdHJv
a2UKLSN2aXNpYmxlCi1wYWludGVkCi1maWxsCi1zdHJva2UKLSNhbGwKLSNub25lCit2aXNpYmxl
UGFpbnRlZCxwb2ludGVyLWV2ZW50cwordmlzaWJsZUZpbGwscG9pbnRlci1ldmVudHMKK3Zpc2li
bGVTdHJva2UscG9pbnRlci1ldmVudHMKKyN2aXNpYmxlLHBvaW50ZXItZXZlbnRzCitwYWludGVk
LHBvaW50ZXItZXZlbnRzCitmaWxsLHBvaW50ZXItZXZlbnRzCitzdHJva2UscG9pbnRlci1ldmVu
dHMKKyNhbGwscG9pbnRlci1ldmVudHMKKyNub25lLHBvaW50ZXItZXZlbnRzCiAKICMKICMgQ1NT
X1BST1BfU1BFRUNICiAjCi1zcGVsbC1vdXQKLWRpZ2l0cwotbGl0ZXJhbC1wdW5jdHVhdGlvbgot
bm8tcHVuY3R1YXRpb24KK3NwZWxsLW91dCxzcGVhaworZGlnaXRzLHNwZWFrCitsaXRlcmFsLXB1
bmN0dWF0aW9uLHNwZWFrCituby1wdW5jdHVhdGlvbixzcGVhawogCiAjCiAjIC13ZWJraXQtZm9u
dC1zbW9vdGhpbmcKICMKLSMgYXV0bwotIyBub25lCi1hbnRpYWxpYXNlZAotc3VicGl4ZWwtYW50
aWFsaWFzZWQKKyMgYXV0bywtd2Via2l0LWZvbnQtc21vb3RoaW5nCisjIG5vbmUsLXdlYmtpdC1m
b250LXNtb290aGluZworYW50aWFsaWFzZWQsLXdlYmtpdC1mb250LXNtb290aGluZworc3VicGl4
ZWwtYW50aWFsaWFzZWQsLXdlYmtpdC1mb250LXNtb290aGluZwogCiAjIHRleHQtcmVuZGVyaW5n
Ci0jYXV0bwotb3B0aW1pemVTcGVlZAotb3B0aW1pemVMZWdpYmlsaXR5Ci1nZW9tZXRyaWNQcmVj
aXNpb24KKyNhdXRvLHRleHQtcmVuZGVyaW5nCitvcHRpbWl6ZVNwZWVkLHRleHQtcmVuZGVyaW5n
LGNvbG9yLXJlbmRlcmluZyxpbWFnZS1yZW5kZXJpbmcKK29wdGltaXplTGVnaWJpbGl0eSx0ZXh0
LXJlbmRlcmluZworZ2VvbWV0cmljUHJlY2lzaW9uLHRleHQtcmVuZGVyaW5nCiAKICMgLXdlYmtp
dC1jb2xvci1jb3JyZWN0aW9uCi0jZGVmYXVsdAotc1JHQgorI2RlZmF1bHQsLXdlYmtpdC1jb2xv
ci1jb3JyZWN0aW9uCitzUkdCLC13ZWJraXQtY29sb3ItY29ycmVjdGlvbgogCiAjICgtd2Via2l0
LXZpZXctbW9kZTopIG1lZGlhIGZlYXR1cmU6CiBmbG9hdGluZwpAQCAtNzUwLDMzICs3NTAsMzMg
QEAgbWluaW1pemVkCiB3aW5kb3dlZAogCiAjIC13ZWJraXQtaHlwaGVucwotIyBub25lCi1tYW51
YWwKLSMgYXV0bworIyBub25lLC13ZWJraXQtaHlwaGVucworbWFudWFsLC13ZWJraXQtaHlwaGVu
cworIyBhdXRvLC13ZWJraXQtaHlwaGVucwogCiAjIC13ZWJraXQtd3JpdGluZy1tb2RlCiAjIFNW
RyBjb21wYXRpYmlsaXR5Ci1scgotcmwKLXRiCi1sci10YgotcmwtdGIKLXRiLXJsCitsciwtd2Vi
a2l0LXdyaXRpbmctbW9kZQorcmwsLXdlYmtpdC13cml0aW5nLW1vZGUKK3RiLC13ZWJraXQtd3Jp
dGluZy1tb2RlCitsci10Yiwtd2Via2l0LXdyaXRpbmctbW9kZQorcmwtdGIsLXdlYmtpdC13cml0
aW5nLW1vZGUKK3RiLXJsLC13ZWJraXQtd3JpdGluZy1tb2RlCiAjIFN0YW5kYXJkIHZhbHVlcyBm
cm9tIENTUzMKLWhvcml6b250YWwtdGIKLXZlcnRpY2FsLXJsCi12ZXJ0aWNhbC1scgotaG9yaXpv
bnRhbC1idAoraG9yaXpvbnRhbC10Yiwtd2Via2l0LXdyaXRpbmctbW9kZQordmVydGljYWwtcmws
LXdlYmtpdC13cml0aW5nLW1vZGUKK3ZlcnRpY2FsLWxyLC13ZWJraXQtd3JpdGluZy1tb2RlCito
b3Jpem9udGFsLWJ0LC13ZWJraXQtd3JpdGluZy1tb2RlCiAKICMgLXdlYmtpdC10ZXh0LWVtcGhh
c2lzLXBvc2l0aW9uCi1vdmVyCi11bmRlcgorb3Zlciwtd2Via2l0LXRleHQtZW1waGFzaXMtcG9z
aXRpb24KK3VuZGVyLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1wb3NpdGlvbgogCiAjIC13ZWJraXQt
dGV4dC1lbXBoYXNpcy1zdHlsZQotZmlsbGVkCi1vcGVuCi1kb3QKLSMgY2lyY2xlCi1kb3VibGUt
Y2lyY2xlCi10cmlhbmdsZQotc2VzYW1lCitmaWxsZWQsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0
eWxlCitvcGVuLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQorZG90LC13ZWJraXQtdGV4dC1l
bXBoYXNpcy1zdHlsZQorIyBjaXJjbGUsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCitkb3Vi
bGUtY2lyY2xlLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQordHJpYW5nbGUsLXdlYmtpdC10
ZXh0LWVtcGhhc2lzLXN0eWxlCitzZXNhbWUsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluIGIvV2ViQ29yZS9j
c3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCBhMmM5ZjgzLi5mZmI4YWM4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1dlYkNvcmUvY3Nz
L1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTEyLDE2NCArMTIsMTY0IEBACiAjCiAjIENTU19Q
Uk9QXypfQ09MT1IKICMKLWFsaWNlYmx1ZQotYW50aXF1ZXdoaXRlCithbGljZWJsdWUsX2NvbG9y
XworYW50aXF1ZXdoaXRlLF9jb2xvcl8KICMgYXF1YQotYXF1YW1hcmluZQotYXp1cmUKLWJlaWdl
Ci1iaXNxdWUKK2FxdWFtYXJpbmUsX2NvbG9yXworYXp1cmUsX2NvbG9yXworYmVpZ2UsX2NvbG9y
XworYmlzcXVlLF9jb2xvcl8KICMgYmxhY2sKLWJsYW5jaGVkYWxtb25kCitibGFuY2hlZGFsbW9u
ZCxfY29sb3JfCiAjIGJsdWUKLWJsdWV2aW9sZXQKLWJyb3duCi1idXJseXdvb2QKLWNhZGV0Ymx1
ZQotY2hhcnRyZXVzZQotY2hvY29sYXRlCi1jb3JhbAotY29ybmZsb3dlcmJsdWUKLWNvcm5zaWxr
Ci1jcmltc29uCi1jeWFuCi1kYXJrYmx1ZQotZGFya2N5YW4KLWRhcmtnb2xkZW5yb2QKLWRhcmtn
cmF5Ci1kYXJrZ3JlZW4KLWRhcmtncmV5Ci1kYXJra2hha2kKLWRhcmttYWdlbnRhCi1kYXJrb2xp
dmVncmVlbgotZGFya29yYW5nZQotZGFya29yY2hpZAotZGFya3JlZAotZGFya3NhbG1vbgotZGFy
a3NlYWdyZWVuCi1kYXJrc2xhdGVibHVlCi1kYXJrc2xhdGVncmF5Ci1kYXJrc2xhdGVncmV5Ci1k
YXJrdHVycXVvaXNlCi1kYXJrdmlvbGV0Ci1kZWVwcGluawotZGVlcHNreWJsdWUKLWRpbWdyYXkK
LWRpbWdyZXkKLWRvZGdlcmJsdWUKLWZpcmVicmljawotZmxvcmFsd2hpdGUKLWZvcmVzdGdyZWVu
CitibHVldmlvbGV0LF9jb2xvcl8KK2Jyb3duLF9jb2xvcl8KK2J1cmx5d29vZCxfY29sb3JfCitj
YWRldGJsdWUsX2NvbG9yXworY2hhcnRyZXVzZSxfY29sb3JfCitjaG9jb2xhdGUsX2NvbG9yXwor
Y29yYWwsX2NvbG9yXworY29ybmZsb3dlcmJsdWUsX2NvbG9yXworY29ybnNpbGssX2NvbG9yXwor
Y3JpbXNvbixfY29sb3JfCitjeWFuLF9jb2xvcl8KK2RhcmtibHVlLF9jb2xvcl8KK2RhcmtjeWFu
LF9jb2xvcl8KK2Rhcmtnb2xkZW5yb2QsX2NvbG9yXworZGFya2dyYXksX2NvbG9yXworZGFya2dy
ZWVuLF9jb2xvcl8KK2RhcmtncmV5LF9jb2xvcl8KK2RhcmtraGFraSxfY29sb3JfCitkYXJrbWFn
ZW50YSxfY29sb3JfCitkYXJrb2xpdmVncmVlbixfY29sb3JfCitkYXJrb3JhbmdlLF9jb2xvcl8K
K2RhcmtvcmNoaWQsX2NvbG9yXworZGFya3JlZCxfY29sb3JfCitkYXJrc2FsbW9uLF9jb2xvcl8K
K2RhcmtzZWFncmVlbixfY29sb3JfCitkYXJrc2xhdGVibHVlLF9jb2xvcl8KK2RhcmtzbGF0ZWdy
YXksX2NvbG9yXworZGFya3NsYXRlZ3JleSxfY29sb3JfCitkYXJrdHVycXVvaXNlLF9jb2xvcl8K
K2Rhcmt2aW9sZXQsX2NvbG9yXworZGVlcHBpbmssX2NvbG9yXworZGVlcHNreWJsdWUsX2NvbG9y
XworZGltZ3JheSxfY29sb3JfCitkaW1ncmV5LF9jb2xvcl8KK2RvZGdlcmJsdWUsX2NvbG9yXwor
ZmlyZWJyaWNrLF9jb2xvcl8KK2Zsb3JhbHdoaXRlLF9jb2xvcl8KK2ZvcmVzdGdyZWVuLF9jb2xv
cl8KICMgZnVjaHNpYQotZ2FpbnNib3JvCi1naG9zdHdoaXRlCi1nb2xkCi1nb2xkZW5yb2QKK2dh
aW5zYm9ybyxfY29sb3JfCitnaG9zdHdoaXRlLF9jb2xvcl8KK2dvbGQsX2NvbG9yXworZ29sZGVu
cm9kLF9jb2xvcl8KICMgZ3JheQogIyBncmV5CiAjIGdyZWVuCi1ncmVlbnllbGxvdwotaG9uZXlk
ZXcKLWhvdHBpbmsKLWluZGlhbnJlZAotaW5kaWdvCi1pdm9yeQota2hha2kKLWxhdmVuZGVyCi1s
YXZlbmRlcmJsdXNoCi1sYXduZ3JlZW4KLWxlbW9uY2hpZmZvbgotbGlnaHRibHVlCi1saWdodGNv
cmFsCi1saWdodGN5YW4KLWxpZ2h0Z29sZGVucm9keWVsbG93Ci1saWdodGdyYXkKLWxpZ2h0Z3Jl
ZW4KLWxpZ2h0Z3JleQotbGlnaHRwaW5rCi1saWdodHNhbG1vbgotbGlnaHRzZWFncmVlbgotbGln
aHRza3libHVlCi1saWdodHNsYXRlZ3JheQotbGlnaHRzbGF0ZWdyZXkKLWxpZ2h0c3RlZWxibHVl
Ci1saWdodHllbGxvdworZ3JlZW55ZWxsb3csX2NvbG9yXworaG9uZXlkZXcsX2NvbG9yXworaG90
cGluayxfY29sb3JfCitpbmRpYW5yZWQsX2NvbG9yXworaW5kaWdvLF9jb2xvcl8KK2l2b3J5LF9j
b2xvcl8KK2toYWtpLF9jb2xvcl8KK2xhdmVuZGVyLF9jb2xvcl8KK2xhdmVuZGVyYmx1c2gsX2Nv
bG9yXworbGF3bmdyZWVuLF9jb2xvcl8KK2xlbW9uY2hpZmZvbixfY29sb3JfCitsaWdodGJsdWUs
X2NvbG9yXworbGlnaHRjb3JhbCxfY29sb3JfCitsaWdodGN5YW4sX2NvbG9yXworbGlnaHRnb2xk
ZW5yb2R5ZWxsb3csX2NvbG9yXworbGlnaHRncmF5LF9jb2xvcl8KK2xpZ2h0Z3JlZW4sX2NvbG9y
XworbGlnaHRncmV5LF9jb2xvcl8KK2xpZ2h0cGluayxfY29sb3JfCitsaWdodHNhbG1vbixfY29s
b3JfCitsaWdodHNlYWdyZWVuLF9jb2xvcl8KK2xpZ2h0c2t5Ymx1ZSxfY29sb3JfCitsaWdodHNs
YXRlZ3JheSxfY29sb3JfCitsaWdodHNsYXRlZ3JleSxfY29sb3JfCitsaWdodHN0ZWVsYmx1ZSxf
Y29sb3JfCitsaWdodHllbGxvdyxfY29sb3JfCiAjIGxpbWUKLWxpbWVncmVlbgotbGluZW4KLW1h
Z2VudGEKK2xpbWVncmVlbixfY29sb3JfCitsaW5lbixfY29sb3JfCittYWdlbnRhLF9jb2xvcl8K
ICMgbWFyb29uCi1tZWRpdW1hcXVhbWFyaW5lCi1tZWRpdW1ibHVlCi1tZWRpdW1vcmNoaWQKLW1l
ZGl1bXB1cnBsZQotbWVkaXVtc2VhZ3JlZW4KLW1lZGl1bXNsYXRlYmx1ZQotbWVkaXVtc3ByaW5n
Z3JlZW4KLW1lZGl1bXR1cnF1b2lzZQotbWVkaXVtdmlvbGV0cmVkCi1taWRuaWdodGJsdWUKLW1p
bnRjcmVhbQotbWlzdHlyb3NlCi1tb2NjYXNpbgotbmF2YWpvd2hpdGUKK21lZGl1bWFxdWFtYXJp
bmUsX2NvbG9yXworbWVkaXVtYmx1ZSxfY29sb3JfCittZWRpdW1vcmNoaWQsX2NvbG9yXworbWVk
aXVtcHVycGxlLF9jb2xvcl8KK21lZGl1bXNlYWdyZWVuLF9jb2xvcl8KK21lZGl1bXNsYXRlYmx1
ZSxfY29sb3JfCittZWRpdW1zcHJpbmdncmVlbixfY29sb3JfCittZWRpdW10dXJxdW9pc2UsX2Nv
bG9yXworbWVkaXVtdmlvbGV0cmVkLF9jb2xvcl8KK21pZG5pZ2h0Ymx1ZSxfY29sb3JfCittaW50
Y3JlYW0sX2NvbG9yXworbWlzdHlyb3NlLF9jb2xvcl8KK21vY2Nhc2luLF9jb2xvcl8KK25hdmFq
b3doaXRlLF9jb2xvcl8KICMgbmF2eQotb2xkbGFjZQorb2xkbGFjZSxfY29sb3JfCiAjIG9saXZl
Ci1vbGl2ZWRyYWIKK29saXZlZHJhYixfY29sb3JfCiAjIG9yYW5nZQotb3JhbmdlcmVkCi1vcmNo
aWQKLXBhbGVnb2xkZW5yb2QKLXBhbGVncmVlbgotcGFsZXR1cnF1b2lzZQotcGFsZXZpb2xldHJl
ZAotcGFwYXlhd2hpcAotcGVhY2hwdWZmCi1wZXJ1Ci1waW5rCi1wbHVtCi1wb3dkZXJibHVlCitv
cmFuZ2VyZWQsX2NvbG9yXworb3JjaGlkLF9jb2xvcl8KK3BhbGVnb2xkZW5yb2QsX2NvbG9yXwor
cGFsZWdyZWVuLF9jb2xvcl8KK3BhbGV0dXJxdW9pc2UsX2NvbG9yXworcGFsZXZpb2xldHJlZCxf
Y29sb3JfCitwYXBheWF3aGlwLF9jb2xvcl8KK3BlYWNocHVmZixfY29sb3JfCitwZXJ1LF9jb2xv
cl8KK3BpbmssX2NvbG9yXworcGx1bSxfY29sb3JfCitwb3dkZXJibHVlLF9jb2xvcl8KICMgcHVy
cGxlCiAjIHJlZAotcm9zeWJyb3duCi1yb3lhbGJsdWUKLXNhZGRsZWJyb3duCi1zYWxtb24KLXNh
bmR5YnJvd24KLXNlYWdyZWVuCi1zZWFzaGVsbAotc2llbm5hCityb3N5YnJvd24sX2NvbG9yXwor
cm95YWxibHVlLF9jb2xvcl8KK3NhZGRsZWJyb3duLF9jb2xvcl8KK3NhbG1vbixfY29sb3JfCitz
YW5keWJyb3duLF9jb2xvcl8KK3NlYWdyZWVuLF9jb2xvcl8KK3NlYXNoZWxsLF9jb2xvcl8KK3Np
ZW5uYSxfY29sb3JfCiAjIHNpbHZlcgotc2t5Ymx1ZQotc2xhdGVibHVlCi1zbGF0ZWdyYXkKLXNs
YXRlZ3JleQotc25vdwotc3ByaW5nZ3JlZW4KLXN0ZWVsYmx1ZQotdGFuCitza3libHVlLF9jb2xv
cl8KK3NsYXRlYmx1ZSxfY29sb3JfCitzbGF0ZWdyYXksX2NvbG9yXworc2xhdGVncmV5LF9jb2xv
cl8KK3Nub3csX2NvbG9yXworc3ByaW5nZ3JlZW4sX2NvbG9yXworc3RlZWxibHVlLF9jb2xvcl8K
K3RhbixfY29sb3JfCiAjIHRlYWwKLXRoaXN0bGUKLXRvbWF0bwotdHVycXVvaXNlCi12aW9sZXQK
LXdoZWF0Cit0aGlzdGxlLF9jb2xvcl8KK3RvbWF0byxfY29sb3JfCit0dXJxdW9pc2UsX2NvbG9y
XwordmlvbGV0LF9jb2xvcl8KK3doZWF0LF9jb2xvcl8KICMgd2hpdGUKLXdoaXRlc21va2UKK3do
aXRlc21va2UsX2NvbG9yXwogIyB5ZWxsb3cKLXllbGxvd2dyZWVuCit5ZWxsb3dncmVlbixfY29s
b3JfCiAKICMgQ1NTX1BST1BfQ0xJUF9QQVRICiAjIENTU19QUk9QX0NMSVBfUlVMRQotbm9uemVy
bwotZXZlbm9kZAorbm9uemVybyxjbGlwLXJ1bGUKK2V2ZW5vZGQsY2xpcC1ydWxlCiAKICMgQ1NT
X1BST1BfTUFTSwogIyBDU1NfUFJPUF9PUEFDSVRZCiAjIENTU19QUk9QX0VOQUJMRV9CQUNLR1JP
VU5ECi1hY2N1bXVsYXRlCi1uZXcKK2FjY3VtdWxhdGUsZW5hYmxlLWJhY2tncm91bmQKK25ldyxl
bmFibGUtYmFja2dyb3VuZAogCiAjIENTU19QUk9QX0ZJTFRFUgogIyBDU1NfUFJPUF9GTE9PRF9D
T0xPUgpAQCAtMTg0LDcgKzE4NCw3IEBAIG5ldwogIyBDU1NfUFJPUF9DT0xPUl9JTlRFUlBPTEFU
SU9OCiAjYXV0bwogI3NSR0IKLWxpbmVhclJHQgorbGluZWFyUkdCLGNvbG9yLWludGVycG9sYXRp
b24KIAogIyBDU1NfUFJPUF9DT0xPUl9JTlRFUlBPTEFUSU9OX0ZJTFRFUlMKICNhdXRvCkBAIC0x
OTUsOSArMTk1LDkgQEAgbGluZWFyUkdCCiAjc1JHQgogCiAjIENTU19QUk9QX0NPTE9SX1JFTkRF
UklORwotI2F1dG8KLSNvcHRpbWl6ZVNwZWVkCi1vcHRpbWl6ZVF1YWxpdHkKKyNhdXRvLGNvbG9y
LXJlbmRlcmluZworI29wdGltaXplU3BlZWQsY29sb3ItcmVuZGVyaW5nCitvcHRpbWl6ZVF1YWxp
dHksY29sb3ItcmVuZGVyaW5nLGltYWdlLXJlbmRlcmluZwogCiAjIyBDU1NfUFJPUF9GSUxMCiAj
Y3VycmVudENvbG9yCkBAIC0yMDgsOSArMjA4LDkgQEAgb3B0aW1pemVRdWFsaXR5CiAjZXZlbm9k
ZAogCiAjIENTU19QUk9QX0lNQUdFX1JFTkRFUklORwotI2F1dG8KLSNvcHRpbWl6ZVNwZWVkCi0j
b3B0aW1pemVRdWFsaXR5CisjYXV0byxpbWFnZS1yZW5kZXJpbmcKKyNvcHRpbWl6ZVNwZWVkLGlt
YWdlLXJlbmRlcmluZworI29wdGltaXplUXVhbGl0eSxpbWFnZS1yZW5kZXJpbmcKIAogIyBDU1Nf
UFJPUF9NQVJLRVIKICMgQ1NTX1BST1BfTUFSS0VSX0VORApAQCAtMjMxLDM4ICsyMzEsMzggQEAg
YnV0dAogIyBzcXVhcmUKIAogIyBDU1NfUFJPUF9TVFJPS0VfTElORUpPSU4KLW1pdGVyCi0jIHJv
dW5kCi1iZXZlbAorbWl0ZXIsc3Ryb2tlLWxpbmVqb2luCisjIHJvdW5kLHN0cm9rZS1saW5lam9p
bgorYmV2ZWwsc3Ryb2tlLWxpbmVqb2luCiAKICMgQ1NTX1BST1BfU1RST0tFX01JVEVSTElNSVQK
ICMgQ1NTX1BST1BfU1RST0tFX09QQUNJVFkKICMgQ1NTX1BST1BfU1RST0tFX1dJRFRICiAKICMg
Q1NTX1BST1BfQUxJR05NRU5UX0JBU0VMSU5FCi0jYXV0bwotIyBiYXNlbGluZQotYmVmb3JlLWVk
Z2UKLWFmdGVyLWVkZ2UKLSNtaWRkbGUKLWNlbnRyYWwKLXRleHQtYmVmb3JlLWVkZ2UKLXRleHQt
YWZ0ZXItZWRnZQotaWRlb2dyYXBoaWMKLWFscGhhYmV0aWMKLWhhbmdpbmcKLW1hdGhlbWF0aWNh
bAorI2F1dG8sYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCisjIGJhc2VsaW5l
LGFsaWdubWVudC1iYXNlbGluZQorYmVmb3JlLWVkZ2UsYWxpZ25tZW50LWJhc2VsaW5lCithZnRl
ci1lZGdlLGFsaWdubWVudC1iYXNlbGluZQorI21pZGRsZSxhbGlnbm1lbnQtYmFzZWxpbmUsZG9t
aW5hbnQtYmFzZWxpbmUKK2NlbnRyYWwsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2Vs
aW5lCit0ZXh0LWJlZm9yZS1lZGdlLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGlu
ZQordGV4dC1hZnRlci1lZGdlLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQor
aWRlb2dyYXBoaWMsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCithbHBoYWJl
dGljLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQoraGFuZ2luZyxhbGlnbm1l
bnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK21hdGhlbWF0aWNhbCxhbGlnbm1lbnQtYmFz
ZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKIAogIyBDU1NfUFJPUF9CQVNFTElORV9TSElGVAotI2Jh
c2VsaW5lCi0jIHN1YgotIyBzdXBlcgorI2Jhc2VsaW5lLGJhc2VsaW5lLXNoaWZ0CisjIHN1Yixi
YXNlbGluZS1zaGlmdAorIyBzdXBlcixiYXNlbGluZS1zaGlmdAogCiAjIENTU19QUk9QX0RPTUlO
QU5UX0JBU0VMSU5FCi0jYXV0bwotdXNlLXNjcmlwdAotbm8tY2hhbmdlCi1yZXNldC1zaXplCisj
YXV0byxkb21pbmFudC1iYXNlbGluZQordXNlLXNjcmlwdCxkb21pbmFudC1iYXNlbGluZQorbm8t
Y2hhbmdlLGRvbWluYW50LWJhc2VsaW5lCityZXNldC1zaXplLGRvbWluYW50LWJhc2VsaW5lCiAK
ICMgQ1NTX1BST1BfR0xZUEhfT1JJRU5UQVRJT05fSE9SSVpPTlRBTAogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2Nzcy9tYWtldmFsdWVzLnBsIGIvV2ViQ29yZS9jc3MvbWFrZXZhbHVlcy5wbAppbmRl
eCAxODNjZDM1Li5kYWQwZWJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9tYWtldmFsdWVzLnBs
CisrKyBiL1dlYkNvcmUvY3NzL21ha2V2YWx1ZXMucGwKQEAgLTYsNiArNiw3IEBACiAjICAgQ29w
eXJpZ2h0IChDKSAyMDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMgICBDb3B5
cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1p
ZXMpCiAjICAgQ29weXJpZ2h0IChDKSAyMDEwIEFuZHJhcyBCZWNzaSAoYWJlY3NpQGluZi51LXN6
ZWdlZC5odSksIFVuaXZlcnNpdHkgb2YgU3plZ2VkCisjICAgQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogIyAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0y
NiwxNCArMjcsODcgQEAgdXNlIHdhcm5pbmdzOwogCiBvcGVuIE5BTUVTLCAiPENTU1ZhbHVlS2V5
d29yZHMuaW4iIHx8IGRpZSAiQ291bGQgbm90IG9wZW4gQ1NTVmFsdWVLZXl3b3Jkcy5pbiI7CiBt
eSBAbmFtZXMgPSAoKTsKK215ICVjYXRlZ29yeVRvS2V5d29yZHNNYXAgPSAoKTsKK215IEBwYXJ0
czsKK215IEBrZXl3b3JkczsKK215ICRrZXl3b3JkOwogd2hpbGUgKDxOQU1FUz4pIHsKICAgbmV4
dCBpZiAobS8oXiMpfCheXHMqJCkvKTsKICAgIyBJbnB1dCBtYXkgdXNlIGEgZGlmZmVyZW50IEVP
TCBzZXF1ZW5jZSB0aGFuICQvLCBzbyBhdm9pZCBjaG9tcC4KICAgJF8gPX4gcy9bXHJcbl0rJC8v
ZzsKLSAgcHVzaCBAbmFtZXMsICRfOworICBAcGFydHMgPSBzcGxpdCgvLC8pOworICAka2V5d29y
ZCA9ICRwYXJ0c1swXTsKKyAgcHVzaCBAbmFtZXMsICRrZXl3b3JkOworICBzcGxpY2UgQHBhcnRz
LCAwLCAxOworCisgIGZvcmVhY2ggbXkgJGNhdGVnb3J5IChAcGFydHMpIHsKKyAgICBwdXNoIEB7
ICRjYXRlZ29yeVRvS2V5d29yZHNNYXB7JGNhdGVnb3J5fSB9LCAka2V5d29yZDsKKyAgfQogfQog
Y2xvc2UoTkFNRVMpOwogCitvcGVuIEtFWVdPUkRNQVAsICI+Q1NTS2V5d29yZENvbXBsZXRpb25z
LmpzIiB8fCBkaWUgIkNvdWxkIG5vdCBvcGVuIENTU0tleXdvcmRNYXAuanMgZm9yIHdyaXRpbmci
OworcHJpbnQgS0VZV09SRE1BUCA8PCAiRU9GIjsKK1dlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29t
cGxldGlvbnMgPSB7CisgICAgZm9yUHJvcGVydHk6IGZ1bmN0aW9uKHByb3BlcnR5TmFtZSkKKyAg
ICB7CisgICAgICAgIHZhciBhY2NlcHRlZEtleXdvcmRzID0gWyAiaW5pdGlhbCIgXTsKKyAgICAg
ICAgaWYgKHByb3BlcnR5TmFtZSBpbiB0aGlzLl9wcm9wZXJ0eUtleXdvcmRNYXApCisgICAgICAg
ICAgICBhY2NlcHRlZEtleXdvcmRzID0gYWNjZXB0ZWRLZXl3b3Jkcy5jb25jYXQodGhpcy5fcHJv
cGVydHlLZXl3b3JkTWFwW3Byb3BlcnR5TmFtZV0pOworICAgICAgICBpZiAocHJvcGVydHlOYW1l
IGluIHRoaXMuX2NvbG9yQXdhcmVQcm9wZXJ0aWVzKQorICAgICAgICAgICAgYWNjZXB0ZWRLZXl3
b3JkcyA9IGFjY2VwdGVkS2V5d29yZHMuY29uY2F0KHRoaXMuX3Byb3BlcnR5S2V5d29yZE1hcFsi
X2NvbG9yXyJdKTsKKyAgICAgICAgaWYgKHByb3BlcnR5TmFtZSBpbiBXZWJJbnNwZWN0b3IuU3R5
bGVzU2lkZWJhclBhbmUuSW5oZXJpdGVkUHJvcGVydGllcykKKyAgICAgICAgICAgIGFjY2VwdGVk
S2V5d29yZHMucHVzaCgiaW5oZXJpdCIpOworICAgICAgICB2YXIgY29tcGxldGlvbnMgPSBuZXcg
V2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zKCk7CisgICAgICAgIGNvbXBsZXRpb25zLl9sb2Fk
KGFjY2VwdGVkS2V5d29yZHMpOworICAgICAgICByZXR1cm4gY29tcGxldGlvbnM7CisgICAgfSwK
K307CisKK1dlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuX2NvbG9yQXdhcmVQcm9w
ZXJ0aWVzID0gWworICAgICJiYWNrZ3JvdW5kIiwKKyAgICAiYmFja2dyb3VuZC1jb2xvciIsCisg
ICAgImJvcmRlciIsCisgICAgImJvcmRlci1jb2xvciIsCisgICAgImJvcmRlci10b3AiLAorICAg
ICJib3JkZXItcmlnaHQiLAorICAgICJib3JkZXItYm90dG9tIiwKKyAgICAiYm9yZGVyLWxlZnQi
LAorICAgICJib3JkZXItdG9wLWNvbG9yIiwKKyAgICAiYm9yZGVyLXJpZ2h0LWNvbG9yIiwKKyAg
ICAiYm9yZGVyLWJvdHRvbS1jb2xvciIsCisgICAgImJvcmRlci1sZWZ0LWNvbG9yIiwKKyAgICAi
Y29sb3IiLAorICAgICJvdXRsaW5lIiwKKyAgICAib3V0bGluZS1jb2xvciIsCisgICAgInRleHQt
bGluZS10aHJvdWdoIiwKKyAgICAidGV4dC1saW5lLXRocm91Z2gtY29sb3IiLAorICAgICJ0ZXh0
LW92ZXJsaW5lIiwKKyAgICAidGV4dC1vdmVybGluZS1jb2xvciIsCisgICAgInRleHQtc2hhZG93
IiwKKyAgICAidGV4dC11bmRlcmxpbmUiLAorICAgICJ0ZXh0LXVuZGVybGluZS1jb2xvciIKK10u
a2V5U2V0KCk7CisKK1dlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuX3Byb3BlcnR5
S2V5d29yZE1hcCA9IHsKK0VPRgorCitteSAkZmlyc3RLZXl3b3JkOworbXkgJGZpcnN0Q2F0ZWdv
cnkgPSAxOworZm9yZWFjaCBteSAkY2F0ZWdvcnkgKGtleXMgJWNhdGVnb3J5VG9LZXl3b3Jkc01h
cCkgeworICBwcmludCBLRVlXT1JETUFQICgkZmlyc3RDYXRlZ29yeSA/ICIiIDogIixcbiIpIC4g
IiAgICBcIiRjYXRlZ29yeVwiOiBbXG4iOworICAkZmlyc3RDYXRlZ29yeSA9IDA7CisgIEBrZXl3
b3JkcyA9IEB7ICRjYXRlZ29yeVRvS2V5d29yZHNNYXB7JGNhdGVnb3J5fSB9OworICAkZmlyc3RL
ZXl3b3JkID0gMTsKKyAgZm9yZWFjaCBteSAka2V5d29yZCAoQGtleXdvcmRzKSB7CisgICAgcHJp
bnQgS0VZV09SRE1BUCAoJGZpcnN0S2V5d29yZCA/ICIiIDogIixcbiIpIC4gIiAgICAgICAgXCIk
a2V5d29yZFwiIjsKKyAgICAkZmlyc3RLZXl3b3JkID0gMDsKKyAgfQorICBwcmludCBLRVlXT1JE
TUFQICJcbiAgICBdIjsKK30KK3ByaW50IEtFWVdPUkRNQVAgIlxufVxuIjsKK2Nsb3NlKEtFWVdP
UkRNQVApOworCiBvcGVuIEdQRVJGLCAiPkNTU1ZhbHVlS2V5d29yZHMuZ3BlcmYiIHx8IGRpZSAi
Q291bGQgbm90IG9wZW4gQ1NTVmFsdWVLZXl3b3Jkcy5ncGVyZiBmb3Igd3JpdGluZyI7CiBwcmlu
dCBHUEVSRiA8PCAiRU9GIjsKICV7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ1NTQ29tcGxldGlvbnMuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NT
Q29tcGxldGlvbnMuanMKaW5kZXggOTQ4MDQ2Ny4uMmJiYmUzMCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qcwpAQCAtMSw4OCArMSwxMzMgQEAKLVdl
Ykluc3BlY3Rvci5DU1NDb21wbGV0aW9ucyA9IFtdOwotCi1XZWJJbnNwZWN0b3IuQ1NTQ29tcGxl
dGlvbnMuc3RhcnRzV2l0aCA9IGZ1bmN0aW9uKHByZWZpeCkKLXsKLSAgICB2YXIgZmlyc3RJbmRl
eCA9IHRoaXMuX2ZpcnN0SW5kZXhPZlByZWZpeChwcmVmaXgpOwotICAgIGlmIChmaXJzdEluZGV4
ID09PSAtMSkKLSAgICAgICAgcmV0dXJuIFtdOwotCi0gICAgdmFyIHJlc3VsdHMgPSBbXTsKLSAg
ICB3aGlsZSAodGhpc1tmaXJzdEluZGV4XS5pbmRleE9mKHByZWZpeCkgPT09IDApCi0gICAgICAg
IHJlc3VsdHMucHVzaCh0aGlzW2ZpcnN0SW5kZXgrK10pOwotICAgIHJldHVybiByZXN1bHRzOwot
fQotCi1XZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuZmlyc3RTdGFydHNXaXRoID0gZnVuY3Rp
b24ocHJlZml4KQorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOaWtpdGEgVmFzaWx5ZXYuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSm9zZXBoIFBlY29yYXJv
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zID0gZnVuY3Rpb24o
KQogewotICAgIHZhciBmb3VuZEluZGV4ID0gdGhpcy5fZmlyc3RJbmRleE9mUHJlZml4KHByZWZp
eCk7Ci0gICAgcmV0dXJuIChmb3VuZEluZGV4ID09PSAtMSA/ICIiIDogdGhpc1tmb3VuZEluZGV4
XSk7CiB9CiAKLVdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5fZmlyc3RJbmRleE9mUHJlZml4
ID0gZnVuY3Rpb24ocHJlZml4KQotewotICAgIGlmICghcHJlZml4KQotICAgICAgICByZXR1cm4g
LTE7Ci0gICAgaWYgKCF0aGlzLmxlbmd0aCkKLSAgICAgICAgcmV0dXJuIC0xOwotCi0gICAgdmFy
IG1heEluZGV4ID0gdGhpcy5sZW5ndGggLSAxOwotICAgIHZhciBtaW5JbmRleCA9IDA7Ci0gICAg
dmFyIGZvdW5kSW5kZXg7Ci0KLSAgICBkbyB7Ci0gICAgICAgIHZhciBtaWRkbGVJbmRleCA9ICht
YXhJbmRleCArIG1pbkluZGV4KSA+PiAxOwotICAgICAgICBpZiAodGhpc1ttaWRkbGVJbmRleF0u
aW5kZXhPZihwcmVmaXgpID09PSAwKSB7Ci0gICAgICAgICAgICBmb3VuZEluZGV4ID0gbWlkZGxl
SW5kZXg7Ci0gICAgICAgICAgICBicmVhazsKK1dlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5w
cm90b3R5cGUgPSB7CisgICAgc3RhcnRzV2l0aDogZnVuY3Rpb24ocHJlZml4KQorICAgIHsKKyAg
ICAgICAgdmFyIGZpcnN0SW5kZXggPSB0aGlzLl9maXJzdEluZGV4T2ZQcmVmaXgocHJlZml4KTsK
KyAgICAgICAgaWYgKGZpcnN0SW5kZXggPT09IC0xKQorICAgICAgICAgICAgcmV0dXJuIFtdOwor
CisgICAgICAgIHZhciByZXN1bHRzID0gW107CisgICAgICAgIHdoaWxlICh0aGlzW2ZpcnN0SW5k
ZXhdLmluZGV4T2YocHJlZml4KSA9PT0gMCkKKyAgICAgICAgICAgIHJlc3VsdHMucHVzaCh0aGlz
W2ZpcnN0SW5kZXgrK10pOworICAgICAgICByZXR1cm4gcmVzdWx0czsKKyAgICB9LAorCisgICAg
Zmlyc3RTdGFydHNXaXRoOiBmdW5jdGlvbihwcmVmaXgpCisgICAgeworICAgICAgICB2YXIgZm91
bmRJbmRleCA9IHRoaXMuX2ZpcnN0SW5kZXhPZlByZWZpeChwcmVmaXgpOworICAgICAgICByZXR1
cm4gKGZvdW5kSW5kZXggPT09IC0xID8gIiIgOiB0aGlzW2ZvdW5kSW5kZXhdKTsKKyAgICB9LAor
CisgICAgX2ZpcnN0SW5kZXhPZlByZWZpeDogZnVuY3Rpb24ocHJlZml4KQorICAgIHsKKyAgICAg
ICAgaWYgKCFwcmVmaXgpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGlmICghdGhp
cy5sZW5ndGgpCisgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgdmFyIG1heEluZGV4
ID0gdGhpcy5sZW5ndGggLSAxOworICAgICAgICB2YXIgbWluSW5kZXggPSAwOworICAgICAgICB2
YXIgZm91bmRJbmRleDsKKworICAgICAgICBkbyB7CisgICAgICAgICAgICB2YXIgbWlkZGxlSW5k
ZXggPSAobWF4SW5kZXggKyBtaW5JbmRleCkgPj4gMTsKKyAgICAgICAgICAgIGlmICh0aGlzW21p
ZGRsZUluZGV4XS5pbmRleE9mKHByZWZpeCkgPT09IDApIHsKKyAgICAgICAgICAgICAgICBmb3Vu
ZEluZGV4ID0gbWlkZGxlSW5kZXg7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBpZiAodGhpc1ttaWRkbGVJbmRleF0gPCBwcmVmaXgpCisgICAgICAg
ICAgICAgICAgbWluSW5kZXggPSBtaWRkbGVJbmRleCArIDE7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgbWF4SW5kZXggPSBtaWRkbGVJbmRleCAtIDE7CisgICAgICAgIH0gd2hp
bGUgKG1pbkluZGV4IDw9IG1heEluZGV4KTsKKworICAgICAgICBpZiAoZm91bmRJbmRleCA9PT0g
dW5kZWZpbmVkKQorICAgICAgICAgICAgcmV0dXJuIC0xOworCisgICAgICAgIHdoaWxlIChmb3Vu
ZEluZGV4ICYmIHRoaXNbZm91bmRJbmRleCAtIDFdLmluZGV4T2YocHJlZml4KSA9PT0gMCkKKyAg
ICAgICAgICAgIGZvdW5kSW5kZXgtLTsKKworICAgICAgICByZXR1cm4gZm91bmRJbmRleDsKKyAg
ICB9LAorCisgICAgbmV4dDogZnVuY3Rpb24oc3RyLCBwcmVmaXgpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy5fY2xvc2VzdChzdHIsIHByZWZpeCwgMSk7CisgICAgfSwKKworICAgIHByZXZp
b3VzOiBmdW5jdGlvbihzdHIsIHByZWZpeCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9j
bG9zZXN0KHN0ciwgcHJlZml4LCAtMSk7CisgICAgfSwKKworICAgIF9jbG9zZXN0OiBmdW5jdGlv
bihzdHIsIHByZWZpeCwgc2hpZnQpCisgICAgeworICAgICAgICBpZiAoIXN0cikKKyAgICAgICAg
ICAgIHJldHVybiAiIjsKKworICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmluZGV4T2Yoc3RyKTsK
KyAgICAgICAgaWYgKGluZGV4ID09PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAiIjsKKworICAg
ICAgICBpZiAoIXByZWZpeCkgeworICAgICAgICAgICAgaW5kZXggPSAoaW5kZXggKyB0aGlzLmxl
bmd0aCArIHNoaWZ0KSAlIHRoaXMubGVuZ3RoOworICAgICAgICAgICAgcmV0dXJuIHRoaXNbaW5k
ZXhdOwogICAgICAgICB9Ci0gICAgICAgIGlmICh0aGlzW21pZGRsZUluZGV4XSA8IHByZWZpeCkK
LSAgICAgICAgICAgIG1pbkluZGV4ID0gbWlkZGxlSW5kZXggKyAxOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBtYXhJbmRleCA9IG1pZGRsZUluZGV4IC0gMTsKLSAgICB9IHdoaWxlIChtaW5J
bmRleCA8PSBtYXhJbmRleCk7Ci0KLSAgICBpZiAoIWZvdW5kSW5kZXgpCi0gICAgICAgIHJldHVy
biAtMTsKIAotICAgIHdoaWxlIChmb3VuZEluZGV4ICYmIHRoaXNbZm91bmRJbmRleCAtIDFdLmlu
ZGV4T2YocHJlZml4KSA9PT0gMCkKLSAgICAgICAgZm91bmRJbmRleC0tOwotCi0gICAgcmV0dXJu
IGZvdW5kSW5kZXg7Ci19Ci0KLVdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5uZXh0ID0gZnVu
Y3Rpb24oc3RyLCBwcmVmaXgpCi17Ci0gICAgcmV0dXJuIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0
aW9ucy5fY2xvc2VzdChzdHIsIHByZWZpeCwgMSk7Ci19Ci0KLVdlYkluc3BlY3Rvci5DU1NDb21w
bGV0aW9ucy5wcmV2aW91cyA9IGZ1bmN0aW9uKHN0ciwgcHJlZml4KQotewotICAgIHJldHVybiBX
ZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuX2Nsb3Nlc3Qoc3RyLCBwcmVmaXgsIC0xKTsKLX0K
LQotV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLl9jbG9zZXN0ID0gZnVuY3Rpb24oc3RyLCBw
cmVmaXgsIHNoaWZ0KQotewotICAgIGlmICghc3RyKQotICAgICAgICByZXR1cm4gIiI7Ci0KLSAg
ICB2YXIgaW5kZXggPSB0aGlzLmluZGV4T2Yoc3RyKTsKLSAgICBpZiAoaW5kZXggPT09IC0xKQot
ICAgICAgICByZXR1cm4gIiI7Ci0KLSAgICBpZiAoIXByZWZpeCkgewotICAgICAgICBpbmRleCA9
IChpbmRleCArIHRoaXMubGVuZ3RoICsgc2hpZnQpICUgdGhpcy5sZW5ndGg7Ci0gICAgICAgIHJl
dHVybiB0aGlzW2luZGV4XTsKKyAgICAgICAgdmFyIHByb3BlcnRpZXNXaXRoUHJlZml4ID0gdGhp
cy5zdGFydHNXaXRoKHByZWZpeCk7CisgICAgICAgIHZhciBqID0gcHJvcGVydGllc1dpdGhQcmVm
aXguaW5kZXhPZihzdHIpOworICAgICAgICBqID0gKGogKyBwcm9wZXJ0aWVzV2l0aFByZWZpeC5s
ZW5ndGggKyBzaGlmdCkgJSBwcm9wZXJ0aWVzV2l0aFByZWZpeC5sZW5ndGg7CisgICAgICAgIHJl
dHVybiBwcm9wZXJ0aWVzV2l0aFByZWZpeFtqXTsKKyAgICB9LAorCisgICAgX2xvYWQ6IGZ1bmN0
aW9uKHByb3BlcnRpZXMpCisgICAgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3Bl
cnRpZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICB0aGlzLnB1c2gocHJvcGVydGllc1tpXSk7
CisgICAgICAgIHRoaXMuc29ydCgpOworICAgIH0sCisKKyAgICBsb2FkRnJvbU9iamVjdDogZnVu
Y3Rpb24ocHJvcGVydGllcykKKyAgICB7CisgICAgICAgIGZvciAodmFyIHZhbHVlIGluIHByb3Bl
cnRpZXMpCisgICAgICAgICAgICB0aGlzLnB1c2godmFsdWUpOworICAgICAgICB0aGlzLnNvcnQo
KTsKICAgICB9Ci0KLSAgICB2YXIgcHJvcGVydGllc1dpdGhQcmVmaXggPSB0aGlzLnN0YXJ0c1dp
dGgocHJlZml4KTsKLSAgICB2YXIgaiA9IHByb3BlcnRpZXNXaXRoUHJlZml4LmluZGV4T2Yoc3Ry
KTsKLSAgICBqID0gKGogKyBwcm9wZXJ0aWVzV2l0aFByZWZpeC5sZW5ndGggKyBzaGlmdCkgJSBw
cm9wZXJ0aWVzV2l0aFByZWZpeC5sZW5ndGg7Ci0gICAgcmV0dXJuIHByb3BlcnRpZXNXaXRoUHJl
Zml4W2pdOwogfQogCi1XZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuX2xvYWQgPSBmdW5jdGlv
bihwcm9wZXJ0aWVzKQotewotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5sZW5n
dGg7ICsraSkKLSAgICAgICAgV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLnB1c2gocHJvcGVy
dGllc1tpXSk7Ci0gICAgV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLnNvcnQoKTsKLX0KK1dl
Ykluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5wcm90b3R5cGUuX19wcm90b19fID0gQXJyYXkucHJv
dG90eXBlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdv
cmRDb21wbGV0aW9ucy5xcmMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTS2V5d29y
ZENvbXBsZXRpb25zLnFyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGUz
NTViCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tl
eXdvcmRDb21wbGV0aW9ucy5xcmMKQEAgLTAsMCArMSw1IEBACis8IURPQ1RZUEUgUkNDPjxSQ0Mg
dmVyc2lvbj0iMS4wIj4KKzxxcmVzb3VyY2UgcHJlZml4PSIvd2Via2l0L2luc3BlY3RvciI+Cisg
ICAgPGZpbGU+Q1NTS2V5d29yZENvbXBsZXRpb25zLmpzPC9maWxlPgorPC9xcmVzb3VyY2U+Cis8
L1JDQz4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NU
b2tlbml6ZXIuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5p
emVyLmpzCmluZGV4IDgyMTQ5ZTAuLmYyODg4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5qcwpAQCAtNDUsNyArNDUsNyBAQCBXZWJJ
bnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyID0gZnVuY3Rpb24oKQogewogICAgIFdlYkluc3Bl
Y3Rvci5Tb3VyY2VUb2tlbml6ZXIuY2FsbCh0aGlzKTsKIAotICAgIHRoaXMuX3Byb3BlcnR5S2V5
d29yZHMgPSBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMua2V5U2V0KCk7CisgICAgdGhpcy5f
cHJvcGVydHlLZXl3b3JkcyA9IFdlYkluc3BlY3Rvci5jc3NOYW1lQ29tcGxldGlvbnMua2V5U2V0
KCk7CiAKICAgICB0aGlzLl92YWx1ZUtleXdvcmRzID0gWwogICAgICAgICAiYWJvdmUiLCAiYWJz
b2x1dGUiLCAiYWN0aXZlYm9yZGVyIiwgImFjdGl2ZWNhcHRpb24iLCAiYWZhciIsICJhZnRlci13
aGl0ZS1zcGFjZSIsICJhaGVhZCIsICJhbGlhcyIsICJhbGwiLCAiYWxsLXNjcm9sbCIsCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJl
MmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5yZTJq
cwppbmRleCBhOGQyODliLi4xYjg0YjQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIucmUyanMKQEAgLTQ0LDcgKzQ0LDcgQEAgV2Vi
SW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNw
ZWN0b3IuU291cmNlVG9rZW5pemVyLmNhbGwodGhpcyk7CiAKLSAgICB0aGlzLl9wcm9wZXJ0eUtl
eXdvcmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmtleVNldCgpOworICAgIHRoaXMu
X3Byb3BlcnR5S2V5d29yZHMgPSBXZWJJbnNwZWN0b3IuY3NzTmFtZUNvbXBsZXRpb25zLmtleVNl
dCgpOwogCiAgICAgdGhpcy5fdmFsdWVLZXl3b3JkcyA9IFsKICAgICAgICAgImFib3ZlIiwgImFi
c29sdXRlIiwgImFjdGl2ZWJvcmRlciIsICJhY3RpdmVjYXB0aW9uIiwgImFmYXIiLCAiYWZ0ZXIt
d2hpdGUtc3BhY2UiLCAiYWhlYWQiLCAiYWxpYXMiLCAiYWxsIiwgImFsbC1zY3JvbGwiLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpz
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCmluZGV4
IGEzZDc5YzEuLjY1YjE3ZmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TdHlsZXNTaWRlYmFyUGFuZS5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U3R5bGVzU2lkZWJhclBhbmUuanMKQEAgLTEzNjksNiArMTM2OSw5IEBAIFdlYkluc3BlY3Rvci5T
dHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMubGlz
dEl0ZW1FbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CiAKKyAgICAgICAgbmFtZUVsZW1lbnQubm9y
bWFsaXplKCk7CisgICAgICAgIHZhbHVlRWxlbWVudC5ub3JtYWxpemUoKTsKKwogICAgICAgICBp
ZiAoIXRoaXMudHJlZU91dGxpbmUpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE0NzksMTYg
KzE0ODIsMTEgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgIH0sCiAKLSAgICBy
ZXN0b3JlTmFtZUVsZW1lbnQ6IGZ1bmN0aW9uKCkKKyAgICBnZXQgY3NzVmFsdWVDb21wbGV0aW9u
cygpCiAgICAgewotICAgICAgICAvLyBSZXN0b3JlIDxzcGFuIGNsYXNzPSJ3ZWJraXQtY3NzLXBy
b3BlcnR5Ij4gaWYgaXQgZG9lc24ndCB5ZXQgZXhpc3Qgb3Igd2FzIGFjY2lkZW50YWxseSBkZWxl
dGVkLgotICAgICAgICBpZiAodGhpcy5uYW1lRWxlbWVudCA9PT0gdGhpcy5saXN0SXRlbUVsZW1l
bnQucXVlcnlTZWxlY3RvcigiLndlYmtpdC1jc3MtcHJvcGVydHkiKSkKLSAgICAgICAgICAgIHJl
dHVybjsKLQotICAgICAgICB0aGlzLm5hbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic3BhbiIpOwotICAgICAgICB0aGlzLm5hbWVFbGVtZW50LmNsYXNzTmFtZSA9ICJ3ZWJraXQt
Y3NzLXByb3BlcnR5IjsKLSAgICAgICAgdGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVudCA9ICIi
OwotICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5uYW1lRWxl
bWVudCwgdGhpcy5saXN0SXRlbUVsZW1lbnQuZmlyc3RDaGlsZCk7CisgICAgICAgIGlmICghdGhp
cy5fY3NzVmFsdWVDb21wbGV0aW9ucykKKyAgICAgICAgICAgIHRoaXMuX2Nzc1ZhbHVlQ29tcGxl
dGlvbnMgPSBXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmZvclByb3BlcnR5KHRo
aXMubmFtZUVsZW1lbnQudGV4dENvbnRlbnQpOworICAgICAgICByZXR1cm4gdGhpcy5fY3NzVmFs
dWVDb21wbGV0aW9uczsKICAgICB9LAogCiAgICAgc3RhcnRFZGl0aW5nOiBmdW5jdGlvbihzZWxl
Y3RFbGVtZW50KQpAQCAtMTU3OSwxMyArMTU3NywxMSBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9w
ZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGNoYXJhY3RlciAmJiAv
W2Etei1dLy50ZXN0KGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgIHZhciBzZWxlY3Rpb24gPSB3
aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CiAgICAgICAgICAgICB2YXIgcHJlZml4ID0gc2VsZWN0aW9u
LmFuY2hvck5vZGUudGV4dENvbnRlbnQuc3Vic3RyaW5nKDAsIHNlbGVjdGlvbi5hbmNob3JPZmZz
ZXQpOwotICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRp
b25zLmZpcnN0U3RhcnRzV2l0aChwcmVmaXggKyBjaGFyYWN0ZXIpOworICAgICAgICAgICAgdmFy
IHByb3BlcnR5ID0gV2ViSW5zcGVjdG9yLmNzc05hbWVDb21wbGV0aW9ucy5maXJzdFN0YXJ0c1dp
dGgocHJlZml4ICsgY2hhcmFjdGVyKTsKIAogICAgICAgICAgICAgaWYgKCFzZWxlY3Rpb24uaXND
b2xsYXBzZWQpCiAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLmRlbGV0ZUZyb21Eb2N1bWVudCgp
OwogCi0gICAgICAgICAgICB0aGlzLnJlc3RvcmVOYW1lRWxlbWVudCgpOwotCiAgICAgICAgICAg
ICBpZiAocHJvcGVydHkpIHsKICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgIT09IHRoaXMu
bmFtZUVsZW1lbnQudGV4dENvbnRlbnQpCiAgICAgICAgICAgICAgICAgICAgIHRoaXMubmFtZUVs
ZW1lbnQudGV4dENvbnRlbnQgPSBwcm9wZXJ0eTsKQEAgLTE1OTUsOSArMTU5MSw2MSBAQCBXZWJJ
bnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAg
fQogICAgIH0sCiAKKyAgICByYW5nZU9mV29yZDogZnVuY3Rpb24odGV4dCwgYW5jaG9yT2Zmc2V0
KQorICAgIHsKKyAgICAgICAgY29uc3Qgc3R5bGVWYWx1ZURlbGltaXRlcnMgPSAiIFx1MDBBMFx0
XG5cIic6OywvKCkiOworICAgICAgICB2YXIgc3RhcnRPZmZzZXQgPSBhbmNob3JPZmZzZXQ7Cisg
ICAgICAgIHdoaWxlIChzdGFydE9mZnNldCA+IDApIHsKKyAgICAgICAgICAgIGlmIChzdHlsZVZh
bHVlRGVsaW1pdGVycy5pbmRleE9mKHRleHRbc3RhcnRPZmZzZXQgLSAxXSkgPT09IC0xKQorICAg
ICAgICAgICAgICAgIC0tc3RhcnRPZmZzZXQ7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICB2YXIgZW5kT2Zmc2V0ID0gYW5jaG9y
T2Zmc2V0OworICAgICAgICB3aGlsZSAoZW5kT2Zmc2V0IDwgdGV4dC5sZW5ndGggJiYgc3R5bGVW
YWx1ZURlbGltaXRlcnMuaW5kZXhPZih0ZXh0W2VuZE9mZnNldF0pID09PSAtMSkKKyAgICAgICAg
ICAgICsrZW5kT2Zmc2V0OworCisgICAgICAgIC8vIHN0YXJ0T2Zmc2V0IGluY2x1c2l2ZSwgZW5k
T2Zmc2V0IGV4Y2x1c2l2ZS4KKyAgICAgICAgcmV0dXJuIHsgc3RhcnRPZmZzZXQ6IHN0YXJ0T2Zm
c2V0LCBlbmRPZmZzZXQ6IGVuZE9mZnNldCB9OworICAgIH0sCisKICAgICBlZGl0aW5nVmFsdWVL
ZXlQcmVzczogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICAvLyBGSVhNRTogVGhpcyBz
aG91bGQgY29tcGxldGUgcHJvcGVydHkgdmFsdWVzLgorICAgICAgICAvLyBDb21wbGV0ZSBwcm9w
ZXJ0eSB2YWx1ZSBwYXJ0LgorICAgICAgICB2YXIgY2hhcmFjdGVyID0gZXZlbnQuZGF0YS50b0xv
d2VyQ2FzZSgpOworICAgICAgICBpZiAoY2hhcmFjdGVyICYmIC9bYS16LV0vLnRlc3QoY2hhcmFj
dGVyKSkgeworICAgICAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24o
KTsKKyAgICAgICAgICAgIGlmIChzZWxlY3Rpb24uZm9jdXNOb2RlICE9PSBzZWxlY3Rpb24uYW5j
aG9yTm9kZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIHZhciBjdXJz
b3JQb3NpdGlvbiA9IE1hdGgubWluKHNlbGVjdGlvbi5mb2N1c09mZnNldCwgc2VsZWN0aW9uLmFu
Y2hvck9mZnNldCk7CisgICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZUVs
ZW1lbnQudGV4dENvbnRlbnQ7CisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3VzT2Zmc2V0
ICE9PSBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0KSB7CisgICAgICAgICAgICAgICAgLy8gV2ViQ29y
ZSBjcmFzaCB3b3JrYXJvdW5kOiB3ZSBjYW5ub3QgcmVtb3ZlIHRoZSByYW5nZSByaWdodCBhd2F5
LCBzaW5jZQorICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIHN1Z2dlc3QsIFdlYkNv
cmUvZWRpdGluZyB3aWxsIHRyeSB0byByZW1vdmUgdGhlIHNhbWUgcmFuZ2UKKyAgICAgICAgICAg
ICAgICAvLyBvbmNlIGFnYWluLCBhcyBldmVudC5wcmV2ZW50RGVmYXVsdCgpIHdpbGwgbm90IGhh
dmUgYmVlbiBjYWxsZWQuCisgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGlvbkxlZnQgPSBNYXRo
Lm1pbihzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LCBzZWxlY3Rpb24uZm9jdXNPZmZzZXQpOworICAg
ICAgICAgICAgICAgIHZhciBzZWxlY3Rpb25SaWdodCA9IE1hdGgubWF4KHNlbGVjdGlvbi5hbmNo
b3JPZmZzZXQsIHNlbGVjdGlvbi5mb2N1c09mZnNldCk7CisgICAgICAgICAgICAgICAgY3VycmVu
dFZhbHVlID0gY3VycmVudFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25MZWZ0KSArIGN1cnJl
bnRWYWx1ZS5zdWJzdHJpbmcoc2VsZWN0aW9uUmlnaHQpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgdmFyIHdvcmRSYW5nZSA9IHRoaXMucmFuZ2VPZldvcmQoY3VycmVudFZhbHVlLCBjdXJz
b3JQb3NpdGlvbik7CisgICAgICAgICAgICB2YXIgd29yZCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJp
bmcod29yZFJhbmdlLnN0YXJ0T2Zmc2V0LCB3b3JkUmFuZ2UuZW5kT2Zmc2V0KTsKKyAgICAgICAg
ICAgIHZhciBwcmVmaXggPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRSYW5nZS5zdGFydE9m
ZnNldCwgY3Vyc29yUG9zaXRpb24pOworICAgICAgICAgICAgdmFyIHZhbHVlU3VnZ2VzdCA9IHRo
aXMuY3NzVmFsdWVDb21wbGV0aW9ucy5maXJzdFN0YXJ0c1dpdGgocHJlZml4ICsgY2hhcmFjdGVy
KTsKKworICAgICAgICAgICAgaWYgKHZhbHVlU3VnZ2VzdCkgeworICAgICAgICAgICAgICAgIGlm
IChzZWxlY3Rpb24uZm9jdXNPZmZzZXQgIT09IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQgJiYgc2Vs
ZWN0aW9uLnJhbmdlQ291bnQpCisgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5nZXRSYW5n
ZUF0KDApLmRlbGV0ZUNvbnRlbnRzKCk7CisgICAgICAgICAgICAgICAgdmFyIHZhbHVlU3RhcnQg
PSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKDAsIHdvcmRSYW5nZS5zdGFydE9mZnNldCk7CisgICAg
ICAgICAgICAgICAgdmFyIHZhbHVlRW5kID0gY3VycmVudFZhbHVlLnN1YnN0cmluZyh3b3JkID09
PSB2YWx1ZVN1Z2dlc3QgPyB3b3JkUmFuZ2UuZW5kT2Zmc2V0IDogY3Vyc29yUG9zaXRpb24pOwor
ICAgICAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IHZhbHVlU3RhcnQgKyB2YWx1ZVN1Z2dlc3Qg
KyB2YWx1ZUVuZDsKKyAgICAgICAgICAgICAgICBpZiAobmV3VmFsdWUgIT09IGN1cnJlbnRWYWx1
ZSkKKyAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBu
ZXdWYWx1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC5maXJzdENoaWxkLnNl
bGVjdChjdXJzb3JQb3NpdGlvbiArIDEsIHdvcmRSYW5nZS5zdGFydE9mZnNldCArIHZhbHVlU3Vn
Z2VzdC5sZW5ndGgpOworICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9LAogCiAgICAgZWRpdGluZ05hbWVLZXlEb3du
OiBmdW5jdGlvbihldmVudCkKQEAgLTE2MTgsMTYgKzE2NjYsMTYgQEAgV2ViSW5zcGVjdG9yLlN0
eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmIChzZWxlY3Rp
b25SYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lciAhPT0gdGhpcy5uYW1lRWxlbWVudCAmJiAh
c2VsZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIuaXNEZXNjZW5kYW50KHRoaXMu
bmFtZUVsZW1lbnQpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGNvbnN0IHN0eWxl
VmFsdWVEZWxpbWV0ZXJzID0gIiBcdFxuXCInOjssLygpIjsKLSAgICAgICAgdmFyIHdvcmRSYW5n
ZSA9IHNlbGVjdGlvblJhbmdlLnN0YXJ0Q29udGFpbmVyLnJhbmdlT2ZXb3JkKHNlbGVjdGlvblJh
bmdlLnN0YXJ0T2Zmc2V0LCBzdHlsZVZhbHVlRGVsaW1ldGVycywgdGhpcy5uYW1lRWxlbWVudCk7
CisgICAgICAgIGNvbnN0IHN0eWxlVmFsdWVEZWxpbWl0ZXJzID0gIiBcdTAwQTBcdFxuXCInOjss
LygpIjsKKyAgICAgICAgdmFyIHdvcmRSYW5nZSA9IHNlbGVjdGlvblJhbmdlLnN0YXJ0Q29udGFp
bmVyLnJhbmdlT2ZXb3JkKHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0LCBzdHlsZVZhbHVlRGVs
aW1pdGVycywgdGhpcy5uYW1lRWxlbWVudCk7CiAgICAgICAgIHZhciB3b3JkU3RyaW5nID0gd29y
ZFJhbmdlLnRvU3RyaW5nKCk7CiAgICAgICAgIHZhciBwcmVmaXggPSBzZWxlY3Rpb25SYW5nZS5z
dGFydENvbnRhaW5lci50ZXh0Q29udGVudC5zdWJzdHJpbmcoMCwgc2VsZWN0aW9uUmFuZ2Uuc3Rh
cnRPZmZzZXQpOwotICAgICAgICB2YXIgcHJvcGVydHk7CiAKKyAgICAgICAgdmFyIHByb3BlcnR5
OwogICAgICAgICBpZiAoc2hvd05leHQpCi0gICAgICAgICAgICBwcm9wZXJ0eSA9IFdlYkluc3Bl
Y3Rvci5DU1NDb21wbGV0aW9ucy5uZXh0KHdvcmRTdHJpbmcsIHByZWZpeCk7CisgICAgICAgICAg
ICBwcm9wZXJ0eSA9IFdlYkluc3BlY3Rvci5jc3NOYW1lQ29tcGxldGlvbnMubmV4dCh3b3JkU3Ry
aW5nLCBwcmVmaXgpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBwcm9wZXJ0eSA9IFdlYklu
c3BlY3Rvci5DU1NDb21wbGV0aW9ucy5wcmV2aW91cyh3b3JkU3RyaW5nLCBwcmVmaXgpOworICAg
ICAgICAgICAgcHJvcGVydHkgPSBXZWJJbnNwZWN0b3IuY3NzTmFtZUNvbXBsZXRpb25zLnByZXZp
b3VzKHdvcmRTdHJpbmcsIHByZWZpeCk7CiAKICAgICAgICAgaWYgKHByb3BlcnR5KSB7CiAgICAg
ICAgICAgICB0aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gcHJvcGVydHk7CkBAIC0xNjQ3
LDY4ICsxNjk1LDc2IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJv
dG90eXBlID0gewogICAgICAgICBpZiAoIXNlbGVjdGlvbi5yYW5nZUNvdW50KQogICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgICAgIHZhciBzZWxlY3Rpb25SYW5nZSA9IHNlbGVjdGlvbi5nZXRS
YW5nZUF0KDApOwotICAgICAgICBpZiAoc2VsZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0b3JDb250
YWluZXIgIT09IHRoaXMudmFsdWVFbGVtZW50ICYmICFzZWxlY3Rpb25SYW5nZS5jb21tb25BbmNl
c3RvckNvbnRhaW5lci5pc0Rlc2NlbmRhbnQodGhpcy52YWx1ZUVsZW1lbnQpKQorICAgICAgICBp
ZiAoc2VsZWN0aW9uLmZvY3VzTm9kZSAhPT0gc2VsZWN0aW9uLmFuY2hvck5vZGUpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgY29uc3Qgc3R5bGVWYWx1ZURlbGltZXRlcnMgPSAiIFx0
XG5cIic6OywvKCkiOwotICAgICAgICB2YXIgd29yZFJhbmdlID0gc2VsZWN0aW9uUmFuZ2Uuc3Rh
cnRDb250YWluZXIucmFuZ2VPZldvcmQoc2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQsIHN0eWxl
VmFsdWVEZWxpbWV0ZXJzLCB0aGlzLnZhbHVlRWxlbWVudCk7Ci0gICAgICAgIHZhciB3b3JkU3Ry
aW5nID0gd29yZFJhbmdlLnRvU3RyaW5nKCk7CisgICAgICAgIHZhciBjdXJzb3JQb3NpdGlvbiA9
IHNlbGVjdGlvbi5mb2N1c09mZnNldDsKKyAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IHRoaXMu
dmFsdWVFbGVtZW50LnRleHRDb250ZW50OworICAgICAgICB2YXIgd29yZFJhbmdlID0gdGhpcy5y
YW5nZU9mV29yZChjdXJyZW50VmFsdWUsIGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAgdmFyIHdv
cmRTdHJpbmcgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRSYW5nZS5zdGFydE9mZnNldCwg
d29yZFJhbmdlLmVuZE9mZnNldCk7CiAgICAgICAgIHZhciByZXBsYWNlbWVudFN0cmluZyA9IHdv
cmRTdHJpbmc7CiAKLSAgICAgICAgdmFyIG1hdGNoZXMgPSAvKC4qPykoLT9cZCsoPzpcLlxkKyk/
KSguKikvLmV4ZWMod29yZFN0cmluZyk7Ci0gICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMu
bGVuZ3RoKSB7Ci0gICAgICAgICAgICB2YXIgcHJlZml4ID0gbWF0Y2hlc1sxXTsKLSAgICAgICAg
ICAgIHZhciBudW1iZXIgPSBwYXJzZUZsb2F0KG1hdGNoZXNbMl0pOwotICAgICAgICAgICAgdmFy
IHN1ZmZpeCA9IG1hdGNoZXNbM107Ci0KLSAgICAgICAgICAgIC8vIElmIHRoZSBudW1iZXIgaXMg
bmVhciB6ZXJvIG9yIHRoZSBudW1iZXIgaXMgb25lIGFuZCB0aGUgZGlyZWN0aW9uIHdpbGwgdGFr
ZSBpdCBuZWFyIHplcm8uCi0gICAgICAgICAgICB2YXIgbnVtYmVyTmVhclplcm8gPSAobnVtYmVy
IDwgMSAmJiBudW1iZXIgPiAtMSk7Ci0gICAgICAgICAgICBpZiAobnVtYmVyID09PSAxICYmIGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3duIikKLSAgICAgICAgICAgICAgICBudW1iZXJOZWFy
WmVybyA9IHRydWU7Ci0gICAgICAgICAgICBlbHNlIGlmIChudW1iZXIgPT09IC0xICYmIGV2ZW50
LmtleUlkZW50aWZpZXIgPT09ICJVcCIpCi0gICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8g
PSB0cnVlOwotCi0gICAgICAgICAgICBpZiAobnVtYmVyTmVhclplcm8gJiYgZXZlbnQuYWx0S2V5
ICYmIGFycm93S2V5UHJlc3NlZCkgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlJZGVu
dGlmaWVyID09PSAiRG93biIpCi0gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguY2Vp
bChudW1iZXIgLSAxKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
IG51bWJlciA9IE1hdGguZmxvb3IobnVtYmVyICsgMSk7Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgIC8vIEp1bXAgYnkgMTAgd2hlbiBzaGlmdCBpcyBkb3duIG9yIGp1bXAg
YnkgMC4xIHdoZW4gbmVhciB6ZXJvIG9yIEFsdC9PcHRpb24gaXMgZG93bi4KLSAgICAgICAgICAg
ICAgICAvLyBBbHNvIGp1bXAgYnkgMTAgZm9yIHBhZ2UgdXAgYW5kIGRvd24sIG9yIGJ5IDEwMCBp
ZiBzaGlmdCBpcyBoZWxkIHdpdGggYSBwYWdlIGtleS4KLSAgICAgICAgICAgICAgICB2YXIgY2hh
bmdlQW1vdW50ID0gMTsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgcGFn
ZUtleVByZXNzZWQpCi0gICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDEwMDsKLSAg
ICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5zaGlmdEtleSB8fCBwYWdlS2V5UHJlc3NlZCkK
LSAgICAgICAgICAgICAgICAgICAgY2hhbmdlQW1vdW50ID0gMTA7Ci0gICAgICAgICAgICAgICAg
ZWxzZSBpZiAoZXZlbnQuYWx0S2V5IHx8IG51bWJlck5lYXJaZXJvKQotICAgICAgICAgICAgICAg
ICAgICBjaGFuZ2VBbW91bnQgPSAwLjE7Ci0KLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5
SWRlbnRpZmllciA9PT0gIkRvd24iIHx8IGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93
biIpCi0gICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCAqPSAtMTsKLQotICAgICAgICAg
ICAgICAgIC8vIE1ha2UgdGhlIG5ldyBudW1iZXIgYW5kIGNvbnN0cmFpbiBpdCB0byBhIHByZWNp
c2lvbiBvZiA2LCB0aGlzIG1hdGNoZXMgbnVtYmVycyB0aGUgZW5naW5lIHJldHVybnMuCi0gICAg
ICAgICAgICAgICAgLy8gVXNlIHRoZSBOdW1iZXIgY29uc3RydWN0b3IgdG8gZm9yZ2V0IHRoZSBm
aXhlZCBwcmVjaXNpb24sIHNvIDEuMTAwMDAwIHdpbGwgcHJpbnQgYXMgMS4xLgotICAgICAgICAg
ICAgICAgIG51bWJlciA9IE51bWJlcigobnVtYmVyICsgY2hhbmdlQW1vdW50KS50b0ZpeGVkKDYp
KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgLy8gQXZvaWQgZGV0ZWN0aW5nIG51bWVyaWMgdmFs
dWVzIGluIHdvcmRTdHJpbmdzIGxpa2UgInByZXNlcnZlLTNkIi4KKyAgICAgICAgaWYgKCEhdGhp
cy5jc3NWYWx1ZUNvbXBsZXRpb25zLmZpcnN0U3RhcnRzV2l0aCh3b3JkU3RyaW5nKSkgeworICAg
ICAgICAgICAgdmFyIHNob3dOZXh0ID0gKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3duIiB8
fCBldmVudC5rZXlJZGVudGlmaWVyID09PSAiUGFnZURvd24iKTsKKyAgICAgICAgICAgIHZhciBz
dWdnZXN0ZWRXb3JkOworICAgICAgICAgICAgaWYgKHNob3dOZXh0KQorICAgICAgICAgICAgICAg
IHN1Z2dlc3RlZFdvcmQgPSB0aGlzLmNzc1ZhbHVlQ29tcGxldGlvbnMubmV4dCh3b3JkU3RyaW5n
LCAiIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc3VnZ2VzdGVkV29yZCA9
IHRoaXMuY3NzVmFsdWVDb21wbGV0aW9ucy5wcmV2aW91cyh3b3JkU3RyaW5nLCAiIik7CiAKLSAg
ICAgICAgICAgIHJlcGxhY2VtZW50U3RyaW5nID0gcHJlZml4ICsgbnVtYmVyICsgc3VmZml4Owor
ICAgICAgICAgICAgaWYgKHN1Z2dlc3RlZFdvcmQpCisgICAgICAgICAgICAgICAgcmVwbGFjZW1l
bnRTdHJpbmcgPSBzdWdnZXN0ZWRXb3JkOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
Ly8gRklYTUU6IHRoaXMgc2hvdWxkIGN5Y2xlIHRocm91Z2gga25vd24ga2V5d29yZHMgZm9yIHRo
ZSBjdXJyZW50IHByb3BlcnR5IHZhbHVlLgotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIHJlcGxh
Y2VtZW50VGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyZXBsYWNlbWVudFN0cmlu
Zyk7CisgICAgICAgICAgICB2YXIgbWF0Y2hlcyA9IC8oLio/KSgtP1xkKyg/OlwuXGQrKT8pKC4q
KS8uZXhlYyh3b3JkU3RyaW5nKTsKKyAgICAgICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMu
bGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgdmFyIHByZWZpeCA9IG1hdGNoZXNbMV07CisgICAg
ICAgICAgICAgICAgdmFyIG51bWJlciA9IHBhcnNlRmxvYXQobWF0Y2hlc1syXSk7CisgICAgICAg
ICAgICAgICAgdmFyIHN1ZmZpeCA9IG1hdGNoZXNbM107CisKKyAgICAgICAgICAgICAgICAvLyBJ
ZiB0aGUgbnVtYmVyIGlzIG5lYXIgemVybyBvciB0aGUgbnVtYmVyIGlzIG9uZSBhbmQgdGhlIGRp
cmVjdGlvbiB3aWxsIHRha2UgaXQgbmVhciB6ZXJvLgorICAgICAgICAgICAgICAgIHZhciBudW1i
ZXJOZWFyWmVybyA9IChudW1iZXIgPCAxICYmIG51bWJlciA+IC0xKTsKKyAgICAgICAgICAgICAg
ICBpZiAobnVtYmVyID09PSAxICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3duIikKKyAg
ICAgICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOworICAgICAgICAgICAgICAg
IGVsc2UgaWYgKG51bWJlciA9PT0gLTEgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlVwIikK
KyAgICAgICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOworCisgICAgICAgICAg
ICAgICAgaWYgKG51bWJlck5lYXJaZXJvICYmIGV2ZW50LmFsdEtleSAmJiBhcnJvd0tleVByZXNz
ZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJE
b3duIikKKyAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguY2VpbChudW1iZXIg
LSAxKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAg
bnVtYmVyID0gTWF0aC5mbG9vcihudW1iZXIgKyAxKTsKKyAgICAgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgICAgICAvLyBKdW1wIGJ5IDEwIHdoZW4gc2hpZnQgaXMgZG93biBv
ciBqdW1wIGJ5IDAuMSB3aGVuIG5lYXIgemVybyBvciBBbHQvT3B0aW9uIGlzIGRvd24uCisgICAg
ICAgICAgICAgICAgICAgIC8vIEFsc28ganVtcCBieSAxMCBmb3IgcGFnZSB1cCBhbmQgZG93biwg
b3IgYnkgMTAwIGlmIHNoaWZ0IGlzIGhlbGQgd2l0aCBhIHBhZ2Uga2V5LgorICAgICAgICAgICAg
ICAgICAgICB2YXIgY2hhbmdlQW1vdW50ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV2
ZW50LnNoaWZ0S2V5ICYmIHBhZ2VLZXlQcmVzc2VkKQorICAgICAgICAgICAgICAgICAgICAgICAg
Y2hhbmdlQW1vdW50ID0gMTAwOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5z
aGlmdEtleSB8fCBwYWdlS2V5UHJlc3NlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5n
ZUFtb3VudCA9IDEwOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5hbHRLZXkg
fHwgbnVtYmVyTmVhclplcm8pCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQg
PSAwLjE7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09
ICJEb3duIiB8fCBldmVudC5rZXlJZGVudGlmaWVyID09PSAiUGFnZURvd24iKQorICAgICAgICAg
ICAgICAgICAgICAgICAgY2hhbmdlQW1vdW50ICo9IC0xOworCisgICAgICAgICAgICAgICAgICAg
IC8vIE1ha2UgdGhlIG5ldyBudW1iZXIgYW5kIGNvbnN0cmFpbiBpdCB0byBhIHByZWNpc2lvbiBv
ZiA2LCB0aGlzIG1hdGNoZXMgbnVtYmVycyB0aGUgZW5naW5lIHJldHVybnMuCisgICAgICAgICAg
ICAgICAgICAgIC8vIFVzZSB0aGUgTnVtYmVyIGNvbnN0cnVjdG9yIHRvIGZvcmdldCB0aGUgZml4
ZWQgcHJlY2lzaW9uLCBzbyAxLjEwMDAwMCB3aWxsIHByaW50IGFzIDEuMS4KKyAgICAgICAgICAg
ICAgICAgICAgbnVtYmVyID0gTnVtYmVyKChudW1iZXIgKyBjaGFuZ2VBbW91bnQpLnRvRml4ZWQo
NikpOworICAgICAgICAgICAgICAgIH0KIAotICAgICAgICB3b3JkUmFuZ2UuZGVsZXRlQ29udGVu
dHMoKTsKLSAgICAgICAgd29yZFJhbmdlLmluc2VydE5vZGUocmVwbGFjZW1lbnRUZXh0Tm9kZSk7
CisgICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRTdHJpbmcgPSBwcmVmaXggKyBudW1iZXIgKyBz
dWZmaXg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KIAotICAgICAgICB2YXIgZmluYWxTZWxl
Y3Rpb25SYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Ci0gICAgICAgIGZpbmFsU2VsZWN0
aW9uUmFuZ2Uuc2V0U3RhcnQocmVwbGFjZW1lbnRUZXh0Tm9kZSwgMCk7Ci0gICAgICAgIGZpbmFs
U2VsZWN0aW9uUmFuZ2Uuc2V0RW5kKHJlcGxhY2VtZW50VGV4dE5vZGUsIHJlcGxhY2VtZW50U3Ry
aW5nLmxlbmd0aCk7CisgICAgICAgIGlmICghcmVwbGFjZW1lbnRTdHJpbmcpCisgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOwotICAgICAg
ICBzZWxlY3Rpb24uYWRkUmFuZ2UoZmluYWxTZWxlY3Rpb25SYW5nZSk7CisgICAgICAgIHZhciB2
YWx1ZVN0YXJ0ID0gY3VycmVudFZhbHVlLnN1YnN0cmluZygwLCB3b3JkUmFuZ2Uuc3RhcnRPZmZz
ZXQpOworICAgICAgICB2YXIgdmFsdWVFbmQgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRS
YW5nZS5lbmRPZmZzZXQpOworICAgICAgICB2YXIgbmV3VmFsdWUgPSB2YWx1ZVN0YXJ0ICsgcmVw
bGFjZW1lbnRTdHJpbmcgKyB2YWx1ZUVuZDsKKyAgICAgICAgdGhpcy52YWx1ZUVsZW1lbnQudGV4
dENvbnRlbnQgPSBuZXdWYWx1ZTsKKyAgICAgICAgdGhpcy52YWx1ZUVsZW1lbnQuZmlyc3RDaGls
ZC5zZWxlY3Qod29yZFJhbmdlLnN0YXJ0T2Zmc2V0LCB3b3JkUmFuZ2Uuc3RhcnRPZmZzZXQgKyBy
ZXBsYWNlbWVudFN0cmluZy5sZW5ndGgpCiAKICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQo
KTsKIApAQCAtMTczNCw2ICsxNzkwLDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVl
RWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBlZGl0ZWRFbGVtZW50LnBhcmVudEVs
ZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiY2hpbGQtZWRpdGluZyIpOwogCiAgICAgICAgIGRlbGV0
ZSB0aGlzLm9yaWdpbmFsUHJvcGVydHlUZXh0OworICAgICAgICBkZWxldGUgdGhpcy5fY3NzVmFs
dWVDb21wbGV0aW9uczsKICAgICB9LAogCiAgICAgZWRpdGluZ0NhbmNlbGxlZDogZnVuY3Rpb24o
ZWxlbWVudCwgY29udGV4dCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuaHRtbCBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbAppbmRleCA5ZWQ1MDE5Li5hYmMyODVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5odG1sCkBAIC05MSw2ICs5MSw3IEBAIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29s
b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IkNTU0NvbXBsZXRpb25zLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJDU1NLZXl3b3JkQ29tcGxldGlvbnMuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlN0eWxlc1NpZGViYXJQYW5lLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQYW5lbEVu
YWJsZXJWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJXZWxjb21lVmlldy5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5qcwppbmRleCA4NDMyMWMxLi5mYmY3ZDVjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTYxNCw3ICs2MTQsOCBAQCBXZWJJbnNwZWN0
b3IuZG9Mb2FkZWREb25lID0gZnVuY3Rpb24oKQogICAgIEluc3BlY3RvckJhY2tlbmQuc2V0Q29u
c29sZU1lc3NhZ2VzRW5hYmxlZCh0cnVlKTsKIAogICAgIC8vIEFzIGEgRE9NQWdlbnQgbWV0aG9k
LCB0aGlzIG5lZWRzIHRvIGhhcHBlbiBhZnRlciB0aGUgZnJvbnRlbmQgaGFzIGxvYWRlZCBhbmQg
dGhlIGFnZW50IGlzIGF2YWlsYWJsZS4KLSAgICBJbnNwZWN0b3JCYWNrZW5kLmdldFN1cHBvcnRl
ZENTU1Byb3BlcnRpZXMoV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLl9sb2FkKTsKKyAgICBX
ZWJJbnNwZWN0b3IuY3NzTmFtZUNvbXBsZXRpb25zID0gbmV3IFdlYkluc3BlY3Rvci5DU1NDb21w
bGV0aW9ucygpOworICAgIEluc3BlY3RvckJhY2tlbmQuZ2V0U3VwcG9ydGVkQ1NTUHJvcGVydGll
cyhXZWJJbnNwZWN0b3IuY3NzTmFtZUNvbXBsZXRpb25zLl9sb2FkLmJpbmQoV2ViSW5zcGVjdG9y
LmNzc05hbWVDb21wbGV0aW9ucykpOwogfQogCiBXZWJJbnNwZWN0b3IuYWRkUGFuZWxUb29sYmFy
SWNvbiA9IGZ1bmN0aW9uKHRvb2xiYXJFbGVtZW50LCBwYW5lbCwgcHJldmlvdXNUb29sYmFySXRl
bSkKQEAgLTE3NTIsOCArMTc1MywxMSBAQCBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nID0gZnVu
Y3Rpb24oZWxlbWVudCwgY29uZmlnKQogewogICAgIGlmIChlbGVtZW50Ll9fZWRpdGluZykKICAg
ICAgICAgcmV0dXJuOworICAgIGNvbmZpZyA9IGNvbmZpZyB8fCB7fTsKICAgICBlbGVtZW50Ll9f
ZWRpdGluZyA9IHRydWU7CiAgICAgV2ViSW5zcGVjdG9yLl9fZWRpdGluZyA9IHRydWU7CisgICAg
dmFyIGNvbW1pdHRlZENhbGxiYWNrID0gY29uZmlnLmNvbW1pdEhhbmRsZXI7CisgICAgdmFyIGNh
bmNlbGxlZENhbGxiYWNrID0gY29uZmlnLmNhbmNlbEhhbmRsZXI7CiAKICAgICBjb25maWcgPSBj
b25maWcgfHwge307CiAgICAgdmFyIGNvbW1pdHRlZENhbGxiYWNrID0gY29uZmlnLmNvbW1pdEhh
bmRsZXI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77107</attachid>
            <date>2010-12-21 06:06:04 -0800</date>
            <delta_ts>2010-12-21 08:02:57 -0800</delta_ts>
            <desc>[PATCH] Comments addressed</desc>
            <filename>completevalues.patch</filename>
            <type>text/plain</type>
            <size>62760</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGFhMjVmNDZiOGEwZGRhZGNkMWZmM2ExN2QwMjExMzdmNjQ3NjA4ODQKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBGcmkgRGVjIDMg
MjA6MDc6NDMgMjAxMCArMDMwMAoKICAgIFdJUCAtIGF1dG9jb21wbGV0ZSB2YWx1ZSBrZXl3b3Jk
cwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRl
LXZhbHVlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9j
b21wbGV0ZS12YWx1ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAuLjkxYjkwOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAK
K1Rlc3RzIHRoYXQgVXAvRG93biBrZXlzIHN3aXRjaCBzdWdnZXN0aW9ucyBpbiBDU1MgcHJvcGVy
dHkgdmFsdWVzLgorCitUZXh0CitJbml0aWFsIHByb3BlcnR5IHZhbHVlOgorY29sb3I6IGdyZWVu
OworTmV4dCB2YWx1ZToKK2NvbG9yOiBncmVlbnllbGxvdzsKK09yaWdpbmFsIHZhbHVlOgorY29s
b3I6IGdyZWVuOworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1
dG9jb21wbGV0ZS12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtYXV0
b2NvbXBsZXRlLXZhbHVlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAu
LjVmM2VhZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVz
LWF1dG9jb21wbGV0ZS12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDcwIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJlbGVtZW50cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorCitmdW5jdGlvbiBkb2l0KCkKK3sKKyAgICBmdW5jdGlvbiBjYWxsYmFjayhyZXN1
bHQpCisgICAgeworICAgICAgICBkdW1wQXJyYXkocmVzdWx0KTsKKyAgICAgICAgbm90aWZ5RG9u
ZSgpOworICAgIH0KKyAgICBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKCJmcm9udGVuZF9ydW5UZXN0
IiwgY2FsbGJhY2spOworfQorCisvLyBGcm9udGVuZCBmdW5jdGlvbnMuCisKK2Z1bmN0aW9uIGZy
b250ZW5kX3J1blRlc3QodGVzdENvbnRyb2xsZXIpCit7CisgICAgdGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIGZyb250ZW5kX2V4cGFuZERPTVN1YnRyZWVBbmRSdW4odGVzdENv
bnRyb2xsZXIsIG51bGwsIGZyb250ZW5kX3NlbGVjdEluc3BlY3RlZEVsZW1lbnQpOworfQorCitm
dW5jdGlvbiBmcm9udGVuZF9zZWxlY3RJbnNwZWN0ZWRFbGVtZW50KHRlc3RDb250cm9sbGVyKQor
eworICAgIGZyb250ZW5kX3NlbGVjdEVsZW1lbnRBbmRSdW4odGVzdENvbnRyb2xsZXIsICJpbnNw
ZWN0ZWQiLCBmcm9udGVuZF9kdW1wSW5zcGVjdGVkU3R5bGUpOworfQorCitmdW5jdGlvbiBmcm9u
dGVuZF9jcmVhdGVLZXlib2FyZEV2ZW50KGV2ZW50TmFtZSwga2V5SWRlbnRpZmllcikKK3sKKyAg
ICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoIktleWJvYXJkRXZlbnQiKTsKKyAgICBl
dnQuaW5pdEtleWJvYXJkRXZlbnQoZXZlbnROYW1lLCB0cnVlIC8qIGNhbiBidWJibGUgKi8sIHRy
dWUgLyogY2FuIGNhbmNlbCAqLywgbnVsbCAvKiB2aWV3ICovLCBrZXlJZGVudGlmaWVyLCAiIik7
CisgICAgcmV0dXJuIGV2dDsKK30KKworZnVuY3Rpb24gZnJvbnRlbmRfZHVtcEluc3BlY3RlZFN0
eWxlKHRlc3RDb250cm9sbGVyKQoreworICAgIHZhciBzZWN0aW9uID0gV2ViSW5zcGVjdG9yLnBh
bmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMuc3R5bGVzLnNlY3Rpb25zWzBdWzFdOworICAgIHNl
Y3Rpb24uZXhwYW5kKCk7CisgICAgdmFyIHRyZWVFbGVtZW50ID0gc2VjdGlvbi5wcm9wZXJ0aWVz
VHJlZU91dGxpbmUuY2hpbGRyZW5bMF07CisKKyAgICB0ZXN0Q29udHJvbGxlci5yZXN1bHRzLnB1
c2goIkluaXRpYWwgcHJvcGVydHkgdmFsdWU6Iik7CisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0
cy5wdXNoKHRyZWVFbGVtZW50Lmxpc3RJdGVtRWxlbWVudC50ZXh0Q29udGVudCk7CisgICAgdHJl
ZUVsZW1lbnQuc3RhcnRFZGl0aW5nKHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudCk7CisgICAgdHJl
ZUVsZW1lbnQudmFsdWVFbGVtZW50LmZpcnN0Q2hpbGQuc2VsZWN0KCk7CisKKyAgICB0ZXN0Q29u
dHJvbGxlci5yZXN1bHRzLnB1c2goIk5leHQgdmFsdWU6Iik7CisgICAgdHJlZUVsZW1lbnQudmFs
dWVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZnJvbnRlbmRfY3JlYXRlS2V5Ym9hcmRFdmVudCgia2V5
ZG93biIsICJEb3duIikpOworICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCh0cmVlRWxl
bWVudC5saXN0SXRlbUVsZW1lbnQudGV4dENvbnRlbnQpOworCisgICAgdGVzdENvbnRyb2xsZXIu
cmVzdWx0cy5wdXNoKCJPcmlnaW5hbCB2YWx1ZToiKTsKKyAgICB0cmVlRWxlbWVudC52YWx1ZUVs
ZW1lbnQuZGlzcGF0Y2hFdmVudChmcm9udGVuZF9jcmVhdGVLZXlib2FyZEV2ZW50KCJrZXlkb3du
IiwgIlVwIikpOworICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCh0cmVlRWxlbWVudC5s
aXN0SXRlbUVsZW1lbnQudGV4dENvbnRlbnQpOworCisgICAgdGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSh0ZXN0Q29udHJvbGxlci5yZXN1bHRzKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisK
Kzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgorPHA+CitUZXN0cyB0aGF0IFVwL0Rvd24ga2V5cyBz
d2l0Y2ggc3VnZ2VzdGlvbnMgaW4gQ1NTIHByb3BlcnR5IHZhbHVlcy4KKzwvcD4KKworPGRpdiBp
ZD0iaW5zcGVjdGVkIiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+VGV4dDwvZGl2PgorCis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZmIxM2FmZS4uNjgyMzVkYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtNjMxLDcgKzYzMSw3IEBAIENTU1Byb3BlcnR5TmFtZXMuaCA6ICQoV0VCQ09S
RV9DU1NfUFJPUEVSVFlfTkFNRVMpIGNzcy9tYWtlcHJvcC5wbAogQ1NTVmFsdWVLZXl3b3Jkcy5o
IDogJChXRUJDT1JFX0NTU19WQUxVRV9LRVlXT1JEUykgY3NzL21ha2V2YWx1ZXMucGwKIAkjIExv
d2VyIGNhc2UgYWxsIHRoZSB2YWx1ZXMsIGFzIENTUyB2YWx1ZXMgYXJlIGNhc2UtaW5zZW5zaXRp
dmUKIAlwZXJsIC1uZSAncHJpbnQgbGMnICQoV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMpID4g
Q1NTVmFsdWVLZXl3b3Jkcy5pbgotCWlmIHNvcnQgQ1NTVmFsdWVLZXl3b3Jkcy5pbiB8IHVuaXEg
LWQgfCBncmVwIC1FIC12ICcoXiMpfCheW1s6c3BhY2U6XV0qJCQpJzsgdGhlbiBlY2hvICdEdXBs
aWNhdGUgdmFsdWUhJzsgZXhpdCAxOyBmaQorCWlmIGNhdCBDU1NWYWx1ZUtleXdvcmRzLmluIHwg
c2VkIC1lICdzL1woW14sXSpcKS4qL1wxLycgfCBzb3J0IHwgdW5pcSAtZCB8IGdyZXAgLUUgLXYg
JyheIyl8KF5bWzpzcGFjZTpdXSokJCknOyB0aGVuIGVjaG8gJ0R1cGxpY2F0ZSB2YWx1ZSEnOyBl
eGl0IDE7IGZpCiAJcGVybCAiJChXZWJDb3JlKS9jc3MvbWFrZXZhbHVlcy5wbCIKIAogIyAtLS0t
LS0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KaW5kZXggOWNmYmYzYi4uNDQ1ZDhmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC00NjU4LDEyICs0NjU4
LDE0IEBAIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oOiAkKFdFQkNP
UkVfQ1NTX1BST1BFUlRZX05BTUVTKSAkKFdlYkNvCiAJbXYgQ1NTUHJvcGVydHlOYW1lcyogJChH
RU5TT1VSQ0VTX1dFQkNPUkUpCiAKICMgTG93ZXIgY2FzZSBhbGwgdGhlIHZhbHVlcywgYXMgQ1NT
IHZhbHVlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQorRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NL
ZXl3b3JkQ29tcGxldGlvbnMuanM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTVmFsdWVLZXl3
b3Jkcy5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTVmFsdWVLZXl3b3Jkcy5jcHA6IERl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTVmFsdWVLZXl3b3Jkcy5oCiBEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuaDogJChXRUJDT1JFX0NTU19WQUxVRV9LRVlXT1JEUykg
JChXZWJDb3JlKS9jc3MvbWFrZXZhbHVlcy5wbAogCSQoUEVSTCkgLW5lICdwcmludCBsYycgJChX
RUJDT1JFX0NTU19WQUxVRV9LRVlXT1JEUykgPiBDU1NWYWx1ZUtleXdvcmRzLmluCi0JaWYgc29y
dCBDU1NWYWx1ZUtleXdvcmRzLmluIHwgdW5pcSAtZCB8IGdyZXAgLUUgJ15bXiNdJzsgdGhlbiBl
Y2hvICdEdXBsaWNhdGUgdmFsdWUhJzsgZXhpdCAxOyBmaQorCWlmIGNhdCBDU1NWYWx1ZUtleXdv
cmRzLmluIHwgc2VkIC1lICdzL1woW14sXSpcKS4qL1wxLycgfCBzb3J0IHwgdW5pcSAtZCB8IGdy
ZXAgLUUgJ15bXiNdJzsgdGhlbiBlY2hvICdEdXBsaWNhdGUgdmFsdWUhJzsgZXhpdCAxOyBmaQog
CSQoUEVSTCkgIiQoV2ViQ29yZSkvY3NzL21ha2V2YWx1ZXMucGwiCiAJbXYgQ1NTVmFsdWVLZXl3
b3JkcyogJChHRU5TT1VSQ0VTX1dFQkNPUkUpCisJbXYgQ1NTS2V5d29yZENvbXBsZXRpb25zLmpz
ICQoR0VOU09VUkNFU19XRUJDT1JFKQogCiAjIERPQ1RZUEUgc3RyaW5ncwogRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9IYXNoVG9vbHMuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Eb2NUeXBlU3Ry
aW5ncy5jcHAKQEAgLTQ4NTAsNiArNDg1Miw3IEBAIEVYVFJBX0RJU1QgKz0gXAogd2ViaW5zcGVj
dG9yZGlyID0gJHtkYXRhZGlyfS93ZWJraXRndGstQFdFQktJVEdUS19BUElfVkVSU0lPTkAvd2Vi
aW5zcGVjdG9yCiBkaXN0X3dlYmluc3BlY3Rvcl9EQVRBID0gXAogCSQoV2ViQ29yZSkvRW5nbGlz
aC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NT
U0tleXdvcmRDb21wbGV0aW9ucy5qcyBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0
b3JCYWNrZW5kU3R1Yi5qcyBcCiAJJChzaGVsbCBscyAkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9u
dC1lbmQvKi5qcykgXAogCSQoc2hlbGwgbHMgJChXZWJDb3JlKS9pbnNwZWN0b3IvZnJvbnQtZW5k
LyouaHRtbCkgXApAQCAtNDg2Nyw2ICs0ODcwLDcgQEAgJHtHRU5TT1VSQ0VTX0lOU1BFQ1RPUn0v
aW5zcGVjdG9yLmh0bWw6ICQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVuZC8qLmh0bWwgXAog
CQkkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9udC1lbmQvKi5qcyBcCiAJCSQoV2ViQ29yZSkvaW5z
cGVjdG9yL2Zyb250LWVuZC8qLmNzcyBcCiAJCSQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVu
ZC9JbWFnZXMvKiBcCisJCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTS2V5d29yZENvbXBsZXRp
b25zLmpzIFwKIAkJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5q
cyBcCiAJCSQoV2ViQ29yZSkvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCiAJJChB
TV9WX0dFTilta2RpciAtcCAke0dFTlNPVVJDRVNfSU5TUEVDVE9SfS9pbWFnZXMKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCmluZGV4IDY2Yjk1YzEuLjI5ZWVmOGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cApAQCAtMzk5LDYgKzM5OSw3IEBACiAgICAgICAgICAgICAnLi4vY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4nLAogICAgICAgICAgIF0sCiAgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAg
ICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L0NTU0tleXdvcmRDb21wbGV0
aW9ucy5qcycsCiAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0
L0NTU1ZhbHVlS2V5d29yZHMuY3BwJywKICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElB
VEVfRElSKS93ZWJraXQvQ1NTVmFsdWVLZXl3b3Jkcy5oJywKICAgICAgICAgICBdLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9jc3N2YWx1ZWtleXdvcmRz
LnB5IGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9jc3N2YWx1ZWtleXdvcmRz
LnB5CmluZGV4IGViZjg5NWIuLmVmMjUzMzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5n
eXAvc2NyaXB0cy9hY3Rpb25fY3NzdmFsdWVrZXl3b3Jkcy5weQorKysgYi9XZWJDb3JlL1dlYkNv
cmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Nzc3ZhbHVla2V5d29yZHMucHkKQEAgLTEyMCw3ICsxMjAs
NyBAQCBkZWYgbWFpbihhcmdzKToKIAogICAgICMgTWFrZSBzdXJlIHRoZXJlIGFyZW4ndCBhbnkg
ZHVwbGljYXRlIGxpbmVzIGluIHRoZSBpbiBmaWxlcy4gTG93ZXJjYXNlCiAgICAgIyBldmVyeXRo
aW5nIGJlY2F1c2UgQ1NTIHZhbHVlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZS4KLSAgICBsaW5lRGlj
dCA9IHt9CisgICAgdmFsdWVEaWN0ID0ge30KICAgICBmb3IgaW5GaWxlUGF0aCBpbiBpbkZpbGVz
OgogICAgICAgICBpbkZpbGUgPSBvcGVuKGluRmlsZVBhdGgpCiAgICAgICAgIGZvciBsaW5lIGlu
IGluRmlsZToKQEAgLTEzMCw5ICsxMzAsMTIgQEAgZGVmIG1haW4oYXJncyk6CiAgICAgICAgICAg
ICBpZiBsaW5lID09ICcnOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBs
aW5lID0gbGluZS5sb3dlcigpCi0gICAgICAgICAgICBpZiBsaW5lIGluIGxpbmVEaWN0OgotICAg
ICAgICAgICAgICAgIHJhaXNlIEtleUVycm9yLCAnRHVwbGljYXRlIHZhbHVlICVzJyAlIGxpbmUK
LSAgICAgICAgICAgIGxpbmVEaWN0W2xpbmVdID0gVHJ1ZQorICAgICAgICAgICAgcGFydHMgPSBs
aW5lLnBhcnRpdGlvbignLCcpCisgICAgICAgICAgICBpZiBwYXJ0c1sxXSAhPSAnJzoKKyAgICAg
ICAgICAgICAgICB2YWx1ZSA9IHBhcnRzWzBdCisgICAgICAgICAgICAgICAgaWYgdmFsdWUgaW4g
dmFsdWVEaWN0OgorICAgICAgICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvciwgJ0R1cGxpY2F0
ZSB2YWx1ZSAlcycgJSB2YWx1ZQorICAgICAgICAgICAgICAgIHZhbHVlRGljdFt2YWx1ZV0gPSBU
cnVlCiAgICAgICAgICAgICBwcmludCA+Pm1lcmdlZCwgbGluZQogICAgICAgICBpbkZpbGUuY2xv
c2UoKQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3Jl
LnByaQppbmRleCBiYzNmNTk1Li41YWY1N2QxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTUzNiw2ICs1MzYsNyBAQCBJRExfQklO
RElOR1MgKz0gXAogCiBJTlNQRUNUT1JfSU5URVJGQUNFUyA9IGluc3BlY3Rvci9JbnNwZWN0b3Iu
aWRsCiBJTlNQRUNUT1JfQkFDS0VORF9TVFVCX1FSQyA9IGluc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yQmFja2VuZFN0dWIucXJjCitDU1NfS0VZV09SRF9DT01QTEVUSU9OU19RUkMgPSBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmMKIAogdjg6IHdyYXBwZXJG
YWN0b3J5QXJnID0gLS13cmFwcGVyRmFjdG9yeVY4CiBlbHNlOiB3cmFwcGVyRmFjdG9yeUFyZyA9
IC0td3JhcHBlckZhY3RvcnkKQEAgLTU5NCw2ICs1OTUsMTMgQEAgY3NzdmFsdWVzLmRlcGVuZHMg
PSAke1FNQUtFX0ZJTEVfTkFNRX0gJCR7RVhUUkFDU1NWQUxVRVN9ICQkY3NzdmFsdWVzLndrU2Ny
aXB0CiBjc3N2YWx1ZXMuY2xlYW4gPSAke1FNQUtFX0ZJTEVfT1VUfSAke1FNQUtFX1ZBUl9XQ19H
RU5FUkFURURfU09VUkNFU19ESVJ9LyR7UU1BS0VfRklMRV9CQVNFfS5oCiBhZGRFeHRyYUNvbXBp
bGVyKGNzc3ZhbHVlcykKIAorY3NzS2V5d29yZENvbXBsZXRpb25zLndrQWRkT3V0cHV0VG9Tb3Vy
Y2VzID0gZmFsc2UKK2Nzc0tleXdvcmRDb21wbGV0aW9ucy5vdXRwdXQgPSBnZW5lcmF0ZWQvQ1NT
S2V5d29yZENvbXBsZXRpb25zLnFyYworY3NzS2V5d29yZENvbXBsZXRpb25zLmlucHV0ID0gQ1NT
X0tFWVdPUkRfQ09NUExFVElPTlNfUVJDCitjc3NLZXl3b3JkQ29tcGxldGlvbnMudGVtcE5hbWVz
ID0gJCRQV0QvJCRDU1NfS0VZV09SRF9DT01QTEVUSU9OU19RUkMgJCR7V0NfR0VORVJBVEVEX1NP
VVJDRVNfRElSfS9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJjCitjc3NLZXl3b3JkQ29tcGxldGlv
bnMuY29tbWFuZHMgPSAkJFFNQUtFX0NPUFkgJCRyZXBsYWNlKGNzc0tleXdvcmRDb21wbGV0aW9u
cy50ZW1wTmFtZXMsICIvIiwgJCRRTUFLRV9ESVJfU0VQKQorYWRkRXh0cmFDb21waWxlcihjc3NL
ZXl3b3JkQ29tcGxldGlvbnMpCisKICMgR0VORVJBVE9SIDE6IElETCBjb21waWxlcgogaWRsLmlu
cHV0ID0gSURMX0JJTkRJTkdTCiBpZGwud2tTY3JpcHQgPSAkJFBXRC9iaW5kaW5ncy9zY3JpcHRz
L2dlbmVyYXRlLWJpbmRpbmdzLnBsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIv
V2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBlNTU2ZWY1Li5jMWUxMzhkIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE1Nyw3ICsx
NTcsNyBAQCBzeW1iaWFuIHsKIFJFU09VUkNFUyArPSBcCiAgICAgJCRQV0QvLi4vV2ViQ29yZS9X
ZWJDb3JlLnFyYwogCi1pbmNsdWRlX3dlYmluc3BlY3RvcjogUkVTT1VSQ0VTICs9ICQkUFdELy4u
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjICQkV0NfR0VORVJBVEVEX1NP
VVJDRVNfRElSL0luc3BlY3RvckJhY2tlbmRTdHViLnFyYworaW5jbHVkZV93ZWJpbnNwZWN0b3I6
IFJFU09VUkNFUyArPSAkJFBXRC8uLi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0
LnFyYyAkJFdDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUi9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5xcmMg
JCRXQ19HRU5FUkFURURfU09VUkNFU19ESVIvQ1NTS2V5d29yZENvbXBsZXRpb25zLnFyYwogCiBl
bmFibGVfZmFzdF9tb2JpbGVfc2Nyb2xsaW5nOiBERUZJTkVTICs9IEVOQUJMRV9GQVNUX01PQklM
RV9TQ1JPTExJTkc9MQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlJ
bnNwZWN0b3JGaWxlcy5jbWQgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlJbnNwZWN0b3JG
aWxlcy5jbWQKaW5kZXggMzE2ZmRkYy4uNjQ5MTIxMSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9jb3B5SW5zcGVjdG9yRmlsZXMuY21kCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovY29weUluc3BlY3RvckZpbGVzLmNtZApAQCAtMSw1ICsxLDYgQEAKIG1rZGlyIDI+TlVM
ICIlV2ViS2l0T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xpbnNwZWN0b3IiCiB4Y29w
eSAveSAvZCAvcyAvZXhjbHVkZTp4Y29weS5leGNsdWRlcyAiJVByb2plY3REaXIlLi5caW5zcGVj
dG9yXGZyb250LWVuZFwqIiAiJVdlYktpdE91dHB1dERpciVcYmluXFdlYktpdC5yZXNvdXJjZXNc
aW5zcGVjdG9yIgoreGNvcHkgL3kgL2QgL3MgL2V4Y2x1ZGU6eGNvcHkuZXhjbHVkZXMgIiVXZWJL
aXRPdXRwdXREaXIlXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXENTU0tleXdvcmRDb21wbGV0
aW9ucy5qcyIgIiVXZWJLaXRPdXRwdXREaXIlXGJpblxXZWJLaXQucmVzb3VyY2VzXGluc3BlY3Rv
ciIKIHhjb3B5IC95IC9kIC9zIC9leGNsdWRlOnhjb3B5LmV4Y2x1ZGVzICIlV2ViS2l0T3V0cHV0
RGlyJVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xJbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcyIg
IiVXZWJLaXRPdXRwdXREaXIlXGJpblxXZWJLaXQucmVzb3VyY2VzXGluc3BlY3RvciIKIG1rZGly
IDI+TlVMICIlV2ViS2l0T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xlbi5scHJvaiIK
IHhjb3B5IC95IC9kIC9zIC9leGNsdWRlOnhjb3B5LmV4Y2x1ZGVzICIlUHJvamVjdERpciUuLlxF
bmdsaXNoLmxwcm9qXGxvY2FsaXplZFN0cmluZ3MuanMiICIlV2ViS2l0T3V0cHV0RGlyJVxiaW5c
V2ViS2l0LnJlc291cmNlc1xlbi5scHJvaiIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMzA1MmZjMS4uNjg2Y2I3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIyMzcxLDYgKzIyMzcxLDcgQEAKIAkJCSk7CiAJ
CQlpbnB1dFBhdGhzID0gKAogCQkJCSIkKFNSQ1JPT1QpL2luc3BlY3Rvci9mcm9udC1lbmQiLAor
CQkJCSIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NLZXl3
b3JkQ29tcGxldGlvbnMuanMiLAogCQkJCSIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcyIsCiAJCQkpOwogCQkJbmFtZSA9
ICJDb3B5IEluc3BlY3RvciBSZXNvdXJjZXMiOwpAQCAtMjIzNzksNyArMjIzODAsNyBAQAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQ
YXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gIiMgQ29weSBhbGwgdGhlIEluc3BlY3Rv
ciBmcm9udC1lbmQgcmVzb3VyY2VzLlxuZGl0dG8gXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9u
dC1lbmRcIiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9M
REVSX1BBVEh9L2luc3BlY3RvclwiXG5kaXR0byBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmRTdHViLmpzXCIgXCIke1RBUkdFVF9C
VUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3Jc
IlxuXG4jIFJlbW92ZSB0aGUgV2ViS2l0LnFyYyBmaWxlIHNpbmNlIGl0IGlzIG5vdCB1c2VkIG9u
IHRoZSBNYWMgKHRoaXMgZmlsZSBpcyBmb3IgUXQpLlxucm0gLWYgXCIke1RBUkdFVF9CVUlMRF9E
SVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3IvV2ViS2l0
LnFyY1wiXG5cbiMgUmVtb3ZlICoucmUyanMgZmlsZXMsIHRoZXkgYXJlIG9ubHkgdXNlZCB0byBn
ZW5lcmF0ZSBzb21lIC5qcyBmaWxlcy5cbnJtIC1mIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VO
TE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yL1wiKi5yZTJqc1xuXG4j
IFJlbW92ZSBhbnkgLnN2biBkaXJlY3RvcmllcyB0aGF0IG1heSBoYXZlIGJlZW4gY29waWVkIG92
ZXIuXG5maW5kIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19G
T0xERVJfUEFUSH0vaW5zcGVjdG9yXCIgLW5hbWUgXCIuc3ZuXCIgLXR5cGUgZCB8IHhhcmdzIHJt
IC1yZlxuIjsKKwkJCXNoZWxsU2NyaXB0ID0gIiMgQ29weSBhbGwgdGhlIEluc3BlY3RvciBmcm9u
dC1lbmQgcmVzb3VyY2VzLlxuZGl0dG8gXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9udC1lbmRc
IiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BB
VEh9L2luc3BlY3RvclwiXG5kaXR0byBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qc1wiIFwiJHtUQVJHRVRfQlVJTERf
RElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yXCJcbmRp
dHRvIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZFN0dWIuanNcIiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9S
RVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiXG5cbiMgUmVtb3ZlIHRoZSBXZWJLaXQu
cXJjIGZpbGUgc2luY2UgaXQgaXMgbm90IHVzZWQgb24gdGhlIE1hYyAodGhpcyBmaWxlIGlzIGZv
ciBRdCkuXG5ybSAtZiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJD
RVNfRk9MREVSX1BBVEh9L2luc3BlY3Rvci9XZWJLaXQucXJjXCJcblxuIyBSZW1vdmUgKi5yZTJq
cyBmaWxlcywgdGhleSBhcmUgb25seSB1c2VkIHRvIGdlbmVyYXRlIHNvbWUgLmpzIGZpbGVzLlxu
cm0gLWYgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERF
Ul9QQVRIfS9pbnNwZWN0b3IvXCIqLnJlMmpzXG5cbiMgUmVtb3ZlIGFueSAuc3ZuIGRpcmVjdG9y
aWVzIHRoYXQgbWF5IGhhdmUgYmVlbiBjb3BpZWQgb3Zlci5cbmZpbmQgXCIke1RBUkdFVF9CVUlM
RF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3JcIiAt
bmFtZSBcIi5zdm5cIiAtdHlwZSBkIHwgeGFyZ3Mgcm0gLXJmXG4iOwogCQl9OwogCQk1RDBENTQw
RDBFOTg2MkY2MDAyOUUyMjMgLyogQ2hlY2sgRm9yIFdlYWsgVlRhYmxlcyBhbmQgRXh0ZXJuYWxz
ICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KaW5kZXggYzNjYTFiNS4uNDgyYTdhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
CkBAIC0xNiw0NDQgKzE2LDQ0NCBAQCBpbml0aWFsCiAjIENTU19QUk9QX0JPUkRFUl9UT1BfU1RZ
TEUKICMgQ1NTX1BST1BfQk9SREVSX0JPVFRPTV9TVFlMRQogIyBDU1NfUFJPUF9CT1JERVJfTEVG
VF9TVFlMRQotbm9uZQotaGlkZGVuCi1pbnNldAotZ3Jvb3ZlCi1yaWRnZQotb3V0c2V0Ci1kb3R0
ZWQKLWRhc2hlZAotc29saWQKLWRvdWJsZQorbm9uZSxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9y
ZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5
bGUsYm9yZGVyLWxlZnQtc3R5bGUsY2xlYXIsY2xpcC1wYXRoLGN1cnNvcixkaXNwbGF5LGZsb2F0
LGxpc3Qtc3R5bGUtdHlwZSxsaXN0LXN0eWxlLWltYWdlLG1hcnF1ZWUtc3R5bGUsbWF4LWhlaWdo
dCxtYXgtd2lkdGgscG9pbnRlci1ldmVudHMsc3BlYWssdGV4dC1saW5lLXRocm91Z2gsdGV4dC1s
aW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZSx0ZXh0LXVuZGVybGluZSx0ZXh0
LXVuZGVybGluZS1zdHlsZSx0ZXh0LXRyYW5zZm9ybSwtd2Via2l0LWZvbnQtc21vb3RoaW5nLC13
ZWJraXQtaHlwaGVucywtd2Via2l0LXRleHQtY29tYmluZQoraGlkZGVuLG91dGxpbmUsb3V0bGlu
ZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVy
LWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZSx2aXNpYmlsaXR5LG92ZXJmbG93LG92ZXJm
bG93LXgsb3ZlcmZsb3cteQoraW5zZXQsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3Jk
ZXItdG9wLXN0eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRl
ci1sZWZ0LXN0eWxlCitncm9vdmUsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXIt
dG9wLXN0eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1s
ZWZ0LXN0eWxlCityaWRnZSxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3At
c3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQt
c3R5bGUKK291dHNldCxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5
bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5
bGUKK2RvdHRlZCxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUs
Ym9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUs
dGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1z
dHlsZSx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVybGluZS1zdHlsZQorZGFzaGVkLG91dGxpbmUs
b3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUs
Ym9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZSx0ZXh0LWxpbmUtdGhyb3VnaCx0
ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0ZXh0LW92ZXJsaW5lLXN0eWxlLHRleHQtdW5kZXJsaW5l
LHRleHQtdW5kZXJsaW5lLXN0eWxlCitzb2xpZCxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVy
LGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUs
Ym9yZGVyLWxlZnQtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5
bGUsdGV4dC1vdmVybGluZS1zdHlsZSx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVybGluZS1zdHls
ZQorZG91YmxlLG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxi
b3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZSx0
ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0ZXh0LW92ZXJsaW5lLXN0
eWxlLHRleHQtdW5kZXJsaW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlCiAjCiAjIENTU19QUk9QX0ZP
TlQ6CiAjCi1jYXB0aW9uCi1pY29uCi1tZW51Ci1tZXNzYWdlLWJveAotc21hbGwtY2FwdGlvbgot
LXdlYmtpdC1taW5pLWNvbnRyb2wKLS13ZWJraXQtc21hbGwtY29udHJvbAotLXdlYmtpdC1jb250
cm9sCi1zdGF0dXMtYmFyCitjYXB0aW9uLGZvbnQKK2ljb24sZm9udAorbWVudSxmb250CittZXNz
YWdlLWJveCxmb250CitzbWFsbC1jYXB0aW9uLGZvbnQKKy13ZWJraXQtbWluaS1jb250cm9sLGZv
bnQKKy13ZWJraXQtc21hbGwtY29udHJvbCxmb250Cistd2Via2l0LWNvbnRyb2wsZm9udAorc3Rh
dHVzLWJhcixmb250CiAKICMKICMgQ1NTX1BST1BfRk9OVF9TVFlMRToKICMKLSNub3JtYWwKLWl0
YWxpYwotb2JsaXF1ZQorI25vcm1hbCxmb250LXN0eWxlLGZvbnQKK2l0YWxpYyxmb250LXN0eWxl
LGZvbnQKK29ibGlxdWUsZm9udC1zdHlsZSxmb250CiAjIFRoZSBmb2xsb3dpbmcgaXMgb25seSBh
bGxvd2VkIGluIEBmb250LWZhY2U6Ci1hbGwKK2FsbCxwb2ludGVyLWV2ZW50cwogIwogIyBDU1Nf
UFJPUF9GT05UX1ZBUklBTlQ6CiAjCi0jbm9ybWFsCi1zbWFsbC1jYXBzCisjbm9ybWFsLGZvbnQt
dmFyaWFudCxmb250CitzbWFsbC1jYXBzLGZvbnQtdmFyaWFudCxmb250CiAjCiAjIENTU19QUk9Q
X0ZPTlRfV0VJR0hUOgogIwotbm9ybWFsCi1ib2xkCi1ib2xkZXIKLWxpZ2h0ZXIKLTEwMAotMjAw
Ci0zMDAKLTQwMAotNTAwCi02MDAKLTcwMAotODAwCi05MDAKK25vcm1hbCxmb250LXdlaWdodCxm
b250LGZvbnQtc3R5bGUsZm9udC12YXJpYW50LGZvbnQtc3RyZXRjaCxib3gtZGlyZWN0aW9uLG1h
cnF1ZWUtc3BlZWQsd2hpdGUtc3BhY2UsbGV0dGVyLXNwYWNpbmcsbGluZS1oZWlnaHQsc3BlYWss
dGV4dC1saW5lLXRocm91Z2gtd2lkdGgsdGV4dC1vdmVybGluZS13aWR0aCx0ZXh0LXVuZGVybGlu
ZS13aWR0aCx1bmljb2RlLWJpZGksd29yZC13cmFwCitib2xkLGZvbnQtd2VpZ2h0LGZvbnQKK2Jv
bGRlcixmb250LXdlaWdodCxmb250CitsaWdodGVyLGZvbnQtd2VpZ2h0LGZvbnQKKzEwMCxmb250
LXdlaWdodCxmb250CisyMDAsZm9udC13ZWlnaHQsZm9udAorMzAwLGZvbnQtd2VpZ2h0LGZvbnQK
KzQwMCxmb250LXdlaWdodCxmb250Cis1MDAsZm9udC13ZWlnaHQsZm9udAorNjAwLGZvbnQtd2Vp
Z2h0LGZvbnQKKzcwMCxmb250LXdlaWdodCxmb250Cis4MDAsZm9udC13ZWlnaHQsZm9udAorOTAw
LGZvbnQtd2VpZ2h0LGZvbnQKICMKICMgQ1NTX1BST1BfRk9OVF9TSVpFOgogIwoteHgtc21hbGwK
LXgtc21hbGwKLXNtYWxsCi1tZWRpdW0KLWxhcmdlCi14LWxhcmdlCi14eC1sYXJnZQotLXdlYmtp
dC14eHgtbGFyZ2UKLXNtYWxsZXIKLWxhcmdlcgoreHgtc21hbGwsZm9udC1zaXplLGZvbnQKK3gt
c21hbGwsZm9udC1zaXplLGZvbnQKK3NtYWxsLGZvbnQtc2l6ZSxmb250CittZWRpdW0sZm9udC1z
aXplLGZvbnQsb3V0bGluZS13aWR0aCxib3JkZXItd2lkdGgsYm9yZGVyLXRvcC13aWR0aCxib3Jk
ZXItcmlnaHQtd2lkdGgsYm9yZGVyLWJvdHRvbS13aWR0aCxib3JkZXItbGVmdC13aWR0aCx0ZXh0
LWxpbmUtdGhyb3VnaC13aWR0aCx0ZXh0LW92ZXJsaW5lLXdpZHRoLHRleHQtdW5kZXJsaW5lLXdp
ZHRoCitsYXJnZSxmb250LXNpemUsZm9udAoreC1sYXJnZSxmb250LXNpemUsZm9udAoreHgtbGFy
Z2UsZm9udC1zaXplLGZvbnQKKy13ZWJraXQteHh4LWxhcmdlLGZvbnQtc2l6ZSxmb250CitzbWFs
bGVyLGZvbnQtc2l6ZSxmb250CitsYXJnZXIsZm9udC1zaXplLGZvbnQKICMKICMgQ1NTX1BST1Bf
Rk9OVF9TVFJFVENIOgogIwotI25vcm1hbAotd2lkZXIKLW5hcnJvd2VyCi11bHRyYS1jb25kZW5z
ZWQKLWV4dHJhLWNvbmRlbnNlZAotY29uZGVuc2VkCi1zZW1pLWNvbmRlbnNlZAotc2VtaS1leHBh
bmRlZAotZXhwYW5kZWQKLWV4dHJhLWV4cGFuZGVkCi11bHRyYS1leHBhbmRlZAorI25vcm1hbCxm
b250LXN0cmV0Y2gKK3dpZGVyLGZvbnQtc3RyZXRjaAorbmFycm93ZXIsZm9udC1zdHJldGNoCit1
bHRyYS1jb25kZW5zZWQsZm9udC1zdHJldGNoCitleHRyYS1jb25kZW5zZWQsZm9udC1zdHJldGNo
Citjb25kZW5zZWQsZm9udC1zdHJldGNoCitzZW1pLWNvbmRlbnNlZCxmb250LXN0cmV0Y2gKK3Nl
bWktZXhwYW5kZWQsZm9udC1zdHJldGNoCitleHBhbmRlZCxmb250LXN0cmV0Y2gKK2V4dHJhLWV4
cGFuZGVkLGZvbnQtc3RyZXRjaAordWx0cmEtZXhwYW5kZWQsZm9udC1zdHJldGNoCiAjCiAjIENT
U19QUk9QX0dFTkVSSUNfRk9OVF9GQU1JTFk6CiAjCi1zZXJpZgotc2Fucy1zZXJpZgotY3Vyc2l2
ZQotZmFudGFzeQotbW9ub3NwYWNlCi0td2Via2l0LWJvZHkKK3NlcmlmLGZvbnQtZmFtaWx5LGZv
bnQKK3NhbnMtc2VyaWYsZm9udC1mYW1pbHksZm9udAorY3Vyc2l2ZSxmb250LWZhbWlseSxmb250
CitmYW50YXN5LGZvbnQtZmFtaWx5LGZvbnQKK21vbm9zcGFjZSxmb250LWZhbWlseSxmb250Cist
d2Via2l0LWJvZHksZm9udC1mYW1pbHksZm9udAogIwogIwogIyBDU1NfUFJPUF8qX0NPTE9SCiAj
Ci1hcXVhCi1ibGFjawotYmx1ZQotZnVjaHNpYQotZ3JheQotZ3JlZW4KLWxpbWUKLW1hcm9vbgot
bmF2eQotb2xpdmUKLW9yYW5nZQotcHVycGxlCi1yZWQKLXNpbHZlcgotdGVhbAotd2hpdGUKLXll
bGxvdwotdHJhbnNwYXJlbnQKLS13ZWJraXQtbGluawotLXdlYmtpdC1hY3RpdmVsaW5rCi1hY3Rp
dmVib3JkZXIKLWFjdGl2ZWNhcHRpb24KLWFwcHdvcmtzcGFjZQotYmFja2dyb3VuZAotYnV0dG9u
ZmFjZQotYnV0dG9uaGlnaGxpZ2h0Ci1idXR0b25zaGFkb3cKLWJ1dHRvbnRleHQKLWNhcHRpb250
ZXh0Ci1ncmF5dGV4dAotaGlnaGxpZ2h0Ci1oaWdobGlnaHR0ZXh0Ci1pbmFjdGl2ZWJvcmRlcgot
aW5hY3RpdmVjYXB0aW9uCi1pbmFjdGl2ZWNhcHRpb250ZXh0Ci1pbmZvYmFja2dyb3VuZAotaW5m
b3RleHQKLW1hdGNoCi1tZW51dGV4dAotc2Nyb2xsYmFyCi10aHJlZWRkYXJrc2hhZG93Ci10aHJl
ZWRmYWNlCi10aHJlZWRoaWdobGlnaHQKLXRocmVlZGxpZ2h0c2hhZG93Ci10aHJlZWRzaGFkb3cK
LXdpbmRvdwotd2luZG93ZnJhbWUKLXdpbmRvd3RleHQKLS13ZWJraXQtZm9jdXMtcmluZy1jb2xv
cgotY3VycmVudGNvbG9yCithcXVhLF9jb2xvcl8KK2JsYWNrLF9jb2xvcl8KK2JsdWUsX2NvbG9y
XworZnVjaHNpYSxfY29sb3JfCitncmF5LF9jb2xvcl8KK2dyZWVuLF9jb2xvcl8KK2xpbWUsX2Nv
bG9yXworbWFyb29uLF9jb2xvcl8KK25hdnksX2NvbG9yXworb2xpdmUsX2NvbG9yXworb3Jhbmdl
LF9jb2xvcl8KK3B1cnBsZSxfY29sb3JfCityZWQsX2NvbG9yXworc2lsdmVyLF9jb2xvcl8KK3Rl
YWwsX2NvbG9yXword2hpdGUsX2NvbG9yXworeWVsbG93LF9jb2xvcl8KK3RyYW5zcGFyZW50LF9j
b2xvcl8KKy13ZWJraXQtbGluayxfY29sb3JfCistd2Via2l0LWFjdGl2ZWxpbmssX2NvbG9yXwor
YWN0aXZlYm9yZGVyLF9jb2xvcl8KK2FjdGl2ZWNhcHRpb24sX2NvbG9yXworYXBwd29ya3NwYWNl
LF9jb2xvcl8KK2JhY2tncm91bmQsX2NvbG9yXworYnV0dG9uZmFjZSxfY29sb3JfCitidXR0b25o
aWdobGlnaHQsX2NvbG9yXworYnV0dG9uc2hhZG93LF9jb2xvcl8KK2J1dHRvbnRleHQsX2NvbG9y
XworY2FwdGlvbnRleHQsX2NvbG9yXworZ3JheXRleHQsX2NvbG9yXworaGlnaGxpZ2h0LF9jb2xv
cl8sLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQoraGlnaGxpZ2h0dGV4dCxfY29sb3JfCitp
bmFjdGl2ZWJvcmRlcixfY29sb3JfCitpbmFjdGl2ZWNhcHRpb24sX2NvbG9yXworaW5hY3RpdmVj
YXB0aW9udGV4dCxfY29sb3JfCitpbmZvYmFja2dyb3VuZCxfY29sb3JfCitpbmZvdGV4dCxfY29s
b3JfCittYXRjaCxfY29sb3JfCittZW51dGV4dCxfY29sb3JfCitzY3JvbGxiYXIsX2NvbG9yXwor
dGhyZWVkZGFya3NoYWRvdyxfY29sb3JfCit0aHJlZWRmYWNlLF9jb2xvcl8KK3RocmVlZGhpZ2hs
aWdodCxfY29sb3JfCit0aHJlZWRsaWdodHNoYWRvdyxfY29sb3JfCit0aHJlZWRzaGFkb3csX2Nv
bG9yXword2luZG93LF9jb2xvcl8KK3dpbmRvd2ZyYW1lLF9jb2xvcl8KK3dpbmRvd3RleHQsX2Nv
bG9yXworLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yLF9jb2xvcl8KK2N1cnJlbnRjb2xvcixfY29s
b3JfCiAjCiAjIGNvbG9ycyBpbiBub24gc3RyaWN0IG1vZGUKLWdyZXkKLS13ZWJraXQtdGV4dAor
Z3JleSxfY29sb3JfCistd2Via2l0LXRleHQsX2NvbG9yXwogIwogIyBDU1NfUFJPUF9CQUNLR1JP
VU5EX1JFUEVBVDoKICMKLXJlcGVhdAotcmVwZWF0LXgKLXJlcGVhdC15Ci1uby1yZXBlYXQKLSMg
cm91bmQKLSMgc3BhY2UKK3JlcGVhdCxiYWNrZ3JvdW5kLXJlcGVhdCxib3JkZXItaW1hZ2UKK3Jl
cGVhdC14LGJhY2tncm91bmQtcmVwZWF0CityZXBlYXQteSxiYWNrZ3JvdW5kLXJlcGVhdAorbm8t
cmVwZWF0LGJhY2tncm91bmQtcmVwZWF0CisjIHJvdW5kLGJhY2tncm91bmQtcmVwZWF0CisjIHNw
YWNlLGJhY2tncm91bmQtcmVwZWF0CiAjCiAjIENTU19QUk9QX19XRUJLSVRfQkFDS0dST1VORF9D
T01QT1NJVEU6CiAjCi1jbGVhcgotY29weQotc291cmNlLW92ZXIKLXNvdXJjZS1pbgotc291cmNl
LW91dAotc291cmNlLWF0b3AKLWRlc3RpbmF0aW9uLW92ZXIKLWRlc3RpbmF0aW9uLWluCi1kZXN0
aW5hdGlvbi1vdXQKLWRlc3RpbmF0aW9uLWF0b3AKLXhvcgotcGx1cy1kYXJrZXIKLSMgaGlnaGxp
Z2h0Ci1wbHVzLWxpZ2h0ZXIKK2NsZWFyLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2Nv
cHksLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZSxjdXJzb3IKK3NvdXJjZS1vdmVyLC13ZWJr
aXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3NvdXJjZS1pbiwtd2Via2l0LWJhY2tncm91bmQtY29t
cG9zaXRlCitzb3VyY2Utb3V0LC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3NvdXJjZS1h
dG9wLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2Rlc3RpbmF0aW9uLW92ZXIsLXdlYmtp
dC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQorZGVzdGluYXRpb24taW4sLXdlYmtpdC1iYWNrZ3JvdW5k
LWNvbXBvc2l0ZQorZGVzdGluYXRpb24tb3V0LC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUK
K2Rlc3RpbmF0aW9uLWF0b3AsLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQoreG9yLC13ZWJr
aXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3BsdXMtZGFya2VyLC13ZWJraXQtYmFja2dyb3VuZC1j
b21wb3NpdGUKKyMgaGlnaGxpZ2h0LC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3BsdXMt
bGlnaHRlciwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCiAjCiAjIENTU19QUk9QX1ZFUlRJ
Q0FMX0FMSUdOOgogIwotYmFzZWxpbmUKLW1pZGRsZQotc3ViCi1zdXBlcgotdGV4dC10b3AKLXRl
eHQtYm90dG9tCi10b3AKLWJvdHRvbQorYmFzZWxpbmUsdmVydGljYWwtYWxpZ24sYWxpZ25tZW50
LWJhc2VsaW5lLGJhc2VsaW5lLXNoaWZ0LGJveC1hbGlnbgorbWlkZGxlLHZlcnRpY2FsLWFsaWdu
LGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQorc3ViLHZlcnRpY2FsLWFsaWdu
LGJhc2VsaW5lLXNoaWZ0CitzdXBlcix2ZXJ0aWNhbC1hbGlnbixiYXNlbGluZS1zaGlmdAordGV4
dC10b3AsdmVydGljYWwtYWxpZ24KK3RleHQtYm90dG9tLHZlcnRpY2FsLWFsaWduCit0b3AsdmVy
dGljYWwtYWxpZ24KK2JvdHRvbSx2ZXJ0aWNhbC1hbGlnbgogIyBIVE1MIGFsaWdubWVudCBNSURE
TEUgaGFzIG5vIGNvcnJlc3BvbmRpbmcgQ1NTIGFsaWdubWVudAotLXdlYmtpdC1iYXNlbGluZS1t
aWRkbGUKKy13ZWJraXQtYmFzZWxpbmUtbWlkZGxlLHZlcnRpY2FsLWFsaWduCiAjCiAjIENTU19Q
Uk9QX1RFWFRfQUxJR046CiAjCi0td2Via2l0LWF1dG8KLWxlZnQKLXJpZ2h0Ci1jZW50ZXIKLWp1
c3RpZnkKLS13ZWJraXQtbGVmdAotLXdlYmtpdC1yaWdodAotLXdlYmtpdC1jZW50ZXIKKy13ZWJr
aXQtYXV0byx0ZXh0LWFsaWduCitsZWZ0LHRleHQtYWxpZ24sY2xlYXIsZmxvYXQsbWFycXVlZS1k
aXJlY3Rpb24sYm94LXJlZmxlY3QscGFnZS1icmVhay1hZnRlcixwYWdlLWJyZWFrLWJlZm9yZQor
cmlnaHQsdGV4dC1hbGlnbixjbGVhcixmbG9hdCxtYXJxdWVlLWRpcmVjdGlvbixib3gtcmVmbGVj
dCxwYWdlLWJyZWFrLWFmdGVyLHBhZ2UtYnJlYWstYmVmb3JlCitjZW50ZXIsdGV4dC1hbGlnbixi
b3gtYWxpZ24KK2p1c3RpZnksdGV4dC1hbGlnbgorLXdlYmtpdC1sZWZ0LHRleHQtYWxpZ24KKy13
ZWJraXQtcmlnaHQsdGV4dC1hbGlnbgorLXdlYmtpdC1jZW50ZXIsdGV4dC1hbGlnbgogIwogIyBD
U1NfUFJPUF9MSVNUX1NUWUxFX1BPU0lUSU9OOgogIwotb3V0c2lkZQotaW5zaWRlCitvdXRzaWRl
LGxpc3Qtc3R5bGUtcG9zaXRpb24KK2luc2lkZSxsaXN0LXN0eWxlLXBvc2l0aW9uCiAjCiAjIENT
U19QUk9QX0xJU1RfU1RZTEVfVFlQRToKICMKLWRpc2MKLWNpcmNsZQotc3F1YXJlCi1kZWNpbWFs
Ci1kZWNpbWFsLWxlYWRpbmctemVybwotYXJhYmljLWluZGljCi1iaW5hcnkKLWJlbmdhbGkKLWNh
bWJvZGlhbgota2htZXIKLWRldmFuYWdhcmkKLWd1amFyYXRpCi1ndXJtdWtoaQota2FubmFkYQot
bG93ZXItaGV4YWRlY2ltYWwKLWxhbwotbWFsYXlhbGFtCi1tb25nb2xpYW4KLW15YW5tYXIKLW9j
dGFsCi1vcml5YQotcGVyc2lhbgotdXJkdQotdGVsdWd1Ci10aWJldGFuCi10aGFpCi11cHBlci1o
ZXhhZGVjaW1hbAotbG93ZXItcm9tYW4KLXVwcGVyLXJvbWFuCi1sb3dlci1ncmVlawotbG93ZXIt
YWxwaGEKLWxvd2VyLWxhdGluCi11cHBlci1hbHBoYQotdXBwZXItbGF0aW4KLWFmYXIKLWV0aGlv
cGljLWhhbGVoYW1lLWFhLWV0Ci1ldGhpb3BpYy1oYWxlaGFtZS1hYS1lcgotYW1oYXJpYwotZXRo
aW9waWMtaGFsZWhhbWUtYW0tZXQKLWFtaGFyaWMtYWJlZ2VkZQotZXRoaW9waWMtYWJlZ2VkZS1h
bS1ldAotY2prLWVhcnRobHktYnJhbmNoCi1jamstaGVhdmVubHktc3RlbQotZXRoaW9waWMKLWV0
aGlvcGljLWhhbGVoYW1lLWdlegotZXRoaW9waWMtYWJlZ2VkZQotZXRoaW9waWMtYWJlZ2VkZS1n
ZXoKLWhhbmd1bC1jb25zb25hbnQKLWhhbmd1bAotbG93ZXItbm9yd2VnaWFuCi1vcm9tbwotZXRo
aW9waWMtaGFsZWhhbWUtb20tZXQKLXNpZGFtYQotZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0Ci1z
b21hbGkKLWV0aGlvcGljLWhhbGVoYW1lLXNvLWV0Ci10aWdyZQotZXRoaW9waWMtaGFsZWhhbWUt
dGlnCi10aWdyaW55YS1lcgotZXRoaW9waWMtaGFsZWhhbWUtdGktZXIKLXRpZ3JpbnlhLWVyLWFi
ZWdlZGUKLWV0aGlvcGljLWFiZWdlZGUtdGktZXIKLXRpZ3JpbnlhLWV0Ci1ldGhpb3BpYy1oYWxl
aGFtZS10aS1ldAotdGlncmlueWEtZXQtYWJlZ2VkZQotZXRoaW9waWMtYWJlZ2VkZS10aS1ldAot
dXBwZXItZ3JlZWsKLXVwcGVyLW5vcndlZ2lhbgotYXN0ZXJpc2tzCi1mb290bm90ZXMKLWhlYnJl
dwotYXJtZW5pYW4KLWxvd2VyLWFybWVuaWFuCi11cHBlci1hcm1lbmlhbgotZ2VvcmdpYW4KLWNq
ay1pZGVvZ3JhcGhpYwotaGlyYWdhbmEKLWthdGFrYW5hCi1oaXJhZ2FuYS1pcm9oYQota2F0YWth
bmEtaXJvaGEKLSNub25lCitkaXNjLGxpc3Qtc3R5bGUtdHlwZQorY2lyY2xlLGxpc3Qtc3R5bGUt
dHlwZSwtd2Via2l0LXRleHQtZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCitz
cXVhcmUsbGlzdC1zdHlsZS10eXBlCitkZWNpbWFsLGxpc3Qtc3R5bGUtdHlwZQorZGVjaW1hbC1s
ZWFkaW5nLXplcm8sbGlzdC1zdHlsZS10eXBlCithcmFiaWMtaW5kaWMsbGlzdC1zdHlsZS10eXBl
CitiaW5hcnksbGlzdC1zdHlsZS10eXBlCitiZW5nYWxpLGxpc3Qtc3R5bGUtdHlwZQorY2FtYm9k
aWFuLGxpc3Qtc3R5bGUtdHlwZQora2htZXIsbGlzdC1zdHlsZS10eXBlCitkZXZhbmFnYXJpLGxp
c3Qtc3R5bGUtdHlwZQorZ3VqYXJhdGksbGlzdC1zdHlsZS10eXBlCitndXJtdWtoaSxsaXN0LXN0
eWxlLXR5cGUKK2thbm5hZGEsbGlzdC1zdHlsZS10eXBlCitsb3dlci1oZXhhZGVjaW1hbCxsaXN0
LXN0eWxlLXR5cGUKK2xhbyxsaXN0LXN0eWxlLXR5cGUKK21hbGF5YWxhbSxsaXN0LXN0eWxlLXR5
cGUKK21vbmdvbGlhbixsaXN0LXN0eWxlLXR5cGUKK215YW5tYXIsbGlzdC1zdHlsZS10eXBlCitv
Y3RhbCxsaXN0LXN0eWxlLXR5cGUKK29yaXlhLGxpc3Qtc3R5bGUtdHlwZQorcGVyc2lhbixsaXN0
LXN0eWxlLXR5cGUKK3VyZHUsbGlzdC1zdHlsZS10eXBlCit0ZWx1Z3UsbGlzdC1zdHlsZS10eXBl
Cit0aWJldGFuLGxpc3Qtc3R5bGUtdHlwZQordGhhaSxsaXN0LXN0eWxlLXR5cGUKK3VwcGVyLWhl
eGFkZWNpbWFsLGxpc3Qtc3R5bGUtdHlwZQorbG93ZXItcm9tYW4sbGlzdC1zdHlsZS10eXBlCit1
cHBlci1yb21hbixsaXN0LXN0eWxlLXR5cGUKK2xvd2VyLWdyZWVrLGxpc3Qtc3R5bGUtdHlwZQor
bG93ZXItYWxwaGEsbGlzdC1zdHlsZS10eXBlCitsb3dlci1sYXRpbixsaXN0LXN0eWxlLXR5cGUK
K3VwcGVyLWFscGhhLGxpc3Qtc3R5bGUtdHlwZQordXBwZXItbGF0aW4sbGlzdC1zdHlsZS10eXBl
CithZmFyLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQsbGlzdC1zdHls
ZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS1hYS1lcixsaXN0LXN0eWxlLXR5cGUKK2FtaGFyaWMs
bGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS1hbS1ldCxsaXN0LXN0eWxlLXR5cGUK
K2FtaGFyaWMtYWJlZ2VkZSxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWFiZWdlZGUtYW0tZXQs
bGlzdC1zdHlsZS10eXBlCitjamstZWFydGhseS1icmFuY2gsbGlzdC1zdHlsZS10eXBlCitjamst
aGVhdmVubHktc3RlbSxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLGxpc3Qtc3R5bGUtdHlwZQor
ZXRoaW9waWMtaGFsZWhhbWUtZ2V6LGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtYWJlZ2VkZSxs
aXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWFiZWdlZGUtZ2V6LGxpc3Qtc3R5bGUtdHlwZQoraGFu
Z3VsLWNvbnNvbmFudCxsaXN0LXN0eWxlLXR5cGUKK2hhbmd1bCxsaXN0LXN0eWxlLXR5cGUKK2xv
d2VyLW5vcndlZ2lhbixsaXN0LXN0eWxlLXR5cGUKK29yb21vLGxpc3Qtc3R5bGUtdHlwZQorZXRo
aW9waWMtaGFsZWhhbWUtb20tZXQsbGlzdC1zdHlsZS10eXBlCitzaWRhbWEsbGlzdC1zdHlsZS10
eXBlCitldGhpb3BpYy1oYWxlaGFtZS1zaWQtZXQsbGlzdC1zdHlsZS10eXBlCitzb21hbGksbGlz
dC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS1zby1ldCxsaXN0LXN0eWxlLXR5cGUKK3Rp
Z3JlLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtdGlnLGxpc3Qtc3R5bGUtdHlw
ZQordGlncmlueWEtZXIsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS10aS1lcixs
aXN0LXN0eWxlLXR5cGUKK3RpZ3JpbnlhLWVyLWFiZWdlZGUsbGlzdC1zdHlsZS10eXBlCitldGhp
b3BpYy1hYmVnZWRlLXRpLWVyLGxpc3Qtc3R5bGUtdHlwZQordGlncmlueWEtZXQsbGlzdC1zdHls
ZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS10aS1ldCxsaXN0LXN0eWxlLXR5cGUKK3RpZ3Jpbnlh
LWV0LWFiZWdlZGUsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1hYmVnZWRlLXRpLWV0LGxpc3Qt
c3R5bGUtdHlwZQordXBwZXItZ3JlZWssbGlzdC1zdHlsZS10eXBlCit1cHBlci1ub3J3ZWdpYW4s
bGlzdC1zdHlsZS10eXBlCithc3Rlcmlza3MsbGlzdC1zdHlsZS10eXBlCitmb290bm90ZXMsbGlz
dC1zdHlsZS10eXBlCitoZWJyZXcsbGlzdC1zdHlsZS10eXBlCithcm1lbmlhbixsaXN0LXN0eWxl
LXR5cGUKK2xvd2VyLWFybWVuaWFuLGxpc3Qtc3R5bGUtdHlwZQordXBwZXItYXJtZW5pYW4sbGlz
dC1zdHlsZS10eXBlCitnZW9yZ2lhbixsaXN0LXN0eWxlLXR5cGUKK2Nqay1pZGVvZ3JhcGhpYyxs
aXN0LXN0eWxlLXR5cGUKK2hpcmFnYW5hLGxpc3Qtc3R5bGUtdHlwZQora2F0YWthbmEsbGlzdC1z
dHlsZS10eXBlCitoaXJhZ2FuYS1pcm9oYSxsaXN0LXN0eWxlLXR5cGUKK2thdGFrYW5hLWlyb2hh
LGxpc3Qtc3R5bGUtdHlwZQorI25vbmUsbGlzdC1zdHlsZS10eXBlCiAjCiAjIENTU19QUk9QX0RJ
U1BMQVk6CiAjCi1pbmxpbmUKLWJsb2NrCi1saXN0LWl0ZW0KLXJ1bi1pbgotY29tcGFjdAotaW5s
aW5lLWJsb2NrCi10YWJsZQotaW5saW5lLXRhYmxlCi10YWJsZS1yb3ctZ3JvdXAKLXRhYmxlLWhl
YWRlci1ncm91cAotdGFibGUtZm9vdGVyLWdyb3VwCi10YWJsZS1yb3cKLXRhYmxlLWNvbHVtbi1n
cm91cAotdGFibGUtY29sdW1uCi10YWJsZS1jZWxsCi10YWJsZS1jYXB0aW9uCi0td2Via2l0LWJv
eAotLXdlYmtpdC1pbmxpbmUtYm94Ci0td2FwLW1hcnF1ZWUKLSNub25lCitpbmxpbmUsZGlzcGxh
eQorYmxvY2ssZGlzcGxheQorbGlzdC1pdGVtLGRpc3BsYXksY29udGVudAorcnVuLWluLGRpc3Bs
YXkKK2NvbXBhY3QsZGlzcGxheQoraW5saW5lLWJsb2NrLGRpc3BsYXkKK3RhYmxlLGRpc3BsYXkK
K2lubGluZS10YWJsZSxkaXNwbGF5Cit0YWJsZS1yb3ctZ3JvdXAsZGlzcGxheQordGFibGUtaGVh
ZGVyLWdyb3VwLGRpc3BsYXkKK3RhYmxlLWZvb3Rlci1ncm91cCxkaXNwbGF5Cit0YWJsZS1yb3cs
ZGlzcGxheQordGFibGUtY29sdW1uLWdyb3VwLGRpc3BsYXkKK3RhYmxlLWNvbHVtbixkaXNwbGF5
Cit0YWJsZS1jZWxsLGRpc3BsYXkKK3RhYmxlLWNhcHRpb24sZGlzcGxheQorLXdlYmtpdC1ib3gs
ZGlzcGxheQorLXdlYmtpdC1pbmxpbmUtYm94LGRpc3BsYXkKKy13YXAtbWFycXVlZSxkaXNwbGF5
Cisjbm9uZSxkaXNwbGF5CiAjCiAjIENTU19QUk9QX0NVUlNPUjoKICMKLWF1dG8KLWNyb3NzaGFp
cgotZGVmYXVsdAotcG9pbnRlcgotbW92ZQotdmVydGljYWwtdGV4dAotY2VsbAotY29udGV4dC1t
ZW51Ci1hbGlhcwotIyBjb3B5Ci1wcm9ncmVzcwotbm8tZHJvcAotbm90LWFsbG93ZWQKLS13ZWJr
aXQtem9vbS1pbgotLXdlYmtpdC16b29tLW91dAotZS1yZXNpemUKLW5lLXJlc2l6ZQotbnctcmVz
aXplCi1uLXJlc2l6ZQotc2UtcmVzaXplCi1zdy1yZXNpemUKLXMtcmVzaXplCi13LXJlc2l6ZQot
ZXctcmVzaXplCi1ucy1yZXNpemUKLW5lc3ctcmVzaXplCi1ud3NlLXJlc2l6ZQotY29sLXJlc2l6
ZQotcm93LXJlc2l6ZQotdGV4dAotd2FpdAotaGVscAotYWxsLXNjcm9sbAotLXdlYmtpdC1ncmFi
Ci0td2Via2l0LWdyYWJiaW5nCi0jIG5vbmUKK2F1dG8sY3Vyc29yLGFsaWdubWVudC1iYXNlbGlu
ZSxkb21pbmFudC1iYXNlbGluZSxjb2xvci1yZW5kZXJpbmcsaW1hZ2UtcmVuZGVyaW5nLG1hcmdp
bixtYXJnaW4tdG9wLG1hcmdpbi1yaWdodCxtYXJnaW4tYm90dG9tLG1hcmdpbi1sZWZ0LG1hcnF1
ZWUtZGlyZWN0aW9uLG92ZXJmbG93LG92ZXJmbG93LXgsb3ZlcmZsb3cteSxwYWdlLWJyZWFrLWFm
dGVyLHBhZ2UtYnJlYWstYmVmb3JlLHBhZ2UtYnJlYWstaW5zaWRlLHBvaW50ZXItZXZlbnRzLHRh
YmxlLWxheW91dCx0ZXh0LWxpbmUtdGhyb3VnaC13aWR0aCx0ZXh0LW92ZXJsaW5lLXdpZHRoLHRl
eHQtdW5kZXJsaW5lLXdpZHRoLHRleHQtcmVuZGVyaW5nLC13ZWJraXQtZm9udC1zbW9vdGhpbmcs
LXdlYmtpdC1oeXBoZW5zCitjcm9zc2hhaXIsY3Vyc29yCitkZWZhdWx0LGN1cnNvciwtd2Via2l0
LWNvbG9yLWNvcnJlY3Rpb24KK3BvaW50ZXIsY3Vyc29yCittb3ZlLGN1cnNvcgordmVydGljYWwt
dGV4dCxjdXJzb3IKK2NlbGwsY3Vyc29yCitjb250ZXh0LW1lbnUsY3Vyc29yCithbGlhcyxjdXJz
b3IKKyMgY29weSxjdXJzb3IKK3Byb2dyZXNzLGN1cnNvcgorbm8tZHJvcCxjdXJzb3IKK25vdC1h
bGxvd2VkLGN1cnNvcgorLXdlYmtpdC16b29tLWluLGN1cnNvcgorLXdlYmtpdC16b29tLW91dCxj
dXJzb3IKK2UtcmVzaXplLGN1cnNvcgorbmUtcmVzaXplLGN1cnNvcgorbnctcmVzaXplLGN1cnNv
cgorbi1yZXNpemUsY3Vyc29yCitzZS1yZXNpemUsY3Vyc29yCitzdy1yZXNpemUsY3Vyc29yCitz
LXJlc2l6ZSxjdXJzb3IKK3ctcmVzaXplLGN1cnNvcgorZXctcmVzaXplLGN1cnNvcgorbnMtcmVz
aXplLGN1cnNvcgorbmVzdy1yZXNpemUsY3Vyc29yCitud3NlLXJlc2l6ZSxjdXJzb3IKK2NvbC1y
ZXNpemUsY3Vyc29yCityb3ctcmVzaXplLGN1cnNvcgordGV4dCxjdXJzb3IKK3dhaXQsY3Vyc29y
CitoZWxwLGN1cnNvcgorYWxsLXNjcm9sbCxjdXJzb3IKKy13ZWJraXQtZ3JhYixjdXJzb3IKKy13
ZWJraXQtZ3JhYmJpbmcsY3Vyc29yCisjIG5vbmUsY3Vyc29yCiAjCiAjIENTU19QUk9QX0RJUkVD
VElPTjoKICMKLWx0cgotcnRsCitsdHIsZGlyZWN0aW9uCitydGwsZGlyZWN0aW9uCiAjCiAjIENT
U19QUk9QX1RFWFRfVFJBTlNGT1JNOgogIwotY2FwaXRhbGl6ZQotdXBwZXJjYXNlCi1sb3dlcmNh
c2UKLSNub25lCitjYXBpdGFsaXplLHRleHQtdHJhbnNmb3JtCit1cHBlcmNhc2UsdGV4dC10cmFu
c2Zvcm0KK2xvd2VyY2FzZSx0ZXh0LXRyYW5zZm9ybQorI25vbmUsdGV4dC10cmFuc2Zvcm0KICMK
ICMgQ1NTX1BST1BfVklTSUJJTElUWToKICMKLXZpc2libGUKLSNoaWRkZW4KLWNvbGxhcHNlCit2
aXNpYmxlLHZpc2liaWxpdHksb3ZlcmZsb3csb3ZlcmZsb3cteCxvdmVyZmxvdy15LHBvaW50ZXIt
ZXZlbnRzCisjaGlkZGVuLHZpc2liaWxpdHkKK2NvbGxhcHNlLHZpc2liaWxpdHksYm9yZGVyLWNv
bGxhcHNlLG1hcmdpbi1iZWZvcmUtY29sbGFwc2UsbWFyZ2luLWFmdGVyLWNvbGxhcHNlLG1hcmdp
bi10b3AtY29sbGFwc2UsbWFyZ2luLWJvdHRvbS1jb2xsYXBzZQogIwogIyBVbm9yZGVyZWQgcmVz
dAogIwotYTMKLWE0Ci1hNQotYWJvdmUKLWFic29sdXRlCi1hbHdheXMKLWF2b2lkCi1iNAotYjUK
LWJlbG93Ci1iaWRpLW92ZXJyaWRlCi1ibGluawotYm90aAotY2xvc2UtcXVvdGUKK2EzLHNpemUK
K2E0LHNpemUKK2E1LHNpemUKK2Fib3ZlLGJveC1yZWZsZWN0CithYnNvbHV0ZSxwb3NpdGlvbgor
YWx3YXlzLHBhZ2UtYnJlYWstYWZ0ZXIscGFnZS1icmVhay1iZWZvcmUKK2F2b2lkLHBhZ2UtYnJl
YWstYWZ0ZXIscGFnZS1icmVhay1iZWZvcmUscGFnZS1icmVhay1pbnNpZGUKK2I0LHNpemUKK2I1
LHNpemUKK2JlbG93LGJveC1yZWZsZWN0CitiaWRpLW92ZXJyaWRlLHVuaWNvZGUtYmlkaQorYmxp
bmssdGV4dC1kZWNvcmF0aW9uCitib3RoLGNsZWFyCitjbG9zZS1xdW90ZSxjb250ZW50CiBjcm9w
CiBjcm9zcwotZW1iZWQKLWZpeGVkCitlbWJlZCx1bmljb2RlLWJpZGkKK2ZpeGVkLHBvc2l0aW9u
LHRhYmxlLWxheW91dAogaGFuZAotaGlkZQoraGlkZSxlbXB0eS1jZWxscwogaGlnaGVyCi1pbnZl
cnQKLWxhbmRzY2FwZQotbGVkZ2VyCi1sZWdhbAotbGV0dGVyCitpbnZlcnQsb3V0bGluZS1jb2xv
cgorbGFuZHNjYXBlLHNpemUKK2xlZGdlcixzaXplCitsZWdhbCxzaXplCitsZXR0ZXIsc2l6ZQog
bGV2ZWwKLWxpbmUtdGhyb3VnaAorbGluZS10aHJvdWdoLHRleHQtZGVjb3JhdGlvbgogbG9jYWwK
IGxvdWQKIGxvd2VyCiAtd2Via2l0LW1hcnF1ZWUKIG1peAotbm8tY2xvc2UtcXVvdGUKLW5vLW9w
ZW4tcXVvdGUKLW5vd3JhcAotb3Blbi1xdW90ZQotb3ZlcmxheQotb3ZlcmxpbmUKLXBvcnRyYWl0
Ci1wcmUKLXByZS1saW5lCi1wcmUtd3JhcAotcmVsYXRpdmUKLXNjcm9sbAotc2VwYXJhdGUKLXNo
b3cKLXN0YXRpYwotdGhpY2sKLXRoaW4KLXVuZGVybGluZQorbm8tY2xvc2UtcXVvdGUsY29udGVu
dAorbm8tb3Blbi1xdW90ZSxjb250ZW50Citub3dyYXAsd2hpdGUtc3BhY2UKK29wZW4tcXVvdGUs
Y29udGVudAorb3ZlcmxheSxvdmVyZmxvdyxvdmVyZmxvdy14LG92ZXJmbG93LXkKK292ZXJsaW5l
LHRleHQtZGVjb3JhdGlvbgorcG9ydHJhaXQsc2l6ZQorcHJlLHdoaXRlLXNwYWNlCitwcmUtbGlu
ZSx3aGl0ZS1zcGFjZQorcHJlLXdyYXAsd2hpdGUtc3BhY2UKK3JlbGF0aXZlLHBvc2l0aW9uCitz
Y3JvbGwsbWFycXVlZS1zdHlsZSxvdmVyZmxvdyxvdmVyZmxvdy14LG92ZXJmbG93LXkKK3NlcGFy
YXRlLGJvcmRlci1jb2xsYXBzZSxtYXJnaW4tYmVmb3JlLWNvbGxhcHNlLG1hcmdpbi1hZnRlci1j
b2xsYXBzZSxtYXJnaW4tdG9wLWNvbGxhcHNlLG1hcmdpbi1ib3R0b20tY29sbGFwc2UKK3Nob3cs
ZW1wdHktY2VsbHMKK3N0YXRpYyxwb3NpdGlvbgordGhpY2ssb3V0bGluZS13aWR0aCxib3JkZXIt
d2lkdGgsYm9yZGVyLXRvcC13aWR0aCxib3JkZXItcmlnaHQtd2lkdGgsYm9yZGVyLWJvdHRvbS13
aWR0aCxib3JkZXItbGVmdC13aWR0aCx0ZXh0LWxpbmUtdGhyb3VnaC13aWR0aCx0ZXh0LW92ZXJs
aW5lLXdpZHRoLHRleHQtdW5kZXJsaW5lLXdpZHRoCit0aGluLG91dGxpbmUtd2lkdGgsYm9yZGVy
LXdpZHRoLGJvcmRlci10b3Atd2lkdGgsYm9yZGVyLXJpZ2h0LXdpZHRoLGJvcmRlci1ib3R0b20t
d2lkdGgsYm9yZGVyLWxlZnQtd2lkdGgsdGV4dC1saW5lLXRocm91Z2gtd2lkdGgsdGV4dC1vdmVy
bGluZS13aWR0aCx0ZXh0LXVuZGVybGluZS13aWR0aAordW5kZXJsaW5lLHRleHQtZGVjb3JhdGlv
bgogLXdlYmtpdC1ub3dyYXAKIAogIyBDU1MzIFZhbHVlcwogIyBDU1NfUFJPUF9CT1hfQUxJR04K
LXN0cmV0Y2gKLXN0YXJ0Ci1lbmQKLSNjZW50ZXIKLSNiYXNlbGluZQorc3RyZXRjaCxib3gtYWxp
Z24sYm9yZGVyLWltYWdlCitzdGFydCxib3gtYWxpZ24KK2VuZCxib3gtYWxpZ24KKyNjZW50ZXIs
Ym94LWFsaWduCisjYmFzZWxpbmUsYm94LWFsaWduCiAKICMgQ1NTX1BST1BfQk9YX0RJUkVDVElP
TgotIyBub3JtYWwKLXJldmVyc2UKKyMgbm9ybWFsLGJveC1kaXJlY3Rpb24KK3JldmVyc2UsYm94
LWRpcmVjdGlvbixtYXJxdWVlLWRpcmVjdGlvbgogCiAjIENTU19QUk9QX0JPWF9PUklFTlQKLWhv
cml6b250YWwKLXZlcnRpY2FsCi1pbmxpbmUtYXhpcwotYmxvY2stYXhpcworaG9yaXpvbnRhbCxi
b3gtb3JpZW50LC13ZWJraXQtdGV4dC1jb21iaW5lCit2ZXJ0aWNhbCxib3gtb3JpZW50Citpbmxp
bmUtYXhpcyxib3gtb3JpZW50CitibG9jay1heGlzLGJveC1vcmllbnQKIAogIyBDU1NfUFJPUF9C
T1hfUEFDSwogIyBzdGFydApAQCAtNDYyLDMzICs0NjIsMzMgQEAgYmxvY2stYXhpcwogIyBqdXN0
aWZ5CiAKICMgQ1NTX1BST1BfQk9YX0xJTkVTCi1zaW5nbGUKLW11bHRpcGxlCitzaW5nbGUsYm94
LWxpbmVzCittdWx0aXBsZSxib3gtbGluZXMKIAogIyBDU1NfUFJPUF9NQVJRVUVFX0RJUkVDVElP
TgotZm9yd2FyZHMKLWJhY2t3YXJkcwotYWhlYWQKLSMgcmV2ZXJzZQotIyBsZWZ0Ci0jIHJpZ2h0
Ci11cAotZG93bgotIyBhdXRvCitmb3J3YXJkcyxtYXJxdWVlLWRpcmVjdGlvbgorYmFja3dhcmRz
LG1hcnF1ZWUtZGlyZWN0aW9uCithaGVhZCxtYXJxdWVlLWRpcmVjdGlvbgorIyByZXZlcnNlLG1h
cnF1ZWUtZGlyZWN0aW9uCisjIGxlZnQsbWFycXVlZS1kaXJlY3Rpb24KKyMgcmlnaHQsbWFycXVl
ZS1kaXJlY3Rpb24KK3VwLG1hcnF1ZWUtZGlyZWN0aW9uCitkb3duLG1hcnF1ZWUtZGlyZWN0aW9u
CisjIGF1dG8sbWFycXVlZS1kaXJlY3Rpb24KIAogIyBDU1NfUFJPUF9NQVJRVUVFX1NQRUVECi1z
bG93Ci0jIG5vcm1hbAotZmFzdAorc2xvdyxtYXJxdWVlLXNwZWVkCisjIG5vcm1hbCxtYXJxdWVl
LXNwZWVkCitmYXN0LG1hcnF1ZWUtc3BlZWQKIAogIyBDU1NfUFJPUF9NQVJRVUVFX1JFUEVUSVRJ
T04KLWluZmluaXRlCitpbmZpbml0ZSxtYXJxdWVlLXJlcGV0aXRpb24KIAogIyBDU1NfUFJPUF9N
QVJRVUVFX1NUWUxFCi0jIG5vbmUKLXNsaWRlCi0jIHNjcm9sbAotYWx0ZXJuYXRlCisjIG5vbmUs
bWFycXVlZS1zdHlsZQorc2xpZGUsbWFycXVlZS1zdHlsZQorIyBzY3JvbGwsbWFycXVlZS1zdHls
ZQorYWx0ZXJuYXRlLG1hcnF1ZWUtc3R5bGUKIAogIwogIyBDU1NfUFJPUF9fS0hUTUxfVVNFUl9N
T0RJRlkKQEAgLTUxNiwyOCArNTE2LDI4IEBAIG1pbi1pbnRyaW5zaWMKICMKICMgQ1NTX1BST1Bf
VEVYVF9PVkVSRkxPVwogIwotY2xpcAotZWxsaXBzaXMKK2NsaXAsdGV4dC1vdmVyZmxvdyx0ZXh0
LW92ZXJmbG93LW1vZGUKK2VsbGlwc2lzLHRleHQtb3ZlcmZsb3csdGV4dC1vdmVyZmxvdy1tb2Rl
CiAKICMKICMgQ1NTX1BST1BfX0tIVE1MX01BUkdJTl9DT0xMQVBTRQogIwotIyBjb2xsYXBzZQot
IyBzZXBhcmF0ZQotZGlzY2FyZAorIyBjb2xsYXBzZSxtYXJnaW4tYmVmb3JlLWNvbGxhcHNlLG1h
cmdpbi1hZnRlci1jb2xsYXBzZSxtYXJnaW4tdG9wLWNvbGxhcHNlLG1hcmdpbi1ib3R0b20tY29s
bGFwc2UKKyMgc2VwYXJhdGUsbWFyZ2luLWJlZm9yZS1jb2xsYXBzZSxtYXJnaW4tYWZ0ZXItY29s
bGFwc2UsbWFyZ2luLXRvcC1jb2xsYXBzZSxtYXJnaW4tYm90dG9tLWNvbGxhcHNlCitkaXNjYXJk
LG1hcmdpbi1iZWZvcmUtY29sbGFwc2UsbWFyZ2luLWFmdGVyLWNvbGxhcHNlLG1hcmdpbi10b3At
Y29sbGFwc2UsbWFyZ2luLWJvdHRvbS1jb2xsYXBzZQogCiAjCiAjIENTU19QUk9QX1RFWFRfKl9D
T0xPUgogIwotZG90LWRhc2gKLWRvdC1kb3QtZGFzaAotd2F2ZQorZG90LWRhc2gsdGV4dC11bmRl
cmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRo
cm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZQorZG90LWRvdC1kYXNoLHRleHQtdW5kZXJs
aW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJv
dWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUtc3R5bGUKK3dhdmUsdGV4dC11bmRlcmxpbmUsdGV4dC11
bmRlcmxpbmUtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUs
dGV4dC1vdmVybGluZS1zdHlsZQogCiAjCiAjIENTU19QUk9QX1RFWFRfKl9NT0RFCiAjCi1jb250
aW51b3VzCi1za2lwLXdoaXRlLXNwYWNlCitjb250aW51b3VzLHRleHQtbGluZS10aHJvdWdoLHRl
eHQtbGluZS10aHJvdWdoLW1vZGUsdGV4dC1vdmVybGluZS1tb2RlLHRleHQtdW5kZXJsaW5lLW1v
ZGUKK3NraXAtd2hpdGUtc3BhY2UsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gt
bW9kZSx0ZXh0LW92ZXJsaW5lLW1vZGUsdGV4dC11bmRlcmxpbmUtbW9kZQogCiAjCiAjIENTU19Q
Uk9QX1dPUkRfQlJFQUsKQEAgLTU0NywxMiArNTQ3LDEyIEBAIGJyZWFrLWFsbAogIwogIyBDU1Nf
UFJPUF9XT1JEX1dSQVAKICMKLWJyZWFrLXdvcmQKK2JyZWFrLXdvcmQsd29yZC13cmFwCiAKICMK
ICMgQ1NTX1BST1BfX0tIVE1MX05CU1BfTU9ERQogIwotc3BhY2UKK3NwYWNlLGJhY2tncm91bmQt
cmVwZWF0CiAKICMKICMgQ1NTX1BST1BfX0tIVE1MX0xJTkVfQlJFQUsKQEAgLTYyMiw5ICs2MjIs
OSBAQCBjYXBzLWxvY2staW5kaWNhdG9yCiAjCiAjIENTU19QUk9QX0JPUkRFUl9JTUFHRQogIwot
IyBzdHJldGNoCi0jIHJlcGVhdAotcm91bmQKKyMgc3RyZXRjaCxib3JkZXItaW1hZ2UKKyMgcmVw
ZWF0LGJvcmRlci1pbWFnZQorcm91bmQsYmFja2dyb3VuZC1yZXBlYXQsc3Ryb2tlLWxpbmVqb2lu
CiAKICMKICMgQ1NTX1BST1BfQkFDS0dST1VORF9DTElQL09SSUdJTgpAQCAtNjMzLDE3ICs2MzMs
MTcgQEAgcm91bmQKICMgYm9yZGVyLWJveC9jb250ZW50LWJveC9wYWRkaW5nLWJveCBzaG91bGQg
YmUgdXNlZCBpbnN0ZWFkLgogIwogYm9yZGVyCi1ib3JkZXItYm94Citib3JkZXItYm94LGJhY2tn
cm91bmQtb3JpZ2luLGJhY2tncm91bmQtY2xpcAogY29udGVudAotY29udGVudC1ib3gKK2NvbnRl
bnQtYm94LGJhY2tncm91bmQtb3JpZ2luLGJhY2tncm91bmQtY2xpcAogcGFkZGluZwotcGFkZGlu
Zy1ib3gKK3BhZGRpbmctYm94LGJhY2tncm91bmQtb3JpZ2luLGJhY2tncm91bmQtY2xpcAogCiAj
CiAjIGJhY2tncm91bmQtc2l6ZQogIwotY29udGFpbgotY292ZXIKK2NvbnRhaW4sYmFja2dyb3Vu
ZC1zaXplCitjb3ZlcixiYWNrZ3JvdW5kLXNpemUKIAogIwogIyBDU1NfUFJPUF9fS0hUTUxfUlRM
X09SREVSSU5HCkBAIC03MDAsNDcgKzcwMCw0NyBAQCBzdGVwLWVuZAogIwogIyBDU1NfUFJPUF9a
T09NCiAjCi1kb2N1bWVudAotcmVzZXQKK2RvY3VtZW50LHpvb20KK3Jlc2V0LHpvb20KIAogIwog
IyBDU1NfUFJPUF9QT0lOVEVSX0VWRU5UUwogIwotdmlzaWJsZVBhaW50ZWQKLXZpc2libGVGaWxs
Ci12aXNpYmxlU3Ryb2tlCi0jdmlzaWJsZQotcGFpbnRlZAotZmlsbAotc3Ryb2tlCi0jYWxsCi0j
bm9uZQordmlzaWJsZVBhaW50ZWQscG9pbnRlci1ldmVudHMKK3Zpc2libGVGaWxsLHBvaW50ZXIt
ZXZlbnRzCit2aXNpYmxlU3Ryb2tlLHBvaW50ZXItZXZlbnRzCisjdmlzaWJsZSxwb2ludGVyLWV2
ZW50cworcGFpbnRlZCxwb2ludGVyLWV2ZW50cworZmlsbCxwb2ludGVyLWV2ZW50cworc3Ryb2tl
LHBvaW50ZXItZXZlbnRzCisjYWxsLHBvaW50ZXItZXZlbnRzCisjbm9uZSxwb2ludGVyLWV2ZW50
cwogCiAjCiAjIENTU19QUk9QX1NQRUVDSAogIwotc3BlbGwtb3V0Ci1kaWdpdHMKLWxpdGVyYWwt
cHVuY3R1YXRpb24KLW5vLXB1bmN0dWF0aW9uCitzcGVsbC1vdXQsc3BlYWsKK2RpZ2l0cyxzcGVh
aworbGl0ZXJhbC1wdW5jdHVhdGlvbixzcGVhaworbm8tcHVuY3R1YXRpb24sc3BlYWsKIAogIwog
IyAtd2Via2l0LWZvbnQtc21vb3RoaW5nCiAjCi0jIGF1dG8KLSMgbm9uZQotYW50aWFsaWFzZWQK
LXN1YnBpeGVsLWFudGlhbGlhc2VkCisjIGF1dG8sLXdlYmtpdC1mb250LXNtb290aGluZworIyBu
b25lLC13ZWJraXQtZm9udC1zbW9vdGhpbmcKK2FudGlhbGlhc2VkLC13ZWJraXQtZm9udC1zbW9v
dGhpbmcKK3N1YnBpeGVsLWFudGlhbGlhc2VkLC13ZWJraXQtZm9udC1zbW9vdGhpbmcKIAogIyB0
ZXh0LXJlbmRlcmluZwotI2F1dG8KLW9wdGltaXplU3BlZWQKLW9wdGltaXplTGVnaWJpbGl0eQot
Z2VvbWV0cmljUHJlY2lzaW9uCisjYXV0byx0ZXh0LXJlbmRlcmluZworb3B0aW1pemVTcGVlZCx0
ZXh0LXJlbmRlcmluZyxjb2xvci1yZW5kZXJpbmcsaW1hZ2UtcmVuZGVyaW5nCitvcHRpbWl6ZUxl
Z2liaWxpdHksdGV4dC1yZW5kZXJpbmcKK2dlb21ldHJpY1ByZWNpc2lvbix0ZXh0LXJlbmRlcmlu
ZwogCiAjIC13ZWJraXQtY29sb3ItY29ycmVjdGlvbgotI2RlZmF1bHQKLXNSR0IKKyNkZWZhdWx0
LC13ZWJraXQtY29sb3ItY29ycmVjdGlvbgorc1JHQiwtd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24K
IAogIyAoLXdlYmtpdC12aWV3LW1vZGU6KSBtZWRpYSBmZWF0dXJlOgogZmxvYXRpbmcKQEAgLTc1
MCwzMyArNzUwLDMzIEBAIG1pbmltaXplZAogd2luZG93ZWQKIAogIyAtd2Via2l0LWh5cGhlbnMK
LSMgbm9uZQotbWFudWFsCi0jIGF1dG8KKyMgbm9uZSwtd2Via2l0LWh5cGhlbnMKK21hbnVhbCwt
d2Via2l0LWh5cGhlbnMKKyMgYXV0bywtd2Via2l0LWh5cGhlbnMKIAogIyAtd2Via2l0LXdyaXRp
bmctbW9kZQogIyBTVkcgY29tcGF0aWJpbGl0eQotbHIKLXJsCi10YgotbHItdGIKLXJsLXRiCi10
Yi1ybAorbHIsLXdlYmtpdC13cml0aW5nLW1vZGUKK3JsLC13ZWJraXQtd3JpdGluZy1tb2RlCit0
Yiwtd2Via2l0LXdyaXRpbmctbW9kZQorbHItdGIsLXdlYmtpdC13cml0aW5nLW1vZGUKK3JsLXRi
LC13ZWJraXQtd3JpdGluZy1tb2RlCit0Yi1ybCwtd2Via2l0LXdyaXRpbmctbW9kZQogIyBTdGFu
ZGFyZCB2YWx1ZXMgZnJvbSBDU1MzCi1ob3Jpem9udGFsLXRiCi12ZXJ0aWNhbC1ybAotdmVydGlj
YWwtbHIKLWhvcml6b250YWwtYnQKK2hvcml6b250YWwtdGIsLXdlYmtpdC13cml0aW5nLW1vZGUK
K3ZlcnRpY2FsLXJsLC13ZWJraXQtd3JpdGluZy1tb2RlCit2ZXJ0aWNhbC1sciwtd2Via2l0LXdy
aXRpbmctbW9kZQoraG9yaXpvbnRhbC1idCwtd2Via2l0LXdyaXRpbmctbW9kZQogCiAjIC13ZWJr
aXQtdGV4dC1lbXBoYXNpcy1wb3NpdGlvbgotb3ZlcgotdW5kZXIKK292ZXIsLXdlYmtpdC10ZXh0
LWVtcGhhc2lzLXBvc2l0aW9uCit1bmRlciwtd2Via2l0LXRleHQtZW1waGFzaXMtcG9zaXRpb24K
IAogIyAtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKLWZpbGxlZAotb3BlbgotZG90Ci0jIGNp
cmNsZQotZG91YmxlLWNpcmNsZQotdHJpYW5nbGUKLXNlc2FtZQorZmlsbGVkLC13ZWJraXQtdGV4
dC1lbXBoYXNpcywtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKK29wZW4sLXdlYmtpdC10ZXh0
LWVtcGhhc2lzLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQorZG90LC13ZWJraXQtdGV4dC1l
bXBoYXNpcywtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKKyMgY2lyY2xlLC13ZWJraXQtdGV4
dC1lbXBoYXNpcy1zdHlsZQorZG91YmxlLWNpcmNsZSwtd2Via2l0LXRleHQtZW1waGFzaXMsLXdl
YmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCit0cmlhbmdsZSwtd2Via2l0LXRleHQtZW1waGFzaXMs
LXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCitzZXNhbWUsLXdlYmtpdC10ZXh0LWVtcGhhc2lz
LC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvU1ZH
Q1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1dlYkNvcmUvY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4K
aW5kZXggYTJjOWY4My4uZmZiOGFjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvU1ZHQ1NTVmFs
dWVLZXl3b3Jkcy5pbgorKysgYi9XZWJDb3JlL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCkBA
IC0xMiwxNjQgKzEyLDE2NCBAQAogIwogIyBDU1NfUFJPUF8qX0NPTE9SCiAjCi1hbGljZWJsdWUK
LWFudGlxdWV3aGl0ZQorYWxpY2VibHVlLF9jb2xvcl8KK2FudGlxdWV3aGl0ZSxfY29sb3JfCiAj
IGFxdWEKLWFxdWFtYXJpbmUKLWF6dXJlCi1iZWlnZQotYmlzcXVlCithcXVhbWFyaW5lLF9jb2xv
cl8KK2F6dXJlLF9jb2xvcl8KK2JlaWdlLF9jb2xvcl8KK2Jpc3F1ZSxfY29sb3JfCiAjIGJsYWNr
Ci1ibGFuY2hlZGFsbW9uZAorYmxhbmNoZWRhbG1vbmQsX2NvbG9yXwogIyBibHVlCi1ibHVldmlv
bGV0Ci1icm93bgotYnVybHl3b29kCi1jYWRldGJsdWUKLWNoYXJ0cmV1c2UKLWNob2NvbGF0ZQot
Y29yYWwKLWNvcm5mbG93ZXJibHVlCi1jb3Juc2lsawotY3JpbXNvbgotY3lhbgotZGFya2JsdWUK
LWRhcmtjeWFuCi1kYXJrZ29sZGVucm9kCi1kYXJrZ3JheQotZGFya2dyZWVuCi1kYXJrZ3JleQot
ZGFya2toYWtpCi1kYXJrbWFnZW50YQotZGFya29saXZlZ3JlZW4KLWRhcmtvcmFuZ2UKLWRhcmtv
cmNoaWQKLWRhcmtyZWQKLWRhcmtzYWxtb24KLWRhcmtzZWFncmVlbgotZGFya3NsYXRlYmx1ZQot
ZGFya3NsYXRlZ3JheQotZGFya3NsYXRlZ3JleQotZGFya3R1cnF1b2lzZQotZGFya3Zpb2xldAot
ZGVlcHBpbmsKLWRlZXBza3libHVlCi1kaW1ncmF5Ci1kaW1ncmV5Ci1kb2RnZXJibHVlCi1maXJl
YnJpY2sKLWZsb3JhbHdoaXRlCi1mb3Jlc3RncmVlbgorYmx1ZXZpb2xldCxfY29sb3JfCiticm93
bixfY29sb3JfCitidXJseXdvb2QsX2NvbG9yXworY2FkZXRibHVlLF9jb2xvcl8KK2NoYXJ0cmV1
c2UsX2NvbG9yXworY2hvY29sYXRlLF9jb2xvcl8KK2NvcmFsLF9jb2xvcl8KK2Nvcm5mbG93ZXJi
bHVlLF9jb2xvcl8KK2Nvcm5zaWxrLF9jb2xvcl8KK2NyaW1zb24sX2NvbG9yXworY3lhbixfY29s
b3JfCitkYXJrYmx1ZSxfY29sb3JfCitkYXJrY3lhbixfY29sb3JfCitkYXJrZ29sZGVucm9kLF9j
b2xvcl8KK2RhcmtncmF5LF9jb2xvcl8KK2RhcmtncmVlbixfY29sb3JfCitkYXJrZ3JleSxfY29s
b3JfCitkYXJra2hha2ksX2NvbG9yXworZGFya21hZ2VudGEsX2NvbG9yXworZGFya29saXZlZ3Jl
ZW4sX2NvbG9yXworZGFya29yYW5nZSxfY29sb3JfCitkYXJrb3JjaGlkLF9jb2xvcl8KK2Rhcmty
ZWQsX2NvbG9yXworZGFya3NhbG1vbixfY29sb3JfCitkYXJrc2VhZ3JlZW4sX2NvbG9yXworZGFy
a3NsYXRlYmx1ZSxfY29sb3JfCitkYXJrc2xhdGVncmF5LF9jb2xvcl8KK2RhcmtzbGF0ZWdyZXks
X2NvbG9yXworZGFya3R1cnF1b2lzZSxfY29sb3JfCitkYXJrdmlvbGV0LF9jb2xvcl8KK2RlZXBw
aW5rLF9jb2xvcl8KK2RlZXBza3libHVlLF9jb2xvcl8KK2RpbWdyYXksX2NvbG9yXworZGltZ3Jl
eSxfY29sb3JfCitkb2RnZXJibHVlLF9jb2xvcl8KK2ZpcmVicmljayxfY29sb3JfCitmbG9yYWx3
aGl0ZSxfY29sb3JfCitmb3Jlc3RncmVlbixfY29sb3JfCiAjIGZ1Y2hzaWEKLWdhaW5zYm9ybwot
Z2hvc3R3aGl0ZQotZ29sZAotZ29sZGVucm9kCitnYWluc2Jvcm8sX2NvbG9yXworZ2hvc3R3aGl0
ZSxfY29sb3JfCitnb2xkLF9jb2xvcl8KK2dvbGRlbnJvZCxfY29sb3JfCiAjIGdyYXkKICMgZ3Jl
eQogIyBncmVlbgotZ3JlZW55ZWxsb3cKLWhvbmV5ZGV3Ci1ob3RwaW5rCi1pbmRpYW5yZWQKLWlu
ZGlnbwotaXZvcnkKLWtoYWtpCi1sYXZlbmRlcgotbGF2ZW5kZXJibHVzaAotbGF3bmdyZWVuCi1s
ZW1vbmNoaWZmb24KLWxpZ2h0Ymx1ZQotbGlnaHRjb3JhbAotbGlnaHRjeWFuCi1saWdodGdvbGRl
bnJvZHllbGxvdwotbGlnaHRncmF5Ci1saWdodGdyZWVuCi1saWdodGdyZXkKLWxpZ2h0cGluawot
bGlnaHRzYWxtb24KLWxpZ2h0c2VhZ3JlZW4KLWxpZ2h0c2t5Ymx1ZQotbGlnaHRzbGF0ZWdyYXkK
LWxpZ2h0c2xhdGVncmV5Ci1saWdodHN0ZWVsYmx1ZQotbGlnaHR5ZWxsb3cKK2dyZWVueWVsbG93
LF9jb2xvcl8KK2hvbmV5ZGV3LF9jb2xvcl8KK2hvdHBpbmssX2NvbG9yXworaW5kaWFucmVkLF9j
b2xvcl8KK2luZGlnbyxfY29sb3JfCitpdm9yeSxfY29sb3JfCitraGFraSxfY29sb3JfCitsYXZl
bmRlcixfY29sb3JfCitsYXZlbmRlcmJsdXNoLF9jb2xvcl8KK2xhd25ncmVlbixfY29sb3JfCits
ZW1vbmNoaWZmb24sX2NvbG9yXworbGlnaHRibHVlLF9jb2xvcl8KK2xpZ2h0Y29yYWwsX2NvbG9y
XworbGlnaHRjeWFuLF9jb2xvcl8KK2xpZ2h0Z29sZGVucm9keWVsbG93LF9jb2xvcl8KK2xpZ2h0
Z3JheSxfY29sb3JfCitsaWdodGdyZWVuLF9jb2xvcl8KK2xpZ2h0Z3JleSxfY29sb3JfCitsaWdo
dHBpbmssX2NvbG9yXworbGlnaHRzYWxtb24sX2NvbG9yXworbGlnaHRzZWFncmVlbixfY29sb3Jf
CitsaWdodHNreWJsdWUsX2NvbG9yXworbGlnaHRzbGF0ZWdyYXksX2NvbG9yXworbGlnaHRzbGF0
ZWdyZXksX2NvbG9yXworbGlnaHRzdGVlbGJsdWUsX2NvbG9yXworbGlnaHR5ZWxsb3csX2NvbG9y
XwogIyBsaW1lCi1saW1lZ3JlZW4KLWxpbmVuCi1tYWdlbnRhCitsaW1lZ3JlZW4sX2NvbG9yXwor
bGluZW4sX2NvbG9yXworbWFnZW50YSxfY29sb3JfCiAjIG1hcm9vbgotbWVkaXVtYXF1YW1hcmlu
ZQotbWVkaXVtYmx1ZQotbWVkaXVtb3JjaGlkCi1tZWRpdW1wdXJwbGUKLW1lZGl1bXNlYWdyZWVu
Ci1tZWRpdW1zbGF0ZWJsdWUKLW1lZGl1bXNwcmluZ2dyZWVuCi1tZWRpdW10dXJxdW9pc2UKLW1l
ZGl1bXZpb2xldHJlZAotbWlkbmlnaHRibHVlCi1taW50Y3JlYW0KLW1pc3R5cm9zZQotbW9jY2Fz
aW4KLW5hdmFqb3doaXRlCittZWRpdW1hcXVhbWFyaW5lLF9jb2xvcl8KK21lZGl1bWJsdWUsX2Nv
bG9yXworbWVkaXVtb3JjaGlkLF9jb2xvcl8KK21lZGl1bXB1cnBsZSxfY29sb3JfCittZWRpdW1z
ZWFncmVlbixfY29sb3JfCittZWRpdW1zbGF0ZWJsdWUsX2NvbG9yXworbWVkaXVtc3ByaW5nZ3Jl
ZW4sX2NvbG9yXworbWVkaXVtdHVycXVvaXNlLF9jb2xvcl8KK21lZGl1bXZpb2xldHJlZCxfY29s
b3JfCittaWRuaWdodGJsdWUsX2NvbG9yXworbWludGNyZWFtLF9jb2xvcl8KK21pc3R5cm9zZSxf
Y29sb3JfCittb2NjYXNpbixfY29sb3JfCituYXZham93aGl0ZSxfY29sb3JfCiAjIG5hdnkKLW9s
ZGxhY2UKK29sZGxhY2UsX2NvbG9yXwogIyBvbGl2ZQotb2xpdmVkcmFiCitvbGl2ZWRyYWIsX2Nv
bG9yXwogIyBvcmFuZ2UKLW9yYW5nZXJlZAotb3JjaGlkCi1wYWxlZ29sZGVucm9kCi1wYWxlZ3Jl
ZW4KLXBhbGV0dXJxdW9pc2UKLXBhbGV2aW9sZXRyZWQKLXBhcGF5YXdoaXAKLXBlYWNocHVmZgot
cGVydQotcGluawotcGx1bQotcG93ZGVyYmx1ZQorb3JhbmdlcmVkLF9jb2xvcl8KK29yY2hpZCxf
Y29sb3JfCitwYWxlZ29sZGVucm9kLF9jb2xvcl8KK3BhbGVncmVlbixfY29sb3JfCitwYWxldHVy
cXVvaXNlLF9jb2xvcl8KK3BhbGV2aW9sZXRyZWQsX2NvbG9yXworcGFwYXlhd2hpcCxfY29sb3Jf
CitwZWFjaHB1ZmYsX2NvbG9yXworcGVydSxfY29sb3JfCitwaW5rLF9jb2xvcl8KK3BsdW0sX2Nv
bG9yXworcG93ZGVyYmx1ZSxfY29sb3JfCiAjIHB1cnBsZQogIyByZWQKLXJvc3licm93bgotcm95
YWxibHVlCi1zYWRkbGVicm93bgotc2FsbW9uCi1zYW5keWJyb3duCi1zZWFncmVlbgotc2Vhc2hl
bGwKLXNpZW5uYQorcm9zeWJyb3duLF9jb2xvcl8KK3JveWFsYmx1ZSxfY29sb3JfCitzYWRkbGVi
cm93bixfY29sb3JfCitzYWxtb24sX2NvbG9yXworc2FuZHlicm93bixfY29sb3JfCitzZWFncmVl
bixfY29sb3JfCitzZWFzaGVsbCxfY29sb3JfCitzaWVubmEsX2NvbG9yXwogIyBzaWx2ZXIKLXNr
eWJsdWUKLXNsYXRlYmx1ZQotc2xhdGVncmF5Ci1zbGF0ZWdyZXkKLXNub3cKLXNwcmluZ2dyZWVu
Ci1zdGVlbGJsdWUKLXRhbgorc2t5Ymx1ZSxfY29sb3JfCitzbGF0ZWJsdWUsX2NvbG9yXworc2xh
dGVncmF5LF9jb2xvcl8KK3NsYXRlZ3JleSxfY29sb3JfCitzbm93LF9jb2xvcl8KK3NwcmluZ2dy
ZWVuLF9jb2xvcl8KK3N0ZWVsYmx1ZSxfY29sb3JfCit0YW4sX2NvbG9yXwogIyB0ZWFsCi10aGlz
dGxlCi10b21hdG8KLXR1cnF1b2lzZQotdmlvbGV0Ci13aGVhdAordGhpc3RsZSxfY29sb3JfCit0
b21hdG8sX2NvbG9yXwordHVycXVvaXNlLF9jb2xvcl8KK3Zpb2xldCxfY29sb3JfCit3aGVhdCxf
Y29sb3JfCiAjIHdoaXRlCi13aGl0ZXNtb2tlCit3aGl0ZXNtb2tlLF9jb2xvcl8KICMgeWVsbG93
Ci15ZWxsb3dncmVlbgoreWVsbG93Z3JlZW4sX2NvbG9yXwogCiAjIENTU19QUk9QX0NMSVBfUEFU
SAogIyBDU1NfUFJPUF9DTElQX1JVTEUKLW5vbnplcm8KLWV2ZW5vZGQKK25vbnplcm8sY2xpcC1y
dWxlCitldmVub2RkLGNsaXAtcnVsZQogCiAjIENTU19QUk9QX01BU0sKICMgQ1NTX1BST1BfT1BB
Q0lUWQogIyBDU1NfUFJPUF9FTkFCTEVfQkFDS0dST1VORAotYWNjdW11bGF0ZQotbmV3CithY2N1
bXVsYXRlLGVuYWJsZS1iYWNrZ3JvdW5kCituZXcsZW5hYmxlLWJhY2tncm91bmQKIAogIyBDU1Nf
UFJPUF9GSUxURVIKICMgQ1NTX1BST1BfRkxPT0RfQ09MT1IKQEAgLTE4NCw3ICsxODQsNyBAQCBu
ZXcKICMgQ1NTX1BST1BfQ09MT1JfSU5URVJQT0xBVElPTgogI2F1dG8KICNzUkdCCi1saW5lYXJS
R0IKK2xpbmVhclJHQixjb2xvci1pbnRlcnBvbGF0aW9uCiAKICMgQ1NTX1BST1BfQ09MT1JfSU5U
RVJQT0xBVElPTl9GSUxURVJTCiAjYXV0bwpAQCAtMTk1LDkgKzE5NSw5IEBAIGxpbmVhclJHQgog
I3NSR0IKIAogIyBDU1NfUFJPUF9DT0xPUl9SRU5ERVJJTkcKLSNhdXRvCi0jb3B0aW1pemVTcGVl
ZAotb3B0aW1pemVRdWFsaXR5CisjYXV0byxjb2xvci1yZW5kZXJpbmcKKyNvcHRpbWl6ZVNwZWVk
LGNvbG9yLXJlbmRlcmluZworb3B0aW1pemVRdWFsaXR5LGNvbG9yLXJlbmRlcmluZyxpbWFnZS1y
ZW5kZXJpbmcKIAogIyMgQ1NTX1BST1BfRklMTAogI2N1cnJlbnRDb2xvcgpAQCAtMjA4LDkgKzIw
OCw5IEBAIG9wdGltaXplUXVhbGl0eQogI2V2ZW5vZGQKIAogIyBDU1NfUFJPUF9JTUFHRV9SRU5E
RVJJTkcKLSNhdXRvCi0jb3B0aW1pemVTcGVlZAotI29wdGltaXplUXVhbGl0eQorI2F1dG8saW1h
Z2UtcmVuZGVyaW5nCisjb3B0aW1pemVTcGVlZCxpbWFnZS1yZW5kZXJpbmcKKyNvcHRpbWl6ZVF1
YWxpdHksaW1hZ2UtcmVuZGVyaW5nCiAKICMgQ1NTX1BST1BfTUFSS0VSCiAjIENTU19QUk9QX01B
UktFUl9FTkQKQEAgLTIzMSwzOCArMjMxLDM4IEBAIGJ1dHQKICMgc3F1YXJlCiAKICMgQ1NTX1BS
T1BfU1RST0tFX0xJTkVKT0lOCi1taXRlcgotIyByb3VuZAotYmV2ZWwKK21pdGVyLHN0cm9rZS1s
aW5lam9pbgorIyByb3VuZCxzdHJva2UtbGluZWpvaW4KK2JldmVsLHN0cm9rZS1saW5lam9pbgog
CiAjIENTU19QUk9QX1NUUk9LRV9NSVRFUkxJTUlUCiAjIENTU19QUk9QX1NUUk9LRV9PUEFDSVRZ
CiAjIENTU19QUk9QX1NUUk9LRV9XSURUSAogCiAjIENTU19QUk9QX0FMSUdOTUVOVF9CQVNFTElO
RQotI2F1dG8KLSMgYmFzZWxpbmUKLWJlZm9yZS1lZGdlCi1hZnRlci1lZGdlCi0jbWlkZGxlCi1j
ZW50cmFsCi10ZXh0LWJlZm9yZS1lZGdlCi10ZXh0LWFmdGVyLWVkZ2UKLWlkZW9ncmFwaGljCi1h
bHBoYWJldGljCi1oYW5naW5nCi1tYXRoZW1hdGljYWwKKyNhdXRvLGFsaWdubWVudC1iYXNlbGlu
ZSxkb21pbmFudC1iYXNlbGluZQorIyBiYXNlbGluZSxhbGlnbm1lbnQtYmFzZWxpbmUKK2JlZm9y
ZS1lZGdlLGFsaWdubWVudC1iYXNlbGluZQorYWZ0ZXItZWRnZSxhbGlnbm1lbnQtYmFzZWxpbmUK
KyNtaWRkbGUsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCitjZW50cmFsLGFs
aWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQordGV4dC1iZWZvcmUtZWRnZSxhbGln
bm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK3RleHQtYWZ0ZXItZWRnZSxhbGlnbm1l
bnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK2lkZW9ncmFwaGljLGFsaWdubWVudC1iYXNl
bGluZSxkb21pbmFudC1iYXNlbGluZQorYWxwaGFiZXRpYyxhbGlnbm1lbnQtYmFzZWxpbmUsZG9t
aW5hbnQtYmFzZWxpbmUKK2hhbmdpbmcsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2Vs
aW5lCittYXRoZW1hdGljYWwsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCiAK
ICMgQ1NTX1BST1BfQkFTRUxJTkVfU0hJRlQKLSNiYXNlbGluZQotIyBzdWIKLSMgc3VwZXIKKyNi
YXNlbGluZSxiYXNlbGluZS1zaGlmdAorIyBzdWIsYmFzZWxpbmUtc2hpZnQKKyMgc3VwZXIsYmFz
ZWxpbmUtc2hpZnQKIAogIyBDU1NfUFJPUF9ET01JTkFOVF9CQVNFTElORQotI2F1dG8KLXVzZS1z
Y3JpcHQKLW5vLWNoYW5nZQotcmVzZXQtc2l6ZQorI2F1dG8sZG9taW5hbnQtYmFzZWxpbmUKK3Vz
ZS1zY3JpcHQsZG9taW5hbnQtYmFzZWxpbmUKK25vLWNoYW5nZSxkb21pbmFudC1iYXNlbGluZQor
cmVzZXQtc2l6ZSxkb21pbmFudC1iYXNlbGluZQogCiAjIENTU19QUk9QX0dMWVBIX09SSUVOVEFU
SU9OX0hPUklaT05UQUwKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvbWFrZXZhbHVlcy5wbCBi
L1dlYkNvcmUvY3NzL21ha2V2YWx1ZXMucGwKaW5kZXggMTgzY2QzNS4uYjIyMzk1ZSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9jc3MvbWFrZXZhbHVlcy5wbAorKysgYi9XZWJDb3JlL2Nzcy9tYWtldmFs
dWVzLnBsCkBAIC02LDYgKzYsNyBAQAogIyAgIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjICAgQ29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBv
cmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQogIyAgIENvcHlyaWdodCAoQykgMjAx
MCBBbmRyYXMgQmVjc2kgKGFiZWNzaUBpbmYudS1zemVnZWQuaHUpLCBVbml2ZXJzaXR5IG9mIFN6
ZWdlZAorIyAgIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogIwogIyAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICMgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjYsMTQgKzI3LDExOSBAQCB1c2Ugd2Fybmlu
Z3M7CiAKIG9wZW4gTkFNRVMsICI8Q1NTVmFsdWVLZXl3b3Jkcy5pbiIgfHwgZGllICJDb3VsZCBu
b3Qgb3BlbiBDU1NWYWx1ZUtleXdvcmRzLmluIjsKIG15IEBuYW1lcyA9ICgpOworbXkgJWNhdGVn
b3J5VG9LZXl3b3Jkc01hcCA9ICgpOworbXkgQHBhcnRzOworbXkgQGtleXdvcmRzOworbXkgJGtl
eXdvcmQ7CiB3aGlsZSAoPE5BTUVTPikgewogICBuZXh0IGlmIChtLyheIyl8KF5ccyokKS8pOwog
ICAjIElucHV0IG1heSB1c2UgYSBkaWZmZXJlbnQgRU9MIHNlcXVlbmNlIHRoYW4gJC8sIHNvIGF2
b2lkIGNob21wLgogICAkXyA9fiBzL1tcclxuXSskLy9nOwotICBwdXNoIEBuYW1lcywgJF87Cisg
IEBwYXJ0cyA9IHNwbGl0KC8sLyk7CisgICRrZXl3b3JkID0gJHBhcnRzWzBdOworICBwdXNoIEBu
YW1lcywgJGtleXdvcmQ7CisgIHNwbGljZSBAcGFydHMsIDAsIDE7CisKKyAgZm9yZWFjaCBteSAk
Y2F0ZWdvcnkgKEBwYXJ0cykgeworICAgIHB1c2ggQHsgJGNhdGVnb3J5VG9LZXl3b3Jkc01hcHsk
Y2F0ZWdvcnl9IH0sICRrZXl3b3JkOworICB9CiB9CiBjbG9zZShOQU1FUyk7CiAKK29wZW4gS0VZ
V09SRE1BUCwgIj5DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMiIHx8IGRpZSAiQ291bGQgbm90IG9w
ZW4gQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzIGZvciB3cml0aW5nIjsKK3ByaW50IEtFWVdPUkRN
QVAgPDwgIkVPRiI7CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKgorICogVEhJUyBGSUxFIElTIEdFTkVSQVRFRCBCWSBtYWtldmFsdWVzLnBsLiBETyBO
T1QgTU9ESUZZIQorICovCisKK1dlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMgPSB7
CisgICAgZm9yUHJvcGVydHk6IGZ1bmN0aW9uKHByb3BlcnR5TmFtZSkKKyAgICB7CisgICAgICAg
IHZhciBhY2NlcHRlZEtleXdvcmRzID0gWyAiaW5pdGlhbCIgXTsKKyAgICAgICAgaWYgKHByb3Bl
cnR5TmFtZSBpbiB0aGlzLl9wcm9wZXJ0eUtleXdvcmRNYXApCisgICAgICAgICAgICBhY2NlcHRl
ZEtleXdvcmRzID0gYWNjZXB0ZWRLZXl3b3Jkcy5jb25jYXQodGhpcy5fcHJvcGVydHlLZXl3b3Jk
TWFwW3Byb3BlcnR5TmFtZV0pOworICAgICAgICBpZiAocHJvcGVydHlOYW1lIGluIHRoaXMuX2Nv
bG9yQXdhcmVQcm9wZXJ0aWVzKQorICAgICAgICAgICAgYWNjZXB0ZWRLZXl3b3JkcyA9IGFjY2Vw
dGVkS2V5d29yZHMuY29uY2F0KHRoaXMuX3Byb3BlcnR5S2V5d29yZE1hcFsiX2NvbG9yXyJdKTsK
KyAgICAgICAgaWYgKHByb3BlcnR5TmFtZSBpbiBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBh
bmUuSW5oZXJpdGVkUHJvcGVydGllcykKKyAgICAgICAgICAgIGFjY2VwdGVkS2V5d29yZHMucHVz
aCgiaW5oZXJpdCIpOworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5DU1NDb21wbGV0
aW9ucyhhY2NlcHRlZEtleXdvcmRzKTsKKyAgICB9Cit9OworCitXZWJJbnNwZWN0b3IuQ1NTS2V5
d29yZENvbXBsZXRpb25zLl9jb2xvckF3YXJlUHJvcGVydGllcyA9IFsKKyAgICAiYmFja2dyb3Vu
ZCIsCisgICAgImJhY2tncm91bmQtY29sb3IiLAorICAgICJib3JkZXIiLAorICAgICJib3JkZXIt
Y29sb3IiLAorICAgICJib3JkZXItdG9wIiwKKyAgICAiYm9yZGVyLXJpZ2h0IiwKKyAgICAiYm9y
ZGVyLWJvdHRvbSIsCisgICAgImJvcmRlci1sZWZ0IiwKKyAgICAiYm9yZGVyLXRvcC1jb2xvciIs
CisgICAgImJvcmRlci1yaWdodC1jb2xvciIsCisgICAgImJvcmRlci1ib3R0b20tY29sb3IiLAor
ICAgICJib3JkZXItbGVmdC1jb2xvciIsCisgICAgImNvbG9yIiwKKyAgICAib3V0bGluZSIsCisg
ICAgIm91dGxpbmUtY29sb3IiLAorICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCIsCisgICAgInRleHQt
bGluZS10aHJvdWdoLWNvbG9yIiwKKyAgICAidGV4dC1vdmVybGluZSIsCisgICAgInRleHQtb3Zl
cmxpbmUtY29sb3IiLAorICAgICJ0ZXh0LXNoYWRvdyIsCisgICAgInRleHQtdW5kZXJsaW5lIiwK
KyAgICAidGV4dC11bmRlcmxpbmUtY29sb3IiLAorICAgICItd2Via2l0LXRleHQtZW1waGFzaXMi
LAorICAgICItd2Via2l0LXRleHQtZW1waGFzaXMtY29sb3IiCitdLmtleVNldCgpOworCitXZWJJ
bnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLl9wcm9wZXJ0eUtleXdvcmRNYXAgPSB7CitF
T0YKKworbXkgJGZpcnN0S2V5d29yZDsKK215ICRmaXJzdENhdGVnb3J5ID0gMTsKK2ZvcmVhY2gg
bXkgJGNhdGVnb3J5IChrZXlzICVjYXRlZ29yeVRvS2V5d29yZHNNYXApIHsKKyAgcHJpbnQgS0VZ
V09SRE1BUCAoJGZpcnN0Q2F0ZWdvcnkgPyAiIiA6ICIsXG4iKSAuICIgICAgXCIkY2F0ZWdvcnlc
IjogW1xuIjsKKyAgJGZpcnN0Q2F0ZWdvcnkgPSAwOworICBAa2V5d29yZHMgPSBAeyAkY2F0ZWdv
cnlUb0tleXdvcmRzTWFweyRjYXRlZ29yeX0gfTsKKyAgJGZpcnN0S2V5d29yZCA9IDE7CisgIGZv
cmVhY2ggbXkgJGtleXdvcmQgKEBrZXl3b3JkcykgeworICAgIHByaW50IEtFWVdPUkRNQVAgKCRm
aXJzdEtleXdvcmQgPyAiIiA6ICIsXG4iKSAuICIgICAgICAgIFwiJGtleXdvcmRcIiI7CisgICAg
JGZpcnN0S2V5d29yZCA9IDA7CisgIH0KKyAgcHJpbnQgS0VZV09SRE1BUCAiXG4gICAgXSI7Cit9
CitwcmludCBLRVlXT1JETUFQICJcbn1cbiI7CitjbG9zZShLRVlXT1JETUFQKTsKKwogb3BlbiBH
UEVSRiwgIj5DU1NWYWx1ZUtleXdvcmRzLmdwZXJmIiB8fCBkaWUgIkNvdWxkIG5vdCBvcGVuIENT
U1ZhbHVlS2V5d29yZHMuZ3BlcmYgZm9yIHdyaXRpbmciOwogcHJpbnQgR1BFUkYgPDwgIkVPRiI7
CiAlewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRD
b21wbGV0aW9ucy5xcmMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTS2V5d29yZENv
bXBsZXRpb25zLnFyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGUzNTVi
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdv
cmRDb21wbGV0aW9ucy5xcmMKQEAgLTAsMCArMSw1IEBACis8IURPQ1RZUEUgUkNDPjxSQ0MgdmVy
c2lvbj0iMS4wIj4KKzxxcmVzb3VyY2UgcHJlZml4PSIvd2Via2l0L2luc3BlY3RvciI+CisgICAg
PGZpbGU+Q1NTS2V5d29yZENvbXBsZXRpb25zLmpzPC9maWxlPgorPC9xcmVzb3VyY2U+Cis8L1JD
Qz4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFy
UGFuZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5q
cwppbmRleCBjODllNDUyLi44MjgyYzM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC0xMzY5LDYgKzEzNjksOSBAQCBXZWJJbnNw
ZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0
aGlzLmxpc3RJdGVtRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwogCisgICAgICAgIG5hbWVFbGVt
ZW50Lm5vcm1hbGl6ZSgpOworICAgICAgICB2YWx1ZUVsZW1lbnQubm9ybWFsaXplKCk7CisKICAg
ICAgICAgaWYgKCF0aGlzLnRyZWVPdXRsaW5lKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0x
NDc5LDE2ICsxNDgyLDExIEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQu
cHJvdG90eXBlID0gewogICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICB9LAog
Ci0gICAgcmVzdG9yZU5hbWVFbGVtZW50OiBmdW5jdGlvbigpCisgICAgZ2V0IGNzc1ZhbHVlQ29t
cGxldGlvbnMoKQogICAgIHsKLSAgICAgICAgLy8gUmVzdG9yZSA8c3BhbiBjbGFzcz0id2Via2l0
LWNzcy1wcm9wZXJ0eSI+IGlmIGl0IGRvZXNuJ3QgeWV0IGV4aXN0IG9yIHdhcyBhY2NpZGVudGFs
bHkgZGVsZXRlZC4KLSAgICAgICAgaWYgKHRoaXMubmFtZUVsZW1lbnQgPT09IHRoaXMubGlzdEl0
ZW1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi53ZWJraXQtY3NzLXByb3BlcnR5IikpCi0gICAgICAg
ICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5uYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNwYW4iKTsKLSAgICAgICAgdGhpcy5uYW1lRWxlbWVudC5jbGFzc05hbWUgPSAi
d2Via2l0LWNzcy1wcm9wZXJ0eSI7Ci0gICAgICAgIHRoaXMubmFtZUVsZW1lbnQudGV4dENvbnRl
bnQgPSAiIjsKLSAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMu
bmFtZUVsZW1lbnQsIHRoaXMubGlzdEl0ZW1FbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICBp
ZiAoIXRoaXMuX2Nzc1ZhbHVlQ29tcGxldGlvbnMpCisgICAgICAgICAgICB0aGlzLl9jc3NWYWx1
ZUNvbXBsZXRpb25zID0gV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5mb3JQcm9w
ZXJ0eSh0aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50KTsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X2Nzc1ZhbHVlQ29tcGxldGlvbnM7CiAgICAgfSwKIAogICAgIHN0YXJ0RWRpdGluZzogZnVuY3Rp
b24oc2VsZWN0RWxlbWVudCkKQEAgLTE1ODQsOCArMTU4Miw2IEBAIFdlYkluc3BlY3Rvci5TdHls
ZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKCFzZWxl
Y3Rpb24uaXNDb2xsYXBzZWQpCiAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLmRlbGV0ZUZyb21E
b2N1bWVudCgpOwogCi0gICAgICAgICAgICB0aGlzLnJlc3RvcmVOYW1lRWxlbWVudCgpOwotCiAg
ICAgICAgICAgICBpZiAocHJvcGVydHkpIHsKICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkg
IT09IHRoaXMubmFtZUVsZW1lbnQudGV4dENvbnRlbnQpCiAgICAgICAgICAgICAgICAgICAgIHRo
aXMubmFtZUVsZW1lbnQudGV4dENvbnRlbnQgPSBwcm9wZXJ0eTsKQEAgLTE1OTUsOSArMTU5MSw2
MSBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgfQogICAgIH0sCiAKKyAgICByYW5nZU9mV29yZDogZnVuY3Rpb24odGV4dCwgYW5j
aG9yT2Zmc2V0KQorICAgIHsKKyAgICAgICAgY29uc3Qgc3R5bGVWYWx1ZURlbGltaXRlcnMgPSAi
IFx1MDBBMFx0XG5cIic6OywvKCkiOworICAgICAgICB2YXIgc3RhcnRPZmZzZXQgPSBhbmNob3JP
ZmZzZXQ7CisgICAgICAgIHdoaWxlIChzdGFydE9mZnNldCA+IDApIHsKKyAgICAgICAgICAgIGlm
IChzdHlsZVZhbHVlRGVsaW1pdGVycy5pbmRleE9mKHRleHRbc3RhcnRPZmZzZXQgLSAxXSkgPT09
IC0xKQorICAgICAgICAgICAgICAgIC0tc3RhcnRPZmZzZXQ7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICB2YXIgZW5kT2Zmc2V0
ID0gYW5jaG9yT2Zmc2V0OworICAgICAgICB3aGlsZSAoZW5kT2Zmc2V0IDwgdGV4dC5sZW5ndGgg
JiYgc3R5bGVWYWx1ZURlbGltaXRlcnMuaW5kZXhPZih0ZXh0W2VuZE9mZnNldF0pID09PSAtMSkK
KyAgICAgICAgICAgICsrZW5kT2Zmc2V0OworCisgICAgICAgIC8vIHN0YXJ0T2Zmc2V0IGluY2x1
c2l2ZSwgZW5kT2Zmc2V0IGV4Y2x1c2l2ZS4KKyAgICAgICAgcmV0dXJuIHsgc3RhcnRPZmZzZXQ6
IHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQ6IGVuZE9mZnNldCB9OworICAgIH0sCisKICAgICBlZGl0
aW5nVmFsdWVLZXlQcmVzczogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICAvLyBGSVhN
RTogVGhpcyBzaG91bGQgY29tcGxldGUgcHJvcGVydHkgdmFsdWVzLgorICAgICAgICAvLyBDb21w
bGV0ZSBwcm9wZXJ0eSB2YWx1ZSBwYXJ0LgorICAgICAgICB2YXIgY2hhcmFjdGVyID0gZXZlbnQu
ZGF0YS50b0xvd2VyQ2FzZSgpOworICAgICAgICBpZiAoY2hhcmFjdGVyICYmIC9bYS16LV0vLnRl
c3QoY2hhcmFjdGVyKSkgeworICAgICAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKTsKKyAgICAgICAgICAgIGlmIChzZWxlY3Rpb24uZm9jdXNOb2RlICE9PSBzZWxl
Y3Rpb24uYW5jaG9yTm9kZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAg
IHZhciBjdXJzb3JQb3NpdGlvbiA9IE1hdGgubWluKHNlbGVjdGlvbi5mb2N1c09mZnNldCwgc2Vs
ZWN0aW9uLmFuY2hvck9mZnNldCk7CisgICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gdGhp
cy52YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQ7CisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmZv
Y3VzT2Zmc2V0ICE9PSBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0KSB7CisgICAgICAgICAgICAgICAg
Ly8gV2ViQ29yZSBjcmFzaCB3b3JrYXJvdW5kOiB3ZSBjYW5ub3QgcmVtb3ZlIHRoZSByYW5nZSBy
aWdodCBhd2F5LCBzaW5jZQorICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIHN1Z2dl
c3QsIFdlYkNvcmUvZWRpdGluZyB3aWxsIHRyeSB0byByZW1vdmUgdGhlIHNhbWUgcmFuZ2UKKyAg
ICAgICAgICAgICAgICAvLyBvbmNlIGFnYWluLCBhcyBldmVudC5wcmV2ZW50RGVmYXVsdCgpIHdp
bGwgbm90IGhhdmUgYmVlbiBjYWxsZWQuCisgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGlvbkxl
ZnQgPSBNYXRoLm1pbihzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LCBzZWxlY3Rpb24uZm9jdXNPZmZz
ZXQpOworICAgICAgICAgICAgICAgIHZhciBzZWxlY3Rpb25SaWdodCA9IE1hdGgubWF4KHNlbGVj
dGlvbi5hbmNob3JPZmZzZXQsIHNlbGVjdGlvbi5mb2N1c09mZnNldCk7CisgICAgICAgICAgICAg
ICAgY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25MZWZ0
KSArIGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoc2VsZWN0aW9uUmlnaHQpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgdmFyIHdvcmRSYW5nZSA9IHRoaXMucmFuZ2VPZldvcmQoY3VycmVudFZh
bHVlLCBjdXJzb3JQb3NpdGlvbik7CisgICAgICAgICAgICB2YXIgd29yZCA9IGN1cnJlbnRWYWx1
ZS5zdWJzdHJpbmcod29yZFJhbmdlLnN0YXJ0T2Zmc2V0LCB3b3JkUmFuZ2UuZW5kT2Zmc2V0KTsK
KyAgICAgICAgICAgIHZhciBwcmVmaXggPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRSYW5n
ZS5zdGFydE9mZnNldCwgY3Vyc29yUG9zaXRpb24pOworICAgICAgICAgICAgdmFyIHZhbHVlU3Vn
Z2VzdCA9IHRoaXMuY3NzVmFsdWVDb21wbGV0aW9ucy5maXJzdFN0YXJ0c1dpdGgoKHByZWZpeCAr
IGNoYXJhY3RlcikudG9Mb3dlckNhc2UoKSk7CisKKyAgICAgICAgICAgIGlmICh2YWx1ZVN1Z2dl
c3QpIHsKKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3VzT2Zmc2V0ICE9PSBzZWxl
Y3Rpb24uYW5jaG9yT2Zmc2V0ICYmIHNlbGVjdGlvbi5yYW5nZUNvdW50KQorICAgICAgICAgICAg
ICAgICAgICBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5kZWxldGVDb250ZW50cygpOworICAgICAg
ICAgICAgICAgIHZhciB2YWx1ZVN0YXJ0ID0gY3VycmVudFZhbHVlLnN1YnN0cmluZygwLCB3b3Jk
UmFuZ2Uuc3RhcnRPZmZzZXQpOworICAgICAgICAgICAgICAgIHZhciB2YWx1ZUVuZCA9IGN1cnJl
bnRWYWx1ZS5zdWJzdHJpbmcod29yZCA9PT0gdmFsdWVTdWdnZXN0ID8gd29yZFJhbmdlLmVuZE9m
ZnNldCA6IGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSB2
YWx1ZVN0YXJ0ICsgdmFsdWVTdWdnZXN0ICsgdmFsdWVFbmQ7CisgICAgICAgICAgICAgICAgaWYg
KG5ld1ZhbHVlICE9PSBjdXJyZW50VmFsdWUpCisgICAgICAgICAgICAgICAgICAgIHRoaXMudmFs
dWVFbGVtZW50LnRleHRDb250ZW50ID0gbmV3VmFsdWU7CisgICAgICAgICAgICAgICAgdGhpcy52
YWx1ZUVsZW1lbnQuZmlyc3RDaGlsZC5zZWxlY3QoY3Vyc29yUG9zaXRpb24gKyAxLCB3b3JkUmFu
Z2Uuc3RhcnRPZmZzZXQgKyB2YWx1ZVN1Z2dlc3QubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBl
dmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfSwK
IAogICAgIGVkaXRpbmdOYW1lS2V5RG93bjogZnVuY3Rpb24oZXZlbnQpCkBAIC0xNjE4LDEzICsx
NjY2LDEzIEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBl
ID0gewogICAgICAgICBpZiAoc2VsZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIg
IT09IHRoaXMubmFtZUVsZW1lbnQgJiYgIXNlbGVjdGlvblJhbmdlLmNvbW1vbkFuY2VzdG9yQ29u
dGFpbmVyLmlzRGVzY2VuZGFudCh0aGlzLm5hbWVFbGVtZW50KSkKICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICBjb25zdCBzdHlsZVZhbHVlRGVsaW1ldGVycyA9ICIgXHRcblwiJzo7LC8o
KSI7Ci0gICAgICAgIHZhciB3b3JkUmFuZ2UgPSBzZWxlY3Rpb25SYW5nZS5zdGFydENvbnRhaW5l
ci5yYW5nZU9mV29yZChzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNldCwgc3R5bGVWYWx1ZURlbGlt
ZXRlcnMsIHRoaXMubmFtZUVsZW1lbnQpOworICAgICAgICBjb25zdCBzdHlsZVZhbHVlRGVsaW1p
dGVycyA9ICIgXHUwMEEwXHRcblwiJzo7LC8oKSI7CisgICAgICAgIHZhciB3b3JkUmFuZ2UgPSBz
ZWxlY3Rpb25SYW5nZS5zdGFydENvbnRhaW5lci5yYW5nZU9mV29yZChzZWxlY3Rpb25SYW5nZS5z
dGFydE9mZnNldCwgc3R5bGVWYWx1ZURlbGltaXRlcnMsIHRoaXMubmFtZUVsZW1lbnQpOwogICAg
ICAgICB2YXIgd29yZFN0cmluZyA9IHdvcmRSYW5nZS50b1N0cmluZygpOwogICAgICAgICB2YXIg
Y3Vyc29yUG9zaXRpb24gPSBzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNldCAhPSBzZWxlY3Rpb25S
YW5nZS5lbmRPZmZzZXQgPyBzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNldCA6IDA7CiAgICAgICAg
IHZhciBwcmVmaXggPSBzZWxlY3Rpb25SYW5nZS5zdGFydENvbnRhaW5lci50ZXh0Q29udGVudC5z
dWJzdHJpbmcoMCwgY3Vyc29yUG9zaXRpb24pOwotICAgICAgICB2YXIgcHJvcGVydHk7CiAKKyAg
ICAgICAgdmFyIHByb3BlcnR5OwogICAgICAgICBpZiAoc2hvd05leHQpCiAgICAgICAgICAgICBw
cm9wZXJ0eSA9IFdlYkluc3BlY3Rvci5jc3NOYW1lQ29tcGxldGlvbnMubmV4dCh3b3JkU3RyaW5n
LCBwcmVmaXgpOwogICAgICAgICBlbHNlCkBAIC0xNjQ4LDY4ICsxNjk2LDgzIEBAIFdlYkluc3Bl
Y3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICBpZiAo
IXNlbGVjdGlvbi5yYW5nZUNvdW50KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHZh
ciBzZWxlY3Rpb25SYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApOwotICAgICAgICBpZiAo
c2VsZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIgIT09IHRoaXMudmFsdWVFbGVt
ZW50ICYmICFzZWxlY3Rpb25SYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lci5pc0Rlc2NlbmRh
bnQodGhpcy52YWx1ZUVsZW1lbnQpKQorICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3VzTm9kZSAh
PT0gc2VsZWN0aW9uLmFuY2hvck5vZGUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
Y29uc3Qgc3R5bGVWYWx1ZURlbGltZXRlcnMgPSAiIFx0XG5cIic6OywvKCkiOwotICAgICAgICB2
YXIgd29yZFJhbmdlID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRDb250YWluZXIucmFuZ2VPZldvcmQo
c2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQsIHN0eWxlVmFsdWVEZWxpbWV0ZXJzLCB0aGlzLnZh
bHVlRWxlbWVudCk7Ci0gICAgICAgIHZhciB3b3JkU3RyaW5nID0gd29yZFJhbmdlLnRvU3RyaW5n
KCk7Ci0gICAgICAgIHZhciByZXBsYWNlbWVudFN0cmluZyA9IHdvcmRTdHJpbmc7Ci0KLSAgICAg
ICAgdmFyIG1hdGNoZXMgPSAvKC4qPykoLT9cZCsoPzpcLlxkKyk/KSguKikvLmV4ZWMod29yZFN0
cmluZyk7Ci0gICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoKSB7Ci0gICAgICAg
ICAgICB2YXIgcHJlZml4ID0gbWF0Y2hlc1sxXTsKLSAgICAgICAgICAgIHZhciBudW1iZXIgPSBw
YXJzZUZsb2F0KG1hdGNoZXNbMl0pOwotICAgICAgICAgICAgdmFyIHN1ZmZpeCA9IG1hdGNoZXNb
M107Ci0KLSAgICAgICAgICAgIC8vIElmIHRoZSBudW1iZXIgaXMgbmVhciB6ZXJvIG9yIHRoZSBu
dW1iZXIgaXMgb25lIGFuZCB0aGUgZGlyZWN0aW9uIHdpbGwgdGFrZSBpdCBuZWFyIHplcm8uCi0g
ICAgICAgICAgICB2YXIgbnVtYmVyTmVhclplcm8gPSAobnVtYmVyIDwgMSAmJiBudW1iZXIgPiAt
MSk7Ci0gICAgICAgICAgICBpZiAobnVtYmVyID09PSAxICYmIGV2ZW50LmtleUlkZW50aWZpZXIg
PT09ICJEb3duIikKLSAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7Ci0gICAg
ICAgICAgICBlbHNlIGlmIChudW1iZXIgPT09IC0xICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09
ICJVcCIpCi0gICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOwotCi0gICAgICAg
ICAgICBpZiAobnVtYmVyTmVhclplcm8gJiYgZXZlbnQuYWx0S2V5ICYmIGFycm93S2V5UHJlc3Nl
ZCkgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIp
Ci0gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguY2VpbChudW1iZXIgLSAxKTsKLSAg
ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxv
b3IobnVtYmVyICsgMSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8v
IEp1bXAgYnkgMTAgd2hlbiBzaGlmdCBpcyBkb3duIG9yIGp1bXAgYnkgMC4xIHdoZW4gbmVhciB6
ZXJvIG9yIEFsdC9PcHRpb24gaXMgZG93bi4KLSAgICAgICAgICAgICAgICAvLyBBbHNvIGp1bXAg
YnkgMTAgZm9yIHBhZ2UgdXAgYW5kIGRvd24sIG9yIGJ5IDEwMCBpZiBzaGlmdCBpcyBoZWxkIHdp
dGggYSBwYWdlIGtleS4KLSAgICAgICAgICAgICAgICB2YXIgY2hhbmdlQW1vdW50ID0gMTsKLSAg
ICAgICAgICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgcGFnZUtleVByZXNzZWQpCi0gICAg
ICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDEwMDsKLSAgICAgICAgICAgICAgICBlbHNl
IGlmIChldmVudC5zaGlmdEtleSB8fCBwYWdlS2V5UHJlc3NlZCkKLSAgICAgICAgICAgICAgICAg
ICAgY2hhbmdlQW1vdW50ID0gMTA7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZlbnQuYWx0
S2V5IHx8IG51bWJlck5lYXJaZXJvKQotICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQg
PSAwLjE7Ci0KLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRv
d24iIHx8IGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93biIpCi0gICAgICAgICAgICAg
ICAgICAgIGNoYW5nZUFtb3VudCAqPSAtMTsKLQotICAgICAgICAgICAgICAgIC8vIE1ha2UgdGhl
IG5ldyBudW1iZXIgYW5kIGNvbnN0cmFpbiBpdCB0byBhIHByZWNpc2lvbiBvZiA2LCB0aGlzIG1h
dGNoZXMgbnVtYmVycyB0aGUgZW5naW5lIHJldHVybnMuCi0gICAgICAgICAgICAgICAgLy8gVXNl
IHRoZSBOdW1iZXIgY29uc3RydWN0b3IgdG8gZm9yZ2V0IHRoZSBmaXhlZCBwcmVjaXNpb24sIHNv
IDEuMTAwMDAwIHdpbGwgcHJpbnQgYXMgMS4xLgotICAgICAgICAgICAgICAgIG51bWJlciA9IE51
bWJlcigobnVtYmVyICsgY2hhbmdlQW1vdW50KS50b0ZpeGVkKDYpKTsKLSAgICAgICAgICAgIH0K
KyAgICAgICAgdmFyIGN1cnNvclBvc2l0aW9uID0gTWF0aC5taW4oc2VsZWN0aW9uLmZvY3VzT2Zm
c2V0LCBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0KTsKKyAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9
IHRoaXMudmFsdWVFbGVtZW50LnRleHRDb250ZW50OworICAgICAgICB2YXIgd29yZFJhbmdlID0g
dGhpcy5yYW5nZU9mV29yZChjdXJyZW50VmFsdWUsIGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAg
dmFyIHdvcmRTdHJpbmcgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRSYW5nZS5zdGFydE9m
ZnNldCwgd29yZFJhbmdlLmVuZE9mZnNldCk7CisgICAgICAgIHZhciB3b3JkU3RyaW5nTG93ZXIg
PSB3b3JkU3RyaW5nLnRvTG93ZXJDYXNlKCk7CisgICAgICAgIHZhciByZXBsYWNlbWVudFN0cmlu
ZyA9IG51bGw7CisgICAgICAgIHZhciBzZWxlY3Rpb25TdGFydCA9IHdvcmRSYW5nZS5zdGFydE9m
ZnNldDsKKworICAgICAgICAvLyBBdm9pZCBkZXRlY3RpbmcgbnVtZXJpYyB2YWx1ZXMgaW4gd29y
ZFN0cmluZ3MgbGlrZSAicHJlc2VydmUtM2QiLgorICAgICAgICBpZiAoISF0aGlzLmNzc1ZhbHVl
Q29tcGxldGlvbnMuZmlyc3RTdGFydHNXaXRoKHdvcmRTdHJpbmdMb3dlcikpIHsKKyAgICAgICAg
ICAgIHZhciBzaG93TmV4dCA9IChldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIgfHwgZXZl
bnQua2V5SWRlbnRpZmllciA9PT0gIlBhZ2VEb3duIik7CisgICAgICAgICAgICB2YXIgd29yZFBy
ZWZpeCA9IHdvcmRTdHJpbmdMb3dlci5zdWJzdHJpbmcoMCwgY3Vyc29yUG9zaXRpb24pOworCisg
ICAgICAgICAgICB2YXIgc3VnZ2VzdGVkV29yZDsKKyAgICAgICAgICAgIGlmIChzaG93TmV4dCkK
KyAgICAgICAgICAgICAgICBzdWdnZXN0ZWRXb3JkID0gdGhpcy5jc3NWYWx1ZUNvbXBsZXRpb25z
Lm5leHQod29yZFN0cmluZ0xvd2VyLCB3b3JkUHJlZml4KTsKKyAgICAgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgICAgICBzdWdnZXN0ZWRXb3JkID0gdGhpcy5jc3NWYWx1ZUNvbXBsZXRpb25zLnBy
ZXZpb3VzKHdvcmRTdHJpbmdMb3dlciwgd29yZFByZWZpeCk7CiAKLSAgICAgICAgICAgIHJlcGxh
Y2VtZW50U3RyaW5nID0gcHJlZml4ICsgbnVtYmVyICsgc3VmZml4OworICAgICAgICAgICAgaWYg
KHN1Z2dlc3RlZFdvcmQpIHsKKyAgICAgICAgICAgICAgICAvLyBGaXggc2VsZWN0aW9uIHRvIGJl
IG9ubHkgdGhlIHdvcmQgc3VmZml4LCBhcyB0aGUgcHJlZml4IHJlbWFpbnMgaW50YWN0IHdoaWxl
IHNjcm9sbGluZyB0aHJvdWdoIHZhbHVlcy4KKyAgICAgICAgICAgICAgICBzZWxlY3Rpb25TdGFy
dCA9IHNlbGVjdGlvblN0YXJ0ICsgd29yZFByZWZpeC5sZW5ndGg7CisgICAgICAgICAgICAgICAg
cmVwbGFjZW1lbnRTdHJpbmcgPSBzdWdnZXN0ZWRXb3JkLnN1YnN0cmluZyh3b3JkUHJlZml4Lmxl
bmd0aCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBG
SVhNRTogdGhpcyBzaG91bGQgY3ljbGUgdGhyb3VnaCBrbm93biBrZXl3b3JkcyBmb3IgdGhlIGN1
cnJlbnQgcHJvcGVydHkgdmFsdWUuCi0gICAgICAgIH0KLQotICAgICAgICB2YXIgcmVwbGFjZW1l
bnRUZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHJlcGxhY2VtZW50U3RyaW5nKTsK
KyAgICAgICAgICAgIHZhciBtYXRjaGVzID0gLyguKj8pKC0/XGQrKD86XC5cZCspPykoLiopLy5l
eGVjKHdvcmRTdHJpbmcpOworICAgICAgICAgICAgaWYgKG1hdGNoZXMgJiYgbWF0Y2hlcy5sZW5n
dGgpIHsKKyAgICAgICAgICAgICAgICB2YXIgcHJlZml4ID0gbWF0Y2hlc1sxXTsKKyAgICAgICAg
ICAgICAgICB2YXIgbnVtYmVyID0gcGFyc2VGbG9hdChtYXRjaGVzWzJdKTsKKyAgICAgICAgICAg
ICAgICB2YXIgc3VmZml4ID0gbWF0Y2hlc1szXTsKKworICAgICAgICAgICAgICAgIC8vIElmIHRo
ZSBudW1iZXIgaXMgbmVhciB6ZXJvIG9yIHRoZSBudW1iZXIgaXMgb25lIGFuZCB0aGUgZGlyZWN0
aW9uIHdpbGwgdGFrZSBpdCBuZWFyIHplcm8uCisgICAgICAgICAgICAgICAgdmFyIG51bWJlck5l
YXJaZXJvID0gKG51bWJlciA8IDEgJiYgbnVtYmVyID4gLTEpOworICAgICAgICAgICAgICAgIGlm
IChudW1iZXIgPT09IDEgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24iKQorICAgICAg
ICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7CisgICAgICAgICAgICAgICAgZWxz
ZSBpZiAobnVtYmVyID09PSAtMSAmJiBldmVudC5rZXlJZGVudGlmaWVyID09PSAiVXAiKQorICAg
ICAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7CisKKyAgICAgICAgICAgICAg
ICBpZiAobnVtYmVyTmVhclplcm8gJiYgZXZlbnQuYWx0S2V5ICYmIGFycm93S2V5UHJlc3NlZCkg
eworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24i
KQorICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5jZWlsKG51bWJlciAtIDEp
OworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBudW1i
ZXIgPSBNYXRoLmZsb29yKG51bWJlciArIDEpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgICAgIC8vIEp1bXAgYnkgMTAgd2hlbiBzaGlmdCBpcyBkb3duIG9yIGp1
bXAgYnkgMC4xIHdoZW4gbmVhciB6ZXJvIG9yIEFsdC9PcHRpb24gaXMgZG93bi4KKyAgICAgICAg
ICAgICAgICAgICAgLy8gQWxzbyBqdW1wIGJ5IDEwIGZvciBwYWdlIHVwIGFuZCBkb3duLCBvciBi
eSAxMDAgaWYgc2hpZnQgaXMgaGVsZCB3aXRoIGEgcGFnZSBrZXkuCisgICAgICAgICAgICAgICAg
ICAgIHZhciBjaGFuZ2VBbW91bnQgPSAxOworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQu
c2hpZnRLZXkgJiYgcGFnZUtleVByZXNzZWQpCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFu
Z2VBbW91bnQgPSAxMDA7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50LnNoaWZ0
S2V5IHx8IHBhZ2VLZXlQcmVzc2VkKQorICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlQW1v
dW50ID0gMTA7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50LmFsdEtleSB8fCBu
dW1iZXJOZWFyWmVybykKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDAu
MTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRv
d24iIHx8IGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93biIpCisgICAgICAgICAgICAg
ICAgICAgICAgICBjaGFuZ2VBbW91bnQgKj0gLTE7CisKKyAgICAgICAgICAgICAgICAgICAgLy8g
TWFrZSB0aGUgbmV3IG51bWJlciBhbmQgY29uc3RyYWluIGl0IHRvIGEgcHJlY2lzaW9uIG9mIDYs
IHRoaXMgbWF0Y2hlcyBudW1iZXJzIHRoZSBlbmdpbmUgcmV0dXJucy4KKyAgICAgICAgICAgICAg
ICAgICAgLy8gVXNlIHRoZSBOdW1iZXIgY29uc3RydWN0b3IgdG8gZm9yZ2V0IHRoZSBmaXhlZCBw
cmVjaXNpb24sIHNvIDEuMTAwMDAwIHdpbGwgcHJpbnQgYXMgMS4xLgorICAgICAgICAgICAgICAg
ICAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciArIGNoYW5nZUFtb3VudCkudG9GaXhlZCg2KSk7
CisgICAgICAgICAgICAgICAgfQogCi0gICAgICAgIHdvcmRSYW5nZS5kZWxldGVDb250ZW50cygp
OwotICAgICAgICB3b3JkUmFuZ2UuaW5zZXJ0Tm9kZShyZXBsYWNlbWVudFRleHROb2RlKTsKKyAg
ICAgICAgICAgICAgICByZXBsYWNlbWVudFN0cmluZyA9IHByZWZpeCArIG51bWJlciArIHN1ZmZp
eDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogCi0gICAgICAgIHZhciBmaW5hbFNlbGVjdGlv
blJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKLSAgICAgICAgZmluYWxTZWxlY3Rpb25S
YW5nZS5zZXRTdGFydChyZXBsYWNlbWVudFRleHROb2RlLCAwKTsKLSAgICAgICAgZmluYWxTZWxl
Y3Rpb25SYW5nZS5zZXRFbmQocmVwbGFjZW1lbnRUZXh0Tm9kZSwgcmVwbGFjZW1lbnRTdHJpbmcu
bGVuZ3RoKTsKKyAgICAgICAgaWYgKCFyZXBsYWNlbWVudFN0cmluZykKKyAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7Ci0gICAgICAgIHNl
bGVjdGlvbi5hZGRSYW5nZShmaW5hbFNlbGVjdGlvblJhbmdlKTsKKyAgICAgICAgdmFyIHZhbHVl
U3RhcnQgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKDAsIHNlbGVjdGlvblN0YXJ0KTsKKyAgICAg
ICAgdmFyIHZhbHVlRW5kID0gY3VycmVudFZhbHVlLnN1YnN0cmluZyh3b3JkUmFuZ2UuZW5kT2Zm
c2V0KTsKKyAgICAgICAgdmFyIG5ld1ZhbHVlID0gdmFsdWVTdGFydCArIHJlcGxhY2VtZW50U3Ry
aW5nICsgdmFsdWVFbmQ7CisgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LnRleHRDb250ZW50ID0g
bmV3VmFsdWU7CisgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LmZpcnN0Q2hpbGQuc2VsZWN0KHNl
bGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25TdGFydCArIHJlcGxhY2VtZW50U3RyaW5nLmxlbmd0aCkK
IAogICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogCkBAIC0xNzM1LDYgKzE3OTgsNyBA
QCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIGVkaXRlZEVsZW1lbnQucGFyZW50RWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJj
aGlsZC1lZGl0aW5nIik7CiAKICAgICAgICAgZGVsZXRlIHRoaXMub3JpZ2luYWxQcm9wZXJ0eVRl
eHQ7CisgICAgICAgIGRlbGV0ZSB0aGlzLl9jc3NWYWx1ZUNvbXBsZXRpb25zOwogICAgIH0sCiAK
ICAgICBlZGl0aW5nQ2FuY2VsbGVkOiBmdW5jdGlvbihlbGVtZW50LCBjb250ZXh0KQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IDllZDUwMTkuLmFiYzI4
NWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRt
bAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTkx
LDYgKzkxLDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJFdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb2xvci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ1NTQ29tcGxldGlvbnMuanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNTU0tleXdvcmRD
b21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iU3R5bGVzU2lkZWJhclBhbmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlBhbmVsRW5hYmxlclZpZXcuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IldlbGNvbWVWaWV3LmpzIj48
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvV2ViS2l0
L2Nocm9taXVtL1dlYktpdC5neXAKaW5kZXggMzYxMmEwOC4uMDE3YmViNSAxMDA2NDQKLS0tIGEv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKQEAgLTY5OCw2ICs2OTgsNyBAQAogICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAg
ICAgICAgICAgICAgICAnZGV2dG9vbHNfaHRtbCcsCiAgICAgICAgICAgICAgICAgJy4uLy4uL1dl
YkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6aW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMn
LAorICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lw
OndlYmNvcmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICAgICBdLAogICAgICAgICAgICAg
J2NvbmRpdGlvbnMnOiBbCiAgICAgICAgICAgICAgICAgWydkZWJ1Z19kZXZ0b29scz09MCcsIHsK
QEAgLTcxMiw2ICs3MTMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgJzxAKGRldnRvb2xz
X2ZpbGVzKScsCiAgICAgICAgICAgICAgICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2ZpbGVz
KScsCiAgICAgICAgICAgICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikv
d2ViY29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcycsCisgICAgICAgICAgICAgICAgICAgICAg
ICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L0NTU0tleXdvcmRDb21wbGV0aW9u
cy5qcycsCiAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICdjb25k
aXRpb25zJzogWwogICAgICAgICAgICAgICAgICAgICAgICAgWydkZWJ1Z19kZXZ0b29scz09MCcs
IHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77115</attachid>
            <date>2010-12-21 08:02:57 -0800</date>
            <delta_ts>2010-12-22 05:02:25 -0800</delta_ts>
            <desc>[PATCH] Python style and Chromium non-debug_devtools compilability tentatively fixed</desc>
            <filename>completevalues.patch</filename>
            <type>text/plain</type>
            <size>66404</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGZiZGE5NzA5YWFhZTk3MTExNDZhN2I3ZTczNTU3NDEyMGRlOTViODEKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBGcmkgRGVjIDMg
MjA6MDc6NDMgMjAxMCArMDMwMAoKICAgIFdJUCAtIGF1dG9jb21wbGV0ZSB2YWx1ZSBrZXl3b3Jk
cwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAwODU3MzA3Li5mOGEzZGEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAt
MTItMjEgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBh
dXRvY29tcGxldGlvbiBmb3IgQ1NTIHByb3BlcnR5IHZhbHVlcyBpbiBTdHlsZXMgcGFuZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0MTQKKworICAg
ICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy5o
dG1sOiBBZGRlZC4KKwogMjAxMC0xMi0yMSAgQW5kcmVpIFBvcGVzY3UgIDxhbmRyZWlwQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MWI5MDk2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUt
dmFsdWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IFVwL0Rvd24g
a2V5cyBzd2l0Y2ggc3VnZ2VzdGlvbnMgaW4gQ1NTIHByb3BlcnR5IHZhbHVlcy4KKworVGV4dAor
SW5pdGlhbCBwcm9wZXJ0eSB2YWx1ZToKK2NvbG9yOiBncmVlbjsKK05leHQgdmFsdWU6Citjb2xv
cjogZ3JlZW55ZWxsb3c7CitPcmlnaW5hbCB2YWx1ZToKK2NvbG9yOiBncmVlbjsKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZjNlYWVjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVz
Lmh0bWwKQEAgLTAsMCArMSw3MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iZWxlbWVudHMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24g
ZG9pdCgpCit7CisgICAgZnVuY3Rpb24gY2FsbGJhY2socmVzdWx0KQorICAgIHsKKyAgICAgICAg
ZHVtcEFycmF5KHJlc3VsdCk7CisgICAgICAgIG5vdGlmeURvbmUoKTsKKyAgICB9CisgICAgZXZh
bHVhdGVJbldlYkluc3BlY3RvcigiZnJvbnRlbmRfcnVuVGVzdCIsIGNhbGxiYWNrKTsKK30KKwor
Ly8gRnJvbnRlbmQgZnVuY3Rpb25zLgorCitmdW5jdGlvbiBmcm9udGVuZF9ydW5UZXN0KHRlc3RD
b250cm9sbGVyKQoreworICAgIHRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBm
cm9udGVuZF9leHBhbmRET01TdWJ0cmVlQW5kUnVuKHRlc3RDb250cm9sbGVyLCBudWxsLCBmcm9u
dGVuZF9zZWxlY3RJbnNwZWN0ZWRFbGVtZW50KTsKK30KKworZnVuY3Rpb24gZnJvbnRlbmRfc2Vs
ZWN0SW5zcGVjdGVkRWxlbWVudCh0ZXN0Q29udHJvbGxlcikKK3sKKyAgICBmcm9udGVuZF9zZWxl
Y3RFbGVtZW50QW5kUnVuKHRlc3RDb250cm9sbGVyLCAiaW5zcGVjdGVkIiwgZnJvbnRlbmRfZHVt
cEluc3BlY3RlZFN0eWxlKTsKK30KKworZnVuY3Rpb24gZnJvbnRlbmRfY3JlYXRlS2V5Ym9hcmRF
dmVudChldmVudE5hbWUsIGtleUlkZW50aWZpZXIpCit7CisgICAgdmFyIGV2dCA9IGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCJLZXlib2FyZEV2ZW50Iik7CisgICAgZXZ0LmluaXRLZXlib2FyZEV2ZW50
KGV2ZW50TmFtZSwgdHJ1ZSAvKiBjYW4gYnViYmxlICovLCB0cnVlIC8qIGNhbiBjYW5jZWwgKi8s
IG51bGwgLyogdmlldyAqLywga2V5SWRlbnRpZmllciwgIiIpOworICAgIHJldHVybiBldnQ7Cit9
CisKK2Z1bmN0aW9uIGZyb250ZW5kX2R1bXBJbnNwZWN0ZWRTdHlsZSh0ZXN0Q29udHJvbGxlcikK
K3sKKyAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJh
clBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsxXTsKKyAgICBzZWN0aW9uLmV4cGFuZCgpOworICAg
IHZhciB0cmVlRWxlbWVudCA9IHNlY3Rpb24ucHJvcGVydGllc1RyZWVPdXRsaW5lLmNoaWxkcmVu
WzBdOworCisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKCJJbml0aWFsIHByb3BlcnR5
IHZhbHVlOiIpOworICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCh0cmVlRWxlbWVudC5s
aXN0SXRlbUVsZW1lbnQudGV4dENvbnRlbnQpOworICAgIHRyZWVFbGVtZW50LnN0YXJ0RWRpdGlu
Zyh0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQpOworICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVu
dC5maXJzdENoaWxkLnNlbGVjdCgpOworCisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNo
KCJOZXh0IHZhbHVlOiIpOworICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudC5kaXNwYXRjaEV2
ZW50KGZyb250ZW5kX2NyZWF0ZUtleWJvYXJkRXZlbnQoImtleWRvd24iLCAiRG93biIpKTsKKyAg
ICB0ZXN0Q29udHJvbGxlci5yZXN1bHRzLnB1c2godHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50
LnRleHRDb250ZW50KTsKKworICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCgiT3JpZ2lu
YWwgdmFsdWU6Iik7CisgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LmRpc3BhdGNoRXZlbnQo
ZnJvbnRlbmRfY3JlYXRlS2V5Ym9hcmRFdmVudCgia2V5ZG93biIsICJVcCIpKTsKKyAgICB0ZXN0
Q29udHJvbGxlci5yZXN1bHRzLnB1c2godHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50LnRleHRD
b250ZW50KTsKKworICAgIHRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUodGVzdENvbnRyb2xsZXIu
cmVzdWx0cyk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9Im9ubG9h
ZCgpIj4KKzxwPgorVGVzdHMgdGhhdCBVcC9Eb3duIGtleXMgc3dpdGNoIHN1Z2dlc3Rpb25zIGlu
IENTUyBwcm9wZXJ0eSB2YWx1ZXMuCis8L3A+CisKKzxkaXYgaWQ9Imluc3BlY3RlZCIgc3R5bGU9
ImNvbG9yOiBncmVlbjsiPlRleHQ8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYmMzMGJmLi4y
MDNmY2Y4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEwLTEyLTIxICBBbGV4YW5kZXIgUGF2bG92ICA8YXBh
dmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYXV0b2NvbXBsZXRpb24gZm9yIENTUyBwcm9wZXJ0
eSB2YWx1ZXMgaW4gU3R5bGVzIHBhbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQxNDE0CisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL3N0eWxlcy1h
dXRvY29tcGxldGUtdmFsdWVzLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fY3NzdmFsdWVrZXl3
b3Jkcy5weToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9jb3B5SW5zcGVjdG9yRmlsZXMuY21kOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAgKiBjc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbjoK
KyAgICAgICAgKiBjc3MvbWFrZXZhbHVlcy5wbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKwogMjAxMC0xMi0yMSAgTWFoZXNoIEt1bGthcm5p
ICA8bWFoZXNoLmt1bGthcm5pQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRy
ZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGZiMTNhZmUuLjY4MjM1ZGMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTYzMSw3ICs2MzEsNyBAQCBDU1NQcm9wZXJ0eU5hbWVzLmggOiAkKFdFQkNP
UkVfQ1NTX1BST1BFUlRZX05BTUVTKSBjc3MvbWFrZXByb3AucGwKIENTU1ZhbHVlS2V5d29yZHMu
aCA6ICQoV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMpIGNzcy9tYWtldmFsdWVzLnBsCiAJIyBM
b3dlciBjYXNlIGFsbCB0aGUgdmFsdWVzLCBhcyBDU1MgdmFsdWVzIGFyZSBjYXNlLWluc2Vuc2l0
aXZlCiAJcGVybCAtbmUgJ3ByaW50IGxjJyAkKFdFQkNPUkVfQ1NTX1ZBTFVFX0tFWVdPUkRTKSA+
IENTU1ZhbHVlS2V5d29yZHMuaW4KLQlpZiBzb3J0IENTU1ZhbHVlS2V5d29yZHMuaW4gfCB1bmlx
IC1kIHwgZ3JlcCAtRSAtdiAnKF4jKXwoXltbOnNwYWNlOl1dKiQkKSc7IHRoZW4gZWNobyAnRHVw
bGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKKwlpZiBjYXQgQ1NTVmFsdWVLZXl3b3Jkcy5pbiB8
IHNlZCAtZSAncy9cKFteLF0qXCkuKi9cMS8nIHwgc29ydCB8IHVuaXEgLWQgfCBncmVwIC1FIC12
ICcoXiMpfCheW1s6c3BhY2U6XV0qJCQpJzsgdGhlbiBlY2hvICdEdXBsaWNhdGUgdmFsdWUhJzsg
ZXhpdCAxOyBmaQogCXBlcmwgIiQoV2ViQ29yZSkvY3NzL21ha2V2YWx1ZXMucGwiCiAKICMgLS0t
LS0tLS0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCmluZGV4IDljZmJmM2IuLjQ0NWQ4ZmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY1OCwxMiArNDY1
OCwxNCBAQCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFtZXMuaDogJChXRUJD
T1JFX0NTU19QUk9QRVJUWV9OQU1FUykgJChXZWJDbwogCW12IENTU1Byb3BlcnR5TmFtZXMqICQo
R0VOU09VUkNFU19XRUJDT1JFKQogCiAjIExvd2VyIGNhc2UgYWxsIHRoZSB2YWx1ZXMsIGFzIENT
UyB2YWx1ZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUKK0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NT
S2V5d29yZENvbXBsZXRpb25zLmpzOiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVlS2V5
d29yZHMuY3BwCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuY3BwOiBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuaAogRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9DU1NWYWx1ZUtleXdvcmRzLmg6ICQoV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMp
ICQoV2ViQ29yZSkvY3NzL21ha2V2YWx1ZXMucGwKIAkkKFBFUkwpIC1uZSAncHJpbnQgbGMnICQo
V0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMpID4gQ1NTVmFsdWVLZXl3b3Jkcy5pbgotCWlmIHNv
cnQgQ1NTVmFsdWVLZXl3b3Jkcy5pbiB8IHVuaXEgLWQgfCBncmVwIC1FICdeW14jXSc7IHRoZW4g
ZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKKwlpZiBjYXQgQ1NTVmFsdWVLZXl3
b3Jkcy5pbiB8IHNlZCAtZSAncy9cKFteLF0qXCkuKi9cMS8nIHwgc29ydCB8IHVuaXEgLWQgfCBn
cmVwIC1FICdeW14jXSc7IHRoZW4gZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkK
IAkkKFBFUkwpICIkKFdlYkNvcmUpL2Nzcy9tYWtldmFsdWVzLnBsIgogCW12IENTU1ZhbHVlS2V5
d29yZHMqICQoR0VOU09VUkNFU19XRUJDT1JFKQorCW12IENTU0tleXdvcmRDb21wbGV0aW9ucy5q
cyAkKEdFTlNPVVJDRVNfV0VCQ09SRSkKIAogIyBET0NUWVBFIHN0cmluZ3MKIERlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSGFzaFRvb2xzLmg6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRG9jVHlwZVN0
cmluZ3MuY3BwCkBAIC00ODUwLDYgKzQ4NTIsNyBAQCBFWFRSQV9ESVNUICs9IFwKIHdlYmluc3Bl
Y3RvcmRpciA9ICR7ZGF0YWRpcn0vd2Via2l0Z3RrLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL3dl
Ymluc3BlY3RvcgogZGlzdF93ZWJpbnNwZWN0b3JfREFUQSA9IFwKIAkkKFdlYkNvcmUpL0VuZ2xp
c2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9D
U1NLZXl3b3JkQ29tcGxldGlvbnMuanMgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVj
dG9yQmFja2VuZFN0dWIuanMgXAogCSQoc2hlbGwgbHMgJChXZWJDb3JlKS9pbnNwZWN0b3IvZnJv
bnQtZW5kLyouanMpIFwKIAkkKHNoZWxsIGxzICQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVu
ZC8qLmh0bWwpIFwKQEAgLTQ4NjcsNiArNDg3MCw3IEBAICR7R0VOU09VUkNFU19JTlNQRUNUT1J9
L2luc3BlY3Rvci5odG1sOiAkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9udC1lbmQvKi5odG1sIFwK
IAkJJChXZWJDb3JlKS9pbnNwZWN0b3IvZnJvbnQtZW5kLyouanMgXAogCQkkKFdlYkNvcmUpL2lu
c3BlY3Rvci9mcm9udC1lbmQvKi5jc3MgXAogCQkkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9udC1l
bmQvSW1hZ2VzLyogXAorCQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU0tleXdvcmRDb21wbGV0
aW9ucy5qcyBcCiAJCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZFN0dWIu
anMgXAogCQkkKFdlYkNvcmUpL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwogCSQo
QU1fVl9HRU4pbWtkaXIgLXAgJHtHRU5TT1VSQ0VTX0lOU1BFQ1RPUn0vaW1hZ2VzCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvV2ViQ29yZS9XZWJDb3JlLmd5
cC9XZWJDb3JlLmd5cAppbmRleCA2NmI5NWMxLi4yOWVlZjhlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXAKQEAgLTM5OSw2ICszOTksNyBAQAogICAgICAgICAgICAgJy4uL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluJywKICAgICAgICAgICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWworICAgICAg
ICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9DU1NLZXl3b3JkQ29tcGxl
dGlvbnMuanMnLAogICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtp
dC9DU1NWYWx1ZUtleXdvcmRzLmNwcCcsCiAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJ
QVRFX0RJUikvd2Via2l0L0NTU1ZhbHVlS2V5d29yZHMuaCcsCiAgICAgICAgICAgXSwKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fY3NzdmFsdWVrZXl3b3Jk
cy5weSBiL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fY3NzdmFsdWVrZXl3b3Jk
cy5weQppbmRleCBlYmY4OTViLi41YWNhNzg5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL3NjcmlwdHMvYWN0aW9uX2Nzc3ZhbHVla2V5d29yZHMucHkKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9jc3N2YWx1ZWtleXdvcmRzLnB5CkBAIC0xMjAsNyArMTIw
LDcgQEAgZGVmIG1haW4oYXJncyk6CiAKICAgICAjIE1ha2Ugc3VyZSB0aGVyZSBhcmVuJ3QgYW55
IGR1cGxpY2F0ZSBsaW5lcyBpbiB0aGUgaW4gZmlsZXMuIExvd2VyY2FzZQogICAgICMgZXZlcnl0
aGluZyBiZWNhdXNlIENTUyB2YWx1ZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUuCi0gICAgbGluZURp
Y3QgPSB7fQorICAgIHZhbHVlRGljdCA9IHt9CiAgICAgZm9yIGluRmlsZVBhdGggaW4gaW5GaWxl
czoKICAgICAgICAgaW5GaWxlID0gb3BlbihpbkZpbGVQYXRoKQogICAgICAgICBmb3IgbGluZSBp
biBpbkZpbGU6CkBAIC0xMzAsOSArMTMwLDEyIEBAIGRlZiBtYWluKGFyZ3MpOgogICAgICAgICAg
ICAgaWYgbGluZSA9PSAnJzoKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAg
bGluZSA9IGxpbmUubG93ZXIoKQotICAgICAgICAgICAgaWYgbGluZSBpbiBsaW5lRGljdDoKLSAg
ICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvciwgJ0R1cGxpY2F0ZSB2YWx1ZSAlcycgJSBsaW5l
Ci0gICAgICAgICAgICBsaW5lRGljdFtsaW5lXSA9IFRydWUKKyAgICAgICAgICAgIHBhcnRzID0g
bGluZS5wYXJ0aXRpb24oJywnKQorICAgICAgICAgICAgaWYgcGFydHNbMV0gIT0gJyc6CisgICAg
ICAgICAgICAgICAgdmFsdWUgPSBwYXJ0c1swXQorICAgICAgICAgICAgICAgIGlmIHZhbHVlIGlu
IHZhbHVlRGljdDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoJ0R1cGxpY2F0
ZSB2YWx1ZSAlcycgJSB2YWx1ZSkKKyAgICAgICAgICAgICAgICB2YWx1ZURpY3RbdmFsdWVdID0g
VHJ1ZQogICAgICAgICAgICAgcHJpbnQgPj5tZXJnZWQsIGxpbmUKICAgICAgICAgaW5GaWxlLmNs
b3NlKCkKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29y
ZS5wcmkKaW5kZXggYmMzZjU5NS4uNWFmNTdkMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
LnByaQorKysgYi9XZWJDb3JlL1dlYkNvcmUucHJpCkBAIC01MzYsNiArNTM2LDcgQEAgSURMX0JJ
TkRJTkdTICs9IFwKIAogSU5TUEVDVE9SX0lOVEVSRkFDRVMgPSBpbnNwZWN0b3IvSW5zcGVjdG9y
LmlkbAogSU5TUEVDVE9SX0JBQ0tFTkRfU1RVQl9RUkMgPSBpbnNwZWN0b3IvZnJvbnQtZW5kL0lu
c3BlY3RvckJhY2tlbmRTdHViLnFyYworQ1NTX0tFWVdPUkRfQ09NUExFVElPTlNfUVJDID0gaW5z
cGVjdG9yL2Zyb250LWVuZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJjCiAKIHY4OiB3cmFwcGVy
RmFjdG9yeUFyZyA9IC0td3JhcHBlckZhY3RvcnlWOAogZWxzZTogd3JhcHBlckZhY3RvcnlBcmcg
PSAtLXdyYXBwZXJGYWN0b3J5CkBAIC01OTQsNiArNTk1LDEzIEBAIGNzc3ZhbHVlcy5kZXBlbmRz
ID0gJHtRTUFLRV9GSUxFX05BTUV9ICQke0VYVFJBQ1NTVkFMVUVTfSAkJGNzc3ZhbHVlcy53a1Nj
cmlwdAogY3NzdmFsdWVzLmNsZWFuID0gJHtRTUFLRV9GSUxFX09VVH0gJHtRTUFLRV9WQVJfV0Nf
R0VORVJBVEVEX1NPVVJDRVNfRElSfS8ke1FNQUtFX0ZJTEVfQkFTRX0uaAogYWRkRXh0cmFDb21w
aWxlcihjc3N2YWx1ZXMpCiAKK2Nzc0tleXdvcmRDb21wbGV0aW9ucy53a0FkZE91dHB1dFRvU291
cmNlcyA9IGZhbHNlCitjc3NLZXl3b3JkQ29tcGxldGlvbnMub3V0cHV0ID0gZ2VuZXJhdGVkL0NT
U0tleXdvcmRDb21wbGV0aW9ucy5xcmMKK2Nzc0tleXdvcmRDb21wbGV0aW9ucy5pbnB1dCA9IENT
U19LRVlXT1JEX0NPTVBMRVRJT05TX1FSQworY3NzS2V5d29yZENvbXBsZXRpb25zLnRlbXBOYW1l
cyA9ICQkUFdELyQkQ1NTX0tFWVdPUkRfQ09NUExFVElPTlNfUVJDICQke1dDX0dFTkVSQVRFRF9T
T1VSQ0VTX0RJUn0vQ1NTS2V5d29yZENvbXBsZXRpb25zLnFyYworY3NzS2V5d29yZENvbXBsZXRp
b25zLmNvbW1hbmRzID0gJCRRTUFLRV9DT1BZICQkcmVwbGFjZShjc3NLZXl3b3JkQ29tcGxldGlv
bnMudGVtcE5hbWVzLCAiLyIsICQkUU1BS0VfRElSX1NFUCkKK2FkZEV4dHJhQ29tcGlsZXIoY3Nz
S2V5d29yZENvbXBsZXRpb25zKQorCiAjIEdFTkVSQVRPUiAxOiBJREwgY29tcGlsZXIKIGlkbC5p
bnB1dCA9IElETF9CSU5ESU5HUwogaWRsLndrU2NyaXB0ID0gJCRQV0QvYmluZGluZ3Mvc2NyaXB0
cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBi
L1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMmRkZjdlMy4uMWY1ZTBmOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xNjUsNyAr
MTY1LDcgQEAgc3ltYmlhbiB7CiBSRVNPVVJDRVMgKz0gXAogICAgICQkUFdELy4uL1dlYkNvcmUv
V2ViQ29yZS5xcmMKIAotaW5jbHVkZV93ZWJpbnNwZWN0b3I6IFJFU09VUkNFUyArPSAkJFBXRC8u
Li9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYyAkJFdDX0dFTkVSQVRFRF9T
T1VSQ0VTX0RJUi9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5xcmMKK2luY2x1ZGVfd2ViaW5zcGVjdG9y
OiBSRVNPVVJDRVMgKz0gJCRQV0QvLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktp
dC5xcmMgJCRXQ19HRU5FUkFURURfU09VUkNFU19ESVIvSW5zcGVjdG9yQmFja2VuZFN0dWIucXJj
ICQkV0NfR0VORVJBVEVEX1NPVVJDRVNfRElSL0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmMKIAog
ZW5hYmxlX2Zhc3RfbW9iaWxlX3Njcm9sbGluZzogREVGSU5FUyArPSBFTkFCTEVfRkFTVF9NT0JJ
TEVfU0NST0xMSU5HPTEKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5
SW5zcGVjdG9yRmlsZXMuY21kIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5SW5zcGVjdG9y
RmlsZXMuY21kCmluZGV4IDMxNmZkZGMuLjY0OTEyMTEgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovY29weUluc3BlY3RvckZpbGVzLmNtZAorKysgYi9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL2NvcHlJbnNwZWN0b3JGaWxlcy5jbWQKQEAgLTEsNSArMSw2IEBACiBta2RpciAyPk5V
TCAiJVdlYktpdE91dHB1dERpciVcYmluXFdlYktpdC5yZXNvdXJjZXNcaW5zcGVjdG9yIgogeGNv
cHkgL3kgL2QgL3MgL2V4Y2x1ZGU6eGNvcHkuZXhjbHVkZXMgIiVQcm9qZWN0RGlyJS4uXGluc3Bl
Y3Rvclxmcm9udC1lbmRcKiIgIiVXZWJLaXRPdXRwdXREaXIlXGJpblxXZWJLaXQucmVzb3VyY2Vz
XGluc3BlY3RvciIKK3hjb3B5IC95IC9kIC9zIC9leGNsdWRlOnhjb3B5LmV4Y2x1ZGVzICIlV2Vi
S2l0T3V0cHV0RGlyJVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xDU1NLZXl3b3JkQ29tcGxl
dGlvbnMuanMiICIlV2ViS2l0T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xpbnNwZWN0
b3IiCiB4Y29weSAveSAvZCAvcyAvZXhjbHVkZTp4Y29weS5leGNsdWRlcyAiJVdlYktpdE91dHB1
dERpciVcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yQmFja2VuZFN0dWIuanMi
ICIlV2ViS2l0T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xpbnNwZWN0b3IiCiBta2Rp
ciAyPk5VTCAiJVdlYktpdE91dHB1dERpciVcYmluXFdlYktpdC5yZXNvdXJjZXNcZW4ubHByb2oi
CiB4Y29weSAveSAvZCAvcyAvZXhjbHVkZTp4Y29weS5leGNsdWRlcyAiJVByb2plY3REaXIlLi5c
RW5nbGlzaC5scHJvalxsb2NhbGl6ZWRTdHJpbmdzLmpzIiAiJVdlYktpdE91dHB1dERpciVcYmlu
XFdlYktpdC5yZXNvdXJjZXNcZW4ubHByb2oiCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDMwNTJmYzEuLjY4NmNiNzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMjM3MSw2ICsyMjM3MSw3IEBACiAJCQkpOwog
CQkJaW5wdXRQYXRocyA9ICgKIAkJCQkiJChTUkNST09UKS9pbnNwZWN0b3IvZnJvbnQtZW5kIiwK
KwkJCQkiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTS2V5
d29yZENvbXBsZXRpb25zLmpzIiwKIAkJCQkiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZFN0dWIuanMiLAogCQkJKTsKIAkJCW5hbWUg
PSAiQ29weSBJbnNwZWN0b3IgUmVzb3VyY2VzIjsKQEAgLTIyMzc5LDcgKzIyMzgwLDcgQEAKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxs
UGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICIjIENvcHkgYWxsIHRoZSBJbnNwZWN0
b3IgZnJvbnQtZW5kIHJlc291cmNlcy5cbmRpdHRvIFwiJHtTUkNST09UfS9pbnNwZWN0b3IvZnJv
bnQtZW5kXCIgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZP
TERFUl9QQVRIfS9pbnNwZWN0b3JcIlxuZGl0dG8gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qc1wiIFwiJHtUQVJHRVRf
QlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9y
XCJcblxuIyBSZW1vdmUgdGhlIFdlYktpdC5xcmMgZmlsZSBzaW5jZSBpdCBpcyBub3QgdXNlZCBv
biB0aGUgTWFjICh0aGlzIGZpbGUgaXMgZm9yIFF0KS5cbnJtIC1mIFwiJHtUQVJHRVRfQlVJTERf
RElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yL1dlYktp
dC5xcmNcIlxuXG4jIFJlbW92ZSAqLnJlMmpzIGZpbGVzLCB0aGV5IGFyZSBvbmx5IHVzZWQgdG8g
Z2VuZXJhdGUgc29tZSAuanMgZmlsZXMuXG5ybSAtZiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtV
TkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3Rvci9cIioucmUyanNcblxu
IyBSZW1vdmUgYW55IC5zdm4gZGlyZWN0b3JpZXMgdGhhdCBtYXkgaGF2ZSBiZWVuIGNvcGllZCBv
dmVyLlxuZmluZCBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNf
Rk9MREVSX1BBVEh9L2luc3BlY3RvclwiIC1uYW1lIFwiLnN2blwiIC10eXBlIGQgfCB4YXJncyBy
bSAtcmZcbiI7CisJCQlzaGVsbFNjcmlwdCA9ICIjIENvcHkgYWxsIHRoZSBJbnNwZWN0b3IgZnJv
bnQtZW5kIHJlc291cmNlcy5cbmRpdHRvIFwiJHtTUkNST09UfS9pbnNwZWN0b3IvZnJvbnQtZW5k
XCIgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9Q
QVRIfS9pbnNwZWN0b3JcIlxuZGl0dG8gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanNcIiBcIiR7VEFSR0VUX0JVSUxE
X0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiXG5k
aXR0byBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3Bl
Y3RvckJhY2tlbmRTdHViLmpzXCIgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURf
UkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3JcIlxuXG4jIFJlbW92ZSB0aGUgV2ViS2l0
LnFyYyBmaWxlIHNpbmNlIGl0IGlzIG5vdCB1c2VkIG9uIHRoZSBNYWMgKHRoaXMgZmlsZSBpcyBm
b3IgUXQpLlxucm0gLWYgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VS
Q0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3IvV2ViS2l0LnFyY1wiXG5cbiMgUmVtb3ZlICoucmUy
anMgZmlsZXMsIHRoZXkgYXJlIG9ubHkgdXNlZCB0byBnZW5lcmF0ZSBzb21lIC5qcyBmaWxlcy5c
bnJtIC1mIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xE
RVJfUEFUSH0vaW5zcGVjdG9yL1wiKi5yZTJqc1xuXG4jIFJlbW92ZSBhbnkgLnN2biBkaXJlY3Rv
cmllcyB0aGF0IG1heSBoYXZlIGJlZW4gY29waWVkIG92ZXIuXG5maW5kIFwiJHtUQVJHRVRfQlVJ
TERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yXCIg
LW5hbWUgXCIuc3ZuXCIgLXR5cGUgZCB8IHhhcmdzIHJtIC1yZlxuIjsKIAkJfTsKIAkJNUQwRDU0
MEQwRTk4NjJGNjAwMjlFMjIzIC8qIENoZWNrIEZvciBXZWFrIFZUYWJsZXMgYW5kIEV4dGVybmFs
cyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCmluZGV4IGMzY2ExYjUuLjQ4MmE3YWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
bgpAQCAtMTYsNDQ0ICsxNiw0NDQgQEAgaW5pdGlhbAogIyBDU1NfUFJPUF9CT1JERVJfVE9QX1NU
WUxFCiAjIENTU19QUk9QX0JPUkRFUl9CT1RUT01fU1RZTEUKICMgQ1NTX1BST1BfQk9SREVSX0xF
RlRfU1RZTEUKLW5vbmUKLWhpZGRlbgotaW5zZXQKLWdyb292ZQotcmlkZ2UKLW91dHNldAotZG90
dGVkCi1kYXNoZWQKLXNvbGlkCi1kb3VibGUKK25vbmUsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJv
cmRlcixib3JkZXItdG9wLXN0eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0
eWxlLGJvcmRlci1sZWZ0LXN0eWxlLGNsZWFyLGNsaXAtcGF0aCxjdXJzb3IsZGlzcGxheSxmbG9h
dCxsaXN0LXN0eWxlLXR5cGUsbGlzdC1zdHlsZS1pbWFnZSxtYXJxdWVlLXN0eWxlLG1heC1oZWln
aHQsbWF4LXdpZHRoLHBvaW50ZXItZXZlbnRzLHNwZWFrLHRleHQtbGluZS10aHJvdWdoLHRleHQt
bGluZS10aHJvdWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUtc3R5bGUsdGV4dC11bmRlcmxpbmUsdGV4
dC11bmRlcmxpbmUtc3R5bGUsdGV4dC10cmFuc2Zvcm0sLXdlYmtpdC1mb250LXNtb290aGluZywt
d2Via2l0LWh5cGhlbnMsLXdlYmtpdC10ZXh0LWNvbWJpbmUKK2hpZGRlbixvdXRsaW5lLG91dGxp
bmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRl
ci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUsdmlzaWJpbGl0eSxvdmVyZmxvdyxvdmVy
Zmxvdy14LG92ZXJmbG93LXkKK2luc2V0LG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9y
ZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3Jk
ZXItbGVmdC1zdHlsZQorZ3Jvb3ZlLG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVy
LXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXIt
bGVmdC1zdHlsZQorcmlkZ2Usb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9w
LXN0eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0
LXN0eWxlCitvdXRzZXQsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0
eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0
eWxlCitkb3R0ZWQsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0eWxl
LGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0eWxl
LHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUt
c3R5bGUsdGV4dC11bmRlcmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5bGUKK2Rhc2hlZCxvdXRsaW5l
LG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxl
LGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gs
dGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZSx0ZXh0LXVuZGVybGlu
ZSx0ZXh0LXVuZGVybGluZS1zdHlsZQorc29saWQsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRl
cixib3JkZXItdG9wLXN0eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxl
LGJvcmRlci1sZWZ0LXN0eWxlLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLXN0
eWxlLHRleHQtb3ZlcmxpbmUtc3R5bGUsdGV4dC11bmRlcmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5
bGUKK2RvdWJsZSxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUs
Ym9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUs
dGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1z
dHlsZSx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVybGluZS1zdHlsZQogIwogIyBDU1NfUFJPUF9G
T05UOgogIwotY2FwdGlvbgotaWNvbgotbWVudQotbWVzc2FnZS1ib3gKLXNtYWxsLWNhcHRpb24K
LS13ZWJraXQtbWluaS1jb250cm9sCi0td2Via2l0LXNtYWxsLWNvbnRyb2wKLS13ZWJraXQtY29u
dHJvbAotc3RhdHVzLWJhcgorY2FwdGlvbixmb250CitpY29uLGZvbnQKK21lbnUsZm9udAorbWVz
c2FnZS1ib3gsZm9udAorc21hbGwtY2FwdGlvbixmb250Cistd2Via2l0LW1pbmktY29udHJvbCxm
b250Cistd2Via2l0LXNtYWxsLWNvbnRyb2wsZm9udAorLXdlYmtpdC1jb250cm9sLGZvbnQKK3N0
YXR1cy1iYXIsZm9udAogCiAjCiAjIENTU19QUk9QX0ZPTlRfU1RZTEU6CiAjCi0jbm9ybWFsCi1p
dGFsaWMKLW9ibGlxdWUKKyNub3JtYWwsZm9udC1zdHlsZSxmb250CitpdGFsaWMsZm9udC1zdHls
ZSxmb250CitvYmxpcXVlLGZvbnQtc3R5bGUsZm9udAogIyBUaGUgZm9sbG93aW5nIGlzIG9ubHkg
YWxsb3dlZCBpbiBAZm9udC1mYWNlOgotYWxsCithbGwscG9pbnRlci1ldmVudHMKICMKICMgQ1NT
X1BST1BfRk9OVF9WQVJJQU5UOgogIwotI25vcm1hbAotc21hbGwtY2FwcworI25vcm1hbCxmb250
LXZhcmlhbnQsZm9udAorc21hbGwtY2Fwcyxmb250LXZhcmlhbnQsZm9udAogIwogIyBDU1NfUFJP
UF9GT05UX1dFSUdIVDoKICMKLW5vcm1hbAotYm9sZAotYm9sZGVyCi1saWdodGVyCi0xMDAKLTIw
MAotMzAwCi00MDAKLTUwMAotNjAwCi03MDAKLTgwMAotOTAwCitub3JtYWwsZm9udC13ZWlnaHQs
Zm9udCxmb250LXN0eWxlLGZvbnQtdmFyaWFudCxmb250LXN0cmV0Y2gsYm94LWRpcmVjdGlvbixt
YXJxdWVlLXNwZWVkLHdoaXRlLXNwYWNlLGxldHRlci1zcGFjaW5nLGxpbmUtaGVpZ2h0LHNwZWFr
LHRleHQtbGluZS10aHJvdWdoLXdpZHRoLHRleHQtb3ZlcmxpbmUtd2lkdGgsdGV4dC11bmRlcmxp
bmUtd2lkdGgsdW5pY29kZS1iaWRpLHdvcmQtd3JhcAorYm9sZCxmb250LXdlaWdodCxmb250Citi
b2xkZXIsZm9udC13ZWlnaHQsZm9udAorbGlnaHRlcixmb250LXdlaWdodCxmb250CisxMDAsZm9u
dC13ZWlnaHQsZm9udAorMjAwLGZvbnQtd2VpZ2h0LGZvbnQKKzMwMCxmb250LXdlaWdodCxmb250
Cis0MDAsZm9udC13ZWlnaHQsZm9udAorNTAwLGZvbnQtd2VpZ2h0LGZvbnQKKzYwMCxmb250LXdl
aWdodCxmb250Cis3MDAsZm9udC13ZWlnaHQsZm9udAorODAwLGZvbnQtd2VpZ2h0LGZvbnQKKzkw
MCxmb250LXdlaWdodCxmb250CiAjCiAjIENTU19QUk9QX0ZPTlRfU0laRToKICMKLXh4LXNtYWxs
Ci14LXNtYWxsCi1zbWFsbAotbWVkaXVtCi1sYXJnZQoteC1sYXJnZQoteHgtbGFyZ2UKLS13ZWJr
aXQteHh4LWxhcmdlCi1zbWFsbGVyCi1sYXJnZXIKK3h4LXNtYWxsLGZvbnQtc2l6ZSxmb250Cit4
LXNtYWxsLGZvbnQtc2l6ZSxmb250CitzbWFsbCxmb250LXNpemUsZm9udAorbWVkaXVtLGZvbnQt
c2l6ZSxmb250LG91dGxpbmUtd2lkdGgsYm9yZGVyLXdpZHRoLGJvcmRlci10b3Atd2lkdGgsYm9y
ZGVyLXJpZ2h0LXdpZHRoLGJvcmRlci1ib3R0b20td2lkdGgsYm9yZGVyLWxlZnQtd2lkdGgsdGV4
dC1saW5lLXRocm91Z2gtd2lkdGgsdGV4dC1vdmVybGluZS13aWR0aCx0ZXh0LXVuZGVybGluZS13
aWR0aAorbGFyZ2UsZm9udC1zaXplLGZvbnQKK3gtbGFyZ2UsZm9udC1zaXplLGZvbnQKK3h4LWxh
cmdlLGZvbnQtc2l6ZSxmb250Cistd2Via2l0LXh4eC1sYXJnZSxmb250LXNpemUsZm9udAorc21h
bGxlcixmb250LXNpemUsZm9udAorbGFyZ2VyLGZvbnQtc2l6ZSxmb250CiAjCiAjIENTU19QUk9Q
X0ZPTlRfU1RSRVRDSDoKICMKLSNub3JtYWwKLXdpZGVyCi1uYXJyb3dlcgotdWx0cmEtY29uZGVu
c2VkCi1leHRyYS1jb25kZW5zZWQKLWNvbmRlbnNlZAotc2VtaS1jb25kZW5zZWQKLXNlbWktZXhw
YW5kZWQKLWV4cGFuZGVkCi1leHRyYS1leHBhbmRlZAotdWx0cmEtZXhwYW5kZWQKKyNub3JtYWws
Zm9udC1zdHJldGNoCit3aWRlcixmb250LXN0cmV0Y2gKK25hcnJvd2VyLGZvbnQtc3RyZXRjaAor
dWx0cmEtY29uZGVuc2VkLGZvbnQtc3RyZXRjaAorZXh0cmEtY29uZGVuc2VkLGZvbnQtc3RyZXRj
aAorY29uZGVuc2VkLGZvbnQtc3RyZXRjaAorc2VtaS1jb25kZW5zZWQsZm9udC1zdHJldGNoCitz
ZW1pLWV4cGFuZGVkLGZvbnQtc3RyZXRjaAorZXhwYW5kZWQsZm9udC1zdHJldGNoCitleHRyYS1l
eHBhbmRlZCxmb250LXN0cmV0Y2gKK3VsdHJhLWV4cGFuZGVkLGZvbnQtc3RyZXRjaAogIwogIyBD
U1NfUFJPUF9HRU5FUklDX0ZPTlRfRkFNSUxZOgogIwotc2VyaWYKLXNhbnMtc2VyaWYKLWN1cnNp
dmUKLWZhbnRhc3kKLW1vbm9zcGFjZQotLXdlYmtpdC1ib2R5CitzZXJpZixmb250LWZhbWlseSxm
b250CitzYW5zLXNlcmlmLGZvbnQtZmFtaWx5LGZvbnQKK2N1cnNpdmUsZm9udC1mYW1pbHksZm9u
dAorZmFudGFzeSxmb250LWZhbWlseSxmb250Cittb25vc3BhY2UsZm9udC1mYW1pbHksZm9udAor
LXdlYmtpdC1ib2R5LGZvbnQtZmFtaWx5LGZvbnQKICMKICMKICMgQ1NTX1BST1BfKl9DT0xPUgog
IwotYXF1YQotYmxhY2sKLWJsdWUKLWZ1Y2hzaWEKLWdyYXkKLWdyZWVuCi1saW1lCi1tYXJvb24K
LW5hdnkKLW9saXZlCi1vcmFuZ2UKLXB1cnBsZQotcmVkCi1zaWx2ZXIKLXRlYWwKLXdoaXRlCi15
ZWxsb3cKLXRyYW5zcGFyZW50Ci0td2Via2l0LWxpbmsKLS13ZWJraXQtYWN0aXZlbGluawotYWN0
aXZlYm9yZGVyCi1hY3RpdmVjYXB0aW9uCi1hcHB3b3Jrc3BhY2UKLWJhY2tncm91bmQKLWJ1dHRv
bmZhY2UKLWJ1dHRvbmhpZ2hsaWdodAotYnV0dG9uc2hhZG93Ci1idXR0b250ZXh0Ci1jYXB0aW9u
dGV4dAotZ3JheXRleHQKLWhpZ2hsaWdodAotaGlnaGxpZ2h0dGV4dAotaW5hY3RpdmVib3JkZXIK
LWluYWN0aXZlY2FwdGlvbgotaW5hY3RpdmVjYXB0aW9udGV4dAotaW5mb2JhY2tncm91bmQKLWlu
Zm90ZXh0Ci1tYXRjaAotbWVudXRleHQKLXNjcm9sbGJhcgotdGhyZWVkZGFya3NoYWRvdwotdGhy
ZWVkZmFjZQotdGhyZWVkaGlnaGxpZ2h0Ci10aHJlZWRsaWdodHNoYWRvdwotdGhyZWVkc2hhZG93
Ci13aW5kb3cKLXdpbmRvd2ZyYW1lCi13aW5kb3d0ZXh0Ci0td2Via2l0LWZvY3VzLXJpbmctY29s
b3IKLWN1cnJlbnRjb2xvcgorYXF1YSxfY29sb3JfCitibGFjayxfY29sb3JfCitibHVlLF9jb2xv
cl8KK2Z1Y2hzaWEsX2NvbG9yXworZ3JheSxfY29sb3JfCitncmVlbixfY29sb3JfCitsaW1lLF9j
b2xvcl8KK21hcm9vbixfY29sb3JfCituYXZ5LF9jb2xvcl8KK29saXZlLF9jb2xvcl8KK29yYW5n
ZSxfY29sb3JfCitwdXJwbGUsX2NvbG9yXworcmVkLF9jb2xvcl8KK3NpbHZlcixfY29sb3JfCit0
ZWFsLF9jb2xvcl8KK3doaXRlLF9jb2xvcl8KK3llbGxvdyxfY29sb3JfCit0cmFuc3BhcmVudCxf
Y29sb3JfCistd2Via2l0LWxpbmssX2NvbG9yXworLXdlYmtpdC1hY3RpdmVsaW5rLF9jb2xvcl8K
K2FjdGl2ZWJvcmRlcixfY29sb3JfCithY3RpdmVjYXB0aW9uLF9jb2xvcl8KK2FwcHdvcmtzcGFj
ZSxfY29sb3JfCitiYWNrZ3JvdW5kLF9jb2xvcl8KK2J1dHRvbmZhY2UsX2NvbG9yXworYnV0dG9u
aGlnaGxpZ2h0LF9jb2xvcl8KK2J1dHRvbnNoYWRvdyxfY29sb3JfCitidXR0b250ZXh0LF9jb2xv
cl8KK2NhcHRpb250ZXh0LF9jb2xvcl8KK2dyYXl0ZXh0LF9jb2xvcl8KK2hpZ2hsaWdodCxfY29s
b3JfLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2hpZ2hsaWdodHRleHQsX2NvbG9yXwor
aW5hY3RpdmVib3JkZXIsX2NvbG9yXworaW5hY3RpdmVjYXB0aW9uLF9jb2xvcl8KK2luYWN0aXZl
Y2FwdGlvbnRleHQsX2NvbG9yXworaW5mb2JhY2tncm91bmQsX2NvbG9yXworaW5mb3RleHQsX2Nv
bG9yXworbWF0Y2gsX2NvbG9yXworbWVudXRleHQsX2NvbG9yXworc2Nyb2xsYmFyLF9jb2xvcl8K
K3RocmVlZGRhcmtzaGFkb3csX2NvbG9yXwordGhyZWVkZmFjZSxfY29sb3JfCit0aHJlZWRoaWdo
bGlnaHQsX2NvbG9yXwordGhyZWVkbGlnaHRzaGFkb3csX2NvbG9yXwordGhyZWVkc2hhZG93LF9j
b2xvcl8KK3dpbmRvdyxfY29sb3JfCit3aW5kb3dmcmFtZSxfY29sb3JfCit3aW5kb3d0ZXh0LF9j
b2xvcl8KKy13ZWJraXQtZm9jdXMtcmluZy1jb2xvcixfY29sb3JfCitjdXJyZW50Y29sb3IsX2Nv
bG9yXwogIwogIyBjb2xvcnMgaW4gbm9uIHN0cmljdCBtb2RlCi1ncmV5Ci0td2Via2l0LXRleHQK
K2dyZXksX2NvbG9yXworLXdlYmtpdC10ZXh0LF9jb2xvcl8KICMKICMgQ1NTX1BST1BfQkFDS0dS
T1VORF9SRVBFQVQ6CiAjCi1yZXBlYXQKLXJlcGVhdC14Ci1yZXBlYXQteQotbm8tcmVwZWF0Ci0j
IHJvdW5kCi0jIHNwYWNlCityZXBlYXQsYmFja2dyb3VuZC1yZXBlYXQsYm9yZGVyLWltYWdlCity
ZXBlYXQteCxiYWNrZ3JvdW5kLXJlcGVhdAorcmVwZWF0LXksYmFja2dyb3VuZC1yZXBlYXQKK25v
LXJlcGVhdCxiYWNrZ3JvdW5kLXJlcGVhdAorIyByb3VuZCxiYWNrZ3JvdW5kLXJlcGVhdAorIyBz
cGFjZSxiYWNrZ3JvdW5kLXJlcGVhdAogIwogIyBDU1NfUFJPUF9fV0VCS0lUX0JBQ0tHUk9VTkRf
Q09NUE9TSVRFOgogIwotY2xlYXIKLWNvcHkKLXNvdXJjZS1vdmVyCi1zb3VyY2UtaW4KLXNvdXJj
ZS1vdXQKLXNvdXJjZS1hdG9wCi1kZXN0aW5hdGlvbi1vdmVyCi1kZXN0aW5hdGlvbi1pbgotZGVz
dGluYXRpb24tb3V0Ci1kZXN0aW5hdGlvbi1hdG9wCi14b3IKLXBsdXMtZGFya2VyCi0jIGhpZ2hs
aWdodAotcGx1cy1saWdodGVyCitjbGVhciwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitj
b3B5LC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUsY3Vyc29yCitzb3VyY2Utb3Zlciwtd2Vi
a2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitzb3VyY2UtaW4sLXdlYmtpdC1iYWNrZ3JvdW5kLWNv
bXBvc2l0ZQorc291cmNlLW91dCwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitzb3VyY2Ut
YXRvcCwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitkZXN0aW5hdGlvbi1vdmVyLC13ZWJr
aXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2Rlc3RpbmF0aW9uLWluLC13ZWJraXQtYmFja2dyb3Vu
ZC1jb21wb3NpdGUKK2Rlc3RpbmF0aW9uLW91dCwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRl
CitkZXN0aW5hdGlvbi1hdG9wLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3hvciwtd2Vi
a2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitwbHVzLWRhcmtlciwtd2Via2l0LWJhY2tncm91bmQt
Y29tcG9zaXRlCisjIGhpZ2hsaWdodCwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitwbHVz
LWxpZ2h0ZXIsLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQogIwogIyBDU1NfUFJPUF9WRVJU
SUNBTF9BTElHTjoKICMKLWJhc2VsaW5lCi1taWRkbGUKLXN1Ygotc3VwZXIKLXRleHQtdG9wCi10
ZXh0LWJvdHRvbQotdG9wCi1ib3R0b20KK2Jhc2VsaW5lLHZlcnRpY2FsLWFsaWduLGFsaWdubWVu
dC1iYXNlbGluZSxiYXNlbGluZS1zaGlmdCxib3gtYWxpZ24KK21pZGRsZSx2ZXJ0aWNhbC1hbGln
bixhbGlnbm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK3N1Yix2ZXJ0aWNhbC1hbGln
bixiYXNlbGluZS1zaGlmdAorc3VwZXIsdmVydGljYWwtYWxpZ24sYmFzZWxpbmUtc2hpZnQKK3Rl
eHQtdG9wLHZlcnRpY2FsLWFsaWduCit0ZXh0LWJvdHRvbSx2ZXJ0aWNhbC1hbGlnbgordG9wLHZl
cnRpY2FsLWFsaWduCitib3R0b20sdmVydGljYWwtYWxpZ24KICMgSFRNTCBhbGlnbm1lbnQgTUlE
RExFIGhhcyBubyBjb3JyZXNwb25kaW5nIENTUyBhbGlnbm1lbnQKLS13ZWJraXQtYmFzZWxpbmUt
bWlkZGxlCistd2Via2l0LWJhc2VsaW5lLW1pZGRsZSx2ZXJ0aWNhbC1hbGlnbgogIwogIyBDU1Nf
UFJPUF9URVhUX0FMSUdOOgogIwotLXdlYmtpdC1hdXRvCi1sZWZ0Ci1yaWdodAotY2VudGVyCi1q
dXN0aWZ5Ci0td2Via2l0LWxlZnQKLS13ZWJraXQtcmlnaHQKLS13ZWJraXQtY2VudGVyCistd2Vi
a2l0LWF1dG8sdGV4dC1hbGlnbgorbGVmdCx0ZXh0LWFsaWduLGNsZWFyLGZsb2F0LG1hcnF1ZWUt
ZGlyZWN0aW9uLGJveC1yZWZsZWN0LHBhZ2UtYnJlYWstYWZ0ZXIscGFnZS1icmVhay1iZWZvcmUK
K3JpZ2h0LHRleHQtYWxpZ24sY2xlYXIsZmxvYXQsbWFycXVlZS1kaXJlY3Rpb24sYm94LXJlZmxl
Y3QscGFnZS1icmVhay1hZnRlcixwYWdlLWJyZWFrLWJlZm9yZQorY2VudGVyLHRleHQtYWxpZ24s
Ym94LWFsaWduCitqdXN0aWZ5LHRleHQtYWxpZ24KKy13ZWJraXQtbGVmdCx0ZXh0LWFsaWduCist
d2Via2l0LXJpZ2h0LHRleHQtYWxpZ24KKy13ZWJraXQtY2VudGVyLHRleHQtYWxpZ24KICMKICMg
Q1NTX1BST1BfTElTVF9TVFlMRV9QT1NJVElPTjoKICMKLW91dHNpZGUKLWluc2lkZQorb3V0c2lk
ZSxsaXN0LXN0eWxlLXBvc2l0aW9uCitpbnNpZGUsbGlzdC1zdHlsZS1wb3NpdGlvbgogIwogIyBD
U1NfUFJPUF9MSVNUX1NUWUxFX1RZUEU6CiAjCi1kaXNjCi1jaXJjbGUKLXNxdWFyZQotZGVjaW1h
bAotZGVjaW1hbC1sZWFkaW5nLXplcm8KLWFyYWJpYy1pbmRpYwotYmluYXJ5Ci1iZW5nYWxpCi1j
YW1ib2RpYW4KLWtobWVyCi1kZXZhbmFnYXJpCi1ndWphcmF0aQotZ3VybXVraGkKLWthbm5hZGEK
LWxvd2VyLWhleGFkZWNpbWFsCi1sYW8KLW1hbGF5YWxhbQotbW9uZ29saWFuCi1teWFubWFyCi1v
Y3RhbAotb3JpeWEKLXBlcnNpYW4KLXVyZHUKLXRlbHVndQotdGliZXRhbgotdGhhaQotdXBwZXIt
aGV4YWRlY2ltYWwKLWxvd2VyLXJvbWFuCi11cHBlci1yb21hbgotbG93ZXItZ3JlZWsKLWxvd2Vy
LWFscGhhCi1sb3dlci1sYXRpbgotdXBwZXItYWxwaGEKLXVwcGVyLWxhdGluCi1hZmFyCi1ldGhp
b3BpYy1oYWxlaGFtZS1hYS1ldAotZXRoaW9waWMtaGFsZWhhbWUtYWEtZXIKLWFtaGFyaWMKLWV0
aGlvcGljLWhhbGVoYW1lLWFtLWV0Ci1hbWhhcmljLWFiZWdlZGUKLWV0aGlvcGljLWFiZWdlZGUt
YW0tZXQKLWNqay1lYXJ0aGx5LWJyYW5jaAotY2prLWhlYXZlbmx5LXN0ZW0KLWV0aGlvcGljCi1l
dGhpb3BpYy1oYWxlaGFtZS1nZXoKLWV0aGlvcGljLWFiZWdlZGUKLWV0aGlvcGljLWFiZWdlZGUt
Z2V6Ci1oYW5ndWwtY29uc29uYW50Ci1oYW5ndWwKLWxvd2VyLW5vcndlZ2lhbgotb3JvbW8KLWV0
aGlvcGljLWhhbGVoYW1lLW9tLWV0Ci1zaWRhbWEKLWV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldAot
c29tYWxpCi1ldGhpb3BpYy1oYWxlaGFtZS1zby1ldAotdGlncmUKLWV0aGlvcGljLWhhbGVoYW1l
LXRpZwotdGlncmlueWEtZXIKLWV0aGlvcGljLWhhbGVoYW1lLXRpLWVyCi10aWdyaW55YS1lci1h
YmVnZWRlCi1ldGhpb3BpYy1hYmVnZWRlLXRpLWVyCi10aWdyaW55YS1ldAotZXRoaW9waWMtaGFs
ZWhhbWUtdGktZXQKLXRpZ3JpbnlhLWV0LWFiZWdlZGUKLWV0aGlvcGljLWFiZWdlZGUtdGktZXQK
LXVwcGVyLWdyZWVrCi11cHBlci1ub3J3ZWdpYW4KLWFzdGVyaXNrcwotZm9vdG5vdGVzCi1oZWJy
ZXcKLWFybWVuaWFuCi1sb3dlci1hcm1lbmlhbgotdXBwZXItYXJtZW5pYW4KLWdlb3JnaWFuCi1j
amstaWRlb2dyYXBoaWMKLWhpcmFnYW5hCi1rYXRha2FuYQotaGlyYWdhbmEtaXJvaGEKLWthdGFr
YW5hLWlyb2hhCi0jbm9uZQorZGlzYyxsaXN0LXN0eWxlLXR5cGUKK2NpcmNsZSxsaXN0LXN0eWxl
LXR5cGUsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQor
c3F1YXJlLGxpc3Qtc3R5bGUtdHlwZQorZGVjaW1hbCxsaXN0LXN0eWxlLXR5cGUKK2RlY2ltYWwt
bGVhZGluZy16ZXJvLGxpc3Qtc3R5bGUtdHlwZQorYXJhYmljLWluZGljLGxpc3Qtc3R5bGUtdHlw
ZQorYmluYXJ5LGxpc3Qtc3R5bGUtdHlwZQorYmVuZ2FsaSxsaXN0LXN0eWxlLXR5cGUKK2NhbWJv
ZGlhbixsaXN0LXN0eWxlLXR5cGUKK2tobWVyLGxpc3Qtc3R5bGUtdHlwZQorZGV2YW5hZ2FyaSxs
aXN0LXN0eWxlLXR5cGUKK2d1amFyYXRpLGxpc3Qtc3R5bGUtdHlwZQorZ3VybXVraGksbGlzdC1z
dHlsZS10eXBlCitrYW5uYWRhLGxpc3Qtc3R5bGUtdHlwZQorbG93ZXItaGV4YWRlY2ltYWwsbGlz
dC1zdHlsZS10eXBlCitsYW8sbGlzdC1zdHlsZS10eXBlCittYWxheWFsYW0sbGlzdC1zdHlsZS10
eXBlCittb25nb2xpYW4sbGlzdC1zdHlsZS10eXBlCitteWFubWFyLGxpc3Qtc3R5bGUtdHlwZQor
b2N0YWwsbGlzdC1zdHlsZS10eXBlCitvcml5YSxsaXN0LXN0eWxlLXR5cGUKK3BlcnNpYW4sbGlz
dC1zdHlsZS10eXBlCit1cmR1LGxpc3Qtc3R5bGUtdHlwZQordGVsdWd1LGxpc3Qtc3R5bGUtdHlw
ZQordGliZXRhbixsaXN0LXN0eWxlLXR5cGUKK3RoYWksbGlzdC1zdHlsZS10eXBlCit1cHBlci1o
ZXhhZGVjaW1hbCxsaXN0LXN0eWxlLXR5cGUKK2xvd2VyLXJvbWFuLGxpc3Qtc3R5bGUtdHlwZQor
dXBwZXItcm9tYW4sbGlzdC1zdHlsZS10eXBlCitsb3dlci1ncmVlayxsaXN0LXN0eWxlLXR5cGUK
K2xvd2VyLWFscGhhLGxpc3Qtc3R5bGUtdHlwZQorbG93ZXItbGF0aW4sbGlzdC1zdHlsZS10eXBl
Cit1cHBlci1hbHBoYSxsaXN0LXN0eWxlLXR5cGUKK3VwcGVyLWxhdGluLGxpc3Qtc3R5bGUtdHlw
ZQorYWZhcixsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLWFhLWV0LGxpc3Qtc3R5
bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtYWEtZXIsbGlzdC1zdHlsZS10eXBlCithbWhhcmlj
LGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtYW0tZXQsbGlzdC1zdHlsZS10eXBl
CithbWhhcmljLWFiZWdlZGUsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1hYmVnZWRlLWFtLWV0
LGxpc3Qtc3R5bGUtdHlwZQorY2prLWVhcnRobHktYnJhbmNoLGxpc3Qtc3R5bGUtdHlwZQorY2pr
LWhlYXZlbmx5LXN0ZW0sbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYyxsaXN0LXN0eWxlLXR5cGUK
K2V0aGlvcGljLWhhbGVoYW1lLWdleixsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWFiZWdlZGUs
bGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1hYmVnZWRlLWdleixsaXN0LXN0eWxlLXR5cGUKK2hh
bmd1bC1jb25zb25hbnQsbGlzdC1zdHlsZS10eXBlCitoYW5ndWwsbGlzdC1zdHlsZS10eXBlCits
b3dlci1ub3J3ZWdpYW4sbGlzdC1zdHlsZS10eXBlCitvcm9tbyxsaXN0LXN0eWxlLXR5cGUKK2V0
aGlvcGljLWhhbGVoYW1lLW9tLWV0LGxpc3Qtc3R5bGUtdHlwZQorc2lkYW1hLGxpc3Qtc3R5bGUt
dHlwZQorZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0LGxpc3Qtc3R5bGUtdHlwZQorc29tYWxpLGxp
c3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtc28tZXQsbGlzdC1zdHlsZS10eXBlCit0
aWdyZSxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLXRpZyxsaXN0LXN0eWxlLXR5
cGUKK3RpZ3JpbnlhLWVyLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtdGktZXIs
bGlzdC1zdHlsZS10eXBlCit0aWdyaW55YS1lci1hYmVnZWRlLGxpc3Qtc3R5bGUtdHlwZQorZXRo
aW9waWMtYWJlZ2VkZS10aS1lcixsaXN0LXN0eWxlLXR5cGUKK3RpZ3JpbnlhLWV0LGxpc3Qtc3R5
bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtdGktZXQsbGlzdC1zdHlsZS10eXBlCit0aWdyaW55
YS1ldC1hYmVnZWRlLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtYWJlZ2VkZS10aS1ldCxsaXN0
LXN0eWxlLXR5cGUKK3VwcGVyLWdyZWVrLGxpc3Qtc3R5bGUtdHlwZQordXBwZXItbm9yd2VnaWFu
LGxpc3Qtc3R5bGUtdHlwZQorYXN0ZXJpc2tzLGxpc3Qtc3R5bGUtdHlwZQorZm9vdG5vdGVzLGxp
c3Qtc3R5bGUtdHlwZQoraGVicmV3LGxpc3Qtc3R5bGUtdHlwZQorYXJtZW5pYW4sbGlzdC1zdHls
ZS10eXBlCitsb3dlci1hcm1lbmlhbixsaXN0LXN0eWxlLXR5cGUKK3VwcGVyLWFybWVuaWFuLGxp
c3Qtc3R5bGUtdHlwZQorZ2VvcmdpYW4sbGlzdC1zdHlsZS10eXBlCitjamstaWRlb2dyYXBoaWMs
bGlzdC1zdHlsZS10eXBlCitoaXJhZ2FuYSxsaXN0LXN0eWxlLXR5cGUKK2thdGFrYW5hLGxpc3Qt
c3R5bGUtdHlwZQoraGlyYWdhbmEtaXJvaGEsbGlzdC1zdHlsZS10eXBlCitrYXRha2FuYS1pcm9o
YSxsaXN0LXN0eWxlLXR5cGUKKyNub25lLGxpc3Qtc3R5bGUtdHlwZQogIwogIyBDU1NfUFJPUF9E
SVNQTEFZOgogIwotaW5saW5lCi1ibG9jawotbGlzdC1pdGVtCi1ydW4taW4KLWNvbXBhY3QKLWlu
bGluZS1ibG9jawotdGFibGUKLWlubGluZS10YWJsZQotdGFibGUtcm93LWdyb3VwCi10YWJsZS1o
ZWFkZXItZ3JvdXAKLXRhYmxlLWZvb3Rlci1ncm91cAotdGFibGUtcm93Ci10YWJsZS1jb2x1bW4t
Z3JvdXAKLXRhYmxlLWNvbHVtbgotdGFibGUtY2VsbAotdGFibGUtY2FwdGlvbgotLXdlYmtpdC1i
b3gKLS13ZWJraXQtaW5saW5lLWJveAotLXdhcC1tYXJxdWVlCi0jbm9uZQoraW5saW5lLGRpc3Bs
YXkKK2Jsb2NrLGRpc3BsYXkKK2xpc3QtaXRlbSxkaXNwbGF5LGNvbnRlbnQKK3J1bi1pbixkaXNw
bGF5Citjb21wYWN0LGRpc3BsYXkKK2lubGluZS1ibG9jayxkaXNwbGF5Cit0YWJsZSxkaXNwbGF5
CitpbmxpbmUtdGFibGUsZGlzcGxheQordGFibGUtcm93LWdyb3VwLGRpc3BsYXkKK3RhYmxlLWhl
YWRlci1ncm91cCxkaXNwbGF5Cit0YWJsZS1mb290ZXItZ3JvdXAsZGlzcGxheQordGFibGUtcm93
LGRpc3BsYXkKK3RhYmxlLWNvbHVtbi1ncm91cCxkaXNwbGF5Cit0YWJsZS1jb2x1bW4sZGlzcGxh
eQordGFibGUtY2VsbCxkaXNwbGF5Cit0YWJsZS1jYXB0aW9uLGRpc3BsYXkKKy13ZWJraXQtYm94
LGRpc3BsYXkKKy13ZWJraXQtaW5saW5lLWJveCxkaXNwbGF5Cistd2FwLW1hcnF1ZWUsZGlzcGxh
eQorI25vbmUsZGlzcGxheQogIwogIyBDU1NfUFJPUF9DVVJTT1I6CiAjCi1hdXRvCi1jcm9zc2hh
aXIKLWRlZmF1bHQKLXBvaW50ZXIKLW1vdmUKLXZlcnRpY2FsLXRleHQKLWNlbGwKLWNvbnRleHQt
bWVudQotYWxpYXMKLSMgY29weQotcHJvZ3Jlc3MKLW5vLWRyb3AKLW5vdC1hbGxvd2VkCi0td2Vi
a2l0LXpvb20taW4KLS13ZWJraXQtem9vbS1vdXQKLWUtcmVzaXplCi1uZS1yZXNpemUKLW53LXJl
c2l6ZQotbi1yZXNpemUKLXNlLXJlc2l6ZQotc3ctcmVzaXplCi1zLXJlc2l6ZQotdy1yZXNpemUK
LWV3LXJlc2l6ZQotbnMtcmVzaXplCi1uZXN3LXJlc2l6ZQotbndzZS1yZXNpemUKLWNvbC1yZXNp
emUKLXJvdy1yZXNpemUKLXRleHQKLXdhaXQKLWhlbHAKLWFsbC1zY3JvbGwKLS13ZWJraXQtZ3Jh
YgotLXdlYmtpdC1ncmFiYmluZwotIyBub25lCithdXRvLGN1cnNvcixhbGlnbm1lbnQtYmFzZWxp
bmUsZG9taW5hbnQtYmFzZWxpbmUsY29sb3ItcmVuZGVyaW5nLGltYWdlLXJlbmRlcmluZyxtYXJn
aW4sbWFyZ2luLXRvcCxtYXJnaW4tcmlnaHQsbWFyZ2luLWJvdHRvbSxtYXJnaW4tbGVmdCxtYXJx
dWVlLWRpcmVjdGlvbixvdmVyZmxvdyxvdmVyZmxvdy14LG92ZXJmbG93LXkscGFnZS1icmVhay1h
ZnRlcixwYWdlLWJyZWFrLWJlZm9yZSxwYWdlLWJyZWFrLWluc2lkZSxwb2ludGVyLWV2ZW50cyx0
YWJsZS1sYXlvdXQsdGV4dC1saW5lLXRocm91Z2gtd2lkdGgsdGV4dC1vdmVybGluZS13aWR0aCx0
ZXh0LXVuZGVybGluZS13aWR0aCx0ZXh0LXJlbmRlcmluZywtd2Via2l0LWZvbnQtc21vb3RoaW5n
LC13ZWJraXQtaHlwaGVucworY3Jvc3NoYWlyLGN1cnNvcgorZGVmYXVsdCxjdXJzb3IsLXdlYmtp
dC1jb2xvci1jb3JyZWN0aW9uCitwb2ludGVyLGN1cnNvcgorbW92ZSxjdXJzb3IKK3ZlcnRpY2Fs
LXRleHQsY3Vyc29yCitjZWxsLGN1cnNvcgorY29udGV4dC1tZW51LGN1cnNvcgorYWxpYXMsY3Vy
c29yCisjIGNvcHksY3Vyc29yCitwcm9ncmVzcyxjdXJzb3IKK25vLWRyb3AsY3Vyc29yCitub3Qt
YWxsb3dlZCxjdXJzb3IKKy13ZWJraXQtem9vbS1pbixjdXJzb3IKKy13ZWJraXQtem9vbS1vdXQs
Y3Vyc29yCitlLXJlc2l6ZSxjdXJzb3IKK25lLXJlc2l6ZSxjdXJzb3IKK253LXJlc2l6ZSxjdXJz
b3IKK24tcmVzaXplLGN1cnNvcgorc2UtcmVzaXplLGN1cnNvcgorc3ctcmVzaXplLGN1cnNvcgor
cy1yZXNpemUsY3Vyc29yCit3LXJlc2l6ZSxjdXJzb3IKK2V3LXJlc2l6ZSxjdXJzb3IKK25zLXJl
c2l6ZSxjdXJzb3IKK25lc3ctcmVzaXplLGN1cnNvcgorbndzZS1yZXNpemUsY3Vyc29yCitjb2wt
cmVzaXplLGN1cnNvcgorcm93LXJlc2l6ZSxjdXJzb3IKK3RleHQsY3Vyc29yCit3YWl0LGN1cnNv
cgoraGVscCxjdXJzb3IKK2FsbC1zY3JvbGwsY3Vyc29yCistd2Via2l0LWdyYWIsY3Vyc29yCist
d2Via2l0LWdyYWJiaW5nLGN1cnNvcgorIyBub25lLGN1cnNvcgogIwogIyBDU1NfUFJPUF9ESVJF
Q1RJT046CiAjCi1sdHIKLXJ0bAorbHRyLGRpcmVjdGlvbgorcnRsLGRpcmVjdGlvbgogIwogIyBD
U1NfUFJPUF9URVhUX1RSQU5TRk9STToKICMKLWNhcGl0YWxpemUKLXVwcGVyY2FzZQotbG93ZXJj
YXNlCi0jbm9uZQorY2FwaXRhbGl6ZSx0ZXh0LXRyYW5zZm9ybQordXBwZXJjYXNlLHRleHQtdHJh
bnNmb3JtCitsb3dlcmNhc2UsdGV4dC10cmFuc2Zvcm0KKyNub25lLHRleHQtdHJhbnNmb3JtCiAj
CiAjIENTU19QUk9QX1ZJU0lCSUxJVFk6CiAjCi12aXNpYmxlCi0jaGlkZGVuCi1jb2xsYXBzZQor
dmlzaWJsZSx2aXNpYmlsaXR5LG92ZXJmbG93LG92ZXJmbG93LXgsb3ZlcmZsb3cteSxwb2ludGVy
LWV2ZW50cworI2hpZGRlbix2aXNpYmlsaXR5Citjb2xsYXBzZSx2aXNpYmlsaXR5LGJvcmRlci1j
b2xsYXBzZSxtYXJnaW4tYmVmb3JlLWNvbGxhcHNlLG1hcmdpbi1hZnRlci1jb2xsYXBzZSxtYXJn
aW4tdG9wLWNvbGxhcHNlLG1hcmdpbi1ib3R0b20tY29sbGFwc2UKICMKICMgVW5vcmRlcmVkIHJl
c3QKICMKLWEzCi1hNAotYTUKLWFib3ZlCi1hYnNvbHV0ZQotYWx3YXlzCi1hdm9pZAotYjQKLWI1
Ci1iZWxvdwotYmlkaS1vdmVycmlkZQotYmxpbmsKLWJvdGgKLWNsb3NlLXF1b3RlCithMyxzaXpl
CithNCxzaXplCithNSxzaXplCithYm92ZSxib3gtcmVmbGVjdAorYWJzb2x1dGUscG9zaXRpb24K
K2Fsd2F5cyxwYWdlLWJyZWFrLWFmdGVyLHBhZ2UtYnJlYWstYmVmb3JlCithdm9pZCxwYWdlLWJy
ZWFrLWFmdGVyLHBhZ2UtYnJlYWstYmVmb3JlLHBhZ2UtYnJlYWstaW5zaWRlCitiNCxzaXplCiti
NSxzaXplCitiZWxvdyxib3gtcmVmbGVjdAorYmlkaS1vdmVycmlkZSx1bmljb2RlLWJpZGkKK2Js
aW5rLHRleHQtZGVjb3JhdGlvbgorYm90aCxjbGVhcgorY2xvc2UtcXVvdGUsY29udGVudAogY3Jv
cAogY3Jvc3MKLWVtYmVkCi1maXhlZAorZW1iZWQsdW5pY29kZS1iaWRpCitmaXhlZCxwb3NpdGlv
bix0YWJsZS1sYXlvdXQKIGhhbmQKLWhpZGUKK2hpZGUsZW1wdHktY2VsbHMKIGhpZ2hlcgotaW52
ZXJ0Ci1sYW5kc2NhcGUKLWxlZGdlcgotbGVnYWwKLWxldHRlcgoraW52ZXJ0LG91dGxpbmUtY29s
b3IKK2xhbmRzY2FwZSxzaXplCitsZWRnZXIsc2l6ZQorbGVnYWwsc2l6ZQorbGV0dGVyLHNpemUK
IGxldmVsCi1saW5lLXRocm91Z2gKK2xpbmUtdGhyb3VnaCx0ZXh0LWRlY29yYXRpb24KIGxvY2Fs
CiBsb3VkCiBsb3dlcgogLXdlYmtpdC1tYXJxdWVlCiBtaXgKLW5vLWNsb3NlLXF1b3RlCi1uby1v
cGVuLXF1b3RlCi1ub3dyYXAKLW9wZW4tcXVvdGUKLW92ZXJsYXkKLW92ZXJsaW5lCi1wb3J0cmFp
dAotcHJlCi1wcmUtbGluZQotcHJlLXdyYXAKLXJlbGF0aXZlCi1zY3JvbGwKLXNlcGFyYXRlCi1z
aG93Ci1zdGF0aWMKLXRoaWNrCi10aGluCi11bmRlcmxpbmUKK25vLWNsb3NlLXF1b3RlLGNvbnRl
bnQKK25vLW9wZW4tcXVvdGUsY29udGVudAorbm93cmFwLHdoaXRlLXNwYWNlCitvcGVuLXF1b3Rl
LGNvbnRlbnQKK292ZXJsYXksb3ZlcmZsb3csb3ZlcmZsb3cteCxvdmVyZmxvdy15CitvdmVybGlu
ZSx0ZXh0LWRlY29yYXRpb24KK3BvcnRyYWl0LHNpemUKK3ByZSx3aGl0ZS1zcGFjZQorcHJlLWxp
bmUsd2hpdGUtc3BhY2UKK3ByZS13cmFwLHdoaXRlLXNwYWNlCityZWxhdGl2ZSxwb3NpdGlvbgor
c2Nyb2xsLG1hcnF1ZWUtc3R5bGUsb3ZlcmZsb3csb3ZlcmZsb3cteCxvdmVyZmxvdy15CitzZXBh
cmF0ZSxib3JkZXItY29sbGFwc2UsbWFyZ2luLWJlZm9yZS1jb2xsYXBzZSxtYXJnaW4tYWZ0ZXIt
Y29sbGFwc2UsbWFyZ2luLXRvcC1jb2xsYXBzZSxtYXJnaW4tYm90dG9tLWNvbGxhcHNlCitzaG93
LGVtcHR5LWNlbGxzCitzdGF0aWMscG9zaXRpb24KK3RoaWNrLG91dGxpbmUtd2lkdGgsYm9yZGVy
LXdpZHRoLGJvcmRlci10b3Atd2lkdGgsYm9yZGVyLXJpZ2h0LXdpZHRoLGJvcmRlci1ib3R0b20t
d2lkdGgsYm9yZGVyLWxlZnQtd2lkdGgsdGV4dC1saW5lLXRocm91Z2gtd2lkdGgsdGV4dC1vdmVy
bGluZS13aWR0aCx0ZXh0LXVuZGVybGluZS13aWR0aAordGhpbixvdXRsaW5lLXdpZHRoLGJvcmRl
ci13aWR0aCxib3JkZXItdG9wLXdpZHRoLGJvcmRlci1yaWdodC13aWR0aCxib3JkZXItYm90dG9t
LXdpZHRoLGJvcmRlci1sZWZ0LXdpZHRoLHRleHQtbGluZS10aHJvdWdoLXdpZHRoLHRleHQtb3Zl
cmxpbmUtd2lkdGgsdGV4dC11bmRlcmxpbmUtd2lkdGgKK3VuZGVybGluZSx0ZXh0LWRlY29yYXRp
b24KIC13ZWJraXQtbm93cmFwCiAKICMgQ1NTMyBWYWx1ZXMKICMgQ1NTX1BST1BfQk9YX0FMSUdO
Ci1zdHJldGNoCi1zdGFydAotZW5kCi0jY2VudGVyCi0jYmFzZWxpbmUKK3N0cmV0Y2gsYm94LWFs
aWduLGJvcmRlci1pbWFnZQorc3RhcnQsYm94LWFsaWduCitlbmQsYm94LWFsaWduCisjY2VudGVy
LGJveC1hbGlnbgorI2Jhc2VsaW5lLGJveC1hbGlnbgogCiAjIENTU19QUk9QX0JPWF9ESVJFQ1RJ
T04KLSMgbm9ybWFsCi1yZXZlcnNlCisjIG5vcm1hbCxib3gtZGlyZWN0aW9uCityZXZlcnNlLGJv
eC1kaXJlY3Rpb24sbWFycXVlZS1kaXJlY3Rpb24KIAogIyBDU1NfUFJPUF9CT1hfT1JJRU5UCi1o
b3Jpem9udGFsCi12ZXJ0aWNhbAotaW5saW5lLWF4aXMKLWJsb2NrLWF4aXMKK2hvcml6b250YWws
Ym94LW9yaWVudCwtd2Via2l0LXRleHQtY29tYmluZQordmVydGljYWwsYm94LW9yaWVudAoraW5s
aW5lLWF4aXMsYm94LW9yaWVudAorYmxvY2stYXhpcyxib3gtb3JpZW50CiAKICMgQ1NTX1BST1Bf
Qk9YX1BBQ0sKICMgc3RhcnQKQEAgLTQ2MiwzMyArNDYyLDMzIEBAIGJsb2NrLWF4aXMKICMganVz
dGlmeQogCiAjIENTU19QUk9QX0JPWF9MSU5FUwotc2luZ2xlCi1tdWx0aXBsZQorc2luZ2xlLGJv
eC1saW5lcworbXVsdGlwbGUsYm94LWxpbmVzCiAKICMgQ1NTX1BST1BfTUFSUVVFRV9ESVJFQ1RJ
T04KLWZvcndhcmRzCi1iYWNrd2FyZHMKLWFoZWFkCi0jIHJldmVyc2UKLSMgbGVmdAotIyByaWdo
dAotdXAKLWRvd24KLSMgYXV0bworZm9yd2FyZHMsbWFycXVlZS1kaXJlY3Rpb24KK2JhY2t3YXJk
cyxtYXJxdWVlLWRpcmVjdGlvbgorYWhlYWQsbWFycXVlZS1kaXJlY3Rpb24KKyMgcmV2ZXJzZSxt
YXJxdWVlLWRpcmVjdGlvbgorIyBsZWZ0LG1hcnF1ZWUtZGlyZWN0aW9uCisjIHJpZ2h0LG1hcnF1
ZWUtZGlyZWN0aW9uCit1cCxtYXJxdWVlLWRpcmVjdGlvbgorZG93bixtYXJxdWVlLWRpcmVjdGlv
bgorIyBhdXRvLG1hcnF1ZWUtZGlyZWN0aW9uCiAKICMgQ1NTX1BST1BfTUFSUVVFRV9TUEVFRAot
c2xvdwotIyBub3JtYWwKLWZhc3QKK3Nsb3csbWFycXVlZS1zcGVlZAorIyBub3JtYWwsbWFycXVl
ZS1zcGVlZAorZmFzdCxtYXJxdWVlLXNwZWVkCiAKICMgQ1NTX1BST1BfTUFSUVVFRV9SRVBFVElU
SU9OCi1pbmZpbml0ZQoraW5maW5pdGUsbWFycXVlZS1yZXBldGl0aW9uCiAKICMgQ1NTX1BST1Bf
TUFSUVVFRV9TVFlMRQotIyBub25lCi1zbGlkZQotIyBzY3JvbGwKLWFsdGVybmF0ZQorIyBub25l
LG1hcnF1ZWUtc3R5bGUKK3NsaWRlLG1hcnF1ZWUtc3R5bGUKKyMgc2Nyb2xsLG1hcnF1ZWUtc3R5
bGUKK2FsdGVybmF0ZSxtYXJxdWVlLXN0eWxlCiAKICMKICMgQ1NTX1BST1BfX0tIVE1MX1VTRVJf
TU9ESUZZCkBAIC01MTYsMjggKzUxNiwyOCBAQCBtaW4taW50cmluc2ljCiAjCiAjIENTU19QUk9Q
X1RFWFRfT1ZFUkZMT1cKICMKLWNsaXAKLWVsbGlwc2lzCitjbGlwLHRleHQtb3ZlcmZsb3csdGV4
dC1vdmVyZmxvdy1tb2RlCitlbGxpcHNpcyx0ZXh0LW92ZXJmbG93LHRleHQtb3ZlcmZsb3ctbW9k
ZQogCiAjCiAjIENTU19QUk9QX19LSFRNTF9NQVJHSU5fQ09MTEFQU0UKICMKLSMgY29sbGFwc2UK
LSMgc2VwYXJhdGUKLWRpc2NhcmQKKyMgY29sbGFwc2UsbWFyZ2luLWJlZm9yZS1jb2xsYXBzZSxt
YXJnaW4tYWZ0ZXItY29sbGFwc2UsbWFyZ2luLXRvcC1jb2xsYXBzZSxtYXJnaW4tYm90dG9tLWNv
bGxhcHNlCisjIHNlcGFyYXRlLG1hcmdpbi1iZWZvcmUtY29sbGFwc2UsbWFyZ2luLWFmdGVyLWNv
bGxhcHNlLG1hcmdpbi10b3AtY29sbGFwc2UsbWFyZ2luLWJvdHRvbS1jb2xsYXBzZQorZGlzY2Fy
ZCxtYXJnaW4tYmVmb3JlLWNvbGxhcHNlLG1hcmdpbi1hZnRlci1jb2xsYXBzZSxtYXJnaW4tdG9w
LWNvbGxhcHNlLG1hcmdpbi1ib3R0b20tY29sbGFwc2UKIAogIwogIyBDU1NfUFJPUF9URVhUXypf
Q09MT1IKICMKLWRvdC1kYXNoCi1kb3QtZG90LWRhc2gKLXdhdmUKK2RvdC1kYXNoLHRleHQtdW5k
ZXJsaW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10
aHJvdWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUtc3R5bGUKK2RvdC1kb3QtZGFzaCx0ZXh0LXVuZGVy
bGluZSx0ZXh0LXVuZGVybGluZS1zdHlsZSx0ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhy
b3VnaC1zdHlsZSx0ZXh0LW92ZXJsaW5lLXN0eWxlCit3YXZlLHRleHQtdW5kZXJsaW5lLHRleHQt
dW5kZXJsaW5lLXN0eWxlLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLXN0eWxl
LHRleHQtb3ZlcmxpbmUtc3R5bGUKIAogIwogIyBDU1NfUFJPUF9URVhUXypfTU9ERQogIwotY29u
dGludW91cwotc2tpcC13aGl0ZS1zcGFjZQorY29udGludW91cyx0ZXh0LWxpbmUtdGhyb3VnaCx0
ZXh0LWxpbmUtdGhyb3VnaC1tb2RlLHRleHQtb3ZlcmxpbmUtbW9kZSx0ZXh0LXVuZGVybGluZS1t
b2RlCitza2lwLXdoaXRlLXNwYWNlLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdo
LW1vZGUsdGV4dC1vdmVybGluZS1tb2RlLHRleHQtdW5kZXJsaW5lLW1vZGUKIAogIwogIyBDU1Nf
UFJPUF9XT1JEX0JSRUFLCkBAIC01NDcsMTIgKzU0NywxMiBAQCBicmVhay1hbGwKICMKICMgQ1NT
X1BST1BfV09SRF9XUkFQCiAjCi1icmVhay13b3JkCiticmVhay13b3JkLHdvcmQtd3JhcAogCiAj
CiAjIENTU19QUk9QX19LSFRNTF9OQlNQX01PREUKICMKLXNwYWNlCitzcGFjZSxiYWNrZ3JvdW5k
LXJlcGVhdAogCiAjCiAjIENTU19QUk9QX19LSFRNTF9MSU5FX0JSRUFLCkBAIC02MjIsOSArNjIy
LDkgQEAgY2Fwcy1sb2NrLWluZGljYXRvcgogIwogIyBDU1NfUFJPUF9CT1JERVJfSU1BR0UKICMK
LSMgc3RyZXRjaAotIyByZXBlYXQKLXJvdW5kCisjIHN0cmV0Y2gsYm9yZGVyLWltYWdlCisjIHJl
cGVhdCxib3JkZXItaW1hZ2UKK3JvdW5kLGJhY2tncm91bmQtcmVwZWF0LHN0cm9rZS1saW5lam9p
bgogCiAjCiAjIENTU19QUk9QX0JBQ0tHUk9VTkRfQ0xJUC9PUklHSU4KQEAgLTYzMywxNyArNjMz
LDE3IEBAIHJvdW5kCiAjIGJvcmRlci1ib3gvY29udGVudC1ib3gvcGFkZGluZy1ib3ggc2hvdWxk
IGJlIHVzZWQgaW5zdGVhZC4KICMKIGJvcmRlcgotYm9yZGVyLWJveAorYm9yZGVyLWJveCxiYWNr
Z3JvdW5kLW9yaWdpbixiYWNrZ3JvdW5kLWNsaXAKIGNvbnRlbnQKLWNvbnRlbnQtYm94Citjb250
ZW50LWJveCxiYWNrZ3JvdW5kLW9yaWdpbixiYWNrZ3JvdW5kLWNsaXAKIHBhZGRpbmcKLXBhZGRp
bmctYm94CitwYWRkaW5nLWJveCxiYWNrZ3JvdW5kLW9yaWdpbixiYWNrZ3JvdW5kLWNsaXAKIAog
IwogIyBiYWNrZ3JvdW5kLXNpemUKICMKLWNvbnRhaW4KLWNvdmVyCitjb250YWluLGJhY2tncm91
bmQtc2l6ZQorY292ZXIsYmFja2dyb3VuZC1zaXplCiAKICMKICMgQ1NTX1BST1BfX0tIVE1MX1JU
TF9PUkRFUklORwpAQCAtNzAwLDQ3ICs3MDAsNDcgQEAgc3RlcC1lbmQKICMKICMgQ1NTX1BST1Bf
Wk9PTQogIwotZG9jdW1lbnQKLXJlc2V0Citkb2N1bWVudCx6b29tCityZXNldCx6b29tCiAKICMK
ICMgQ1NTX1BST1BfUE9JTlRFUl9FVkVOVFMKICMKLXZpc2libGVQYWludGVkCi12aXNpYmxlRmls
bAotdmlzaWJsZVN0cm9rZQotI3Zpc2libGUKLXBhaW50ZWQKLWZpbGwKLXN0cm9rZQotI2FsbAot
I25vbmUKK3Zpc2libGVQYWludGVkLHBvaW50ZXItZXZlbnRzCit2aXNpYmxlRmlsbCxwb2ludGVy
LWV2ZW50cwordmlzaWJsZVN0cm9rZSxwb2ludGVyLWV2ZW50cworI3Zpc2libGUscG9pbnRlci1l
dmVudHMKK3BhaW50ZWQscG9pbnRlci1ldmVudHMKK2ZpbGwscG9pbnRlci1ldmVudHMKK3N0cm9r
ZSxwb2ludGVyLWV2ZW50cworI2FsbCxwb2ludGVyLWV2ZW50cworI25vbmUscG9pbnRlci1ldmVu
dHMKIAogIwogIyBDU1NfUFJPUF9TUEVFQ0gKICMKLXNwZWxsLW91dAotZGlnaXRzCi1saXRlcmFs
LXB1bmN0dWF0aW9uCi1uby1wdW5jdHVhdGlvbgorc3BlbGwtb3V0LHNwZWFrCitkaWdpdHMsc3Bl
YWsKK2xpdGVyYWwtcHVuY3R1YXRpb24sc3BlYWsKK25vLXB1bmN0dWF0aW9uLHNwZWFrCiAKICMK
ICMgLXdlYmtpdC1mb250LXNtb290aGluZwogIwotIyBhdXRvCi0jIG5vbmUKLWFudGlhbGlhc2Vk
Ci1zdWJwaXhlbC1hbnRpYWxpYXNlZAorIyBhdXRvLC13ZWJraXQtZm9udC1zbW9vdGhpbmcKKyMg
bm9uZSwtd2Via2l0LWZvbnQtc21vb3RoaW5nCithbnRpYWxpYXNlZCwtd2Via2l0LWZvbnQtc21v
b3RoaW5nCitzdWJwaXhlbC1hbnRpYWxpYXNlZCwtd2Via2l0LWZvbnQtc21vb3RoaW5nCiAKICMg
dGV4dC1yZW5kZXJpbmcKLSNhdXRvCi1vcHRpbWl6ZVNwZWVkCi1vcHRpbWl6ZUxlZ2liaWxpdHkK
LWdlb21ldHJpY1ByZWNpc2lvbgorI2F1dG8sdGV4dC1yZW5kZXJpbmcKK29wdGltaXplU3BlZWQs
dGV4dC1yZW5kZXJpbmcsY29sb3ItcmVuZGVyaW5nLGltYWdlLXJlbmRlcmluZworb3B0aW1pemVM
ZWdpYmlsaXR5LHRleHQtcmVuZGVyaW5nCitnZW9tZXRyaWNQcmVjaXNpb24sdGV4dC1yZW5kZXJp
bmcKIAogIyAtd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24KLSNkZWZhdWx0Ci1zUkdCCisjZGVmYXVs
dCwtd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24KK3NSR0IsLXdlYmtpdC1jb2xvci1jb3JyZWN0aW9u
CiAKICMgKC13ZWJraXQtdmlldy1tb2RlOikgbWVkaWEgZmVhdHVyZToKIGZsb2F0aW5nCkBAIC03
NTAsMzMgKzc1MCwzMyBAQCBtaW5pbWl6ZWQKIHdpbmRvd2VkCiAKICMgLXdlYmtpdC1oeXBoZW5z
Ci0jIG5vbmUKLW1hbnVhbAotIyBhdXRvCisjIG5vbmUsLXdlYmtpdC1oeXBoZW5zCittYW51YWws
LXdlYmtpdC1oeXBoZW5zCisjIGF1dG8sLXdlYmtpdC1oeXBoZW5zCiAKICMgLXdlYmtpdC13cml0
aW5nLW1vZGUKICMgU1ZHIGNvbXBhdGliaWxpdHkKLWxyCi1ybAotdGIKLWxyLXRiCi1ybC10Ygot
dGItcmwKK2xyLC13ZWJraXQtd3JpdGluZy1tb2RlCitybCwtd2Via2l0LXdyaXRpbmctbW9kZQor
dGIsLXdlYmtpdC13cml0aW5nLW1vZGUKK2xyLXRiLC13ZWJraXQtd3JpdGluZy1tb2RlCitybC10
Yiwtd2Via2l0LXdyaXRpbmctbW9kZQordGItcmwsLXdlYmtpdC13cml0aW5nLW1vZGUKICMgU3Rh
bmRhcmQgdmFsdWVzIGZyb20gQ1NTMwotaG9yaXpvbnRhbC10YgotdmVydGljYWwtcmwKLXZlcnRp
Y2FsLWxyCi1ob3Jpem9udGFsLWJ0Citob3Jpem9udGFsLXRiLC13ZWJraXQtd3JpdGluZy1tb2Rl
Cit2ZXJ0aWNhbC1ybCwtd2Via2l0LXdyaXRpbmctbW9kZQordmVydGljYWwtbHIsLXdlYmtpdC13
cml0aW5nLW1vZGUKK2hvcml6b250YWwtYnQsLXdlYmtpdC13cml0aW5nLW1vZGUKIAogIyAtd2Vi
a2l0LXRleHQtZW1waGFzaXMtcG9zaXRpb24KLW92ZXIKLXVuZGVyCitvdmVyLC13ZWJraXQtdGV4
dC1lbXBoYXNpcy1wb3NpdGlvbgordW5kZXIsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXBvc2l0aW9u
CiAKICMgLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCi1maWxsZWQKLW9wZW4KLWRvdAotIyBj
aXJjbGUKLWRvdWJsZS1jaXJjbGUKLXRyaWFuZ2xlCi1zZXNhbWUKK2ZpbGxlZCwtd2Via2l0LXRl
eHQtZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCitvcGVuLC13ZWJraXQtdGV4
dC1lbXBoYXNpcywtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKK2RvdCwtd2Via2l0LXRleHQt
ZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCisjIGNpcmNsZSwtd2Via2l0LXRl
eHQtZW1waGFzaXMtc3R5bGUKK2RvdWJsZS1jaXJjbGUsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLC13
ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQordHJpYW5nbGUsLXdlYmtpdC10ZXh0LWVtcGhhc2lz
LC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQorc2VzYW1lLC13ZWJraXQtdGV4dC1lbXBoYXNp
cywtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL1NW
R0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9XZWJDb3JlL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmlu
CmluZGV4IGEyYzlmODMuLmZmYjhhYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL1NWR0NTU1Zh
bHVlS2V5d29yZHMuaW4KKysrIGIvV2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgpA
QCAtMTIsMTY0ICsxMiwxNjQgQEAKICMKICMgQ1NTX1BST1BfKl9DT0xPUgogIwotYWxpY2VibHVl
Ci1hbnRpcXVld2hpdGUKK2FsaWNlYmx1ZSxfY29sb3JfCithbnRpcXVld2hpdGUsX2NvbG9yXwog
IyBhcXVhCi1hcXVhbWFyaW5lCi1henVyZQotYmVpZ2UKLWJpc3F1ZQorYXF1YW1hcmluZSxfY29s
b3JfCithenVyZSxfY29sb3JfCitiZWlnZSxfY29sb3JfCitiaXNxdWUsX2NvbG9yXwogIyBibGFj
awotYmxhbmNoZWRhbG1vbmQKK2JsYW5jaGVkYWxtb25kLF9jb2xvcl8KICMgYmx1ZQotYmx1ZXZp
b2xldAotYnJvd24KLWJ1cmx5d29vZAotY2FkZXRibHVlCi1jaGFydHJldXNlCi1jaG9jb2xhdGUK
LWNvcmFsCi1jb3JuZmxvd2VyYmx1ZQotY29ybnNpbGsKLWNyaW1zb24KLWN5YW4KLWRhcmtibHVl
Ci1kYXJrY3lhbgotZGFya2dvbGRlbnJvZAotZGFya2dyYXkKLWRhcmtncmVlbgotZGFya2dyZXkK
LWRhcmtraGFraQotZGFya21hZ2VudGEKLWRhcmtvbGl2ZWdyZWVuCi1kYXJrb3JhbmdlCi1kYXJr
b3JjaGlkCi1kYXJrcmVkCi1kYXJrc2FsbW9uCi1kYXJrc2VhZ3JlZW4KLWRhcmtzbGF0ZWJsdWUK
LWRhcmtzbGF0ZWdyYXkKLWRhcmtzbGF0ZWdyZXkKLWRhcmt0dXJxdW9pc2UKLWRhcmt2aW9sZXQK
LWRlZXBwaW5rCi1kZWVwc2t5Ymx1ZQotZGltZ3JheQotZGltZ3JleQotZG9kZ2VyYmx1ZQotZmly
ZWJyaWNrCi1mbG9yYWx3aGl0ZQotZm9yZXN0Z3JlZW4KK2JsdWV2aW9sZXQsX2NvbG9yXworYnJv
d24sX2NvbG9yXworYnVybHl3b29kLF9jb2xvcl8KK2NhZGV0Ymx1ZSxfY29sb3JfCitjaGFydHJl
dXNlLF9jb2xvcl8KK2Nob2NvbGF0ZSxfY29sb3JfCitjb3JhbCxfY29sb3JfCitjb3JuZmxvd2Vy
Ymx1ZSxfY29sb3JfCitjb3Juc2lsayxfY29sb3JfCitjcmltc29uLF9jb2xvcl8KK2N5YW4sX2Nv
bG9yXworZGFya2JsdWUsX2NvbG9yXworZGFya2N5YW4sX2NvbG9yXworZGFya2dvbGRlbnJvZCxf
Y29sb3JfCitkYXJrZ3JheSxfY29sb3JfCitkYXJrZ3JlZW4sX2NvbG9yXworZGFya2dyZXksX2Nv
bG9yXworZGFya2toYWtpLF9jb2xvcl8KK2RhcmttYWdlbnRhLF9jb2xvcl8KK2RhcmtvbGl2ZWdy
ZWVuLF9jb2xvcl8KK2RhcmtvcmFuZ2UsX2NvbG9yXworZGFya29yY2hpZCxfY29sb3JfCitkYXJr
cmVkLF9jb2xvcl8KK2RhcmtzYWxtb24sX2NvbG9yXworZGFya3NlYWdyZWVuLF9jb2xvcl8KK2Rh
cmtzbGF0ZWJsdWUsX2NvbG9yXworZGFya3NsYXRlZ3JheSxfY29sb3JfCitkYXJrc2xhdGVncmV5
LF9jb2xvcl8KK2Rhcmt0dXJxdW9pc2UsX2NvbG9yXworZGFya3Zpb2xldCxfY29sb3JfCitkZWVw
cGluayxfY29sb3JfCitkZWVwc2t5Ymx1ZSxfY29sb3JfCitkaW1ncmF5LF9jb2xvcl8KK2RpbWdy
ZXksX2NvbG9yXworZG9kZ2VyYmx1ZSxfY29sb3JfCitmaXJlYnJpY2ssX2NvbG9yXworZmxvcmFs
d2hpdGUsX2NvbG9yXworZm9yZXN0Z3JlZW4sX2NvbG9yXwogIyBmdWNoc2lhCi1nYWluc2Jvcm8K
LWdob3N0d2hpdGUKLWdvbGQKLWdvbGRlbnJvZAorZ2FpbnNib3JvLF9jb2xvcl8KK2dob3N0d2hp
dGUsX2NvbG9yXworZ29sZCxfY29sb3JfCitnb2xkZW5yb2QsX2NvbG9yXwogIyBncmF5CiAjIGdy
ZXkKICMgZ3JlZW4KLWdyZWVueWVsbG93Ci1ob25leWRldwotaG90cGluawotaW5kaWFucmVkCi1p
bmRpZ28KLWl2b3J5Ci1raGFraQotbGF2ZW5kZXIKLWxhdmVuZGVyYmx1c2gKLWxhd25ncmVlbgot
bGVtb25jaGlmZm9uCi1saWdodGJsdWUKLWxpZ2h0Y29yYWwKLWxpZ2h0Y3lhbgotbGlnaHRnb2xk
ZW5yb2R5ZWxsb3cKLWxpZ2h0Z3JheQotbGlnaHRncmVlbgotbGlnaHRncmV5Ci1saWdodHBpbmsK
LWxpZ2h0c2FsbW9uCi1saWdodHNlYWdyZWVuCi1saWdodHNreWJsdWUKLWxpZ2h0c2xhdGVncmF5
Ci1saWdodHNsYXRlZ3JleQotbGlnaHRzdGVlbGJsdWUKLWxpZ2h0eWVsbG93CitncmVlbnllbGxv
dyxfY29sb3JfCitob25leWRldyxfY29sb3JfCitob3RwaW5rLF9jb2xvcl8KK2luZGlhbnJlZCxf
Y29sb3JfCitpbmRpZ28sX2NvbG9yXworaXZvcnksX2NvbG9yXwora2hha2ksX2NvbG9yXworbGF2
ZW5kZXIsX2NvbG9yXworbGF2ZW5kZXJibHVzaCxfY29sb3JfCitsYXduZ3JlZW4sX2NvbG9yXwor
bGVtb25jaGlmZm9uLF9jb2xvcl8KK2xpZ2h0Ymx1ZSxfY29sb3JfCitsaWdodGNvcmFsLF9jb2xv
cl8KK2xpZ2h0Y3lhbixfY29sb3JfCitsaWdodGdvbGRlbnJvZHllbGxvdyxfY29sb3JfCitsaWdo
dGdyYXksX2NvbG9yXworbGlnaHRncmVlbixfY29sb3JfCitsaWdodGdyZXksX2NvbG9yXworbGln
aHRwaW5rLF9jb2xvcl8KK2xpZ2h0c2FsbW9uLF9jb2xvcl8KK2xpZ2h0c2VhZ3JlZW4sX2NvbG9y
XworbGlnaHRza3libHVlLF9jb2xvcl8KK2xpZ2h0c2xhdGVncmF5LF9jb2xvcl8KK2xpZ2h0c2xh
dGVncmV5LF9jb2xvcl8KK2xpZ2h0c3RlZWxibHVlLF9jb2xvcl8KK2xpZ2h0eWVsbG93LF9jb2xv
cl8KICMgbGltZQotbGltZWdyZWVuCi1saW5lbgotbWFnZW50YQorbGltZWdyZWVuLF9jb2xvcl8K
K2xpbmVuLF9jb2xvcl8KK21hZ2VudGEsX2NvbG9yXwogIyBtYXJvb24KLW1lZGl1bWFxdWFtYXJp
bmUKLW1lZGl1bWJsdWUKLW1lZGl1bW9yY2hpZAotbWVkaXVtcHVycGxlCi1tZWRpdW1zZWFncmVl
bgotbWVkaXVtc2xhdGVibHVlCi1tZWRpdW1zcHJpbmdncmVlbgotbWVkaXVtdHVycXVvaXNlCi1t
ZWRpdW12aW9sZXRyZWQKLW1pZG5pZ2h0Ymx1ZQotbWludGNyZWFtCi1taXN0eXJvc2UKLW1vY2Nh
c2luCi1uYXZham93aGl0ZQorbWVkaXVtYXF1YW1hcmluZSxfY29sb3JfCittZWRpdW1ibHVlLF9j
b2xvcl8KK21lZGl1bW9yY2hpZCxfY29sb3JfCittZWRpdW1wdXJwbGUsX2NvbG9yXworbWVkaXVt
c2VhZ3JlZW4sX2NvbG9yXworbWVkaXVtc2xhdGVibHVlLF9jb2xvcl8KK21lZGl1bXNwcmluZ2dy
ZWVuLF9jb2xvcl8KK21lZGl1bXR1cnF1b2lzZSxfY29sb3JfCittZWRpdW12aW9sZXRyZWQsX2Nv
bG9yXworbWlkbmlnaHRibHVlLF9jb2xvcl8KK21pbnRjcmVhbSxfY29sb3JfCittaXN0eXJvc2Us
X2NvbG9yXworbW9jY2FzaW4sX2NvbG9yXworbmF2YWpvd2hpdGUsX2NvbG9yXwogIyBuYXZ5Ci1v
bGRsYWNlCitvbGRsYWNlLF9jb2xvcl8KICMgb2xpdmUKLW9saXZlZHJhYgorb2xpdmVkcmFiLF9j
b2xvcl8KICMgb3JhbmdlCi1vcmFuZ2VyZWQKLW9yY2hpZAotcGFsZWdvbGRlbnJvZAotcGFsZWdy
ZWVuCi1wYWxldHVycXVvaXNlCi1wYWxldmlvbGV0cmVkCi1wYXBheWF3aGlwCi1wZWFjaHB1ZmYK
LXBlcnUKLXBpbmsKLXBsdW0KLXBvd2RlcmJsdWUKK29yYW5nZXJlZCxfY29sb3JfCitvcmNoaWQs
X2NvbG9yXworcGFsZWdvbGRlbnJvZCxfY29sb3JfCitwYWxlZ3JlZW4sX2NvbG9yXworcGFsZXR1
cnF1b2lzZSxfY29sb3JfCitwYWxldmlvbGV0cmVkLF9jb2xvcl8KK3BhcGF5YXdoaXAsX2NvbG9y
XworcGVhY2hwdWZmLF9jb2xvcl8KK3BlcnUsX2NvbG9yXworcGluayxfY29sb3JfCitwbHVtLF9j
b2xvcl8KK3Bvd2RlcmJsdWUsX2NvbG9yXwogIyBwdXJwbGUKICMgcmVkCi1yb3N5YnJvd24KLXJv
eWFsYmx1ZQotc2FkZGxlYnJvd24KLXNhbG1vbgotc2FuZHlicm93bgotc2VhZ3JlZW4KLXNlYXNo
ZWxsCi1zaWVubmEKK3Jvc3licm93bixfY29sb3JfCityb3lhbGJsdWUsX2NvbG9yXworc2FkZGxl
YnJvd24sX2NvbG9yXworc2FsbW9uLF9jb2xvcl8KK3NhbmR5YnJvd24sX2NvbG9yXworc2VhZ3Jl
ZW4sX2NvbG9yXworc2Vhc2hlbGwsX2NvbG9yXworc2llbm5hLF9jb2xvcl8KICMgc2lsdmVyCi1z
a3libHVlCi1zbGF0ZWJsdWUKLXNsYXRlZ3JheQotc2xhdGVncmV5Ci1zbm93Ci1zcHJpbmdncmVl
bgotc3RlZWxibHVlCi10YW4KK3NreWJsdWUsX2NvbG9yXworc2xhdGVibHVlLF9jb2xvcl8KK3Ns
YXRlZ3JheSxfY29sb3JfCitzbGF0ZWdyZXksX2NvbG9yXworc25vdyxfY29sb3JfCitzcHJpbmdn
cmVlbixfY29sb3JfCitzdGVlbGJsdWUsX2NvbG9yXwordGFuLF9jb2xvcl8KICMgdGVhbAotdGhp
c3RsZQotdG9tYXRvCi10dXJxdW9pc2UKLXZpb2xldAotd2hlYXQKK3RoaXN0bGUsX2NvbG9yXwor
dG9tYXRvLF9jb2xvcl8KK3R1cnF1b2lzZSxfY29sb3JfCit2aW9sZXQsX2NvbG9yXword2hlYXQs
X2NvbG9yXwogIyB3aGl0ZQotd2hpdGVzbW9rZQord2hpdGVzbW9rZSxfY29sb3JfCiAjIHllbGxv
dwoteWVsbG93Z3JlZW4KK3llbGxvd2dyZWVuLF9jb2xvcl8KIAogIyBDU1NfUFJPUF9DTElQX1BB
VEgKICMgQ1NTX1BST1BfQ0xJUF9SVUxFCi1ub256ZXJvCi1ldmVub2RkCitub256ZXJvLGNsaXAt
cnVsZQorZXZlbm9kZCxjbGlwLXJ1bGUKIAogIyBDU1NfUFJPUF9NQVNLCiAjIENTU19QUk9QX09Q
QUNJVFkKICMgQ1NTX1BST1BfRU5BQkxFX0JBQ0tHUk9VTkQKLWFjY3VtdWxhdGUKLW5ldworYWNj
dW11bGF0ZSxlbmFibGUtYmFja2dyb3VuZAorbmV3LGVuYWJsZS1iYWNrZ3JvdW5kCiAKICMgQ1NT
X1BST1BfRklMVEVSCiAjIENTU19QUk9QX0ZMT09EX0NPTE9SCkBAIC0xODQsNyArMTg0LDcgQEAg
bmV3CiAjIENTU19QUk9QX0NPTE9SX0lOVEVSUE9MQVRJT04KICNhdXRvCiAjc1JHQgotbGluZWFy
UkdCCitsaW5lYXJSR0IsY29sb3ItaW50ZXJwb2xhdGlvbgogCiAjIENTU19QUk9QX0NPTE9SX0lO
VEVSUE9MQVRJT05fRklMVEVSUwogI2F1dG8KQEAgLTE5NSw5ICsxOTUsOSBAQCBsaW5lYXJSR0IK
ICNzUkdCCiAKICMgQ1NTX1BST1BfQ09MT1JfUkVOREVSSU5HCi0jYXV0bwotI29wdGltaXplU3Bl
ZWQKLW9wdGltaXplUXVhbGl0eQorI2F1dG8sY29sb3ItcmVuZGVyaW5nCisjb3B0aW1pemVTcGVl
ZCxjb2xvci1yZW5kZXJpbmcKK29wdGltaXplUXVhbGl0eSxjb2xvci1yZW5kZXJpbmcsaW1hZ2Ut
cmVuZGVyaW5nCiAKICMjIENTU19QUk9QX0ZJTEwKICNjdXJyZW50Q29sb3IKQEAgLTIwOCw5ICsy
MDgsOSBAQCBvcHRpbWl6ZVF1YWxpdHkKICNldmVub2RkCiAKICMgQ1NTX1BST1BfSU1BR0VfUkVO
REVSSU5HCi0jYXV0bwotI29wdGltaXplU3BlZWQKLSNvcHRpbWl6ZVF1YWxpdHkKKyNhdXRvLGlt
YWdlLXJlbmRlcmluZworI29wdGltaXplU3BlZWQsaW1hZ2UtcmVuZGVyaW5nCisjb3B0aW1pemVR
dWFsaXR5LGltYWdlLXJlbmRlcmluZwogCiAjIENTU19QUk9QX01BUktFUgogIyBDU1NfUFJPUF9N
QVJLRVJfRU5ECkBAIC0yMzEsMzggKzIzMSwzOCBAQCBidXR0CiAjIHNxdWFyZQogCiAjIENTU19Q
Uk9QX1NUUk9LRV9MSU5FSk9JTgotbWl0ZXIKLSMgcm91bmQKLWJldmVsCittaXRlcixzdHJva2Ut
bGluZWpvaW4KKyMgcm91bmQsc3Ryb2tlLWxpbmVqb2luCitiZXZlbCxzdHJva2UtbGluZWpvaW4K
IAogIyBDU1NfUFJPUF9TVFJPS0VfTUlURVJMSU1JVAogIyBDU1NfUFJPUF9TVFJPS0VfT1BBQ0lU
WQogIyBDU1NfUFJPUF9TVFJPS0VfV0lEVEgKIAogIyBDU1NfUFJPUF9BTElHTk1FTlRfQkFTRUxJ
TkUKLSNhdXRvCi0jIGJhc2VsaW5lCi1iZWZvcmUtZWRnZQotYWZ0ZXItZWRnZQotI21pZGRsZQot
Y2VudHJhbAotdGV4dC1iZWZvcmUtZWRnZQotdGV4dC1hZnRlci1lZGdlCi1pZGVvZ3JhcGhpYwot
YWxwaGFiZXRpYwotaGFuZ2luZwotbWF0aGVtYXRpY2FsCisjYXV0byxhbGlnbm1lbnQtYmFzZWxp
bmUsZG9taW5hbnQtYmFzZWxpbmUKKyMgYmFzZWxpbmUsYWxpZ25tZW50LWJhc2VsaW5lCitiZWZv
cmUtZWRnZSxhbGlnbm1lbnQtYmFzZWxpbmUKK2FmdGVyLWVkZ2UsYWxpZ25tZW50LWJhc2VsaW5l
CisjbWlkZGxlLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQorY2VudHJhbCxh
bGlnbm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK3RleHQtYmVmb3JlLWVkZ2UsYWxp
Z25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCit0ZXh0LWFmdGVyLWVkZ2UsYWxpZ25t
ZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCitpZGVvZ3JhcGhpYyxhbGlnbm1lbnQtYmFz
ZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK2FscGhhYmV0aWMsYWxpZ25tZW50LWJhc2VsaW5lLGRv
bWluYW50LWJhc2VsaW5lCitoYW5naW5nLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNl
bGluZQorbWF0aGVtYXRpY2FsLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQog
CiAjIENTU19QUk9QX0JBU0VMSU5FX1NISUZUCi0jYmFzZWxpbmUKLSMgc3ViCi0jIHN1cGVyCisj
YmFzZWxpbmUsYmFzZWxpbmUtc2hpZnQKKyMgc3ViLGJhc2VsaW5lLXNoaWZ0CisjIHN1cGVyLGJh
c2VsaW5lLXNoaWZ0CiAKICMgQ1NTX1BST1BfRE9NSU5BTlRfQkFTRUxJTkUKLSNhdXRvCi11c2Ut
c2NyaXB0Ci1uby1jaGFuZ2UKLXJlc2V0LXNpemUKKyNhdXRvLGRvbWluYW50LWJhc2VsaW5lCit1
c2Utc2NyaXB0LGRvbWluYW50LWJhc2VsaW5lCituby1jaGFuZ2UsZG9taW5hbnQtYmFzZWxpbmUK
K3Jlc2V0LXNpemUsZG9taW5hbnQtYmFzZWxpbmUKIAogIyBDU1NfUFJPUF9HTFlQSF9PUklFTlRB
VElPTl9IT1JJWk9OVEFMCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL21ha2V2YWx1ZXMucGwg
Yi9XZWJDb3JlL2Nzcy9tYWtldmFsdWVzLnBsCmluZGV4IDE4M2NkMzUuLmIyMjM5NWUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL21ha2V2YWx1ZXMucGwKKysrIGIvV2ViQ29yZS9jc3MvbWFrZXZh
bHVlcy5wbApAQCAtNiw2ICs2LDcgQEAKICMgICBDb3B5cmlnaHQgKEMpIDIwMDcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyAgIENvcHlyaWdodCAoQykgMjAwOCBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKICMgICBDb3B5cmlnaHQgKEMpIDIw
MTAgQW5kcmFzIEJlY3NpIChhYmVjc2lAaW5mLnUtc3plZ2VkLmh1KSwgVW5pdmVyc2l0eSBvZiBT
emVnZWQKKyMgICBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICMKICMgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiAjICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI2LDE0ICsyNywxMTkgQEAgdXNlIHdhcm5p
bmdzOwogCiBvcGVuIE5BTUVTLCAiPENTU1ZhbHVlS2V5d29yZHMuaW4iIHx8IGRpZSAiQ291bGQg
bm90IG9wZW4gQ1NTVmFsdWVLZXl3b3Jkcy5pbiI7CiBteSBAbmFtZXMgPSAoKTsKK215ICVjYXRl
Z29yeVRvS2V5d29yZHNNYXAgPSAoKTsKK215IEBwYXJ0czsKK215IEBrZXl3b3JkczsKK215ICRr
ZXl3b3JkOwogd2hpbGUgKDxOQU1FUz4pIHsKICAgbmV4dCBpZiAobS8oXiMpfCheXHMqJCkvKTsK
ICAgIyBJbnB1dCBtYXkgdXNlIGEgZGlmZmVyZW50IEVPTCBzZXF1ZW5jZSB0aGFuICQvLCBzbyBh
dm9pZCBjaG9tcC4KICAgJF8gPX4gcy9bXHJcbl0rJC8vZzsKLSAgcHVzaCBAbmFtZXMsICRfOwor
ICBAcGFydHMgPSBzcGxpdCgvLC8pOworICAka2V5d29yZCA9ICRwYXJ0c1swXTsKKyAgcHVzaCBA
bmFtZXMsICRrZXl3b3JkOworICBzcGxpY2UgQHBhcnRzLCAwLCAxOworCisgIGZvcmVhY2ggbXkg
JGNhdGVnb3J5IChAcGFydHMpIHsKKyAgICBwdXNoIEB7ICRjYXRlZ29yeVRvS2V5d29yZHNNYXB7
JGNhdGVnb3J5fSB9LCAka2V5d29yZDsKKyAgfQogfQogY2xvc2UoTkFNRVMpOwogCitvcGVuIEtF
WVdPUkRNQVAsICI+Q1NTS2V5d29yZENvbXBsZXRpb25zLmpzIiB8fCBkaWUgIkNvdWxkIG5vdCBv
cGVuIENTU0tleXdvcmRDb21wbGV0aW9ucy5qcyBmb3Igd3JpdGluZyI7CitwcmludCBLRVlXT1JE
TUFQIDw8ICJFT0YiOworLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICoKKyAqIFRISVMgRklMRSBJUyBHRU5FUkFURUQgQlkgbWFrZXZhbHVlcy5wbC4gRE8g
Tk9UIE1PRElGWSEKKyAqLworCitXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zID0g
eworICAgIGZvclByb3BlcnR5OiBmdW5jdGlvbihwcm9wZXJ0eU5hbWUpCisgICAgeworICAgICAg
ICB2YXIgYWNjZXB0ZWRLZXl3b3JkcyA9IFsgImluaXRpYWwiIF07CisgICAgICAgIGlmIChwcm9w
ZXJ0eU5hbWUgaW4gdGhpcy5fcHJvcGVydHlLZXl3b3JkTWFwKQorICAgICAgICAgICAgYWNjZXB0
ZWRLZXl3b3JkcyA9IGFjY2VwdGVkS2V5d29yZHMuY29uY2F0KHRoaXMuX3Byb3BlcnR5S2V5d29y
ZE1hcFtwcm9wZXJ0eU5hbWVdKTsKKyAgICAgICAgaWYgKHByb3BlcnR5TmFtZSBpbiB0aGlzLl9j
b2xvckF3YXJlUHJvcGVydGllcykKKyAgICAgICAgICAgIGFjY2VwdGVkS2V5d29yZHMgPSBhY2Nl
cHRlZEtleXdvcmRzLmNvbmNhdCh0aGlzLl9wcm9wZXJ0eUtleXdvcmRNYXBbIl9jb2xvcl8iXSk7
CisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQ
YW5lLkluaGVyaXRlZFByb3BlcnRpZXMpCisgICAgICAgICAgICBhY2NlcHRlZEtleXdvcmRzLnB1
c2goImluaGVyaXQiKTsKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxl
dGlvbnMoYWNjZXB0ZWRLZXl3b3Jkcyk7CisgICAgfQorfTsKKworV2ViSW5zcGVjdG9yLkNTU0tl
eXdvcmRDb21wbGV0aW9ucy5fY29sb3JBd2FyZVByb3BlcnRpZXMgPSBbCisgICAgImJhY2tncm91
bmQiLAorICAgICJiYWNrZ3JvdW5kLWNvbG9yIiwKKyAgICAiYm9yZGVyIiwKKyAgICAiYm9yZGVy
LWNvbG9yIiwKKyAgICAiYm9yZGVyLXRvcCIsCisgICAgImJvcmRlci1yaWdodCIsCisgICAgImJv
cmRlci1ib3R0b20iLAorICAgICJib3JkZXItbGVmdCIsCisgICAgImJvcmRlci10b3AtY29sb3Ii
LAorICAgICJib3JkZXItcmlnaHQtY29sb3IiLAorICAgICJib3JkZXItYm90dG9tLWNvbG9yIiwK
KyAgICAiYm9yZGVyLWxlZnQtY29sb3IiLAorICAgICJjb2xvciIsCisgICAgIm91dGxpbmUiLAor
ICAgICJvdXRsaW5lLWNvbG9yIiwKKyAgICAidGV4dC1saW5lLXRocm91Z2giLAorICAgICJ0ZXh0
LWxpbmUtdGhyb3VnaC1jb2xvciIsCisgICAgInRleHQtb3ZlcmxpbmUiLAorICAgICJ0ZXh0LW92
ZXJsaW5lLWNvbG9yIiwKKyAgICAidGV4dC1zaGFkb3ciLAorICAgICJ0ZXh0LXVuZGVybGluZSIs
CisgICAgInRleHQtdW5kZXJsaW5lLWNvbG9yIiwKKyAgICAiLXdlYmtpdC10ZXh0LWVtcGhhc2lz
IiwKKyAgICAiLXdlYmtpdC10ZXh0LWVtcGhhc2lzLWNvbG9yIgorXS5rZXlTZXQoKTsKKworV2Vi
SW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fcHJvcGVydHlLZXl3b3JkTWFwID0gewor
RU9GCisKK215ICRmaXJzdEtleXdvcmQ7CitteSAkZmlyc3RDYXRlZ29yeSA9IDE7Citmb3JlYWNo
IG15ICRjYXRlZ29yeSAoa2V5cyAlY2F0ZWdvcnlUb0tleXdvcmRzTWFwKSB7CisgIHByaW50IEtF
WVdPUkRNQVAgKCRmaXJzdENhdGVnb3J5ID8gIiIgOiAiLFxuIikgLiAiICAgIFwiJGNhdGVnb3J5
XCI6IFtcbiI7CisgICRmaXJzdENhdGVnb3J5ID0gMDsKKyAgQGtleXdvcmRzID0gQHsgJGNhdGVn
b3J5VG9LZXl3b3Jkc01hcHskY2F0ZWdvcnl9IH07CisgICRmaXJzdEtleXdvcmQgPSAxOworICBm
b3JlYWNoIG15ICRrZXl3b3JkIChAa2V5d29yZHMpIHsKKyAgICBwcmludCBLRVlXT1JETUFQICgk
Zmlyc3RLZXl3b3JkID8gIiIgOiAiLFxuIikgLiAiICAgICAgICBcIiRrZXl3b3JkXCIiOworICAg
ICRmaXJzdEtleXdvcmQgPSAwOworICB9CisgIHByaW50IEtFWVdPUkRNQVAgIlxuICAgIF0iOwor
fQorcHJpbnQgS0VZV09SRE1BUCAiXG59XG4iOworY2xvc2UoS0VZV09SRE1BUCk7CisKIG9wZW4g
R1BFUkYsICI+Q1NTVmFsdWVLZXl3b3Jkcy5ncGVyZiIgfHwgZGllICJDb3VsZCBub3Qgb3BlbiBD
U1NWYWx1ZUtleXdvcmRzLmdwZXJmIGZvciB3cml0aW5nIjsKIHByaW50IEdQRVJGIDw8ICJFT0Yi
OwogJXsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NLZXl3b3Jk
Q29tcGxldGlvbnMucXJjIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRD
b21wbGV0aW9ucy5xcmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBlMzU1
YgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NLZXl3
b3JkQ29tcGxldGlvbnMucXJjCkBAIC0wLDAgKzEsNSBAQAorPCFET0NUWVBFIFJDQz48UkNDIHZl
cnNpb249IjEuMCI+Cis8cXJlc291cmNlIHByZWZpeD0iL3dlYmtpdC9pbnNwZWN0b3IiPgorICAg
IDxmaWxlPkNTU0tleXdvcmRDb21wbGV0aW9ucy5qczwvZmlsZT4KKzwvcXJlc291cmNlPgorPC9S
Q0M+CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJh
clBhbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUu
anMKaW5kZXggYzg5ZTQ1Mi4uODI4MmMzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcwpAQCAtMTM2OSw2ICsxMzY5LDkgQEAgV2ViSW5z
cGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAg
dGhpcy5saXN0SXRlbUVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKIAorICAgICAgICBuYW1lRWxl
bWVudC5ub3JtYWxpemUoKTsKKyAgICAgICAgdmFsdWVFbGVtZW50Lm5vcm1hbGl6ZSgpOworCiAg
ICAgICAgIGlmICghdGhpcy50cmVlT3V0bGluZSkKICAgICAgICAgICAgIHJldHVybjsKIApAQCAt
MTQ3OSwxNiArMTQ4MiwxMSBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50
LnByb3RvdHlwZSA9IHsKICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgfSwK
IAotICAgIHJlc3RvcmVOYW1lRWxlbWVudDogZnVuY3Rpb24oKQorICAgIGdldCBjc3NWYWx1ZUNv
bXBsZXRpb25zKCkKICAgICB7Ci0gICAgICAgIC8vIFJlc3RvcmUgPHNwYW4gY2xhc3M9IndlYmtp
dC1jc3MtcHJvcGVydHkiPiBpZiBpdCBkb2Vzbid0IHlldCBleGlzdCBvciB3YXMgYWNjaWRlbnRh
bGx5IGRlbGV0ZWQuCi0gICAgICAgIGlmICh0aGlzLm5hbWVFbGVtZW50ID09PSB0aGlzLmxpc3RJ
dGVtRWxlbWVudC5xdWVyeVNlbGVjdG9yKCIud2Via2l0LWNzcy1wcm9wZXJ0eSIpKQotICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMubmFtZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzcGFuIik7Ci0gICAgICAgIHRoaXMubmFtZUVsZW1lbnQuY2xhc3NOYW1lID0g
IndlYmtpdC1jc3MtcHJvcGVydHkiOwotICAgICAgICB0aGlzLm5hbWVFbGVtZW50LnRleHRDb250
ZW50ID0gIiI7Ci0gICAgICAgIHRoaXMubGlzdEl0ZW1FbGVtZW50Lmluc2VydEJlZm9yZSh0aGlz
Lm5hbWVFbGVtZW50LCB0aGlzLmxpc3RJdGVtRWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAgICAg
aWYgKCF0aGlzLl9jc3NWYWx1ZUNvbXBsZXRpb25zKQorICAgICAgICAgICAgdGhpcy5fY3NzVmFs
dWVDb21wbGV0aW9ucyA9IFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuZm9yUHJv
cGVydHkodGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVudCk7CisgICAgICAgIHJldHVybiB0aGlz
Ll9jc3NWYWx1ZUNvbXBsZXRpb25zOwogICAgIH0sCiAKICAgICBzdGFydEVkaXRpbmc6IGZ1bmN0
aW9uKHNlbGVjdEVsZW1lbnQpCkBAIC0xNTg0LDggKzE1ODIsNiBAQCBXZWJJbnNwZWN0b3IuU3R5
bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmICghc2Vs
ZWN0aW9uLmlzQ29sbGFwc2VkKQogICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5kZWxldGVGcm9t
RG9jdW1lbnQoKTsKIAotICAgICAgICAgICAgdGhpcy5yZXN0b3JlTmFtZUVsZW1lbnQoKTsKLQog
ICAgICAgICAgICAgaWYgKHByb3BlcnR5KSB7CiAgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5
ICE9PSB0aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50KQogICAgICAgICAgICAgICAgICAgICB0
aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gcHJvcGVydHk7CkBAIC0xNTk1LDkgKzE1OTEs
NjEgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIH0KICAgICB9LAogCisgICAgcmFuZ2VPZldvcmQ6IGZ1bmN0aW9uKHRleHQsIGFu
Y2hvck9mZnNldCkKKyAgICB7CisgICAgICAgIGNvbnN0IHN0eWxlVmFsdWVEZWxpbWl0ZXJzID0g
IiBcdTAwQTBcdFxuXCInOjssLygpIjsKKyAgICAgICAgdmFyIHN0YXJ0T2Zmc2V0ID0gYW5jaG9y
T2Zmc2V0OworICAgICAgICB3aGlsZSAoc3RhcnRPZmZzZXQgPiAwKSB7CisgICAgICAgICAgICBp
ZiAoc3R5bGVWYWx1ZURlbGltaXRlcnMuaW5kZXhPZih0ZXh0W3N0YXJ0T2Zmc2V0IC0gMV0pID09
PSAtMSkKKyAgICAgICAgICAgICAgICAtLXN0YXJ0T2Zmc2V0OworICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgdmFyIGVuZE9mZnNl
dCA9IGFuY2hvck9mZnNldDsKKyAgICAgICAgd2hpbGUgKGVuZE9mZnNldCA8IHRleHQubGVuZ3Ro
ICYmIHN0eWxlVmFsdWVEZWxpbWl0ZXJzLmluZGV4T2YodGV4dFtlbmRPZmZzZXRdKSA9PT0gLTEp
CisgICAgICAgICAgICArK2VuZE9mZnNldDsKKworICAgICAgICAvLyBzdGFydE9mZnNldCBpbmNs
dXNpdmUsIGVuZE9mZnNldCBleGNsdXNpdmUuCisgICAgICAgIHJldHVybiB7IHN0YXJ0T2Zmc2V0
OiBzdGFydE9mZnNldCwgZW5kT2Zmc2V0OiBlbmRPZmZzZXQgfTsKKyAgICB9LAorCiAgICAgZWRp
dGluZ1ZhbHVlS2V5UHJlc3M6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIGNvbXBsZXRlIHByb3BlcnR5IHZhbHVlcy4KKyAgICAgICAgLy8gQ29t
cGxldGUgcHJvcGVydHkgdmFsdWUgcGFydC4KKyAgICAgICAgdmFyIGNoYXJhY3RlciA9IGV2ZW50
LmRhdGEudG9Mb3dlckNhc2UoKTsKKyAgICAgICAgaWYgKGNoYXJhY3RlciAmJiAvW2Etei1dLy50
ZXN0KGNoYXJhY3RlcikpIHsKKyAgICAgICAgICAgIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0
U2VsZWN0aW9uKCk7CisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3VzTm9kZSAhPT0gc2Vs
ZWN0aW9uLmFuY2hvck5vZGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAg
ICB2YXIgY3Vyc29yUG9zaXRpb24gPSBNYXRoLm1pbihzZWxlY3Rpb24uZm9jdXNPZmZzZXQsIHNl
bGVjdGlvbi5hbmNob3JPZmZzZXQpOworICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IHRo
aXMudmFsdWVFbGVtZW50LnRleHRDb250ZW50OworICAgICAgICAgICAgaWYgKHNlbGVjdGlvbi5m
b2N1c09mZnNldCAhPT0gc2VsZWN0aW9uLmFuY2hvck9mZnNldCkgeworICAgICAgICAgICAgICAg
IC8vIFdlYkNvcmUgY3Jhc2ggd29ya2Fyb3VuZDogd2UgY2Fubm90IHJlbW92ZSB0aGUgcmFuZ2Ug
cmlnaHQgYXdheSwgc2luY2UKKyAgICAgICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyBzdWdn
ZXN0LCBXZWJDb3JlL2VkaXRpbmcgd2lsbCB0cnkgdG8gcmVtb3ZlIHRoZSBzYW1lIHJhbmdlCisg
ICAgICAgICAgICAgICAgLy8gb25jZSBhZ2FpbiwgYXMgZXZlbnQucHJldmVudERlZmF1bHQoKSB3
aWxsIG5vdCBoYXZlIGJlZW4gY2FsbGVkLgorICAgICAgICAgICAgICAgIHZhciBzZWxlY3Rpb25M
ZWZ0ID0gTWF0aC5taW4oc2VsZWN0aW9uLmFuY2hvck9mZnNldCwgc2VsZWN0aW9uLmZvY3VzT2Zm
c2V0KTsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0aW9uUmlnaHQgPSBNYXRoLm1heChzZWxl
Y3Rpb24uYW5jaG9yT2Zmc2V0LCBzZWxlY3Rpb24uZm9jdXNPZmZzZXQpOworICAgICAgICAgICAg
ICAgIGN1cnJlbnRWYWx1ZSA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoMCwgc2VsZWN0aW9uTGVm
dCkgKyBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlvblJpZ2h0KTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHZhciB3b3JkUmFuZ2UgPSB0aGlzLnJhbmdlT2ZXb3JkKGN1cnJlbnRW
YWx1ZSwgY3Vyc29yUG9zaXRpb24pOworICAgICAgICAgICAgdmFyIHdvcmQgPSBjdXJyZW50VmFs
dWUuc3Vic3RyaW5nKHdvcmRSYW5nZS5zdGFydE9mZnNldCwgd29yZFJhbmdlLmVuZE9mZnNldCk7
CisgICAgICAgICAgICB2YXIgcHJlZml4ID0gY3VycmVudFZhbHVlLnN1YnN0cmluZyh3b3JkUmFu
Z2Uuc3RhcnRPZmZzZXQsIGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAgICAgIHZhciB2YWx1ZVN1
Z2dlc3QgPSB0aGlzLmNzc1ZhbHVlQ29tcGxldGlvbnMuZmlyc3RTdGFydHNXaXRoKChwcmVmaXgg
KyBjaGFyYWN0ZXIpLnRvTG93ZXJDYXNlKCkpOworCisgICAgICAgICAgICBpZiAodmFsdWVTdWdn
ZXN0KSB7CisgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlvbi5mb2N1c09mZnNldCAhPT0gc2Vs
ZWN0aW9uLmFuY2hvck9mZnNldCAmJiBzZWxlY3Rpb24ucmFuZ2VDb3VudCkKKyAgICAgICAgICAg
ICAgICAgICAgc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkuZGVsZXRlQ29udGVudHMoKTsKKyAgICAg
ICAgICAgICAgICB2YXIgdmFsdWVTdGFydCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoMCwgd29y
ZFJhbmdlLnN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgICAgICB2YXIgdmFsdWVFbmQgPSBjdXJy
ZW50VmFsdWUuc3Vic3RyaW5nKHdvcmQgPT09IHZhbHVlU3VnZ2VzdCA/IHdvcmRSYW5nZS5lbmRP
ZmZzZXQgOiBjdXJzb3JQb3NpdGlvbik7CisgICAgICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0g
dmFsdWVTdGFydCArIHZhbHVlU3VnZ2VzdCArIHZhbHVlRW5kOworICAgICAgICAgICAgICAgIGlm
IChuZXdWYWx1ZSAhPT0gY3VycmVudFZhbHVlKQorICAgICAgICAgICAgICAgICAgICB0aGlzLnZh
bHVlRWxlbWVudC50ZXh0Q29udGVudCA9IG5ld1ZhbHVlOworICAgICAgICAgICAgICAgIHRoaXMu
dmFsdWVFbGVtZW50LmZpcnN0Q2hpbGQuc2VsZWN0KGN1cnNvclBvc2l0aW9uICsgMSwgd29yZFJh
bmdlLnN0YXJ0T2Zmc2V0ICsgdmFsdWVTdWdnZXN0Lmxlbmd0aCk7CisgICAgICAgICAgICAgICAg
ZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0s
CiAKICAgICBlZGl0aW5nTmFtZUtleURvd246IGZ1bmN0aW9uKGV2ZW50KQpAQCAtMTYxOCwxMyAr
MTY2NiwxMyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlw
ZSA9IHsKICAgICAgICAgaWYgKHNlbGVjdGlvblJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVy
ICE9PSB0aGlzLm5hbWVFbGVtZW50ICYmICFzZWxlY3Rpb25SYW5nZS5jb21tb25BbmNlc3RvckNv
bnRhaW5lci5pc0Rlc2NlbmRhbnQodGhpcy5uYW1lRWxlbWVudCkpCiAgICAgICAgICAgICByZXR1
cm47CiAKLSAgICAgICAgY29uc3Qgc3R5bGVWYWx1ZURlbGltZXRlcnMgPSAiIFx0XG5cIic6Oywv
KCkiOwotICAgICAgICB2YXIgd29yZFJhbmdlID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRDb250YWlu
ZXIucmFuZ2VPZldvcmQoc2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQsIHN0eWxlVmFsdWVEZWxp
bWV0ZXJzLCB0aGlzLm5hbWVFbGVtZW50KTsKKyAgICAgICAgY29uc3Qgc3R5bGVWYWx1ZURlbGlt
aXRlcnMgPSAiIFx1MDBBMFx0XG5cIic6OywvKCkiOworICAgICAgICB2YXIgd29yZFJhbmdlID0g
c2VsZWN0aW9uUmFuZ2Uuc3RhcnRDb250YWluZXIucmFuZ2VPZldvcmQoc2VsZWN0aW9uUmFuZ2Uu
c3RhcnRPZmZzZXQsIHN0eWxlVmFsdWVEZWxpbWl0ZXJzLCB0aGlzLm5hbWVFbGVtZW50KTsKICAg
ICAgICAgdmFyIHdvcmRTdHJpbmcgPSB3b3JkUmFuZ2UudG9TdHJpbmcoKTsKICAgICAgICAgdmFy
IGN1cnNvclBvc2l0aW9uID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQgIT0gc2VsZWN0aW9u
UmFuZ2UuZW5kT2Zmc2V0ID8gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQgOiAwOwogICAgICAg
ICB2YXIgcHJlZml4ID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRDb250YWluZXIudGV4dENvbnRlbnQu
c3Vic3RyaW5nKDAsIGN1cnNvclBvc2l0aW9uKTsKLSAgICAgICAgdmFyIHByb3BlcnR5OwogCisg
ICAgICAgIHZhciBwcm9wZXJ0eTsKICAgICAgICAgaWYgKHNob3dOZXh0KQogICAgICAgICAgICAg
cHJvcGVydHkgPSBXZWJJbnNwZWN0b3IuY3NzTmFtZUNvbXBsZXRpb25zLm5leHQod29yZFN0cmlu
ZywgcHJlZml4KTsKICAgICAgICAgZWxzZQpAQCAtMTY0OCw2OCArMTY5Niw4MyBAQCBXZWJJbnNw
ZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYg
KCFzZWxlY3Rpb24ucmFuZ2VDb3VudCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB2
YXIgc2VsZWN0aW9uUmFuZ2UgPSBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKTsKLSAgICAgICAgaWYg
KHNlbGVjdGlvblJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyICE9PSB0aGlzLnZhbHVlRWxl
bWVudCAmJiAhc2VsZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIuaXNEZXNjZW5k
YW50KHRoaXMudmFsdWVFbGVtZW50KSkKKyAgICAgICAgaWYgKHNlbGVjdGlvbi5mb2N1c05vZGUg
IT09IHNlbGVjdGlvbi5hbmNob3JOb2RlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAg
IGNvbnN0IHN0eWxlVmFsdWVEZWxpbWV0ZXJzID0gIiBcdFxuXCInOjssLygpIjsKLSAgICAgICAg
dmFyIHdvcmRSYW5nZSA9IHNlbGVjdGlvblJhbmdlLnN0YXJ0Q29udGFpbmVyLnJhbmdlT2ZXb3Jk
KHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0LCBzdHlsZVZhbHVlRGVsaW1ldGVycywgdGhpcy52
YWx1ZUVsZW1lbnQpOwotICAgICAgICB2YXIgd29yZFN0cmluZyA9IHdvcmRSYW5nZS50b1N0cmlu
ZygpOwotICAgICAgICB2YXIgcmVwbGFjZW1lbnRTdHJpbmcgPSB3b3JkU3RyaW5nOwotCi0gICAg
ICAgIHZhciBtYXRjaGVzID0gLyguKj8pKC0/XGQrKD86XC5cZCspPykoLiopLy5leGVjKHdvcmRT
dHJpbmcpOwotICAgICAgICBpZiAobWF0Y2hlcyAmJiBtYXRjaGVzLmxlbmd0aCkgewotICAgICAg
ICAgICAgdmFyIHByZWZpeCA9IG1hdGNoZXNbMV07Ci0gICAgICAgICAgICB2YXIgbnVtYmVyID0g
cGFyc2VGbG9hdChtYXRjaGVzWzJdKTsKLSAgICAgICAgICAgIHZhciBzdWZmaXggPSBtYXRjaGVz
WzNdOwotCi0gICAgICAgICAgICAvLyBJZiB0aGUgbnVtYmVyIGlzIG5lYXIgemVybyBvciB0aGUg
bnVtYmVyIGlzIG9uZSBhbmQgdGhlIGRpcmVjdGlvbiB3aWxsIHRha2UgaXQgbmVhciB6ZXJvLgot
ICAgICAgICAgICAgdmFyIG51bWJlck5lYXJaZXJvID0gKG51bWJlciA8IDEgJiYgbnVtYmVyID4g
LTEpOwotICAgICAgICAgICAgaWYgKG51bWJlciA9PT0gMSAmJiBldmVudC5rZXlJZGVudGlmaWVy
ID09PSAiRG93biIpCi0gICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOwotICAg
ICAgICAgICAgZWxzZSBpZiAobnVtYmVyID09PSAtMSAmJiBldmVudC5rZXlJZGVudGlmaWVyID09
PSAiVXAiKQotICAgICAgICAgICAgICAgIG51bWJlck5lYXJaZXJvID0gdHJ1ZTsKLQotICAgICAg
ICAgICAgaWYgKG51bWJlck5lYXJaZXJvICYmIGV2ZW50LmFsdEtleSAmJiBhcnJvd0tleVByZXNz
ZWQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24i
KQotICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmNlaWwobnVtYmVyIC0gMSk7Ci0g
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZs
b29yKG51bWJlciArIDEpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAv
LyBKdW1wIGJ5IDEwIHdoZW4gc2hpZnQgaXMgZG93biBvciBqdW1wIGJ5IDAuMSB3aGVuIG5lYXIg
emVybyBvciBBbHQvT3B0aW9uIGlzIGRvd24uCi0gICAgICAgICAgICAgICAgLy8gQWxzbyBqdW1w
IGJ5IDEwIGZvciBwYWdlIHVwIGFuZCBkb3duLCBvciBieSAxMDAgaWYgc2hpZnQgaXMgaGVsZCB3
aXRoIGEgcGFnZSBrZXkuCi0gICAgICAgICAgICAgICAgdmFyIGNoYW5nZUFtb3VudCA9IDE7Ci0g
ICAgICAgICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5ICYmIHBhZ2VLZXlQcmVzc2VkKQotICAg
ICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgPSAxMDA7Ci0gICAgICAgICAgICAgICAgZWxz
ZSBpZiAoZXZlbnQuc2hpZnRLZXkgfHwgcGFnZUtleVByZXNzZWQpCi0gICAgICAgICAgICAgICAg
ICAgIGNoYW5nZUFtb3VudCA9IDEwOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50LmFs
dEtleSB8fCBudW1iZXJOZWFyWmVybykKLSAgICAgICAgICAgICAgICAgICAgY2hhbmdlQW1vdW50
ID0gMC4xOwotCi0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJE
b3duIiB8fCBldmVudC5rZXlJZGVudGlmaWVyID09PSAiUGFnZURvd24iKQotICAgICAgICAgICAg
ICAgICAgICBjaGFuZ2VBbW91bnQgKj0gLTE7Ci0KLSAgICAgICAgICAgICAgICAvLyBNYWtlIHRo
ZSBuZXcgbnVtYmVyIGFuZCBjb25zdHJhaW4gaXQgdG8gYSBwcmVjaXNpb24gb2YgNiwgdGhpcyBt
YXRjaGVzIG51bWJlcnMgdGhlIGVuZ2luZSByZXR1cm5zLgotICAgICAgICAgICAgICAgIC8vIFVz
ZSB0aGUgTnVtYmVyIGNvbnN0cnVjdG9yIHRvIGZvcmdldCB0aGUgZml4ZWQgcHJlY2lzaW9uLCBz
byAxLjEwMDAwMCB3aWxsIHByaW50IGFzIDEuMS4KLSAgICAgICAgICAgICAgICBudW1iZXIgPSBO
dW1iZXIoKG51bWJlciArIGNoYW5nZUFtb3VudCkudG9GaXhlZCg2KSk7Ci0gICAgICAgICAgICB9
CisgICAgICAgIHZhciBjdXJzb3JQb3NpdGlvbiA9IE1hdGgubWluKHNlbGVjdGlvbi5mb2N1c09m
ZnNldCwgc2VsZWN0aW9uLmFuY2hvck9mZnNldCk7CisgICAgICAgIHZhciBjdXJyZW50VmFsdWUg
PSB0aGlzLnZhbHVlRWxlbWVudC50ZXh0Q29udGVudDsKKyAgICAgICAgdmFyIHdvcmRSYW5nZSA9
IHRoaXMucmFuZ2VPZldvcmQoY3VycmVudFZhbHVlLCBjdXJzb3JQb3NpdGlvbik7CisgICAgICAg
IHZhciB3b3JkU3RyaW5nID0gY3VycmVudFZhbHVlLnN1YnN0cmluZyh3b3JkUmFuZ2Uuc3RhcnRP
ZmZzZXQsIHdvcmRSYW5nZS5lbmRPZmZzZXQpOworICAgICAgICB2YXIgd29yZFN0cmluZ0xvd2Vy
ID0gd29yZFN0cmluZy50b0xvd2VyQ2FzZSgpOworICAgICAgICB2YXIgcmVwbGFjZW1lbnRTdHJp
bmcgPSBudWxsOworICAgICAgICB2YXIgc2VsZWN0aW9uU3RhcnQgPSB3b3JkUmFuZ2Uuc3RhcnRP
ZmZzZXQ7CisKKyAgICAgICAgLy8gQXZvaWQgZGV0ZWN0aW5nIG51bWVyaWMgdmFsdWVzIGluIHdv
cmRTdHJpbmdzIGxpa2UgInByZXNlcnZlLTNkIi4KKyAgICAgICAgaWYgKCEhdGhpcy5jc3NWYWx1
ZUNvbXBsZXRpb25zLmZpcnN0U3RhcnRzV2l0aCh3b3JkU3RyaW5nTG93ZXIpKSB7CisgICAgICAg
ICAgICB2YXIgc2hvd05leHQgPSAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24iIHx8IGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93biIpOworICAgICAgICAgICAgdmFyIHdvcmRQ
cmVmaXggPSB3b3JkU3RyaW5nTG93ZXIuc3Vic3RyaW5nKDAsIGN1cnNvclBvc2l0aW9uKTsKKwor
ICAgICAgICAgICAgdmFyIHN1Z2dlc3RlZFdvcmQ7CisgICAgICAgICAgICBpZiAoc2hvd05leHQp
CisgICAgICAgICAgICAgICAgc3VnZ2VzdGVkV29yZCA9IHRoaXMuY3NzVmFsdWVDb21wbGV0aW9u
cy5uZXh0KHdvcmRTdHJpbmdMb3dlciwgd29yZFByZWZpeCk7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgc3VnZ2VzdGVkV29yZCA9IHRoaXMuY3NzVmFsdWVDb21wbGV0aW9ucy5w
cmV2aW91cyh3b3JkU3RyaW5nTG93ZXIsIHdvcmRQcmVmaXgpOwogCi0gICAgICAgICAgICByZXBs
YWNlbWVudFN0cmluZyA9IHByZWZpeCArIG51bWJlciArIHN1ZmZpeDsKKyAgICAgICAgICAgIGlm
IChzdWdnZXN0ZWRXb3JkKSB7CisgICAgICAgICAgICAgICAgLy8gRml4IHNlbGVjdGlvbiB0byBi
ZSBvbmx5IHRoZSB3b3JkIHN1ZmZpeCwgYXMgdGhlIHByZWZpeCByZW1haW5zIGludGFjdCB3aGls
ZSBzY3JvbGxpbmcgdGhyb3VnaCB2YWx1ZXMuCisgICAgICAgICAgICAgICAgc2VsZWN0aW9uU3Rh
cnQgPSBzZWxlY3Rpb25TdGFydCArIHdvcmRQcmVmaXgubGVuZ3RoOworICAgICAgICAgICAgICAg
IHJlcGxhY2VtZW50U3RyaW5nID0gc3VnZ2VzdGVkV29yZC5zdWJzdHJpbmcod29yZFByZWZpeC5s
ZW5ndGgpOworICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8g
RklYTUU6IHRoaXMgc2hvdWxkIGN5Y2xlIHRocm91Z2gga25vd24ga2V5d29yZHMgZm9yIHRoZSBj
dXJyZW50IHByb3BlcnR5IHZhbHVlLgotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIHJlcGxhY2Vt
ZW50VGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyZXBsYWNlbWVudFN0cmluZyk7
CisgICAgICAgICAgICB2YXIgbWF0Y2hlcyA9IC8oLio/KSgtP1xkKyg/OlwuXGQrKT8pKC4qKS8u
ZXhlYyh3b3JkU3RyaW5nKTsKKyAgICAgICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVu
Z3RoKSB7CisgICAgICAgICAgICAgICAgdmFyIHByZWZpeCA9IG1hdGNoZXNbMV07CisgICAgICAg
ICAgICAgICAgdmFyIG51bWJlciA9IHBhcnNlRmxvYXQobWF0Y2hlc1syXSk7CisgICAgICAgICAg
ICAgICAgdmFyIHN1ZmZpeCA9IG1hdGNoZXNbM107CisKKyAgICAgICAgICAgICAgICAvLyBJZiB0
aGUgbnVtYmVyIGlzIG5lYXIgemVybyBvciB0aGUgbnVtYmVyIGlzIG9uZSBhbmQgdGhlIGRpcmVj
dGlvbiB3aWxsIHRha2UgaXQgbmVhciB6ZXJvLgorICAgICAgICAgICAgICAgIHZhciBudW1iZXJO
ZWFyWmVybyA9IChudW1iZXIgPCAxICYmIG51bWJlciA+IC0xKTsKKyAgICAgICAgICAgICAgICBp
ZiAobnVtYmVyID09PSAxICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3duIikKKyAgICAg
ICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOworICAgICAgICAgICAgICAgIGVs
c2UgaWYgKG51bWJlciA9PT0gLTEgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlVwIikKKyAg
ICAgICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOworCisgICAgICAgICAgICAg
ICAgaWYgKG51bWJlck5lYXJaZXJvICYmIGV2ZW50LmFsdEtleSAmJiBhcnJvd0tleVByZXNzZWQp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3du
IikKKyAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguY2VpbChudW1iZXIgLSAx
KTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbnVt
YmVyID0gTWF0aC5mbG9vcihudW1iZXIgKyAxKTsKKyAgICAgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgICAgICAvLyBKdW1wIGJ5IDEwIHdoZW4gc2hpZnQgaXMgZG93biBvciBq
dW1wIGJ5IDAuMSB3aGVuIG5lYXIgemVybyBvciBBbHQvT3B0aW9uIGlzIGRvd24uCisgICAgICAg
ICAgICAgICAgICAgIC8vIEFsc28ganVtcCBieSAxMCBmb3IgcGFnZSB1cCBhbmQgZG93biwgb3Ig
YnkgMTAwIGlmIHNoaWZ0IGlzIGhlbGQgd2l0aCBhIHBhZ2Uga2V5LgorICAgICAgICAgICAgICAg
ICAgICB2YXIgY2hhbmdlQW1vdW50ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50
LnNoaWZ0S2V5ICYmIHBhZ2VLZXlQcmVzc2VkKQorICAgICAgICAgICAgICAgICAgICAgICAgY2hh
bmdlQW1vdW50ID0gMTAwOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5zaGlm
dEtleSB8fCBwYWdlS2V5UHJlc3NlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUFt
b3VudCA9IDEwOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5hbHRLZXkgfHwg
bnVtYmVyTmVhclplcm8pCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgPSAw
LjE7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJE
b3duIiB8fCBldmVudC5rZXlJZGVudGlmaWVyID09PSAiUGFnZURvd24iKQorICAgICAgICAgICAg
ICAgICAgICAgICAgY2hhbmdlQW1vdW50ICo9IC0xOworCisgICAgICAgICAgICAgICAgICAgIC8v
IE1ha2UgdGhlIG5ldyBudW1iZXIgYW5kIGNvbnN0cmFpbiBpdCB0byBhIHByZWNpc2lvbiBvZiA2
LCB0aGlzIG1hdGNoZXMgbnVtYmVycyB0aGUgZW5naW5lIHJldHVybnMuCisgICAgICAgICAgICAg
ICAgICAgIC8vIFVzZSB0aGUgTnVtYmVyIGNvbnN0cnVjdG9yIHRvIGZvcmdldCB0aGUgZml4ZWQg
cHJlY2lzaW9uLCBzbyAxLjEwMDAwMCB3aWxsIHByaW50IGFzIDEuMS4KKyAgICAgICAgICAgICAg
ICAgICAgbnVtYmVyID0gTnVtYmVyKChudW1iZXIgKyBjaGFuZ2VBbW91bnQpLnRvRml4ZWQoNikp
OworICAgICAgICAgICAgICAgIH0KIAotICAgICAgICB3b3JkUmFuZ2UuZGVsZXRlQ29udGVudHMo
KTsKLSAgICAgICAgd29yZFJhbmdlLmluc2VydE5vZGUocmVwbGFjZW1lbnRUZXh0Tm9kZSk7Cisg
ICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRTdHJpbmcgPSBwcmVmaXggKyBudW1iZXIgKyBzdWZm
aXg7CisgICAgICAgICAgICB9CisgICAgICAgIH0KIAotICAgICAgICB2YXIgZmluYWxTZWxlY3Rp
b25SYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Ci0gICAgICAgIGZpbmFsU2VsZWN0aW9u
UmFuZ2Uuc2V0U3RhcnQocmVwbGFjZW1lbnRUZXh0Tm9kZSwgMCk7Ci0gICAgICAgIGZpbmFsU2Vs
ZWN0aW9uUmFuZ2Uuc2V0RW5kKHJlcGxhY2VtZW50VGV4dE5vZGUsIHJlcGxhY2VtZW50U3RyaW5n
Lmxlbmd0aCk7CisgICAgICAgIGlmICghcmVwbGFjZW1lbnRTdHJpbmcpCisgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOwotICAgICAgICBz
ZWxlY3Rpb24uYWRkUmFuZ2UoZmluYWxTZWxlY3Rpb25SYW5nZSk7CisgICAgICAgIHZhciB2YWx1
ZVN0YXJ0ID0gY3VycmVudFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCk7CisgICAg
ICAgIHZhciB2YWx1ZUVuZCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcod29yZFJhbmdlLmVuZE9m
ZnNldCk7CisgICAgICAgIHZhciBuZXdWYWx1ZSA9IHZhbHVlU3RhcnQgKyByZXBsYWNlbWVudFN0
cmluZyArIHZhbHVlRW5kOworICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9
IG5ld1ZhbHVlOworICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC5maXJzdENoaWxkLnNlbGVjdChz
ZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uU3RhcnQgKyByZXBsYWNlbWVudFN0cmluZy5sZW5ndGgp
CiAKICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKIApAQCAtMTczNSw2ICsxNzk4LDcg
QEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICBlZGl0ZWRFbGVtZW50LnBhcmVudEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygi
Y2hpbGQtZWRpdGluZyIpOwogCiAgICAgICAgIGRlbGV0ZSB0aGlzLm9yaWdpbmFsUHJvcGVydHlU
ZXh0OworICAgICAgICBkZWxldGUgdGhpcy5fY3NzVmFsdWVDb21wbGV0aW9uczsKICAgICB9LAog
CiAgICAgZWRpdGluZ0NhbmNlbGxlZDogZnVuY3Rpb24oZWxlbWVudCwgY29udGV4dCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCA5ZWQ1MDE5Li5hYmMy
ODVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0
bWwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC05
MSw2ICs5MSw3IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29sb3IuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNTU0NvbXBsZXRpb25zLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDU1NLZXl3b3Jk
Q29tcGxldGlvbnMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9IlN0eWxlc1NpZGViYXJQYW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQYW5lbEVuYWJsZXJWaWV3LmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJXZWxjb21lVmlldy5qcyI+
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBlYzk3Y2JmLi5iZTFhMDI4IDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxMC0xMi0yMSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IGF1dG9jb21wbGV0aW9uIGZvciBDU1MgcHJvcGVydHkgdmFs
dWVzIGluIFN0eWxlcyBwYW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MTQxNAorCisgICAgICAgICogV2ViS2l0Lmd5cDoKKwogMjAxMC0xMi0yMCAg
QW5kcmVpIFBvcGVzY3UgIDxhbmRyZWlwQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgSmVyZW15IE9ybG93LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAg
Yi9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCAzNjEyYTA4Li45ZTYyNmQ2IDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cApAQCAtNjk4LDYgKzY5OCw3IEBACiAgICAgICAgICAgICAnZGVwZW5kZW5jaWVz
JzogWwogICAgICAgICAgICAgICAgICdkZXZ0b29sc19odG1sJywKICAgICAgICAgICAgICAgICAn
Li4vLi4vV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDppbnNwZWN0b3JfcHJvdG9jb2xf
c291cmNlcycsCisgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXA6d2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgICAgIF0sCiAgICAg
ICAgICAgICAnY29uZGl0aW9ucyc6IFsKICAgICAgICAgICAgICAgICBbJ2RlYnVnX2RldnRvb2xz
PT0wJywgewpAQCAtNzEyLDYgKzcxMyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAnPEAo
ZGV2dG9vbHNfZmlsZXMpJywKICAgICAgICAgICAgICAgICAgICAgICAgICc8QCh3ZWJpbnNwZWN0
b3JfZmlsZXMpJywKICAgICAgICAgICAgICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElB
VEVfRElSKS93ZWJjb3JlL0luc3BlY3RvckJhY2tlbmRTdHViLmpzJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQvQ1NTS2V5d29yZENv
bXBsZXRpb25zLmpzJywKICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAg
ICAgJ2NvbmRpdGlvbnMnOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICBbJ2RlYnVnX2RldnRv
b2xzPT0wJywgewpAQCAtNzQ5LDcgKzc1MSw4IEBACiAgICAgICAgICAgICAndHlwZSc6ICdub25l
JywKICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAgICAgICAgICAgJ2RldnRv
b2xzX2h0bWwnLAotICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwOmluc3BlY3Rvcl9wcm90b2NvbF9zb3VyY2VzJworICAgICAgICAgICAgICAgICcu
Li8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOmluc3BlY3Rvcl9wcm90b2NvbF9z
b3VyY2VzJywKKyAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cDp3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnCiAgICAgICAgICAgICBdLAogICAgICAg
ICAgICAgJ3NvdXJjZXMnOiBbJzwoUFJPRFVDVF9ESVIpL3Jlc291cmNlcy9pbnNwZWN0b3IvRGV2
VG9vbHMuanMnXSwKICAgICAgICAgICAgICdhY3Rpb25zJzogW3sKQEAgLTc2MSwxMiArNzY0LDE0
IEBACiAgICAgICAgICAgICAgICAgICAgICc8QChfaW5wdXRfcGFnZSknLAogICAgICAgICAgICAg
ICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2ZpbGVzKScsCiAgICAgICAgICAgICAgICAgICAgICc8
QChkZXZ0b29sc19maWxlcyknLAotICAgICAgICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2ViY29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcycKKyAgICAgICAgICAg
ICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmNvcmUvSW5zcGVjdG9yQmFj
a2VuZFN0dWIuanMnLAorICAgICAgICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRF
X0RJUikvd2Via2l0L0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcycKICAgICAgICAgICAgICAgICBd
LAogICAgICAgICAgICAgICAgICdzZWFyY2hfcGF0aCc6IFsKICAgICAgICAgICAgICAgICAgICAg
Jy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZCcsCiAgICAgICAgICAgICAgICAgICAg
ICdzcmMvanMnLAogICAgICAgICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJ
Uikvd2ViY29yZScsCisgICAgICAgICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVf
RElSKS93ZWJraXQnCiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAnb3V0cHV0
cyc6IFsnPChQUk9EVUNUX0RJUikvcmVzb3VyY2VzL2luc3BlY3Rvci9EZXZUb29scy5qcyddLAog
ICAgICAgICAgICAgICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsICc8QChfc2NyaXB0X25hbWUpJywg
JzxAKF9pbnB1dF9wYWdlKScsICc8QChfc2VhcmNoX3BhdGgpJywgJzxAKF9vdXRwdXRzKSddLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>77120</attachid>
            <date>2010-12-21 08:41:34 -0800</date>
            <delta_ts>2010-12-22 05:15:17 -0800</delta_ts>
            <desc>[FILE] Generated CSSKeywordCompletions.js</desc>
            <filename>CSSKeywordCompletions.js</filename>
            <type>application/x-javascript</type>
            <size>22855</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">LyoKICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAqIG1ldDoKICoKICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgogKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCiAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogKiBkaXN0cmlidXRp
b24uCiAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICoKICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAog
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCiAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQogKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogKgogKiBUSElTIEZJTEUgSVMgR0VORVJBVEVEIEJZIG1ha2V2
YWx1ZXMucGwuIERPIE5PVCBNT0RJRlkhCiAqLwoKV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21w
bGV0aW9ucyA9IHsKICAgIGZvclByb3BlcnR5OiBmdW5jdGlvbihwcm9wZXJ0eU5hbWUpCiAgICB7
CiAgICAgICAgdmFyIGFjY2VwdGVkS2V5d29yZHMgPSBbICJpbml0aWFsIiBdOwogICAgICAgIGlm
IChwcm9wZXJ0eU5hbWUgaW4gdGhpcy5fcHJvcGVydHlLZXl3b3JkTWFwKQogICAgICAgICAgICBh
Y2NlcHRlZEtleXdvcmRzID0gYWNjZXB0ZWRLZXl3b3Jkcy5jb25jYXQodGhpcy5fcHJvcGVydHlL
ZXl3b3JkTWFwW3Byb3BlcnR5TmFtZV0pOwogICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gdGhp
cy5fY29sb3JBd2FyZVByb3BlcnRpZXMpCiAgICAgICAgICAgIGFjY2VwdGVkS2V5d29yZHMgPSBh
Y2NlcHRlZEtleXdvcmRzLmNvbmNhdCh0aGlzLl9wcm9wZXJ0eUtleXdvcmRNYXBbIl9jb2xvcl8i
XSk7CiAgICAgICAgaWYgKHByb3BlcnR5TmFtZSBpbiBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJh
clBhbmUuSW5oZXJpdGVkUHJvcGVydGllcykKICAgICAgICAgICAgYWNjZXB0ZWRLZXl3b3Jkcy5w
dXNoKCJpbmhlcml0Iik7CiAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxl
dGlvbnMoYWNjZXB0ZWRLZXl3b3Jkcyk7CiAgICB9Cn07CgpXZWJJbnNwZWN0b3IuQ1NTS2V5d29y
ZENvbXBsZXRpb25zLl9jb2xvckF3YXJlUHJvcGVydGllcyA9IFsKICAgICJiYWNrZ3JvdW5kIiwK
ICAgICJiYWNrZ3JvdW5kLWNvbG9yIiwKICAgICJib3JkZXIiLAogICAgImJvcmRlci1jb2xvciIs
CiAgICAiYm9yZGVyLXRvcCIsCiAgICAiYm9yZGVyLXJpZ2h0IiwKICAgICJib3JkZXItYm90dG9t
IiwKICAgICJib3JkZXItbGVmdCIsCiAgICAiYm9yZGVyLXRvcC1jb2xvciIsCiAgICAiYm9yZGVy
LXJpZ2h0LWNvbG9yIiwKICAgICJib3JkZXItYm90dG9tLWNvbG9yIiwKICAgICJib3JkZXItbGVm
dC1jb2xvciIsCiAgICAiY29sb3IiLAogICAgIm91dGxpbmUiLAogICAgIm91dGxpbmUtY29sb3Ii
LAogICAgInRleHQtbGluZS10aHJvdWdoIiwKICAgICJ0ZXh0LWxpbmUtdGhyb3VnaC1jb2xvciIs
CiAgICAidGV4dC1vdmVybGluZSIsCiAgICAidGV4dC1vdmVybGluZS1jb2xvciIsCiAgICAidGV4
dC1zaGFkb3ciLAogICAgInRleHQtdW5kZXJsaW5lIiwKICAgICJ0ZXh0LXVuZGVybGluZS1jb2xv
ciIsCiAgICAiLXdlYmtpdC10ZXh0LWVtcGhhc2lzIiwKICAgICItd2Via2l0LXRleHQtZW1waGFz
aXMtY29sb3IiCl0ua2V5U2V0KCk7CgpXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25z
Ll9wcm9wZXJ0eUtleXdvcmRNYXAgPSB7CiAgICAidGFibGUtbGF5b3V0IjogWwogICAgICAgICJh
dXRvIiwKICAgICAgICAiZml4ZWQiCiAgICBdLAogICAgInZpc2liaWxpdHkiOiBbCiAgICAgICAg
ImhpZGRlbiIsCiAgICAgICAgInZpc2libGUiLAogICAgICAgICJjb2xsYXBzZSIKICAgIF0sCiAg
ICAiYmFja2dyb3VuZC1yZXBlYXQiOiBbCiAgICAgICAgInJlcGVhdCIsCiAgICAgICAgInJlcGVh
dC14IiwKICAgICAgICAicmVwZWF0LXkiLAogICAgICAgICJuby1yZXBlYXQiLAogICAgICAgICJz
cGFjZSIsCiAgICAgICAgInJvdW5kIgogICAgXSwKICAgICJ0ZXh0LXVuZGVybGluZSI6IFsKICAg
ICAgICAibm9uZSIsCiAgICAgICAgImRvdHRlZCIsCiAgICAgICAgImRhc2hlZCIsCiAgICAgICAg
InNvbGlkIiwKICAgICAgICAiZG91YmxlIiwKICAgICAgICAiZG90LWRhc2giLAogICAgICAgICJk
b3QtZG90LWRhc2giLAogICAgICAgICJ3YXZlIgogICAgXSwKICAgICJjb250ZW50IjogWwogICAg
ICAgICJsaXN0LWl0ZW0iLAogICAgICAgICJjbG9zZS1xdW90ZSIsCiAgICAgICAgIm5vLWNsb3Nl
LXF1b3RlIiwKICAgICAgICAibm8tb3Blbi1xdW90ZSIsCiAgICAgICAgIm9wZW4tcXVvdGUiCiAg
ICBdLAogICAgImxpc3Qtc3R5bGUtaW1hZ2UiOiBbCiAgICAgICAgIm5vbmUiCiAgICBdLAogICAg
ImNsZWFyIjogWwogICAgICAgICJub25lIiwKICAgICAgICAibGVmdCIsCiAgICAgICAgInJpZ2h0
IiwKICAgICAgICAiYm90aCIKICAgIF0sCiAgICAidGV4dC11bmRlcmxpbmUtbW9kZSI6IFsKICAg
ICAgICAiY29udGludW91cyIsCiAgICAgICAgInNraXAtd2hpdGUtc3BhY2UiCiAgICBdLAogICAg
Im92ZXJmbG93LXgiOiBbCiAgICAgICAgImhpZGRlbiIsCiAgICAgICAgImF1dG8iLAogICAgICAg
ICJ2aXNpYmxlIiwKICAgICAgICAib3ZlcmxheSIsCiAgICAgICAgInNjcm9sbCIKICAgIF0sCiAg
ICAic3Ryb2tlLWxpbmVqb2luIjogWwogICAgICAgICJyb3VuZCIsCiAgICAgICAgIm1pdGVyIiwK
ICAgICAgICAiYmV2ZWwiCiAgICBdLAogICAgImJhc2VsaW5lLXNoaWZ0IjogWwogICAgICAgICJi
YXNlbGluZSIsCiAgICAgICAgInN1YiIsCiAgICAgICAgInN1cGVyIgogICAgXSwKICAgICJib3Jk
ZXItYm90dG9tLXdpZHRoIjogWwogICAgICAgICJtZWRpdW0iLAogICAgICAgICJ0aGljayIsCiAg
ICAgICAgInRoaW4iCiAgICBdLAogICAgIm1hcnF1ZWUtc3BlZWQiOiBbCiAgICAgICAgIm5vcm1h
bCIsCiAgICAgICAgInNsb3ciLAogICAgICAgICJmYXN0IgogICAgXSwKICAgICJtYXJnaW4tdG9w
LWNvbGxhcHNlIjogWwogICAgICAgICJjb2xsYXBzZSIsCiAgICAgICAgInNlcGFyYXRlIiwKICAg
ICAgICAiZGlzY2FyZCIKICAgIF0sCiAgICAibWF4LWhlaWdodCI6IFsKICAgICAgICAibm9uZSIK
ICAgIF0sCiAgICAiYm94LW9yaWVudCI6IFsKICAgICAgICAiaG9yaXpvbnRhbCIsCiAgICAgICAg
InZlcnRpY2FsIiwKICAgICAgICAiaW5saW5lLWF4aXMiLAogICAgICAgICJibG9jay1heGlzIgog
ICAgXSwKICAgICJmb250LXN0cmV0Y2giOiBbCiAgICAgICAgIm5vcm1hbCIsCiAgICAgICAgIndp
ZGVyIiwKICAgICAgICAibmFycm93ZXIiLAogICAgICAgICJ1bHRyYS1jb25kZW5zZWQiLAogICAg
ICAgICJleHRyYS1jb25kZW5zZWQiLAogICAgICAgICJjb25kZW5zZWQiLAogICAgICAgICJzZW1p
LWNvbmRlbnNlZCIsCiAgICAgICAgInNlbWktZXhwYW5kZWQiLAogICAgICAgICJleHBhbmRlZCIs
CiAgICAgICAgImV4dHJhLWV4cGFuZGVkIiwKICAgICAgICAidWx0cmEtZXhwYW5kZWQiCiAgICBd
LAogICAgIi13ZWJraXQtY29sb3ItY29ycmVjdGlvbiI6IFsKICAgICAgICAiZGVmYXVsdCIsCiAg
ICAgICAgInNyZ2IiCiAgICBdLAogICAgInRleHQtdW5kZXJsaW5lLXN0eWxlIjogWwogICAgICAg
ICJub25lIiwKICAgICAgICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVkIiwKICAgICAgICAic29s
aWQiLAogICAgICAgICJkb3VibGUiLAogICAgICAgICJkb3QtZGFzaCIsCiAgICAgICAgImRvdC1k
b3QtZGFzaCIsCiAgICAgICAgIndhdmUiCiAgICBdLAogICAgInRleHQtb3ZlcmxpbmUtbW9kZSI6
IFsKICAgICAgICAiY29udGludW91cyIsCiAgICAgICAgInNraXAtd2hpdGUtc3BhY2UiCiAgICBd
LAogICAgIi13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUiOiBbCiAgICAgICAgImhpZ2hsaWdo
dCIsCiAgICAgICAgImNsZWFyIiwKICAgICAgICAiY29weSIsCiAgICAgICAgInNvdXJjZS1vdmVy
IiwKICAgICAgICAic291cmNlLWluIiwKICAgICAgICAic291cmNlLW91dCIsCiAgICAgICAgInNv
dXJjZS1hdG9wIiwKICAgICAgICAiZGVzdGluYXRpb24tb3ZlciIsCiAgICAgICAgImRlc3RpbmF0
aW9uLWluIiwKICAgICAgICAiZGVzdGluYXRpb24tb3V0IiwKICAgICAgICAiZGVzdGluYXRpb24t
YXRvcCIsCiAgICAgICAgInhvciIsCiAgICAgICAgInBsdXMtZGFya2VyIiwKICAgICAgICAicGx1
cy1saWdodGVyIgogICAgXSwKICAgICJib3JkZXItbGVmdC13aWR0aCI6IFsKICAgICAgICAibWVk
aXVtIiwKICAgICAgICAidGhpY2siLAogICAgICAgICJ0aGluIgogICAgXSwKICAgICItd2Via2l0
LXdyaXRpbmctbW9kZSI6IFsKICAgICAgICAibHIiLAogICAgICAgICJybCIsCiAgICAgICAgInRi
IiwKICAgICAgICAibHItdGIiLAogICAgICAgICJybC10YiIsCiAgICAgICAgInRiLXJsIiwKICAg
ICAgICAiaG9yaXpvbnRhbC10YiIsCiAgICAgICAgInZlcnRpY2FsLXJsIiwKICAgICAgICAidmVy
dGljYWwtbHIiLAogICAgICAgICJob3Jpem9udGFsLWJ0IgogICAgXSwKICAgICJ0ZXh0LWxpbmUt
dGhyb3VnaC1tb2RlIjogWwogICAgICAgICJjb250aW51b3VzIiwKICAgICAgICAic2tpcC13aGl0
ZS1zcGFjZSIKICAgIF0sCiAgICAiYm9yZGVyLWNvbGxhcHNlIjogWwogICAgICAgICJjb2xsYXBz
ZSIsCiAgICAgICAgInNlcGFyYXRlIgogICAgXSwKICAgICJwYWdlLWJyZWFrLWluc2lkZSI6IFsK
ICAgICAgICAiYXV0byIsCiAgICAgICAgImF2b2lkIgogICAgXSwKICAgICJib3JkZXItdG9wLXdp
ZHRoIjogWwogICAgICAgICJtZWRpdW0iLAogICAgICAgICJ0aGljayIsCiAgICAgICAgInRoaW4i
CiAgICBdLAogICAgIm91dGxpbmUtY29sb3IiOiBbCiAgICAgICAgImludmVydCIKICAgIF0sCiAg
ICAidGV4dC1saW5lLXRocm91Z2gtc3R5bGUiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJk
b3R0ZWQiLAogICAgICAgICJkYXNoZWQiLAogICAgICAgICJzb2xpZCIsCiAgICAgICAgImRvdWJs
ZSIsCiAgICAgICAgImRvdC1kYXNoIiwKICAgICAgICAiZG90LWRvdC1kYXNoIiwKICAgICAgICAi
d2F2ZSIKICAgIF0sCiAgICAib3V0bGluZS1zdHlsZSI6IFsKICAgICAgICAibm9uZSIsCiAgICAg
ICAgImhpZGRlbiIsCiAgICAgICAgImluc2V0IiwKICAgICAgICAiZ3Jvb3ZlIiwKICAgICAgICAi
cmlkZ2UiLAogICAgICAgICJvdXRzZXQiLAogICAgICAgICJkb3R0ZWQiLAogICAgICAgICJkYXNo
ZWQiLAogICAgICAgICJzb2xpZCIsCiAgICAgICAgImRvdWJsZSIKICAgIF0sCiAgICAiY3Vyc29y
IjogWwogICAgICAgICJub25lIiwKICAgICAgICAiY29weSIsCiAgICAgICAgImF1dG8iLAogICAg
ICAgICJjcm9zc2hhaXIiLAogICAgICAgICJkZWZhdWx0IiwKICAgICAgICAicG9pbnRlciIsCiAg
ICAgICAgIm1vdmUiLAogICAgICAgICJ2ZXJ0aWNhbC10ZXh0IiwKICAgICAgICAiY2VsbCIsCiAg
ICAgICAgImNvbnRleHQtbWVudSIsCiAgICAgICAgImFsaWFzIiwKICAgICAgICAicHJvZ3Jlc3Mi
LAogICAgICAgICJuby1kcm9wIiwKICAgICAgICAibm90LWFsbG93ZWQiLAogICAgICAgICItd2Vi
a2l0LXpvb20taW4iLAogICAgICAgICItd2Via2l0LXpvb20tb3V0IiwKICAgICAgICAiZS1yZXNp
emUiLAogICAgICAgICJuZS1yZXNpemUiLAogICAgICAgICJudy1yZXNpemUiLAogICAgICAgICJu
LXJlc2l6ZSIsCiAgICAgICAgInNlLXJlc2l6ZSIsCiAgICAgICAgInN3LXJlc2l6ZSIsCiAgICAg
ICAgInMtcmVzaXplIiwKICAgICAgICAidy1yZXNpemUiLAogICAgICAgICJldy1yZXNpemUiLAog
ICAgICAgICJucy1yZXNpemUiLAogICAgICAgICJuZXN3LXJlc2l6ZSIsCiAgICAgICAgIm53c2Ut
cmVzaXplIiwKICAgICAgICAiY29sLXJlc2l6ZSIsCiAgICAgICAgInJvdy1yZXNpemUiLAogICAg
ICAgICJ0ZXh0IiwKICAgICAgICAid2FpdCIsCiAgICAgICAgImhlbHAiLAogICAgICAgICJhbGwt
c2Nyb2xsIiwKICAgICAgICAiLXdlYmtpdC1ncmFiIiwKICAgICAgICAiLXdlYmtpdC1ncmFiYmlu
ZyIKICAgIF0sCiAgICAiYm9yZGVyLXdpZHRoIjogWwogICAgICAgICJtZWRpdW0iLAogICAgICAg
ICJ0aGljayIsCiAgICAgICAgInRoaW4iCiAgICBdLAogICAgInNpemUiOiBbCiAgICAgICAgImEz
IiwKICAgICAgICAiYTQiLAogICAgICAgICJhNSIsCiAgICAgICAgImI0IiwKICAgICAgICAiYjUi
LAogICAgICAgICJsYW5kc2NhcGUiLAogICAgICAgICJsZWRnZXIiLAogICAgICAgICJsZWdhbCIs
CiAgICAgICAgImxldHRlciIsCiAgICAgICAgInBvcnRyYWl0IgogICAgXSwKICAgICJiYWNrZ3Jv
dW5kLXNpemUiOiBbCiAgICAgICAgImNvbnRhaW4iLAogICAgICAgICJjb3ZlciIKICAgIF0sCiAg
ICAiZGlyZWN0aW9uIjogWwogICAgICAgICJsdHIiLAogICAgICAgICJydGwiCiAgICBdLAogICAg
Im1hcnF1ZWUtZGlyZWN0aW9uIjogWwogICAgICAgICJsZWZ0IiwKICAgICAgICAicmlnaHQiLAog
ICAgICAgICJhdXRvIiwKICAgICAgICAicmV2ZXJzZSIsCiAgICAgICAgImZvcndhcmRzIiwKICAg
ICAgICAiYmFja3dhcmRzIiwKICAgICAgICAiYWhlYWQiLAogICAgICAgICJ1cCIsCiAgICAgICAg
ImRvd24iCiAgICBdLAogICAgImVuYWJsZS1iYWNrZ3JvdW5kIjogWwogICAgICAgICJhY2N1bXVs
YXRlIiwKICAgICAgICAibmV3IgogICAgXSwKICAgICJmbG9hdCI6IFsKICAgICAgICAibm9uZSIs
CiAgICAgICAgImxlZnQiLAogICAgICAgICJyaWdodCIKICAgIF0sCiAgICAib3ZlcmZsb3cteSI6
IFsKICAgICAgICAiaGlkZGVuIiwKICAgICAgICAiYXV0byIsCiAgICAgICAgInZpc2libGUiLAog
ICAgICAgICJvdmVybGF5IiwKICAgICAgICAic2Nyb2xsIgogICAgXSwKICAgICJtYXJnaW4tYm90
dG9tLWNvbGxhcHNlIjogWwogICAgICAgICJjb2xsYXBzZSIsCiAgICAgICAgInNlcGFyYXRlIiwK
ICAgICAgICAiZGlzY2FyZCIKICAgIF0sCiAgICAiYm94LXJlZmxlY3QiOiBbCiAgICAgICAgImxl
ZnQiLAogICAgICAgICJyaWdodCIsCiAgICAgICAgImFib3ZlIiwKICAgICAgICAiYmVsb3ciCiAg
ICBdLAogICAgIm92ZXJmbG93IjogWwogICAgICAgICJoaWRkZW4iLAogICAgICAgICJhdXRvIiwK
ICAgICAgICAidmlzaWJsZSIsCiAgICAgICAgIm92ZXJsYXkiLAogICAgICAgICJzY3JvbGwiCiAg
ICBdLAogICAgInRleHQtcmVuZGVyaW5nIjogWwogICAgICAgICJhdXRvIiwKICAgICAgICAib3B0
aW1pemVzcGVlZCIsCiAgICAgICAgIm9wdGltaXplbGVnaWJpbGl0eSIsCiAgICAgICAgImdlb21l
dHJpY3ByZWNpc2lvbiIKICAgIF0sCiAgICAidGV4dC1hbGlnbiI6IFsKICAgICAgICAiLXdlYmtp
dC1hdXRvIiwKICAgICAgICAibGVmdCIsCiAgICAgICAgInJpZ2h0IiwKICAgICAgICAiY2VudGVy
IiwKICAgICAgICAianVzdGlmeSIsCiAgICAgICAgIi13ZWJraXQtbGVmdCIsCiAgICAgICAgIi13
ZWJraXQtcmlnaHQiLAogICAgICAgICItd2Via2l0LWNlbnRlciIKICAgIF0sCiAgICAibGlzdC1z
dHlsZS1wb3NpdGlvbiI6IFsKICAgICAgICAib3V0c2lkZSIsCiAgICAgICAgImluc2lkZSIKICAg
IF0sCiAgICAibWFyZ2luLWJvdHRvbSI6IFsKICAgICAgICAiYXV0byIKICAgIF0sCiAgICAiY29s
b3ItaW50ZXJwb2xhdGlvbiI6IFsKICAgICAgICAibGluZWFycmdiIgogICAgXSwKICAgICJiYWNr
Z3JvdW5kLW9yaWdpbiI6IFsKICAgICAgICAiYm9yZGVyLWJveCIsCiAgICAgICAgImNvbnRlbnQt
Ym94IiwKICAgICAgICAicGFkZGluZy1ib3giCiAgICBdLAogICAgIndvcmQtd3JhcCI6IFsKICAg
ICAgICAibm9ybWFsIiwKICAgICAgICAiYnJlYWstd29yZCIKICAgIF0sCiAgICAiZm9udC13ZWln
aHQiOiBbCiAgICAgICAgIm5vcm1hbCIsCiAgICAgICAgImJvbGQiLAogICAgICAgICJib2xkZXIi
LAogICAgICAgICJsaWdodGVyIiwKICAgICAgICAiMTAwIiwKICAgICAgICAiMjAwIiwKICAgICAg
ICAiMzAwIiwKICAgICAgICAiNDAwIiwKICAgICAgICAiNTAwIiwKICAgICAgICAiNjAwIiwKICAg
ICAgICAiNzAwIiwKICAgICAgICAiODAwIiwKICAgICAgICAiOTAwIgogICAgXSwKICAgICJtYXJn
aW4tYmVmb3JlLWNvbGxhcHNlIjogWwogICAgICAgICJjb2xsYXBzZSIsCiAgICAgICAgInNlcGFy
YXRlIiwKICAgICAgICAiZGlzY2FyZCIKICAgIF0sCiAgICAiX2NvbG9yXyI6IFsKICAgICAgICAi
YXF1YSIsCiAgICAgICAgImJsYWNrIiwKICAgICAgICAiYmx1ZSIsCiAgICAgICAgImZ1Y2hzaWEi
LAogICAgICAgICJncmF5IiwKICAgICAgICAiZ3JlZW4iLAogICAgICAgICJsaW1lIiwKICAgICAg
ICAibWFyb29uIiwKICAgICAgICAibmF2eSIsCiAgICAgICAgIm9saXZlIiwKICAgICAgICAib3Jh
bmdlIiwKICAgICAgICAicHVycGxlIiwKICAgICAgICAicmVkIiwKICAgICAgICAic2lsdmVyIiwK
ICAgICAgICAidGVhbCIsCiAgICAgICAgIndoaXRlIiwKICAgICAgICAieWVsbG93IiwKICAgICAg
ICAidHJhbnNwYXJlbnQiLAogICAgICAgICItd2Via2l0LWxpbmsiLAogICAgICAgICItd2Via2l0
LWFjdGl2ZWxpbmsiLAogICAgICAgICJhY3RpdmVib3JkZXIiLAogICAgICAgICJhY3RpdmVjYXB0
aW9uIiwKICAgICAgICAiYXBwd29ya3NwYWNlIiwKICAgICAgICAiYmFja2dyb3VuZCIsCiAgICAg
ICAgImJ1dHRvbmZhY2UiLAogICAgICAgICJidXR0b25oaWdobGlnaHQiLAogICAgICAgICJidXR0
b25zaGFkb3ciLAogICAgICAgICJidXR0b250ZXh0IiwKICAgICAgICAiY2FwdGlvbnRleHQiLAog
ICAgICAgICJncmF5dGV4dCIsCiAgICAgICAgImhpZ2hsaWdodCIsCiAgICAgICAgImhpZ2hsaWdo
dHRleHQiLAogICAgICAgICJpbmFjdGl2ZWJvcmRlciIsCiAgICAgICAgImluYWN0aXZlY2FwdGlv
biIsCiAgICAgICAgImluYWN0aXZlY2FwdGlvbnRleHQiLAogICAgICAgICJpbmZvYmFja2dyb3Vu
ZCIsCiAgICAgICAgImluZm90ZXh0IiwKICAgICAgICAibWF0Y2giLAogICAgICAgICJtZW51dGV4
dCIsCiAgICAgICAgInNjcm9sbGJhciIsCiAgICAgICAgInRocmVlZGRhcmtzaGFkb3ciLAogICAg
ICAgICJ0aHJlZWRmYWNlIiwKICAgICAgICAidGhyZWVkaGlnaGxpZ2h0IiwKICAgICAgICAidGhy
ZWVkbGlnaHRzaGFkb3ciLAogICAgICAgICJ0aHJlZWRzaGFkb3ciLAogICAgICAgICJ3aW5kb3ci
LAogICAgICAgICJ3aW5kb3dmcmFtZSIsCiAgICAgICAgIndpbmRvd3RleHQiLAogICAgICAgICIt
d2Via2l0LWZvY3VzLXJpbmctY29sb3IiLAogICAgICAgICJjdXJyZW50Y29sb3IiLAogICAgICAg
ICJncmV5IiwKICAgICAgICAiLXdlYmtpdC10ZXh0IiwKICAgICAgICAiYWxpY2VibHVlIiwKICAg
ICAgICAiYW50aXF1ZXdoaXRlIiwKICAgICAgICAiYXF1YW1hcmluZSIsCiAgICAgICAgImF6dXJl
IiwKICAgICAgICAiYmVpZ2UiLAogICAgICAgICJiaXNxdWUiLAogICAgICAgICJibGFuY2hlZGFs
bW9uZCIsCiAgICAgICAgImJsdWV2aW9sZXQiLAogICAgICAgICJicm93biIsCiAgICAgICAgImJ1
cmx5d29vZCIsCiAgICAgICAgImNhZGV0Ymx1ZSIsCiAgICAgICAgImNoYXJ0cmV1c2UiLAogICAg
ICAgICJjaG9jb2xhdGUiLAogICAgICAgICJjb3JhbCIsCiAgICAgICAgImNvcm5mbG93ZXJibHVl
IiwKICAgICAgICAiY29ybnNpbGsiLAogICAgICAgICJjcmltc29uIiwKICAgICAgICAiY3lhbiIs
CiAgICAgICAgImRhcmtibHVlIiwKICAgICAgICAiZGFya2N5YW4iLAogICAgICAgICJkYXJrZ29s
ZGVucm9kIiwKICAgICAgICAiZGFya2dyYXkiLAogICAgICAgICJkYXJrZ3JlZW4iLAogICAgICAg
ICJkYXJrZ3JleSIsCiAgICAgICAgImRhcmtraGFraSIsCiAgICAgICAgImRhcmttYWdlbnRhIiwK
ICAgICAgICAiZGFya29saXZlZ3JlZW4iLAogICAgICAgICJkYXJrb3JhbmdlIiwKICAgICAgICAi
ZGFya29yY2hpZCIsCiAgICAgICAgImRhcmtyZWQiLAogICAgICAgICJkYXJrc2FsbW9uIiwKICAg
ICAgICAiZGFya3NlYWdyZWVuIiwKICAgICAgICAiZGFya3NsYXRlYmx1ZSIsCiAgICAgICAgImRh
cmtzbGF0ZWdyYXkiLAogICAgICAgICJkYXJrc2xhdGVncmV5IiwKICAgICAgICAiZGFya3R1cnF1
b2lzZSIsCiAgICAgICAgImRhcmt2aW9sZXQiLAogICAgICAgICJkZWVwcGluayIsCiAgICAgICAg
ImRlZXBza3libHVlIiwKICAgICAgICAiZGltZ3JheSIsCiAgICAgICAgImRpbWdyZXkiLAogICAg
ICAgICJkb2RnZXJibHVlIiwKICAgICAgICAiZmlyZWJyaWNrIiwKICAgICAgICAiZmxvcmFsd2hp
dGUiLAogICAgICAgICJmb3Jlc3RncmVlbiIsCiAgICAgICAgImdhaW5zYm9ybyIsCiAgICAgICAg
Imdob3N0d2hpdGUiLAogICAgICAgICJnb2xkIiwKICAgICAgICAiZ29sZGVucm9kIiwKICAgICAg
ICAiZ3JlZW55ZWxsb3ciLAogICAgICAgICJob25leWRldyIsCiAgICAgICAgImhvdHBpbmsiLAog
ICAgICAgICJpbmRpYW5yZWQiLAogICAgICAgICJpbmRpZ28iLAogICAgICAgICJpdm9yeSIsCiAg
ICAgICAgImtoYWtpIiwKICAgICAgICAibGF2ZW5kZXIiLAogICAgICAgICJsYXZlbmRlcmJsdXNo
IiwKICAgICAgICAibGF3bmdyZWVuIiwKICAgICAgICAibGVtb25jaGlmZm9uIiwKICAgICAgICAi
bGlnaHRibHVlIiwKICAgICAgICAibGlnaHRjb3JhbCIsCiAgICAgICAgImxpZ2h0Y3lhbiIsCiAg
ICAgICAgImxpZ2h0Z29sZGVucm9keWVsbG93IiwKICAgICAgICAibGlnaHRncmF5IiwKICAgICAg
ICAibGlnaHRncmVlbiIsCiAgICAgICAgImxpZ2h0Z3JleSIsCiAgICAgICAgImxpZ2h0cGluayIs
CiAgICAgICAgImxpZ2h0c2FsbW9uIiwKICAgICAgICAibGlnaHRzZWFncmVlbiIsCiAgICAgICAg
ImxpZ2h0c2t5Ymx1ZSIsCiAgICAgICAgImxpZ2h0c2xhdGVncmF5IiwKICAgICAgICAibGlnaHRz
bGF0ZWdyZXkiLAogICAgICAgICJsaWdodHN0ZWVsYmx1ZSIsCiAgICAgICAgImxpZ2h0eWVsbG93
IiwKICAgICAgICAibGltZWdyZWVuIiwKICAgICAgICAibGluZW4iLAogICAgICAgICJtYWdlbnRh
IiwKICAgICAgICAibWVkaXVtYXF1YW1hcmluZSIsCiAgICAgICAgIm1lZGl1bWJsdWUiLAogICAg
ICAgICJtZWRpdW1vcmNoaWQiLAogICAgICAgICJtZWRpdW1wdXJwbGUiLAogICAgICAgICJtZWRp
dW1zZWFncmVlbiIsCiAgICAgICAgIm1lZGl1bXNsYXRlYmx1ZSIsCiAgICAgICAgIm1lZGl1bXNw
cmluZ2dyZWVuIiwKICAgICAgICAibWVkaXVtdHVycXVvaXNlIiwKICAgICAgICAibWVkaXVtdmlv
bGV0cmVkIiwKICAgICAgICAibWlkbmlnaHRibHVlIiwKICAgICAgICAibWludGNyZWFtIiwKICAg
ICAgICAibWlzdHlyb3NlIiwKICAgICAgICAibW9jY2FzaW4iLAogICAgICAgICJuYXZham93aGl0
ZSIsCiAgICAgICAgIm9sZGxhY2UiLAogICAgICAgICJvbGl2ZWRyYWIiLAogICAgICAgICJvcmFu
Z2VyZWQiLAogICAgICAgICJvcmNoaWQiLAogICAgICAgICJwYWxlZ29sZGVucm9kIiwKICAgICAg
ICAicGFsZWdyZWVuIiwKICAgICAgICAicGFsZXR1cnF1b2lzZSIsCiAgICAgICAgInBhbGV2aW9s
ZXRyZWQiLAogICAgICAgICJwYXBheWF3aGlwIiwKICAgICAgICAicGVhY2hwdWZmIiwKICAgICAg
ICAicGVydSIsCiAgICAgICAgInBpbmsiLAogICAgICAgICJwbHVtIiwKICAgICAgICAicG93ZGVy
Ymx1ZSIsCiAgICAgICAgInJvc3licm93biIsCiAgICAgICAgInJveWFsYmx1ZSIsCiAgICAgICAg
InNhZGRsZWJyb3duIiwKICAgICAgICAic2FsbW9uIiwKICAgICAgICAic2FuZHlicm93biIsCiAg
ICAgICAgInNlYWdyZWVuIiwKICAgICAgICAic2Vhc2hlbGwiLAogICAgICAgICJzaWVubmEiLAog
ICAgICAgICJza3libHVlIiwKICAgICAgICAic2xhdGVibHVlIiwKICAgICAgICAic2xhdGVncmF5
IiwKICAgICAgICAic2xhdGVncmV5IiwKICAgICAgICAic25vdyIsCiAgICAgICAgInNwcmluZ2dy
ZWVuIiwKICAgICAgICAic3RlZWxibHVlIiwKICAgICAgICAidGFuIiwKICAgICAgICAidGhpc3Rs
ZSIsCiAgICAgICAgInRvbWF0byIsCiAgICAgICAgInR1cnF1b2lzZSIsCiAgICAgICAgInZpb2xl
dCIsCiAgICAgICAgIndoZWF0IiwKICAgICAgICAid2hpdGVzbW9rZSIsCiAgICAgICAgInllbGxv
d2dyZWVuIgogICAgXSwKICAgICJ0ZXh0LW92ZXJsaW5lLXdpZHRoIjogWwogICAgICAgICJub3Jt
YWwiLAogICAgICAgICJtZWRpdW0iLAogICAgICAgICJhdXRvIiwKICAgICAgICAidGhpY2siLAog
ICAgICAgICJ0aGluIgogICAgXSwKICAgICJ0ZXh0LXRyYW5zZm9ybSI6IFsKICAgICAgICAibm9u
ZSIsCiAgICAgICAgImNhcGl0YWxpemUiLAogICAgICAgICJ1cHBlcmNhc2UiLAogICAgICAgICJs
b3dlcmNhc2UiCiAgICBdLAogICAgImJvcmRlci1yaWdodC1zdHlsZSI6IFsKICAgICAgICAibm9u
ZSIsCiAgICAgICAgImhpZGRlbiIsCiAgICAgICAgImluc2V0IiwKICAgICAgICAiZ3Jvb3ZlIiwK
ICAgICAgICAicmlkZ2UiLAogICAgICAgICJvdXRzZXQiLAogICAgICAgICJkb3R0ZWQiLAogICAg
ICAgICJkYXNoZWQiLAogICAgICAgICJzb2xpZCIsCiAgICAgICAgImRvdWJsZSIKICAgIF0sCiAg
ICAiYm9yZGVyLWxlZnQtc3R5bGUiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJoaWRkZW4i
LAogICAgICAgICJpbnNldCIsCiAgICAgICAgImdyb292ZSIsCiAgICAgICAgInJpZGdlIiwKICAg
ICAgICAib3V0c2V0IiwKICAgICAgICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVkIiwKICAgICAg
ICAic29saWQiLAogICAgICAgICJkb3VibGUiCiAgICBdLAogICAgIi13ZWJraXQtdGV4dC1lbXBo
YXNpcyI6IFsKICAgICAgICAiY2lyY2xlIiwKICAgICAgICAiZmlsbGVkIiwKICAgICAgICAib3Bl
biIsCiAgICAgICAgImRvdCIsCiAgICAgICAgImRvdWJsZS1jaXJjbGUiLAogICAgICAgICJ0cmlh
bmdsZSIsCiAgICAgICAgInNlc2FtZSIKICAgIF0sCiAgICAiZm9udC1zdHlsZSI6IFsKICAgICAg
ICAiaXRhbGljIiwKICAgICAgICAib2JsaXF1ZSIsCiAgICAgICAgIm5vcm1hbCIKICAgIF0sCiAg
ICAic3BlYWsiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJub3JtYWwiLAogICAgICAgICJz
cGVsbC1vdXQiLAogICAgICAgICJkaWdpdHMiLAogICAgICAgICJsaXRlcmFsLXB1bmN0dWF0aW9u
IiwKICAgICAgICAibm8tcHVuY3R1YXRpb24iCiAgICBdLAogICAgInRleHQtbGluZS10aHJvdWdo
IjogWwogICAgICAgICJub25lIiwKICAgICAgICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVkIiwK
ICAgICAgICAic29saWQiLAogICAgICAgICJkb3VibGUiLAogICAgICAgICJkb3QtZGFzaCIsCiAg
ICAgICAgImRvdC1kb3QtZGFzaCIsCiAgICAgICAgIndhdmUiLAogICAgICAgICJjb250aW51b3Vz
IiwKICAgICAgICAic2tpcC13aGl0ZS1zcGFjZSIKICAgIF0sCiAgICAiY29sb3ItcmVuZGVyaW5n
IjogWwogICAgICAgICJhdXRvIiwKICAgICAgICAib3B0aW1pemVzcGVlZCIsCiAgICAgICAgIm9w
dGltaXplcXVhbGl0eSIKICAgIF0sCiAgICAibGlzdC1zdHlsZS10eXBlIjogWwogICAgICAgICJu
b25lIiwKICAgICAgICAiZGlzYyIsCiAgICAgICAgImNpcmNsZSIsCiAgICAgICAgInNxdWFyZSIs
CiAgICAgICAgImRlY2ltYWwiLAogICAgICAgICJkZWNpbWFsLWxlYWRpbmctemVybyIsCiAgICAg
ICAgImFyYWJpYy1pbmRpYyIsCiAgICAgICAgImJpbmFyeSIsCiAgICAgICAgImJlbmdhbGkiLAog
ICAgICAgICJjYW1ib2RpYW4iLAogICAgICAgICJraG1lciIsCiAgICAgICAgImRldmFuYWdhcmki
LAogICAgICAgICJndWphcmF0aSIsCiAgICAgICAgImd1cm11a2hpIiwKICAgICAgICAia2FubmFk
YSIsCiAgICAgICAgImxvd2VyLWhleGFkZWNpbWFsIiwKICAgICAgICAibGFvIiwKICAgICAgICAi
bWFsYXlhbGFtIiwKICAgICAgICAibW9uZ29saWFuIiwKICAgICAgICAibXlhbm1hciIsCiAgICAg
ICAgIm9jdGFsIiwKICAgICAgICAib3JpeWEiLAogICAgICAgICJwZXJzaWFuIiwKICAgICAgICAi
dXJkdSIsCiAgICAgICAgInRlbHVndSIsCiAgICAgICAgInRpYmV0YW4iLAogICAgICAgICJ0aGFp
IiwKICAgICAgICAidXBwZXItaGV4YWRlY2ltYWwiLAogICAgICAgICJsb3dlci1yb21hbiIsCiAg
ICAgICAgInVwcGVyLXJvbWFuIiwKICAgICAgICAibG93ZXItZ3JlZWsiLAogICAgICAgICJsb3dl
ci1hbHBoYSIsCiAgICAgICAgImxvd2VyLWxhdGluIiwKICAgICAgICAidXBwZXItYWxwaGEiLAog
ICAgICAgICJ1cHBlci1sYXRpbiIsCiAgICAgICAgImFmYXIiLAogICAgICAgICJldGhpb3BpYy1o
YWxlaGFtZS1hYS1ldCIsCiAgICAgICAgImV0aGlvcGljLWhhbGVoYW1lLWFhLWVyIiwKICAgICAg
ICAiYW1oYXJpYyIsCiAgICAgICAgImV0aGlvcGljLWhhbGVoYW1lLWFtLWV0IiwKICAgICAgICAi
YW1oYXJpYy1hYmVnZWRlIiwKICAgICAgICAiZXRoaW9waWMtYWJlZ2VkZS1hbS1ldCIsCiAgICAg
ICAgImNqay1lYXJ0aGx5LWJyYW5jaCIsCiAgICAgICAgImNqay1oZWF2ZW5seS1zdGVtIiwKICAg
ICAgICAiZXRoaW9waWMiLAogICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS1nZXoiLAogICAgICAg
ICJldGhpb3BpYy1hYmVnZWRlIiwKICAgICAgICAiZXRoaW9waWMtYWJlZ2VkZS1nZXoiLAogICAg
ICAgICJoYW5ndWwtY29uc29uYW50IiwKICAgICAgICAiaGFuZ3VsIiwKICAgICAgICAibG93ZXIt
bm9yd2VnaWFuIiwKICAgICAgICAib3JvbW8iLAogICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS1v
bS1ldCIsCiAgICAgICAgInNpZGFtYSIsCiAgICAgICAgImV0aGlvcGljLWhhbGVoYW1lLXNpZC1l
dCIsCiAgICAgICAgInNvbWFsaSIsCiAgICAgICAgImV0aGlvcGljLWhhbGVoYW1lLXNvLWV0IiwK
ICAgICAgICAidGlncmUiLAogICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS10aWciLAogICAgICAg
ICJ0aWdyaW55YS1lciIsCiAgICAgICAgImV0aGlvcGljLWhhbGVoYW1lLXRpLWVyIiwKICAgICAg
ICAidGlncmlueWEtZXItYWJlZ2VkZSIsCiAgICAgICAgImV0aGlvcGljLWFiZWdlZGUtdGktZXIi
LAogICAgICAgICJ0aWdyaW55YS1ldCIsCiAgICAgICAgImV0aGlvcGljLWhhbGVoYW1lLXRpLWV0
IiwKICAgICAgICAidGlncmlueWEtZXQtYWJlZ2VkZSIsCiAgICAgICAgImV0aGlvcGljLWFiZWdl
ZGUtdGktZXQiLAogICAgICAgICJ1cHBlci1ncmVlayIsCiAgICAgICAgInVwcGVyLW5vcndlZ2lh
biIsCiAgICAgICAgImFzdGVyaXNrcyIsCiAgICAgICAgImZvb3Rub3RlcyIsCiAgICAgICAgImhl
YnJldyIsCiAgICAgICAgImFybWVuaWFuIiwKICAgICAgICAibG93ZXItYXJtZW5pYW4iLAogICAg
ICAgICJ1cHBlci1hcm1lbmlhbiIsCiAgICAgICAgImdlb3JnaWFuIiwKICAgICAgICAiY2prLWlk
ZW9ncmFwaGljIiwKICAgICAgICAiaGlyYWdhbmEiLAogICAgICAgICJrYXRha2FuYSIsCiAgICAg
ICAgImhpcmFnYW5hLWlyb2hhIiwKICAgICAgICAia2F0YWthbmEtaXJvaGEiCiAgICBdLAogICAg
Ii13ZWJraXQtdGV4dC1jb21iaW5lIjogWwogICAgICAgICJub25lIiwKICAgICAgICAiaG9yaXpv
bnRhbCIKICAgIF0sCiAgICAib3V0bGluZSI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImhp
ZGRlbiIsCiAgICAgICAgImluc2V0IiwKICAgICAgICAiZ3Jvb3ZlIiwKICAgICAgICAicmlkZ2Ui
LAogICAgICAgICJvdXRzZXQiLAogICAgICAgICJkb3R0ZWQiLAogICAgICAgICJkYXNoZWQiLAog
ICAgICAgICJzb2xpZCIsCiAgICAgICAgImRvdWJsZSIKICAgIF0sCiAgICAiZm9udCI6IFsKICAg
ICAgICAiY2FwdGlvbiIsCiAgICAgICAgImljb24iLAogICAgICAgICJtZW51IiwKICAgICAgICAi
bWVzc2FnZS1ib3giLAogICAgICAgICJzbWFsbC1jYXB0aW9uIiwKICAgICAgICAiLXdlYmtpdC1t
aW5pLWNvbnRyb2wiLAogICAgICAgICItd2Via2l0LXNtYWxsLWNvbnRyb2wiLAogICAgICAgICIt
d2Via2l0LWNvbnRyb2wiLAogICAgICAgICJzdGF0dXMtYmFyIiwKICAgICAgICAiaXRhbGljIiwK
ICAgICAgICAib2JsaXF1ZSIKICAgIF0sCiAgICAiZG9taW5hbnQtYmFzZWxpbmUiOiBbCiAgICAg
ICAgIm1pZGRsZSIsCiAgICAgICAgImF1dG8iLAogICAgICAgICJjZW50cmFsIiwKICAgICAgICAi
dGV4dC1iZWZvcmUtZWRnZSIsCiAgICAgICAgInRleHQtYWZ0ZXItZWRnZSIsCiAgICAgICAgImlk
ZW9ncmFwaGljIiwKICAgICAgICAiYWxwaGFiZXRpYyIsCiAgICAgICAgImhhbmdpbmciLAogICAg
ICAgICJtYXRoZW1hdGljYWwiLAogICAgICAgICJ1c2Utc2NyaXB0IiwKICAgICAgICAibm8tY2hh
bmdlIiwKICAgICAgICAicmVzZXQtc2l6ZSIKICAgIF0sCiAgICAiZGlzcGxheSI6IFsKICAgICAg
ICAibm9uZSIsCiAgICAgICAgImlubGluZSIsCiAgICAgICAgImJsb2NrIiwKICAgICAgICAibGlz
dC1pdGVtIiwKICAgICAgICAicnVuLWluIiwKICAgICAgICAiY29tcGFjdCIsCiAgICAgICAgImlu
bGluZS1ibG9jayIsCiAgICAgICAgInRhYmxlIiwKICAgICAgICAiaW5saW5lLXRhYmxlIiwKICAg
ICAgICAidGFibGUtcm93LWdyb3VwIiwKICAgICAgICAidGFibGUtaGVhZGVyLWdyb3VwIiwKICAg
ICAgICAidGFibGUtZm9vdGVyLWdyb3VwIiwKICAgICAgICAidGFibGUtcm93IiwKICAgICAgICAi
dGFibGUtY29sdW1uLWdyb3VwIiwKICAgICAgICAidGFibGUtY29sdW1uIiwKICAgICAgICAidGFi
bGUtY2VsbCIsCiAgICAgICAgInRhYmxlLWNhcHRpb24iLAogICAgICAgICItd2Via2l0LWJveCIs
CiAgICAgICAgIi13ZWJraXQtaW5saW5lLWJveCIsCiAgICAgICAgIi13YXAtbWFycXVlZSIKICAg
IF0sCiAgICAiLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXBvc2l0aW9uIjogWwogICAgICAgICJvdmVy
IiwKICAgICAgICAidW5kZXIiCiAgICBdLAogICAgImltYWdlLXJlbmRlcmluZyI6IFsKICAgICAg
ICAiYXV0byIsCiAgICAgICAgIm9wdGltaXplc3BlZWQiLAogICAgICAgICJvcHRpbWl6ZXF1YWxp
dHkiCiAgICBdLAogICAgImFsaWdubWVudC1iYXNlbGluZSI6IFsKICAgICAgICAiYmFzZWxpbmUi
LAogICAgICAgICJtaWRkbGUiLAogICAgICAgICJhdXRvIiwKICAgICAgICAiYmVmb3JlLWVkZ2Ui
LAogICAgICAgICJhZnRlci1lZGdlIiwKICAgICAgICAiY2VudHJhbCIsCiAgICAgICAgInRleHQt
YmVmb3JlLWVkZ2UiLAogICAgICAgICJ0ZXh0LWFmdGVyLWVkZ2UiLAogICAgICAgICJpZGVvZ3Jh
cGhpYyIsCiAgICAgICAgImFscGhhYmV0aWMiLAogICAgICAgICJoYW5naW5nIiwKICAgICAgICAi
bWF0aGVtYXRpY2FsIgogICAgXSwKICAgICJvdXRsaW5lLXdpZHRoIjogWwogICAgICAgICJtZWRp
dW0iLAogICAgICAgICJ0aGljayIsCiAgICAgICAgInRoaW4iCiAgICBdLAogICAgInRleHQtbGlu
ZS10aHJvdWdoLXdpZHRoIjogWwogICAgICAgICJub3JtYWwiLAogICAgICAgICJtZWRpdW0iLAog
ICAgICAgICJhdXRvIiwKICAgICAgICAidGhpY2siLAogICAgICAgICJ0aGluIgogICAgXSwKICAg
ICJib3gtYWxpZ24iOiBbCiAgICAgICAgImJhc2VsaW5lIiwKICAgICAgICAiY2VudGVyIiwKICAg
ICAgICAic3RyZXRjaCIsCiAgICAgICAgInN0YXJ0IiwKICAgICAgICAiZW5kIgogICAgXSwKICAg
ICJib3JkZXItcmlnaHQtd2lkdGgiOiBbCiAgICAgICAgIm1lZGl1bSIsCiAgICAgICAgInRoaWNr
IiwKICAgICAgICAidGhpbiIKICAgIF0sCiAgICAiYm9yZGVyLXRvcC1zdHlsZSI6IFsKICAgICAg
ICAibm9uZSIsCiAgICAgICAgImhpZGRlbiIsCiAgICAgICAgImluc2V0IiwKICAgICAgICAiZ3Jv
b3ZlIiwKICAgICAgICAicmlkZ2UiLAogICAgICAgICJvdXRzZXQiLAogICAgICAgICJkb3R0ZWQi
LAogICAgICAgICJkYXNoZWQiLAogICAgICAgICJzb2xpZCIsCiAgICAgICAgImRvdWJsZSIKICAg
IF0sCiAgICAibGluZS1oZWlnaHQiOiBbCiAgICAgICAgIm5vcm1hbCIKICAgIF0sCiAgICAidGV4
dC1vdmVyZmxvdyI6IFsKICAgICAgICAiY2xpcCIsCiAgICAgICAgImVsbGlwc2lzIgogICAgXSwK
ICAgICJib3gtZGlyZWN0aW9uIjogWwogICAgICAgICJub3JtYWwiLAogICAgICAgICJyZXZlcnNl
IgogICAgXSwKICAgICJtYXJnaW4tYWZ0ZXItY29sbGFwc2UiOiBbCiAgICAgICAgImNvbGxhcHNl
IiwKICAgICAgICAic2VwYXJhdGUiLAogICAgICAgICJkaXNjYXJkIgogICAgXSwKICAgICJwYWdl
LWJyZWFrLWJlZm9yZSI6IFsKICAgICAgICAibGVmdCIsCiAgICAgICAgInJpZ2h0IiwKICAgICAg
ICAiYXV0byIsCiAgICAgICAgImFsd2F5cyIsCiAgICAgICAgImF2b2lkIgogICAgXSwKICAgICIt
d2Via2l0LWh5cGhlbnMiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJhdXRvIiwKICAgICAg
ICAibWFudWFsIgogICAgXSwKICAgICJib3JkZXItaW1hZ2UiOiBbCiAgICAgICAgInJlcGVhdCIs
CiAgICAgICAgInN0cmV0Y2giCiAgICBdLAogICAgInRleHQtZGVjb3JhdGlvbiI6IFsKICAgICAg
ICAiYmxpbmsiLAogICAgICAgICJsaW5lLXRocm91Z2giLAogICAgICAgICJvdmVybGluZSIsCiAg
ICAgICAgInVuZGVybGluZSIKICAgIF0sCiAgICAicG9zaXRpb24iOiBbCiAgICAgICAgImFic29s
dXRlIiwKICAgICAgICAiZml4ZWQiLAogICAgICAgICJyZWxhdGl2ZSIsCiAgICAgICAgInN0YXRp
YyIKICAgIF0sCiAgICAiZm9udC1mYW1pbHkiOiBbCiAgICAgICAgInNlcmlmIiwKICAgICAgICAi
c2Fucy1zZXJpZiIsCiAgICAgICAgImN1cnNpdmUiLAogICAgICAgICJmYW50YXN5IiwKICAgICAg
ICAibW9ub3NwYWNlIiwKICAgICAgICAiLXdlYmtpdC1ib2R5IgogICAgXSwKICAgICJ0ZXh0LW92
ZXJmbG93LW1vZGUiOiBbCiAgICAgICAgImNsaXAiLAogICAgICAgICJlbGxpcHNpcyIKICAgIF0s
CiAgICAiYm9yZGVyLWJvdHRvbS1zdHlsZSI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImhp
ZGRlbiIsCiAgICAgICAgImluc2V0IiwKICAgICAgICAiZ3Jvb3ZlIiwKICAgICAgICAicmlkZ2Ui
LAogICAgICAgICJvdXRzZXQiLAogICAgICAgICJkb3R0ZWQiLAogICAgICAgICJkYXNoZWQiLAog
ICAgICAgICJzb2xpZCIsCiAgICAgICAgImRvdWJsZSIKICAgIF0sCiAgICAidW5pY29kZS1iaWRp
IjogWwogICAgICAgICJub3JtYWwiLAogICAgICAgICJiaWRpLW92ZXJyaWRlIiwKICAgICAgICAi
ZW1iZWQiCiAgICBdLAogICAgImNsaXAtcnVsZSI6IFsKICAgICAgICAibm9uemVybyIsCiAgICAg
ICAgImV2ZW5vZGQiCiAgICBdLAogICAgIm1hcmdpbi1sZWZ0IjogWwogICAgICAgICJhdXRvIgog
ICAgXSwKICAgICJtYXJnaW4tdG9wIjogWwogICAgICAgICJhdXRvIgogICAgXSwKICAgICJ6b29t
IjogWwogICAgICAgICJkb2N1bWVudCIsCiAgICAgICAgInJlc2V0IgogICAgXSwKICAgICJ0ZXh0
LW92ZXJsaW5lLXN0eWxlIjogWwogICAgICAgICJub25lIiwKICAgICAgICAiZG90dGVkIiwKICAg
ICAgICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAgICAgICJkb3VibGUiLAogICAgICAg
ICJkb3QtZGFzaCIsCiAgICAgICAgImRvdC1kb3QtZGFzaCIsCiAgICAgICAgIndhdmUiCiAgICBd
LAogICAgIm1heC13aWR0aCI6IFsKICAgICAgICAibm9uZSIKICAgIF0sCiAgICAiZW1wdHktY2Vs
bHMiOiBbCiAgICAgICAgImhpZGUiLAogICAgICAgICJzaG93IgogICAgXSwKICAgICJwb2ludGVy
LWV2ZW50cyI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImFsbCIsCiAgICAgICAgImF1dG8i
LAogICAgICAgICJ2aXNpYmxlIiwKICAgICAgICAidmlzaWJsZXBhaW50ZWQiLAogICAgICAgICJ2
aXNpYmxlZmlsbCIsCiAgICAgICAgInZpc2libGVzdHJva2UiLAogICAgICAgICJwYWludGVkIiwK
ICAgICAgICAiZmlsbCIsCiAgICAgICAgInN0cm9rZSIKICAgIF0sCiAgICAibGV0dGVyLXNwYWNp
bmciOiBbCiAgICAgICAgIm5vcm1hbCIKICAgIF0sCiAgICAiYmFja2dyb3VuZC1jbGlwIjogWwog
ICAgICAgICJib3JkZXItYm94IiwKICAgICAgICAiY29udGVudC1ib3giLAogICAgICAgICJwYWRk
aW5nLWJveCIKICAgIF0sCiAgICAiLXdlYmtpdC1mb250LXNtb290aGluZyI6IFsKICAgICAgICAi
bm9uZSIsCiAgICAgICAgImF1dG8iLAogICAgICAgICJhbnRpYWxpYXNlZCIsCiAgICAgICAgInN1
YnBpeGVsLWFudGlhbGlhc2VkIgogICAgXSwKICAgICJib3JkZXIiOiBbCiAgICAgICAgIm5vbmUi
LAogICAgICAgICJoaWRkZW4iLAogICAgICAgICJpbnNldCIsCiAgICAgICAgImdyb292ZSIsCiAg
ICAgICAgInJpZGdlIiwKICAgICAgICAib3V0c2V0IiwKICAgICAgICAiZG90dGVkIiwKICAgICAg
ICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAgICAgICJkb3VibGUiCiAgICBdLAogICAg
ImZvbnQtc2l6ZSI6IFsKICAgICAgICAieHgtc21hbGwiLAogICAgICAgICJ4LXNtYWxsIiwKICAg
ICAgICAic21hbGwiLAogICAgICAgICJtZWRpdW0iLAogICAgICAgICJsYXJnZSIsCiAgICAgICAg
IngtbGFyZ2UiLAogICAgICAgICJ4eC1sYXJnZSIsCiAgICAgICAgIi13ZWJraXQteHh4LWxhcmdl
IiwKICAgICAgICAic21hbGxlciIsCiAgICAgICAgImxhcmdlciIKICAgIF0sCiAgICAiZm9udC12
YXJpYW50IjogWwogICAgICAgICJzbWFsbC1jYXBzIiwKICAgICAgICAibm9ybWFsIgogICAgXSwK
ICAgICJ2ZXJ0aWNhbC1hbGlnbiI6IFsKICAgICAgICAiYmFzZWxpbmUiLAogICAgICAgICJtaWRk
bGUiLAogICAgICAgICJzdWIiLAogICAgICAgICJzdXBlciIsCiAgICAgICAgInRleHQtdG9wIiwK
ICAgICAgICAidGV4dC1ib3R0b20iLAogICAgICAgICJ0b3AiLAogICAgICAgICJib3R0b20iLAog
ICAgICAgICItd2Via2l0LWJhc2VsaW5lLW1pZGRsZSIKICAgIF0sCiAgICAibWFycXVlZS1zdHls
ZSI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgInNjcm9sbCIsCiAgICAgICAgInNsaWRlIiwK
ICAgICAgICAiYWx0ZXJuYXRlIgogICAgXSwKICAgICJ3aGl0ZS1zcGFjZSI6IFsKICAgICAgICAi
bm9ybWFsIiwKICAgICAgICAibm93cmFwIiwKICAgICAgICAicHJlIiwKICAgICAgICAicHJlLWxp
bmUiLAogICAgICAgICJwcmUtd3JhcCIKICAgIF0sCiAgICAidGV4dC11bmRlcmxpbmUtd2lkdGgi
OiBbCiAgICAgICAgIm5vcm1hbCIsCiAgICAgICAgIm1lZGl1bSIsCiAgICAgICAgImF1dG8iLAog
ICAgICAgICJ0aGljayIsCiAgICAgICAgInRoaW4iCiAgICBdLAogICAgImJveC1saW5lcyI6IFsK
ICAgICAgICAic2luZ2xlIiwKICAgICAgICAibXVsdGlwbGUiCiAgICBdLAogICAgInBhZ2UtYnJl
YWstYWZ0ZXIiOiBbCiAgICAgICAgImxlZnQiLAogICAgICAgICJyaWdodCIsCiAgICAgICAgImF1
dG8iLAogICAgICAgICJhbHdheXMiLAogICAgICAgICJhdm9pZCIKICAgIF0sCiAgICAiY2xpcC1w
YXRoIjogWwogICAgICAgICJub25lIgogICAgXSwKICAgICJtYXJnaW4iOiBbCiAgICAgICAgImF1
dG8iCiAgICBdLAogICAgIm1hcnF1ZWUtcmVwZXRpdGlvbiI6IFsKICAgICAgICAiaW5maW5pdGUi
CiAgICBdLAogICAgIm1hcmdpbi1yaWdodCI6IFsKICAgICAgICAiYXV0byIKICAgIF0sCiAgICAi
LXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlIjogWwogICAgICAgICJjaXJjbGUiLAogICAgICAg
ICJmaWxsZWQiLAogICAgICAgICJvcGVuIiwKICAgICAgICAiZG90IiwKICAgICAgICAiZG91Ymxl
LWNpcmNsZSIsCiAgICAgICAgInRyaWFuZ2xlIiwKICAgICAgICAic2VzYW1lIgogICAgXQp9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77204</attachid>
            <date>2010-12-22 05:02:25 -0800</date>
            <delta_ts>2010-12-24 06:21:44 -0800</delta_ts>
            <desc>[PATCH] Comments addressed, color nicknames fixed</desc>
            <filename>completevalues.patch</filename>
            <type>text/plain</type>
            <size>68179</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGI1OTI2MzMxZGJmZDc1YWY4NjcwODk0MmUwMTIyM2Y2MDNjOTJjZGMKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBGcmkgRGVjIDMg
MjA6MDc6NDMgMjAxMCArMDMwMAoKICAgIFdJUCAtIGF1dG9jb21wbGV0ZSB2YWx1ZSBrZXl3b3Jk
cwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAwODU3MzA3Li5mZGEwYmNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAt
MTItMjIgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBh
dXRvY29tcGxldGlvbiBmb3IgQ1NTIHByb3BlcnR5IHZhbHVlcyBpbiBTdHlsZXMgcGFuZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0MTQKKworICAg
ICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy5o
dG1sOiBBZGRlZC4KKwogMjAxMC0xMi0yMSAgQW5kcmVpIFBvcGVzY3UgIDxhbmRyZWlwQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MWI5MDk2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUt
dmFsdWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IFVwL0Rvd24g
a2V5cyBzd2l0Y2ggc3VnZ2VzdGlvbnMgaW4gQ1NTIHByb3BlcnR5IHZhbHVlcy4KKworVGV4dAor
SW5pdGlhbCBwcm9wZXJ0eSB2YWx1ZToKK2NvbG9yOiBncmVlbjsKK05leHQgdmFsdWU6Citjb2xv
cjogZ3JlZW55ZWxsb3c7CitPcmlnaW5hbCB2YWx1ZToKK2NvbG9yOiBncmVlbjsKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZjNlYWVjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVz
Lmh0bWwKQEAgLTAsMCArMSw3MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iZWxlbWVudHMtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24g
ZG9pdCgpCit7CisgICAgZnVuY3Rpb24gY2FsbGJhY2socmVzdWx0KQorICAgIHsKKyAgICAgICAg
ZHVtcEFycmF5KHJlc3VsdCk7CisgICAgICAgIG5vdGlmeURvbmUoKTsKKyAgICB9CisgICAgZXZh
bHVhdGVJbldlYkluc3BlY3RvcigiZnJvbnRlbmRfcnVuVGVzdCIsIGNhbGxiYWNrKTsKK30KKwor
Ly8gRnJvbnRlbmQgZnVuY3Rpb25zLgorCitmdW5jdGlvbiBmcm9udGVuZF9ydW5UZXN0KHRlc3RD
b250cm9sbGVyKQoreworICAgIHRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBm
cm9udGVuZF9leHBhbmRET01TdWJ0cmVlQW5kUnVuKHRlc3RDb250cm9sbGVyLCBudWxsLCBmcm9u
dGVuZF9zZWxlY3RJbnNwZWN0ZWRFbGVtZW50KTsKK30KKworZnVuY3Rpb24gZnJvbnRlbmRfc2Vs
ZWN0SW5zcGVjdGVkRWxlbWVudCh0ZXN0Q29udHJvbGxlcikKK3sKKyAgICBmcm9udGVuZF9zZWxl
Y3RFbGVtZW50QW5kUnVuKHRlc3RDb250cm9sbGVyLCAiaW5zcGVjdGVkIiwgZnJvbnRlbmRfZHVt
cEluc3BlY3RlZFN0eWxlKTsKK30KKworZnVuY3Rpb24gZnJvbnRlbmRfY3JlYXRlS2V5Ym9hcmRF
dmVudChldmVudE5hbWUsIGtleUlkZW50aWZpZXIpCit7CisgICAgdmFyIGV2dCA9IGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCJLZXlib2FyZEV2ZW50Iik7CisgICAgZXZ0LmluaXRLZXlib2FyZEV2ZW50
KGV2ZW50TmFtZSwgdHJ1ZSAvKiBjYW4gYnViYmxlICovLCB0cnVlIC8qIGNhbiBjYW5jZWwgKi8s
IG51bGwgLyogdmlldyAqLywga2V5SWRlbnRpZmllciwgIiIpOworICAgIHJldHVybiBldnQ7Cit9
CisKK2Z1bmN0aW9uIGZyb250ZW5kX2R1bXBJbnNwZWN0ZWRTdHlsZSh0ZXN0Q29udHJvbGxlcikK
K3sKKyAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJh
clBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsxXTsKKyAgICBzZWN0aW9uLmV4cGFuZCgpOworICAg
IHZhciB0cmVlRWxlbWVudCA9IHNlY3Rpb24ucHJvcGVydGllc1RyZWVPdXRsaW5lLmNoaWxkcmVu
WzBdOworCisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKCJJbml0aWFsIHByb3BlcnR5
IHZhbHVlOiIpOworICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCh0cmVlRWxlbWVudC5s
aXN0SXRlbUVsZW1lbnQudGV4dENvbnRlbnQpOworICAgIHRyZWVFbGVtZW50LnN0YXJ0RWRpdGlu
Zyh0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQpOworICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVu
dC5maXJzdENoaWxkLnNlbGVjdCgpOworCisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNo
KCJOZXh0IHZhbHVlOiIpOworICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudC5kaXNwYXRjaEV2
ZW50KGZyb250ZW5kX2NyZWF0ZUtleWJvYXJkRXZlbnQoImtleWRvd24iLCAiRG93biIpKTsKKyAg
ICB0ZXN0Q29udHJvbGxlci5yZXN1bHRzLnB1c2godHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50
LnRleHRDb250ZW50KTsKKworICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCgiT3JpZ2lu
YWwgdmFsdWU6Iik7CisgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LmRpc3BhdGNoRXZlbnQo
ZnJvbnRlbmRfY3JlYXRlS2V5Ym9hcmRFdmVudCgia2V5ZG93biIsICJVcCIpKTsKKyAgICB0ZXN0
Q29udHJvbGxlci5yZXN1bHRzLnB1c2godHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50LnRleHRD
b250ZW50KTsKKworICAgIHRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUodGVzdENvbnRyb2xsZXIu
cmVzdWx0cyk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9Im9ubG9h
ZCgpIj4KKzxwPgorVGVzdHMgdGhhdCBVcC9Eb3duIGtleXMgc3dpdGNoIHN1Z2dlc3Rpb25zIGlu
IENTUyBwcm9wZXJ0eSB2YWx1ZXMuCis8L3A+CisKKzxkaXYgaWQ9Imluc3BlY3RlZCIgc3R5bGU9
ImNvbG9yOiBncmVlbjsiPlRleHQ8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYmMzMGJmLi45
OGVjMGIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEwLTEyLTIyICBBbGV4YW5kZXIgUGF2bG92ICA8YXBh
dmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYXV0b2NvbXBsZXRpb24gZm9yIENTUyBwcm9wZXJ0
eSB2YWx1ZXMgaW4gU3R5bGVzIHBhbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQxNDE0CisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL3N0eWxlcy1h
dXRvY29tcGxldGUtdmFsdWVzLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fY3NzdmFsdWVrZXl3
b3Jkcy5weToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9jb3B5SW5zcGVjdG9yRmlsZXMuY21kOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAgKiBjc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbjoK
KyAgICAgICAgKiBjc3MvbWFrZXZhbHVlcy5wbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmM6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvQ29sb3IuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TdHls
ZXNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJl
ZUVsZW1lbnQucHJvdG90eXBlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sOgorCiAyMDEwLTEyLTIxICBNYWhlc2ggS3Vsa2FybmkgIDxtYWhlc2gua3Vsa2Fy
bmlAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggZmIxM2FmZS4uNjgyMzVkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjMx
LDcgKzYzMSw3IEBAIENTU1Byb3BlcnR5TmFtZXMuaCA6ICQoV0VCQ09SRV9DU1NfUFJPUEVSVFlf
TkFNRVMpIGNzcy9tYWtlcHJvcC5wbAogQ1NTVmFsdWVLZXl3b3Jkcy5oIDogJChXRUJDT1JFX0NT
U19WQUxVRV9LRVlXT1JEUykgY3NzL21ha2V2YWx1ZXMucGwKIAkjIExvd2VyIGNhc2UgYWxsIHRo
ZSB2YWx1ZXMsIGFzIENTUyB2YWx1ZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUKIAlwZXJsIC1uZSAn
cHJpbnQgbGMnICQoV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMpID4gQ1NTVmFsdWVLZXl3b3Jk
cy5pbgotCWlmIHNvcnQgQ1NTVmFsdWVLZXl3b3Jkcy5pbiB8IHVuaXEgLWQgfCBncmVwIC1FIC12
ICcoXiMpfCheW1s6c3BhY2U6XV0qJCQpJzsgdGhlbiBlY2hvICdEdXBsaWNhdGUgdmFsdWUhJzsg
ZXhpdCAxOyBmaQorCWlmIGNhdCBDU1NWYWx1ZUtleXdvcmRzLmluIHwgc2VkIC1lICdzL1woW14s
XSpcKS4qL1wxLycgfCBzb3J0IHwgdW5pcSAtZCB8IGdyZXAgLUUgLXYgJyheIyl8KF5bWzpzcGFj
ZTpdXSokJCknOyB0aGVuIGVjaG8gJ0R1cGxpY2F0ZSB2YWx1ZSEnOyBleGl0IDE7IGZpCiAJcGVy
bCAiJChXZWJDb3JlKS9jc3MvbWFrZXZhbHVlcy5wbCIKIAogIyAtLS0tLS0tLQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXgg
OWNmYmYzYi4uNDQ1ZDhmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysg
Yi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC00NjU4LDEyICs0NjU4LDE0IEBAIERlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oOiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZ
X05BTUVTKSAkKFdlYkNvCiAJbXYgQ1NTUHJvcGVydHlOYW1lcyogJChHRU5TT1VSQ0VTX1dFQkNP
UkUpCiAKICMgTG93ZXIgY2FzZSBhbGwgdGhlIHZhbHVlcywgYXMgQ1NTIHZhbHVlcyBhcmUgY2Fz
ZS1pbnNlbnNpdGl2ZQorRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NLZXl3b3JkQ29tcGxldGlv
bnMuanM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTVmFsdWVLZXl3b3Jkcy5jcHAKIERlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTVmFsdWVLZXl3b3Jkcy5jcHA6IERlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvQ1NTVmFsdWVLZXl3b3Jkcy5oCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVl
S2V5d29yZHMuaDogJChXRUJDT1JFX0NTU19WQUxVRV9LRVlXT1JEUykgJChXZWJDb3JlKS9jc3Mv
bWFrZXZhbHVlcy5wbAogCSQoUEVSTCkgLW5lICdwcmludCBsYycgJChXRUJDT1JFX0NTU19WQUxV
RV9LRVlXT1JEUykgPiBDU1NWYWx1ZUtleXdvcmRzLmluCi0JaWYgc29ydCBDU1NWYWx1ZUtleXdv
cmRzLmluIHwgdW5pcSAtZCB8IGdyZXAgLUUgJ15bXiNdJzsgdGhlbiBlY2hvICdEdXBsaWNhdGUg
dmFsdWUhJzsgZXhpdCAxOyBmaQorCWlmIGNhdCBDU1NWYWx1ZUtleXdvcmRzLmluIHwgc2VkIC1l
ICdzL1woW14sXSpcKS4qL1wxLycgfCBzb3J0IHwgdW5pcSAtZCB8IGdyZXAgLUUgJ15bXiNdJzsg
dGhlbiBlY2hvICdEdXBsaWNhdGUgdmFsdWUhJzsgZXhpdCAxOyBmaQogCSQoUEVSTCkgIiQoV2Vi
Q29yZSkvY3NzL21ha2V2YWx1ZXMucGwiCiAJbXYgQ1NTVmFsdWVLZXl3b3JkcyogJChHRU5TT1VS
Q0VTX1dFQkNPUkUpCisJbXYgQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzICQoR0VOU09VUkNFU19X
RUJDT1JFKQogCiAjIERPQ1RZUEUgc3RyaW5ncwogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IYXNo
VG9vbHMuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9Eb2NUeXBlU3RyaW5ncy5jcHAKQEAgLTQ4
NTAsNiArNDg1Miw3IEBAIEVYVFJBX0RJU1QgKz0gXAogd2ViaW5zcGVjdG9yZGlyID0gJHtkYXRh
ZGlyfS93ZWJraXRndGstQFdFQktJVEdUS19BUElfVkVSU0lPTkAvd2ViaW5zcGVjdG9yCiBkaXN0
X3dlYmluc3BlY3Rvcl9EQVRBID0gXAogCSQoV2ViQ29yZSkvRW5nbGlzaC5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU0tleXdvcmRDb21wbGV0
aW9ucy5qcyBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5q
cyBcCiAJJChzaGVsbCBscyAkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9udC1lbmQvKi5qcykgXAog
CSQoc2hlbGwgbHMgJChXZWJDb3JlKS9pbnNwZWN0b3IvZnJvbnQtZW5kLyouaHRtbCkgXApAQCAt
NDg2Nyw2ICs0ODcwLDcgQEAgJHtHRU5TT1VSQ0VTX0lOU1BFQ1RPUn0vaW5zcGVjdG9yLmh0bWw6
ICQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVuZC8qLmh0bWwgXAogCQkkKFdlYkNvcmUpL2lu
c3BlY3Rvci9mcm9udC1lbmQvKi5qcyBcCiAJCSQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVu
ZC8qLmNzcyBcCiAJCSQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvKiBcCisJ
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzIFwKIAkJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcyBcCiAJCSQoV2ViQ29y
ZSkvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCiAJJChBTV9WX0dFTilta2RpciAt
cCAke0dFTlNPVVJDRVNfSU5TUEVDVE9SfS9pbWFnZXMKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmlu
ZGV4IDY2Yjk1YzEuLjI5ZWVmOGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtMzk5LDYg
KzM5OSw3IEBACiAgICAgICAgICAgICAnLi4vY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4nLAogICAg
ICAgICAgIF0sCiAgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURf
SU5URVJNRURJQVRFX0RJUikvd2Via2l0L0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcycsCiAgICAg
ICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L0NTU1ZhbHVlS2V5d29y
ZHMuY3BwJywKICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQv
Q1NTVmFsdWVLZXl3b3Jkcy5oJywKICAgICAgICAgICBdLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9jc3N2YWx1ZWtleXdvcmRzLnB5IGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9jc3N2YWx1ZWtleXdvcmRzLnB5CmluZGV4IGViZjg5
NWIuLjVhY2E3ODkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rp
b25fY3NzdmFsdWVrZXl3b3Jkcy5weQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMv
YWN0aW9uX2Nzc3ZhbHVla2V5d29yZHMucHkKQEAgLTEyMCw3ICsxMjAsNyBAQCBkZWYgbWFpbihh
cmdzKToKIAogICAgICMgTWFrZSBzdXJlIHRoZXJlIGFyZW4ndCBhbnkgZHVwbGljYXRlIGxpbmVz
IGluIHRoZSBpbiBmaWxlcy4gTG93ZXJjYXNlCiAgICAgIyBldmVyeXRoaW5nIGJlY2F1c2UgQ1NT
IHZhbHVlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZS4KLSAgICBsaW5lRGljdCA9IHt9CisgICAgdmFs
dWVEaWN0ID0ge30KICAgICBmb3IgaW5GaWxlUGF0aCBpbiBpbkZpbGVzOgogICAgICAgICBpbkZp
bGUgPSBvcGVuKGluRmlsZVBhdGgpCiAgICAgICAgIGZvciBsaW5lIGluIGluRmlsZToKQEAgLTEz
MCw5ICsxMzAsMTIgQEAgZGVmIG1haW4oYXJncyk6CiAgICAgICAgICAgICBpZiBsaW5lID09ICcn
OgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBsaW5lID0gbGluZS5sb3dl
cigpCi0gICAgICAgICAgICBpZiBsaW5lIGluIGxpbmVEaWN0OgotICAgICAgICAgICAgICAgIHJh
aXNlIEtleUVycm9yLCAnRHVwbGljYXRlIHZhbHVlICVzJyAlIGxpbmUKLSAgICAgICAgICAgIGxp
bmVEaWN0W2xpbmVdID0gVHJ1ZQorICAgICAgICAgICAgcGFydHMgPSBsaW5lLnBhcnRpdGlvbign
LCcpCisgICAgICAgICAgICBpZiBwYXJ0c1sxXSAhPSAnJzoKKyAgICAgICAgICAgICAgICB2YWx1
ZSA9IHBhcnRzWzBdCisgICAgICAgICAgICAgICAgaWYgdmFsdWUgaW4gdmFsdWVEaWN0OgorICAg
ICAgICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcignRHVwbGljYXRlIHZhbHVlICVzJyAlIHZh
bHVlKQorICAgICAgICAgICAgICAgIHZhbHVlRGljdFt2YWx1ZV0gPSBUcnVlCiAgICAgICAgICAg
ICBwcmludCA+Pm1lcmdlZCwgbGluZQogICAgICAgICBpbkZpbGUuY2xvc2UoKQogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBiYzNm
NTk1Li41YWY1N2QxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5wcmkKQEAgLTUzNiw2ICs1MzYsNyBAQCBJRExfQklORElOR1MgKz0gXAogCiBJ
TlNQRUNUT1JfSU5URVJGQUNFUyA9IGluc3BlY3Rvci9JbnNwZWN0b3IuaWRsCiBJTlNQRUNUT1Jf
QkFDS0VORF9TVFVCX1FSQyA9IGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yQmFja2VuZFN0
dWIucXJjCitDU1NfS0VZV09SRF9DT01QTEVUSU9OU19RUkMgPSBpbnNwZWN0b3IvZnJvbnQtZW5k
L0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmMKIAogdjg6IHdyYXBwZXJGYWN0b3J5QXJnID0gLS13
cmFwcGVyRmFjdG9yeVY4CiBlbHNlOiB3cmFwcGVyRmFjdG9yeUFyZyA9IC0td3JhcHBlckZhY3Rv
cnkKQEAgLTU5NCw2ICs1OTUsMTMgQEAgY3NzdmFsdWVzLmRlcGVuZHMgPSAke1FNQUtFX0ZJTEVf
TkFNRX0gJCR7RVhUUkFDU1NWQUxVRVN9ICQkY3NzdmFsdWVzLndrU2NyaXB0CiBjc3N2YWx1ZXMu
Y2xlYW4gPSAke1FNQUtFX0ZJTEVfT1VUfSAke1FNQUtFX1ZBUl9XQ19HRU5FUkFURURfU09VUkNF
U19ESVJ9LyR7UU1BS0VfRklMRV9CQVNFfS5oCiBhZGRFeHRyYUNvbXBpbGVyKGNzc3ZhbHVlcykK
IAorY3NzS2V5d29yZENvbXBsZXRpb25zLndrQWRkT3V0cHV0VG9Tb3VyY2VzID0gZmFsc2UKK2Nz
c0tleXdvcmRDb21wbGV0aW9ucy5vdXRwdXQgPSBnZW5lcmF0ZWQvQ1NTS2V5d29yZENvbXBsZXRp
b25zLnFyYworY3NzS2V5d29yZENvbXBsZXRpb25zLmlucHV0ID0gQ1NTX0tFWVdPUkRfQ09NUExF
VElPTlNfUVJDCitjc3NLZXl3b3JkQ29tcGxldGlvbnMudGVtcE5hbWVzID0gJCRQV0QvJCRDU1Nf
S0VZV09SRF9DT01QTEVUSU9OU19RUkMgJCR7V0NfR0VORVJBVEVEX1NPVVJDRVNfRElSfS9DU1NL
ZXl3b3JkQ29tcGxldGlvbnMucXJjCitjc3NLZXl3b3JkQ29tcGxldGlvbnMuY29tbWFuZHMgPSAk
JFFNQUtFX0NPUFkgJCRyZXBsYWNlKGNzc0tleXdvcmRDb21wbGV0aW9ucy50ZW1wTmFtZXMsICIv
IiwgJCRRTUFLRV9ESVJfU0VQKQorYWRkRXh0cmFDb21waWxlcihjc3NLZXl3b3JkQ29tcGxldGlv
bnMpCisKICMgR0VORVJBVE9SIDE6IElETCBjb21waWxlcgogaWRsLmlucHV0ID0gSURMX0JJTkRJ
TkdTCiBpZGwud2tTY3JpcHQgPSAkJFBXRC9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRp
bmdzLnBsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCAyZGRmN2UzLi4xZjVlMGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
cHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE2NSw3ICsxNjUsNyBAQCBzeW1iaWFu
IHsKIFJFU09VUkNFUyArPSBcCiAgICAgJCRQV0QvLi4vV2ViQ29yZS9XZWJDb3JlLnFyYwogCi1p
bmNsdWRlX3dlYmluc3BlY3RvcjogUkVTT1VSQ0VTICs9ICQkUFdELy4uL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9XZWJLaXQucXJjICQkV0NfR0VORVJBVEVEX1NPVVJDRVNfRElSL0luc3Bl
Y3RvckJhY2tlbmRTdHViLnFyYworaW5jbHVkZV93ZWJpbnNwZWN0b3I6IFJFU09VUkNFUyArPSAk
JFBXRC8uLi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYyAkJFdDX0dFTkVS
QVRFRF9TT1VSQ0VTX0RJUi9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5xcmMgJCRXQ19HRU5FUkFURURf
U09VUkNFU19ESVIvQ1NTS2V5d29yZENvbXBsZXRpb25zLnFyYwogCiBlbmFibGVfZmFzdF9tb2Jp
bGVfc2Nyb2xsaW5nOiBERUZJTkVTICs9IEVOQUJMRV9GQVNUX01PQklMRV9TQ1JPTExJTkc9MQog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlJbnNwZWN0b3JGaWxlcy5j
bWQgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlJbnNwZWN0b3JGaWxlcy5jbWQKaW5kZXgg
MzE2ZmRkYy4uNjQ5MTIxMSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5
SW5zcGVjdG9yRmlsZXMuY21kCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUluc3Bl
Y3RvckZpbGVzLmNtZApAQCAtMSw1ICsxLDYgQEAKIG1rZGlyIDI+TlVMICIlV2ViS2l0T3V0cHV0
RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xpbnNwZWN0b3IiCiB4Y29weSAveSAvZCAvcyAvZXhj
bHVkZTp4Y29weS5leGNsdWRlcyAiJVByb2plY3REaXIlLi5caW5zcGVjdG9yXGZyb250LWVuZFwq
IiAiJVdlYktpdE91dHB1dERpciVcYmluXFdlYktpdC5yZXNvdXJjZXNcaW5zcGVjdG9yIgoreGNv
cHkgL3kgL2QgL3MgL2V4Y2x1ZGU6eGNvcHkuZXhjbHVkZXMgIiVXZWJLaXRPdXRwdXREaXIlXG9i
alxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXENTU0tleXdvcmRDb21wbGV0aW9ucy5qcyIgIiVXZWJL
aXRPdXRwdXREaXIlXGJpblxXZWJLaXQucmVzb3VyY2VzXGluc3BlY3RvciIKIHhjb3B5IC95IC9k
IC9zIC9leGNsdWRlOnhjb3B5LmV4Y2x1ZGVzICIlV2ViS2l0T3V0cHV0RGlyJVxvYmpcV2ViQ29y
ZVxEZXJpdmVkU291cmNlc1xJbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcyIgIiVXZWJLaXRPdXRwdXRE
aXIlXGJpblxXZWJLaXQucmVzb3VyY2VzXGluc3BlY3RvciIKIG1rZGlyIDI+TlVMICIlV2ViS2l0
T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xlbi5scHJvaiIKIHhjb3B5IC95IC9kIC9z
IC9leGNsdWRlOnhjb3B5LmV4Y2x1ZGVzICIlUHJvamVjdERpciUuLlxFbmdsaXNoLmxwcm9qXGxv
Y2FsaXplZFN0cmluZ3MuanMiICIlV2ViS2l0T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNl
c1xlbi5scHJvaiIKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMzA1MmZjMS4uNjg2Y2I3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTIyMzcxLDYgKzIyMzcxLDcgQEAKIAkJCSk7CiAJCQlpbnB1dFBhdGhzID0g
KAogCQkJCSIkKFNSQ1JPT1QpL2luc3BlY3Rvci9mcm9udC1lbmQiLAorCQkJCSIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NLZXl3b3JkQ29tcGxldGlvbnMu
anMiLAogCQkJCSIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9J
bnNwZWN0b3JCYWNrZW5kU3R1Yi5qcyIsCiAJCQkpOwogCQkJbmFtZSA9ICJDb3B5IEluc3BlY3Rv
ciBSZXNvdXJjZXMiOwpAQCAtMjIzNzksNyArMjIzODAsNyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsK
LQkJCXNoZWxsU2NyaXB0ID0gIiMgQ29weSBhbGwgdGhlIEluc3BlY3RvciBmcm9udC1lbmQgcmVz
b3VyY2VzLlxuZGl0dG8gXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9udC1lbmRcIiBcIiR7VEFS
R0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3Bl
Y3RvclwiXG5kaXR0byBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0luc3BlY3RvckJhY2tlbmRTdHViLmpzXCIgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5M
T0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3JcIlxuXG4jIFJlbW92ZSB0
aGUgV2ViS2l0LnFyYyBmaWxlIHNpbmNlIGl0IGlzIG5vdCB1c2VkIG9uIHRoZSBNYWMgKHRoaXMg
ZmlsZSBpcyBmb3IgUXQpLlxucm0gLWYgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTEla
RURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3IvV2ViS2l0LnFyY1wiXG5cbiMgUmVt
b3ZlICoucmUyanMgZmlsZXMsIHRoZXkgYXJlIG9ubHkgdXNlZCB0byBnZW5lcmF0ZSBzb21lIC5q
cyBmaWxlcy5cbnJtIC1mIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09V
UkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yL1wiKi5yZTJqc1xuXG4jIFJlbW92ZSBhbnkgLnN2
biBkaXJlY3RvcmllcyB0aGF0IG1heSBoYXZlIGJlZW4gY29waWVkIG92ZXIuXG5maW5kIFwiJHtU
QVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5z
cGVjdG9yXCIgLW5hbWUgXCIuc3ZuXCIgLXR5cGUgZCB8IHhhcmdzIHJtIC1yZlxuIjsKKwkJCXNo
ZWxsU2NyaXB0ID0gIiMgQ29weSBhbGwgdGhlIEluc3BlY3RvciBmcm9udC1lbmQgcmVzb3VyY2Vz
LlxuZGl0dG8gXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9mcm9udC1lbmRcIiBcIiR7VEFSR0VUX0JV
SUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3Rvclwi
XG5kaXR0byBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0NT
U0tleXdvcmRDb21wbGV0aW9ucy5qc1wiIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJ
WkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yXCJcbmRpdHRvIFwiJHtCVUlMVF9Q
Uk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZFN0dWIu
anNcIiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVS
X1BBVEh9L2luc3BlY3RvclwiXG5cbiMgUmVtb3ZlIHRoZSBXZWJLaXQucXJjIGZpbGUgc2luY2Ug
aXQgaXMgbm90IHVzZWQgb24gdGhlIE1hYyAodGhpcyBmaWxlIGlzIGZvciBRdCkuXG5ybSAtZiBc
IiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9
L2luc3BlY3Rvci9XZWJLaXQucXJjXCJcblxuIyBSZW1vdmUgKi5yZTJqcyBmaWxlcywgdGhleSBh
cmUgb25seSB1c2VkIHRvIGdlbmVyYXRlIHNvbWUgLmpzIGZpbGVzLlxucm0gLWYgXCIke1RBUkdF
VF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0
b3IvXCIqLnJlMmpzXG5cbiMgUmVtb3ZlIGFueSAuc3ZuIGRpcmVjdG9yaWVzIHRoYXQgbWF5IGhh
dmUgYmVlbiBjb3BpZWQgb3Zlci5cbmZpbmQgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NB
TElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3JcIiAtbmFtZSBcIi5zdm5cIiAt
dHlwZSBkIHwgeGFyZ3Mgcm0gLXJmXG4iOwogCQl9OwogCQk1RDBENTQwRDBFOTg2MkY2MDAyOUUy
MjMgLyogQ2hlY2sgRm9yIFdlYWsgVlRhYmxlcyBhbmQgRXh0ZXJuYWxzICovID0gewogCQkJaXNh
ID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbiBiL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXgg
YzNjYTFiNS4uN2VmNTUxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbgorKysgYi9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC0xNiwxMTYgKzE2
LDExNiBAQCBpbml0aWFsCiAjIENTU19QUk9QX0JPUkRFUl9UT1BfU1RZTEUKICMgQ1NTX1BST1Bf
Qk9SREVSX0JPVFRPTV9TVFlMRQogIyBDU1NfUFJPUF9CT1JERVJfTEVGVF9TVFlMRQotbm9uZQot
aGlkZGVuCi1pbnNldAotZ3Jvb3ZlCi1yaWRnZQotb3V0c2V0Ci1kb3R0ZWQKLWRhc2hlZAotc29s
aWQKLWRvdWJsZQorbm9uZSxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3At
c3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQt
c3R5bGUsY2xlYXIsY2xpcC1wYXRoLGN1cnNvcixkaXNwbGF5LGZsb2F0LGxpc3Qtc3R5bGUtdHlw
ZSxsaXN0LXN0eWxlLWltYWdlLG1hcnF1ZWUtc3R5bGUsbWF4LWhlaWdodCxtYXgtd2lkdGgscG9p
bnRlci1ldmVudHMsc3BlYWssdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5
bGUsdGV4dC1vdmVybGluZS1zdHlsZSx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVybGluZS1zdHls
ZSx0ZXh0LXRyYW5zZm9ybSwtd2Via2l0LWZvbnQtc21vb3RoaW5nLC13ZWJraXQtaHlwaGVucywt
d2Via2l0LXRleHQtY29tYmluZQoraGlkZGVuLG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIs
Ym9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxi
b3JkZXItbGVmdC1zdHlsZSx2aXNpYmlsaXR5LG92ZXJmbG93LG92ZXJmbG93LXgsb3ZlcmZsb3ct
eQoraW5zZXQsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0eWxlLGJv
cmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0eWxlCitn
cm9vdmUsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0eWxlLGJvcmRl
ci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0eWxlCityaWRn
ZSxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJp
Z2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUKK291dHNldCxv
dXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0
LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUKK2RvdHRlZCxvdXRs
aW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0
eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUsdGV4dC1saW5lLXRocm91
Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZSx0ZXh0LXVuZGVy
bGluZSx0ZXh0LXVuZGVybGluZS1zdHlsZQorZGFzaGVkLG91dGxpbmUsb3V0bGluZS1zdHlsZSxi
b3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1z
dHlsZSxib3JkZXItbGVmdC1zdHlsZSx0ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3Vn
aC1zdHlsZSx0ZXh0LW92ZXJsaW5lLXN0eWxlLHRleHQtdW5kZXJsaW5lLHRleHQtdW5kZXJsaW5l
LXN0eWxlCitzb2xpZCxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5
bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5
bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGlu
ZS1zdHlsZSx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVybGluZS1zdHlsZQorZG91YmxlLG91dGxp
bmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5
bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZSx0ZXh0LWxpbmUtdGhyb3Vn
aCx0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0ZXh0LW92ZXJsaW5lLXN0eWxlLHRleHQtdW5kZXJs
aW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlCiAjCiAjIENTU19QUk9QX0ZPTlQ6CiAjCi1jYXB0aW9u
Ci1pY29uCi1tZW51Ci1tZXNzYWdlLWJveAotc21hbGwtY2FwdGlvbgotLXdlYmtpdC1taW5pLWNv
bnRyb2wKLS13ZWJraXQtc21hbGwtY29udHJvbAotLXdlYmtpdC1jb250cm9sCi1zdGF0dXMtYmFy
CitjYXB0aW9uLGZvbnQKK2ljb24sZm9udAorbWVudSxmb250CittZXNzYWdlLWJveCxmb250Citz
bWFsbC1jYXB0aW9uLGZvbnQKKy13ZWJraXQtbWluaS1jb250cm9sLGZvbnQKKy13ZWJraXQtc21h
bGwtY29udHJvbCxmb250Cistd2Via2l0LWNvbnRyb2wsZm9udAorc3RhdHVzLWJhcixmb250CiAK
ICMKICMgQ1NTX1BST1BfRk9OVF9TVFlMRToKICMKLSNub3JtYWwKLWl0YWxpYwotb2JsaXF1ZQor
I25vcm1hbCxmb250LXN0eWxlLGZvbnQKK2l0YWxpYyxmb250LXN0eWxlLGZvbnQKK29ibGlxdWUs
Zm9udC1zdHlsZSxmb250CiAjIFRoZSBmb2xsb3dpbmcgaXMgb25seSBhbGxvd2VkIGluIEBmb250
LWZhY2U6Ci1hbGwKK2FsbCxwb2ludGVyLWV2ZW50cwogIwogIyBDU1NfUFJPUF9GT05UX1ZBUklB
TlQ6CiAjCi0jbm9ybWFsCi1zbWFsbC1jYXBzCisjbm9ybWFsLGZvbnQtdmFyaWFudCxmb250Citz
bWFsbC1jYXBzLGZvbnQtdmFyaWFudCxmb250CiAjCiAjIENTU19QUk9QX0ZPTlRfV0VJR0hUOgog
Iwotbm9ybWFsCi1ib2xkCi1ib2xkZXIKLWxpZ2h0ZXIKLTEwMAotMjAwCi0zMDAKLTQwMAotNTAw
Ci02MDAKLTcwMAotODAwCi05MDAKK25vcm1hbCxmb250LXdlaWdodCxmb250LGZvbnQtc3R5bGUs
Zm9udC12YXJpYW50LGZvbnQtc3RyZXRjaCxib3gtZGlyZWN0aW9uLG1hcnF1ZWUtc3BlZWQsd2hp
dGUtc3BhY2UsbGV0dGVyLXNwYWNpbmcsbGluZS1oZWlnaHQsc3BlYWssdGV4dC1saW5lLXRocm91
Z2gtd2lkdGgsdGV4dC1vdmVybGluZS13aWR0aCx0ZXh0LXVuZGVybGluZS13aWR0aCx1bmljb2Rl
LWJpZGksd29yZC13cmFwCitib2xkLGZvbnQtd2VpZ2h0LGZvbnQKK2JvbGRlcixmb250LXdlaWdo
dCxmb250CitsaWdodGVyLGZvbnQtd2VpZ2h0LGZvbnQKKzEwMCxmb250LXdlaWdodCxmb250Cisy
MDAsZm9udC13ZWlnaHQsZm9udAorMzAwLGZvbnQtd2VpZ2h0LGZvbnQKKzQwMCxmb250LXdlaWdo
dCxmb250Cis1MDAsZm9udC13ZWlnaHQsZm9udAorNjAwLGZvbnQtd2VpZ2h0LGZvbnQKKzcwMCxm
b250LXdlaWdodCxmb250Cis4MDAsZm9udC13ZWlnaHQsZm9udAorOTAwLGZvbnQtd2VpZ2h0LGZv
bnQKICMKICMgQ1NTX1BST1BfRk9OVF9TSVpFOgogIwoteHgtc21hbGwKLXgtc21hbGwKLXNtYWxs
Ci1tZWRpdW0KLWxhcmdlCi14LWxhcmdlCi14eC1sYXJnZQotLXdlYmtpdC14eHgtbGFyZ2UKLXNt
YWxsZXIKLWxhcmdlcgoreHgtc21hbGwsZm9udC1zaXplLGZvbnQKK3gtc21hbGwsZm9udC1zaXpl
LGZvbnQKK3NtYWxsLGZvbnQtc2l6ZSxmb250CittZWRpdW0sZm9udC1zaXplLGZvbnQsb3V0bGlu
ZS13aWR0aCxib3JkZXItd2lkdGgsYm9yZGVyLXRvcC13aWR0aCxib3JkZXItcmlnaHQtd2lkdGgs
Ym9yZGVyLWJvdHRvbS13aWR0aCxib3JkZXItbGVmdC13aWR0aCx0ZXh0LWxpbmUtdGhyb3VnaC13
aWR0aCx0ZXh0LW92ZXJsaW5lLXdpZHRoLHRleHQtdW5kZXJsaW5lLXdpZHRoCitsYXJnZSxmb250
LXNpemUsZm9udAoreC1sYXJnZSxmb250LXNpemUsZm9udAoreHgtbGFyZ2UsZm9udC1zaXplLGZv
bnQKKy13ZWJraXQteHh4LWxhcmdlLGZvbnQtc2l6ZSxmb250CitzbWFsbGVyLGZvbnQtc2l6ZSxm
b250CitsYXJnZXIsZm9udC1zaXplLGZvbnQKICMKICMgQ1NTX1BST1BfRk9OVF9TVFJFVENIOgog
IwotI25vcm1hbAotd2lkZXIKLW5hcnJvd2VyCi11bHRyYS1jb25kZW5zZWQKLWV4dHJhLWNvbmRl
bnNlZAotY29uZGVuc2VkCi1zZW1pLWNvbmRlbnNlZAotc2VtaS1leHBhbmRlZAotZXhwYW5kZWQK
LWV4dHJhLWV4cGFuZGVkCi11bHRyYS1leHBhbmRlZAorI25vcm1hbCxmb250LXN0cmV0Y2gKK3dp
ZGVyLGZvbnQtc3RyZXRjaAorbmFycm93ZXIsZm9udC1zdHJldGNoCit1bHRyYS1jb25kZW5zZWQs
Zm9udC1zdHJldGNoCitleHRyYS1jb25kZW5zZWQsZm9udC1zdHJldGNoCitjb25kZW5zZWQsZm9u
dC1zdHJldGNoCitzZW1pLWNvbmRlbnNlZCxmb250LXN0cmV0Y2gKK3NlbWktZXhwYW5kZWQsZm9u
dC1zdHJldGNoCitleHBhbmRlZCxmb250LXN0cmV0Y2gKK2V4dHJhLWV4cGFuZGVkLGZvbnQtc3Ry
ZXRjaAordWx0cmEtZXhwYW5kZWQsZm9udC1zdHJldGNoCiAjCiAjIENTU19QUk9QX0dFTkVSSUNf
Rk9OVF9GQU1JTFk6CiAjCi1zZXJpZgotc2Fucy1zZXJpZgotY3Vyc2l2ZQotZmFudGFzeQotbW9u
b3NwYWNlCi0td2Via2l0LWJvZHkKK3NlcmlmLGZvbnQtZmFtaWx5LGZvbnQKK3NhbnMtc2VyaWYs
Zm9udC1mYW1pbHksZm9udAorY3Vyc2l2ZSxmb250LWZhbWlseSxmb250CitmYW50YXN5LGZvbnQt
ZmFtaWx5LGZvbnQKK21vbm9zcGFjZSxmb250LWZhbWlseSxmb250Cistd2Via2l0LWJvZHksZm9u
dC1mYW1pbHksZm9udAogIwogIwogIyBDU1NfUFJPUF8qX0NPTE9SCiAjCi1hcXVhCi1ibGFjawot
Ymx1ZQotZnVjaHNpYQotZ3JheQotZ3JlZW4KLWxpbWUKLW1hcm9vbgotbmF2eQotb2xpdmUKLW9y
YW5nZQotcHVycGxlCi1yZWQKLXNpbHZlcgotdGVhbAotd2hpdGUKLXllbGxvdwotdHJhbnNwYXJl
bnQKK2FxdWEsX2NvbG9yXworYmxhY2ssX2NvbG9yXworYmx1ZSxfY29sb3JfCitmdWNoc2lhLF9j
b2xvcl8KK2dyYXksX2NvbG9yXworZ3JlZW4sX2NvbG9yXworbGltZSxfY29sb3JfCittYXJvb24s
X2NvbG9yXworbmF2eSxfY29sb3JfCitvbGl2ZSxfY29sb3JfCitvcmFuZ2UsX2NvbG9yXworcHVy
cGxlLF9jb2xvcl8KK3JlZCxfY29sb3JfCitzaWx2ZXIsX2NvbG9yXwordGVhbCxfY29sb3JfCit3
aGl0ZSxfY29sb3JfCit5ZWxsb3csX2NvbG9yXwordHJhbnNwYXJlbnQsX2NvbG9yXwogLXdlYmtp
dC1saW5rCiAtd2Via2l0LWFjdGl2ZWxpbmsKIGFjdGl2ZWJvcmRlcgpAQCAtMTM4LDcgKzEzOCw3
IEBAIGJ1dHRvbnNoYWRvdwogYnV0dG9udGV4dAogY2FwdGlvbnRleHQKIGdyYXl0ZXh0Ci1oaWdo
bGlnaHQKK2hpZ2hsaWdodCwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCiBoaWdobGlnaHR0
ZXh0CiBpbmFjdGl2ZWJvcmRlcgogaW5hY3RpdmVjYXB0aW9uCkBAIC0xNTcsMzAzICsxNTcsMzAz
IEBAIHdpbmRvdwogd2luZG93ZnJhbWUKIHdpbmRvd3RleHQKIC13ZWJraXQtZm9jdXMtcmluZy1j
b2xvcgotY3VycmVudGNvbG9yCitjdXJyZW50Y29sb3IsX2NvbG9yXwogIwogIyBjb2xvcnMgaW4g
bm9uIHN0cmljdCBtb2RlCi1ncmV5CitncmV5LF9jb2xvcl8KIC13ZWJraXQtdGV4dAogIwogIyBD
U1NfUFJPUF9CQUNLR1JPVU5EX1JFUEVBVDoKICMKLXJlcGVhdAotcmVwZWF0LXgKLXJlcGVhdC15
Ci1uby1yZXBlYXQKLSMgcm91bmQKLSMgc3BhY2UKK3JlcGVhdCxiYWNrZ3JvdW5kLXJlcGVhdCxi
b3JkZXItaW1hZ2UKK3JlcGVhdC14LGJhY2tncm91bmQtcmVwZWF0CityZXBlYXQteSxiYWNrZ3Jv
dW5kLXJlcGVhdAorbm8tcmVwZWF0LGJhY2tncm91bmQtcmVwZWF0CisjIHJvdW5kLGJhY2tncm91
bmQtcmVwZWF0CisjIHNwYWNlLGJhY2tncm91bmQtcmVwZWF0CiAjCiAjIENTU19QUk9QX19XRUJL
SVRfQkFDS0dST1VORF9DT01QT1NJVEU6CiAjCi1jbGVhcgotY29weQotc291cmNlLW92ZXIKLXNv
dXJjZS1pbgotc291cmNlLW91dAotc291cmNlLWF0b3AKLWRlc3RpbmF0aW9uLW92ZXIKLWRlc3Rp
bmF0aW9uLWluCi1kZXN0aW5hdGlvbi1vdXQKLWRlc3RpbmF0aW9uLWF0b3AKLXhvcgotcGx1cy1k
YXJrZXIKLSMgaGlnaGxpZ2h0Ci1wbHVzLWxpZ2h0ZXIKK2NsZWFyLC13ZWJraXQtYmFja2dyb3Vu
ZC1jb21wb3NpdGUKK2NvcHksLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZSxjdXJzb3IKK3Nv
dXJjZS1vdmVyLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3NvdXJjZS1pbiwtd2Via2l0
LWJhY2tncm91bmQtY29tcG9zaXRlCitzb3VyY2Utb3V0LC13ZWJraXQtYmFja2dyb3VuZC1jb21w
b3NpdGUKK3NvdXJjZS1hdG9wLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2Rlc3RpbmF0
aW9uLW92ZXIsLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQorZGVzdGluYXRpb24taW4sLXdl
YmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQorZGVzdGluYXRpb24tb3V0LC13ZWJraXQtYmFja2dy
b3VuZC1jb21wb3NpdGUKK2Rlc3RpbmF0aW9uLWF0b3AsLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBv
c2l0ZQoreG9yLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3BsdXMtZGFya2VyLC13ZWJr
aXQtYmFja2dyb3VuZC1jb21wb3NpdGUKKyMgaGlnaGxpZ2h0LC13ZWJraXQtYmFja2dyb3VuZC1j
b21wb3NpdGUKK3BsdXMtbGlnaHRlciwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCiAjCiAj
IENTU19QUk9QX1ZFUlRJQ0FMX0FMSUdOOgogIwotYmFzZWxpbmUKLW1pZGRsZQotc3ViCi1zdXBl
cgotdGV4dC10b3AKLXRleHQtYm90dG9tCi10b3AKLWJvdHRvbQorYmFzZWxpbmUsdmVydGljYWwt
YWxpZ24sYWxpZ25tZW50LWJhc2VsaW5lLGJhc2VsaW5lLXNoaWZ0LGJveC1hbGlnbgorbWlkZGxl
LHZlcnRpY2FsLWFsaWduLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQorc3Vi
LHZlcnRpY2FsLWFsaWduLGJhc2VsaW5lLXNoaWZ0CitzdXBlcix2ZXJ0aWNhbC1hbGlnbixiYXNl
bGluZS1zaGlmdAordGV4dC10b3AsdmVydGljYWwtYWxpZ24KK3RleHQtYm90dG9tLHZlcnRpY2Fs
LWFsaWduCit0b3AsdmVydGljYWwtYWxpZ24KK2JvdHRvbSx2ZXJ0aWNhbC1hbGlnbgogIyBIVE1M
IGFsaWdubWVudCBNSURETEUgaGFzIG5vIGNvcnJlc3BvbmRpbmcgQ1NTIGFsaWdubWVudAotLXdl
YmtpdC1iYXNlbGluZS1taWRkbGUKKy13ZWJraXQtYmFzZWxpbmUtbWlkZGxlLHZlcnRpY2FsLWFs
aWduCiAjCiAjIENTU19QUk9QX1RFWFRfQUxJR046CiAjCi0td2Via2l0LWF1dG8KLWxlZnQKLXJp
Z2h0Ci1jZW50ZXIKLWp1c3RpZnkKLS13ZWJraXQtbGVmdAotLXdlYmtpdC1yaWdodAotLXdlYmtp
dC1jZW50ZXIKKy13ZWJraXQtYXV0byx0ZXh0LWFsaWduCitsZWZ0LHRleHQtYWxpZ24sY2xlYXIs
ZmxvYXQsbWFycXVlZS1kaXJlY3Rpb24sYm94LXJlZmxlY3QscGFnZS1icmVhay1hZnRlcixwYWdl
LWJyZWFrLWJlZm9yZQorcmlnaHQsdGV4dC1hbGlnbixjbGVhcixmbG9hdCxtYXJxdWVlLWRpcmVj
dGlvbixib3gtcmVmbGVjdCxwYWdlLWJyZWFrLWFmdGVyLHBhZ2UtYnJlYWstYmVmb3JlCitjZW50
ZXIsdGV4dC1hbGlnbixib3gtYWxpZ24KK2p1c3RpZnksdGV4dC1hbGlnbgorLXdlYmtpdC1sZWZ0
LHRleHQtYWxpZ24KKy13ZWJraXQtcmlnaHQsdGV4dC1hbGlnbgorLXdlYmtpdC1jZW50ZXIsdGV4
dC1hbGlnbgogIwogIyBDU1NfUFJPUF9MSVNUX1NUWUxFX1BPU0lUSU9OOgogIwotb3V0c2lkZQot
aW5zaWRlCitvdXRzaWRlLGxpc3Qtc3R5bGUtcG9zaXRpb24KK2luc2lkZSxsaXN0LXN0eWxlLXBv
c2l0aW9uCiAjCiAjIENTU19QUk9QX0xJU1RfU1RZTEVfVFlQRToKICMKLWRpc2MKLWNpcmNsZQot
c3F1YXJlCi1kZWNpbWFsCi1kZWNpbWFsLWxlYWRpbmctemVybwotYXJhYmljLWluZGljCi1iaW5h
cnkKLWJlbmdhbGkKLWNhbWJvZGlhbgota2htZXIKLWRldmFuYWdhcmkKLWd1amFyYXRpCi1ndXJt
dWtoaQota2FubmFkYQotbG93ZXItaGV4YWRlY2ltYWwKLWxhbwotbWFsYXlhbGFtCi1tb25nb2xp
YW4KLW15YW5tYXIKLW9jdGFsCi1vcml5YQotcGVyc2lhbgotdXJkdQotdGVsdWd1Ci10aWJldGFu
Ci10aGFpCi11cHBlci1oZXhhZGVjaW1hbAotbG93ZXItcm9tYW4KLXVwcGVyLXJvbWFuCi1sb3dl
ci1ncmVlawotbG93ZXItYWxwaGEKLWxvd2VyLWxhdGluCi11cHBlci1hbHBoYQotdXBwZXItbGF0
aW4KLWFmYXIKLWV0aGlvcGljLWhhbGVoYW1lLWFhLWV0Ci1ldGhpb3BpYy1oYWxlaGFtZS1hYS1l
cgotYW1oYXJpYwotZXRoaW9waWMtaGFsZWhhbWUtYW0tZXQKLWFtaGFyaWMtYWJlZ2VkZQotZXRo
aW9waWMtYWJlZ2VkZS1hbS1ldAotY2prLWVhcnRobHktYnJhbmNoCi1jamstaGVhdmVubHktc3Rl
bQotZXRoaW9waWMKLWV0aGlvcGljLWhhbGVoYW1lLWdlegotZXRoaW9waWMtYWJlZ2VkZQotZXRo
aW9waWMtYWJlZ2VkZS1nZXoKLWhhbmd1bC1jb25zb25hbnQKLWhhbmd1bAotbG93ZXItbm9yd2Vn
aWFuCi1vcm9tbwotZXRoaW9waWMtaGFsZWhhbWUtb20tZXQKLXNpZGFtYQotZXRoaW9waWMtaGFs
ZWhhbWUtc2lkLWV0Ci1zb21hbGkKLWV0aGlvcGljLWhhbGVoYW1lLXNvLWV0Ci10aWdyZQotZXRo
aW9waWMtaGFsZWhhbWUtdGlnCi10aWdyaW55YS1lcgotZXRoaW9waWMtaGFsZWhhbWUtdGktZXIK
LXRpZ3JpbnlhLWVyLWFiZWdlZGUKLWV0aGlvcGljLWFiZWdlZGUtdGktZXIKLXRpZ3JpbnlhLWV0
Ci1ldGhpb3BpYy1oYWxlaGFtZS10aS1ldAotdGlncmlueWEtZXQtYWJlZ2VkZQotZXRoaW9waWMt
YWJlZ2VkZS10aS1ldAotdXBwZXItZ3JlZWsKLXVwcGVyLW5vcndlZ2lhbgotYXN0ZXJpc2tzCi1m
b290bm90ZXMKLWhlYnJldwotYXJtZW5pYW4KLWxvd2VyLWFybWVuaWFuCi11cHBlci1hcm1lbmlh
bgotZ2VvcmdpYW4KLWNqay1pZGVvZ3JhcGhpYwotaGlyYWdhbmEKLWthdGFrYW5hCi1oaXJhZ2Fu
YS1pcm9oYQota2F0YWthbmEtaXJvaGEKLSNub25lCitkaXNjLGxpc3Qtc3R5bGUtdHlwZQorY2ly
Y2xlLGxpc3Qtc3R5bGUtdHlwZSwtd2Via2l0LXRleHQtZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVt
cGhhc2lzLXN0eWxlCitzcXVhcmUsbGlzdC1zdHlsZS10eXBlCitkZWNpbWFsLGxpc3Qtc3R5bGUt
dHlwZQorZGVjaW1hbC1sZWFkaW5nLXplcm8sbGlzdC1zdHlsZS10eXBlCithcmFiaWMtaW5kaWMs
bGlzdC1zdHlsZS10eXBlCitiaW5hcnksbGlzdC1zdHlsZS10eXBlCitiZW5nYWxpLGxpc3Qtc3R5
bGUtdHlwZQorY2FtYm9kaWFuLGxpc3Qtc3R5bGUtdHlwZQora2htZXIsbGlzdC1zdHlsZS10eXBl
CitkZXZhbmFnYXJpLGxpc3Qtc3R5bGUtdHlwZQorZ3VqYXJhdGksbGlzdC1zdHlsZS10eXBlCitn
dXJtdWtoaSxsaXN0LXN0eWxlLXR5cGUKK2thbm5hZGEsbGlzdC1zdHlsZS10eXBlCitsb3dlci1o
ZXhhZGVjaW1hbCxsaXN0LXN0eWxlLXR5cGUKK2xhbyxsaXN0LXN0eWxlLXR5cGUKK21hbGF5YWxh
bSxsaXN0LXN0eWxlLXR5cGUKK21vbmdvbGlhbixsaXN0LXN0eWxlLXR5cGUKK215YW5tYXIsbGlz
dC1zdHlsZS10eXBlCitvY3RhbCxsaXN0LXN0eWxlLXR5cGUKK29yaXlhLGxpc3Qtc3R5bGUtdHlw
ZQorcGVyc2lhbixsaXN0LXN0eWxlLXR5cGUKK3VyZHUsbGlzdC1zdHlsZS10eXBlCit0ZWx1Z3Us
bGlzdC1zdHlsZS10eXBlCit0aWJldGFuLGxpc3Qtc3R5bGUtdHlwZQordGhhaSxsaXN0LXN0eWxl
LXR5cGUKK3VwcGVyLWhleGFkZWNpbWFsLGxpc3Qtc3R5bGUtdHlwZQorbG93ZXItcm9tYW4sbGlz
dC1zdHlsZS10eXBlCit1cHBlci1yb21hbixsaXN0LXN0eWxlLXR5cGUKK2xvd2VyLWdyZWVrLGxp
c3Qtc3R5bGUtdHlwZQorbG93ZXItYWxwaGEsbGlzdC1zdHlsZS10eXBlCitsb3dlci1sYXRpbixs
aXN0LXN0eWxlLXR5cGUKK3VwcGVyLWFscGhhLGxpc3Qtc3R5bGUtdHlwZQordXBwZXItbGF0aW4s
bGlzdC1zdHlsZS10eXBlCithZmFyLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUt
YWEtZXQsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS1hYS1lcixsaXN0LXN0eWxl
LXR5cGUKK2FtaGFyaWMsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS1hbS1ldCxs
aXN0LXN0eWxlLXR5cGUKK2FtaGFyaWMtYWJlZ2VkZSxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGlj
LWFiZWdlZGUtYW0tZXQsbGlzdC1zdHlsZS10eXBlCitjamstZWFydGhseS1icmFuY2gsbGlzdC1z
dHlsZS10eXBlCitjamstaGVhdmVubHktc3RlbSxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLGxp
c3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtZ2V6LGxpc3Qtc3R5bGUtdHlwZQorZXRo
aW9waWMtYWJlZ2VkZSxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWFiZWdlZGUtZ2V6LGxpc3Qt
c3R5bGUtdHlwZQoraGFuZ3VsLWNvbnNvbmFudCxsaXN0LXN0eWxlLXR5cGUKK2hhbmd1bCxsaXN0
LXN0eWxlLXR5cGUKK2xvd2VyLW5vcndlZ2lhbixsaXN0LXN0eWxlLXR5cGUKK29yb21vLGxpc3Qt
c3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtb20tZXQsbGlzdC1zdHlsZS10eXBlCitzaWRh
bWEsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS1zaWQtZXQsbGlzdC1zdHlsZS10
eXBlCitzb21hbGksbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS1zby1ldCxsaXN0
LXN0eWxlLXR5cGUKK3RpZ3JlLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtdGln
LGxpc3Qtc3R5bGUtdHlwZQordGlncmlueWEtZXIsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1o
YWxlaGFtZS10aS1lcixsaXN0LXN0eWxlLXR5cGUKK3RpZ3JpbnlhLWVyLWFiZWdlZGUsbGlzdC1z
dHlsZS10eXBlCitldGhpb3BpYy1hYmVnZWRlLXRpLWVyLGxpc3Qtc3R5bGUtdHlwZQordGlncmlu
eWEtZXQsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS10aS1ldCxsaXN0LXN0eWxl
LXR5cGUKK3RpZ3JpbnlhLWV0LWFiZWdlZGUsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1hYmVn
ZWRlLXRpLWV0LGxpc3Qtc3R5bGUtdHlwZQordXBwZXItZ3JlZWssbGlzdC1zdHlsZS10eXBlCit1
cHBlci1ub3J3ZWdpYW4sbGlzdC1zdHlsZS10eXBlCithc3Rlcmlza3MsbGlzdC1zdHlsZS10eXBl
Citmb290bm90ZXMsbGlzdC1zdHlsZS10eXBlCitoZWJyZXcsbGlzdC1zdHlsZS10eXBlCithcm1l
bmlhbixsaXN0LXN0eWxlLXR5cGUKK2xvd2VyLWFybWVuaWFuLGxpc3Qtc3R5bGUtdHlwZQordXBw
ZXItYXJtZW5pYW4sbGlzdC1zdHlsZS10eXBlCitnZW9yZ2lhbixsaXN0LXN0eWxlLXR5cGUKK2Nq
ay1pZGVvZ3JhcGhpYyxsaXN0LXN0eWxlLXR5cGUKK2hpcmFnYW5hLGxpc3Qtc3R5bGUtdHlwZQor
a2F0YWthbmEsbGlzdC1zdHlsZS10eXBlCitoaXJhZ2FuYS1pcm9oYSxsaXN0LXN0eWxlLXR5cGUK
K2thdGFrYW5hLWlyb2hhLGxpc3Qtc3R5bGUtdHlwZQorI25vbmUsbGlzdC1zdHlsZS10eXBlCiAj
CiAjIENTU19QUk9QX0RJU1BMQVk6CiAjCi1pbmxpbmUKLWJsb2NrCi1saXN0LWl0ZW0KLXJ1bi1p
bgotY29tcGFjdAotaW5saW5lLWJsb2NrCi10YWJsZQotaW5saW5lLXRhYmxlCi10YWJsZS1yb3ct
Z3JvdXAKLXRhYmxlLWhlYWRlci1ncm91cAotdGFibGUtZm9vdGVyLWdyb3VwCi10YWJsZS1yb3cK
LXRhYmxlLWNvbHVtbi1ncm91cAotdGFibGUtY29sdW1uCi10YWJsZS1jZWxsCi10YWJsZS1jYXB0
aW9uCi0td2Via2l0LWJveAotLXdlYmtpdC1pbmxpbmUtYm94Ci0td2FwLW1hcnF1ZWUKLSNub25l
CitpbmxpbmUsZGlzcGxheQorYmxvY2ssZGlzcGxheQorbGlzdC1pdGVtLGRpc3BsYXksY29udGVu
dAorcnVuLWluLGRpc3BsYXkKK2NvbXBhY3QsZGlzcGxheQoraW5saW5lLWJsb2NrLGRpc3BsYXkK
K3RhYmxlLGRpc3BsYXkKK2lubGluZS10YWJsZSxkaXNwbGF5Cit0YWJsZS1yb3ctZ3JvdXAsZGlz
cGxheQordGFibGUtaGVhZGVyLWdyb3VwLGRpc3BsYXkKK3RhYmxlLWZvb3Rlci1ncm91cCxkaXNw
bGF5Cit0YWJsZS1yb3csZGlzcGxheQordGFibGUtY29sdW1uLWdyb3VwLGRpc3BsYXkKK3RhYmxl
LWNvbHVtbixkaXNwbGF5Cit0YWJsZS1jZWxsLGRpc3BsYXkKK3RhYmxlLWNhcHRpb24sZGlzcGxh
eQorLXdlYmtpdC1ib3gsZGlzcGxheQorLXdlYmtpdC1pbmxpbmUtYm94LGRpc3BsYXkKKy13YXAt
bWFycXVlZSxkaXNwbGF5Cisjbm9uZSxkaXNwbGF5CiAjCiAjIENTU19QUk9QX0NVUlNPUjoKICMK
LWF1dG8KLWNyb3NzaGFpcgotZGVmYXVsdAotcG9pbnRlcgotbW92ZQotdmVydGljYWwtdGV4dAot
Y2VsbAotY29udGV4dC1tZW51Ci1hbGlhcwotIyBjb3B5Ci1wcm9ncmVzcwotbm8tZHJvcAotbm90
LWFsbG93ZWQKLS13ZWJraXQtem9vbS1pbgotLXdlYmtpdC16b29tLW91dAotZS1yZXNpemUKLW5l
LXJlc2l6ZQotbnctcmVzaXplCi1uLXJlc2l6ZQotc2UtcmVzaXplCi1zdy1yZXNpemUKLXMtcmVz
aXplCi13LXJlc2l6ZQotZXctcmVzaXplCi1ucy1yZXNpemUKLW5lc3ctcmVzaXplCi1ud3NlLXJl
c2l6ZQotY29sLXJlc2l6ZQotcm93LXJlc2l6ZQotdGV4dAotd2FpdAotaGVscAotYWxsLXNjcm9s
bAotLXdlYmtpdC1ncmFiCi0td2Via2l0LWdyYWJiaW5nCi0jIG5vbmUKK2F1dG8sY3Vyc29yLGFs
aWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZSxjb2xvci1yZW5kZXJpbmcsaW1hZ2Ut
cmVuZGVyaW5nLG1hcmdpbixtYXJnaW4tdG9wLG1hcmdpbi1yaWdodCxtYXJnaW4tYm90dG9tLG1h
cmdpbi1sZWZ0LG1hcnF1ZWUtZGlyZWN0aW9uLG92ZXJmbG93LG92ZXJmbG93LXgsb3ZlcmZsb3ct
eSxwYWdlLWJyZWFrLWFmdGVyLHBhZ2UtYnJlYWstYmVmb3JlLHBhZ2UtYnJlYWstaW5zaWRlLHBv
aW50ZXItZXZlbnRzLHRhYmxlLWxheW91dCx0ZXh0LWxpbmUtdGhyb3VnaC13aWR0aCx0ZXh0LW92
ZXJsaW5lLXdpZHRoLHRleHQtdW5kZXJsaW5lLXdpZHRoLHRleHQtcmVuZGVyaW5nLC13ZWJraXQt
Zm9udC1zbW9vdGhpbmcsLXdlYmtpdC1oeXBoZW5zCitjcm9zc2hhaXIsY3Vyc29yCitkZWZhdWx0
LGN1cnNvciwtd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24KK3BvaW50ZXIsY3Vyc29yCittb3ZlLGN1
cnNvcgordmVydGljYWwtdGV4dCxjdXJzb3IKK2NlbGwsY3Vyc29yCitjb250ZXh0LW1lbnUsY3Vy
c29yCithbGlhcyxjdXJzb3IKKyMgY29weSxjdXJzb3IKK3Byb2dyZXNzLGN1cnNvcgorbm8tZHJv
cCxjdXJzb3IKK25vdC1hbGxvd2VkLGN1cnNvcgorLXdlYmtpdC16b29tLWluLGN1cnNvcgorLXdl
YmtpdC16b29tLW91dCxjdXJzb3IKK2UtcmVzaXplLGN1cnNvcgorbmUtcmVzaXplLGN1cnNvcgor
bnctcmVzaXplLGN1cnNvcgorbi1yZXNpemUsY3Vyc29yCitzZS1yZXNpemUsY3Vyc29yCitzdy1y
ZXNpemUsY3Vyc29yCitzLXJlc2l6ZSxjdXJzb3IKK3ctcmVzaXplLGN1cnNvcgorZXctcmVzaXpl
LGN1cnNvcgorbnMtcmVzaXplLGN1cnNvcgorbmVzdy1yZXNpemUsY3Vyc29yCitud3NlLXJlc2l6
ZSxjdXJzb3IKK2NvbC1yZXNpemUsY3Vyc29yCityb3ctcmVzaXplLGN1cnNvcgordGV4dCxjdXJz
b3IKK3dhaXQsY3Vyc29yCitoZWxwLGN1cnNvcgorYWxsLXNjcm9sbCxjdXJzb3IKKy13ZWJraXQt
Z3JhYixjdXJzb3IKKy13ZWJraXQtZ3JhYmJpbmcsY3Vyc29yCisjIG5vbmUsY3Vyc29yCiAjCiAj
IENTU19QUk9QX0RJUkVDVElPTjoKICMKLWx0cgotcnRsCitsdHIsZGlyZWN0aW9uCitydGwsZGly
ZWN0aW9uCiAjCiAjIENTU19QUk9QX1RFWFRfVFJBTlNGT1JNOgogIwotY2FwaXRhbGl6ZQotdXBw
ZXJjYXNlCi1sb3dlcmNhc2UKLSNub25lCitjYXBpdGFsaXplLHRleHQtdHJhbnNmb3JtCit1cHBl
cmNhc2UsdGV4dC10cmFuc2Zvcm0KK2xvd2VyY2FzZSx0ZXh0LXRyYW5zZm9ybQorI25vbmUsdGV4
dC10cmFuc2Zvcm0KICMKICMgQ1NTX1BST1BfVklTSUJJTElUWToKICMKLXZpc2libGUKLSNoaWRk
ZW4KLWNvbGxhcHNlCit2aXNpYmxlLHZpc2liaWxpdHksb3ZlcmZsb3csb3ZlcmZsb3cteCxvdmVy
Zmxvdy15LHBvaW50ZXItZXZlbnRzCisjaGlkZGVuLHZpc2liaWxpdHkKK2NvbGxhcHNlLHZpc2li
aWxpdHksYm9yZGVyLWNvbGxhcHNlLG1hcmdpbi1iZWZvcmUtY29sbGFwc2UsbWFyZ2luLWFmdGVy
LWNvbGxhcHNlLG1hcmdpbi10b3AtY29sbGFwc2UsbWFyZ2luLWJvdHRvbS1jb2xsYXBzZQogIwog
IyBVbm9yZGVyZWQgcmVzdAogIwotYTMKLWE0Ci1hNQotYWJvdmUKLWFic29sdXRlCi1hbHdheXMK
LWF2b2lkCi1iNAotYjUKLWJlbG93Ci1iaWRpLW92ZXJyaWRlCi1ibGluawotYm90aAotY2xvc2Ut
cXVvdGUKK2EzLHNpemUKK2E0LHNpemUKK2E1LHNpemUKK2Fib3ZlLGJveC1yZWZsZWN0CithYnNv
bHV0ZSxwb3NpdGlvbgorYWx3YXlzLHBhZ2UtYnJlYWstYWZ0ZXIscGFnZS1icmVhay1iZWZvcmUK
K2F2b2lkLHBhZ2UtYnJlYWstYWZ0ZXIscGFnZS1icmVhay1iZWZvcmUscGFnZS1icmVhay1pbnNp
ZGUKK2I0LHNpemUKK2I1LHNpemUKK2JlbG93LGJveC1yZWZsZWN0CitiaWRpLW92ZXJyaWRlLHVu
aWNvZGUtYmlkaQorYmxpbmssdGV4dC1kZWNvcmF0aW9uCitib3RoLGNsZWFyCitjbG9zZS1xdW90
ZSxjb250ZW50CiBjcm9wCiBjcm9zcwotZW1iZWQKLWZpeGVkCitlbWJlZCx1bmljb2RlLWJpZGkK
K2ZpeGVkLHBvc2l0aW9uLHRhYmxlLWxheW91dAogaGFuZAotaGlkZQoraGlkZSxlbXB0eS1jZWxs
cwogaGlnaGVyCi1pbnZlcnQKLWxhbmRzY2FwZQotbGVkZ2VyCi1sZWdhbAotbGV0dGVyCitpbnZl
cnQsb3V0bGluZS1jb2xvcgorbGFuZHNjYXBlLHNpemUKK2xlZGdlcixzaXplCitsZWdhbCxzaXpl
CitsZXR0ZXIsc2l6ZQogbGV2ZWwKLWxpbmUtdGhyb3VnaAorbGluZS10aHJvdWdoLHRleHQtZGVj
b3JhdGlvbgogbG9jYWwKIGxvdWQKIGxvd2VyCiAtd2Via2l0LW1hcnF1ZWUKIG1peAotbm8tY2xv
c2UtcXVvdGUKLW5vLW9wZW4tcXVvdGUKLW5vd3JhcAotb3Blbi1xdW90ZQotb3ZlcmxheQotb3Zl
cmxpbmUKLXBvcnRyYWl0Ci1wcmUKLXByZS1saW5lCi1wcmUtd3JhcAotcmVsYXRpdmUKLXNjcm9s
bAotc2VwYXJhdGUKLXNob3cKLXN0YXRpYwotdGhpY2sKLXRoaW4KLXVuZGVybGluZQorbm8tY2xv
c2UtcXVvdGUsY29udGVudAorbm8tb3Blbi1xdW90ZSxjb250ZW50Citub3dyYXAsd2hpdGUtc3Bh
Y2UKK29wZW4tcXVvdGUsY29udGVudAorb3ZlcmxheSxvdmVyZmxvdyxvdmVyZmxvdy14LG92ZXJm
bG93LXkKK292ZXJsaW5lLHRleHQtZGVjb3JhdGlvbgorcG9ydHJhaXQsc2l6ZQorcHJlLHdoaXRl
LXNwYWNlCitwcmUtbGluZSx3aGl0ZS1zcGFjZQorcHJlLXdyYXAsd2hpdGUtc3BhY2UKK3JlbGF0
aXZlLHBvc2l0aW9uCitzY3JvbGwsbWFycXVlZS1zdHlsZSxvdmVyZmxvdyxvdmVyZmxvdy14LG92
ZXJmbG93LXkKK3NlcGFyYXRlLGJvcmRlci1jb2xsYXBzZSxtYXJnaW4tYmVmb3JlLWNvbGxhcHNl
LG1hcmdpbi1hZnRlci1jb2xsYXBzZSxtYXJnaW4tdG9wLWNvbGxhcHNlLG1hcmdpbi1ib3R0b20t
Y29sbGFwc2UKK3Nob3csZW1wdHktY2VsbHMKK3N0YXRpYyxwb3NpdGlvbgordGhpY2ssb3V0bGlu
ZS13aWR0aCxib3JkZXItd2lkdGgsYm9yZGVyLXRvcC13aWR0aCxib3JkZXItcmlnaHQtd2lkdGgs
Ym9yZGVyLWJvdHRvbS13aWR0aCxib3JkZXItbGVmdC13aWR0aCx0ZXh0LWxpbmUtdGhyb3VnaC13
aWR0aCx0ZXh0LW92ZXJsaW5lLXdpZHRoLHRleHQtdW5kZXJsaW5lLXdpZHRoCit0aGluLG91dGxp
bmUtd2lkdGgsYm9yZGVyLXdpZHRoLGJvcmRlci10b3Atd2lkdGgsYm9yZGVyLXJpZ2h0LXdpZHRo
LGJvcmRlci1ib3R0b20td2lkdGgsYm9yZGVyLWxlZnQtd2lkdGgsdGV4dC1saW5lLXRocm91Z2gt
d2lkdGgsdGV4dC1vdmVybGluZS13aWR0aCx0ZXh0LXVuZGVybGluZS13aWR0aAordW5kZXJsaW5l
LHRleHQtZGVjb3JhdGlvbgogLXdlYmtpdC1ub3dyYXAKIAogIyBDU1MzIFZhbHVlcwogIyBDU1Nf
UFJPUF9CT1hfQUxJR04KLXN0cmV0Y2gKLXN0YXJ0Ci1lbmQKLSNjZW50ZXIKLSNiYXNlbGluZQor
c3RyZXRjaCxib3gtYWxpZ24sYm9yZGVyLWltYWdlCitzdGFydCxib3gtYWxpZ24KK2VuZCxib3gt
YWxpZ24KKyNjZW50ZXIsYm94LWFsaWduCisjYmFzZWxpbmUsYm94LWFsaWduCiAKICMgQ1NTX1BS
T1BfQk9YX0RJUkVDVElPTgotIyBub3JtYWwKLXJldmVyc2UKKyMgbm9ybWFsLGJveC1kaXJlY3Rp
b24KK3JldmVyc2UsYm94LWRpcmVjdGlvbixtYXJxdWVlLWRpcmVjdGlvbgogCiAjIENTU19QUk9Q
X0JPWF9PUklFTlQKLWhvcml6b250YWwKLXZlcnRpY2FsCi1pbmxpbmUtYXhpcwotYmxvY2stYXhp
cworaG9yaXpvbnRhbCxib3gtb3JpZW50LC13ZWJraXQtdGV4dC1jb21iaW5lCit2ZXJ0aWNhbCxi
b3gtb3JpZW50CitpbmxpbmUtYXhpcyxib3gtb3JpZW50CitibG9jay1heGlzLGJveC1vcmllbnQK
IAogIyBDU1NfUFJPUF9CT1hfUEFDSwogIyBzdGFydApAQCAtNDYyLDMzICs0NjIsMzMgQEAgYmxv
Y2stYXhpcwogIyBqdXN0aWZ5CiAKICMgQ1NTX1BST1BfQk9YX0xJTkVTCi1zaW5nbGUKLW11bHRp
cGxlCitzaW5nbGUsYm94LWxpbmVzCittdWx0aXBsZSxib3gtbGluZXMKIAogIyBDU1NfUFJPUF9N
QVJRVUVFX0RJUkVDVElPTgotZm9yd2FyZHMKLWJhY2t3YXJkcwotYWhlYWQKLSMgcmV2ZXJzZQot
IyBsZWZ0Ci0jIHJpZ2h0Ci11cAotZG93bgotIyBhdXRvCitmb3J3YXJkcyxtYXJxdWVlLWRpcmVj
dGlvbgorYmFja3dhcmRzLG1hcnF1ZWUtZGlyZWN0aW9uCithaGVhZCxtYXJxdWVlLWRpcmVjdGlv
bgorIyByZXZlcnNlLG1hcnF1ZWUtZGlyZWN0aW9uCisjIGxlZnQsbWFycXVlZS1kaXJlY3Rpb24K
KyMgcmlnaHQsbWFycXVlZS1kaXJlY3Rpb24KK3VwLG1hcnF1ZWUtZGlyZWN0aW9uCitkb3duLG1h
cnF1ZWUtZGlyZWN0aW9uCisjIGF1dG8sbWFycXVlZS1kaXJlY3Rpb24KIAogIyBDU1NfUFJPUF9N
QVJRVUVFX1NQRUVECi1zbG93Ci0jIG5vcm1hbAotZmFzdAorc2xvdyxtYXJxdWVlLXNwZWVkCisj
IG5vcm1hbCxtYXJxdWVlLXNwZWVkCitmYXN0LG1hcnF1ZWUtc3BlZWQKIAogIyBDU1NfUFJPUF9N
QVJRVUVFX1JFUEVUSVRJT04KLWluZmluaXRlCitpbmZpbml0ZSxtYXJxdWVlLXJlcGV0aXRpb24K
IAogIyBDU1NfUFJPUF9NQVJRVUVFX1NUWUxFCi0jIG5vbmUKLXNsaWRlCi0jIHNjcm9sbAotYWx0
ZXJuYXRlCisjIG5vbmUsbWFycXVlZS1zdHlsZQorc2xpZGUsbWFycXVlZS1zdHlsZQorIyBzY3Jv
bGwsbWFycXVlZS1zdHlsZQorYWx0ZXJuYXRlLG1hcnF1ZWUtc3R5bGUKIAogIwogIyBDU1NfUFJP
UF9fS0hUTUxfVVNFUl9NT0RJRlkKQEAgLTUxNiwyOCArNTE2LDI4IEBAIG1pbi1pbnRyaW5zaWMK
ICMKICMgQ1NTX1BST1BfVEVYVF9PVkVSRkxPVwogIwotY2xpcAotZWxsaXBzaXMKK2NsaXAsdGV4
dC1vdmVyZmxvdyx0ZXh0LW92ZXJmbG93LW1vZGUKK2VsbGlwc2lzLHRleHQtb3ZlcmZsb3csdGV4
dC1vdmVyZmxvdy1tb2RlCiAKICMKICMgQ1NTX1BST1BfX0tIVE1MX01BUkdJTl9DT0xMQVBTRQog
IwotIyBjb2xsYXBzZQotIyBzZXBhcmF0ZQotZGlzY2FyZAorIyBjb2xsYXBzZSxtYXJnaW4tYmVm
b3JlLWNvbGxhcHNlLG1hcmdpbi1hZnRlci1jb2xsYXBzZSxtYXJnaW4tdG9wLWNvbGxhcHNlLG1h
cmdpbi1ib3R0b20tY29sbGFwc2UKKyMgc2VwYXJhdGUsbWFyZ2luLWJlZm9yZS1jb2xsYXBzZSxt
YXJnaW4tYWZ0ZXItY29sbGFwc2UsbWFyZ2luLXRvcC1jb2xsYXBzZSxtYXJnaW4tYm90dG9tLWNv
bGxhcHNlCitkaXNjYXJkLG1hcmdpbi1iZWZvcmUtY29sbGFwc2UsbWFyZ2luLWFmdGVyLWNvbGxh
cHNlLG1hcmdpbi10b3AtY29sbGFwc2UsbWFyZ2luLWJvdHRvbS1jb2xsYXBzZQogCiAjCiAjIENT
U19QUk9QX1RFWFRfKl9DT0xPUgogIwotZG90LWRhc2gKLWRvdC1kb3QtZGFzaAotd2F2ZQorZG90
LWRhc2gsdGV4dC11bmRlcmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5bGUsdGV4dC1saW5lLXRocm91
Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZQorZG90LWRvdC1k
YXNoLHRleHQtdW5kZXJsaW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlLHRleHQtbGluZS10aHJvdWdo
LHRleHQtbGluZS10aHJvdWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUtc3R5bGUKK3dhdmUsdGV4dC11
bmRlcmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5l
LXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZQogCiAjCiAjIENTU19QUk9QX1RFWFRf
Kl9NT0RFCiAjCi1jb250aW51b3VzCi1za2lwLXdoaXRlLXNwYWNlCitjb250aW51b3VzLHRleHQt
bGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLW1vZGUsdGV4dC1vdmVybGluZS1tb2RlLHRl
eHQtdW5kZXJsaW5lLW1vZGUKK3NraXAtd2hpdGUtc3BhY2UsdGV4dC1saW5lLXRocm91Z2gsdGV4
dC1saW5lLXRocm91Z2gtbW9kZSx0ZXh0LW92ZXJsaW5lLW1vZGUsdGV4dC11bmRlcmxpbmUtbW9k
ZQogCiAjCiAjIENTU19QUk9QX1dPUkRfQlJFQUsKQEAgLTU0NywxMiArNTQ3LDEyIEBAIGJyZWFr
LWFsbAogIwogIyBDU1NfUFJPUF9XT1JEX1dSQVAKICMKLWJyZWFrLXdvcmQKK2JyZWFrLXdvcmQs
d29yZC13cmFwCiAKICMKICMgQ1NTX1BST1BfX0tIVE1MX05CU1BfTU9ERQogIwotc3BhY2UKK3Nw
YWNlLGJhY2tncm91bmQtcmVwZWF0CiAKICMKICMgQ1NTX1BST1BfX0tIVE1MX0xJTkVfQlJFQUsK
QEAgLTYyMiw5ICs2MjIsOSBAQCBjYXBzLWxvY2staW5kaWNhdG9yCiAjCiAjIENTU19QUk9QX0JP
UkRFUl9JTUFHRQogIwotIyBzdHJldGNoCi0jIHJlcGVhdAotcm91bmQKKyMgc3RyZXRjaCxib3Jk
ZXItaW1hZ2UKKyMgcmVwZWF0LGJvcmRlci1pbWFnZQorcm91bmQsYmFja2dyb3VuZC1yZXBlYXQs
c3Ryb2tlLWxpbmVqb2luCiAKICMKICMgQ1NTX1BST1BfQkFDS0dST1VORF9DTElQL09SSUdJTgpA
QCAtNjMzLDE3ICs2MzMsMTcgQEAgcm91bmQKICMgYm9yZGVyLWJveC9jb250ZW50LWJveC9wYWRk
aW5nLWJveCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgogIwogYm9yZGVyCi1ib3JkZXItYm94Citi
b3JkZXItYm94LGJhY2tncm91bmQtb3JpZ2luLGJhY2tncm91bmQtY2xpcAogY29udGVudAotY29u
dGVudC1ib3gKK2NvbnRlbnQtYm94LGJhY2tncm91bmQtb3JpZ2luLGJhY2tncm91bmQtY2xpcAog
cGFkZGluZwotcGFkZGluZy1ib3gKK3BhZGRpbmctYm94LGJhY2tncm91bmQtb3JpZ2luLGJhY2tn
cm91bmQtY2xpcAogCiAjCiAjIGJhY2tncm91bmQtc2l6ZQogIwotY29udGFpbgotY292ZXIKK2Nv
bnRhaW4sYmFja2dyb3VuZC1zaXplCitjb3ZlcixiYWNrZ3JvdW5kLXNpemUKIAogIwogIyBDU1Nf
UFJPUF9fS0hUTUxfUlRMX09SREVSSU5HCkBAIC03MDAsNDcgKzcwMCw0NyBAQCBzdGVwLWVuZAog
IwogIyBDU1NfUFJPUF9aT09NCiAjCi1kb2N1bWVudAotcmVzZXQKK2RvY3VtZW50LHpvb20KK3Jl
c2V0LHpvb20KIAogIwogIyBDU1NfUFJPUF9QT0lOVEVSX0VWRU5UUwogIwotdmlzaWJsZVBhaW50
ZWQKLXZpc2libGVGaWxsCi12aXNpYmxlU3Ryb2tlCi0jdmlzaWJsZQotcGFpbnRlZAotZmlsbAot
c3Ryb2tlCi0jYWxsCi0jbm9uZQordmlzaWJsZVBhaW50ZWQscG9pbnRlci1ldmVudHMKK3Zpc2li
bGVGaWxsLHBvaW50ZXItZXZlbnRzCit2aXNpYmxlU3Ryb2tlLHBvaW50ZXItZXZlbnRzCisjdmlz
aWJsZSxwb2ludGVyLWV2ZW50cworcGFpbnRlZCxwb2ludGVyLWV2ZW50cworZmlsbCxwb2ludGVy
LWV2ZW50cworc3Ryb2tlLHBvaW50ZXItZXZlbnRzCisjYWxsLHBvaW50ZXItZXZlbnRzCisjbm9u
ZSxwb2ludGVyLWV2ZW50cwogCiAjCiAjIENTU19QUk9QX1NQRUVDSAogIwotc3BlbGwtb3V0Ci1k
aWdpdHMKLWxpdGVyYWwtcHVuY3R1YXRpb24KLW5vLXB1bmN0dWF0aW9uCitzcGVsbC1vdXQsc3Bl
YWsKK2RpZ2l0cyxzcGVhaworbGl0ZXJhbC1wdW5jdHVhdGlvbixzcGVhaworbm8tcHVuY3R1YXRp
b24sc3BlYWsKIAogIwogIyAtd2Via2l0LWZvbnQtc21vb3RoaW5nCiAjCi0jIGF1dG8KLSMgbm9u
ZQotYW50aWFsaWFzZWQKLXN1YnBpeGVsLWFudGlhbGlhc2VkCisjIGF1dG8sLXdlYmtpdC1mb250
LXNtb290aGluZworIyBub25lLC13ZWJraXQtZm9udC1zbW9vdGhpbmcKK2FudGlhbGlhc2VkLC13
ZWJraXQtZm9udC1zbW9vdGhpbmcKK3N1YnBpeGVsLWFudGlhbGlhc2VkLC13ZWJraXQtZm9udC1z
bW9vdGhpbmcKIAogIyB0ZXh0LXJlbmRlcmluZwotI2F1dG8KLW9wdGltaXplU3BlZWQKLW9wdGlt
aXplTGVnaWJpbGl0eQotZ2VvbWV0cmljUHJlY2lzaW9uCisjYXV0byx0ZXh0LXJlbmRlcmluZwor
b3B0aW1pemVTcGVlZCx0ZXh0LXJlbmRlcmluZyxjb2xvci1yZW5kZXJpbmcsaW1hZ2UtcmVuZGVy
aW5nCitvcHRpbWl6ZUxlZ2liaWxpdHksdGV4dC1yZW5kZXJpbmcKK2dlb21ldHJpY1ByZWNpc2lv
bix0ZXh0LXJlbmRlcmluZwogCiAjIC13ZWJraXQtY29sb3ItY29ycmVjdGlvbgotI2RlZmF1bHQK
LXNSR0IKKyNkZWZhdWx0LC13ZWJraXQtY29sb3ItY29ycmVjdGlvbgorc1JHQiwtd2Via2l0LWNv
bG9yLWNvcnJlY3Rpb24KIAogIyAoLXdlYmtpdC12aWV3LW1vZGU6KSBtZWRpYSBmZWF0dXJlOgog
ZmxvYXRpbmcKQEAgLTc1MCwzMyArNzUwLDMzIEBAIG1pbmltaXplZAogd2luZG93ZWQKIAogIyAt
d2Via2l0LWh5cGhlbnMKLSMgbm9uZQotbWFudWFsCi0jIGF1dG8KKyMgbm9uZSwtd2Via2l0LWh5
cGhlbnMKK21hbnVhbCwtd2Via2l0LWh5cGhlbnMKKyMgYXV0bywtd2Via2l0LWh5cGhlbnMKIAog
IyAtd2Via2l0LXdyaXRpbmctbW9kZQogIyBTVkcgY29tcGF0aWJpbGl0eQotbHIKLXJsCi10Ygot
bHItdGIKLXJsLXRiCi10Yi1ybAorbHIsLXdlYmtpdC13cml0aW5nLW1vZGUKK3JsLC13ZWJraXQt
d3JpdGluZy1tb2RlCit0Yiwtd2Via2l0LXdyaXRpbmctbW9kZQorbHItdGIsLXdlYmtpdC13cml0
aW5nLW1vZGUKK3JsLXRiLC13ZWJraXQtd3JpdGluZy1tb2RlCit0Yi1ybCwtd2Via2l0LXdyaXRp
bmctbW9kZQogIyBTdGFuZGFyZCB2YWx1ZXMgZnJvbSBDU1MzCi1ob3Jpem9udGFsLXRiCi12ZXJ0
aWNhbC1ybAotdmVydGljYWwtbHIKLWhvcml6b250YWwtYnQKK2hvcml6b250YWwtdGIsLXdlYmtp
dC13cml0aW5nLW1vZGUKK3ZlcnRpY2FsLXJsLC13ZWJraXQtd3JpdGluZy1tb2RlCit2ZXJ0aWNh
bC1sciwtd2Via2l0LXdyaXRpbmctbW9kZQoraG9yaXpvbnRhbC1idCwtd2Via2l0LXdyaXRpbmct
bW9kZQogCiAjIC13ZWJraXQtdGV4dC1lbXBoYXNpcy1wb3NpdGlvbgotb3ZlcgotdW5kZXIKK292
ZXIsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXBvc2l0aW9uCit1bmRlciwtd2Via2l0LXRleHQtZW1w
aGFzaXMtcG9zaXRpb24KIAogIyAtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKLWZpbGxlZAot
b3BlbgotZG90Ci0jIGNpcmNsZQotZG91YmxlLWNpcmNsZQotdHJpYW5nbGUKLXNlc2FtZQorZmls
bGVkLC13ZWJraXQtdGV4dC1lbXBoYXNpcywtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKK29w
ZW4sLXdlYmtpdC10ZXh0LWVtcGhhc2lzLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQorZG90
LC13ZWJraXQtdGV4dC1lbXBoYXNpcywtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKKyMgY2ly
Y2xlLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQorZG91YmxlLWNpcmNsZSwtd2Via2l0LXRl
eHQtZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCit0cmlhbmdsZSwtd2Via2l0
LXRleHQtZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCitzZXNhbWUsLXdlYmtp
dC10ZXh0LWVtcGhhc2lzLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1dlYkNvcmUvY3NzL1NWR0NTU1Zh
bHVlS2V5d29yZHMuaW4KaW5kZXggYTJjOWY4My4uZmZiOGFjOCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9XZWJDb3JlL2Nzcy9TVkdDU1NWYWx1
ZUtleXdvcmRzLmluCkBAIC0xMiwxNjQgKzEyLDE2NCBAQAogIwogIyBDU1NfUFJPUF8qX0NPTE9S
CiAjCi1hbGljZWJsdWUKLWFudGlxdWV3aGl0ZQorYWxpY2VibHVlLF9jb2xvcl8KK2FudGlxdWV3
aGl0ZSxfY29sb3JfCiAjIGFxdWEKLWFxdWFtYXJpbmUKLWF6dXJlCi1iZWlnZQotYmlzcXVlCith
cXVhbWFyaW5lLF9jb2xvcl8KK2F6dXJlLF9jb2xvcl8KK2JlaWdlLF9jb2xvcl8KK2Jpc3F1ZSxf
Y29sb3JfCiAjIGJsYWNrCi1ibGFuY2hlZGFsbW9uZAorYmxhbmNoZWRhbG1vbmQsX2NvbG9yXwog
IyBibHVlCi1ibHVldmlvbGV0Ci1icm93bgotYnVybHl3b29kCi1jYWRldGJsdWUKLWNoYXJ0cmV1
c2UKLWNob2NvbGF0ZQotY29yYWwKLWNvcm5mbG93ZXJibHVlCi1jb3Juc2lsawotY3JpbXNvbgot
Y3lhbgotZGFya2JsdWUKLWRhcmtjeWFuCi1kYXJrZ29sZGVucm9kCi1kYXJrZ3JheQotZGFya2dy
ZWVuCi1kYXJrZ3JleQotZGFya2toYWtpCi1kYXJrbWFnZW50YQotZGFya29saXZlZ3JlZW4KLWRh
cmtvcmFuZ2UKLWRhcmtvcmNoaWQKLWRhcmtyZWQKLWRhcmtzYWxtb24KLWRhcmtzZWFncmVlbgot
ZGFya3NsYXRlYmx1ZQotZGFya3NsYXRlZ3JheQotZGFya3NsYXRlZ3JleQotZGFya3R1cnF1b2lz
ZQotZGFya3Zpb2xldAotZGVlcHBpbmsKLWRlZXBza3libHVlCi1kaW1ncmF5Ci1kaW1ncmV5Ci1k
b2RnZXJibHVlCi1maXJlYnJpY2sKLWZsb3JhbHdoaXRlCi1mb3Jlc3RncmVlbgorYmx1ZXZpb2xl
dCxfY29sb3JfCiticm93bixfY29sb3JfCitidXJseXdvb2QsX2NvbG9yXworY2FkZXRibHVlLF9j
b2xvcl8KK2NoYXJ0cmV1c2UsX2NvbG9yXworY2hvY29sYXRlLF9jb2xvcl8KK2NvcmFsLF9jb2xv
cl8KK2Nvcm5mbG93ZXJibHVlLF9jb2xvcl8KK2Nvcm5zaWxrLF9jb2xvcl8KK2NyaW1zb24sX2Nv
bG9yXworY3lhbixfY29sb3JfCitkYXJrYmx1ZSxfY29sb3JfCitkYXJrY3lhbixfY29sb3JfCitk
YXJrZ29sZGVucm9kLF9jb2xvcl8KK2RhcmtncmF5LF9jb2xvcl8KK2RhcmtncmVlbixfY29sb3Jf
CitkYXJrZ3JleSxfY29sb3JfCitkYXJra2hha2ksX2NvbG9yXworZGFya21hZ2VudGEsX2NvbG9y
XworZGFya29saXZlZ3JlZW4sX2NvbG9yXworZGFya29yYW5nZSxfY29sb3JfCitkYXJrb3JjaGlk
LF9jb2xvcl8KK2RhcmtyZWQsX2NvbG9yXworZGFya3NhbG1vbixfY29sb3JfCitkYXJrc2VhZ3Jl
ZW4sX2NvbG9yXworZGFya3NsYXRlYmx1ZSxfY29sb3JfCitkYXJrc2xhdGVncmF5LF9jb2xvcl8K
K2RhcmtzbGF0ZWdyZXksX2NvbG9yXworZGFya3R1cnF1b2lzZSxfY29sb3JfCitkYXJrdmlvbGV0
LF9jb2xvcl8KK2RlZXBwaW5rLF9jb2xvcl8KK2RlZXBza3libHVlLF9jb2xvcl8KK2RpbWdyYXks
X2NvbG9yXworZGltZ3JleSxfY29sb3JfCitkb2RnZXJibHVlLF9jb2xvcl8KK2ZpcmVicmljayxf
Y29sb3JfCitmbG9yYWx3aGl0ZSxfY29sb3JfCitmb3Jlc3RncmVlbixfY29sb3JfCiAjIGZ1Y2hz
aWEKLWdhaW5zYm9ybwotZ2hvc3R3aGl0ZQotZ29sZAotZ29sZGVucm9kCitnYWluc2Jvcm8sX2Nv
bG9yXworZ2hvc3R3aGl0ZSxfY29sb3JfCitnb2xkLF9jb2xvcl8KK2dvbGRlbnJvZCxfY29sb3Jf
CiAjIGdyYXkKICMgZ3JleQogIyBncmVlbgotZ3JlZW55ZWxsb3cKLWhvbmV5ZGV3Ci1ob3RwaW5r
Ci1pbmRpYW5yZWQKLWluZGlnbwotaXZvcnkKLWtoYWtpCi1sYXZlbmRlcgotbGF2ZW5kZXJibHVz
aAotbGF3bmdyZWVuCi1sZW1vbmNoaWZmb24KLWxpZ2h0Ymx1ZQotbGlnaHRjb3JhbAotbGlnaHRj
eWFuCi1saWdodGdvbGRlbnJvZHllbGxvdwotbGlnaHRncmF5Ci1saWdodGdyZWVuCi1saWdodGdy
ZXkKLWxpZ2h0cGluawotbGlnaHRzYWxtb24KLWxpZ2h0c2VhZ3JlZW4KLWxpZ2h0c2t5Ymx1ZQot
bGlnaHRzbGF0ZWdyYXkKLWxpZ2h0c2xhdGVncmV5Ci1saWdodHN0ZWVsYmx1ZQotbGlnaHR5ZWxs
b3cKK2dyZWVueWVsbG93LF9jb2xvcl8KK2hvbmV5ZGV3LF9jb2xvcl8KK2hvdHBpbmssX2NvbG9y
XworaW5kaWFucmVkLF9jb2xvcl8KK2luZGlnbyxfY29sb3JfCitpdm9yeSxfY29sb3JfCitraGFr
aSxfY29sb3JfCitsYXZlbmRlcixfY29sb3JfCitsYXZlbmRlcmJsdXNoLF9jb2xvcl8KK2xhd25n
cmVlbixfY29sb3JfCitsZW1vbmNoaWZmb24sX2NvbG9yXworbGlnaHRibHVlLF9jb2xvcl8KK2xp
Z2h0Y29yYWwsX2NvbG9yXworbGlnaHRjeWFuLF9jb2xvcl8KK2xpZ2h0Z29sZGVucm9keWVsbG93
LF9jb2xvcl8KK2xpZ2h0Z3JheSxfY29sb3JfCitsaWdodGdyZWVuLF9jb2xvcl8KK2xpZ2h0Z3Jl
eSxfY29sb3JfCitsaWdodHBpbmssX2NvbG9yXworbGlnaHRzYWxtb24sX2NvbG9yXworbGlnaHRz
ZWFncmVlbixfY29sb3JfCitsaWdodHNreWJsdWUsX2NvbG9yXworbGlnaHRzbGF0ZWdyYXksX2Nv
bG9yXworbGlnaHRzbGF0ZWdyZXksX2NvbG9yXworbGlnaHRzdGVlbGJsdWUsX2NvbG9yXworbGln
aHR5ZWxsb3csX2NvbG9yXwogIyBsaW1lCi1saW1lZ3JlZW4KLWxpbmVuCi1tYWdlbnRhCitsaW1l
Z3JlZW4sX2NvbG9yXworbGluZW4sX2NvbG9yXworbWFnZW50YSxfY29sb3JfCiAjIG1hcm9vbgot
bWVkaXVtYXF1YW1hcmluZQotbWVkaXVtYmx1ZQotbWVkaXVtb3JjaGlkCi1tZWRpdW1wdXJwbGUK
LW1lZGl1bXNlYWdyZWVuCi1tZWRpdW1zbGF0ZWJsdWUKLW1lZGl1bXNwcmluZ2dyZWVuCi1tZWRp
dW10dXJxdW9pc2UKLW1lZGl1bXZpb2xldHJlZAotbWlkbmlnaHRibHVlCi1taW50Y3JlYW0KLW1p
c3R5cm9zZQotbW9jY2FzaW4KLW5hdmFqb3doaXRlCittZWRpdW1hcXVhbWFyaW5lLF9jb2xvcl8K
K21lZGl1bWJsdWUsX2NvbG9yXworbWVkaXVtb3JjaGlkLF9jb2xvcl8KK21lZGl1bXB1cnBsZSxf
Y29sb3JfCittZWRpdW1zZWFncmVlbixfY29sb3JfCittZWRpdW1zbGF0ZWJsdWUsX2NvbG9yXwor
bWVkaXVtc3ByaW5nZ3JlZW4sX2NvbG9yXworbWVkaXVtdHVycXVvaXNlLF9jb2xvcl8KK21lZGl1
bXZpb2xldHJlZCxfY29sb3JfCittaWRuaWdodGJsdWUsX2NvbG9yXworbWludGNyZWFtLF9jb2xv
cl8KK21pc3R5cm9zZSxfY29sb3JfCittb2NjYXNpbixfY29sb3JfCituYXZham93aGl0ZSxfY29s
b3JfCiAjIG5hdnkKLW9sZGxhY2UKK29sZGxhY2UsX2NvbG9yXwogIyBvbGl2ZQotb2xpdmVkcmFi
CitvbGl2ZWRyYWIsX2NvbG9yXwogIyBvcmFuZ2UKLW9yYW5nZXJlZAotb3JjaGlkCi1wYWxlZ29s
ZGVucm9kCi1wYWxlZ3JlZW4KLXBhbGV0dXJxdW9pc2UKLXBhbGV2aW9sZXRyZWQKLXBhcGF5YXdo
aXAKLXBlYWNocHVmZgotcGVydQotcGluawotcGx1bQotcG93ZGVyYmx1ZQorb3JhbmdlcmVkLF9j
b2xvcl8KK29yY2hpZCxfY29sb3JfCitwYWxlZ29sZGVucm9kLF9jb2xvcl8KK3BhbGVncmVlbixf
Y29sb3JfCitwYWxldHVycXVvaXNlLF9jb2xvcl8KK3BhbGV2aW9sZXRyZWQsX2NvbG9yXworcGFw
YXlhd2hpcCxfY29sb3JfCitwZWFjaHB1ZmYsX2NvbG9yXworcGVydSxfY29sb3JfCitwaW5rLF9j
b2xvcl8KK3BsdW0sX2NvbG9yXworcG93ZGVyYmx1ZSxfY29sb3JfCiAjIHB1cnBsZQogIyByZWQK
LXJvc3licm93bgotcm95YWxibHVlCi1zYWRkbGVicm93bgotc2FsbW9uCi1zYW5keWJyb3duCi1z
ZWFncmVlbgotc2Vhc2hlbGwKLXNpZW5uYQorcm9zeWJyb3duLF9jb2xvcl8KK3JveWFsYmx1ZSxf
Y29sb3JfCitzYWRkbGVicm93bixfY29sb3JfCitzYWxtb24sX2NvbG9yXworc2FuZHlicm93bixf
Y29sb3JfCitzZWFncmVlbixfY29sb3JfCitzZWFzaGVsbCxfY29sb3JfCitzaWVubmEsX2NvbG9y
XwogIyBzaWx2ZXIKLXNreWJsdWUKLXNsYXRlYmx1ZQotc2xhdGVncmF5Ci1zbGF0ZWdyZXkKLXNu
b3cKLXNwcmluZ2dyZWVuCi1zdGVlbGJsdWUKLXRhbgorc2t5Ymx1ZSxfY29sb3JfCitzbGF0ZWJs
dWUsX2NvbG9yXworc2xhdGVncmF5LF9jb2xvcl8KK3NsYXRlZ3JleSxfY29sb3JfCitzbm93LF9j
b2xvcl8KK3NwcmluZ2dyZWVuLF9jb2xvcl8KK3N0ZWVsYmx1ZSxfY29sb3JfCit0YW4sX2NvbG9y
XwogIyB0ZWFsCi10aGlzdGxlCi10b21hdG8KLXR1cnF1b2lzZQotdmlvbGV0Ci13aGVhdAordGhp
c3RsZSxfY29sb3JfCit0b21hdG8sX2NvbG9yXwordHVycXVvaXNlLF9jb2xvcl8KK3Zpb2xldCxf
Y29sb3JfCit3aGVhdCxfY29sb3JfCiAjIHdoaXRlCi13aGl0ZXNtb2tlCit3aGl0ZXNtb2tlLF9j
b2xvcl8KICMgeWVsbG93Ci15ZWxsb3dncmVlbgoreWVsbG93Z3JlZW4sX2NvbG9yXwogCiAjIENT
U19QUk9QX0NMSVBfUEFUSAogIyBDU1NfUFJPUF9DTElQX1JVTEUKLW5vbnplcm8KLWV2ZW5vZGQK
K25vbnplcm8sY2xpcC1ydWxlCitldmVub2RkLGNsaXAtcnVsZQogCiAjIENTU19QUk9QX01BU0sK
ICMgQ1NTX1BST1BfT1BBQ0lUWQogIyBDU1NfUFJPUF9FTkFCTEVfQkFDS0dST1VORAotYWNjdW11
bGF0ZQotbmV3CithY2N1bXVsYXRlLGVuYWJsZS1iYWNrZ3JvdW5kCituZXcsZW5hYmxlLWJhY2tn
cm91bmQKIAogIyBDU1NfUFJPUF9GSUxURVIKICMgQ1NTX1BST1BfRkxPT0RfQ09MT1IKQEAgLTE4
NCw3ICsxODQsNyBAQCBuZXcKICMgQ1NTX1BST1BfQ09MT1JfSU5URVJQT0xBVElPTgogI2F1dG8K
ICNzUkdCCi1saW5lYXJSR0IKK2xpbmVhclJHQixjb2xvci1pbnRlcnBvbGF0aW9uCiAKICMgQ1NT
X1BST1BfQ09MT1JfSU5URVJQT0xBVElPTl9GSUxURVJTCiAjYXV0bwpAQCAtMTk1LDkgKzE5NSw5
IEBAIGxpbmVhclJHQgogI3NSR0IKIAogIyBDU1NfUFJPUF9DT0xPUl9SRU5ERVJJTkcKLSNhdXRv
Ci0jb3B0aW1pemVTcGVlZAotb3B0aW1pemVRdWFsaXR5CisjYXV0byxjb2xvci1yZW5kZXJpbmcK
KyNvcHRpbWl6ZVNwZWVkLGNvbG9yLXJlbmRlcmluZworb3B0aW1pemVRdWFsaXR5LGNvbG9yLXJl
bmRlcmluZyxpbWFnZS1yZW5kZXJpbmcKIAogIyMgQ1NTX1BST1BfRklMTAogI2N1cnJlbnRDb2xv
cgpAQCAtMjA4LDkgKzIwOCw5IEBAIG9wdGltaXplUXVhbGl0eQogI2V2ZW5vZGQKIAogIyBDU1Nf
UFJPUF9JTUFHRV9SRU5ERVJJTkcKLSNhdXRvCi0jb3B0aW1pemVTcGVlZAotI29wdGltaXplUXVh
bGl0eQorI2F1dG8saW1hZ2UtcmVuZGVyaW5nCisjb3B0aW1pemVTcGVlZCxpbWFnZS1yZW5kZXJp
bmcKKyNvcHRpbWl6ZVF1YWxpdHksaW1hZ2UtcmVuZGVyaW5nCiAKICMgQ1NTX1BST1BfTUFSS0VS
CiAjIENTU19QUk9QX01BUktFUl9FTkQKQEAgLTIzMSwzOCArMjMxLDM4IEBAIGJ1dHQKICMgc3F1
YXJlCiAKICMgQ1NTX1BST1BfU1RST0tFX0xJTkVKT0lOCi1taXRlcgotIyByb3VuZAotYmV2ZWwK
K21pdGVyLHN0cm9rZS1saW5lam9pbgorIyByb3VuZCxzdHJva2UtbGluZWpvaW4KK2JldmVsLHN0
cm9rZS1saW5lam9pbgogCiAjIENTU19QUk9QX1NUUk9LRV9NSVRFUkxJTUlUCiAjIENTU19QUk9Q
X1NUUk9LRV9PUEFDSVRZCiAjIENTU19QUk9QX1NUUk9LRV9XSURUSAogCiAjIENTU19QUk9QX0FM
SUdOTUVOVF9CQVNFTElORQotI2F1dG8KLSMgYmFzZWxpbmUKLWJlZm9yZS1lZGdlCi1hZnRlci1l
ZGdlCi0jbWlkZGxlCi1jZW50cmFsCi10ZXh0LWJlZm9yZS1lZGdlCi10ZXh0LWFmdGVyLWVkZ2UK
LWlkZW9ncmFwaGljCi1hbHBoYWJldGljCi1oYW5naW5nCi1tYXRoZW1hdGljYWwKKyNhdXRvLGFs
aWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQorIyBiYXNlbGluZSxhbGlnbm1lbnQt
YmFzZWxpbmUKK2JlZm9yZS1lZGdlLGFsaWdubWVudC1iYXNlbGluZQorYWZ0ZXItZWRnZSxhbGln
bm1lbnQtYmFzZWxpbmUKKyNtaWRkbGUsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2Vs
aW5lCitjZW50cmFsLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQordGV4dC1i
ZWZvcmUtZWRnZSxhbGlnbm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK3RleHQtYWZ0
ZXItZWRnZSxhbGlnbm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK2lkZW9ncmFwaGlj
LGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGluZQorYWxwaGFiZXRpYyxhbGlnbm1l
bnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK2hhbmdpbmcsYWxpZ25tZW50LWJhc2VsaW5l
LGRvbWluYW50LWJhc2VsaW5lCittYXRoZW1hdGljYWwsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWlu
YW50LWJhc2VsaW5lCiAKICMgQ1NTX1BST1BfQkFTRUxJTkVfU0hJRlQKLSNiYXNlbGluZQotIyBz
dWIKLSMgc3VwZXIKKyNiYXNlbGluZSxiYXNlbGluZS1zaGlmdAorIyBzdWIsYmFzZWxpbmUtc2hp
ZnQKKyMgc3VwZXIsYmFzZWxpbmUtc2hpZnQKIAogIyBDU1NfUFJPUF9ET01JTkFOVF9CQVNFTElO
RQotI2F1dG8KLXVzZS1zY3JpcHQKLW5vLWNoYW5nZQotcmVzZXQtc2l6ZQorI2F1dG8sZG9taW5h
bnQtYmFzZWxpbmUKK3VzZS1zY3JpcHQsZG9taW5hbnQtYmFzZWxpbmUKK25vLWNoYW5nZSxkb21p
bmFudC1iYXNlbGluZQorcmVzZXQtc2l6ZSxkb21pbmFudC1iYXNlbGluZQogCiAjIENTU19QUk9Q
X0dMWVBIX09SSUVOVEFUSU9OX0hPUklaT05UQUwKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
bWFrZXZhbHVlcy5wbCBiL1dlYkNvcmUvY3NzL21ha2V2YWx1ZXMucGwKaW5kZXggMTgzY2QzNS4u
ODMzN2M5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvbWFrZXZhbHVlcy5wbAorKysgYi9XZWJD
b3JlL2Nzcy9tYWtldmFsdWVzLnBsCkBAIC02LDYgKzYsNyBAQAogIyAgIENvcHlyaWdodCAoQykg
MjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjICAgQ29weXJpZ2h0IChDKSAy
MDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQogIyAgIENv
cHlyaWdodCAoQykgMjAxMCBBbmRyYXMgQmVjc2kgKGFiZWNzaUBpbmYudS1zemVnZWQuaHUpLCBV
bml2ZXJzaXR5IG9mIFN6ZWdlZAorIyAgIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICMgICBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjYsMTQgKzI3LDEx
OSBAQCB1c2Ugd2FybmluZ3M7CiAKIG9wZW4gTkFNRVMsICI8Q1NTVmFsdWVLZXl3b3Jkcy5pbiIg
fHwgZGllICJDb3VsZCBub3Qgb3BlbiBDU1NWYWx1ZUtleXdvcmRzLmluIjsKIG15IEBuYW1lcyA9
ICgpOworbXkgJWNhdGVnb3J5VG9LZXl3b3Jkc01hcCA9ICgpOworbXkgQHBhcnRzOworbXkgQGtl
eXdvcmRzOworbXkgJGtleXdvcmQ7CiB3aGlsZSAoPE5BTUVTPikgewogICBuZXh0IGlmIChtLyhe
Iyl8KF5ccyokKS8pOwogICAjIElucHV0IG1heSB1c2UgYSBkaWZmZXJlbnQgRU9MIHNlcXVlbmNl
IHRoYW4gJC8sIHNvIGF2b2lkIGNob21wLgogICAkXyA9fiBzL1tcclxuXSskLy9nOwotICBwdXNo
IEBuYW1lcywgJF87CisgIEBwYXJ0cyA9IHNwbGl0KC8sLyk7CisgICRrZXl3b3JkID0gJHBhcnRz
WzBdOworICBwdXNoIEBuYW1lcywgJGtleXdvcmQ7CisgIHNwbGljZSBAcGFydHMsIDAsIDE7CisK
KyAgZm9yZWFjaCBteSAkY2F0ZWdvcnkgKEBwYXJ0cykgeworICAgIHB1c2ggQHsgJGNhdGVnb3J5
VG9LZXl3b3Jkc01hcHskY2F0ZWdvcnl9IH0sICRrZXl3b3JkOworICB9CiB9CiBjbG9zZShOQU1F
Uyk7CiAKK29wZW4gS0VZV09SRE1BUCwgIj5DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMiIHx8IGRp
ZSAiQ291bGQgbm90IG9wZW4gQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzIGZvciB3cml0aW5nIjsK
K3ByaW50IEtFWVdPUkRNQVAgPDwgIkVPRiI7CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICogVEhJUyBGSUxFIElTIEdFTkVSQVRFRCBCWSBtYWtl
dmFsdWVzLnBsLiBETyBOT1QgTU9ESUZZIQorICovCisKK1dlYkluc3BlY3Rvci5DU1NLZXl3b3Jk
Q29tcGxldGlvbnMgPSB7CisgICAgZm9yUHJvcGVydHk6IGZ1bmN0aW9uKHByb3BlcnR5TmFtZSkK
KyAgICB7CisgICAgICAgIHZhciBhY2NlcHRlZEtleXdvcmRzID0gWyJpbml0aWFsIl07CisgICAg
ICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gdGhpcy5fcHJvcGVydHlLZXl3b3JkTWFwKQorICAgICAg
ICAgICAgYWNjZXB0ZWRLZXl3b3JkcyA9IGFjY2VwdGVkS2V5d29yZHMuY29uY2F0KHRoaXMuX3By
b3BlcnR5S2V5d29yZE1hcFtwcm9wZXJ0eU5hbWVdKTsKKyAgICAgICAgaWYgKHByb3BlcnR5TmFt
ZSBpbiB0aGlzLl9jb2xvckF3YXJlUHJvcGVydGllcykKKyAgICAgICAgICAgIGFjY2VwdGVkS2V5
d29yZHMgPSBhY2NlcHRlZEtleXdvcmRzLmNvbmNhdCh0aGlzLl9wcm9wZXJ0eUtleXdvcmRNYXBb
Il9jb2xvcl8iXSk7CisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gV2ViSW5zcGVjdG9yLlN0
eWxlc1NpZGViYXJQYW5lLkluaGVyaXRlZFByb3BlcnRpZXMpCisgICAgICAgICAgICBhY2NlcHRl
ZEtleXdvcmRzLnB1c2goImluaGVyaXQiKTsKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0
b3IuQ1NTQ29tcGxldGlvbnMoYWNjZXB0ZWRLZXl3b3Jkcyk7CisgICAgfQorfTsKKworV2ViSW5z
cGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fY29sb3JBd2FyZVByb3BlcnRpZXMgPSBbCisg
ICAgImJhY2tncm91bmQiLAorICAgICJiYWNrZ3JvdW5kLWNvbG9yIiwKKyAgICAiYm9yZGVyIiwK
KyAgICAiYm9yZGVyLWNvbG9yIiwKKyAgICAiYm9yZGVyLXRvcCIsCisgICAgImJvcmRlci1yaWdo
dCIsCisgICAgImJvcmRlci1ib3R0b20iLAorICAgICJib3JkZXItbGVmdCIsCisgICAgImJvcmRl
ci10b3AtY29sb3IiLAorICAgICJib3JkZXItcmlnaHQtY29sb3IiLAorICAgICJib3JkZXItYm90
dG9tLWNvbG9yIiwKKyAgICAiYm9yZGVyLWxlZnQtY29sb3IiLAorICAgICJjb2xvciIsCisgICAg
Im91dGxpbmUiLAorICAgICJvdXRsaW5lLWNvbG9yIiwKKyAgICAidGV4dC1saW5lLXRocm91Z2gi
LAorICAgICJ0ZXh0LWxpbmUtdGhyb3VnaC1jb2xvciIsCisgICAgInRleHQtb3ZlcmxpbmUiLAor
ICAgICJ0ZXh0LW92ZXJsaW5lLWNvbG9yIiwKKyAgICAidGV4dC1zaGFkb3ciLAorICAgICJ0ZXh0
LXVuZGVybGluZSIsCisgICAgInRleHQtdW5kZXJsaW5lLWNvbG9yIiwKKyAgICAiLXdlYmtpdC10
ZXh0LWVtcGhhc2lzIiwKKyAgICAiLXdlYmtpdC10ZXh0LWVtcGhhc2lzLWNvbG9yIgorXS5rZXlT
ZXQoKTsKKworV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fcHJvcGVydHlLZXl3
b3JkTWFwID0geworRU9GCisKK215ICRmaXJzdEtleXdvcmQ7CitteSAkZmlyc3RDYXRlZ29yeSA9
IDE7Citmb3JlYWNoIG15ICRjYXRlZ29yeSAoa2V5cyAlY2F0ZWdvcnlUb0tleXdvcmRzTWFwKSB7
CisgIHByaW50IEtFWVdPUkRNQVAgKCRmaXJzdENhdGVnb3J5ID8gIiIgOiAiLFxuIikgLiAiICAg
IFwiJGNhdGVnb3J5XCI6IFtcbiI7CisgICRmaXJzdENhdGVnb3J5ID0gMDsKKyAgQGtleXdvcmRz
ID0gQHsgJGNhdGVnb3J5VG9LZXl3b3Jkc01hcHskY2F0ZWdvcnl9IH07CisgICRmaXJzdEtleXdv
cmQgPSAxOworICBmb3JlYWNoIG15ICRrZXl3b3JkIChAa2V5d29yZHMpIHsKKyAgICBwcmludCBL
RVlXT1JETUFQICgkZmlyc3RLZXl3b3JkID8gIiIgOiAiLFxuIikgLiAiICAgICAgICBcIiRrZXl3
b3JkXCIiOworICAgICRmaXJzdEtleXdvcmQgPSAwOworICB9CisgIHByaW50IEtFWVdPUkRNQVAg
IlxuICAgIF0iOworfQorcHJpbnQgS0VZV09SRE1BUCAiXG59XG4iOworY2xvc2UoS0VZV09SRE1B
UCk7CisKIG9wZW4gR1BFUkYsICI+Q1NTVmFsdWVLZXl3b3Jkcy5ncGVyZiIgfHwgZGllICJDb3Vs
ZCBub3Qgb3BlbiBDU1NWYWx1ZUtleXdvcmRzLmdwZXJmIGZvciB3cml0aW5nIjsKIHByaW50IEdQ
RVJGIDw8ICJFT0YiOwogJXsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJjIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZjBlMzU1YgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJjCkBAIC0wLDAgKzEsNSBAQAorPCFET0NUWVBF
IFJDQz48UkNDIHZlcnNpb249IjEuMCI+Cis8cXJlc291cmNlIHByZWZpeD0iL3dlYmtpdC9pbnNw
ZWN0b3IiPgorICAgIDxmaWxlPkNTU0tleXdvcmRDb21wbGV0aW9ucy5qczwvZmlsZT4KKzwvcXJl
c291cmNlPgorPC9SQ0M+CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q29sb3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanMKaW5kZXggNWU3
MzE0Yy4uM2ExNmY3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
bG9yLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcwpAQCAtNDQ5
LDcgKzQ0OSw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5IZXhUYWJsZSA9IHsKICAgICAiQ0Q4NTNG
IjogW1syMDUsIDEzMywgNjNdLCBbMzAsIDU5LCA1M10sICJwZXJ1Il0sCiAgICAgIkQyNjkxRSI6
IFtbMjEwLCAxMDUsIDMwXSwgWzI1LCA3NSwgNDddLCAiY2hvY29sYXRlIl0sCiAgICAgIkQyQjQ4
QyI6IFtbMjEwLCAxODAsIDE0MF0sIFszNCwgNDQsIDY5XSwgInRhbiJdLAotICAgICJEM0QzRDMi
OiBbWzIxMSwgMjExLCAyMTFdLCBbMCwgMCwgODNdLCAibGlnaHRHcmV5Il0sCisgICAgIkQzRDNE
MyI6IFtbMjExLCAyMTEsIDIxMV0sIFswLCAwLCA4M10sICJsaWdodEdyYXkiXSwKICAgICAiRDg3
MDkzIjogW1syMTksIDExMiwgMTQ3XSwgWzM0MCwgNjAsIDY1XSwgInBhbGVWaW9sZXRSZWQiXSwK
ICAgICAiRDhCRkQ4IjogW1syMTYsIDE5MSwgMjE2XSwgWzMwMCwgMjQsIDgwXSwgInRoaXN0bGUi
XSwKICAgICAiREE3MEQ2IjogW1syMTgsIDExMiwgMjE0XSwgWzMwMiwgNTksIDY1XSwgIm9yY2hp
ZCJdLApAQCAtNTM5LDYgKzUzOSw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7
CiAgICAgImRhcmtnb2xkZW5yb2QiOiAiQjg4NjBCIiwKICAgICAiZGFya2dyYXkiOiAiQTlBOUE5
IiwKICAgICAiZGFya2dyZWVuIjogIjAwNjQwMCIsCisgICAgImRhcmtncmV5IjogIkE5QTlBOSIs
CiAgICAgImRhcmtraGFraSI6ICJCREI3NkIiLAogICAgICJkYXJrbWFnZW50YSI6ICI4QjAwOEIi
LAogICAgICJkYXJrb2xpdmVncmVlbiI6ICI1NTZCMkYiLApAQCAtNTQ5LDExICs1NTAsMTMgQEAg
V2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lcyA9IHsKICAgICAiZGFya3NlYWdyZWVuIjogIjhG
QkM4RiIsCiAgICAgImRhcmtzbGF0ZWJsdWUiOiAiNDgzRDhCIiwKICAgICAiZGFya3NsYXRlZ3Jh
eSI6ICIyRjRGNEYiLAorICAgICJkYXJrc2xhdGVncmV5IjogIjJGNEY0RiIsCiAgICAgImRhcmt0
dXJxdW9pc2UiOiAiMDBDRUQxIiwKICAgICAiZGFya3Zpb2xldCI6ICI5NDAwRDMiLAogICAgICJk
ZWVwcGluayI6ICJGRjE0OTMiLAogICAgICJkZWVwc2t5Ymx1ZSI6ICIwMEJGRkYiLAogICAgICJk
aW1ncmF5IjogIjY5Njk2OSIsCisgICAgImRpbWdyZXkiOiAiNjk2OTY5IiwKICAgICAiZG9kZ2Vy
Ymx1ZSI6ICIxRTkwRkYiLAogICAgICJmaXJlYnJpY2siOiAiQjIyMjIyIiwKICAgICAiZmxvcmFs
d2hpdGUiOiAiRkZGQUYwIiwKQEAgLTU2Niw2ICs1NjksNyBAQCBXZWJJbnNwZWN0b3IuQ29sb3Iu
Tmlja25hbWVzID0gewogICAgICJncmF5IjogIjgwODA4MCIsCiAgICAgImdyZWVuIjogIjAwODAw
MCIsCiAgICAgImdyZWVueWVsbG93IjogIkFERkYyRiIsCisgICAgImdyZXkiOiAiODA4MDgwIiwK
ICAgICAiaG9uZXlkZXciOiAiRjBGRkYwIiwKICAgICAiaG90cGluayI6ICJGRjY5QjQiLAogICAg
ICJpbmRpYW5yZWQiOiAiQ0Q1QzVDIiwKQEAgLTU4MCw2ICs1ODQsNyBAQCBXZWJJbnNwZWN0b3Iu
Q29sb3IuTmlja25hbWVzID0gewogICAgICJsaWdodGNvcmFsIjogIkYwODA4MCIsCiAgICAgImxp
Z2h0Y3lhbiI6ICJFMEZGRkYiLAogICAgICJsaWdodGdvbGRlbnJvZHllbGxvdyI6ICJGQUZBRDIi
LAorICAgICJsaWdodGdyYXkiOiAiRDNEM0QzIiwKICAgICAibGlnaHRncmVlbiI6ICI5MEVFOTAi
LAogICAgICJsaWdodGdyZXkiOiAiRDNEM0QzIiwKICAgICAibGlnaHRwaW5rIjogIkZGQjZDMSIs
CkBAIC01ODcsNiArNTkyLDcgQEAgV2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lcyA9IHsKICAg
ICAibGlnaHRzZWFncmVlbiI6ICIyMEIyQUEiLAogICAgICJsaWdodHNreWJsdWUiOiAiODdDRUZB
IiwKICAgICAibGlnaHRzbGF0ZWdyYXkiOiAiNzc4ODk5IiwKKyAgICAibGlnaHRzbGF0ZWdyZXki
OiAiNzc4ODk5IiwKICAgICAibGlnaHRzdGVlbGJsdWUiOiAiQjBDNERFIiwKICAgICAibGlnaHR5
ZWxsb3ciOiAiRkZGRkUwIiwKICAgICAibGltZSI6ICIwMEZGMDAiLApAQCAtNjM5LDYgKzY0NSw3
IEBAIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7CiAgICAgInNreWJsdWUiOiAiODdD
RUVCIiwKICAgICAic2xhdGVibHVlIjogIjZBNUFDRCIsCiAgICAgInNsYXRlZ3JheSI6ICI3MDgw
OTAiLAorICAgICJzbGF0ZWdyZXkiOiAiNzA4MDkwIiwKICAgICAic25vdyI6ICJGRkZBRkEiLAog
ICAgICJzcHJpbmdncmVlbiI6ICIwMEZGN0YiLAogICAgICJzdGVlbGJsdWUiOiAiNDY4MkI0IiwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFu
ZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcwpp
bmRleCBjODllNDUyLi5lM2IyZjhhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC0xMzY5LDYgKzEzNjksOSBAQCBXZWJJbnNwZWN0
b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlz
Lmxpc3RJdGVtRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwogCisgICAgICAgIG5hbWVFbGVtZW50
Lm5vcm1hbGl6ZSgpOworICAgICAgICB2YWx1ZUVsZW1lbnQubm9ybWFsaXplKCk7CisKICAgICAg
ICAgaWYgKCF0aGlzLnRyZWVPdXRsaW5lKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0xNDc5
LDE2ICsxNDgyLDExIEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJv
dG90eXBlID0gewogICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICB9LAogCi0g
ICAgcmVzdG9yZU5hbWVFbGVtZW50OiBmdW5jdGlvbigpCisgICAgZ2V0IGNzc1ZhbHVlQ29tcGxl
dGlvbnMoKQogICAgIHsKLSAgICAgICAgLy8gUmVzdG9yZSA8c3BhbiBjbGFzcz0id2Via2l0LWNz
cy1wcm9wZXJ0eSI+IGlmIGl0IGRvZXNuJ3QgeWV0IGV4aXN0IG9yIHdhcyBhY2NpZGVudGFsbHkg
ZGVsZXRlZC4KLSAgICAgICAgaWYgKHRoaXMubmFtZUVsZW1lbnQgPT09IHRoaXMubGlzdEl0ZW1F
bGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi53ZWJraXQtY3NzLXByb3BlcnR5IikpCi0gICAgICAgICAg
ICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5uYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInNwYW4iKTsKLSAgICAgICAgdGhpcy5uYW1lRWxlbWVudC5jbGFzc05hbWUgPSAid2Vi
a2l0LWNzcy1wcm9wZXJ0eSI7Ci0gICAgICAgIHRoaXMubmFtZUVsZW1lbnQudGV4dENvbnRlbnQg
PSAiIjsKLSAgICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMubmFt
ZUVsZW1lbnQsIHRoaXMubGlzdEl0ZW1FbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICBpZiAo
IXRoaXMuX2Nzc1ZhbHVlQ29tcGxldGlvbnMpCisgICAgICAgICAgICB0aGlzLl9jc3NWYWx1ZUNv
bXBsZXRpb25zID0gV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5mb3JQcm9wZXJ0
eSh0aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50KTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2Nz
c1ZhbHVlQ29tcGxldGlvbnM7CiAgICAgfSwKIAogICAgIHN0YXJ0RWRpdGluZzogZnVuY3Rpb24o
c2VsZWN0RWxlbWVudCkKQEAgLTE1ODQsOCArMTU4Miw2IEBAIFdlYkluc3BlY3Rvci5TdHlsZVBy
b3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKCFzZWxlY3Rp
b24uaXNDb2xsYXBzZWQpCiAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLmRlbGV0ZUZyb21Eb2N1
bWVudCgpOwogCi0gICAgICAgICAgICB0aGlzLnJlc3RvcmVOYW1lRWxlbWVudCgpOwotCiAgICAg
ICAgICAgICBpZiAocHJvcGVydHkpIHsKICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgIT09
IHRoaXMubmFtZUVsZW1lbnQudGV4dENvbnRlbnQpCiAgICAgICAgICAgICAgICAgICAgIHRoaXMu
bmFtZUVsZW1lbnQudGV4dENvbnRlbnQgPSBwcm9wZXJ0eTsKQEAgLTE1OTUsOSArMTU5MSw2MSBA
QCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgfQogICAgIH0sCiAKKyAgICByYW5nZU9mV29yZDogZnVuY3Rpb24odGV4dCwgYW5jaG9y
T2Zmc2V0KQorICAgIHsKKyAgICAgICAgY29uc3Qgc3R5bGVWYWx1ZURlbGltaXRlcnMgPSAiIFx1
MDBBMFx0XG5cIic6OywvKCkiOworICAgICAgICB2YXIgc3RhcnRPZmZzZXQgPSBhbmNob3JPZmZz
ZXQ7CisgICAgICAgIHdoaWxlIChzdGFydE9mZnNldCA+IDApIHsKKyAgICAgICAgICAgIGlmIChz
dHlsZVZhbHVlRGVsaW1pdGVycy5pbmRleE9mKHRleHRbc3RhcnRPZmZzZXQgLSAxXSkgPT09IC0x
KQorICAgICAgICAgICAgICAgIC0tc3RhcnRPZmZzZXQ7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICB2YXIgZW5kT2Zmc2V0ID0g
YW5jaG9yT2Zmc2V0OworICAgICAgICB3aGlsZSAoZW5kT2Zmc2V0IDwgdGV4dC5sZW5ndGggJiYg
c3R5bGVWYWx1ZURlbGltaXRlcnMuaW5kZXhPZih0ZXh0W2VuZE9mZnNldF0pID09PSAtMSkKKyAg
ICAgICAgICAgICsrZW5kT2Zmc2V0OworCisgICAgICAgIC8vIHN0YXJ0T2Zmc2V0IGluY2x1c2l2
ZSwgZW5kT2Zmc2V0IGV4Y2x1c2l2ZS4KKyAgICAgICAgcmV0dXJuIHsgc3RhcnRPZmZzZXQ6IHN0
YXJ0T2Zmc2V0LCBlbmRPZmZzZXQ6IGVuZE9mZnNldCB9OworICAgIH0sCisKICAgICBlZGl0aW5n
VmFsdWVLZXlQcmVzczogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAgICAgICAvLyBGSVhNRTog
VGhpcyBzaG91bGQgY29tcGxldGUgcHJvcGVydHkgdmFsdWVzLgorICAgICAgICAvLyBDb21wbGV0
ZSBwcm9wZXJ0eSB2YWx1ZSBwYXJ0LgorICAgICAgICB2YXIgY2hhcmFjdGVyID0gZXZlbnQuZGF0
YS50b0xvd2VyQ2FzZSgpOworICAgICAgICBpZiAoY2hhcmFjdGVyICYmIC9bYS16LV0vLnRlc3Qo
Y2hhcmFjdGVyKSkgeworICAgICAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxl
Y3Rpb24oKTsKKyAgICAgICAgICAgIGlmIChzZWxlY3Rpb24uZm9jdXNOb2RlICE9PSBzZWxlY3Rp
b24uYW5jaG9yTm9kZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIHZh
ciBjdXJzb3JQb3NpdGlvbiA9IE1hdGgubWluKHNlbGVjdGlvbi5mb2N1c09mZnNldCwgc2VsZWN0
aW9uLmFuY2hvck9mZnNldCk7CisgICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gdGhpcy52
YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQ7CisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3Vz
T2Zmc2V0ICE9PSBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0KSB7CisgICAgICAgICAgICAgICAgLy8g
V2ViQ29yZSBjcmFzaCB3b3JrYXJvdW5kOiB3ZSBjYW5ub3QgcmVtb3ZlIHRoZSByYW5nZSByaWdo
dCBhd2F5LCBzaW5jZQorICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIHN1Z2dlc3Qs
IFdlYkNvcmUvZWRpdGluZyB3aWxsIHRyeSB0byByZW1vdmUgdGhlIHNhbWUgcmFuZ2UKKyAgICAg
ICAgICAgICAgICAvLyBvbmNlIGFnYWluLCBhcyBldmVudC5wcmV2ZW50RGVmYXVsdCgpIHdpbGwg
bm90IGhhdmUgYmVlbiBjYWxsZWQuCisgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGlvbkxlZnQg
PSBNYXRoLm1pbihzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LCBzZWxlY3Rpb24uZm9jdXNPZmZzZXQp
OworICAgICAgICAgICAgICAgIHZhciBzZWxlY3Rpb25SaWdodCA9IE1hdGgubWF4KHNlbGVjdGlv
bi5hbmNob3JPZmZzZXQsIHNlbGVjdGlvbi5mb2N1c09mZnNldCk7CisgICAgICAgICAgICAgICAg
Y3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25MZWZ0KSAr
IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoc2VsZWN0aW9uUmlnaHQpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgdmFyIHdvcmRSYW5nZSA9IHRoaXMucmFuZ2VPZldvcmQoY3VycmVudFZhbHVl
LCBjdXJzb3JQb3NpdGlvbik7CisgICAgICAgICAgICB2YXIgd29yZCA9IGN1cnJlbnRWYWx1ZS5z
dWJzdHJpbmcod29yZFJhbmdlLnN0YXJ0T2Zmc2V0LCB3b3JkUmFuZ2UuZW5kT2Zmc2V0KTsKKyAg
ICAgICAgICAgIHZhciBwcmVmaXggPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRSYW5nZS5z
dGFydE9mZnNldCwgY3Vyc29yUG9zaXRpb24pOworICAgICAgICAgICAgdmFyIHZhbHVlU3VnZ2Vz
dCA9IHRoaXMuY3NzVmFsdWVDb21wbGV0aW9ucy5maXJzdFN0YXJ0c1dpdGgoKHByZWZpeCArIGNo
YXJhY3RlcikudG9Mb3dlckNhc2UoKSk7CisKKyAgICAgICAgICAgIGlmICh2YWx1ZVN1Z2dlc3Qp
IHsKKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3VzT2Zmc2V0ICE9PSBzZWxlY3Rp
b24uYW5jaG9yT2Zmc2V0ICYmIHNlbGVjdGlvbi5yYW5nZUNvdW50KQorICAgICAgICAgICAgICAg
ICAgICBzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5kZWxldGVDb250ZW50cygpOworICAgICAgICAg
ICAgICAgIHZhciB2YWx1ZVN0YXJ0ID0gY3VycmVudFZhbHVlLnN1YnN0cmluZygwLCB3b3JkUmFu
Z2Uuc3RhcnRPZmZzZXQpOworICAgICAgICAgICAgICAgIHZhciB2YWx1ZUVuZCA9IGN1cnJlbnRW
YWx1ZS5zdWJzdHJpbmcod29yZCA9PT0gdmFsdWVTdWdnZXN0ID8gd29yZFJhbmdlLmVuZE9mZnNl
dCA6IGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSB2YWx1
ZVN0YXJ0ICsgdmFsdWVTdWdnZXN0ICsgdmFsdWVFbmQ7CisgICAgICAgICAgICAgICAgaWYgKG5l
d1ZhbHVlICE9PSBjdXJyZW50VmFsdWUpCisgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVF
bGVtZW50LnRleHRDb250ZW50ID0gbmV3VmFsdWU7CisgICAgICAgICAgICAgICAgdGhpcy52YWx1
ZUVsZW1lbnQuZmlyc3RDaGlsZC5zZWxlY3QoY3Vyc29yUG9zaXRpb24gKyAxLCB3b3JkUmFuZ2Uu
c3RhcnRPZmZzZXQgKyB2YWx1ZVN1Z2dlc3QubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBldmVu
dC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfSwKIAog
ICAgIGVkaXRpbmdOYW1lS2V5RG93bjogZnVuY3Rpb24oZXZlbnQpCkBAIC0xNjE4LDEzICsxNjY2
LDEzIEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0g
ewogICAgICAgICBpZiAoc2VsZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIgIT09
IHRoaXMubmFtZUVsZW1lbnQgJiYgIXNlbGVjdGlvblJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFp
bmVyLmlzRGVzY2VuZGFudCh0aGlzLm5hbWVFbGVtZW50KSkKICAgICAgICAgICAgIHJldHVybjsK
IAotICAgICAgICBjb25zdCBzdHlsZVZhbHVlRGVsaW1ldGVycyA9ICIgXHRcblwiJzo7LC8oKSI7
Ci0gICAgICAgIHZhciB3b3JkUmFuZ2UgPSBzZWxlY3Rpb25SYW5nZS5zdGFydENvbnRhaW5lci5y
YW5nZU9mV29yZChzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNldCwgc3R5bGVWYWx1ZURlbGltZXRl
cnMsIHRoaXMubmFtZUVsZW1lbnQpOworICAgICAgICBjb25zdCBzdHlsZVZhbHVlRGVsaW1pdGVy
cyA9ICIgXHUwMEEwXHRcblwiJzo7LC8oKSI7CisgICAgICAgIHZhciB3b3JkUmFuZ2UgPSBzZWxl
Y3Rpb25SYW5nZS5zdGFydENvbnRhaW5lci5yYW5nZU9mV29yZChzZWxlY3Rpb25SYW5nZS5zdGFy
dE9mZnNldCwgc3R5bGVWYWx1ZURlbGltaXRlcnMsIHRoaXMubmFtZUVsZW1lbnQpOwogICAgICAg
ICB2YXIgd29yZFN0cmluZyA9IHdvcmRSYW5nZS50b1N0cmluZygpOwogICAgICAgICB2YXIgY3Vy
c29yUG9zaXRpb24gPSBzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNldCAhPSBzZWxlY3Rpb25SYW5n
ZS5lbmRPZmZzZXQgPyBzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNldCA6IDA7CiAgICAgICAgIHZh
ciBwcmVmaXggPSBzZWxlY3Rpb25SYW5nZS5zdGFydENvbnRhaW5lci50ZXh0Q29udGVudC5zdWJz
dHJpbmcoMCwgY3Vyc29yUG9zaXRpb24pOwotICAgICAgICB2YXIgcHJvcGVydHk7CiAKKyAgICAg
ICAgdmFyIHByb3BlcnR5OwogICAgICAgICBpZiAoc2hvd05leHQpCiAgICAgICAgICAgICBwcm9w
ZXJ0eSA9IFdlYkluc3BlY3Rvci5jc3NOYW1lQ29tcGxldGlvbnMubmV4dCh3b3JkU3RyaW5nLCBw
cmVmaXgpOwogICAgICAgICBlbHNlCkBAIC0xNjQ4LDY4ICsxNjk2LDg0IEBAIFdlYkluc3BlY3Rv
ci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIXNl
bGVjdGlvbi5yYW5nZUNvdW50KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHZhciBz
ZWxlY3Rpb25SYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApOwotICAgICAgICBpZiAoc2Vs
ZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIgIT09IHRoaXMudmFsdWVFbGVtZW50
ICYmICFzZWxlY3Rpb25SYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lci5pc0Rlc2NlbmRhbnQo
dGhpcy52YWx1ZUVsZW1lbnQpKQorICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3VzTm9kZSAhPT0g
c2VsZWN0aW9uLmFuY2hvck5vZGUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgY29u
c3Qgc3R5bGVWYWx1ZURlbGltZXRlcnMgPSAiIFx0XG5cIic6OywvKCkiOwotICAgICAgICB2YXIg
d29yZFJhbmdlID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRDb250YWluZXIucmFuZ2VPZldvcmQoc2Vs
ZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQsIHN0eWxlVmFsdWVEZWxpbWV0ZXJzLCB0aGlzLnZhbHVl
RWxlbWVudCk7Ci0gICAgICAgIHZhciB3b3JkU3RyaW5nID0gd29yZFJhbmdlLnRvU3RyaW5nKCk7
Ci0gICAgICAgIHZhciByZXBsYWNlbWVudFN0cmluZyA9IHdvcmRTdHJpbmc7Ci0KLSAgICAgICAg
dmFyIG1hdGNoZXMgPSAvKC4qPykoLT9cZCsoPzpcLlxkKyk/KSguKikvLmV4ZWMod29yZFN0cmlu
Zyk7Ci0gICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoKSB7Ci0gICAgICAgICAg
ICB2YXIgcHJlZml4ID0gbWF0Y2hlc1sxXTsKLSAgICAgICAgICAgIHZhciBudW1iZXIgPSBwYXJz
ZUZsb2F0KG1hdGNoZXNbMl0pOwotICAgICAgICAgICAgdmFyIHN1ZmZpeCA9IG1hdGNoZXNbM107
Ci0KLSAgICAgICAgICAgIC8vIElmIHRoZSBudW1iZXIgaXMgbmVhciB6ZXJvIG9yIHRoZSBudW1i
ZXIgaXMgb25lIGFuZCB0aGUgZGlyZWN0aW9uIHdpbGwgdGFrZSBpdCBuZWFyIHplcm8uCi0gICAg
ICAgICAgICB2YXIgbnVtYmVyTmVhclplcm8gPSAobnVtYmVyIDwgMSAmJiBudW1iZXIgPiAtMSk7
Ci0gICAgICAgICAgICBpZiAobnVtYmVyID09PSAxICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09
ICJEb3duIikKLSAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7Ci0gICAgICAg
ICAgICBlbHNlIGlmIChudW1iZXIgPT09IC0xICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJV
cCIpCi0gICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOwotCi0gICAgICAgICAg
ICBpZiAobnVtYmVyTmVhclplcm8gJiYgZXZlbnQuYWx0S2V5ICYmIGFycm93S2V5UHJlc3NlZCkg
ewotICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIpCi0g
ICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguY2VpbChudW1iZXIgLSAxKTsKLSAgICAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxvb3Io
bnVtYmVyICsgMSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIEp1
bXAgYnkgMTAgd2hlbiBzaGlmdCBpcyBkb3duIG9yIGp1bXAgYnkgMC4xIHdoZW4gbmVhciB6ZXJv
IG9yIEFsdC9PcHRpb24gaXMgZG93bi4KLSAgICAgICAgICAgICAgICAvLyBBbHNvIGp1bXAgYnkg
MTAgZm9yIHBhZ2UgdXAgYW5kIGRvd24sIG9yIGJ5IDEwMCBpZiBzaGlmdCBpcyBoZWxkIHdpdGgg
YSBwYWdlIGtleS4KLSAgICAgICAgICAgICAgICB2YXIgY2hhbmdlQW1vdW50ID0gMTsKLSAgICAg
ICAgICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgcGFnZUtleVByZXNzZWQpCi0gICAgICAg
ICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDEwMDsKLSAgICAgICAgICAgICAgICBlbHNlIGlm
IChldmVudC5zaGlmdEtleSB8fCBwYWdlS2V5UHJlc3NlZCkKLSAgICAgICAgICAgICAgICAgICAg
Y2hhbmdlQW1vdW50ID0gMTA7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZlbnQuYWx0S2V5
IHx8IG51bWJlck5lYXJaZXJvKQotICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgPSAw
LjE7Ci0KLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24i
IHx8IGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93biIpCi0gICAgICAgICAgICAgICAg
ICAgIGNoYW5nZUFtb3VudCAqPSAtMTsKLQotICAgICAgICAgICAgICAgIC8vIE1ha2UgdGhlIG5l
dyBudW1iZXIgYW5kIGNvbnN0cmFpbiBpdCB0byBhIHByZWNpc2lvbiBvZiA2LCB0aGlzIG1hdGNo
ZXMgbnVtYmVycyB0aGUgZW5naW5lIHJldHVybnMuCi0gICAgICAgICAgICAgICAgLy8gVXNlIHRo
ZSBOdW1iZXIgY29uc3RydWN0b3IgdG8gZm9yZ2V0IHRoZSBmaXhlZCBwcmVjaXNpb24sIHNvIDEu
MTAwMDAwIHdpbGwgcHJpbnQgYXMgMS4xLgotICAgICAgICAgICAgICAgIG51bWJlciA9IE51bWJl
cigobnVtYmVyICsgY2hhbmdlQW1vdW50KS50b0ZpeGVkKDYpKTsKLSAgICAgICAgICAgIH0KKyAg
ICAgICAgdmFyIGN1cnNvclBvc2l0aW9uID0gTWF0aC5taW4oc2VsZWN0aW9uLmZvY3VzT2Zmc2V0
LCBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0KTsKKyAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IHRo
aXMudmFsdWVFbGVtZW50LnRleHRDb250ZW50OworICAgICAgICB2YXIgd29yZFJhbmdlID0gdGhp
cy5yYW5nZU9mV29yZChjdXJyZW50VmFsdWUsIGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAgdmFy
IHdvcmRTdHJpbmcgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRSYW5nZS5zdGFydE9mZnNl
dCwgd29yZFJhbmdlLmVuZE9mZnNldCk7CisgICAgICAgIHZhciB3b3JkU3RyaW5nTG93ZXIgPSB3
b3JkU3RyaW5nLnRvTG93ZXJDYXNlKCk7CisgICAgICAgIHZhciByZXBsYWNlbWVudFN0cmluZyA9
IG51bGw7CisgICAgICAgIHZhciBzZWxlY3Rpb25TdGFydCA9IHdvcmRSYW5nZS5zdGFydE9mZnNl
dDsKKworICAgICAgICAvLyBBdm9pZCBkZXRlY3RpbmcgbnVtZXJpYyB2YWx1ZXMgaW4gd29yZFN0
cmluZ3MgbGlrZSAicHJlc2VydmUtM2QiLgorICAgICAgICBpZiAoISF0aGlzLmNzc1ZhbHVlQ29t
cGxldGlvbnMuZmlyc3RTdGFydHNXaXRoKHdvcmRTdHJpbmdMb3dlcikpIHsKKyAgICAgICAgICAg
IHZhciBzaG93TmV4dCA9IChldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIgfHwgZXZlbnQu
a2V5SWRlbnRpZmllciA9PT0gIlBhZ2VEb3duIik7CisgICAgICAgICAgICAvLyBUaGUgcHJlZml4
IHNob3VsZCBiZSBjb25zaWRlcmVkIG9ubHkgaWYgdGhlIHNlbGVjdGlvbiBpcyBub3QgY29sbGFw
c2VkLiBPdGhlcndpc2UsIHRoZSBwcmVmaXggc2hvdWxkIGJlIGVtcHR5LgorICAgICAgICAgICAg
dmFyIHdvcmRQcmVmaXggPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQgIT09IHNlbGVjdGlvbi5hbmNo
b3JPZmZzZXQgPyB3b3JkU3RyaW5nTG93ZXIuc3Vic3RyaW5nKDAsIGN1cnNvclBvc2l0aW9uKSA6
ICIiOworCisgICAgICAgICAgICB2YXIgc3VnZ2VzdGVkV29yZDsKKyAgICAgICAgICAgIGlmIChz
aG93TmV4dCkKKyAgICAgICAgICAgICAgICBzdWdnZXN0ZWRXb3JkID0gdGhpcy5jc3NWYWx1ZUNv
bXBsZXRpb25zLm5leHQod29yZFN0cmluZ0xvd2VyLCB3b3JkUHJlZml4KTsKKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBzdWdnZXN0ZWRXb3JkID0gdGhpcy5jc3NWYWx1ZUNvbXBs
ZXRpb25zLnByZXZpb3VzKHdvcmRTdHJpbmdMb3dlciwgd29yZFByZWZpeCk7CiAKLSAgICAgICAg
ICAgIHJlcGxhY2VtZW50U3RyaW5nID0gcHJlZml4ICsgbnVtYmVyICsgc3VmZml4OworICAgICAg
ICAgICAgaWYgKHN1Z2dlc3RlZFdvcmQpIHsKKyAgICAgICAgICAgICAgICAvLyBGaXggc2VsZWN0
aW9uIHRvIGJlIG9ubHkgdGhlIHdvcmQgc3VmZml4LCBhcyB0aGUgcHJlZml4IHJlbWFpbnMgaW50
YWN0IHdoaWxlIHNjcm9sbGluZyB0aHJvdWdoIHZhbHVlcy4KKyAgICAgICAgICAgICAgICBzZWxl
Y3Rpb25TdGFydCA9IHNlbGVjdGlvblN0YXJ0ICsgd29yZFByZWZpeC5sZW5ndGg7CisgICAgICAg
ICAgICAgICAgcmVwbGFjZW1lbnRTdHJpbmcgPSBzdWdnZXN0ZWRXb3JkLnN1YnN0cmluZyh3b3Jk
UHJlZml4Lmxlbmd0aCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAvLyBGSVhNRTogdGhpcyBzaG91bGQgY3ljbGUgdGhyb3VnaCBrbm93biBrZXl3b3JkcyBm
b3IgdGhlIGN1cnJlbnQgcHJvcGVydHkgdmFsdWUuCi0gICAgICAgIH0KLQotICAgICAgICB2YXIg
cmVwbGFjZW1lbnRUZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHJlcGxhY2VtZW50
U3RyaW5nKTsKKyAgICAgICAgICAgIHZhciBtYXRjaGVzID0gLyguKj8pKC0/XGQrKD86XC5cZCsp
PykoLiopLy5leGVjKHdvcmRTdHJpbmcpOworICAgICAgICAgICAgaWYgKG1hdGNoZXMgJiYgbWF0
Y2hlcy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICB2YXIgcHJlZml4ID0gbWF0Y2hlc1sxXTsK
KyAgICAgICAgICAgICAgICB2YXIgbnVtYmVyID0gcGFyc2VGbG9hdChtYXRjaGVzWzJdKTsKKyAg
ICAgICAgICAgICAgICB2YXIgc3VmZml4ID0gbWF0Y2hlc1szXTsKKworICAgICAgICAgICAgICAg
IC8vIElmIHRoZSBudW1iZXIgaXMgbmVhciB6ZXJvIG9yIHRoZSBudW1iZXIgaXMgb25lIGFuZCB0
aGUgZGlyZWN0aW9uIHdpbGwgdGFrZSBpdCBuZWFyIHplcm8uCisgICAgICAgICAgICAgICAgdmFy
IG51bWJlck5lYXJaZXJvID0gKG51bWJlciA8IDEgJiYgbnVtYmVyID4gLTEpOworICAgICAgICAg
ICAgICAgIGlmIChudW1iZXIgPT09IDEgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24i
KQorICAgICAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7CisgICAgICAgICAg
ICAgICAgZWxzZSBpZiAobnVtYmVyID09PSAtMSAmJiBldmVudC5rZXlJZGVudGlmaWVyID09PSAi
VXAiKQorICAgICAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7CisKKyAgICAg
ICAgICAgICAgICBpZiAobnVtYmVyTmVhclplcm8gJiYgZXZlbnQuYWx0S2V5ICYmIGFycm93S2V5
UHJlc3NlZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9
PT0gIkRvd24iKQorICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5jZWlsKG51
bWJlciAtIDEpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
ICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlciArIDEpOworICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEp1bXAgYnkgMTAgd2hlbiBzaGlmdCBpcyBk
b3duIG9yIGp1bXAgYnkgMC4xIHdoZW4gbmVhciB6ZXJvIG9yIEFsdC9PcHRpb24gaXMgZG93bi4K
KyAgICAgICAgICAgICAgICAgICAgLy8gQWxzbyBqdW1wIGJ5IDEwIGZvciBwYWdlIHVwIGFuZCBk
b3duLCBvciBieSAxMDAgaWYgc2hpZnQgaXMgaGVsZCB3aXRoIGEgcGFnZSBrZXkuCisgICAgICAg
ICAgICAgICAgICAgIHZhciBjaGFuZ2VBbW91bnQgPSAxOworICAgICAgICAgICAgICAgICAgICBp
ZiAoZXZlbnQuc2hpZnRLZXkgJiYgcGFnZUtleVByZXNzZWQpCisgICAgICAgICAgICAgICAgICAg
ICAgICBjaGFuZ2VBbW91bnQgPSAxMDA7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2
ZW50LnNoaWZ0S2V5IHx8IHBhZ2VLZXlQcmVzc2VkKQorICAgICAgICAgICAgICAgICAgICAgICAg
Y2hhbmdlQW1vdW50ID0gMTA7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50LmFs
dEtleSB8fCBudW1iZXJOZWFyWmVybykKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUFt
b3VudCA9IDAuMTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmll
ciA9PT0gIkRvd24iIHx8IGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93biIpCisgICAg
ICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgKj0gLTE7CisKKyAgICAgICAgICAgICAg
ICAgICAgLy8gTWFrZSB0aGUgbmV3IG51bWJlciBhbmQgY29uc3RyYWluIGl0IHRvIGEgcHJlY2lz
aW9uIG9mIDYsIHRoaXMgbWF0Y2hlcyBudW1iZXJzIHRoZSBlbmdpbmUgcmV0dXJucy4KKyAgICAg
ICAgICAgICAgICAgICAgLy8gVXNlIHRoZSBOdW1iZXIgY29uc3RydWN0b3IgdG8gZm9yZ2V0IHRo
ZSBmaXhlZCBwcmVjaXNpb24sIHNvIDEuMTAwMDAwIHdpbGwgcHJpbnQgYXMgMS4xLgorICAgICAg
ICAgICAgICAgICAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciArIGNoYW5nZUFtb3VudCkudG9G
aXhlZCg2KSk7CisgICAgICAgICAgICAgICAgfQogCi0gICAgICAgIHdvcmRSYW5nZS5kZWxldGVD
b250ZW50cygpOwotICAgICAgICB3b3JkUmFuZ2UuaW5zZXJ0Tm9kZShyZXBsYWNlbWVudFRleHRO
b2RlKTsKKyAgICAgICAgICAgICAgICByZXBsYWNlbWVudFN0cmluZyA9IHByZWZpeCArIG51bWJl
ciArIHN1ZmZpeDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogCi0gICAgICAgIHZhciBmaW5h
bFNlbGVjdGlvblJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKLSAgICAgICAgZmluYWxT
ZWxlY3Rpb25SYW5nZS5zZXRTdGFydChyZXBsYWNlbWVudFRleHROb2RlLCAwKTsKLSAgICAgICAg
ZmluYWxTZWxlY3Rpb25SYW5nZS5zZXRFbmQocmVwbGFjZW1lbnRUZXh0Tm9kZSwgcmVwbGFjZW1l
bnRTdHJpbmcubGVuZ3RoKTsKKyAgICAgICAgaWYgKCFyZXBsYWNlbWVudFN0cmluZykKKyAgICAg
ICAgICAgIHJldHVybjsKIAotICAgICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7Ci0g
ICAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShmaW5hbFNlbGVjdGlvblJhbmdlKTsKKyAgICAgICAg
dmFyIHZhbHVlU3RhcnQgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKDAsIHNlbGVjdGlvblN0YXJ0
KTsKKyAgICAgICAgdmFyIHZhbHVlRW5kID0gY3VycmVudFZhbHVlLnN1YnN0cmluZyh3b3JkUmFu
Z2UuZW5kT2Zmc2V0KTsKKyAgICAgICAgdmFyIG5ld1ZhbHVlID0gdmFsdWVTdGFydCArIHJlcGxh
Y2VtZW50U3RyaW5nICsgdmFsdWVFbmQ7CisgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LnRleHRD
b250ZW50ID0gbmV3VmFsdWU7CisgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LmZpcnN0Q2hpbGQu
c2VsZWN0KHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25TdGFydCArIHJlcGxhY2VtZW50U3RyaW5n
Lmxlbmd0aCkKIAogICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogCkBAIC0xNzM1LDYg
KzE3OTksNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIGVkaXRlZEVsZW1lbnQucGFyZW50RWxlbWVudC5yZW1vdmVTdHls
ZUNsYXNzKCJjaGlsZC1lZGl0aW5nIik7CiAKICAgICAgICAgZGVsZXRlIHRoaXMub3JpZ2luYWxQ
cm9wZXJ0eVRleHQ7CisgICAgICAgIGRlbGV0ZSB0aGlzLl9jc3NWYWx1ZUNvbXBsZXRpb25zOwog
ICAgIH0sCiAKICAgICBlZGl0aW5nQ2FuY2VsbGVkOiBmdW5jdGlvbihlbGVtZW50LCBjb250ZXh0
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1s
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IDllZDUw
MTkuLmFiYzI4NWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuaHRtbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0
bWwKQEAgLTkxLDYgKzkxLDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJFdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb2xvci5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ1NTQ29tcGxldGlvbnMu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNT
U0tleXdvcmRDb21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iU3R5bGVzU2lkZWJhclBhbmUuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlBhbmVsRW5hYmxlclZpZXcuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IldlbGNvbWVW
aWV3LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGVjOTdjYmYuLjRiMzhkYTggMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEwLTEyLTIyICBBbGV4YW5kZXIgUGF2bG92ICA8
YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYXV0b2NvbXBsZXRpb24gZm9yIENTUyBwcm9w
ZXJ0eSB2YWx1ZXMgaW4gU3R5bGVzIHBhbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQxNDE0CisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorCiAyMDEw
LTEyLTIwICBBbmRyZWkgUG9wZXNjdSAgPGFuZHJlaXBAZ29vZ2xlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBKZXJlbXkgT3Jsb3cuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vV2Vi
S2l0Lmd5cCBiL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDM2MTJhMDguLjllNjI2
ZDYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC02OTgsNiArNjk4LDcgQEAKICAgICAgICAgICAgICdkZXBl
bmRlbmNpZXMnOiBbCiAgICAgICAgICAgICAgICAgJ2RldnRvb2xzX2h0bWwnLAogICAgICAgICAg
ICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOmluc3BlY3Rvcl9w
cm90b2NvbF9zb3VyY2VzJywKKyAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cDp3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgICAgICAg
XSwKICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwogICAgICAgICAgICAgICAgIFsnZGVidWdf
ZGV2dG9vbHM9PTAnLCB7CkBAIC03MTIsNiArNzEzLDcgQEAKICAgICAgICAgICAgICAgICAgICAg
ICAgICc8QChkZXZ0b29sc19maWxlcyknLAogICAgICAgICAgICAgICAgICAgICAgICAgJzxAKHdl
Ymluc3BlY3Rvcl9maWxlcyknLAogICAgICAgICAgICAgICAgICAgICAgICAgJzwoU0hBUkVEX0lO
VEVSTUVESUFURV9ESVIpL3dlYmNvcmUvSW5zcGVjdG9yQmFja2VuZFN0dWIuanMnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9DU1NL
ZXl3b3JkQ29tcGxldGlvbnMuanMnLAogICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg
ICAgICAgICAgICAnY29uZGl0aW9ucyc6IFsKICAgICAgICAgICAgICAgICAgICAgICAgIFsnZGVi
dWdfZGV2dG9vbHM9PTAnLCB7CkBAIC03NDksNyArNzUxLDggQEAKICAgICAgICAgICAgICd0eXBl
JzogJ25vbmUnLAogICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgICAgICAg
ICAnZGV2dG9vbHNfaHRtbCcsCi0gICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXA6aW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnCisgICAgICAgICAg
ICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6aW5zcGVjdG9yX3By
b3RvY29sX3NvdXJjZXMnLAorICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVfYmluZGluZ3Nfc291cmNlcycKICAgICAgICAgICAgIF0s
CiAgICAgICAgICAgICAnc291cmNlcyc6IFsnPChQUk9EVUNUX0RJUikvcmVzb3VyY2VzL2luc3Bl
Y3Rvci9EZXZUb29scy5qcyddLAogICAgICAgICAgICAgJ2FjdGlvbnMnOiBbewpAQCAtNzYxLDEy
ICs3NjQsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgJzxAKF9pbnB1dF9wYWdlKScsCiAgICAg
ICAgICAgICAgICAgICAgICc8QCh3ZWJpbnNwZWN0b3JfZmlsZXMpJywKICAgICAgICAgICAgICAg
ICAgICAgJzxAKGRldnRvb2xzX2ZpbGVzKScsCi0gICAgICAgICAgICAgICAgICAgICc8KFNIQVJF
RF9JTlRFUk1FRElBVEVfRElSKS93ZWJjb3JlL0luc3BlY3RvckJhY2tlbmRTdHViLmpzJworICAg
ICAgICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2ViY29yZS9JbnNw
ZWN0b3JCYWNrZW5kU3R1Yi5qcycsCisgICAgICAgICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRF
Uk1FRElBVEVfRElSKS93ZWJraXQvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzJwogICAgICAgICAg
ICAgICAgIF0sCiAgICAgICAgICAgICAgICAgJ3NlYXJjaF9wYXRoJzogWwogICAgICAgICAgICAg
ICAgICAgICAnLi4vLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kJywKICAgICAgICAgICAg
ICAgICAgICAgJ3NyYy9qcycsCiAgICAgICAgICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1F
RElBVEVfRElSKS93ZWJjb3JlJywKKyAgICAgICAgICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVS
TUVESUFURV9ESVIpL3dlYmtpdCcKICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAg
ICdvdXRwdXRzJzogWyc8KFBST0RVQ1RfRElSKS9yZXNvdXJjZXMvaW5zcGVjdG9yL0RldlRvb2xz
LmpzJ10sCiAgICAgICAgICAgICAgICAgJ2FjdGlvbic6IFsncHl0aG9uJywgJzxAKF9zY3JpcHRf
bmFtZSknLCAnPEAoX2lucHV0X3BhZ2UpJywgJzxAKF9zZWFyY2hfcGF0aCknLCAnPEAoX291dHB1
dHMpJ10sCg==
</data>
<flag name="review"
          id="68264"
          type_id="1"
          status="-"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>77205</attachid>
            <date>2010-12-22 05:15:17 -0800</date>
            <delta_ts>2010-12-24 06:25:57 -0800</delta_ts>
            <desc>[FILE] Generated CSSKeywordCompletions.js (with patch 77204)</desc>
            <filename>CSSKeywordCompletions.js</filename>
            <type>application/x-javascript</type>
            <size>22625</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">LyoKICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAqIG1ldDoKICoKICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgogKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCiAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogKiBkaXN0cmlidXRp
b24uCiAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICoKICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAog
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCiAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQogKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogKgogKiBUSElTIEZJTEUgSVMgR0VORVJBVEVEIEJZIG1ha2V2
YWx1ZXMucGwuIERPIE5PVCBNT0RJRlkhCiAqLwoKV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21w
bGV0aW9ucyA9IHsKICAgIGZvclByb3BlcnR5OiBmdW5jdGlvbihwcm9wZXJ0eU5hbWUpCiAgICB7
CiAgICAgICAgdmFyIGFjY2VwdGVkS2V5d29yZHMgPSBbImluaXRpYWwiXTsKICAgICAgICBpZiAo
cHJvcGVydHlOYW1lIGluIHRoaXMuX3Byb3BlcnR5S2V5d29yZE1hcCkKICAgICAgICAgICAgYWNj
ZXB0ZWRLZXl3b3JkcyA9IGFjY2VwdGVkS2V5d29yZHMuY29uY2F0KHRoaXMuX3Byb3BlcnR5S2V5
d29yZE1hcFtwcm9wZXJ0eU5hbWVdKTsKICAgICAgICBpZiAocHJvcGVydHlOYW1lIGluIHRoaXMu
X2NvbG9yQXdhcmVQcm9wZXJ0aWVzKQogICAgICAgICAgICBhY2NlcHRlZEtleXdvcmRzID0gYWNj
ZXB0ZWRLZXl3b3Jkcy5jb25jYXQodGhpcy5fcHJvcGVydHlLZXl3b3JkTWFwWyJfY29sb3JfIl0p
OwogICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQ
YW5lLkluaGVyaXRlZFByb3BlcnRpZXMpCiAgICAgICAgICAgIGFjY2VwdGVkS2V5d29yZHMucHVz
aCgiaW5oZXJpdCIpOwogICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRp
b25zKGFjY2VwdGVkS2V5d29yZHMpOwogICAgfQp9OwoKV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRD
b21wbGV0aW9ucy5fY29sb3JBd2FyZVByb3BlcnRpZXMgPSBbCiAgICAiYmFja2dyb3VuZCIsCiAg
ICAiYmFja2dyb3VuZC1jb2xvciIsCiAgICAiYm9yZGVyIiwKICAgICJib3JkZXItY29sb3IiLAog
ICAgImJvcmRlci10b3AiLAogICAgImJvcmRlci1yaWdodCIsCiAgICAiYm9yZGVyLWJvdHRvbSIs
CiAgICAiYm9yZGVyLWxlZnQiLAogICAgImJvcmRlci10b3AtY29sb3IiLAogICAgImJvcmRlci1y
aWdodC1jb2xvciIsCiAgICAiYm9yZGVyLWJvdHRvbS1jb2xvciIsCiAgICAiYm9yZGVyLWxlZnQt
Y29sb3IiLAogICAgImNvbG9yIiwKICAgICJvdXRsaW5lIiwKICAgICJvdXRsaW5lLWNvbG9yIiwK
ICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCIsCiAgICAidGV4dC1saW5lLXRocm91Z2gtY29sb3IiLAog
ICAgInRleHQtb3ZlcmxpbmUiLAogICAgInRleHQtb3ZlcmxpbmUtY29sb3IiLAogICAgInRleHQt
c2hhZG93IiwKICAgICJ0ZXh0LXVuZGVybGluZSIsCiAgICAidGV4dC11bmRlcmxpbmUtY29sb3Ii
LAogICAgIi13ZWJraXQtdGV4dC1lbXBoYXNpcyIsCiAgICAiLXdlYmtpdC10ZXh0LWVtcGhhc2lz
LWNvbG9yIgpdLmtleVNldCgpOwoKV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5f
cHJvcGVydHlLZXl3b3JkTWFwID0gewogICAgInRhYmxlLWxheW91dCI6IFsKICAgICAgICAiYXV0
byIsCiAgICAgICAgImZpeGVkIgogICAgXSwKICAgICJ2aXNpYmlsaXR5IjogWwogICAgICAgICJo
aWRkZW4iLAogICAgICAgICJ2aXNpYmxlIiwKICAgICAgICAiY29sbGFwc2UiCiAgICBdLAogICAg
ImJhY2tncm91bmQtcmVwZWF0IjogWwogICAgICAgICJyZXBlYXQiLAogICAgICAgICJyZXBlYXQt
eCIsCiAgICAgICAgInJlcGVhdC15IiwKICAgICAgICAibm8tcmVwZWF0IiwKICAgICAgICAic3Bh
Y2UiLAogICAgICAgICJyb3VuZCIKICAgIF0sCiAgICAidGV4dC11bmRlcmxpbmUiOiBbCiAgICAg
ICAgIm5vbmUiLAogICAgICAgICJkb3R0ZWQiLAogICAgICAgICJkYXNoZWQiLAogICAgICAgICJz
b2xpZCIsCiAgICAgICAgImRvdWJsZSIsCiAgICAgICAgImRvdC1kYXNoIiwKICAgICAgICAiZG90
LWRvdC1kYXNoIiwKICAgICAgICAid2F2ZSIKICAgIF0sCiAgICAiY29udGVudCI6IFsKICAgICAg
ICAibGlzdC1pdGVtIiwKICAgICAgICAiY2xvc2UtcXVvdGUiLAogICAgICAgICJuby1jbG9zZS1x
dW90ZSIsCiAgICAgICAgIm5vLW9wZW4tcXVvdGUiLAogICAgICAgICJvcGVuLXF1b3RlIgogICAg
XSwKICAgICJsaXN0LXN0eWxlLWltYWdlIjogWwogICAgICAgICJub25lIgogICAgXSwKICAgICJj
bGVhciI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImxlZnQiLAogICAgICAgICJyaWdodCIs
CiAgICAgICAgImJvdGgiCiAgICBdLAogICAgInRleHQtdW5kZXJsaW5lLW1vZGUiOiBbCiAgICAg
ICAgImNvbnRpbnVvdXMiLAogICAgICAgICJza2lwLXdoaXRlLXNwYWNlIgogICAgXSwKICAgICJv
dmVyZmxvdy14IjogWwogICAgICAgICJoaWRkZW4iLAogICAgICAgICJhdXRvIiwKICAgICAgICAi
dmlzaWJsZSIsCiAgICAgICAgIm92ZXJsYXkiLAogICAgICAgICJzY3JvbGwiCiAgICBdLAogICAg
InN0cm9rZS1saW5lam9pbiI6IFsKICAgICAgICAicm91bmQiLAogICAgICAgICJtaXRlciIsCiAg
ICAgICAgImJldmVsIgogICAgXSwKICAgICJiYXNlbGluZS1zaGlmdCI6IFsKICAgICAgICAiYmFz
ZWxpbmUiLAogICAgICAgICJzdWIiLAogICAgICAgICJzdXBlciIKICAgIF0sCiAgICAiYm9yZGVy
LWJvdHRvbS13aWR0aCI6IFsKICAgICAgICAibWVkaXVtIiwKICAgICAgICAidGhpY2siLAogICAg
ICAgICJ0aGluIgogICAgXSwKICAgICJtYXJxdWVlLXNwZWVkIjogWwogICAgICAgICJub3JtYWwi
LAogICAgICAgICJzbG93IiwKICAgICAgICAiZmFzdCIKICAgIF0sCiAgICAibWFyZ2luLXRvcC1j
b2xsYXBzZSI6IFsKICAgICAgICAiY29sbGFwc2UiLAogICAgICAgICJzZXBhcmF0ZSIsCiAgICAg
ICAgImRpc2NhcmQiCiAgICBdLAogICAgIm1heC1oZWlnaHQiOiBbCiAgICAgICAgIm5vbmUiCiAg
ICBdLAogICAgImJveC1vcmllbnQiOiBbCiAgICAgICAgImhvcml6b250YWwiLAogICAgICAgICJ2
ZXJ0aWNhbCIsCiAgICAgICAgImlubGluZS1heGlzIiwKICAgICAgICAiYmxvY2stYXhpcyIKICAg
IF0sCiAgICAiZm9udC1zdHJldGNoIjogWwogICAgICAgICJub3JtYWwiLAogICAgICAgICJ3aWRl
ciIsCiAgICAgICAgIm5hcnJvd2VyIiwKICAgICAgICAidWx0cmEtY29uZGVuc2VkIiwKICAgICAg
ICAiZXh0cmEtY29uZGVuc2VkIiwKICAgICAgICAiY29uZGVuc2VkIiwKICAgICAgICAic2VtaS1j
b25kZW5zZWQiLAogICAgICAgICJzZW1pLWV4cGFuZGVkIiwKICAgICAgICAiZXhwYW5kZWQiLAog
ICAgICAgICJleHRyYS1leHBhbmRlZCIsCiAgICAgICAgInVsdHJhLWV4cGFuZGVkIgogICAgXSwK
ICAgICItd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24iOiBbCiAgICAgICAgImRlZmF1bHQiLAogICAg
ICAgICJzcmdiIgogICAgXSwKICAgICJ0ZXh0LXVuZGVybGluZS1zdHlsZSI6IFsKICAgICAgICAi
bm9uZSIsCiAgICAgICAgImRvdHRlZCIsCiAgICAgICAgImRhc2hlZCIsCiAgICAgICAgInNvbGlk
IiwKICAgICAgICAiZG91YmxlIiwKICAgICAgICAiZG90LWRhc2giLAogICAgICAgICJkb3QtZG90
LWRhc2giLAogICAgICAgICJ3YXZlIgogICAgXSwKICAgICJ0ZXh0LW92ZXJsaW5lLW1vZGUiOiBb
CiAgICAgICAgImNvbnRpbnVvdXMiLAogICAgICAgICJza2lwLXdoaXRlLXNwYWNlIgogICAgXSwK
ICAgICItd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlIjogWwogICAgICAgICJoaWdobGlnaHQi
LAogICAgICAgICJjbGVhciIsCiAgICAgICAgImNvcHkiLAogICAgICAgICJzb3VyY2Utb3ZlciIs
CiAgICAgICAgInNvdXJjZS1pbiIsCiAgICAgICAgInNvdXJjZS1vdXQiLAogICAgICAgICJzb3Vy
Y2UtYXRvcCIsCiAgICAgICAgImRlc3RpbmF0aW9uLW92ZXIiLAogICAgICAgICJkZXN0aW5hdGlv
bi1pbiIsCiAgICAgICAgImRlc3RpbmF0aW9uLW91dCIsCiAgICAgICAgImRlc3RpbmF0aW9uLWF0
b3AiLAogICAgICAgICJ4b3IiLAogICAgICAgICJwbHVzLWRhcmtlciIsCiAgICAgICAgInBsdXMt
bGlnaHRlciIKICAgIF0sCiAgICAiYm9yZGVyLWxlZnQtd2lkdGgiOiBbCiAgICAgICAgIm1lZGl1
bSIsCiAgICAgICAgInRoaWNrIiwKICAgICAgICAidGhpbiIKICAgIF0sCiAgICAiLXdlYmtpdC13
cml0aW5nLW1vZGUiOiBbCiAgICAgICAgImxyIiwKICAgICAgICAicmwiLAogICAgICAgICJ0YiIs
CiAgICAgICAgImxyLXRiIiwKICAgICAgICAicmwtdGIiLAogICAgICAgICJ0Yi1ybCIsCiAgICAg
ICAgImhvcml6b250YWwtdGIiLAogICAgICAgICJ2ZXJ0aWNhbC1ybCIsCiAgICAgICAgInZlcnRp
Y2FsLWxyIiwKICAgICAgICAiaG9yaXpvbnRhbC1idCIKICAgIF0sCiAgICAidGV4dC1saW5lLXRo
cm91Z2gtbW9kZSI6IFsKICAgICAgICAiY29udGludW91cyIsCiAgICAgICAgInNraXAtd2hpdGUt
c3BhY2UiCiAgICBdLAogICAgImJvcmRlci1jb2xsYXBzZSI6IFsKICAgICAgICAiY29sbGFwc2Ui
LAogICAgICAgICJzZXBhcmF0ZSIKICAgIF0sCiAgICAicGFnZS1icmVhay1pbnNpZGUiOiBbCiAg
ICAgICAgImF1dG8iLAogICAgICAgICJhdm9pZCIKICAgIF0sCiAgICAiYm9yZGVyLXRvcC13aWR0
aCI6IFsKICAgICAgICAibWVkaXVtIiwKICAgICAgICAidGhpY2siLAogICAgICAgICJ0aGluIgog
ICAgXSwKICAgICJvdXRsaW5lLWNvbG9yIjogWwogICAgICAgICJpbnZlcnQiCiAgICBdLAogICAg
InRleHQtbGluZS10aHJvdWdoLXN0eWxlIjogWwogICAgICAgICJub25lIiwKICAgICAgICAiZG90
dGVkIiwKICAgICAgICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAgICAgICJkb3VibGUi
LAogICAgICAgICJkb3QtZGFzaCIsCiAgICAgICAgImRvdC1kb3QtZGFzaCIsCiAgICAgICAgIndh
dmUiCiAgICBdLAogICAgIm91dGxpbmUtc3R5bGUiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAg
ICJoaWRkZW4iLAogICAgICAgICJpbnNldCIsCiAgICAgICAgImdyb292ZSIsCiAgICAgICAgInJp
ZGdlIiwKICAgICAgICAib3V0c2V0IiwKICAgICAgICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVk
IiwKICAgICAgICAic29saWQiLAogICAgICAgICJkb3VibGUiCiAgICBdLAogICAgImN1cnNvciI6
IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImNvcHkiLAogICAgICAgICJhdXRvIiwKICAgICAg
ICAiY3Jvc3NoYWlyIiwKICAgICAgICAiZGVmYXVsdCIsCiAgICAgICAgInBvaW50ZXIiLAogICAg
ICAgICJtb3ZlIiwKICAgICAgICAidmVydGljYWwtdGV4dCIsCiAgICAgICAgImNlbGwiLAogICAg
ICAgICJjb250ZXh0LW1lbnUiLAogICAgICAgICJhbGlhcyIsCiAgICAgICAgInByb2dyZXNzIiwK
ICAgICAgICAibm8tZHJvcCIsCiAgICAgICAgIm5vdC1hbGxvd2VkIiwKICAgICAgICAiLXdlYmtp
dC16b29tLWluIiwKICAgICAgICAiLXdlYmtpdC16b29tLW91dCIsCiAgICAgICAgImUtcmVzaXpl
IiwKICAgICAgICAibmUtcmVzaXplIiwKICAgICAgICAibnctcmVzaXplIiwKICAgICAgICAibi1y
ZXNpemUiLAogICAgICAgICJzZS1yZXNpemUiLAogICAgICAgICJzdy1yZXNpemUiLAogICAgICAg
ICJzLXJlc2l6ZSIsCiAgICAgICAgInctcmVzaXplIiwKICAgICAgICAiZXctcmVzaXplIiwKICAg
ICAgICAibnMtcmVzaXplIiwKICAgICAgICAibmVzdy1yZXNpemUiLAogICAgICAgICJud3NlLXJl
c2l6ZSIsCiAgICAgICAgImNvbC1yZXNpemUiLAogICAgICAgICJyb3ctcmVzaXplIiwKICAgICAg
ICAidGV4dCIsCiAgICAgICAgIndhaXQiLAogICAgICAgICJoZWxwIiwKICAgICAgICAiYWxsLXNj
cm9sbCIsCiAgICAgICAgIi13ZWJraXQtZ3JhYiIsCiAgICAgICAgIi13ZWJraXQtZ3JhYmJpbmci
CiAgICBdLAogICAgImJvcmRlci13aWR0aCI6IFsKICAgICAgICAibWVkaXVtIiwKICAgICAgICAi
dGhpY2siLAogICAgICAgICJ0aGluIgogICAgXSwKICAgICJzaXplIjogWwogICAgICAgICJhMyIs
CiAgICAgICAgImE0IiwKICAgICAgICAiYTUiLAogICAgICAgICJiNCIsCiAgICAgICAgImI1IiwK
ICAgICAgICAibGFuZHNjYXBlIiwKICAgICAgICAibGVkZ2VyIiwKICAgICAgICAibGVnYWwiLAog
ICAgICAgICJsZXR0ZXIiLAogICAgICAgICJwb3J0cmFpdCIKICAgIF0sCiAgICAiYmFja2dyb3Vu
ZC1zaXplIjogWwogICAgICAgICJjb250YWluIiwKICAgICAgICAiY292ZXIiCiAgICBdLAogICAg
ImRpcmVjdGlvbiI6IFsKICAgICAgICAibHRyIiwKICAgICAgICAicnRsIgogICAgXSwKICAgICJt
YXJxdWVlLWRpcmVjdGlvbiI6IFsKICAgICAgICAibGVmdCIsCiAgICAgICAgInJpZ2h0IiwKICAg
ICAgICAiYXV0byIsCiAgICAgICAgInJldmVyc2UiLAogICAgICAgICJmb3J3YXJkcyIsCiAgICAg
ICAgImJhY2t3YXJkcyIsCiAgICAgICAgImFoZWFkIiwKICAgICAgICAidXAiLAogICAgICAgICJk
b3duIgogICAgXSwKICAgICJlbmFibGUtYmFja2dyb3VuZCI6IFsKICAgICAgICAiYWNjdW11bGF0
ZSIsCiAgICAgICAgIm5ldyIKICAgIF0sCiAgICAiZmxvYXQiOiBbCiAgICAgICAgIm5vbmUiLAog
ICAgICAgICJsZWZ0IiwKICAgICAgICAicmlnaHQiCiAgICBdLAogICAgIm92ZXJmbG93LXkiOiBb
CiAgICAgICAgImhpZGRlbiIsCiAgICAgICAgImF1dG8iLAogICAgICAgICJ2aXNpYmxlIiwKICAg
ICAgICAib3ZlcmxheSIsCiAgICAgICAgInNjcm9sbCIKICAgIF0sCiAgICAibWFyZ2luLWJvdHRv
bS1jb2xsYXBzZSI6IFsKICAgICAgICAiY29sbGFwc2UiLAogICAgICAgICJzZXBhcmF0ZSIsCiAg
ICAgICAgImRpc2NhcmQiCiAgICBdLAogICAgImJveC1yZWZsZWN0IjogWwogICAgICAgICJsZWZ0
IiwKICAgICAgICAicmlnaHQiLAogICAgICAgICJhYm92ZSIsCiAgICAgICAgImJlbG93IgogICAg
XSwKICAgICJvdmVyZmxvdyI6IFsKICAgICAgICAiaGlkZGVuIiwKICAgICAgICAiYXV0byIsCiAg
ICAgICAgInZpc2libGUiLAogICAgICAgICJvdmVybGF5IiwKICAgICAgICAic2Nyb2xsIgogICAg
XSwKICAgICJ0ZXh0LXJlbmRlcmluZyI6IFsKICAgICAgICAiYXV0byIsCiAgICAgICAgIm9wdGlt
aXplc3BlZWQiLAogICAgICAgICJvcHRpbWl6ZWxlZ2liaWxpdHkiLAogICAgICAgICJnZW9tZXRy
aWNwcmVjaXNpb24iCiAgICBdLAogICAgInRleHQtYWxpZ24iOiBbCiAgICAgICAgIi13ZWJraXQt
YXV0byIsCiAgICAgICAgImxlZnQiLAogICAgICAgICJyaWdodCIsCiAgICAgICAgImNlbnRlciIs
CiAgICAgICAgImp1c3RpZnkiLAogICAgICAgICItd2Via2l0LWxlZnQiLAogICAgICAgICItd2Vi
a2l0LXJpZ2h0IiwKICAgICAgICAiLXdlYmtpdC1jZW50ZXIiCiAgICBdLAogICAgImxpc3Qtc3R5
bGUtcG9zaXRpb24iOiBbCiAgICAgICAgIm91dHNpZGUiLAogICAgICAgICJpbnNpZGUiCiAgICBd
LAogICAgIm1hcmdpbi1ib3R0b20iOiBbCiAgICAgICAgImF1dG8iCiAgICBdLAogICAgImNvbG9y
LWludGVycG9sYXRpb24iOiBbCiAgICAgICAgImxpbmVhcnJnYiIKICAgIF0sCiAgICAiYmFja2dy
b3VuZC1vcmlnaW4iOiBbCiAgICAgICAgImJvcmRlci1ib3giLAogICAgICAgICJjb250ZW50LWJv
eCIsCiAgICAgICAgInBhZGRpbmctYm94IgogICAgXSwKICAgICJ3b3JkLXdyYXAiOiBbCiAgICAg
ICAgIm5vcm1hbCIsCiAgICAgICAgImJyZWFrLXdvcmQiCiAgICBdLAogICAgImZvbnQtd2VpZ2h0
IjogWwogICAgICAgICJub3JtYWwiLAogICAgICAgICJib2xkIiwKICAgICAgICAiYm9sZGVyIiwK
ICAgICAgICAibGlnaHRlciIsCiAgICAgICAgIjEwMCIsCiAgICAgICAgIjIwMCIsCiAgICAgICAg
IjMwMCIsCiAgICAgICAgIjQwMCIsCiAgICAgICAgIjUwMCIsCiAgICAgICAgIjYwMCIsCiAgICAg
ICAgIjcwMCIsCiAgICAgICAgIjgwMCIsCiAgICAgICAgIjkwMCIKICAgIF0sCiAgICAibWFyZ2lu
LWJlZm9yZS1jb2xsYXBzZSI6IFsKICAgICAgICAiY29sbGFwc2UiLAogICAgICAgICJzZXBhcmF0
ZSIsCiAgICAgICAgImRpc2NhcmQiCiAgICBdLAogICAgIl9jb2xvcl8iOiBbCiAgICAgICAgImFx
dWEiLAogICAgICAgICJibGFjayIsCiAgICAgICAgImJsdWUiLAogICAgICAgICJmdWNoc2lhIiwK
ICAgICAgICAiZ3JheSIsCiAgICAgICAgImdyZWVuIiwKICAgICAgICAibGltZSIsCiAgICAgICAg
Im1hcm9vbiIsCiAgICAgICAgIm5hdnkiLAogICAgICAgICJvbGl2ZSIsCiAgICAgICAgIm9yYW5n
ZSIsCiAgICAgICAgInB1cnBsZSIsCiAgICAgICAgInJlZCIsCiAgICAgICAgInNpbHZlciIsCiAg
ICAgICAgInRlYWwiLAogICAgICAgICJ3aGl0ZSIsCiAgICAgICAgInllbGxvdyIsCiAgICAgICAg
InRyYW5zcGFyZW50IiwKICAgICAgICAiY3VycmVudGNvbG9yIiwKICAgICAgICAiZ3JleSIsCiAg
ICAgICAgImFsaWNlYmx1ZSIsCiAgICAgICAgImFudGlxdWV3aGl0ZSIsCiAgICAgICAgImFxdWFt
YXJpbmUiLAogICAgICAgICJhenVyZSIsCiAgICAgICAgImJlaWdlIiwKICAgICAgICAiYmlzcXVl
IiwKICAgICAgICAiYmxhbmNoZWRhbG1vbmQiLAogICAgICAgICJibHVldmlvbGV0IiwKICAgICAg
ICAiYnJvd24iLAogICAgICAgICJidXJseXdvb2QiLAogICAgICAgICJjYWRldGJsdWUiLAogICAg
ICAgICJjaGFydHJldXNlIiwKICAgICAgICAiY2hvY29sYXRlIiwKICAgICAgICAiY29yYWwiLAog
ICAgICAgICJjb3JuZmxvd2VyYmx1ZSIsCiAgICAgICAgImNvcm5zaWxrIiwKICAgICAgICAiY3Jp
bXNvbiIsCiAgICAgICAgImN5YW4iLAogICAgICAgICJkYXJrYmx1ZSIsCiAgICAgICAgImRhcmtj
eWFuIiwKICAgICAgICAiZGFya2dvbGRlbnJvZCIsCiAgICAgICAgImRhcmtncmF5IiwKICAgICAg
ICAiZGFya2dyZWVuIiwKICAgICAgICAiZGFya2dyZXkiLAogICAgICAgICJkYXJra2hha2kiLAog
ICAgICAgICJkYXJrbWFnZW50YSIsCiAgICAgICAgImRhcmtvbGl2ZWdyZWVuIiwKICAgICAgICAi
ZGFya29yYW5nZSIsCiAgICAgICAgImRhcmtvcmNoaWQiLAogICAgICAgICJkYXJrcmVkIiwKICAg
ICAgICAiZGFya3NhbG1vbiIsCiAgICAgICAgImRhcmtzZWFncmVlbiIsCiAgICAgICAgImRhcmtz
bGF0ZWJsdWUiLAogICAgICAgICJkYXJrc2xhdGVncmF5IiwKICAgICAgICAiZGFya3NsYXRlZ3Jl
eSIsCiAgICAgICAgImRhcmt0dXJxdW9pc2UiLAogICAgICAgICJkYXJrdmlvbGV0IiwKICAgICAg
ICAiZGVlcHBpbmsiLAogICAgICAgICJkZWVwc2t5Ymx1ZSIsCiAgICAgICAgImRpbWdyYXkiLAog
ICAgICAgICJkaW1ncmV5IiwKICAgICAgICAiZG9kZ2VyYmx1ZSIsCiAgICAgICAgImZpcmVicmlj
ayIsCiAgICAgICAgImZsb3JhbHdoaXRlIiwKICAgICAgICAiZm9yZXN0Z3JlZW4iLAogICAgICAg
ICJnYWluc2Jvcm8iLAogICAgICAgICJnaG9zdHdoaXRlIiwKICAgICAgICAiZ29sZCIsCiAgICAg
ICAgImdvbGRlbnJvZCIsCiAgICAgICAgImdyZWVueWVsbG93IiwKICAgICAgICAiaG9uZXlkZXci
LAogICAgICAgICJob3RwaW5rIiwKICAgICAgICAiaW5kaWFucmVkIiwKICAgICAgICAiaW5kaWdv
IiwKICAgICAgICAiaXZvcnkiLAogICAgICAgICJraGFraSIsCiAgICAgICAgImxhdmVuZGVyIiwK
ICAgICAgICAibGF2ZW5kZXJibHVzaCIsCiAgICAgICAgImxhd25ncmVlbiIsCiAgICAgICAgImxl
bW9uY2hpZmZvbiIsCiAgICAgICAgImxpZ2h0Ymx1ZSIsCiAgICAgICAgImxpZ2h0Y29yYWwiLAog
ICAgICAgICJsaWdodGN5YW4iLAogICAgICAgICJsaWdodGdvbGRlbnJvZHllbGxvdyIsCiAgICAg
ICAgImxpZ2h0Z3JheSIsCiAgICAgICAgImxpZ2h0Z3JlZW4iLAogICAgICAgICJsaWdodGdyZXki
LAogICAgICAgICJsaWdodHBpbmsiLAogICAgICAgICJsaWdodHNhbG1vbiIsCiAgICAgICAgImxp
Z2h0c2VhZ3JlZW4iLAogICAgICAgICJsaWdodHNreWJsdWUiLAogICAgICAgICJsaWdodHNsYXRl
Z3JheSIsCiAgICAgICAgImxpZ2h0c2xhdGVncmV5IiwKICAgICAgICAibGlnaHRzdGVlbGJsdWUi
LAogICAgICAgICJsaWdodHllbGxvdyIsCiAgICAgICAgImxpbWVncmVlbiIsCiAgICAgICAgImxp
bmVuIiwKICAgICAgICAibWFnZW50YSIsCiAgICAgICAgIm1lZGl1bWFxdWFtYXJpbmUiLAogICAg
ICAgICJtZWRpdW1ibHVlIiwKICAgICAgICAibWVkaXVtb3JjaGlkIiwKICAgICAgICAibWVkaXVt
cHVycGxlIiwKICAgICAgICAibWVkaXVtc2VhZ3JlZW4iLAogICAgICAgICJtZWRpdW1zbGF0ZWJs
dWUiLAogICAgICAgICJtZWRpdW1zcHJpbmdncmVlbiIsCiAgICAgICAgIm1lZGl1bXR1cnF1b2lz
ZSIsCiAgICAgICAgIm1lZGl1bXZpb2xldHJlZCIsCiAgICAgICAgIm1pZG5pZ2h0Ymx1ZSIsCiAg
ICAgICAgIm1pbnRjcmVhbSIsCiAgICAgICAgIm1pc3R5cm9zZSIsCiAgICAgICAgIm1vY2Nhc2lu
IiwKICAgICAgICAibmF2YWpvd2hpdGUiLAogICAgICAgICJvbGRsYWNlIiwKICAgICAgICAib2xp
dmVkcmFiIiwKICAgICAgICAib3JhbmdlcmVkIiwKICAgICAgICAib3JjaGlkIiwKICAgICAgICAi
cGFsZWdvbGRlbnJvZCIsCiAgICAgICAgInBhbGVncmVlbiIsCiAgICAgICAgInBhbGV0dXJxdW9p
c2UiLAogICAgICAgICJwYWxldmlvbGV0cmVkIiwKICAgICAgICAicGFwYXlhd2hpcCIsCiAgICAg
ICAgInBlYWNocHVmZiIsCiAgICAgICAgInBlcnUiLAogICAgICAgICJwaW5rIiwKICAgICAgICAi
cGx1bSIsCiAgICAgICAgInBvd2RlcmJsdWUiLAogICAgICAgICJyb3N5YnJvd24iLAogICAgICAg
ICJyb3lhbGJsdWUiLAogICAgICAgICJzYWRkbGVicm93biIsCiAgICAgICAgInNhbG1vbiIsCiAg
ICAgICAgInNhbmR5YnJvd24iLAogICAgICAgICJzZWFncmVlbiIsCiAgICAgICAgInNlYXNoZWxs
IiwKICAgICAgICAic2llbm5hIiwKICAgICAgICAic2t5Ymx1ZSIsCiAgICAgICAgInNsYXRlYmx1
ZSIsCiAgICAgICAgInNsYXRlZ3JheSIsCiAgICAgICAgInNsYXRlZ3JleSIsCiAgICAgICAgInNu
b3ciLAogICAgICAgICJzcHJpbmdncmVlbiIsCiAgICAgICAgInN0ZWVsYmx1ZSIsCiAgICAgICAg
InRhbiIsCiAgICAgICAgInRoaXN0bGUiLAogICAgICAgICJ0b21hdG8iLAogICAgICAgICJ0dXJx
dW9pc2UiLAogICAgICAgICJ2aW9sZXQiLAogICAgICAgICJ3aGVhdCIsCiAgICAgICAgIndoaXRl
c21va2UiLAogICAgICAgICJ5ZWxsb3dncmVlbiIKICAgIF0sCiAgICAidGV4dC1vdmVybGluZS13
aWR0aCI6IFsKICAgICAgICAibm9ybWFsIiwKICAgICAgICAibWVkaXVtIiwKICAgICAgICAiYXV0
byIsCiAgICAgICAgInRoaWNrIiwKICAgICAgICAidGhpbiIKICAgIF0sCiAgICAidGV4dC10cmFu
c2Zvcm0iOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJjYXBpdGFsaXplIiwKICAgICAgICAi
dXBwZXJjYXNlIiwKICAgICAgICAibG93ZXJjYXNlIgogICAgXSwKICAgICJib3JkZXItcmlnaHQt
c3R5bGUiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJoaWRkZW4iLAogICAgICAgICJpbnNl
dCIsCiAgICAgICAgImdyb292ZSIsCiAgICAgICAgInJpZGdlIiwKICAgICAgICAib3V0c2V0IiwK
ICAgICAgICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAg
ICAgICJkb3VibGUiCiAgICBdLAogICAgImJvcmRlci1sZWZ0LXN0eWxlIjogWwogICAgICAgICJu
b25lIiwKICAgICAgICAiaGlkZGVuIiwKICAgICAgICAiaW5zZXQiLAogICAgICAgICJncm9vdmUi
LAogICAgICAgICJyaWRnZSIsCiAgICAgICAgIm91dHNldCIsCiAgICAgICAgImRvdHRlZCIsCiAg
ICAgICAgImRhc2hlZCIsCiAgICAgICAgInNvbGlkIiwKICAgICAgICAiZG91YmxlIgogICAgXSwK
ICAgICItd2Via2l0LXRleHQtZW1waGFzaXMiOiBbCiAgICAgICAgImNpcmNsZSIsCiAgICAgICAg
ImZpbGxlZCIsCiAgICAgICAgIm9wZW4iLAogICAgICAgICJkb3QiLAogICAgICAgICJkb3VibGUt
Y2lyY2xlIiwKICAgICAgICAidHJpYW5nbGUiLAogICAgICAgICJzZXNhbWUiCiAgICBdLAogICAg
ImZvbnQtc3R5bGUiOiBbCiAgICAgICAgIml0YWxpYyIsCiAgICAgICAgIm9ibGlxdWUiLAogICAg
ICAgICJub3JtYWwiCiAgICBdLAogICAgInNwZWFrIjogWwogICAgICAgICJub25lIiwKICAgICAg
ICAibm9ybWFsIiwKICAgICAgICAic3BlbGwtb3V0IiwKICAgICAgICAiZGlnaXRzIiwKICAgICAg
ICAibGl0ZXJhbC1wdW5jdHVhdGlvbiIsCiAgICAgICAgIm5vLXB1bmN0dWF0aW9uIgogICAgXSwK
ICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImRvdHRl
ZCIsCiAgICAgICAgImRhc2hlZCIsCiAgICAgICAgInNvbGlkIiwKICAgICAgICAiZG91YmxlIiwK
ICAgICAgICAiZG90LWRhc2giLAogICAgICAgICJkb3QtZG90LWRhc2giLAogICAgICAgICJ3YXZl
IiwKICAgICAgICAiY29udGludW91cyIsCiAgICAgICAgInNraXAtd2hpdGUtc3BhY2UiCiAgICBd
LAogICAgImNvbG9yLXJlbmRlcmluZyI6IFsKICAgICAgICAiYXV0byIsCiAgICAgICAgIm9wdGlt
aXplc3BlZWQiLAogICAgICAgICJvcHRpbWl6ZXF1YWxpdHkiCiAgICBdLAogICAgImxpc3Qtc3R5
bGUtdHlwZSI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImRpc2MiLAogICAgICAgICJjaXJj
bGUiLAogICAgICAgICJzcXVhcmUiLAogICAgICAgICJkZWNpbWFsIiwKICAgICAgICAiZGVjaW1h
bC1sZWFkaW5nLXplcm8iLAogICAgICAgICJhcmFiaWMtaW5kaWMiLAogICAgICAgICJiaW5hcnki
LAogICAgICAgICJiZW5nYWxpIiwKICAgICAgICAiY2FtYm9kaWFuIiwKICAgICAgICAia2htZXIi
LAogICAgICAgICJkZXZhbmFnYXJpIiwKICAgICAgICAiZ3VqYXJhdGkiLAogICAgICAgICJndXJt
dWtoaSIsCiAgICAgICAgImthbm5hZGEiLAogICAgICAgICJsb3dlci1oZXhhZGVjaW1hbCIsCiAg
ICAgICAgImxhbyIsCiAgICAgICAgIm1hbGF5YWxhbSIsCiAgICAgICAgIm1vbmdvbGlhbiIsCiAg
ICAgICAgIm15YW5tYXIiLAogICAgICAgICJvY3RhbCIsCiAgICAgICAgIm9yaXlhIiwKICAgICAg
ICAicGVyc2lhbiIsCiAgICAgICAgInVyZHUiLAogICAgICAgICJ0ZWx1Z3UiLAogICAgICAgICJ0
aWJldGFuIiwKICAgICAgICAidGhhaSIsCiAgICAgICAgInVwcGVyLWhleGFkZWNpbWFsIiwKICAg
ICAgICAibG93ZXItcm9tYW4iLAogICAgICAgICJ1cHBlci1yb21hbiIsCiAgICAgICAgImxvd2Vy
LWdyZWVrIiwKICAgICAgICAibG93ZXItYWxwaGEiLAogICAgICAgICJsb3dlci1sYXRpbiIsCiAg
ICAgICAgInVwcGVyLWFscGhhIiwKICAgICAgICAidXBwZXItbGF0aW4iLAogICAgICAgICJhZmFy
IiwKICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiLAogICAgICAgICJldGhpb3BpYy1o
YWxlaGFtZS1hYS1lciIsCiAgICAgICAgImFtaGFyaWMiLAogICAgICAgICJldGhpb3BpYy1oYWxl
aGFtZS1hbS1ldCIsCiAgICAgICAgImFtaGFyaWMtYWJlZ2VkZSIsCiAgICAgICAgImV0aGlvcGlj
LWFiZWdlZGUtYW0tZXQiLAogICAgICAgICJjamstZWFydGhseS1icmFuY2giLAogICAgICAgICJj
amstaGVhdmVubHktc3RlbSIsCiAgICAgICAgImV0aGlvcGljIiwKICAgICAgICAiZXRoaW9waWMt
aGFsZWhhbWUtZ2V6IiwKICAgICAgICAiZXRoaW9waWMtYWJlZ2VkZSIsCiAgICAgICAgImV0aGlv
cGljLWFiZWdlZGUtZ2V6IiwKICAgICAgICAiaGFuZ3VsLWNvbnNvbmFudCIsCiAgICAgICAgImhh
bmd1bCIsCiAgICAgICAgImxvd2VyLW5vcndlZ2lhbiIsCiAgICAgICAgIm9yb21vIiwKICAgICAg
ICAiZXRoaW9waWMtaGFsZWhhbWUtb20tZXQiLAogICAgICAgICJzaWRhbWEiLAogICAgICAgICJl
dGhpb3BpYy1oYWxlaGFtZS1zaWQtZXQiLAogICAgICAgICJzb21hbGkiLAogICAgICAgICJldGhp
b3BpYy1oYWxlaGFtZS1zby1ldCIsCiAgICAgICAgInRpZ3JlIiwKICAgICAgICAiZXRoaW9waWMt
aGFsZWhhbWUtdGlnIiwKICAgICAgICAidGlncmlueWEtZXIiLAogICAgICAgICJldGhpb3BpYy1o
YWxlaGFtZS10aS1lciIsCiAgICAgICAgInRpZ3JpbnlhLWVyLWFiZWdlZGUiLAogICAgICAgICJl
dGhpb3BpYy1hYmVnZWRlLXRpLWVyIiwKICAgICAgICAidGlncmlueWEtZXQiLAogICAgICAgICJl
dGhpb3BpYy1oYWxlaGFtZS10aS1ldCIsCiAgICAgICAgInRpZ3JpbnlhLWV0LWFiZWdlZGUiLAog
ICAgICAgICJldGhpb3BpYy1hYmVnZWRlLXRpLWV0IiwKICAgICAgICAidXBwZXItZ3JlZWsiLAog
ICAgICAgICJ1cHBlci1ub3J3ZWdpYW4iLAogICAgICAgICJhc3Rlcmlza3MiLAogICAgICAgICJm
b290bm90ZXMiLAogICAgICAgICJoZWJyZXciLAogICAgICAgICJhcm1lbmlhbiIsCiAgICAgICAg
Imxvd2VyLWFybWVuaWFuIiwKICAgICAgICAidXBwZXItYXJtZW5pYW4iLAogICAgICAgICJnZW9y
Z2lhbiIsCiAgICAgICAgImNqay1pZGVvZ3JhcGhpYyIsCiAgICAgICAgImhpcmFnYW5hIiwKICAg
ICAgICAia2F0YWthbmEiLAogICAgICAgICJoaXJhZ2FuYS1pcm9oYSIsCiAgICAgICAgImthdGFr
YW5hLWlyb2hhIgogICAgXSwKICAgICItd2Via2l0LXRleHQtY29tYmluZSI6IFsKICAgICAgICAi
bm9uZSIsCiAgICAgICAgImhvcml6b250YWwiCiAgICBdLAogICAgIm91dGxpbmUiOiBbCiAgICAg
ICAgIm5vbmUiLAogICAgICAgICJoaWRkZW4iLAogICAgICAgICJpbnNldCIsCiAgICAgICAgImdy
b292ZSIsCiAgICAgICAgInJpZGdlIiwKICAgICAgICAib3V0c2V0IiwKICAgICAgICAiZG90dGVk
IiwKICAgICAgICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAgICAgICJkb3VibGUiCiAg
ICBdLAogICAgImZvbnQiOiBbCiAgICAgICAgImNhcHRpb24iLAogICAgICAgICJpY29uIiwKICAg
ICAgICAibWVudSIsCiAgICAgICAgIm1lc3NhZ2UtYm94IiwKICAgICAgICAic21hbGwtY2FwdGlv
biIsCiAgICAgICAgIi13ZWJraXQtbWluaS1jb250cm9sIiwKICAgICAgICAiLXdlYmtpdC1zbWFs
bC1jb250cm9sIiwKICAgICAgICAiLXdlYmtpdC1jb250cm9sIiwKICAgICAgICAic3RhdHVzLWJh
ciIsCiAgICAgICAgIml0YWxpYyIsCiAgICAgICAgIm9ibGlxdWUiLAogICAgICAgICJzbWFsbC1j
YXBzIiwKICAgICAgICAibm9ybWFsIiwKICAgICAgICAiYm9sZCIsCiAgICAgICAgImJvbGRlciIs
CiAgICAgICAgImxpZ2h0ZXIiLAogICAgICAgICIxMDAiLAogICAgICAgICIyMDAiLAogICAgICAg
ICIzMDAiLAogICAgICAgICI0MDAiLAogICAgICAgICI1MDAiLAogICAgICAgICI2MDAiLAogICAg
ICAgICI3MDAiLAogICAgICAgICI4MDAiLAogICAgICAgICI5MDAiLAogICAgICAgICJ4eC1zbWFs
bCIsCiAgICAgICAgIngtc21hbGwiLAogICAgICAgICJzbWFsbCIsCiAgICAgICAgIm1lZGl1bSIs
CiAgICAgICAgImxhcmdlIiwKICAgICAgICAieC1sYXJnZSIsCiAgICAgICAgInh4LWxhcmdlIiwK
ICAgICAgICAiLXdlYmtpdC14eHgtbGFyZ2UiLAogICAgICAgICJzbWFsbGVyIiwKICAgICAgICAi
bGFyZ2VyIiwKICAgICAgICAic2VyaWYiLAogICAgICAgICJzYW5zLXNlcmlmIiwKICAgICAgICAi
Y3Vyc2l2ZSIsCiAgICAgICAgImZhbnRhc3kiLAogICAgICAgICJtb25vc3BhY2UiLAogICAgICAg
ICItd2Via2l0LWJvZHkiCiAgICBdLAogICAgImRvbWluYW50LWJhc2VsaW5lIjogWwogICAgICAg
ICJtaWRkbGUiLAogICAgICAgICJhdXRvIiwKICAgICAgICAiY2VudHJhbCIsCiAgICAgICAgInRl
eHQtYmVmb3JlLWVkZ2UiLAogICAgICAgICJ0ZXh0LWFmdGVyLWVkZ2UiLAogICAgICAgICJpZGVv
Z3JhcGhpYyIsCiAgICAgICAgImFscGhhYmV0aWMiLAogICAgICAgICJoYW5naW5nIiwKICAgICAg
ICAibWF0aGVtYXRpY2FsIiwKICAgICAgICAidXNlLXNjcmlwdCIsCiAgICAgICAgIm5vLWNoYW5n
ZSIsCiAgICAgICAgInJlc2V0LXNpemUiCiAgICBdLAogICAgImRpc3BsYXkiOiBbCiAgICAgICAg
Im5vbmUiLAogICAgICAgICJpbmxpbmUiLAogICAgICAgICJibG9jayIsCiAgICAgICAgImxpc3Qt
aXRlbSIsCiAgICAgICAgInJ1bi1pbiIsCiAgICAgICAgImNvbXBhY3QiLAogICAgICAgICJpbmxp
bmUtYmxvY2siLAogICAgICAgICJ0YWJsZSIsCiAgICAgICAgImlubGluZS10YWJsZSIsCiAgICAg
ICAgInRhYmxlLXJvdy1ncm91cCIsCiAgICAgICAgInRhYmxlLWhlYWRlci1ncm91cCIsCiAgICAg
ICAgInRhYmxlLWZvb3Rlci1ncm91cCIsCiAgICAgICAgInRhYmxlLXJvdyIsCiAgICAgICAgInRh
YmxlLWNvbHVtbi1ncm91cCIsCiAgICAgICAgInRhYmxlLWNvbHVtbiIsCiAgICAgICAgInRhYmxl
LWNlbGwiLAogICAgICAgICJ0YWJsZS1jYXB0aW9uIiwKICAgICAgICAiLXdlYmtpdC1ib3giLAog
ICAgICAgICItd2Via2l0LWlubGluZS1ib3giLAogICAgICAgICItd2FwLW1hcnF1ZWUiCiAgICBd
LAogICAgIi13ZWJraXQtdGV4dC1lbXBoYXNpcy1wb3NpdGlvbiI6IFsKICAgICAgICAib3ZlciIs
CiAgICAgICAgInVuZGVyIgogICAgXSwKICAgICJpbWFnZS1yZW5kZXJpbmciOiBbCiAgICAgICAg
ImF1dG8iLAogICAgICAgICJvcHRpbWl6ZXNwZWVkIiwKICAgICAgICAib3B0aW1pemVxdWFsaXR5
IgogICAgXSwKICAgICJhbGlnbm1lbnQtYmFzZWxpbmUiOiBbCiAgICAgICAgImJhc2VsaW5lIiwK
ICAgICAgICAibWlkZGxlIiwKICAgICAgICAiYXV0byIsCiAgICAgICAgImJlZm9yZS1lZGdlIiwK
ICAgICAgICAiYWZ0ZXItZWRnZSIsCiAgICAgICAgImNlbnRyYWwiLAogICAgICAgICJ0ZXh0LWJl
Zm9yZS1lZGdlIiwKICAgICAgICAidGV4dC1hZnRlci1lZGdlIiwKICAgICAgICAiaWRlb2dyYXBo
aWMiLAogICAgICAgICJhbHBoYWJldGljIiwKICAgICAgICAiaGFuZ2luZyIsCiAgICAgICAgIm1h
dGhlbWF0aWNhbCIKICAgIF0sCiAgICAib3V0bGluZS13aWR0aCI6IFsKICAgICAgICAibWVkaXVt
IiwKICAgICAgICAidGhpY2siLAogICAgICAgICJ0aGluIgogICAgXSwKICAgICJ0ZXh0LWxpbmUt
dGhyb3VnaC13aWR0aCI6IFsKICAgICAgICAibm9ybWFsIiwKICAgICAgICAibWVkaXVtIiwKICAg
ICAgICAiYXV0byIsCiAgICAgICAgInRoaWNrIiwKICAgICAgICAidGhpbiIKICAgIF0sCiAgICAi
Ym94LWFsaWduIjogWwogICAgICAgICJiYXNlbGluZSIsCiAgICAgICAgImNlbnRlciIsCiAgICAg
ICAgInN0cmV0Y2giLAogICAgICAgICJzdGFydCIsCiAgICAgICAgImVuZCIKICAgIF0sCiAgICAi
Ym9yZGVyLXJpZ2h0LXdpZHRoIjogWwogICAgICAgICJtZWRpdW0iLAogICAgICAgICJ0aGljayIs
CiAgICAgICAgInRoaW4iCiAgICBdLAogICAgImJvcmRlci10b3Atc3R5bGUiOiBbCiAgICAgICAg
Im5vbmUiLAogICAgICAgICJoaWRkZW4iLAogICAgICAgICJpbnNldCIsCiAgICAgICAgImdyb292
ZSIsCiAgICAgICAgInJpZGdlIiwKICAgICAgICAib3V0c2V0IiwKICAgICAgICAiZG90dGVkIiwK
ICAgICAgICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAgICAgICJkb3VibGUiCiAgICBd
LAogICAgImxpbmUtaGVpZ2h0IjogWwogICAgICAgICJub3JtYWwiCiAgICBdLAogICAgInRleHQt
b3ZlcmZsb3ciOiBbCiAgICAgICAgImNsaXAiLAogICAgICAgICJlbGxpcHNpcyIKICAgIF0sCiAg
ICAiYm94LWRpcmVjdGlvbiI6IFsKICAgICAgICAibm9ybWFsIiwKICAgICAgICAicmV2ZXJzZSIK
ICAgIF0sCiAgICAibWFyZ2luLWFmdGVyLWNvbGxhcHNlIjogWwogICAgICAgICJjb2xsYXBzZSIs
CiAgICAgICAgInNlcGFyYXRlIiwKICAgICAgICAiZGlzY2FyZCIKICAgIF0sCiAgICAicGFnZS1i
cmVhay1iZWZvcmUiOiBbCiAgICAgICAgImxlZnQiLAogICAgICAgICJyaWdodCIsCiAgICAgICAg
ImF1dG8iLAogICAgICAgICJhbHdheXMiLAogICAgICAgICJhdm9pZCIKICAgIF0sCiAgICAiLXdl
YmtpdC1oeXBoZW5zIjogWwogICAgICAgICJub25lIiwKICAgICAgICAiYXV0byIsCiAgICAgICAg
Im1hbnVhbCIKICAgIF0sCiAgICAiYm9yZGVyLWltYWdlIjogWwogICAgICAgICJyZXBlYXQiLAog
ICAgICAgICJzdHJldGNoIgogICAgXSwKICAgICJ0ZXh0LWRlY29yYXRpb24iOiBbCiAgICAgICAg
ImJsaW5rIiwKICAgICAgICAibGluZS10aHJvdWdoIiwKICAgICAgICAib3ZlcmxpbmUiLAogICAg
ICAgICJ1bmRlcmxpbmUiCiAgICBdLAogICAgInBvc2l0aW9uIjogWwogICAgICAgICJhYnNvbHV0
ZSIsCiAgICAgICAgImZpeGVkIiwKICAgICAgICAicmVsYXRpdmUiLAogICAgICAgICJzdGF0aWMi
CiAgICBdLAogICAgImZvbnQtZmFtaWx5IjogWwogICAgICAgICJzZXJpZiIsCiAgICAgICAgInNh
bnMtc2VyaWYiLAogICAgICAgICJjdXJzaXZlIiwKICAgICAgICAiZmFudGFzeSIsCiAgICAgICAg
Im1vbm9zcGFjZSIsCiAgICAgICAgIi13ZWJraXQtYm9keSIKICAgIF0sCiAgICAidGV4dC1vdmVy
Zmxvdy1tb2RlIjogWwogICAgICAgICJjbGlwIiwKICAgICAgICAiZWxsaXBzaXMiCiAgICBdLAog
ICAgImJvcmRlci1ib3R0b20tc3R5bGUiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJoaWRk
ZW4iLAogICAgICAgICJpbnNldCIsCiAgICAgICAgImdyb292ZSIsCiAgICAgICAgInJpZGdlIiwK
ICAgICAgICAib3V0c2V0IiwKICAgICAgICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVkIiwKICAg
ICAgICAic29saWQiLAogICAgICAgICJkb3VibGUiCiAgICBdLAogICAgInVuaWNvZGUtYmlkaSI6
IFsKICAgICAgICAibm9ybWFsIiwKICAgICAgICAiYmlkaS1vdmVycmlkZSIsCiAgICAgICAgImVt
YmVkIgogICAgXSwKICAgICJjbGlwLXJ1bGUiOiBbCiAgICAgICAgIm5vbnplcm8iLAogICAgICAg
ICJldmVub2RkIgogICAgXSwKICAgICJtYXJnaW4tbGVmdCI6IFsKICAgICAgICAiYXV0byIKICAg
IF0sCiAgICAibWFyZ2luLXRvcCI6IFsKICAgICAgICAiYXV0byIKICAgIF0sCiAgICAiem9vbSI6
IFsKICAgICAgICAiZG9jdW1lbnQiLAogICAgICAgICJyZXNldCIKICAgIF0sCiAgICAidGV4dC1v
dmVybGluZS1zdHlsZSI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImRvdHRlZCIsCiAgICAg
ICAgImRhc2hlZCIsCiAgICAgICAgInNvbGlkIiwKICAgICAgICAiZG91YmxlIiwKICAgICAgICAi
ZG90LWRhc2giLAogICAgICAgICJkb3QtZG90LWRhc2giLAogICAgICAgICJ3YXZlIgogICAgXSwK
ICAgICJtYXgtd2lkdGgiOiBbCiAgICAgICAgIm5vbmUiCiAgICBdLAogICAgImVtcHR5LWNlbGxz
IjogWwogICAgICAgICJoaWRlIiwKICAgICAgICAic2hvdyIKICAgIF0sCiAgICAicG9pbnRlci1l
dmVudHMiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJhbGwiLAogICAgICAgICJhdXRvIiwK
ICAgICAgICAidmlzaWJsZSIsCiAgICAgICAgInZpc2libGVwYWludGVkIiwKICAgICAgICAidmlz
aWJsZWZpbGwiLAogICAgICAgICJ2aXNpYmxlc3Ryb2tlIiwKICAgICAgICAicGFpbnRlZCIsCiAg
ICAgICAgImZpbGwiLAogICAgICAgICJzdHJva2UiCiAgICBdLAogICAgImxldHRlci1zcGFjaW5n
IjogWwogICAgICAgICJub3JtYWwiCiAgICBdLAogICAgImJhY2tncm91bmQtY2xpcCI6IFsKICAg
ICAgICAiYm9yZGVyLWJveCIsCiAgICAgICAgImNvbnRlbnQtYm94IiwKICAgICAgICAicGFkZGlu
Zy1ib3giCiAgICBdLAogICAgIi13ZWJraXQtZm9udC1zbW9vdGhpbmciOiBbCiAgICAgICAgIm5v
bmUiLAogICAgICAgICJhdXRvIiwKICAgICAgICAiYW50aWFsaWFzZWQiLAogICAgICAgICJzdWJw
aXhlbC1hbnRpYWxpYXNlZCIKICAgIF0sCiAgICAiYm9yZGVyIjogWwogICAgICAgICJub25lIiwK
ICAgICAgICAiaGlkZGVuIiwKICAgICAgICAiaW5zZXQiLAogICAgICAgICJncm9vdmUiLAogICAg
ICAgICJyaWRnZSIsCiAgICAgICAgIm91dHNldCIsCiAgICAgICAgImRvdHRlZCIsCiAgICAgICAg
ImRhc2hlZCIsCiAgICAgICAgInNvbGlkIiwKICAgICAgICAiZG91YmxlIgogICAgXSwKICAgICJm
b250LXNpemUiOiBbCiAgICAgICAgInh4LXNtYWxsIiwKICAgICAgICAieC1zbWFsbCIsCiAgICAg
ICAgInNtYWxsIiwKICAgICAgICAibWVkaXVtIiwKICAgICAgICAibGFyZ2UiLAogICAgICAgICJ4
LWxhcmdlIiwKICAgICAgICAieHgtbGFyZ2UiLAogICAgICAgICItd2Via2l0LXh4eC1sYXJnZSIs
CiAgICAgICAgInNtYWxsZXIiLAogICAgICAgICJsYXJnZXIiCiAgICBdLAogICAgImZvbnQtdmFy
aWFudCI6IFsKICAgICAgICAic21hbGwtY2FwcyIsCiAgICAgICAgIm5vcm1hbCIKICAgIF0sCiAg
ICAidmVydGljYWwtYWxpZ24iOiBbCiAgICAgICAgImJhc2VsaW5lIiwKICAgICAgICAibWlkZGxl
IiwKICAgICAgICAic3ViIiwKICAgICAgICAic3VwZXIiLAogICAgICAgICJ0ZXh0LXRvcCIsCiAg
ICAgICAgInRleHQtYm90dG9tIiwKICAgICAgICAidG9wIiwKICAgICAgICAiYm90dG9tIiwKICAg
ICAgICAiLXdlYmtpdC1iYXNlbGluZS1taWRkbGUiCiAgICBdLAogICAgIm1hcnF1ZWUtc3R5bGUi
OiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJzY3JvbGwiLAogICAgICAgICJzbGlkZSIsCiAg
ICAgICAgImFsdGVybmF0ZSIKICAgIF0sCiAgICAid2hpdGUtc3BhY2UiOiBbCiAgICAgICAgIm5v
cm1hbCIsCiAgICAgICAgIm5vd3JhcCIsCiAgICAgICAgInByZSIsCiAgICAgICAgInByZS1saW5l
IiwKICAgICAgICAicHJlLXdyYXAiCiAgICBdLAogICAgInRleHQtdW5kZXJsaW5lLXdpZHRoIjog
WwogICAgICAgICJub3JtYWwiLAogICAgICAgICJtZWRpdW0iLAogICAgICAgICJhdXRvIiwKICAg
ICAgICAidGhpY2siLAogICAgICAgICJ0aGluIgogICAgXSwKICAgICJib3gtbGluZXMiOiBbCiAg
ICAgICAgInNpbmdsZSIsCiAgICAgICAgIm11bHRpcGxlIgogICAgXSwKICAgICJwYWdlLWJyZWFr
LWFmdGVyIjogWwogICAgICAgICJsZWZ0IiwKICAgICAgICAicmlnaHQiLAogICAgICAgICJhdXRv
IiwKICAgICAgICAiYWx3YXlzIiwKICAgICAgICAiYXZvaWQiCiAgICBdLAogICAgImNsaXAtcGF0
aCI6IFsKICAgICAgICAibm9uZSIKICAgIF0sCiAgICAibWFyZ2luIjogWwogICAgICAgICJhdXRv
IgogICAgXSwKICAgICJtYXJxdWVlLXJlcGV0aXRpb24iOiBbCiAgICAgICAgImluZmluaXRlIgog
ICAgXSwKICAgICJtYXJnaW4tcmlnaHQiOiBbCiAgICAgICAgImF1dG8iCiAgICBdLAogICAgIi13
ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZSI6IFsKICAgICAgICAiY2lyY2xlIiwKICAgICAgICAi
ZmlsbGVkIiwKICAgICAgICAib3BlbiIsCiAgICAgICAgImRvdCIsCiAgICAgICAgImRvdWJsZS1j
aXJjbGUiLAogICAgICAgICJ0cmlhbmdsZSIsCiAgICAgICAgInNlc2FtZSIKICAgIF0KfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77411</attachid>
            <date>2010-12-24 06:21:44 -0800</date>
            <delta_ts>2010-12-24 08:53:01 -0800</delta_ts>
            <desc>[PATCH] Comments from joepeck addressed</desc>
            <filename>completevalues.patch</filename>
            <type>text/plain</type>
            <size>70058</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGFmMTAzODQxNDMzZjY0NTJkMDNkNDUxMTllZDFiNzVhN2RkOTRlMDcKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBGcmkgRGVjIDMg
MjA6MDc6NDMgMjAxMCArMDMwMAoKICAgIFdJUCAtIGF1dG9jb21wbGV0ZSB2YWx1ZSBrZXl3b3Jk
cwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA5NmRhNWFhLi4zMmEzOTdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAt
MTItMjQgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBh
dXRvY29tcGxldGlvbiBmb3IgQ1NTIHByb3BlcnR5IHZhbHVlcyBpbiBTdHlsZXMgcGFuZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0MTQKKworICAg
ICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy5o
dG1sOiBBZGRlZC4KKwogMjAxMC0xMi0yMyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRl
LXZhbHVlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4u
OTFiOTA5NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMt
YXV0b2NvbXBsZXRlLXZhbHVlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdHMg
dGhhdCBVcC9Eb3duIGtleXMgc3dpdGNoIHN1Z2dlc3Rpb25zIGluIENTUyBwcm9wZXJ0eSB2YWx1
ZXMuCisKK1RleHQKK0luaXRpYWwgcHJvcGVydHkgdmFsdWU6Citjb2xvcjogZ3JlZW47CitOZXh0
IHZhbHVlOgorY29sb3I6IGdyZWVueWVsbG93OworT3JpZ2luYWwgdmFsdWU6Citjb2xvcjogZ3Jl
ZW47CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBs
ZXRlLXZhbHVlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxl
dGUtdmFsdWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWYzZWFl
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtYXV0b2Nv
bXBsZXRlLXZhbHVlcy5odG1sCkBAIC0wLDAgKzEsNzAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9ImVsZW1lbnRzLXRlc3RzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisKK2Z1bmN0aW9uIGRvaXQoKQoreworICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHJlc3VsdCkKKyAg
ICB7CisgICAgICAgIGR1bXBBcnJheShyZXN1bHQpOworICAgICAgICBub3RpZnlEb25lKCk7Cisg
ICAgfQorICAgIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoImZyb250ZW5kX3J1blRlc3QiLCBjYWxs
YmFjayk7Cit9CisKKy8vIEZyb250ZW5kIGZ1bmN0aW9ucy4KKworZnVuY3Rpb24gZnJvbnRlbmRf
cnVuVGVzdCh0ZXN0Q29udHJvbGxlcikKK3sKKyAgICB0ZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgZnJvbnRlbmRfZXhwYW5kRE9NU3VidHJlZUFuZFJ1bih0ZXN0Q29udHJvbGxl
ciwgbnVsbCwgZnJvbnRlbmRfc2VsZWN0SW5zcGVjdGVkRWxlbWVudCk7Cit9CisKK2Z1bmN0aW9u
IGZyb250ZW5kX3NlbGVjdEluc3BlY3RlZEVsZW1lbnQodGVzdENvbnRyb2xsZXIpCit7CisgICAg
ZnJvbnRlbmRfc2VsZWN0RWxlbWVudEFuZFJ1bih0ZXN0Q29udHJvbGxlciwgImluc3BlY3RlZCIs
IGZyb250ZW5kX2R1bXBJbnNwZWN0ZWRTdHlsZSk7Cit9CisKK2Z1bmN0aW9uIGZyb250ZW5kX2Ny
ZWF0ZUtleWJvYXJkRXZlbnQoZXZlbnROYW1lLCBrZXlJZGVudGlmaWVyKQoreworICAgIHZhciBl
dnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiS2V5Ym9hcmRFdmVudCIpOworICAgIGV2dC5pbml0
S2V5Ym9hcmRFdmVudChldmVudE5hbWUsIHRydWUgLyogY2FuIGJ1YmJsZSAqLywgdHJ1ZSAvKiBj
YW4gY2FuY2VsICovLCBudWxsIC8qIHZpZXcgKi8sIGtleUlkZW50aWZpZXIsICIiKTsKKyAgICBy
ZXR1cm4gZXZ0OworfQorCitmdW5jdGlvbiBmcm9udGVuZF9kdW1wSW5zcGVjdGVkU3R5bGUodGVz
dENvbnRyb2xsZXIpCit7CisgICAgdmFyIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVs
ZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMV07CisgICAgc2VjdGlvbi5l
eHBhbmQoKTsKKyAgICB2YXIgdHJlZUVsZW1lbnQgPSBzZWN0aW9uLnByb3BlcnRpZXNUcmVlT3V0
bGluZS5jaGlsZHJlblswXTsKKworICAgIHRlc3RDb250cm9sbGVyLnJlc3VsdHMucHVzaCgiSW5p
dGlhbCBwcm9wZXJ0eSB2YWx1ZToiKTsKKyAgICB0ZXN0Q29udHJvbGxlci5yZXN1bHRzLnB1c2go
dHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50KTsKKyAgICB0cmVlRWxlbWVu
dC5zdGFydEVkaXRpbmcodHJlZUVsZW1lbnQudmFsdWVFbGVtZW50KTsKKyAgICB0cmVlRWxlbWVu
dC52YWx1ZUVsZW1lbnQuZmlyc3RDaGlsZC5zZWxlY3QoKTsKKworICAgIHRlc3RDb250cm9sbGVy
LnJlc3VsdHMucHVzaCgiTmV4dCB2YWx1ZToiKTsKKyAgICB0cmVlRWxlbWVudC52YWx1ZUVsZW1l
bnQuZGlzcGF0Y2hFdmVudChmcm9udGVuZF9jcmVhdGVLZXlib2FyZEV2ZW50KCJrZXlkb3duIiwg
IkRvd24iKSk7CisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKHRyZWVFbGVtZW50Lmxp
c3RJdGVtRWxlbWVudC50ZXh0Q29udGVudCk7CisKKyAgICB0ZXN0Q29udHJvbGxlci5yZXN1bHRz
LnB1c2goIk9yaWdpbmFsIHZhbHVlOiIpOworICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudC5k
aXNwYXRjaEV2ZW50KGZyb250ZW5kX2NyZWF0ZUtleWJvYXJkRXZlbnQoImtleWRvd24iLCAiVXAi
KSk7CisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKHRyZWVFbGVtZW50Lmxpc3RJdGVt
RWxlbWVudC50ZXh0Q29udGVudCk7CisKKyAgICB0ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKHRl
c3RDb250cm9sbGVyLnJlc3VsdHMpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkg
b25sb2FkPSJvbmxvYWQoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgVXAvRG93biBrZXlzIHN3aXRjaCBz
dWdnZXN0aW9ucyBpbiBDU1MgcHJvcGVydHkgdmFsdWVzLgorPC9wPgorCis8ZGl2IGlkPSJpbnNw
ZWN0ZWQiIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5UZXh0PC9kaXY+CisKKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggYjhiNTE0Zi4uNzE5YzVhNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMC0xMi0yNCAgQWxleGFuZGVy
IFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGF1dG9jb21wbGV0aW9uIGZv
ciBDU1MgcHJvcGVydHkgdmFsdWVzIGluIFN0eWxlcyBwYW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTQxNAorCisgICAgICAgIEZvciBlYWNoIENT
UyBwcm9wZXJ0eSAob2ssIGZvciBtb3N0IG9mIHRoZW0pLCB3ZSBjYW4gZGV0ZXJtaW5lIGEgZml4
ZWQgc2V0IG9mIGtleXdvcmRzCisgICAgICAgIHRoYXQgbWF5IGFwcGVhciBpbiBpdHMgdmFsdWUu
IFdpdGggdGhlc2Ugc2V0cyBhdCBoYW5kLCBpdCBpcyBwb3NzaWJsZSB0byBhdXRvLWNvbXBsZXRl
CisgICAgICAgIHVzZXIgaW5wdXQgKGFuZCB0cmF2ZXJzZSBhdmFpbGFibGUgdmFsdWVzIHdpdGgg
dGhlIFVwL0Rvd24ga2V5cykgaW4gdGhlIHByb3BlcnR5IHZhbHVlCisgICAgICAgIGZpZWxkIHRo
ZSBzYW1lIHdheSBhcyB3ZSBkbyBmb3IgcHJvcGVydHkgbmFtZXMuIFRoZSBzb2x1dGlvbiBkb2Vz
IE5PIGludGVsbGVjdHVhbCBwYXJzaW5nCisgICAgICAgIG9mIHZhbHVlcyB0byBkZXRlcm1pbmUg
d2hpY2gga2V5d29yZHMgYXJlIHZhbGlkIGF0IHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbi4K
KworICAgICAgICBUZXN0OiBpbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMuaHRt
bAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAgICAgICAgKiBXZWJD
b3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9jc3N2YWx1ZWtleXdvcmRzLnB5OgorICAgICAgICAqIFdl
YkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNw
cm9qL2NvcHlJbnNwZWN0b3JGaWxlcy5jbWQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAg
ICAgICAqIGNzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNzcy9tYWtldmFs
dWVzLnBsOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ1NTS2V5d29yZENvbXBsZXRp
b25zLnFyYzogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qczoK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6CisKIDIwMTAtMTIt
MjQgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21haWwuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZmIxM2FmZS4uNjgyMzVk
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjMxLDcgKzYzMSw3IEBAIENTU1Byb3BlcnR5TmFtZXMu
aCA6ICQoV0VCQ09SRV9DU1NfUFJPUEVSVFlfTkFNRVMpIGNzcy9tYWtlcHJvcC5wbAogQ1NTVmFs
dWVLZXl3b3Jkcy5oIDogJChXRUJDT1JFX0NTU19WQUxVRV9LRVlXT1JEUykgY3NzL21ha2V2YWx1
ZXMucGwKIAkjIExvd2VyIGNhc2UgYWxsIHRoZSB2YWx1ZXMsIGFzIENTUyB2YWx1ZXMgYXJlIGNh
c2UtaW5zZW5zaXRpdmUKIAlwZXJsIC1uZSAncHJpbnQgbGMnICQoV0VCQ09SRV9DU1NfVkFMVUVf
S0VZV09SRFMpID4gQ1NTVmFsdWVLZXl3b3Jkcy5pbgotCWlmIHNvcnQgQ1NTVmFsdWVLZXl3b3Jk
cy5pbiB8IHVuaXEgLWQgfCBncmVwIC1FIC12ICcoXiMpfCheW1s6c3BhY2U6XV0qJCQpJzsgdGhl
biBlY2hvICdEdXBsaWNhdGUgdmFsdWUhJzsgZXhpdCAxOyBmaQorCWlmIGNhdCBDU1NWYWx1ZUtl
eXdvcmRzLmluIHwgc2VkIC1lICdzL1woW14sXSpcKS4qL1wxLycgfCBzb3J0IHwgdW5pcSAtZCB8
IGdyZXAgLUUgLXYgJyheIyl8KF5bWzpzcGFjZTpdXSokJCknOyB0aGVuIGVjaG8gJ0R1cGxpY2F0
ZSB2YWx1ZSEnOyBleGl0IDE7IGZpCiAJcGVybCAiJChXZWJDb3JlKS9jc3MvbWFrZXZhbHVlcy5w
bCIKIAogIyAtLS0tLS0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZjEwOGY4Ni4uM2QzNjk1MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC00
NjYxLDEyICs0NjYxLDE0IEBAIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1l
cy5oOiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSAkKFdlYkNvCiAJbXYgQ1NTUHJvcGVy
dHlOYW1lcyogJChHRU5TT1VSQ0VTX1dFQkNPUkUpCiAKICMgTG93ZXIgY2FzZSBhbGwgdGhlIHZh
bHVlcywgYXMgQ1NTIHZhbHVlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQorRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanM6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
Q1NTVmFsdWVLZXl3b3Jkcy5jcHAKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTVmFsdWVLZXl3
b3Jkcy5jcHA6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTVmFsdWVLZXl3b3Jkcy5oCiBEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuaDogJChXRUJDT1JFX0NTU19WQUxV
RV9LRVlXT1JEUykgJChXZWJDb3JlKS9jc3MvbWFrZXZhbHVlcy5wbAogCSQoUEVSTCkgLW5lICdw
cmludCBsYycgJChXRUJDT1JFX0NTU19WQUxVRV9LRVlXT1JEUykgPiBDU1NWYWx1ZUtleXdvcmRz
LmluCi0JaWYgc29ydCBDU1NWYWx1ZUtleXdvcmRzLmluIHwgdW5pcSAtZCB8IGdyZXAgLUUgJ15b
XiNdJzsgdGhlbiBlY2hvICdEdXBsaWNhdGUgdmFsdWUhJzsgZXhpdCAxOyBmaQorCWlmIGNhdCBD
U1NWYWx1ZUtleXdvcmRzLmluIHwgc2VkIC1lICdzL1woW14sXSpcKS4qL1wxLycgfCBzb3J0IHwg
dW5pcSAtZCB8IGdyZXAgLUUgJ15bXiNdJzsgdGhlbiBlY2hvICdEdXBsaWNhdGUgdmFsdWUhJzsg
ZXhpdCAxOyBmaQogCSQoUEVSTCkgIiQoV2ViQ29yZSkvY3NzL21ha2V2YWx1ZXMucGwiCiAJbXYg
Q1NTVmFsdWVLZXl3b3JkcyogJChHRU5TT1VSQ0VTX1dFQkNPUkUpCisJbXYgQ1NTS2V5d29yZENv
bXBsZXRpb25zLmpzICQoR0VOU09VUkNFU19XRUJDT1JFKQogCiAjIERPQ1RZUEUgc3RyaW5ncwog
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9IYXNoVG9vbHMuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9Eb2NUeXBlU3RyaW5ncy5jcHAKQEAgLTQ4NTMsNiArNDg1NSw3IEBAIEVYVFJBX0RJU1QgKz0g
XAogd2ViaW5zcGVjdG9yZGlyID0gJHtkYXRhZGlyfS93ZWJraXRndGstQFdFQktJVEdUS19BUElf
VkVSU0lPTkAvd2ViaW5zcGVjdG9yCiBkaXN0X3dlYmluc3BlY3Rvcl9EQVRBID0gXAogCSQoV2Vi
Q29yZSkvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcyBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcyBcCiAJJChzaGVsbCBscyAkKFdlYkNvcmUpL2lu
c3BlY3Rvci9mcm9udC1lbmQvKi5qcykgXAogCSQoc2hlbGwgbHMgJChXZWJDb3JlKS9pbnNwZWN0
b3IvZnJvbnQtZW5kLyouaHRtbCkgXApAQCAtNDg3MCw2ICs0ODczLDcgQEAgJHtHRU5TT1VSQ0VT
X0lOU1BFQ1RPUn0vaW5zcGVjdG9yLmh0bWw6ICQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVu
ZC8qLmh0bWwgXAogCQkkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9udC1lbmQvKi5qcyBcCiAJCSQo
V2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVuZC8qLmNzcyBcCiAJCSQoV2ViQ29yZSkvaW5zcGVj
dG9yL2Zyb250LWVuZC9JbWFnZXMvKiBcCisJCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTS2V5
d29yZENvbXBsZXRpb25zLmpzIFwKIAkJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JC
YWNrZW5kU3R1Yi5qcyBcCiAJCSQoV2ViQ29yZSkvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzCiAJJChBTV9WX0dFTilta2RpciAtcCAke0dFTlNPVVJDRVNfSU5TUEVDVE9SfS9pbWFn
ZXMKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDY2Yjk1YzEuLjI5ZWVmOGUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cApAQCAtMzk5LDYgKzM5OSw3IEBACiAgICAgICAgICAgICAnLi4vY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4nLAogICAgICAgICAgIF0sCiAgICAgICAgICAgJ291dHB1dHMn
OiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L0NTU0tl
eXdvcmRDb21wbGV0aW9ucy5qcycsCiAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRF
X0RJUikvd2Via2l0L0NTU1ZhbHVlS2V5d29yZHMuY3BwJywKICAgICAgICAgICAgICc8KFNIQVJF
RF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQvQ1NTVmFsdWVLZXl3b3Jkcy5oJywKICAgICAgICAg
ICBdLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9jc3N2
YWx1ZWtleXdvcmRzLnB5IGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9jc3N2
YWx1ZWtleXdvcmRzLnB5CmluZGV4IGViZjg5NWIuLmViYWQ4YmUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fY3NzdmFsdWVrZXl3b3Jkcy5weQorKysgYi9X
ZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Nzc3ZhbHVla2V5d29yZHMucHkKQEAg
LTEyMCw3ICsxMjAsNyBAQCBkZWYgbWFpbihhcmdzKToKIAogICAgICMgTWFrZSBzdXJlIHRoZXJl
IGFyZW4ndCBhbnkgZHVwbGljYXRlIGxpbmVzIGluIHRoZSBpbiBmaWxlcy4gTG93ZXJjYXNlCiAg
ICAgIyBldmVyeXRoaW5nIGJlY2F1c2UgQ1NTIHZhbHVlcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZS4K
LSAgICBsaW5lRGljdCA9IHt9CisgICAgdmFsdWVEaWN0ID0ge30KICAgICBmb3IgaW5GaWxlUGF0
aCBpbiBpbkZpbGVzOgogICAgICAgICBpbkZpbGUgPSBvcGVuKGluRmlsZVBhdGgpCiAgICAgICAg
IGZvciBsaW5lIGluIGluRmlsZToKQEAgLTEzMCw5ICsxMzAsMTQgQEAgZGVmIG1haW4oYXJncyk6
CiAgICAgICAgICAgICBpZiBsaW5lID09ICcnOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAg
ICAgICAgICAgICBsaW5lID0gbGluZS5sb3dlcigpCi0gICAgICAgICAgICBpZiBsaW5lIGluIGxp
bmVEaWN0OgotICAgICAgICAgICAgICAgIHJhaXNlIEtleUVycm9yLCAnRHVwbGljYXRlIHZhbHVl
ICVzJyAlIGxpbmUKLSAgICAgICAgICAgIGxpbmVEaWN0W2xpbmVdID0gVHJ1ZQorICAgICAgICAg
ICAgcGFydHMgPSBsaW5lLnBhcnRpdGlvbignLCcpCisgICAgICAgICAgICBpZiBwYXJ0c1sxXSAh
PSAnJzoKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IHBhcnRzWzBdCisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgdmFsdWUgPSBsaW5lCisgICAgICAgICAgICBpZiB2YWx1ZSBpbiB2
YWx1ZURpY3Q6CisgICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoJ0R1cGxpY2F0ZSB2YWx1
ZSAlcycgJSB2YWx1ZSkKKyAgICAgICAgICAgIHZhbHVlRGljdFt2YWx1ZV0gPSBUcnVlCiAgICAg
ICAgICAgICBwcmludCA+Pm1lcmdlZCwgbGluZQogICAgICAgICBpbkZpbGUuY2xvc2UoKQogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRl
eCBiYzNmNTk1Li4wMWM5OWUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTUzNiw2ICs1MzYsNyBAQCBJRExfQklORElOR1MgKz0g
XAogCiBJTlNQRUNUT1JfSU5URVJGQUNFUyA9IGluc3BlY3Rvci9JbnNwZWN0b3IuaWRsCiBJTlNQ
RUNUT1JfQkFDS0VORF9TVFVCX1FSQyA9IGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yQmFj
a2VuZFN0dWIucXJjCitDU1NfS0VZV09SRF9DT01QTEVUSU9OU19RUkMgPSBpbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmMKIAogdjg6IHdyYXBwZXJGYWN0b3J5QXJn
ID0gLS13cmFwcGVyRmFjdG9yeVY4CiBlbHNlOiB3cmFwcGVyRmFjdG9yeUFyZyA9IC0td3JhcHBl
ckZhY3RvcnkKQEAgLTU5NCw2ICs1OTUsMTQgQEAgY3NzdmFsdWVzLmRlcGVuZHMgPSAke1FNQUtF
X0ZJTEVfTkFNRX0gJCR7RVhUUkFDU1NWQUxVRVN9ICQkY3NzdmFsdWVzLndrU2NyaXB0CiBjc3N2
YWx1ZXMuY2xlYW4gPSAke1FNQUtFX0ZJTEVfT1VUfSAke1FNQUtFX1ZBUl9XQ19HRU5FUkFURURf
U09VUkNFU19ESVJ9LyR7UU1BS0VfRklMRV9CQVNFfS5oCiBhZGRFeHRyYUNvbXBpbGVyKGNzc3Zh
bHVlcykKIAorIyBHRU5FUkFUT1IgNi1DOiBDU1NLZXl3b3JkQ29tcGxldGlvbnMuanMgZ2VuZXJh
dG9yCitjc3NLZXl3b3JkQ29tcGxldGlvbnMud2tBZGRPdXRwdXRUb1NvdXJjZXMgPSBmYWxzZQor
Y3NzS2V5d29yZENvbXBsZXRpb25zLm91dHB1dCA9ICQke1dDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJ
Un0vQ1NTS2V5d29yZENvbXBsZXRpb25zLnFyYworY3NzS2V5d29yZENvbXBsZXRpb25zLmlucHV0
ID0gQ1NTX0tFWVdPUkRfQ09NUExFVElPTlNfUVJDCitjc3NLZXl3b3JkQ29tcGxldGlvbnMudGVt
cE5hbWVzID0gJCRQV0QvJCRDU1NfS0VZV09SRF9DT01QTEVUSU9OU19RUkMgJCR7V0NfR0VORVJB
VEVEX1NPVVJDRVNfRElSfS9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJjCitjc3NLZXl3b3JkQ29t
cGxldGlvbnMuY29tbWFuZHMgPSAkJFFNQUtFX0NPUFkgJCRyZXBsYWNlKGNzc0tleXdvcmRDb21w
bGV0aW9ucy50ZW1wTmFtZXMsICIvIiwgJCRRTUFLRV9ESVJfU0VQKQorYWRkRXh0cmFDb21waWxl
cihjc3NLZXl3b3JkQ29tcGxldGlvbnMpCisKICMgR0VORVJBVE9SIDE6IElETCBjb21waWxlcgog
aWRsLmlucHV0ID0gSURMX0JJTkRJTkdTCiBpZGwud2tTY3JpcHQgPSAkJFBXRC9iaW5kaW5ncy9z
Y3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsCkBAIC02NDIsOCArNjUxLDkgQEAgaW5zcGVjdG9y
SURMLmRlcGVuZHMgPSAkJFBXRC9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gXAog
ICAgICAgICAgICAgICAkJFBXRC9iaW5kaW5ncy9zY3JpcHRzL0luRmlsZXNQYXJzZXIucG0KIGFk
ZEV4dHJhQ29tcGlsZXIoaW5zcGVjdG9ySURMKQogCisjIEdFTkVSQVRPUiAyLUE6IEluc3BlY3Rv
ckJhY2tlbmRTdHViLmpzIGdlbmVyYXRvcgogaW5zcGVjdG9yQmFja2VuZFN0dWIud2tBZGRPdXRw
dXRUb1NvdXJjZXMgPSBmYWxzZQotaW5zcGVjdG9yQmFja2VuZFN0dWIub3V0cHV0ID0gZ2VuZXJh
dGVkL0luc3BlY3RvckJhY2tlbmRTdHViLnFyYworaW5zcGVjdG9yQmFja2VuZFN0dWIub3V0cHV0
ID0gJCR7V0NfR0VORVJBVEVEX1NPVVJDRVNfRElSfS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5xcmMK
IGluc3BlY3RvckJhY2tlbmRTdHViLmlucHV0ID0gSU5TUEVDVE9SX0JBQ0tFTkRfU1RVQl9RUkMK
IGluc3BlY3RvckJhY2tlbmRTdHViLnRlbXBOYW1lcyA9ICQkUFdELyQkSU5TUEVDVE9SX0JBQ0tF
TkRfU1RVQl9RUkMgJCR7V0NfR0VORVJBVEVEX1NPVVJDRVNfRElSfS9JbnNwZWN0b3JCYWNrZW5k
U3R1Yi5xcmMKIGluc3BlY3RvckJhY2tlbmRTdHViLmNvbW1hbmRzID0gJCRRTUFLRV9DT1BZICQk
cmVwbGFjZShpbnNwZWN0b3JCYWNrZW5kU3R1Yi50ZW1wTmFtZXMsICIvIiwgJCRRTUFLRV9ESVJf
U0VQKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5w
cm8KaW5kZXggY2RjM2ExMi4uODM3MmJhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBy
bworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xNjUsNyArMTY1LDcgQEAgc3ltYmlhbiB7
CiBSRVNPVVJDRVMgKz0gXAogICAgICQkUFdELy4uL1dlYkNvcmUvV2ViQ29yZS5xcmMKIAotaW5j
bHVkZV93ZWJpbnNwZWN0b3I6IFJFU09VUkNFUyArPSAkJFBXRC8uLi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvV2ViS2l0LnFyYyAkJFdDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUi9JbnNwZWN0
b3JCYWNrZW5kU3R1Yi5xcmMKK2luY2x1ZGVfd2ViaW5zcGVjdG9yOiBSRVNPVVJDRVMgKz0gJCRQ
V0QvLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMgJCRXQ19HRU5FUkFU
RURfU09VUkNFU19ESVIvSW5zcGVjdG9yQmFja2VuZFN0dWIucXJjICQkV0NfR0VORVJBVEVEX1NP
VVJDRVNfRElSL0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmMKIAogZW5hYmxlX2Zhc3RfbW9iaWxl
X3Njcm9sbGluZzogREVGSU5FUyArPSBFTkFCTEVfRkFTVF9NT0JJTEVfU0NST0xMSU5HPTEKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5SW5zcGVjdG9yRmlsZXMuY21k
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9jb3B5SW5zcGVjdG9yRmlsZXMuY21kCmluZGV4IDMx
NmZkZGMuLjY0OTEyMTEgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovY29weUlu
c3BlY3RvckZpbGVzLmNtZAorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlJbnNwZWN0
b3JGaWxlcy5jbWQKQEAgLTEsNSArMSw2IEBACiBta2RpciAyPk5VTCAiJVdlYktpdE91dHB1dERp
ciVcYmluXFdlYktpdC5yZXNvdXJjZXNcaW5zcGVjdG9yIgogeGNvcHkgL3kgL2QgL3MgL2V4Y2x1
ZGU6eGNvcHkuZXhjbHVkZXMgIiVQcm9qZWN0RGlyJS4uXGluc3BlY3Rvclxmcm9udC1lbmRcKiIg
IiVXZWJLaXRPdXRwdXREaXIlXGJpblxXZWJLaXQucmVzb3VyY2VzXGluc3BlY3RvciIKK3hjb3B5
IC95IC9kIC9zIC9leGNsdWRlOnhjb3B5LmV4Y2x1ZGVzICIlV2ViS2l0T3V0cHV0RGlyJVxvYmpc
V2ViQ29yZVxEZXJpdmVkU291cmNlc1xDU1NLZXl3b3JkQ29tcGxldGlvbnMuanMiICIlV2ViS2l0
T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xpbnNwZWN0b3IiCiB4Y29weSAveSAvZCAv
cyAvZXhjbHVkZTp4Y29weS5leGNsdWRlcyAiJVdlYktpdE91dHB1dERpciVcb2JqXFdlYkNvcmVc
RGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yQmFja2VuZFN0dWIuanMiICIlV2ViS2l0T3V0cHV0RGly
JVxiaW5cV2ViS2l0LnJlc291cmNlc1xpbnNwZWN0b3IiCiBta2RpciAyPk5VTCAiJVdlYktpdE91
dHB1dERpciVcYmluXFdlYktpdC5yZXNvdXJjZXNcZW4ubHByb2oiCiB4Y29weSAveSAvZCAvcyAv
ZXhjbHVkZTp4Y29weS5leGNsdWRlcyAiJVByb2plY3REaXIlLi5cRW5nbGlzaC5scHJvalxsb2Nh
bGl6ZWRTdHJpbmdzLmpzIiAiJVdlYktpdE91dHB1dERpciVcYmluXFdlYktpdC5yZXNvdXJjZXNc
ZW4ubHByb2oiCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDExZDZmNjcuLjk2N2Y3MzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0yMjM3NSw2ICsyMjM3NSw3IEBACiAJCQkpOwogCQkJaW5wdXRQYXRocyA9ICgK
IAkJCQkiJChTUkNST09UKS9pbnNwZWN0b3IvZnJvbnQtZW5kIiwKKwkJCQkiJHtCVUlMVF9QUk9E
VUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpz
IiwKIAkJCQkiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5z
cGVjdG9yQmFja2VuZFN0dWIuanMiLAogCQkJKTsKIAkJCW5hbWUgPSAiQ29weSBJbnNwZWN0b3Ig
UmVzb3VyY2VzIjsKQEAgLTIyMzgzLDcgKzIyMzg0LDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0J
CQlzaGVsbFNjcmlwdCA9ICIjIENvcHkgYWxsIHRoZSBJbnNwZWN0b3IgZnJvbnQtZW5kIHJlc291
cmNlcy5cbmRpdHRvIFwiJHtTUkNST09UfS9pbnNwZWN0b3IvZnJvbnQtZW5kXCIgXCIke1RBUkdF
VF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0
b3JcIlxuZGl0dG8gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qc1wiIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9D
QUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yXCJcblxuIyBSZW1vdmUgdGhl
IFdlYktpdC5xcmMgZmlsZSBzaW5jZSBpdCBpcyBub3QgdXNlZCBvbiB0aGUgTWFjICh0aGlzIGZp
bGUgaXMgZm9yIFF0KS5cbnJtIC1mIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVE
X1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yL1dlYktpdC5xcmNcIlxuXG4jIFJlbW92
ZSAqLnJlMmpzIGZpbGVzLCB0aGV5IGFyZSBvbmx5IHVzZWQgdG8gZ2VuZXJhdGUgc29tZSAuanMg
ZmlsZXMuXG5ybSAtZiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJD
RVNfRk9MREVSX1BBVEh9L2luc3BlY3Rvci9cIioucmUyanNcblxuIyBSZW1vdmUgYW55IC5zdm4g
ZGlyZWN0b3JpZXMgdGhhdCBtYXkgaGF2ZSBiZWVuIGNvcGllZCBvdmVyLlxuZmluZCBcIiR7VEFS
R0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3Bl
Y3RvclwiIC1uYW1lIFwiLnN2blwiIC10eXBlIGQgfCB4YXJncyBybSAtcmZcbiI7CisJCQlzaGVs
bFNjcmlwdCA9ICIjIENvcHkgYWxsIHRoZSBJbnNwZWN0b3IgZnJvbnQtZW5kIHJlc291cmNlcy5c
bmRpdHRvIFwiJHtTUkNST09UfS9pbnNwZWN0b3IvZnJvbnQtZW5kXCIgXCIke1RBUkdFVF9CVUlM
RF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3JcIlxu
ZGl0dG8gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NL
ZXl3b3JkQ29tcGxldGlvbnMuanNcIiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpF
RF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiXG5kaXR0byBcIiR7QlVJTFRfUFJP
RFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmRTdHViLmpz
XCIgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9Q
QVRIfS9pbnNwZWN0b3JcIlxuXG4jIFJlbW92ZSB0aGUgV2ViS2l0LnFyYyBmaWxlIHNpbmNlIGl0
IGlzIG5vdCB1c2VkIG9uIHRoZSBNYWMgKHRoaXMgZmlsZSBpcyBmb3IgUXQpLlxucm0gLWYgXCIk
e1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9p
bnNwZWN0b3IvV2ViS2l0LnFyY1wiXG5cbiMgUmVtb3ZlICoucmUyanMgZmlsZXMsIHRoZXkgYXJl
IG9ubHkgdXNlZCB0byBnZW5lcmF0ZSBzb21lIC5qcyBmaWxlcy5cbnJtIC1mIFwiJHtUQVJHRVRf
QlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9y
L1wiKi5yZTJqc1xuXG4jIFJlbW92ZSBhbnkgLnN2biBkaXJlY3RvcmllcyB0aGF0IG1heSBoYXZl
IGJlZW4gY29waWVkIG92ZXIuXG5maW5kIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJ
WkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yXCIgLW5hbWUgXCIuc3ZuXCIgLXR5
cGUgZCB8IHhhcmdzIHJtIC1yZlxuIjsKIAkJfTsKIAkJNUQwRDU0MEQwRTk4NjJGNjAwMjlFMjIz
IC8qIENoZWNrIEZvciBXZWFrIFZUYWJsZXMgYW5kIEV4dGVybmFscyAqLyA9IHsKIAkJCWlzYSA9
IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlS2V5d29yZHMuaW4gYi9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IGMz
Y2ExYjUuLjdlZjU1MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4KKysrIGIvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtMTYsMTE2ICsxNiwx
MTYgQEAgaW5pdGlhbAogIyBDU1NfUFJPUF9CT1JERVJfVE9QX1NUWUxFCiAjIENTU19QUk9QX0JP
UkRFUl9CT1RUT01fU1RZTEUKICMgQ1NTX1BST1BfQk9SREVSX0xFRlRfU1RZTEUKLW5vbmUKLWhp
ZGRlbgotaW5zZXQKLWdyb292ZQotcmlkZ2UKLW91dHNldAotZG90dGVkCi1kYXNoZWQKLXNvbGlk
Ci1kb3VibGUKK25vbmUsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0
eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0
eWxlLGNsZWFyLGNsaXAtcGF0aCxjdXJzb3IsZGlzcGxheSxmbG9hdCxsaXN0LXN0eWxlLXR5cGUs
bGlzdC1zdHlsZS1pbWFnZSxtYXJxdWVlLXN0eWxlLG1heC1oZWlnaHQsbWF4LXdpZHRoLHBvaW50
ZXItZXZlbnRzLHNwZWFrLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLXN0eWxl
LHRleHQtb3ZlcmxpbmUtc3R5bGUsdGV4dC11bmRlcmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5bGUs
dGV4dC10cmFuc2Zvcm0sLXdlYmtpdC1mb250LXNtb290aGluZywtd2Via2l0LWh5cGhlbnMsLXdl
YmtpdC10ZXh0LWNvbWJpbmUKK2hpZGRlbixvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJv
cmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9y
ZGVyLWxlZnQtc3R5bGUsdmlzaWJpbGl0eSxvdmVyZmxvdyxvdmVyZmxvdy14LG92ZXJmbG93LXkK
K2luc2V0LG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxib3Jk
ZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZQorZ3Jv
b3ZlLG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxib3JkZXIt
cmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZQorcmlkZ2Us
b3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0eWxlLGJvcmRlci1yaWdo
dC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0eWxlCitvdXRzZXQsb3V0
bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0eWxlLGJvcmRlci1yaWdodC1z
dHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0eWxlCitkb3R0ZWQsb3V0bGlu
ZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0eWxlLGJvcmRlci1yaWdodC1zdHls
ZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0eWxlLHRleHQtbGluZS10aHJvdWdo
LHRleHQtbGluZS10aHJvdWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUtc3R5bGUsdGV4dC11bmRlcmxp
bmUsdGV4dC11bmRlcmxpbmUtc3R5bGUKK2Rhc2hlZCxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9y
ZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5
bGUsYm9yZGVyLWxlZnQtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gt
c3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZSx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVybGluZS1z
dHlsZQorc29saWQsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRlcixib3JkZXItdG9wLXN0eWxl
LGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxlLGJvcmRlci1sZWZ0LXN0eWxl
LHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUt
c3R5bGUsdGV4dC11bmRlcmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5bGUKK2RvdWJsZSxvdXRsaW5l
LG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxl
LGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gs
dGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZSx0ZXh0LXVuZGVybGlu
ZSx0ZXh0LXVuZGVybGluZS1zdHlsZQogIwogIyBDU1NfUFJPUF9GT05UOgogIwotY2FwdGlvbgot
aWNvbgotbWVudQotbWVzc2FnZS1ib3gKLXNtYWxsLWNhcHRpb24KLS13ZWJraXQtbWluaS1jb250
cm9sCi0td2Via2l0LXNtYWxsLWNvbnRyb2wKLS13ZWJraXQtY29udHJvbAotc3RhdHVzLWJhcgor
Y2FwdGlvbixmb250CitpY29uLGZvbnQKK21lbnUsZm9udAorbWVzc2FnZS1ib3gsZm9udAorc21h
bGwtY2FwdGlvbixmb250Cistd2Via2l0LW1pbmktY29udHJvbCxmb250Cistd2Via2l0LXNtYWxs
LWNvbnRyb2wsZm9udAorLXdlYmtpdC1jb250cm9sLGZvbnQKK3N0YXR1cy1iYXIsZm9udAogCiAj
CiAjIENTU19QUk9QX0ZPTlRfU1RZTEU6CiAjCi0jbm9ybWFsCi1pdGFsaWMKLW9ibGlxdWUKKyNu
b3JtYWwsZm9udC1zdHlsZSxmb250CitpdGFsaWMsZm9udC1zdHlsZSxmb250CitvYmxpcXVlLGZv
bnQtc3R5bGUsZm9udAogIyBUaGUgZm9sbG93aW5nIGlzIG9ubHkgYWxsb3dlZCBpbiBAZm9udC1m
YWNlOgotYWxsCithbGwscG9pbnRlci1ldmVudHMKICMKICMgQ1NTX1BST1BfRk9OVF9WQVJJQU5U
OgogIwotI25vcm1hbAotc21hbGwtY2FwcworI25vcm1hbCxmb250LXZhcmlhbnQsZm9udAorc21h
bGwtY2Fwcyxmb250LXZhcmlhbnQsZm9udAogIwogIyBDU1NfUFJPUF9GT05UX1dFSUdIVDoKICMK
LW5vcm1hbAotYm9sZAotYm9sZGVyCi1saWdodGVyCi0xMDAKLTIwMAotMzAwCi00MDAKLTUwMAot
NjAwCi03MDAKLTgwMAotOTAwCitub3JtYWwsZm9udC13ZWlnaHQsZm9udCxmb250LXN0eWxlLGZv
bnQtdmFyaWFudCxmb250LXN0cmV0Y2gsYm94LWRpcmVjdGlvbixtYXJxdWVlLXNwZWVkLHdoaXRl
LXNwYWNlLGxldHRlci1zcGFjaW5nLGxpbmUtaGVpZ2h0LHNwZWFrLHRleHQtbGluZS10aHJvdWdo
LXdpZHRoLHRleHQtb3ZlcmxpbmUtd2lkdGgsdGV4dC11bmRlcmxpbmUtd2lkdGgsdW5pY29kZS1i
aWRpLHdvcmQtd3JhcAorYm9sZCxmb250LXdlaWdodCxmb250Citib2xkZXIsZm9udC13ZWlnaHQs
Zm9udAorbGlnaHRlcixmb250LXdlaWdodCxmb250CisxMDAsZm9udC13ZWlnaHQsZm9udAorMjAw
LGZvbnQtd2VpZ2h0LGZvbnQKKzMwMCxmb250LXdlaWdodCxmb250Cis0MDAsZm9udC13ZWlnaHQs
Zm9udAorNTAwLGZvbnQtd2VpZ2h0LGZvbnQKKzYwMCxmb250LXdlaWdodCxmb250Cis3MDAsZm9u
dC13ZWlnaHQsZm9udAorODAwLGZvbnQtd2VpZ2h0LGZvbnQKKzkwMCxmb250LXdlaWdodCxmb250
CiAjCiAjIENTU19QUk9QX0ZPTlRfU0laRToKICMKLXh4LXNtYWxsCi14LXNtYWxsCi1zbWFsbAot
bWVkaXVtCi1sYXJnZQoteC1sYXJnZQoteHgtbGFyZ2UKLS13ZWJraXQteHh4LWxhcmdlCi1zbWFs
bGVyCi1sYXJnZXIKK3h4LXNtYWxsLGZvbnQtc2l6ZSxmb250Cit4LXNtYWxsLGZvbnQtc2l6ZSxm
b250CitzbWFsbCxmb250LXNpemUsZm9udAorbWVkaXVtLGZvbnQtc2l6ZSxmb250LG91dGxpbmUt
d2lkdGgsYm9yZGVyLXdpZHRoLGJvcmRlci10b3Atd2lkdGgsYm9yZGVyLXJpZ2h0LXdpZHRoLGJv
cmRlci1ib3R0b20td2lkdGgsYm9yZGVyLWxlZnQtd2lkdGgsdGV4dC1saW5lLXRocm91Z2gtd2lk
dGgsdGV4dC1vdmVybGluZS13aWR0aCx0ZXh0LXVuZGVybGluZS13aWR0aAorbGFyZ2UsZm9udC1z
aXplLGZvbnQKK3gtbGFyZ2UsZm9udC1zaXplLGZvbnQKK3h4LWxhcmdlLGZvbnQtc2l6ZSxmb250
Cistd2Via2l0LXh4eC1sYXJnZSxmb250LXNpemUsZm9udAorc21hbGxlcixmb250LXNpemUsZm9u
dAorbGFyZ2VyLGZvbnQtc2l6ZSxmb250CiAjCiAjIENTU19QUk9QX0ZPTlRfU1RSRVRDSDoKICMK
LSNub3JtYWwKLXdpZGVyCi1uYXJyb3dlcgotdWx0cmEtY29uZGVuc2VkCi1leHRyYS1jb25kZW5z
ZWQKLWNvbmRlbnNlZAotc2VtaS1jb25kZW5zZWQKLXNlbWktZXhwYW5kZWQKLWV4cGFuZGVkCi1l
eHRyYS1leHBhbmRlZAotdWx0cmEtZXhwYW5kZWQKKyNub3JtYWwsZm9udC1zdHJldGNoCit3aWRl
cixmb250LXN0cmV0Y2gKK25hcnJvd2VyLGZvbnQtc3RyZXRjaAordWx0cmEtY29uZGVuc2VkLGZv
bnQtc3RyZXRjaAorZXh0cmEtY29uZGVuc2VkLGZvbnQtc3RyZXRjaAorY29uZGVuc2VkLGZvbnQt
c3RyZXRjaAorc2VtaS1jb25kZW5zZWQsZm9udC1zdHJldGNoCitzZW1pLWV4cGFuZGVkLGZvbnQt
c3RyZXRjaAorZXhwYW5kZWQsZm9udC1zdHJldGNoCitleHRyYS1leHBhbmRlZCxmb250LXN0cmV0
Y2gKK3VsdHJhLWV4cGFuZGVkLGZvbnQtc3RyZXRjaAogIwogIyBDU1NfUFJPUF9HRU5FUklDX0ZP
TlRfRkFNSUxZOgogIwotc2VyaWYKLXNhbnMtc2VyaWYKLWN1cnNpdmUKLWZhbnRhc3kKLW1vbm9z
cGFjZQotLXdlYmtpdC1ib2R5CitzZXJpZixmb250LWZhbWlseSxmb250CitzYW5zLXNlcmlmLGZv
bnQtZmFtaWx5LGZvbnQKK2N1cnNpdmUsZm9udC1mYW1pbHksZm9udAorZmFudGFzeSxmb250LWZh
bWlseSxmb250Cittb25vc3BhY2UsZm9udC1mYW1pbHksZm9udAorLXdlYmtpdC1ib2R5LGZvbnQt
ZmFtaWx5LGZvbnQKICMKICMKICMgQ1NTX1BST1BfKl9DT0xPUgogIwotYXF1YQotYmxhY2sKLWJs
dWUKLWZ1Y2hzaWEKLWdyYXkKLWdyZWVuCi1saW1lCi1tYXJvb24KLW5hdnkKLW9saXZlCi1vcmFu
Z2UKLXB1cnBsZQotcmVkCi1zaWx2ZXIKLXRlYWwKLXdoaXRlCi15ZWxsb3cKLXRyYW5zcGFyZW50
CithcXVhLF9jb2xvcl8KK2JsYWNrLF9jb2xvcl8KK2JsdWUsX2NvbG9yXworZnVjaHNpYSxfY29s
b3JfCitncmF5LF9jb2xvcl8KK2dyZWVuLF9jb2xvcl8KK2xpbWUsX2NvbG9yXworbWFyb29uLF9j
b2xvcl8KK25hdnksX2NvbG9yXworb2xpdmUsX2NvbG9yXworb3JhbmdlLF9jb2xvcl8KK3B1cnBs
ZSxfY29sb3JfCityZWQsX2NvbG9yXworc2lsdmVyLF9jb2xvcl8KK3RlYWwsX2NvbG9yXword2hp
dGUsX2NvbG9yXworeWVsbG93LF9jb2xvcl8KK3RyYW5zcGFyZW50LF9jb2xvcl8KIC13ZWJraXQt
bGluawogLXdlYmtpdC1hY3RpdmVsaW5rCiBhY3RpdmVib3JkZXIKQEAgLTEzOCw3ICsxMzgsNyBA
QCBidXR0b25zaGFkb3cKIGJ1dHRvbnRleHQKIGNhcHRpb250ZXh0CiBncmF5dGV4dAotaGlnaGxp
Z2h0CitoaWdobGlnaHQsLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQogaGlnaGxpZ2h0dGV4
dAogaW5hY3RpdmVib3JkZXIKIGluYWN0aXZlY2FwdGlvbgpAQCAtMTU3LDMwMyArMTU3LDMwMyBA
QCB3aW5kb3cKIHdpbmRvd2ZyYW1lCiB3aW5kb3d0ZXh0CiAtd2Via2l0LWZvY3VzLXJpbmctY29s
b3IKLWN1cnJlbnRjb2xvcgorY3VycmVudGNvbG9yLF9jb2xvcl8KICMKICMgY29sb3JzIGluIG5v
biBzdHJpY3QgbW9kZQotZ3JleQorZ3JleSxfY29sb3JfCiAtd2Via2l0LXRleHQKICMKICMgQ1NT
X1BST1BfQkFDS0dST1VORF9SRVBFQVQ6CiAjCi1yZXBlYXQKLXJlcGVhdC14Ci1yZXBlYXQteQot
bm8tcmVwZWF0Ci0jIHJvdW5kCi0jIHNwYWNlCityZXBlYXQsYmFja2dyb3VuZC1yZXBlYXQsYm9y
ZGVyLWltYWdlCityZXBlYXQteCxiYWNrZ3JvdW5kLXJlcGVhdAorcmVwZWF0LXksYmFja2dyb3Vu
ZC1yZXBlYXQKK25vLXJlcGVhdCxiYWNrZ3JvdW5kLXJlcGVhdAorIyByb3VuZCxiYWNrZ3JvdW5k
LXJlcGVhdAorIyBzcGFjZSxiYWNrZ3JvdW5kLXJlcGVhdAogIwogIyBDU1NfUFJPUF9fV0VCS0lU
X0JBQ0tHUk9VTkRfQ09NUE9TSVRFOgogIwotY2xlYXIKLWNvcHkKLXNvdXJjZS1vdmVyCi1zb3Vy
Y2UtaW4KLXNvdXJjZS1vdXQKLXNvdXJjZS1hdG9wCi1kZXN0aW5hdGlvbi1vdmVyCi1kZXN0aW5h
dGlvbi1pbgotZGVzdGluYXRpb24tb3V0Ci1kZXN0aW5hdGlvbi1hdG9wCi14b3IKLXBsdXMtZGFy
a2VyCi0jIGhpZ2hsaWdodAotcGx1cy1saWdodGVyCitjbGVhciwtd2Via2l0LWJhY2tncm91bmQt
Y29tcG9zaXRlCitjb3B5LC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUsY3Vyc29yCitzb3Vy
Y2Utb3Zlciwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitzb3VyY2UtaW4sLXdlYmtpdC1i
YWNrZ3JvdW5kLWNvbXBvc2l0ZQorc291cmNlLW91dCwtd2Via2l0LWJhY2tncm91bmQtY29tcG9z
aXRlCitzb3VyY2UtYXRvcCwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitkZXN0aW5hdGlv
bi1vdmVyLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2Rlc3RpbmF0aW9uLWluLC13ZWJr
aXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2Rlc3RpbmF0aW9uLW91dCwtd2Via2l0LWJhY2tncm91
bmQtY29tcG9zaXRlCitkZXN0aW5hdGlvbi1hdG9wLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3Np
dGUKK3hvciwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitwbHVzLWRhcmtlciwtd2Via2l0
LWJhY2tncm91bmQtY29tcG9zaXRlCisjIGhpZ2hsaWdodCwtd2Via2l0LWJhY2tncm91bmQtY29t
cG9zaXRlCitwbHVzLWxpZ2h0ZXIsLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQogIwogIyBD
U1NfUFJPUF9WRVJUSUNBTF9BTElHTjoKICMKLWJhc2VsaW5lCi1taWRkbGUKLXN1Ygotc3VwZXIK
LXRleHQtdG9wCi10ZXh0LWJvdHRvbQotdG9wCi1ib3R0b20KK2Jhc2VsaW5lLHZlcnRpY2FsLWFs
aWduLGFsaWdubWVudC1iYXNlbGluZSxiYXNlbGluZS1zaGlmdCxib3gtYWxpZ24KK21pZGRsZSx2
ZXJ0aWNhbC1hbGlnbixhbGlnbm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK3N1Yix2
ZXJ0aWNhbC1hbGlnbixiYXNlbGluZS1zaGlmdAorc3VwZXIsdmVydGljYWwtYWxpZ24sYmFzZWxp
bmUtc2hpZnQKK3RleHQtdG9wLHZlcnRpY2FsLWFsaWduCit0ZXh0LWJvdHRvbSx2ZXJ0aWNhbC1h
bGlnbgordG9wLHZlcnRpY2FsLWFsaWduCitib3R0b20sdmVydGljYWwtYWxpZ24KICMgSFRNTCBh
bGlnbm1lbnQgTUlERExFIGhhcyBubyBjb3JyZXNwb25kaW5nIENTUyBhbGlnbm1lbnQKLS13ZWJr
aXQtYmFzZWxpbmUtbWlkZGxlCistd2Via2l0LWJhc2VsaW5lLW1pZGRsZSx2ZXJ0aWNhbC1hbGln
bgogIwogIyBDU1NfUFJPUF9URVhUX0FMSUdOOgogIwotLXdlYmtpdC1hdXRvCi1sZWZ0Ci1yaWdo
dAotY2VudGVyCi1qdXN0aWZ5Ci0td2Via2l0LWxlZnQKLS13ZWJraXQtcmlnaHQKLS13ZWJraXQt
Y2VudGVyCistd2Via2l0LWF1dG8sdGV4dC1hbGlnbgorbGVmdCx0ZXh0LWFsaWduLGNsZWFyLGZs
b2F0LG1hcnF1ZWUtZGlyZWN0aW9uLGJveC1yZWZsZWN0LHBhZ2UtYnJlYWstYWZ0ZXIscGFnZS1i
cmVhay1iZWZvcmUKK3JpZ2h0LHRleHQtYWxpZ24sY2xlYXIsZmxvYXQsbWFycXVlZS1kaXJlY3Rp
b24sYm94LXJlZmxlY3QscGFnZS1icmVhay1hZnRlcixwYWdlLWJyZWFrLWJlZm9yZQorY2VudGVy
LHRleHQtYWxpZ24sYm94LWFsaWduCitqdXN0aWZ5LHRleHQtYWxpZ24KKy13ZWJraXQtbGVmdCx0
ZXh0LWFsaWduCistd2Via2l0LXJpZ2h0LHRleHQtYWxpZ24KKy13ZWJraXQtY2VudGVyLHRleHQt
YWxpZ24KICMKICMgQ1NTX1BST1BfTElTVF9TVFlMRV9QT1NJVElPTjoKICMKLW91dHNpZGUKLWlu
c2lkZQorb3V0c2lkZSxsaXN0LXN0eWxlLXBvc2l0aW9uCitpbnNpZGUsbGlzdC1zdHlsZS1wb3Np
dGlvbgogIwogIyBDU1NfUFJPUF9MSVNUX1NUWUxFX1RZUEU6CiAjCi1kaXNjCi1jaXJjbGUKLXNx
dWFyZQotZGVjaW1hbAotZGVjaW1hbC1sZWFkaW5nLXplcm8KLWFyYWJpYy1pbmRpYwotYmluYXJ5
Ci1iZW5nYWxpCi1jYW1ib2RpYW4KLWtobWVyCi1kZXZhbmFnYXJpCi1ndWphcmF0aQotZ3VybXVr
aGkKLWthbm5hZGEKLWxvd2VyLWhleGFkZWNpbWFsCi1sYW8KLW1hbGF5YWxhbQotbW9uZ29saWFu
Ci1teWFubWFyCi1vY3RhbAotb3JpeWEKLXBlcnNpYW4KLXVyZHUKLXRlbHVndQotdGliZXRhbgot
dGhhaQotdXBwZXItaGV4YWRlY2ltYWwKLWxvd2VyLXJvbWFuCi11cHBlci1yb21hbgotbG93ZXIt
Z3JlZWsKLWxvd2VyLWFscGhhCi1sb3dlci1sYXRpbgotdXBwZXItYWxwaGEKLXVwcGVyLWxhdGlu
Ci1hZmFyCi1ldGhpb3BpYy1oYWxlaGFtZS1hYS1ldAotZXRoaW9waWMtaGFsZWhhbWUtYWEtZXIK
LWFtaGFyaWMKLWV0aGlvcGljLWhhbGVoYW1lLWFtLWV0Ci1hbWhhcmljLWFiZWdlZGUKLWV0aGlv
cGljLWFiZWdlZGUtYW0tZXQKLWNqay1lYXJ0aGx5LWJyYW5jaAotY2prLWhlYXZlbmx5LXN0ZW0K
LWV0aGlvcGljCi1ldGhpb3BpYy1oYWxlaGFtZS1nZXoKLWV0aGlvcGljLWFiZWdlZGUKLWV0aGlv
cGljLWFiZWdlZGUtZ2V6Ci1oYW5ndWwtY29uc29uYW50Ci1oYW5ndWwKLWxvd2VyLW5vcndlZ2lh
bgotb3JvbW8KLWV0aGlvcGljLWhhbGVoYW1lLW9tLWV0Ci1zaWRhbWEKLWV0aGlvcGljLWhhbGVo
YW1lLXNpZC1ldAotc29tYWxpCi1ldGhpb3BpYy1oYWxlaGFtZS1zby1ldAotdGlncmUKLWV0aGlv
cGljLWhhbGVoYW1lLXRpZwotdGlncmlueWEtZXIKLWV0aGlvcGljLWhhbGVoYW1lLXRpLWVyCi10
aWdyaW55YS1lci1hYmVnZWRlCi1ldGhpb3BpYy1hYmVnZWRlLXRpLWVyCi10aWdyaW55YS1ldAot
ZXRoaW9waWMtaGFsZWhhbWUtdGktZXQKLXRpZ3JpbnlhLWV0LWFiZWdlZGUKLWV0aGlvcGljLWFi
ZWdlZGUtdGktZXQKLXVwcGVyLWdyZWVrCi11cHBlci1ub3J3ZWdpYW4KLWFzdGVyaXNrcwotZm9v
dG5vdGVzCi1oZWJyZXcKLWFybWVuaWFuCi1sb3dlci1hcm1lbmlhbgotdXBwZXItYXJtZW5pYW4K
LWdlb3JnaWFuCi1jamstaWRlb2dyYXBoaWMKLWhpcmFnYW5hCi1rYXRha2FuYQotaGlyYWdhbmEt
aXJvaGEKLWthdGFrYW5hLWlyb2hhCi0jbm9uZQorZGlzYyxsaXN0LXN0eWxlLXR5cGUKK2NpcmNs
ZSxsaXN0LXN0eWxlLXR5cGUsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLC13ZWJraXQtdGV4dC1lbXBo
YXNpcy1zdHlsZQorc3F1YXJlLGxpc3Qtc3R5bGUtdHlwZQorZGVjaW1hbCxsaXN0LXN0eWxlLXR5
cGUKK2RlY2ltYWwtbGVhZGluZy16ZXJvLGxpc3Qtc3R5bGUtdHlwZQorYXJhYmljLWluZGljLGxp
c3Qtc3R5bGUtdHlwZQorYmluYXJ5LGxpc3Qtc3R5bGUtdHlwZQorYmVuZ2FsaSxsaXN0LXN0eWxl
LXR5cGUKK2NhbWJvZGlhbixsaXN0LXN0eWxlLXR5cGUKK2tobWVyLGxpc3Qtc3R5bGUtdHlwZQor
ZGV2YW5hZ2FyaSxsaXN0LXN0eWxlLXR5cGUKK2d1amFyYXRpLGxpc3Qtc3R5bGUtdHlwZQorZ3Vy
bXVraGksbGlzdC1zdHlsZS10eXBlCitrYW5uYWRhLGxpc3Qtc3R5bGUtdHlwZQorbG93ZXItaGV4
YWRlY2ltYWwsbGlzdC1zdHlsZS10eXBlCitsYW8sbGlzdC1zdHlsZS10eXBlCittYWxheWFsYW0s
bGlzdC1zdHlsZS10eXBlCittb25nb2xpYW4sbGlzdC1zdHlsZS10eXBlCitteWFubWFyLGxpc3Qt
c3R5bGUtdHlwZQorb2N0YWwsbGlzdC1zdHlsZS10eXBlCitvcml5YSxsaXN0LXN0eWxlLXR5cGUK
K3BlcnNpYW4sbGlzdC1zdHlsZS10eXBlCit1cmR1LGxpc3Qtc3R5bGUtdHlwZQordGVsdWd1LGxp
c3Qtc3R5bGUtdHlwZQordGliZXRhbixsaXN0LXN0eWxlLXR5cGUKK3RoYWksbGlzdC1zdHlsZS10
eXBlCit1cHBlci1oZXhhZGVjaW1hbCxsaXN0LXN0eWxlLXR5cGUKK2xvd2VyLXJvbWFuLGxpc3Qt
c3R5bGUtdHlwZQordXBwZXItcm9tYW4sbGlzdC1zdHlsZS10eXBlCitsb3dlci1ncmVlayxsaXN0
LXN0eWxlLXR5cGUKK2xvd2VyLWFscGhhLGxpc3Qtc3R5bGUtdHlwZQorbG93ZXItbGF0aW4sbGlz
dC1zdHlsZS10eXBlCit1cHBlci1hbHBoYSxsaXN0LXN0eWxlLXR5cGUKK3VwcGVyLWxhdGluLGxp
c3Qtc3R5bGUtdHlwZQorYWZhcixsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLWFh
LWV0LGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtYWEtZXIsbGlzdC1zdHlsZS10
eXBlCithbWhhcmljLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtYW0tZXQsbGlz
dC1zdHlsZS10eXBlCithbWhhcmljLWFiZWdlZGUsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1h
YmVnZWRlLWFtLWV0LGxpc3Qtc3R5bGUtdHlwZQorY2prLWVhcnRobHktYnJhbmNoLGxpc3Qtc3R5
bGUtdHlwZQorY2prLWhlYXZlbmx5LXN0ZW0sbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYyxsaXN0
LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLWdleixsaXN0LXN0eWxlLXR5cGUKK2V0aGlv
cGljLWFiZWdlZGUsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1hYmVnZWRlLWdleixsaXN0LXN0
eWxlLXR5cGUKK2hhbmd1bC1jb25zb25hbnQsbGlzdC1zdHlsZS10eXBlCitoYW5ndWwsbGlzdC1z
dHlsZS10eXBlCitsb3dlci1ub3J3ZWdpYW4sbGlzdC1zdHlsZS10eXBlCitvcm9tbyxsaXN0LXN0
eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLW9tLWV0LGxpc3Qtc3R5bGUtdHlwZQorc2lkYW1h
LGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0LGxpc3Qtc3R5bGUtdHlw
ZQorc29tYWxpLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtc28tZXQsbGlzdC1z
dHlsZS10eXBlCit0aWdyZSxsaXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWhhbGVoYW1lLXRpZyxs
aXN0LXN0eWxlLXR5cGUKK3RpZ3JpbnlhLWVyLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFs
ZWhhbWUtdGktZXIsbGlzdC1zdHlsZS10eXBlCit0aWdyaW55YS1lci1hYmVnZWRlLGxpc3Qtc3R5
bGUtdHlwZQorZXRoaW9waWMtYWJlZ2VkZS10aS1lcixsaXN0LXN0eWxlLXR5cGUKK3RpZ3Jpbnlh
LWV0LGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtdGktZXQsbGlzdC1zdHlsZS10
eXBlCit0aWdyaW55YS1ldC1hYmVnZWRlLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtYWJlZ2Vk
ZS10aS1ldCxsaXN0LXN0eWxlLXR5cGUKK3VwcGVyLWdyZWVrLGxpc3Qtc3R5bGUtdHlwZQordXBw
ZXItbm9yd2VnaWFuLGxpc3Qtc3R5bGUtdHlwZQorYXN0ZXJpc2tzLGxpc3Qtc3R5bGUtdHlwZQor
Zm9vdG5vdGVzLGxpc3Qtc3R5bGUtdHlwZQoraGVicmV3LGxpc3Qtc3R5bGUtdHlwZQorYXJtZW5p
YW4sbGlzdC1zdHlsZS10eXBlCitsb3dlci1hcm1lbmlhbixsaXN0LXN0eWxlLXR5cGUKK3VwcGVy
LWFybWVuaWFuLGxpc3Qtc3R5bGUtdHlwZQorZ2VvcmdpYW4sbGlzdC1zdHlsZS10eXBlCitjamst
aWRlb2dyYXBoaWMsbGlzdC1zdHlsZS10eXBlCitoaXJhZ2FuYSxsaXN0LXN0eWxlLXR5cGUKK2th
dGFrYW5hLGxpc3Qtc3R5bGUtdHlwZQoraGlyYWdhbmEtaXJvaGEsbGlzdC1zdHlsZS10eXBlCitr
YXRha2FuYS1pcm9oYSxsaXN0LXN0eWxlLXR5cGUKKyNub25lLGxpc3Qtc3R5bGUtdHlwZQogIwog
IyBDU1NfUFJPUF9ESVNQTEFZOgogIwotaW5saW5lCi1ibG9jawotbGlzdC1pdGVtCi1ydW4taW4K
LWNvbXBhY3QKLWlubGluZS1ibG9jawotdGFibGUKLWlubGluZS10YWJsZQotdGFibGUtcm93LWdy
b3VwCi10YWJsZS1oZWFkZXItZ3JvdXAKLXRhYmxlLWZvb3Rlci1ncm91cAotdGFibGUtcm93Ci10
YWJsZS1jb2x1bW4tZ3JvdXAKLXRhYmxlLWNvbHVtbgotdGFibGUtY2VsbAotdGFibGUtY2FwdGlv
bgotLXdlYmtpdC1ib3gKLS13ZWJraXQtaW5saW5lLWJveAotLXdhcC1tYXJxdWVlCi0jbm9uZQor
aW5saW5lLGRpc3BsYXkKK2Jsb2NrLGRpc3BsYXkKK2xpc3QtaXRlbSxkaXNwbGF5LGNvbnRlbnQK
K3J1bi1pbixkaXNwbGF5Citjb21wYWN0LGRpc3BsYXkKK2lubGluZS1ibG9jayxkaXNwbGF5Cit0
YWJsZSxkaXNwbGF5CitpbmxpbmUtdGFibGUsZGlzcGxheQordGFibGUtcm93LWdyb3VwLGRpc3Bs
YXkKK3RhYmxlLWhlYWRlci1ncm91cCxkaXNwbGF5Cit0YWJsZS1mb290ZXItZ3JvdXAsZGlzcGxh
eQordGFibGUtcm93LGRpc3BsYXkKK3RhYmxlLWNvbHVtbi1ncm91cCxkaXNwbGF5Cit0YWJsZS1j
b2x1bW4sZGlzcGxheQordGFibGUtY2VsbCxkaXNwbGF5Cit0YWJsZS1jYXB0aW9uLGRpc3BsYXkK
Ky13ZWJraXQtYm94LGRpc3BsYXkKKy13ZWJraXQtaW5saW5lLWJveCxkaXNwbGF5Cistd2FwLW1h
cnF1ZWUsZGlzcGxheQorI25vbmUsZGlzcGxheQogIwogIyBDU1NfUFJPUF9DVVJTT1I6CiAjCi1h
dXRvCi1jcm9zc2hhaXIKLWRlZmF1bHQKLXBvaW50ZXIKLW1vdmUKLXZlcnRpY2FsLXRleHQKLWNl
bGwKLWNvbnRleHQtbWVudQotYWxpYXMKLSMgY29weQotcHJvZ3Jlc3MKLW5vLWRyb3AKLW5vdC1h
bGxvd2VkCi0td2Via2l0LXpvb20taW4KLS13ZWJraXQtem9vbS1vdXQKLWUtcmVzaXplCi1uZS1y
ZXNpemUKLW53LXJlc2l6ZQotbi1yZXNpemUKLXNlLXJlc2l6ZQotc3ctcmVzaXplCi1zLXJlc2l6
ZQotdy1yZXNpemUKLWV3LXJlc2l6ZQotbnMtcmVzaXplCi1uZXN3LXJlc2l6ZQotbndzZS1yZXNp
emUKLWNvbC1yZXNpemUKLXJvdy1yZXNpemUKLXRleHQKLXdhaXQKLWhlbHAKLWFsbC1zY3JvbGwK
LS13ZWJraXQtZ3JhYgotLXdlYmtpdC1ncmFiYmluZwotIyBub25lCithdXRvLGN1cnNvcixhbGln
bm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUsY29sb3ItcmVuZGVyaW5nLGltYWdlLXJl
bmRlcmluZyxtYXJnaW4sbWFyZ2luLXRvcCxtYXJnaW4tcmlnaHQsbWFyZ2luLWJvdHRvbSxtYXJn
aW4tbGVmdCxtYXJxdWVlLWRpcmVjdGlvbixvdmVyZmxvdyxvdmVyZmxvdy14LG92ZXJmbG93LXks
cGFnZS1icmVhay1hZnRlcixwYWdlLWJyZWFrLWJlZm9yZSxwYWdlLWJyZWFrLWluc2lkZSxwb2lu
dGVyLWV2ZW50cyx0YWJsZS1sYXlvdXQsdGV4dC1saW5lLXRocm91Z2gtd2lkdGgsdGV4dC1vdmVy
bGluZS13aWR0aCx0ZXh0LXVuZGVybGluZS13aWR0aCx0ZXh0LXJlbmRlcmluZywtd2Via2l0LWZv
bnQtc21vb3RoaW5nLC13ZWJraXQtaHlwaGVucworY3Jvc3NoYWlyLGN1cnNvcgorZGVmYXVsdCxj
dXJzb3IsLXdlYmtpdC1jb2xvci1jb3JyZWN0aW9uCitwb2ludGVyLGN1cnNvcgorbW92ZSxjdXJz
b3IKK3ZlcnRpY2FsLXRleHQsY3Vyc29yCitjZWxsLGN1cnNvcgorY29udGV4dC1tZW51LGN1cnNv
cgorYWxpYXMsY3Vyc29yCisjIGNvcHksY3Vyc29yCitwcm9ncmVzcyxjdXJzb3IKK25vLWRyb3As
Y3Vyc29yCitub3QtYWxsb3dlZCxjdXJzb3IKKy13ZWJraXQtem9vbS1pbixjdXJzb3IKKy13ZWJr
aXQtem9vbS1vdXQsY3Vyc29yCitlLXJlc2l6ZSxjdXJzb3IKK25lLXJlc2l6ZSxjdXJzb3IKK253
LXJlc2l6ZSxjdXJzb3IKK24tcmVzaXplLGN1cnNvcgorc2UtcmVzaXplLGN1cnNvcgorc3ctcmVz
aXplLGN1cnNvcgorcy1yZXNpemUsY3Vyc29yCit3LXJlc2l6ZSxjdXJzb3IKK2V3LXJlc2l6ZSxj
dXJzb3IKK25zLXJlc2l6ZSxjdXJzb3IKK25lc3ctcmVzaXplLGN1cnNvcgorbndzZS1yZXNpemUs
Y3Vyc29yCitjb2wtcmVzaXplLGN1cnNvcgorcm93LXJlc2l6ZSxjdXJzb3IKK3RleHQsY3Vyc29y
Cit3YWl0LGN1cnNvcgoraGVscCxjdXJzb3IKK2FsbC1zY3JvbGwsY3Vyc29yCistd2Via2l0LWdy
YWIsY3Vyc29yCistd2Via2l0LWdyYWJiaW5nLGN1cnNvcgorIyBub25lLGN1cnNvcgogIwogIyBD
U1NfUFJPUF9ESVJFQ1RJT046CiAjCi1sdHIKLXJ0bAorbHRyLGRpcmVjdGlvbgorcnRsLGRpcmVj
dGlvbgogIwogIyBDU1NfUFJPUF9URVhUX1RSQU5TRk9STToKICMKLWNhcGl0YWxpemUKLXVwcGVy
Y2FzZQotbG93ZXJjYXNlCi0jbm9uZQorY2FwaXRhbGl6ZSx0ZXh0LXRyYW5zZm9ybQordXBwZXJj
YXNlLHRleHQtdHJhbnNmb3JtCitsb3dlcmNhc2UsdGV4dC10cmFuc2Zvcm0KKyNub25lLHRleHQt
dHJhbnNmb3JtCiAjCiAjIENTU19QUk9QX1ZJU0lCSUxJVFk6CiAjCi12aXNpYmxlCi0jaGlkZGVu
Ci1jb2xsYXBzZQordmlzaWJsZSx2aXNpYmlsaXR5LG92ZXJmbG93LG92ZXJmbG93LXgsb3ZlcmZs
b3cteSxwb2ludGVyLWV2ZW50cworI2hpZGRlbix2aXNpYmlsaXR5Citjb2xsYXBzZSx2aXNpYmls
aXR5LGJvcmRlci1jb2xsYXBzZSxtYXJnaW4tYmVmb3JlLWNvbGxhcHNlLG1hcmdpbi1hZnRlci1j
b2xsYXBzZSxtYXJnaW4tdG9wLWNvbGxhcHNlLG1hcmdpbi1ib3R0b20tY29sbGFwc2UKICMKICMg
VW5vcmRlcmVkIHJlc3QKICMKLWEzCi1hNAotYTUKLWFib3ZlCi1hYnNvbHV0ZQotYWx3YXlzCi1h
dm9pZAotYjQKLWI1Ci1iZWxvdwotYmlkaS1vdmVycmlkZQotYmxpbmsKLWJvdGgKLWNsb3NlLXF1
b3RlCithMyxzaXplCithNCxzaXplCithNSxzaXplCithYm92ZSxib3gtcmVmbGVjdAorYWJzb2x1
dGUscG9zaXRpb24KK2Fsd2F5cyxwYWdlLWJyZWFrLWFmdGVyLHBhZ2UtYnJlYWstYmVmb3JlCith
dm9pZCxwYWdlLWJyZWFrLWFmdGVyLHBhZ2UtYnJlYWstYmVmb3JlLHBhZ2UtYnJlYWstaW5zaWRl
CitiNCxzaXplCitiNSxzaXplCitiZWxvdyxib3gtcmVmbGVjdAorYmlkaS1vdmVycmlkZSx1bmlj
b2RlLWJpZGkKK2JsaW5rLHRleHQtZGVjb3JhdGlvbgorYm90aCxjbGVhcgorY2xvc2UtcXVvdGUs
Y29udGVudAogY3JvcAogY3Jvc3MKLWVtYmVkCi1maXhlZAorZW1iZWQsdW5pY29kZS1iaWRpCitm
aXhlZCxwb3NpdGlvbix0YWJsZS1sYXlvdXQKIGhhbmQKLWhpZGUKK2hpZGUsZW1wdHktY2VsbHMK
IGhpZ2hlcgotaW52ZXJ0Ci1sYW5kc2NhcGUKLWxlZGdlcgotbGVnYWwKLWxldHRlcgoraW52ZXJ0
LG91dGxpbmUtY29sb3IKK2xhbmRzY2FwZSxzaXplCitsZWRnZXIsc2l6ZQorbGVnYWwsc2l6ZQor
bGV0dGVyLHNpemUKIGxldmVsCi1saW5lLXRocm91Z2gKK2xpbmUtdGhyb3VnaCx0ZXh0LWRlY29y
YXRpb24KIGxvY2FsCiBsb3VkCiBsb3dlcgogLXdlYmtpdC1tYXJxdWVlCiBtaXgKLW5vLWNsb3Nl
LXF1b3RlCi1uby1vcGVuLXF1b3RlCi1ub3dyYXAKLW9wZW4tcXVvdGUKLW92ZXJsYXkKLW92ZXJs
aW5lCi1wb3J0cmFpdAotcHJlCi1wcmUtbGluZQotcHJlLXdyYXAKLXJlbGF0aXZlCi1zY3JvbGwK
LXNlcGFyYXRlCi1zaG93Ci1zdGF0aWMKLXRoaWNrCi10aGluCi11bmRlcmxpbmUKK25vLWNsb3Nl
LXF1b3RlLGNvbnRlbnQKK25vLW9wZW4tcXVvdGUsY29udGVudAorbm93cmFwLHdoaXRlLXNwYWNl
CitvcGVuLXF1b3RlLGNvbnRlbnQKK292ZXJsYXksb3ZlcmZsb3csb3ZlcmZsb3cteCxvdmVyZmxv
dy15CitvdmVybGluZSx0ZXh0LWRlY29yYXRpb24KK3BvcnRyYWl0LHNpemUKK3ByZSx3aGl0ZS1z
cGFjZQorcHJlLWxpbmUsd2hpdGUtc3BhY2UKK3ByZS13cmFwLHdoaXRlLXNwYWNlCityZWxhdGl2
ZSxwb3NpdGlvbgorc2Nyb2xsLG1hcnF1ZWUtc3R5bGUsb3ZlcmZsb3csb3ZlcmZsb3cteCxvdmVy
Zmxvdy15CitzZXBhcmF0ZSxib3JkZXItY29sbGFwc2UsbWFyZ2luLWJlZm9yZS1jb2xsYXBzZSxt
YXJnaW4tYWZ0ZXItY29sbGFwc2UsbWFyZ2luLXRvcC1jb2xsYXBzZSxtYXJnaW4tYm90dG9tLWNv
bGxhcHNlCitzaG93LGVtcHR5LWNlbGxzCitzdGF0aWMscG9zaXRpb24KK3RoaWNrLG91dGxpbmUt
d2lkdGgsYm9yZGVyLXdpZHRoLGJvcmRlci10b3Atd2lkdGgsYm9yZGVyLXJpZ2h0LXdpZHRoLGJv
cmRlci1ib3R0b20td2lkdGgsYm9yZGVyLWxlZnQtd2lkdGgsdGV4dC1saW5lLXRocm91Z2gtd2lk
dGgsdGV4dC1vdmVybGluZS13aWR0aCx0ZXh0LXVuZGVybGluZS13aWR0aAordGhpbixvdXRsaW5l
LXdpZHRoLGJvcmRlci13aWR0aCxib3JkZXItdG9wLXdpZHRoLGJvcmRlci1yaWdodC13aWR0aCxi
b3JkZXItYm90dG9tLXdpZHRoLGJvcmRlci1sZWZ0LXdpZHRoLHRleHQtbGluZS10aHJvdWdoLXdp
ZHRoLHRleHQtb3ZlcmxpbmUtd2lkdGgsdGV4dC11bmRlcmxpbmUtd2lkdGgKK3VuZGVybGluZSx0
ZXh0LWRlY29yYXRpb24KIC13ZWJraXQtbm93cmFwCiAKICMgQ1NTMyBWYWx1ZXMKICMgQ1NTX1BS
T1BfQk9YX0FMSUdOCi1zdHJldGNoCi1zdGFydAotZW5kCi0jY2VudGVyCi0jYmFzZWxpbmUKK3N0
cmV0Y2gsYm94LWFsaWduLGJvcmRlci1pbWFnZQorc3RhcnQsYm94LWFsaWduCitlbmQsYm94LWFs
aWduCisjY2VudGVyLGJveC1hbGlnbgorI2Jhc2VsaW5lLGJveC1hbGlnbgogCiAjIENTU19QUk9Q
X0JPWF9ESVJFQ1RJT04KLSMgbm9ybWFsCi1yZXZlcnNlCisjIG5vcm1hbCxib3gtZGlyZWN0aW9u
CityZXZlcnNlLGJveC1kaXJlY3Rpb24sbWFycXVlZS1kaXJlY3Rpb24KIAogIyBDU1NfUFJPUF9C
T1hfT1JJRU5UCi1ob3Jpem9udGFsCi12ZXJ0aWNhbAotaW5saW5lLWF4aXMKLWJsb2NrLWF4aXMK
K2hvcml6b250YWwsYm94LW9yaWVudCwtd2Via2l0LXRleHQtY29tYmluZQordmVydGljYWwsYm94
LW9yaWVudAoraW5saW5lLWF4aXMsYm94LW9yaWVudAorYmxvY2stYXhpcyxib3gtb3JpZW50CiAK
ICMgQ1NTX1BST1BfQk9YX1BBQ0sKICMgc3RhcnQKQEAgLTQ2MiwzMyArNDYyLDMzIEBAIGJsb2Nr
LWF4aXMKICMganVzdGlmeQogCiAjIENTU19QUk9QX0JPWF9MSU5FUwotc2luZ2xlCi1tdWx0aXBs
ZQorc2luZ2xlLGJveC1saW5lcworbXVsdGlwbGUsYm94LWxpbmVzCiAKICMgQ1NTX1BST1BfTUFS
UVVFRV9ESVJFQ1RJT04KLWZvcndhcmRzCi1iYWNrd2FyZHMKLWFoZWFkCi0jIHJldmVyc2UKLSMg
bGVmdAotIyByaWdodAotdXAKLWRvd24KLSMgYXV0bworZm9yd2FyZHMsbWFycXVlZS1kaXJlY3Rp
b24KK2JhY2t3YXJkcyxtYXJxdWVlLWRpcmVjdGlvbgorYWhlYWQsbWFycXVlZS1kaXJlY3Rpb24K
KyMgcmV2ZXJzZSxtYXJxdWVlLWRpcmVjdGlvbgorIyBsZWZ0LG1hcnF1ZWUtZGlyZWN0aW9uCisj
IHJpZ2h0LG1hcnF1ZWUtZGlyZWN0aW9uCit1cCxtYXJxdWVlLWRpcmVjdGlvbgorZG93bixtYXJx
dWVlLWRpcmVjdGlvbgorIyBhdXRvLG1hcnF1ZWUtZGlyZWN0aW9uCiAKICMgQ1NTX1BST1BfTUFS
UVVFRV9TUEVFRAotc2xvdwotIyBub3JtYWwKLWZhc3QKK3Nsb3csbWFycXVlZS1zcGVlZAorIyBu
b3JtYWwsbWFycXVlZS1zcGVlZAorZmFzdCxtYXJxdWVlLXNwZWVkCiAKICMgQ1NTX1BST1BfTUFS
UVVFRV9SRVBFVElUSU9OCi1pbmZpbml0ZQoraW5maW5pdGUsbWFycXVlZS1yZXBldGl0aW9uCiAK
ICMgQ1NTX1BST1BfTUFSUVVFRV9TVFlMRQotIyBub25lCi1zbGlkZQotIyBzY3JvbGwKLWFsdGVy
bmF0ZQorIyBub25lLG1hcnF1ZWUtc3R5bGUKK3NsaWRlLG1hcnF1ZWUtc3R5bGUKKyMgc2Nyb2xs
LG1hcnF1ZWUtc3R5bGUKK2FsdGVybmF0ZSxtYXJxdWVlLXN0eWxlCiAKICMKICMgQ1NTX1BST1Bf
X0tIVE1MX1VTRVJfTU9ESUZZCkBAIC01MTYsMjggKzUxNiwyOCBAQCBtaW4taW50cmluc2ljCiAj
CiAjIENTU19QUk9QX1RFWFRfT1ZFUkZMT1cKICMKLWNsaXAKLWVsbGlwc2lzCitjbGlwLHRleHQt
b3ZlcmZsb3csdGV4dC1vdmVyZmxvdy1tb2RlCitlbGxpcHNpcyx0ZXh0LW92ZXJmbG93LHRleHQt
b3ZlcmZsb3ctbW9kZQogCiAjCiAjIENTU19QUk9QX19LSFRNTF9NQVJHSU5fQ09MTEFQU0UKICMK
LSMgY29sbGFwc2UKLSMgc2VwYXJhdGUKLWRpc2NhcmQKKyMgY29sbGFwc2UsbWFyZ2luLWJlZm9y
ZS1jb2xsYXBzZSxtYXJnaW4tYWZ0ZXItY29sbGFwc2UsbWFyZ2luLXRvcC1jb2xsYXBzZSxtYXJn
aW4tYm90dG9tLWNvbGxhcHNlCisjIHNlcGFyYXRlLG1hcmdpbi1iZWZvcmUtY29sbGFwc2UsbWFy
Z2luLWFmdGVyLWNvbGxhcHNlLG1hcmdpbi10b3AtY29sbGFwc2UsbWFyZ2luLWJvdHRvbS1jb2xs
YXBzZQorZGlzY2FyZCxtYXJnaW4tYmVmb3JlLWNvbGxhcHNlLG1hcmdpbi1hZnRlci1jb2xsYXBz
ZSxtYXJnaW4tdG9wLWNvbGxhcHNlLG1hcmdpbi1ib3R0b20tY29sbGFwc2UKIAogIwogIyBDU1Nf
UFJPUF9URVhUXypfQ09MT1IKICMKLWRvdC1kYXNoCi1kb3QtZG90LWRhc2gKLXdhdmUKK2RvdC1k
YXNoLHRleHQtdW5kZXJsaW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlLHRleHQtbGluZS10aHJvdWdo
LHRleHQtbGluZS10aHJvdWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUtc3R5bGUKK2RvdC1kb3QtZGFz
aCx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVybGluZS1zdHlsZSx0ZXh0LWxpbmUtdGhyb3VnaCx0
ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0ZXh0LW92ZXJsaW5lLXN0eWxlCit3YXZlLHRleHQtdW5k
ZXJsaW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10
aHJvdWdoLXN0eWxlLHRleHQtb3ZlcmxpbmUtc3R5bGUKIAogIwogIyBDU1NfUFJPUF9URVhUXypf
TU9ERQogIwotY29udGludW91cwotc2tpcC13aGl0ZS1zcGFjZQorY29udGludW91cyx0ZXh0LWxp
bmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3VnaC1tb2RlLHRleHQtb3ZlcmxpbmUtbW9kZSx0ZXh0
LXVuZGVybGluZS1tb2RlCitza2lwLXdoaXRlLXNwYWNlLHRleHQtbGluZS10aHJvdWdoLHRleHQt
bGluZS10aHJvdWdoLW1vZGUsdGV4dC1vdmVybGluZS1tb2RlLHRleHQtdW5kZXJsaW5lLW1vZGUK
IAogIwogIyBDU1NfUFJPUF9XT1JEX0JSRUFLCkBAIC01NDcsMTIgKzU0NywxMiBAQCBicmVhay1h
bGwKICMKICMgQ1NTX1BST1BfV09SRF9XUkFQCiAjCi1icmVhay13b3JkCiticmVhay13b3JkLHdv
cmQtd3JhcAogCiAjCiAjIENTU19QUk9QX19LSFRNTF9OQlNQX01PREUKICMKLXNwYWNlCitzcGFj
ZSxiYWNrZ3JvdW5kLXJlcGVhdAogCiAjCiAjIENTU19QUk9QX19LSFRNTF9MSU5FX0JSRUFLCkBA
IC02MjIsOSArNjIyLDkgQEAgY2Fwcy1sb2NrLWluZGljYXRvcgogIwogIyBDU1NfUFJPUF9CT1JE
RVJfSU1BR0UKICMKLSMgc3RyZXRjaAotIyByZXBlYXQKLXJvdW5kCisjIHN0cmV0Y2gsYm9yZGVy
LWltYWdlCisjIHJlcGVhdCxib3JkZXItaW1hZ2UKK3JvdW5kLGJhY2tncm91bmQtcmVwZWF0LHN0
cm9rZS1saW5lam9pbgogCiAjCiAjIENTU19QUk9QX0JBQ0tHUk9VTkRfQ0xJUC9PUklHSU4KQEAg
LTYzMywxNyArNjMzLDE3IEBAIHJvdW5kCiAjIGJvcmRlci1ib3gvY29udGVudC1ib3gvcGFkZGlu
Zy1ib3ggc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KICMKIGJvcmRlcgotYm9yZGVyLWJveAorYm9y
ZGVyLWJveCxiYWNrZ3JvdW5kLW9yaWdpbixiYWNrZ3JvdW5kLWNsaXAKIGNvbnRlbnQKLWNvbnRl
bnQtYm94Citjb250ZW50LWJveCxiYWNrZ3JvdW5kLW9yaWdpbixiYWNrZ3JvdW5kLWNsaXAKIHBh
ZGRpbmcKLXBhZGRpbmctYm94CitwYWRkaW5nLWJveCxiYWNrZ3JvdW5kLW9yaWdpbixiYWNrZ3Jv
dW5kLWNsaXAKIAogIwogIyBiYWNrZ3JvdW5kLXNpemUKICMKLWNvbnRhaW4KLWNvdmVyCitjb250
YWluLGJhY2tncm91bmQtc2l6ZQorY292ZXIsYmFja2dyb3VuZC1zaXplCiAKICMKICMgQ1NTX1BS
T1BfX0tIVE1MX1JUTF9PUkRFUklORwpAQCAtNzAwLDQ3ICs3MDAsNDcgQEAgc3RlcC1lbmQKICMK
ICMgQ1NTX1BST1BfWk9PTQogIwotZG9jdW1lbnQKLXJlc2V0Citkb2N1bWVudCx6b29tCityZXNl
dCx6b29tCiAKICMKICMgQ1NTX1BST1BfUE9JTlRFUl9FVkVOVFMKICMKLXZpc2libGVQYWludGVk
Ci12aXNpYmxlRmlsbAotdmlzaWJsZVN0cm9rZQotI3Zpc2libGUKLXBhaW50ZWQKLWZpbGwKLXN0
cm9rZQotI2FsbAotI25vbmUKK3Zpc2libGVQYWludGVkLHBvaW50ZXItZXZlbnRzCit2aXNpYmxl
RmlsbCxwb2ludGVyLWV2ZW50cwordmlzaWJsZVN0cm9rZSxwb2ludGVyLWV2ZW50cworI3Zpc2li
bGUscG9pbnRlci1ldmVudHMKK3BhaW50ZWQscG9pbnRlci1ldmVudHMKK2ZpbGwscG9pbnRlci1l
dmVudHMKK3N0cm9rZSxwb2ludGVyLWV2ZW50cworI2FsbCxwb2ludGVyLWV2ZW50cworI25vbmUs
cG9pbnRlci1ldmVudHMKIAogIwogIyBDU1NfUFJPUF9TUEVFQ0gKICMKLXNwZWxsLW91dAotZGln
aXRzCi1saXRlcmFsLXB1bmN0dWF0aW9uCi1uby1wdW5jdHVhdGlvbgorc3BlbGwtb3V0LHNwZWFr
CitkaWdpdHMsc3BlYWsKK2xpdGVyYWwtcHVuY3R1YXRpb24sc3BlYWsKK25vLXB1bmN0dWF0aW9u
LHNwZWFrCiAKICMKICMgLXdlYmtpdC1mb250LXNtb290aGluZwogIwotIyBhdXRvCi0jIG5vbmUK
LWFudGlhbGlhc2VkCi1zdWJwaXhlbC1hbnRpYWxpYXNlZAorIyBhdXRvLC13ZWJraXQtZm9udC1z
bW9vdGhpbmcKKyMgbm9uZSwtd2Via2l0LWZvbnQtc21vb3RoaW5nCithbnRpYWxpYXNlZCwtd2Vi
a2l0LWZvbnQtc21vb3RoaW5nCitzdWJwaXhlbC1hbnRpYWxpYXNlZCwtd2Via2l0LWZvbnQtc21v
b3RoaW5nCiAKICMgdGV4dC1yZW5kZXJpbmcKLSNhdXRvCi1vcHRpbWl6ZVNwZWVkCi1vcHRpbWl6
ZUxlZ2liaWxpdHkKLWdlb21ldHJpY1ByZWNpc2lvbgorI2F1dG8sdGV4dC1yZW5kZXJpbmcKK29w
dGltaXplU3BlZWQsdGV4dC1yZW5kZXJpbmcsY29sb3ItcmVuZGVyaW5nLGltYWdlLXJlbmRlcmlu
Zworb3B0aW1pemVMZWdpYmlsaXR5LHRleHQtcmVuZGVyaW5nCitnZW9tZXRyaWNQcmVjaXNpb24s
dGV4dC1yZW5kZXJpbmcKIAogIyAtd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24KLSNkZWZhdWx0Ci1z
UkdCCisjZGVmYXVsdCwtd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24KK3NSR0IsLXdlYmtpdC1jb2xv
ci1jb3JyZWN0aW9uCiAKICMgKC13ZWJraXQtdmlldy1tb2RlOikgbWVkaWEgZmVhdHVyZToKIGZs
b2F0aW5nCkBAIC03NTAsMzMgKzc1MCwzMyBAQCBtaW5pbWl6ZWQKIHdpbmRvd2VkCiAKICMgLXdl
YmtpdC1oeXBoZW5zCi0jIG5vbmUKLW1hbnVhbAotIyBhdXRvCisjIG5vbmUsLXdlYmtpdC1oeXBo
ZW5zCittYW51YWwsLXdlYmtpdC1oeXBoZW5zCisjIGF1dG8sLXdlYmtpdC1oeXBoZW5zCiAKICMg
LXdlYmtpdC13cml0aW5nLW1vZGUKICMgU1ZHIGNvbXBhdGliaWxpdHkKLWxyCi1ybAotdGIKLWxy
LXRiCi1ybC10YgotdGItcmwKK2xyLC13ZWJraXQtd3JpdGluZy1tb2RlCitybCwtd2Via2l0LXdy
aXRpbmctbW9kZQordGIsLXdlYmtpdC13cml0aW5nLW1vZGUKK2xyLXRiLC13ZWJraXQtd3JpdGlu
Zy1tb2RlCitybC10Yiwtd2Via2l0LXdyaXRpbmctbW9kZQordGItcmwsLXdlYmtpdC13cml0aW5n
LW1vZGUKICMgU3RhbmRhcmQgdmFsdWVzIGZyb20gQ1NTMwotaG9yaXpvbnRhbC10YgotdmVydGlj
YWwtcmwKLXZlcnRpY2FsLWxyCi1ob3Jpem9udGFsLWJ0Citob3Jpem9udGFsLXRiLC13ZWJraXQt
d3JpdGluZy1tb2RlCit2ZXJ0aWNhbC1ybCwtd2Via2l0LXdyaXRpbmctbW9kZQordmVydGljYWwt
bHIsLXdlYmtpdC13cml0aW5nLW1vZGUKK2hvcml6b250YWwtYnQsLXdlYmtpdC13cml0aW5nLW1v
ZGUKIAogIyAtd2Via2l0LXRleHQtZW1waGFzaXMtcG9zaXRpb24KLW92ZXIKLXVuZGVyCitvdmVy
LC13ZWJraXQtdGV4dC1lbXBoYXNpcy1wb3NpdGlvbgordW5kZXIsLXdlYmtpdC10ZXh0LWVtcGhh
c2lzLXBvc2l0aW9uCiAKICMgLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCi1maWxsZWQKLW9w
ZW4KLWRvdAotIyBjaXJjbGUKLWRvdWJsZS1jaXJjbGUKLXRyaWFuZ2xlCi1zZXNhbWUKK2ZpbGxl
ZCwtd2Via2l0LXRleHQtZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCitvcGVu
LC13ZWJraXQtdGV4dC1lbXBoYXNpcywtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKK2RvdCwt
d2Via2l0LXRleHQtZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCisjIGNpcmNs
ZSwtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKK2RvdWJsZS1jaXJjbGUsLXdlYmtpdC10ZXh0
LWVtcGhhc2lzLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQordHJpYW5nbGUsLXdlYmtpdC10
ZXh0LWVtcGhhc2lzLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQorc2VzYW1lLC13ZWJraXQt
dGV4dC1lbXBoYXNpcywtd2Via2l0LXRleHQtZW1waGFzaXMtc3R5bGUKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9XZWJDb3JlL2Nzcy9TVkdDU1NWYWx1
ZUtleXdvcmRzLmluCmluZGV4IGEyYzlmODMuLmZmYjhhYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvV2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgpAQCAtMTIsMTY0ICsxMiwxNjQgQEAKICMKICMgQ1NTX1BST1BfKl9DT0xPUgog
IwotYWxpY2VibHVlCi1hbnRpcXVld2hpdGUKK2FsaWNlYmx1ZSxfY29sb3JfCithbnRpcXVld2hp
dGUsX2NvbG9yXwogIyBhcXVhCi1hcXVhbWFyaW5lCi1henVyZQotYmVpZ2UKLWJpc3F1ZQorYXF1
YW1hcmluZSxfY29sb3JfCithenVyZSxfY29sb3JfCitiZWlnZSxfY29sb3JfCitiaXNxdWUsX2Nv
bG9yXwogIyBibGFjawotYmxhbmNoZWRhbG1vbmQKK2JsYW5jaGVkYWxtb25kLF9jb2xvcl8KICMg
Ymx1ZQotYmx1ZXZpb2xldAotYnJvd24KLWJ1cmx5d29vZAotY2FkZXRibHVlCi1jaGFydHJldXNl
Ci1jaG9jb2xhdGUKLWNvcmFsCi1jb3JuZmxvd2VyYmx1ZQotY29ybnNpbGsKLWNyaW1zb24KLWN5
YW4KLWRhcmtibHVlCi1kYXJrY3lhbgotZGFya2dvbGRlbnJvZAotZGFya2dyYXkKLWRhcmtncmVl
bgotZGFya2dyZXkKLWRhcmtraGFraQotZGFya21hZ2VudGEKLWRhcmtvbGl2ZWdyZWVuCi1kYXJr
b3JhbmdlCi1kYXJrb3JjaGlkCi1kYXJrcmVkCi1kYXJrc2FsbW9uCi1kYXJrc2VhZ3JlZW4KLWRh
cmtzbGF0ZWJsdWUKLWRhcmtzbGF0ZWdyYXkKLWRhcmtzbGF0ZWdyZXkKLWRhcmt0dXJxdW9pc2UK
LWRhcmt2aW9sZXQKLWRlZXBwaW5rCi1kZWVwc2t5Ymx1ZQotZGltZ3JheQotZGltZ3JleQotZG9k
Z2VyYmx1ZQotZmlyZWJyaWNrCi1mbG9yYWx3aGl0ZQotZm9yZXN0Z3JlZW4KK2JsdWV2aW9sZXQs
X2NvbG9yXworYnJvd24sX2NvbG9yXworYnVybHl3b29kLF9jb2xvcl8KK2NhZGV0Ymx1ZSxfY29s
b3JfCitjaGFydHJldXNlLF9jb2xvcl8KK2Nob2NvbGF0ZSxfY29sb3JfCitjb3JhbCxfY29sb3Jf
Citjb3JuZmxvd2VyYmx1ZSxfY29sb3JfCitjb3Juc2lsayxfY29sb3JfCitjcmltc29uLF9jb2xv
cl8KK2N5YW4sX2NvbG9yXworZGFya2JsdWUsX2NvbG9yXworZGFya2N5YW4sX2NvbG9yXworZGFy
a2dvbGRlbnJvZCxfY29sb3JfCitkYXJrZ3JheSxfY29sb3JfCitkYXJrZ3JlZW4sX2NvbG9yXwor
ZGFya2dyZXksX2NvbG9yXworZGFya2toYWtpLF9jb2xvcl8KK2RhcmttYWdlbnRhLF9jb2xvcl8K
K2RhcmtvbGl2ZWdyZWVuLF9jb2xvcl8KK2RhcmtvcmFuZ2UsX2NvbG9yXworZGFya29yY2hpZCxf
Y29sb3JfCitkYXJrcmVkLF9jb2xvcl8KK2RhcmtzYWxtb24sX2NvbG9yXworZGFya3NlYWdyZWVu
LF9jb2xvcl8KK2RhcmtzbGF0ZWJsdWUsX2NvbG9yXworZGFya3NsYXRlZ3JheSxfY29sb3JfCitk
YXJrc2xhdGVncmV5LF9jb2xvcl8KK2Rhcmt0dXJxdW9pc2UsX2NvbG9yXworZGFya3Zpb2xldCxf
Y29sb3JfCitkZWVwcGluayxfY29sb3JfCitkZWVwc2t5Ymx1ZSxfY29sb3JfCitkaW1ncmF5LF9j
b2xvcl8KK2RpbWdyZXksX2NvbG9yXworZG9kZ2VyYmx1ZSxfY29sb3JfCitmaXJlYnJpY2ssX2Nv
bG9yXworZmxvcmFsd2hpdGUsX2NvbG9yXworZm9yZXN0Z3JlZW4sX2NvbG9yXwogIyBmdWNoc2lh
Ci1nYWluc2Jvcm8KLWdob3N0d2hpdGUKLWdvbGQKLWdvbGRlbnJvZAorZ2FpbnNib3JvLF9jb2xv
cl8KK2dob3N0d2hpdGUsX2NvbG9yXworZ29sZCxfY29sb3JfCitnb2xkZW5yb2QsX2NvbG9yXwog
IyBncmF5CiAjIGdyZXkKICMgZ3JlZW4KLWdyZWVueWVsbG93Ci1ob25leWRldwotaG90cGluawot
aW5kaWFucmVkCi1pbmRpZ28KLWl2b3J5Ci1raGFraQotbGF2ZW5kZXIKLWxhdmVuZGVyYmx1c2gK
LWxhd25ncmVlbgotbGVtb25jaGlmZm9uCi1saWdodGJsdWUKLWxpZ2h0Y29yYWwKLWxpZ2h0Y3lh
bgotbGlnaHRnb2xkZW5yb2R5ZWxsb3cKLWxpZ2h0Z3JheQotbGlnaHRncmVlbgotbGlnaHRncmV5
Ci1saWdodHBpbmsKLWxpZ2h0c2FsbW9uCi1saWdodHNlYWdyZWVuCi1saWdodHNreWJsdWUKLWxp
Z2h0c2xhdGVncmF5Ci1saWdodHNsYXRlZ3JleQotbGlnaHRzdGVlbGJsdWUKLWxpZ2h0eWVsbG93
CitncmVlbnllbGxvdyxfY29sb3JfCitob25leWRldyxfY29sb3JfCitob3RwaW5rLF9jb2xvcl8K
K2luZGlhbnJlZCxfY29sb3JfCitpbmRpZ28sX2NvbG9yXworaXZvcnksX2NvbG9yXwora2hha2ks
X2NvbG9yXworbGF2ZW5kZXIsX2NvbG9yXworbGF2ZW5kZXJibHVzaCxfY29sb3JfCitsYXduZ3Jl
ZW4sX2NvbG9yXworbGVtb25jaGlmZm9uLF9jb2xvcl8KK2xpZ2h0Ymx1ZSxfY29sb3JfCitsaWdo
dGNvcmFsLF9jb2xvcl8KK2xpZ2h0Y3lhbixfY29sb3JfCitsaWdodGdvbGRlbnJvZHllbGxvdyxf
Y29sb3JfCitsaWdodGdyYXksX2NvbG9yXworbGlnaHRncmVlbixfY29sb3JfCitsaWdodGdyZXks
X2NvbG9yXworbGlnaHRwaW5rLF9jb2xvcl8KK2xpZ2h0c2FsbW9uLF9jb2xvcl8KK2xpZ2h0c2Vh
Z3JlZW4sX2NvbG9yXworbGlnaHRza3libHVlLF9jb2xvcl8KK2xpZ2h0c2xhdGVncmF5LF9jb2xv
cl8KK2xpZ2h0c2xhdGVncmV5LF9jb2xvcl8KK2xpZ2h0c3RlZWxibHVlLF9jb2xvcl8KK2xpZ2h0
eWVsbG93LF9jb2xvcl8KICMgbGltZQotbGltZWdyZWVuCi1saW5lbgotbWFnZW50YQorbGltZWdy
ZWVuLF9jb2xvcl8KK2xpbmVuLF9jb2xvcl8KK21hZ2VudGEsX2NvbG9yXwogIyBtYXJvb24KLW1l
ZGl1bWFxdWFtYXJpbmUKLW1lZGl1bWJsdWUKLW1lZGl1bW9yY2hpZAotbWVkaXVtcHVycGxlCi1t
ZWRpdW1zZWFncmVlbgotbWVkaXVtc2xhdGVibHVlCi1tZWRpdW1zcHJpbmdncmVlbgotbWVkaXVt
dHVycXVvaXNlCi1tZWRpdW12aW9sZXRyZWQKLW1pZG5pZ2h0Ymx1ZQotbWludGNyZWFtCi1taXN0
eXJvc2UKLW1vY2Nhc2luCi1uYXZham93aGl0ZQorbWVkaXVtYXF1YW1hcmluZSxfY29sb3JfCitt
ZWRpdW1ibHVlLF9jb2xvcl8KK21lZGl1bW9yY2hpZCxfY29sb3JfCittZWRpdW1wdXJwbGUsX2Nv
bG9yXworbWVkaXVtc2VhZ3JlZW4sX2NvbG9yXworbWVkaXVtc2xhdGVibHVlLF9jb2xvcl8KK21l
ZGl1bXNwcmluZ2dyZWVuLF9jb2xvcl8KK21lZGl1bXR1cnF1b2lzZSxfY29sb3JfCittZWRpdW12
aW9sZXRyZWQsX2NvbG9yXworbWlkbmlnaHRibHVlLF9jb2xvcl8KK21pbnRjcmVhbSxfY29sb3Jf
CittaXN0eXJvc2UsX2NvbG9yXworbW9jY2FzaW4sX2NvbG9yXworbmF2YWpvd2hpdGUsX2NvbG9y
XwogIyBuYXZ5Ci1vbGRsYWNlCitvbGRsYWNlLF9jb2xvcl8KICMgb2xpdmUKLW9saXZlZHJhYgor
b2xpdmVkcmFiLF9jb2xvcl8KICMgb3JhbmdlCi1vcmFuZ2VyZWQKLW9yY2hpZAotcGFsZWdvbGRl
bnJvZAotcGFsZWdyZWVuCi1wYWxldHVycXVvaXNlCi1wYWxldmlvbGV0cmVkCi1wYXBheWF3aGlw
Ci1wZWFjaHB1ZmYKLXBlcnUKLXBpbmsKLXBsdW0KLXBvd2RlcmJsdWUKK29yYW5nZXJlZCxfY29s
b3JfCitvcmNoaWQsX2NvbG9yXworcGFsZWdvbGRlbnJvZCxfY29sb3JfCitwYWxlZ3JlZW4sX2Nv
bG9yXworcGFsZXR1cnF1b2lzZSxfY29sb3JfCitwYWxldmlvbGV0cmVkLF9jb2xvcl8KK3BhcGF5
YXdoaXAsX2NvbG9yXworcGVhY2hwdWZmLF9jb2xvcl8KK3BlcnUsX2NvbG9yXworcGluayxfY29s
b3JfCitwbHVtLF9jb2xvcl8KK3Bvd2RlcmJsdWUsX2NvbG9yXwogIyBwdXJwbGUKICMgcmVkCi1y
b3N5YnJvd24KLXJveWFsYmx1ZQotc2FkZGxlYnJvd24KLXNhbG1vbgotc2FuZHlicm93bgotc2Vh
Z3JlZW4KLXNlYXNoZWxsCi1zaWVubmEKK3Jvc3licm93bixfY29sb3JfCityb3lhbGJsdWUsX2Nv
bG9yXworc2FkZGxlYnJvd24sX2NvbG9yXworc2FsbW9uLF9jb2xvcl8KK3NhbmR5YnJvd24sX2Nv
bG9yXworc2VhZ3JlZW4sX2NvbG9yXworc2Vhc2hlbGwsX2NvbG9yXworc2llbm5hLF9jb2xvcl8K
ICMgc2lsdmVyCi1za3libHVlCi1zbGF0ZWJsdWUKLXNsYXRlZ3JheQotc2xhdGVncmV5Ci1zbm93
Ci1zcHJpbmdncmVlbgotc3RlZWxibHVlCi10YW4KK3NreWJsdWUsX2NvbG9yXworc2xhdGVibHVl
LF9jb2xvcl8KK3NsYXRlZ3JheSxfY29sb3JfCitzbGF0ZWdyZXksX2NvbG9yXworc25vdyxfY29s
b3JfCitzcHJpbmdncmVlbixfY29sb3JfCitzdGVlbGJsdWUsX2NvbG9yXwordGFuLF9jb2xvcl8K
ICMgdGVhbAotdGhpc3RsZQotdG9tYXRvCi10dXJxdW9pc2UKLXZpb2xldAotd2hlYXQKK3RoaXN0
bGUsX2NvbG9yXwordG9tYXRvLF9jb2xvcl8KK3R1cnF1b2lzZSxfY29sb3JfCit2aW9sZXQsX2Nv
bG9yXword2hlYXQsX2NvbG9yXwogIyB3aGl0ZQotd2hpdGVzbW9rZQord2hpdGVzbW9rZSxfY29s
b3JfCiAjIHllbGxvdwoteWVsbG93Z3JlZW4KK3llbGxvd2dyZWVuLF9jb2xvcl8KIAogIyBDU1Nf
UFJPUF9DTElQX1BBVEgKICMgQ1NTX1BST1BfQ0xJUF9SVUxFCi1ub256ZXJvCi1ldmVub2RkCitu
b256ZXJvLGNsaXAtcnVsZQorZXZlbm9kZCxjbGlwLXJ1bGUKIAogIyBDU1NfUFJPUF9NQVNLCiAj
IENTU19QUk9QX09QQUNJVFkKICMgQ1NTX1BST1BfRU5BQkxFX0JBQ0tHUk9VTkQKLWFjY3VtdWxh
dGUKLW5ldworYWNjdW11bGF0ZSxlbmFibGUtYmFja2dyb3VuZAorbmV3LGVuYWJsZS1iYWNrZ3Jv
dW5kCiAKICMgQ1NTX1BST1BfRklMVEVSCiAjIENTU19QUk9QX0ZMT09EX0NPTE9SCkBAIC0xODQs
NyArMTg0LDcgQEAgbmV3CiAjIENTU19QUk9QX0NPTE9SX0lOVEVSUE9MQVRJT04KICNhdXRvCiAj
c1JHQgotbGluZWFyUkdCCitsaW5lYXJSR0IsY29sb3ItaW50ZXJwb2xhdGlvbgogCiAjIENTU19Q
Uk9QX0NPTE9SX0lOVEVSUE9MQVRJT05fRklMVEVSUwogI2F1dG8KQEAgLTE5NSw5ICsxOTUsOSBA
QCBsaW5lYXJSR0IKICNzUkdCCiAKICMgQ1NTX1BST1BfQ09MT1JfUkVOREVSSU5HCi0jYXV0bwot
I29wdGltaXplU3BlZWQKLW9wdGltaXplUXVhbGl0eQorI2F1dG8sY29sb3ItcmVuZGVyaW5nCisj
b3B0aW1pemVTcGVlZCxjb2xvci1yZW5kZXJpbmcKK29wdGltaXplUXVhbGl0eSxjb2xvci1yZW5k
ZXJpbmcsaW1hZ2UtcmVuZGVyaW5nCiAKICMjIENTU19QUk9QX0ZJTEwKICNjdXJyZW50Q29sb3IK
QEAgLTIwOCw5ICsyMDgsOSBAQCBvcHRpbWl6ZVF1YWxpdHkKICNldmVub2RkCiAKICMgQ1NTX1BS
T1BfSU1BR0VfUkVOREVSSU5HCi0jYXV0bwotI29wdGltaXplU3BlZWQKLSNvcHRpbWl6ZVF1YWxp
dHkKKyNhdXRvLGltYWdlLXJlbmRlcmluZworI29wdGltaXplU3BlZWQsaW1hZ2UtcmVuZGVyaW5n
Cisjb3B0aW1pemVRdWFsaXR5LGltYWdlLXJlbmRlcmluZwogCiAjIENTU19QUk9QX01BUktFUgog
IyBDU1NfUFJPUF9NQVJLRVJfRU5ECkBAIC0yMzEsMzggKzIzMSwzOCBAQCBidXR0CiAjIHNxdWFy
ZQogCiAjIENTU19QUk9QX1NUUk9LRV9MSU5FSk9JTgotbWl0ZXIKLSMgcm91bmQKLWJldmVsCitt
aXRlcixzdHJva2UtbGluZWpvaW4KKyMgcm91bmQsc3Ryb2tlLWxpbmVqb2luCitiZXZlbCxzdHJv
a2UtbGluZWpvaW4KIAogIyBDU1NfUFJPUF9TVFJPS0VfTUlURVJMSU1JVAogIyBDU1NfUFJPUF9T
VFJPS0VfT1BBQ0lUWQogIyBDU1NfUFJPUF9TVFJPS0VfV0lEVEgKIAogIyBDU1NfUFJPUF9BTElH
Tk1FTlRfQkFTRUxJTkUKLSNhdXRvCi0jIGJhc2VsaW5lCi1iZWZvcmUtZWRnZQotYWZ0ZXItZWRn
ZQotI21pZGRsZQotY2VudHJhbAotdGV4dC1iZWZvcmUtZWRnZQotdGV4dC1hZnRlci1lZGdlCi1p
ZGVvZ3JhcGhpYwotYWxwaGFiZXRpYwotaGFuZ2luZwotbWF0aGVtYXRpY2FsCisjYXV0byxhbGln
bm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKKyMgYmFzZWxpbmUsYWxpZ25tZW50LWJh
c2VsaW5lCitiZWZvcmUtZWRnZSxhbGlnbm1lbnQtYmFzZWxpbmUKK2FmdGVyLWVkZ2UsYWxpZ25t
ZW50LWJhc2VsaW5lCisjbWlkZGxlLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGlu
ZQorY2VudHJhbCxhbGlnbm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK3RleHQtYmVm
b3JlLWVkZ2UsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCit0ZXh0LWFmdGVy
LWVkZ2UsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCitpZGVvZ3JhcGhpYyxh
bGlnbm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK2FscGhhYmV0aWMsYWxpZ25tZW50
LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCitoYW5naW5nLGFsaWdubWVudC1iYXNlbGluZSxk
b21pbmFudC1iYXNlbGluZQorbWF0aGVtYXRpY2FsLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFu
dC1iYXNlbGluZQogCiAjIENTU19QUk9QX0JBU0VMSU5FX1NISUZUCi0jYmFzZWxpbmUKLSMgc3Vi
Ci0jIHN1cGVyCisjYmFzZWxpbmUsYmFzZWxpbmUtc2hpZnQKKyMgc3ViLGJhc2VsaW5lLXNoaWZ0
CisjIHN1cGVyLGJhc2VsaW5lLXNoaWZ0CiAKICMgQ1NTX1BST1BfRE9NSU5BTlRfQkFTRUxJTkUK
LSNhdXRvCi11c2Utc2NyaXB0Ci1uby1jaGFuZ2UKLXJlc2V0LXNpemUKKyNhdXRvLGRvbWluYW50
LWJhc2VsaW5lCit1c2Utc2NyaXB0LGRvbWluYW50LWJhc2VsaW5lCituby1jaGFuZ2UsZG9taW5h
bnQtYmFzZWxpbmUKK3Jlc2V0LXNpemUsZG9taW5hbnQtYmFzZWxpbmUKIAogIyBDU1NfUFJPUF9H
TFlQSF9PUklFTlRBVElPTl9IT1JJWk9OVEFMCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL21h
a2V2YWx1ZXMucGwgYi9XZWJDb3JlL2Nzcy9tYWtldmFsdWVzLnBsCmluZGV4IDE4M2NkMzUuLjgw
ZTZlNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL21ha2V2YWx1ZXMucGwKKysrIGIvV2ViQ29y
ZS9jc3MvbWFrZXZhbHVlcy5wbApAQCAtNiw2ICs2LDcgQEAKICMgICBDb3B5cmlnaHQgKEMpIDIw
MDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyAgIENvcHlyaWdodCAoQykgMjAw
OCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKICMgICBDb3B5
cmlnaHQgKEMpIDIwMTAgQW5kcmFzIEJlY3NpIChhYmVjc2lAaW5mLnUtc3plZ2VkLmh1KSwgVW5p
dmVyc2l0eSBvZiBTemVnZWQKKyMgICBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICMKICMgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAjICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI2LDE0ICsyNywxMTkg
QEAgdXNlIHdhcm5pbmdzOwogCiBvcGVuIE5BTUVTLCAiPENTU1ZhbHVlS2V5d29yZHMuaW4iIHx8
IGRpZSAiQ291bGQgbm90IG9wZW4gQ1NTVmFsdWVLZXl3b3Jkcy5pbiI7CiBteSBAbmFtZXMgPSAo
KTsKK215ICVjYXRlZ29yeVRvS2V5d29yZHNNYXAgPSAoKTsKK215IEBwYXJ0czsKK215IEBrZXl3
b3JkczsKK215ICRrZXl3b3JkOwogd2hpbGUgKDxOQU1FUz4pIHsKICAgbmV4dCBpZiAobS8oXiMp
fCheXHMqJCkvKTsKICAgIyBJbnB1dCBtYXkgdXNlIGEgZGlmZmVyZW50IEVPTCBzZXF1ZW5jZSB0
aGFuICQvLCBzbyBhdm9pZCBjaG9tcC4KICAgJF8gPX4gcy9bXHJcbl0rJC8vZzsKLSAgcHVzaCBA
bmFtZXMsICRfOworICBAcGFydHMgPSBzcGxpdCAvLC87CisgICRrZXl3b3JkID0gJHBhcnRzWzBd
OworICBwdXNoIEBuYW1lcywgJGtleXdvcmQ7CisgIHNwbGljZSBAcGFydHMsIDAsIDE7CisKKyAg
Zm9yZWFjaCBteSAkY2F0ZWdvcnkgKEBwYXJ0cykgeworICAgIHB1c2ggQHsgJGNhdGVnb3J5VG9L
ZXl3b3Jkc01hcHskY2F0ZWdvcnl9IH0sICRrZXl3b3JkOworICB9CiB9CiBjbG9zZShOQU1FUyk7
CiAKK29wZW4gS0VZV09SRE1BUCwgIj5DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMiIHx8IGRpZSAi
Q291bGQgbm90IG9wZW4gQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzIGZvciB3cml0aW5nIjsKK3By
aW50IEtFWVdPUkRNQVAgPDwgIkVPRiI7CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKgorICogVEhJUyBGSUxFIElTIEdFTkVSQVRFRCBCWSBXZWJDb3Jl
L2Nzcy9tYWtldmFsdWVzLnBsLiBETyBOT1QgTU9ESUZZIQorICovCisKK1dlYkluc3BlY3Rvci5D
U1NLZXl3b3JkQ29tcGxldGlvbnMgPSB7CisgICAgZm9yUHJvcGVydHk6IGZ1bmN0aW9uKHByb3Bl
cnR5TmFtZSkKKyAgICB7CisgICAgICAgIHZhciBhY2NlcHRlZEtleXdvcmRzID0gWyJpbml0aWFs
Il07CisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gdGhpcy5fcHJvcGVydHlLZXl3b3JkTWFw
KQorICAgICAgICAgICAgYWNjZXB0ZWRLZXl3b3JkcyA9IGFjY2VwdGVkS2V5d29yZHMuY29uY2F0
KHRoaXMuX3Byb3BlcnR5S2V5d29yZE1hcFtwcm9wZXJ0eU5hbWVdKTsKKyAgICAgICAgaWYgKHBy
b3BlcnR5TmFtZSBpbiB0aGlzLl9jb2xvckF3YXJlUHJvcGVydGllcykKKyAgICAgICAgICAgIGFj
Y2VwdGVkS2V5d29yZHMgPSBhY2NlcHRlZEtleXdvcmRzLmNvbmNhdCh0aGlzLl9wcm9wZXJ0eUtl
eXdvcmRNYXBbIl9jb2xvcl8iXSk7CisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gV2ViSW5z
cGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLkluaGVyaXRlZFByb3BlcnRpZXMpCisgICAgICAgICAg
ICBhY2NlcHRlZEtleXdvcmRzLnB1c2goImluaGVyaXQiKTsKKyAgICAgICAgcmV0dXJuIG5ldyBX
ZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMoYWNjZXB0ZWRLZXl3b3Jkcyk7CisgICAgfQorfTsK
KworV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fY29sb3JBd2FyZVByb3BlcnRp
ZXMgPSBbCisgICAgImJhY2tncm91bmQiLAorICAgICJiYWNrZ3JvdW5kLWNvbG9yIiwKKyAgICAi
Ym9yZGVyIiwKKyAgICAiYm9yZGVyLWNvbG9yIiwKKyAgICAiYm9yZGVyLXRvcCIsCisgICAgImJv
cmRlci1yaWdodCIsCisgICAgImJvcmRlci1ib3R0b20iLAorICAgICJib3JkZXItbGVmdCIsCisg
ICAgImJvcmRlci10b3AtY29sb3IiLAorICAgICJib3JkZXItcmlnaHQtY29sb3IiLAorICAgICJi
b3JkZXItYm90dG9tLWNvbG9yIiwKKyAgICAiYm9yZGVyLWxlZnQtY29sb3IiLAorICAgICJjb2xv
ciIsCisgICAgIm91dGxpbmUiLAorICAgICJvdXRsaW5lLWNvbG9yIiwKKyAgICAidGV4dC1saW5l
LXRocm91Z2giLAorICAgICJ0ZXh0LWxpbmUtdGhyb3VnaC1jb2xvciIsCisgICAgInRleHQtb3Zl
cmxpbmUiLAorICAgICJ0ZXh0LW92ZXJsaW5lLWNvbG9yIiwKKyAgICAidGV4dC1zaGFkb3ciLAor
ICAgICJ0ZXh0LXVuZGVybGluZSIsCisgICAgInRleHQtdW5kZXJsaW5lLWNvbG9yIiwKKyAgICAi
LXdlYmtpdC10ZXh0LWVtcGhhc2lzIiwKKyAgICAiLXdlYmtpdC10ZXh0LWVtcGhhc2lzLWNvbG9y
IgorXS5rZXlTZXQoKTsKKworV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fcHJv
cGVydHlLZXl3b3JkTWFwID0geworRU9GCisKK215ICRmaXJzdEtleXdvcmQ7CitteSAkZmlyc3RD
YXRlZ29yeSA9IDE7Citmb3JlYWNoIG15ICRjYXRlZ29yeSAoa2V5cyAlY2F0ZWdvcnlUb0tleXdv
cmRzTWFwKSB7CisgIHByaW50IEtFWVdPUkRNQVAgKCRmaXJzdENhdGVnb3J5ID8gIiIgOiAiLFxu
IikgLiAiICAgIFwiJGNhdGVnb3J5XCI6IFtcbiI7CisgICRmaXJzdENhdGVnb3J5ID0gMDsKKyAg
QGtleXdvcmRzID0gQHsgJGNhdGVnb3J5VG9LZXl3b3Jkc01hcHskY2F0ZWdvcnl9IH07CisgICRm
aXJzdEtleXdvcmQgPSAxOworICBmb3JlYWNoIG15ICRrZXl3b3JkIChAa2V5d29yZHMpIHsKKyAg
ICBwcmludCBLRVlXT1JETUFQICgkZmlyc3RLZXl3b3JkID8gIiIgOiAiLFxuIikgLiAiICAgICAg
ICBcIiRrZXl3b3JkXCIiOworICAgICRmaXJzdEtleXdvcmQgPSAwOworICB9CisgIHByaW50IEtF
WVdPUkRNQVAgIlxuICAgIF0iOworfQorcHJpbnQgS0VZV09SRE1BUCAiXG59XG4iOworY2xvc2Uo
S0VZV09SRE1BUCk7CisKIG9wZW4gR1BFUkYsICI+Q1NTVmFsdWVLZXl3b3Jkcy5ncGVyZiIgfHwg
ZGllICJDb3VsZCBub3Qgb3BlbiBDU1NWYWx1ZUtleXdvcmRzLmdwZXJmIGZvciB3cml0aW5nIjsK
IHByaW50IEdQRVJGIDw8ICJFT0YiOwogJXsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJjIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZjBlMzU1YgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJjCkBAIC0wLDAgKzEsNSBAQAor
PCFET0NUWVBFIFJDQz48UkNDIHZlcnNpb249IjEuMCI+Cis8cXJlc291cmNlIHByZWZpeD0iL3dl
YmtpdC9pbnNwZWN0b3IiPgorICAgIDxmaWxlPkNTU0tleXdvcmRDb21wbGV0aW9ucy5qczwvZmls
ZT4KKzwvcXJlc291cmNlPgorPC9SQ0M+CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ29sb3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanMK
aW5kZXggNWU3MzE0Yy4uM2ExNmY3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NvbG9yLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5q
cwpAQCAtNDQ5LDcgKzQ0OSw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5IZXhUYWJsZSA9IHsKICAg
ICAiQ0Q4NTNGIjogW1syMDUsIDEzMywgNjNdLCBbMzAsIDU5LCA1M10sICJwZXJ1Il0sCiAgICAg
IkQyNjkxRSI6IFtbMjEwLCAxMDUsIDMwXSwgWzI1LCA3NSwgNDddLCAiY2hvY29sYXRlIl0sCiAg
ICAgIkQyQjQ4QyI6IFtbMjEwLCAxODAsIDE0MF0sIFszNCwgNDQsIDY5XSwgInRhbiJdLAotICAg
ICJEM0QzRDMiOiBbWzIxMSwgMjExLCAyMTFdLCBbMCwgMCwgODNdLCAibGlnaHRHcmV5Il0sCisg
ICAgIkQzRDNEMyI6IFtbMjExLCAyMTEsIDIxMV0sIFswLCAwLCA4M10sICJsaWdodEdyYXkiXSwK
ICAgICAiRDg3MDkzIjogW1syMTksIDExMiwgMTQ3XSwgWzM0MCwgNjAsIDY1XSwgInBhbGVWaW9s
ZXRSZWQiXSwKICAgICAiRDhCRkQ4IjogW1syMTYsIDE5MSwgMjE2XSwgWzMwMCwgMjQsIDgwXSwg
InRoaXN0bGUiXSwKICAgICAiREE3MEQ2IjogW1syMTgsIDExMiwgMjE0XSwgWzMwMiwgNTksIDY1
XSwgIm9yY2hpZCJdLApAQCAtNTM5LDYgKzUzOSw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5OaWNr
bmFtZXMgPSB7CiAgICAgImRhcmtnb2xkZW5yb2QiOiAiQjg4NjBCIiwKICAgICAiZGFya2dyYXki
OiAiQTlBOUE5IiwKICAgICAiZGFya2dyZWVuIjogIjAwNjQwMCIsCisgICAgImRhcmtncmV5Ijog
IkE5QTlBOSIsCiAgICAgImRhcmtraGFraSI6ICJCREI3NkIiLAogICAgICJkYXJrbWFnZW50YSI6
ICI4QjAwOEIiLAogICAgICJkYXJrb2xpdmVncmVlbiI6ICI1NTZCMkYiLApAQCAtNTQ5LDExICs1
NTAsMTMgQEAgV2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lcyA9IHsKICAgICAiZGFya3NlYWdy
ZWVuIjogIjhGQkM4RiIsCiAgICAgImRhcmtzbGF0ZWJsdWUiOiAiNDgzRDhCIiwKICAgICAiZGFy
a3NsYXRlZ3JheSI6ICIyRjRGNEYiLAorICAgICJkYXJrc2xhdGVncmV5IjogIjJGNEY0RiIsCiAg
ICAgImRhcmt0dXJxdW9pc2UiOiAiMDBDRUQxIiwKICAgICAiZGFya3Zpb2xldCI6ICI5NDAwRDMi
LAogICAgICJkZWVwcGluayI6ICJGRjE0OTMiLAogICAgICJkZWVwc2t5Ymx1ZSI6ICIwMEJGRkYi
LAogICAgICJkaW1ncmF5IjogIjY5Njk2OSIsCisgICAgImRpbWdyZXkiOiAiNjk2OTY5IiwKICAg
ICAiZG9kZ2VyYmx1ZSI6ICIxRTkwRkYiLAogICAgICJmaXJlYnJpY2siOiAiQjIyMjIyIiwKICAg
ICAiZmxvcmFsd2hpdGUiOiAiRkZGQUYwIiwKQEAgLTU2Niw2ICs1NjksNyBAQCBXZWJJbnNwZWN0
b3IuQ29sb3IuTmlja25hbWVzID0gewogICAgICJncmF5IjogIjgwODA4MCIsCiAgICAgImdyZWVu
IjogIjAwODAwMCIsCiAgICAgImdyZWVueWVsbG93IjogIkFERkYyRiIsCisgICAgImdyZXkiOiAi
ODA4MDgwIiwKICAgICAiaG9uZXlkZXciOiAiRjBGRkYwIiwKICAgICAiaG90cGluayI6ICJGRjY5
QjQiLAogICAgICJpbmRpYW5yZWQiOiAiQ0Q1QzVDIiwKQEAgLTU4MCw2ICs1ODQsNyBAQCBXZWJJ
bnNwZWN0b3IuQ29sb3IuTmlja25hbWVzID0gewogICAgICJsaWdodGNvcmFsIjogIkYwODA4MCIs
CiAgICAgImxpZ2h0Y3lhbiI6ICJFMEZGRkYiLAogICAgICJsaWdodGdvbGRlbnJvZHllbGxvdyI6
ICJGQUZBRDIiLAorICAgICJsaWdodGdyYXkiOiAiRDNEM0QzIiwKICAgICAibGlnaHRncmVlbiI6
ICI5MEVFOTAiLAogICAgICJsaWdodGdyZXkiOiAiRDNEM0QzIiwKICAgICAibGlnaHRwaW5rIjog
IkZGQjZDMSIsCkBAIC01ODcsNiArNTkyLDcgQEAgV2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1l
cyA9IHsKICAgICAibGlnaHRzZWFncmVlbiI6ICIyMEIyQUEiLAogICAgICJsaWdodHNreWJsdWUi
OiAiODdDRUZBIiwKICAgICAibGlnaHRzbGF0ZWdyYXkiOiAiNzc4ODk5IiwKKyAgICAibGlnaHRz
bGF0ZWdyZXkiOiAiNzc4ODk5IiwKICAgICAibGlnaHRzdGVlbGJsdWUiOiAiQjBDNERFIiwKICAg
ICAibGlnaHR5ZWxsb3ciOiAiRkZGRkUwIiwKICAgICAibGltZSI6ICIwMEZGMDAiLApAQCAtNjM5
LDYgKzY0NSw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7CiAgICAgInNreWJs
dWUiOiAiODdDRUVCIiwKICAgICAic2xhdGVibHVlIjogIjZBNUFDRCIsCiAgICAgInNsYXRlZ3Jh
eSI6ICI3MDgwOTAiLAorICAgICJzbGF0ZWdyZXkiOiAiNzA4MDkwIiwKICAgICAic25vdyI6ICJG
RkZBRkEiLAogICAgICJzcHJpbmdncmVlbiI6ICIwMEZGN0YiLAogICAgICJzdGVlbGJsdWUiOiAi
NDY4MkI0IiwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNT
aWRlYmFyUGFuZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFy
UGFuZS5qcwppbmRleCA3NTYxMWEzLi41MjJmYzZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC04MSw2ICs4MSw4IEBAIFdlYklu
c3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZSA9IGZ1bmN0aW9uKGNvbXB1dGVkU3R5bGVQYW5lKQog
ICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsIHRoaXMuX2Nv
bnRleHRNZW51RXZlbnRGaXJlZC5iaW5kKHRoaXMpLCB0cnVlKTsKIH0KIAorV2ViSW5zcGVjdG9y
LlN0eWxlc1NpZGViYXJQYW5lLlN0eWxlVmFsdWVEZWxpbWl0ZXJzID0gIiBcdTAwQTBcdFxuXCIn
OjssLygpIjsKKwogLy8gVGFrZW4gZnJvbSBodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9wcm9w
aWR4Lmh0bWwuCiBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuSW5oZXJpdGVkUHJvcGVy
dGllcyA9IFsKICAgICAiYXppbXV0aCIsICJib3JkZXItY29sbGFwc2UiLCAiYm9yZGVyLXNwYWNp
bmciLCAiY2FwdGlvbi1zaWRlIiwgImNvbG9yIiwgImN1cnNvciIsICJkaXJlY3Rpb24iLCAiZWxl
dmF0aW9uIiwKQEAgLTEzNjksNiArMTM3MSw5IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5
VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMubGlzdEl0ZW1FbGVtZW50
LnJlbW92ZUNoaWxkcmVuKCk7CiAKKyAgICAgICAgbmFtZUVsZW1lbnQubm9ybWFsaXplKCk7Cisg
ICAgICAgIHZhbHVlRWxlbWVudC5ub3JtYWxpemUoKTsKKwogICAgICAgICBpZiAoIXRoaXMudHJl
ZU91dGxpbmUpCiAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTE0NzksMTYgKzE0ODQsMTEgQEAg
V2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgIH0sCiAKLSAgICByZXN0b3JlTmFtZUVs
ZW1lbnQ6IGZ1bmN0aW9uKCkKKyAgICBnZXQgY3NzVmFsdWVDb21wbGV0aW9ucygpCiAgICAgewot
ICAgICAgICAvLyBSZXN0b3JlIDxzcGFuIGNsYXNzPSJ3ZWJraXQtY3NzLXByb3BlcnR5Ij4gaWYg
aXQgZG9lc24ndCB5ZXQgZXhpc3Qgb3Igd2FzIGFjY2lkZW50YWxseSBkZWxldGVkLgotICAgICAg
ICBpZiAodGhpcy5uYW1lRWxlbWVudCA9PT0gdGhpcy5saXN0SXRlbUVsZW1lbnQucXVlcnlTZWxl
Y3RvcigiLndlYmtpdC1jc3MtcHJvcGVydHkiKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICB0aGlzLm5hbWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwot
ICAgICAgICB0aGlzLm5hbWVFbGVtZW50LmNsYXNzTmFtZSA9ICJ3ZWJraXQtY3NzLXByb3BlcnR5
IjsKLSAgICAgICAgdGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVudCA9ICIiOwotICAgICAgICB0
aGlzLmxpc3RJdGVtRWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5uYW1lRWxlbWVudCwgdGhpcy5s
aXN0SXRlbUVsZW1lbnQuZmlyc3RDaGlsZCk7CisgICAgICAgIGlmICghdGhpcy5fY3NzVmFsdWVD
b21wbGV0aW9ucykKKyAgICAgICAgICAgIHRoaXMuX2Nzc1ZhbHVlQ29tcGxldGlvbnMgPSBXZWJJ
bnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmZvclByb3BlcnR5KHRoaXMubmFtZUVsZW1l
bnQudGV4dENvbnRlbnQpOworICAgICAgICByZXR1cm4gdGhpcy5fY3NzVmFsdWVDb21wbGV0aW9u
czsKICAgICB9LAogCiAgICAgc3RhcnRFZGl0aW5nOiBmdW5jdGlvbihzZWxlY3RFbGVtZW50KQpA
QCAtMTU5MSw4ICsxNTkxLDYgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVu
dC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCkK
ICAgICAgICAgICAgICAgICBzZWxlY3Rpb24uZGVsZXRlRnJvbURvY3VtZW50KCk7CiAKLSAgICAg
ICAgICAgIHRoaXMucmVzdG9yZU5hbWVFbGVtZW50KCk7Ci0KICAgICAgICAgICAgIGlmIChwcm9w
ZXJ0eSkgewogICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSAhPT0gdGhpcy5uYW1lRWxlbWVu
dC50ZXh0Q29udGVudCkKICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYW1lRWxlbWVudC50ZXh0
Q29udGVudCA9IHByb3BlcnR5OwpAQCAtMTYwMiw5ICsxNjAwLDYwIEBAIFdlYkluc3BlY3Rvci5T
dHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAgfSwK
IAorICAgIHJhbmdlT2ZXb3JkOiBmdW5jdGlvbih0ZXh0LCBhbmNob3JPZmZzZXQpCisgICAgewor
ICAgICAgICB2YXIgc3RhcnRPZmZzZXQgPSBhbmNob3JPZmZzZXQ7CisgICAgICAgIHdoaWxlIChz
dGFydE9mZnNldCA+IDApIHsKKyAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuU3R5bGVzU2lk
ZWJhclBhbmUuU3R5bGVWYWx1ZURlbGltaXRlcnMuaW5kZXhPZih0ZXh0W3N0YXJ0T2Zmc2V0IC0g
MV0pID09PSAtMSkKKyAgICAgICAgICAgICAgICAtLXN0YXJ0T2Zmc2V0OworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgdmFyIGVu
ZE9mZnNldCA9IGFuY2hvck9mZnNldDsKKyAgICAgICAgd2hpbGUgKGVuZE9mZnNldCA8IHRleHQu
bGVuZ3RoICYmIFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5TdHlsZVZhbHVlRGVsaW1p
dGVycy5pbmRleE9mKHRleHRbZW5kT2Zmc2V0XSkgPT09IC0xKQorICAgICAgICAgICAgKytlbmRP
ZmZzZXQ7CisKKyAgICAgICAgLy8gc3RhcnRPZmZzZXQgaW5jbHVzaXZlLCBlbmRPZmZzZXQgZXhj
bHVzaXZlLgorICAgICAgICByZXR1cm4geyBzdGFydE9mZnNldDogc3RhcnRPZmZzZXQsIGVuZE9m
ZnNldDogZW5kT2Zmc2V0IH07CisgICAgfSwKKwogICAgIGVkaXRpbmdWYWx1ZUtleVByZXNzOiBm
dW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBjb21w
bGV0ZSBwcm9wZXJ0eSB2YWx1ZXMuCisgICAgICAgIC8vIENvbXBsZXRlIHByb3BlcnR5IHZhbHVl
IHBhcnQuCisgICAgICAgIHZhciBjaGFyYWN0ZXIgPSBldmVudC5kYXRhLnRvTG93ZXJDYXNlKCk7
CisgICAgICAgIGlmIChjaGFyYWN0ZXIgJiYgL1thLXotXS8udGVzdChjaGFyYWN0ZXIpKSB7Cisg
ICAgICAgICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAg
ICAgICAgaWYgKHNlbGVjdGlvbi5mb2N1c05vZGUgIT09IHNlbGVjdGlvbi5hbmNob3JOb2RlKQor
ICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgdmFyIGN1cnNvclBvc2l0aW9u
ID0gTWF0aC5taW4oc2VsZWN0aW9uLmZvY3VzT2Zmc2V0LCBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0
KTsKKyAgICAgICAgICAgIHZhciBjdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlRWxlbWVudC50ZXh0
Q29udGVudDsKKyAgICAgICAgICAgIGlmIChzZWxlY3Rpb24uZm9jdXNPZmZzZXQgIT09IHNlbGVj
dGlvbi5hbmNob3JPZmZzZXQpIHsKKyAgICAgICAgICAgICAgICAvLyBCVUcgNTEzODk6IFdlYkNv
cmUgYXNzZXJ0aW9uIHdvcmthcm91bmQuIFdlIGNhbm5vdCByZW1vdmUgdGhlIHJhbmdlIHJpZ2h0
IGF3YXksIHNpbmNlCisgICAgICAgICAgICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gc3VnZ2VzdCwg
V2ViQ29yZS9lZGl0aW5nIHdpbGwgdHJ5IHRvIHJlbW92ZSB0aGUgc2FtZSByYW5nZQorICAgICAg
ICAgICAgICAgIC8vIG9uY2UgYWdhaW4sIGFzIGV2ZW50LnByZXZlbnREZWZhdWx0KCkgd2lsbCBu
b3QgaGF2ZSBiZWVuIGNhbGxlZC4KKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0aW9uTGVmdCA9
IE1hdGgubWluKHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsIHNlbGVjdGlvbi5mb2N1c09mZnNldCk7
CisgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGlvblJpZ2h0ID0gTWF0aC5tYXgoc2VsZWN0aW9u
LmFuY2hvck9mZnNldCwgc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBj
dXJyZW50VmFsdWUgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKDAsIHNlbGVjdGlvbkxlZnQpICsg
Y3VycmVudFZhbHVlLnN1YnN0cmluZyhzZWxlY3Rpb25SaWdodCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB2YXIgd29yZFJhbmdlID0gdGhpcy5yYW5nZU9mV29yZChjdXJyZW50VmFsdWUs
IGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAgICAgIHZhciB3b3JkID0gY3VycmVudFZhbHVlLnN1
YnN0cmluZyh3b3JkUmFuZ2Uuc3RhcnRPZmZzZXQsIHdvcmRSYW5nZS5lbmRPZmZzZXQpOworICAg
ICAgICAgICAgdmFyIHByZWZpeCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcod29yZFJhbmdlLnN0
YXJ0T2Zmc2V0LCBjdXJzb3JQb3NpdGlvbik7CisgICAgICAgICAgICB2YXIgdmFsdWVTdWdnZXN0
ID0gdGhpcy5jc3NWYWx1ZUNvbXBsZXRpb25zLmZpcnN0U3RhcnRzV2l0aCgocHJlZml4ICsgY2hh
cmFjdGVyKS50b0xvd2VyQ2FzZSgpKTsKKworICAgICAgICAgICAgaWYgKHZhbHVlU3VnZ2VzdCkg
eworICAgICAgICAgICAgICAgIGlmIChzZWxlY3Rpb24uZm9jdXNPZmZzZXQgIT09IHNlbGVjdGlv
bi5hbmNob3JPZmZzZXQgJiYgc2VsZWN0aW9uLnJhbmdlQ291bnQpCisgICAgICAgICAgICAgICAg
ICAgIHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmRlbGV0ZUNvbnRlbnRzKCk7CisgICAgICAgICAg
ICAgICAgdmFyIHZhbHVlU3RhcnQgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKDAsIHdvcmRSYW5n
ZS5zdGFydE9mZnNldCk7CisgICAgICAgICAgICAgICAgdmFyIHZhbHVlRW5kID0gY3VycmVudFZh
bHVlLnN1YnN0cmluZyh3b3JkID09PSB2YWx1ZVN1Z2dlc3QgPyB3b3JkUmFuZ2UuZW5kT2Zmc2V0
IDogY3Vyc29yUG9zaXRpb24pOworICAgICAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IHZhbHVl
U3RhcnQgKyB2YWx1ZVN1Z2dlc3QgKyB2YWx1ZUVuZDsKKyAgICAgICAgICAgICAgICBpZiAobmV3
VmFsdWUgIT09IGN1cnJlbnRWYWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZUVs
ZW1lbnQudGV4dENvbnRlbnQgPSBuZXdWYWx1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLnZhbHVl
RWxlbWVudC5maXJzdENoaWxkLnNlbGVjdChjdXJzb3JQb3NpdGlvbiArIDEsIHdvcmRSYW5nZS5z
dGFydE9mZnNldCArIHZhbHVlU3VnZ2VzdC5sZW5ndGgpOworICAgICAgICAgICAgICAgIGV2ZW50
LnByZXZlbnREZWZhdWx0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9LAogCiAg
ICAgZWRpdGluZ05hbWVLZXlEb3duOiBmdW5jdGlvbihldmVudCkKQEAgLTE2MjUsMTMgKzE2NzQs
MTIgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIGlmIChzZWxlY3Rpb25SYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lciAhPT0g
dGhpcy5uYW1lRWxlbWVudCAmJiAhc2VsZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWlu
ZXIuaXNEZXNjZW5kYW50KHRoaXMubmFtZUVsZW1lbnQpKQogICAgICAgICAgICAgcmV0dXJuOwog
Ci0gICAgICAgIGNvbnN0IHN0eWxlVmFsdWVEZWxpbWV0ZXJzID0gIiBcdFxuXCInOjssLygpIjsK
LSAgICAgICAgdmFyIHdvcmRSYW5nZSA9IHNlbGVjdGlvblJhbmdlLnN0YXJ0Q29udGFpbmVyLnJh
bmdlT2ZXb3JkKHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0LCBzdHlsZVZhbHVlRGVsaW1ldGVy
cywgdGhpcy5uYW1lRWxlbWVudCk7CisgICAgICAgIHZhciB3b3JkUmFuZ2UgPSBzZWxlY3Rpb25S
YW5nZS5zdGFydENvbnRhaW5lci5yYW5nZU9mV29yZChzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNl
dCwgV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLlN0eWxlVmFsdWVEZWxpbWl0ZXJzLCB0
aGlzLm5hbWVFbGVtZW50KTsKICAgICAgICAgdmFyIHdvcmRTdHJpbmcgPSB3b3JkUmFuZ2UudG9T
dHJpbmcoKTsKICAgICAgICAgdmFyIGN1cnNvclBvc2l0aW9uID0gc2VsZWN0aW9uUmFuZ2Uuc3Rh
cnRPZmZzZXQgIT0gc2VsZWN0aW9uUmFuZ2UuZW5kT2Zmc2V0ID8gc2VsZWN0aW9uUmFuZ2Uuc3Rh
cnRPZmZzZXQgOiAwOwogICAgICAgICB2YXIgcHJlZml4ID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRD
b250YWluZXIudGV4dENvbnRlbnQuc3Vic3RyaW5nKDAsIGN1cnNvclBvc2l0aW9uKTsKLSAgICAg
ICAgdmFyIHByb3BlcnR5OwogCisgICAgICAgIHZhciBwcm9wZXJ0eTsKICAgICAgICAgaWYgKHNo
b3dOZXh0KQogICAgICAgICAgICAgcHJvcGVydHkgPSBXZWJJbnNwZWN0b3IuY3NzTmFtZUNvbXBs
ZXRpb25zLm5leHQod29yZFN0cmluZywgcHJlZml4KTsKICAgICAgICAgZWxzZQpAQCAtMTY1NSw2
OCArMTcwMyw4NCBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgaWYgKCFzZWxlY3Rpb24ucmFuZ2VDb3VudCkKICAgICAgICAgICAg
IHJldHVybjsKIAotICAgICAgICB2YXIgc2VsZWN0aW9uUmFuZ2UgPSBzZWxlY3Rpb24uZ2V0UmFu
Z2VBdCgwKTsKLSAgICAgICAgaWYgKHNlbGVjdGlvblJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFp
bmVyICE9PSB0aGlzLnZhbHVlRWxlbWVudCAmJiAhc2VsZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0
b3JDb250YWluZXIuaXNEZXNjZW5kYW50KHRoaXMudmFsdWVFbGVtZW50KSkKKyAgICAgICAgaWYg
KHNlbGVjdGlvbi5mb2N1c05vZGUgIT09IHNlbGVjdGlvbi5hbmNob3JOb2RlKQogICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgICAgIGNvbnN0IHN0eWxlVmFsdWVEZWxpbWV0ZXJzID0gIiBcdFxu
XCInOjssLygpIjsKLSAgICAgICAgdmFyIHdvcmRSYW5nZSA9IHNlbGVjdGlvblJhbmdlLnN0YXJ0
Q29udGFpbmVyLnJhbmdlT2ZXb3JkKHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0LCBzdHlsZVZh
bHVlRGVsaW1ldGVycywgdGhpcy52YWx1ZUVsZW1lbnQpOwotICAgICAgICB2YXIgd29yZFN0cmlu
ZyA9IHdvcmRSYW5nZS50b1N0cmluZygpOwotICAgICAgICB2YXIgcmVwbGFjZW1lbnRTdHJpbmcg
PSB3b3JkU3RyaW5nOwotCi0gICAgICAgIHZhciBtYXRjaGVzID0gLyguKj8pKC0/XGQrKD86XC5c
ZCspPykoLiopLy5leGVjKHdvcmRTdHJpbmcpOwotICAgICAgICBpZiAobWF0Y2hlcyAmJiBtYXRj
aGVzLmxlbmd0aCkgewotICAgICAgICAgICAgdmFyIHByZWZpeCA9IG1hdGNoZXNbMV07Ci0gICAg
ICAgICAgICB2YXIgbnVtYmVyID0gcGFyc2VGbG9hdChtYXRjaGVzWzJdKTsKLSAgICAgICAgICAg
IHZhciBzdWZmaXggPSBtYXRjaGVzWzNdOwotCi0gICAgICAgICAgICAvLyBJZiB0aGUgbnVtYmVy
IGlzIG5lYXIgemVybyBvciB0aGUgbnVtYmVyIGlzIG9uZSBhbmQgdGhlIGRpcmVjdGlvbiB3aWxs
IHRha2UgaXQgbmVhciB6ZXJvLgotICAgICAgICAgICAgdmFyIG51bWJlck5lYXJaZXJvID0gKG51
bWJlciA8IDEgJiYgbnVtYmVyID4gLTEpOwotICAgICAgICAgICAgaWYgKG51bWJlciA9PT0gMSAm
JiBldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIpCi0gICAgICAgICAgICAgICAgbnVtYmVy
TmVhclplcm8gPSB0cnVlOwotICAgICAgICAgICAgZWxzZSBpZiAobnVtYmVyID09PSAtMSAmJiBl
dmVudC5rZXlJZGVudGlmaWVyID09PSAiVXAiKQotICAgICAgICAgICAgICAgIG51bWJlck5lYXJa
ZXJvID0gdHJ1ZTsKLQotICAgICAgICAgICAgaWYgKG51bWJlck5lYXJaZXJvICYmIGV2ZW50LmFs
dEtleSAmJiBhcnJvd0tleVByZXNzZWQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5
SWRlbnRpZmllciA9PT0gIkRvd24iKQotICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRo
LmNlaWwobnVtYmVyIC0gMSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg
ICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlciArIDEpOwotICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAvLyBKdW1wIGJ5IDEwIHdoZW4gc2hpZnQgaXMgZG93biBvciBq
dW1wIGJ5IDAuMSB3aGVuIG5lYXIgemVybyBvciBBbHQvT3B0aW9uIGlzIGRvd24uCi0gICAgICAg
ICAgICAgICAgLy8gQWxzbyBqdW1wIGJ5IDEwIGZvciBwYWdlIHVwIGFuZCBkb3duLCBvciBieSAx
MDAgaWYgc2hpZnQgaXMgaGVsZCB3aXRoIGEgcGFnZSBrZXkuCi0gICAgICAgICAgICAgICAgdmFy
IGNoYW5nZUFtb3VudCA9IDE7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5ICYm
IHBhZ2VLZXlQcmVzc2VkKQotICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgPSAxMDA7
Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZlbnQuc2hpZnRLZXkgfHwgcGFnZUtleVByZXNz
ZWQpCi0gICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDEwOwotICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKGV2ZW50LmFsdEtleSB8fCBudW1iZXJOZWFyWmVybykKLSAgICAgICAgICAg
ICAgICAgICAgY2hhbmdlQW1vdW50ID0gMC4xOwotCi0gICAgICAgICAgICAgICAgaWYgKGV2ZW50
LmtleUlkZW50aWZpZXIgPT09ICJEb3duIiB8fCBldmVudC5rZXlJZGVudGlmaWVyID09PSAiUGFn
ZURvd24iKQotICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgKj0gLTE7Ci0KLSAgICAg
ICAgICAgICAgICAvLyBNYWtlIHRoZSBuZXcgbnVtYmVyIGFuZCBjb25zdHJhaW4gaXQgdG8gYSBw
cmVjaXNpb24gb2YgNiwgdGhpcyBtYXRjaGVzIG51bWJlcnMgdGhlIGVuZ2luZSByZXR1cm5zLgot
ICAgICAgICAgICAgICAgIC8vIFVzZSB0aGUgTnVtYmVyIGNvbnN0cnVjdG9yIHRvIGZvcmdldCB0
aGUgZml4ZWQgcHJlY2lzaW9uLCBzbyAxLjEwMDAwMCB3aWxsIHByaW50IGFzIDEuMS4KLSAgICAg
ICAgICAgICAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciArIGNoYW5nZUFtb3VudCkudG9GaXhl
ZCg2KSk7Ci0gICAgICAgICAgICB9CisgICAgICAgIHZhciBjdXJzb3JQb3NpdGlvbiA9IE1hdGgu
bWluKHNlbGVjdGlvbi5mb2N1c09mZnNldCwgc2VsZWN0aW9uLmFuY2hvck9mZnNldCk7CisgICAg
ICAgIHZhciBjdXJyZW50VmFsdWUgPSB0aGlzLnZhbHVlRWxlbWVudC50ZXh0Q29udGVudDsKKyAg
ICAgICAgdmFyIHdvcmRSYW5nZSA9IHRoaXMucmFuZ2VPZldvcmQoY3VycmVudFZhbHVlLCBjdXJz
b3JQb3NpdGlvbik7CisgICAgICAgIHZhciB3b3JkU3RyaW5nID0gY3VycmVudFZhbHVlLnN1YnN0
cmluZyh3b3JkUmFuZ2Uuc3RhcnRPZmZzZXQsIHdvcmRSYW5nZS5lbmRPZmZzZXQpOworICAgICAg
ICB2YXIgd29yZFN0cmluZ0xvd2VyID0gd29yZFN0cmluZy50b0xvd2VyQ2FzZSgpOworICAgICAg
ICB2YXIgcmVwbGFjZW1lbnRTdHJpbmcgPSBudWxsOworICAgICAgICB2YXIgc2VsZWN0aW9uU3Rh
cnQgPSB3b3JkUmFuZ2Uuc3RhcnRPZmZzZXQ7CisKKyAgICAgICAgLy8gQXZvaWQgZGV0ZWN0aW5n
IG51bWVyaWMgdmFsdWVzIGluIHdvcmRTdHJpbmdzIGxpa2UgInByZXNlcnZlLTNkIi4KKyAgICAg
ICAgaWYgKHRoaXMuY3NzVmFsdWVDb21wbGV0aW9ucy5maXJzdFN0YXJ0c1dpdGgod29yZFN0cmlu
Z0xvd2VyKSkgeworICAgICAgICAgICAgdmFyIHNob3dOZXh0ID0gKGV2ZW50LmtleUlkZW50aWZp
ZXIgPT09ICJEb3duIiB8fCBldmVudC5rZXlJZGVudGlmaWVyID09PSAiUGFnZURvd24iKTsKKyAg
ICAgICAgICAgIC8vIFRoZSBwcmVmaXggc2hvdWxkIGJlIGNvbnNpZGVyZWQgb25seSBpZiB0aGUg
c2VsZWN0aW9uIGlzIG5vdCBjb2xsYXBzZWQuIE90aGVyd2lzZSwgdGhlIHByZWZpeCBzaG91bGQg
YmUgZW1wdHkuCisgICAgICAgICAgICB2YXIgd29yZFByZWZpeCA9IHNlbGVjdGlvbi5mb2N1c09m
ZnNldCAhPT0gc2VsZWN0aW9uLmFuY2hvck9mZnNldCA/IHdvcmRTdHJpbmdMb3dlci5zdWJzdHJp
bmcoMCwgY3Vyc29yUG9zaXRpb24gLSBzZWxlY3Rpb25TdGFydCkgOiAiIjsKKworICAgICAgICAg
ICAgdmFyIHN1Z2dlc3RlZFdvcmQ7CisgICAgICAgICAgICBpZiAoc2hvd05leHQpCisgICAgICAg
ICAgICAgICAgc3VnZ2VzdGVkV29yZCA9IHRoaXMuY3NzVmFsdWVDb21wbGV0aW9ucy5uZXh0KHdv
cmRTdHJpbmdMb3dlciwgd29yZFByZWZpeCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgc3VnZ2VzdGVkV29yZCA9IHRoaXMuY3NzVmFsdWVDb21wbGV0aW9ucy5wcmV2aW91cyh3
b3JkU3RyaW5nTG93ZXIsIHdvcmRQcmVmaXgpOwogCi0gICAgICAgICAgICByZXBsYWNlbWVudFN0
cmluZyA9IHByZWZpeCArIG51bWJlciArIHN1ZmZpeDsKKyAgICAgICAgICAgIGlmIChzdWdnZXN0
ZWRXb3JkKSB7CisgICAgICAgICAgICAgICAgLy8gRml4IHNlbGVjdGlvbiB0byBiZSBvbmx5IHRo
ZSB3b3JkIHN1ZmZpeCwgYXMgdGhlIHByZWZpeCByZW1haW5zIGludGFjdCB3aGlsZSBzY3JvbGxp
bmcgdGhyb3VnaCB2YWx1ZXMuCisgICAgICAgICAgICAgICAgc2VsZWN0aW9uU3RhcnQgPSBzZWxl
Y3Rpb25TdGFydCArIHdvcmRQcmVmaXgubGVuZ3RoOworICAgICAgICAgICAgICAgIHJlcGxhY2Vt
ZW50U3RyaW5nID0gc3VnZ2VzdGVkV29yZC5zdWJzdHJpbmcod29yZFByZWZpeC5sZW5ndGgpOwor
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gRklYTUU6IHRo
aXMgc2hvdWxkIGN5Y2xlIHRocm91Z2gga25vd24ga2V5d29yZHMgZm9yIHRoZSBjdXJyZW50IHBy
b3BlcnR5IHZhbHVlLgotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIHJlcGxhY2VtZW50VGV4dE5v
ZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyZXBsYWNlbWVudFN0cmluZyk7CisgICAgICAg
ICAgICB2YXIgbWF0Y2hlcyA9IC8oLio/KSgtP1xkKyg/OlwuXGQrKT8pKC4qKS8uZXhlYyh3b3Jk
U3RyaW5nKTsKKyAgICAgICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoKSB7Cisg
ICAgICAgICAgICAgICAgdmFyIHByZWZpeCA9IG1hdGNoZXNbMV07CisgICAgICAgICAgICAgICAg
dmFyIG51bWJlciA9IHBhcnNlRmxvYXQobWF0Y2hlc1syXSk7CisgICAgICAgICAgICAgICAgdmFy
IHN1ZmZpeCA9IG1hdGNoZXNbM107CisKKyAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbnVtYmVy
IGlzIG5lYXIgemVybyBvciB0aGUgbnVtYmVyIGlzIG9uZSBhbmQgdGhlIGRpcmVjdGlvbiB3aWxs
IHRha2UgaXQgbmVhciB6ZXJvLgorICAgICAgICAgICAgICAgIHZhciBudW1iZXJOZWFyWmVybyA9
IChudW1iZXIgPCAxICYmIG51bWJlciA+IC0xKTsKKyAgICAgICAgICAgICAgICBpZiAobnVtYmVy
ID09PSAxICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3duIikKKyAgICAgICAgICAgICAg
ICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKG51
bWJlciA9PT0gLTEgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlVwIikKKyAgICAgICAgICAg
ICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOworCisgICAgICAgICAgICAgICAgaWYgKG51
bWJlck5lYXJaZXJvICYmIGV2ZW50LmFsdEtleSAmJiBhcnJvd0tleVByZXNzZWQpIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3duIikKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguY2VpbChudW1iZXIgLSAxKTsKKyAgICAg
ICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0
aC5mbG9vcihudW1iZXIgKyAxKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICAvLyBKdW1wIGJ5IDEwIHdoZW4gc2hpZnQgaXMgZG93biBvciBqdW1wIGJ5IDAu
MSB3aGVuIG5lYXIgemVybyBvciBBbHQvT3B0aW9uIGlzIGRvd24uCisgICAgICAgICAgICAgICAg
ICAgIC8vIEFsc28ganVtcCBieSAxMCBmb3IgcGFnZSB1cCBhbmQgZG93biwgb3IgYnkgMTAwIGlm
IHNoaWZ0IGlzIGhlbGQgd2l0aCBhIHBhZ2Uga2V5LgorICAgICAgICAgICAgICAgICAgICB2YXIg
Y2hhbmdlQW1vdW50ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5
ICYmIHBhZ2VLZXlQcmVzc2VkKQorICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlQW1vdW50
ID0gMTAwOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5zaGlmdEtleSB8fCBw
YWdlS2V5UHJlc3NlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDEw
OworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5hbHRLZXkgfHwgbnVtYmVyTmVh
clplcm8pCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgPSAwLjE7CisKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3duIiB8fCBl
dmVudC5rZXlJZGVudGlmaWVyID09PSAiUGFnZURvd24iKQorICAgICAgICAgICAgICAgICAgICAg
ICAgY2hhbmdlQW1vdW50ICo9IC0xOworCisgICAgICAgICAgICAgICAgICAgIC8vIE1ha2UgdGhl
IG5ldyBudW1iZXIgYW5kIGNvbnN0cmFpbiBpdCB0byBhIHByZWNpc2lvbiBvZiA2LCB0aGlzIG1h
dGNoZXMgbnVtYmVycyB0aGUgZW5naW5lIHJldHVybnMuCisgICAgICAgICAgICAgICAgICAgIC8v
IFVzZSB0aGUgTnVtYmVyIGNvbnN0cnVjdG9yIHRvIGZvcmdldCB0aGUgZml4ZWQgcHJlY2lzaW9u
LCBzbyAxLjEwMDAwMCB3aWxsIHByaW50IGFzIDEuMS4KKyAgICAgICAgICAgICAgICAgICAgbnVt
YmVyID0gTnVtYmVyKChudW1iZXIgKyBjaGFuZ2VBbW91bnQpLnRvRml4ZWQoNikpOworICAgICAg
ICAgICAgICAgIH0KIAotICAgICAgICB3b3JkUmFuZ2UuZGVsZXRlQ29udGVudHMoKTsKLSAgICAg
ICAgd29yZFJhbmdlLmluc2VydE5vZGUocmVwbGFjZW1lbnRUZXh0Tm9kZSk7CisgICAgICAgICAg
ICAgICAgcmVwbGFjZW1lbnRTdHJpbmcgPSBwcmVmaXggKyBudW1iZXIgKyBzdWZmaXg7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KIAotICAgICAgICB2YXIgZmluYWxTZWxlY3Rpb25SYW5nZSA9
IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Ci0gICAgICAgIGZpbmFsU2VsZWN0aW9uUmFuZ2Uuc2V0
U3RhcnQocmVwbGFjZW1lbnRUZXh0Tm9kZSwgMCk7Ci0gICAgICAgIGZpbmFsU2VsZWN0aW9uUmFu
Z2Uuc2V0RW5kKHJlcGxhY2VtZW50VGV4dE5vZGUsIHJlcGxhY2VtZW50U3RyaW5nLmxlbmd0aCk7
CisgICAgICAgIGlmICghcmVwbGFjZW1lbnRTdHJpbmcpCisgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOwotICAgICAgICBzZWxlY3Rpb24u
YWRkUmFuZ2UoZmluYWxTZWxlY3Rpb25SYW5nZSk7CisgICAgICAgIHZhciB2YWx1ZVN0YXJ0ID0g
Y3VycmVudFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCk7CisgICAgICAgIHZhciB2
YWx1ZUVuZCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcod29yZFJhbmdlLmVuZE9mZnNldCk7Cisg
ICAgICAgIHZhciBuZXdWYWx1ZSA9IHZhbHVlU3RhcnQgKyByZXBsYWNlbWVudFN0cmluZyArIHZh
bHVlRW5kOworICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9IG5ld1ZhbHVl
OworICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC5maXJzdENoaWxkLnNlbGVjdChzZWxlY3Rpb25T
dGFydCwgc2VsZWN0aW9uU3RhcnQgKyByZXBsYWNlbWVudFN0cmluZy5sZW5ndGgpOwogCiAgICAg
ICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAKQEAgLTE3NDIsNiArMTgwNiw3IEBAIFdlYklu
c3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgZWRpdGVkRWxlbWVudC5wYXJlbnRFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImNoaWxkLWVk
aXRpbmciKTsKIAogICAgICAgICBkZWxldGUgdGhpcy5vcmlnaW5hbFByb3BlcnR5VGV4dDsKKyAg
ICAgICAgZGVsZXRlIHRoaXMuX2Nzc1ZhbHVlQ29tcGxldGlvbnM7CiAgICAgfSwKIAogICAgIGVk
aXRpbmdDYW5jZWxsZWQ6IGZ1bmN0aW9uKGVsZW1lbnQsIGNvbnRleHQpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggOWVkNTAxOS4uYWJjMjg1ZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtOTEsNiArOTEs
NyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkV2
ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvbG9yLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDU1NDb21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ1NTS2V5d29yZENvbXBsZXRp
b25zLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJTdHlsZXNTaWRlYmFyUGFuZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iUGFuZWxFbmFibGVyVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iV2VsY29tZVZpZXcuanMiPjwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggZjBlNTc4NC4uZjRlMmYzYSAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTAtMTItMjQgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBhdXRvY29tcGxldGlvbiBmb3IgQ1NTIHByb3BlcnR5IHZhbHVlcyBpbiBT
dHlsZXMgcGFuZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDE0MTQKKworICAgICAgICAqIFdlYktpdC5neXA6IHNldCB1cCBidWlsZC10aW1lIGdlbmVy
YXRpb24gb2YgQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzCisKIDIwMTAtMTItMjMgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHI3NDU2MS4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwIGIvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKaW5kZXggNWFkNDhjZC4uNTk3MDdiZSAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAKQEAgLTY5OSw2ICs2OTksNyBAQAogICAgICAgICAgICAgJ2RlcGVuZGVu
Y2llcyc6IFsKICAgICAgICAgICAgICAgICAnZGV2dG9vbHNfaHRtbCcsCiAgICAgICAgICAgICAg
ICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6aW5zcGVjdG9yX3Byb3Rv
Y29sX3NvdXJjZXMnLAorICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwOndlYmNvcmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAgICAgICBdLAog
ICAgICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCiAgICAgICAgICAgICAgICAgWydkZWJ1Z19kZXZ0
b29scz09MCcsIHsKQEAgLTcxMyw2ICs3MTQsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAg
JzxAKGRldnRvb2xzX2ZpbGVzKScsCiAgICAgICAgICAgICAgICAgICAgICAgICAnPEAod2ViaW5z
cGVjdG9yX2ZpbGVzKScsCiAgICAgICAgICAgICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJN
RURJQVRFX0RJUikvd2ViY29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcycsCisgICAgICAgICAg
ICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L0NTU0tleXdv
cmRDb21wbGV0aW9ucy5qcycsCiAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAg
ICAgICAgICdjb25kaXRpb25zJzogWwogICAgICAgICAgICAgICAgICAgICAgICAgWydkZWJ1Z19k
ZXZ0b29scz09MCcsIHsKQEAgLTc1MCw3ICs3NTIsOCBAQAogICAgICAgICAgICAgJ3R5cGUnOiAn
bm9uZScsCiAgICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAgICAgICAgICdk
ZXZ0b29sc19odG1sJywKLSAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9XZWJDb3JlLmd5
cC9XZWJDb3JlLmd5cDppbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycKKyAgICAgICAgICAgICAg
ICAnLi4vLi4vV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDppbnNwZWN0b3JfcHJvdG9j
b2xfc291cmNlcycsCisgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAv
V2ViQ29yZS5neXA6d2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywKICAgICAgICAgICAgIF0sCiAg
ICAgICAgICAgICAnc291cmNlcyc6IFsnPChQUk9EVUNUX0RJUikvcmVzb3VyY2VzL2luc3BlY3Rv
ci9EZXZUb29scy5qcyddLAogICAgICAgICAgICAgJ2FjdGlvbnMnOiBbewpAQCAtNzYyLDEyICs3
NjUsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgJzxAKF9pbnB1dF9wYWdlKScsCiAgICAgICAg
ICAgICAgICAgICAgICc8QCh3ZWJpbnNwZWN0b3JfZmlsZXMpJywKICAgICAgICAgICAgICAgICAg
ICAgJzxAKGRldnRvb2xzX2ZpbGVzKScsCi0gICAgICAgICAgICAgICAgICAgICc8KFNIQVJFRF9J
TlRFUk1FRElBVEVfRElSKS93ZWJjb3JlL0luc3BlY3RvckJhY2tlbmRTdHViLmpzJworICAgICAg
ICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2ViY29yZS9JbnNwZWN0
b3JCYWNrZW5kU3R1Yi5qcycsCisgICAgICAgICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1F
RElBVEVfRElSKS93ZWJraXQvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzJywKICAgICAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgICAgICdzZWFyY2hfcGF0aCc6IFsKICAgICAgICAgICAgICAg
ICAgICAgJy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZCcsCiAgICAgICAgICAgICAg
ICAgICAgICdzcmMvanMnLAogICAgICAgICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJ
QVRFX0RJUikvd2ViY29yZScsCisgICAgICAgICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1F
RElBVEVfRElSKS93ZWJraXQnCiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAn
b3V0cHV0cyc6IFsnPChQUk9EVUNUX0RJUikvcmVzb3VyY2VzL2luc3BlY3Rvci9EZXZUb29scy5q
cyddLAogICAgICAgICAgICAgICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsICc8QChfc2NyaXB0X25h
bWUpJywgJzxAKF9pbnB1dF9wYWdlKScsICc8QChfc2VhcmNoX3BhdGgpJywgJzxAKF9vdXRwdXRz
KSddLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>77412</attachid>
            <date>2010-12-24 06:25:57 -0800</date>
            <delta_ts>2010-12-24 06:25:57 -0800</delta_ts>
            <desc>[FILE] Generated CSSKeywordCompletions.js (with patch 77411)</desc>
            <filename>CSSKeywordCompletions.js</filename>
            <type>application/x-javascript</type>
            <size>22637</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">LyoKICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAqCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiAqIG1ldDoKICoKICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgogKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCiAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogKiBkaXN0cmlidXRp
b24uCiAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KICoKICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAog
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCiAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQogKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogKgogKiBUSElTIEZJTEUgSVMgR0VORVJBVEVEIEJZIFdlYkNv
cmUvY3NzL21ha2V2YWx1ZXMucGwuIERPIE5PVCBNT0RJRlkhCiAqLwoKV2ViSW5zcGVjdG9yLkNT
U0tleXdvcmRDb21wbGV0aW9ucyA9IHsKICAgIGZvclByb3BlcnR5OiBmdW5jdGlvbihwcm9wZXJ0
eU5hbWUpCiAgICB7CiAgICAgICAgdmFyIGFjY2VwdGVkS2V5d29yZHMgPSBbImluaXRpYWwiXTsK
ICAgICAgICBpZiAocHJvcGVydHlOYW1lIGluIHRoaXMuX3Byb3BlcnR5S2V5d29yZE1hcCkKICAg
ICAgICAgICAgYWNjZXB0ZWRLZXl3b3JkcyA9IGFjY2VwdGVkS2V5d29yZHMuY29uY2F0KHRoaXMu
X3Byb3BlcnR5S2V5d29yZE1hcFtwcm9wZXJ0eU5hbWVdKTsKICAgICAgICBpZiAocHJvcGVydHlO
YW1lIGluIHRoaXMuX2NvbG9yQXdhcmVQcm9wZXJ0aWVzKQogICAgICAgICAgICBhY2NlcHRlZEtl
eXdvcmRzID0gYWNjZXB0ZWRLZXl3b3Jkcy5jb25jYXQodGhpcy5fcHJvcGVydHlLZXl3b3JkTWFw
WyJfY29sb3JfIl0pOwogICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gV2ViSW5zcGVjdG9yLlN0
eWxlc1NpZGViYXJQYW5lLkluaGVyaXRlZFByb3BlcnRpZXMpCiAgICAgICAgICAgIGFjY2VwdGVk
S2V5d29yZHMucHVzaCgiaW5oZXJpdCIpOwogICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9y
LkNTU0NvbXBsZXRpb25zKGFjY2VwdGVkS2V5d29yZHMpOwogICAgfQp9OwoKV2ViSW5zcGVjdG9y
LkNTU0tleXdvcmRDb21wbGV0aW9ucy5fY29sb3JBd2FyZVByb3BlcnRpZXMgPSBbCiAgICAiYmFj
a2dyb3VuZCIsCiAgICAiYmFja2dyb3VuZC1jb2xvciIsCiAgICAiYm9yZGVyIiwKICAgICJib3Jk
ZXItY29sb3IiLAogICAgImJvcmRlci10b3AiLAogICAgImJvcmRlci1yaWdodCIsCiAgICAiYm9y
ZGVyLWJvdHRvbSIsCiAgICAiYm9yZGVyLWxlZnQiLAogICAgImJvcmRlci10b3AtY29sb3IiLAog
ICAgImJvcmRlci1yaWdodC1jb2xvciIsCiAgICAiYm9yZGVyLWJvdHRvbS1jb2xvciIsCiAgICAi
Ym9yZGVyLWxlZnQtY29sb3IiLAogICAgImNvbG9yIiwKICAgICJvdXRsaW5lIiwKICAgICJvdXRs
aW5lLWNvbG9yIiwKICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCIsCiAgICAidGV4dC1saW5lLXRocm91
Z2gtY29sb3IiLAogICAgInRleHQtb3ZlcmxpbmUiLAogICAgInRleHQtb3ZlcmxpbmUtY29sb3Ii
LAogICAgInRleHQtc2hhZG93IiwKICAgICJ0ZXh0LXVuZGVybGluZSIsCiAgICAidGV4dC11bmRl
cmxpbmUtY29sb3IiLAogICAgIi13ZWJraXQtdGV4dC1lbXBoYXNpcyIsCiAgICAiLXdlYmtpdC10
ZXh0LWVtcGhhc2lzLWNvbG9yIgpdLmtleVNldCgpOwoKV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRD
b21wbGV0aW9ucy5fcHJvcGVydHlLZXl3b3JkTWFwID0gewogICAgInRhYmxlLWxheW91dCI6IFsK
ICAgICAgICAiYXV0byIsCiAgICAgICAgImZpeGVkIgogICAgXSwKICAgICJ2aXNpYmlsaXR5Ijog
WwogICAgICAgICJoaWRkZW4iLAogICAgICAgICJ2aXNpYmxlIiwKICAgICAgICAiY29sbGFwc2Ui
CiAgICBdLAogICAgImJhY2tncm91bmQtcmVwZWF0IjogWwogICAgICAgICJyZXBlYXQiLAogICAg
ICAgICJyZXBlYXQteCIsCiAgICAgICAgInJlcGVhdC15IiwKICAgICAgICAibm8tcmVwZWF0IiwK
ICAgICAgICAic3BhY2UiLAogICAgICAgICJyb3VuZCIKICAgIF0sCiAgICAidGV4dC11bmRlcmxp
bmUiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJkb3R0ZWQiLAogICAgICAgICJkYXNoZWQi
LAogICAgICAgICJzb2xpZCIsCiAgICAgICAgImRvdWJsZSIsCiAgICAgICAgImRvdC1kYXNoIiwK
ICAgICAgICAiZG90LWRvdC1kYXNoIiwKICAgICAgICAid2F2ZSIKICAgIF0sCiAgICAiY29udGVu
dCI6IFsKICAgICAgICAibGlzdC1pdGVtIiwKICAgICAgICAiY2xvc2UtcXVvdGUiLAogICAgICAg
ICJuby1jbG9zZS1xdW90ZSIsCiAgICAgICAgIm5vLW9wZW4tcXVvdGUiLAogICAgICAgICJvcGVu
LXF1b3RlIgogICAgXSwKICAgICJsaXN0LXN0eWxlLWltYWdlIjogWwogICAgICAgICJub25lIgog
ICAgXSwKICAgICJjbGVhciI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImxlZnQiLAogICAg
ICAgICJyaWdodCIsCiAgICAgICAgImJvdGgiCiAgICBdLAogICAgInRleHQtdW5kZXJsaW5lLW1v
ZGUiOiBbCiAgICAgICAgImNvbnRpbnVvdXMiLAogICAgICAgICJza2lwLXdoaXRlLXNwYWNlIgog
ICAgXSwKICAgICJvdmVyZmxvdy14IjogWwogICAgICAgICJoaWRkZW4iLAogICAgICAgICJhdXRv
IiwKICAgICAgICAidmlzaWJsZSIsCiAgICAgICAgIm92ZXJsYXkiLAogICAgICAgICJzY3JvbGwi
CiAgICBdLAogICAgInN0cm9rZS1saW5lam9pbiI6IFsKICAgICAgICAicm91bmQiLAogICAgICAg
ICJtaXRlciIsCiAgICAgICAgImJldmVsIgogICAgXSwKICAgICJiYXNlbGluZS1zaGlmdCI6IFsK
ICAgICAgICAiYmFzZWxpbmUiLAogICAgICAgICJzdWIiLAogICAgICAgICJzdXBlciIKICAgIF0s
CiAgICAiYm9yZGVyLWJvdHRvbS13aWR0aCI6IFsKICAgICAgICAibWVkaXVtIiwKICAgICAgICAi
dGhpY2siLAogICAgICAgICJ0aGluIgogICAgXSwKICAgICJtYXJxdWVlLXNwZWVkIjogWwogICAg
ICAgICJub3JtYWwiLAogICAgICAgICJzbG93IiwKICAgICAgICAiZmFzdCIKICAgIF0sCiAgICAi
bWFyZ2luLXRvcC1jb2xsYXBzZSI6IFsKICAgICAgICAiY29sbGFwc2UiLAogICAgICAgICJzZXBh
cmF0ZSIsCiAgICAgICAgImRpc2NhcmQiCiAgICBdLAogICAgIm1heC1oZWlnaHQiOiBbCiAgICAg
ICAgIm5vbmUiCiAgICBdLAogICAgImJveC1vcmllbnQiOiBbCiAgICAgICAgImhvcml6b250YWwi
LAogICAgICAgICJ2ZXJ0aWNhbCIsCiAgICAgICAgImlubGluZS1heGlzIiwKICAgICAgICAiYmxv
Y2stYXhpcyIKICAgIF0sCiAgICAiZm9udC1zdHJldGNoIjogWwogICAgICAgICJub3JtYWwiLAog
ICAgICAgICJ3aWRlciIsCiAgICAgICAgIm5hcnJvd2VyIiwKICAgICAgICAidWx0cmEtY29uZGVu
c2VkIiwKICAgICAgICAiZXh0cmEtY29uZGVuc2VkIiwKICAgICAgICAiY29uZGVuc2VkIiwKICAg
ICAgICAic2VtaS1jb25kZW5zZWQiLAogICAgICAgICJzZW1pLWV4cGFuZGVkIiwKICAgICAgICAi
ZXhwYW5kZWQiLAogICAgICAgICJleHRyYS1leHBhbmRlZCIsCiAgICAgICAgInVsdHJhLWV4cGFu
ZGVkIgogICAgXSwKICAgICItd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24iOiBbCiAgICAgICAgImRl
ZmF1bHQiLAogICAgICAgICJzcmdiIgogICAgXSwKICAgICJ0ZXh0LXVuZGVybGluZS1zdHlsZSI6
IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImRvdHRlZCIsCiAgICAgICAgImRhc2hlZCIsCiAg
ICAgICAgInNvbGlkIiwKICAgICAgICAiZG91YmxlIiwKICAgICAgICAiZG90LWRhc2giLAogICAg
ICAgICJkb3QtZG90LWRhc2giLAogICAgICAgICJ3YXZlIgogICAgXSwKICAgICJ0ZXh0LW92ZXJs
aW5lLW1vZGUiOiBbCiAgICAgICAgImNvbnRpbnVvdXMiLAogICAgICAgICJza2lwLXdoaXRlLXNw
YWNlIgogICAgXSwKICAgICItd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlIjogWwogICAgICAg
ICJoaWdobGlnaHQiLAogICAgICAgICJjbGVhciIsCiAgICAgICAgImNvcHkiLAogICAgICAgICJz
b3VyY2Utb3ZlciIsCiAgICAgICAgInNvdXJjZS1pbiIsCiAgICAgICAgInNvdXJjZS1vdXQiLAog
ICAgICAgICJzb3VyY2UtYXRvcCIsCiAgICAgICAgImRlc3RpbmF0aW9uLW92ZXIiLAogICAgICAg
ICJkZXN0aW5hdGlvbi1pbiIsCiAgICAgICAgImRlc3RpbmF0aW9uLW91dCIsCiAgICAgICAgImRl
c3RpbmF0aW9uLWF0b3AiLAogICAgICAgICJ4b3IiLAogICAgICAgICJwbHVzLWRhcmtlciIsCiAg
ICAgICAgInBsdXMtbGlnaHRlciIKICAgIF0sCiAgICAiYm9yZGVyLWxlZnQtd2lkdGgiOiBbCiAg
ICAgICAgIm1lZGl1bSIsCiAgICAgICAgInRoaWNrIiwKICAgICAgICAidGhpbiIKICAgIF0sCiAg
ICAiLXdlYmtpdC13cml0aW5nLW1vZGUiOiBbCiAgICAgICAgImxyIiwKICAgICAgICAicmwiLAog
ICAgICAgICJ0YiIsCiAgICAgICAgImxyLXRiIiwKICAgICAgICAicmwtdGIiLAogICAgICAgICJ0
Yi1ybCIsCiAgICAgICAgImhvcml6b250YWwtdGIiLAogICAgICAgICJ2ZXJ0aWNhbC1ybCIsCiAg
ICAgICAgInZlcnRpY2FsLWxyIiwKICAgICAgICAiaG9yaXpvbnRhbC1idCIKICAgIF0sCiAgICAi
dGV4dC1saW5lLXRocm91Z2gtbW9kZSI6IFsKICAgICAgICAiY29udGludW91cyIsCiAgICAgICAg
InNraXAtd2hpdGUtc3BhY2UiCiAgICBdLAogICAgImJvcmRlci1jb2xsYXBzZSI6IFsKICAgICAg
ICAiY29sbGFwc2UiLAogICAgICAgICJzZXBhcmF0ZSIKICAgIF0sCiAgICAicGFnZS1icmVhay1p
bnNpZGUiOiBbCiAgICAgICAgImF1dG8iLAogICAgICAgICJhdm9pZCIKICAgIF0sCiAgICAiYm9y
ZGVyLXRvcC13aWR0aCI6IFsKICAgICAgICAibWVkaXVtIiwKICAgICAgICAidGhpY2siLAogICAg
ICAgICJ0aGluIgogICAgXSwKICAgICJvdXRsaW5lLWNvbG9yIjogWwogICAgICAgICJpbnZlcnQi
CiAgICBdLAogICAgInRleHQtbGluZS10aHJvdWdoLXN0eWxlIjogWwogICAgICAgICJub25lIiwK
ICAgICAgICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAg
ICAgICJkb3VibGUiLAogICAgICAgICJkb3QtZGFzaCIsCiAgICAgICAgImRvdC1kb3QtZGFzaCIs
CiAgICAgICAgIndhdmUiCiAgICBdLAogICAgIm91dGxpbmUtc3R5bGUiOiBbCiAgICAgICAgIm5v
bmUiLAogICAgICAgICJoaWRkZW4iLAogICAgICAgICJpbnNldCIsCiAgICAgICAgImdyb292ZSIs
CiAgICAgICAgInJpZGdlIiwKICAgICAgICAib3V0c2V0IiwKICAgICAgICAiZG90dGVkIiwKICAg
ICAgICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAgICAgICJkb3VibGUiCiAgICBdLAog
ICAgImN1cnNvciI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImNvcHkiLAogICAgICAgICJh
dXRvIiwKICAgICAgICAiY3Jvc3NoYWlyIiwKICAgICAgICAiZGVmYXVsdCIsCiAgICAgICAgInBv
aW50ZXIiLAogICAgICAgICJtb3ZlIiwKICAgICAgICAidmVydGljYWwtdGV4dCIsCiAgICAgICAg
ImNlbGwiLAogICAgICAgICJjb250ZXh0LW1lbnUiLAogICAgICAgICJhbGlhcyIsCiAgICAgICAg
InByb2dyZXNzIiwKICAgICAgICAibm8tZHJvcCIsCiAgICAgICAgIm5vdC1hbGxvd2VkIiwKICAg
ICAgICAiLXdlYmtpdC16b29tLWluIiwKICAgICAgICAiLXdlYmtpdC16b29tLW91dCIsCiAgICAg
ICAgImUtcmVzaXplIiwKICAgICAgICAibmUtcmVzaXplIiwKICAgICAgICAibnctcmVzaXplIiwK
ICAgICAgICAibi1yZXNpemUiLAogICAgICAgICJzZS1yZXNpemUiLAogICAgICAgICJzdy1yZXNp
emUiLAogICAgICAgICJzLXJlc2l6ZSIsCiAgICAgICAgInctcmVzaXplIiwKICAgICAgICAiZXct
cmVzaXplIiwKICAgICAgICAibnMtcmVzaXplIiwKICAgICAgICAibmVzdy1yZXNpemUiLAogICAg
ICAgICJud3NlLXJlc2l6ZSIsCiAgICAgICAgImNvbC1yZXNpemUiLAogICAgICAgICJyb3ctcmVz
aXplIiwKICAgICAgICAidGV4dCIsCiAgICAgICAgIndhaXQiLAogICAgICAgICJoZWxwIiwKICAg
ICAgICAiYWxsLXNjcm9sbCIsCiAgICAgICAgIi13ZWJraXQtZ3JhYiIsCiAgICAgICAgIi13ZWJr
aXQtZ3JhYmJpbmciCiAgICBdLAogICAgImJvcmRlci13aWR0aCI6IFsKICAgICAgICAibWVkaXVt
IiwKICAgICAgICAidGhpY2siLAogICAgICAgICJ0aGluIgogICAgXSwKICAgICJzaXplIjogWwog
ICAgICAgICJhMyIsCiAgICAgICAgImE0IiwKICAgICAgICAiYTUiLAogICAgICAgICJiNCIsCiAg
ICAgICAgImI1IiwKICAgICAgICAibGFuZHNjYXBlIiwKICAgICAgICAibGVkZ2VyIiwKICAgICAg
ICAibGVnYWwiLAogICAgICAgICJsZXR0ZXIiLAogICAgICAgICJwb3J0cmFpdCIKICAgIF0sCiAg
ICAiYmFja2dyb3VuZC1zaXplIjogWwogICAgICAgICJjb250YWluIiwKICAgICAgICAiY292ZXIi
CiAgICBdLAogICAgImRpcmVjdGlvbiI6IFsKICAgICAgICAibHRyIiwKICAgICAgICAicnRsIgog
ICAgXSwKICAgICJtYXJxdWVlLWRpcmVjdGlvbiI6IFsKICAgICAgICAibGVmdCIsCiAgICAgICAg
InJpZ2h0IiwKICAgICAgICAiYXV0byIsCiAgICAgICAgInJldmVyc2UiLAogICAgICAgICJmb3J3
YXJkcyIsCiAgICAgICAgImJhY2t3YXJkcyIsCiAgICAgICAgImFoZWFkIiwKICAgICAgICAidXAi
LAogICAgICAgICJkb3duIgogICAgXSwKICAgICJlbmFibGUtYmFja2dyb3VuZCI6IFsKICAgICAg
ICAiYWNjdW11bGF0ZSIsCiAgICAgICAgIm5ldyIKICAgIF0sCiAgICAiZmxvYXQiOiBbCiAgICAg
ICAgIm5vbmUiLAogICAgICAgICJsZWZ0IiwKICAgICAgICAicmlnaHQiCiAgICBdLAogICAgIm92
ZXJmbG93LXkiOiBbCiAgICAgICAgImhpZGRlbiIsCiAgICAgICAgImF1dG8iLAogICAgICAgICJ2
aXNpYmxlIiwKICAgICAgICAib3ZlcmxheSIsCiAgICAgICAgInNjcm9sbCIKICAgIF0sCiAgICAi
bWFyZ2luLWJvdHRvbS1jb2xsYXBzZSI6IFsKICAgICAgICAiY29sbGFwc2UiLAogICAgICAgICJz
ZXBhcmF0ZSIsCiAgICAgICAgImRpc2NhcmQiCiAgICBdLAogICAgImJveC1yZWZsZWN0IjogWwog
ICAgICAgICJsZWZ0IiwKICAgICAgICAicmlnaHQiLAogICAgICAgICJhYm92ZSIsCiAgICAgICAg
ImJlbG93IgogICAgXSwKICAgICJvdmVyZmxvdyI6IFsKICAgICAgICAiaGlkZGVuIiwKICAgICAg
ICAiYXV0byIsCiAgICAgICAgInZpc2libGUiLAogICAgICAgICJvdmVybGF5IiwKICAgICAgICAi
c2Nyb2xsIgogICAgXSwKICAgICJ0ZXh0LXJlbmRlcmluZyI6IFsKICAgICAgICAiYXV0byIsCiAg
ICAgICAgIm9wdGltaXplc3BlZWQiLAogICAgICAgICJvcHRpbWl6ZWxlZ2liaWxpdHkiLAogICAg
ICAgICJnZW9tZXRyaWNwcmVjaXNpb24iCiAgICBdLAogICAgInRleHQtYWxpZ24iOiBbCiAgICAg
ICAgIi13ZWJraXQtYXV0byIsCiAgICAgICAgImxlZnQiLAogICAgICAgICJyaWdodCIsCiAgICAg
ICAgImNlbnRlciIsCiAgICAgICAgImp1c3RpZnkiLAogICAgICAgICItd2Via2l0LWxlZnQiLAog
ICAgICAgICItd2Via2l0LXJpZ2h0IiwKICAgICAgICAiLXdlYmtpdC1jZW50ZXIiCiAgICBdLAog
ICAgImxpc3Qtc3R5bGUtcG9zaXRpb24iOiBbCiAgICAgICAgIm91dHNpZGUiLAogICAgICAgICJp
bnNpZGUiCiAgICBdLAogICAgIm1hcmdpbi1ib3R0b20iOiBbCiAgICAgICAgImF1dG8iCiAgICBd
LAogICAgImNvbG9yLWludGVycG9sYXRpb24iOiBbCiAgICAgICAgImxpbmVhcnJnYiIKICAgIF0s
CiAgICAiYmFja2dyb3VuZC1vcmlnaW4iOiBbCiAgICAgICAgImJvcmRlci1ib3giLAogICAgICAg
ICJjb250ZW50LWJveCIsCiAgICAgICAgInBhZGRpbmctYm94IgogICAgXSwKICAgICJ3b3JkLXdy
YXAiOiBbCiAgICAgICAgIm5vcm1hbCIsCiAgICAgICAgImJyZWFrLXdvcmQiCiAgICBdLAogICAg
ImZvbnQtd2VpZ2h0IjogWwogICAgICAgICJub3JtYWwiLAogICAgICAgICJib2xkIiwKICAgICAg
ICAiYm9sZGVyIiwKICAgICAgICAibGlnaHRlciIsCiAgICAgICAgIjEwMCIsCiAgICAgICAgIjIw
MCIsCiAgICAgICAgIjMwMCIsCiAgICAgICAgIjQwMCIsCiAgICAgICAgIjUwMCIsCiAgICAgICAg
IjYwMCIsCiAgICAgICAgIjcwMCIsCiAgICAgICAgIjgwMCIsCiAgICAgICAgIjkwMCIKICAgIF0s
CiAgICAibWFyZ2luLWJlZm9yZS1jb2xsYXBzZSI6IFsKICAgICAgICAiY29sbGFwc2UiLAogICAg
ICAgICJzZXBhcmF0ZSIsCiAgICAgICAgImRpc2NhcmQiCiAgICBdLAogICAgIl9jb2xvcl8iOiBb
CiAgICAgICAgImFxdWEiLAogICAgICAgICJibGFjayIsCiAgICAgICAgImJsdWUiLAogICAgICAg
ICJmdWNoc2lhIiwKICAgICAgICAiZ3JheSIsCiAgICAgICAgImdyZWVuIiwKICAgICAgICAibGlt
ZSIsCiAgICAgICAgIm1hcm9vbiIsCiAgICAgICAgIm5hdnkiLAogICAgICAgICJvbGl2ZSIsCiAg
ICAgICAgIm9yYW5nZSIsCiAgICAgICAgInB1cnBsZSIsCiAgICAgICAgInJlZCIsCiAgICAgICAg
InNpbHZlciIsCiAgICAgICAgInRlYWwiLAogICAgICAgICJ3aGl0ZSIsCiAgICAgICAgInllbGxv
dyIsCiAgICAgICAgInRyYW5zcGFyZW50IiwKICAgICAgICAiY3VycmVudGNvbG9yIiwKICAgICAg
ICAiZ3JleSIsCiAgICAgICAgImFsaWNlYmx1ZSIsCiAgICAgICAgImFudGlxdWV3aGl0ZSIsCiAg
ICAgICAgImFxdWFtYXJpbmUiLAogICAgICAgICJhenVyZSIsCiAgICAgICAgImJlaWdlIiwKICAg
ICAgICAiYmlzcXVlIiwKICAgICAgICAiYmxhbmNoZWRhbG1vbmQiLAogICAgICAgICJibHVldmlv
bGV0IiwKICAgICAgICAiYnJvd24iLAogICAgICAgICJidXJseXdvb2QiLAogICAgICAgICJjYWRl
dGJsdWUiLAogICAgICAgICJjaGFydHJldXNlIiwKICAgICAgICAiY2hvY29sYXRlIiwKICAgICAg
ICAiY29yYWwiLAogICAgICAgICJjb3JuZmxvd2VyYmx1ZSIsCiAgICAgICAgImNvcm5zaWxrIiwK
ICAgICAgICAiY3JpbXNvbiIsCiAgICAgICAgImN5YW4iLAogICAgICAgICJkYXJrYmx1ZSIsCiAg
ICAgICAgImRhcmtjeWFuIiwKICAgICAgICAiZGFya2dvbGRlbnJvZCIsCiAgICAgICAgImRhcmtn
cmF5IiwKICAgICAgICAiZGFya2dyZWVuIiwKICAgICAgICAiZGFya2dyZXkiLAogICAgICAgICJk
YXJra2hha2kiLAogICAgICAgICJkYXJrbWFnZW50YSIsCiAgICAgICAgImRhcmtvbGl2ZWdyZWVu
IiwKICAgICAgICAiZGFya29yYW5nZSIsCiAgICAgICAgImRhcmtvcmNoaWQiLAogICAgICAgICJk
YXJrcmVkIiwKICAgICAgICAiZGFya3NhbG1vbiIsCiAgICAgICAgImRhcmtzZWFncmVlbiIsCiAg
ICAgICAgImRhcmtzbGF0ZWJsdWUiLAogICAgICAgICJkYXJrc2xhdGVncmF5IiwKICAgICAgICAi
ZGFya3NsYXRlZ3JleSIsCiAgICAgICAgImRhcmt0dXJxdW9pc2UiLAogICAgICAgICJkYXJrdmlv
bGV0IiwKICAgICAgICAiZGVlcHBpbmsiLAogICAgICAgICJkZWVwc2t5Ymx1ZSIsCiAgICAgICAg
ImRpbWdyYXkiLAogICAgICAgICJkaW1ncmV5IiwKICAgICAgICAiZG9kZ2VyYmx1ZSIsCiAgICAg
ICAgImZpcmVicmljayIsCiAgICAgICAgImZsb3JhbHdoaXRlIiwKICAgICAgICAiZm9yZXN0Z3Jl
ZW4iLAogICAgICAgICJnYWluc2Jvcm8iLAogICAgICAgICJnaG9zdHdoaXRlIiwKICAgICAgICAi
Z29sZCIsCiAgICAgICAgImdvbGRlbnJvZCIsCiAgICAgICAgImdyZWVueWVsbG93IiwKICAgICAg
ICAiaG9uZXlkZXciLAogICAgICAgICJob3RwaW5rIiwKICAgICAgICAiaW5kaWFucmVkIiwKICAg
ICAgICAiaW5kaWdvIiwKICAgICAgICAiaXZvcnkiLAogICAgICAgICJraGFraSIsCiAgICAgICAg
ImxhdmVuZGVyIiwKICAgICAgICAibGF2ZW5kZXJibHVzaCIsCiAgICAgICAgImxhd25ncmVlbiIs
CiAgICAgICAgImxlbW9uY2hpZmZvbiIsCiAgICAgICAgImxpZ2h0Ymx1ZSIsCiAgICAgICAgImxp
Z2h0Y29yYWwiLAogICAgICAgICJsaWdodGN5YW4iLAogICAgICAgICJsaWdodGdvbGRlbnJvZHll
bGxvdyIsCiAgICAgICAgImxpZ2h0Z3JheSIsCiAgICAgICAgImxpZ2h0Z3JlZW4iLAogICAgICAg
ICJsaWdodGdyZXkiLAogICAgICAgICJsaWdodHBpbmsiLAogICAgICAgICJsaWdodHNhbG1vbiIs
CiAgICAgICAgImxpZ2h0c2VhZ3JlZW4iLAogICAgICAgICJsaWdodHNreWJsdWUiLAogICAgICAg
ICJsaWdodHNsYXRlZ3JheSIsCiAgICAgICAgImxpZ2h0c2xhdGVncmV5IiwKICAgICAgICAibGln
aHRzdGVlbGJsdWUiLAogICAgICAgICJsaWdodHllbGxvdyIsCiAgICAgICAgImxpbWVncmVlbiIs
CiAgICAgICAgImxpbmVuIiwKICAgICAgICAibWFnZW50YSIsCiAgICAgICAgIm1lZGl1bWFxdWFt
YXJpbmUiLAogICAgICAgICJtZWRpdW1ibHVlIiwKICAgICAgICAibWVkaXVtb3JjaGlkIiwKICAg
ICAgICAibWVkaXVtcHVycGxlIiwKICAgICAgICAibWVkaXVtc2VhZ3JlZW4iLAogICAgICAgICJt
ZWRpdW1zbGF0ZWJsdWUiLAogICAgICAgICJtZWRpdW1zcHJpbmdncmVlbiIsCiAgICAgICAgIm1l
ZGl1bXR1cnF1b2lzZSIsCiAgICAgICAgIm1lZGl1bXZpb2xldHJlZCIsCiAgICAgICAgIm1pZG5p
Z2h0Ymx1ZSIsCiAgICAgICAgIm1pbnRjcmVhbSIsCiAgICAgICAgIm1pc3R5cm9zZSIsCiAgICAg
ICAgIm1vY2Nhc2luIiwKICAgICAgICAibmF2YWpvd2hpdGUiLAogICAgICAgICJvbGRsYWNlIiwK
ICAgICAgICAib2xpdmVkcmFiIiwKICAgICAgICAib3JhbmdlcmVkIiwKICAgICAgICAib3JjaGlk
IiwKICAgICAgICAicGFsZWdvbGRlbnJvZCIsCiAgICAgICAgInBhbGVncmVlbiIsCiAgICAgICAg
InBhbGV0dXJxdW9pc2UiLAogICAgICAgICJwYWxldmlvbGV0cmVkIiwKICAgICAgICAicGFwYXlh
d2hpcCIsCiAgICAgICAgInBlYWNocHVmZiIsCiAgICAgICAgInBlcnUiLAogICAgICAgICJwaW5r
IiwKICAgICAgICAicGx1bSIsCiAgICAgICAgInBvd2RlcmJsdWUiLAogICAgICAgICJyb3N5YnJv
d24iLAogICAgICAgICJyb3lhbGJsdWUiLAogICAgICAgICJzYWRkbGVicm93biIsCiAgICAgICAg
InNhbG1vbiIsCiAgICAgICAgInNhbmR5YnJvd24iLAogICAgICAgICJzZWFncmVlbiIsCiAgICAg
ICAgInNlYXNoZWxsIiwKICAgICAgICAic2llbm5hIiwKICAgICAgICAic2t5Ymx1ZSIsCiAgICAg
ICAgInNsYXRlYmx1ZSIsCiAgICAgICAgInNsYXRlZ3JheSIsCiAgICAgICAgInNsYXRlZ3JleSIs
CiAgICAgICAgInNub3ciLAogICAgICAgICJzcHJpbmdncmVlbiIsCiAgICAgICAgInN0ZWVsYmx1
ZSIsCiAgICAgICAgInRhbiIsCiAgICAgICAgInRoaXN0bGUiLAogICAgICAgICJ0b21hdG8iLAog
ICAgICAgICJ0dXJxdW9pc2UiLAogICAgICAgICJ2aW9sZXQiLAogICAgICAgICJ3aGVhdCIsCiAg
ICAgICAgIndoaXRlc21va2UiLAogICAgICAgICJ5ZWxsb3dncmVlbiIKICAgIF0sCiAgICAidGV4
dC1vdmVybGluZS13aWR0aCI6IFsKICAgICAgICAibm9ybWFsIiwKICAgICAgICAibWVkaXVtIiwK
ICAgICAgICAiYXV0byIsCiAgICAgICAgInRoaWNrIiwKICAgICAgICAidGhpbiIKICAgIF0sCiAg
ICAidGV4dC10cmFuc2Zvcm0iOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJjYXBpdGFsaXpl
IiwKICAgICAgICAidXBwZXJjYXNlIiwKICAgICAgICAibG93ZXJjYXNlIgogICAgXSwKICAgICJi
b3JkZXItcmlnaHQtc3R5bGUiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJoaWRkZW4iLAog
ICAgICAgICJpbnNldCIsCiAgICAgICAgImdyb292ZSIsCiAgICAgICAgInJpZGdlIiwKICAgICAg
ICAib3V0c2V0IiwKICAgICAgICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVkIiwKICAgICAgICAi
c29saWQiLAogICAgICAgICJkb3VibGUiCiAgICBdLAogICAgImJvcmRlci1sZWZ0LXN0eWxlIjog
WwogICAgICAgICJub25lIiwKICAgICAgICAiaGlkZGVuIiwKICAgICAgICAiaW5zZXQiLAogICAg
ICAgICJncm9vdmUiLAogICAgICAgICJyaWRnZSIsCiAgICAgICAgIm91dHNldCIsCiAgICAgICAg
ImRvdHRlZCIsCiAgICAgICAgImRhc2hlZCIsCiAgICAgICAgInNvbGlkIiwKICAgICAgICAiZG91
YmxlIgogICAgXSwKICAgICItd2Via2l0LXRleHQtZW1waGFzaXMiOiBbCiAgICAgICAgImNpcmNs
ZSIsCiAgICAgICAgImZpbGxlZCIsCiAgICAgICAgIm9wZW4iLAogICAgICAgICJkb3QiLAogICAg
ICAgICJkb3VibGUtY2lyY2xlIiwKICAgICAgICAidHJpYW5nbGUiLAogICAgICAgICJzZXNhbWUi
CiAgICBdLAogICAgImZvbnQtc3R5bGUiOiBbCiAgICAgICAgIml0YWxpYyIsCiAgICAgICAgIm9i
bGlxdWUiLAogICAgICAgICJub3JtYWwiCiAgICBdLAogICAgInNwZWFrIjogWwogICAgICAgICJu
b25lIiwKICAgICAgICAibm9ybWFsIiwKICAgICAgICAic3BlbGwtb3V0IiwKICAgICAgICAiZGln
aXRzIiwKICAgICAgICAibGl0ZXJhbC1wdW5jdHVhdGlvbiIsCiAgICAgICAgIm5vLXB1bmN0dWF0
aW9uIgogICAgXSwKICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCI6IFsKICAgICAgICAibm9uZSIsCiAg
ICAgICAgImRvdHRlZCIsCiAgICAgICAgImRhc2hlZCIsCiAgICAgICAgInNvbGlkIiwKICAgICAg
ICAiZG91YmxlIiwKICAgICAgICAiZG90LWRhc2giLAogICAgICAgICJkb3QtZG90LWRhc2giLAog
ICAgICAgICJ3YXZlIiwKICAgICAgICAiY29udGludW91cyIsCiAgICAgICAgInNraXAtd2hpdGUt
c3BhY2UiCiAgICBdLAogICAgImNvbG9yLXJlbmRlcmluZyI6IFsKICAgICAgICAiYXV0byIsCiAg
ICAgICAgIm9wdGltaXplc3BlZWQiLAogICAgICAgICJvcHRpbWl6ZXF1YWxpdHkiCiAgICBdLAog
ICAgImxpc3Qtc3R5bGUtdHlwZSI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImRpc2MiLAog
ICAgICAgICJjaXJjbGUiLAogICAgICAgICJzcXVhcmUiLAogICAgICAgICJkZWNpbWFsIiwKICAg
ICAgICAiZGVjaW1hbC1sZWFkaW5nLXplcm8iLAogICAgICAgICJhcmFiaWMtaW5kaWMiLAogICAg
ICAgICJiaW5hcnkiLAogICAgICAgICJiZW5nYWxpIiwKICAgICAgICAiY2FtYm9kaWFuIiwKICAg
ICAgICAia2htZXIiLAogICAgICAgICJkZXZhbmFnYXJpIiwKICAgICAgICAiZ3VqYXJhdGkiLAog
ICAgICAgICJndXJtdWtoaSIsCiAgICAgICAgImthbm5hZGEiLAogICAgICAgICJsb3dlci1oZXhh
ZGVjaW1hbCIsCiAgICAgICAgImxhbyIsCiAgICAgICAgIm1hbGF5YWxhbSIsCiAgICAgICAgIm1v
bmdvbGlhbiIsCiAgICAgICAgIm15YW5tYXIiLAogICAgICAgICJvY3RhbCIsCiAgICAgICAgIm9y
aXlhIiwKICAgICAgICAicGVyc2lhbiIsCiAgICAgICAgInVyZHUiLAogICAgICAgICJ0ZWx1Z3Ui
LAogICAgICAgICJ0aWJldGFuIiwKICAgICAgICAidGhhaSIsCiAgICAgICAgInVwcGVyLWhleGFk
ZWNpbWFsIiwKICAgICAgICAibG93ZXItcm9tYW4iLAogICAgICAgICJ1cHBlci1yb21hbiIsCiAg
ICAgICAgImxvd2VyLWdyZWVrIiwKICAgICAgICAibG93ZXItYWxwaGEiLAogICAgICAgICJsb3dl
ci1sYXRpbiIsCiAgICAgICAgInVwcGVyLWFscGhhIiwKICAgICAgICAidXBwZXItbGF0aW4iLAog
ICAgICAgICJhZmFyIiwKICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiLAogICAgICAg
ICJldGhpb3BpYy1oYWxlaGFtZS1hYS1lciIsCiAgICAgICAgImFtaGFyaWMiLAogICAgICAgICJl
dGhpb3BpYy1oYWxlaGFtZS1hbS1ldCIsCiAgICAgICAgImFtaGFyaWMtYWJlZ2VkZSIsCiAgICAg
ICAgImV0aGlvcGljLWFiZWdlZGUtYW0tZXQiLAogICAgICAgICJjamstZWFydGhseS1icmFuY2gi
LAogICAgICAgICJjamstaGVhdmVubHktc3RlbSIsCiAgICAgICAgImV0aGlvcGljIiwKICAgICAg
ICAiZXRoaW9waWMtaGFsZWhhbWUtZ2V6IiwKICAgICAgICAiZXRoaW9waWMtYWJlZ2VkZSIsCiAg
ICAgICAgImV0aGlvcGljLWFiZWdlZGUtZ2V6IiwKICAgICAgICAiaGFuZ3VsLWNvbnNvbmFudCIs
CiAgICAgICAgImhhbmd1bCIsCiAgICAgICAgImxvd2VyLW5vcndlZ2lhbiIsCiAgICAgICAgIm9y
b21vIiwKICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUtb20tZXQiLAogICAgICAgICJzaWRhbWEi
LAogICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS1zaWQtZXQiLAogICAgICAgICJzb21hbGkiLAog
ICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS1zby1ldCIsCiAgICAgICAgInRpZ3JlIiwKICAgICAg
ICAiZXRoaW9waWMtaGFsZWhhbWUtdGlnIiwKICAgICAgICAidGlncmlueWEtZXIiLAogICAgICAg
ICJldGhpb3BpYy1oYWxlaGFtZS10aS1lciIsCiAgICAgICAgInRpZ3JpbnlhLWVyLWFiZWdlZGUi
LAogICAgICAgICJldGhpb3BpYy1hYmVnZWRlLXRpLWVyIiwKICAgICAgICAidGlncmlueWEtZXQi
LAogICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS10aS1ldCIsCiAgICAgICAgInRpZ3JpbnlhLWV0
LWFiZWdlZGUiLAogICAgICAgICJldGhpb3BpYy1hYmVnZWRlLXRpLWV0IiwKICAgICAgICAidXBw
ZXItZ3JlZWsiLAogICAgICAgICJ1cHBlci1ub3J3ZWdpYW4iLAogICAgICAgICJhc3Rlcmlza3Mi
LAogICAgICAgICJmb290bm90ZXMiLAogICAgICAgICJoZWJyZXciLAogICAgICAgICJhcm1lbmlh
biIsCiAgICAgICAgImxvd2VyLWFybWVuaWFuIiwKICAgICAgICAidXBwZXItYXJtZW5pYW4iLAog
ICAgICAgICJnZW9yZ2lhbiIsCiAgICAgICAgImNqay1pZGVvZ3JhcGhpYyIsCiAgICAgICAgImhp
cmFnYW5hIiwKICAgICAgICAia2F0YWthbmEiLAogICAgICAgICJoaXJhZ2FuYS1pcm9oYSIsCiAg
ICAgICAgImthdGFrYW5hLWlyb2hhIgogICAgXSwKICAgICItd2Via2l0LXRleHQtY29tYmluZSI6
IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImhvcml6b250YWwiCiAgICBdLAogICAgIm91dGxp
bmUiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJoaWRkZW4iLAogICAgICAgICJpbnNldCIs
CiAgICAgICAgImdyb292ZSIsCiAgICAgICAgInJpZGdlIiwKICAgICAgICAib3V0c2V0IiwKICAg
ICAgICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAgICAg
ICJkb3VibGUiCiAgICBdLAogICAgImZvbnQiOiBbCiAgICAgICAgImNhcHRpb24iLAogICAgICAg
ICJpY29uIiwKICAgICAgICAibWVudSIsCiAgICAgICAgIm1lc3NhZ2UtYm94IiwKICAgICAgICAi
c21hbGwtY2FwdGlvbiIsCiAgICAgICAgIi13ZWJraXQtbWluaS1jb250cm9sIiwKICAgICAgICAi
LXdlYmtpdC1zbWFsbC1jb250cm9sIiwKICAgICAgICAiLXdlYmtpdC1jb250cm9sIiwKICAgICAg
ICAic3RhdHVzLWJhciIsCiAgICAgICAgIml0YWxpYyIsCiAgICAgICAgIm9ibGlxdWUiLAogICAg
ICAgICJzbWFsbC1jYXBzIiwKICAgICAgICAibm9ybWFsIiwKICAgICAgICAiYm9sZCIsCiAgICAg
ICAgImJvbGRlciIsCiAgICAgICAgImxpZ2h0ZXIiLAogICAgICAgICIxMDAiLAogICAgICAgICIy
MDAiLAogICAgICAgICIzMDAiLAogICAgICAgICI0MDAiLAogICAgICAgICI1MDAiLAogICAgICAg
ICI2MDAiLAogICAgICAgICI3MDAiLAogICAgICAgICI4MDAiLAogICAgICAgICI5MDAiLAogICAg
ICAgICJ4eC1zbWFsbCIsCiAgICAgICAgIngtc21hbGwiLAogICAgICAgICJzbWFsbCIsCiAgICAg
ICAgIm1lZGl1bSIsCiAgICAgICAgImxhcmdlIiwKICAgICAgICAieC1sYXJnZSIsCiAgICAgICAg
Inh4LWxhcmdlIiwKICAgICAgICAiLXdlYmtpdC14eHgtbGFyZ2UiLAogICAgICAgICJzbWFsbGVy
IiwKICAgICAgICAibGFyZ2VyIiwKICAgICAgICAic2VyaWYiLAogICAgICAgICJzYW5zLXNlcmlm
IiwKICAgICAgICAiY3Vyc2l2ZSIsCiAgICAgICAgImZhbnRhc3kiLAogICAgICAgICJtb25vc3Bh
Y2UiLAogICAgICAgICItd2Via2l0LWJvZHkiCiAgICBdLAogICAgImRvbWluYW50LWJhc2VsaW5l
IjogWwogICAgICAgICJtaWRkbGUiLAogICAgICAgICJhdXRvIiwKICAgICAgICAiY2VudHJhbCIs
CiAgICAgICAgInRleHQtYmVmb3JlLWVkZ2UiLAogICAgICAgICJ0ZXh0LWFmdGVyLWVkZ2UiLAog
ICAgICAgICJpZGVvZ3JhcGhpYyIsCiAgICAgICAgImFscGhhYmV0aWMiLAogICAgICAgICJoYW5n
aW5nIiwKICAgICAgICAibWF0aGVtYXRpY2FsIiwKICAgICAgICAidXNlLXNjcmlwdCIsCiAgICAg
ICAgIm5vLWNoYW5nZSIsCiAgICAgICAgInJlc2V0LXNpemUiCiAgICBdLAogICAgImRpc3BsYXki
OiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJpbmxpbmUiLAogICAgICAgICJibG9jayIsCiAg
ICAgICAgImxpc3QtaXRlbSIsCiAgICAgICAgInJ1bi1pbiIsCiAgICAgICAgImNvbXBhY3QiLAog
ICAgICAgICJpbmxpbmUtYmxvY2siLAogICAgICAgICJ0YWJsZSIsCiAgICAgICAgImlubGluZS10
YWJsZSIsCiAgICAgICAgInRhYmxlLXJvdy1ncm91cCIsCiAgICAgICAgInRhYmxlLWhlYWRlci1n
cm91cCIsCiAgICAgICAgInRhYmxlLWZvb3Rlci1ncm91cCIsCiAgICAgICAgInRhYmxlLXJvdyIs
CiAgICAgICAgInRhYmxlLWNvbHVtbi1ncm91cCIsCiAgICAgICAgInRhYmxlLWNvbHVtbiIsCiAg
ICAgICAgInRhYmxlLWNlbGwiLAogICAgICAgICJ0YWJsZS1jYXB0aW9uIiwKICAgICAgICAiLXdl
YmtpdC1ib3giLAogICAgICAgICItd2Via2l0LWlubGluZS1ib3giLAogICAgICAgICItd2FwLW1h
cnF1ZWUiCiAgICBdLAogICAgIi13ZWJraXQtdGV4dC1lbXBoYXNpcy1wb3NpdGlvbiI6IFsKICAg
ICAgICAib3ZlciIsCiAgICAgICAgInVuZGVyIgogICAgXSwKICAgICJpbWFnZS1yZW5kZXJpbmci
OiBbCiAgICAgICAgImF1dG8iLAogICAgICAgICJvcHRpbWl6ZXNwZWVkIiwKICAgICAgICAib3B0
aW1pemVxdWFsaXR5IgogICAgXSwKICAgICJhbGlnbm1lbnQtYmFzZWxpbmUiOiBbCiAgICAgICAg
ImJhc2VsaW5lIiwKICAgICAgICAibWlkZGxlIiwKICAgICAgICAiYXV0byIsCiAgICAgICAgImJl
Zm9yZS1lZGdlIiwKICAgICAgICAiYWZ0ZXItZWRnZSIsCiAgICAgICAgImNlbnRyYWwiLAogICAg
ICAgICJ0ZXh0LWJlZm9yZS1lZGdlIiwKICAgICAgICAidGV4dC1hZnRlci1lZGdlIiwKICAgICAg
ICAiaWRlb2dyYXBoaWMiLAogICAgICAgICJhbHBoYWJldGljIiwKICAgICAgICAiaGFuZ2luZyIs
CiAgICAgICAgIm1hdGhlbWF0aWNhbCIKICAgIF0sCiAgICAib3V0bGluZS13aWR0aCI6IFsKICAg
ICAgICAibWVkaXVtIiwKICAgICAgICAidGhpY2siLAogICAgICAgICJ0aGluIgogICAgXSwKICAg
ICJ0ZXh0LWxpbmUtdGhyb3VnaC13aWR0aCI6IFsKICAgICAgICAibm9ybWFsIiwKICAgICAgICAi
bWVkaXVtIiwKICAgICAgICAiYXV0byIsCiAgICAgICAgInRoaWNrIiwKICAgICAgICAidGhpbiIK
ICAgIF0sCiAgICAiYm94LWFsaWduIjogWwogICAgICAgICJiYXNlbGluZSIsCiAgICAgICAgImNl
bnRlciIsCiAgICAgICAgInN0cmV0Y2giLAogICAgICAgICJzdGFydCIsCiAgICAgICAgImVuZCIK
ICAgIF0sCiAgICAiYm9yZGVyLXJpZ2h0LXdpZHRoIjogWwogICAgICAgICJtZWRpdW0iLAogICAg
ICAgICJ0aGljayIsCiAgICAgICAgInRoaW4iCiAgICBdLAogICAgImJvcmRlci10b3Atc3R5bGUi
OiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJoaWRkZW4iLAogICAgICAgICJpbnNldCIsCiAg
ICAgICAgImdyb292ZSIsCiAgICAgICAgInJpZGdlIiwKICAgICAgICAib3V0c2V0IiwKICAgICAg
ICAiZG90dGVkIiwKICAgICAgICAiZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAgICAgICJk
b3VibGUiCiAgICBdLAogICAgImxpbmUtaGVpZ2h0IjogWwogICAgICAgICJub3JtYWwiCiAgICBd
LAogICAgInRleHQtb3ZlcmZsb3ciOiBbCiAgICAgICAgImNsaXAiLAogICAgICAgICJlbGxpcHNp
cyIKICAgIF0sCiAgICAiYm94LWRpcmVjdGlvbiI6IFsKICAgICAgICAibm9ybWFsIiwKICAgICAg
ICAicmV2ZXJzZSIKICAgIF0sCiAgICAibWFyZ2luLWFmdGVyLWNvbGxhcHNlIjogWwogICAgICAg
ICJjb2xsYXBzZSIsCiAgICAgICAgInNlcGFyYXRlIiwKICAgICAgICAiZGlzY2FyZCIKICAgIF0s
CiAgICAicGFnZS1icmVhay1iZWZvcmUiOiBbCiAgICAgICAgImxlZnQiLAogICAgICAgICJyaWdo
dCIsCiAgICAgICAgImF1dG8iLAogICAgICAgICJhbHdheXMiLAogICAgICAgICJhdm9pZCIKICAg
IF0sCiAgICAiLXdlYmtpdC1oeXBoZW5zIjogWwogICAgICAgICJub25lIiwKICAgICAgICAiYXV0
byIsCiAgICAgICAgIm1hbnVhbCIKICAgIF0sCiAgICAiYm9yZGVyLWltYWdlIjogWwogICAgICAg
ICJyZXBlYXQiLAogICAgICAgICJzdHJldGNoIgogICAgXSwKICAgICJ0ZXh0LWRlY29yYXRpb24i
OiBbCiAgICAgICAgImJsaW5rIiwKICAgICAgICAibGluZS10aHJvdWdoIiwKICAgICAgICAib3Zl
cmxpbmUiLAogICAgICAgICJ1bmRlcmxpbmUiCiAgICBdLAogICAgInBvc2l0aW9uIjogWwogICAg
ICAgICJhYnNvbHV0ZSIsCiAgICAgICAgImZpeGVkIiwKICAgICAgICAicmVsYXRpdmUiLAogICAg
ICAgICJzdGF0aWMiCiAgICBdLAogICAgImZvbnQtZmFtaWx5IjogWwogICAgICAgICJzZXJpZiIs
CiAgICAgICAgInNhbnMtc2VyaWYiLAogICAgICAgICJjdXJzaXZlIiwKICAgICAgICAiZmFudGFz
eSIsCiAgICAgICAgIm1vbm9zcGFjZSIsCiAgICAgICAgIi13ZWJraXQtYm9keSIKICAgIF0sCiAg
ICAidGV4dC1vdmVyZmxvdy1tb2RlIjogWwogICAgICAgICJjbGlwIiwKICAgICAgICAiZWxsaXBz
aXMiCiAgICBdLAogICAgImJvcmRlci1ib3R0b20tc3R5bGUiOiBbCiAgICAgICAgIm5vbmUiLAog
ICAgICAgICJoaWRkZW4iLAogICAgICAgICJpbnNldCIsCiAgICAgICAgImdyb292ZSIsCiAgICAg
ICAgInJpZGdlIiwKICAgICAgICAib3V0c2V0IiwKICAgICAgICAiZG90dGVkIiwKICAgICAgICAi
ZGFzaGVkIiwKICAgICAgICAic29saWQiLAogICAgICAgICJkb3VibGUiCiAgICBdLAogICAgInVu
aWNvZGUtYmlkaSI6IFsKICAgICAgICAibm9ybWFsIiwKICAgICAgICAiYmlkaS1vdmVycmlkZSIs
CiAgICAgICAgImVtYmVkIgogICAgXSwKICAgICJjbGlwLXJ1bGUiOiBbCiAgICAgICAgIm5vbnpl
cm8iLAogICAgICAgICJldmVub2RkIgogICAgXSwKICAgICJtYXJnaW4tbGVmdCI6IFsKICAgICAg
ICAiYXV0byIKICAgIF0sCiAgICAibWFyZ2luLXRvcCI6IFsKICAgICAgICAiYXV0byIKICAgIF0s
CiAgICAiem9vbSI6IFsKICAgICAgICAiZG9jdW1lbnQiLAogICAgICAgICJyZXNldCIKICAgIF0s
CiAgICAidGV4dC1vdmVybGluZS1zdHlsZSI6IFsKICAgICAgICAibm9uZSIsCiAgICAgICAgImRv
dHRlZCIsCiAgICAgICAgImRhc2hlZCIsCiAgICAgICAgInNvbGlkIiwKICAgICAgICAiZG91Ymxl
IiwKICAgICAgICAiZG90LWRhc2giLAogICAgICAgICJkb3QtZG90LWRhc2giLAogICAgICAgICJ3
YXZlIgogICAgXSwKICAgICJtYXgtd2lkdGgiOiBbCiAgICAgICAgIm5vbmUiCiAgICBdLAogICAg
ImVtcHR5LWNlbGxzIjogWwogICAgICAgICJoaWRlIiwKICAgICAgICAic2hvdyIKICAgIF0sCiAg
ICAicG9pbnRlci1ldmVudHMiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJhbGwiLAogICAg
ICAgICJhdXRvIiwKICAgICAgICAidmlzaWJsZSIsCiAgICAgICAgInZpc2libGVwYWludGVkIiwK
ICAgICAgICAidmlzaWJsZWZpbGwiLAogICAgICAgICJ2aXNpYmxlc3Ryb2tlIiwKICAgICAgICAi
cGFpbnRlZCIsCiAgICAgICAgImZpbGwiLAogICAgICAgICJzdHJva2UiCiAgICBdLAogICAgImxl
dHRlci1zcGFjaW5nIjogWwogICAgICAgICJub3JtYWwiCiAgICBdLAogICAgImJhY2tncm91bmQt
Y2xpcCI6IFsKICAgICAgICAiYm9yZGVyLWJveCIsCiAgICAgICAgImNvbnRlbnQtYm94IiwKICAg
ICAgICAicGFkZGluZy1ib3giCiAgICBdLAogICAgIi13ZWJraXQtZm9udC1zbW9vdGhpbmciOiBb
CiAgICAgICAgIm5vbmUiLAogICAgICAgICJhdXRvIiwKICAgICAgICAiYW50aWFsaWFzZWQiLAog
ICAgICAgICJzdWJwaXhlbC1hbnRpYWxpYXNlZCIKICAgIF0sCiAgICAiYm9yZGVyIjogWwogICAg
ICAgICJub25lIiwKICAgICAgICAiaGlkZGVuIiwKICAgICAgICAiaW5zZXQiLAogICAgICAgICJn
cm9vdmUiLAogICAgICAgICJyaWRnZSIsCiAgICAgICAgIm91dHNldCIsCiAgICAgICAgImRvdHRl
ZCIsCiAgICAgICAgImRhc2hlZCIsCiAgICAgICAgInNvbGlkIiwKICAgICAgICAiZG91YmxlIgog
ICAgXSwKICAgICJmb250LXNpemUiOiBbCiAgICAgICAgInh4LXNtYWxsIiwKICAgICAgICAieC1z
bWFsbCIsCiAgICAgICAgInNtYWxsIiwKICAgICAgICAibWVkaXVtIiwKICAgICAgICAibGFyZ2Ui
LAogICAgICAgICJ4LWxhcmdlIiwKICAgICAgICAieHgtbGFyZ2UiLAogICAgICAgICItd2Via2l0
LXh4eC1sYXJnZSIsCiAgICAgICAgInNtYWxsZXIiLAogICAgICAgICJsYXJnZXIiCiAgICBdLAog
ICAgImZvbnQtdmFyaWFudCI6IFsKICAgICAgICAic21hbGwtY2FwcyIsCiAgICAgICAgIm5vcm1h
bCIKICAgIF0sCiAgICAidmVydGljYWwtYWxpZ24iOiBbCiAgICAgICAgImJhc2VsaW5lIiwKICAg
ICAgICAibWlkZGxlIiwKICAgICAgICAic3ViIiwKICAgICAgICAic3VwZXIiLAogICAgICAgICJ0
ZXh0LXRvcCIsCiAgICAgICAgInRleHQtYm90dG9tIiwKICAgICAgICAidG9wIiwKICAgICAgICAi
Ym90dG9tIiwKICAgICAgICAiLXdlYmtpdC1iYXNlbGluZS1taWRkbGUiCiAgICBdLAogICAgIm1h
cnF1ZWUtc3R5bGUiOiBbCiAgICAgICAgIm5vbmUiLAogICAgICAgICJzY3JvbGwiLAogICAgICAg
ICJzbGlkZSIsCiAgICAgICAgImFsdGVybmF0ZSIKICAgIF0sCiAgICAid2hpdGUtc3BhY2UiOiBb
CiAgICAgICAgIm5vcm1hbCIsCiAgICAgICAgIm5vd3JhcCIsCiAgICAgICAgInByZSIsCiAgICAg
ICAgInByZS1saW5lIiwKICAgICAgICAicHJlLXdyYXAiCiAgICBdLAogICAgInRleHQtdW5kZXJs
aW5lLXdpZHRoIjogWwogICAgICAgICJub3JtYWwiLAogICAgICAgICJtZWRpdW0iLAogICAgICAg
ICJhdXRvIiwKICAgICAgICAidGhpY2siLAogICAgICAgICJ0aGluIgogICAgXSwKICAgICJib3gt
bGluZXMiOiBbCiAgICAgICAgInNpbmdsZSIsCiAgICAgICAgIm11bHRpcGxlIgogICAgXSwKICAg
ICJwYWdlLWJyZWFrLWFmdGVyIjogWwogICAgICAgICJsZWZ0IiwKICAgICAgICAicmlnaHQiLAog
ICAgICAgICJhdXRvIiwKICAgICAgICAiYWx3YXlzIiwKICAgICAgICAiYXZvaWQiCiAgICBdLAog
ICAgImNsaXAtcGF0aCI6IFsKICAgICAgICAibm9uZSIKICAgIF0sCiAgICAibWFyZ2luIjogWwog
ICAgICAgICJhdXRvIgogICAgXSwKICAgICJtYXJxdWVlLXJlcGV0aXRpb24iOiBbCiAgICAgICAg
ImluZmluaXRlIgogICAgXSwKICAgICJtYXJnaW4tcmlnaHQiOiBbCiAgICAgICAgImF1dG8iCiAg
ICBdLAogICAgIi13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZSI6IFsKICAgICAgICAiY2lyY2xl
IiwKICAgICAgICAiZmlsbGVkIiwKICAgICAgICAib3BlbiIsCiAgICAgICAgImRvdCIsCiAgICAg
ICAgImRvdWJsZS1jaXJjbGUiLAogICAgICAgICJ0cmlhbmdsZSIsCiAgICAgICAgInNlc2FtZSIK
ICAgIF0KfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77416</attachid>
            <date>2010-12-24 08:53:01 -0800</date>
            <delta_ts>2010-12-30 05:30:47 -0800</delta_ts>
            <desc>[PATCH] Fix Chromium compilability</desc>
            <filename>completevalues.patch</filename>
            <type>text/plain</type>
            <size>70255</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGIxN2M3YzdkMmVjNzdkMzMyOWYzNTAxYmQ1NDNkNGU0MGY2MWM2ZDYKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBGcmkgRGVjIDMg
MjA6MDc6NDMgMjAxMCArMDMwMAoKICAgIFdJUCAtIGF1dG9jb21wbGV0ZSB2YWx1ZSBrZXl3b3Jk
cwoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBmNzIxZDIwLi4wODhlZDdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTAt
MTItMjQgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBh
dXRvY29tcGxldGlvbiBmb3IgQ1NTIHByb3BlcnR5IHZhbHVlcyBpbiBTdHlsZXMgcGFuZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0MTQKKworICAg
ICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy5o
dG1sOiBBZGRlZC4KKworMjAxMC0xMi0yNCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hy
b21pdW0ub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogSW5saW5lIEhUTUwgc3R5bGUgcHJvcGVydHkgb3V0IG9mIHN5
bmMgd2l0aCBlbGVtZW50LnN0eWxlIGluIFNpZGViYXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkxYjkwOTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQgVXAvRG93biBrZXlzIHN3
aXRjaCBzdWdnZXN0aW9ucyBpbiBDU1MgcHJvcGVydHkgdmFsdWVzLgorCitUZXh0CitJbml0aWFs
IHByb3BlcnR5IHZhbHVlOgorY29sb3I6IGdyZWVuOworTmV4dCB2YWx1ZToKK2NvbG9yOiBncmVl
bnllbGxvdzsKK09yaWdpbmFsIHZhbHVlOgorY29sb3I6IGdyZWVuOworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMuaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVmM2VhZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMuaHRtbApA
QCAtMCwwICsxLDcwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJl
bGVtZW50cy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBkb2l0KCkK
K3sKKyAgICBmdW5jdGlvbiBjYWxsYmFjayhyZXN1bHQpCisgICAgeworICAgICAgICBkdW1wQXJy
YXkocmVzdWx0KTsKKyAgICAgICAgbm90aWZ5RG9uZSgpOworICAgIH0KKyAgICBldmFsdWF0ZUlu
V2ViSW5zcGVjdG9yKCJmcm9udGVuZF9ydW5UZXN0IiwgY2FsbGJhY2spOworfQorCisvLyBGcm9u
dGVuZCBmdW5jdGlvbnMuCisKK2Z1bmN0aW9uIGZyb250ZW5kX3J1blRlc3QodGVzdENvbnRyb2xs
ZXIpCit7CisgICAgdGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGZyb250ZW5k
X2V4cGFuZERPTVN1YnRyZWVBbmRSdW4odGVzdENvbnRyb2xsZXIsIG51bGwsIGZyb250ZW5kX3Nl
bGVjdEluc3BlY3RlZEVsZW1lbnQpOworfQorCitmdW5jdGlvbiBmcm9udGVuZF9zZWxlY3RJbnNw
ZWN0ZWRFbGVtZW50KHRlc3RDb250cm9sbGVyKQoreworICAgIGZyb250ZW5kX3NlbGVjdEVsZW1l
bnRBbmRSdW4odGVzdENvbnRyb2xsZXIsICJpbnNwZWN0ZWQiLCBmcm9udGVuZF9kdW1wSW5zcGVj
dGVkU3R5bGUpOworfQorCitmdW5jdGlvbiBmcm9udGVuZF9jcmVhdGVLZXlib2FyZEV2ZW50KGV2
ZW50TmFtZSwga2V5SWRlbnRpZmllcikKK3sKKyAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRl
RXZlbnQoIktleWJvYXJkRXZlbnQiKTsKKyAgICBldnQuaW5pdEtleWJvYXJkRXZlbnQoZXZlbnRO
YW1lLCB0cnVlIC8qIGNhbiBidWJibGUgKi8sIHRydWUgLyogY2FuIGNhbmNlbCAqLywgbnVsbCAv
KiB2aWV3ICovLCBrZXlJZGVudGlmaWVyLCAiIik7CisgICAgcmV0dXJuIGV2dDsKK30KKworZnVu
Y3Rpb24gZnJvbnRlbmRfZHVtcEluc3BlY3RlZFN0eWxlKHRlc3RDb250cm9sbGVyKQoreworICAg
IHZhciBzZWN0aW9uID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMu
c3R5bGVzLnNlY3Rpb25zWzBdWzFdOworICAgIHNlY3Rpb24uZXhwYW5kKCk7CisgICAgdmFyIHRy
ZWVFbGVtZW50ID0gc2VjdGlvbi5wcm9wZXJ0aWVzVHJlZU91dGxpbmUuY2hpbGRyZW5bMF07CisK
KyAgICB0ZXN0Q29udHJvbGxlci5yZXN1bHRzLnB1c2goIkluaXRpYWwgcHJvcGVydHkgdmFsdWU6
Iik7CisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKHRyZWVFbGVtZW50Lmxpc3RJdGVt
RWxlbWVudC50ZXh0Q29udGVudCk7CisgICAgdHJlZUVsZW1lbnQuc3RhcnRFZGl0aW5nKHRyZWVF
bGVtZW50LnZhbHVlRWxlbWVudCk7CisgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LmZpcnN0
Q2hpbGQuc2VsZWN0KCk7CisKKyAgICB0ZXN0Q29udHJvbGxlci5yZXN1bHRzLnB1c2goIk5leHQg
dmFsdWU6Iik7CisgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZnJv
bnRlbmRfY3JlYXRlS2V5Ym9hcmRFdmVudCgia2V5ZG93biIsICJEb3duIikpOworICAgIHRlc3RD
b250cm9sbGVyLnJlc3VsdHMucHVzaCh0cmVlRWxlbWVudC5saXN0SXRlbUVsZW1lbnQudGV4dENv
bnRlbnQpOworCisgICAgdGVzdENvbnRyb2xsZXIucmVzdWx0cy5wdXNoKCJPcmlnaW5hbCB2YWx1
ZToiKTsKKyAgICB0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChmcm9udGVu
ZF9jcmVhdGVLZXlib2FyZEV2ZW50KCJrZXlkb3duIiwgIlVwIikpOworICAgIHRlc3RDb250cm9s
bGVyLnJlc3VsdHMucHVzaCh0cmVlRWxlbWVudC5saXN0SXRlbUVsZW1lbnQudGV4dENvbnRlbnQp
OworCisgICAgdGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSh0ZXN0Q29udHJvbGxlci5yZXN1bHRz
KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0ib25sb2FkKCkiPgor
PHA+CitUZXN0cyB0aGF0IFVwL0Rvd24ga2V5cyBzd2l0Y2ggc3VnZ2VzdGlvbnMgaW4gQ1NTIHBy
b3BlcnR5IHZhbHVlcy4KKzwvcD4KKworPGRpdiBpZD0iaW5zcGVjdGVkIiBzdHlsZT0iY29sb3I6
IGdyZWVuOyI+VGV4dDwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI4YjE3ZWQuLmI5MTIxNzMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMzcgQEAKIDIwMTAtMTItMjQgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNo
cm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBhdXRvY29tcGxldGlvbiBmb3IgQ1NTIHByb3BlcnR5IHZhbHVl
cyBpbiBTdHlsZXMgcGFuZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDE0MTQKKworICAgICAgICBGb3IgZWFjaCBDU1MgcHJvcGVydHkgKG9rLCBmb3Ig
bW9zdCBvZiB0aGVtKSwgd2UgY2FuIGRldGVybWluZSBhIGZpeGVkIHNldCBvZiBrZXl3b3Jkcwor
ICAgICAgICB0aGF0IG1heSBhcHBlYXIgaW4gaXRzIHZhbHVlLiBXaXRoIHRoZXNlIHNldHMgYXQg
aGFuZCwgaXQgaXMgcG9zc2libGUgdG8gYXV0by1jb21wbGV0ZQorICAgICAgICB1c2VyIGlucHV0
IChhbmQgdHJhdmVyc2UgYXZhaWxhYmxlIHZhbHVlcyB3aXRoIHRoZSBVcC9Eb3duIGtleXMpIGlu
IHRoZSBwcm9wZXJ0eSB2YWx1ZQorICAgICAgICBmaWVsZCB0aGUgc2FtZSB3YXkgYXMgd2UgZG8g
Zm9yIHByb3BlcnR5IG5hbWVzLiBUaGUgc29sdXRpb24gZG9lcyBOTyBpbnRlbGxlY3R1YWwgcGFy
c2luZworICAgICAgICBvZiB2YWx1ZXMgdG8gZGV0ZXJtaW5lIHdoaWNoIGtleXdvcmRzIGFyZSB2
YWxpZCBhdCB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24uCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLmh0bWwKKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rp
b25fY3NzdmFsdWVrZXl3b3Jkcy5weToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAg
KiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9jb3B5SW5zcGVjdG9yRmls
ZXMuY21kOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAgKiBjc3MvU1ZHQ1NTVmFs
dWVLZXl3b3Jkcy5pbjoKKyAgICAgICAgKiBjc3MvbWFrZXZhbHVlcy5wbDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5xcmM6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanM6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
dHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCisyMDEwLTEyLTI0ICBBbGV4YW5kZXIgUGF2bG92
ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1p
a2hhdHNreS4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbmxpbmUgSFRNTCBzdHlsZSBwcm9w
ZXJ0eSBvdXQgb2Ygc3luYyB3aXRoIGVsZW1lbnQuc3R5bGUgaW4gU2lkZWJhcgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCmluZGV4IGZiMTNhZmUuLjY4MjM1ZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTYzMSw3ICs2
MzEsNyBAQCBDU1NQcm9wZXJ0eU5hbWVzLmggOiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVT
KSBjc3MvbWFrZXByb3AucGwKIENTU1ZhbHVlS2V5d29yZHMuaCA6ICQoV0VCQ09SRV9DU1NfVkFM
VUVfS0VZV09SRFMpIGNzcy9tYWtldmFsdWVzLnBsCiAJIyBMb3dlciBjYXNlIGFsbCB0aGUgdmFs
dWVzLCBhcyBDU1MgdmFsdWVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAJcGVybCAtbmUgJ3ByaW50
IGxjJyAkKFdFQkNPUkVfQ1NTX1ZBTFVFX0tFWVdPUkRTKSA+IENTU1ZhbHVlS2V5d29yZHMuaW4K
LQlpZiBzb3J0IENTU1ZhbHVlS2V5d29yZHMuaW4gfCB1bmlxIC1kIHwgZ3JlcCAtRSAtdiAnKF4j
KXwoXltbOnNwYWNlOl1dKiQkKSc7IHRoZW4gZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQg
MTsgZmkKKwlpZiBjYXQgQ1NTVmFsdWVLZXl3b3Jkcy5pbiB8IHNlZCAtZSAncy9cKFteLF0qXCku
Ki9cMS8nIHwgc29ydCB8IHVuaXEgLWQgfCBncmVwIC1FIC12ICcoXiMpfCheW1s6c3BhY2U6XV0q
JCQpJzsgdGhlbiBlY2hvICdEdXBsaWNhdGUgdmFsdWUhJzsgZXhpdCAxOyBmaQogCXBlcmwgIiQo
V2ViQ29yZSkvY3NzL21ha2V2YWx1ZXMucGwiCiAKICMgLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGYxMDhm
ODYuLjNkMzY5NTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY2MSwxMiArNDY2MSwxNCBAQCBEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFtZXMuaDogJChXRUJDT1JFX0NTU19QUk9QRVJUWV9OQU1F
UykgJChXZWJDbwogCW12IENTU1Byb3BlcnR5TmFtZXMqICQoR0VOU09VUkNFU19XRUJDT1JFKQog
CiAjIExvd2VyIGNhc2UgYWxsIHRoZSB2YWx1ZXMsIGFzIENTUyB2YWx1ZXMgYXJlIGNhc2UtaW5z
ZW5zaXRpdmUKK0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpz
OiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuY3BwCiBEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0NTU1ZhbHVlS2V5d29yZHMuY3BwOiBEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0NTU1ZhbHVlS2V5d29yZHMuaAogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NWYWx1ZUtleXdv
cmRzLmg6ICQoV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMpICQoV2ViQ29yZSkvY3NzL21ha2V2
YWx1ZXMucGwKIAkkKFBFUkwpIC1uZSAncHJpbnQgbGMnICQoV0VCQ09SRV9DU1NfVkFMVUVfS0VZ
V09SRFMpID4gQ1NTVmFsdWVLZXl3b3Jkcy5pbgotCWlmIHNvcnQgQ1NTVmFsdWVLZXl3b3Jkcy5p
biB8IHVuaXEgLWQgfCBncmVwIC1FICdeW14jXSc7IHRoZW4gZWNobyAnRHVwbGljYXRlIHZhbHVl
ISc7IGV4aXQgMTsgZmkKKwlpZiBjYXQgQ1NTVmFsdWVLZXl3b3Jkcy5pbiB8IHNlZCAtZSAncy9c
KFteLF0qXCkuKi9cMS8nIHwgc29ydCB8IHVuaXEgLWQgfCBncmVwIC1FICdeW14jXSc7IHRoZW4g
ZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKIAkkKFBFUkwpICIkKFdlYkNvcmUp
L2Nzcy9tYWtldmFsdWVzLnBsIgogCW12IENTU1ZhbHVlS2V5d29yZHMqICQoR0VOU09VUkNFU19X
RUJDT1JFKQorCW12IENTU0tleXdvcmRDb21wbGV0aW9ucy5qcyAkKEdFTlNPVVJDRVNfV0VCQ09S
RSkKIAogIyBET0NUWVBFIHN0cmluZ3MKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSGFzaFRvb2xz
Lmg6IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRG9jVHlwZVN0cmluZ3MuY3BwCkBAIC00ODUzLDYg
KzQ4NTUsNyBAQCBFWFRSQV9ESVNUICs9IFwKIHdlYmluc3BlY3RvcmRpciA9ICR7ZGF0YWRpcn0v
d2Via2l0Z3RrLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL3dlYmluc3BlY3RvcgogZGlzdF93ZWJp
bnNwZWN0b3JfREFUQSA9IFwKIAkkKFdlYkNvcmUpL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcyBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9DU1NLZXl3b3JkQ29tcGxldGlvbnMu
anMgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZFN0dWIuanMgXAog
CSQoc2hlbGwgbHMgJChXZWJDb3JlKS9pbnNwZWN0b3IvZnJvbnQtZW5kLyouanMpIFwKIAkkKHNo
ZWxsIGxzICQoV2ViQ29yZSkvaW5zcGVjdG9yL2Zyb250LWVuZC8qLmh0bWwpIFwKQEAgLTQ4NzAs
NiArNDg3Myw3IEBAICR7R0VOU09VUkNFU19JTlNQRUNUT1J9L2luc3BlY3Rvci5odG1sOiAkKFdl
YkNvcmUpL2luc3BlY3Rvci9mcm9udC1lbmQvKi5odG1sIFwKIAkJJChXZWJDb3JlKS9pbnNwZWN0
b3IvZnJvbnQtZW5kLyouanMgXAogCQkkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9udC1lbmQvKi5j
c3MgXAogCQkkKFdlYkNvcmUpL2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzLyogXAorCQlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcyBcCiAJCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSW5zcGVjdG9yQmFja2VuZFN0dWIuanMgXAogCQkkKFdlYkNvcmUpL0Vu
Z2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwogCSQoQU1fVl9HRU4pbWtkaXIgLXAgJHtH
RU5TT1VSQ0VTX0lOU1BFQ1RPUn0vaW1hZ2VzCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwIGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA2
NmI5NWMxLi4yOWVlZjhlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTM5OSw2ICszOTks
NyBAQAogICAgICAgICAgICAgJy4uL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluJywKICAgICAgICAg
ICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWworICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVS
TUVESUFURV9ESVIpL3dlYmtpdC9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMnLAogICAgICAgICAg
ICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9DU1NWYWx1ZUtleXdvcmRzLmNw
cCcsCiAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L0NTU1Zh
bHVlS2V5d29yZHMuaCcsCiAgICAgICAgICAgXSwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29y
ZS5neXAvc2NyaXB0cy9hY3Rpb25fY3NzdmFsdWVrZXl3b3Jkcy5weSBiL1dlYkNvcmUvV2ViQ29y
ZS5neXAvc2NyaXB0cy9hY3Rpb25fY3NzdmFsdWVrZXl3b3Jkcy5weQppbmRleCBlYmY4OTViLi43
ZDFiNmJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Nz
c3ZhbHVla2V5d29yZHMucHkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlv
bl9jc3N2YWx1ZWtleXdvcmRzLnB5CkBAIC0xMjAsNyArMTIwLDcgQEAgZGVmIG1haW4oYXJncyk6
CiAKICAgICAjIE1ha2Ugc3VyZSB0aGVyZSBhcmVuJ3QgYW55IGR1cGxpY2F0ZSBsaW5lcyBpbiB0
aGUgaW4gZmlsZXMuIExvd2VyY2FzZQogICAgICMgZXZlcnl0aGluZyBiZWNhdXNlIENTUyB2YWx1
ZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmUuCi0gICAgbGluZURpY3QgPSB7fQorICAgIHZhbHVlRGlj
dCA9IHt9CiAgICAgZm9yIGluRmlsZVBhdGggaW4gaW5GaWxlczoKICAgICAgICAgaW5GaWxlID0g
b3BlbihpbkZpbGVQYXRoKQogICAgICAgICBmb3IgbGluZSBpbiBpbkZpbGU6CkBAIC0xMzAsOSAr
MTMwLDE0IEBAIGRlZiBtYWluKGFyZ3MpOgogICAgICAgICAgICAgaWYgbGluZSA9PSAnJzoKICAg
ICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgbGluZSA9IGxpbmUubG93ZXIoKQot
ICAgICAgICAgICAgaWYgbGluZSBpbiBsaW5lRGljdDoKLSAgICAgICAgICAgICAgICByYWlzZSBL
ZXlFcnJvciwgJ0R1cGxpY2F0ZSB2YWx1ZSAlcycgJSBsaW5lCi0gICAgICAgICAgICBsaW5lRGlj
dFtsaW5lXSA9IFRydWUKKyAgICAgICAgICAgIHBhcnRzID0gbGluZS5wYXJ0aXRpb24oJywnKQor
ICAgICAgICAgICAgaWYgcGFydHNbMV0gIT0gJyc6CisgICAgICAgICAgICAgICAgdmFsdWUgPSBw
YXJ0c1swXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IGxpbmUK
KyAgICAgICAgICAgIGlmIHZhbHVlIGluIHZhbHVlRGljdDoKKyAgICAgICAgICAgICAgICByYWlz
ZSBLZXlFcnJvcignRHVwbGljYXRlIHZhbHVlICVzJyAlIHZhbHVlKQorICAgICAgICAgICAgdmFs
dWVEaWN0W3ZhbHVlXSA9IFRydWUKICAgICAgICAgICAgIHByaW50ID4+bWVyZ2VkLCBsaW5lCiAg
ICAgICAgIGluRmlsZS5jbG9zZSgpCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcmkg
Yi9XZWJDb3JlL1dlYkNvcmUucHJpCmluZGV4IGJjM2Y1OTUuLjAxYzk5ZTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5wcmkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtNTM2LDYg
KzUzNiw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAKIElOU1BFQ1RPUl9JTlRFUkZBQ0VTID0gaW5z
cGVjdG9yL0luc3BlY3Rvci5pZGwKIElOU1BFQ1RPUl9CQUNLRU5EX1NUVUJfUVJDID0gaW5zcGVj
dG9yL2Zyb250LWVuZC9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5xcmMKK0NTU19LRVlXT1JEX0NPTVBM
RVRJT05TX1FSQyA9IGluc3BlY3Rvci9mcm9udC1lbmQvQ1NTS2V5d29yZENvbXBsZXRpb25zLnFy
YwogCiB2ODogd3JhcHBlckZhY3RvcnlBcmcgPSAtLXdyYXBwZXJGYWN0b3J5VjgKIGVsc2U6IHdy
YXBwZXJGYWN0b3J5QXJnID0gLS13cmFwcGVyRmFjdG9yeQpAQCAtNTk0LDYgKzU5NSwxNCBAQCBj
c3N2YWx1ZXMuZGVwZW5kcyA9ICR7UU1BS0VfRklMRV9OQU1FfSAkJHtFWFRSQUNTU1ZBTFVFU30g
JCRjc3N2YWx1ZXMud2tTY3JpcHQKIGNzc3ZhbHVlcy5jbGVhbiA9ICR7UU1BS0VfRklMRV9PVVR9
ICR7UU1BS0VfVkFSX1dDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUn0vJHtRTUFLRV9GSUxFX0JBU0V9
LmgKIGFkZEV4dHJhQ29tcGlsZXIoY3NzdmFsdWVzKQogCisjIEdFTkVSQVRPUiA2LUM6IENTU0tl
eXdvcmRDb21wbGV0aW9ucy5qcyBnZW5lcmF0b3IKK2Nzc0tleXdvcmRDb21wbGV0aW9ucy53a0Fk
ZE91dHB1dFRvU291cmNlcyA9IGZhbHNlCitjc3NLZXl3b3JkQ29tcGxldGlvbnMub3V0cHV0ID0g
JCR7V0NfR0VORVJBVEVEX1NPVVJDRVNfRElSfS9DU1NLZXl3b3JkQ29tcGxldGlvbnMucXJjCitj
c3NLZXl3b3JkQ29tcGxldGlvbnMuaW5wdXQgPSBDU1NfS0VZV09SRF9DT01QTEVUSU9OU19RUkMK
K2Nzc0tleXdvcmRDb21wbGV0aW9ucy50ZW1wTmFtZXMgPSAkJFBXRC8kJENTU19LRVlXT1JEX0NP
TVBMRVRJT05TX1FSQyAkJHtXQ19HRU5FUkFURURfU09VUkNFU19ESVJ9L0NTU0tleXdvcmRDb21w
bGV0aW9ucy5xcmMKK2Nzc0tleXdvcmRDb21wbGV0aW9ucy5jb21tYW5kcyA9ICQkUU1BS0VfQ09Q
WSAkJHJlcGxhY2UoY3NzS2V5d29yZENvbXBsZXRpb25zLnRlbXBOYW1lcywgIi8iLCAkJFFNQUtF
X0RJUl9TRVApCithZGRFeHRyYUNvbXBpbGVyKGNzc0tleXdvcmRDb21wbGV0aW9ucykKKwogIyBH
RU5FUkFUT1IgMTogSURMIGNvbXBpbGVyCiBpZGwuaW5wdXQgPSBJRExfQklORElOR1MKIGlkbC53
a1NjcmlwdCA9ICQkUFdEL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKQEAg
LTY0Miw4ICs2NTEsOSBAQCBpbnNwZWN0b3JJREwuZGVwZW5kcyA9ICQkUFdEL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvci5wbSBcCiAgICAgICAgICAgICAgICQkUFdEL2JpbmRpbmdzL3Nj
cmlwdHMvSW5GaWxlc1BhcnNlci5wbQogYWRkRXh0cmFDb21waWxlcihpbnNwZWN0b3JJREwpCiAK
KyMgR0VORVJBVE9SIDItQTogSW5zcGVjdG9yQmFja2VuZFN0dWIuanMgZ2VuZXJhdG9yCiBpbnNw
ZWN0b3JCYWNrZW5kU3R1Yi53a0FkZE91dHB1dFRvU291cmNlcyA9IGZhbHNlCi1pbnNwZWN0b3JC
YWNrZW5kU3R1Yi5vdXRwdXQgPSBnZW5lcmF0ZWQvSW5zcGVjdG9yQmFja2VuZFN0dWIucXJjCitp
bnNwZWN0b3JCYWNrZW5kU3R1Yi5vdXRwdXQgPSAkJHtXQ19HRU5FUkFURURfU09VUkNFU19ESVJ9
L0luc3BlY3RvckJhY2tlbmRTdHViLnFyYwogaW5zcGVjdG9yQmFja2VuZFN0dWIuaW5wdXQgPSBJ
TlNQRUNUT1JfQkFDS0VORF9TVFVCX1FSQwogaW5zcGVjdG9yQmFja2VuZFN0dWIudGVtcE5hbWVz
ID0gJCRQV0QvJCRJTlNQRUNUT1JfQkFDS0VORF9TVFVCX1FSQyAkJHtXQ19HRU5FUkFURURfU09V
UkNFU19ESVJ9L0luc3BlY3RvckJhY2tlbmRTdHViLnFyYwogaW5zcGVjdG9yQmFja2VuZFN0dWIu
Y29tbWFuZHMgPSAkJFFNQUtFX0NPUFkgJCRyZXBsYWNlKGluc3BlY3RvckJhY2tlbmRTdHViLnRl
bXBOYW1lcywgIi8iLCAkJFFNQUtFX0RJUl9TRVApCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBjZGMzYTEyLi44MzcyYmFlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAg
LTE2NSw3ICsxNjUsNyBAQCBzeW1iaWFuIHsKIFJFU09VUkNFUyArPSBcCiAgICAgJCRQV0QvLi4v
V2ViQ29yZS9XZWJDb3JlLnFyYwogCi1pbmNsdWRlX3dlYmluc3BlY3RvcjogUkVTT1VSQ0VTICs9
ICQkUFdELy4uL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjICQkV0NfR0VO
RVJBVEVEX1NPVVJDRVNfRElSL0luc3BlY3RvckJhY2tlbmRTdHViLnFyYworaW5jbHVkZV93ZWJp
bnNwZWN0b3I6IFJFU09VUkNFUyArPSAkJFBXRC8uLi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvV2ViS2l0LnFyYyAkJFdDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUi9JbnNwZWN0b3JCYWNrZW5k
U3R1Yi5xcmMgJCRXQ19HRU5FUkFURURfU09VUkNFU19ESVIvQ1NTS2V5d29yZENvbXBsZXRpb25z
LnFyYwogCiBlbmFibGVfZmFzdF9tb2JpbGVfc2Nyb2xsaW5nOiBERUZJTkVTICs9IEVOQUJMRV9G
QVNUX01PQklMRV9TQ1JPTExJTkc9MQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL2NvcHlJbnNwZWN0b3JGaWxlcy5jbWQgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL2NvcHlJ
bnNwZWN0b3JGaWxlcy5jbWQKaW5kZXggMzE2ZmRkYy4uNjQ5MTIxMSAxMDA3NTUKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9jb3B5SW5zcGVjdG9yRmlsZXMuY21kCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovY29weUluc3BlY3RvckZpbGVzLmNtZApAQCAtMSw1ICsxLDYgQEAKIG1r
ZGlyIDI+TlVMICIlV2ViS2l0T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xpbnNwZWN0
b3IiCiB4Y29weSAveSAvZCAvcyAvZXhjbHVkZTp4Y29weS5leGNsdWRlcyAiJVByb2plY3REaXIl
Li5caW5zcGVjdG9yXGZyb250LWVuZFwqIiAiJVdlYktpdE91dHB1dERpciVcYmluXFdlYktpdC5y
ZXNvdXJjZXNcaW5zcGVjdG9yIgoreGNvcHkgL3kgL2QgL3MgL2V4Y2x1ZGU6eGNvcHkuZXhjbHVk
ZXMgIiVXZWJLaXRPdXRwdXREaXIlXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXENTU0tleXdv
cmRDb21wbGV0aW9ucy5qcyIgIiVXZWJLaXRPdXRwdXREaXIlXGJpblxXZWJLaXQucmVzb3VyY2Vz
XGluc3BlY3RvciIKIHhjb3B5IC95IC9kIC9zIC9leGNsdWRlOnhjb3B5LmV4Y2x1ZGVzICIlV2Vi
S2l0T3V0cHV0RGlyJVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xJbnNwZWN0b3JCYWNrZW5k
U3R1Yi5qcyIgIiVXZWJLaXRPdXRwdXREaXIlXGJpblxXZWJLaXQucmVzb3VyY2VzXGluc3BlY3Rv
ciIKIG1rZGlyIDI+TlVMICIlV2ViS2l0T3V0cHV0RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xl
bi5scHJvaiIKIHhjb3B5IC95IC9kIC9zIC9leGNsdWRlOnhjb3B5LmV4Y2x1ZGVzICIlUHJvamVj
dERpciUuLlxFbmdsaXNoLmxwcm9qXGxvY2FsaXplZFN0cmluZ3MuanMiICIlV2ViS2l0T3V0cHV0
RGlyJVxiaW5cV2ViS2l0LnJlc291cmNlc1xlbi5scHJvaiIKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTFkNmY2Ny4uOTY3ZjczNiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIyMzc1LDYgKzIyMzc1LDcgQEAK
IAkJCSk7CiAJCQlpbnB1dFBhdGhzID0gKAogCQkJCSIkKFNSQ1JPT1QpL2luc3BlY3Rvci9mcm9u
dC1lbmQiLAorCQkJCSIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMiLAogCQkJCSIke0JVSUxUX1BST0RVQ1RTX0RJUn0v
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcyIsCiAJCQkpOwog
CQkJbmFtZSA9ICJDb3B5IEluc3BlY3RvciBSZXNvdXJjZXMiOwpAQCAtMjIzODMsNyArMjIzODQs
NyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gIiMgQ29weSBhbGwgdGhl
IEluc3BlY3RvciBmcm9udC1lbmQgcmVzb3VyY2VzLlxuZGl0dG8gXCIke1NSQ1JPT1R9L2luc3Bl
Y3Rvci9mcm9udC1lbmRcIiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNP
VVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiXG5kaXR0byBcIiR7QlVJTFRfUFJPRFVDVFNf
RElSfS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckJhY2tlbmRTdHViLmpzXCIgXCIk
e1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9p
bnNwZWN0b3JcIlxuXG4jIFJlbW92ZSB0aGUgV2ViS2l0LnFyYyBmaWxlIHNpbmNlIGl0IGlzIG5v
dCB1c2VkIG9uIHRoZSBNYWMgKHRoaXMgZmlsZSBpcyBmb3IgUXQpLlxucm0gLWYgXCIke1RBUkdF
VF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0
b3IvV2ViS2l0LnFyY1wiXG5cbiMgUmVtb3ZlICoucmUyanMgZmlsZXMsIHRoZXkgYXJlIG9ubHkg
dXNlZCB0byBnZW5lcmF0ZSBzb21lIC5qcyBmaWxlcy5cbnJtIC1mIFwiJHtUQVJHRVRfQlVJTERf
RElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yL1wiKi5y
ZTJqc1xuXG4jIFJlbW92ZSBhbnkgLnN2biBkaXJlY3RvcmllcyB0aGF0IG1heSBoYXZlIGJlZW4g
Y29waWVkIG92ZXIuXG5maW5kIFwiJHtUQVJHRVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JF
U09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVjdG9yXCIgLW5hbWUgXCIuc3ZuXCIgLXR5cGUgZCB8
IHhhcmdzIHJtIC1yZlxuIjsKKwkJCXNoZWxsU2NyaXB0ID0gIiMgQ29weSBhbGwgdGhlIEluc3Bl
Y3RvciBmcm9udC1lbmQgcmVzb3VyY2VzLlxuZGl0dG8gXCIke1NSQ1JPT1R9L2luc3BlY3Rvci9m
cm9udC1lbmRcIiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNf
Rk9MREVSX1BBVEh9L2luc3BlY3RvclwiXG5kaXR0byBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qc1wiIFwiJHtUQVJH
RVRfQlVJTERfRElSfS8ke1VOTE9DQUxJWkVEX1JFU09VUkNFU19GT0xERVJfUEFUSH0vaW5zcGVj
dG9yXCJcbmRpdHRvIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSW5zcGVjdG9yQmFja2VuZFN0dWIuanNcIiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxP
Q0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3RvclwiXG5cbiMgUmVtb3ZlIHRo
ZSBXZWJLaXQucXJjIGZpbGUgc2luY2UgaXQgaXMgbm90IHVzZWQgb24gdGhlIE1hYyAodGhpcyBm
aWxlIGlzIGZvciBRdCkuXG5ybSAtZiBcIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtVTkxPQ0FMSVpF
RF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9L2luc3BlY3Rvci9XZWJLaXQucXJjXCJcblxuIyBSZW1v
dmUgKi5yZTJqcyBmaWxlcywgdGhleSBhcmUgb25seSB1c2VkIHRvIGdlbmVyYXRlIHNvbWUgLmpz
IGZpbGVzLlxucm0gLWYgXCIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VS
Q0VTX0ZPTERFUl9QQVRIfS9pbnNwZWN0b3IvXCIqLnJlMmpzXG5cbiMgUmVtb3ZlIGFueSAuc3Zu
IGRpcmVjdG9yaWVzIHRoYXQgbWF5IGhhdmUgYmVlbiBjb3BpZWQgb3Zlci5cbmZpbmQgXCIke1RB
UkdFVF9CVUlMRF9ESVJ9LyR7VU5MT0NBTElaRURfUkVTT1VSQ0VTX0ZPTERFUl9QQVRIfS9pbnNw
ZWN0b3JcIiAtbmFtZSBcIi5zdm5cIiAtdHlwZSBkIHwgeGFyZ3Mgcm0gLXJmXG4iOwogCQl9Owog
CQk1RDBENTQwRDBFOTg2MkY2MDAyOUUyMjMgLyogQ2hlY2sgRm9yIFdlYWsgVlRhYmxlcyBhbmQg
RXh0ZXJuYWxzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggYzNjYTFiNS4uN2VmNTUxOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCkBAIC0xNiwxMTYgKzE2LDExNiBAQCBpbml0aWFsCiAjIENTU19QUk9QX0JPUkRF
Ul9UT1BfU1RZTEUKICMgQ1NTX1BST1BfQk9SREVSX0JPVFRPTV9TVFlMRQogIyBDU1NfUFJPUF9C
T1JERVJfTEVGVF9TVFlMRQotbm9uZQotaGlkZGVuCi1pbnNldAotZ3Jvb3ZlCi1yaWRnZQotb3V0
c2V0Ci1kb3R0ZWQKLWRhc2hlZAotc29saWQKLWRvdWJsZQorbm9uZSxvdXRsaW5lLG91dGxpbmUt
c3R5bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1i
b3R0b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUsY2xlYXIsY2xpcC1wYXRoLGN1cnNvcixkaXNw
bGF5LGZsb2F0LGxpc3Qtc3R5bGUtdHlwZSxsaXN0LXN0eWxlLWltYWdlLG1hcnF1ZWUtc3R5bGUs
bWF4LWhlaWdodCxtYXgtd2lkdGgscG9pbnRlci1ldmVudHMsc3BlYWssdGV4dC1saW5lLXRocm91
Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZSx0ZXh0LXVuZGVy
bGluZSx0ZXh0LXVuZGVybGluZS1zdHlsZSx0ZXh0LXRyYW5zZm9ybSwtd2Via2l0LWZvbnQtc21v
b3RoaW5nLC13ZWJraXQtaHlwaGVucywtd2Via2l0LXRleHQtY29tYmluZQoraGlkZGVuLG91dGxp
bmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmlnaHQtc3R5
bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZSx2aXNpYmlsaXR5LG92ZXJm
bG93LG92ZXJmbG93LXgsb3ZlcmZsb3cteQoraW5zZXQsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJv
cmRlcixib3JkZXItdG9wLXN0eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0
eWxlLGJvcmRlci1sZWZ0LXN0eWxlCitncm9vdmUsb3V0bGluZSxvdXRsaW5lLXN0eWxlLGJvcmRl
cixib3JkZXItdG9wLXN0eWxlLGJvcmRlci1yaWdodC1zdHlsZSxib3JkZXItYm90dG9tLXN0eWxl
LGJvcmRlci1sZWZ0LXN0eWxlCityaWRnZSxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJv
cmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9y
ZGVyLWxlZnQtc3R5bGUKK291dHNldCxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRl
ci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVy
LWxlZnQtc3R5bGUKK2RvdHRlZCxvdXRsaW5lLG91dGxpbmUtc3R5bGUsYm9yZGVyLGJvcmRlci10
b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0b20tc3R5bGUsYm9yZGVyLWxl
ZnQtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1v
dmVybGluZS1zdHlsZSx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVybGluZS1zdHlsZQorZGFzaGVk
LG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRvcC1zdHlsZSxib3JkZXItcmln
aHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXItbGVmdC1zdHlsZSx0ZXh0LWxpbmUt
dGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0ZXh0LW92ZXJsaW5lLXN0eWxlLHRleHQt
dW5kZXJsaW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlCitzb2xpZCxvdXRsaW5lLG91dGxpbmUtc3R5
bGUsYm9yZGVyLGJvcmRlci10b3Atc3R5bGUsYm9yZGVyLXJpZ2h0LXN0eWxlLGJvcmRlci1ib3R0
b20tc3R5bGUsYm9yZGVyLWxlZnQtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRo
cm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHlsZSx0ZXh0LXVuZGVybGluZSx0ZXh0LXVuZGVy
bGluZS1zdHlsZQorZG91YmxlLG91dGxpbmUsb3V0bGluZS1zdHlsZSxib3JkZXIsYm9yZGVyLXRv
cC1zdHlsZSxib3JkZXItcmlnaHQtc3R5bGUsYm9yZGVyLWJvdHRvbS1zdHlsZSxib3JkZXItbGVm
dC1zdHlsZSx0ZXh0LWxpbmUtdGhyb3VnaCx0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSx0ZXh0LW92
ZXJsaW5lLXN0eWxlLHRleHQtdW5kZXJsaW5lLHRleHQtdW5kZXJsaW5lLXN0eWxlCiAjCiAjIENT
U19QUk9QX0ZPTlQ6CiAjCi1jYXB0aW9uCi1pY29uCi1tZW51Ci1tZXNzYWdlLWJveAotc21hbGwt
Y2FwdGlvbgotLXdlYmtpdC1taW5pLWNvbnRyb2wKLS13ZWJraXQtc21hbGwtY29udHJvbAotLXdl
YmtpdC1jb250cm9sCi1zdGF0dXMtYmFyCitjYXB0aW9uLGZvbnQKK2ljb24sZm9udAorbWVudSxm
b250CittZXNzYWdlLWJveCxmb250CitzbWFsbC1jYXB0aW9uLGZvbnQKKy13ZWJraXQtbWluaS1j
b250cm9sLGZvbnQKKy13ZWJraXQtc21hbGwtY29udHJvbCxmb250Cistd2Via2l0LWNvbnRyb2ws
Zm9udAorc3RhdHVzLWJhcixmb250CiAKICMKICMgQ1NTX1BST1BfRk9OVF9TVFlMRToKICMKLSNu
b3JtYWwKLWl0YWxpYwotb2JsaXF1ZQorI25vcm1hbCxmb250LXN0eWxlLGZvbnQKK2l0YWxpYyxm
b250LXN0eWxlLGZvbnQKK29ibGlxdWUsZm9udC1zdHlsZSxmb250CiAjIFRoZSBmb2xsb3dpbmcg
aXMgb25seSBhbGxvd2VkIGluIEBmb250LWZhY2U6Ci1hbGwKK2FsbCxwb2ludGVyLWV2ZW50cwog
IwogIyBDU1NfUFJPUF9GT05UX1ZBUklBTlQ6CiAjCi0jbm9ybWFsCi1zbWFsbC1jYXBzCisjbm9y
bWFsLGZvbnQtdmFyaWFudCxmb250CitzbWFsbC1jYXBzLGZvbnQtdmFyaWFudCxmb250CiAjCiAj
IENTU19QUk9QX0ZPTlRfV0VJR0hUOgogIwotbm9ybWFsCi1ib2xkCi1ib2xkZXIKLWxpZ2h0ZXIK
LTEwMAotMjAwCi0zMDAKLTQwMAotNTAwCi02MDAKLTcwMAotODAwCi05MDAKK25vcm1hbCxmb250
LXdlaWdodCxmb250LGZvbnQtc3R5bGUsZm9udC12YXJpYW50LGZvbnQtc3RyZXRjaCxib3gtZGly
ZWN0aW9uLG1hcnF1ZWUtc3BlZWQsd2hpdGUtc3BhY2UsbGV0dGVyLXNwYWNpbmcsbGluZS1oZWln
aHQsc3BlYWssdGV4dC1saW5lLXRocm91Z2gtd2lkdGgsdGV4dC1vdmVybGluZS13aWR0aCx0ZXh0
LXVuZGVybGluZS13aWR0aCx1bmljb2RlLWJpZGksd29yZC13cmFwCitib2xkLGZvbnQtd2VpZ2h0
LGZvbnQKK2JvbGRlcixmb250LXdlaWdodCxmb250CitsaWdodGVyLGZvbnQtd2VpZ2h0LGZvbnQK
KzEwMCxmb250LXdlaWdodCxmb250CisyMDAsZm9udC13ZWlnaHQsZm9udAorMzAwLGZvbnQtd2Vp
Z2h0LGZvbnQKKzQwMCxmb250LXdlaWdodCxmb250Cis1MDAsZm9udC13ZWlnaHQsZm9udAorNjAw
LGZvbnQtd2VpZ2h0LGZvbnQKKzcwMCxmb250LXdlaWdodCxmb250Cis4MDAsZm9udC13ZWlnaHQs
Zm9udAorOTAwLGZvbnQtd2VpZ2h0LGZvbnQKICMKICMgQ1NTX1BST1BfRk9OVF9TSVpFOgogIwot
eHgtc21hbGwKLXgtc21hbGwKLXNtYWxsCi1tZWRpdW0KLWxhcmdlCi14LWxhcmdlCi14eC1sYXJn
ZQotLXdlYmtpdC14eHgtbGFyZ2UKLXNtYWxsZXIKLWxhcmdlcgoreHgtc21hbGwsZm9udC1zaXpl
LGZvbnQKK3gtc21hbGwsZm9udC1zaXplLGZvbnQKK3NtYWxsLGZvbnQtc2l6ZSxmb250CittZWRp
dW0sZm9udC1zaXplLGZvbnQsb3V0bGluZS13aWR0aCxib3JkZXItd2lkdGgsYm9yZGVyLXRvcC13
aWR0aCxib3JkZXItcmlnaHQtd2lkdGgsYm9yZGVyLWJvdHRvbS13aWR0aCxib3JkZXItbGVmdC13
aWR0aCx0ZXh0LWxpbmUtdGhyb3VnaC13aWR0aCx0ZXh0LW92ZXJsaW5lLXdpZHRoLHRleHQtdW5k
ZXJsaW5lLXdpZHRoCitsYXJnZSxmb250LXNpemUsZm9udAoreC1sYXJnZSxmb250LXNpemUsZm9u
dAoreHgtbGFyZ2UsZm9udC1zaXplLGZvbnQKKy13ZWJraXQteHh4LWxhcmdlLGZvbnQtc2l6ZSxm
b250CitzbWFsbGVyLGZvbnQtc2l6ZSxmb250CitsYXJnZXIsZm9udC1zaXplLGZvbnQKICMKICMg
Q1NTX1BST1BfRk9OVF9TVFJFVENIOgogIwotI25vcm1hbAotd2lkZXIKLW5hcnJvd2VyCi11bHRy
YS1jb25kZW5zZWQKLWV4dHJhLWNvbmRlbnNlZAotY29uZGVuc2VkCi1zZW1pLWNvbmRlbnNlZAot
c2VtaS1leHBhbmRlZAotZXhwYW5kZWQKLWV4dHJhLWV4cGFuZGVkCi11bHRyYS1leHBhbmRlZAor
I25vcm1hbCxmb250LXN0cmV0Y2gKK3dpZGVyLGZvbnQtc3RyZXRjaAorbmFycm93ZXIsZm9udC1z
dHJldGNoCit1bHRyYS1jb25kZW5zZWQsZm9udC1zdHJldGNoCitleHRyYS1jb25kZW5zZWQsZm9u
dC1zdHJldGNoCitjb25kZW5zZWQsZm9udC1zdHJldGNoCitzZW1pLWNvbmRlbnNlZCxmb250LXN0
cmV0Y2gKK3NlbWktZXhwYW5kZWQsZm9udC1zdHJldGNoCitleHBhbmRlZCxmb250LXN0cmV0Y2gK
K2V4dHJhLWV4cGFuZGVkLGZvbnQtc3RyZXRjaAordWx0cmEtZXhwYW5kZWQsZm9udC1zdHJldGNo
CiAjCiAjIENTU19QUk9QX0dFTkVSSUNfRk9OVF9GQU1JTFk6CiAjCi1zZXJpZgotc2Fucy1zZXJp
ZgotY3Vyc2l2ZQotZmFudGFzeQotbW9ub3NwYWNlCi0td2Via2l0LWJvZHkKK3NlcmlmLGZvbnQt
ZmFtaWx5LGZvbnQKK3NhbnMtc2VyaWYsZm9udC1mYW1pbHksZm9udAorY3Vyc2l2ZSxmb250LWZh
bWlseSxmb250CitmYW50YXN5LGZvbnQtZmFtaWx5LGZvbnQKK21vbm9zcGFjZSxmb250LWZhbWls
eSxmb250Cistd2Via2l0LWJvZHksZm9udC1mYW1pbHksZm9udAogIwogIwogIyBDU1NfUFJPUF8q
X0NPTE9SCiAjCi1hcXVhCi1ibGFjawotYmx1ZQotZnVjaHNpYQotZ3JheQotZ3JlZW4KLWxpbWUK
LW1hcm9vbgotbmF2eQotb2xpdmUKLW9yYW5nZQotcHVycGxlCi1yZWQKLXNpbHZlcgotdGVhbAot
d2hpdGUKLXllbGxvdwotdHJhbnNwYXJlbnQKK2FxdWEsX2NvbG9yXworYmxhY2ssX2NvbG9yXwor
Ymx1ZSxfY29sb3JfCitmdWNoc2lhLF9jb2xvcl8KK2dyYXksX2NvbG9yXworZ3JlZW4sX2NvbG9y
XworbGltZSxfY29sb3JfCittYXJvb24sX2NvbG9yXworbmF2eSxfY29sb3JfCitvbGl2ZSxfY29s
b3JfCitvcmFuZ2UsX2NvbG9yXworcHVycGxlLF9jb2xvcl8KK3JlZCxfY29sb3JfCitzaWx2ZXIs
X2NvbG9yXwordGVhbCxfY29sb3JfCit3aGl0ZSxfY29sb3JfCit5ZWxsb3csX2NvbG9yXwordHJh
bnNwYXJlbnQsX2NvbG9yXwogLXdlYmtpdC1saW5rCiAtd2Via2l0LWFjdGl2ZWxpbmsKIGFjdGl2
ZWJvcmRlcgpAQCAtMTM4LDcgKzEzOCw3IEBAIGJ1dHRvbnNoYWRvdwogYnV0dG9udGV4dAogY2Fw
dGlvbnRleHQKIGdyYXl0ZXh0Ci1oaWdobGlnaHQKK2hpZ2hsaWdodCwtd2Via2l0LWJhY2tncm91
bmQtY29tcG9zaXRlCiBoaWdobGlnaHR0ZXh0CiBpbmFjdGl2ZWJvcmRlcgogaW5hY3RpdmVjYXB0
aW9uCkBAIC0xNTcsMzAzICsxNTcsMzAzIEBAIHdpbmRvdwogd2luZG93ZnJhbWUKIHdpbmRvd3Rl
eHQKIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcgotY3VycmVudGNvbG9yCitjdXJyZW50Y29sb3Is
X2NvbG9yXwogIwogIyBjb2xvcnMgaW4gbm9uIHN0cmljdCBtb2RlCi1ncmV5CitncmV5LF9jb2xv
cl8KIC13ZWJraXQtdGV4dAogIwogIyBDU1NfUFJPUF9CQUNLR1JPVU5EX1JFUEVBVDoKICMKLXJl
cGVhdAotcmVwZWF0LXgKLXJlcGVhdC15Ci1uby1yZXBlYXQKLSMgcm91bmQKLSMgc3BhY2UKK3Jl
cGVhdCxiYWNrZ3JvdW5kLXJlcGVhdCxib3JkZXItaW1hZ2UKK3JlcGVhdC14LGJhY2tncm91bmQt
cmVwZWF0CityZXBlYXQteSxiYWNrZ3JvdW5kLXJlcGVhdAorbm8tcmVwZWF0LGJhY2tncm91bmQt
cmVwZWF0CisjIHJvdW5kLGJhY2tncm91bmQtcmVwZWF0CisjIHNwYWNlLGJhY2tncm91bmQtcmVw
ZWF0CiAjCiAjIENTU19QUk9QX19XRUJLSVRfQkFDS0dST1VORF9DT01QT1NJVEU6CiAjCi1jbGVh
cgotY29weQotc291cmNlLW92ZXIKLXNvdXJjZS1pbgotc291cmNlLW91dAotc291cmNlLWF0b3AK
LWRlc3RpbmF0aW9uLW92ZXIKLWRlc3RpbmF0aW9uLWluCi1kZXN0aW5hdGlvbi1vdXQKLWRlc3Rp
bmF0aW9uLWF0b3AKLXhvcgotcGx1cy1kYXJrZXIKLSMgaGlnaGxpZ2h0Ci1wbHVzLWxpZ2h0ZXIK
K2NsZWFyLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2NvcHksLXdlYmtpdC1iYWNrZ3Jv
dW5kLWNvbXBvc2l0ZSxjdXJzb3IKK3NvdXJjZS1vdmVyLC13ZWJraXQtYmFja2dyb3VuZC1jb21w
b3NpdGUKK3NvdXJjZS1pbiwtd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlCitzb3VyY2Utb3V0
LC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3NvdXJjZS1hdG9wLC13ZWJraXQtYmFja2dy
b3VuZC1jb21wb3NpdGUKK2Rlc3RpbmF0aW9uLW92ZXIsLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBv
c2l0ZQorZGVzdGluYXRpb24taW4sLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQorZGVzdGlu
YXRpb24tb3V0LC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK2Rlc3RpbmF0aW9uLWF0b3As
LXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQoreG9yLC13ZWJraXQtYmFja2dyb3VuZC1jb21w
b3NpdGUKK3BsdXMtZGFya2VyLC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKKyMgaGlnaGxp
Z2h0LC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKK3BsdXMtbGlnaHRlciwtd2Via2l0LWJh
Y2tncm91bmQtY29tcG9zaXRlCiAjCiAjIENTU19QUk9QX1ZFUlRJQ0FMX0FMSUdOOgogIwotYmFz
ZWxpbmUKLW1pZGRsZQotc3ViCi1zdXBlcgotdGV4dC10b3AKLXRleHQtYm90dG9tCi10b3AKLWJv
dHRvbQorYmFzZWxpbmUsdmVydGljYWwtYWxpZ24sYWxpZ25tZW50LWJhc2VsaW5lLGJhc2VsaW5l
LXNoaWZ0LGJveC1hbGlnbgorbWlkZGxlLHZlcnRpY2FsLWFsaWduLGFsaWdubWVudC1iYXNlbGlu
ZSxkb21pbmFudC1iYXNlbGluZQorc3ViLHZlcnRpY2FsLWFsaWduLGJhc2VsaW5lLXNoaWZ0Citz
dXBlcix2ZXJ0aWNhbC1hbGlnbixiYXNlbGluZS1zaGlmdAordGV4dC10b3AsdmVydGljYWwtYWxp
Z24KK3RleHQtYm90dG9tLHZlcnRpY2FsLWFsaWduCit0b3AsdmVydGljYWwtYWxpZ24KK2JvdHRv
bSx2ZXJ0aWNhbC1hbGlnbgogIyBIVE1MIGFsaWdubWVudCBNSURETEUgaGFzIG5vIGNvcnJlc3Bv
bmRpbmcgQ1NTIGFsaWdubWVudAotLXdlYmtpdC1iYXNlbGluZS1taWRkbGUKKy13ZWJraXQtYmFz
ZWxpbmUtbWlkZGxlLHZlcnRpY2FsLWFsaWduCiAjCiAjIENTU19QUk9QX1RFWFRfQUxJR046CiAj
Ci0td2Via2l0LWF1dG8KLWxlZnQKLXJpZ2h0Ci1jZW50ZXIKLWp1c3RpZnkKLS13ZWJraXQtbGVm
dAotLXdlYmtpdC1yaWdodAotLXdlYmtpdC1jZW50ZXIKKy13ZWJraXQtYXV0byx0ZXh0LWFsaWdu
CitsZWZ0LHRleHQtYWxpZ24sY2xlYXIsZmxvYXQsbWFycXVlZS1kaXJlY3Rpb24sYm94LXJlZmxl
Y3QscGFnZS1icmVhay1hZnRlcixwYWdlLWJyZWFrLWJlZm9yZQorcmlnaHQsdGV4dC1hbGlnbixj
bGVhcixmbG9hdCxtYXJxdWVlLWRpcmVjdGlvbixib3gtcmVmbGVjdCxwYWdlLWJyZWFrLWFmdGVy
LHBhZ2UtYnJlYWstYmVmb3JlCitjZW50ZXIsdGV4dC1hbGlnbixib3gtYWxpZ24KK2p1c3RpZnks
dGV4dC1hbGlnbgorLXdlYmtpdC1sZWZ0LHRleHQtYWxpZ24KKy13ZWJraXQtcmlnaHQsdGV4dC1h
bGlnbgorLXdlYmtpdC1jZW50ZXIsdGV4dC1hbGlnbgogIwogIyBDU1NfUFJPUF9MSVNUX1NUWUxF
X1BPU0lUSU9OOgogIwotb3V0c2lkZQotaW5zaWRlCitvdXRzaWRlLGxpc3Qtc3R5bGUtcG9zaXRp
b24KK2luc2lkZSxsaXN0LXN0eWxlLXBvc2l0aW9uCiAjCiAjIENTU19QUk9QX0xJU1RfU1RZTEVf
VFlQRToKICMKLWRpc2MKLWNpcmNsZQotc3F1YXJlCi1kZWNpbWFsCi1kZWNpbWFsLWxlYWRpbmct
emVybwotYXJhYmljLWluZGljCi1iaW5hcnkKLWJlbmdhbGkKLWNhbWJvZGlhbgota2htZXIKLWRl
dmFuYWdhcmkKLWd1amFyYXRpCi1ndXJtdWtoaQota2FubmFkYQotbG93ZXItaGV4YWRlY2ltYWwK
LWxhbwotbWFsYXlhbGFtCi1tb25nb2xpYW4KLW15YW5tYXIKLW9jdGFsCi1vcml5YQotcGVyc2lh
bgotdXJkdQotdGVsdWd1Ci10aWJldGFuCi10aGFpCi11cHBlci1oZXhhZGVjaW1hbAotbG93ZXIt
cm9tYW4KLXVwcGVyLXJvbWFuCi1sb3dlci1ncmVlawotbG93ZXItYWxwaGEKLWxvd2VyLWxhdGlu
Ci11cHBlci1hbHBoYQotdXBwZXItbGF0aW4KLWFmYXIKLWV0aGlvcGljLWhhbGVoYW1lLWFhLWV0
Ci1ldGhpb3BpYy1oYWxlaGFtZS1hYS1lcgotYW1oYXJpYwotZXRoaW9waWMtaGFsZWhhbWUtYW0t
ZXQKLWFtaGFyaWMtYWJlZ2VkZQotZXRoaW9waWMtYWJlZ2VkZS1hbS1ldAotY2prLWVhcnRobHkt
YnJhbmNoCi1jamstaGVhdmVubHktc3RlbQotZXRoaW9waWMKLWV0aGlvcGljLWhhbGVoYW1lLWdl
egotZXRoaW9waWMtYWJlZ2VkZQotZXRoaW9waWMtYWJlZ2VkZS1nZXoKLWhhbmd1bC1jb25zb25h
bnQKLWhhbmd1bAotbG93ZXItbm9yd2VnaWFuCi1vcm9tbwotZXRoaW9waWMtaGFsZWhhbWUtb20t
ZXQKLXNpZGFtYQotZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0Ci1zb21hbGkKLWV0aGlvcGljLWhh
bGVoYW1lLXNvLWV0Ci10aWdyZQotZXRoaW9waWMtaGFsZWhhbWUtdGlnCi10aWdyaW55YS1lcgot
ZXRoaW9waWMtaGFsZWhhbWUtdGktZXIKLXRpZ3JpbnlhLWVyLWFiZWdlZGUKLWV0aGlvcGljLWFi
ZWdlZGUtdGktZXIKLXRpZ3JpbnlhLWV0Ci1ldGhpb3BpYy1oYWxlaGFtZS10aS1ldAotdGlncmlu
eWEtZXQtYWJlZ2VkZQotZXRoaW9waWMtYWJlZ2VkZS10aS1ldAotdXBwZXItZ3JlZWsKLXVwcGVy
LW5vcndlZ2lhbgotYXN0ZXJpc2tzCi1mb290bm90ZXMKLWhlYnJldwotYXJtZW5pYW4KLWxvd2Vy
LWFybWVuaWFuCi11cHBlci1hcm1lbmlhbgotZ2VvcmdpYW4KLWNqay1pZGVvZ3JhcGhpYwotaGly
YWdhbmEKLWthdGFrYW5hCi1oaXJhZ2FuYS1pcm9oYQota2F0YWthbmEtaXJvaGEKLSNub25lCitk
aXNjLGxpc3Qtc3R5bGUtdHlwZQorY2lyY2xlLGxpc3Qtc3R5bGUtdHlwZSwtd2Via2l0LXRleHQt
ZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlCitzcXVhcmUsbGlzdC1zdHlsZS10
eXBlCitkZWNpbWFsLGxpc3Qtc3R5bGUtdHlwZQorZGVjaW1hbC1sZWFkaW5nLXplcm8sbGlzdC1z
dHlsZS10eXBlCithcmFiaWMtaW5kaWMsbGlzdC1zdHlsZS10eXBlCitiaW5hcnksbGlzdC1zdHls
ZS10eXBlCitiZW5nYWxpLGxpc3Qtc3R5bGUtdHlwZQorY2FtYm9kaWFuLGxpc3Qtc3R5bGUtdHlw
ZQora2htZXIsbGlzdC1zdHlsZS10eXBlCitkZXZhbmFnYXJpLGxpc3Qtc3R5bGUtdHlwZQorZ3Vq
YXJhdGksbGlzdC1zdHlsZS10eXBlCitndXJtdWtoaSxsaXN0LXN0eWxlLXR5cGUKK2thbm5hZGEs
bGlzdC1zdHlsZS10eXBlCitsb3dlci1oZXhhZGVjaW1hbCxsaXN0LXN0eWxlLXR5cGUKK2xhbyxs
aXN0LXN0eWxlLXR5cGUKK21hbGF5YWxhbSxsaXN0LXN0eWxlLXR5cGUKK21vbmdvbGlhbixsaXN0
LXN0eWxlLXR5cGUKK215YW5tYXIsbGlzdC1zdHlsZS10eXBlCitvY3RhbCxsaXN0LXN0eWxlLXR5
cGUKK29yaXlhLGxpc3Qtc3R5bGUtdHlwZQorcGVyc2lhbixsaXN0LXN0eWxlLXR5cGUKK3VyZHUs
bGlzdC1zdHlsZS10eXBlCit0ZWx1Z3UsbGlzdC1zdHlsZS10eXBlCit0aWJldGFuLGxpc3Qtc3R5
bGUtdHlwZQordGhhaSxsaXN0LXN0eWxlLXR5cGUKK3VwcGVyLWhleGFkZWNpbWFsLGxpc3Qtc3R5
bGUtdHlwZQorbG93ZXItcm9tYW4sbGlzdC1zdHlsZS10eXBlCit1cHBlci1yb21hbixsaXN0LXN0
eWxlLXR5cGUKK2xvd2VyLWdyZWVrLGxpc3Qtc3R5bGUtdHlwZQorbG93ZXItYWxwaGEsbGlzdC1z
dHlsZS10eXBlCitsb3dlci1sYXRpbixsaXN0LXN0eWxlLXR5cGUKK3VwcGVyLWFscGhhLGxpc3Qt
c3R5bGUtdHlwZQordXBwZXItbGF0aW4sbGlzdC1zdHlsZS10eXBlCithZmFyLGxpc3Qtc3R5bGUt
dHlwZQorZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1o
YWxlaGFtZS1hYS1lcixsaXN0LXN0eWxlLXR5cGUKK2FtaGFyaWMsbGlzdC1zdHlsZS10eXBlCitl
dGhpb3BpYy1oYWxlaGFtZS1hbS1ldCxsaXN0LXN0eWxlLXR5cGUKK2FtaGFyaWMtYWJlZ2VkZSxs
aXN0LXN0eWxlLXR5cGUKK2V0aGlvcGljLWFiZWdlZGUtYW0tZXQsbGlzdC1zdHlsZS10eXBlCitj
amstZWFydGhseS1icmFuY2gsbGlzdC1zdHlsZS10eXBlCitjamstaGVhdmVubHktc3RlbSxsaXN0
LXN0eWxlLXR5cGUKK2V0aGlvcGljLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUt
Z2V6LGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtYWJlZ2VkZSxsaXN0LXN0eWxlLXR5cGUKK2V0
aGlvcGljLWFiZWdlZGUtZ2V6LGxpc3Qtc3R5bGUtdHlwZQoraGFuZ3VsLWNvbnNvbmFudCxsaXN0
LXN0eWxlLXR5cGUKK2hhbmd1bCxsaXN0LXN0eWxlLXR5cGUKK2xvd2VyLW5vcndlZ2lhbixsaXN0
LXN0eWxlLXR5cGUKK29yb21vLGxpc3Qtc3R5bGUtdHlwZQorZXRoaW9waWMtaGFsZWhhbWUtb20t
ZXQsbGlzdC1zdHlsZS10eXBlCitzaWRhbWEsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxl
aGFtZS1zaWQtZXQsbGlzdC1zdHlsZS10eXBlCitzb21hbGksbGlzdC1zdHlsZS10eXBlCitldGhp
b3BpYy1oYWxlaGFtZS1zby1ldCxsaXN0LXN0eWxlLXR5cGUKK3RpZ3JlLGxpc3Qtc3R5bGUtdHlw
ZQorZXRoaW9waWMtaGFsZWhhbWUtdGlnLGxpc3Qtc3R5bGUtdHlwZQordGlncmlueWEtZXIsbGlz
dC1zdHlsZS10eXBlCitldGhpb3BpYy1oYWxlaGFtZS10aS1lcixsaXN0LXN0eWxlLXR5cGUKK3Rp
Z3JpbnlhLWVyLWFiZWdlZGUsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1hYmVnZWRlLXRpLWVy
LGxpc3Qtc3R5bGUtdHlwZQordGlncmlueWEtZXQsbGlzdC1zdHlsZS10eXBlCitldGhpb3BpYy1o
YWxlaGFtZS10aS1ldCxsaXN0LXN0eWxlLXR5cGUKK3RpZ3JpbnlhLWV0LWFiZWdlZGUsbGlzdC1z
dHlsZS10eXBlCitldGhpb3BpYy1hYmVnZWRlLXRpLWV0LGxpc3Qtc3R5bGUtdHlwZQordXBwZXIt
Z3JlZWssbGlzdC1zdHlsZS10eXBlCit1cHBlci1ub3J3ZWdpYW4sbGlzdC1zdHlsZS10eXBlCith
c3Rlcmlza3MsbGlzdC1zdHlsZS10eXBlCitmb290bm90ZXMsbGlzdC1zdHlsZS10eXBlCitoZWJy
ZXcsbGlzdC1zdHlsZS10eXBlCithcm1lbmlhbixsaXN0LXN0eWxlLXR5cGUKK2xvd2VyLWFybWVu
aWFuLGxpc3Qtc3R5bGUtdHlwZQordXBwZXItYXJtZW5pYW4sbGlzdC1zdHlsZS10eXBlCitnZW9y
Z2lhbixsaXN0LXN0eWxlLXR5cGUKK2Nqay1pZGVvZ3JhcGhpYyxsaXN0LXN0eWxlLXR5cGUKK2hp
cmFnYW5hLGxpc3Qtc3R5bGUtdHlwZQora2F0YWthbmEsbGlzdC1zdHlsZS10eXBlCitoaXJhZ2Fu
YS1pcm9oYSxsaXN0LXN0eWxlLXR5cGUKK2thdGFrYW5hLWlyb2hhLGxpc3Qtc3R5bGUtdHlwZQor
I25vbmUsbGlzdC1zdHlsZS10eXBlCiAjCiAjIENTU19QUk9QX0RJU1BMQVk6CiAjCi1pbmxpbmUK
LWJsb2NrCi1saXN0LWl0ZW0KLXJ1bi1pbgotY29tcGFjdAotaW5saW5lLWJsb2NrCi10YWJsZQot
aW5saW5lLXRhYmxlCi10YWJsZS1yb3ctZ3JvdXAKLXRhYmxlLWhlYWRlci1ncm91cAotdGFibGUt
Zm9vdGVyLWdyb3VwCi10YWJsZS1yb3cKLXRhYmxlLWNvbHVtbi1ncm91cAotdGFibGUtY29sdW1u
Ci10YWJsZS1jZWxsCi10YWJsZS1jYXB0aW9uCi0td2Via2l0LWJveAotLXdlYmtpdC1pbmxpbmUt
Ym94Ci0td2FwLW1hcnF1ZWUKLSNub25lCitpbmxpbmUsZGlzcGxheQorYmxvY2ssZGlzcGxheQor
bGlzdC1pdGVtLGRpc3BsYXksY29udGVudAorcnVuLWluLGRpc3BsYXkKK2NvbXBhY3QsZGlzcGxh
eQoraW5saW5lLWJsb2NrLGRpc3BsYXkKK3RhYmxlLGRpc3BsYXkKK2lubGluZS10YWJsZSxkaXNw
bGF5Cit0YWJsZS1yb3ctZ3JvdXAsZGlzcGxheQordGFibGUtaGVhZGVyLWdyb3VwLGRpc3BsYXkK
K3RhYmxlLWZvb3Rlci1ncm91cCxkaXNwbGF5Cit0YWJsZS1yb3csZGlzcGxheQordGFibGUtY29s
dW1uLWdyb3VwLGRpc3BsYXkKK3RhYmxlLWNvbHVtbixkaXNwbGF5Cit0YWJsZS1jZWxsLGRpc3Bs
YXkKK3RhYmxlLWNhcHRpb24sZGlzcGxheQorLXdlYmtpdC1ib3gsZGlzcGxheQorLXdlYmtpdC1p
bmxpbmUtYm94LGRpc3BsYXkKKy13YXAtbWFycXVlZSxkaXNwbGF5Cisjbm9uZSxkaXNwbGF5CiAj
CiAjIENTU19QUk9QX0NVUlNPUjoKICMKLWF1dG8KLWNyb3NzaGFpcgotZGVmYXVsdAotcG9pbnRl
cgotbW92ZQotdmVydGljYWwtdGV4dAotY2VsbAotY29udGV4dC1tZW51Ci1hbGlhcwotIyBjb3B5
Ci1wcm9ncmVzcwotbm8tZHJvcAotbm90LWFsbG93ZWQKLS13ZWJraXQtem9vbS1pbgotLXdlYmtp
dC16b29tLW91dAotZS1yZXNpemUKLW5lLXJlc2l6ZQotbnctcmVzaXplCi1uLXJlc2l6ZQotc2Ut
cmVzaXplCi1zdy1yZXNpemUKLXMtcmVzaXplCi13LXJlc2l6ZQotZXctcmVzaXplCi1ucy1yZXNp
emUKLW5lc3ctcmVzaXplCi1ud3NlLXJlc2l6ZQotY29sLXJlc2l6ZQotcm93LXJlc2l6ZQotdGV4
dAotd2FpdAotaGVscAotYWxsLXNjcm9sbAotLXdlYmtpdC1ncmFiCi0td2Via2l0LWdyYWJiaW5n
Ci0jIG5vbmUKK2F1dG8sY3Vyc29yLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGlu
ZSxjb2xvci1yZW5kZXJpbmcsaW1hZ2UtcmVuZGVyaW5nLG1hcmdpbixtYXJnaW4tdG9wLG1hcmdp
bi1yaWdodCxtYXJnaW4tYm90dG9tLG1hcmdpbi1sZWZ0LG1hcnF1ZWUtZGlyZWN0aW9uLG92ZXJm
bG93LG92ZXJmbG93LXgsb3ZlcmZsb3cteSxwYWdlLWJyZWFrLWFmdGVyLHBhZ2UtYnJlYWstYmVm
b3JlLHBhZ2UtYnJlYWstaW5zaWRlLHBvaW50ZXItZXZlbnRzLHRhYmxlLWxheW91dCx0ZXh0LWxp
bmUtdGhyb3VnaC13aWR0aCx0ZXh0LW92ZXJsaW5lLXdpZHRoLHRleHQtdW5kZXJsaW5lLXdpZHRo
LHRleHQtcmVuZGVyaW5nLC13ZWJraXQtZm9udC1zbW9vdGhpbmcsLXdlYmtpdC1oeXBoZW5zCitj
cm9zc2hhaXIsY3Vyc29yCitkZWZhdWx0LGN1cnNvciwtd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24K
K3BvaW50ZXIsY3Vyc29yCittb3ZlLGN1cnNvcgordmVydGljYWwtdGV4dCxjdXJzb3IKK2NlbGws
Y3Vyc29yCitjb250ZXh0LW1lbnUsY3Vyc29yCithbGlhcyxjdXJzb3IKKyMgY29weSxjdXJzb3IK
K3Byb2dyZXNzLGN1cnNvcgorbm8tZHJvcCxjdXJzb3IKK25vdC1hbGxvd2VkLGN1cnNvcgorLXdl
YmtpdC16b29tLWluLGN1cnNvcgorLXdlYmtpdC16b29tLW91dCxjdXJzb3IKK2UtcmVzaXplLGN1
cnNvcgorbmUtcmVzaXplLGN1cnNvcgorbnctcmVzaXplLGN1cnNvcgorbi1yZXNpemUsY3Vyc29y
CitzZS1yZXNpemUsY3Vyc29yCitzdy1yZXNpemUsY3Vyc29yCitzLXJlc2l6ZSxjdXJzb3IKK3ct
cmVzaXplLGN1cnNvcgorZXctcmVzaXplLGN1cnNvcgorbnMtcmVzaXplLGN1cnNvcgorbmVzdy1y
ZXNpemUsY3Vyc29yCitud3NlLXJlc2l6ZSxjdXJzb3IKK2NvbC1yZXNpemUsY3Vyc29yCityb3ct
cmVzaXplLGN1cnNvcgordGV4dCxjdXJzb3IKK3dhaXQsY3Vyc29yCitoZWxwLGN1cnNvcgorYWxs
LXNjcm9sbCxjdXJzb3IKKy13ZWJraXQtZ3JhYixjdXJzb3IKKy13ZWJraXQtZ3JhYmJpbmcsY3Vy
c29yCisjIG5vbmUsY3Vyc29yCiAjCiAjIENTU19QUk9QX0RJUkVDVElPTjoKICMKLWx0cgotcnRs
CitsdHIsZGlyZWN0aW9uCitydGwsZGlyZWN0aW9uCiAjCiAjIENTU19QUk9QX1RFWFRfVFJBTlNG
T1JNOgogIwotY2FwaXRhbGl6ZQotdXBwZXJjYXNlCi1sb3dlcmNhc2UKLSNub25lCitjYXBpdGFs
aXplLHRleHQtdHJhbnNmb3JtCit1cHBlcmNhc2UsdGV4dC10cmFuc2Zvcm0KK2xvd2VyY2FzZSx0
ZXh0LXRyYW5zZm9ybQorI25vbmUsdGV4dC10cmFuc2Zvcm0KICMKICMgQ1NTX1BST1BfVklTSUJJ
TElUWToKICMKLXZpc2libGUKLSNoaWRkZW4KLWNvbGxhcHNlCit2aXNpYmxlLHZpc2liaWxpdHks
b3ZlcmZsb3csb3ZlcmZsb3cteCxvdmVyZmxvdy15LHBvaW50ZXItZXZlbnRzCisjaGlkZGVuLHZp
c2liaWxpdHkKK2NvbGxhcHNlLHZpc2liaWxpdHksYm9yZGVyLWNvbGxhcHNlLG1hcmdpbi1iZWZv
cmUtY29sbGFwc2UsbWFyZ2luLWFmdGVyLWNvbGxhcHNlLG1hcmdpbi10b3AtY29sbGFwc2UsbWFy
Z2luLWJvdHRvbS1jb2xsYXBzZQogIwogIyBVbm9yZGVyZWQgcmVzdAogIwotYTMKLWE0Ci1hNQot
YWJvdmUKLWFic29sdXRlCi1hbHdheXMKLWF2b2lkCi1iNAotYjUKLWJlbG93Ci1iaWRpLW92ZXJy
aWRlCi1ibGluawotYm90aAotY2xvc2UtcXVvdGUKK2EzLHNpemUKK2E0LHNpemUKK2E1LHNpemUK
K2Fib3ZlLGJveC1yZWZsZWN0CithYnNvbHV0ZSxwb3NpdGlvbgorYWx3YXlzLHBhZ2UtYnJlYWst
YWZ0ZXIscGFnZS1icmVhay1iZWZvcmUKK2F2b2lkLHBhZ2UtYnJlYWstYWZ0ZXIscGFnZS1icmVh
ay1iZWZvcmUscGFnZS1icmVhay1pbnNpZGUKK2I0LHNpemUKK2I1LHNpemUKK2JlbG93LGJveC1y
ZWZsZWN0CitiaWRpLW92ZXJyaWRlLHVuaWNvZGUtYmlkaQorYmxpbmssdGV4dC1kZWNvcmF0aW9u
Citib3RoLGNsZWFyCitjbG9zZS1xdW90ZSxjb250ZW50CiBjcm9wCiBjcm9zcwotZW1iZWQKLWZp
eGVkCitlbWJlZCx1bmljb2RlLWJpZGkKK2ZpeGVkLHBvc2l0aW9uLHRhYmxlLWxheW91dAogaGFu
ZAotaGlkZQoraGlkZSxlbXB0eS1jZWxscwogaGlnaGVyCi1pbnZlcnQKLWxhbmRzY2FwZQotbGVk
Z2VyCi1sZWdhbAotbGV0dGVyCitpbnZlcnQsb3V0bGluZS1jb2xvcgorbGFuZHNjYXBlLHNpemUK
K2xlZGdlcixzaXplCitsZWdhbCxzaXplCitsZXR0ZXIsc2l6ZQogbGV2ZWwKLWxpbmUtdGhyb3Vn
aAorbGluZS10aHJvdWdoLHRleHQtZGVjb3JhdGlvbgogbG9jYWwKIGxvdWQKIGxvd2VyCiAtd2Vi
a2l0LW1hcnF1ZWUKIG1peAotbm8tY2xvc2UtcXVvdGUKLW5vLW9wZW4tcXVvdGUKLW5vd3JhcAot
b3Blbi1xdW90ZQotb3ZlcmxheQotb3ZlcmxpbmUKLXBvcnRyYWl0Ci1wcmUKLXByZS1saW5lCi1w
cmUtd3JhcAotcmVsYXRpdmUKLXNjcm9sbAotc2VwYXJhdGUKLXNob3cKLXN0YXRpYwotdGhpY2sK
LXRoaW4KLXVuZGVybGluZQorbm8tY2xvc2UtcXVvdGUsY29udGVudAorbm8tb3Blbi1xdW90ZSxj
b250ZW50Citub3dyYXAsd2hpdGUtc3BhY2UKK29wZW4tcXVvdGUsY29udGVudAorb3ZlcmxheSxv
dmVyZmxvdyxvdmVyZmxvdy14LG92ZXJmbG93LXkKK292ZXJsaW5lLHRleHQtZGVjb3JhdGlvbgor
cG9ydHJhaXQsc2l6ZQorcHJlLHdoaXRlLXNwYWNlCitwcmUtbGluZSx3aGl0ZS1zcGFjZQorcHJl
LXdyYXAsd2hpdGUtc3BhY2UKK3JlbGF0aXZlLHBvc2l0aW9uCitzY3JvbGwsbWFycXVlZS1zdHls
ZSxvdmVyZmxvdyxvdmVyZmxvdy14LG92ZXJmbG93LXkKK3NlcGFyYXRlLGJvcmRlci1jb2xsYXBz
ZSxtYXJnaW4tYmVmb3JlLWNvbGxhcHNlLG1hcmdpbi1hZnRlci1jb2xsYXBzZSxtYXJnaW4tdG9w
LWNvbGxhcHNlLG1hcmdpbi1ib3R0b20tY29sbGFwc2UKK3Nob3csZW1wdHktY2VsbHMKK3N0YXRp
Yyxwb3NpdGlvbgordGhpY2ssb3V0bGluZS13aWR0aCxib3JkZXItd2lkdGgsYm9yZGVyLXRvcC13
aWR0aCxib3JkZXItcmlnaHQtd2lkdGgsYm9yZGVyLWJvdHRvbS13aWR0aCxib3JkZXItbGVmdC13
aWR0aCx0ZXh0LWxpbmUtdGhyb3VnaC13aWR0aCx0ZXh0LW92ZXJsaW5lLXdpZHRoLHRleHQtdW5k
ZXJsaW5lLXdpZHRoCit0aGluLG91dGxpbmUtd2lkdGgsYm9yZGVyLXdpZHRoLGJvcmRlci10b3At
d2lkdGgsYm9yZGVyLXJpZ2h0LXdpZHRoLGJvcmRlci1ib3R0b20td2lkdGgsYm9yZGVyLWxlZnQt
d2lkdGgsdGV4dC1saW5lLXRocm91Z2gtd2lkdGgsdGV4dC1vdmVybGluZS13aWR0aCx0ZXh0LXVu
ZGVybGluZS13aWR0aAordW5kZXJsaW5lLHRleHQtZGVjb3JhdGlvbgogLXdlYmtpdC1ub3dyYXAK
IAogIyBDU1MzIFZhbHVlcwogIyBDU1NfUFJPUF9CT1hfQUxJR04KLXN0cmV0Y2gKLXN0YXJ0Ci1l
bmQKLSNjZW50ZXIKLSNiYXNlbGluZQorc3RyZXRjaCxib3gtYWxpZ24sYm9yZGVyLWltYWdlCitz
dGFydCxib3gtYWxpZ24KK2VuZCxib3gtYWxpZ24KKyNjZW50ZXIsYm94LWFsaWduCisjYmFzZWxp
bmUsYm94LWFsaWduCiAKICMgQ1NTX1BST1BfQk9YX0RJUkVDVElPTgotIyBub3JtYWwKLXJldmVy
c2UKKyMgbm9ybWFsLGJveC1kaXJlY3Rpb24KK3JldmVyc2UsYm94LWRpcmVjdGlvbixtYXJxdWVl
LWRpcmVjdGlvbgogCiAjIENTU19QUk9QX0JPWF9PUklFTlQKLWhvcml6b250YWwKLXZlcnRpY2Fs
Ci1pbmxpbmUtYXhpcwotYmxvY2stYXhpcworaG9yaXpvbnRhbCxib3gtb3JpZW50LC13ZWJraXQt
dGV4dC1jb21iaW5lCit2ZXJ0aWNhbCxib3gtb3JpZW50CitpbmxpbmUtYXhpcyxib3gtb3JpZW50
CitibG9jay1heGlzLGJveC1vcmllbnQKIAogIyBDU1NfUFJPUF9CT1hfUEFDSwogIyBzdGFydApA
QCAtNDYyLDMzICs0NjIsMzMgQEAgYmxvY2stYXhpcwogIyBqdXN0aWZ5CiAKICMgQ1NTX1BST1Bf
Qk9YX0xJTkVTCi1zaW5nbGUKLW11bHRpcGxlCitzaW5nbGUsYm94LWxpbmVzCittdWx0aXBsZSxi
b3gtbGluZXMKIAogIyBDU1NfUFJPUF9NQVJRVUVFX0RJUkVDVElPTgotZm9yd2FyZHMKLWJhY2t3
YXJkcwotYWhlYWQKLSMgcmV2ZXJzZQotIyBsZWZ0Ci0jIHJpZ2h0Ci11cAotZG93bgotIyBhdXRv
Citmb3J3YXJkcyxtYXJxdWVlLWRpcmVjdGlvbgorYmFja3dhcmRzLG1hcnF1ZWUtZGlyZWN0aW9u
CithaGVhZCxtYXJxdWVlLWRpcmVjdGlvbgorIyByZXZlcnNlLG1hcnF1ZWUtZGlyZWN0aW9uCisj
IGxlZnQsbWFycXVlZS1kaXJlY3Rpb24KKyMgcmlnaHQsbWFycXVlZS1kaXJlY3Rpb24KK3VwLG1h
cnF1ZWUtZGlyZWN0aW9uCitkb3duLG1hcnF1ZWUtZGlyZWN0aW9uCisjIGF1dG8sbWFycXVlZS1k
aXJlY3Rpb24KIAogIyBDU1NfUFJPUF9NQVJRVUVFX1NQRUVECi1zbG93Ci0jIG5vcm1hbAotZmFz
dAorc2xvdyxtYXJxdWVlLXNwZWVkCisjIG5vcm1hbCxtYXJxdWVlLXNwZWVkCitmYXN0LG1hcnF1
ZWUtc3BlZWQKIAogIyBDU1NfUFJPUF9NQVJRVUVFX1JFUEVUSVRJT04KLWluZmluaXRlCitpbmZp
bml0ZSxtYXJxdWVlLXJlcGV0aXRpb24KIAogIyBDU1NfUFJPUF9NQVJRVUVFX1NUWUxFCi0jIG5v
bmUKLXNsaWRlCi0jIHNjcm9sbAotYWx0ZXJuYXRlCisjIG5vbmUsbWFycXVlZS1zdHlsZQorc2xp
ZGUsbWFycXVlZS1zdHlsZQorIyBzY3JvbGwsbWFycXVlZS1zdHlsZQorYWx0ZXJuYXRlLG1hcnF1
ZWUtc3R5bGUKIAogIwogIyBDU1NfUFJPUF9fS0hUTUxfVVNFUl9NT0RJRlkKQEAgLTUxNiwyOCAr
NTE2LDI4IEBAIG1pbi1pbnRyaW5zaWMKICMKICMgQ1NTX1BST1BfVEVYVF9PVkVSRkxPVwogIwot
Y2xpcAotZWxsaXBzaXMKK2NsaXAsdGV4dC1vdmVyZmxvdyx0ZXh0LW92ZXJmbG93LW1vZGUKK2Vs
bGlwc2lzLHRleHQtb3ZlcmZsb3csdGV4dC1vdmVyZmxvdy1tb2RlCiAKICMKICMgQ1NTX1BST1Bf
X0tIVE1MX01BUkdJTl9DT0xMQVBTRQogIwotIyBjb2xsYXBzZQotIyBzZXBhcmF0ZQotZGlzY2Fy
ZAorIyBjb2xsYXBzZSxtYXJnaW4tYmVmb3JlLWNvbGxhcHNlLG1hcmdpbi1hZnRlci1jb2xsYXBz
ZSxtYXJnaW4tdG9wLWNvbGxhcHNlLG1hcmdpbi1ib3R0b20tY29sbGFwc2UKKyMgc2VwYXJhdGUs
bWFyZ2luLWJlZm9yZS1jb2xsYXBzZSxtYXJnaW4tYWZ0ZXItY29sbGFwc2UsbWFyZ2luLXRvcC1j
b2xsYXBzZSxtYXJnaW4tYm90dG9tLWNvbGxhcHNlCitkaXNjYXJkLG1hcmdpbi1iZWZvcmUtY29s
bGFwc2UsbWFyZ2luLWFmdGVyLWNvbGxhcHNlLG1hcmdpbi10b3AtY29sbGFwc2UsbWFyZ2luLWJv
dHRvbS1jb2xsYXBzZQogCiAjCiAjIENTU19QUk9QX1RFWFRfKl9DT0xPUgogIwotZG90LWRhc2gK
LWRvdC1kb3QtZGFzaAotd2F2ZQorZG90LWRhc2gsdGV4dC11bmRlcmxpbmUsdGV4dC11bmRlcmxp
bmUtc3R5bGUsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1v
dmVybGluZS1zdHlsZQorZG90LWRvdC1kYXNoLHRleHQtdW5kZXJsaW5lLHRleHQtdW5kZXJsaW5l
LXN0eWxlLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLXN0eWxlLHRleHQtb3Zl
cmxpbmUtc3R5bGUKK3dhdmUsdGV4dC11bmRlcmxpbmUsdGV4dC11bmRlcmxpbmUtc3R5bGUsdGV4
dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtc3R5bGUsdGV4dC1vdmVybGluZS1zdHls
ZQogCiAjCiAjIENTU19QUk9QX1RFWFRfKl9NT0RFCiAjCi1jb250aW51b3VzCi1za2lwLXdoaXRl
LXNwYWNlCitjb250aW51b3VzLHRleHQtbGluZS10aHJvdWdoLHRleHQtbGluZS10aHJvdWdoLW1v
ZGUsdGV4dC1vdmVybGluZS1tb2RlLHRleHQtdW5kZXJsaW5lLW1vZGUKK3NraXAtd2hpdGUtc3Bh
Y2UsdGV4dC1saW5lLXRocm91Z2gsdGV4dC1saW5lLXRocm91Z2gtbW9kZSx0ZXh0LW92ZXJsaW5l
LW1vZGUsdGV4dC11bmRlcmxpbmUtbW9kZQogCiAjCiAjIENTU19QUk9QX1dPUkRfQlJFQUsKQEAg
LTU0NywxMiArNTQ3LDEyIEBAIGJyZWFrLWFsbAogIwogIyBDU1NfUFJPUF9XT1JEX1dSQVAKICMK
LWJyZWFrLXdvcmQKK2JyZWFrLXdvcmQsd29yZC13cmFwCiAKICMKICMgQ1NTX1BST1BfX0tIVE1M
X05CU1BfTU9ERQogIwotc3BhY2UKK3NwYWNlLGJhY2tncm91bmQtcmVwZWF0CiAKICMKICMgQ1NT
X1BST1BfX0tIVE1MX0xJTkVfQlJFQUsKQEAgLTYyMiw5ICs2MjIsOSBAQCBjYXBzLWxvY2staW5k
aWNhdG9yCiAjCiAjIENTU19QUk9QX0JPUkRFUl9JTUFHRQogIwotIyBzdHJldGNoCi0jIHJlcGVh
dAotcm91bmQKKyMgc3RyZXRjaCxib3JkZXItaW1hZ2UKKyMgcmVwZWF0LGJvcmRlci1pbWFnZQor
cm91bmQsYmFja2dyb3VuZC1yZXBlYXQsc3Ryb2tlLWxpbmVqb2luCiAKICMKICMgQ1NTX1BST1Bf
QkFDS0dST1VORF9DTElQL09SSUdJTgpAQCAtNjMzLDE3ICs2MzMsMTcgQEAgcm91bmQKICMgYm9y
ZGVyLWJveC9jb250ZW50LWJveC9wYWRkaW5nLWJveCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgog
IwogYm9yZGVyCi1ib3JkZXItYm94Citib3JkZXItYm94LGJhY2tncm91bmQtb3JpZ2luLGJhY2tn
cm91bmQtY2xpcAogY29udGVudAotY29udGVudC1ib3gKK2NvbnRlbnQtYm94LGJhY2tncm91bmQt
b3JpZ2luLGJhY2tncm91bmQtY2xpcAogcGFkZGluZwotcGFkZGluZy1ib3gKK3BhZGRpbmctYm94
LGJhY2tncm91bmQtb3JpZ2luLGJhY2tncm91bmQtY2xpcAogCiAjCiAjIGJhY2tncm91bmQtc2l6
ZQogIwotY29udGFpbgotY292ZXIKK2NvbnRhaW4sYmFja2dyb3VuZC1zaXplCitjb3ZlcixiYWNr
Z3JvdW5kLXNpemUKIAogIwogIyBDU1NfUFJPUF9fS0hUTUxfUlRMX09SREVSSU5HCkBAIC03MDAs
NDcgKzcwMCw0NyBAQCBzdGVwLWVuZAogIwogIyBDU1NfUFJPUF9aT09NCiAjCi1kb2N1bWVudAot
cmVzZXQKK2RvY3VtZW50LHpvb20KK3Jlc2V0LHpvb20KIAogIwogIyBDU1NfUFJPUF9QT0lOVEVS
X0VWRU5UUwogIwotdmlzaWJsZVBhaW50ZWQKLXZpc2libGVGaWxsCi12aXNpYmxlU3Ryb2tlCi0j
dmlzaWJsZQotcGFpbnRlZAotZmlsbAotc3Ryb2tlCi0jYWxsCi0jbm9uZQordmlzaWJsZVBhaW50
ZWQscG9pbnRlci1ldmVudHMKK3Zpc2libGVGaWxsLHBvaW50ZXItZXZlbnRzCit2aXNpYmxlU3Ry
b2tlLHBvaW50ZXItZXZlbnRzCisjdmlzaWJsZSxwb2ludGVyLWV2ZW50cworcGFpbnRlZCxwb2lu
dGVyLWV2ZW50cworZmlsbCxwb2ludGVyLWV2ZW50cworc3Ryb2tlLHBvaW50ZXItZXZlbnRzCisj
YWxsLHBvaW50ZXItZXZlbnRzCisjbm9uZSxwb2ludGVyLWV2ZW50cwogCiAjCiAjIENTU19QUk9Q
X1NQRUVDSAogIwotc3BlbGwtb3V0Ci1kaWdpdHMKLWxpdGVyYWwtcHVuY3R1YXRpb24KLW5vLXB1
bmN0dWF0aW9uCitzcGVsbC1vdXQsc3BlYWsKK2RpZ2l0cyxzcGVhaworbGl0ZXJhbC1wdW5jdHVh
dGlvbixzcGVhaworbm8tcHVuY3R1YXRpb24sc3BlYWsKIAogIwogIyAtd2Via2l0LWZvbnQtc21v
b3RoaW5nCiAjCi0jIGF1dG8KLSMgbm9uZQotYW50aWFsaWFzZWQKLXN1YnBpeGVsLWFudGlhbGlh
c2VkCisjIGF1dG8sLXdlYmtpdC1mb250LXNtb290aGluZworIyBub25lLC13ZWJraXQtZm9udC1z
bW9vdGhpbmcKK2FudGlhbGlhc2VkLC13ZWJraXQtZm9udC1zbW9vdGhpbmcKK3N1YnBpeGVsLWFu
dGlhbGlhc2VkLC13ZWJraXQtZm9udC1zbW9vdGhpbmcKIAogIyB0ZXh0LXJlbmRlcmluZwotI2F1
dG8KLW9wdGltaXplU3BlZWQKLW9wdGltaXplTGVnaWJpbGl0eQotZ2VvbWV0cmljUHJlY2lzaW9u
CisjYXV0byx0ZXh0LXJlbmRlcmluZworb3B0aW1pemVTcGVlZCx0ZXh0LXJlbmRlcmluZyxjb2xv
ci1yZW5kZXJpbmcsaW1hZ2UtcmVuZGVyaW5nCitvcHRpbWl6ZUxlZ2liaWxpdHksdGV4dC1yZW5k
ZXJpbmcKK2dlb21ldHJpY1ByZWNpc2lvbix0ZXh0LXJlbmRlcmluZwogCiAjIC13ZWJraXQtY29s
b3ItY29ycmVjdGlvbgotI2RlZmF1bHQKLXNSR0IKKyNkZWZhdWx0LC13ZWJraXQtY29sb3ItY29y
cmVjdGlvbgorc1JHQiwtd2Via2l0LWNvbG9yLWNvcnJlY3Rpb24KIAogIyAoLXdlYmtpdC12aWV3
LW1vZGU6KSBtZWRpYSBmZWF0dXJlOgogZmxvYXRpbmcKQEAgLTc1MCwzMyArNzUwLDMzIEBAIG1p
bmltaXplZAogd2luZG93ZWQKIAogIyAtd2Via2l0LWh5cGhlbnMKLSMgbm9uZQotbWFudWFsCi0j
IGF1dG8KKyMgbm9uZSwtd2Via2l0LWh5cGhlbnMKK21hbnVhbCwtd2Via2l0LWh5cGhlbnMKKyMg
YXV0bywtd2Via2l0LWh5cGhlbnMKIAogIyAtd2Via2l0LXdyaXRpbmctbW9kZQogIyBTVkcgY29t
cGF0aWJpbGl0eQotbHIKLXJsCi10YgotbHItdGIKLXJsLXRiCi10Yi1ybAorbHIsLXdlYmtpdC13
cml0aW5nLW1vZGUKK3JsLC13ZWJraXQtd3JpdGluZy1tb2RlCit0Yiwtd2Via2l0LXdyaXRpbmct
bW9kZQorbHItdGIsLXdlYmtpdC13cml0aW5nLW1vZGUKK3JsLXRiLC13ZWJraXQtd3JpdGluZy1t
b2RlCit0Yi1ybCwtd2Via2l0LXdyaXRpbmctbW9kZQogIyBTdGFuZGFyZCB2YWx1ZXMgZnJvbSBD
U1MzCi1ob3Jpem9udGFsLXRiCi12ZXJ0aWNhbC1ybAotdmVydGljYWwtbHIKLWhvcml6b250YWwt
YnQKK2hvcml6b250YWwtdGIsLXdlYmtpdC13cml0aW5nLW1vZGUKK3ZlcnRpY2FsLXJsLC13ZWJr
aXQtd3JpdGluZy1tb2RlCit2ZXJ0aWNhbC1sciwtd2Via2l0LXdyaXRpbmctbW9kZQoraG9yaXpv
bnRhbC1idCwtd2Via2l0LXdyaXRpbmctbW9kZQogCiAjIC13ZWJraXQtdGV4dC1lbXBoYXNpcy1w
b3NpdGlvbgotb3ZlcgotdW5kZXIKK292ZXIsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXBvc2l0aW9u
Cit1bmRlciwtd2Via2l0LXRleHQtZW1waGFzaXMtcG9zaXRpb24KIAogIyAtd2Via2l0LXRleHQt
ZW1waGFzaXMtc3R5bGUKLWZpbGxlZAotb3BlbgotZG90Ci0jIGNpcmNsZQotZG91YmxlLWNpcmNs
ZQotdHJpYW5nbGUKLXNlc2FtZQorZmlsbGVkLC13ZWJraXQtdGV4dC1lbXBoYXNpcywtd2Via2l0
LXRleHQtZW1waGFzaXMtc3R5bGUKK29wZW4sLXdlYmtpdC10ZXh0LWVtcGhhc2lzLC13ZWJraXQt
dGV4dC1lbXBoYXNpcy1zdHlsZQorZG90LC13ZWJraXQtdGV4dC1lbXBoYXNpcywtd2Via2l0LXRl
eHQtZW1waGFzaXMtc3R5bGUKKyMgY2lyY2xlLC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQor
ZG91YmxlLWNpcmNsZSwtd2Via2l0LXRleHQtZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhhc2lz
LXN0eWxlCit0cmlhbmdsZSwtd2Via2l0LXRleHQtZW1waGFzaXMsLXdlYmtpdC10ZXh0LWVtcGhh
c2lzLXN0eWxlCitzZXNhbWUsLXdlYmtpdC10ZXh0LWVtcGhhc2lzLC13ZWJraXQtdGV4dC1lbXBo
YXNpcy1zdHlsZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5p
biBiL1dlYkNvcmUvY3NzL1NWR0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggYTJjOWY4My4uZmZi
OGFjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysg
Yi9XZWJDb3JlL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCkBAIC0xMiwxNjQgKzEyLDE2NCBA
QAogIwogIyBDU1NfUFJPUF8qX0NPTE9SCiAjCi1hbGljZWJsdWUKLWFudGlxdWV3aGl0ZQorYWxp
Y2VibHVlLF9jb2xvcl8KK2FudGlxdWV3aGl0ZSxfY29sb3JfCiAjIGFxdWEKLWFxdWFtYXJpbmUK
LWF6dXJlCi1iZWlnZQotYmlzcXVlCithcXVhbWFyaW5lLF9jb2xvcl8KK2F6dXJlLF9jb2xvcl8K
K2JlaWdlLF9jb2xvcl8KK2Jpc3F1ZSxfY29sb3JfCiAjIGJsYWNrCi1ibGFuY2hlZGFsbW9uZAor
YmxhbmNoZWRhbG1vbmQsX2NvbG9yXwogIyBibHVlCi1ibHVldmlvbGV0Ci1icm93bgotYnVybHl3
b29kCi1jYWRldGJsdWUKLWNoYXJ0cmV1c2UKLWNob2NvbGF0ZQotY29yYWwKLWNvcm5mbG93ZXJi
bHVlCi1jb3Juc2lsawotY3JpbXNvbgotY3lhbgotZGFya2JsdWUKLWRhcmtjeWFuCi1kYXJrZ29s
ZGVucm9kCi1kYXJrZ3JheQotZGFya2dyZWVuCi1kYXJrZ3JleQotZGFya2toYWtpCi1kYXJrbWFn
ZW50YQotZGFya29saXZlZ3JlZW4KLWRhcmtvcmFuZ2UKLWRhcmtvcmNoaWQKLWRhcmtyZWQKLWRh
cmtzYWxtb24KLWRhcmtzZWFncmVlbgotZGFya3NsYXRlYmx1ZQotZGFya3NsYXRlZ3JheQotZGFy
a3NsYXRlZ3JleQotZGFya3R1cnF1b2lzZQotZGFya3Zpb2xldAotZGVlcHBpbmsKLWRlZXBza3li
bHVlCi1kaW1ncmF5Ci1kaW1ncmV5Ci1kb2RnZXJibHVlCi1maXJlYnJpY2sKLWZsb3JhbHdoaXRl
Ci1mb3Jlc3RncmVlbgorYmx1ZXZpb2xldCxfY29sb3JfCiticm93bixfY29sb3JfCitidXJseXdv
b2QsX2NvbG9yXworY2FkZXRibHVlLF9jb2xvcl8KK2NoYXJ0cmV1c2UsX2NvbG9yXworY2hvY29s
YXRlLF9jb2xvcl8KK2NvcmFsLF9jb2xvcl8KK2Nvcm5mbG93ZXJibHVlLF9jb2xvcl8KK2Nvcm5z
aWxrLF9jb2xvcl8KK2NyaW1zb24sX2NvbG9yXworY3lhbixfY29sb3JfCitkYXJrYmx1ZSxfY29s
b3JfCitkYXJrY3lhbixfY29sb3JfCitkYXJrZ29sZGVucm9kLF9jb2xvcl8KK2RhcmtncmF5LF9j
b2xvcl8KK2RhcmtncmVlbixfY29sb3JfCitkYXJrZ3JleSxfY29sb3JfCitkYXJra2hha2ksX2Nv
bG9yXworZGFya21hZ2VudGEsX2NvbG9yXworZGFya29saXZlZ3JlZW4sX2NvbG9yXworZGFya29y
YW5nZSxfY29sb3JfCitkYXJrb3JjaGlkLF9jb2xvcl8KK2RhcmtyZWQsX2NvbG9yXworZGFya3Nh
bG1vbixfY29sb3JfCitkYXJrc2VhZ3JlZW4sX2NvbG9yXworZGFya3NsYXRlYmx1ZSxfY29sb3Jf
CitkYXJrc2xhdGVncmF5LF9jb2xvcl8KK2RhcmtzbGF0ZWdyZXksX2NvbG9yXworZGFya3R1cnF1
b2lzZSxfY29sb3JfCitkYXJrdmlvbGV0LF9jb2xvcl8KK2RlZXBwaW5rLF9jb2xvcl8KK2RlZXBz
a3libHVlLF9jb2xvcl8KK2RpbWdyYXksX2NvbG9yXworZGltZ3JleSxfY29sb3JfCitkb2RnZXJi
bHVlLF9jb2xvcl8KK2ZpcmVicmljayxfY29sb3JfCitmbG9yYWx3aGl0ZSxfY29sb3JfCitmb3Jl
c3RncmVlbixfY29sb3JfCiAjIGZ1Y2hzaWEKLWdhaW5zYm9ybwotZ2hvc3R3aGl0ZQotZ29sZAot
Z29sZGVucm9kCitnYWluc2Jvcm8sX2NvbG9yXworZ2hvc3R3aGl0ZSxfY29sb3JfCitnb2xkLF9j
b2xvcl8KK2dvbGRlbnJvZCxfY29sb3JfCiAjIGdyYXkKICMgZ3JleQogIyBncmVlbgotZ3JlZW55
ZWxsb3cKLWhvbmV5ZGV3Ci1ob3RwaW5rCi1pbmRpYW5yZWQKLWluZGlnbwotaXZvcnkKLWtoYWtp
Ci1sYXZlbmRlcgotbGF2ZW5kZXJibHVzaAotbGF3bmdyZWVuCi1sZW1vbmNoaWZmb24KLWxpZ2h0
Ymx1ZQotbGlnaHRjb3JhbAotbGlnaHRjeWFuCi1saWdodGdvbGRlbnJvZHllbGxvdwotbGlnaHRn
cmF5Ci1saWdodGdyZWVuCi1saWdodGdyZXkKLWxpZ2h0cGluawotbGlnaHRzYWxtb24KLWxpZ2h0
c2VhZ3JlZW4KLWxpZ2h0c2t5Ymx1ZQotbGlnaHRzbGF0ZWdyYXkKLWxpZ2h0c2xhdGVncmV5Ci1s
aWdodHN0ZWVsYmx1ZQotbGlnaHR5ZWxsb3cKK2dyZWVueWVsbG93LF9jb2xvcl8KK2hvbmV5ZGV3
LF9jb2xvcl8KK2hvdHBpbmssX2NvbG9yXworaW5kaWFucmVkLF9jb2xvcl8KK2luZGlnbyxfY29s
b3JfCitpdm9yeSxfY29sb3JfCitraGFraSxfY29sb3JfCitsYXZlbmRlcixfY29sb3JfCitsYXZl
bmRlcmJsdXNoLF9jb2xvcl8KK2xhd25ncmVlbixfY29sb3JfCitsZW1vbmNoaWZmb24sX2NvbG9y
XworbGlnaHRibHVlLF9jb2xvcl8KK2xpZ2h0Y29yYWwsX2NvbG9yXworbGlnaHRjeWFuLF9jb2xv
cl8KK2xpZ2h0Z29sZGVucm9keWVsbG93LF9jb2xvcl8KK2xpZ2h0Z3JheSxfY29sb3JfCitsaWdo
dGdyZWVuLF9jb2xvcl8KK2xpZ2h0Z3JleSxfY29sb3JfCitsaWdodHBpbmssX2NvbG9yXworbGln
aHRzYWxtb24sX2NvbG9yXworbGlnaHRzZWFncmVlbixfY29sb3JfCitsaWdodHNreWJsdWUsX2Nv
bG9yXworbGlnaHRzbGF0ZWdyYXksX2NvbG9yXworbGlnaHRzbGF0ZWdyZXksX2NvbG9yXworbGln
aHRzdGVlbGJsdWUsX2NvbG9yXworbGlnaHR5ZWxsb3csX2NvbG9yXwogIyBsaW1lCi1saW1lZ3Jl
ZW4KLWxpbmVuCi1tYWdlbnRhCitsaW1lZ3JlZW4sX2NvbG9yXworbGluZW4sX2NvbG9yXworbWFn
ZW50YSxfY29sb3JfCiAjIG1hcm9vbgotbWVkaXVtYXF1YW1hcmluZQotbWVkaXVtYmx1ZQotbWVk
aXVtb3JjaGlkCi1tZWRpdW1wdXJwbGUKLW1lZGl1bXNlYWdyZWVuCi1tZWRpdW1zbGF0ZWJsdWUK
LW1lZGl1bXNwcmluZ2dyZWVuCi1tZWRpdW10dXJxdW9pc2UKLW1lZGl1bXZpb2xldHJlZAotbWlk
bmlnaHRibHVlCi1taW50Y3JlYW0KLW1pc3R5cm9zZQotbW9jY2FzaW4KLW5hdmFqb3doaXRlCitt
ZWRpdW1hcXVhbWFyaW5lLF9jb2xvcl8KK21lZGl1bWJsdWUsX2NvbG9yXworbWVkaXVtb3JjaGlk
LF9jb2xvcl8KK21lZGl1bXB1cnBsZSxfY29sb3JfCittZWRpdW1zZWFncmVlbixfY29sb3JfCitt
ZWRpdW1zbGF0ZWJsdWUsX2NvbG9yXworbWVkaXVtc3ByaW5nZ3JlZW4sX2NvbG9yXworbWVkaXVt
dHVycXVvaXNlLF9jb2xvcl8KK21lZGl1bXZpb2xldHJlZCxfY29sb3JfCittaWRuaWdodGJsdWUs
X2NvbG9yXworbWludGNyZWFtLF9jb2xvcl8KK21pc3R5cm9zZSxfY29sb3JfCittb2NjYXNpbixf
Y29sb3JfCituYXZham93aGl0ZSxfY29sb3JfCiAjIG5hdnkKLW9sZGxhY2UKK29sZGxhY2UsX2Nv
bG9yXwogIyBvbGl2ZQotb2xpdmVkcmFiCitvbGl2ZWRyYWIsX2NvbG9yXwogIyBvcmFuZ2UKLW9y
YW5nZXJlZAotb3JjaGlkCi1wYWxlZ29sZGVucm9kCi1wYWxlZ3JlZW4KLXBhbGV0dXJxdW9pc2UK
LXBhbGV2aW9sZXRyZWQKLXBhcGF5YXdoaXAKLXBlYWNocHVmZgotcGVydQotcGluawotcGx1bQot
cG93ZGVyYmx1ZQorb3JhbmdlcmVkLF9jb2xvcl8KK29yY2hpZCxfY29sb3JfCitwYWxlZ29sZGVu
cm9kLF9jb2xvcl8KK3BhbGVncmVlbixfY29sb3JfCitwYWxldHVycXVvaXNlLF9jb2xvcl8KK3Bh
bGV2aW9sZXRyZWQsX2NvbG9yXworcGFwYXlhd2hpcCxfY29sb3JfCitwZWFjaHB1ZmYsX2NvbG9y
XworcGVydSxfY29sb3JfCitwaW5rLF9jb2xvcl8KK3BsdW0sX2NvbG9yXworcG93ZGVyYmx1ZSxf
Y29sb3JfCiAjIHB1cnBsZQogIyByZWQKLXJvc3licm93bgotcm95YWxibHVlCi1zYWRkbGVicm93
bgotc2FsbW9uCi1zYW5keWJyb3duCi1zZWFncmVlbgotc2Vhc2hlbGwKLXNpZW5uYQorcm9zeWJy
b3duLF9jb2xvcl8KK3JveWFsYmx1ZSxfY29sb3JfCitzYWRkbGVicm93bixfY29sb3JfCitzYWxt
b24sX2NvbG9yXworc2FuZHlicm93bixfY29sb3JfCitzZWFncmVlbixfY29sb3JfCitzZWFzaGVs
bCxfY29sb3JfCitzaWVubmEsX2NvbG9yXwogIyBzaWx2ZXIKLXNreWJsdWUKLXNsYXRlYmx1ZQot
c2xhdGVncmF5Ci1zbGF0ZWdyZXkKLXNub3cKLXNwcmluZ2dyZWVuCi1zdGVlbGJsdWUKLXRhbgor
c2t5Ymx1ZSxfY29sb3JfCitzbGF0ZWJsdWUsX2NvbG9yXworc2xhdGVncmF5LF9jb2xvcl8KK3Ns
YXRlZ3JleSxfY29sb3JfCitzbm93LF9jb2xvcl8KK3NwcmluZ2dyZWVuLF9jb2xvcl8KK3N0ZWVs
Ymx1ZSxfY29sb3JfCit0YW4sX2NvbG9yXwogIyB0ZWFsCi10aGlzdGxlCi10b21hdG8KLXR1cnF1
b2lzZQotdmlvbGV0Ci13aGVhdAordGhpc3RsZSxfY29sb3JfCit0b21hdG8sX2NvbG9yXwordHVy
cXVvaXNlLF9jb2xvcl8KK3Zpb2xldCxfY29sb3JfCit3aGVhdCxfY29sb3JfCiAjIHdoaXRlCi13
aGl0ZXNtb2tlCit3aGl0ZXNtb2tlLF9jb2xvcl8KICMgeWVsbG93Ci15ZWxsb3dncmVlbgoreWVs
bG93Z3JlZW4sX2NvbG9yXwogCiAjIENTU19QUk9QX0NMSVBfUEFUSAogIyBDU1NfUFJPUF9DTElQ
X1JVTEUKLW5vbnplcm8KLWV2ZW5vZGQKK25vbnplcm8sY2xpcC1ydWxlCitldmVub2RkLGNsaXAt
cnVsZQogCiAjIENTU19QUk9QX01BU0sKICMgQ1NTX1BST1BfT1BBQ0lUWQogIyBDU1NfUFJPUF9F
TkFCTEVfQkFDS0dST1VORAotYWNjdW11bGF0ZQotbmV3CithY2N1bXVsYXRlLGVuYWJsZS1iYWNr
Z3JvdW5kCituZXcsZW5hYmxlLWJhY2tncm91bmQKIAogIyBDU1NfUFJPUF9GSUxURVIKICMgQ1NT
X1BST1BfRkxPT0RfQ09MT1IKQEAgLTE4NCw3ICsxODQsNyBAQCBuZXcKICMgQ1NTX1BST1BfQ09M
T1JfSU5URVJQT0xBVElPTgogI2F1dG8KICNzUkdCCi1saW5lYXJSR0IKK2xpbmVhclJHQixjb2xv
ci1pbnRlcnBvbGF0aW9uCiAKICMgQ1NTX1BST1BfQ09MT1JfSU5URVJQT0xBVElPTl9GSUxURVJT
CiAjYXV0bwpAQCAtMTk1LDkgKzE5NSw5IEBAIGxpbmVhclJHQgogI3NSR0IKIAogIyBDU1NfUFJP
UF9DT0xPUl9SRU5ERVJJTkcKLSNhdXRvCi0jb3B0aW1pemVTcGVlZAotb3B0aW1pemVRdWFsaXR5
CisjYXV0byxjb2xvci1yZW5kZXJpbmcKKyNvcHRpbWl6ZVNwZWVkLGNvbG9yLXJlbmRlcmluZwor
b3B0aW1pemVRdWFsaXR5LGNvbG9yLXJlbmRlcmluZyxpbWFnZS1yZW5kZXJpbmcKIAogIyMgQ1NT
X1BST1BfRklMTAogI2N1cnJlbnRDb2xvcgpAQCAtMjA4LDkgKzIwOCw5IEBAIG9wdGltaXplUXVh
bGl0eQogI2V2ZW5vZGQKIAogIyBDU1NfUFJPUF9JTUFHRV9SRU5ERVJJTkcKLSNhdXRvCi0jb3B0
aW1pemVTcGVlZAotI29wdGltaXplUXVhbGl0eQorI2F1dG8saW1hZ2UtcmVuZGVyaW5nCisjb3B0
aW1pemVTcGVlZCxpbWFnZS1yZW5kZXJpbmcKKyNvcHRpbWl6ZVF1YWxpdHksaW1hZ2UtcmVuZGVy
aW5nCiAKICMgQ1NTX1BST1BfTUFSS0VSCiAjIENTU19QUk9QX01BUktFUl9FTkQKQEAgLTIzMSwz
OCArMjMxLDM4IEBAIGJ1dHQKICMgc3F1YXJlCiAKICMgQ1NTX1BST1BfU1RST0tFX0xJTkVKT0lO
Ci1taXRlcgotIyByb3VuZAotYmV2ZWwKK21pdGVyLHN0cm9rZS1saW5lam9pbgorIyByb3VuZCxz
dHJva2UtbGluZWpvaW4KK2JldmVsLHN0cm9rZS1saW5lam9pbgogCiAjIENTU19QUk9QX1NUUk9L
RV9NSVRFUkxJTUlUCiAjIENTU19QUk9QX1NUUk9LRV9PUEFDSVRZCiAjIENTU19QUk9QX1NUUk9L
RV9XSURUSAogCiAjIENTU19QUk9QX0FMSUdOTUVOVF9CQVNFTElORQotI2F1dG8KLSMgYmFzZWxp
bmUKLWJlZm9yZS1lZGdlCi1hZnRlci1lZGdlCi0jbWlkZGxlCi1jZW50cmFsCi10ZXh0LWJlZm9y
ZS1lZGdlCi10ZXh0LWFmdGVyLWVkZ2UKLWlkZW9ncmFwaGljCi1hbHBoYWJldGljCi1oYW5naW5n
Ci1tYXRoZW1hdGljYWwKKyNhdXRvLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNlbGlu
ZQorIyBiYXNlbGluZSxhbGlnbm1lbnQtYmFzZWxpbmUKK2JlZm9yZS1lZGdlLGFsaWdubWVudC1i
YXNlbGluZQorYWZ0ZXItZWRnZSxhbGlnbm1lbnQtYmFzZWxpbmUKKyNtaWRkbGUsYWxpZ25tZW50
LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCitjZW50cmFsLGFsaWdubWVudC1iYXNlbGluZSxk
b21pbmFudC1iYXNlbGluZQordGV4dC1iZWZvcmUtZWRnZSxhbGlnbm1lbnQtYmFzZWxpbmUsZG9t
aW5hbnQtYmFzZWxpbmUKK3RleHQtYWZ0ZXItZWRnZSxhbGlnbm1lbnQtYmFzZWxpbmUsZG9taW5h
bnQtYmFzZWxpbmUKK2lkZW9ncmFwaGljLGFsaWdubWVudC1iYXNlbGluZSxkb21pbmFudC1iYXNl
bGluZQorYWxwaGFiZXRpYyxhbGlnbm1lbnQtYmFzZWxpbmUsZG9taW5hbnQtYmFzZWxpbmUKK2hh
bmdpbmcsYWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCittYXRoZW1hdGljYWws
YWxpZ25tZW50LWJhc2VsaW5lLGRvbWluYW50LWJhc2VsaW5lCiAKICMgQ1NTX1BST1BfQkFTRUxJ
TkVfU0hJRlQKLSNiYXNlbGluZQotIyBzdWIKLSMgc3VwZXIKKyNiYXNlbGluZSxiYXNlbGluZS1z
aGlmdAorIyBzdWIsYmFzZWxpbmUtc2hpZnQKKyMgc3VwZXIsYmFzZWxpbmUtc2hpZnQKIAogIyBD
U1NfUFJPUF9ET01JTkFOVF9CQVNFTElORQotI2F1dG8KLXVzZS1zY3JpcHQKLW5vLWNoYW5nZQot
cmVzZXQtc2l6ZQorI2F1dG8sZG9taW5hbnQtYmFzZWxpbmUKK3VzZS1zY3JpcHQsZG9taW5hbnQt
YmFzZWxpbmUKK25vLWNoYW5nZSxkb21pbmFudC1iYXNlbGluZQorcmVzZXQtc2l6ZSxkb21pbmFu
dC1iYXNlbGluZQogCiAjIENTU19QUk9QX0dMWVBIX09SSUVOVEFUSU9OX0hPUklaT05UQUwKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvbWFrZXZhbHVlcy5wbCBiL1dlYkNvcmUvY3NzL21ha2V2
YWx1ZXMucGwKaW5kZXggMTgzY2QzNS4uODBlNmU3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
bWFrZXZhbHVlcy5wbAorKysgYi9XZWJDb3JlL2Nzcy9tYWtldmFsdWVzLnBsCkBAIC02LDYgKzYs
NyBAQAogIyAgIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAjICAgQ29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKQogIyAgIENvcHlyaWdodCAoQykgMjAxMCBBbmRyYXMgQmVjc2kgKGFi
ZWNzaUBpbmYudS1zemVnZWQuaHUpLCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorIyAgIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyAgIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICMgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtMjYsMTQgKzI3LDExOSBAQCB1c2Ugd2FybmluZ3M7CiAKIG9wZW4gTkFNRVMs
ICI8Q1NTVmFsdWVLZXl3b3Jkcy5pbiIgfHwgZGllICJDb3VsZCBub3Qgb3BlbiBDU1NWYWx1ZUtl
eXdvcmRzLmluIjsKIG15IEBuYW1lcyA9ICgpOworbXkgJWNhdGVnb3J5VG9LZXl3b3Jkc01hcCA9
ICgpOworbXkgQHBhcnRzOworbXkgQGtleXdvcmRzOworbXkgJGtleXdvcmQ7CiB3aGlsZSAoPE5B
TUVTPikgewogICBuZXh0IGlmIChtLyheIyl8KF5ccyokKS8pOwogICAjIElucHV0IG1heSB1c2Ug
YSBkaWZmZXJlbnQgRU9MIHNlcXVlbmNlIHRoYW4gJC8sIHNvIGF2b2lkIGNob21wLgogICAkXyA9
fiBzL1tcclxuXSskLy9nOwotICBwdXNoIEBuYW1lcywgJF87CisgIEBwYXJ0cyA9IHNwbGl0IC8s
LzsKKyAgJGtleXdvcmQgPSAkcGFydHNbMF07CisgIHB1c2ggQG5hbWVzLCAka2V5d29yZDsKKyAg
c3BsaWNlIEBwYXJ0cywgMCwgMTsKKworICBmb3JlYWNoIG15ICRjYXRlZ29yeSAoQHBhcnRzKSB7
CisgICAgcHVzaCBAeyAkY2F0ZWdvcnlUb0tleXdvcmRzTWFweyRjYXRlZ29yeX0gfSwgJGtleXdv
cmQ7CisgIH0KIH0KIGNsb3NlKE5BTUVTKTsKIAorb3BlbiBLRVlXT1JETUFQLCAiPkNTU0tleXdv
cmRDb21wbGV0aW9ucy5qcyIgfHwgZGllICJDb3VsZCBub3Qgb3BlbiBDU1NLZXl3b3JkQ29tcGxl
dGlvbnMuanMgZm9yIHdyaXRpbmciOworcHJpbnQgS0VZV09SRE1BUCA8PCAiRU9GIjsKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiBUSElTIEZJ
TEUgSVMgR0VORVJBVEVEIEJZIFdlYkNvcmUvY3NzL21ha2V2YWx1ZXMucGwuIERPIE5PVCBNT0RJ
RlkhCisgKi8KKworV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucyA9IHsKKyAgICBm
b3JQcm9wZXJ0eTogZnVuY3Rpb24ocHJvcGVydHlOYW1lKQorICAgIHsKKyAgICAgICAgdmFyIGFj
Y2VwdGVkS2V5d29yZHMgPSBbImluaXRpYWwiXTsKKyAgICAgICAgaWYgKHByb3BlcnR5TmFtZSBp
biB0aGlzLl9wcm9wZXJ0eUtleXdvcmRNYXApCisgICAgICAgICAgICBhY2NlcHRlZEtleXdvcmRz
ID0gYWNjZXB0ZWRLZXl3b3Jkcy5jb25jYXQodGhpcy5fcHJvcGVydHlLZXl3b3JkTWFwW3Byb3Bl
cnR5TmFtZV0pOworICAgICAgICBpZiAocHJvcGVydHlOYW1lIGluIHRoaXMuX2NvbG9yQXdhcmVQ
cm9wZXJ0aWVzKQorICAgICAgICAgICAgYWNjZXB0ZWRLZXl3b3JkcyA9IGFjY2VwdGVkS2V5d29y
ZHMuY29uY2F0KHRoaXMuX3Byb3BlcnR5S2V5d29yZE1hcFsiX2NvbG9yXyJdKTsKKyAgICAgICAg
aWYgKHByb3BlcnR5TmFtZSBpbiBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuSW5oZXJp
dGVkUHJvcGVydGllcykKKyAgICAgICAgICAgIGFjY2VwdGVkS2V5d29yZHMucHVzaCgiaW5oZXJp
dCIpOworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucyhhY2Nl
cHRlZEtleXdvcmRzKTsKKyAgICB9Cit9OworCitXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBs
ZXRpb25zLl9jb2xvckF3YXJlUHJvcGVydGllcyA9IFsKKyAgICAiYmFja2dyb3VuZCIsCisgICAg
ImJhY2tncm91bmQtY29sb3IiLAorICAgICJib3JkZXIiLAorICAgICJib3JkZXItY29sb3IiLAor
ICAgICJib3JkZXItdG9wIiwKKyAgICAiYm9yZGVyLXJpZ2h0IiwKKyAgICAiYm9yZGVyLWJvdHRv
bSIsCisgICAgImJvcmRlci1sZWZ0IiwKKyAgICAiYm9yZGVyLXRvcC1jb2xvciIsCisgICAgImJv
cmRlci1yaWdodC1jb2xvciIsCisgICAgImJvcmRlci1ib3R0b20tY29sb3IiLAorICAgICJib3Jk
ZXItbGVmdC1jb2xvciIsCisgICAgImNvbG9yIiwKKyAgICAib3V0bGluZSIsCisgICAgIm91dGxp
bmUtY29sb3IiLAorICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCIsCisgICAgInRleHQtbGluZS10aHJv
dWdoLWNvbG9yIiwKKyAgICAidGV4dC1vdmVybGluZSIsCisgICAgInRleHQtb3ZlcmxpbmUtY29s
b3IiLAorICAgICJ0ZXh0LXNoYWRvdyIsCisgICAgInRleHQtdW5kZXJsaW5lIiwKKyAgICAidGV4
dC11bmRlcmxpbmUtY29sb3IiLAorICAgICItd2Via2l0LXRleHQtZW1waGFzaXMiLAorICAgICIt
d2Via2l0LXRleHQtZW1waGFzaXMtY29sb3IiCitdLmtleVNldCgpOworCitXZWJJbnNwZWN0b3Iu
Q1NTS2V5d29yZENvbXBsZXRpb25zLl9wcm9wZXJ0eUtleXdvcmRNYXAgPSB7CitFT0YKKworbXkg
JGZpcnN0S2V5d29yZDsKK215ICRmaXJzdENhdGVnb3J5ID0gMTsKK2ZvcmVhY2ggbXkgJGNhdGVn
b3J5IChrZXlzICVjYXRlZ29yeVRvS2V5d29yZHNNYXApIHsKKyAgcHJpbnQgS0VZV09SRE1BUCAo
JGZpcnN0Q2F0ZWdvcnkgPyAiIiA6ICIsXG4iKSAuICIgICAgXCIkY2F0ZWdvcnlcIjogW1xuIjsK
KyAgJGZpcnN0Q2F0ZWdvcnkgPSAwOworICBAa2V5d29yZHMgPSBAeyAkY2F0ZWdvcnlUb0tleXdv
cmRzTWFweyRjYXRlZ29yeX0gfTsKKyAgJGZpcnN0S2V5d29yZCA9IDE7CisgIGZvcmVhY2ggbXkg
JGtleXdvcmQgKEBrZXl3b3JkcykgeworICAgIHByaW50IEtFWVdPUkRNQVAgKCRmaXJzdEtleXdv
cmQgPyAiIiA6ICIsXG4iKSAuICIgICAgICAgIFwiJGtleXdvcmRcIiI7CisgICAgJGZpcnN0S2V5
d29yZCA9IDA7CisgIH0KKyAgcHJpbnQgS0VZV09SRE1BUCAiXG4gICAgXSI7Cit9CitwcmludCBL
RVlXT1JETUFQICJcbn1cbiI7CitjbG9zZShLRVlXT1JETUFQKTsKKwogb3BlbiBHUEVSRiwgIj5D
U1NWYWx1ZUtleXdvcmRzLmdwZXJmIiB8fCBkaWUgIkNvdWxkIG5vdCBvcGVuIENTU1ZhbHVlS2V5
d29yZHMuZ3BlcmYgZm9yIHdyaXRpbmciOwogcHJpbnQgR1BFUkYgPDwgIkVPRiI7CiAlewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9u
cy5xcmMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTS2V5d29yZENvbXBsZXRpb25z
LnFyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGUzNTViCi0tLSAvZGV2
L251bGwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0
aW9ucy5xcmMKQEAgLTAsMCArMSw1IEBACis8IURPQ1RZUEUgUkNDPjxSQ0MgdmVyc2lvbj0iMS4w
Ij4KKzxxcmVzb3VyY2UgcHJlZml4PSIvd2Via2l0L2luc3BlY3RvciI+CisgICAgPGZpbGU+Q1NT
S2V5d29yZENvbXBsZXRpb25zLmpzPC9maWxlPgorPC9xcmVzb3VyY2U+Cis8L1JDQz4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcyBiL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcwppbmRleCA1ZTczMTRjLi4zYTE2ZjdkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanMKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbG9yLmpzCkBAIC00NDksNyArNDQ5LDcgQEAgV2ViSW5zcGVj
dG9yLkNvbG9yLkhleFRhYmxlID0gewogICAgICJDRDg1M0YiOiBbWzIwNSwgMTMzLCA2M10sIFsz
MCwgNTksIDUzXSwgInBlcnUiXSwKICAgICAiRDI2OTFFIjogW1syMTAsIDEwNSwgMzBdLCBbMjUs
IDc1LCA0N10sICJjaG9jb2xhdGUiXSwKICAgICAiRDJCNDhDIjogW1syMTAsIDE4MCwgMTQwXSwg
WzM0LCA0NCwgNjldLCAidGFuIl0sCi0gICAgIkQzRDNEMyI6IFtbMjExLCAyMTEsIDIxMV0sIFsw
LCAwLCA4M10sICJsaWdodEdyZXkiXSwKKyAgICAiRDNEM0QzIjogW1syMTEsIDIxMSwgMjExXSwg
WzAsIDAsIDgzXSwgImxpZ2h0R3JheSJdLAogICAgICJEODcwOTMiOiBbWzIxOSwgMTEyLCAxNDdd
LCBbMzQwLCA2MCwgNjVdLCAicGFsZVZpb2xldFJlZCJdLAogICAgICJEOEJGRDgiOiBbWzIxNiwg
MTkxLCAyMTZdLCBbMzAwLCAyNCwgODBdLCAidGhpc3RsZSJdLAogICAgICJEQTcwRDYiOiBbWzIx
OCwgMTEyLCAyMTRdLCBbMzAyLCA1OSwgNjVdLCAib3JjaGlkIl0sCkBAIC01MzksNiArNTM5LDcg
QEAgV2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lcyA9IHsKICAgICAiZGFya2dvbGRlbnJvZCI6
ICJCODg2MEIiLAogICAgICJkYXJrZ3JheSI6ICJBOUE5QTkiLAogICAgICJkYXJrZ3JlZW4iOiAi
MDA2NDAwIiwKKyAgICAiZGFya2dyZXkiOiAiQTlBOUE5IiwKICAgICAiZGFya2toYWtpIjogIkJE
Qjc2QiIsCiAgICAgImRhcmttYWdlbnRhIjogIjhCMDA4QiIsCiAgICAgImRhcmtvbGl2ZWdyZWVu
IjogIjU1NkIyRiIsCkBAIC01NDksMTEgKzU1MCwxMyBAQCBXZWJJbnNwZWN0b3IuQ29sb3IuTmlj
a25hbWVzID0gewogICAgICJkYXJrc2VhZ3JlZW4iOiAiOEZCQzhGIiwKICAgICAiZGFya3NsYXRl
Ymx1ZSI6ICI0ODNEOEIiLAogICAgICJkYXJrc2xhdGVncmF5IjogIjJGNEY0RiIsCisgICAgImRh
cmtzbGF0ZWdyZXkiOiAiMkY0RjRGIiwKICAgICAiZGFya3R1cnF1b2lzZSI6ICIwMENFRDEiLAog
ICAgICJkYXJrdmlvbGV0IjogIjk0MDBEMyIsCiAgICAgImRlZXBwaW5rIjogIkZGMTQ5MyIsCiAg
ICAgImRlZXBza3libHVlIjogIjAwQkZGRiIsCiAgICAgImRpbWdyYXkiOiAiNjk2OTY5IiwKKyAg
ICAiZGltZ3JleSI6ICI2OTY5NjkiLAogICAgICJkb2RnZXJibHVlIjogIjFFOTBGRiIsCiAgICAg
ImZpcmVicmljayI6ICJCMjIyMjIiLAogICAgICJmbG9yYWx3aGl0ZSI6ICJGRkZBRjAiLApAQCAt
NTY2LDYgKzU2OSw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7CiAgICAgImdy
YXkiOiAiODA4MDgwIiwKICAgICAiZ3JlZW4iOiAiMDA4MDAwIiwKICAgICAiZ3JlZW55ZWxsb3ci
OiAiQURGRjJGIiwKKyAgICAiZ3JleSI6ICI4MDgwODAiLAogICAgICJob25leWRldyI6ICJGMEZG
RjAiLAogICAgICJob3RwaW5rIjogIkZGNjlCNCIsCiAgICAgImluZGlhbnJlZCI6ICJDRDVDNUMi
LApAQCAtNTgwLDYgKzU4NCw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7CiAg
ICAgImxpZ2h0Y29yYWwiOiAiRjA4MDgwIiwKICAgICAibGlnaHRjeWFuIjogIkUwRkZGRiIsCiAg
ICAgImxpZ2h0Z29sZGVucm9keWVsbG93IjogIkZBRkFEMiIsCisgICAgImxpZ2h0Z3JheSI6ICJE
M0QzRDMiLAogICAgICJsaWdodGdyZWVuIjogIjkwRUU5MCIsCiAgICAgImxpZ2h0Z3JleSI6ICJE
M0QzRDMiLAogICAgICJsaWdodHBpbmsiOiAiRkZCNkMxIiwKQEAgLTU4Nyw2ICs1OTIsNyBAQCBX
ZWJJbnNwZWN0b3IuQ29sb3IuTmlja25hbWVzID0gewogICAgICJsaWdodHNlYWdyZWVuIjogIjIw
QjJBQSIsCiAgICAgImxpZ2h0c2t5Ymx1ZSI6ICI4N0NFRkEiLAogICAgICJsaWdodHNsYXRlZ3Jh
eSI6ICI3Nzg4OTkiLAorICAgICJsaWdodHNsYXRlZ3JleSI6ICI3Nzg4OTkiLAogICAgICJsaWdo
dHN0ZWVsYmx1ZSI6ICJCMEM0REUiLAogICAgICJsaWdodHllbGxvdyI6ICJGRkZGRTAiLAogICAg
ICJsaW1lIjogIjAwRkYwMCIsCkBAIC02MzksNiArNjQ1LDcgQEAgV2ViSW5zcGVjdG9yLkNvbG9y
Lk5pY2tuYW1lcyA9IHsKICAgICAic2t5Ymx1ZSI6ICI4N0NFRUIiLAogICAgICJzbGF0ZWJsdWUi
OiAiNkE1QUNEIiwKICAgICAic2xhdGVncmF5IjogIjcwODA5MCIsCisgICAgInNsYXRlZ3JleSI6
ICI3MDgwOTAiLAogICAgICJzbm93IjogIkZGRkFGQSIsCiAgICAgInNwcmluZ2dyZWVuIjogIjAw
RkY3RiIsCiAgICAgInN0ZWVsYmx1ZSI6ICI0NjgyQjQiLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCmluZGV4IDc1NjExYTMuLjUyMmZjNmQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFu
ZS5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUu
anMKQEAgLTgxLDYgKzgxLDggQEAgV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lID0gZnVu
Y3Rpb24oY29tcHV0ZWRTdHlsZVBhbmUpCiAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoImNvbnRleHRtZW51IiwgdGhpcy5fY29udGV4dE1lbnVFdmVudEZpcmVkLmJpbmQodGhpcyks
IHRydWUpOwogfQogCitXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuU3R5bGVWYWx1ZURl
bGltaXRlcnMgPSAiIFx1MDBBMFx0XG5cIic6OywvKCkiOworCiAvLyBUYWtlbiBmcm9tIGh0dHA6
Ly93d3cudzMub3JnL1RSL0NTUzIxL3Byb3BpZHguaHRtbC4KIFdlYkluc3BlY3Rvci5TdHlsZXNT
aWRlYmFyUGFuZS5Jbmhlcml0ZWRQcm9wZXJ0aWVzID0gWwogICAgICJhemltdXRoIiwgImJvcmRl
ci1jb2xsYXBzZSIsICJib3JkZXItc3BhY2luZyIsICJjYXB0aW9uLXNpZGUiLCAiY29sb3IiLCAi
Y3Vyc29yIiwgImRpcmVjdGlvbiIsICJlbGV2YXRpb24iLApAQCAtMTM2OSw2ICsxMzcxLDkgQEAg
V2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAKICAg
ICAgICAgdGhpcy5saXN0SXRlbUVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKIAorICAgICAgICBu
YW1lRWxlbWVudC5ub3JtYWxpemUoKTsKKyAgICAgICAgdmFsdWVFbGVtZW50Lm5vcm1hbGl6ZSgp
OworCiAgICAgICAgIGlmICghdGhpcy50cmVlT3V0bGluZSkKICAgICAgICAgICAgIHJldHVybjsK
IApAQCAtMTQ3OSwxNiArMTQ4NCwxMSBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVF
bGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAg
ICAgfSwKIAotICAgIHJlc3RvcmVOYW1lRWxlbWVudDogZnVuY3Rpb24oKQorICAgIGdldCBjc3NW
YWx1ZUNvbXBsZXRpb25zKCkKICAgICB7Ci0gICAgICAgIC8vIFJlc3RvcmUgPHNwYW4gY2xhc3M9
IndlYmtpdC1jc3MtcHJvcGVydHkiPiBpZiBpdCBkb2Vzbid0IHlldCBleGlzdCBvciB3YXMgYWNj
aWRlbnRhbGx5IGRlbGV0ZWQuCi0gICAgICAgIGlmICh0aGlzLm5hbWVFbGVtZW50ID09PSB0aGlz
Lmxpc3RJdGVtRWxlbWVudC5xdWVyeVNlbGVjdG9yKCIud2Via2l0LWNzcy1wcm9wZXJ0eSIpKQot
ICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMubmFtZUVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gICAgICAgIHRoaXMubmFtZUVsZW1lbnQuY2xhc3NO
YW1lID0gIndlYmtpdC1jc3MtcHJvcGVydHkiOwotICAgICAgICB0aGlzLm5hbWVFbGVtZW50LnRl
eHRDb250ZW50ID0gIiI7Ci0gICAgICAgIHRoaXMubGlzdEl0ZW1FbGVtZW50Lmluc2VydEJlZm9y
ZSh0aGlzLm5hbWVFbGVtZW50LCB0aGlzLmxpc3RJdGVtRWxlbWVudC5maXJzdENoaWxkKTsKKyAg
ICAgICAgaWYgKCF0aGlzLl9jc3NWYWx1ZUNvbXBsZXRpb25zKQorICAgICAgICAgICAgdGhpcy5f
Y3NzVmFsdWVDb21wbGV0aW9ucyA9IFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMu
Zm9yUHJvcGVydHkodGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVudCk7CisgICAgICAgIHJldHVy
biB0aGlzLl9jc3NWYWx1ZUNvbXBsZXRpb25zOwogICAgIH0sCiAKICAgICBzdGFydEVkaXRpbmc6
IGZ1bmN0aW9uKHNlbGVjdEVsZW1lbnQpCkBAIC0xNTkxLDggKzE1OTEsNiBAQCBXZWJJbnNwZWN0
b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlm
ICghc2VsZWN0aW9uLmlzQ29sbGFwc2VkKQogICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5kZWxl
dGVGcm9tRG9jdW1lbnQoKTsKIAotICAgICAgICAgICAgdGhpcy5yZXN0b3JlTmFtZUVsZW1lbnQo
KTsKLQogICAgICAgICAgICAgaWYgKHByb3BlcnR5KSB7CiAgICAgICAgICAgICAgICAgaWYgKHBy
b3BlcnR5ICE9PSB0aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50KQogICAgICAgICAgICAgICAg
ICAgICB0aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gcHJvcGVydHk7CkBAIC0xNjAyLDkg
KzE2MDAsNjAgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIH0KICAgICB9LAogCisgICAgcmFuZ2VPZldvcmQ6IGZ1bmN0aW9uKHRl
eHQsIGFuY2hvck9mZnNldCkKKyAgICB7CisgICAgICAgIHZhciBzdGFydE9mZnNldCA9IGFuY2hv
ck9mZnNldDsKKyAgICAgICAgd2hpbGUgKHN0YXJ0T2Zmc2V0ID4gMCkgeworICAgICAgICAgICAg
aWYgKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5TdHlsZVZhbHVlRGVsaW1pdGVycy5p
bmRleE9mKHRleHRbc3RhcnRPZmZzZXQgLSAxXSkgPT09IC0xKQorICAgICAgICAgICAgICAgIC0t
c3RhcnRPZmZzZXQ7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKworICAgICAgICB2YXIgZW5kT2Zmc2V0ID0gYW5jaG9yT2Zmc2V0OworICAgICAg
ICB3aGlsZSAoZW5kT2Zmc2V0IDwgdGV4dC5sZW5ndGggJiYgV2ViSW5zcGVjdG9yLlN0eWxlc1Np
ZGViYXJQYW5lLlN0eWxlVmFsdWVEZWxpbWl0ZXJzLmluZGV4T2YodGV4dFtlbmRPZmZzZXRdKSA9
PT0gLTEpCisgICAgICAgICAgICArK2VuZE9mZnNldDsKKworICAgICAgICAvLyBzdGFydE9mZnNl
dCBpbmNsdXNpdmUsIGVuZE9mZnNldCBleGNsdXNpdmUuCisgICAgICAgIHJldHVybiB7IHN0YXJ0
T2Zmc2V0OiBzdGFydE9mZnNldCwgZW5kT2Zmc2V0OiBlbmRPZmZzZXQgfTsKKyAgICB9LAorCiAg
ICAgZWRpdGluZ1ZhbHVlS2V5UHJlc3M6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAg
Ly8gRklYTUU6IFRoaXMgc2hvdWxkIGNvbXBsZXRlIHByb3BlcnR5IHZhbHVlcy4KKyAgICAgICAg
Ly8gQ29tcGxldGUgcHJvcGVydHkgdmFsdWUgcGFydC4KKyAgICAgICAgdmFyIGNoYXJhY3RlciA9
IGV2ZW50LmRhdGEudG9Mb3dlckNhc2UoKTsKKyAgICAgICAgaWYgKGNoYXJhY3RlciAmJiAvW2Et
ei1dLy50ZXN0KGNoYXJhY3RlcikpIHsKKyAgICAgICAgICAgIHZhciBzZWxlY3Rpb24gPSB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCk7CisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3VzTm9kZSAh
PT0gc2VsZWN0aW9uLmFuY2hvck5vZGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgICAgICB2YXIgY3Vyc29yUG9zaXRpb24gPSBNYXRoLm1pbihzZWxlY3Rpb24uZm9jdXNPZmZz
ZXQsIHNlbGVjdGlvbi5hbmNob3JPZmZzZXQpOworICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1
ZSA9IHRoaXMudmFsdWVFbGVtZW50LnRleHRDb250ZW50OworICAgICAgICAgICAgaWYgKHNlbGVj
dGlvbi5mb2N1c09mZnNldCAhPT0gc2VsZWN0aW9uLmFuY2hvck9mZnNldCkgeworICAgICAgICAg
ICAgICAgIC8vIEJVRyA1MTM4OTogV2ViQ29yZSBhc3NlcnRpb24gd29ya2Fyb3VuZC4gV2UgY2Fu
bm90IHJlbW92ZSB0aGUgcmFuZ2UgcmlnaHQgYXdheSwgc2luY2UKKyAgICAgICAgICAgICAgICAv
LyBpZiB0aGVyZSBpcyBubyBzdWdnZXN0LCBXZWJDb3JlL2VkaXRpbmcgd2lsbCB0cnkgdG8gcmVt
b3ZlIHRoZSBzYW1lIHJhbmdlCisgICAgICAgICAgICAgICAgLy8gb25jZSBhZ2FpbiwgYXMgZXZl
bnQucHJldmVudERlZmF1bHQoKSB3aWxsIG5vdCBoYXZlIGJlZW4gY2FsbGVkLgorICAgICAgICAg
ICAgICAgIHZhciBzZWxlY3Rpb25MZWZ0ID0gTWF0aC5taW4oc2VsZWN0aW9uLmFuY2hvck9mZnNl
dCwgc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KTsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0aW9u
UmlnaHQgPSBNYXRoLm1heChzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LCBzZWxlY3Rpb24uZm9jdXNP
ZmZzZXQpOworICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IGN1cnJlbnRWYWx1ZS5zdWJz
dHJpbmcoMCwgc2VsZWN0aW9uTGVmdCkgKyBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlv
blJpZ2h0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciB3b3JkUmFuZ2UgPSB0aGlz
LnJhbmdlT2ZXb3JkKGN1cnJlbnRWYWx1ZSwgY3Vyc29yUG9zaXRpb24pOworICAgICAgICAgICAg
dmFyIHdvcmQgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRSYW5nZS5zdGFydE9mZnNldCwg
d29yZFJhbmdlLmVuZE9mZnNldCk7CisgICAgICAgICAgICB2YXIgcHJlZml4ID0gY3VycmVudFZh
bHVlLnN1YnN0cmluZyh3b3JkUmFuZ2Uuc3RhcnRPZmZzZXQsIGN1cnNvclBvc2l0aW9uKTsKKyAg
ICAgICAgICAgIHZhciB2YWx1ZVN1Z2dlc3QgPSB0aGlzLmNzc1ZhbHVlQ29tcGxldGlvbnMuZmly
c3RTdGFydHNXaXRoKChwcmVmaXggKyBjaGFyYWN0ZXIpLnRvTG93ZXJDYXNlKCkpOworCisgICAg
ICAgICAgICBpZiAodmFsdWVTdWdnZXN0KSB7CisgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGlv
bi5mb2N1c09mZnNldCAhPT0gc2VsZWN0aW9uLmFuY2hvck9mZnNldCAmJiBzZWxlY3Rpb24ucmFu
Z2VDb3VudCkKKyAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkuZGVs
ZXRlQ29udGVudHMoKTsKKyAgICAgICAgICAgICAgICB2YXIgdmFsdWVTdGFydCA9IGN1cnJlbnRW
YWx1ZS5zdWJzdHJpbmcoMCwgd29yZFJhbmdlLnN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgICAg
ICB2YXIgdmFsdWVFbmQgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmQgPT09IHZhbHVlU3Vn
Z2VzdCA/IHdvcmRSYW5nZS5lbmRPZmZzZXQgOiBjdXJzb3JQb3NpdGlvbik7CisgICAgICAgICAg
ICAgICAgdmFyIG5ld1ZhbHVlID0gdmFsdWVTdGFydCArIHZhbHVlU3VnZ2VzdCArIHZhbHVlRW5k
OworICAgICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gY3VycmVudFZhbHVlKQorICAgICAg
ICAgICAgICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9IG5ld1ZhbHVlOwor
ICAgICAgICAgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LmZpcnN0Q2hpbGQuc2VsZWN0KGN1cnNv
clBvc2l0aW9uICsgMSwgd29yZFJhbmdlLnN0YXJ0T2Zmc2V0ICsgdmFsdWVTdWdnZXN0Lmxlbmd0
aCk7CisgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQogICAgIH0sCiAKICAgICBlZGl0aW5nTmFtZUtleURvd246IGZ1bmN0aW9u
KGV2ZW50KQpAQCAtMTYyNSwxMyArMTY3NCwxMiBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0
eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHNlbGVjdGlvblJhbmdlLmNv
bW1vbkFuY2VzdG9yQ29udGFpbmVyICE9PSB0aGlzLm5hbWVFbGVtZW50ICYmICFzZWxlY3Rpb25S
YW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lci5pc0Rlc2NlbmRhbnQodGhpcy5uYW1lRWxlbWVu
dCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgY29uc3Qgc3R5bGVWYWx1ZURlbGlt
ZXRlcnMgPSAiIFx0XG5cIic6OywvKCkiOwotICAgICAgICB2YXIgd29yZFJhbmdlID0gc2VsZWN0
aW9uUmFuZ2Uuc3RhcnRDb250YWluZXIucmFuZ2VPZldvcmQoc2VsZWN0aW9uUmFuZ2Uuc3RhcnRP
ZmZzZXQsIHN0eWxlVmFsdWVEZWxpbWV0ZXJzLCB0aGlzLm5hbWVFbGVtZW50KTsKKyAgICAgICAg
dmFyIHdvcmRSYW5nZSA9IHNlbGVjdGlvblJhbmdlLnN0YXJ0Q29udGFpbmVyLnJhbmdlT2ZXb3Jk
KHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0LCBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBh
bmUuU3R5bGVWYWx1ZURlbGltaXRlcnMsIHRoaXMubmFtZUVsZW1lbnQpOwogICAgICAgICB2YXIg
d29yZFN0cmluZyA9IHdvcmRSYW5nZS50b1N0cmluZygpOwogICAgICAgICB2YXIgY3Vyc29yUG9z
aXRpb24gPSBzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNldCAhPSBzZWxlY3Rpb25SYW5nZS5lbmRP
ZmZzZXQgPyBzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNldCA6IDA7CiAgICAgICAgIHZhciBwcmVm
aXggPSBzZWxlY3Rpb25SYW5nZS5zdGFydENvbnRhaW5lci50ZXh0Q29udGVudC5zdWJzdHJpbmco
MCwgY3Vyc29yUG9zaXRpb24pOwotICAgICAgICB2YXIgcHJvcGVydHk7CiAKKyAgICAgICAgdmFy
IHByb3BlcnR5OwogICAgICAgICBpZiAoc2hvd05leHQpCiAgICAgICAgICAgICBwcm9wZXJ0eSA9
IFdlYkluc3BlY3Rvci5jc3NOYW1lQ29tcGxldGlvbnMubmV4dCh3b3JkU3RyaW5nLCBwcmVmaXgp
OwogICAgICAgICBlbHNlCkBAIC0xNjU1LDY4ICsxNzAzLDg0IEBAIFdlYkluc3BlY3Rvci5TdHls
ZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIXNlbGVjdGlv
bi5yYW5nZUNvdW50KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHZhciBzZWxlY3Rp
b25SYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApOwotICAgICAgICBpZiAoc2VsZWN0aW9u
UmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIgIT09IHRoaXMudmFsdWVFbGVtZW50ICYmICFz
ZWxlY3Rpb25SYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lci5pc0Rlc2NlbmRhbnQodGhpcy52
YWx1ZUVsZW1lbnQpKQorICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3VzTm9kZSAhPT0gc2VsZWN0
aW9uLmFuY2hvck5vZGUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgY29uc3Qgc3R5
bGVWYWx1ZURlbGltZXRlcnMgPSAiIFx0XG5cIic6OywvKCkiOwotICAgICAgICB2YXIgd29yZFJh
bmdlID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRDb250YWluZXIucmFuZ2VPZldvcmQoc2VsZWN0aW9u
UmFuZ2Uuc3RhcnRPZmZzZXQsIHN0eWxlVmFsdWVEZWxpbWV0ZXJzLCB0aGlzLnZhbHVlRWxlbWVu
dCk7Ci0gICAgICAgIHZhciB3b3JkU3RyaW5nID0gd29yZFJhbmdlLnRvU3RyaW5nKCk7Ci0gICAg
ICAgIHZhciByZXBsYWNlbWVudFN0cmluZyA9IHdvcmRTdHJpbmc7Ci0KLSAgICAgICAgdmFyIG1h
dGNoZXMgPSAvKC4qPykoLT9cZCsoPzpcLlxkKyk/KSguKikvLmV4ZWMod29yZFN0cmluZyk7Ci0g
ICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoKSB7Ci0gICAgICAgICAgICB2YXIg
cHJlZml4ID0gbWF0Y2hlc1sxXTsKLSAgICAgICAgICAgIHZhciBudW1iZXIgPSBwYXJzZUZsb2F0
KG1hdGNoZXNbMl0pOwotICAgICAgICAgICAgdmFyIHN1ZmZpeCA9IG1hdGNoZXNbM107Ci0KLSAg
ICAgICAgICAgIC8vIElmIHRoZSBudW1iZXIgaXMgbmVhciB6ZXJvIG9yIHRoZSBudW1iZXIgaXMg
b25lIGFuZCB0aGUgZGlyZWN0aW9uIHdpbGwgdGFrZSBpdCBuZWFyIHplcm8uCi0gICAgICAgICAg
ICB2YXIgbnVtYmVyTmVhclplcm8gPSAobnVtYmVyIDwgMSAmJiBudW1iZXIgPiAtMSk7Ci0gICAg
ICAgICAgICBpZiAobnVtYmVyID09PSAxICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3du
IikKLSAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7Ci0gICAgICAgICAgICBl
bHNlIGlmIChudW1iZXIgPT09IC0xICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJVcCIpCi0g
ICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0cnVlOwotCi0gICAgICAgICAgICBpZiAo
bnVtYmVyTmVhclplcm8gJiYgZXZlbnQuYWx0S2V5ICYmIGFycm93S2V5UHJlc3NlZCkgewotICAg
ICAgICAgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIpCi0gICAgICAg
ICAgICAgICAgICAgIG51bWJlciA9IE1hdGguY2VpbChudW1iZXIgLSAxKTsKLSAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxvb3IobnVtYmVy
ICsgMSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIEp1bXAgYnkg
MTAgd2hlbiBzaGlmdCBpcyBkb3duIG9yIGp1bXAgYnkgMC4xIHdoZW4gbmVhciB6ZXJvIG9yIEFs
dC9PcHRpb24gaXMgZG93bi4KLSAgICAgICAgICAgICAgICAvLyBBbHNvIGp1bXAgYnkgMTAgZm9y
IHBhZ2UgdXAgYW5kIGRvd24sIG9yIGJ5IDEwMCBpZiBzaGlmdCBpcyBoZWxkIHdpdGggYSBwYWdl
IGtleS4KLSAgICAgICAgICAgICAgICB2YXIgY2hhbmdlQW1vdW50ID0gMTsKLSAgICAgICAgICAg
ICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgcGFnZUtleVByZXNzZWQpCi0gICAgICAgICAgICAg
ICAgICAgIGNoYW5nZUFtb3VudCA9IDEwMDsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVu
dC5zaGlmdEtleSB8fCBwYWdlS2V5UHJlc3NlZCkKLSAgICAgICAgICAgICAgICAgICAgY2hhbmdl
QW1vdW50ID0gMTA7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZlbnQuYWx0S2V5IHx8IG51
bWJlck5lYXJaZXJvKQotICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgPSAwLjE7Ci0K
LSAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24iIHx8IGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93biIpCi0gICAgICAgICAgICAgICAgICAgIGNo
YW5nZUFtb3VudCAqPSAtMTsKLQotICAgICAgICAgICAgICAgIC8vIE1ha2UgdGhlIG5ldyBudW1i
ZXIgYW5kIGNvbnN0cmFpbiBpdCB0byBhIHByZWNpc2lvbiBvZiA2LCB0aGlzIG1hdGNoZXMgbnVt
YmVycyB0aGUgZW5naW5lIHJldHVybnMuCi0gICAgICAgICAgICAgICAgLy8gVXNlIHRoZSBOdW1i
ZXIgY29uc3RydWN0b3IgdG8gZm9yZ2V0IHRoZSBmaXhlZCBwcmVjaXNpb24sIHNvIDEuMTAwMDAw
IHdpbGwgcHJpbnQgYXMgMS4xLgotICAgICAgICAgICAgICAgIG51bWJlciA9IE51bWJlcigobnVt
YmVyICsgY2hhbmdlQW1vdW50KS50b0ZpeGVkKDYpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAg
dmFyIGN1cnNvclBvc2l0aW9uID0gTWF0aC5taW4oc2VsZWN0aW9uLmZvY3VzT2Zmc2V0LCBzZWxl
Y3Rpb24uYW5jaG9yT2Zmc2V0KTsKKyAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFs
dWVFbGVtZW50LnRleHRDb250ZW50OworICAgICAgICB2YXIgd29yZFJhbmdlID0gdGhpcy5yYW5n
ZU9mV29yZChjdXJyZW50VmFsdWUsIGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAgdmFyIHdvcmRT
dHJpbmcgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRSYW5nZS5zdGFydE9mZnNldCwgd29y
ZFJhbmdlLmVuZE9mZnNldCk7CisgICAgICAgIHZhciB3b3JkU3RyaW5nTG93ZXIgPSB3b3JkU3Ry
aW5nLnRvTG93ZXJDYXNlKCk7CisgICAgICAgIHZhciByZXBsYWNlbWVudFN0cmluZyA9IG51bGw7
CisgICAgICAgIHZhciBzZWxlY3Rpb25TdGFydCA9IHdvcmRSYW5nZS5zdGFydE9mZnNldDsKKwor
ICAgICAgICAvLyBBdm9pZCBkZXRlY3RpbmcgbnVtZXJpYyB2YWx1ZXMgaW4gd29yZFN0cmluZ3Mg
bGlrZSAicHJlc2VydmUtM2QiLgorICAgICAgICBpZiAodGhpcy5jc3NWYWx1ZUNvbXBsZXRpb25z
LmZpcnN0U3RhcnRzV2l0aCh3b3JkU3RyaW5nTG93ZXIpKSB7CisgICAgICAgICAgICB2YXIgc2hv
d05leHQgPSAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24iIHx8IGV2ZW50LmtleUlkZW50
aWZpZXIgPT09ICJQYWdlRG93biIpOworICAgICAgICAgICAgLy8gVGhlIHByZWZpeCBzaG91bGQg
YmUgY29uc2lkZXJlZCBvbmx5IGlmIHRoZSBzZWxlY3Rpb24gaXMgbm90IGNvbGxhcHNlZC4gT3Ro
ZXJ3aXNlLCB0aGUgcHJlZml4IHNob3VsZCBiZSBlbXB0eS4KKyAgICAgICAgICAgIHZhciB3b3Jk
UHJlZml4ID0gc2VsZWN0aW9uLmZvY3VzT2Zmc2V0ICE9PSBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0
ID8gd29yZFN0cmluZ0xvd2VyLnN1YnN0cmluZygwLCBjdXJzb3JQb3NpdGlvbiAtIHNlbGVjdGlv
blN0YXJ0KSA6ICIiOworCisgICAgICAgICAgICB2YXIgc3VnZ2VzdGVkV29yZDsKKyAgICAgICAg
ICAgIGlmIChzaG93TmV4dCkKKyAgICAgICAgICAgICAgICBzdWdnZXN0ZWRXb3JkID0gdGhpcy5j
c3NWYWx1ZUNvbXBsZXRpb25zLm5leHQod29yZFN0cmluZ0xvd2VyLCB3b3JkUHJlZml4KTsKKyAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzdWdnZXN0ZWRXb3JkID0gdGhpcy5jc3NW
YWx1ZUNvbXBsZXRpb25zLnByZXZpb3VzKHdvcmRTdHJpbmdMb3dlciwgd29yZFByZWZpeCk7CiAK
LSAgICAgICAgICAgIHJlcGxhY2VtZW50U3RyaW5nID0gcHJlZml4ICsgbnVtYmVyICsgc3VmZml4
OworICAgICAgICAgICAgaWYgKHN1Z2dlc3RlZFdvcmQpIHsKKyAgICAgICAgICAgICAgICAvLyBG
aXggc2VsZWN0aW9uIHRvIGJlIG9ubHkgdGhlIHdvcmQgc3VmZml4LCBhcyB0aGUgcHJlZml4IHJl
bWFpbnMgaW50YWN0IHdoaWxlIHNjcm9sbGluZyB0aHJvdWdoIHZhbHVlcy4KKyAgICAgICAgICAg
ICAgICBzZWxlY3Rpb25TdGFydCA9IHNlbGVjdGlvblN0YXJ0ICsgd29yZFByZWZpeC5sZW5ndGg7
CisgICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRTdHJpbmcgPSBzdWdnZXN0ZWRXb3JkLnN1YnN0
cmluZyh3b3JkUHJlZml4Lmxlbmd0aCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAvLyBGSVhNRTogdGhpcyBzaG91bGQgY3ljbGUgdGhyb3VnaCBrbm93biBr
ZXl3b3JkcyBmb3IgdGhlIGN1cnJlbnQgcHJvcGVydHkgdmFsdWUuCi0gICAgICAgIH0KLQotICAg
ICAgICB2YXIgcmVwbGFjZW1lbnRUZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHJl
cGxhY2VtZW50U3RyaW5nKTsKKyAgICAgICAgICAgIHZhciBtYXRjaGVzID0gLyguKj8pKC0/XGQr
KD86XC5cZCspPykoLiopLy5leGVjKHdvcmRTdHJpbmcpOworICAgICAgICAgICAgaWYgKG1hdGNo
ZXMgJiYgbWF0Y2hlcy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICB2YXIgcHJlZml4ID0gbWF0
Y2hlc1sxXTsKKyAgICAgICAgICAgICAgICB2YXIgbnVtYmVyID0gcGFyc2VGbG9hdChtYXRjaGVz
WzJdKTsKKyAgICAgICAgICAgICAgICB2YXIgc3VmZml4ID0gbWF0Y2hlc1szXTsKKworICAgICAg
ICAgICAgICAgIC8vIElmIHRoZSBudW1iZXIgaXMgbmVhciB6ZXJvIG9yIHRoZSBudW1iZXIgaXMg
b25lIGFuZCB0aGUgZGlyZWN0aW9uIHdpbGwgdGFrZSBpdCBuZWFyIHplcm8uCisgICAgICAgICAg
ICAgICAgdmFyIG51bWJlck5lYXJaZXJvID0gKG51bWJlciA8IDEgJiYgbnVtYmVyID4gLTEpOwor
ICAgICAgICAgICAgICAgIGlmIChudW1iZXIgPT09IDEgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9
PT0gIkRvd24iKQorICAgICAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgZWxzZSBpZiAobnVtYmVyID09PSAtMSAmJiBldmVudC5rZXlJZGVudGlm
aWVyID09PSAiVXAiKQorICAgICAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7
CisKKyAgICAgICAgICAgICAgICBpZiAobnVtYmVyTmVhclplcm8gJiYgZXZlbnQuYWx0S2V5ICYm
IGFycm93S2V5UHJlc3NlZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRl
bnRpZmllciA9PT0gIkRvd24iKQorICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0
aC5jZWlsKG51bWJlciAtIDEpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29yKG51bWJlciArIDEpOworICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEp1bXAgYnkgMTAgd2hlbiBz
aGlmdCBpcyBkb3duIG9yIGp1bXAgYnkgMC4xIHdoZW4gbmVhciB6ZXJvIG9yIEFsdC9PcHRpb24g
aXMgZG93bi4KKyAgICAgICAgICAgICAgICAgICAgLy8gQWxzbyBqdW1wIGJ5IDEwIGZvciBwYWdl
IHVwIGFuZCBkb3duLCBvciBieSAxMDAgaWYgc2hpZnQgaXMgaGVsZCB3aXRoIGEgcGFnZSBrZXku
CisgICAgICAgICAgICAgICAgICAgIHZhciBjaGFuZ2VBbW91bnQgPSAxOworICAgICAgICAgICAg
ICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgcGFnZUtleVByZXNzZWQpCisgICAgICAgICAg
ICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgPSAxMDA7CisgICAgICAgICAgICAgICAgICAgIGVs
c2UgaWYgKGV2ZW50LnNoaWZ0S2V5IHx8IHBhZ2VLZXlQcmVzc2VkKQorICAgICAgICAgICAgICAg
ICAgICAgICAgY2hhbmdlQW1vdW50ID0gMTA7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYg
KGV2ZW50LmFsdEtleSB8fCBudW1iZXJOZWFyWmVybykKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNoYW5nZUFtb3VudCA9IDAuMTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5
SWRlbnRpZmllciA9PT0gIkRvd24iIHx8IGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93
biIpCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgKj0gLTE7CisKKyAgICAg
ICAgICAgICAgICAgICAgLy8gTWFrZSB0aGUgbmV3IG51bWJlciBhbmQgY29uc3RyYWluIGl0IHRv
IGEgcHJlY2lzaW9uIG9mIDYsIHRoaXMgbWF0Y2hlcyBudW1iZXJzIHRoZSBlbmdpbmUgcmV0dXJu
cy4KKyAgICAgICAgICAgICAgICAgICAgLy8gVXNlIHRoZSBOdW1iZXIgY29uc3RydWN0b3IgdG8g
Zm9yZ2V0IHRoZSBmaXhlZCBwcmVjaXNpb24sIHNvIDEuMTAwMDAwIHdpbGwgcHJpbnQgYXMgMS4x
LgorICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciArIGNoYW5nZUFt
b3VudCkudG9GaXhlZCg2KSk7CisgICAgICAgICAgICAgICAgfQogCi0gICAgICAgIHdvcmRSYW5n
ZS5kZWxldGVDb250ZW50cygpOwotICAgICAgICB3b3JkUmFuZ2UuaW5zZXJ0Tm9kZShyZXBsYWNl
bWVudFRleHROb2RlKTsKKyAgICAgICAgICAgICAgICByZXBsYWNlbWVudFN0cmluZyA9IHByZWZp
eCArIG51bWJlciArIHN1ZmZpeDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogCi0gICAgICAg
IHZhciBmaW5hbFNlbGVjdGlvblJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKLSAgICAg
ICAgZmluYWxTZWxlY3Rpb25SYW5nZS5zZXRTdGFydChyZXBsYWNlbWVudFRleHROb2RlLCAwKTsK
LSAgICAgICAgZmluYWxTZWxlY3Rpb25SYW5nZS5zZXRFbmQocmVwbGFjZW1lbnRUZXh0Tm9kZSwg
cmVwbGFjZW1lbnRTdHJpbmcubGVuZ3RoKTsKKyAgICAgICAgaWYgKCFyZXBsYWNlbWVudFN0cmlu
ZykKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFu
Z2VzKCk7Ci0gICAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShmaW5hbFNlbGVjdGlvblJhbmdlKTsK
KyAgICAgICAgdmFyIHZhbHVlU3RhcnQgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKDAsIHNlbGVj
dGlvblN0YXJ0KTsKKyAgICAgICAgdmFyIHZhbHVlRW5kID0gY3VycmVudFZhbHVlLnN1YnN0cmlu
Zyh3b3JkUmFuZ2UuZW5kT2Zmc2V0KTsKKyAgICAgICAgdmFyIG5ld1ZhbHVlID0gdmFsdWVTdGFy
dCArIHJlcGxhY2VtZW50U3RyaW5nICsgdmFsdWVFbmQ7CisgICAgICAgIHRoaXMudmFsdWVFbGVt
ZW50LnRleHRDb250ZW50ID0gbmV3VmFsdWU7CisgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LmZp
cnN0Q2hpbGQuc2VsZWN0KHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25TdGFydCArIHJlcGxhY2Vt
ZW50U3RyaW5nLmxlbmd0aCk7CiAKICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKIApA
QCAtMTc0Miw2ICsxODA2LDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVu
dC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBlZGl0ZWRFbGVtZW50LnBhcmVudEVsZW1lbnQu
cmVtb3ZlU3R5bGVDbGFzcygiY2hpbGQtZWRpdGluZyIpOwogCiAgICAgICAgIGRlbGV0ZSB0aGlz
Lm9yaWdpbmFsUHJvcGVydHlUZXh0OworICAgICAgICBkZWxldGUgdGhpcy5fY3NzVmFsdWVDb21w
bGV0aW9uczsKICAgICB9LAogCiAgICAgZWRpdGluZ0NhbmNlbGxlZDogZnVuY3Rpb24oZWxlbWVu
dCwgY29udGV4dCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuaHRtbCBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApp
bmRleCA5ZWQ1MDE5Li5hYmMyODVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5odG1sCkBAIC05MSw2ICs5MSw3IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29sb3IuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNTU0Nv
bXBsZXRpb25zLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJDU1NLZXl3b3JkQ29tcGxldGlvbnMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlN0eWxlc1NpZGViYXJQYW5lLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQYW5lbEVuYWJsZXJW
aWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJXZWxjb21lVmlldy5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmMGU1Nzg0Li5mNGUy
ZjNhIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMC0xMi0yNCAgQWxleGFuZGVy
IFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGF1dG9jb21wbGV0aW9uIGZv
ciBDU1MgcHJvcGVydHkgdmFsdWVzIGluIFN0eWxlcyBwYW5lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTQxNAorCisgICAgICAgICogV2ViS2l0Lmd5
cDogc2V0IHVwIGJ1aWxkLXRpbWUgZ2VuZXJhdGlvbiBvZiBDU1NLZXl3b3JkQ29tcGxldGlvbnMu
anMKKwogMjAxMC0xMi0yMyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjc0NTYxLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5
cAppbmRleCA1YWQ0OGNkLi41OTcwN2JlIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vV2Vi
S2l0Lmd5cAorKysgYi9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNjk5LDYgKzY5OSw3
IEBACiAgICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAgICAgICAgICdkZXZ0
b29sc19odG1sJywKICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9XZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cDppbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCisgICAgICAgICAgICAgICAg
Jy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6d2ViY29yZV9iaW5kaW5nc19z
b3VyY2VzJywKICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAnY29uZGl0aW9ucyc6IFsKICAg
ICAgICAgICAgICAgICBbJ2RlYnVnX2RldnRvb2xzPT0wJywgewpAQCAtNzEzLDYgKzcxNCw3IEBA
CiAgICAgICAgICAgICAgICAgICAgICAgICAnPEAoZGV2dG9vbHNfZmlsZXMpJywKICAgICAgICAg
ICAgICAgICAgICAgICAgICc8QCh3ZWJpbnNwZWN0b3JfZmlsZXMpJywKICAgICAgICAgICAgICAg
ICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJjb3JlL0luc3BlY3RvckJh
Y2tlbmRTdHViLmpzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1F
RElBVEVfRElSKS93ZWJraXQvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzJywKICAgICAgICAgICAg
ICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCiAgICAgICAg
ICAgICAgICAgICAgICAgICBbJ2RlYnVnX2RldnRvb2xzPT0wJywgewpAQCAtNzUwLDcgKzc1Miw4
IEBACiAgICAgICAgICAgICAndHlwZSc6ICdub25lJywKICAgICAgICAgICAgICdkZXBlbmRlbmNp
ZXMnOiBbCiAgICAgICAgICAgICAgICAgJ2RldnRvb2xzX2h0bWwnLAotICAgICAgICAgICAgICAg
ICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOmluc3BlY3Rvcl9wcm90b2Nv
bF9zb3VyY2VzJworICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwOmluc3BlY3Rvcl9wcm90b2NvbF9zb3VyY2VzJywKKyAgICAgICAgICAgICAgICAn
Li4vLi4vV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDp3ZWJjb3JlX2JpbmRpbmdzX3Nv
dXJjZXMnLAogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICdzb3VyY2VzJzogWyc8KFBST0RV
Q1RfRElSKS9yZXNvdXJjZXMvaW5zcGVjdG9yL0RldlRvb2xzLmpzJ10sCiAgICAgICAgICAgICAn
YWN0aW9ucyc6IFt7CkBAIC03NjIsMTIgKzc2NSwxNCBAQAogICAgICAgICAgICAgICAgICAgICAn
PEAoX2lucHV0X3BhZ2UpJywKICAgICAgICAgICAgICAgICAgICAgJzxAKHdlYmluc3BlY3Rvcl9m
aWxlcyknLAogICAgICAgICAgICAgICAgICAgICAnPEAoZGV2dG9vbHNfZmlsZXMpJywKLSAgICAg
ICAgICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmNvcmUvSW5zcGVj
dG9yQmFja2VuZFN0dWIuanMnCisgICAgICAgICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1F
RElBVEVfRElSKS93ZWJjb3JlL0luc3BlY3RvckJhY2tlbmRTdHViLmpzJywKKyAgICAgICAgICAg
ICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9DU1NLZXl3b3JkQ29t
cGxldGlvbnMuanMnLAogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgJ3NlYXJj
aF9wYXRoJzogWwogICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kJywKICAgICAgICAgICAgICAgICAgICAgJ3NyYy9qcycsCiAgICAgICAgICAgICAg
ICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJjb3JlJywKKyAgICAgICAgICAg
ICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdCcKICAgICAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgICAgICdvdXRwdXRzJzogWyc8KFBST0RVQ1RfRElSKS9yZXNv
dXJjZXMvaW5zcGVjdG9yL0RldlRvb2xzLmpzJ10sCiAgICAgICAgICAgICAgICAgJ2FjdGlvbic6
IFsncHl0aG9uJywgJzxAKF9zY3JpcHRfbmFtZSknLCAnPEAoX2lucHV0X3BhZ2UpJywgJzxAKF9z
ZWFyY2hfcGF0aCknLCAnPEAoX291dHB1dHMpJ10sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77620</attachid>
            <date>2010-12-29 08:30:05 -0800</date>
            <delta_ts>2010-12-29 09:15:35 -0800</delta_ts>
            <desc>[PATCH] An alternative solution suggested by pfeldman. Non-generated CSSKeywordCompletions.js (which is to be updated manually)</desc>
            <filename>handwritten_autocomplete.patch</filename>
            <type>text/plain</type>
            <size>46305</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IDUzNjdhOWM1ODJiZTYwZDI1ZjJmYWNhMTYxY2E3M2YwZjAyNWYyYzAKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBXZWQgRGVjIDI5
IDE4OjQzOjI2IDIwMTAgKzAzMDAKCiAgICBIYW5kd3JpdHRlbiBrZXl3b3JkIGNvbXBsZXRpb25z
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGVhYmUxMWYuLjQwOTk3NGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0x
Mi0yOSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGF1
dG9jb21wbGV0aW9uIGZvciBDU1MgcHJvcGVydHkgdmFsdWVzIGluIFN0eWxlcyBwYW5lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTQxNAorCisgICAg
ICAgICogaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLmh0
bWw6IEFkZGVkLgorCiAyMDEwLTEyLTI4ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1
ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkxYjkw
OTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9j
b21wbGV0ZS12YWx1ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQg
VXAvRG93biBrZXlzIHN3aXRjaCBzdWdnZXN0aW9ucyBpbiBDU1MgcHJvcGVydHkgdmFsdWVzLgor
CitUZXh0CitJbml0aWFsIHByb3BlcnR5IHZhbHVlOgorY29sb3I6IGdyZWVuOworTmV4dCB2YWx1
ZToKK2NvbG9yOiBncmVlbnllbGxvdzsKK09yaWdpbmFsIHZhbHVlOgorY29sb3I6IGdyZWVuOwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12
YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZh
bHVlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhlZjkyMDIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0
ZS12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iZWxlbWVudHMtdGVzdHMyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9uIHNlbGVjdEluc3BlY3RlZEVsZW1lbnQo
KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zZWxlY3RFbGVtZW50QW5kUnVuKCJpbnNw
ZWN0ZWQiLCBhbHRlckFuZER1bXBJbnNwZWN0ZWRTdHlsZSk7CisgICAgfQorCisgICAgZnVuY3Rp
b24gYWx0ZXJBbmREdW1wSW5zcGVjdGVkU3R5bGUoKQorICAgIHsKKyAgICAgICAgdmFyIHNlY3Rp
b24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2Vj
dGlvbnNbMF1bMV07CisgICAgICAgIHNlY3Rpb24uZXhwYW5kKCk7CisgICAgICAgIHZhciB0cmVl
RWxlbWVudCA9IHNlY3Rpb24ucHJvcGVydGllc1RyZWVPdXRsaW5lLmNoaWxkcmVuWzBdOworCisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJJbml0aWFsIHByb3BlcnR5IHZhbHVlOiIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh0cmVlRWxlbWVudC5saXN0SXRlbUVs
ZW1lbnQudGV4dENvbnRlbnQpOworICAgICAgICB0cmVlRWxlbWVudC5zdGFydEVkaXRpbmcodHJl
ZUVsZW1lbnQudmFsdWVFbGVtZW50KTsKKyAgICAgICAgdHJlZUVsZW1lbnQudmFsdWVFbGVtZW50
LmZpcnN0Q2hpbGQuc2VsZWN0KCk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
Ik5leHQgdmFsdWU6Iik7CisgICAgICAgIHRyZWVFbGVtZW50LnZhbHVlRWxlbWVudC5kaXNwYXRj
aEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZlbnQoIkRvd24iKSk7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KHRyZWVFbGVtZW50Lmxpc3RJdGVtRWxlbWVudC50ZXh0Q29u
dGVudCk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk9yaWdpbmFsIHZhbHVl
OiIpOworICAgICAgICB0cmVlRWxlbWVudC52YWx1ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNw
ZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50KCJVcCIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQodHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50KTsKKworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KKworICAgIEluc3BlY3Rv
clRlc3QuZXhwYW5kRE9NU3VidHJlZUFuZFJ1bihudWxsLCBzZWxlY3RJbnNwZWN0ZWRFbGVtZW50
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
cD4KK1Rlc3RzIHRoYXQgVXAvRG93biBrZXlzIHN3aXRjaCBzdWdnZXN0aW9ucyBpbiBDU1MgcHJv
cGVydHkgdmFsdWVzLgorPC9wPgorCis8ZGl2IGlkPSJpbnNwZWN0ZWQiIHN0eWxlPSJjb2xvcjog
Z3JlZW47Ij5UZXh0PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVkZDUyNy4uZjc5OGQ4YyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyOSBAQAorMjAxMC0xMi0yOSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGF1dG9jb21wbGV0aW9uIGZvciBDU1MgcHJvcGVydHkgdmFsdWVz
IGluIFN0eWxlcyBwYW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MTQxNAorCisgICAgICAgIEZvciBlYWNoIENTUyBwcm9wZXJ0eSAob2ssIGZvciBt
b3N0IG9mIHRoZW0pLCB3ZSBjYW4gZGV0ZXJtaW5lIGEgZml4ZWQgc2V0IG9mIGtleXdvcmRzCisg
ICAgICAgIHRoYXQgbWF5IGFwcGVhciBpbiBpdHMgdmFsdWUuIFdpdGggdGhlc2Ugc2V0cyBhdCBo
YW5kLCBpdCBpcyBwb3NzaWJsZSB0byBhdXRvLWNvbXBsZXRlCisgICAgICAgIHVzZXIgaW5wdXQg
KGFuZCB0cmF2ZXJzZSBhdmFpbGFibGUgdmFsdWVzIHdpdGggdGhlIFVwL0Rvd24ga2V5cykgaW4g
dGhlIHByb3BlcnR5IHZhbHVlCisgICAgICAgIGZpZWxkIHRoZSBzYW1lIHdheSBhcyB3ZSBkbyBm
b3IgcHJvcGVydHkgbmFtZXMuIFRoZSBzb2x1dGlvbiBkb2VzIE5PIGludGVsbGlnZW50IHBhcnNp
bmcKKyAgICAgICAgb2YgdmFsdWVzIHRvIGRldGVybWluZSB3aGljaCBrZXl3b3JkcyBhcmUgdmFs
aWQgYXQgdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uLgorCisgICAgICAgIFRlc3Q6IGluc3Bl
Y3Rvci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy5odG1sCisKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanM6IEFkZGVkLgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5mb3JQcm9wZXJ0eSk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qczoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUudXBkYXRlVGl0bGUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorCiAyMDEwLTEyLTI5ICBLZW50IEhhbnNl
biAgPGtlbnQuaGFuc2VuQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBI
YXVzbWFubi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKaW5kZXggZjYyZDg4My4uNDUwYjNjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQ2MTMsNiArNDYxMyw3IEBA
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVQYXJzZXIuanMnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llc1RhYmxlLmpzJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzJywKKyAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcycsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlWaWV3LmpzJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCmluZGV4IGVkZTE0YjIuLmNmNmE4OGYgMTAwNzU1Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtNjUzOTMsNiArNjUzOTMsMTQgQEAKIAkJCQkJPgogCQkJCTwv
RmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1l
bmRcQ1NTQ29tcGxldGlvbnMuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXENTU0tleXdvcmRDb21wbGV0
aW9ucy5qcyIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcQ1NTU3R5bGVNb2RlbC5qcyIKIAkJCQkJPgogCQkJ
CTwvRmlsZT4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NLZXl3
b3JkQ29tcGxldGlvbnMuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTS2V5d29y
ZENvbXBsZXRpb25zLmpzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkODJk
ODAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTS2V5
d29yZENvbXBsZXRpb25zLmpzCkBAIC0wLDAgKzEsMTExNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
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
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1dlYkluc3BlY3Rvci5DU1NLZXl3
b3JkQ29tcGxldGlvbnMgPSB7CisgICAgZm9yUHJvcGVydHk6IGZ1bmN0aW9uKHByb3BlcnR5TmFt
ZSkKKyAgICB7CisgICAgICAgIHZhciBhY2NlcHRlZEtleXdvcmRzID0gWyJpbml0aWFsIl07Cisg
ICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gdGhpcy5fcHJvcGVydHlLZXl3b3JkTWFwKQorICAg
ICAgICAgICAgYWNjZXB0ZWRLZXl3b3JkcyA9IGFjY2VwdGVkS2V5d29yZHMuY29uY2F0KHRoaXMu
X3Byb3BlcnR5S2V5d29yZE1hcFtwcm9wZXJ0eU5hbWVdKTsKKyAgICAgICAgaWYgKHByb3BlcnR5
TmFtZSBpbiB0aGlzLl9jb2xvckF3YXJlUHJvcGVydGllcykKKyAgICAgICAgICAgIGFjY2VwdGVk
S2V5d29yZHMgPSBhY2NlcHRlZEtleXdvcmRzLmNvbmNhdChXZWJJbnNwZWN0b3IuQ1NTS2V5d29y
ZENvbXBsZXRpb25zLl9jb2xvcnMpOworICAgICAgICBpZiAocHJvcGVydHlOYW1lIGluIFdlYklu
c3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5Jbmhlcml0ZWRQcm9wZXJ0aWVzKQorICAgICAgICAg
ICAgYWNjZXB0ZWRLZXl3b3Jkcy5wdXNoKCJpbmhlcml0Iik7CisgICAgICAgIHJldHVybiBuZXcg
V2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zKGFjY2VwdGVkS2V5d29yZHMpOworICAgIH0KK307
CisKK1dlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuX2NvbG9ycyA9IFsKKyAgICAi
YXF1YSIsCisgICAgImJsYWNrIiwKKyAgICAiYmx1ZSIsCisgICAgImZ1Y2hzaWEiLAorICAgICJn
cmF5IiwKKyAgICAiZ3JlZW4iLAorICAgICJsaW1lIiwKKyAgICAibWFyb29uIiwKKyAgICAibmF2
eSIsCisgICAgIm9saXZlIiwKKyAgICAib3JhbmdlIiwKKyAgICAicHVycGxlIiwKKyAgICAicmVk
IiwKKyAgICAic2lsdmVyIiwKKyAgICAidGVhbCIsCisgICAgIndoaXRlIiwKKyAgICAieWVsbG93
IiwKKyAgICAidHJhbnNwYXJlbnQiLAorICAgICJjdXJyZW50Y29sb3IiLAorICAgICJncmV5IiwK
KyAgICAiYWxpY2VibHVlIiwKKyAgICAiYW50aXF1ZXdoaXRlIiwKKyAgICAiYXF1YW1hcmluZSIs
CisgICAgImF6dXJlIiwKKyAgICAiYmVpZ2UiLAorICAgICJiaXNxdWUiLAorICAgICJibGFuY2hl
ZGFsbW9uZCIsCisgICAgImJsdWV2aW9sZXQiLAorICAgICJicm93biIsCisgICAgImJ1cmx5d29v
ZCIsCisgICAgImNhZGV0Ymx1ZSIsCisgICAgImNoYXJ0cmV1c2UiLAorICAgICJjaG9jb2xhdGUi
LAorICAgICJjb3JhbCIsCisgICAgImNvcm5mbG93ZXJibHVlIiwKKyAgICAiY29ybnNpbGsiLAor
ICAgICJjcmltc29uIiwKKyAgICAiY3lhbiIsCisgICAgImRhcmtibHVlIiwKKyAgICAiZGFya2N5
YW4iLAorICAgICJkYXJrZ29sZGVucm9kIiwKKyAgICAiZGFya2dyYXkiLAorICAgICJkYXJrZ3Jl
ZW4iLAorICAgICJkYXJrZ3JleSIsCisgICAgImRhcmtraGFraSIsCisgICAgImRhcmttYWdlbnRh
IiwKKyAgICAiZGFya29saXZlZ3JlZW4iLAorICAgICJkYXJrb3JhbmdlIiwKKyAgICAiZGFya29y
Y2hpZCIsCisgICAgImRhcmtyZWQiLAorICAgICJkYXJrc2FsbW9uIiwKKyAgICAiZGFya3NlYWdy
ZWVuIiwKKyAgICAiZGFya3NsYXRlYmx1ZSIsCisgICAgImRhcmtzbGF0ZWdyYXkiLAorICAgICJk
YXJrc2xhdGVncmV5IiwKKyAgICAiZGFya3R1cnF1b2lzZSIsCisgICAgImRhcmt2aW9sZXQiLAor
ICAgICJkZWVwcGluayIsCisgICAgImRlZXBza3libHVlIiwKKyAgICAiZGltZ3JheSIsCisgICAg
ImRpbWdyZXkiLAorICAgICJkb2RnZXJibHVlIiwKKyAgICAiZmlyZWJyaWNrIiwKKyAgICAiZmxv
cmFsd2hpdGUiLAorICAgICJmb3Jlc3RncmVlbiIsCisgICAgImdhaW5zYm9ybyIsCisgICAgImdo
b3N0d2hpdGUiLAorICAgICJnb2xkIiwKKyAgICAiZ29sZGVucm9kIiwKKyAgICAiZ3JlZW55ZWxs
b3ciLAorICAgICJob25leWRldyIsCisgICAgImhvdHBpbmsiLAorICAgICJpbmRpYW5yZWQiLAor
ICAgICJpbmRpZ28iLAorICAgICJpdm9yeSIsCisgICAgImtoYWtpIiwKKyAgICAibGF2ZW5kZXIi
LAorICAgICJsYXZlbmRlcmJsdXNoIiwKKyAgICAibGF3bmdyZWVuIiwKKyAgICAibGVtb25jaGlm
Zm9uIiwKKyAgICAibGlnaHRibHVlIiwKKyAgICAibGlnaHRjb3JhbCIsCisgICAgImxpZ2h0Y3lh
biIsCisgICAgImxpZ2h0Z29sZGVucm9keWVsbG93IiwKKyAgICAibGlnaHRncmF5IiwKKyAgICAi
bGlnaHRncmVlbiIsCisgICAgImxpZ2h0Z3JleSIsCisgICAgImxpZ2h0cGluayIsCisgICAgImxp
Z2h0c2FsbW9uIiwKKyAgICAibGlnaHRzZWFncmVlbiIsCisgICAgImxpZ2h0c2t5Ymx1ZSIsCisg
ICAgImxpZ2h0c2xhdGVncmF5IiwKKyAgICAibGlnaHRzbGF0ZWdyZXkiLAorICAgICJsaWdodHN0
ZWVsYmx1ZSIsCisgICAgImxpZ2h0eWVsbG93IiwKKyAgICAibGltZWdyZWVuIiwKKyAgICAibGlu
ZW4iLAorICAgICJtYWdlbnRhIiwKKyAgICAibWVkaXVtYXF1YW1hcmluZSIsCisgICAgIm1lZGl1
bWJsdWUiLAorICAgICJtZWRpdW1vcmNoaWQiLAorICAgICJtZWRpdW1wdXJwbGUiLAorICAgICJt
ZWRpdW1zZWFncmVlbiIsCisgICAgIm1lZGl1bXNsYXRlYmx1ZSIsCisgICAgIm1lZGl1bXNwcmlu
Z2dyZWVuIiwKKyAgICAibWVkaXVtdHVycXVvaXNlIiwKKyAgICAibWVkaXVtdmlvbGV0cmVkIiwK
KyAgICAibWlkbmlnaHRibHVlIiwKKyAgICAibWludGNyZWFtIiwKKyAgICAibWlzdHlyb3NlIiwK
KyAgICAibW9jY2FzaW4iLAorICAgICJuYXZham93aGl0ZSIsCisgICAgIm9sZGxhY2UiLAorICAg
ICJvbGl2ZWRyYWIiLAorICAgICJvcmFuZ2VyZWQiLAorICAgICJvcmNoaWQiLAorICAgICJwYWxl
Z29sZGVucm9kIiwKKyAgICAicGFsZWdyZWVuIiwKKyAgICAicGFsZXR1cnF1b2lzZSIsCisgICAg
InBhbGV2aW9sZXRyZWQiLAorICAgICJwYXBheWF3aGlwIiwKKyAgICAicGVhY2hwdWZmIiwKKyAg
ICAicGVydSIsCisgICAgInBpbmsiLAorICAgICJwbHVtIiwKKyAgICAicG93ZGVyYmx1ZSIsCisg
ICAgInJvc3licm93biIsCisgICAgInJveWFsYmx1ZSIsCisgICAgInNhZGRsZWJyb3duIiwKKyAg
ICAic2FsbW9uIiwKKyAgICAic2FuZHlicm93biIsCisgICAgInNlYWdyZWVuIiwKKyAgICAic2Vh
c2hlbGwiLAorICAgICJzaWVubmEiLAorICAgICJza3libHVlIiwKKyAgICAic2xhdGVibHVlIiwK
KyAgICAic2xhdGVncmF5IiwKKyAgICAic2xhdGVncmV5IiwKKyAgICAic25vdyIsCisgICAgInNw
cmluZ2dyZWVuIiwKKyAgICAic3RlZWxibHVlIiwKKyAgICAidGFuIiwKKyAgICAidGhpc3RsZSIs
CisgICAgInRvbWF0byIsCisgICAgInR1cnF1b2lzZSIsCisgICAgInZpb2xldCIsCisgICAgIndo
ZWF0IiwKKyAgICAid2hpdGVzbW9rZSIsCisgICAgInllbGxvd2dyZWVuIgorXSwKKworV2ViSW5z
cGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fY29sb3JBd2FyZVByb3BlcnRpZXMgPSBbCisg
ICAgImJhY2tncm91bmQiLAorICAgICJiYWNrZ3JvdW5kLWNvbG9yIiwKKyAgICAiYm9yZGVyIiwK
KyAgICAiYm9yZGVyLWNvbG9yIiwKKyAgICAiYm9yZGVyLXRvcCIsCisgICAgImJvcmRlci1yaWdo
dCIsCisgICAgImJvcmRlci1ib3R0b20iLAorICAgICJib3JkZXItbGVmdCIsCisgICAgImJvcmRl
ci10b3AtY29sb3IiLAorICAgICJib3JkZXItcmlnaHQtY29sb3IiLAorICAgICJib3JkZXItYm90
dG9tLWNvbG9yIiwKKyAgICAiYm9yZGVyLWxlZnQtY29sb3IiLAorICAgICJjb2xvciIsCisgICAg
Im91dGxpbmUiLAorICAgICJvdXRsaW5lLWNvbG9yIiwKKyAgICAidGV4dC1saW5lLXRocm91Z2gi
LAorICAgICJ0ZXh0LWxpbmUtdGhyb3VnaC1jb2xvciIsCisgICAgInRleHQtb3ZlcmxpbmUiLAor
ICAgICJ0ZXh0LW92ZXJsaW5lLWNvbG9yIiwKKyAgICAidGV4dC1zaGFkb3ciLAorICAgICJ0ZXh0
LXVuZGVybGluZSIsCisgICAgInRleHQtdW5kZXJsaW5lLWNvbG9yIiwKKyAgICAiLXdlYmtpdC10
ZXh0LWVtcGhhc2lzIiwKKyAgICAiLXdlYmtpdC10ZXh0LWVtcGhhc2lzLWNvbG9yIgorXS5rZXlT
ZXQoKTsKKworV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fcHJvcGVydHlLZXl3
b3JkTWFwID0geworICAgICJ0YWJsZS1sYXlvdXQiOiBbCisgICAgICAgICJhdXRvIiwKKyAgICAg
ICAgImZpeGVkIgorICAgIF0sCisgICAgInZpc2liaWxpdHkiOiBbCisgICAgICAgICJoaWRkZW4i
LAorICAgICAgICAidmlzaWJsZSIsCisgICAgICAgICJjb2xsYXBzZSIKKyAgICBdLAorICAgICJi
YWNrZ3JvdW5kLXJlcGVhdCI6IFsKKyAgICAgICAgInJlcGVhdCIsCisgICAgICAgICJyZXBlYXQt
eCIsCisgICAgICAgICJyZXBlYXQteSIsCisgICAgICAgICJuby1yZXBlYXQiLAorICAgICAgICAi
c3BhY2UiLAorICAgICAgICAicm91bmQiCisgICAgXSwKKyAgICAidGV4dC11bmRlcmxpbmUiOiBb
CisgICAgICAgICJub25lIiwKKyAgICAgICAgImRvdHRlZCIsCisgICAgICAgICJkYXNoZWQiLAor
ICAgICAgICAic29saWQiLAorICAgICAgICAiZG91YmxlIiwKKyAgICAgICAgImRvdC1kYXNoIiwK
KyAgICAgICAgImRvdC1kb3QtZGFzaCIsCisgICAgICAgICJ3YXZlIgorICAgIF0sCisgICAgImNv
bnRlbnQiOiBbCisgICAgICAgICJsaXN0LWl0ZW0iLAorICAgICAgICAiY2xvc2UtcXVvdGUiLAor
ICAgICAgICAibm8tY2xvc2UtcXVvdGUiLAorICAgICAgICAibm8tb3Blbi1xdW90ZSIsCisgICAg
ICAgICJvcGVuLXF1b3RlIgorICAgIF0sCisgICAgImxpc3Qtc3R5bGUtaW1hZ2UiOiBbCisgICAg
ICAgICJub25lIgorICAgIF0sCisgICAgImNsZWFyIjogWworICAgICAgICAibm9uZSIsCisgICAg
ICAgICJsZWZ0IiwKKyAgICAgICAgInJpZ2h0IiwKKyAgICAgICAgImJvdGgiCisgICAgXSwKKyAg
ICAidGV4dC11bmRlcmxpbmUtbW9kZSI6IFsKKyAgICAgICAgImNvbnRpbnVvdXMiLAorICAgICAg
ICAic2tpcC13aGl0ZS1zcGFjZSIKKyAgICBdLAorICAgICJvdmVyZmxvdy14IjogWworICAgICAg
ICAiaGlkZGVuIiwKKyAgICAgICAgImF1dG8iLAorICAgICAgICAidmlzaWJsZSIsCisgICAgICAg
ICJvdmVybGF5IiwKKyAgICAgICAgInNjcm9sbCIKKyAgICBdLAorICAgICJzdHJva2UtbGluZWpv
aW4iOiBbCisgICAgICAgICJyb3VuZCIsCisgICAgICAgICJtaXRlciIsCisgICAgICAgICJiZXZl
bCIKKyAgICBdLAorICAgICJiYXNlbGluZS1zaGlmdCI6IFsKKyAgICAgICAgImJhc2VsaW5lIiwK
KyAgICAgICAgInN1YiIsCisgICAgICAgICJzdXBlciIKKyAgICBdLAorICAgICJib3JkZXItYm90
dG9tLXdpZHRoIjogWworICAgICAgICAibWVkaXVtIiwKKyAgICAgICAgInRoaWNrIiwKKyAgICAg
ICAgInRoaW4iCisgICAgXSwKKyAgICAibWFycXVlZS1zcGVlZCI6IFsKKyAgICAgICAgIm5vcm1h
bCIsCisgICAgICAgICJzbG93IiwKKyAgICAgICAgImZhc3QiCisgICAgXSwKKyAgICAibWFyZ2lu
LXRvcC1jb2xsYXBzZSI6IFsKKyAgICAgICAgImNvbGxhcHNlIiwKKyAgICAgICAgInNlcGFyYXRl
IiwKKyAgICAgICAgImRpc2NhcmQiCisgICAgXSwKKyAgICAibWF4LWhlaWdodCI6IFsKKyAgICAg
ICAgIm5vbmUiCisgICAgXSwKKyAgICAiYm94LW9yaWVudCI6IFsKKyAgICAgICAgImhvcml6b250
YWwiLAorICAgICAgICAidmVydGljYWwiLAorICAgICAgICAiaW5saW5lLWF4aXMiLAorICAgICAg
ICAiYmxvY2stYXhpcyIKKyAgICBdLAorICAgICJmb250LXN0cmV0Y2giOiBbCisgICAgICAgICJu
b3JtYWwiLAorICAgICAgICAid2lkZXIiLAorICAgICAgICAibmFycm93ZXIiLAorICAgICAgICAi
dWx0cmEtY29uZGVuc2VkIiwKKyAgICAgICAgImV4dHJhLWNvbmRlbnNlZCIsCisgICAgICAgICJj
b25kZW5zZWQiLAorICAgICAgICAic2VtaS1jb25kZW5zZWQiLAorICAgICAgICAic2VtaS1leHBh
bmRlZCIsCisgICAgICAgICJleHBhbmRlZCIsCisgICAgICAgICJleHRyYS1leHBhbmRlZCIsCisg
ICAgICAgICJ1bHRyYS1leHBhbmRlZCIKKyAgICBdLAorICAgICItd2Via2l0LWNvbG9yLWNvcnJl
Y3Rpb24iOiBbCisgICAgICAgICJkZWZhdWx0IiwKKyAgICAgICAgInNyZ2IiCisgICAgXSwKKyAg
ICAidGV4dC11bmRlcmxpbmUtc3R5bGUiOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImRv
dHRlZCIsCisgICAgICAgICJkYXNoZWQiLAorICAgICAgICAic29saWQiLAorICAgICAgICAiZG91
YmxlIiwKKyAgICAgICAgImRvdC1kYXNoIiwKKyAgICAgICAgImRvdC1kb3QtZGFzaCIsCisgICAg
ICAgICJ3YXZlIgorICAgIF0sCisgICAgInRleHQtb3ZlcmxpbmUtbW9kZSI6IFsKKyAgICAgICAg
ImNvbnRpbnVvdXMiLAorICAgICAgICAic2tpcC13aGl0ZS1zcGFjZSIKKyAgICBdLAorICAgICIt
d2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlIjogWworICAgICAgICAiaGlnaGxpZ2h0IiwKKyAg
ICAgICAgImNsZWFyIiwKKyAgICAgICAgImNvcHkiLAorICAgICAgICAic291cmNlLW92ZXIiLAor
ICAgICAgICAic291cmNlLWluIiwKKyAgICAgICAgInNvdXJjZS1vdXQiLAorICAgICAgICAic291
cmNlLWF0b3AiLAorICAgICAgICAiZGVzdGluYXRpb24tb3ZlciIsCisgICAgICAgICJkZXN0aW5h
dGlvbi1pbiIsCisgICAgICAgICJkZXN0aW5hdGlvbi1vdXQiLAorICAgICAgICAiZGVzdGluYXRp
b24tYXRvcCIsCisgICAgICAgICJ4b3IiLAorICAgICAgICAicGx1cy1kYXJrZXIiLAorICAgICAg
ICAicGx1cy1saWdodGVyIgorICAgIF0sCisgICAgImJvcmRlci1sZWZ0LXdpZHRoIjogWworICAg
ICAgICAibWVkaXVtIiwKKyAgICAgICAgInRoaWNrIiwKKyAgICAgICAgInRoaW4iCisgICAgXSwK
KyAgICAiLXdlYmtpdC13cml0aW5nLW1vZGUiOiBbCisgICAgICAgICJsciIsCisgICAgICAgICJy
bCIsCisgICAgICAgICJ0YiIsCisgICAgICAgICJsci10YiIsCisgICAgICAgICJybC10YiIsCisg
ICAgICAgICJ0Yi1ybCIsCisgICAgICAgICJob3Jpem9udGFsLXRiIiwKKyAgICAgICAgInZlcnRp
Y2FsLXJsIiwKKyAgICAgICAgInZlcnRpY2FsLWxyIiwKKyAgICAgICAgImhvcml6b250YWwtYnQi
CisgICAgXSwKKyAgICAidGV4dC1saW5lLXRocm91Z2gtbW9kZSI6IFsKKyAgICAgICAgImNvbnRp
bnVvdXMiLAorICAgICAgICAic2tpcC13aGl0ZS1zcGFjZSIKKyAgICBdLAorICAgICJib3JkZXIt
Y29sbGFwc2UiOiBbCisgICAgICAgICJjb2xsYXBzZSIsCisgICAgICAgICJzZXBhcmF0ZSIKKyAg
ICBdLAorICAgICJwYWdlLWJyZWFrLWluc2lkZSI6IFsKKyAgICAgICAgImF1dG8iLAorICAgICAg
ICAiYXZvaWQiCisgICAgXSwKKyAgICAiYm9yZGVyLXRvcC13aWR0aCI6IFsKKyAgICAgICAgIm1l
ZGl1bSIsCisgICAgICAgICJ0aGljayIsCisgICAgICAgICJ0aGluIgorICAgIF0sCisgICAgIm91
dGxpbmUtY29sb3IiOiBbCisgICAgICAgICJpbnZlcnQiCisgICAgXSwKKyAgICAidGV4dC1saW5l
LXRocm91Z2gtc3R5bGUiOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImRvdHRlZCIsCisg
ICAgICAgICJkYXNoZWQiLAorICAgICAgICAic29saWQiLAorICAgICAgICAiZG91YmxlIiwKKyAg
ICAgICAgImRvdC1kYXNoIiwKKyAgICAgICAgImRvdC1kb3QtZGFzaCIsCisgICAgICAgICJ3YXZl
IgorICAgIF0sCisgICAgIm91dGxpbmUtc3R5bGUiOiBbCisgICAgICAgICJub25lIiwKKyAgICAg
ICAgImhpZGRlbiIsCisgICAgICAgICJpbnNldCIsCisgICAgICAgICJncm9vdmUiLAorICAgICAg
ICAicmlkZ2UiLAorICAgICAgICAib3V0c2V0IiwKKyAgICAgICAgImRvdHRlZCIsCisgICAgICAg
ICJkYXNoZWQiLAorICAgICAgICAic29saWQiLAorICAgICAgICAiZG91YmxlIgorICAgIF0sCisg
ICAgImN1cnNvciI6IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiY29weSIsCisgICAgICAg
ICJhdXRvIiwKKyAgICAgICAgImNyb3NzaGFpciIsCisgICAgICAgICJkZWZhdWx0IiwKKyAgICAg
ICAgInBvaW50ZXIiLAorICAgICAgICAibW92ZSIsCisgICAgICAgICJ2ZXJ0aWNhbC10ZXh0IiwK
KyAgICAgICAgImNlbGwiLAorICAgICAgICAiY29udGV4dC1tZW51IiwKKyAgICAgICAgImFsaWFz
IiwKKyAgICAgICAgInByb2dyZXNzIiwKKyAgICAgICAgIm5vLWRyb3AiLAorICAgICAgICAibm90
LWFsbG93ZWQiLAorICAgICAgICAiLXdlYmtpdC16b29tLWluIiwKKyAgICAgICAgIi13ZWJraXQt
em9vbS1vdXQiLAorICAgICAgICAiZS1yZXNpemUiLAorICAgICAgICAibmUtcmVzaXplIiwKKyAg
ICAgICAgIm53LXJlc2l6ZSIsCisgICAgICAgICJuLXJlc2l6ZSIsCisgICAgICAgICJzZS1yZXNp
emUiLAorICAgICAgICAic3ctcmVzaXplIiwKKyAgICAgICAgInMtcmVzaXplIiwKKyAgICAgICAg
InctcmVzaXplIiwKKyAgICAgICAgImV3LXJlc2l6ZSIsCisgICAgICAgICJucy1yZXNpemUiLAor
ICAgICAgICAibmVzdy1yZXNpemUiLAorICAgICAgICAibndzZS1yZXNpemUiLAorICAgICAgICAi
Y29sLXJlc2l6ZSIsCisgICAgICAgICJyb3ctcmVzaXplIiwKKyAgICAgICAgInRleHQiLAorICAg
ICAgICAid2FpdCIsCisgICAgICAgICJoZWxwIiwKKyAgICAgICAgImFsbC1zY3JvbGwiLAorICAg
ICAgICAiLXdlYmtpdC1ncmFiIiwKKyAgICAgICAgIi13ZWJraXQtZ3JhYmJpbmciCisgICAgXSwK
KyAgICAiYm9yZGVyLXdpZHRoIjogWworICAgICAgICAibWVkaXVtIiwKKyAgICAgICAgInRoaWNr
IiwKKyAgICAgICAgInRoaW4iCisgICAgXSwKKyAgICAic2l6ZSI6IFsKKyAgICAgICAgImEzIiwK
KyAgICAgICAgImE0IiwKKyAgICAgICAgImE1IiwKKyAgICAgICAgImI0IiwKKyAgICAgICAgImI1
IiwKKyAgICAgICAgImxhbmRzY2FwZSIsCisgICAgICAgICJsZWRnZXIiLAorICAgICAgICAibGVn
YWwiLAorICAgICAgICAibGV0dGVyIiwKKyAgICAgICAgInBvcnRyYWl0IgorICAgIF0sCisgICAg
ImJhY2tncm91bmQtc2l6ZSI6IFsKKyAgICAgICAgImNvbnRhaW4iLAorICAgICAgICAiY292ZXIi
CisgICAgXSwKKyAgICAiZGlyZWN0aW9uIjogWworICAgICAgICAibHRyIiwKKyAgICAgICAgInJ0
bCIKKyAgICBdLAorICAgICJtYXJxdWVlLWRpcmVjdGlvbiI6IFsKKyAgICAgICAgImxlZnQiLAor
ICAgICAgICAicmlnaHQiLAorICAgICAgICAiYXV0byIsCisgICAgICAgICJyZXZlcnNlIiwKKyAg
ICAgICAgImZvcndhcmRzIiwKKyAgICAgICAgImJhY2t3YXJkcyIsCisgICAgICAgICJhaGVhZCIs
CisgICAgICAgICJ1cCIsCisgICAgICAgICJkb3duIgorICAgIF0sCisgICAgImVuYWJsZS1iYWNr
Z3JvdW5kIjogWworICAgICAgICAiYWNjdW11bGF0ZSIsCisgICAgICAgICJuZXciCisgICAgXSwK
KyAgICAiZmxvYXQiOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImxlZnQiLAorICAgICAg
ICAicmlnaHQiCisgICAgXSwKKyAgICAib3ZlcmZsb3cteSI6IFsKKyAgICAgICAgImhpZGRlbiIs
CisgICAgICAgICJhdXRvIiwKKyAgICAgICAgInZpc2libGUiLAorICAgICAgICAib3ZlcmxheSIs
CisgICAgICAgICJzY3JvbGwiCisgICAgXSwKKyAgICAibWFyZ2luLWJvdHRvbS1jb2xsYXBzZSI6
IFsKKyAgICAgICAgImNvbGxhcHNlIiwKKyAgICAgICAgInNlcGFyYXRlIiwKKyAgICAgICAgImRp
c2NhcmQiCisgICAgXSwKKyAgICAiYm94LXJlZmxlY3QiOiBbCisgICAgICAgICJsZWZ0IiwKKyAg
ICAgICAgInJpZ2h0IiwKKyAgICAgICAgImFib3ZlIiwKKyAgICAgICAgImJlbG93IgorICAgIF0s
CisgICAgIm92ZXJmbG93IjogWworICAgICAgICAiaGlkZGVuIiwKKyAgICAgICAgImF1dG8iLAor
ICAgICAgICAidmlzaWJsZSIsCisgICAgICAgICJvdmVybGF5IiwKKyAgICAgICAgInNjcm9sbCIK
KyAgICBdLAorICAgICJ0ZXh0LXJlbmRlcmluZyI6IFsKKyAgICAgICAgImF1dG8iLAorICAgICAg
ICAib3B0aW1pemVzcGVlZCIsCisgICAgICAgICJvcHRpbWl6ZWxlZ2liaWxpdHkiLAorICAgICAg
ICAiZ2VvbWV0cmljcHJlY2lzaW9uIgorICAgIF0sCisgICAgInRleHQtYWxpZ24iOiBbCisgICAg
ICAgICItd2Via2l0LWF1dG8iLAorICAgICAgICAibGVmdCIsCisgICAgICAgICJyaWdodCIsCisg
ICAgICAgICJjZW50ZXIiLAorICAgICAgICAianVzdGlmeSIsCisgICAgICAgICItd2Via2l0LWxl
ZnQiLAorICAgICAgICAiLXdlYmtpdC1yaWdodCIsCisgICAgICAgICItd2Via2l0LWNlbnRlciIK
KyAgICBdLAorICAgICJsaXN0LXN0eWxlLXBvc2l0aW9uIjogWworICAgICAgICAib3V0c2lkZSIs
CisgICAgICAgICJpbnNpZGUiCisgICAgXSwKKyAgICAibWFyZ2luLWJvdHRvbSI6IFsKKyAgICAg
ICAgImF1dG8iCisgICAgXSwKKyAgICAiY29sb3ItaW50ZXJwb2xhdGlvbiI6IFsKKyAgICAgICAg
ImxpbmVhcnJnYiIKKyAgICBdLAorICAgICJiYWNrZ3JvdW5kLW9yaWdpbiI6IFsKKyAgICAgICAg
ImJvcmRlci1ib3giLAorICAgICAgICAiY29udGVudC1ib3giLAorICAgICAgICAicGFkZGluZy1i
b3giCisgICAgXSwKKyAgICAid29yZC13cmFwIjogWworICAgICAgICAibm9ybWFsIiwKKyAgICAg
ICAgImJyZWFrLXdvcmQiCisgICAgXSwKKyAgICAiZm9udC13ZWlnaHQiOiBbCisgICAgICAgICJu
b3JtYWwiLAorICAgICAgICAiYm9sZCIsCisgICAgICAgICJib2xkZXIiLAorICAgICAgICAibGln
aHRlciIsCisgICAgICAgICIxMDAiLAorICAgICAgICAiMjAwIiwKKyAgICAgICAgIjMwMCIsCisg
ICAgICAgICI0MDAiLAorICAgICAgICAiNTAwIiwKKyAgICAgICAgIjYwMCIsCisgICAgICAgICI3
MDAiLAorICAgICAgICAiODAwIiwKKyAgICAgICAgIjkwMCIKKyAgICBdLAorICAgICJtYXJnaW4t
YmVmb3JlLWNvbGxhcHNlIjogWworICAgICAgICAiY29sbGFwc2UiLAorICAgICAgICAic2VwYXJh
dGUiLAorICAgICAgICAiZGlzY2FyZCIKKyAgICBdLAorICAgICJ0ZXh0LW92ZXJsaW5lLXdpZHRo
IjogWworICAgICAgICAibm9ybWFsIiwKKyAgICAgICAgIm1lZGl1bSIsCisgICAgICAgICJhdXRv
IiwKKyAgICAgICAgInRoaWNrIiwKKyAgICAgICAgInRoaW4iCisgICAgXSwKKyAgICAidGV4dC10
cmFuc2Zvcm0iOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImNhcGl0YWxpemUiLAorICAg
ICAgICAidXBwZXJjYXNlIiwKKyAgICAgICAgImxvd2VyY2FzZSIKKyAgICBdLAorICAgICJib3Jk
ZXItcmlnaHQtc3R5bGUiOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImhpZGRlbiIsCisg
ICAgICAgICJpbnNldCIsCisgICAgICAgICJncm9vdmUiLAorICAgICAgICAicmlkZ2UiLAorICAg
ICAgICAib3V0c2V0IiwKKyAgICAgICAgImRvdHRlZCIsCisgICAgICAgICJkYXNoZWQiLAorICAg
ICAgICAic29saWQiLAorICAgICAgICAiZG91YmxlIgorICAgIF0sCisgICAgImJvcmRlci1sZWZ0
LXN0eWxlIjogWworICAgICAgICAibm9uZSIsCisgICAgICAgICJoaWRkZW4iLAorICAgICAgICAi
aW5zZXQiLAorICAgICAgICAiZ3Jvb3ZlIiwKKyAgICAgICAgInJpZGdlIiwKKyAgICAgICAgIm91
dHNldCIsCisgICAgICAgICJkb3R0ZWQiLAorICAgICAgICAiZGFzaGVkIiwKKyAgICAgICAgInNv
bGlkIiwKKyAgICAgICAgImRvdWJsZSIKKyAgICBdLAorICAgICItd2Via2l0LXRleHQtZW1waGFz
aXMiOiBbCisgICAgICAgICJjaXJjbGUiLAorICAgICAgICAiZmlsbGVkIiwKKyAgICAgICAgIm9w
ZW4iLAorICAgICAgICAiZG90IiwKKyAgICAgICAgImRvdWJsZS1jaXJjbGUiLAorICAgICAgICAi
dHJpYW5nbGUiLAorICAgICAgICAic2VzYW1lIgorICAgIF0sCisgICAgImZvbnQtc3R5bGUiOiBb
CisgICAgICAgICJpdGFsaWMiLAorICAgICAgICAib2JsaXF1ZSIsCisgICAgICAgICJub3JtYWwi
CisgICAgXSwKKyAgICAic3BlYWsiOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgIm5vcm1h
bCIsCisgICAgICAgICJzcGVsbC1vdXQiLAorICAgICAgICAiZGlnaXRzIiwKKyAgICAgICAgImxp
dGVyYWwtcHVuY3R1YXRpb24iLAorICAgICAgICAibm8tcHVuY3R1YXRpb24iCisgICAgXSwKKyAg
ICAidGV4dC1saW5lLXRocm91Z2giOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImRvdHRl
ZCIsCisgICAgICAgICJkYXNoZWQiLAorICAgICAgICAic29saWQiLAorICAgICAgICAiZG91Ymxl
IiwKKyAgICAgICAgImRvdC1kYXNoIiwKKyAgICAgICAgImRvdC1kb3QtZGFzaCIsCisgICAgICAg
ICJ3YXZlIiwKKyAgICAgICAgImNvbnRpbnVvdXMiLAorICAgICAgICAic2tpcC13aGl0ZS1zcGFj
ZSIKKyAgICBdLAorICAgICJjb2xvci1yZW5kZXJpbmciOiBbCisgICAgICAgICJhdXRvIiwKKyAg
ICAgICAgIm9wdGltaXplc3BlZWQiLAorICAgICAgICAib3B0aW1pemVxdWFsaXR5IgorICAgIF0s
CisgICAgImxpc3Qtc3R5bGUtdHlwZSI6IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiZGlz
YyIsCisgICAgICAgICJjaXJjbGUiLAorICAgICAgICAic3F1YXJlIiwKKyAgICAgICAgImRlY2lt
YWwiLAorICAgICAgICAiZGVjaW1hbC1sZWFkaW5nLXplcm8iLAorICAgICAgICAiYXJhYmljLWlu
ZGljIiwKKyAgICAgICAgImJpbmFyeSIsCisgICAgICAgICJiZW5nYWxpIiwKKyAgICAgICAgImNh
bWJvZGlhbiIsCisgICAgICAgICJraG1lciIsCisgICAgICAgICJkZXZhbmFnYXJpIiwKKyAgICAg
ICAgImd1amFyYXRpIiwKKyAgICAgICAgImd1cm11a2hpIiwKKyAgICAgICAgImthbm5hZGEiLAor
ICAgICAgICAibG93ZXItaGV4YWRlY2ltYWwiLAorICAgICAgICAibGFvIiwKKyAgICAgICAgIm1h
bGF5YWxhbSIsCisgICAgICAgICJtb25nb2xpYW4iLAorICAgICAgICAibXlhbm1hciIsCisgICAg
ICAgICJvY3RhbCIsCisgICAgICAgICJvcml5YSIsCisgICAgICAgICJwZXJzaWFuIiwKKyAgICAg
ICAgInVyZHUiLAorICAgICAgICAidGVsdWd1IiwKKyAgICAgICAgInRpYmV0YW4iLAorICAgICAg
ICAidGhhaSIsCisgICAgICAgICJ1cHBlci1oZXhhZGVjaW1hbCIsCisgICAgICAgICJsb3dlci1y
b21hbiIsCisgICAgICAgICJ1cHBlci1yb21hbiIsCisgICAgICAgICJsb3dlci1ncmVlayIsCisg
ICAgICAgICJsb3dlci1hbHBoYSIsCisgICAgICAgICJsb3dlci1sYXRpbiIsCisgICAgICAgICJ1
cHBlci1hbHBoYSIsCisgICAgICAgICJ1cHBlci1sYXRpbiIsCisgICAgICAgICJhZmFyIiwKKyAg
ICAgICAgImV0aGlvcGljLWhhbGVoYW1lLWFhLWV0IiwKKyAgICAgICAgImV0aGlvcGljLWhhbGVo
YW1lLWFhLWVyIiwKKyAgICAgICAgImFtaGFyaWMiLAorICAgICAgICAiZXRoaW9waWMtaGFsZWhh
bWUtYW0tZXQiLAorICAgICAgICAiYW1oYXJpYy1hYmVnZWRlIiwKKyAgICAgICAgImV0aGlvcGlj
LWFiZWdlZGUtYW0tZXQiLAorICAgICAgICAiY2prLWVhcnRobHktYnJhbmNoIiwKKyAgICAgICAg
ImNqay1oZWF2ZW5seS1zdGVtIiwKKyAgICAgICAgImV0aGlvcGljIiwKKyAgICAgICAgImV0aGlv
cGljLWhhbGVoYW1lLWdleiIsCisgICAgICAgICJldGhpb3BpYy1hYmVnZWRlIiwKKyAgICAgICAg
ImV0aGlvcGljLWFiZWdlZGUtZ2V6IiwKKyAgICAgICAgImhhbmd1bC1jb25zb25hbnQiLAorICAg
ICAgICAiaGFuZ3VsIiwKKyAgICAgICAgImxvd2VyLW5vcndlZ2lhbiIsCisgICAgICAgICJvcm9t
byIsCisgICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS1vbS1ldCIsCisgICAgICAgICJzaWRhbWEi
LAorICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0IiwKKyAgICAgICAgInNvbWFsaSIs
CisgICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS1zby1ldCIsCisgICAgICAgICJ0aWdyZSIsCisg
ICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS10aWciLAorICAgICAgICAidGlncmlueWEtZXIiLAor
ICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUtdGktZXIiLAorICAgICAgICAidGlncmlueWEtZXIt
YWJlZ2VkZSIsCisgICAgICAgICJldGhpb3BpYy1hYmVnZWRlLXRpLWVyIiwKKyAgICAgICAgInRp
Z3JpbnlhLWV0IiwKKyAgICAgICAgImV0aGlvcGljLWhhbGVoYW1lLXRpLWV0IiwKKyAgICAgICAg
InRpZ3JpbnlhLWV0LWFiZWdlZGUiLAorICAgICAgICAiZXRoaW9waWMtYWJlZ2VkZS10aS1ldCIs
CisgICAgICAgICJ1cHBlci1ncmVlayIsCisgICAgICAgICJ1cHBlci1ub3J3ZWdpYW4iLAorICAg
ICAgICAiYXN0ZXJpc2tzIiwKKyAgICAgICAgImZvb3Rub3RlcyIsCisgICAgICAgICJoZWJyZXci
LAorICAgICAgICAiYXJtZW5pYW4iLAorICAgICAgICAibG93ZXItYXJtZW5pYW4iLAorICAgICAg
ICAidXBwZXItYXJtZW5pYW4iLAorICAgICAgICAiZ2VvcmdpYW4iLAorICAgICAgICAiY2prLWlk
ZW9ncmFwaGljIiwKKyAgICAgICAgImhpcmFnYW5hIiwKKyAgICAgICAgImthdGFrYW5hIiwKKyAg
ICAgICAgImhpcmFnYW5hLWlyb2hhIiwKKyAgICAgICAgImthdGFrYW5hLWlyb2hhIgorICAgIF0s
CisgICAgIi13ZWJraXQtdGV4dC1jb21iaW5lIjogWworICAgICAgICAibm9uZSIsCisgICAgICAg
ICJob3Jpem9udGFsIgorICAgIF0sCisgICAgIm91dGxpbmUiOiBbCisgICAgICAgICJub25lIiwK
KyAgICAgICAgImhpZGRlbiIsCisgICAgICAgICJpbnNldCIsCisgICAgICAgICJncm9vdmUiLAor
ICAgICAgICAicmlkZ2UiLAorICAgICAgICAib3V0c2V0IiwKKyAgICAgICAgImRvdHRlZCIsCisg
ICAgICAgICJkYXNoZWQiLAorICAgICAgICAic29saWQiLAorICAgICAgICAiZG91YmxlIgorICAg
IF0sCisgICAgImZvbnQiOiBbCisgICAgICAgICJjYXB0aW9uIiwKKyAgICAgICAgImljb24iLAor
ICAgICAgICAibWVudSIsCisgICAgICAgICJtZXNzYWdlLWJveCIsCisgICAgICAgICJzbWFsbC1j
YXB0aW9uIiwKKyAgICAgICAgIi13ZWJraXQtbWluaS1jb250cm9sIiwKKyAgICAgICAgIi13ZWJr
aXQtc21hbGwtY29udHJvbCIsCisgICAgICAgICItd2Via2l0LWNvbnRyb2wiLAorICAgICAgICAi
c3RhdHVzLWJhciIsCisgICAgICAgICJpdGFsaWMiLAorICAgICAgICAib2JsaXF1ZSIsCisgICAg
ICAgICJzbWFsbC1jYXBzIiwKKyAgICAgICAgIm5vcm1hbCIsCisgICAgICAgICJib2xkIiwKKyAg
ICAgICAgImJvbGRlciIsCisgICAgICAgICJsaWdodGVyIiwKKyAgICAgICAgIjEwMCIsCisgICAg
ICAgICIyMDAiLAorICAgICAgICAiMzAwIiwKKyAgICAgICAgIjQwMCIsCisgICAgICAgICI1MDAi
LAorICAgICAgICAiNjAwIiwKKyAgICAgICAgIjcwMCIsCisgICAgICAgICI4MDAiLAorICAgICAg
ICAiOTAwIiwKKyAgICAgICAgInh4LXNtYWxsIiwKKyAgICAgICAgIngtc21hbGwiLAorICAgICAg
ICAic21hbGwiLAorICAgICAgICAibWVkaXVtIiwKKyAgICAgICAgImxhcmdlIiwKKyAgICAgICAg
IngtbGFyZ2UiLAorICAgICAgICAieHgtbGFyZ2UiLAorICAgICAgICAiLXdlYmtpdC14eHgtbGFy
Z2UiLAorICAgICAgICAic21hbGxlciIsCisgICAgICAgICJsYXJnZXIiLAorICAgICAgICAic2Vy
aWYiLAorICAgICAgICAic2Fucy1zZXJpZiIsCisgICAgICAgICJjdXJzaXZlIiwKKyAgICAgICAg
ImZhbnRhc3kiLAorICAgICAgICAibW9ub3NwYWNlIiwKKyAgICAgICAgIi13ZWJraXQtYm9keSIK
KyAgICBdLAorICAgICJkb21pbmFudC1iYXNlbGluZSI6IFsKKyAgICAgICAgIm1pZGRsZSIsCisg
ICAgICAgICJhdXRvIiwKKyAgICAgICAgImNlbnRyYWwiLAorICAgICAgICAidGV4dC1iZWZvcmUt
ZWRnZSIsCisgICAgICAgICJ0ZXh0LWFmdGVyLWVkZ2UiLAorICAgICAgICAiaWRlb2dyYXBoaWMi
LAorICAgICAgICAiYWxwaGFiZXRpYyIsCisgICAgICAgICJoYW5naW5nIiwKKyAgICAgICAgIm1h
dGhlbWF0aWNhbCIsCisgICAgICAgICJ1c2Utc2NyaXB0IiwKKyAgICAgICAgIm5vLWNoYW5nZSIs
CisgICAgICAgICJyZXNldC1zaXplIgorICAgIF0sCisgICAgImRpc3BsYXkiOiBbCisgICAgICAg
ICJub25lIiwKKyAgICAgICAgImlubGluZSIsCisgICAgICAgICJibG9jayIsCisgICAgICAgICJs
aXN0LWl0ZW0iLAorICAgICAgICAicnVuLWluIiwKKyAgICAgICAgImNvbXBhY3QiLAorICAgICAg
ICAiaW5saW5lLWJsb2NrIiwKKyAgICAgICAgInRhYmxlIiwKKyAgICAgICAgImlubGluZS10YWJs
ZSIsCisgICAgICAgICJ0YWJsZS1yb3ctZ3JvdXAiLAorICAgICAgICAidGFibGUtaGVhZGVyLWdy
b3VwIiwKKyAgICAgICAgInRhYmxlLWZvb3Rlci1ncm91cCIsCisgICAgICAgICJ0YWJsZS1yb3ci
LAorICAgICAgICAidGFibGUtY29sdW1uLWdyb3VwIiwKKyAgICAgICAgInRhYmxlLWNvbHVtbiIs
CisgICAgICAgICJ0YWJsZS1jZWxsIiwKKyAgICAgICAgInRhYmxlLWNhcHRpb24iLAorICAgICAg
ICAiLXdlYmtpdC1ib3giLAorICAgICAgICAiLXdlYmtpdC1pbmxpbmUtYm94IiwKKyAgICAgICAg
Ii13YXAtbWFycXVlZSIKKyAgICBdLAorICAgICItd2Via2l0LXRleHQtZW1waGFzaXMtcG9zaXRp
b24iOiBbCisgICAgICAgICJvdmVyIiwKKyAgICAgICAgInVuZGVyIgorICAgIF0sCisgICAgImlt
YWdlLXJlbmRlcmluZyI6IFsKKyAgICAgICAgImF1dG8iLAorICAgICAgICAib3B0aW1pemVzcGVl
ZCIsCisgICAgICAgICJvcHRpbWl6ZXF1YWxpdHkiCisgICAgXSwKKyAgICAiYWxpZ25tZW50LWJh
c2VsaW5lIjogWworICAgICAgICAiYmFzZWxpbmUiLAorICAgICAgICAibWlkZGxlIiwKKyAgICAg
ICAgImF1dG8iLAorICAgICAgICAiYmVmb3JlLWVkZ2UiLAorICAgICAgICAiYWZ0ZXItZWRnZSIs
CisgICAgICAgICJjZW50cmFsIiwKKyAgICAgICAgInRleHQtYmVmb3JlLWVkZ2UiLAorICAgICAg
ICAidGV4dC1hZnRlci1lZGdlIiwKKyAgICAgICAgImlkZW9ncmFwaGljIiwKKyAgICAgICAgImFs
cGhhYmV0aWMiLAorICAgICAgICAiaGFuZ2luZyIsCisgICAgICAgICJtYXRoZW1hdGljYWwiCisg
ICAgXSwKKyAgICAib3V0bGluZS13aWR0aCI6IFsKKyAgICAgICAgIm1lZGl1bSIsCisgICAgICAg
ICJ0aGljayIsCisgICAgICAgICJ0aGluIgorICAgIF0sCisgICAgInRleHQtbGluZS10aHJvdWdo
LXdpZHRoIjogWworICAgICAgICAibm9ybWFsIiwKKyAgICAgICAgIm1lZGl1bSIsCisgICAgICAg
ICJhdXRvIiwKKyAgICAgICAgInRoaWNrIiwKKyAgICAgICAgInRoaW4iCisgICAgXSwKKyAgICAi
Ym94LWFsaWduIjogWworICAgICAgICAiYmFzZWxpbmUiLAorICAgICAgICAiY2VudGVyIiwKKyAg
ICAgICAgInN0cmV0Y2giLAorICAgICAgICAic3RhcnQiLAorICAgICAgICAiZW5kIgorICAgIF0s
CisgICAgImJvcmRlci1yaWdodC13aWR0aCI6IFsKKyAgICAgICAgIm1lZGl1bSIsCisgICAgICAg
ICJ0aGljayIsCisgICAgICAgICJ0aGluIgorICAgIF0sCisgICAgImJvcmRlci10b3Atc3R5bGUi
OiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImhpZGRlbiIsCisgICAgICAgICJpbnNldCIs
CisgICAgICAgICJncm9vdmUiLAorICAgICAgICAicmlkZ2UiLAorICAgICAgICAib3V0c2V0IiwK
KyAgICAgICAgImRvdHRlZCIsCisgICAgICAgICJkYXNoZWQiLAorICAgICAgICAic29saWQiLAor
ICAgICAgICAiZG91YmxlIgorICAgIF0sCisgICAgImxpbmUtaGVpZ2h0IjogWworICAgICAgICAi
bm9ybWFsIgorICAgIF0sCisgICAgInRleHQtb3ZlcmZsb3ciOiBbCisgICAgICAgICJjbGlwIiwK
KyAgICAgICAgImVsbGlwc2lzIgorICAgIF0sCisgICAgImJveC1kaXJlY3Rpb24iOiBbCisgICAg
ICAgICJub3JtYWwiLAorICAgICAgICAicmV2ZXJzZSIKKyAgICBdLAorICAgICJtYXJnaW4tYWZ0
ZXItY29sbGFwc2UiOiBbCisgICAgICAgICJjb2xsYXBzZSIsCisgICAgICAgICJzZXBhcmF0ZSIs
CisgICAgICAgICJkaXNjYXJkIgorICAgIF0sCisgICAgInBhZ2UtYnJlYWstYmVmb3JlIjogWwor
ICAgICAgICAibGVmdCIsCisgICAgICAgICJyaWdodCIsCisgICAgICAgICJhdXRvIiwKKyAgICAg
ICAgImFsd2F5cyIsCisgICAgICAgICJhdm9pZCIKKyAgICBdLAorICAgICItd2Via2l0LWh5cGhl
bnMiOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImF1dG8iLAorICAgICAgICAibWFudWFs
IgorICAgIF0sCisgICAgImJvcmRlci1pbWFnZSI6IFsKKyAgICAgICAgInJlcGVhdCIsCisgICAg
ICAgICJzdHJldGNoIgorICAgIF0sCisgICAgInRleHQtZGVjb3JhdGlvbiI6IFsKKyAgICAgICAg
ImJsaW5rIiwKKyAgICAgICAgImxpbmUtdGhyb3VnaCIsCisgICAgICAgICJvdmVybGluZSIsCisg
ICAgICAgICJ1bmRlcmxpbmUiCisgICAgXSwKKyAgICAicG9zaXRpb24iOiBbCisgICAgICAgICJh
YnNvbHV0ZSIsCisgICAgICAgICJmaXhlZCIsCisgICAgICAgICJyZWxhdGl2ZSIsCisgICAgICAg
ICJzdGF0aWMiCisgICAgXSwKKyAgICAiZm9udC1mYW1pbHkiOiBbCisgICAgICAgICJzZXJpZiIs
CisgICAgICAgICJzYW5zLXNlcmlmIiwKKyAgICAgICAgImN1cnNpdmUiLAorICAgICAgICAiZmFu
dGFzeSIsCisgICAgICAgICJtb25vc3BhY2UiLAorICAgICAgICAiLXdlYmtpdC1ib2R5IgorICAg
IF0sCisgICAgInRleHQtb3ZlcmZsb3ctbW9kZSI6IFsKKyAgICAgICAgImNsaXAiLAorICAgICAg
ICAiZWxsaXBzaXMiCisgICAgXSwKKyAgICAiYm9yZGVyLWJvdHRvbS1zdHlsZSI6IFsKKyAgICAg
ICAgIm5vbmUiLAorICAgICAgICAiaGlkZGVuIiwKKyAgICAgICAgImluc2V0IiwKKyAgICAgICAg
Imdyb292ZSIsCisgICAgICAgICJyaWRnZSIsCisgICAgICAgICJvdXRzZXQiLAorICAgICAgICAi
ZG90dGVkIiwKKyAgICAgICAgImRhc2hlZCIsCisgICAgICAgICJzb2xpZCIsCisgICAgICAgICJk
b3VibGUiCisgICAgXSwKKyAgICAidW5pY29kZS1iaWRpIjogWworICAgICAgICAibm9ybWFsIiwK
KyAgICAgICAgImJpZGktb3ZlcnJpZGUiLAorICAgICAgICAiZW1iZWQiCisgICAgXSwKKyAgICAi
Y2xpcC1ydWxlIjogWworICAgICAgICAibm9uemVybyIsCisgICAgICAgICJldmVub2RkIgorICAg
IF0sCisgICAgIm1hcmdpbi1sZWZ0IjogWworICAgICAgICAiYXV0byIKKyAgICBdLAorICAgICJt
YXJnaW4tdG9wIjogWworICAgICAgICAiYXV0byIKKyAgICBdLAorICAgICJ6b29tIjogWworICAg
ICAgICAiZG9jdW1lbnQiLAorICAgICAgICAicmVzZXQiCisgICAgXSwKKyAgICAidGV4dC1vdmVy
bGluZS1zdHlsZSI6IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiZG90dGVkIiwKKyAgICAg
ICAgImRhc2hlZCIsCisgICAgICAgICJzb2xpZCIsCisgICAgICAgICJkb3VibGUiLAorICAgICAg
ICAiZG90LWRhc2giLAorICAgICAgICAiZG90LWRvdC1kYXNoIiwKKyAgICAgICAgIndhdmUiCisg
ICAgXSwKKyAgICAibWF4LXdpZHRoIjogWworICAgICAgICAibm9uZSIKKyAgICBdLAorICAgICJl
bXB0eS1jZWxscyI6IFsKKyAgICAgICAgImhpZGUiLAorICAgICAgICAic2hvdyIKKyAgICBdLAor
ICAgICJwb2ludGVyLWV2ZW50cyI6IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiYWxsIiwK
KyAgICAgICAgImF1dG8iLAorICAgICAgICAidmlzaWJsZSIsCisgICAgICAgICJ2aXNpYmxlcGFp
bnRlZCIsCisgICAgICAgICJ2aXNpYmxlZmlsbCIsCisgICAgICAgICJ2aXNpYmxlc3Ryb2tlIiwK
KyAgICAgICAgInBhaW50ZWQiLAorICAgICAgICAiZmlsbCIsCisgICAgICAgICJzdHJva2UiCisg
ICAgXSwKKyAgICAibGV0dGVyLXNwYWNpbmciOiBbCisgICAgICAgICJub3JtYWwiCisgICAgXSwK
KyAgICAiYmFja2dyb3VuZC1jbGlwIjogWworICAgICAgICAiYm9yZGVyLWJveCIsCisgICAgICAg
ICJjb250ZW50LWJveCIsCisgICAgICAgICJwYWRkaW5nLWJveCIKKyAgICBdLAorICAgICItd2Vi
a2l0LWZvbnQtc21vb3RoaW5nIjogWworICAgICAgICAibm9uZSIsCisgICAgICAgICJhdXRvIiwK
KyAgICAgICAgImFudGlhbGlhc2VkIiwKKyAgICAgICAgInN1YnBpeGVsLWFudGlhbGlhc2VkIgor
ICAgIF0sCisgICAgImJvcmRlciI6IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiaGlkZGVu
IiwKKyAgICAgICAgImluc2V0IiwKKyAgICAgICAgImdyb292ZSIsCisgICAgICAgICJyaWRnZSIs
CisgICAgICAgICJvdXRzZXQiLAorICAgICAgICAiZG90dGVkIiwKKyAgICAgICAgImRhc2hlZCIs
CisgICAgICAgICJzb2xpZCIsCisgICAgICAgICJkb3VibGUiCisgICAgXSwKKyAgICAiZm9udC1z
aXplIjogWworICAgICAgICAieHgtc21hbGwiLAorICAgICAgICAieC1zbWFsbCIsCisgICAgICAg
ICJzbWFsbCIsCisgICAgICAgICJtZWRpdW0iLAorICAgICAgICAibGFyZ2UiLAorICAgICAgICAi
eC1sYXJnZSIsCisgICAgICAgICJ4eC1sYXJnZSIsCisgICAgICAgICItd2Via2l0LXh4eC1sYXJn
ZSIsCisgICAgICAgICJzbWFsbGVyIiwKKyAgICAgICAgImxhcmdlciIKKyAgICBdLAorICAgICJm
b250LXZhcmlhbnQiOiBbCisgICAgICAgICJzbWFsbC1jYXBzIiwKKyAgICAgICAgIm5vcm1hbCIK
KyAgICBdLAorICAgICJ2ZXJ0aWNhbC1hbGlnbiI6IFsKKyAgICAgICAgImJhc2VsaW5lIiwKKyAg
ICAgICAgIm1pZGRsZSIsCisgICAgICAgICJzdWIiLAorICAgICAgICAic3VwZXIiLAorICAgICAg
ICAidGV4dC10b3AiLAorICAgICAgICAidGV4dC1ib3R0b20iLAorICAgICAgICAidG9wIiwKKyAg
ICAgICAgImJvdHRvbSIsCisgICAgICAgICItd2Via2l0LWJhc2VsaW5lLW1pZGRsZSIKKyAgICBd
LAorICAgICJtYXJxdWVlLXN0eWxlIjogWworICAgICAgICAibm9uZSIsCisgICAgICAgICJzY3Jv
bGwiLAorICAgICAgICAic2xpZGUiLAorICAgICAgICAiYWx0ZXJuYXRlIgorICAgIF0sCisgICAg
IndoaXRlLXNwYWNlIjogWworICAgICAgICAibm9ybWFsIiwKKyAgICAgICAgIm5vd3JhcCIsCisg
ICAgICAgICJwcmUiLAorICAgICAgICAicHJlLWxpbmUiLAorICAgICAgICAicHJlLXdyYXAiCisg
ICAgXSwKKyAgICAidGV4dC11bmRlcmxpbmUtd2lkdGgiOiBbCisgICAgICAgICJub3JtYWwiLAor
ICAgICAgICAibWVkaXVtIiwKKyAgICAgICAgImF1dG8iLAorICAgICAgICAidGhpY2siLAorICAg
ICAgICAidGhpbiIKKyAgICBdLAorICAgICJib3gtbGluZXMiOiBbCisgICAgICAgICJzaW5nbGUi
LAorICAgICAgICAibXVsdGlwbGUiCisgICAgXSwKKyAgICAicGFnZS1icmVhay1hZnRlciI6IFsK
KyAgICAgICAgImxlZnQiLAorICAgICAgICAicmlnaHQiLAorICAgICAgICAiYXV0byIsCisgICAg
ICAgICJhbHdheXMiLAorICAgICAgICAiYXZvaWQiCisgICAgXSwKKyAgICAiY2xpcC1wYXRoIjog
WworICAgICAgICAibm9uZSIKKyAgICBdLAorICAgICJtYXJnaW4iOiBbCisgICAgICAgICJhdXRv
IgorICAgIF0sCisgICAgIm1hcnF1ZWUtcmVwZXRpdGlvbiI6IFsKKyAgICAgICAgImluZmluaXRl
IgorICAgIF0sCisgICAgIm1hcmdpbi1yaWdodCI6IFsKKyAgICAgICAgImF1dG8iCisgICAgXSwK
KyAgICAiLXdlYmtpdC10ZXh0LWVtcGhhc2lzLXN0eWxlIjogWworICAgICAgICAiY2lyY2xlIiwK
KyAgICAgICAgImZpbGxlZCIsCisgICAgICAgICJvcGVuIiwKKyAgICAgICAgImRvdCIsCisgICAg
ICAgICJkb3VibGUtY2lyY2xlIiwKKyAgICAgICAgInRyaWFuZ2xlIiwKKyAgICAgICAgInNlc2Ft
ZSIKKyAgICBdCit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29s
b3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanMKaW5kZXggNWU3MzE0
Yy4uM2ExNmY3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbG9y
LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcwpAQCAtNDQ5LDcg
KzQ0OSw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5IZXhUYWJsZSA9IHsKICAgICAiQ0Q4NTNGIjog
W1syMDUsIDEzMywgNjNdLCBbMzAsIDU5LCA1M10sICJwZXJ1Il0sCiAgICAgIkQyNjkxRSI6IFtb
MjEwLCAxMDUsIDMwXSwgWzI1LCA3NSwgNDddLCAiY2hvY29sYXRlIl0sCiAgICAgIkQyQjQ4QyI6
IFtbMjEwLCAxODAsIDE0MF0sIFszNCwgNDQsIDY5XSwgInRhbiJdLAotICAgICJEM0QzRDMiOiBb
WzIxMSwgMjExLCAyMTFdLCBbMCwgMCwgODNdLCAibGlnaHRHcmV5Il0sCisgICAgIkQzRDNEMyI6
IFtbMjExLCAyMTEsIDIxMV0sIFswLCAwLCA4M10sICJsaWdodEdyYXkiXSwKICAgICAiRDg3MDkz
IjogW1syMTksIDExMiwgMTQ3XSwgWzM0MCwgNjAsIDY1XSwgInBhbGVWaW9sZXRSZWQiXSwKICAg
ICAiRDhCRkQ4IjogW1syMTYsIDE5MSwgMjE2XSwgWzMwMCwgMjQsIDgwXSwgInRoaXN0bGUiXSwK
ICAgICAiREE3MEQ2IjogW1syMTgsIDExMiwgMjE0XSwgWzMwMiwgNTksIDY1XSwgIm9yY2hpZCJd
LApAQCAtNTM5LDYgKzUzOSw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7CiAg
ICAgImRhcmtnb2xkZW5yb2QiOiAiQjg4NjBCIiwKICAgICAiZGFya2dyYXkiOiAiQTlBOUE5IiwK
ICAgICAiZGFya2dyZWVuIjogIjAwNjQwMCIsCisgICAgImRhcmtncmV5IjogIkE5QTlBOSIsCiAg
ICAgImRhcmtraGFraSI6ICJCREI3NkIiLAogICAgICJkYXJrbWFnZW50YSI6ICI4QjAwOEIiLAog
ICAgICJkYXJrb2xpdmVncmVlbiI6ICI1NTZCMkYiLApAQCAtNTQ5LDExICs1NTAsMTMgQEAgV2Vi
SW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lcyA9IHsKICAgICAiZGFya3NlYWdyZWVuIjogIjhGQkM4
RiIsCiAgICAgImRhcmtzbGF0ZWJsdWUiOiAiNDgzRDhCIiwKICAgICAiZGFya3NsYXRlZ3JheSI6
ICIyRjRGNEYiLAorICAgICJkYXJrc2xhdGVncmV5IjogIjJGNEY0RiIsCiAgICAgImRhcmt0dXJx
dW9pc2UiOiAiMDBDRUQxIiwKICAgICAiZGFya3Zpb2xldCI6ICI5NDAwRDMiLAogICAgICJkZWVw
cGluayI6ICJGRjE0OTMiLAogICAgICJkZWVwc2t5Ymx1ZSI6ICIwMEJGRkYiLAogICAgICJkaW1n
cmF5IjogIjY5Njk2OSIsCisgICAgImRpbWdyZXkiOiAiNjk2OTY5IiwKICAgICAiZG9kZ2VyYmx1
ZSI6ICIxRTkwRkYiLAogICAgICJmaXJlYnJpY2siOiAiQjIyMjIyIiwKICAgICAiZmxvcmFsd2hp
dGUiOiAiRkZGQUYwIiwKQEAgLTU2Niw2ICs1NjksNyBAQCBXZWJJbnNwZWN0b3IuQ29sb3IuTmlj
a25hbWVzID0gewogICAgICJncmF5IjogIjgwODA4MCIsCiAgICAgImdyZWVuIjogIjAwODAwMCIs
CiAgICAgImdyZWVueWVsbG93IjogIkFERkYyRiIsCisgICAgImdyZXkiOiAiODA4MDgwIiwKICAg
ICAiaG9uZXlkZXciOiAiRjBGRkYwIiwKICAgICAiaG90cGluayI6ICJGRjY5QjQiLAogICAgICJp
bmRpYW5yZWQiOiAiQ0Q1QzVDIiwKQEAgLTU4MCw2ICs1ODQsNyBAQCBXZWJJbnNwZWN0b3IuQ29s
b3IuTmlja25hbWVzID0gewogICAgICJsaWdodGNvcmFsIjogIkYwODA4MCIsCiAgICAgImxpZ2h0
Y3lhbiI6ICJFMEZGRkYiLAogICAgICJsaWdodGdvbGRlbnJvZHllbGxvdyI6ICJGQUZBRDIiLAor
ICAgICJsaWdodGdyYXkiOiAiRDNEM0QzIiwKICAgICAibGlnaHRncmVlbiI6ICI5MEVFOTAiLAog
ICAgICJsaWdodGdyZXkiOiAiRDNEM0QzIiwKICAgICAibGlnaHRwaW5rIjogIkZGQjZDMSIsCkBA
IC01ODcsNiArNTkyLDcgQEAgV2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lcyA9IHsKICAgICAi
bGlnaHRzZWFncmVlbiI6ICIyMEIyQUEiLAogICAgICJsaWdodHNreWJsdWUiOiAiODdDRUZBIiwK
ICAgICAibGlnaHRzbGF0ZWdyYXkiOiAiNzc4ODk5IiwKKyAgICAibGlnaHRzbGF0ZWdyZXkiOiAi
Nzc4ODk5IiwKICAgICAibGlnaHRzdGVlbGJsdWUiOiAiQjBDNERFIiwKICAgICAibGlnaHR5ZWxs
b3ciOiAiRkZGRkUwIiwKICAgICAibGltZSI6ICIwMEZGMDAiLApAQCAtNjM5LDYgKzY0NSw3IEBA
IFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7CiAgICAgInNreWJsdWUiOiAiODdDRUVC
IiwKICAgICAic2xhdGVibHVlIjogIjZBNUFDRCIsCiAgICAgInNsYXRlZ3JheSI6ICI3MDgwOTAi
LAorICAgICJzbGF0ZWdyZXkiOiAiNzA4MDkwIiwKICAgICAic25vdyI6ICJGRkZBRkEiLAogICAg
ICJzcHJpbmdncmVlbiI6ICIwMEZGN0YiLAogICAgICJzdGVlbGJsdWUiOiAiNDY4MkI0IiwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5q
cyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcwppbmRl
eCAwYmM5NDFjLi4xZDNmMTdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU3R5bGVzU2lkZWJhclBhbmUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC04MSw2ICs4MSw4IEBAIFdlYkluc3BlY3Rvci5TdHls
ZXNTaWRlYmFyUGFuZSA9IGZ1bmN0aW9uKGNvbXB1dGVkU3R5bGVQYW5lKQogICAgIHRoaXMuZWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsIHRoaXMuX2NvbnRleHRNZW51RXZl
bnRGaXJlZC5iaW5kKHRoaXMpLCB0cnVlKTsKIH0KIAorV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGVi
YXJQYW5lLlN0eWxlVmFsdWVEZWxpbWl0ZXJzID0gIiBcdTAwQTBcdFxuXCInOjssLygpIjsKKwog
Ly8gVGFrZW4gZnJvbSBodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9wcm9waWR4Lmh0bWwuCiBX
ZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuSW5oZXJpdGVkUHJvcGVydGllcyA9IFsKICAg
ICAiYXppbXV0aCIsICJib3JkZXItY29sbGFwc2UiLCAiYm9yZGVyLXNwYWNpbmciLCAiY2FwdGlv
bi1zaWRlIiwgImNvbG9yIiwgImN1cnNvciIsICJkaXJlY3Rpb24iLCAiZWxldmF0aW9uIiwKQEAg
LTEzODAsNiArMTM4Miw5IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQu
cHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMubGlzdEl0ZW1FbGVtZW50LnJlbW92ZUNoaWxk
cmVuKCk7CiAKKyAgICAgICAgbmFtZUVsZW1lbnQubm9ybWFsaXplKCk7CisgICAgICAgIHZhbHVl
RWxlbWVudC5ub3JtYWxpemUoKTsKKwogICAgICAgICBpZiAoIXRoaXMudHJlZU91dGxpbmUpCiAg
ICAgICAgICAgICByZXR1cm47CiAKQEAgLTE0OTAsMTYgKzE0OTUsMTEgQEAgV2ViSW5zcGVjdG9y
LlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGV2ZW50LnN0
b3BQcm9wYWdhdGlvbigpOwogICAgIH0sCiAKLSAgICByZXN0b3JlTmFtZUVsZW1lbnQ6IGZ1bmN0
aW9uKCkKKyAgICBnZXQgY3NzVmFsdWVDb21wbGV0aW9ucygpCiAgICAgewotICAgICAgICAvLyBS
ZXN0b3JlIDxzcGFuIGNsYXNzPSJ3ZWJraXQtY3NzLXByb3BlcnR5Ij4gaWYgaXQgZG9lc24ndCB5
ZXQgZXhpc3Qgb3Igd2FzIGFjY2lkZW50YWxseSBkZWxldGVkLgotICAgICAgICBpZiAodGhpcy5u
YW1lRWxlbWVudCA9PT0gdGhpcy5saXN0SXRlbUVsZW1lbnQucXVlcnlTZWxlY3RvcigiLndlYmtp
dC1jc3MtcHJvcGVydHkiKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLm5h
bWVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotICAgICAgICB0aGlz
Lm5hbWVFbGVtZW50LmNsYXNzTmFtZSA9ICJ3ZWJraXQtY3NzLXByb3BlcnR5IjsKLSAgICAgICAg
dGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVudCA9ICIiOwotICAgICAgICB0aGlzLmxpc3RJdGVt
RWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5uYW1lRWxlbWVudCwgdGhpcy5saXN0SXRlbUVsZW1l
bnQuZmlyc3RDaGlsZCk7CisgICAgICAgIGlmICghdGhpcy5fY3NzVmFsdWVDb21wbGV0aW9ucykK
KyAgICAgICAgICAgIHRoaXMuX2Nzc1ZhbHVlQ29tcGxldGlvbnMgPSBXZWJJbnNwZWN0b3IuQ1NT
S2V5d29yZENvbXBsZXRpb25zLmZvclByb3BlcnR5KHRoaXMubmFtZUVsZW1lbnQudGV4dENvbnRl
bnQpOworICAgICAgICByZXR1cm4gdGhpcy5fY3NzVmFsdWVDb21wbGV0aW9uczsKICAgICB9LAog
CiAgICAgc3RhcnRFZGl0aW5nOiBmdW5jdGlvbihzZWxlY3RFbGVtZW50KQpAQCAtMTYwMiw4ICsx
NjAyLDYgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICBpZiAoIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCkKICAgICAgICAgICAg
ICAgICBzZWxlY3Rpb24uZGVsZXRlRnJvbURvY3VtZW50KCk7CiAKLSAgICAgICAgICAgIHRoaXMu
cmVzdG9yZU5hbWVFbGVtZW50KCk7Ci0KICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSkgewogICAg
ICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSAhPT0gdGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVu
dCkKICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVudCA9IHBy
b3BlcnR5OwpAQCAtMTYxMyw5ICsxNjExLDU0IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5
VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAgfSwKIAorICAgIHJhbmdl
T2ZXb3JkOiBmdW5jdGlvbih0ZXh0LCBhbmNob3JPZmZzZXQpCisgICAgeworICAgICAgICB2YXIg
c3RhcnRPZmZzZXQgPSBhbmNob3JPZmZzZXQ7CisgICAgICAgIHdoaWxlIChzdGFydE9mZnNldCA+
IDApIHsKKyAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuU3R5
bGVWYWx1ZURlbGltaXRlcnMuaW5kZXhPZih0ZXh0W3N0YXJ0T2Zmc2V0IC0gMV0pID09PSAtMSkK
KyAgICAgICAgICAgICAgICAtLXN0YXJ0T2Zmc2V0OworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgdmFyIGVuZE9mZnNldCA9IGFu
Y2hvck9mZnNldDsKKyAgICAgICAgd2hpbGUgKGVuZE9mZnNldCA8IHRleHQubGVuZ3RoICYmIFdl
Ykluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5TdHlsZVZhbHVlRGVsaW1pdGVycy5pbmRleE9m
KHRleHRbZW5kT2Zmc2V0XSkgPT09IC0xKQorICAgICAgICAgICAgKytlbmRPZmZzZXQ7CisKKyAg
ICAgICAgLy8gc3RhcnRPZmZzZXQgaW5jbHVzaXZlLCBlbmRPZmZzZXQgZXhjbHVzaXZlLgorICAg
ICAgICByZXR1cm4geyBzdGFydE9mZnNldDogc3RhcnRPZmZzZXQsIGVuZE9mZnNldDogZW5kT2Zm
c2V0IH07CisgICAgfSwKKwogICAgIGVkaXRpbmdWYWx1ZUtleVByZXNzOiBmdW5jdGlvbihldmVu
dCkKICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBjb21wbGV0ZSBwcm9wZXJ0
eSB2YWx1ZXMuCisgICAgICAgIC8vIENvbXBsZXRlIHByb3BlcnR5IHZhbHVlIHBhcnQuCisgICAg
ICAgIHZhciBjaGFyYWN0ZXIgPSBldmVudC5kYXRhLnRvTG93ZXJDYXNlKCk7CisgICAgICAgIGlm
IChjaGFyYWN0ZXIgJiYgL1thLXotXS8udGVzdChjaGFyYWN0ZXIpKSB7CisgICAgICAgICAgICB2
YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAgICAgICAgaWYgKHNl
bGVjdGlvbi5mb2N1c05vZGUgIT09IHNlbGVjdGlvbi5hbmNob3JOb2RlKQorICAgICAgICAgICAg
ICAgIHJldHVybjsKKworICAgICAgICAgICAgdmFyIGN1cnNvclBvc2l0aW9uID0gTWF0aC5taW4o
c2VsZWN0aW9uLmZvY3VzT2Zmc2V0LCBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0KTsKKworICAgICAg
ICAgICAgLy8gVGhpcyBkb2VzIG5vdCBjaGFuZ2UgdGhlIGN1cnNvclBvc2l0aW9uLgorICAgICAg
ICAgICAgaWYgKHNlbGVjdGlvbi5mb2N1c09mZnNldCAhPT0gc2VsZWN0aW9uLmFuY2hvck9mZnNl
dCAmJiBzZWxlY3Rpb24ucmFuZ2VDb3VudCkKKyAgICAgICAgICAgICAgICBzZWxlY3Rpb24uZ2V0
UmFuZ2VBdCgwKS5kZWxldGVDb250ZW50cygpOworICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1
ZSA9IHRoaXMudmFsdWVFbGVtZW50LnRleHRDb250ZW50OworICAgICAgICAgICAgdmFyIHdvcmRS
YW5nZSA9IHRoaXMucmFuZ2VPZldvcmQoY3VycmVudFZhbHVlLCBjdXJzb3JQb3NpdGlvbik7Cisg
ICAgICAgICAgICB2YXIgd29yZCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcod29yZFJhbmdlLnN0
YXJ0T2Zmc2V0LCB3b3JkUmFuZ2UuZW5kT2Zmc2V0KTsKKyAgICAgICAgICAgIHZhciBwcmVmaXgg
PSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdvcmRSYW5nZS5zdGFydE9mZnNldCwgY3Vyc29yUG9z
aXRpb24pOworICAgICAgICAgICAgdmFyIHZhbHVlU3VnZ2VzdCA9IHRoaXMuY3NzVmFsdWVDb21w
bGV0aW9ucy5maXJzdFN0YXJ0c1dpdGgoKHByZWZpeCArIGNoYXJhY3RlcikudG9Mb3dlckNhc2Uo
KSk7CisKKyAgICAgICAgICAgIGlmICh2YWx1ZVN1Z2dlc3QpIHsKKyAgICAgICAgICAgICAgICB2
YXIgdmFsdWVTdGFydCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoMCwgd29yZFJhbmdlLnN0YXJ0
T2Zmc2V0KTsKKyAgICAgICAgICAgICAgICB2YXIgdmFsdWVFbmQgPSBjdXJyZW50VmFsdWUuc3Vi
c3RyaW5nKHdvcmQgPT09IHZhbHVlU3VnZ2VzdCA/IHdvcmRSYW5nZS5lbmRPZmZzZXQgOiBjdXJz
b3JQb3NpdGlvbik7CisgICAgICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gdmFsdWVTdGFydCAr
IHZhbHVlU3VnZ2VzdCArIHZhbHVlRW5kOworICAgICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAh
PT0gY3VycmVudFZhbHVlKQorICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC50
ZXh0Q29udGVudCA9IG5ld1ZhbHVlOworICAgICAgICAgICAgICAgIHRoaXMudmFsdWVFbGVtZW50
LmZpcnN0Q2hpbGQuc2VsZWN0KGN1cnNvclBvc2l0aW9uICsgMSwgd29yZFJhbmdlLnN0YXJ0T2Zm
c2V0ICsgdmFsdWVTdWdnZXN0Lmxlbmd0aCk7CisgICAgICAgICAgICAgICAgZXZlbnQucHJldmVu
dERlZmF1bHQoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0sCiAKICAgICBlZGl0
aW5nTmFtZUtleURvd246IGZ1bmN0aW9uKGV2ZW50KQpAQCAtMTYzNiwxMyArMTY3OSwxMiBAQCBX
ZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAg
ICAgaWYgKHNlbGVjdGlvblJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyICE9PSB0aGlzLm5h
bWVFbGVtZW50ICYmICFzZWxlY3Rpb25SYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lci5pc0Rl
c2NlbmRhbnQodGhpcy5uYW1lRWxlbWVudCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAg
ICAgY29uc3Qgc3R5bGVWYWx1ZURlbGltZXRlcnMgPSAiIFx0XG5cIic6OywvKCkiOwotICAgICAg
ICB2YXIgd29yZFJhbmdlID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRDb250YWluZXIucmFuZ2VPZldv
cmQoc2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQsIHN0eWxlVmFsdWVEZWxpbWV0ZXJzLCB0aGlz
Lm5hbWVFbGVtZW50KTsKKyAgICAgICAgdmFyIHdvcmRSYW5nZSA9IHNlbGVjdGlvblJhbmdlLnN0
YXJ0Q29udGFpbmVyLnJhbmdlT2ZXb3JkKHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0LCBXZWJJ
bnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuU3R5bGVWYWx1ZURlbGltaXRlcnMsIHRoaXMubmFt
ZUVsZW1lbnQpOwogICAgICAgICB2YXIgd29yZFN0cmluZyA9IHdvcmRSYW5nZS50b1N0cmluZygp
OwogICAgICAgICB2YXIgY3Vyc29yUG9zaXRpb24gPSBzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNl
dCAhPSBzZWxlY3Rpb25SYW5nZS5lbmRPZmZzZXQgPyBzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNl
dCA6IDA7CiAgICAgICAgIHZhciBwcmVmaXggPSBzZWxlY3Rpb25SYW5nZS5zdGFydENvbnRhaW5l
ci50ZXh0Q29udGVudC5zdWJzdHJpbmcoMCwgY3Vyc29yUG9zaXRpb24pOwotICAgICAgICB2YXIg
cHJvcGVydHk7CiAKKyAgICAgICAgdmFyIHByb3BlcnR5OwogICAgICAgICBpZiAoc2hvd05leHQp
CiAgICAgICAgICAgICBwcm9wZXJ0eSA9IFdlYkluc3BlY3Rvci5jc3NOYW1lQ29tcGxldGlvbnMu
bmV4dCh3b3JkU3RyaW5nLCBwcmVmaXgpOwogICAgICAgICBlbHNlCkBAIC0xNjY2LDY4ICsxNzA4
LDg0IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0g
ewogICAgICAgICBpZiAoIXNlbGVjdGlvbi5yYW5nZUNvdW50KQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHZhciBzZWxlY3Rpb25SYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDAp
OwotICAgICAgICBpZiAoc2VsZWN0aW9uUmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIgIT09
IHRoaXMudmFsdWVFbGVtZW50ICYmICFzZWxlY3Rpb25SYW5nZS5jb21tb25BbmNlc3RvckNvbnRh
aW5lci5pc0Rlc2NlbmRhbnQodGhpcy52YWx1ZUVsZW1lbnQpKQorICAgICAgICBpZiAoc2VsZWN0
aW9uLmZvY3VzTm9kZSAhPT0gc2VsZWN0aW9uLmFuY2hvck5vZGUpCiAgICAgICAgICAgICByZXR1
cm47CiAKLSAgICAgICAgY29uc3Qgc3R5bGVWYWx1ZURlbGltZXRlcnMgPSAiIFx0XG5cIic6Oywv
KCkiOwotICAgICAgICB2YXIgd29yZFJhbmdlID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRDb250YWlu
ZXIucmFuZ2VPZldvcmQoc2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQsIHN0eWxlVmFsdWVEZWxp
bWV0ZXJzLCB0aGlzLnZhbHVlRWxlbWVudCk7Ci0gICAgICAgIHZhciB3b3JkU3RyaW5nID0gd29y
ZFJhbmdlLnRvU3RyaW5nKCk7Ci0gICAgICAgIHZhciByZXBsYWNlbWVudFN0cmluZyA9IHdvcmRT
dHJpbmc7Ci0KLSAgICAgICAgdmFyIG1hdGNoZXMgPSAvKC4qPykoLT9cZCsoPzpcLlxkKyk/KSgu
KikvLmV4ZWMod29yZFN0cmluZyk7Ci0gICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVu
Z3RoKSB7Ci0gICAgICAgICAgICB2YXIgcHJlZml4ID0gbWF0Y2hlc1sxXTsKLSAgICAgICAgICAg
IHZhciBudW1iZXIgPSBwYXJzZUZsb2F0KG1hdGNoZXNbMl0pOwotICAgICAgICAgICAgdmFyIHN1
ZmZpeCA9IG1hdGNoZXNbM107Ci0KLSAgICAgICAgICAgIC8vIElmIHRoZSBudW1iZXIgaXMgbmVh
ciB6ZXJvIG9yIHRoZSBudW1iZXIgaXMgb25lIGFuZCB0aGUgZGlyZWN0aW9uIHdpbGwgdGFrZSBp
dCBuZWFyIHplcm8uCi0gICAgICAgICAgICB2YXIgbnVtYmVyTmVhclplcm8gPSAobnVtYmVyIDwg
MSAmJiBudW1iZXIgPiAtMSk7Ci0gICAgICAgICAgICBpZiAobnVtYmVyID09PSAxICYmIGV2ZW50
LmtleUlkZW50aWZpZXIgPT09ICJEb3duIikKLSAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVy
byA9IHRydWU7Ci0gICAgICAgICAgICBlbHNlIGlmIChudW1iZXIgPT09IC0xICYmIGV2ZW50Lmtl
eUlkZW50aWZpZXIgPT09ICJVcCIpCi0gICAgICAgICAgICAgICAgbnVtYmVyTmVhclplcm8gPSB0
cnVlOwotCi0gICAgICAgICAgICBpZiAobnVtYmVyTmVhclplcm8gJiYgZXZlbnQuYWx0S2V5ICYm
IGFycm93S2V5UHJlc3NlZCkgewotICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlm
aWVyID09PSAiRG93biIpCi0gICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguY2VpbChu
dW1iZXIgLSAxKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIG51
bWJlciA9IE1hdGguZmxvb3IobnVtYmVyICsgMSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgIC8vIEp1bXAgYnkgMTAgd2hlbiBzaGlmdCBpcyBkb3duIG9yIGp1bXAgYnkg
MC4xIHdoZW4gbmVhciB6ZXJvIG9yIEFsdC9PcHRpb24gaXMgZG93bi4KLSAgICAgICAgICAgICAg
ICAvLyBBbHNvIGp1bXAgYnkgMTAgZm9yIHBhZ2UgdXAgYW5kIGRvd24sIG9yIGJ5IDEwMCBpZiBz
aGlmdCBpcyBoZWxkIHdpdGggYSBwYWdlIGtleS4KLSAgICAgICAgICAgICAgICB2YXIgY2hhbmdl
QW1vdW50ID0gMTsKLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgcGFnZUtl
eVByZXNzZWQpCi0gICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDEwMDsKLSAgICAg
ICAgICAgICAgICBlbHNlIGlmIChldmVudC5zaGlmdEtleSB8fCBwYWdlS2V5UHJlc3NlZCkKLSAg
ICAgICAgICAgICAgICAgICAgY2hhbmdlQW1vdW50ID0gMTA7Ci0gICAgICAgICAgICAgICAgZWxz
ZSBpZiAoZXZlbnQuYWx0S2V5IHx8IG51bWJlck5lYXJaZXJvKQotICAgICAgICAgICAgICAgICAg
ICBjaGFuZ2VBbW91bnQgPSAwLjE7Ci0KLSAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRl
bnRpZmllciA9PT0gIkRvd24iIHx8IGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93biIp
Ci0gICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCAqPSAtMTsKLQotICAgICAgICAgICAg
ICAgIC8vIE1ha2UgdGhlIG5ldyBudW1iZXIgYW5kIGNvbnN0cmFpbiBpdCB0byBhIHByZWNpc2lv
biBvZiA2LCB0aGlzIG1hdGNoZXMgbnVtYmVycyB0aGUgZW5naW5lIHJldHVybnMuCi0gICAgICAg
ICAgICAgICAgLy8gVXNlIHRoZSBOdW1iZXIgY29uc3RydWN0b3IgdG8gZm9yZ2V0IHRoZSBmaXhl
ZCBwcmVjaXNpb24sIHNvIDEuMTAwMDAwIHdpbGwgcHJpbnQgYXMgMS4xLgotICAgICAgICAgICAg
ICAgIG51bWJlciA9IE51bWJlcigobnVtYmVyICsgY2hhbmdlQW1vdW50KS50b0ZpeGVkKDYpKTsK
LSAgICAgICAgICAgIH0KKyAgICAgICAgdmFyIGN1cnNvclBvc2l0aW9uID0gTWF0aC5taW4oc2Vs
ZWN0aW9uLmZvY3VzT2Zmc2V0LCBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0KTsKKyAgICAgICAgdmFy
IGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWVFbGVtZW50LnRleHRDb250ZW50OworICAgICAgICB2
YXIgd29yZFJhbmdlID0gdGhpcy5yYW5nZU9mV29yZChjdXJyZW50VmFsdWUsIGN1cnNvclBvc2l0
aW9uKTsKKyAgICAgICAgdmFyIHdvcmRTdHJpbmcgPSBjdXJyZW50VmFsdWUuc3Vic3RyaW5nKHdv
cmRSYW5nZS5zdGFydE9mZnNldCwgd29yZFJhbmdlLmVuZE9mZnNldCk7CisgICAgICAgIHZhciB3
b3JkU3RyaW5nTG93ZXIgPSB3b3JkU3RyaW5nLnRvTG93ZXJDYXNlKCk7CisgICAgICAgIHZhciBy
ZXBsYWNlbWVudFN0cmluZyA9IG51bGw7CisgICAgICAgIHZhciBzZWxlY3Rpb25TdGFydCA9IHdv
cmRSYW5nZS5zdGFydE9mZnNldDsKKworICAgICAgICAvLyBBdm9pZCBkZXRlY3RpbmcgbnVtZXJp
YyB2YWx1ZXMgaW4gd29yZFN0cmluZ3MgbGlrZSAicHJlc2VydmUtM2QiLgorICAgICAgICBpZiAo
dGhpcy5jc3NWYWx1ZUNvbXBsZXRpb25zLmZpcnN0U3RhcnRzV2l0aCh3b3JkU3RyaW5nTG93ZXIp
KSB7CisgICAgICAgICAgICB2YXIgc2hvd05leHQgPSAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0g
IkRvd24iIHx8IGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJQYWdlRG93biIpOworICAgICAgICAg
ICAgLy8gVGhlIHByZWZpeCBzaG91bGQgYmUgY29uc2lkZXJlZCBvbmx5IGlmIHRoZSBzZWxlY3Rp
b24gaXMgbm90IGNvbGxhcHNlZC4gT3RoZXJ3aXNlLCB0aGUgcHJlZml4IHNob3VsZCBiZSBlbXB0
eS4KKyAgICAgICAgICAgIHZhciB3b3JkUHJlZml4ID0gc2VsZWN0aW9uLmZvY3VzT2Zmc2V0ICE9
PSBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0ID8gd29yZFN0cmluZ0xvd2VyLnN1YnN0cmluZygwLCBj
dXJzb3JQb3NpdGlvbiAtIHNlbGVjdGlvblN0YXJ0KSA6ICIiOworCisgICAgICAgICAgICB2YXIg
c3VnZ2VzdGVkV29yZDsKKyAgICAgICAgICAgIGlmIChzaG93TmV4dCkKKyAgICAgICAgICAgICAg
ICBzdWdnZXN0ZWRXb3JkID0gdGhpcy5jc3NWYWx1ZUNvbXBsZXRpb25zLm5leHQod29yZFN0cmlu
Z0xvd2VyLCB3b3JkUHJlZml4KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBz
dWdnZXN0ZWRXb3JkID0gdGhpcy5jc3NWYWx1ZUNvbXBsZXRpb25zLnByZXZpb3VzKHdvcmRTdHJp
bmdMb3dlciwgd29yZFByZWZpeCk7CiAKLSAgICAgICAgICAgIHJlcGxhY2VtZW50U3RyaW5nID0g
cHJlZml4ICsgbnVtYmVyICsgc3VmZml4OworICAgICAgICAgICAgaWYgKHN1Z2dlc3RlZFdvcmQp
IHsKKyAgICAgICAgICAgICAgICAvLyBGaXggc2VsZWN0aW9uIHRvIGJlIG9ubHkgdGhlIHdvcmQg
c3VmZml4LCBhcyB0aGUgcHJlZml4IHJlbWFpbnMgaW50YWN0IHdoaWxlIHNjcm9sbGluZyB0aHJv
dWdoIHZhbHVlcy4KKyAgICAgICAgICAgICAgICBzZWxlY3Rpb25TdGFydCA9IHNlbGVjdGlvblN0
YXJ0ICsgd29yZFByZWZpeC5sZW5ndGg7CisgICAgICAgICAgICAgICAgcmVwbGFjZW1lbnRTdHJp
bmcgPSBzdWdnZXN0ZWRXb3JkLnN1YnN0cmluZyh3b3JkUHJlZml4Lmxlbmd0aCk7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogdGhpcyBzaG91
bGQgY3ljbGUgdGhyb3VnaCBrbm93biBrZXl3b3JkcyBmb3IgdGhlIGN1cnJlbnQgcHJvcGVydHkg
dmFsdWUuCi0gICAgICAgIH0KLQotICAgICAgICB2YXIgcmVwbGFjZW1lbnRUZXh0Tm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKHJlcGxhY2VtZW50U3RyaW5nKTsKKyAgICAgICAgICAgIHZh
ciBtYXRjaGVzID0gLyguKj8pKC0/XGQrKD86XC5cZCspPykoLiopLy5leGVjKHdvcmRTdHJpbmcp
OworICAgICAgICAgICAgaWYgKG1hdGNoZXMgJiYgbWF0Y2hlcy5sZW5ndGgpIHsKKyAgICAgICAg
ICAgICAgICB2YXIgcHJlZml4ID0gbWF0Y2hlc1sxXTsKKyAgICAgICAgICAgICAgICB2YXIgbnVt
YmVyID0gcGFyc2VGbG9hdChtYXRjaGVzWzJdKTsKKyAgICAgICAgICAgICAgICB2YXIgc3VmZml4
ID0gbWF0Y2hlc1szXTsKKworICAgICAgICAgICAgICAgIC8vIElmIHRoZSBudW1iZXIgaXMgbmVh
ciB6ZXJvIG9yIHRoZSBudW1iZXIgaXMgb25lIGFuZCB0aGUgZGlyZWN0aW9uIHdpbGwgdGFrZSBp
dCBuZWFyIHplcm8uCisgICAgICAgICAgICAgICAgdmFyIG51bWJlck5lYXJaZXJvID0gKG51bWJl
ciA8IDEgJiYgbnVtYmVyID4gLTEpOworICAgICAgICAgICAgICAgIGlmIChudW1iZXIgPT09IDEg
JiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24iKQorICAgICAgICAgICAgICAgICAgICBu
dW1iZXJOZWFyWmVybyA9IHRydWU7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAobnVtYmVyID09
PSAtMSAmJiBldmVudC5rZXlJZGVudGlmaWVyID09PSAiVXAiKQorICAgICAgICAgICAgICAgICAg
ICBudW1iZXJOZWFyWmVybyA9IHRydWU7CisKKyAgICAgICAgICAgICAgICBpZiAobnVtYmVyTmVh
clplcm8gJiYgZXZlbnQuYWx0S2V5ICYmIGFycm93S2V5UHJlc3NlZCkgeworICAgICAgICAgICAg
ICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24iKQorICAgICAgICAgICAg
ICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5jZWlsKG51bWJlciAtIDEpOworICAgICAgICAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBNYXRoLmZsb29y
KG51bWJlciArIDEpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIC8vIEp1bXAgYnkgMTAgd2hlbiBzaGlmdCBpcyBkb3duIG9yIGp1bXAgYnkgMC4xIHdoZW4g
bmVhciB6ZXJvIG9yIEFsdC9PcHRpb24gaXMgZG93bi4KKyAgICAgICAgICAgICAgICAgICAgLy8g
QWxzbyBqdW1wIGJ5IDEwIGZvciBwYWdlIHVwIGFuZCBkb3duLCBvciBieSAxMDAgaWYgc2hpZnQg
aXMgaGVsZCB3aXRoIGEgcGFnZSBrZXkuCisgICAgICAgICAgICAgICAgICAgIHZhciBjaGFuZ2VB
bW91bnQgPSAxOworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgcGFn
ZUtleVByZXNzZWQpCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VBbW91bnQgPSAxMDA7
CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50LnNoaWZ0S2V5IHx8IHBhZ2VLZXlQ
cmVzc2VkKQorICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlQW1vdW50ID0gMTA7CisgICAg
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2ZW50LmFsdEtleSB8fCBudW1iZXJOZWFyWmVybykK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDAuMTsKKworICAgICAgICAg
ICAgICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRvd24iIHx8IGV2ZW50Lmtl
eUlkZW50aWZpZXIgPT09ICJQYWdlRG93biIpCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFu
Z2VBbW91bnQgKj0gLTE7CisKKyAgICAgICAgICAgICAgICAgICAgLy8gTWFrZSB0aGUgbmV3IG51
bWJlciBhbmQgY29uc3RyYWluIGl0IHRvIGEgcHJlY2lzaW9uIG9mIDYsIHRoaXMgbWF0Y2hlcyBu
dW1iZXJzIHRoZSBlbmdpbmUgcmV0dXJucy4KKyAgICAgICAgICAgICAgICAgICAgLy8gVXNlIHRo
ZSBOdW1iZXIgY29uc3RydWN0b3IgdG8gZm9yZ2V0IHRoZSBmaXhlZCBwcmVjaXNpb24sIHNvIDEu
MTAwMDAwIHdpbGwgcHJpbnQgYXMgMS4xLgorICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBO
dW1iZXIoKG51bWJlciArIGNoYW5nZUFtb3VudCkudG9GaXhlZCg2KSk7CisgICAgICAgICAgICAg
ICAgfQogCi0gICAgICAgIHdvcmRSYW5nZS5kZWxldGVDb250ZW50cygpOwotICAgICAgICB3b3Jk
UmFuZ2UuaW5zZXJ0Tm9kZShyZXBsYWNlbWVudFRleHROb2RlKTsKKyAgICAgICAgICAgICAgICBy
ZXBsYWNlbWVudFN0cmluZyA9IHByZWZpeCArIG51bWJlciArIHN1ZmZpeDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQogCi0gICAgICAgIHZhciBmaW5hbFNlbGVjdGlvblJhbmdlID0gZG9jdW1l
bnQuY3JlYXRlUmFuZ2UoKTsKLSAgICAgICAgZmluYWxTZWxlY3Rpb25SYW5nZS5zZXRTdGFydChy
ZXBsYWNlbWVudFRleHROb2RlLCAwKTsKLSAgICAgICAgZmluYWxTZWxlY3Rpb25SYW5nZS5zZXRF
bmQocmVwbGFjZW1lbnRUZXh0Tm9kZSwgcmVwbGFjZW1lbnRTdHJpbmcubGVuZ3RoKTsKKyAgICAg
ICAgaWYgKCFyZXBsYWNlbWVudFN0cmluZykKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7Ci0gICAgICAgIHNlbGVjdGlvbi5hZGRSYW5n
ZShmaW5hbFNlbGVjdGlvblJhbmdlKTsKKyAgICAgICAgdmFyIHZhbHVlU3RhcnQgPSBjdXJyZW50
VmFsdWUuc3Vic3RyaW5nKDAsIHNlbGVjdGlvblN0YXJ0KTsKKyAgICAgICAgdmFyIHZhbHVlRW5k
ID0gY3VycmVudFZhbHVlLnN1YnN0cmluZyh3b3JkUmFuZ2UuZW5kT2Zmc2V0KTsKKyAgICAgICAg
dmFyIG5ld1ZhbHVlID0gdmFsdWVTdGFydCArIHJlcGxhY2VtZW50U3RyaW5nICsgdmFsdWVFbmQ7
CisgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LnRleHRDb250ZW50ID0gbmV3VmFsdWU7CisgICAg
ICAgIHRoaXMudmFsdWVFbGVtZW50LmZpcnN0Q2hpbGQuc2VsZWN0KHNlbGVjdGlvblN0YXJ0LCBz
ZWxlY3Rpb25TdGFydCArIHJlcGxhY2VtZW50U3RyaW5nLmxlbmd0aCk7CiAKICAgICAgICAgZXZl
bnQucHJldmVudERlZmF1bHQoKTsKIApAQCAtMTc1Myw2ICsxODExLDcgQEAgV2ViSW5zcGVjdG9y
LlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBlZGl0
ZWRFbGVtZW50LnBhcmVudEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiY2hpbGQtZWRpdGluZyIp
OwogCiAgICAgICAgIGRlbGV0ZSB0aGlzLm9yaWdpbmFsUHJvcGVydHlUZXh0OworICAgICAgICBk
ZWxldGUgdGhpcy5fY3NzVmFsdWVDb21wbGV0aW9uczsKICAgICB9LAogCiAgICAgZWRpdGluZ0Nh
bmNlbGxlZDogZnVuY3Rpb24oZWxlbWVudCwgY29udGV4dCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1dlYktpdC5xcmMKaW5kZXggYzEwMDhhZC4uYmU5NDFmOSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1dlYktpdC5xcmMKQEAgLTIzLDYgKzIzLDcgQEAKICAgICA8ZmlsZT5Db29raWVQ
YXJzZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+Q29va2llc1RhYmxlLmpzPC9maWxlPgogICAgIDxm
aWxlPkNTU0NvbXBsZXRpb25zLmpzPC9maWxlPgorICAgIDxmaWxlPkNTU0tleXdvcmRDb21wbGV0
aW9ucy5qczwvZmlsZT4KICAgICA8ZmlsZT5DU1NTdHlsZU1vZGVsLmpzPC9maWxlPgogICAgIDxm
aWxlPkRhdGFiYXNlLmpzPC9maWxlPgogICAgIDxmaWxlPkRhdGFiYXNlUXVlcnlWaWV3LmpzPC9m
aWxlPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5o
dG1sIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IGUx
NTkwZjIuLjc4MWI4YjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuaHRtbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
Lmh0bWwKQEAgLTkyLDYgKzkyLDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJFdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb2xvci5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ1NTQ29tcGxldGlv
bnMuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IkNTU0tleXdvcmRDb21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iU3R5bGVzU2lkZWJhclBhbmUuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlBhbmVsRW5hYmxlclZpZXcuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IldlbGNv
bWVWaWV3LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77622</attachid>
            <date>2010-12-29 09:15:35 -0800</date>
            <delta_ts>2010-12-30 05:30:25 -0800</delta_ts>
            <desc>[PATCH] Alternative solution with rebaselined test</desc>
            <filename>handwritten_autocomplete.patch</filename>
            <type>text/plain</type>
            <size>47366</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGM5NTg5YTdhOGYzOTYxNjJiMWYwYmM4MGFmMDg2ODEzNDdkM2FjNmEKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBXZWQgRGVjIDI5
IDE4OjQzOjI2IDIwMTAgKzAzMDAKCiAgICBIYW5kd3JpdHRlbiBrZXl3b3JkIGNvbXBsZXRpb25z
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGVhYmUxMWYuLmY1MjAzZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0x
Mi0yOSAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGF1
dG9jb21wbGV0aW9uIGZvciBDU1MgcHJvcGVydHkgdmFsdWVzIGluIFN0eWxlcyBwYW5lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTQxNAorCisgICAg
ICAgICogaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxldGUtdmFsdWVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9zdHlsZXMtdXJsLWxpbmtpZnkuaHRtbDog
Q29tcHV0YXRpb24gcHJvY2VkdXJlIHJlYmFzZWxpbmVkLgorCiAyMDEwLTEyLTI4ICBBbGV4YW5k
ZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
UGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMt
YXV0b2NvbXBsZXRlLXZhbHVlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAuLjkxYjkwOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQgVXAvRG93biBrZXlzIHN3aXRjaCBzdWdnZXN0aW9ucyBp
biBDU1MgcHJvcGVydHkgdmFsdWVzLgorCitUZXh0CitJbml0aWFsIHByb3BlcnR5IHZhbHVlOgor
Y29sb3I6IGdyZWVuOworTmV4dCB2YWx1ZToKK2NvbG9yOiBncmVlbnllbGxvdzsKK09yaWdpbmFs
IHZhbHVlOgorY29sb3I6IGdyZWVuOworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zdHlsZXMtYXV0b2NvbXBsZXRlLXZhbHVlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1Cmlu
ZGV4IDAwMDAwMDAuLjhlZjkyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3R5bGVzLWF1dG9jb21wbGV0ZS12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDQ5IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3Bl
Y3Rvci10ZXN0Mi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZWxlbWVudHMtdGVzdHMyLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9u
IHNlbGVjdEluc3BlY3RlZEVsZW1lbnQoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5z
ZWxlY3RFbGVtZW50QW5kUnVuKCJpbnNwZWN0ZWQiLCBhbHRlckFuZER1bXBJbnNwZWN0ZWRTdHls
ZSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gYWx0ZXJBbmREdW1wSW5zcGVjdGVkU3R5bGUoKQor
ICAgIHsKKyAgICAgICAgdmFyIHNlY3Rpb24gPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRz
LnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMV07CisgICAgICAgIHNlY3Rpb24uZXhw
YW5kKCk7CisgICAgICAgIHZhciB0cmVlRWxlbWVudCA9IHNlY3Rpb24ucHJvcGVydGllc1RyZWVP
dXRsaW5lLmNoaWxkcmVuWzBdOworCisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJJ
bml0aWFsIHByb3BlcnR5IHZhbHVlOiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCh0cmVlRWxlbWVudC5saXN0SXRlbUVsZW1lbnQudGV4dENvbnRlbnQpOworICAgICAgICB0cmVl
RWxlbWVudC5zdGFydEVkaXRpbmcodHJlZUVsZW1lbnQudmFsdWVFbGVtZW50KTsKKyAgICAgICAg
dHJlZUVsZW1lbnQudmFsdWVFbGVtZW50LmZpcnN0Q2hpbGQuc2VsZWN0KCk7CisKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5leHQgdmFsdWU6Iik7CisgICAgICAgIHRyZWVFbGVt
ZW50LnZhbHVlRWxlbWVudC5kaXNwYXRjaEV2ZW50KEluc3BlY3RvclRlc3QuY3JlYXRlS2V5RXZl
bnQoIkRvd24iKSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHRyZWVFbGVtZW50
Lmxpc3RJdGVtRWxlbWVudC50ZXh0Q29udGVudCk7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIk9yaWdpbmFsIHZhbHVlOiIpOworICAgICAgICB0cmVlRWxlbWVudC52YWx1ZUVs
ZW1lbnQuZGlzcGF0Y2hFdmVudChJbnNwZWN0b3JUZXN0LmNyZWF0ZUtleUV2ZW50KCJVcCIpKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQodHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVt
ZW50LnRleHRDb250ZW50KTsKKworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QuZXhwYW5kRE9NU3VidHJlZUFuZFJ1bihudWxs
LCBzZWxlY3RJbnNwZWN0ZWRFbGVtZW50KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHRoYXQgVXAvRG93biBrZXlzIHN3aXRj
aCBzdWdnZXN0aW9ucyBpbiBDU1MgcHJvcGVydHkgdmFsdWVzLgorPC9wPgorCis8ZGl2IGlkPSJp
bnNwZWN0ZWQiIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij5UZXh0PC9kaXY+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtdXJsLWxpbmtp
ZnkuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMtdXJsLWxpbmtpZnkuaHRtbApp
bmRleCBhZjdhZDZkLi45N2I2Y2YxIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
c3R5bGVzLXVybC1saW5raWZ5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxl
cy11cmwtbGlua2lmeS5odG1sCkBAIC0yMiw3ICsyMiwxNCBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICBmdW5jdGlvbiBkdW1wSHJlZigpCiAgICAgewotICAgICAgICB2YXIgaHJlZiA9IFdlYklu
c3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJhclBhbmVzLnN0eWxlcy5zZWN0aW9uc1swXVsy
XS5wcm9wZXJ0aWVzVHJlZU91dGxpbmUuY2hpbGRyZW5bMF0udmFsdWVFbGVtZW50LmNoaWxkTm9k
ZXNbMl0uaHJlZjsKKyAgICAgICAgdmFyIGNoaWxkTm9kZXMgPSBXZWJJbnNwZWN0b3IucGFuZWxz
LmVsZW1lbnRzLnNpZGViYXJQYW5lcy5zdHlsZXMuc2VjdGlvbnNbMF1bMl0ucHJvcGVydGllc1Ry
ZWVPdXRsaW5lLmNoaWxkcmVuWzBdLnZhbHVlRWxlbWVudC5jaGlsZE5vZGVzOworICAgICAgICB2
YXIgaHJlZjsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZE5vZGVzLmxlbmd0aDsg
KytpKSB7CisgICAgICAgICAgICBpZiAoY2hpbGROb2Rlc1tpXS5ocmVmKSB7CisgICAgICAgICAg
ICAgICAgaHJlZiA9IGNoaWxkTm9kZXNbaV0uaHJlZjsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgICAgICB2YXIgc2VnbWVudHMgPSBocmVmLnNw
bGl0KCIvIik7CiAgICAgICAgIHZhciBvdXRwdXQgPSBbXTsKICAgICAgICAgZm9yICh2YXIgaSA9
IHNlZ21lbnRzLmxlbmd0aCAtIDEsIG1pblNlZ21lbnQgPSBpIC0gMzsgaSA+PSAwICYmIGkgPj0g
bWluU2VnbWVudDsgLS1pKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBhNWRkNTI3Li5mNzk4ZDhjIDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEwLTEy
LTI5ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogYXV0
b2NvbXBsZXRpb24gZm9yIENTUyBwcm9wZXJ0eSB2YWx1ZXMgaW4gU3R5bGVzIHBhbmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNDE0CisKKyAgICAg
ICAgRm9yIGVhY2ggQ1NTIHByb3BlcnR5IChvaywgZm9yIG1vc3Qgb2YgdGhlbSksIHdlIGNhbiBk
ZXRlcm1pbmUgYSBmaXhlZCBzZXQgb2Yga2V5d29yZHMKKyAgICAgICAgdGhhdCBtYXkgYXBwZWFy
IGluIGl0cyB2YWx1ZS4gV2l0aCB0aGVzZSBzZXRzIGF0IGhhbmQsIGl0IGlzIHBvc3NpYmxlIHRv
IGF1dG8tY29tcGxldGUKKyAgICAgICAgdXNlciBpbnB1dCAoYW5kIHRyYXZlcnNlIGF2YWlsYWJs
ZSB2YWx1ZXMgd2l0aCB0aGUgVXAvRG93biBrZXlzKSBpbiB0aGUgcHJvcGVydHkgdmFsdWUKKyAg
ICAgICAgZmllbGQgdGhlIHNhbWUgd2F5IGFzIHdlIGRvIGZvciBwcm9wZXJ0eSBuYW1lcy4gVGhl
IHNvbHV0aW9uIGRvZXMgTk8gaW50ZWxsaWdlbnQgcGFyc2luZworICAgICAgICBvZiB2YWx1ZXMg
dG8gZGV0ZXJtaW5lIHdoaWNoIGtleXdvcmRzIGFyZSB2YWxpZCBhdCB0aGUgY3VycmVudCBjdXJz
b3IgcG9zaXRpb24uCisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL3N0eWxlcy1hdXRvY29tcGxl
dGUtdmFsdWVzLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0NTU0tleXdvcmRDb21wbGV0aW9ucy5qczogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q1NTS2V5d29yZENvbXBsZXRpb25zLmZvclByb3BlcnR5KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NvbG9yLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVz
U2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVF
bGVtZW50LnByb3RvdHlwZS51cGRhdGVUaXRsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5
bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9XZWJLaXQucXJjOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmh0bWw6CisKIDIwMTAtMTItMjkgIEtlbnQgSGFuc2VuICA8a2VudC5oYW5zZW5Abm9raWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmNjJkODgz
Li40NTBiM2MyIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtNDYxMyw2ICs0NjEzLDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL0Nvb2tpZVBhcnNlci5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9Db29raWVzVGFibGUuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1l
bmQvQ1NTQ29tcGxldGlvbnMuanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
Q1NTS2V5d29yZENvbXBsZXRpb25zLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL0NTU1N0eWxlTW9kZWwuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
RGF0YWJhc2UuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VR
dWVyeVZpZXcuanMnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZWRl
MTRiMi4uY2Y2YTg4ZiAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02
NTM5Myw2ICs2NTM5MywxNCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxDU1NDb21wbGV0aW9ucy5qcyIK
KwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGlu
c3BlY3Rvclxmcm9udC1lbmRcQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzIgorCQkJCQk+CisJCQkJ
PC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250
LWVuZFxDU1NTdHlsZU1vZGVsLmpzIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcyBiL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMKbmV3IGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWQ4MmQ4MAotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMKQEAg
LTAsMCArMSwxMTE2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucyA9IHsKKyAg
ICBmb3JQcm9wZXJ0eTogZnVuY3Rpb24ocHJvcGVydHlOYW1lKQorICAgIHsKKyAgICAgICAgdmFy
IGFjY2VwdGVkS2V5d29yZHMgPSBbImluaXRpYWwiXTsKKyAgICAgICAgaWYgKHByb3BlcnR5TmFt
ZSBpbiB0aGlzLl9wcm9wZXJ0eUtleXdvcmRNYXApCisgICAgICAgICAgICBhY2NlcHRlZEtleXdv
cmRzID0gYWNjZXB0ZWRLZXl3b3Jkcy5jb25jYXQodGhpcy5fcHJvcGVydHlLZXl3b3JkTWFwW3By
b3BlcnR5TmFtZV0pOworICAgICAgICBpZiAocHJvcGVydHlOYW1lIGluIHRoaXMuX2NvbG9yQXdh
cmVQcm9wZXJ0aWVzKQorICAgICAgICAgICAgYWNjZXB0ZWRLZXl3b3JkcyA9IGFjY2VwdGVkS2V5
d29yZHMuY29uY2F0KFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuX2NvbG9ycyk7
CisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgaW4gV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQ
YW5lLkluaGVyaXRlZFByb3BlcnRpZXMpCisgICAgICAgICAgICBhY2NlcHRlZEtleXdvcmRzLnB1
c2goImluaGVyaXQiKTsKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxl
dGlvbnMoYWNjZXB0ZWRLZXl3b3Jkcyk7CisgICAgfQorfTsKKworV2ViSW5zcGVjdG9yLkNTU0tl
eXdvcmRDb21wbGV0aW9ucy5fY29sb3JzID0gWworICAgICJhcXVhIiwKKyAgICAiYmxhY2siLAor
ICAgICJibHVlIiwKKyAgICAiZnVjaHNpYSIsCisgICAgImdyYXkiLAorICAgICJncmVlbiIsCisg
ICAgImxpbWUiLAorICAgICJtYXJvb24iLAorICAgICJuYXZ5IiwKKyAgICAib2xpdmUiLAorICAg
ICJvcmFuZ2UiLAorICAgICJwdXJwbGUiLAorICAgICJyZWQiLAorICAgICJzaWx2ZXIiLAorICAg
ICJ0ZWFsIiwKKyAgICAid2hpdGUiLAorICAgICJ5ZWxsb3ciLAorICAgICJ0cmFuc3BhcmVudCIs
CisgICAgImN1cnJlbnRjb2xvciIsCisgICAgImdyZXkiLAorICAgICJhbGljZWJsdWUiLAorICAg
ICJhbnRpcXVld2hpdGUiLAorICAgICJhcXVhbWFyaW5lIiwKKyAgICAiYXp1cmUiLAorICAgICJi
ZWlnZSIsCisgICAgImJpc3F1ZSIsCisgICAgImJsYW5jaGVkYWxtb25kIiwKKyAgICAiYmx1ZXZp
b2xldCIsCisgICAgImJyb3duIiwKKyAgICAiYnVybHl3b29kIiwKKyAgICAiY2FkZXRibHVlIiwK
KyAgICAiY2hhcnRyZXVzZSIsCisgICAgImNob2NvbGF0ZSIsCisgICAgImNvcmFsIiwKKyAgICAi
Y29ybmZsb3dlcmJsdWUiLAorICAgICJjb3Juc2lsayIsCisgICAgImNyaW1zb24iLAorICAgICJj
eWFuIiwKKyAgICAiZGFya2JsdWUiLAorICAgICJkYXJrY3lhbiIsCisgICAgImRhcmtnb2xkZW5y
b2QiLAorICAgICJkYXJrZ3JheSIsCisgICAgImRhcmtncmVlbiIsCisgICAgImRhcmtncmV5IiwK
KyAgICAiZGFya2toYWtpIiwKKyAgICAiZGFya21hZ2VudGEiLAorICAgICJkYXJrb2xpdmVncmVl
biIsCisgICAgImRhcmtvcmFuZ2UiLAorICAgICJkYXJrb3JjaGlkIiwKKyAgICAiZGFya3JlZCIs
CisgICAgImRhcmtzYWxtb24iLAorICAgICJkYXJrc2VhZ3JlZW4iLAorICAgICJkYXJrc2xhdGVi
bHVlIiwKKyAgICAiZGFya3NsYXRlZ3JheSIsCisgICAgImRhcmtzbGF0ZWdyZXkiLAorICAgICJk
YXJrdHVycXVvaXNlIiwKKyAgICAiZGFya3Zpb2xldCIsCisgICAgImRlZXBwaW5rIiwKKyAgICAi
ZGVlcHNreWJsdWUiLAorICAgICJkaW1ncmF5IiwKKyAgICAiZGltZ3JleSIsCisgICAgImRvZGdl
cmJsdWUiLAorICAgICJmaXJlYnJpY2siLAorICAgICJmbG9yYWx3aGl0ZSIsCisgICAgImZvcmVz
dGdyZWVuIiwKKyAgICAiZ2FpbnNib3JvIiwKKyAgICAiZ2hvc3R3aGl0ZSIsCisgICAgImdvbGQi
LAorICAgICJnb2xkZW5yb2QiLAorICAgICJncmVlbnllbGxvdyIsCisgICAgImhvbmV5ZGV3IiwK
KyAgICAiaG90cGluayIsCisgICAgImluZGlhbnJlZCIsCisgICAgImluZGlnbyIsCisgICAgIml2
b3J5IiwKKyAgICAia2hha2kiLAorICAgICJsYXZlbmRlciIsCisgICAgImxhdmVuZGVyYmx1c2gi
LAorICAgICJsYXduZ3JlZW4iLAorICAgICJsZW1vbmNoaWZmb24iLAorICAgICJsaWdodGJsdWUi
LAorICAgICJsaWdodGNvcmFsIiwKKyAgICAibGlnaHRjeWFuIiwKKyAgICAibGlnaHRnb2xkZW5y
b2R5ZWxsb3ciLAorICAgICJsaWdodGdyYXkiLAorICAgICJsaWdodGdyZWVuIiwKKyAgICAibGln
aHRncmV5IiwKKyAgICAibGlnaHRwaW5rIiwKKyAgICAibGlnaHRzYWxtb24iLAorICAgICJsaWdo
dHNlYWdyZWVuIiwKKyAgICAibGlnaHRza3libHVlIiwKKyAgICAibGlnaHRzbGF0ZWdyYXkiLAor
ICAgICJsaWdodHNsYXRlZ3JleSIsCisgICAgImxpZ2h0c3RlZWxibHVlIiwKKyAgICAibGlnaHR5
ZWxsb3ciLAorICAgICJsaW1lZ3JlZW4iLAorICAgICJsaW5lbiIsCisgICAgIm1hZ2VudGEiLAor
ICAgICJtZWRpdW1hcXVhbWFyaW5lIiwKKyAgICAibWVkaXVtYmx1ZSIsCisgICAgIm1lZGl1bW9y
Y2hpZCIsCisgICAgIm1lZGl1bXB1cnBsZSIsCisgICAgIm1lZGl1bXNlYWdyZWVuIiwKKyAgICAi
bWVkaXVtc2xhdGVibHVlIiwKKyAgICAibWVkaXVtc3ByaW5nZ3JlZW4iLAorICAgICJtZWRpdW10
dXJxdW9pc2UiLAorICAgICJtZWRpdW12aW9sZXRyZWQiLAorICAgICJtaWRuaWdodGJsdWUiLAor
ICAgICJtaW50Y3JlYW0iLAorICAgICJtaXN0eXJvc2UiLAorICAgICJtb2NjYXNpbiIsCisgICAg
Im5hdmFqb3doaXRlIiwKKyAgICAib2xkbGFjZSIsCisgICAgIm9saXZlZHJhYiIsCisgICAgIm9y
YW5nZXJlZCIsCisgICAgIm9yY2hpZCIsCisgICAgInBhbGVnb2xkZW5yb2QiLAorICAgICJwYWxl
Z3JlZW4iLAorICAgICJwYWxldHVycXVvaXNlIiwKKyAgICAicGFsZXZpb2xldHJlZCIsCisgICAg
InBhcGF5YXdoaXAiLAorICAgICJwZWFjaHB1ZmYiLAorICAgICJwZXJ1IiwKKyAgICAicGluayIs
CisgICAgInBsdW0iLAorICAgICJwb3dkZXJibHVlIiwKKyAgICAicm9zeWJyb3duIiwKKyAgICAi
cm95YWxibHVlIiwKKyAgICAic2FkZGxlYnJvd24iLAorICAgICJzYWxtb24iLAorICAgICJzYW5k
eWJyb3duIiwKKyAgICAic2VhZ3JlZW4iLAorICAgICJzZWFzaGVsbCIsCisgICAgInNpZW5uYSIs
CisgICAgInNreWJsdWUiLAorICAgICJzbGF0ZWJsdWUiLAorICAgICJzbGF0ZWdyYXkiLAorICAg
ICJzbGF0ZWdyZXkiLAorICAgICJzbm93IiwKKyAgICAic3ByaW5nZ3JlZW4iLAorICAgICJzdGVl
bGJsdWUiLAorICAgICJ0YW4iLAorICAgICJ0aGlzdGxlIiwKKyAgICAidG9tYXRvIiwKKyAgICAi
dHVycXVvaXNlIiwKKyAgICAidmlvbGV0IiwKKyAgICAid2hlYXQiLAorICAgICJ3aGl0ZXNtb2tl
IiwKKyAgICAieWVsbG93Z3JlZW4iCitdLAorCitXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBs
ZXRpb25zLl9jb2xvckF3YXJlUHJvcGVydGllcyA9IFsKKyAgICAiYmFja2dyb3VuZCIsCisgICAg
ImJhY2tncm91bmQtY29sb3IiLAorICAgICJib3JkZXIiLAorICAgICJib3JkZXItY29sb3IiLAor
ICAgICJib3JkZXItdG9wIiwKKyAgICAiYm9yZGVyLXJpZ2h0IiwKKyAgICAiYm9yZGVyLWJvdHRv
bSIsCisgICAgImJvcmRlci1sZWZ0IiwKKyAgICAiYm9yZGVyLXRvcC1jb2xvciIsCisgICAgImJv
cmRlci1yaWdodC1jb2xvciIsCisgICAgImJvcmRlci1ib3R0b20tY29sb3IiLAorICAgICJib3Jk
ZXItbGVmdC1jb2xvciIsCisgICAgImNvbG9yIiwKKyAgICAib3V0bGluZSIsCisgICAgIm91dGxp
bmUtY29sb3IiLAorICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCIsCisgICAgInRleHQtbGluZS10aHJv
dWdoLWNvbG9yIiwKKyAgICAidGV4dC1vdmVybGluZSIsCisgICAgInRleHQtb3ZlcmxpbmUtY29s
b3IiLAorICAgICJ0ZXh0LXNoYWRvdyIsCisgICAgInRleHQtdW5kZXJsaW5lIiwKKyAgICAidGV4
dC11bmRlcmxpbmUtY29sb3IiLAorICAgICItd2Via2l0LXRleHQtZW1waGFzaXMiLAorICAgICIt
d2Via2l0LXRleHQtZW1waGFzaXMtY29sb3IiCitdLmtleVNldCgpOworCitXZWJJbnNwZWN0b3Iu
Q1NTS2V5d29yZENvbXBsZXRpb25zLl9wcm9wZXJ0eUtleXdvcmRNYXAgPSB7CisgICAgInRhYmxl
LWxheW91dCI6IFsKKyAgICAgICAgImF1dG8iLAorICAgICAgICAiZml4ZWQiCisgICAgXSwKKyAg
ICAidmlzaWJpbGl0eSI6IFsKKyAgICAgICAgImhpZGRlbiIsCisgICAgICAgICJ2aXNpYmxlIiwK
KyAgICAgICAgImNvbGxhcHNlIgorICAgIF0sCisgICAgImJhY2tncm91bmQtcmVwZWF0IjogWwor
ICAgICAgICAicmVwZWF0IiwKKyAgICAgICAgInJlcGVhdC14IiwKKyAgICAgICAgInJlcGVhdC15
IiwKKyAgICAgICAgIm5vLXJlcGVhdCIsCisgICAgICAgICJzcGFjZSIsCisgICAgICAgICJyb3Vu
ZCIKKyAgICBdLAorICAgICJ0ZXh0LXVuZGVybGluZSI6IFsKKyAgICAgICAgIm5vbmUiLAorICAg
ICAgICAiZG90dGVkIiwKKyAgICAgICAgImRhc2hlZCIsCisgICAgICAgICJzb2xpZCIsCisgICAg
ICAgICJkb3VibGUiLAorICAgICAgICAiZG90LWRhc2giLAorICAgICAgICAiZG90LWRvdC1kYXNo
IiwKKyAgICAgICAgIndhdmUiCisgICAgXSwKKyAgICAiY29udGVudCI6IFsKKyAgICAgICAgImxp
c3QtaXRlbSIsCisgICAgICAgICJjbG9zZS1xdW90ZSIsCisgICAgICAgICJuby1jbG9zZS1xdW90
ZSIsCisgICAgICAgICJuby1vcGVuLXF1b3RlIiwKKyAgICAgICAgIm9wZW4tcXVvdGUiCisgICAg
XSwKKyAgICAibGlzdC1zdHlsZS1pbWFnZSI6IFsKKyAgICAgICAgIm5vbmUiCisgICAgXSwKKyAg
ICAiY2xlYXIiOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImxlZnQiLAorICAgICAgICAi
cmlnaHQiLAorICAgICAgICAiYm90aCIKKyAgICBdLAorICAgICJ0ZXh0LXVuZGVybGluZS1tb2Rl
IjogWworICAgICAgICAiY29udGludW91cyIsCisgICAgICAgICJza2lwLXdoaXRlLXNwYWNlIgor
ICAgIF0sCisgICAgIm92ZXJmbG93LXgiOiBbCisgICAgICAgICJoaWRkZW4iLAorICAgICAgICAi
YXV0byIsCisgICAgICAgICJ2aXNpYmxlIiwKKyAgICAgICAgIm92ZXJsYXkiLAorICAgICAgICAi
c2Nyb2xsIgorICAgIF0sCisgICAgInN0cm9rZS1saW5lam9pbiI6IFsKKyAgICAgICAgInJvdW5k
IiwKKyAgICAgICAgIm1pdGVyIiwKKyAgICAgICAgImJldmVsIgorICAgIF0sCisgICAgImJhc2Vs
aW5lLXNoaWZ0IjogWworICAgICAgICAiYmFzZWxpbmUiLAorICAgICAgICAic3ViIiwKKyAgICAg
ICAgInN1cGVyIgorICAgIF0sCisgICAgImJvcmRlci1ib3R0b20td2lkdGgiOiBbCisgICAgICAg
ICJtZWRpdW0iLAorICAgICAgICAidGhpY2siLAorICAgICAgICAidGhpbiIKKyAgICBdLAorICAg
ICJtYXJxdWVlLXNwZWVkIjogWworICAgICAgICAibm9ybWFsIiwKKyAgICAgICAgInNsb3ciLAor
ICAgICAgICAiZmFzdCIKKyAgICBdLAorICAgICJtYXJnaW4tdG9wLWNvbGxhcHNlIjogWworICAg
ICAgICAiY29sbGFwc2UiLAorICAgICAgICAic2VwYXJhdGUiLAorICAgICAgICAiZGlzY2FyZCIK
KyAgICBdLAorICAgICJtYXgtaGVpZ2h0IjogWworICAgICAgICAibm9uZSIKKyAgICBdLAorICAg
ICJib3gtb3JpZW50IjogWworICAgICAgICAiaG9yaXpvbnRhbCIsCisgICAgICAgICJ2ZXJ0aWNh
bCIsCisgICAgICAgICJpbmxpbmUtYXhpcyIsCisgICAgICAgICJibG9jay1heGlzIgorICAgIF0s
CisgICAgImZvbnQtc3RyZXRjaCI6IFsKKyAgICAgICAgIm5vcm1hbCIsCisgICAgICAgICJ3aWRl
ciIsCisgICAgICAgICJuYXJyb3dlciIsCisgICAgICAgICJ1bHRyYS1jb25kZW5zZWQiLAorICAg
ICAgICAiZXh0cmEtY29uZGVuc2VkIiwKKyAgICAgICAgImNvbmRlbnNlZCIsCisgICAgICAgICJz
ZW1pLWNvbmRlbnNlZCIsCisgICAgICAgICJzZW1pLWV4cGFuZGVkIiwKKyAgICAgICAgImV4cGFu
ZGVkIiwKKyAgICAgICAgImV4dHJhLWV4cGFuZGVkIiwKKyAgICAgICAgInVsdHJhLWV4cGFuZGVk
IgorICAgIF0sCisgICAgIi13ZWJraXQtY29sb3ItY29ycmVjdGlvbiI6IFsKKyAgICAgICAgImRl
ZmF1bHQiLAorICAgICAgICAic3JnYiIKKyAgICBdLAorICAgICJ0ZXh0LXVuZGVybGluZS1zdHls
ZSI6IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiZG90dGVkIiwKKyAgICAgICAgImRhc2hl
ZCIsCisgICAgICAgICJzb2xpZCIsCisgICAgICAgICJkb3VibGUiLAorICAgICAgICAiZG90LWRh
c2giLAorICAgICAgICAiZG90LWRvdC1kYXNoIiwKKyAgICAgICAgIndhdmUiCisgICAgXSwKKyAg
ICAidGV4dC1vdmVybGluZS1tb2RlIjogWworICAgICAgICAiY29udGludW91cyIsCisgICAgICAg
ICJza2lwLXdoaXRlLXNwYWNlIgorICAgIF0sCisgICAgIi13ZWJraXQtYmFja2dyb3VuZC1jb21w
b3NpdGUiOiBbCisgICAgICAgICJoaWdobGlnaHQiLAorICAgICAgICAiY2xlYXIiLAorICAgICAg
ICAiY29weSIsCisgICAgICAgICJzb3VyY2Utb3ZlciIsCisgICAgICAgICJzb3VyY2UtaW4iLAor
ICAgICAgICAic291cmNlLW91dCIsCisgICAgICAgICJzb3VyY2UtYXRvcCIsCisgICAgICAgICJk
ZXN0aW5hdGlvbi1vdmVyIiwKKyAgICAgICAgImRlc3RpbmF0aW9uLWluIiwKKyAgICAgICAgImRl
c3RpbmF0aW9uLW91dCIsCisgICAgICAgICJkZXN0aW5hdGlvbi1hdG9wIiwKKyAgICAgICAgInhv
ciIsCisgICAgICAgICJwbHVzLWRhcmtlciIsCisgICAgICAgICJwbHVzLWxpZ2h0ZXIiCisgICAg
XSwKKyAgICAiYm9yZGVyLWxlZnQtd2lkdGgiOiBbCisgICAgICAgICJtZWRpdW0iLAorICAgICAg
ICAidGhpY2siLAorICAgICAgICAidGhpbiIKKyAgICBdLAorICAgICItd2Via2l0LXdyaXRpbmct
bW9kZSI6IFsKKyAgICAgICAgImxyIiwKKyAgICAgICAgInJsIiwKKyAgICAgICAgInRiIiwKKyAg
ICAgICAgImxyLXRiIiwKKyAgICAgICAgInJsLXRiIiwKKyAgICAgICAgInRiLXJsIiwKKyAgICAg
ICAgImhvcml6b250YWwtdGIiLAorICAgICAgICAidmVydGljYWwtcmwiLAorICAgICAgICAidmVy
dGljYWwtbHIiLAorICAgICAgICAiaG9yaXpvbnRhbC1idCIKKyAgICBdLAorICAgICJ0ZXh0LWxp
bmUtdGhyb3VnaC1tb2RlIjogWworICAgICAgICAiY29udGludW91cyIsCisgICAgICAgICJza2lw
LXdoaXRlLXNwYWNlIgorICAgIF0sCisgICAgImJvcmRlci1jb2xsYXBzZSI6IFsKKyAgICAgICAg
ImNvbGxhcHNlIiwKKyAgICAgICAgInNlcGFyYXRlIgorICAgIF0sCisgICAgInBhZ2UtYnJlYWst
aW5zaWRlIjogWworICAgICAgICAiYXV0byIsCisgICAgICAgICJhdm9pZCIKKyAgICBdLAorICAg
ICJib3JkZXItdG9wLXdpZHRoIjogWworICAgICAgICAibWVkaXVtIiwKKyAgICAgICAgInRoaWNr
IiwKKyAgICAgICAgInRoaW4iCisgICAgXSwKKyAgICAib3V0bGluZS1jb2xvciI6IFsKKyAgICAg
ICAgImludmVydCIKKyAgICBdLAorICAgICJ0ZXh0LWxpbmUtdGhyb3VnaC1zdHlsZSI6IFsKKyAg
ICAgICAgIm5vbmUiLAorICAgICAgICAiZG90dGVkIiwKKyAgICAgICAgImRhc2hlZCIsCisgICAg
ICAgICJzb2xpZCIsCisgICAgICAgICJkb3VibGUiLAorICAgICAgICAiZG90LWRhc2giLAorICAg
ICAgICAiZG90LWRvdC1kYXNoIiwKKyAgICAgICAgIndhdmUiCisgICAgXSwKKyAgICAib3V0bGlu
ZS1zdHlsZSI6IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiaGlkZGVuIiwKKyAgICAgICAg
Imluc2V0IiwKKyAgICAgICAgImdyb292ZSIsCisgICAgICAgICJyaWRnZSIsCisgICAgICAgICJv
dXRzZXQiLAorICAgICAgICAiZG90dGVkIiwKKyAgICAgICAgImRhc2hlZCIsCisgICAgICAgICJz
b2xpZCIsCisgICAgICAgICJkb3VibGUiCisgICAgXSwKKyAgICAiY3Vyc29yIjogWworICAgICAg
ICAibm9uZSIsCisgICAgICAgICJjb3B5IiwKKyAgICAgICAgImF1dG8iLAorICAgICAgICAiY3Jv
c3NoYWlyIiwKKyAgICAgICAgImRlZmF1bHQiLAorICAgICAgICAicG9pbnRlciIsCisgICAgICAg
ICJtb3ZlIiwKKyAgICAgICAgInZlcnRpY2FsLXRleHQiLAorICAgICAgICAiY2VsbCIsCisgICAg
ICAgICJjb250ZXh0LW1lbnUiLAorICAgICAgICAiYWxpYXMiLAorICAgICAgICAicHJvZ3Jlc3Mi
LAorICAgICAgICAibm8tZHJvcCIsCisgICAgICAgICJub3QtYWxsb3dlZCIsCisgICAgICAgICIt
d2Via2l0LXpvb20taW4iLAorICAgICAgICAiLXdlYmtpdC16b29tLW91dCIsCisgICAgICAgICJl
LXJlc2l6ZSIsCisgICAgICAgICJuZS1yZXNpemUiLAorICAgICAgICAibnctcmVzaXplIiwKKyAg
ICAgICAgIm4tcmVzaXplIiwKKyAgICAgICAgInNlLXJlc2l6ZSIsCisgICAgICAgICJzdy1yZXNp
emUiLAorICAgICAgICAicy1yZXNpemUiLAorICAgICAgICAidy1yZXNpemUiLAorICAgICAgICAi
ZXctcmVzaXplIiwKKyAgICAgICAgIm5zLXJlc2l6ZSIsCisgICAgICAgICJuZXN3LXJlc2l6ZSIs
CisgICAgICAgICJud3NlLXJlc2l6ZSIsCisgICAgICAgICJjb2wtcmVzaXplIiwKKyAgICAgICAg
InJvdy1yZXNpemUiLAorICAgICAgICAidGV4dCIsCisgICAgICAgICJ3YWl0IiwKKyAgICAgICAg
ImhlbHAiLAorICAgICAgICAiYWxsLXNjcm9sbCIsCisgICAgICAgICItd2Via2l0LWdyYWIiLAor
ICAgICAgICAiLXdlYmtpdC1ncmFiYmluZyIKKyAgICBdLAorICAgICJib3JkZXItd2lkdGgiOiBb
CisgICAgICAgICJtZWRpdW0iLAorICAgICAgICAidGhpY2siLAorICAgICAgICAidGhpbiIKKyAg
ICBdLAorICAgICJzaXplIjogWworICAgICAgICAiYTMiLAorICAgICAgICAiYTQiLAorICAgICAg
ICAiYTUiLAorICAgICAgICAiYjQiLAorICAgICAgICAiYjUiLAorICAgICAgICAibGFuZHNjYXBl
IiwKKyAgICAgICAgImxlZGdlciIsCisgICAgICAgICJsZWdhbCIsCisgICAgICAgICJsZXR0ZXIi
LAorICAgICAgICAicG9ydHJhaXQiCisgICAgXSwKKyAgICAiYmFja2dyb3VuZC1zaXplIjogWwor
ICAgICAgICAiY29udGFpbiIsCisgICAgICAgICJjb3ZlciIKKyAgICBdLAorICAgICJkaXJlY3Rp
b24iOiBbCisgICAgICAgICJsdHIiLAorICAgICAgICAicnRsIgorICAgIF0sCisgICAgIm1hcnF1
ZWUtZGlyZWN0aW9uIjogWworICAgICAgICAibGVmdCIsCisgICAgICAgICJyaWdodCIsCisgICAg
ICAgICJhdXRvIiwKKyAgICAgICAgInJldmVyc2UiLAorICAgICAgICAiZm9yd2FyZHMiLAorICAg
ICAgICAiYmFja3dhcmRzIiwKKyAgICAgICAgImFoZWFkIiwKKyAgICAgICAgInVwIiwKKyAgICAg
ICAgImRvd24iCisgICAgXSwKKyAgICAiZW5hYmxlLWJhY2tncm91bmQiOiBbCisgICAgICAgICJh
Y2N1bXVsYXRlIiwKKyAgICAgICAgIm5ldyIKKyAgICBdLAorICAgICJmbG9hdCI6IFsKKyAgICAg
ICAgIm5vbmUiLAorICAgICAgICAibGVmdCIsCisgICAgICAgICJyaWdodCIKKyAgICBdLAorICAg
ICJvdmVyZmxvdy15IjogWworICAgICAgICAiaGlkZGVuIiwKKyAgICAgICAgImF1dG8iLAorICAg
ICAgICAidmlzaWJsZSIsCisgICAgICAgICJvdmVybGF5IiwKKyAgICAgICAgInNjcm9sbCIKKyAg
ICBdLAorICAgICJtYXJnaW4tYm90dG9tLWNvbGxhcHNlIjogWworICAgICAgICAiY29sbGFwc2Ui
LAorICAgICAgICAic2VwYXJhdGUiLAorICAgICAgICAiZGlzY2FyZCIKKyAgICBdLAorICAgICJi
b3gtcmVmbGVjdCI6IFsKKyAgICAgICAgImxlZnQiLAorICAgICAgICAicmlnaHQiLAorICAgICAg
ICAiYWJvdmUiLAorICAgICAgICAiYmVsb3ciCisgICAgXSwKKyAgICAib3ZlcmZsb3ciOiBbCisg
ICAgICAgICJoaWRkZW4iLAorICAgICAgICAiYXV0byIsCisgICAgICAgICJ2aXNpYmxlIiwKKyAg
ICAgICAgIm92ZXJsYXkiLAorICAgICAgICAic2Nyb2xsIgorICAgIF0sCisgICAgInRleHQtcmVu
ZGVyaW5nIjogWworICAgICAgICAiYXV0byIsCisgICAgICAgICJvcHRpbWl6ZXNwZWVkIiwKKyAg
ICAgICAgIm9wdGltaXplbGVnaWJpbGl0eSIsCisgICAgICAgICJnZW9tZXRyaWNwcmVjaXNpb24i
CisgICAgXSwKKyAgICAidGV4dC1hbGlnbiI6IFsKKyAgICAgICAgIi13ZWJraXQtYXV0byIsCisg
ICAgICAgICJsZWZ0IiwKKyAgICAgICAgInJpZ2h0IiwKKyAgICAgICAgImNlbnRlciIsCisgICAg
ICAgICJqdXN0aWZ5IiwKKyAgICAgICAgIi13ZWJraXQtbGVmdCIsCisgICAgICAgICItd2Via2l0
LXJpZ2h0IiwKKyAgICAgICAgIi13ZWJraXQtY2VudGVyIgorICAgIF0sCisgICAgImxpc3Qtc3R5
bGUtcG9zaXRpb24iOiBbCisgICAgICAgICJvdXRzaWRlIiwKKyAgICAgICAgImluc2lkZSIKKyAg
ICBdLAorICAgICJtYXJnaW4tYm90dG9tIjogWworICAgICAgICAiYXV0byIKKyAgICBdLAorICAg
ICJjb2xvci1pbnRlcnBvbGF0aW9uIjogWworICAgICAgICAibGluZWFycmdiIgorICAgIF0sCisg
ICAgImJhY2tncm91bmQtb3JpZ2luIjogWworICAgICAgICAiYm9yZGVyLWJveCIsCisgICAgICAg
ICJjb250ZW50LWJveCIsCisgICAgICAgICJwYWRkaW5nLWJveCIKKyAgICBdLAorICAgICJ3b3Jk
LXdyYXAiOiBbCisgICAgICAgICJub3JtYWwiLAorICAgICAgICAiYnJlYWstd29yZCIKKyAgICBd
LAorICAgICJmb250LXdlaWdodCI6IFsKKyAgICAgICAgIm5vcm1hbCIsCisgICAgICAgICJib2xk
IiwKKyAgICAgICAgImJvbGRlciIsCisgICAgICAgICJsaWdodGVyIiwKKyAgICAgICAgIjEwMCIs
CisgICAgICAgICIyMDAiLAorICAgICAgICAiMzAwIiwKKyAgICAgICAgIjQwMCIsCisgICAgICAg
ICI1MDAiLAorICAgICAgICAiNjAwIiwKKyAgICAgICAgIjcwMCIsCisgICAgICAgICI4MDAiLAor
ICAgICAgICAiOTAwIgorICAgIF0sCisgICAgIm1hcmdpbi1iZWZvcmUtY29sbGFwc2UiOiBbCisg
ICAgICAgICJjb2xsYXBzZSIsCisgICAgICAgICJzZXBhcmF0ZSIsCisgICAgICAgICJkaXNjYXJk
IgorICAgIF0sCisgICAgInRleHQtb3ZlcmxpbmUtd2lkdGgiOiBbCisgICAgICAgICJub3JtYWwi
LAorICAgICAgICAibWVkaXVtIiwKKyAgICAgICAgImF1dG8iLAorICAgICAgICAidGhpY2siLAor
ICAgICAgICAidGhpbiIKKyAgICBdLAorICAgICJ0ZXh0LXRyYW5zZm9ybSI6IFsKKyAgICAgICAg
Im5vbmUiLAorICAgICAgICAiY2FwaXRhbGl6ZSIsCisgICAgICAgICJ1cHBlcmNhc2UiLAorICAg
ICAgICAibG93ZXJjYXNlIgorICAgIF0sCisgICAgImJvcmRlci1yaWdodC1zdHlsZSI6IFsKKyAg
ICAgICAgIm5vbmUiLAorICAgICAgICAiaGlkZGVuIiwKKyAgICAgICAgImluc2V0IiwKKyAgICAg
ICAgImdyb292ZSIsCisgICAgICAgICJyaWRnZSIsCisgICAgICAgICJvdXRzZXQiLAorICAgICAg
ICAiZG90dGVkIiwKKyAgICAgICAgImRhc2hlZCIsCisgICAgICAgICJzb2xpZCIsCisgICAgICAg
ICJkb3VibGUiCisgICAgXSwKKyAgICAiYm9yZGVyLWxlZnQtc3R5bGUiOiBbCisgICAgICAgICJu
b25lIiwKKyAgICAgICAgImhpZGRlbiIsCisgICAgICAgICJpbnNldCIsCisgICAgICAgICJncm9v
dmUiLAorICAgICAgICAicmlkZ2UiLAorICAgICAgICAib3V0c2V0IiwKKyAgICAgICAgImRvdHRl
ZCIsCisgICAgICAgICJkYXNoZWQiLAorICAgICAgICAic29saWQiLAorICAgICAgICAiZG91Ymxl
IgorICAgIF0sCisgICAgIi13ZWJraXQtdGV4dC1lbXBoYXNpcyI6IFsKKyAgICAgICAgImNpcmNs
ZSIsCisgICAgICAgICJmaWxsZWQiLAorICAgICAgICAib3BlbiIsCisgICAgICAgICJkb3QiLAor
ICAgICAgICAiZG91YmxlLWNpcmNsZSIsCisgICAgICAgICJ0cmlhbmdsZSIsCisgICAgICAgICJz
ZXNhbWUiCisgICAgXSwKKyAgICAiZm9udC1zdHlsZSI6IFsKKyAgICAgICAgIml0YWxpYyIsCisg
ICAgICAgICJvYmxpcXVlIiwKKyAgICAgICAgIm5vcm1hbCIKKyAgICBdLAorICAgICJzcGVhayI6
IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAibm9ybWFsIiwKKyAgICAgICAgInNwZWxsLW91
dCIsCisgICAgICAgICJkaWdpdHMiLAorICAgICAgICAibGl0ZXJhbC1wdW5jdHVhdGlvbiIsCisg
ICAgICAgICJuby1wdW5jdHVhdGlvbiIKKyAgICBdLAorICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCI6
IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiZG90dGVkIiwKKyAgICAgICAgImRhc2hlZCIs
CisgICAgICAgICJzb2xpZCIsCisgICAgICAgICJkb3VibGUiLAorICAgICAgICAiZG90LWRhc2gi
LAorICAgICAgICAiZG90LWRvdC1kYXNoIiwKKyAgICAgICAgIndhdmUiLAorICAgICAgICAiY29u
dGludW91cyIsCisgICAgICAgICJza2lwLXdoaXRlLXNwYWNlIgorICAgIF0sCisgICAgImNvbG9y
LXJlbmRlcmluZyI6IFsKKyAgICAgICAgImF1dG8iLAorICAgICAgICAib3B0aW1pemVzcGVlZCIs
CisgICAgICAgICJvcHRpbWl6ZXF1YWxpdHkiCisgICAgXSwKKyAgICAibGlzdC1zdHlsZS10eXBl
IjogWworICAgICAgICAibm9uZSIsCisgICAgICAgICJkaXNjIiwKKyAgICAgICAgImNpcmNsZSIs
CisgICAgICAgICJzcXVhcmUiLAorICAgICAgICAiZGVjaW1hbCIsCisgICAgICAgICJkZWNpbWFs
LWxlYWRpbmctemVybyIsCisgICAgICAgICJhcmFiaWMtaW5kaWMiLAorICAgICAgICAiYmluYXJ5
IiwKKyAgICAgICAgImJlbmdhbGkiLAorICAgICAgICAiY2FtYm9kaWFuIiwKKyAgICAgICAgImto
bWVyIiwKKyAgICAgICAgImRldmFuYWdhcmkiLAorICAgICAgICAiZ3VqYXJhdGkiLAorICAgICAg
ICAiZ3VybXVraGkiLAorICAgICAgICAia2FubmFkYSIsCisgICAgICAgICJsb3dlci1oZXhhZGVj
aW1hbCIsCisgICAgICAgICJsYW8iLAorICAgICAgICAibWFsYXlhbGFtIiwKKyAgICAgICAgIm1v
bmdvbGlhbiIsCisgICAgICAgICJteWFubWFyIiwKKyAgICAgICAgIm9jdGFsIiwKKyAgICAgICAg
Im9yaXlhIiwKKyAgICAgICAgInBlcnNpYW4iLAorICAgICAgICAidXJkdSIsCisgICAgICAgICJ0
ZWx1Z3UiLAorICAgICAgICAidGliZXRhbiIsCisgICAgICAgICJ0aGFpIiwKKyAgICAgICAgInVw
cGVyLWhleGFkZWNpbWFsIiwKKyAgICAgICAgImxvd2VyLXJvbWFuIiwKKyAgICAgICAgInVwcGVy
LXJvbWFuIiwKKyAgICAgICAgImxvd2VyLWdyZWVrIiwKKyAgICAgICAgImxvd2VyLWFscGhhIiwK
KyAgICAgICAgImxvd2VyLWxhdGluIiwKKyAgICAgICAgInVwcGVyLWFscGhhIiwKKyAgICAgICAg
InVwcGVyLWxhdGluIiwKKyAgICAgICAgImFmYXIiLAorICAgICAgICAiZXRoaW9waWMtaGFsZWhh
bWUtYWEtZXQiLAorICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXIiLAorICAgICAgICAi
YW1oYXJpYyIsCisgICAgICAgICJldGhpb3BpYy1oYWxlaGFtZS1hbS1ldCIsCisgICAgICAgICJh
bWhhcmljLWFiZWdlZGUiLAorICAgICAgICAiZXRoaW9waWMtYWJlZ2VkZS1hbS1ldCIsCisgICAg
ICAgICJjamstZWFydGhseS1icmFuY2giLAorICAgICAgICAiY2prLWhlYXZlbmx5LXN0ZW0iLAor
ICAgICAgICAiZXRoaW9waWMiLAorICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUtZ2V6IiwKKyAg
ICAgICAgImV0aGlvcGljLWFiZWdlZGUiLAorICAgICAgICAiZXRoaW9waWMtYWJlZ2VkZS1nZXoi
LAorICAgICAgICAiaGFuZ3VsLWNvbnNvbmFudCIsCisgICAgICAgICJoYW5ndWwiLAorICAgICAg
ICAibG93ZXItbm9yd2VnaWFuIiwKKyAgICAgICAgIm9yb21vIiwKKyAgICAgICAgImV0aGlvcGlj
LWhhbGVoYW1lLW9tLWV0IiwKKyAgICAgICAgInNpZGFtYSIsCisgICAgICAgICJldGhpb3BpYy1o
YWxlaGFtZS1zaWQtZXQiLAorICAgICAgICAic29tYWxpIiwKKyAgICAgICAgImV0aGlvcGljLWhh
bGVoYW1lLXNvLWV0IiwKKyAgICAgICAgInRpZ3JlIiwKKyAgICAgICAgImV0aGlvcGljLWhhbGVo
YW1lLXRpZyIsCisgICAgICAgICJ0aWdyaW55YS1lciIsCisgICAgICAgICJldGhpb3BpYy1oYWxl
aGFtZS10aS1lciIsCisgICAgICAgICJ0aWdyaW55YS1lci1hYmVnZWRlIiwKKyAgICAgICAgImV0
aGlvcGljLWFiZWdlZGUtdGktZXIiLAorICAgICAgICAidGlncmlueWEtZXQiLAorICAgICAgICAi
ZXRoaW9waWMtaGFsZWhhbWUtdGktZXQiLAorICAgICAgICAidGlncmlueWEtZXQtYWJlZ2VkZSIs
CisgICAgICAgICJldGhpb3BpYy1hYmVnZWRlLXRpLWV0IiwKKyAgICAgICAgInVwcGVyLWdyZWVr
IiwKKyAgICAgICAgInVwcGVyLW5vcndlZ2lhbiIsCisgICAgICAgICJhc3Rlcmlza3MiLAorICAg
ICAgICAiZm9vdG5vdGVzIiwKKyAgICAgICAgImhlYnJldyIsCisgICAgICAgICJhcm1lbmlhbiIs
CisgICAgICAgICJsb3dlci1hcm1lbmlhbiIsCisgICAgICAgICJ1cHBlci1hcm1lbmlhbiIsCisg
ICAgICAgICJnZW9yZ2lhbiIsCisgICAgICAgICJjamstaWRlb2dyYXBoaWMiLAorICAgICAgICAi
aGlyYWdhbmEiLAorICAgICAgICAia2F0YWthbmEiLAorICAgICAgICAiaGlyYWdhbmEtaXJvaGEi
LAorICAgICAgICAia2F0YWthbmEtaXJvaGEiCisgICAgXSwKKyAgICAiLXdlYmtpdC10ZXh0LWNv
bWJpbmUiOiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgImhvcml6b250YWwiCisgICAgXSwK
KyAgICAib3V0bGluZSI6IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiaGlkZGVuIiwKKyAg
ICAgICAgImluc2V0IiwKKyAgICAgICAgImdyb292ZSIsCisgICAgICAgICJyaWRnZSIsCisgICAg
ICAgICJvdXRzZXQiLAorICAgICAgICAiZG90dGVkIiwKKyAgICAgICAgImRhc2hlZCIsCisgICAg
ICAgICJzb2xpZCIsCisgICAgICAgICJkb3VibGUiCisgICAgXSwKKyAgICAiZm9udCI6IFsKKyAg
ICAgICAgImNhcHRpb24iLAorICAgICAgICAiaWNvbiIsCisgICAgICAgICJtZW51IiwKKyAgICAg
ICAgIm1lc3NhZ2UtYm94IiwKKyAgICAgICAgInNtYWxsLWNhcHRpb24iLAorICAgICAgICAiLXdl
YmtpdC1taW5pLWNvbnRyb2wiLAorICAgICAgICAiLXdlYmtpdC1zbWFsbC1jb250cm9sIiwKKyAg
ICAgICAgIi13ZWJraXQtY29udHJvbCIsCisgICAgICAgICJzdGF0dXMtYmFyIiwKKyAgICAgICAg
Iml0YWxpYyIsCisgICAgICAgICJvYmxpcXVlIiwKKyAgICAgICAgInNtYWxsLWNhcHMiLAorICAg
ICAgICAibm9ybWFsIiwKKyAgICAgICAgImJvbGQiLAorICAgICAgICAiYm9sZGVyIiwKKyAgICAg
ICAgImxpZ2h0ZXIiLAorICAgICAgICAiMTAwIiwKKyAgICAgICAgIjIwMCIsCisgICAgICAgICIz
MDAiLAorICAgICAgICAiNDAwIiwKKyAgICAgICAgIjUwMCIsCisgICAgICAgICI2MDAiLAorICAg
ICAgICAiNzAwIiwKKyAgICAgICAgIjgwMCIsCisgICAgICAgICI5MDAiLAorICAgICAgICAieHgt
c21hbGwiLAorICAgICAgICAieC1zbWFsbCIsCisgICAgICAgICJzbWFsbCIsCisgICAgICAgICJt
ZWRpdW0iLAorICAgICAgICAibGFyZ2UiLAorICAgICAgICAieC1sYXJnZSIsCisgICAgICAgICJ4
eC1sYXJnZSIsCisgICAgICAgICItd2Via2l0LXh4eC1sYXJnZSIsCisgICAgICAgICJzbWFsbGVy
IiwKKyAgICAgICAgImxhcmdlciIsCisgICAgICAgICJzZXJpZiIsCisgICAgICAgICJzYW5zLXNl
cmlmIiwKKyAgICAgICAgImN1cnNpdmUiLAorICAgICAgICAiZmFudGFzeSIsCisgICAgICAgICJt
b25vc3BhY2UiLAorICAgICAgICAiLXdlYmtpdC1ib2R5IgorICAgIF0sCisgICAgImRvbWluYW50
LWJhc2VsaW5lIjogWworICAgICAgICAibWlkZGxlIiwKKyAgICAgICAgImF1dG8iLAorICAgICAg
ICAiY2VudHJhbCIsCisgICAgICAgICJ0ZXh0LWJlZm9yZS1lZGdlIiwKKyAgICAgICAgInRleHQt
YWZ0ZXItZWRnZSIsCisgICAgICAgICJpZGVvZ3JhcGhpYyIsCisgICAgICAgICJhbHBoYWJldGlj
IiwKKyAgICAgICAgImhhbmdpbmciLAorICAgICAgICAibWF0aGVtYXRpY2FsIiwKKyAgICAgICAg
InVzZS1zY3JpcHQiLAorICAgICAgICAibm8tY2hhbmdlIiwKKyAgICAgICAgInJlc2V0LXNpemUi
CisgICAgXSwKKyAgICAiZGlzcGxheSI6IFsKKyAgICAgICAgIm5vbmUiLAorICAgICAgICAiaW5s
aW5lIiwKKyAgICAgICAgImJsb2NrIiwKKyAgICAgICAgImxpc3QtaXRlbSIsCisgICAgICAgICJy
dW4taW4iLAorICAgICAgICAiY29tcGFjdCIsCisgICAgICAgICJpbmxpbmUtYmxvY2siLAorICAg
ICAgICAidGFibGUiLAorICAgICAgICAiaW5saW5lLXRhYmxlIiwKKyAgICAgICAgInRhYmxlLXJv
dy1ncm91cCIsCisgICAgICAgICJ0YWJsZS1oZWFkZXItZ3JvdXAiLAorICAgICAgICAidGFibGUt
Zm9vdGVyLWdyb3VwIiwKKyAgICAgICAgInRhYmxlLXJvdyIsCisgICAgICAgICJ0YWJsZS1jb2x1
bW4tZ3JvdXAiLAorICAgICAgICAidGFibGUtY29sdW1uIiwKKyAgICAgICAgInRhYmxlLWNlbGwi
LAorICAgICAgICAidGFibGUtY2FwdGlvbiIsCisgICAgICAgICItd2Via2l0LWJveCIsCisgICAg
ICAgICItd2Via2l0LWlubGluZS1ib3giLAorICAgICAgICAiLXdhcC1tYXJxdWVlIgorICAgIF0s
CisgICAgIi13ZWJraXQtdGV4dC1lbXBoYXNpcy1wb3NpdGlvbiI6IFsKKyAgICAgICAgIm92ZXIi
LAorICAgICAgICAidW5kZXIiCisgICAgXSwKKyAgICAiaW1hZ2UtcmVuZGVyaW5nIjogWworICAg
ICAgICAiYXV0byIsCisgICAgICAgICJvcHRpbWl6ZXNwZWVkIiwKKyAgICAgICAgIm9wdGltaXpl
cXVhbGl0eSIKKyAgICBdLAorICAgICJhbGlnbm1lbnQtYmFzZWxpbmUiOiBbCisgICAgICAgICJi
YXNlbGluZSIsCisgICAgICAgICJtaWRkbGUiLAorICAgICAgICAiYXV0byIsCisgICAgICAgICJi
ZWZvcmUtZWRnZSIsCisgICAgICAgICJhZnRlci1lZGdlIiwKKyAgICAgICAgImNlbnRyYWwiLAor
ICAgICAgICAidGV4dC1iZWZvcmUtZWRnZSIsCisgICAgICAgICJ0ZXh0LWFmdGVyLWVkZ2UiLAor
ICAgICAgICAiaWRlb2dyYXBoaWMiLAorICAgICAgICAiYWxwaGFiZXRpYyIsCisgICAgICAgICJo
YW5naW5nIiwKKyAgICAgICAgIm1hdGhlbWF0aWNhbCIKKyAgICBdLAorICAgICJvdXRsaW5lLXdp
ZHRoIjogWworICAgICAgICAibWVkaXVtIiwKKyAgICAgICAgInRoaWNrIiwKKyAgICAgICAgInRo
aW4iCisgICAgXSwKKyAgICAidGV4dC1saW5lLXRocm91Z2gtd2lkdGgiOiBbCisgICAgICAgICJu
b3JtYWwiLAorICAgICAgICAibWVkaXVtIiwKKyAgICAgICAgImF1dG8iLAorICAgICAgICAidGhp
Y2siLAorICAgICAgICAidGhpbiIKKyAgICBdLAorICAgICJib3gtYWxpZ24iOiBbCisgICAgICAg
ICJiYXNlbGluZSIsCisgICAgICAgICJjZW50ZXIiLAorICAgICAgICAic3RyZXRjaCIsCisgICAg
ICAgICJzdGFydCIsCisgICAgICAgICJlbmQiCisgICAgXSwKKyAgICAiYm9yZGVyLXJpZ2h0LXdp
ZHRoIjogWworICAgICAgICAibWVkaXVtIiwKKyAgICAgICAgInRoaWNrIiwKKyAgICAgICAgInRo
aW4iCisgICAgXSwKKyAgICAiYm9yZGVyLXRvcC1zdHlsZSI6IFsKKyAgICAgICAgIm5vbmUiLAor
ICAgICAgICAiaGlkZGVuIiwKKyAgICAgICAgImluc2V0IiwKKyAgICAgICAgImdyb292ZSIsCisg
ICAgICAgICJyaWRnZSIsCisgICAgICAgICJvdXRzZXQiLAorICAgICAgICAiZG90dGVkIiwKKyAg
ICAgICAgImRhc2hlZCIsCisgICAgICAgICJzb2xpZCIsCisgICAgICAgICJkb3VibGUiCisgICAg
XSwKKyAgICAibGluZS1oZWlnaHQiOiBbCisgICAgICAgICJub3JtYWwiCisgICAgXSwKKyAgICAi
dGV4dC1vdmVyZmxvdyI6IFsKKyAgICAgICAgImNsaXAiLAorICAgICAgICAiZWxsaXBzaXMiCisg
ICAgXSwKKyAgICAiYm94LWRpcmVjdGlvbiI6IFsKKyAgICAgICAgIm5vcm1hbCIsCisgICAgICAg
ICJyZXZlcnNlIgorICAgIF0sCisgICAgIm1hcmdpbi1hZnRlci1jb2xsYXBzZSI6IFsKKyAgICAg
ICAgImNvbGxhcHNlIiwKKyAgICAgICAgInNlcGFyYXRlIiwKKyAgICAgICAgImRpc2NhcmQiCisg
ICAgXSwKKyAgICAicGFnZS1icmVhay1iZWZvcmUiOiBbCisgICAgICAgICJsZWZ0IiwKKyAgICAg
ICAgInJpZ2h0IiwKKyAgICAgICAgImF1dG8iLAorICAgICAgICAiYWx3YXlzIiwKKyAgICAgICAg
ImF2b2lkIgorICAgIF0sCisgICAgIi13ZWJraXQtaHlwaGVucyI6IFsKKyAgICAgICAgIm5vbmUi
LAorICAgICAgICAiYXV0byIsCisgICAgICAgICJtYW51YWwiCisgICAgXSwKKyAgICAiYm9yZGVy
LWltYWdlIjogWworICAgICAgICAicmVwZWF0IiwKKyAgICAgICAgInN0cmV0Y2giCisgICAgXSwK
KyAgICAidGV4dC1kZWNvcmF0aW9uIjogWworICAgICAgICAiYmxpbmsiLAorICAgICAgICAibGlu
ZS10aHJvdWdoIiwKKyAgICAgICAgIm92ZXJsaW5lIiwKKyAgICAgICAgInVuZGVybGluZSIKKyAg
ICBdLAorICAgICJwb3NpdGlvbiI6IFsKKyAgICAgICAgImFic29sdXRlIiwKKyAgICAgICAgImZp
eGVkIiwKKyAgICAgICAgInJlbGF0aXZlIiwKKyAgICAgICAgInN0YXRpYyIKKyAgICBdLAorICAg
ICJmb250LWZhbWlseSI6IFsKKyAgICAgICAgInNlcmlmIiwKKyAgICAgICAgInNhbnMtc2VyaWYi
LAorICAgICAgICAiY3Vyc2l2ZSIsCisgICAgICAgICJmYW50YXN5IiwKKyAgICAgICAgIm1vbm9z
cGFjZSIsCisgICAgICAgICItd2Via2l0LWJvZHkiCisgICAgXSwKKyAgICAidGV4dC1vdmVyZmxv
dy1tb2RlIjogWworICAgICAgICAiY2xpcCIsCisgICAgICAgICJlbGxpcHNpcyIKKyAgICBdLAor
ICAgICJib3JkZXItYm90dG9tLXN0eWxlIjogWworICAgICAgICAibm9uZSIsCisgICAgICAgICJo
aWRkZW4iLAorICAgICAgICAiaW5zZXQiLAorICAgICAgICAiZ3Jvb3ZlIiwKKyAgICAgICAgInJp
ZGdlIiwKKyAgICAgICAgIm91dHNldCIsCisgICAgICAgICJkb3R0ZWQiLAorICAgICAgICAiZGFz
aGVkIiwKKyAgICAgICAgInNvbGlkIiwKKyAgICAgICAgImRvdWJsZSIKKyAgICBdLAorICAgICJ1
bmljb2RlLWJpZGkiOiBbCisgICAgICAgICJub3JtYWwiLAorICAgICAgICAiYmlkaS1vdmVycmlk
ZSIsCisgICAgICAgICJlbWJlZCIKKyAgICBdLAorICAgICJjbGlwLXJ1bGUiOiBbCisgICAgICAg
ICJub256ZXJvIiwKKyAgICAgICAgImV2ZW5vZGQiCisgICAgXSwKKyAgICAibWFyZ2luLWxlZnQi
OiBbCisgICAgICAgICJhdXRvIgorICAgIF0sCisgICAgIm1hcmdpbi10b3AiOiBbCisgICAgICAg
ICJhdXRvIgorICAgIF0sCisgICAgInpvb20iOiBbCisgICAgICAgICJkb2N1bWVudCIsCisgICAg
ICAgICJyZXNldCIKKyAgICBdLAorICAgICJ0ZXh0LW92ZXJsaW5lLXN0eWxlIjogWworICAgICAg
ICAibm9uZSIsCisgICAgICAgICJkb3R0ZWQiLAorICAgICAgICAiZGFzaGVkIiwKKyAgICAgICAg
InNvbGlkIiwKKyAgICAgICAgImRvdWJsZSIsCisgICAgICAgICJkb3QtZGFzaCIsCisgICAgICAg
ICJkb3QtZG90LWRhc2giLAorICAgICAgICAid2F2ZSIKKyAgICBdLAorICAgICJtYXgtd2lkdGgi
OiBbCisgICAgICAgICJub25lIgorICAgIF0sCisgICAgImVtcHR5LWNlbGxzIjogWworICAgICAg
ICAiaGlkZSIsCisgICAgICAgICJzaG93IgorICAgIF0sCisgICAgInBvaW50ZXItZXZlbnRzIjog
WworICAgICAgICAibm9uZSIsCisgICAgICAgICJhbGwiLAorICAgICAgICAiYXV0byIsCisgICAg
ICAgICJ2aXNpYmxlIiwKKyAgICAgICAgInZpc2libGVwYWludGVkIiwKKyAgICAgICAgInZpc2li
bGVmaWxsIiwKKyAgICAgICAgInZpc2libGVzdHJva2UiLAorICAgICAgICAicGFpbnRlZCIsCisg
ICAgICAgICJmaWxsIiwKKyAgICAgICAgInN0cm9rZSIKKyAgICBdLAorICAgICJsZXR0ZXItc3Bh
Y2luZyI6IFsKKyAgICAgICAgIm5vcm1hbCIKKyAgICBdLAorICAgICJiYWNrZ3JvdW5kLWNsaXAi
OiBbCisgICAgICAgICJib3JkZXItYm94IiwKKyAgICAgICAgImNvbnRlbnQtYm94IiwKKyAgICAg
ICAgInBhZGRpbmctYm94IgorICAgIF0sCisgICAgIi13ZWJraXQtZm9udC1zbW9vdGhpbmciOiBb
CisgICAgICAgICJub25lIiwKKyAgICAgICAgImF1dG8iLAorICAgICAgICAiYW50aWFsaWFzZWQi
LAorICAgICAgICAic3VicGl4ZWwtYW50aWFsaWFzZWQiCisgICAgXSwKKyAgICAiYm9yZGVyIjog
WworICAgICAgICAibm9uZSIsCisgICAgICAgICJoaWRkZW4iLAorICAgICAgICAiaW5zZXQiLAor
ICAgICAgICAiZ3Jvb3ZlIiwKKyAgICAgICAgInJpZGdlIiwKKyAgICAgICAgIm91dHNldCIsCisg
ICAgICAgICJkb3R0ZWQiLAorICAgICAgICAiZGFzaGVkIiwKKyAgICAgICAgInNvbGlkIiwKKyAg
ICAgICAgImRvdWJsZSIKKyAgICBdLAorICAgICJmb250LXNpemUiOiBbCisgICAgICAgICJ4eC1z
bWFsbCIsCisgICAgICAgICJ4LXNtYWxsIiwKKyAgICAgICAgInNtYWxsIiwKKyAgICAgICAgIm1l
ZGl1bSIsCisgICAgICAgICJsYXJnZSIsCisgICAgICAgICJ4LWxhcmdlIiwKKyAgICAgICAgInh4
LWxhcmdlIiwKKyAgICAgICAgIi13ZWJraXQteHh4LWxhcmdlIiwKKyAgICAgICAgInNtYWxsZXIi
LAorICAgICAgICAibGFyZ2VyIgorICAgIF0sCisgICAgImZvbnQtdmFyaWFudCI6IFsKKyAgICAg
ICAgInNtYWxsLWNhcHMiLAorICAgICAgICAibm9ybWFsIgorICAgIF0sCisgICAgInZlcnRpY2Fs
LWFsaWduIjogWworICAgICAgICAiYmFzZWxpbmUiLAorICAgICAgICAibWlkZGxlIiwKKyAgICAg
ICAgInN1YiIsCisgICAgICAgICJzdXBlciIsCisgICAgICAgICJ0ZXh0LXRvcCIsCisgICAgICAg
ICJ0ZXh0LWJvdHRvbSIsCisgICAgICAgICJ0b3AiLAorICAgICAgICAiYm90dG9tIiwKKyAgICAg
ICAgIi13ZWJraXQtYmFzZWxpbmUtbWlkZGxlIgorICAgIF0sCisgICAgIm1hcnF1ZWUtc3R5bGUi
OiBbCisgICAgICAgICJub25lIiwKKyAgICAgICAgInNjcm9sbCIsCisgICAgICAgICJzbGlkZSIs
CisgICAgICAgICJhbHRlcm5hdGUiCisgICAgXSwKKyAgICAid2hpdGUtc3BhY2UiOiBbCisgICAg
ICAgICJub3JtYWwiLAorICAgICAgICAibm93cmFwIiwKKyAgICAgICAgInByZSIsCisgICAgICAg
ICJwcmUtbGluZSIsCisgICAgICAgICJwcmUtd3JhcCIKKyAgICBdLAorICAgICJ0ZXh0LXVuZGVy
bGluZS13aWR0aCI6IFsKKyAgICAgICAgIm5vcm1hbCIsCisgICAgICAgICJtZWRpdW0iLAorICAg
ICAgICAiYXV0byIsCisgICAgICAgICJ0aGljayIsCisgICAgICAgICJ0aGluIgorICAgIF0sCisg
ICAgImJveC1saW5lcyI6IFsKKyAgICAgICAgInNpbmdsZSIsCisgICAgICAgICJtdWx0aXBsZSIK
KyAgICBdLAorICAgICJwYWdlLWJyZWFrLWFmdGVyIjogWworICAgICAgICAibGVmdCIsCisgICAg
ICAgICJyaWdodCIsCisgICAgICAgICJhdXRvIiwKKyAgICAgICAgImFsd2F5cyIsCisgICAgICAg
ICJhdm9pZCIKKyAgICBdLAorICAgICJjbGlwLXBhdGgiOiBbCisgICAgICAgICJub25lIgorICAg
IF0sCisgICAgIm1hcmdpbiI6IFsKKyAgICAgICAgImF1dG8iCisgICAgXSwKKyAgICAibWFycXVl
ZS1yZXBldGl0aW9uIjogWworICAgICAgICAiaW5maW5pdGUiCisgICAgXSwKKyAgICAibWFyZ2lu
LXJpZ2h0IjogWworICAgICAgICAiYXV0byIKKyAgICBdLAorICAgICItd2Via2l0LXRleHQtZW1w
aGFzaXMtc3R5bGUiOiBbCisgICAgICAgICJjaXJjbGUiLAorICAgICAgICAiZmlsbGVkIiwKKyAg
ICAgICAgIm9wZW4iLAorICAgICAgICAiZG90IiwKKyAgICAgICAgImRvdWJsZS1jaXJjbGUiLAor
ICAgICAgICAidHJpYW5nbGUiLAorICAgICAgICAic2VzYW1lIgorICAgIF0KK30KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db2xvci5qcyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db2xvci5qcwppbmRleCA1ZTczMTRjLi4zYTE2ZjdkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29sb3IuanMKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbG9yLmpzCkBAIC00NDksNyArNDQ5LDcgQEAgV2ViSW5zcGVjdG9y
LkNvbG9yLkhleFRhYmxlID0gewogICAgICJDRDg1M0YiOiBbWzIwNSwgMTMzLCA2M10sIFszMCwg
NTksIDUzXSwgInBlcnUiXSwKICAgICAiRDI2OTFFIjogW1syMTAsIDEwNSwgMzBdLCBbMjUsIDc1
LCA0N10sICJjaG9jb2xhdGUiXSwKICAgICAiRDJCNDhDIjogW1syMTAsIDE4MCwgMTQwXSwgWzM0
LCA0NCwgNjldLCAidGFuIl0sCi0gICAgIkQzRDNEMyI6IFtbMjExLCAyMTEsIDIxMV0sIFswLCAw
LCA4M10sICJsaWdodEdyZXkiXSwKKyAgICAiRDNEM0QzIjogW1syMTEsIDIxMSwgMjExXSwgWzAs
IDAsIDgzXSwgImxpZ2h0R3JheSJdLAogICAgICJEODcwOTMiOiBbWzIxOSwgMTEyLCAxNDddLCBb
MzQwLCA2MCwgNjVdLCAicGFsZVZpb2xldFJlZCJdLAogICAgICJEOEJGRDgiOiBbWzIxNiwgMTkx
LCAyMTZdLCBbMzAwLCAyNCwgODBdLCAidGhpc3RsZSJdLAogICAgICJEQTcwRDYiOiBbWzIxOCwg
MTEyLCAyMTRdLCBbMzAyLCA1OSwgNjVdLCAib3JjaGlkIl0sCkBAIC01MzksNiArNTM5LDcgQEAg
V2ViSW5zcGVjdG9yLkNvbG9yLk5pY2tuYW1lcyA9IHsKICAgICAiZGFya2dvbGRlbnJvZCI6ICJC
ODg2MEIiLAogICAgICJkYXJrZ3JheSI6ICJBOUE5QTkiLAogICAgICJkYXJrZ3JlZW4iOiAiMDA2
NDAwIiwKKyAgICAiZGFya2dyZXkiOiAiQTlBOUE5IiwKICAgICAiZGFya2toYWtpIjogIkJEQjc2
QiIsCiAgICAgImRhcmttYWdlbnRhIjogIjhCMDA4QiIsCiAgICAgImRhcmtvbGl2ZWdyZWVuIjog
IjU1NkIyRiIsCkBAIC01NDksMTEgKzU1MCwxMyBAQCBXZWJJbnNwZWN0b3IuQ29sb3IuTmlja25h
bWVzID0gewogICAgICJkYXJrc2VhZ3JlZW4iOiAiOEZCQzhGIiwKICAgICAiZGFya3NsYXRlYmx1
ZSI6ICI0ODNEOEIiLAogICAgICJkYXJrc2xhdGVncmF5IjogIjJGNEY0RiIsCisgICAgImRhcmtz
bGF0ZWdyZXkiOiAiMkY0RjRGIiwKICAgICAiZGFya3R1cnF1b2lzZSI6ICIwMENFRDEiLAogICAg
ICJkYXJrdmlvbGV0IjogIjk0MDBEMyIsCiAgICAgImRlZXBwaW5rIjogIkZGMTQ5MyIsCiAgICAg
ImRlZXBza3libHVlIjogIjAwQkZGRiIsCiAgICAgImRpbWdyYXkiOiAiNjk2OTY5IiwKKyAgICAi
ZGltZ3JleSI6ICI2OTY5NjkiLAogICAgICJkb2RnZXJibHVlIjogIjFFOTBGRiIsCiAgICAgImZp
cmVicmljayI6ICJCMjIyMjIiLAogICAgICJmbG9yYWx3aGl0ZSI6ICJGRkZBRjAiLApAQCAtNTY2
LDYgKzU2OSw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7CiAgICAgImdyYXki
OiAiODA4MDgwIiwKICAgICAiZ3JlZW4iOiAiMDA4MDAwIiwKICAgICAiZ3JlZW55ZWxsb3ciOiAi
QURGRjJGIiwKKyAgICAiZ3JleSI6ICI4MDgwODAiLAogICAgICJob25leWRldyI6ICJGMEZGRjAi
LAogICAgICJob3RwaW5rIjogIkZGNjlCNCIsCiAgICAgImluZGlhbnJlZCI6ICJDRDVDNUMiLApA
QCAtNTgwLDYgKzU4NCw3IEBAIFdlYkluc3BlY3Rvci5Db2xvci5OaWNrbmFtZXMgPSB7CiAgICAg
ImxpZ2h0Y29yYWwiOiAiRjA4MDgwIiwKICAgICAibGlnaHRjeWFuIjogIkUwRkZGRiIsCiAgICAg
ImxpZ2h0Z29sZGVucm9keWVsbG93IjogIkZBRkFEMiIsCisgICAgImxpZ2h0Z3JheSI6ICJEM0Qz
RDMiLAogICAgICJsaWdodGdyZWVuIjogIjkwRUU5MCIsCiAgICAgImxpZ2h0Z3JleSI6ICJEM0Qz
RDMiLAogICAgICJsaWdodHBpbmsiOiAiRkZCNkMxIiwKQEAgLTU4Nyw2ICs1OTIsNyBAQCBXZWJJ
bnNwZWN0b3IuQ29sb3IuTmlja25hbWVzID0gewogICAgICJsaWdodHNlYWdyZWVuIjogIjIwQjJB
QSIsCiAgICAgImxpZ2h0c2t5Ymx1ZSI6ICI4N0NFRkEiLAogICAgICJsaWdodHNsYXRlZ3JheSI6
ICI3Nzg4OTkiLAorICAgICJsaWdodHNsYXRlZ3JleSI6ICI3Nzg4OTkiLAogICAgICJsaWdodHN0
ZWVsYmx1ZSI6ICJCMEM0REUiLAogICAgICJsaWdodHllbGxvdyI6ICJGRkZGRTAiLAogICAgICJs
aW1lIjogIjAwRkYwMCIsCkBAIC02MzksNiArNjQ1LDcgQEAgV2ViSW5zcGVjdG9yLkNvbG9yLk5p
Y2tuYW1lcyA9IHsKICAgICAic2t5Ymx1ZSI6ICI4N0NFRUIiLAogICAgICJzbGF0ZWJsdWUiOiAi
NkE1QUNEIiwKICAgICAic2xhdGVncmF5IjogIjcwODA5MCIsCisgICAgInNsYXRlZ3JleSI6ICI3
MDgwOTAiLAogICAgICJzbm93IjogIkZGRkFGQSIsCiAgICAgInNwcmluZ2dyZWVuIjogIjAwRkY3
RiIsCiAgICAgInN0ZWVsYmx1ZSI6ICI0NjgyQjQiLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCmluZGV4IDBiYzk0MWMuLjFkM2YxN2MgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5q
cworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMK
QEAgLTgxLDYgKzgxLDggQEAgV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lID0gZnVuY3Rp
b24oY29tcHV0ZWRTdHlsZVBhbmUpCiAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
ImNvbnRleHRtZW51IiwgdGhpcy5fY29udGV4dE1lbnVFdmVudEZpcmVkLmJpbmQodGhpcyksIHRy
dWUpOwogfQogCitXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUuU3R5bGVWYWx1ZURlbGlt
aXRlcnMgPSAiIFx1MDBBMFx0XG5cIic6OywvKCkiOworCiAvLyBUYWtlbiBmcm9tIGh0dHA6Ly93
d3cudzMub3JnL1RSL0NTUzIxL3Byb3BpZHguaHRtbC4KIFdlYkluc3BlY3Rvci5TdHlsZXNTaWRl
YmFyUGFuZS5Jbmhlcml0ZWRQcm9wZXJ0aWVzID0gWwogICAgICJhemltdXRoIiwgImJvcmRlci1j
b2xsYXBzZSIsICJib3JkZXItc3BhY2luZyIsICJjYXB0aW9uLXNpZGUiLCAiY29sb3IiLCAiY3Vy
c29yIiwgImRpcmVjdGlvbiIsICJlbGV2YXRpb24iLApAQCAtMTM4MCw2ICsxMzgyLDkgQEAgV2Vi
SW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAKICAgICAg
ICAgdGhpcy5saXN0SXRlbUVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKIAorICAgICAgICBuYW1l
RWxlbWVudC5ub3JtYWxpemUoKTsKKyAgICAgICAgdmFsdWVFbGVtZW50Lm5vcm1hbGl6ZSgpOwor
CiAgICAgICAgIGlmICghdGhpcy50cmVlT3V0bGluZSkKICAgICAgICAgICAgIHJldHVybjsKIApA
QCAtMTQ5MCwxNiArMTQ5NSwxMSBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVt
ZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAg
fSwKIAotICAgIHJlc3RvcmVOYW1lRWxlbWVudDogZnVuY3Rpb24oKQorICAgIGdldCBjc3NWYWx1
ZUNvbXBsZXRpb25zKCkKICAgICB7Ci0gICAgICAgIC8vIFJlc3RvcmUgPHNwYW4gY2xhc3M9Indl
YmtpdC1jc3MtcHJvcGVydHkiPiBpZiBpdCBkb2Vzbid0IHlldCBleGlzdCBvciB3YXMgYWNjaWRl
bnRhbGx5IGRlbGV0ZWQuCi0gICAgICAgIGlmICh0aGlzLm5hbWVFbGVtZW50ID09PSB0aGlzLmxp
c3RJdGVtRWxlbWVudC5xdWVyeVNlbGVjdG9yKCIud2Via2l0LWNzcy1wcm9wZXJ0eSIpKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMubmFtZUVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gICAgICAgIHRoaXMubmFtZUVsZW1lbnQuY2xhc3NOYW1l
ID0gIndlYmtpdC1jc3MtcHJvcGVydHkiOwotICAgICAgICB0aGlzLm5hbWVFbGVtZW50LnRleHRD
b250ZW50ID0gIiI7Ci0gICAgICAgIHRoaXMubGlzdEl0ZW1FbGVtZW50Lmluc2VydEJlZm9yZSh0
aGlzLm5hbWVFbGVtZW50LCB0aGlzLmxpc3RJdGVtRWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAg
ICAgaWYgKCF0aGlzLl9jc3NWYWx1ZUNvbXBsZXRpb25zKQorICAgICAgICAgICAgdGhpcy5fY3Nz
VmFsdWVDb21wbGV0aW9ucyA9IFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuZm9y
UHJvcGVydHkodGhpcy5uYW1lRWxlbWVudC50ZXh0Q29udGVudCk7CisgICAgICAgIHJldHVybiB0
aGlzLl9jc3NWYWx1ZUNvbXBsZXRpb25zOwogICAgIH0sCiAKICAgICBzdGFydEVkaXRpbmc6IGZ1
bmN0aW9uKHNlbGVjdEVsZW1lbnQpCkBAIC0xNjAyLDggKzE2MDIsNiBAQCBXZWJJbnNwZWN0b3Iu
U3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmICgh
c2VsZWN0aW9uLmlzQ29sbGFwc2VkKQogICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5kZWxldGVG
cm9tRG9jdW1lbnQoKTsKIAotICAgICAgICAgICAgdGhpcy5yZXN0b3JlTmFtZUVsZW1lbnQoKTsK
LQogICAgICAgICAgICAgaWYgKHByb3BlcnR5KSB7CiAgICAgICAgICAgICAgICAgaWYgKHByb3Bl
cnR5ICE9PSB0aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50KQogICAgICAgICAgICAgICAgICAg
ICB0aGlzLm5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gcHJvcGVydHk7CkBAIC0xNjEzLDkgKzE2
MTEsNTQgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUg
PSB7CiAgICAgICAgIH0KICAgICB9LAogCisgICAgcmFuZ2VPZldvcmQ6IGZ1bmN0aW9uKHRleHQs
IGFuY2hvck9mZnNldCkKKyAgICB7CisgICAgICAgIHZhciBzdGFydE9mZnNldCA9IGFuY2hvck9m
ZnNldDsKKyAgICAgICAgd2hpbGUgKHN0YXJ0T2Zmc2V0ID4gMCkgeworICAgICAgICAgICAgaWYg
KFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5TdHlsZVZhbHVlRGVsaW1pdGVycy5pbmRl
eE9mKHRleHRbc3RhcnRPZmZzZXQgLSAxXSkgPT09IC0xKQorICAgICAgICAgICAgICAgIC0tc3Rh
cnRPZmZzZXQ7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKworICAgICAgICB2YXIgZW5kT2Zmc2V0ID0gYW5jaG9yT2Zmc2V0OworICAgICAgICB3
aGlsZSAoZW5kT2Zmc2V0IDwgdGV4dC5sZW5ndGggJiYgV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGVi
YXJQYW5lLlN0eWxlVmFsdWVEZWxpbWl0ZXJzLmluZGV4T2YodGV4dFtlbmRPZmZzZXRdKSA9PT0g
LTEpCisgICAgICAgICAgICArK2VuZE9mZnNldDsKKworICAgICAgICAvLyBzdGFydE9mZnNldCBp
bmNsdXNpdmUsIGVuZE9mZnNldCBleGNsdXNpdmUuCisgICAgICAgIHJldHVybiB7IHN0YXJ0T2Zm
c2V0OiBzdGFydE9mZnNldCwgZW5kT2Zmc2V0OiBlbmRPZmZzZXQgfTsKKyAgICB9LAorCiAgICAg
ZWRpdGluZ1ZhbHVlS2V5UHJlc3M6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgLy8g
RklYTUU6IFRoaXMgc2hvdWxkIGNvbXBsZXRlIHByb3BlcnR5IHZhbHVlcy4KKyAgICAgICAgLy8g
Q29tcGxldGUgcHJvcGVydHkgdmFsdWUgcGFydC4KKyAgICAgICAgdmFyIGNoYXJhY3RlciA9IGV2
ZW50LmRhdGEudG9Mb3dlckNhc2UoKTsKKyAgICAgICAgaWYgKGNoYXJhY3RlciAmJiAvW2Etei1d
Ly50ZXN0KGNoYXJhY3RlcikpIHsKKyAgICAgICAgICAgIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cu
Z2V0U2VsZWN0aW9uKCk7CisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmZvY3VzTm9kZSAhPT0g
c2VsZWN0aW9uLmFuY2hvck5vZGUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
ICAgICB2YXIgY3Vyc29yUG9zaXRpb24gPSBNYXRoLm1pbihzZWxlY3Rpb24uZm9jdXNPZmZzZXQs
IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQpOworCisgICAgICAgICAgICAvLyBUaGlzIGRvZXMgbm90
IGNoYW5nZSB0aGUgY3Vyc29yUG9zaXRpb24uCisgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmZv
Y3VzT2Zmc2V0ICE9PSBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0ICYmIHNlbGVjdGlvbi5yYW5nZUNv
dW50KQorICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmRlbGV0ZUNvbnRl
bnRzKCk7CisgICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZUVsZW1lbnQu
dGV4dENvbnRlbnQ7CisgICAgICAgICAgICB2YXIgd29yZFJhbmdlID0gdGhpcy5yYW5nZU9mV29y
ZChjdXJyZW50VmFsdWUsIGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAgICAgIHZhciB3b3JkID0g
Y3VycmVudFZhbHVlLnN1YnN0cmluZyh3b3JkUmFuZ2Uuc3RhcnRPZmZzZXQsIHdvcmRSYW5nZS5l
bmRPZmZzZXQpOworICAgICAgICAgICAgdmFyIHByZWZpeCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJp
bmcod29yZFJhbmdlLnN0YXJ0T2Zmc2V0LCBjdXJzb3JQb3NpdGlvbik7CisgICAgICAgICAgICB2
YXIgdmFsdWVTdWdnZXN0ID0gdGhpcy5jc3NWYWx1ZUNvbXBsZXRpb25zLmZpcnN0U3RhcnRzV2l0
aCgocHJlZml4ICsgY2hhcmFjdGVyKS50b0xvd2VyQ2FzZSgpKTsKKworICAgICAgICAgICAgaWYg
KHZhbHVlU3VnZ2VzdCkgeworICAgICAgICAgICAgICAgIHZhciB2YWx1ZVN0YXJ0ID0gY3VycmVu
dFZhbHVlLnN1YnN0cmluZygwLCB3b3JkUmFuZ2Uuc3RhcnRPZmZzZXQpOworICAgICAgICAgICAg
ICAgIHZhciB2YWx1ZUVuZCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcod29yZCA9PT0gdmFsdWVT
dWdnZXN0ID8gd29yZFJhbmdlLmVuZE9mZnNldCA6IGN1cnNvclBvc2l0aW9uKTsKKyAgICAgICAg
ICAgICAgICB2YXIgbmV3VmFsdWUgPSB2YWx1ZVN0YXJ0ICsgdmFsdWVTdWdnZXN0ICsgdmFsdWVF
bmQ7CisgICAgICAgICAgICAgICAgaWYgKG5ld1ZhbHVlICE9PSBjdXJyZW50VmFsdWUpCisgICAg
ICAgICAgICAgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LnRleHRDb250ZW50ID0gbmV3VmFsdWU7
CisgICAgICAgICAgICAgICAgdGhpcy52YWx1ZUVsZW1lbnQuZmlyc3RDaGlsZC5zZWxlY3QoY3Vy
c29yUG9zaXRpb24gKyAxLCB3b3JkUmFuZ2Uuc3RhcnRPZmZzZXQgKyB2YWx1ZVN1Z2dlc3QubGVu
Z3RoKTsKKyAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CiAgICAgfSwKIAogICAgIGVkaXRpbmdOYW1lS2V5RG93bjogZnVuY3Rp
b24oZXZlbnQpCkBAIC0xNjM2LDEzICsxNjc5LDEyIEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3Bl
cnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICBpZiAoc2VsZWN0aW9uUmFuZ2Uu
Y29tbW9uQW5jZXN0b3JDb250YWluZXIgIT09IHRoaXMubmFtZUVsZW1lbnQgJiYgIXNlbGVjdGlv
blJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLmlzRGVzY2VuZGFudCh0aGlzLm5hbWVFbGVt
ZW50KSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBjb25zdCBzdHlsZVZhbHVlRGVs
aW1ldGVycyA9ICIgXHRcblwiJzo7LC8oKSI7Ci0gICAgICAgIHZhciB3b3JkUmFuZ2UgPSBzZWxl
Y3Rpb25SYW5nZS5zdGFydENvbnRhaW5lci5yYW5nZU9mV29yZChzZWxlY3Rpb25SYW5nZS5zdGFy
dE9mZnNldCwgc3R5bGVWYWx1ZURlbGltZXRlcnMsIHRoaXMubmFtZUVsZW1lbnQpOworICAgICAg
ICB2YXIgd29yZFJhbmdlID0gc2VsZWN0aW9uUmFuZ2Uuc3RhcnRDb250YWluZXIucmFuZ2VPZldv
cmQoc2VsZWN0aW9uUmFuZ2Uuc3RhcnRPZmZzZXQsIFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFy
UGFuZS5TdHlsZVZhbHVlRGVsaW1pdGVycywgdGhpcy5uYW1lRWxlbWVudCk7CiAgICAgICAgIHZh
ciB3b3JkU3RyaW5nID0gd29yZFJhbmdlLnRvU3RyaW5nKCk7CiAgICAgICAgIHZhciBjdXJzb3JQ
b3NpdGlvbiA9IHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0ICE9IHNlbGVjdGlvblJhbmdlLmVu
ZE9mZnNldCA/IHNlbGVjdGlvblJhbmdlLnN0YXJ0T2Zmc2V0IDogMDsKICAgICAgICAgdmFyIHBy
ZWZpeCA9IHNlbGVjdGlvblJhbmdlLnN0YXJ0Q29udGFpbmVyLnRleHRDb250ZW50LnN1YnN0cmlu
ZygwLCBjdXJzb3JQb3NpdGlvbik7Ci0gICAgICAgIHZhciBwcm9wZXJ0eTsKIAorICAgICAgICB2
YXIgcHJvcGVydHk7CiAgICAgICAgIGlmIChzaG93TmV4dCkKICAgICAgICAgICAgIHByb3BlcnR5
ID0gV2ViSW5zcGVjdG9yLmNzc05hbWVDb21wbGV0aW9ucy5uZXh0KHdvcmRTdHJpbmcsIHByZWZp
eCk7CiAgICAgICAgIGVsc2UKQEAgLTE2NjYsNjggKzE3MDgsODQgQEAgV2ViSW5zcGVjdG9yLlN0
eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghc2VsZWN0
aW9uLnJhbmdlQ291bnQpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIHNlbGVj
dGlvblJhbmdlID0gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCk7Ci0gICAgICAgIGlmIChzZWxlY3Rp
b25SYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lciAhPT0gdGhpcy52YWx1ZUVsZW1lbnQgJiYg
IXNlbGVjdGlvblJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLmlzRGVzY2VuZGFudCh0aGlz
LnZhbHVlRWxlbWVudCkpCisgICAgICAgIGlmIChzZWxlY3Rpb24uZm9jdXNOb2RlICE9PSBzZWxl
Y3Rpb24uYW5jaG9yTm9kZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBjb25zdCBz
dHlsZVZhbHVlRGVsaW1ldGVycyA9ICIgXHRcblwiJzo7LC8oKSI7Ci0gICAgICAgIHZhciB3b3Jk
UmFuZ2UgPSBzZWxlY3Rpb25SYW5nZS5zdGFydENvbnRhaW5lci5yYW5nZU9mV29yZChzZWxlY3Rp
b25SYW5nZS5zdGFydE9mZnNldCwgc3R5bGVWYWx1ZURlbGltZXRlcnMsIHRoaXMudmFsdWVFbGVt
ZW50KTsKLSAgICAgICAgdmFyIHdvcmRTdHJpbmcgPSB3b3JkUmFuZ2UudG9TdHJpbmcoKTsKLSAg
ICAgICAgdmFyIHJlcGxhY2VtZW50U3RyaW5nID0gd29yZFN0cmluZzsKLQotICAgICAgICB2YXIg
bWF0Y2hlcyA9IC8oLio/KSgtP1xkKyg/OlwuXGQrKT8pKC4qKS8uZXhlYyh3b3JkU3RyaW5nKTsK
LSAgICAgICAgaWYgKG1hdGNoZXMgJiYgbWF0Y2hlcy5sZW5ndGgpIHsKLSAgICAgICAgICAgIHZh
ciBwcmVmaXggPSBtYXRjaGVzWzFdOwotICAgICAgICAgICAgdmFyIG51bWJlciA9IHBhcnNlRmxv
YXQobWF0Y2hlc1syXSk7Ci0gICAgICAgICAgICB2YXIgc3VmZml4ID0gbWF0Y2hlc1szXTsKLQot
ICAgICAgICAgICAgLy8gSWYgdGhlIG51bWJlciBpcyBuZWFyIHplcm8gb3IgdGhlIG51bWJlciBp
cyBvbmUgYW5kIHRoZSBkaXJlY3Rpb24gd2lsbCB0YWtlIGl0IG5lYXIgemVyby4KLSAgICAgICAg
ICAgIHZhciBudW1iZXJOZWFyWmVybyA9IChudW1iZXIgPCAxICYmIG51bWJlciA+IC0xKTsKLSAg
ICAgICAgICAgIGlmIChudW1iZXIgPT09IDEgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkRv
d24iKQotICAgICAgICAgICAgICAgIG51bWJlck5lYXJaZXJvID0gdHJ1ZTsKLSAgICAgICAgICAg
IGVsc2UgaWYgKG51bWJlciA9PT0gLTEgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlVwIikK
LSAgICAgICAgICAgICAgICBudW1iZXJOZWFyWmVybyA9IHRydWU7Ci0KLSAgICAgICAgICAgIGlm
IChudW1iZXJOZWFyWmVybyAmJiBldmVudC5hbHRLZXkgJiYgYXJyb3dLZXlQcmVzc2VkKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3duIikKLSAgICAg
ICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5jZWlsKG51bWJlciAtIDEpOwotICAgICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgbnVtYmVyID0gTWF0aC5mbG9vcihudW1i
ZXIgKyAxKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gSnVtcCBi
eSAxMCB3aGVuIHNoaWZ0IGlzIGRvd24gb3IganVtcCBieSAwLjEgd2hlbiBuZWFyIHplcm8gb3Ig
QWx0L09wdGlvbiBpcyBkb3duLgotICAgICAgICAgICAgICAgIC8vIEFsc28ganVtcCBieSAxMCBm
b3IgcGFnZSB1cCBhbmQgZG93biwgb3IgYnkgMTAwIGlmIHNoaWZ0IGlzIGhlbGQgd2l0aCBhIHBh
Z2Uga2V5LgotICAgICAgICAgICAgICAgIHZhciBjaGFuZ2VBbW91bnQgPSAxOwotICAgICAgICAg
ICAgICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBwYWdlS2V5UHJlc3NlZCkKLSAgICAgICAgICAg
ICAgICAgICAgY2hhbmdlQW1vdW50ID0gMTAwOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2
ZW50LnNoaWZ0S2V5IHx8IHBhZ2VLZXlQcmVzc2VkKQotICAgICAgICAgICAgICAgICAgICBjaGFu
Z2VBbW91bnQgPSAxMDsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChldmVudC5hbHRLZXkgfHwg
bnVtYmVyTmVhclplcm8pCi0gICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDAuMTsK
LQotICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIgfHwg
ZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlBhZ2VEb3duIikKLSAgICAgICAgICAgICAgICAgICAg
Y2hhbmdlQW1vdW50ICo9IC0xOwotCi0gICAgICAgICAgICAgICAgLy8gTWFrZSB0aGUgbmV3IG51
bWJlciBhbmQgY29uc3RyYWluIGl0IHRvIGEgcHJlY2lzaW9uIG9mIDYsIHRoaXMgbWF0Y2hlcyBu
dW1iZXJzIHRoZSBlbmdpbmUgcmV0dXJucy4KLSAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIE51
bWJlciBjb25zdHJ1Y3RvciB0byBmb3JnZXQgdGhlIGZpeGVkIHByZWNpc2lvbiwgc28gMS4xMDAw
MDAgd2lsbCBwcmludCBhcyAxLjEuCi0gICAgICAgICAgICAgICAgbnVtYmVyID0gTnVtYmVyKChu
dW1iZXIgKyBjaGFuZ2VBbW91bnQpLnRvRml4ZWQoNikpOwotICAgICAgICAgICAgfQorICAgICAg
ICB2YXIgY3Vyc29yUG9zaXRpb24gPSBNYXRoLm1pbihzZWxlY3Rpb24uZm9jdXNPZmZzZXQsIHNl
bGVjdGlvbi5hbmNob3JPZmZzZXQpOworICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gdGhpcy52
YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQ7CisgICAgICAgIHZhciB3b3JkUmFuZ2UgPSB0aGlzLnJh
bmdlT2ZXb3JkKGN1cnJlbnRWYWx1ZSwgY3Vyc29yUG9zaXRpb24pOworICAgICAgICB2YXIgd29y
ZFN0cmluZyA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcod29yZFJhbmdlLnN0YXJ0T2Zmc2V0LCB3
b3JkUmFuZ2UuZW5kT2Zmc2V0KTsKKyAgICAgICAgdmFyIHdvcmRTdHJpbmdMb3dlciA9IHdvcmRT
dHJpbmcudG9Mb3dlckNhc2UoKTsKKyAgICAgICAgdmFyIHJlcGxhY2VtZW50U3RyaW5nID0gbnVs
bDsKKyAgICAgICAgdmFyIHNlbGVjdGlvblN0YXJ0ID0gd29yZFJhbmdlLnN0YXJ0T2Zmc2V0Owor
CisgICAgICAgIC8vIEF2b2lkIGRldGVjdGluZyBudW1lcmljIHZhbHVlcyBpbiB3b3JkU3RyaW5n
cyBsaWtlICJwcmVzZXJ2ZS0zZCIuCisgICAgICAgIGlmICh0aGlzLmNzc1ZhbHVlQ29tcGxldGlv
bnMuZmlyc3RTdGFydHNXaXRoKHdvcmRTdHJpbmdMb3dlcikpIHsKKyAgICAgICAgICAgIHZhciBz
aG93TmV4dCA9IChldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIgfHwgZXZlbnQua2V5SWRl
bnRpZmllciA9PT0gIlBhZ2VEb3duIik7CisgICAgICAgICAgICAvLyBUaGUgcHJlZml4IHNob3Vs
ZCBiZSBjb25zaWRlcmVkIG9ubHkgaWYgdGhlIHNlbGVjdGlvbiBpcyBub3QgY29sbGFwc2VkLiBP
dGhlcndpc2UsIHRoZSBwcmVmaXggc2hvdWxkIGJlIGVtcHR5LgorICAgICAgICAgICAgdmFyIHdv
cmRQcmVmaXggPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQgIT09IHNlbGVjdGlvbi5hbmNob3JPZmZz
ZXQgPyB3b3JkU3RyaW5nTG93ZXIuc3Vic3RyaW5nKDAsIGN1cnNvclBvc2l0aW9uIC0gc2VsZWN0
aW9uU3RhcnQpIDogIiI7CisKKyAgICAgICAgICAgIHZhciBzdWdnZXN0ZWRXb3JkOworICAgICAg
ICAgICAgaWYgKHNob3dOZXh0KQorICAgICAgICAgICAgICAgIHN1Z2dlc3RlZFdvcmQgPSB0aGlz
LmNzc1ZhbHVlQ29tcGxldGlvbnMubmV4dCh3b3JkU3RyaW5nTG93ZXIsIHdvcmRQcmVmaXgpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHN1Z2dlc3RlZFdvcmQgPSB0aGlzLmNz
c1ZhbHVlQ29tcGxldGlvbnMucHJldmlvdXMod29yZFN0cmluZ0xvd2VyLCB3b3JkUHJlZml4KTsK
IAotICAgICAgICAgICAgcmVwbGFjZW1lbnRTdHJpbmcgPSBwcmVmaXggKyBudW1iZXIgKyBzdWZm
aXg7CisgICAgICAgICAgICBpZiAoc3VnZ2VzdGVkV29yZCkgeworICAgICAgICAgICAgICAgIC8v
IEZpeCBzZWxlY3Rpb24gdG8gYmUgb25seSB0aGUgd29yZCBzdWZmaXgsIGFzIHRoZSBwcmVmaXgg
cmVtYWlucyBpbnRhY3Qgd2hpbGUgc2Nyb2xsaW5nIHRocm91Z2ggdmFsdWVzLgorICAgICAgICAg
ICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gc2VsZWN0aW9uU3RhcnQgKyB3b3JkUHJlZml4Lmxlbmd0
aDsKKyAgICAgICAgICAgICAgICByZXBsYWNlbWVudFN0cmluZyA9IHN1Z2dlc3RlZFdvcmQuc3Vi
c3RyaW5nKHdvcmRQcmVmaXgubGVuZ3RoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBjeWNsZSB0aHJvdWdoIGtub3du
IGtleXdvcmRzIGZvciB0aGUgY3VycmVudCBwcm9wZXJ0eSB2YWx1ZS4KLSAgICAgICAgfQotCi0g
ICAgICAgIHZhciByZXBsYWNlbWVudFRleHROb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo
cmVwbGFjZW1lbnRTdHJpbmcpOworICAgICAgICAgICAgdmFyIG1hdGNoZXMgPSAvKC4qPykoLT9c
ZCsoPzpcLlxkKyk/KSguKikvLmV4ZWMod29yZFN0cmluZyk7CisgICAgICAgICAgICBpZiAobWF0
Y2hlcyAmJiBtYXRjaGVzLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIHZhciBwcmVmaXggPSBt
YXRjaGVzWzFdOworICAgICAgICAgICAgICAgIHZhciBudW1iZXIgPSBwYXJzZUZsb2F0KG1hdGNo
ZXNbMl0pOworICAgICAgICAgICAgICAgIHZhciBzdWZmaXggPSBtYXRjaGVzWzNdOworCisgICAg
ICAgICAgICAgICAgLy8gSWYgdGhlIG51bWJlciBpcyBuZWFyIHplcm8gb3IgdGhlIG51bWJlciBp
cyBvbmUgYW5kIHRoZSBkaXJlY3Rpb24gd2lsbCB0YWtlIGl0IG5lYXIgemVyby4KKyAgICAgICAg
ICAgICAgICB2YXIgbnVtYmVyTmVhclplcm8gPSAobnVtYmVyIDwgMSAmJiBudW1iZXIgPiAtMSk7
CisgICAgICAgICAgICAgICAgaWYgKG51bWJlciA9PT0gMSAmJiBldmVudC5rZXlJZGVudGlmaWVy
ID09PSAiRG93biIpCisgICAgICAgICAgICAgICAgICAgIG51bWJlck5lYXJaZXJvID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICBlbHNlIGlmIChudW1iZXIgPT09IC0xICYmIGV2ZW50LmtleUlkZW50
aWZpZXIgPT09ICJVcCIpCisgICAgICAgICAgICAgICAgICAgIG51bWJlck5lYXJaZXJvID0gdHJ1
ZTsKKworICAgICAgICAgICAgICAgIGlmIChudW1iZXJOZWFyWmVybyAmJiBldmVudC5hbHRLZXkg
JiYgYXJyb3dLZXlQcmVzc2VkKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlJ
ZGVudGlmaWVyID09PSAiRG93biIpCisgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgPSBN
YXRoLmNlaWwobnVtYmVyIC0gMSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgICAgIG51bWJlciA9IE1hdGguZmxvb3IobnVtYmVyICsgMSk7CisgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSnVtcCBieSAxMCB3aGVu
IHNoaWZ0IGlzIGRvd24gb3IganVtcCBieSAwLjEgd2hlbiBuZWFyIHplcm8gb3IgQWx0L09wdGlv
biBpcyBkb3duLgorICAgICAgICAgICAgICAgICAgICAvLyBBbHNvIGp1bXAgYnkgMTAgZm9yIHBh
Z2UgdXAgYW5kIGRvd24sIG9yIGJ5IDEwMCBpZiBzaGlmdCBpcyBoZWxkIHdpdGggYSBwYWdlIGtl
eS4KKyAgICAgICAgICAgICAgICAgICAgdmFyIGNoYW5nZUFtb3VudCA9IDE7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBwYWdlS2V5UHJlc3NlZCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCA9IDEwMDsKKyAgICAgICAgICAgICAgICAgICAg
ZWxzZSBpZiAoZXZlbnQuc2hpZnRLZXkgfHwgcGFnZUtleVByZXNzZWQpCisgICAgICAgICAgICAg
ICAgICAgICAgICBjaGFuZ2VBbW91bnQgPSAxMDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBp
ZiAoZXZlbnQuYWx0S2V5IHx8IG51bWJlck5lYXJaZXJvKQorICAgICAgICAgICAgICAgICAgICAg
ICAgY2hhbmdlQW1vdW50ID0gMC4xOworCisgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5r
ZXlJZGVudGlmaWVyID09PSAiRG93biIgfHwgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlBhZ2VE
b3duIikKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZUFtb3VudCAqPSAtMTsKKworICAg
ICAgICAgICAgICAgICAgICAvLyBNYWtlIHRoZSBuZXcgbnVtYmVyIGFuZCBjb25zdHJhaW4gaXQg
dG8gYSBwcmVjaXNpb24gb2YgNiwgdGhpcyBtYXRjaGVzIG51bWJlcnMgdGhlIGVuZ2luZSByZXR1
cm5zLgorICAgICAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIE51bWJlciBjb25zdHJ1Y3RvciB0
byBmb3JnZXQgdGhlIGZpeGVkIHByZWNpc2lvbiwgc28gMS4xMDAwMDAgd2lsbCBwcmludCBhcyAx
LjEuCisgICAgICAgICAgICAgICAgICAgIG51bWJlciA9IE51bWJlcigobnVtYmVyICsgY2hhbmdl
QW1vdW50KS50b0ZpeGVkKDYpKTsKKyAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgd29yZFJh
bmdlLmRlbGV0ZUNvbnRlbnRzKCk7Ci0gICAgICAgIHdvcmRSYW5nZS5pbnNlcnROb2RlKHJlcGxh
Y2VtZW50VGV4dE5vZGUpOworICAgICAgICAgICAgICAgIHJlcGxhY2VtZW50U3RyaW5nID0gcHJl
Zml4ICsgbnVtYmVyICsgc3VmZml4OworICAgICAgICAgICAgfQorICAgICAgICB9CiAKLSAgICAg
ICAgdmFyIGZpbmFsU2VsZWN0aW9uUmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOwotICAg
ICAgICBmaW5hbFNlbGVjdGlvblJhbmdlLnNldFN0YXJ0KHJlcGxhY2VtZW50VGV4dE5vZGUsIDAp
OwotICAgICAgICBmaW5hbFNlbGVjdGlvblJhbmdlLnNldEVuZChyZXBsYWNlbWVudFRleHROb2Rl
LCByZXBsYWNlbWVudFN0cmluZy5sZW5ndGgpOworICAgICAgICBpZiAoIXJlcGxhY2VtZW50U3Ry
aW5nKQorICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxS
YW5nZXMoKTsKLSAgICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKGZpbmFsU2VsZWN0aW9uUmFuZ2Up
OworICAgICAgICB2YXIgdmFsdWVTdGFydCA9IGN1cnJlbnRWYWx1ZS5zdWJzdHJpbmcoMCwgc2Vs
ZWN0aW9uU3RhcnQpOworICAgICAgICB2YXIgdmFsdWVFbmQgPSBjdXJyZW50VmFsdWUuc3Vic3Ry
aW5nKHdvcmRSYW5nZS5lbmRPZmZzZXQpOworICAgICAgICB2YXIgbmV3VmFsdWUgPSB2YWx1ZVN0
YXJ0ICsgcmVwbGFjZW1lbnRTdHJpbmcgKyB2YWx1ZUVuZDsKKyAgICAgICAgdGhpcy52YWx1ZUVs
ZW1lbnQudGV4dENvbnRlbnQgPSBuZXdWYWx1ZTsKKyAgICAgICAgdGhpcy52YWx1ZUVsZW1lbnQu
Zmlyc3RDaGlsZC5zZWxlY3Qoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvblN0YXJ0ICsgcmVwbGFj
ZW1lbnRTdHJpbmcubGVuZ3RoKTsKIAogICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwog
CkBAIC0xNzUzLDYgKzE4MTEsNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVt
ZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGVkaXRlZEVsZW1lbnQucGFyZW50RWxlbWVu
dC5yZW1vdmVTdHlsZUNsYXNzKCJjaGlsZC1lZGl0aW5nIik7CiAKICAgICAgICAgZGVsZXRlIHRo
aXMub3JpZ2luYWxQcm9wZXJ0eVRleHQ7CisgICAgICAgIGRlbGV0ZSB0aGlzLl9jc3NWYWx1ZUNv
bXBsZXRpb25zOwogICAgIH0sCiAKICAgICBlZGl0aW5nQ2FuY2VsbGVkOiBmdW5jdGlvbihlbGVt
ZW50LCBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dl
YktpdC5xcmMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwppbmRleCBj
MTAwOGFkLi5iZTk0MWY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
V2ViS2l0LnFyYworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpA
QCAtMjMsNiArMjMsNyBAQAogICAgIDxmaWxlPkNvb2tpZVBhcnNlci5qczwvZmlsZT4KICAgICA8
ZmlsZT5Db29raWVzVGFibGUuanM8L2ZpbGU+CiAgICAgPGZpbGU+Q1NTQ29tcGxldGlvbnMuanM8
L2ZpbGU+CisgICAgPGZpbGU+Q1NTS2V5d29yZENvbXBsZXRpb25zLmpzPC9maWxlPgogICAgIDxm
aWxlPkNTU1N0eWxlTW9kZWwuanM8L2ZpbGU+CiAgICAgPGZpbGU+RGF0YWJhc2UuanM8L2ZpbGU+
CiAgICAgPGZpbGU+RGF0YWJhc2VRdWVyeVZpZXcuanM8L2ZpbGU+CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggZTE1OTBmMi4uNzgxYjhiNiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtOTIsNiArOTIsNyBA
QCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkV2ZW50
TGlzdGVuZXJzU2lkZWJhclBhbmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9IkNvbG9yLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJDU1NDb21wbGV0aW9ucy5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ1NTS2V5d29yZENvbXBsZXRpb25z
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJT
dHlsZXNTaWRlYmFyUGFuZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iUGFuZWxFbmFibGVyVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iV2VsY29tZVZpZXcuanMiPjwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="68778"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>