<?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>38140</bug_id>
          
          <creation_ts>2010-04-26 14:14:28 -0700</creation_ts>
          <short_desc>Initial support for HTMLMeterElement</short_desc>
          <delta_ts>2010-11-01 06:27:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>38203</dependson>
          <blocked>37074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>dglazkov</cc>
    
    <cc>koivisto</cc>
    
    <cc>michelangelo</cc>
    
    <cc>morrita</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>217271</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-04-26 14:14:28 -0700</bug_when>
    <thetext>Initial support for HTMLMeterElement, supporting Qt platform only.

As I discussed with MORITA Hajime during the WebKit contributors meeting, I was going to upload this patch once the work on HTMLProgressElement is done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217282</commentid>
    <comment_count>1</comment_count>
      <attachid>54332</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-04-26 14:33:37 -0700</bug_when>
    <thetext>Created attachment 54332
Patch

This patch is initial support for HTMLMeterElement, supporting Qt platform only.
Rendering of the meter element is very basic and is likely to change once I get more clarification on how it should look like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217285</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-26 14:37:40 -0700</bug_when>
    <thetext>Attachment 54332 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/WebCore.vcproj/WebCore.vcproj:6504:  One or more unexpected \r (^M) found; better to use only a \n  [whitespace/carriage_return] [1]
Suppressing further [whitespace/carriage_return] reports for this file.
Total errors found: 120 in 40 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217297</commentid>
    <comment_count>3</comment_count>
      <attachid>54335</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-04-26 14:50:07 -0700</bug_when>
    <thetext>Created attachment 54335
Fix style issue

Uploaded the wrong patch :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217300</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-26 14:56:55 -0700</bug_when>
    <thetext>Attachment 54335 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/WebCore.vcproj/WebCore.vcproj:6504:  One or more unexpected \r (^M) found; better to use only a \n  [whitespace/carriage_return] [1]
Suppressing further [whitespace/carriage_return] reports for this file.
Total errors found: 120 in 40 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217306</commentid>
    <comment_count>5</comment_count>
      <attachid>54336</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-04-26 15:00:37 -0700</bug_when>
    <thetext>Created attachment 54336
Third time is a charm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217307</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-26 15:03:28 -0700</bug_when>
    <thetext>Attachment 54336 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/WebCore.vcproj/WebCore.vcproj:6504:  One or more unexpected \r (^M) found; better to use only a \n  [whitespace/carriage_return] [1]
Suppressing further [whitespace/carriage_return] reports for this file.
Total errors found: 120 in 40 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217308</commentid>
    <comment_count>7</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-04-26 15:04:40 -0700</bug_when>
    <thetext>Now I am very confused. My local copy shows no errors when I run check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217335</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-26 15:52:58 -0700</bug_when>
    <thetext>Attachment 54336 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/1857136</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217378</commentid>
    <comment_count>9</comment_count>
      <attachid>54352</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-04-26 17:33:03 -0700</bug_when>
    <thetext>Created attachment 54352
Attempt to fix the Chromium build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217381</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-26 17:39:17 -0700</bug_when>
    <thetext>Attachment 54352 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/WebCore.vcproj/WebCore.vcproj:6504:  One or more unexpected \r (^M) found; better to use only a \n  [whitespace/carriage_return] [1]
Suppressing further [whitespace/carriage_return] reports for this file.
Total errors found: 120 in 40 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217383</commentid>
    <comment_count>11</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-26 17:40:48 -0700</bug_when>
    <thetext>Hi yeal, thank you for working on this!
There is one request:

&gt; +#if ENABLE(METER_TAG)
&gt; +void RenderThemeQt::adjustMeterStyle(CSSStyleSelector*, RenderStyle* style, Element*) const
&gt; +
&gt; +bool RenderThemeQt::paintMeter(RenderObject* o, const RenderObject::PaintInfo&amp; pi, const IntRect&amp; r)
How about to move these method up to RenderTheme class using GraphicsContext?
There looks no Qt specific feature to draw it (just fillRect() - right?).
Because only a few platform has its own &quot;meter&quot; control, reusing this on other platform (ex. Chromium linux) would be fine.
Platforms with custom &quot;meter&quot; can just override it and implement their own.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217409</commentid>
    <comment_count>12</comment_count>
      <attachid>54352</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-04-26 18:12:27 -0700</bug_when>
    <thetext>Comment on attachment 54352
Attempt to fix the Chromium build.

WebCore/html/HTMLMeterElement.cpp:89
 +          value = 0;

Need to check NaN and Infinitiy.
HTMLInputElement::parseToDoubleForNumber() implements the rules of HTML5.  Probably we should move parseToDoubelForNumber() to a common place and use it here too.
I found the same issue in HTMLProgressElement.cpp.


WebCore/html/HTMLMeterElement.cpp:95
 +      setAttribute(valueAttr, String::number(isnan(value) ? 0 : value));

* We need to check infinity too.  So we should use !isfinite(value).
* The HTML5 rule to convert a floating point number to a string is implemented in HTMLInputElement::serializeForNumberType().


WebCore/html/HTMLMeterElement.cpp:102
 +      double min = minString.toDouble(&amp;ok);

Need to check NaN and Infinity.



LayoutTests/fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js:73
 +  

We should have tests for NaN, Infinity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217452</commentid>
    <comment_count>13</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-04-26 19:40:40 -0700</bug_when>
    <thetext>I think the style errors are side effects of http://trac.webkit.org/changeset/58249 . When I reverted that change, the errors disappeared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217453</commentid>
    <comment_count>14</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-04-26 19:42:03 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 54352 [details])
&gt; WebCore/html/HTMLMeterElement.cpp:89
&gt;  +          value = 0;
&gt; 
&gt; Need to check NaN and Infinitiy.
&gt; HTMLInputElement::parseToDoubleForNumber() implements the rules of HTML5. 
&gt; Probably we should move parseToDoubelForNumber() to a common place and use it
&gt; here too.
&gt; I found the same issue in HTMLProgressElement.cpp.
&gt; 
&gt; 
&gt; WebCore/html/HTMLMeterElement.cpp:95
&gt;  +      setAttribute(valueAttr, String::number(isnan(value) ? 0 : value));
&gt; 
&gt; * We need to check infinity too.  So we should use !isfinite(value).
&gt; * The HTML5 rule to convert a floating point number to a string is implemented
&gt; in HTMLInputElement::serializeForNumberType().
&gt; 
&gt; 
&gt; WebCore/html/HTMLMeterElement.cpp:102
&gt;  +      double min = minString.toDouble(&amp;ok);
&gt; 
&gt; Need to check NaN and Infinity.
&gt; 
&gt; 
&gt; 
&gt; LayoutTests/fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js:73
&gt;  +  
&gt; 
&gt; We should have tests for NaN, Infinity.

Thank you for your comments Kent, I will look into moving the parsing code into a common place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217474</commentid>
    <comment_count>15</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-04-26 20:56:29 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; * We need to check infinity too.  So we should use !isfinite(value).
&gt; * The HTML5 rule to convert a floating point number to a string is implemented
&gt; in HTMLInputElement::serializeForNumberType().

and we should throw an exception.
http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#float-nan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219923</commentid>
    <comment_count>16</comment_count>
      <attachid>54893</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-02 16:51:09 -0700</bug_when>
    <thetext>Created attachment 54893
Patch addressing comments #6, #12 and #15.

1) Moved the rendering code to RenderTheme.cpp so that other platforms can use it. (comment #6)
2) Take into use the more strict number parsing algorithm. (comment #12)
3) Throw an exception when an invalid number is used. (comment #15)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219924</commentid>
    <comment_count>17</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-02 16:53:09 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created an attachment (id=54893) [details]
&gt; Patch addressing comments #6, #12 and #15.
&gt; 
&gt; 1) Moved the rendering code to RenderTheme.cpp so that other platforms can use
&gt; it. (comment #6)
&gt; 2) Take into use the more strict number parsing algorithm. (comment #12)
&gt; 3) Throw an exception when an invalid number is used. (comment #15)
I meant comment #11, of course :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220077</commentid>
    <comment_count>18</comment_count>
      <attachid>54921</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-03 06:27:16 -0700</bug_when>
    <thetext>Created attachment 54921
Patch adding more tests and removing redundant isnan calls

Comments from https://bugs.webkit.org/show_bug.cgi?id=38434#c2 apply here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220155</commentid>
    <comment_count>19</comment_count>
      <attachid>54921</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-03 10:11:23 -0700</bug_when>
    <thetext>Comment on attachment 54921
Patch adding more tests and removing redundant isnan calls

The tests that expect exception should use shouldThrow instead of being hand-written.

Why do we need a derived class, RenderMeter, instead of just using a RenderBlock? For the custom layout function?

&gt; +        case MeterPart:
&gt; +#if ENABLE(METER_TAG)
&gt; +            m_value.ident = CSSValueMeter;
&gt; +#endif
&gt; +            break;

This doesn&apos;t seem right. With the ifdef written like this won&apos;t m_value.ident be uninitialized in this case?

&gt; +HTMLMeterElement::HTMLMeterElement(const QualifiedName&amp; tagName, Document* document, HTMLFormElement* form)
&gt; +    : HTMLFormControlElement(tagName, document, form, CreateElement)
&gt; +{
&gt; +    ASSERT(hasTagName(meterTag));
&gt; +}

Does this form element really need the HTMLFormElement argument to the constructor? If so, I&apos;d like to see tests showing that it does. Did you add any tests that would fail if we passed 0 for the form?

&gt; +void HTMLMeterElement::parseMappedAttribute(MappedAttribute* attr)

In new code, please use words instead of abbreviations whenever possible, as they are typically easier to read even if longer. This should be &quot;attribute&quot;, not &quot;attr&quot;.

&gt; +    if (attr-&gt;name() == valueAttr) {
&gt; +        if (renderer())
&gt; +            renderer()-&gt;updateFromElement();
&gt; +    } else if (attr-&gt;name() == minAttr) {
&gt; +        if (renderer())
&gt; +            renderer()-&gt;updateFromElement();
&gt; +    } else if (attr-&gt;name() == maxAttr) {
&gt; +        if (renderer())
&gt; +            renderer()-&gt;updateFromElement();
&gt; +    } else if (attr-&gt;name() == lowAttr) {
&gt; +        if (renderer())
&gt; +            renderer()-&gt;updateFromElement();
&gt; +    } else if (attr-&gt;name() == highAttr) {
&gt; +        if (renderer())
&gt; +            renderer()-&gt;updateFromElement();
&gt; +    } else if (attr-&gt;name() == optimumAttr) {
&gt; +        if (renderer())
&gt; +            renderer()-&gt;updateFromElement();

Can we find a less repetitive way of writing this?

&gt; +    double value;
&gt; +    bool ok = parseToDoubleForNumberType(getAttribute(valueAttr), &amp;value);
&gt; +    if (!ok)
&gt; +        value = 0;

Can&apos;t you write that like this?

    double value = 0;
    parseToDoubleForNumberType(getAttribute(valueAttr), &amp;value);

I think that&apos;s simpler.

&gt; +    return std::min(std::max(value, min()), max());

When I write this I like to order the values like this:

    std::max(min(), std::min(value, max()))

It seems to make it more obvious that we are putting the value between the min and max values, but also my ordering makes the min win if the min and max conflict, which is typically what we want. I guess that you instead made the max() function call the min() function which is OK if that&apos;s what the standard requires.

As long as we have enough test cases I think we&apos;re OK either way.

&gt; +    // Some platforms do not have a native gauge widget, so we draw here a default implementation.

It&apos;s strange to have a comment here partway through the function saying this. Isn&apos;t this comment the entire reason for the whole function?

&gt; +    FloatRect valueRect;
&gt; +    FloatRect backgroundRect;
&gt; +    if (min &gt;= max) {
&gt; +        paintInfo.context-&gt;fillRect(innerRect, Color::black, DeviceColorSpace);
&gt; +        return false;
&gt; +    }

The definitions of the two rectangles should go further down, after this early return.

&gt; +    if (rect.width() &lt; rect.height()) {
&gt; +        // Vertical gauge
&gt; +        double scale = innerRect.height() / (max - min);
&gt; +        valueRect.setLocation(FloatPoint(innerRect.x(), innerRect.y() + (max - value) * scale));
&gt; +        valueRect.setSize(FloatSize(innerRect.width(), (value - min) * scale));
&gt; +        backgroundRect.setLocation(innerRect.location());
&gt; +        backgroundRect.setSize(FloatSize(innerRect.width(), (max - value) * scale));
&gt; +    } else if (renderMeter-&gt;style()-&gt;direction() == RTL) {
&gt; +        // right to left horizontal gauge
&gt; +        double scale = innerRect.width() / (max - min);
&gt; +        valueRect.setLocation(FloatPoint(innerRect.x() + (max - value) * scale, innerRect.y()));
&gt; +        valueRect.setSize(FloatSize((value - min) * scale, innerRect.height()));
&gt; +        backgroundRect.setLocation(innerRect.location());
&gt; +        backgroundRect.setSize(FloatSize((max - value) * scale, innerRect.height()));
&gt; +    } else {
&gt; +        // left to right horizontal gauge
&gt; +        double scale = innerRect.width() / (max - min);
&gt; +        valueRect.setLocation(innerRect.location());
&gt; +        valueRect.setSize(FloatSize((value - min) * scale, innerRect.height()));
&gt; +        backgroundRect.setLocation(FloatPoint(innerRect.x() + valueRect.width(), innerRect.y()));
&gt; +        backgroundRect.setSize(FloatSize((max - value) * scale, innerRect.height()));
&gt; +    }
&gt; +    if (!valueRect.isEmpty())
&gt; +        paintInfo.context-&gt;fillRect(valueRect, Color::black, DeviceColorSpace);
&gt; +
&gt; +    if (!backgroundRect.isEmpty())
&gt; +        paintInfo.context-&gt;fillRect(backgroundRect, Color::lightGray, DeviceColorSpace);

I am not sure this basic approach is solid enough. I suggest painting the entire rect with the background and then have the value rect painted on top of it. Generally speaking I don&apos;t know how the rectangles computed here will end up stitching together when the edges are not on pixel boundaries.

Also, to compute the rectangles you should only multiple by the scale factor once. The rectangle on the right or bottom should be sized to fill the rest of the space rather than separately doing &quot;max - value&quot; computation.

It&apos;s not correct to pass DeviceColorSpace for all these colors. Instead you should be passing style()-&gt;colorSpace().

What does the return value of this function mean? Is it right for the theme to always paint? Shouldn&apos;t the non-theme-specific painting be in the renderer class, not the theme at all? I think the theme should be returning true like the other functions such as paintProgressBar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220574</commentid>
    <comment_count>20</comment_count>
      <attachid>55016</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-04 07:04:11 -0700</bug_when>
    <thetext>Created attachment 55016
Patch addressing comment #19

(In reply to comment #19)
&gt; (From update of attachment 54921 [details])
&gt; Why do we need a derived class, RenderMeter, instead of just using a
&gt; RenderBlock? For the custom layout function?
RenderMeter does a custom layout and also triggers a repaint when an attribute of the meter element changes. As the implementation of the meter element becomes more complete, we would need more support from this renderer. 

&gt; &gt; +    return std::min(std::max(value, min()), max());
&gt; 
&gt; When I write this I like to order the values like this:
&gt; 
&gt;     std::max(min(), std::min(value, max()))
&gt; 
&gt; It seems to make it more obvious that we are putting the value between the min
&gt; and max values, but also my ordering makes the min win if the min and max
&gt; conflict, which is typically what we want. I guess that you instead made the
&gt; max() function call the min() function which is OK if that&apos;s what the standard
&gt; requires.
&gt; 
&gt; As long as we have enough test cases I think we&apos;re OK either way.

From the user agent requirements for the meter element:

User agents must then use all these numbers to obtain values for six points on the gauge, as follows. (The order in which these are evaluated is important, as some of the values refer to earlier ones.)

I wanted to follow the order as defined by the spec. I added 4 tests to test that the calculation is correct. Please see the tests marked &quot;Set attributes to improper values - 1 through 4&quot;.

&gt; What does the return value of this function mean? Is it right for the theme to
&gt; always paint? Shouldn&apos;t the non-theme-specific painting be in the renderer
&gt; class, not the theme at all? I think the theme should be returning true like
&gt; the other functions such as paintProgressBar.

The return value is used by RenderBox::paintBoxDecorationsWithSize to determine if the RenderTheme painted or not. In case of the progress element, RenderTheme does not paint, thus returns true. Each platform&apos;s RenderTheme would return false. In case of paintMeter, we have a default implementation that does paint, so it should return false.
From comment #11 I understand that some platforms will want to overwrite Rendertheme::paintMeter, and that is why this method is implemented in RenderTheme and not in RenderMeter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224681</commentid>
    <comment_count>21</comment_count>
      <attachid>55016</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-12 09:33:56 -0700</bug_when>
    <thetext>Comment on attachment 55016
Patch addressing comment #19

WebCore/html/HTMLMeterElement.h:54
 +      virtual bool isOptionalFormControl() const { return true; }
This seems curious.  Why do we need to return false for isOptionalFormControl()?


Could you add a test confirming that &lt;meter&gt; tag behavior is not changed on platforms without ENABLE_METER_TAG?
For example, &quot;&lt;meter&gt;56%&lt;/meter&gt;&quot; should work like &quot;&lt;span&gt;56%&lt;/span&gt;&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224701</commentid>
    <comment_count>22</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-12 10:04:57 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 55016 [details])
&gt; WebCore/html/HTMLMeterElement.h:54
&gt;  +      virtual bool isOptionalFormControl() const { return true; }
&gt; This seems curious.  Why do we need to return false for isOptionalFormControl()?
&gt; 
From http://dev.w3.org/html5/spec/Overview.html#attr-input-required , the required attribute applies only to input (and textarea) elements. All other form control elements return true.

&gt; Could you add a test confirming that &lt;meter&gt; tag behavior is not changed on platforms without ENABLE_METER_TAG?
&gt; For example, &quot;&lt;meter&gt;56%&lt;/meter&gt;&quot; should work like &quot;&lt;span&gt;56%&lt;/span&gt;&quot;
This was discussed before, in https://bugs.webkit.org/show_bug.cgi?id=35937. There is no mechanism for adding conditions to html.css, so the new style definition will affect ports with this flag turned off. There is precedence with other new tags e.g. datagrid for doing the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225034</commentid>
    <comment_count>23</comment_count>
      <attachid>55925</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-12 18:29:41 -0700</bug_when>
    <thetext>Created attachment 55925
Update the patch with latest trunk changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225036</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-12 18:31:34 -0700</bug_when>
    <thetext>Attachment 55925 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/html/HTMLMeterElement.cpp:66:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
Total errors found: 1 in 38 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225038</commentid>
    <comment_count>25</comment_count>
      <attachid>55926</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-12 18:33:52 -0700</bug_when>
    <thetext>Created attachment 55926
Fix style issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225067</commentid>
    <comment_count>26</comment_count>
      <attachid>55926</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-12 20:02:43 -0700</bug_when>
    <thetext>Comment on attachment 55926
Fix style issue

WebCore/rendering/RenderTheme.cpp:924
 +          valueRect.setLocation(FloatPoint(innerRect.x(), innerRect.y() + (max - value) * scale));
Need static_cast&lt;float&gt;() because max, value and scale are double.

WebCore/rendering/RenderTheme.cpp:925
 +          valueRect.setSize(FloatSize(innerRect.width(), (value - min) * scale));
ditto.

WebCore/rendering/RenderTheme.cpp:929
 +          valueRect.setLocation(FloatPoint(innerRect.x() + (max - value) * scale, innerRect.y()));
ditto.

WebCore/rendering/RenderTheme.cpp:930
 +          valueRect.setSize(FloatSize((value - min) * scale, innerRect.height()));
ditto.

WebCore/rendering/RenderTheme.cpp:935
 +          valueRect.setSize(FloatSize((value - min) * scale, innerRect.height()));
ditto.

(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; (From update of attachment 55016 [details] [details])
&gt; &gt; WebCore/html/HTMLMeterElement.h:54
&gt; &gt;  +      virtual bool isOptionalFormControl() const { return true; }
&gt; &gt; This seems curious.  Why do we need to return false for isOptionalFormControl()?
&gt; &gt; 
&gt; From http://dev.w3.org/html5/spec/Overview.html#attr-input-required , the required attribute applies only to input (and textarea) elements. All other form control elements return true.

isOptionalFormControl() is used only for checking whether :optional CSS selector is applied or not.
So your code mean that :optional is always applied to &lt;meter&gt;.
I don&apos;t think we need to make it true for elements without form values.
If you&apos;d like to avoid form validation for &lt;meter&gt;, override recalcWillValidate(). See HTMLFieldSetElement.h.


&gt; &gt; Could you add a test confirming that &lt;meter&gt; tag behavior is not changed on platforms without ENABLE_METER_TAG?
&gt; &gt; For example, &quot;&lt;meter&gt;56%&lt;/meter&gt;&quot; should work like &quot;&lt;span&gt;56%&lt;/span&gt;&quot;
&gt; This was discussed before, in https://bugs.webkit.org/show_bug.cgi?id=35937. There is no mechanism for adding conditions to html.css, so the new style definition will affect ports with this flag turned off. There is precedence with other new tags e.g. datagrid for doing the same.

I see.  How about parsing test?
I tried your patch on Mac without ENABLE_METER_TAG, and found &lt;meter&gt; tags were completely disappeared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225581</commentid>
    <comment_count>27</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-13 17:27:37 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; I see.  How about parsing test?
&gt; I tried your patch on Mac without ENABLE_METER_TAG, and found &lt;meter&gt; tags were completely disappeared.
Thank you for the review.
Could you please share the test page you were using? I tried &lt;meter&gt;%56&lt;/meter&gt; and that showed in safari the same as &lt;span&gt;%56&lt;/span&gt;.
The only problem I saw was the style, and that was due to the webkit-appearance.
thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225613</commentid>
    <comment_count>28</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-13 18:41:58 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; Could you please share the test page you were using? I tried &lt;meter&gt;%56&lt;/meter&gt; and that showed in safari the same as &lt;span&gt;%56&lt;/span&gt;.
&gt; The only problem I saw was the style, and that was due to the webkit-appearance.
&gt; thanks.

- run-safari --debug
- open an HTML page with &lt;meter&gt;56%&lt;/meter&gt;
- Ctrl-Click on the 56%, and select &quot;Inspect element&quot;
- You&apos;ll see no &lt;meter&gt; around 56%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225959</commentid>
    <comment_count>29</comment_count>
      <attachid>56099</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-05-14 13:03:06 -0700</bug_when>
    <thetext>Created attachment 56099
Patch addressing comment #26.

Tested on Safari and with this patch I do see the meter element in the web inspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226230</commentid>
    <comment_count>30</comment_count>
      <attachid>56099</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-15 05:45:41 -0700</bug_when>
    <thetext>Comment on attachment 56099
Patch addressing comment #26.

LayoutTests/platform/chromium/test_expectations.txt:2631
 +  BUG37074 DEFER : fast/dom/HTMLMeterElement/set-meter-properties.html = TEXT
Please replace &quot;BUG37074&quot; with &quot;BUGWK37074&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226269</commentid>
    <comment_count>31</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-05-15 09:57:21 -0700</bug_when>
    <thetext>Committed r59541: &lt;http://trac.webkit.org/changeset/59541&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302081</commentid>
    <comment_count>32</comment_count>
      <attachid>56099</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-29 14:54:16 -0700</bug_when>
    <thetext>Comment on attachment 56099
Patch addressing comment #26.

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

&gt; LayoutTests/platform/win/Skipped:840
&gt; +# meter element is not supported
&gt; +fast/dom/HTMLMeterElement/meter-element.html
&gt; +fast/dom/HTMLMeterElement/set-meter-properties.html
&gt; +

It&apos;s rude to add tests to a port&apos;s Skipped file without also filing a bug that describes why the test is skipped. Could someone please file a bug for implementing &lt;meter&gt; support on each platform that is currently skipping these tests and add those bugs to the Skipped files?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302289</commentid>
    <comment_count>33</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-10-30 06:08:19 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; (From update of attachment 56099 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=56099&amp;action=review
&gt; 
&gt; &gt; LayoutTests/platform/win/Skipped:840
&gt; &gt; +# meter element is not supported
&gt; &gt; +fast/dom/HTMLMeterElement/meter-element.html
&gt; &gt; +fast/dom/HTMLMeterElement/set-meter-properties.html
&gt; &gt; +
&gt; 
&gt; It&apos;s rude to add tests to a port&apos;s Skipped file without also filing a bug that describes why the test is skipped. Could someone please file a bug for implementing &lt;meter&gt; support on each platform that is currently skipping these tests and add those bugs to the Skipped files?

I certainly did not mean to be rude, I simply did not know :-)
Filed https://bugs.webkit.org/show_bug.cgi?id=48713 for GTK port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302632</commentid>
    <comment_count>34</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-11-01 06:27:21 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; (In reply to comment #32)
&gt; &gt; (From update of attachment 56099 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=56099&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/platform/win/Skipped:840
&gt; &gt; &gt; +# meter element is not supported
&gt; &gt; &gt; +fast/dom/HTMLMeterElement/meter-element.html
&gt; &gt; &gt; +fast/dom/HTMLMeterElement/set-meter-properties.html
&gt; &gt; &gt; +
&gt; &gt; 
&gt; &gt; It&apos;s rude to add tests to a port&apos;s Skipped file without also filing a bug that describes why the test is skipped. Could someone please file a bug for implementing &lt;meter&gt; support on each platform that is currently skipping these tests and add those bugs to the Skipped files?
&gt; 
&gt; I certainly did not mean to be rude, I simply did not know :-)
&gt; Filed https://bugs.webkit.org/show_bug.cgi?id=48713 for GTK port.

Thank you!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54332</attachid>
            <date>2010-04-26 14:33:37 -0700</date>
            <delta_ts>2010-04-26 14:50:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>59677</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODI2MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODIgQEAKKzIwMTAtMDQtMjYgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBvbmx5IGZvciBRdCBwbGF0Zm9ybS4KKyAgICAgICAgU2luY2UgUXQgZG9l
cyBub3QgaGF2ZSBhIG5hdGl2ZSBnYXVnZS1saWtlIHdpZGdldCwgUmVuZGVyVGhlbWVRdCBkcmF3
cyAKKyAgICAgICAgdGhlIGVsZW1lbnQgYnkgaXRzZWxmLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCisKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZl
VmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNz
cy9odG1sLmNzczoKKyAgICAgICAgKG1ldGVyKToKKyAgICAgICAgKG1ldGVyOjotd2Via2l0LW1l
dGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBo
dG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlubGluZVRhZ0xpc3QpOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGh0bWwv
SFRNTE1ldGVyRWxlbWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6SFRNTE1ldGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJF
bGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Zm9ybUNv
bnRyb2xUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om1pbik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWV0ZXJFbGVtZW50OjpzZXRNaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxl
bWVudDo6bWF4KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldE1heCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpsb3cpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0TG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZXRlckVsZW1lbnQ6OmhpZ2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
c2V0SGlnaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpvcHRpbXVtKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldE9wdGltdW0pOgorICAgICAg
ICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZXRlckVsZW1lbnQ6OmlzT3B0aW9uYWxGb3JtQ29udHJvbCk6CisgICAgICAgICogaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MVGFnTmFtZXMu
aW46CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL1Ro
ZW1lVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZXRlcik6CisgICAgICAgICogcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZXRlci5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OlJlbmRlck1ldGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1ldGVyOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTWV0ZXI6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTWV0ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6cmVu
ZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6aXNNZXRlcik6CisgICAg
ICAgIChXZWJDb3JlOjp0b1JlbmRlck1ldGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzTWV0ZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50TWV0ZXIpOgorCiAyMDEwLTA0LTI2ICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9z
QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KSW5kZXg6
IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDcgQEAKICNpbmNsdWRlICJKU0hUTUxN
ZWRpYUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE1lbnVFbGVtZW50LmNwcCIKICNpbmNs
dWRlICJKU0hUTUxNZXRhRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiSlNIVE1MTWV0ZXJFbGVtZW50
LmNwcCIKICNpbmNsdWRlICJKU0hUTUxNb2RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxP
YmplY3RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxPTGlzdEVsZW1lbnQuY3BwIgpJbmRl
eDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw2ICsxNzksNyBAQCBET01fQ0xBU1NFUyA9
IFwKICAgICBIVE1MTWVkaWFFbGVtZW50IFwKICAgICBIVE1MTWVudUVsZW1lbnQgXAogICAgIEhU
TUxNZXRhRWxlbWVudCBcCisgICAgSFRNTE1ldGVyRWxlbWVudCBcCiAgICAgSFRNTE1vZEVsZW1l
bnQgXAogICAgIEhUTUxPTGlzdEVsZW1lbnQgXAogICAgIEhUTUxPYmplY3RFbGVtZW50IFwKQEAg
LTYyOSw2ICs2MzAsMTAgQEAgaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9EQVRBTElTVCwkKEZF
QQogICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfREFUQUxJU1Q9MQogZW5k
aWYKIAoraWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NRVRFUl9UQUcsJChGRUFUVVJFX0RFRklO
RVMpKSwgRU5BQkxFX01FVEVSX1RBRykKKyAgICBIVE1MX0ZMQUdTIDo9ICQoSFRNTF9GTEFHUykg
RU5BQkxFX01FVEVSX1RBRz0xCitlbmRpZgorCiBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX1BS
T0dSRVNTX1RBRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfUFJPR1JFU1NfVEFHKQogICAg
IEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfUFJPR1JFU1NfVEFHPTEKIGVuZGlm
CkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQko
d29ya2luZyBjb3B5KQpAQCAtMjQzLDYgKzI0Myw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2Vi
Q29yZS9odG1sL01lZGlhRXJyb3IuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50
LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5pZGwgXAorICAgIFdlYkNvcmUv
aHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50
LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsIFwKQEAgLTExNjUsNiArMTE2Niw5IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZW51RWxlbWVudC5oIFwKIAlXZWJDb3Jl
L2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVu
dC5oIFwKKyAgICBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAgXAorICAgIFdlYkNv
cmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCBcCisgICAgV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAJV2ViQ29y
ZS9odG1sL0hUTUxNb2RFbGVtZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MTmFtZUNvbGxlY3Rp
b24uY3BwIFwKQEAgLTE4OTYsNiArMTkwMCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNZW51TGlzdC5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggXAor
ICAgIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCBcCisgICAgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWV0ZXIuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggXAogCVdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgXApAQCAtMjI0NSw2ICsyMjUxLDE0IEBAIHdl
YmNvcmVfY3BwZmxhZ3MgKz0gXAogIyAtLS0tCiAjIEhUTUwgUHJvZ3Jlc3MgRWxlbWVudCAtIGRp
c2FibGUgZm9yIG5vdywgc2luY2UgcGFpbnRpbmcgY29kZSBpcyBtaXNzaW5nLgogIyAtLS0tCitG
RUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX01FVEVSX1RBRz0wCisKK3dlYmNvcmVfY3BwZmxhZ3Mg
Kz0gXAorICAgIC1ERU5BQkxFX01FVEVSX1RBRz0wCisKKyMgLS0tLQorIyBIVE1MIFByb2dyZXNz
IEVsZW1lbnQgLSBkaXNhYmxlIGZvciBub3csIHNpbmNlIHBhaW50aW5nIGNvZGUgaXMgbWlzc2lu
Zy4KKyMgLS0tLQogRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9QUk9HUkVTU19UQUc9MAogCiB3
ZWJjb3JlX2NwcGZsYWdzICs9IFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUv
V2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNTYxLDYgKzE1NjEsOCBAQAogICAgICAg
ICAgICAgJ2h0bWwvSFRNTE1lbnVFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1l
dGFFbGVtZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTWV0YUVsZW1lbnQuaCcsCisg
ICAgICAgICAgICAnaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCcsCisgICAgICAgICAgICAnaHRt
bC9IVE1MTWV0ZXJFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1vZEVsZW1lbnQu
Y3BwJywKICAgICAgICAgICAgICdodG1sL0hUTUxNb2RFbGVtZW50LmgnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcCcsCkBAIC0zMTMzLDYgKzMxMzUsOCBAQAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uaCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCcsCiAgICAgICAgICAgICAncmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJN
ZXRlci5jcHAnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJNZXRlci5oJywKICAgICAg
ICAgICAgICdyZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCcsCiAgICAgICAgICAgICAncmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0LmNwcCcsCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJpCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS5wcmkJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9XZWJDb3Jl
LnByaQkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfU0lOR0xFX1RIUkVBREVECiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ZJREVPPS4p
OiBERUZJTkVTICs9IEVOQUJMRV9WSURFTz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1JV
Qlk9Lik6IERFRklORVMgKz0gRU5BQkxFX1JVQlk9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9TQU5EQk9YPS4pOiBERUZJTkVTICs9IEVOQUJMRV9TQU5EQk9YPTEKKyFjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfTUVURVJfVEFHPS4pOiBERUZJTkVTICs9IEVOQUJMRV9NRVRFUl9UQUc9MQog
IWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9QUk9HUkVTU19UQUc9Lik6IERFRklORVMgKz0gRU5B
QkxFX1BST0dSRVNTX1RBRz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0JMT0JfU0xJQ0U9
Lik6IERFRklORVMgKz0gRU5BQkxFX0JMT0JfU0xJQ0U9MAogIWNvbnRhaW5zKERFRklORVMsIEVO
QUJMRV9OT1RJRklDQVRJT05TPS4pOiBERUZJTkVTICs9IEVOQUJMRV9OT1RJRklDQVRJT05TPTEK
QEAgLTM3Miw2ICszNzMsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE1lbnVFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9I
VE1MTWV0YUVsZW1lbnQuaWRsIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKICAg
ICBodG1sL0hUTUxNb2RFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5p
ZGwgXAogICAgIGh0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwgXApJbmRleDogV2ViQ29yZS9XZWJD
b3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA1ODI2
MikKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY1NCw2ICs2NTQs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5jcHAgXAogICAg
IGh0bWwvSFRNTE1lbnVFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3Bw
IFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxNb2RFbGVt
ZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIFwKICAgICBodG1sL0hU
TUxPYmplY3RFbGVtZW50LmNwcCBcCkBAIC05MzQsNiArOTM1LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgXAorICAgIHJl
bmRlcmluZy9SZW5kZXJNZXRlci5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
IFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCBcCiAgICAgcmVuZGVy
aW5nL1JlbmRlclBhcnQuY3BwIFwKQEAgLTEzNzgsNiArMTM4MCw3IEBAIEhFQURFUlMgKz0gXAog
ICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxNZW51RWxlbWVudC5o
IFwKICAgICBodG1sL0hUTUxNZXRhRWxlbWVudC5oIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1l
bnQuaCBcCiAgICAgaHRtbC9IVE1MTW9kRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxOYW1lQ29s
bGVjdGlvbi5oIFwKICAgICBodG1sL0hUTUxOb1NjcmlwdEVsZW1lbnQuaCBcCkBAIC0xNzA0LDYg
KzE3MDcsNyBAQCBIRUFERVJTICs9IFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwK
ICAgICByZW5kZXJpbmcvUmVuZGVyTWVkaWEuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlck1lbnVM
aXN0LmggXAorICAgIHJlbmRlcmluZy9SZW5kZXJNZXRlci5oIFwKICAgICByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0Q2hpbGRMaXN0LmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBcCiAg
ICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNjUwMSw2ICs2NTAxLDYyIEBACiAJCQkJ
Pg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTWV0ZXJFbGVt
ZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJ
CQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4N
CisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
TmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0hUTUxNZXRl
ckVsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNIVE1MTW9kRWxlbWVudC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQpAQCAtMjc3MzUsNiArMjc3OTEsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlck1ldGVyLmNwcCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmlu
Z1xSZW5kZXJNZXRlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlck9iamVjdC5jcHAiDQogCQkJCT4NCiAJCQk8
L0ZpbGU+DQpAQCAtMzMwNDQsNiArMzMxMDgsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmNwcCIN
CisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVi
dWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0
ZXJFbGVtZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxodG1sXEhUTUxNb2RFbGVtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjU0Nyw2ICsyNTQ3LDEwIEBACiAJCUE0M0JG
NTk5MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJvZ3Jlc3NFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5NzExNDkyOTBBMDBDNjQz
Q0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovOyB9OwogCQlBNDNCRjU5QzExNDkyOTI4MDBD
NjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTQzQkY1OUExMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dy
ZXNzLmNwcCAqLzsgfTsKIAkJQTQzQkY1OUQxMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dy
ZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNC
RjU5QjExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCAqLzsgfTsKKwkJQTQ4QUE5
QkMxMTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0OEFBOUJBMTE4NUYxNzkwMEI2MDFGNyAvKiBS
ZW5kZXJNZXRlci5jcHAgKi87IH07CisJCUE0OEFBOUJEMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5k
ZXJNZXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTQ4QUE5QkIxMTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmggKi87IH07CisJCUE0OEFB
OUM3MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0OEFBOUM0MTE4NUYxQkMwMEI2MDFG
NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCAqLzsgfTsKKwkJQTQ4QUE5QzgxMTg1RjFCQzAwQjYw
MUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVt
ZW50LmggKi87IH07CiAJCUE1MTNCM0Q3MTE0QjE2NjYwMDFDNDI5QiAvKiBLZXlFdmVudENvY29h
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRD
RjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5oICovOyB9OwogCQlBNTEzQjNEODEx
NEIxNjZBMDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlF
dmVudENvY29hLm1tICovOyB9OwogCQlBNTlFM0MxRTExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZl
bnRDb2Rlc0lQaG9uZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAq
LzsgfTsKQEAgLTc5OTcsNiArODAwMSwxMCBAQAogCQlBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0Eg
LyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIVE1MUHJvZ3Jlc3NFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0
M0JGNTlBMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlCMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9n
cmVzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDhBQTlCQTExODVGMTc5MDBCNjAxRjcg
LyogUmVuZGVyTWV0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVuZGVyTWV0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDhBQTlCQjEx
ODVGMTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVuZGVyTWV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ4
QUE5QzQxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0
ZXJFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxNZXRlckVs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAw
NzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQaG9uZS5oOyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29k
ZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1
MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJUGhvbmUubW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJ
UGhvbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcw
MEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMTg4
LDYgKzEzMTk2LDggQEAKIAkJCQlBODcxREMxQjBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFF
bGVtZW50LmNwcCAqLywKIAkJCQlBODcxREMxODBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFF
bGVtZW50LmggKi8sCiAJCQkJQTgwRTc5RkMwQTE5QzMwNzAwN0ZCOEM1IC8qIEhUTUxNZXRhRWxl
bWVudC5pZGwgKi8sCisJCQkJQTQ4QUE5QzQxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVs
ZW1lbnQuY3BwICovLAorCQkJCUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJF
bGVtZW50LmggKi8sCiAJCQkJQThDRkY3OUYwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVt
ZW50LmNwcCAqLywKIAkJCQlBOENGRjc5RDBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1l
bnQuaCAqLywKIAkJCQkxQUUyQUIwNzBBMUNFNUNGMDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQu
aWRsICovLApAQCAtMTU5MjMsNiArMTU5MzMsOCBAQAogCQkJCUU0QzI3OTU3MENGOTc0MTkwMEU5
N0I5OCAvKiBSZW5kZXJNZWRpYS5oICovLAogCQkJCUFCRERGRTczMEE1QzZFNkYwMEEzRTExRCAv
KiBSZW5kZXJNZW51TGlzdC5jcHAgKi8sCiAJCQkJQUJEREZFNzQwQTVDNkU3MDAwQTNFMTFEIC8q
IFJlbmRlck1lbnVMaXN0LmggKi8sCisJCQkJQTQ4QUE5QkExMTg1RjE3OTAwQjYwMUY3IC8qIFJl
bmRlck1ldGVyLmNwcCAqLywKKwkJCQlBNDhBQTlCQjExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVy
TWV0ZXIuaCAqLywKIAkJCQlCQ0VBNDg0MDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0
LmNwcCAqLywKIAkJCQlCQ0VBNDg0MTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0Lmgg
Ki8sCiAJCQkJQkM2MEVGQjYwRjMzQTBFNzAwODEyQTkzIC8qIFJlbmRlck9iamVjdENoaWxkTGlz
dC5jcHAgKi8sCkBAIC0xODg4Myw2ICsxODg5NSw4IEBACiAJCQkJMkUzQkMxMDgxMTdENDc5ODAw
Qjk0MDlBIC8qIERPTUZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkUzQkMxMEIxMTdE
NDdDODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzN0ZENDI5ODExODM2ODQ2MDA5M0MwMjkgLyogVHJlZURlcHRoTGltaXQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE0OEFBOUJEMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTQ4QUE5QzgxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjExMTksNiArMjExMzMsOCBAQAogCQkJCTk3Mzg4OUEw
MTE2RUE5REMwMEFERjMxMyAvKiBEb2N1bWVudFdyaXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRTNCQzBDQTExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkUzQkMxMDkxMTdENDc5ODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvci5tbSBpbiBT
b3VyY2VzICovLAorCQkJCUE0OEFBOUJDMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNDhBQTlDNzExODVGMUJDMDBCNjAxRjcgLyogSFRNTE1l
dGVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzIsNiArMjcyLDExIEBA
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1MKICAgICAgICAgY2FzZSBN
ZW51bGlzdFRleHRGaWVsZFBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFs
dWVNZW51bGlzdFRleHRmaWVsZDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1l
dGVyUGFydDoKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICAgICAgbV92YWx1ZS5pZGVu
dCA9IENTU1ZhbHVlTWV0ZXI7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIE91dGVyU3BpbkJ1dHRvblBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NT
VmFsdWVPdXRlclNwaW5CdXR0b247CiAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFdlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCSh3b3JraW5nIGNvcHkpCkBAIC01ODEsNiArNTgxLDcgQEAgbWVudWxpc3QKIG1l
bnVsaXN0LWJ1dHRvbgogbWVudWxpc3QtdGV4dAogbWVudWxpc3QtdGV4dGZpZWxkCittZXRlcgog
b3V0ZXItc3Bpbi1idXR0b24KIHByb2dyZXNzLWJhcgogcHJvZ3Jlc3MtYmFyLXZhbHVlCkluZGV4
OiBXZWJDb3JlL2Nzcy9odG1sLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9odG1sLmNz
cwkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2Nzcy9odG1sLmNzcwkod29ya2luZyBjb3B5
KQpAQCAtNTE1LDYgKzUxNSwyMCBAQCBvcHRpb24gewogICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7
CiB9CiAKKy8qIG1ldGVyICovCisKK21ldGVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1l
dGVyOworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBoZWlnaHQ6IDFlbTsKKyAgICB3
aWR0aDogNWVtOworICAgIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07Cit9CisKK21ldGVyOjotd2Vi
a2l0LW1ldGVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1ldGVyOworfQorCiAvKiBwcm9n
cmVzcyAqLwogCiBwcm9ncmVzcyB7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5h
bWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4J
KHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgko
d29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQCBmcmFtZWJvcmRlcgogaGVhZGVycwogaGVp
Z2h0CiBoaWRkZW4KK2hpZ2gKIGhyZWYKIGhyZWZsYW5nCiBoc3BhY2UKQEAgLTExNSw2ICsxMTYs
NyBAQCBsaW5rCiBsaXN0CiBsb25nZGVzYwogbG9vcAorbG93CiBwbGF5Y291bnQKIGxvb3BlbmQK
IGxvb3BzdGFydApAQCAtMjE5LDYgKzIyMSw3IEBAIG9ud2Via2l0YW5pbWF0aW9uZW5kCiBvbndl
YmtpdGJlZ2luZnVsbHNjcmVlbgogb253ZWJraXRlbmRmdWxsc2NyZWVuCiBvbndlYmtpdHRyYW5z
aXRpb25lbmQKK29wdGltdW0KIHBhdHRlcm4KIHBsYWNlaG9sZGVyCiBwbHVnaW51cmwKSW5kZXg6
IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1s
L0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjEsNiArODYxLDkgQEAgc3RhdGljIEhhc2hT
ZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBpbmxpbgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAg
ICAgICAgIHRhZ0xpc3QuYWRkKHByb2dyZXNzVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7CiAjZW5k
aWYKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICB0YWdMaXN0LmFkZChtZXRlclRhZy5s
b2NhbE5hbWUoKS5pbXBsKCkpOworI2VuZGlmCiAgICAgfQogICAgIHJldHVybiAmdGFnTGlzdDsK
IH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNwcAkocmV2aXNpb24gNTgy
NjIpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03Nyw2ICs3Nyw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5jcHAiCiAj
aW5jbHVkZSAiSFRNTE1lbnVFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MTWV0YUVsZW1lbnQu
Y3BwIgorI2luY2x1ZGUgIkhUTUxNZXRlckVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkhUTUxNb2RF
bGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MT0xpc3RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJI
VE1MT2JqZWN0RWxlbWVudC5jcHAiCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50
LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRm9ybURhdGFMaXN0Lmgi
CisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisj
aW5jbHVkZSAiTWFwcGVkQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiUmVuZGVyTWV0ZXIuaCIKKyNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNp
bmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworSFRNTE1ldGVyRWxlbWVudDo6SFRNTE1ldGVyRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhU
TUxGb3JtRWxlbWVudCogZm9ybSkKKyAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQsIGZvcm0sIENyZWF0ZUVsZW1lbnQpCit7CisgICAgQVNTRVJUKGhhc1RhZ05h
bWUobWV0ZXJUYWcpKTsKK30KKworUGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBIVE1MTWV0
ZXJFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZvcm0pCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBIVE1MTWV0ZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBmb3JtKSk7Cit9CisKK1Jl
bmRlck9iamVjdCogSFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
IGFyZW5hLCBSZW5kZXJTdHlsZSopCit7CisgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlck1l
dGVyKHRoaXMpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxNZXRlckVsZW1lbnQ6OmZv
cm1Db250cm9sVHlwZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBB
dG9taWNTdHJpbmcsIG1ldGVyLCAoIm1ldGVyIikpOworICAgIHJldHVybiBtZXRlcjsKK30KKwor
dm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1
dGUqIGF0dHIpCit7CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSB2YWx1ZUF0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG1pbkF0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG1heEF0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IGxvd0F0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IGhpZ2hBdHRyKSB7CisgICAg
ICAgIGlmIChyZW5kZXJlcigpKQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVs
ZW1lbnQoKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvcHRpbXVtQXR0cikgewor
ICAgICAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZy
b21FbGVtZW50KCk7CisgICAgfSBlbHNlCisgICAgICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVu
dDo6dmFsdWUoKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWVTdHJpbmcg
PSBnZXRBdHRyaWJ1dGUodmFsdWVBdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSB2YWx1
ZSA9IHZhbHVlU3RyaW5nLnRvRG91YmxlKCZvayk7CisgICAgaWYgKCFvaykKKyAgICAgICAgdmFs
dWUgPSAwOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heCh2YWx1ZSwgbWluKCkpLCBtYXgo
KSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0VmFsdWUoZG91YmxlIHZhbHVlKQor
eworICAgIHNldEF0dHJpYnV0ZSh2YWx1ZUF0dHIsIFN0cmluZzo6bnVtYmVyKGlzbmFuKHZhbHVl
KSA/IDAgOiB2YWx1ZSkpOworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVudDo6bWluKCkgY29u
c3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIG1pblN0cmluZyA9IGdldEF0dHJpYnV0ZSht
aW5BdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBtaW4gPSBtaW5TdHJpbmcudG9Eb3Vi
bGUoJm9rKTsKKyAgICByZXR1cm4gb2sgPyBtaW4gOiAwOworfQorCit2b2lkIEhUTUxNZXRlckVs
ZW1lbnQ6OnNldE1pbihkb3VibGUgbWluKQoreworICAgIHNldEF0dHJpYnV0ZShtaW5BdHRyLCBT
dHJpbmc6Om51bWJlcihpc25hbihtaW4pID8gMCA6IG1pbikpOworfQorCitkb3VibGUgSFRNTE1l
dGVyRWxlbWVudDo6bWF4KCkgY29uc3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIG1heFN0
cmluZyA9IGdldEF0dHJpYnV0ZShtYXhBdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBt
YXggPSBtYXhTdHJpbmcudG9Eb3VibGUoJm9rKTsKKyAgICByZXR1cm4gb2sgPyBzdGQ6Om1heCht
YXgsIG1pbigpKSA6IHN0ZDo6bWF4KDEuMCwgbWluKCkpOworfQorCit2b2lkIEhUTUxNZXRlckVs
ZW1lbnQ6OnNldE1heChkb3VibGUgbWF4KQoreworICAgIHNldEF0dHJpYnV0ZShtYXhBdHRyLCBT
dHJpbmc6Om51bWJlcihpc25hbihtYXgpID8gMSA6IG1heCkpOworfQorCitkb3VibGUgSFRNTE1l
dGVyRWxlbWVudDo6bG93KCkgY29uc3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGxvd1N0
cmluZyA9IGdldEF0dHJpYnV0ZShsb3dBdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBs
b3cgPSBsb3dTdHJpbmcudG9Eb3VibGUoJm9rKTsKKyAgICBpZiAoIW9rKQorICAgICAgICBsb3cg
PSBtaW4oKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgobG93LCBtaW4oKSksIG1heCgp
KTsKK30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpzZXRMb3coZG91YmxlIGxvdykKK3sKKyAg
ICBzZXRBdHRyaWJ1dGUobG93QXR0ciwgU3RyaW5nOjpudW1iZXIoaXNuYW4obG93KSA/IG1pbigp
IDogbG93KSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50OjpoaWdoKCkgY29uc3QKK3sK
KyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGhpZ2hTdHJpbmcgPSBnZXRBdHRyaWJ1dGUoaGlnaEF0
dHIpOworICAgIGJvb2wgb2s7CisgICAgZG91YmxlIGhpZ2ggPSBoaWdoU3RyaW5nLnRvRG91Ymxl
KCZvayk7CisgICAgaWYgKCFvaykKKyAgICAgICAgaGlnaCA9IG1heCgpOworICAgIHJldHVybiBz
dGQ6Om1pbihzdGQ6Om1heChoaWdoLCBsb3coKSksIG1heCgpKTsKK30KKwordm9pZCBIVE1MTWV0
ZXJFbGVtZW50OjpzZXRIaWdoKGRvdWJsZSBoaWdoKQoreworICAgIHNldEF0dHJpYnV0ZShoaWdo
QXR0ciwgU3RyaW5nOjpudW1iZXIoaXNuYW4oaGlnaCkgPyBtYXgoKSA6IGhpZ2gpKTsKK30KKwor
ZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6Om9wdGltdW0oKSBjb25zdAoreworICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgb3B0aW11bVN0cmluZyA9IGdldEF0dHJpYnV0ZShvcHRpbXVtQXR0cik7Cisg
ICAgYm9vbCBvazsKKyAgICBkb3VibGUgb3B0aW11bSA9IG9wdGltdW1TdHJpbmcudG9Eb3VibGUo
Jm9rKTsKKyAgICBpZiAoIW9rKQorICAgICAgICBvcHRpbXVtID0gKG1heCgpICsgbWluKCkpIC8g
MjsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgob3B0aW11bSwgbWluKCkpLCBtYXgoKSk7
Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0T3B0aW11bShkb3VibGUgb3B0aW11bSkK
K3sKKyAgICBzZXRBdHRyaWJ1dGUob3B0aW11bUF0dHIsIFN0cmluZzo6bnVtYmVyKGlzbmFuKG9w
dGltdW0pID8gKChtYXgoKSArIG1pbigpKSAvIDIpIDogb3B0aW11bSkpOworfQorCit9IC8vIG5h
bWVzcGFjZQorI2VuZGlmCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgSFRNTE1ldGVyRWxlbWVudF9o
CisjZGVmaW5lIEhUTUxNZXRlckVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNp
bmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgSFRNTE1ldGVyRWxlbWVudCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgSFRNTEZvcm1FbGVtZW50KiA9IDAp
OworCisgICAgZG91YmxlIHZhbHVlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRWYWx1ZShkb3VibGUp
OworCisgICAgZG91YmxlIG1pbigpIGNvbnN0OworICAgIHZvaWQgc2V0TWluKGRvdWJsZSk7CisK
KyAgICBkb3VibGUgbWF4KCkgY29uc3Q7CisgICAgdm9pZCBzZXRNYXgoZG91YmxlKTsKKworICAg
IGRvdWJsZSBsb3coKSBjb25zdDsKKyAgICB2b2lkIHNldExvdyhkb3VibGUpOworCisgICAgZG91
YmxlIGhpZ2goKSBjb25zdDsKKyAgICB2b2lkIHNldEhpZ2goZG91YmxlKTsKKworICAgIGRvdWJs
ZSBvcHRpbXVtKCkgY29uc3Q7CisgICAgdm9pZCBzZXRPcHRpbXVtKGRvdWJsZSk7CisKK3ByaXZh
dGU6CisgICAgSFRNTE1ldGVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
LCBIVE1MRm9ybUVsZW1lbnQqKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc09wdGlvbmFsRm9ybUNv
bnRyb2woKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIFJlbmRlck9i
amVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOworCisgICAg
dmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOworfTsK
KworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE1ldGVy
RWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVu
dC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCittb2R1
bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVURVJfVEFH
CisgICAgXSBIVE1MTWV0ZXJFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgZG91YmxlIHZhbHVlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91
YmxlIG1pbjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBtYXg7CisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgbG93OworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgZG91YmxlIGhpZ2g7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgb3B0aW11
bTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOworICAg
IH07Cit9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4JKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29y
ZS9odG1sL0hUTUxUYWdOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCBt
YXAgY3JlYXRlV2l0aE5ldwogbWFycXVlZSBjcmVhdGVXaXRoTmV3CiBtZW51IGNyZWF0ZVdpdGhO
ZXcKIG1ldGEgY3JlYXRlV2l0aE5ldworbWV0ZXIgaW50ZXJmYWNlTmFtZT1IVE1MTWV0ZXJFbGVt
ZW50LCBjb25kaXRpb25hbD1NRVRFUl9UQUcKIG5hdiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
CiBub2JyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vZW1iZWQgaW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudApJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQxMSw2ICs0MTEsOSBAQCBt
b2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNYXJxdWVlRWxlbWVudENvbnN0
cnVjdG9yIEhUTUxNYXJxdWVlRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNZW51RWxl
bWVudENvbnN0cnVjdG9yIEhUTUxNZW51RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxN
ZXRhRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZXRhRWxlbWVudDsKKyNpZiBkZWZpbmVkKEVOQUJM
RV9NRVRFUl9UQUcpICYmIEVOQUJMRV9NRVRFUl9UQUcKKyAgICAgICAgYXR0cmlidXRlIEhUTUxN
ZXRlckVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWV0ZXJFbGVtZW50OworI2VuZGlmCiAgICAgICAg
IGF0dHJpYnV0ZSBIVE1MTW9kRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNb2RFbGVtZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgSFRNTE9MaXN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxPTGlzdEVsZW1l
bnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MT2JqZWN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxP
YmplY3RFbGVtZW50OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgJKHJldmlzaW9uIDU4MjYyKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcg
KzUyLDcgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgTWVkaWFTZWVrRm9yd2FyZEJ1dHRvblBh
cnQsIE1lZGlhUmV3aW5kQnV0dG9uUGFydCwgTWVkaWFSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uUGFy
dCwgTWVkaWFUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvblBhcnQsCiAgICAgTWVkaWFTbGlkZXJQ
YXJ0LCBNZWRpYVNsaWRlclRodW1iUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJDb250YWluZXJQYXJ0
LCBNZWRpYVZvbHVtZVNsaWRlclBhcnQsIE1lZGlhVm9sdW1lU2xpZGVyVGh1bWJQYXJ0LAogICAg
IE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kUGFydCwgTWVkaWFDdXJyZW50VGltZVBhcnQsIE1lZGlh
VGltZVJlbWFpbmluZ1BhcnQsCi0gICAgTWVudWxpc3RQYXJ0LCBNZW51bGlzdEJ1dHRvblBhcnQs
IE1lbnVsaXN0VGV4dFBhcnQsIE1lbnVsaXN0VGV4dEZpZWxkUGFydCwgT3V0ZXJTcGluQnV0dG9u
UGFydCwgUHJvZ3Jlc3NCYXJQYXJ0LCBQcm9ncmVzc0JhclZhbHVlUGFydCwKKyAgICBNZW51bGlz
dFBhcnQsIE1lbnVsaXN0QnV0dG9uUGFydCwgTWVudWxpc3RUZXh0UGFydCwgTWVudWxpc3RUZXh0
RmllbGRQYXJ0LCBNZXRlclBhcnQsIE91dGVyU3BpbkJ1dHRvblBhcnQsIFByb2dyZXNzQmFyUGFy
dCwgUHJvZ3Jlc3NCYXJWYWx1ZVBhcnQsCiAgICAgU2xpZGVySG9yaXpvbnRhbFBhcnQsIFNsaWRl
clZlcnRpY2FsUGFydCwgU2xpZGVyVGh1bWJIb3Jpem9udGFsUGFydCwKICAgICBTbGlkZXJUaHVt
YlZlcnRpY2FsUGFydCwgQ2FyZXRQYXJ0LCBTZWFyY2hGaWVsZFBhcnQsIFNlYXJjaEZpZWxkRGVj
b3JhdGlvblBhcnQsCiAgICAgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQsIFNlYXJj
aEZpZWxkUmVzdWx0c0J1dHRvblBhcnQsCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRl
clRoZW1lUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhl
bWVRdC5jcHAJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTAgQEAKICNpbmNsdWRlICJR
dFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaCIKICNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5oIgog
I2luY2x1ZGUgIlJlbmRlckJveC5oIgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAi
SFRNTE1ldGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgiCisjZW5kaWYKICNp
ZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogI2luY2x1ZGUgIlJlbmRlclByb2dyZXNzLmgiCiAjZW5k
aWYKQEAgLTY4Nyw2ICs2OTEsNjYgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0
QnV0dG9uKAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorI2lmIEVOQUJMRShNRVRFUl9UQUcpCit2
b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdE1ldGVyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJl
bmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0Cit7CisgICAgc3R5bGUtPnNldEJveFNo
YWRvdygwKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1ldGVyKFJlbmRlck9iamVj
dCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBpLCBjb25zdCBJbnRSZWN0JiBy
KQoreworICAgIFN0eWxlUGFpbnRlciBwKHRoaXMsIHBpKTsKKyAgICBpZiAoIXAuaXNWYWxpZCgp
KQorICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmVuZGVyTWV0ZXIqIHJlbmRlck1ldGVyID0g
dG9SZW5kZXJNZXRlcihvKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBvLT5zdHlsZSgpOwor
ICAgIGludCBsZWZ0ID0gc3R5bGUtPmJvcmRlckxlZnQoKS53aWR0aCgpICsgc3R5bGUtPnBhZGRp
bmdMZWZ0KCkudmFsdWUoKTsKKyAgICBpbnQgdG9wID0gc3R5bGUtPmJvcmRlclRvcCgpLndpZHRo
KCkgKyBzdHlsZS0+cGFkZGluZ1RvcCgpLnZhbHVlKCk7CisgICAgaW50IHJpZ2h0ID0gc3R5bGUt
PmJvcmRlclJpZ2h0KCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nUmlnaHQoKS52YWx1ZSgpOwor
ICAgIGludCBib3R0b20gPSBzdHlsZS0+Ym9yZGVyQm90dG9tKCkud2lkdGgoKSArIHN0eWxlLT5w
YWRkaW5nQm90dG9tKCkudmFsdWUoKTsKKyAgICBJbnRSZWN0IGlubmVyUmVjdChyLngoKSArIGxl
ZnQsIHIueSgpICsgdG9wLCByLndpZHRoKCkgLSBsZWZ0IC0gcmlnaHQsIHIuaGVpZ2h0KCkgLSB0
b3AgLSBib3R0b20pOworCisgICAgSFRNTE1ldGVyRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19j
YXN0PEhUTUxNZXRlckVsZW1lbnQqPihyZW5kZXJNZXRlci0+bm9kZSgpKTsKKyAgICBkb3VibGUg
bWluID0gZWxlbWVudC0+bWluKCk7CisgICAgZG91YmxlIG1heCA9IGVsZW1lbnQtPm1heCgpOwor
ICAgIGRvdWJsZSB2YWx1ZSA9IGVsZW1lbnQtPnZhbHVlKCk7CisKKyAgICAvLyBTaW5jZSBRdCBk
b2VzIG5vdCBoYXZlIGEgZ2F1Z2Ugd2lkZ2V0LCB3ZSBkcmF3IGl0IGhlcmUuCisgICAgUVJlY3Qg
dmFsdWVSZWN0OworICAgIFFSZWN0IGJhY2tncm91bmRSZWN0OworICAgIGlmIChtaW4gPj0gbWF4
KSB7CisgICAgICAgIHBpLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5maWxsUmVjdChpbm5l
clJlY3QsIFF0OjpibGFjayk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBp
ZiAoci53aWR0aCgpIDwgci5oZWlnaHQoKSkgeworICAgICAgICAvLyBWZXJ0aWNhbCBnYXVnZQor
ICAgICAgICBkb3VibGUgc2NhbGUgPSBpbm5lclJlY3QuaGVpZ2h0KCkgLyAobWF4IC0gbWluKTsK
KyAgICAgICAgdmFsdWVSZWN0LnNldFJlY3QoaW5uZXJSZWN0LngoKSwgaW5uZXJSZWN0LnkoKSAr
IHJvdW5kKChtYXggLSB2YWx1ZSkgKiBzY2FsZSksIGlubmVyUmVjdC53aWR0aCgpLCByb3VuZCgo
dmFsdWUgLSBtaW4pICogc2NhbGUpKTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0UmVjdChp
bm5lclJlY3QueCgpLCBpbm5lclJlY3QueSgpLCBpbm5lclJlY3Qud2lkdGgoKSwgcm91bmQoKG1h
eCAtIHZhbHVlKSAqIHNjYWxlKSk7CisgICAgfSBlbHNlIGlmIChyZW5kZXJNZXRlci0+c3R5bGUo
KS0+ZGlyZWN0aW9uKCkgPT0gUlRMKSB7CisgICAgICAgIC8vIHJpZ2h0IHRvIGxlZnQgaG9yaXpv
bnRhbCBnYXVnZQorICAgICAgICBkb3VibGUgc2NhbGUgPSBpbm5lclJlY3Qud2lkdGgoKSAvICht
YXggLSBtaW4pOworICAgICAgICB2YWx1ZVJlY3Quc2V0UmVjdChpbm5lclJlY3QueCgpICsgcm91
bmQoKG1heCAtIHZhbHVlKSAqIHNjYWxlKSwgaW5uZXJSZWN0LnkoKSwgcm91bmQoKHZhbHVlIC0g
bWluKSAqIHNjYWxlKSwgaW5uZXJSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgYmFja2dyb3VuZFJl
Y3Quc2V0UmVjdChpbm5lclJlY3QueCgpLCBpbm5lclJlY3QueSgpLCBscm91bmQoKG1heCAtIHZh
bHVlKSAqIHNjYWxlKSwgaW5uZXJSZWN0LmhlaWdodCgpKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICAvLyBsZWZ0IHRvIHJpZ2h0IGhvcml6b250YWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxl
ID0gaW5uZXJSZWN0LndpZHRoKCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0LnNl
dFJlY3QoaW5uZXJSZWN0LngoKSwgaW5uZXJSZWN0LnkoKSwgcm91bmQoKHZhbHVlIC0gbWluKSAq
IHNjYWxlKSwgaW5uZXJSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0
UmVjdChpbm5lclJlY3QueCgpICsgdmFsdWVSZWN0LndpZHRoKCksIGlubmVyUmVjdC55KCksIHJv
dW5kKChtYXggLSB2YWx1ZSkgKiBzY2FsZSksIGlubmVyUmVjdC5oZWlnaHQoKSk7CisgICAgfQor
ICAgIGlmICghdmFsdWVSZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcGkuY29udGV4dC0+cGxhdGZv
cm1Db250ZXh0KCktPmZpbGxSZWN0KHZhbHVlUmVjdCwgUXQ6OmJsYWNrKTsKKworICAgIGlmICgh
YmFja2dyb3VuZFJlY3QuaXNFbXB0eSgpKQorICAgICAgICBwaS5jb250ZXh0LT5wbGF0Zm9ybUNv
bnRleHQoKS0+ZmlsbFJlY3QoYmFja2dyb3VuZFJlY3QsIFF0OjpsaWdodEdyYXkpOworCisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiBk
b3VibGUgUmVuZGVyVGhlbWVRdDo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jh
cihSZW5kZXJQcm9ncmVzcyogcmVuZGVyUHJvZ3Jlc3MpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuaAkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDYgKzExMiwxMSBA
QCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3RCdXR0b24oUmVuZGVy
T2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7
CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxl
Y3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogCisjaWYgRU5BQkxFKE1FVEVS
X1RBRykKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWV0ZXJTdHlsZShDU1NTdHlsZVNlbGVjdG9y
KiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50
TWV0ZXIoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0Jik7CisjZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgdmly
dHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRl
clN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludFByb2dyZXNz
QmFyKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYg
RU5BQkxFKE1FVEVSX1RBRykKKworI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgiCisKKyNpbmNsdWRl
ICJIVE1MTWV0ZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKKwordXNpbmcg
bmFtZXNwYWNlIHN0ZDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOworCitSZW5kZXJNZXRlcjo6UmVuZGVyTWV0ZXIoSFRNTE1ldGVyRWxlbWVudCog
ZWxlbWVudCkKKyAgICA6IFJlbmRlckJsb2NrKGVsZW1lbnQpCit7Cit9CisKK3ZvaWQgUmVuZGVy
TWV0ZXI6OmxheW91dCgpCit7CisgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOworCisgICAgTGF5
b3V0UmVwYWludGVyIHJlcGFpbnRlcigqdGhpcywgY2hlY2tGb3JSZXBhaW50RHVyaW5nTGF5b3V0
KCkpOworCisgICAgY2FsY1dpZHRoKCk7CisgICAgY2FsY0hlaWdodCgpOworCisgICAgbV9vdmVy
Zmxvdy5jbGVhcigpOworCisgICAgcmVwYWludGVyLnJlcGFpbnRBZnRlckxheW91dCgpOworCisg
ICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOworfQorCit2b2lkIFJlbmRlck1ldGVyOjp1cGRhdGVG
cm9tRWxlbWVudCgpCit7CisgICAgcmVwYWludCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAkocmV2aXNpb24gMCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBSZW5kZXJNZXRlcl9oCisjZGVmaW5l
IFJlbmRlck1ldGVyX2gKKworI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAiUmVuZGVy
QmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBIVE1MTWV0ZXJFbGVtZW50OworCitjbGFzcyBSZW5kZXJNZXRlciA6IHB1Ymxp
YyBSZW5kZXJCbG9jayB7CitwdWJsaWM6CisgICAgUmVuZGVyTWV0ZXIoSFRNTE1ldGVyRWxlbWVu
dCopOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0IHsgcmV0dXJuICJSZW5kZXJNZXRlciI7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNNZXRlcigp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCk7Cit9OworCitpbmxpbmUgUmVuZGVyTWV0
ZXIqIHRvUmVuZGVyTWV0ZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QpCit7CisgICAgQVNTRVJUKCFv
YmplY3QgfHwgb2JqZWN0LT5pc01ldGVyKCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5k
ZXJNZXRlcio+KG9iamVjdCk7Cit9CisKKy8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcg
YW4gdW5uZWNlc3NhcnkgY2FzdC4KK3ZvaWQgdG9SZW5kZXJNZXRlcihjb25zdCBSZW5kZXJNZXRl
ciopOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorCisjZW5kaWYgLy8gUmVu
ZGVyTWV0ZXJfaAorCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gNTgy
NjIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5KQpA
QCAtMjc3LDYgKzI3Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNMaXN0TWFya2Vy
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYSgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWVudUxpc3QoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAgdmlydHVhbCBi
b29sIGlzTWV0ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAjaWYgRU5BQkxF
KFBST0dSRVNTX1RBRykKICAgICB2aXJ0dWFsIGJvb2wgaXNQcm9ncmVzcygpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAJKHJl
dmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTMsNiArMjEzLDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0
eWxlKENTU1N0eWxlU2UKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAg
ICByZXR1cm4gYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwogI2Vu
ZGlmCisjaWYgRU5BQkxFKE1ldGVyX1RBRykKKyAgICAgICAgY2FzZSBNZXRlclBhcnQ6CisgICAg
ICAgICAgICByZXR1cm4gYWRqdXN0TWV0ZXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworI2Vu
ZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICB9CkBAIC0yNzEs
NiArMjc1LDEwIEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KFJlbmRlck9iamVjdCogbywKICNl
bmRpZgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKICAgICAgICAgICAgIHJldHVybiBwYWlu
dE1lbnVMaXN0KG8sIHBhaW50SW5mbywgcik7CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAgICAg
ICAgY2FzZSBNZXRlclBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRNZXRlcihvLCBwYWlu
dEluZm8sIHIpOworI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAgY2Fz
ZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRQcm9ncmVzc0Jhcihv
LCBwYWludEluZm8sIHIpOwpAQCAtMzY1LDYgKzM3Myw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBh
aW50Qm9yZGVyT25seShSZW5kZXIKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKICAg
ICAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKKyNpZiBF
TkFCTEUoTUVURVJfVEFHKQorICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyNlbmRpZgogI2lmIEVO
QUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgogI2VuZGlm
CkBAIC00MDMsNiArNDE0LDkgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyhS
ZW5kZQogICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIEJ1dHRv
blBhcnQ6CiAgICAgICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorI2lmIEVOQUJMRShNRVRFUl9UQUcp
CisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RB
RykKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAjZW5kaWYKQEAgLTg0MCw2ICs4NTQs
MTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0TWVudUxpc3RTdHlsZShDUwogewogfQogCisj
aWYgRU5BQkxFKE1FVEVSX1RBRykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5bGUo
Q1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0Cit7Cit9Cisj
ZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiBkb3VibGUgUmVuZGVyVGhlbWU6OmFu
aW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MqKSBjb25z
dAogewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCShyZXZpc2lvbiA1ODI2MikKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzNyw2ICsy
MzcsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZW51TGlzdEJ1dHRv
blN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlzdEJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25z
dCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVl
OyB9CiAKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZXRl
clN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZXRlcihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJP
YmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisjZW5k
aWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFBy
b2dyZXNzQmFyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCop
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludFByb2dyZXNzQmFyKFJlbmRlck9iamVjdCos
IGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJu
IHRydWU7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU4MjYzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTAtMDQtMjYgIFlhZWwgQWhh
cm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAK
KworICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0czogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQt
dGVzdHMvc2V0LW1ldGVyLXByb3BlcnRpZXMuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0
aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVu
dC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL0hU
TUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorCiAyMDEwLTA0LTI2ICBZYWVsIEFoYXJvbiAgPHlh
ZWwuYWhhcm9uQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9z
LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVt
ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9tZXRlci1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorPGh0bWw+PGJvZHk+PG1ldGVyIG1pbj0xMCB2YWx1ZT0zMCBtYXg9MTAwPjwv
bWV0ZXI+PG1ldGVyIG1pbj0wIHZhbHVlPTcwIG1heD0xMDAgc3R5bGU9IndpZHRoOjEwcHg7IGhl
aWdodDo2MHB4OyI+PC9tZXRlcj48L2JvZHk+PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQt
bWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorVGVzdCBzZXR0aW5nIHZhbGlkIGFu
ZCBpbnZhbGlkIHByb3BlcnRpZXMgb2YgSFRNTE1ldGVyRWxlbWVudC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1Rlc3QgdmFsdWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0
CitQQVNTIG0ubWluIGlzIDAKK1BBU1MgbS52YWx1ZSBpcyAwCitQQVNTIG0ubWF4IGlzIDEKK1BB
U1MgbS5sb3cgaXMgMAorUEFTUyBtLmhpZ2ggaXMgMQorUEFTUyBtLm9wdGltdW0gaXMgMC41CitT
ZXQgdmFsaWQgdmFsdWVzCitQQVNTIG0ubWluIGlzIC0xMAorUEFTUyBtLnZhbHVlIGlzIDcwCitQ
QVNTIG0ubWF4IGlzIDEwMAorUEFTUyBtLmxvdyBpcyAxMC4xCitQQVNTIG0uaGlnaCBpcyA5OS41
CitQQVNTIG0ub3B0aW11bSBpcyA3MAorU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVz
IC0gMQorUEFTUyBtLm1pbiBpcyAtMTAKK1BBU1MgbS52YWx1ZSBpcyAxMDAKK1BBU1MgbS5tYXgg
aXMgMTAwCitQQVNTIG0ubG93IGlzIDEwMAorUEFTUyBtLmhpZ2ggaXMgMTAwCitQQVNTIG0ub3B0
aW11bSBpcyAwCitTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAyCitQQVNTIG0u
bWluIGlzIDIwMC4wCitQQVNTIG0udmFsdWUgaXMgMjAwLjAKK1BBU1MgbS5tYXggaXMgMjAwLjAK
K1BBU1MgbS5sb3cgaXMgMjAwLjAKK1NldCBpbnZhbGlkIHZhbHVlCitQQVNTIG0udmFsdWUgaXMg
MjAwCitTZXQgYXR0cmlidXRlcyB0byB2YWxpZCBudW1iZXJzCitQQVNTIG0udmFsdWUgaXMgNQor
UEFTUyBtLm1heCBpcyAxMAorUEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSkg
aXMgNQorUEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0ZSgnbWF4JykpIGlzIDEwCitTZXQgYXR0
cmlidXRlcyB0byBpbnZhbGlkIHZhbHVlcworUEFTUyBtLnZhbHVlIGlzIDAKK1BBU1MgbS5tYXgg
aXMgMQorUEFTUyBtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSBpcyAnQUJDJworUEFTUyBtLmdldEF0
dHJpYnV0ZSgnbWF4JykgaXMgJyMnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1l
dGVyLXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zZXQt
bWV0ZXItcHJvcGVydGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1Q
TEFURS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVu
dC9zY3JpcHQtdGVzdHMvc2V0LW1ldGVyLXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LW1ldGVy
LXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qcwkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw3MyBAQAorZGVzY3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBh
bmQgaW52YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxNZXRlckVsZW1lbnQuJyk7CisKK3ZhciBtID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0ZXInKTsKKworZGVidWcoIlRlc3QgdmFsdWVzIGJl
Zm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Iik7CitzaG91bGRCZSgibS5taW4iLCAiMCIpOworc2hv
dWxkQmUoIm0udmFsdWUiLCAiMCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEiKTsKK3Nob3VsZEJl
KCJtLmxvdyIsICIwIik7CitzaG91bGRCZSgibS5oaWdoIiwgIjEiKTsKK3Nob3VsZEJlKCJtLm9w
dGltdW0iLCAiMC41Iik7CisKK2RlYnVnKCJTZXQgdmFsaWQgdmFsdWVzIik7CittLm1pbiA9ICIt
MTAiOworbS52YWx1ZSA9IDdlMTsKK20ubWF4ID0gIjFlMiI7CittLmxvdyA9ICIxMC4xIjsKK20u
aGlnaCA9ICI5OS41IjsKK20ub3B0aW11bSA9ICI3MCI7CitzaG91bGRCZSgibS5taW4iLCAiLTEw
Iik7CitzaG91bGRCZSgibS52YWx1ZSIsICI3MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIp
Oworc2hvdWxkQmUoIm0ubG93IiwgIjEwLjEiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiOTkuNSIp
Oworc2hvdWxkQmUoIm0ub3B0aW11bSIsICI3MCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMg
dG8gaW1wcm9wZXIgdmFsdWVzIC0gMSIpOworbS5taW4gPSAtMTA7CittLnZhbHVlID0gMjAwOwor
bS5tYXggPSAxMDAuMDsKK20ubG93ID0gMjAwOworbS5oaWdoID0gLTUwOworbS5vcHRpbXVtID0g
bnVsbDsKK3Nob3VsZEJlKCJtLm1pbiIsICItMTAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjEw
MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIpOworc2hvdWxkQmUoIm0ubG93IiwgIjEwMCIp
Oworc2hvdWxkQmUoIm0uaGlnaCIsICIxMDAiKTsKK3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMCIp
OworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMiIpOworbS5t
aW4gPSAyMDAuMDsKK20udmFsdWUgPSAtMjAwLjA7CittLm1heCA9IDA7CittLmxvdyA9IG51bGw7
CitzaG91bGRCZSgibS5taW4iLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjIwMC4w
Iik7CitzaG91bGRCZSgibS5tYXgiLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIyMDAu
MCIpOworCitkZWJ1ZygiU2V0IGludmFsaWQgdmFsdWUiKTsKK20udmFsdWUgPSAiQUJDIjsKK3No
b3VsZEJlKCJtLnZhbHVlIiwgIjIwMCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gdmFs
aWQgbnVtYmVycyIpOworbS5zZXRBdHRyaWJ1dGUoIm1pbiIsIDApOworbS5zZXRBdHRyaWJ1dGUo
InZhbHVlIiwgNSk7CittLnNldEF0dHJpYnV0ZSgibWF4IiwgMTApOworc2hvdWxkQmUoIm0udmFs
dWUiLCAiNSIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwIik7CitzaG91bGRCZSgicGFyc2VJbnQo
bS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpIiwgIjUiKTsKK3Nob3VsZEJlKCJwYXJzZUludChtLmdl
dEF0dHJpYnV0ZSgnbWF4JykpIiwgIjEwIik7CisKK2RlYnVnKCJTZXQgYXR0cmlidXRlcyB0byBp
bnZhbGlkIHZhbHVlcyIpOworbS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIkFCQyIpOworbS5zZXRB
dHRyaWJ1dGUoIm1heCIsICIjIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIwIik7CitzaG91bGRC
ZSgibS5tYXgiLCAiMSIpOworc2hvdWxkQmUoIm0uZ2V0QXR0cmlidXRlKCd2YWx1ZScpIiwgIidB
QkMnIik7CitzaG91bGRCZSgibS5nZXRBdHRyaWJ1dGUoJ21heCcpIiwgIicjJyIpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNTgyNjIp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTI2MzMsNiArMjYzMywxMCBAQCBCVUczODIyNyBERUZFUiA6IGZh
c3QvZG9tL0hUTUxQcm9ncmVzc0VsCiBCVUczODIyNyBERUZFUiA6IGZhc3QvZG9tL0hUTUxQcm9n
cmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKIEJVRzM4MjI3
IFNLSVAgOiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1w
c2V1ZG8tZWxlbWVudC5odG1sID0gRkFJTAogCisvLyBIVE1MTWV0ZXJFbGVtZW50IHJlbGF0ZWQg
dGVzdHMgZGVmZXJyZWQgZHVlIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNzA3NC4KK0JVRzM3MDc0IERFRkVSIDogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9t
ZXRlci1lbGVtZW50Lmh0bWwgPSBNSVNTSU5HCitCVUczNzA3NCBERUZFUiA6IGZhc3QvZG9tL0hU
TUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKKwogLy8gV2Vi
S2l0IHJvbGwgNTYwMDQgLT4gNTYwMjYKIEJVRzM4Mjc4IDogZmFzdC9ldmVudHMvY29udGludW91
cy1wbGF0Zm9ybS13aGVlbGV2ZW50LWluLXNjcm9sbGluZy1kaXYuaHRtbCA9IFRJTUVPVVQKIEJV
RzM4Mjc4IDogZmFzdC9ldmVudHMvcGxhdGZvcm0td2hlZWxldmVudC1pbi1zY3JvbGxpbmctZGl2
Lmh0bWwgPSBUSU1FT1VUCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24g
NTgyNjIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5
KQpAQCAtNTgzNSw2ICs1ODM1LDEwIEBAIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJv
Z3Jlc3MtZWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3Bl
cnRpZXMuaHRtbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1iYXItdmFs
dWUtcHNldWRvLWVsZW1lbnQuaHRtbAogCisjIHJlbmRlclRoZW1lIGlzIG5vdCByZWFkeSB0byBk
cmF3IG1ldGVyIGVsZW1lbnQKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVu
dC5odG1sCitmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKKwogIyBOZWVkcyBtb2NrIHN1cHBvcnQsIGFuZCBidWlsZCBzbGF2ZSBHZW9sb2NhdGlvbiBz
ZXJ2aWNlCiAjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYw
NTMKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL21heGltdW0tYWdlLmh0bWwKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkCShyZXZpc2lvbiA1ODI2MikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNiArMTM5LDEwIEBAIGZhc3QvZm9y
bXMvbXVsdGlwbGUtZm9ybS1zdWJtaXNzaW9uLXByb3QKICMgVGhlIGFuaW1hdGlvbiBjYXVzZXMg
dGhlIHJlc3VsdCBvZiB0aGlzIHRlc3QgdG8gZGVwZW5kIG9uIHRoZSBzcGVlZCBvZiBleGVjdXRp
bmcgaXQsIGFuZCB0aGF0IHdpbGwgY2F1c2UgaXQgdG8gYmUgZmxha3kKIGZhc3QvZG9tL0hUTUxQ
cm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC5odG1sCiAKKyMgcmVuZGVyVGhlbWUgaXMg
bm90IHJlYWR5IHRvIGRyYXcgbWV0ZXIgZWxlbWVudAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVu
dC9tZXRlci1lbGVtZW50Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVy
LXByb3BlcnRpZXMuaHRtbAorCiAjIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3Vy
aS1saXN0Jykgbm90IGNvcnJlY3RseSBpbXBsZW1lbnRlZCBvbiBNYWMKIGVkaXRpbmcvcGFzdGVi
b2FyZC9kYXRhVHJhbnNmZXItc2V0RGF0YS1nZXREYXRhLmh0bWwKIApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4
cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRl
ckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorNmQ5NWZjNmVjNjU5MTQyMWEyMjRkZThkOWQ5MzkyOTgKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXIt
ZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlck1l
dGVyIHtNRVRFUn0gYXQgKDAsNDQpIHNpemUgODB4MTYKKyAgICAgIFJlbmRlck1ldGVyIHtNRVRF
Un0gYXQgKDgwLDApIHNpemUgMTB4NjAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHJldmlzaW9uIDU4MjYy
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAg
LTgzMiw2ICs4MzIsMTAgQEAgZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1l
bAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5o
dG1sCiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1wc2V1
ZG8tZWxlbWVudC5odG1sCiAKKyMgcmVuZGVyVGhlbWUgaXMgbm90IHJlYWR5IHRvIGRyYXcgbWV0
ZXIgZWxlbWVudAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwK
K2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAorCiAj
IE5vIFdpZGdldHMgMS4wIHN1cHBvcnQKIGZhc3QvbWVkaWEvbWVkaWEtZmVhdHVyZS13Z3Qtdmll
dy1tb2RlLmh0bWwKIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5v
dCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0g
YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhw
ZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNh
ZG9Kd0FBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJBQUFNCnBrbEVRVlI0bk8zWlFXckVNQkFB
d1Nqc3YvUjErMldUOHg3RFFpdkJWVGVCakFmZG1sa3pNMThBQUFDQjc5TURBQUFBenlGQUFBQ0EK
akFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0F6
T3YwQUU5eTMvZmJlZTk5YUJJQQpBRGpEQmdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBekpxWk9UM0VVNnkxM3M2ZUhnQ0FwN0VCQVFBQU1nSUVBQURJQ0JBQUFD
QWoKUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESQpDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBCk1nSUVBQURJQ0JBQUFD
RHorczNsdGRaSFA3dXU2NlB2LzR1OTkra1JBQURnVDdJQkFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFB
QWdJd0EKQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNbXRtNXZRUUFBREFNOWlBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
CkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtmZ0JnSUJtbURnYVdDUUFBCkFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54335</attachid>
            <date>2010-04-26 14:50:07 -0700</date>
            <delta_ts>2010-04-26 15:00:37 -0700</delta_ts>
            <desc>Fix style issue</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>59677</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODI2MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODIgQEAKKzIwMTAtMDQtMjYgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBvbmx5IGZvciBRdCBwbGF0Zm9ybS4KKyAgICAgICAgU2luY2UgUXQgZG9l
cyBub3QgaGF2ZSBhIG5hdGl2ZSBnYXVnZS1saWtlIHdpZGdldCwgUmVuZGVyVGhlbWVRdCBkcmF3
cyAKKyAgICAgICAgdGhlIGVsZW1lbnQgYnkgaXRzZWxmLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCisKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZl
VmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNz
cy9odG1sLmNzczoKKyAgICAgICAgKG1ldGVyKToKKyAgICAgICAgKG1ldGVyOjotd2Via2l0LW1l
dGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBo
dG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlubGluZVRhZ0xpc3QpOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGh0bWwv
SFRNTE1ldGVyRWxlbWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6SFRNTE1ldGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJF
bGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Zm9ybUNv
bnRyb2xUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om1pbik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWV0ZXJFbGVtZW50OjpzZXRNaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxl
bWVudDo6bWF4KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldE1heCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpsb3cpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0TG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZXRlckVsZW1lbnQ6OmhpZ2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
c2V0SGlnaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpvcHRpbXVtKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldE9wdGltdW0pOgorICAgICAg
ICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZXRlckVsZW1lbnQ6OmlzT3B0aW9uYWxGb3JtQ29udHJvbCk6CisgICAgICAgICogaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MVGFnTmFtZXMu
aW46CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL1Ro
ZW1lVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZXRlcik6CisgICAgICAgICogcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZXRlci5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OlJlbmRlck1ldGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1ldGVyOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTWV0ZXI6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTWV0ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6cmVu
ZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6aXNNZXRlcik6CisgICAg
ICAgIChXZWJDb3JlOjp0b1JlbmRlck1ldGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzTWV0ZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50TWV0ZXIpOgorCiAyMDEwLTA0LTI2ICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9z
QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KSW5kZXg6
IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDcgQEAKICNpbmNsdWRlICJKU0hUTUxN
ZWRpYUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE1lbnVFbGVtZW50LmNwcCIKICNpbmNs
dWRlICJKU0hUTUxNZXRhRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiSlNIVE1MTWV0ZXJFbGVtZW50
LmNwcCIKICNpbmNsdWRlICJKU0hUTUxNb2RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxP
YmplY3RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxPTGlzdEVsZW1lbnQuY3BwIgpJbmRl
eDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw2ICsxNzksNyBAQCBET01fQ0xBU1NFUyA9
IFwKICAgICBIVE1MTWVkaWFFbGVtZW50IFwKICAgICBIVE1MTWVudUVsZW1lbnQgXAogICAgIEhU
TUxNZXRhRWxlbWVudCBcCisgICAgSFRNTE1ldGVyRWxlbWVudCBcCiAgICAgSFRNTE1vZEVsZW1l
bnQgXAogICAgIEhUTUxPTGlzdEVsZW1lbnQgXAogICAgIEhUTUxPYmplY3RFbGVtZW50IFwKQEAg
LTYyOSw2ICs2MzAsMTAgQEAgaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9EQVRBTElTVCwkKEZF
QQogICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfREFUQUxJU1Q9MQogZW5k
aWYKIAoraWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NRVRFUl9UQUcsJChGRUFUVVJFX0RFRklO
RVMpKSwgRU5BQkxFX01FVEVSX1RBRykKKyAgICBIVE1MX0ZMQUdTIDo9ICQoSFRNTF9GTEFHUykg
RU5BQkxFX01FVEVSX1RBRz0xCitlbmRpZgorCiBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX1BS
T0dSRVNTX1RBRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfUFJPR1JFU1NfVEFHKQogICAg
IEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfUFJPR1JFU1NfVEFHPTEKIGVuZGlm
CkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQko
d29ya2luZyBjb3B5KQpAQCAtMjQzLDYgKzI0Myw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2Vi
Q29yZS9odG1sL01lZGlhRXJyb3IuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50
LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5pZGwgXAorICAgIFdlYkNvcmUv
aHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50
LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsIFwKQEAgLTExNjUsNiArMTE2Niw5IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZW51RWxlbWVudC5oIFwKIAlXZWJDb3Jl
L2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVu
dC5oIFwKKyAgICBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAgXAorICAgIFdlYkNv
cmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCBcCisgICAgV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAJV2ViQ29y
ZS9odG1sL0hUTUxNb2RFbGVtZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MTmFtZUNvbGxlY3Rp
b24uY3BwIFwKQEAgLTE4OTYsNiArMTkwMCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNZW51TGlzdC5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggXAor
ICAgIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCBcCisgICAgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWV0ZXIuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggXAogCVdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgXApAQCAtMjI0NSw2ICsyMjUxLDE0IEBAIHdl
YmNvcmVfY3BwZmxhZ3MgKz0gXAogIyAtLS0tCiAjIEhUTUwgUHJvZ3Jlc3MgRWxlbWVudCAtIGRp
c2FibGUgZm9yIG5vdywgc2luY2UgcGFpbnRpbmcgY29kZSBpcyBtaXNzaW5nLgogIyAtLS0tCitG
RUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX01FVEVSX1RBRz0wCisKK3dlYmNvcmVfY3BwZmxhZ3Mg
Kz0gXAorICAgIC1ERU5BQkxFX01FVEVSX1RBRz0wCisKKyMgLS0tLQorIyBIVE1MIFByb2dyZXNz
IEVsZW1lbnQgLSBkaXNhYmxlIGZvciBub3csIHNpbmNlIHBhaW50aW5nIGNvZGUgaXMgbWlzc2lu
Zy4KKyMgLS0tLQogRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9QUk9HUkVTU19UQUc9MAogCiB3
ZWJjb3JlX2NwcGZsYWdzICs9IFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUv
V2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNTYxLDYgKzE1NjEsOCBAQAogICAgICAg
ICAgICAgJ2h0bWwvSFRNTE1lbnVFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1l
dGFFbGVtZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTWV0YUVsZW1lbnQuaCcsCisg
ICAgICAgICAgICAnaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCcsCisgICAgICAgICAgICAnaHRt
bC9IVE1MTWV0ZXJFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1vZEVsZW1lbnQu
Y3BwJywKICAgICAgICAgICAgICdodG1sL0hUTUxNb2RFbGVtZW50LmgnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcCcsCkBAIC0zMTMzLDYgKzMxMzUsOCBAQAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uaCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCcsCiAgICAgICAgICAgICAncmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJN
ZXRlci5jcHAnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJNZXRlci5oJywKICAgICAg
ICAgICAgICdyZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCcsCiAgICAgICAgICAgICAncmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0LmNwcCcsCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJpCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS5wcmkJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9XZWJDb3Jl
LnByaQkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfU0lOR0xFX1RIUkVBREVECiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ZJREVPPS4p
OiBERUZJTkVTICs9IEVOQUJMRV9WSURFTz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1JV
Qlk9Lik6IERFRklORVMgKz0gRU5BQkxFX1JVQlk9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9TQU5EQk9YPS4pOiBERUZJTkVTICs9IEVOQUJMRV9TQU5EQk9YPTEKKyFjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfTUVURVJfVEFHPS4pOiBERUZJTkVTICs9IEVOQUJMRV9NRVRFUl9UQUc9MQog
IWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9QUk9HUkVTU19UQUc9Lik6IERFRklORVMgKz0gRU5B
QkxFX1BST0dSRVNTX1RBRz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0JMT0JfU0xJQ0U9
Lik6IERFRklORVMgKz0gRU5BQkxFX0JMT0JfU0xJQ0U9MAogIWNvbnRhaW5zKERFRklORVMsIEVO
QUJMRV9OT1RJRklDQVRJT05TPS4pOiBERUZJTkVTICs9IEVOQUJMRV9OT1RJRklDQVRJT05TPTEK
QEAgLTM3Miw2ICszNzMsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE1lbnVFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9I
VE1MTWV0YUVsZW1lbnQuaWRsIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKICAg
ICBodG1sL0hUTUxNb2RFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5p
ZGwgXAogICAgIGh0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwgXApJbmRleDogV2ViQ29yZS9XZWJD
b3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA1ODI2
MikKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY1NCw2ICs2NTQs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5jcHAgXAogICAg
IGh0bWwvSFRNTE1lbnVFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3Bw
IFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxNb2RFbGVt
ZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIFwKICAgICBodG1sL0hU
TUxPYmplY3RFbGVtZW50LmNwcCBcCkBAIC05MzQsNiArOTM1LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgXAorICAgIHJl
bmRlcmluZy9SZW5kZXJNZXRlci5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
IFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCBcCiAgICAgcmVuZGVy
aW5nL1JlbmRlclBhcnQuY3BwIFwKQEAgLTEzNzgsNiArMTM4MCw3IEBAIEhFQURFUlMgKz0gXAog
ICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxNZW51RWxlbWVudC5o
IFwKICAgICBodG1sL0hUTUxNZXRhRWxlbWVudC5oIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1l
bnQuaCBcCiAgICAgaHRtbC9IVE1MTW9kRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxOYW1lQ29s
bGVjdGlvbi5oIFwKICAgICBodG1sL0hUTUxOb1NjcmlwdEVsZW1lbnQuaCBcCkBAIC0xNzA0LDYg
KzE3MDcsNyBAQCBIRUFERVJTICs9IFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwK
ICAgICByZW5kZXJpbmcvUmVuZGVyTWVkaWEuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlck1lbnVM
aXN0LmggXAorICAgIHJlbmRlcmluZy9SZW5kZXJNZXRlci5oIFwKICAgICByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0Q2hpbGRMaXN0LmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBcCiAg
ICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNjUwMSw2ICs2NTAxLDYyIEBACiAJCQkJ
Pg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTWV0ZXJFbGVt
ZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJ
CQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4N
CisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
TmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0hUTUxNZXRl
ckVsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNIVE1MTW9kRWxlbWVudC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQpAQCAtMjc3MzUsNiArMjc3OTEsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlck1ldGVyLmNwcCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmlu
Z1xSZW5kZXJNZXRlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlck9iamVjdC5jcHAiDQogCQkJCT4NCiAJCQk8
L0ZpbGU+DQpAQCAtMzMwNDQsNiArMzMxMDgsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmNwcCIN
CisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVi
dWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0
ZXJFbGVtZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxodG1sXEhUTUxNb2RFbGVtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjU0Nyw2ICsyNTQ3LDEwIEBACiAJCUE0M0JG
NTk5MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJvZ3Jlc3NFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5NzExNDkyOTBBMDBDNjQz
Q0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovOyB9OwogCQlBNDNCRjU5QzExNDkyOTI4MDBD
NjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTQzQkY1OUExMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dy
ZXNzLmNwcCAqLzsgfTsKIAkJQTQzQkY1OUQxMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dy
ZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNC
RjU5QjExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCAqLzsgfTsKKwkJQTQ4QUE5
QkMxMTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0OEFBOUJBMTE4NUYxNzkwMEI2MDFGNyAvKiBS
ZW5kZXJNZXRlci5jcHAgKi87IH07CisJCUE0OEFBOUJEMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5k
ZXJNZXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTQ4QUE5QkIxMTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmggKi87IH07CisJCUE0OEFB
OUM3MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0OEFBOUM0MTE4NUYxQkMwMEI2MDFG
NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCAqLzsgfTsKKwkJQTQ4QUE5QzgxMTg1RjFCQzAwQjYw
MUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVt
ZW50LmggKi87IH07CiAJCUE1MTNCM0Q3MTE0QjE2NjYwMDFDNDI5QiAvKiBLZXlFdmVudENvY29h
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRD
RjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5oICovOyB9OwogCQlBNTEzQjNEODEx
NEIxNjZBMDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlF
dmVudENvY29hLm1tICovOyB9OwogCQlBNTlFM0MxRTExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZl
bnRDb2Rlc0lQaG9uZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAq
LzsgfTsKQEAgLTc5OTcsNiArODAwMSwxMCBAQAogCQlBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0Eg
LyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIVE1MUHJvZ3Jlc3NFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0
M0JGNTlBMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlCMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9n
cmVzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDhBQTlCQTExODVGMTc5MDBCNjAxRjcg
LyogUmVuZGVyTWV0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVuZGVyTWV0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDhBQTlCQjEx
ODVGMTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVuZGVyTWV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ4
QUE5QzQxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0
ZXJFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxNZXRlckVs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAw
NzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQaG9uZS5oOyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29k
ZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1
MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJUGhvbmUubW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJ
UGhvbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcw
MEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMTg4
LDYgKzEzMTk2LDggQEAKIAkJCQlBODcxREMxQjBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFF
bGVtZW50LmNwcCAqLywKIAkJCQlBODcxREMxODBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFF
bGVtZW50LmggKi8sCiAJCQkJQTgwRTc5RkMwQTE5QzMwNzAwN0ZCOEM1IC8qIEhUTUxNZXRhRWxl
bWVudC5pZGwgKi8sCisJCQkJQTQ4QUE5QzQxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVs
ZW1lbnQuY3BwICovLAorCQkJCUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJF
bGVtZW50LmggKi8sCiAJCQkJQThDRkY3OUYwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVt
ZW50LmNwcCAqLywKIAkJCQlBOENGRjc5RDBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1l
bnQuaCAqLywKIAkJCQkxQUUyQUIwNzBBMUNFNUNGMDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQu
aWRsICovLApAQCAtMTU5MjMsNiArMTU5MzMsOCBAQAogCQkJCUU0QzI3OTU3MENGOTc0MTkwMEU5
N0I5OCAvKiBSZW5kZXJNZWRpYS5oICovLAogCQkJCUFCRERGRTczMEE1QzZFNkYwMEEzRTExRCAv
KiBSZW5kZXJNZW51TGlzdC5jcHAgKi8sCiAJCQkJQUJEREZFNzQwQTVDNkU3MDAwQTNFMTFEIC8q
IFJlbmRlck1lbnVMaXN0LmggKi8sCisJCQkJQTQ4QUE5QkExMTg1RjE3OTAwQjYwMUY3IC8qIFJl
bmRlck1ldGVyLmNwcCAqLywKKwkJCQlBNDhBQTlCQjExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVy
TWV0ZXIuaCAqLywKIAkJCQlCQ0VBNDg0MDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0
LmNwcCAqLywKIAkJCQlCQ0VBNDg0MTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0Lmgg
Ki8sCiAJCQkJQkM2MEVGQjYwRjMzQTBFNzAwODEyQTkzIC8qIFJlbmRlck9iamVjdENoaWxkTGlz
dC5jcHAgKi8sCkBAIC0xODg4Myw2ICsxODg5NSw4IEBACiAJCQkJMkUzQkMxMDgxMTdENDc5ODAw
Qjk0MDlBIC8qIERPTUZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkUzQkMxMEIxMTdE
NDdDODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzN0ZENDI5ODExODM2ODQ2MDA5M0MwMjkgLyogVHJlZURlcHRoTGltaXQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE0OEFBOUJEMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTQ4QUE5QzgxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjExMTksNiArMjExMzMsOCBAQAogCQkJCTk3Mzg4OUEw
MTE2RUE5REMwMEFERjMxMyAvKiBEb2N1bWVudFdyaXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRTNCQzBDQTExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkUzQkMxMDkxMTdENDc5ODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvci5tbSBpbiBT
b3VyY2VzICovLAorCQkJCUE0OEFBOUJDMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNDhBQTlDNzExODVGMUJDMDBCNjAxRjcgLyogSFRNTE1l
dGVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzIsNiArMjcyLDExIEBA
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1MKICAgICAgICAgY2FzZSBN
ZW51bGlzdFRleHRGaWVsZFBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFs
dWVNZW51bGlzdFRleHRmaWVsZDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1l
dGVyUGFydDoKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICAgICAgbV92YWx1ZS5pZGVu
dCA9IENTU1ZhbHVlTWV0ZXI7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIE91dGVyU3BpbkJ1dHRvblBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NT
VmFsdWVPdXRlclNwaW5CdXR0b247CiAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFdlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCSh3b3JraW5nIGNvcHkpCkBAIC01ODEsNiArNTgxLDcgQEAgbWVudWxpc3QKIG1l
bnVsaXN0LWJ1dHRvbgogbWVudWxpc3QtdGV4dAogbWVudWxpc3QtdGV4dGZpZWxkCittZXRlcgog
b3V0ZXItc3Bpbi1idXR0b24KIHByb2dyZXNzLWJhcgogcHJvZ3Jlc3MtYmFyLXZhbHVlCkluZGV4
OiBXZWJDb3JlL2Nzcy9odG1sLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9odG1sLmNz
cwkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2Nzcy9odG1sLmNzcwkod29ya2luZyBjb3B5
KQpAQCAtNTE1LDYgKzUxNSwyMCBAQCBvcHRpb24gewogICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7
CiB9CiAKKy8qIG1ldGVyICovCisKK21ldGVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1l
dGVyOworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBoZWlnaHQ6IDFlbTsKKyAgICB3
aWR0aDogNWVtOworICAgIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07Cit9CisKK21ldGVyOjotd2Vi
a2l0LW1ldGVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1ldGVyOworfQorCiAvKiBwcm9n
cmVzcyAqLwogCiBwcm9ncmVzcyB7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5h
bWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4J
KHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgko
d29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQCBmcmFtZWJvcmRlcgogaGVhZGVycwogaGVp
Z2h0CiBoaWRkZW4KK2hpZ2gKIGhyZWYKIGhyZWZsYW5nCiBoc3BhY2UKQEAgLTExNSw2ICsxMTYs
NyBAQCBsaW5rCiBsaXN0CiBsb25nZGVzYwogbG9vcAorbG93CiBwbGF5Y291bnQKIGxvb3BlbmQK
IGxvb3BzdGFydApAQCAtMjE5LDYgKzIyMSw3IEBAIG9ud2Via2l0YW5pbWF0aW9uZW5kCiBvbndl
YmtpdGJlZ2luZnVsbHNjcmVlbgogb253ZWJraXRlbmRmdWxsc2NyZWVuCiBvbndlYmtpdHRyYW5z
aXRpb25lbmQKK29wdGltdW0KIHBhdHRlcm4KIHBsYWNlaG9sZGVyCiBwbHVnaW51cmwKSW5kZXg6
IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1s
L0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjEsNiArODYxLDkgQEAgc3RhdGljIEhhc2hT
ZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBpbmxpbgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAg
ICAgICAgIHRhZ0xpc3QuYWRkKHByb2dyZXNzVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7CiAjZW5k
aWYKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICB0YWdMaXN0LmFkZChtZXRlclRhZy5s
b2NhbE5hbWUoKS5pbXBsKCkpOworI2VuZGlmCiAgICAgfQogICAgIHJldHVybiAmdGFnTGlzdDsK
IH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNwcAkocmV2aXNpb24gNTgy
NjIpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03Nyw2ICs3Nyw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5jcHAiCiAj
aW5jbHVkZSAiSFRNTE1lbnVFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MTWV0YUVsZW1lbnQu
Y3BwIgorI2luY2x1ZGUgIkhUTUxNZXRlckVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkhUTUxNb2RF
bGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MT0xpc3RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJI
VE1MT2JqZWN0RWxlbWVudC5jcHAiCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50
LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRm9ybURhdGFMaXN0Lmgi
CisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisj
aW5jbHVkZSAiTWFwcGVkQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiUmVuZGVyTWV0ZXIuaCIKKyNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNp
bmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworSFRNTE1ldGVyRWxlbWVudDo6SFRNTE1ldGVyRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhU
TUxGb3JtRWxlbWVudCogZm9ybSkKKyAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQsIGZvcm0sIENyZWF0ZUVsZW1lbnQpCit7CisgICAgQVNTRVJUKGhhc1RhZ05h
bWUobWV0ZXJUYWcpKTsKK30KKworUGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBIVE1MTWV0
ZXJFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZvcm0pCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBIVE1MTWV0ZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBmb3JtKSk7Cit9CisKK1Jl
bmRlck9iamVjdCogSFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
IGFyZW5hLCBSZW5kZXJTdHlsZSopCit7CisgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlck1l
dGVyKHRoaXMpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxNZXRlckVsZW1lbnQ6OmZv
cm1Db250cm9sVHlwZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBB
dG9taWNTdHJpbmcsIG1ldGVyLCAoIm1ldGVyIikpOworICAgIHJldHVybiBtZXRlcjsKK30KKwor
dm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1
dGUqIGF0dHIpCit7CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSB2YWx1ZUF0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG1pbkF0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG1heEF0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IGxvd0F0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IGhpZ2hBdHRyKSB7CisgICAg
ICAgIGlmIChyZW5kZXJlcigpKQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVs
ZW1lbnQoKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvcHRpbXVtQXR0cikgewor
ICAgICAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZy
b21FbGVtZW50KCk7CisgICAgfSBlbHNlCisgICAgICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVu
dDo6dmFsdWUoKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWVTdHJpbmcg
PSBnZXRBdHRyaWJ1dGUodmFsdWVBdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSB2YWx1
ZSA9IHZhbHVlU3RyaW5nLnRvRG91YmxlKCZvayk7CisgICAgaWYgKCFvaykKKyAgICAgICAgdmFs
dWUgPSAwOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heCh2YWx1ZSwgbWluKCkpLCBtYXgo
KSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0VmFsdWUoZG91YmxlIHZhbHVlKQor
eworICAgIHNldEF0dHJpYnV0ZSh2YWx1ZUF0dHIsIFN0cmluZzo6bnVtYmVyKGlzbmFuKHZhbHVl
KSA/IDAgOiB2YWx1ZSkpOworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVudDo6bWluKCkgY29u
c3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIG1pblN0cmluZyA9IGdldEF0dHJpYnV0ZSht
aW5BdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBtaW4gPSBtaW5TdHJpbmcudG9Eb3Vi
bGUoJm9rKTsKKyAgICByZXR1cm4gb2sgPyBtaW4gOiAwOworfQorCit2b2lkIEhUTUxNZXRlckVs
ZW1lbnQ6OnNldE1pbihkb3VibGUgbWluKQoreworICAgIHNldEF0dHJpYnV0ZShtaW5BdHRyLCBT
dHJpbmc6Om51bWJlcihpc25hbihtaW4pID8gMCA6IG1pbikpOworfQorCitkb3VibGUgSFRNTE1l
dGVyRWxlbWVudDo6bWF4KCkgY29uc3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIG1heFN0
cmluZyA9IGdldEF0dHJpYnV0ZShtYXhBdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBt
YXggPSBtYXhTdHJpbmcudG9Eb3VibGUoJm9rKTsKKyAgICByZXR1cm4gb2sgPyBzdGQ6Om1heCht
YXgsIG1pbigpKSA6IHN0ZDo6bWF4KDEuMCwgbWluKCkpOworfQorCit2b2lkIEhUTUxNZXRlckVs
ZW1lbnQ6OnNldE1heChkb3VibGUgbWF4KQoreworICAgIHNldEF0dHJpYnV0ZShtYXhBdHRyLCBT
dHJpbmc6Om51bWJlcihpc25hbihtYXgpID8gMSA6IG1heCkpOworfQorCitkb3VibGUgSFRNTE1l
dGVyRWxlbWVudDo6bG93KCkgY29uc3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGxvd1N0
cmluZyA9IGdldEF0dHJpYnV0ZShsb3dBdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBs
b3cgPSBsb3dTdHJpbmcudG9Eb3VibGUoJm9rKTsKKyAgICBpZiAoIW9rKQorICAgICAgICBsb3cg
PSBtaW4oKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgobG93LCBtaW4oKSksIG1heCgp
KTsKK30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpzZXRMb3coZG91YmxlIGxvdykKK3sKKyAg
ICBzZXRBdHRyaWJ1dGUobG93QXR0ciwgU3RyaW5nOjpudW1iZXIoaXNuYW4obG93KSA/IG1pbigp
IDogbG93KSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50OjpoaWdoKCkgY29uc3QKK3sK
KyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGhpZ2hTdHJpbmcgPSBnZXRBdHRyaWJ1dGUoaGlnaEF0
dHIpOworICAgIGJvb2wgb2s7CisgICAgZG91YmxlIGhpZ2ggPSBoaWdoU3RyaW5nLnRvRG91Ymxl
KCZvayk7CisgICAgaWYgKCFvaykKKyAgICAgICAgaGlnaCA9IG1heCgpOworICAgIHJldHVybiBz
dGQ6Om1pbihzdGQ6Om1heChoaWdoLCBsb3coKSksIG1heCgpKTsKK30KKwordm9pZCBIVE1MTWV0
ZXJFbGVtZW50OjpzZXRIaWdoKGRvdWJsZSBoaWdoKQoreworICAgIHNldEF0dHJpYnV0ZShoaWdo
QXR0ciwgU3RyaW5nOjpudW1iZXIoaXNuYW4oaGlnaCkgPyBtYXgoKSA6IGhpZ2gpKTsKK30KKwor
ZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6Om9wdGltdW0oKSBjb25zdAoreworICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgb3B0aW11bVN0cmluZyA9IGdldEF0dHJpYnV0ZShvcHRpbXVtQXR0cik7Cisg
ICAgYm9vbCBvazsKKyAgICBkb3VibGUgb3B0aW11bSA9IG9wdGltdW1TdHJpbmcudG9Eb3VibGUo
Jm9rKTsKKyAgICBpZiAoIW9rKQorICAgICAgICBvcHRpbXVtID0gKG1heCgpICsgbWluKCkpIC8g
MjsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgob3B0aW11bSwgbWluKCkpLCBtYXgoKSk7
Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0T3B0aW11bShkb3VibGUgb3B0aW11bSkK
K3sKKyAgICBzZXRBdHRyaWJ1dGUob3B0aW11bUF0dHIsIFN0cmluZzo6bnVtYmVyKGlzbmFuKG9w
dGltdW0pID8gKChtYXgoKSArIG1pbigpKSAvIDIpIDogb3B0aW11bSkpOworfQorCit9IC8vIG5h
bWVzcGFjZQorI2VuZGlmCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgSFRNTE1ldGVyRWxlbWVudF9o
CisjZGVmaW5lIEhUTUxNZXRlckVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNp
bmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgSFRNTE1ldGVyRWxlbWVudCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgSFRNTEZvcm1FbGVtZW50KiA9IDAp
OworCisgICAgZG91YmxlIHZhbHVlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRWYWx1ZShkb3VibGUp
OworCisgICAgZG91YmxlIG1pbigpIGNvbnN0OworICAgIHZvaWQgc2V0TWluKGRvdWJsZSk7CisK
KyAgICBkb3VibGUgbWF4KCkgY29uc3Q7CisgICAgdm9pZCBzZXRNYXgoZG91YmxlKTsKKworICAg
IGRvdWJsZSBsb3coKSBjb25zdDsKKyAgICB2b2lkIHNldExvdyhkb3VibGUpOworCisgICAgZG91
YmxlIGhpZ2goKSBjb25zdDsKKyAgICB2b2lkIHNldEhpZ2goZG91YmxlKTsKKworICAgIGRvdWJs
ZSBvcHRpbXVtKCkgY29uc3Q7CisgICAgdm9pZCBzZXRPcHRpbXVtKGRvdWJsZSk7CisKK3ByaXZh
dGU6CisgICAgSFRNTE1ldGVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
LCBIVE1MRm9ybUVsZW1lbnQqKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc09wdGlvbmFsRm9ybUNv
bnRyb2woKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIFJlbmRlck9i
amVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOworCisgICAg
dmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOworfTsK
KworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE1ldGVy
RWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVu
dC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCittb2R1
bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVURVJfVEFH
CisgICAgXSBIVE1MTWV0ZXJFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgZG91YmxlIHZhbHVlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91
YmxlIG1pbjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBtYXg7CisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgbG93OworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgZG91YmxlIGhpZ2g7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgb3B0aW11
bTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOworICAg
IH07Cit9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4JKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29y
ZS9odG1sL0hUTUxUYWdOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCBt
YXAgY3JlYXRlV2l0aE5ldwogbWFycXVlZSBjcmVhdGVXaXRoTmV3CiBtZW51IGNyZWF0ZVdpdGhO
ZXcKIG1ldGEgY3JlYXRlV2l0aE5ldworbWV0ZXIgaW50ZXJmYWNlTmFtZT1IVE1MTWV0ZXJFbGVt
ZW50LCBjb25kaXRpb25hbD1NRVRFUl9UQUcKIG5hdiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
CiBub2JyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vZW1iZWQgaW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudApJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQxMSw2ICs0MTEsOSBAQCBt
b2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNYXJxdWVlRWxlbWVudENvbnN0
cnVjdG9yIEhUTUxNYXJxdWVlRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNZW51RWxl
bWVudENvbnN0cnVjdG9yIEhUTUxNZW51RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxN
ZXRhRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZXRhRWxlbWVudDsKKyNpZiBkZWZpbmVkKEVOQUJM
RV9NRVRFUl9UQUcpICYmIEVOQUJMRV9NRVRFUl9UQUcKKyAgICAgICAgYXR0cmlidXRlIEhUTUxN
ZXRlckVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWV0ZXJFbGVtZW50OworI2VuZGlmCiAgICAgICAg
IGF0dHJpYnV0ZSBIVE1MTW9kRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNb2RFbGVtZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgSFRNTE9MaXN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxPTGlzdEVsZW1l
bnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MT2JqZWN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxP
YmplY3RFbGVtZW50OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgJKHJldmlzaW9uIDU4MjYyKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcg
KzUyLDcgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgTWVkaWFTZWVrRm9yd2FyZEJ1dHRvblBh
cnQsIE1lZGlhUmV3aW5kQnV0dG9uUGFydCwgTWVkaWFSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uUGFy
dCwgTWVkaWFUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvblBhcnQsCiAgICAgTWVkaWFTbGlkZXJQ
YXJ0LCBNZWRpYVNsaWRlclRodW1iUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJDb250YWluZXJQYXJ0
LCBNZWRpYVZvbHVtZVNsaWRlclBhcnQsIE1lZGlhVm9sdW1lU2xpZGVyVGh1bWJQYXJ0LAogICAg
IE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kUGFydCwgTWVkaWFDdXJyZW50VGltZVBhcnQsIE1lZGlh
VGltZVJlbWFpbmluZ1BhcnQsCi0gICAgTWVudWxpc3RQYXJ0LCBNZW51bGlzdEJ1dHRvblBhcnQs
IE1lbnVsaXN0VGV4dFBhcnQsIE1lbnVsaXN0VGV4dEZpZWxkUGFydCwgT3V0ZXJTcGluQnV0dG9u
UGFydCwgUHJvZ3Jlc3NCYXJQYXJ0LCBQcm9ncmVzc0JhclZhbHVlUGFydCwKKyAgICBNZW51bGlz
dFBhcnQsIE1lbnVsaXN0QnV0dG9uUGFydCwgTWVudWxpc3RUZXh0UGFydCwgTWVudWxpc3RUZXh0
RmllbGRQYXJ0LCBNZXRlclBhcnQsIE91dGVyU3BpbkJ1dHRvblBhcnQsIFByb2dyZXNzQmFyUGFy
dCwgUHJvZ3Jlc3NCYXJWYWx1ZVBhcnQsCiAgICAgU2xpZGVySG9yaXpvbnRhbFBhcnQsIFNsaWRl
clZlcnRpY2FsUGFydCwgU2xpZGVyVGh1bWJIb3Jpem9udGFsUGFydCwKICAgICBTbGlkZXJUaHVt
YlZlcnRpY2FsUGFydCwgQ2FyZXRQYXJ0LCBTZWFyY2hGaWVsZFBhcnQsIFNlYXJjaEZpZWxkRGVj
b3JhdGlvblBhcnQsCiAgICAgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQsIFNlYXJj
aEZpZWxkUmVzdWx0c0J1dHRvblBhcnQsCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRl
clRoZW1lUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhl
bWVRdC5jcHAJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTAgQEAKICNpbmNsdWRlICJR
dFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaCIKICNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5oIgog
I2luY2x1ZGUgIlJlbmRlckJveC5oIgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAi
SFRNTE1ldGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgiCisjZW5kaWYKICNp
ZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogI2luY2x1ZGUgIlJlbmRlclByb2dyZXNzLmgiCiAjZW5k
aWYKQEAgLTY4Nyw2ICs2OTEsNjYgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0
QnV0dG9uKAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorI2lmIEVOQUJMRShNRVRFUl9UQUcpCit2
b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdE1ldGVyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJl
bmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0Cit7CisgICAgc3R5bGUtPnNldEJveFNo
YWRvdygwKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1ldGVyKFJlbmRlck9iamVj
dCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBpLCBjb25zdCBJbnRSZWN0JiBy
KQoreworICAgIFN0eWxlUGFpbnRlciBwKHRoaXMsIHBpKTsKKyAgICBpZiAoIXAuaXNWYWxpZCgp
KQorICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmVuZGVyTWV0ZXIqIHJlbmRlck1ldGVyID0g
dG9SZW5kZXJNZXRlcihvKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBvLT5zdHlsZSgpOwor
ICAgIGludCBsZWZ0ID0gc3R5bGUtPmJvcmRlckxlZnQoKS53aWR0aCgpICsgc3R5bGUtPnBhZGRp
bmdMZWZ0KCkudmFsdWUoKTsKKyAgICBpbnQgdG9wID0gc3R5bGUtPmJvcmRlclRvcCgpLndpZHRo
KCkgKyBzdHlsZS0+cGFkZGluZ1RvcCgpLnZhbHVlKCk7CisgICAgaW50IHJpZ2h0ID0gc3R5bGUt
PmJvcmRlclJpZ2h0KCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nUmlnaHQoKS52YWx1ZSgpOwor
ICAgIGludCBib3R0b20gPSBzdHlsZS0+Ym9yZGVyQm90dG9tKCkud2lkdGgoKSArIHN0eWxlLT5w
YWRkaW5nQm90dG9tKCkudmFsdWUoKTsKKyAgICBJbnRSZWN0IGlubmVyUmVjdChyLngoKSArIGxl
ZnQsIHIueSgpICsgdG9wLCByLndpZHRoKCkgLSBsZWZ0IC0gcmlnaHQsIHIuaGVpZ2h0KCkgLSB0
b3AgLSBib3R0b20pOworCisgICAgSFRNTE1ldGVyRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19j
YXN0PEhUTUxNZXRlckVsZW1lbnQqPihyZW5kZXJNZXRlci0+bm9kZSgpKTsKKyAgICBkb3VibGUg
bWluID0gZWxlbWVudC0+bWluKCk7CisgICAgZG91YmxlIG1heCA9IGVsZW1lbnQtPm1heCgpOwor
ICAgIGRvdWJsZSB2YWx1ZSA9IGVsZW1lbnQtPnZhbHVlKCk7CisKKyAgICAvLyBTaW5jZSBRdCBk
b2VzIG5vdCBoYXZlIGEgZ2F1Z2Ugd2lkZ2V0LCB3ZSBkcmF3IGl0IGhlcmUuCisgICAgUVJlY3Qg
dmFsdWVSZWN0OworICAgIFFSZWN0IGJhY2tncm91bmRSZWN0OworICAgIGlmIChtaW4gPj0gbWF4
KSB7CisgICAgICAgIHBpLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5maWxsUmVjdChpbm5l
clJlY3QsIFF0OjpibGFjayk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBp
ZiAoci53aWR0aCgpIDwgci5oZWlnaHQoKSkgeworICAgICAgICAvLyBWZXJ0aWNhbCBnYXVnZQor
ICAgICAgICBkb3VibGUgc2NhbGUgPSBpbm5lclJlY3QuaGVpZ2h0KCkgLyAobWF4IC0gbWluKTsK
KyAgICAgICAgdmFsdWVSZWN0LnNldFJlY3QoaW5uZXJSZWN0LngoKSwgaW5uZXJSZWN0LnkoKSAr
IHJvdW5kKChtYXggLSB2YWx1ZSkgKiBzY2FsZSksIGlubmVyUmVjdC53aWR0aCgpLCByb3VuZCgo
dmFsdWUgLSBtaW4pICogc2NhbGUpKTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0UmVjdChp
bm5lclJlY3QueCgpLCBpbm5lclJlY3QueSgpLCBpbm5lclJlY3Qud2lkdGgoKSwgcm91bmQoKG1h
eCAtIHZhbHVlKSAqIHNjYWxlKSk7CisgICAgfSBlbHNlIGlmIChyZW5kZXJNZXRlci0+c3R5bGUo
KS0+ZGlyZWN0aW9uKCkgPT0gUlRMKSB7CisgICAgICAgIC8vIHJpZ2h0IHRvIGxlZnQgaG9yaXpv
bnRhbCBnYXVnZQorICAgICAgICBkb3VibGUgc2NhbGUgPSBpbm5lclJlY3Qud2lkdGgoKSAvICht
YXggLSBtaW4pOworICAgICAgICB2YWx1ZVJlY3Quc2V0UmVjdChpbm5lclJlY3QueCgpICsgcm91
bmQoKG1heCAtIHZhbHVlKSAqIHNjYWxlKSwgaW5uZXJSZWN0LnkoKSwgcm91bmQoKHZhbHVlIC0g
bWluKSAqIHNjYWxlKSwgaW5uZXJSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgYmFja2dyb3VuZFJl
Y3Quc2V0UmVjdChpbm5lclJlY3QueCgpLCBpbm5lclJlY3QueSgpLCBscm91bmQoKG1heCAtIHZh
bHVlKSAqIHNjYWxlKSwgaW5uZXJSZWN0LmhlaWdodCgpKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICAvLyBsZWZ0IHRvIHJpZ2h0IGhvcml6b250YWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxl
ID0gaW5uZXJSZWN0LndpZHRoKCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0LnNl
dFJlY3QoaW5uZXJSZWN0LngoKSwgaW5uZXJSZWN0LnkoKSwgcm91bmQoKHZhbHVlIC0gbWluKSAq
IHNjYWxlKSwgaW5uZXJSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0
UmVjdChpbm5lclJlY3QueCgpICsgdmFsdWVSZWN0LndpZHRoKCksIGlubmVyUmVjdC55KCksIHJv
dW5kKChtYXggLSB2YWx1ZSkgKiBzY2FsZSksIGlubmVyUmVjdC5oZWlnaHQoKSk7CisgICAgfQor
ICAgIGlmICghdmFsdWVSZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcGkuY29udGV4dC0+cGxhdGZv
cm1Db250ZXh0KCktPmZpbGxSZWN0KHZhbHVlUmVjdCwgUXQ6OmJsYWNrKTsKKworICAgIGlmICgh
YmFja2dyb3VuZFJlY3QuaXNFbXB0eSgpKQorICAgICAgICBwaS5jb250ZXh0LT5wbGF0Zm9ybUNv
bnRleHQoKS0+ZmlsbFJlY3QoYmFja2dyb3VuZFJlY3QsIFF0OjpsaWdodEdyYXkpOworCisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiBk
b3VibGUgUmVuZGVyVGhlbWVRdDo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jh
cihSZW5kZXJQcm9ncmVzcyogcmVuZGVyUHJvZ3Jlc3MpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuaAkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDYgKzExMiwxMSBA
QCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3RCdXR0b24oUmVuZGVy
T2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7
CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxl
Y3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogCisjaWYgRU5BQkxFKE1FVEVS
X1RBRykKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWV0ZXJTdHlsZShDU1NTdHlsZVNlbGVjdG9y
KiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50
TWV0ZXIoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0Jik7CisjZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgdmly
dHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRl
clN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludFByb2dyZXNz
QmFyKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYg
RU5BQkxFKE1FVEVSX1RBRykKKworI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgiCisKKyNpbmNsdWRl
ICJIVE1MTWV0ZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKKwordXNpbmcg
bmFtZXNwYWNlIHN0ZDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOworCitSZW5kZXJNZXRlcjo6UmVuZGVyTWV0ZXIoSFRNTE1ldGVyRWxlbWVudCog
ZWxlbWVudCkKKyAgICA6IFJlbmRlckJsb2NrKGVsZW1lbnQpCit7Cit9CisKK3ZvaWQgUmVuZGVy
TWV0ZXI6OmxheW91dCgpCit7CisgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOworCisgICAgTGF5
b3V0UmVwYWludGVyIHJlcGFpbnRlcigqdGhpcywgY2hlY2tGb3JSZXBhaW50RHVyaW5nTGF5b3V0
KCkpOworCisgICAgY2FsY1dpZHRoKCk7CisgICAgY2FsY0hlaWdodCgpOworCisgICAgbV9vdmVy
Zmxvdy5jbGVhcigpOworCisgICAgcmVwYWludGVyLnJlcGFpbnRBZnRlckxheW91dCgpOworCisg
ICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOworfQorCit2b2lkIFJlbmRlck1ldGVyOjp1cGRhdGVG
cm9tRWxlbWVudCgpCit7CisgICAgcmVwYWludCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAkocmV2aXNpb24gMCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBSZW5kZXJNZXRlcl9oCisjZGVmaW5l
IFJlbmRlck1ldGVyX2gKKworI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAiUmVuZGVy
QmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBIVE1MTWV0ZXJFbGVtZW50OworCitjbGFzcyBSZW5kZXJNZXRlciA6IHB1Ymxp
YyBSZW5kZXJCbG9jayB7CitwdWJsaWM6CisgICAgUmVuZGVyTWV0ZXIoSFRNTE1ldGVyRWxlbWVu
dCopOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0IHsgcmV0dXJuICJSZW5kZXJNZXRlciI7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNNZXRlcigp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCk7Cit9OworCitpbmxpbmUgUmVuZGVyTWV0
ZXIqIHRvUmVuZGVyTWV0ZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QpCit7CisgICAgQVNTRVJUKCFv
YmplY3QgfHwgb2JqZWN0LT5pc01ldGVyKCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5k
ZXJNZXRlcio+KG9iamVjdCk7Cit9CisKKy8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcg
YW4gdW5uZWNlc3NhcnkgY2FzdC4KK3ZvaWQgdG9SZW5kZXJNZXRlcihjb25zdCBSZW5kZXJNZXRl
ciopOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorCisjZW5kaWYgLy8gUmVu
ZGVyTWV0ZXJfaAorCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gNTgy
NjIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5KQpA
QCAtMjc3LDYgKzI3Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNMaXN0TWFya2Vy
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYSgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWVudUxpc3QoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAgdmlydHVhbCBi
b29sIGlzTWV0ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAjaWYgRU5BQkxF
KFBST0dSRVNTX1RBRykKICAgICB2aXJ0dWFsIGJvb2wgaXNQcm9ncmVzcygpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAJKHJl
dmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTMsNiArMjEzLDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0
eWxlKENTU1N0eWxlU2UKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAg
ICByZXR1cm4gYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwogI2Vu
ZGlmCisjaWYgRU5BQkxFKE1ldGVyX1RBRykKKyAgICAgICAgY2FzZSBNZXRlclBhcnQ6CisgICAg
ICAgICAgICByZXR1cm4gYWRqdXN0TWV0ZXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworI2Vu
ZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICB9CkBAIC0yNzEs
NiArMjc1LDEwIEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KFJlbmRlck9iamVjdCogbywKICNl
bmRpZgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKICAgICAgICAgICAgIHJldHVybiBwYWlu
dE1lbnVMaXN0KG8sIHBhaW50SW5mbywgcik7CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAgICAg
ICAgY2FzZSBNZXRlclBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRNZXRlcihvLCBwYWlu
dEluZm8sIHIpOworI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAgY2Fz
ZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRQcm9ncmVzc0Jhcihv
LCBwYWludEluZm8sIHIpOwpAQCAtMzY1LDYgKzM3Myw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBh
aW50Qm9yZGVyT25seShSZW5kZXIKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKICAg
ICAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKKyNpZiBF
TkFCTEUoTUVURVJfVEFHKQorICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyNlbmRpZgogI2lmIEVO
QUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgogI2VuZGlm
CkBAIC00MDMsNiArNDE0LDkgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyhS
ZW5kZQogICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIEJ1dHRv
blBhcnQ6CiAgICAgICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorI2lmIEVOQUJMRShNRVRFUl9UQUcp
CisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RB
RykKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAjZW5kaWYKQEAgLTg0MCw2ICs4NTQs
MTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0TWVudUxpc3RTdHlsZShDUwogewogfQogCisj
aWYgRU5BQkxFKE1FVEVSX1RBRykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5bGUo
Q1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0Cit7Cit9Cisj
ZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiBkb3VibGUgUmVuZGVyVGhlbWU6OmFu
aW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MqKSBjb25z
dAogewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCShyZXZpc2lvbiA1ODI2MikKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzNyw2ICsy
MzcsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZW51TGlzdEJ1dHRv
blN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlzdEJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25z
dCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVl
OyB9CiAKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZXRl
clN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZXRlcihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJP
YmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisjZW5k
aWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFBy
b2dyZXNzQmFyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCop
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludFByb2dyZXNzQmFyKFJlbmRlck9iamVjdCos
IGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJu
IHRydWU7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU4MjYzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTAtMDQtMjYgIFlhZWwgQWhh
cm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAK
KworICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0czogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQt
dGVzdHMvc2V0LW1ldGVyLXByb3BlcnRpZXMuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0
aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVu
dC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL0hU
TUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorCiAyMDEwLTA0LTI2ICBZYWVsIEFoYXJvbiAgPHlh
ZWwuYWhhcm9uQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9z
LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVt
ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9tZXRlci1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorPGh0bWw+PGJvZHk+PG1ldGVyIG1pbj0xMCB2YWx1ZT0zMCBtYXg9MTAwPjwv
bWV0ZXI+PG1ldGVyIG1pbj0wIHZhbHVlPTcwIG1heD0xMDAgc3R5bGU9IndpZHRoOjEwcHg7IGhl
aWdodDo2MHB4OyI+PC9tZXRlcj48L2JvZHk+PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQt
bWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorVGVzdCBzZXR0aW5nIHZhbGlkIGFu
ZCBpbnZhbGlkIHByb3BlcnRpZXMgb2YgSFRNTE1ldGVyRWxlbWVudC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1Rlc3QgdmFsdWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0
CitQQVNTIG0ubWluIGlzIDAKK1BBU1MgbS52YWx1ZSBpcyAwCitQQVNTIG0ubWF4IGlzIDEKK1BB
U1MgbS5sb3cgaXMgMAorUEFTUyBtLmhpZ2ggaXMgMQorUEFTUyBtLm9wdGltdW0gaXMgMC41CitT
ZXQgdmFsaWQgdmFsdWVzCitQQVNTIG0ubWluIGlzIC0xMAorUEFTUyBtLnZhbHVlIGlzIDcwCitQ
QVNTIG0ubWF4IGlzIDEwMAorUEFTUyBtLmxvdyBpcyAxMC4xCitQQVNTIG0uaGlnaCBpcyA5OS41
CitQQVNTIG0ub3B0aW11bSBpcyA3MAorU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVz
IC0gMQorUEFTUyBtLm1pbiBpcyAtMTAKK1BBU1MgbS52YWx1ZSBpcyAxMDAKK1BBU1MgbS5tYXgg
aXMgMTAwCitQQVNTIG0ubG93IGlzIDEwMAorUEFTUyBtLmhpZ2ggaXMgMTAwCitQQVNTIG0ub3B0
aW11bSBpcyAwCitTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAyCitQQVNTIG0u
bWluIGlzIDIwMC4wCitQQVNTIG0udmFsdWUgaXMgMjAwLjAKK1BBU1MgbS5tYXggaXMgMjAwLjAK
K1BBU1MgbS5sb3cgaXMgMjAwLjAKK1NldCBpbnZhbGlkIHZhbHVlCitQQVNTIG0udmFsdWUgaXMg
MjAwCitTZXQgYXR0cmlidXRlcyB0byB2YWxpZCBudW1iZXJzCitQQVNTIG0udmFsdWUgaXMgNQor
UEFTUyBtLm1heCBpcyAxMAorUEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSkg
aXMgNQorUEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0ZSgnbWF4JykpIGlzIDEwCitTZXQgYXR0
cmlidXRlcyB0byBpbnZhbGlkIHZhbHVlcworUEFTUyBtLnZhbHVlIGlzIDAKK1BBU1MgbS5tYXgg
aXMgMQorUEFTUyBtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSBpcyAnQUJDJworUEFTUyBtLmdldEF0
dHJpYnV0ZSgnbWF4JykgaXMgJyMnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1l
dGVyLXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zZXQt
bWV0ZXItcHJvcGVydGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1Q
TEFURS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVu
dC9zY3JpcHQtdGVzdHMvc2V0LW1ldGVyLXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LW1ldGVy
LXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qcwkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw3MyBAQAorZGVzY3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBh
bmQgaW52YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxNZXRlckVsZW1lbnQuJyk7CisKK3ZhciBtID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0ZXInKTsKKworZGVidWcoIlRlc3QgdmFsdWVzIGJl
Zm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Iik7CitzaG91bGRCZSgibS5taW4iLCAiMCIpOworc2hv
dWxkQmUoIm0udmFsdWUiLCAiMCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEiKTsKK3Nob3VsZEJl
KCJtLmxvdyIsICIwIik7CitzaG91bGRCZSgibS5oaWdoIiwgIjEiKTsKK3Nob3VsZEJlKCJtLm9w
dGltdW0iLCAiMC41Iik7CisKK2RlYnVnKCJTZXQgdmFsaWQgdmFsdWVzIik7CittLm1pbiA9ICIt
MTAiOworbS52YWx1ZSA9IDdlMTsKK20ubWF4ID0gIjFlMiI7CittLmxvdyA9ICIxMC4xIjsKK20u
aGlnaCA9ICI5OS41IjsKK20ub3B0aW11bSA9ICI3MCI7CitzaG91bGRCZSgibS5taW4iLCAiLTEw
Iik7CitzaG91bGRCZSgibS52YWx1ZSIsICI3MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIp
Oworc2hvdWxkQmUoIm0ubG93IiwgIjEwLjEiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiOTkuNSIp
Oworc2hvdWxkQmUoIm0ub3B0aW11bSIsICI3MCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMg
dG8gaW1wcm9wZXIgdmFsdWVzIC0gMSIpOworbS5taW4gPSAtMTA7CittLnZhbHVlID0gMjAwOwor
bS5tYXggPSAxMDAuMDsKK20ubG93ID0gMjAwOworbS5oaWdoID0gLTUwOworbS5vcHRpbXVtID0g
bnVsbDsKK3Nob3VsZEJlKCJtLm1pbiIsICItMTAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjEw
MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIpOworc2hvdWxkQmUoIm0ubG93IiwgIjEwMCIp
Oworc2hvdWxkQmUoIm0uaGlnaCIsICIxMDAiKTsKK3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMCIp
OworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMiIpOworbS5t
aW4gPSAyMDAuMDsKK20udmFsdWUgPSAtMjAwLjA7CittLm1heCA9IDA7CittLmxvdyA9IG51bGw7
CitzaG91bGRCZSgibS5taW4iLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjIwMC4w
Iik7CitzaG91bGRCZSgibS5tYXgiLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIyMDAu
MCIpOworCitkZWJ1ZygiU2V0IGludmFsaWQgdmFsdWUiKTsKK20udmFsdWUgPSAiQUJDIjsKK3No
b3VsZEJlKCJtLnZhbHVlIiwgIjIwMCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gdmFs
aWQgbnVtYmVycyIpOworbS5zZXRBdHRyaWJ1dGUoIm1pbiIsIDApOworbS5zZXRBdHRyaWJ1dGUo
InZhbHVlIiwgNSk7CittLnNldEF0dHJpYnV0ZSgibWF4IiwgMTApOworc2hvdWxkQmUoIm0udmFs
dWUiLCAiNSIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwIik7CitzaG91bGRCZSgicGFyc2VJbnQo
bS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpIiwgIjUiKTsKK3Nob3VsZEJlKCJwYXJzZUludChtLmdl
dEF0dHJpYnV0ZSgnbWF4JykpIiwgIjEwIik7CisKK2RlYnVnKCJTZXQgYXR0cmlidXRlcyB0byBp
bnZhbGlkIHZhbHVlcyIpOworbS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIkFCQyIpOworbS5zZXRB
dHRyaWJ1dGUoIm1heCIsICIjIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIwIik7CitzaG91bGRC
ZSgibS5tYXgiLCAiMSIpOworc2hvdWxkQmUoIm0uZ2V0QXR0cmlidXRlKCd2YWx1ZScpIiwgIidB
QkMnIik7CitzaG91bGRCZSgibS5nZXRBdHRyaWJ1dGUoJ21heCcpIiwgIicjJyIpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNTgyNjIp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTI2MzMsNiArMjYzMywxMCBAQCBCVUczODIyNyBERUZFUiA6IGZh
c3QvZG9tL0hUTUxQcm9ncmVzc0VsCiBCVUczODIyNyBERUZFUiA6IGZhc3QvZG9tL0hUTUxQcm9n
cmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKIEJVRzM4MjI3
IFNLSVAgOiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1w
c2V1ZG8tZWxlbWVudC5odG1sID0gRkFJTAogCisvLyBIVE1MTWV0ZXJFbGVtZW50IHJlbGF0ZWQg
dGVzdHMgZGVmZXJyZWQgZHVlIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNzA3NC4KK0JVRzM3MDc0IERFRkVSIDogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9t
ZXRlci1lbGVtZW50Lmh0bWwgPSBNSVNTSU5HCitCVUczNzA3NCBERUZFUiA6IGZhc3QvZG9tL0hU
TUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKKwogLy8gV2Vi
S2l0IHJvbGwgNTYwMDQgLT4gNTYwMjYKIEJVRzM4Mjc4IDogZmFzdC9ldmVudHMvY29udGludW91
cy1wbGF0Zm9ybS13aGVlbGV2ZW50LWluLXNjcm9sbGluZy1kaXYuaHRtbCA9IFRJTUVPVVQKIEJV
RzM4Mjc4IDogZmFzdC9ldmVudHMvcGxhdGZvcm0td2hlZWxldmVudC1pbi1zY3JvbGxpbmctZGl2
Lmh0bWwgPSBUSU1FT1VUCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24g
NTgyNjIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5
KQpAQCAtNTgzNSw2ICs1ODM1LDEwIEBAIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJv
Z3Jlc3MtZWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3Bl
cnRpZXMuaHRtbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1iYXItdmFs
dWUtcHNldWRvLWVsZW1lbnQuaHRtbAogCisjIHJlbmRlclRoZW1lIGlzIG5vdCByZWFkeSB0byBk
cmF3IG1ldGVyIGVsZW1lbnQKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVu
dC5odG1sCitmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKKwogIyBOZWVkcyBtb2NrIHN1cHBvcnQsIGFuZCBidWlsZCBzbGF2ZSBHZW9sb2NhdGlvbiBz
ZXJ2aWNlCiAjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYw
NTMKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL21heGltdW0tYWdlLmh0bWwKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkCShyZXZpc2lvbiA1ODI2MikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNiArMTM5LDEwIEBAIGZhc3QvZm9y
bXMvbXVsdGlwbGUtZm9ybS1zdWJtaXNzaW9uLXByb3QKICMgVGhlIGFuaW1hdGlvbiBjYXVzZXMg
dGhlIHJlc3VsdCBvZiB0aGlzIHRlc3QgdG8gZGVwZW5kIG9uIHRoZSBzcGVlZCBvZiBleGVjdXRp
bmcgaXQsIGFuZCB0aGF0IHdpbGwgY2F1c2UgaXQgdG8gYmUgZmxha3kKIGZhc3QvZG9tL0hUTUxQ
cm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC5odG1sCiAKKyMgcmVuZGVyVGhlbWUgaXMg
bm90IHJlYWR5IHRvIGRyYXcgbWV0ZXIgZWxlbWVudAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVu
dC9tZXRlci1lbGVtZW50Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVy
LXByb3BlcnRpZXMuaHRtbAorCiAjIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3Vy
aS1saXN0Jykgbm90IGNvcnJlY3RseSBpbXBsZW1lbnRlZCBvbiBNYWMKIGVkaXRpbmcvcGFzdGVi
b2FyZC9kYXRhVHJhbnNmZXItc2V0RGF0YS1nZXREYXRhLmh0bWwKIApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4
cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRl
ckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorNmQ5NWZjNmVjNjU5MTQyMWEyMjRkZThkOWQ5MzkyOTgKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXIt
ZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlck1l
dGVyIHtNRVRFUn0gYXQgKDAsNDQpIHNpemUgODB4MTYKKyAgICAgIFJlbmRlck1ldGVyIHtNRVRF
Un0gYXQgKDgwLDApIHNpemUgMTB4NjAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHJldmlzaW9uIDU4MjYy
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAg
LTgzMiw2ICs4MzIsMTAgQEAgZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1l
bAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5o
dG1sCiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1wc2V1
ZG8tZWxlbWVudC5odG1sCiAKKyMgcmVuZGVyVGhlbWUgaXMgbm90IHJlYWR5IHRvIGRyYXcgbWV0
ZXIgZWxlbWVudAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwK
K2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAorCiAj
IE5vIFdpZGdldHMgMS4wIHN1cHBvcnQKIGZhc3QvbWVkaWEvbWVkaWEtZmVhdHVyZS13Z3Qtdmll
dy1tb2RlLmh0bWwKIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5v
dCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0g
YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhw
ZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNh
ZG9Kd0FBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJBQUFNCnBrbEVRVlI0bk8zWlFXckVNQkFB
d1Nqc3YvUjErMldUOHg3RFFpdkJWVGVCakFmZG1sa3pNMThBQUFDQjc5TURBQUFBenlGQUFBQ0EK
akFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0F6
T3YwQUU5eTMvZmJlZTk5YUJJQQpBRGpEQmdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBekpxWk9UM0VVNnkxM3M2ZUhnQ0FwN0VCQVFBQU1nSUVBQURJQ0JBQUFD
QWoKUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESQpDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBCk1nSUVBQURJQ0JBQUFD
RHorczNsdGRaSFA3dXU2NlB2LzR1OTkra1JBQURnVDdJQkFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFB
QWdJd0EKQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNbXRtNXZRUUFBREFNOWlBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
CkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtmZ0JnSUJtbURnYVdDUUFBCkFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54336</attachid>
            <date>2010-04-26 15:00:37 -0700</date>
            <delta_ts>2010-04-26 17:33:03 -0700</delta_ts>
            <desc>Third time is a charm</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>59677</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODI2MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODIgQEAKKzIwMTAtMDQtMjYgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBvbmx5IGZvciBRdCBwbGF0Zm9ybS4KKyAgICAgICAgU2luY2UgUXQgZG9l
cyBub3QgaGF2ZSBhIG5hdGl2ZSBnYXVnZS1saWtlIHdpZGdldCwgUmVuZGVyVGhlbWVRdCBkcmF3
cyAKKyAgICAgICAgdGhlIGVsZW1lbnQgYnkgaXRzZWxmLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCisKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZl
VmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNz
cy9odG1sLmNzczoKKyAgICAgICAgKG1ldGVyKToKKyAgICAgICAgKG1ldGVyOjotd2Via2l0LW1l
dGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBo
dG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlubGluZVRhZ0xpc3QpOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGh0bWwv
SFRNTE1ldGVyRWxlbWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6SFRNTE1ldGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJF
bGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Zm9ybUNv
bnRyb2xUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om1pbik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWV0ZXJFbGVtZW50OjpzZXRNaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxl
bWVudDo6bWF4KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldE1heCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpsb3cpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0TG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZXRlckVsZW1lbnQ6OmhpZ2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
c2V0SGlnaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpvcHRpbXVtKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldE9wdGltdW0pOgorICAgICAg
ICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZXRlckVsZW1lbnQ6OmlzT3B0aW9uYWxGb3JtQ29udHJvbCk6CisgICAgICAgICogaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MVGFnTmFtZXMu
aW46CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL1Ro
ZW1lVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZXRlcik6CisgICAgICAgICogcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZXRlci5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OlJlbmRlck1ldGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1ldGVyOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTWV0ZXI6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTWV0ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6cmVu
ZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6aXNNZXRlcik6CisgICAg
ICAgIChXZWJDb3JlOjp0b1JlbmRlck1ldGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzTWV0ZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50TWV0ZXIpOgorCiAyMDEwLTA0LTI2ICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9z
QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KSW5kZXg6
IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDcgQEAKICNpbmNsdWRlICJKU0hUTUxN
ZWRpYUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE1lbnVFbGVtZW50LmNwcCIKICNpbmNs
dWRlICJKU0hUTUxNZXRhRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiSlNIVE1MTWV0ZXJFbGVtZW50
LmNwcCIKICNpbmNsdWRlICJKU0hUTUxNb2RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxP
YmplY3RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxPTGlzdEVsZW1lbnQuY3BwIgpJbmRl
eDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw2ICsxNzksNyBAQCBET01fQ0xBU1NFUyA9
IFwKICAgICBIVE1MTWVkaWFFbGVtZW50IFwKICAgICBIVE1MTWVudUVsZW1lbnQgXAogICAgIEhU
TUxNZXRhRWxlbWVudCBcCisgICAgSFRNTE1ldGVyRWxlbWVudCBcCiAgICAgSFRNTE1vZEVsZW1l
bnQgXAogICAgIEhUTUxPTGlzdEVsZW1lbnQgXAogICAgIEhUTUxPYmplY3RFbGVtZW50IFwKQEAg
LTYyOSw2ICs2MzAsMTAgQEAgaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9EQVRBTElTVCwkKEZF
QQogICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfREFUQUxJU1Q9MQogZW5k
aWYKIAoraWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NRVRFUl9UQUcsJChGRUFUVVJFX0RFRklO
RVMpKSwgRU5BQkxFX01FVEVSX1RBRykKKyAgICBIVE1MX0ZMQUdTIDo9ICQoSFRNTF9GTEFHUykg
RU5BQkxFX01FVEVSX1RBRz0xCitlbmRpZgorCiBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX1BS
T0dSRVNTX1RBRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfUFJPR1JFU1NfVEFHKQogICAg
IEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfUFJPR1JFU1NfVEFHPTEKIGVuZGlm
CkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQko
d29ya2luZyBjb3B5KQpAQCAtMjQzLDYgKzI0Myw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2Vi
Q29yZS9odG1sL01lZGlhRXJyb3IuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50
LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5pZGwgXAorICAgIFdlYkNvcmUv
aHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50
LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsIFwKQEAgLTExNjUsNiArMTE2Niw5IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZW51RWxlbWVudC5oIFwKIAlXZWJDb3Jl
L2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVu
dC5oIFwKKyAgICBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAgXAorICAgIFdlYkNv
cmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCBcCisgICAgV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAJV2ViQ29y
ZS9odG1sL0hUTUxNb2RFbGVtZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MTmFtZUNvbGxlY3Rp
b24uY3BwIFwKQEAgLTE4OTYsNiArMTkwMCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNZW51TGlzdC5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggXAor
ICAgIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCBcCisgICAgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWV0ZXIuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggXAogCVdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgXApAQCAtMjI0NSw2ICsyMjUxLDE0IEBAIHdl
YmNvcmVfY3BwZmxhZ3MgKz0gXAogIyAtLS0tCiAjIEhUTUwgUHJvZ3Jlc3MgRWxlbWVudCAtIGRp
c2FibGUgZm9yIG5vdywgc2luY2UgcGFpbnRpbmcgY29kZSBpcyBtaXNzaW5nLgogIyAtLS0tCitG
RUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX01FVEVSX1RBRz0wCisKK3dlYmNvcmVfY3BwZmxhZ3Mg
Kz0gXAorICAgIC1ERU5BQkxFX01FVEVSX1RBRz0wCisKKyMgLS0tLQorIyBIVE1MIFByb2dyZXNz
IEVsZW1lbnQgLSBkaXNhYmxlIGZvciBub3csIHNpbmNlIHBhaW50aW5nIGNvZGUgaXMgbWlzc2lu
Zy4KKyMgLS0tLQogRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9QUk9HUkVTU19UQUc9MAogCiB3
ZWJjb3JlX2NwcGZsYWdzICs9IFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUv
V2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNTYxLDYgKzE1NjEsOCBAQAogICAgICAg
ICAgICAgJ2h0bWwvSFRNTE1lbnVFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1l
dGFFbGVtZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTWV0YUVsZW1lbnQuaCcsCisg
ICAgICAgICAgICAnaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCcsCisgICAgICAgICAgICAnaHRt
bC9IVE1MTWV0ZXJFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1vZEVsZW1lbnQu
Y3BwJywKICAgICAgICAgICAgICdodG1sL0hUTUxNb2RFbGVtZW50LmgnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcCcsCkBAIC0zMTMzLDYgKzMxMzUsOCBAQAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uaCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCcsCiAgICAgICAgICAgICAncmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJN
ZXRlci5jcHAnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJNZXRlci5oJywKICAgICAg
ICAgICAgICdyZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCcsCiAgICAgICAgICAgICAncmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0LmNwcCcsCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJpCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS5wcmkJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9XZWJDb3Jl
LnByaQkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfU0lOR0xFX1RIUkVBREVECiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ZJREVPPS4p
OiBERUZJTkVTICs9IEVOQUJMRV9WSURFTz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1JV
Qlk9Lik6IERFRklORVMgKz0gRU5BQkxFX1JVQlk9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9TQU5EQk9YPS4pOiBERUZJTkVTICs9IEVOQUJMRV9TQU5EQk9YPTEKKyFjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfTUVURVJfVEFHPS4pOiBERUZJTkVTICs9IEVOQUJMRV9NRVRFUl9UQUc9MQog
IWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9QUk9HUkVTU19UQUc9Lik6IERFRklORVMgKz0gRU5B
QkxFX1BST0dSRVNTX1RBRz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0JMT0JfU0xJQ0U9
Lik6IERFRklORVMgKz0gRU5BQkxFX0JMT0JfU0xJQ0U9MAogIWNvbnRhaW5zKERFRklORVMsIEVO
QUJMRV9OT1RJRklDQVRJT05TPS4pOiBERUZJTkVTICs9IEVOQUJMRV9OT1RJRklDQVRJT05TPTEK
QEAgLTM3Miw2ICszNzMsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE1lbnVFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9I
VE1MTWV0YUVsZW1lbnQuaWRsIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKICAg
ICBodG1sL0hUTUxNb2RFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5p
ZGwgXAogICAgIGh0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwgXApJbmRleDogV2ViQ29yZS9XZWJD
b3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA1ODI2
MikKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY1NCw2ICs2NTQs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5jcHAgXAogICAg
IGh0bWwvSFRNTE1lbnVFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3Bw
IFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxNb2RFbGVt
ZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIFwKICAgICBodG1sL0hU
TUxPYmplY3RFbGVtZW50LmNwcCBcCkBAIC05MzQsNiArOTM1LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgXAorICAgIHJl
bmRlcmluZy9SZW5kZXJNZXRlci5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
IFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCBcCiAgICAgcmVuZGVy
aW5nL1JlbmRlclBhcnQuY3BwIFwKQEAgLTEzNzgsNiArMTM4MCw3IEBAIEhFQURFUlMgKz0gXAog
ICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxNZW51RWxlbWVudC5o
IFwKICAgICBodG1sL0hUTUxNZXRhRWxlbWVudC5oIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1l
bnQuaCBcCiAgICAgaHRtbC9IVE1MTW9kRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxOYW1lQ29s
bGVjdGlvbi5oIFwKICAgICBodG1sL0hUTUxOb1NjcmlwdEVsZW1lbnQuaCBcCkBAIC0xNzA0LDYg
KzE3MDcsNyBAQCBIRUFERVJTICs9IFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwK
ICAgICByZW5kZXJpbmcvUmVuZGVyTWVkaWEuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlck1lbnVM
aXN0LmggXAorICAgIHJlbmRlcmluZy9SZW5kZXJNZXRlci5oIFwKICAgICByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0Q2hpbGRMaXN0LmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBcCiAg
ICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNjUwMSw2ICs2NTAxLDYyIEBACiAJCQkJ
Pg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTWV0ZXJFbGVt
ZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRl
YnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJ
CQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4N
CisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
TmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0hUTUxNZXRl
ckVsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNIVE1MTW9kRWxlbWVudC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQpAQCAtMjc3MzUsNiArMjc3OTEsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlck1ldGVyLmNwcCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmlu
Z1xSZW5kZXJNZXRlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlck9iamVjdC5jcHAiDQogCQkJCT4NCiAJCQk8
L0ZpbGU+DQpAQCAtMzMwNDQsNiArMzMxMDgsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmNwcCIN
CisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVi
dWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0
ZXJFbGVtZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxodG1sXEhUTUxNb2RFbGVtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjU0Nyw2ICsyNTQ3LDEwIEBACiAJCUE0M0JG
NTk5MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJvZ3Jlc3NFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5NzExNDkyOTBBMDBDNjQz
Q0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovOyB9OwogCQlBNDNCRjU5QzExNDkyOTI4MDBD
NjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTQzQkY1OUExMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dy
ZXNzLmNwcCAqLzsgfTsKIAkJQTQzQkY1OUQxMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dy
ZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNC
RjU5QjExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCAqLzsgfTsKKwkJQTQ4QUE5
QkMxMTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0OEFBOUJBMTE4NUYxNzkwMEI2MDFGNyAvKiBS
ZW5kZXJNZXRlci5jcHAgKi87IH07CisJCUE0OEFBOUJEMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5k
ZXJNZXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTQ4QUE5QkIxMTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmggKi87IH07CisJCUE0OEFB
OUM3MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0OEFBOUM0MTE4NUYxQkMwMEI2MDFG
NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCAqLzsgfTsKKwkJQTQ4QUE5QzgxMTg1RjFCQzAwQjYw
MUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVt
ZW50LmggKi87IH07CiAJCUE1MTNCM0Q3MTE0QjE2NjYwMDFDNDI5QiAvKiBLZXlFdmVudENvY29h
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRD
RjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5oICovOyB9OwogCQlBNTEzQjNEODEx
NEIxNjZBMDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlF
dmVudENvY29hLm1tICovOyB9OwogCQlBNTlFM0MxRTExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZl
bnRDb2Rlc0lQaG9uZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAq
LzsgfTsKQEAgLTc5OTcsNiArODAwMSwxMCBAQAogCQlBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0Eg
LyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIVE1MUHJvZ3Jlc3NFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0
M0JGNTlBMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlCMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9n
cmVzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDhBQTlCQTExODVGMTc5MDBCNjAxRjcg
LyogUmVuZGVyTWV0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVuZGVyTWV0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDhBQTlCQjEx
ODVGMTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVuZGVyTWV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ4
QUE5QzQxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0
ZXJFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxNZXRlckVs
ZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAw
NzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQaG9uZS5oOyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29k
ZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1
MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJUGhvbmUubW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJ
UGhvbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcw
MEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMTg4
LDYgKzEzMTk2LDggQEAKIAkJCQlBODcxREMxQjBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFF
bGVtZW50LmNwcCAqLywKIAkJCQlBODcxREMxODBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFF
bGVtZW50LmggKi8sCiAJCQkJQTgwRTc5RkMwQTE5QzMwNzAwN0ZCOEM1IC8qIEhUTUxNZXRhRWxl
bWVudC5pZGwgKi8sCisJCQkJQTQ4QUE5QzQxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVs
ZW1lbnQuY3BwICovLAorCQkJCUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJF
bGVtZW50LmggKi8sCiAJCQkJQThDRkY3OUYwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVt
ZW50LmNwcCAqLywKIAkJCQlBOENGRjc5RDBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1l
bnQuaCAqLywKIAkJCQkxQUUyQUIwNzBBMUNFNUNGMDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQu
aWRsICovLApAQCAtMTU5MjMsNiArMTU5MzMsOCBAQAogCQkJCUU0QzI3OTU3MENGOTc0MTkwMEU5
N0I5OCAvKiBSZW5kZXJNZWRpYS5oICovLAogCQkJCUFCRERGRTczMEE1QzZFNkYwMEEzRTExRCAv
KiBSZW5kZXJNZW51TGlzdC5jcHAgKi8sCiAJCQkJQUJEREZFNzQwQTVDNkU3MDAwQTNFMTFEIC8q
IFJlbmRlck1lbnVMaXN0LmggKi8sCisJCQkJQTQ4QUE5QkExMTg1RjE3OTAwQjYwMUY3IC8qIFJl
bmRlck1ldGVyLmNwcCAqLywKKwkJCQlBNDhBQTlCQjExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVy
TWV0ZXIuaCAqLywKIAkJCQlCQ0VBNDg0MDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0
LmNwcCAqLywKIAkJCQlCQ0VBNDg0MTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0Lmgg
Ki8sCiAJCQkJQkM2MEVGQjYwRjMzQTBFNzAwODEyQTkzIC8qIFJlbmRlck9iamVjdENoaWxkTGlz
dC5jcHAgKi8sCkBAIC0xODg4Myw2ICsxODg5NSw4IEBACiAJCQkJMkUzQkMxMDgxMTdENDc5ODAw
Qjk0MDlBIC8qIERPTUZpbGVFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkUzQkMxMEIxMTdE
NDdDODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzN0ZENDI5ODExODM2ODQ2MDA5M0MwMjkgLyogVHJlZURlcHRoTGltaXQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUE0OEFBOUJEMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQTQ4QUE5QzgxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjExMTksNiArMjExMzMsOCBAQAogCQkJCTk3Mzg4OUEw
MTE2RUE5REMwMEFERjMxMyAvKiBEb2N1bWVudFdyaXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkyRTNCQzBDQTExN0QzRTA4MDBCOTQwOUEgLyogSlNGaWxlRXJyb3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkUzQkMxMDkxMTdENDc5ODAwQjk0MDlBIC8qIERPTUZpbGVFcnJvci5tbSBpbiBT
b3VyY2VzICovLAorCQkJCUE0OEFBOUJDMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNDhBQTlDNzExODVGMUJDMDBCNjAxRjcgLyogSFRNTE1l
dGVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzIsNiArMjcyLDExIEBA
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1MKICAgICAgICAgY2FzZSBN
ZW51bGlzdFRleHRGaWVsZFBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFs
dWVNZW51bGlzdFRleHRmaWVsZDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1l
dGVyUGFydDoKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICAgICAgbV92YWx1ZS5pZGVu
dCA9IENTU1ZhbHVlTWV0ZXI7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIE91dGVyU3BpbkJ1dHRvblBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NT
VmFsdWVPdXRlclNwaW5CdXR0b247CiAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFdlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCSh3b3JraW5nIGNvcHkpCkBAIC01ODEsNiArNTgxLDcgQEAgbWVudWxpc3QKIG1l
bnVsaXN0LWJ1dHRvbgogbWVudWxpc3QtdGV4dAogbWVudWxpc3QtdGV4dGZpZWxkCittZXRlcgog
b3V0ZXItc3Bpbi1idXR0b24KIHByb2dyZXNzLWJhcgogcHJvZ3Jlc3MtYmFyLXZhbHVlCkluZGV4
OiBXZWJDb3JlL2Nzcy9odG1sLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9odG1sLmNz
cwkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2Nzcy9odG1sLmNzcwkod29ya2luZyBjb3B5
KQpAQCAtNTE1LDYgKzUxNSwyMCBAQCBvcHRpb24gewogICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7
CiB9CiAKKy8qIG1ldGVyICovCisKK21ldGVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1l
dGVyOworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBoZWlnaHQ6IDFlbTsKKyAgICB3
aWR0aDogNWVtOworICAgIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07Cit9CisKK21ldGVyOjotd2Vi
a2l0LW1ldGVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1ldGVyOworfQorCiAvKiBwcm9n
cmVzcyAqLwogCiBwcm9ncmVzcyB7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5h
bWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4J
KHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgko
d29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQCBmcmFtZWJvcmRlcgogaGVhZGVycwogaGVp
Z2h0CiBoaWRkZW4KK2hpZ2gKIGhyZWYKIGhyZWZsYW5nCiBoc3BhY2UKQEAgLTExNSw2ICsxMTYs
NyBAQCBsaW5rCiBsaXN0CiBsb25nZGVzYwogbG9vcAorbG93CiBwbGF5Y291bnQKIGxvb3BlbmQK
IGxvb3BzdGFydApAQCAtMjE5LDYgKzIyMSw3IEBAIG9ud2Via2l0YW5pbWF0aW9uZW5kCiBvbndl
YmtpdGJlZ2luZnVsbHNjcmVlbgogb253ZWJraXRlbmRmdWxsc2NyZWVuCiBvbndlYmtpdHRyYW5z
aXRpb25lbmQKK29wdGltdW0KIHBhdHRlcm4KIHBsYWNlaG9sZGVyCiBwbHVnaW51cmwKSW5kZXg6
IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1s
L0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjEsNiArODYxLDkgQEAgc3RhdGljIEhhc2hT
ZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBpbmxpbgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAg
ICAgICAgIHRhZ0xpc3QuYWRkKHByb2dyZXNzVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7CiAjZW5k
aWYKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICB0YWdMaXN0LmFkZChtZXRlclRhZy5s
b2NhbE5hbWUoKS5pbXBsKCkpOworI2VuZGlmCiAgICAgfQogICAgIHJldHVybiAmdGFnTGlzdDsK
IH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNwcAkocmV2aXNpb24gNTgy
NjIpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03Nyw2ICs3Nyw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5jcHAiCiAj
aW5jbHVkZSAiSFRNTE1lbnVFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MTWV0YUVsZW1lbnQu
Y3BwIgorI2luY2x1ZGUgIkhUTUxNZXRlckVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkhUTUxNb2RF
bGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MT0xpc3RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJI
VE1MT2JqZWN0RWxlbWVudC5jcHAiCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50
LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRm9ybURhdGFMaXN0Lmgi
CisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisj
aW5jbHVkZSAiTWFwcGVkQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiUmVuZGVyTWV0ZXIuaCIKKyNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNp
bmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworSFRNTE1ldGVyRWxlbWVudDo6SFRNTE1ldGVyRWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhU
TUxGb3JtRWxlbWVudCogZm9ybSkKKyAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQsIGZvcm0sIENyZWF0ZUVsZW1lbnQpCit7CisgICAgQVNTRVJUKGhhc1RhZ05h
bWUobWV0ZXJUYWcpKTsKK30KKworUGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBIVE1MTWV0
ZXJFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZvcm0pCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBIVE1MTWV0ZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBmb3JtKSk7Cit9CisKK1Jl
bmRlck9iamVjdCogSFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
IGFyZW5hLCBSZW5kZXJTdHlsZSopCit7CisgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlck1l
dGVyKHRoaXMpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxNZXRlckVsZW1lbnQ6OmZv
cm1Db250cm9sVHlwZSgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBB
dG9taWNTdHJpbmcsIG1ldGVyLCAoIm1ldGVyIikpOworICAgIHJldHVybiBtZXRlcjsKK30KKwor
dm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1
dGUqIGF0dHIpCit7CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSB2YWx1ZUF0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG1pbkF0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG1heEF0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IGxvd0F0dHIpIHsKKyAgICAg
ICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxl
bWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IGhpZ2hBdHRyKSB7CisgICAg
ICAgIGlmIChyZW5kZXJlcigpKQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVs
ZW1lbnQoKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvcHRpbXVtQXR0cikgewor
ICAgICAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZy
b21FbGVtZW50KCk7CisgICAgfSBlbHNlCisgICAgICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVu
dDo6dmFsdWUoKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWVTdHJpbmcg
PSBnZXRBdHRyaWJ1dGUodmFsdWVBdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSB2YWx1
ZSA9IHZhbHVlU3RyaW5nLnRvRG91YmxlKCZvayk7CisgICAgaWYgKCFvaykKKyAgICAgICAgdmFs
dWUgPSAwOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heCh2YWx1ZSwgbWluKCkpLCBtYXgo
KSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0VmFsdWUoZG91YmxlIHZhbHVlKQor
eworICAgIHNldEF0dHJpYnV0ZSh2YWx1ZUF0dHIsIFN0cmluZzo6bnVtYmVyKGlzbmFuKHZhbHVl
KSA/IDAgOiB2YWx1ZSkpOworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVudDo6bWluKCkgY29u
c3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIG1pblN0cmluZyA9IGdldEF0dHJpYnV0ZSht
aW5BdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBtaW4gPSBtaW5TdHJpbmcudG9Eb3Vi
bGUoJm9rKTsKKyAgICByZXR1cm4gb2sgPyBtaW4gOiAwOworfQorCit2b2lkIEhUTUxNZXRlckVs
ZW1lbnQ6OnNldE1pbihkb3VibGUgbWluKQoreworICAgIHNldEF0dHJpYnV0ZShtaW5BdHRyLCBT
dHJpbmc6Om51bWJlcihpc25hbihtaW4pID8gMCA6IG1pbikpOworfQorCitkb3VibGUgSFRNTE1l
dGVyRWxlbWVudDo6bWF4KCkgY29uc3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIG1heFN0
cmluZyA9IGdldEF0dHJpYnV0ZShtYXhBdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBt
YXggPSBtYXhTdHJpbmcudG9Eb3VibGUoJm9rKTsKKyAgICByZXR1cm4gb2sgPyBzdGQ6Om1heCht
YXgsIG1pbigpKSA6IHN0ZDo6bWF4KDEuMCwgbWluKCkpOworfQorCit2b2lkIEhUTUxNZXRlckVs
ZW1lbnQ6OnNldE1heChkb3VibGUgbWF4KQoreworICAgIHNldEF0dHJpYnV0ZShtYXhBdHRyLCBT
dHJpbmc6Om51bWJlcihpc25hbihtYXgpID8gMSA6IG1heCkpOworfQorCitkb3VibGUgSFRNTE1l
dGVyRWxlbWVudDo6bG93KCkgY29uc3QKK3sKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGxvd1N0
cmluZyA9IGdldEF0dHJpYnV0ZShsb3dBdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBs
b3cgPSBsb3dTdHJpbmcudG9Eb3VibGUoJm9rKTsKKyAgICBpZiAoIW9rKQorICAgICAgICBsb3cg
PSBtaW4oKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgobG93LCBtaW4oKSksIG1heCgp
KTsKK30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpzZXRMb3coZG91YmxlIGxvdykKK3sKKyAg
ICBzZXRBdHRyaWJ1dGUobG93QXR0ciwgU3RyaW5nOjpudW1iZXIoaXNuYW4obG93KSA/IG1pbigp
IDogbG93KSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50OjpoaWdoKCkgY29uc3QKK3sK
KyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGhpZ2hTdHJpbmcgPSBnZXRBdHRyaWJ1dGUoaGlnaEF0
dHIpOworICAgIGJvb2wgb2s7CisgICAgZG91YmxlIGhpZ2ggPSBoaWdoU3RyaW5nLnRvRG91Ymxl
KCZvayk7CisgICAgaWYgKCFvaykKKyAgICAgICAgaGlnaCA9IG1heCgpOworICAgIHJldHVybiBz
dGQ6Om1pbihzdGQ6Om1heChoaWdoLCBsb3coKSksIG1heCgpKTsKK30KKwordm9pZCBIVE1MTWV0
ZXJFbGVtZW50OjpzZXRIaWdoKGRvdWJsZSBoaWdoKQoreworICAgIHNldEF0dHJpYnV0ZShoaWdo
QXR0ciwgU3RyaW5nOjpudW1iZXIoaXNuYW4oaGlnaCkgPyBtYXgoKSA6IGhpZ2gpKTsKK30KKwor
ZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6Om9wdGltdW0oKSBjb25zdAoreworICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgb3B0aW11bVN0cmluZyA9IGdldEF0dHJpYnV0ZShvcHRpbXVtQXR0cik7Cisg
ICAgYm9vbCBvazsKKyAgICBkb3VibGUgb3B0aW11bSA9IG9wdGltdW1TdHJpbmcudG9Eb3VibGUo
Jm9rKTsKKyAgICBpZiAoIW9rKQorICAgICAgICBvcHRpbXVtID0gKG1heCgpICsgbWluKCkpIC8g
MjsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgob3B0aW11bSwgbWluKCkpLCBtYXgoKSk7
Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0T3B0aW11bShkb3VibGUgb3B0aW11bSkK
K3sKKyAgICBzZXRBdHRyaWJ1dGUob3B0aW11bUF0dHIsIFN0cmluZzo6bnVtYmVyKGlzbmFuKG9w
dGltdW0pID8gKChtYXgoKSArIG1pbigpKSAvIDIpIDogb3B0aW11bSkpOworfQorCit9IC8vIG5h
bWVzcGFjZQorI2VuZGlmCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgSFRNTE1ldGVyRWxlbWVudF9o
CisjZGVmaW5lIEhUTUxNZXRlckVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNp
bmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgSFRNTE1ldGVyRWxlbWVudCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBjcmVh
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgSFRNTEZvcm1FbGVtZW50KiA9IDAp
OworCisgICAgZG91YmxlIHZhbHVlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRWYWx1ZShkb3VibGUp
OworCisgICAgZG91YmxlIG1pbigpIGNvbnN0OworICAgIHZvaWQgc2V0TWluKGRvdWJsZSk7CisK
KyAgICBkb3VibGUgbWF4KCkgY29uc3Q7CisgICAgdm9pZCBzZXRNYXgoZG91YmxlKTsKKworICAg
IGRvdWJsZSBsb3coKSBjb25zdDsKKyAgICB2b2lkIHNldExvdyhkb3VibGUpOworCisgICAgZG91
YmxlIGhpZ2goKSBjb25zdDsKKyAgICB2b2lkIHNldEhpZ2goZG91YmxlKTsKKworICAgIGRvdWJs
ZSBvcHRpbXVtKCkgY29uc3Q7CisgICAgdm9pZCBzZXRPcHRpbXVtKGRvdWJsZSk7CisKK3ByaXZh
dGU6CisgICAgSFRNTE1ldGVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
LCBIVE1MRm9ybUVsZW1lbnQqKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc09wdGlvbmFsRm9ybUNv
bnRyb2woKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIFJlbmRlck9i
amVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOworCisgICAg
dmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOworfTsK
KworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE1ldGVy
RWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVu
dC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCittb2R1
bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVURVJfVEFH
CisgICAgXSBIVE1MTWV0ZXJFbGVtZW50IDogSFRNTEVsZW1lbnQgeworICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgZG91YmxlIHZhbHVlOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91
YmxlIG1pbjsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBtYXg7CisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgbG93OworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgZG91YmxlIGhpZ2g7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgb3B0aW11
bTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOworICAg
IH07Cit9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4JKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29y
ZS9odG1sL0hUTUxUYWdOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCBt
YXAgY3JlYXRlV2l0aE5ldwogbWFycXVlZSBjcmVhdGVXaXRoTmV3CiBtZW51IGNyZWF0ZVdpdGhO
ZXcKIG1ldGEgY3JlYXRlV2l0aE5ldworbWV0ZXIgaW50ZXJmYWNlTmFtZT1IVE1MTWV0ZXJFbGVt
ZW50LCBjb25kaXRpb25hbD1NRVRFUl9UQUcKIG5hdiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
CiBub2JyIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vZW1iZWQgaW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudApJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQxMSw2ICs0MTEsOSBAQCBt
b2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNYXJxdWVlRWxlbWVudENvbnN0
cnVjdG9yIEhUTUxNYXJxdWVlRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNZW51RWxl
bWVudENvbnN0cnVjdG9yIEhUTUxNZW51RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxN
ZXRhRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZXRhRWxlbWVudDsKKyNpZiBkZWZpbmVkKEVOQUJM
RV9NRVRFUl9UQUcpICYmIEVOQUJMRV9NRVRFUl9UQUcKKyAgICAgICAgYXR0cmlidXRlIEhUTUxN
ZXRlckVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWV0ZXJFbGVtZW50OworI2VuZGlmCiAgICAgICAg
IGF0dHJpYnV0ZSBIVE1MTW9kRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNb2RFbGVtZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgSFRNTE9MaXN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxPTGlzdEVsZW1l
bnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MT2JqZWN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxP
YmplY3RFbGVtZW50OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgJKHJldmlzaW9uIDU4MjYyKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcg
KzUyLDcgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgTWVkaWFTZWVrRm9yd2FyZEJ1dHRvblBh
cnQsIE1lZGlhUmV3aW5kQnV0dG9uUGFydCwgTWVkaWFSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uUGFy
dCwgTWVkaWFUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvblBhcnQsCiAgICAgTWVkaWFTbGlkZXJQ
YXJ0LCBNZWRpYVNsaWRlclRodW1iUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJDb250YWluZXJQYXJ0
LCBNZWRpYVZvbHVtZVNsaWRlclBhcnQsIE1lZGlhVm9sdW1lU2xpZGVyVGh1bWJQYXJ0LAogICAg
IE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kUGFydCwgTWVkaWFDdXJyZW50VGltZVBhcnQsIE1lZGlh
VGltZVJlbWFpbmluZ1BhcnQsCi0gICAgTWVudWxpc3RQYXJ0LCBNZW51bGlzdEJ1dHRvblBhcnQs
IE1lbnVsaXN0VGV4dFBhcnQsIE1lbnVsaXN0VGV4dEZpZWxkUGFydCwgT3V0ZXJTcGluQnV0dG9u
UGFydCwgUHJvZ3Jlc3NCYXJQYXJ0LCBQcm9ncmVzc0JhclZhbHVlUGFydCwKKyAgICBNZW51bGlz
dFBhcnQsIE1lbnVsaXN0QnV0dG9uUGFydCwgTWVudWxpc3RUZXh0UGFydCwgTWVudWxpc3RUZXh0
RmllbGRQYXJ0LCBNZXRlclBhcnQsIE91dGVyU3BpbkJ1dHRvblBhcnQsIFByb2dyZXNzQmFyUGFy
dCwgUHJvZ3Jlc3NCYXJWYWx1ZVBhcnQsCiAgICAgU2xpZGVySG9yaXpvbnRhbFBhcnQsIFNsaWRl
clZlcnRpY2FsUGFydCwgU2xpZGVyVGh1bWJIb3Jpem9udGFsUGFydCwKICAgICBTbGlkZXJUaHVt
YlZlcnRpY2FsUGFydCwgQ2FyZXRQYXJ0LCBTZWFyY2hGaWVsZFBhcnQsIFNlYXJjaEZpZWxkRGVj
b3JhdGlvblBhcnQsCiAgICAgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQsIFNlYXJj
aEZpZWxkUmVzdWx0c0J1dHRvblBhcnQsCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRl
clRoZW1lUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhl
bWVRdC5jcHAJKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTAgQEAKICNpbmNsdWRlICJR
dFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaCIKICNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5oIgog
I2luY2x1ZGUgIlJlbmRlckJveC5oIgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAi
SFRNTE1ldGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgiCisjZW5kaWYKICNp
ZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogI2luY2x1ZGUgIlJlbmRlclByb2dyZXNzLmgiCiAjZW5k
aWYKQEAgLTY4Nyw2ICs2OTEsNjYgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0
QnV0dG9uKAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorI2lmIEVOQUJMRShNRVRFUl9UQUcpCit2
b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdE1ldGVyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJl
bmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0Cit7CisgICAgc3R5bGUtPnNldEJveFNo
YWRvdygwKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1ldGVyKFJlbmRlck9iamVj
dCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBpLCBjb25zdCBJbnRSZWN0JiBy
KQoreworICAgIFN0eWxlUGFpbnRlciBwKHRoaXMsIHBpKTsKKyAgICBpZiAoIXAuaXNWYWxpZCgp
KQorICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmVuZGVyTWV0ZXIqIHJlbmRlck1ldGVyID0g
dG9SZW5kZXJNZXRlcihvKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBvLT5zdHlsZSgpOwor
ICAgIGludCBsZWZ0ID0gc3R5bGUtPmJvcmRlckxlZnQoKS53aWR0aCgpICsgc3R5bGUtPnBhZGRp
bmdMZWZ0KCkudmFsdWUoKTsKKyAgICBpbnQgdG9wID0gc3R5bGUtPmJvcmRlclRvcCgpLndpZHRo
KCkgKyBzdHlsZS0+cGFkZGluZ1RvcCgpLnZhbHVlKCk7CisgICAgaW50IHJpZ2h0ID0gc3R5bGUt
PmJvcmRlclJpZ2h0KCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nUmlnaHQoKS52YWx1ZSgpOwor
ICAgIGludCBib3R0b20gPSBzdHlsZS0+Ym9yZGVyQm90dG9tKCkud2lkdGgoKSArIHN0eWxlLT5w
YWRkaW5nQm90dG9tKCkudmFsdWUoKTsKKyAgICBJbnRSZWN0IGlubmVyUmVjdChyLngoKSArIGxl
ZnQsIHIueSgpICsgdG9wLCByLndpZHRoKCkgLSBsZWZ0IC0gcmlnaHQsIHIuaGVpZ2h0KCkgLSB0
b3AgLSBib3R0b20pOworCisgICAgSFRNTE1ldGVyRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19j
YXN0PEhUTUxNZXRlckVsZW1lbnQqPihyZW5kZXJNZXRlci0+bm9kZSgpKTsKKyAgICBkb3VibGUg
bWluID0gZWxlbWVudC0+bWluKCk7CisgICAgZG91YmxlIG1heCA9IGVsZW1lbnQtPm1heCgpOwor
ICAgIGRvdWJsZSB2YWx1ZSA9IGVsZW1lbnQtPnZhbHVlKCk7CisKKyAgICAvLyBTaW5jZSBRdCBk
b2VzIG5vdCBoYXZlIGEgZ2F1Z2Ugd2lkZ2V0LCB3ZSBkcmF3IGl0IGhlcmUuCisgICAgUVJlY3Qg
dmFsdWVSZWN0OworICAgIFFSZWN0IGJhY2tncm91bmRSZWN0OworICAgIGlmIChtaW4gPj0gbWF4
KSB7CisgICAgICAgIHBpLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5maWxsUmVjdChpbm5l
clJlY3QsIFF0OjpibGFjayk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBp
ZiAoci53aWR0aCgpIDwgci5oZWlnaHQoKSkgeworICAgICAgICAvLyBWZXJ0aWNhbCBnYXVnZQor
ICAgICAgICBkb3VibGUgc2NhbGUgPSBpbm5lclJlY3QuaGVpZ2h0KCkgLyAobWF4IC0gbWluKTsK
KyAgICAgICAgdmFsdWVSZWN0LnNldFJlY3QoaW5uZXJSZWN0LngoKSwgaW5uZXJSZWN0LnkoKSAr
IHJvdW5kKChtYXggLSB2YWx1ZSkgKiBzY2FsZSksIGlubmVyUmVjdC53aWR0aCgpLCByb3VuZCgo
dmFsdWUgLSBtaW4pICogc2NhbGUpKTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0UmVjdChp
bm5lclJlY3QueCgpLCBpbm5lclJlY3QueSgpLCBpbm5lclJlY3Qud2lkdGgoKSwgcm91bmQoKG1h
eCAtIHZhbHVlKSAqIHNjYWxlKSk7CisgICAgfSBlbHNlIGlmIChyZW5kZXJNZXRlci0+c3R5bGUo
KS0+ZGlyZWN0aW9uKCkgPT0gUlRMKSB7CisgICAgICAgIC8vIHJpZ2h0IHRvIGxlZnQgaG9yaXpv
bnRhbCBnYXVnZQorICAgICAgICBkb3VibGUgc2NhbGUgPSBpbm5lclJlY3Qud2lkdGgoKSAvICht
YXggLSBtaW4pOworICAgICAgICB2YWx1ZVJlY3Quc2V0UmVjdChpbm5lclJlY3QueCgpICsgcm91
bmQoKG1heCAtIHZhbHVlKSAqIHNjYWxlKSwgaW5uZXJSZWN0LnkoKSwgcm91bmQoKHZhbHVlIC0g
bWluKSAqIHNjYWxlKSwgaW5uZXJSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgYmFja2dyb3VuZFJl
Y3Quc2V0UmVjdChpbm5lclJlY3QueCgpLCBpbm5lclJlY3QueSgpLCBscm91bmQoKG1heCAtIHZh
bHVlKSAqIHNjYWxlKSwgaW5uZXJSZWN0LmhlaWdodCgpKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICAvLyBsZWZ0IHRvIHJpZ2h0IGhvcml6b250YWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxl
ID0gaW5uZXJSZWN0LndpZHRoKCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0LnNl
dFJlY3QoaW5uZXJSZWN0LngoKSwgaW5uZXJSZWN0LnkoKSwgcm91bmQoKHZhbHVlIC0gbWluKSAq
IHNjYWxlKSwgaW5uZXJSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0
UmVjdChpbm5lclJlY3QueCgpICsgdmFsdWVSZWN0LndpZHRoKCksIGlubmVyUmVjdC55KCksIHJv
dW5kKChtYXggLSB2YWx1ZSkgKiBzY2FsZSksIGlubmVyUmVjdC5oZWlnaHQoKSk7CisgICAgfQor
ICAgIGlmICghdmFsdWVSZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcGkuY29udGV4dC0+cGxhdGZv
cm1Db250ZXh0KCktPmZpbGxSZWN0KHZhbHVlUmVjdCwgUXQ6OmJsYWNrKTsKKworICAgIGlmICgh
YmFja2dyb3VuZFJlY3QuaXNFbXB0eSgpKQorICAgICAgICBwaS5jb250ZXh0LT5wbGF0Zm9ybUNv
bnRleHQoKS0+ZmlsbFJlY3QoYmFja2dyb3VuZFJlY3QsIFF0OjpsaWdodEdyYXkpOworCisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiBk
b3VibGUgUmVuZGVyVGhlbWVRdDo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jh
cihSZW5kZXJQcm9ncmVzcyogcmVuZGVyUHJvZ3Jlc3MpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuaAkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDYgKzExMiwxMSBA
QCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3RCdXR0b24oUmVuZGVy
T2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7
CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxl
Y3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogCisjaWYgRU5BQkxFKE1FVEVS
X1RBRykKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWV0ZXJTdHlsZShDU1NTdHlsZVNlbGVjdG9y
KiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50
TWV0ZXIoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0Jik7CisjZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgdmly
dHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRl
clN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludFByb2dyZXNz
QmFyKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYg
RU5BQkxFKE1FVEVSX1RBRykKKworI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgiCisKKyNpbmNsdWRl
ICJIVE1MTWV0ZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKKwordXNpbmcg
bmFtZXNwYWNlIHN0ZDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOworCitSZW5kZXJNZXRlcjo6UmVuZGVyTWV0ZXIoSFRNTE1ldGVyRWxlbWVudCog
ZWxlbWVudCkKKyAgICA6IFJlbmRlckJsb2NrKGVsZW1lbnQpCit7Cit9CisKK3ZvaWQgUmVuZGVy
TWV0ZXI6OmxheW91dCgpCit7CisgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOworCisgICAgTGF5
b3V0UmVwYWludGVyIHJlcGFpbnRlcigqdGhpcywgY2hlY2tGb3JSZXBhaW50RHVyaW5nTGF5b3V0
KCkpOworCisgICAgY2FsY1dpZHRoKCk7CisgICAgY2FsY0hlaWdodCgpOworCisgICAgbV9vdmVy
Zmxvdy5jbGVhcigpOworCisgICAgcmVwYWludGVyLnJlcGFpbnRBZnRlckxheW91dCgpOworCisg
ICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOworfQorCit2b2lkIFJlbmRlck1ldGVyOjp1cGRhdGVG
cm9tRWxlbWVudCgpCit7CisgICAgcmVwYWludCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAkocmV2aXNpb24gMCkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBSZW5kZXJNZXRlcl9oCisjZGVmaW5l
IFJlbmRlck1ldGVyX2gKKworI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAiUmVuZGVy
QmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBIVE1MTWV0ZXJFbGVtZW50OworCitjbGFzcyBSZW5kZXJNZXRlciA6IHB1Ymxp
YyBSZW5kZXJCbG9jayB7CitwdWJsaWM6CisgICAgUmVuZGVyTWV0ZXIoSFRNTE1ldGVyRWxlbWVu
dCopOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0IHsgcmV0dXJuICJSZW5kZXJNZXRlciI7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNNZXRlcigp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCk7Cit9OworCitpbmxpbmUgUmVuZGVyTWV0
ZXIqIHRvUmVuZGVyTWV0ZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QpCit7CisgICAgQVNTRVJUKCFv
YmplY3QgfHwgb2JqZWN0LT5pc01ldGVyKCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5k
ZXJNZXRlcio+KG9iamVjdCk7Cit9CisKKy8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUgZG9pbmcg
YW4gdW5uZWNlc3NhcnkgY2FzdC4KK3ZvaWQgdG9SZW5kZXJNZXRlcihjb25zdCBSZW5kZXJNZXRl
ciopOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorCisjZW5kaWYgLy8gUmVu
ZGVyTWV0ZXJfaAorCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gNTgy
NjIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBjb3B5KQpA
QCAtMjc3LDYgKzI3Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNMaXN0TWFya2Vy
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNNZWRpYSgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWVudUxpc3QoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAgdmlydHVhbCBi
b29sIGlzTWV0ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAjaWYgRU5BQkxF
KFBST0dSRVNTX1RBRykKICAgICB2aXJ0dWFsIGJvb2wgaXNQcm9ncmVzcygpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAJKHJl
dmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTMsNiArMjEzLDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0
eWxlKENTU1N0eWxlU2UKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAg
ICByZXR1cm4gYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwogI2Vu
ZGlmCisjaWYgRU5BQkxFKE1ldGVyX1RBRykKKyAgICAgICAgY2FzZSBNZXRlclBhcnQ6CisgICAg
ICAgICAgICByZXR1cm4gYWRqdXN0TWV0ZXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworI2Vu
ZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICB9CkBAIC0yNzEs
NiArMjc1LDEwIEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KFJlbmRlck9iamVjdCogbywKICNl
bmRpZgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKICAgICAgICAgICAgIHJldHVybiBwYWlu
dE1lbnVMaXN0KG8sIHBhaW50SW5mbywgcik7CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAgICAg
ICAgY2FzZSBNZXRlclBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRNZXRlcihvLCBwYWlu
dEluZm8sIHIpOworI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAgY2Fz
ZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRQcm9ncmVzc0Jhcihv
LCBwYWludEluZm8sIHIpOwpAQCAtMzY1LDYgKzM3Myw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBh
aW50Qm9yZGVyT25seShSZW5kZXIKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKICAg
ICAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKKyNpZiBF
TkFCTEUoTUVURVJfVEFHKQorICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyNlbmRpZgogI2lmIEVO
QUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgogI2VuZGlm
CkBAIC00MDMsNiArNDE0LDkgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyhS
ZW5kZQogICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIEJ1dHRv
blBhcnQ6CiAgICAgICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorI2lmIEVOQUJMRShNRVRFUl9UQUcp
CisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RB
RykKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAjZW5kaWYKQEAgLTg0MCw2ICs4NTQs
MTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0TWVudUxpc3RTdHlsZShDUwogewogfQogCisj
aWYgRU5BQkxFKE1FVEVSX1RBRykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5bGUo
Q1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0Cit7Cit9Cisj
ZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiBkb3VibGUgUmVuZGVyVGhlbWU6OmFu
aW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MqKSBjb25z
dAogewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCShyZXZpc2lvbiA1ODI2MikKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzNyw2ICsy
MzcsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZW51TGlzdEJ1dHRv
blN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlzdEJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25z
dCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVl
OyB9CiAKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZXRl
clN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZXRlcihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJP
YmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisjZW5k
aWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFBy
b2dyZXNzQmFyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCop
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludFByb2dyZXNzQmFyKFJlbmRlck9iamVjdCos
IGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJu
IHRydWU7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU4MjYzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTAtMDQtMjYgIFlhZWwgQWhh
cm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAK
KworICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0czogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQt
dGVzdHMvc2V0LW1ldGVyLXByb3BlcnRpZXMuanM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0
aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVu
dC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL0hU
TUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorCiAyMDEwLTA0LTI2ICBZYWVsIEFoYXJvbiAgPHlh
ZWwuYWhhcm9uQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9z
LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVt
ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9tZXRlci1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorPGh0bWw+PGJvZHk+PG1ldGVyIG1pbj0xMCB2YWx1ZT0zMCBtYXg9MTAwPjwv
bWV0ZXI+PG1ldGVyIG1pbj0wIHZhbHVlPTcwIG1heD0xMDAgc3R5bGU9IndpZHRoOjEwcHg7IGhl
aWdodDo2MHB4OyI+PC9tZXRlcj48L2JvZHk+PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQt
bWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorVGVzdCBzZXR0aW5nIHZhbGlkIGFu
ZCBpbnZhbGlkIHByb3BlcnRpZXMgb2YgSFRNTE1ldGVyRWxlbWVudC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1Rlc3QgdmFsdWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0
CitQQVNTIG0ubWluIGlzIDAKK1BBU1MgbS52YWx1ZSBpcyAwCitQQVNTIG0ubWF4IGlzIDEKK1BB
U1MgbS5sb3cgaXMgMAorUEFTUyBtLmhpZ2ggaXMgMQorUEFTUyBtLm9wdGltdW0gaXMgMC41CitT
ZXQgdmFsaWQgdmFsdWVzCitQQVNTIG0ubWluIGlzIC0xMAorUEFTUyBtLnZhbHVlIGlzIDcwCitQ
QVNTIG0ubWF4IGlzIDEwMAorUEFTUyBtLmxvdyBpcyAxMC4xCitQQVNTIG0uaGlnaCBpcyA5OS41
CitQQVNTIG0ub3B0aW11bSBpcyA3MAorU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVz
IC0gMQorUEFTUyBtLm1pbiBpcyAtMTAKK1BBU1MgbS52YWx1ZSBpcyAxMDAKK1BBU1MgbS5tYXgg
aXMgMTAwCitQQVNTIG0ubG93IGlzIDEwMAorUEFTUyBtLmhpZ2ggaXMgMTAwCitQQVNTIG0ub3B0
aW11bSBpcyAwCitTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAyCitQQVNTIG0u
bWluIGlzIDIwMC4wCitQQVNTIG0udmFsdWUgaXMgMjAwLjAKK1BBU1MgbS5tYXggaXMgMjAwLjAK
K1BBU1MgbS5sb3cgaXMgMjAwLjAKK1NldCBpbnZhbGlkIHZhbHVlCitQQVNTIG0udmFsdWUgaXMg
MjAwCitTZXQgYXR0cmlidXRlcyB0byB2YWxpZCBudW1iZXJzCitQQVNTIG0udmFsdWUgaXMgNQor
UEFTUyBtLm1heCBpcyAxMAorUEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSkg
aXMgNQorUEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0ZSgnbWF4JykpIGlzIDEwCitTZXQgYXR0
cmlidXRlcyB0byBpbnZhbGlkIHZhbHVlcworUEFTUyBtLnZhbHVlIGlzIDAKK1BBU1MgbS5tYXgg
aXMgMQorUEFTUyBtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSBpcyAnQUJDJworUEFTUyBtLmdldEF0
dHJpYnV0ZSgnbWF4JykgaXMgJyMnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1l
dGVyLXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zZXQt
bWV0ZXItcHJvcGVydGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1Q
TEFURS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVu
dC9zY3JpcHQtdGVzdHMvc2V0LW1ldGVyLXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LW1ldGVy
LXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qcwkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw3MyBAQAorZGVzY3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBh
bmQgaW52YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxNZXRlckVsZW1lbnQuJyk7CisKK3ZhciBtID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0ZXInKTsKKworZGVidWcoIlRlc3QgdmFsdWVzIGJl
Zm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Iik7CitzaG91bGRCZSgibS5taW4iLCAiMCIpOworc2hv
dWxkQmUoIm0udmFsdWUiLCAiMCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEiKTsKK3Nob3VsZEJl
KCJtLmxvdyIsICIwIik7CitzaG91bGRCZSgibS5oaWdoIiwgIjEiKTsKK3Nob3VsZEJlKCJtLm9w
dGltdW0iLCAiMC41Iik7CisKK2RlYnVnKCJTZXQgdmFsaWQgdmFsdWVzIik7CittLm1pbiA9ICIt
MTAiOworbS52YWx1ZSA9IDdlMTsKK20ubWF4ID0gIjFlMiI7CittLmxvdyA9ICIxMC4xIjsKK20u
aGlnaCA9ICI5OS41IjsKK20ub3B0aW11bSA9ICI3MCI7CitzaG91bGRCZSgibS5taW4iLCAiLTEw
Iik7CitzaG91bGRCZSgibS52YWx1ZSIsICI3MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIp
Oworc2hvdWxkQmUoIm0ubG93IiwgIjEwLjEiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiOTkuNSIp
Oworc2hvdWxkQmUoIm0ub3B0aW11bSIsICI3MCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMg
dG8gaW1wcm9wZXIgdmFsdWVzIC0gMSIpOworbS5taW4gPSAtMTA7CittLnZhbHVlID0gMjAwOwor
bS5tYXggPSAxMDAuMDsKK20ubG93ID0gMjAwOworbS5oaWdoID0gLTUwOworbS5vcHRpbXVtID0g
bnVsbDsKK3Nob3VsZEJlKCJtLm1pbiIsICItMTAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjEw
MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIpOworc2hvdWxkQmUoIm0ubG93IiwgIjEwMCIp
Oworc2hvdWxkQmUoIm0uaGlnaCIsICIxMDAiKTsKK3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMCIp
OworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMiIpOworbS5t
aW4gPSAyMDAuMDsKK20udmFsdWUgPSAtMjAwLjA7CittLm1heCA9IDA7CittLmxvdyA9IG51bGw7
CitzaG91bGRCZSgibS5taW4iLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjIwMC4w
Iik7CitzaG91bGRCZSgibS5tYXgiLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIyMDAu
MCIpOworCitkZWJ1ZygiU2V0IGludmFsaWQgdmFsdWUiKTsKK20udmFsdWUgPSAiQUJDIjsKK3No
b3VsZEJlKCJtLnZhbHVlIiwgIjIwMCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gdmFs
aWQgbnVtYmVycyIpOworbS5zZXRBdHRyaWJ1dGUoIm1pbiIsIDApOworbS5zZXRBdHRyaWJ1dGUo
InZhbHVlIiwgNSk7CittLnNldEF0dHJpYnV0ZSgibWF4IiwgMTApOworc2hvdWxkQmUoIm0udmFs
dWUiLCAiNSIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwIik7CitzaG91bGRCZSgicGFyc2VJbnQo
bS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpIiwgIjUiKTsKK3Nob3VsZEJlKCJwYXJzZUludChtLmdl
dEF0dHJpYnV0ZSgnbWF4JykpIiwgIjEwIik7CisKK2RlYnVnKCJTZXQgYXR0cmlidXRlcyB0byBp
bnZhbGlkIHZhbHVlcyIpOworbS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIkFCQyIpOworbS5zZXRB
dHRyaWJ1dGUoIm1heCIsICIjIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIwIik7CitzaG91bGRC
ZSgibS5tYXgiLCAiMSIpOworc2hvdWxkQmUoIm0uZ2V0QXR0cmlidXRlKCd2YWx1ZScpIiwgIidB
QkMnIik7CitzaG91bGRCZSgibS5nZXRBdHRyaWJ1dGUoJ21heCcpIiwgIicjJyIpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNTgyNjIp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTI2MzMsNiArMjYzMywxMCBAQCBCVUczODIyNyBERUZFUiA6IGZh
c3QvZG9tL0hUTUxQcm9ncmVzc0VsCiBCVUczODIyNyBERUZFUiA6IGZhc3QvZG9tL0hUTUxQcm9n
cmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKIEJVRzM4MjI3
IFNLSVAgOiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1w
c2V1ZG8tZWxlbWVudC5odG1sID0gRkFJTAogCisvLyBIVE1MTWV0ZXJFbGVtZW50IHJlbGF0ZWQg
dGVzdHMgZGVmZXJyZWQgZHVlIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNzA3NC4KK0JVRzM3MDc0IERFRkVSIDogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9t
ZXRlci1lbGVtZW50Lmh0bWwgPSBNSVNTSU5HCitCVUczNzA3NCBERUZFUiA6IGZhc3QvZG9tL0hU
TUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKKwogLy8gV2Vi
S2l0IHJvbGwgNTYwMDQgLT4gNTYwMjYKIEJVRzM4Mjc4IDogZmFzdC9ldmVudHMvY29udGludW91
cy1wbGF0Zm9ybS13aGVlbGV2ZW50LWluLXNjcm9sbGluZy1kaXYuaHRtbCA9IFRJTUVPVVQKIEJV
RzM4Mjc4IDogZmFzdC9ldmVudHMvcGxhdGZvcm0td2hlZWxldmVudC1pbi1zY3JvbGxpbmctZGl2
Lmh0bWwgPSBUSU1FT1VUCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24g
NTgyNjIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5
KQpAQCAtNTgzNSw2ICs1ODM1LDEwIEBAIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJv
Z3Jlc3MtZWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3Bl
cnRpZXMuaHRtbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1iYXItdmFs
dWUtcHNldWRvLWVsZW1lbnQuaHRtbAogCisjIHJlbmRlclRoZW1lIGlzIG5vdCByZWFkeSB0byBk
cmF3IG1ldGVyIGVsZW1lbnQKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVu
dC5odG1sCitmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKKwogIyBOZWVkcyBtb2NrIHN1cHBvcnQsIGFuZCBidWlsZCBzbGF2ZSBHZW9sb2NhdGlvbiBz
ZXJ2aWNlCiAjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYw
NTMKIGZhc3QvZG9tL0dlb2xvY2F0aW9uL21heGltdW0tYWdlLmh0bWwKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9Ta2lwcGVkCShyZXZpc2lvbiA1ODI2MikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNiArMTM5LDEwIEBAIGZhc3QvZm9y
bXMvbXVsdGlwbGUtZm9ybS1zdWJtaXNzaW9uLXByb3QKICMgVGhlIGFuaW1hdGlvbiBjYXVzZXMg
dGhlIHJlc3VsdCBvZiB0aGlzIHRlc3QgdG8gZGVwZW5kIG9uIHRoZSBzcGVlZCBvZiBleGVjdXRp
bmcgaXQsIGFuZCB0aGF0IHdpbGwgY2F1c2UgaXQgdG8gYmUgZmxha3kKIGZhc3QvZG9tL0hUTUxQ
cm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWxlbWVudC5odG1sCiAKKyMgcmVuZGVyVGhlbWUgaXMg
bm90IHJlYWR5IHRvIGRyYXcgbWV0ZXIgZWxlbWVudAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVu
dC9tZXRlci1lbGVtZW50Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVy
LXByb3BlcnRpZXMuaHRtbAorCiAjIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3Vy
aS1saXN0Jykgbm90IGNvcnJlY3RseSBpbXBsZW1lbnRlZCBvbiBNYWMKIGVkaXRpbmcvcGFzdGVi
b2FyZC9kYXRhVHJhbnNmZXItc2V0RGF0YS1nZXREYXRhLmh0bWwKIApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4
cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRl
ckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorNmQ5NWZjNmVjNjU5MTQyMWEyMjRkZThkOWQ5MzkyOTgKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXIt
ZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlck1l
dGVyIHtNRVRFUn0gYXQgKDAsNDQpIHNpemUgODB4MTYKKyAgICAgIFJlbmRlck1ldGVyIHtNRVRF
Un0gYXQgKDgwLDApIHNpemUgMTB4NjAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHJldmlzaW9uIDU4MjYy
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAg
LTgzMiw2ICs4MzIsMTAgQEAgZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1l
bAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5o
dG1sCiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1wc2V1
ZG8tZWxlbWVudC5odG1sCiAKKyMgcmVuZGVyVGhlbWUgaXMgbm90IHJlYWR5IHRvIGRyYXcgbWV0
ZXIgZWxlbWVudAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwK
K2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAorCiAj
IE5vIFdpZGdldHMgMS4wIHN1cHBvcnQKIGZhc3QvbWVkaWEvbWVkaWEtZmVhdHVyZS13Z3Qtdmll
dy1tb2RlLmh0bWwKIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5v
dCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0g
YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhw
ZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNh
ZG9Kd0FBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJBQUFNCnBrbEVRVlI0bk8zWlFXckVNQkFB
d1Nqc3YvUjErMldUOHg3RFFpdkJWVGVCakFmZG1sa3pNMThBQUFDQjc5TURBQUFBenlGQUFBQ0EK
akFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0F6
T3YwQUU5eTMvZmJlZTk5YUJJQQpBRGpEQmdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBekpxWk9UM0VVNnkxM3M2ZUhnQ0FwN0VCQVFBQU1nSUVBQURJQ0JBQUFD
QWoKUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESQpDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBCk1nSUVBQURJQ0JBQUFD
RHorczNsdGRaSFA3dXU2NlB2LzR1OTkra1JBQURnVDdJQkFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFB
QWdJd0EKQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNbXRtNXZRUUFBREFNOWlBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
CkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtmZ0JnSUJtbURnYVdDUUFBCkFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54352</attachid>
            <date>2010-04-26 17:33:03 -0700</date>
            <delta_ts>2010-05-02 16:51:09 -0700</delta_ts>
            <desc>Attempt to fix the Chromium build.</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>59928</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODI2MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODIgQEAKKzIwMTAtMDQtMjYgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBvbmx5IGZvciBRdCBwbGF0Zm9ybS4KKyAgICAgICAgU2luY2UgUXQgZG9l
cyBub3QgaGF2ZSBhIG5hdGl2ZSBnYXVnZS1saWtlIHdpZGdldCwgUmVuZGVyVGhlbWVRdCBkcmF3
cyAKKyAgICAgICAgdGhlIGVsZW1lbnQgYnkgaXRzZWxmLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCisKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFr
ZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZl
VmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZUtleXdvcmRzLmluOgorICAgICAgICAqIGNz
cy9odG1sLmNzczoKKyAgICAgICAgKG1ldGVyKToKKyAgICAgICAgKG1ldGVyOjotd2Via2l0LW1l
dGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBo
dG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlubGluZVRhZ0xpc3QpOgor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGh0bWwv
SFRNTE1ldGVyRWxlbWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6SFRNTE1ldGVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJF
bGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Zm9ybUNv
bnRyb2xUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om1pbik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWV0ZXJFbGVtZW50OjpzZXRNaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxl
bWVudDo6bWF4KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldE1heCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpsb3cpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0TG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZXRlckVsZW1lbnQ6OmhpZ2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
c2V0SGlnaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpvcHRpbXVtKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldE9wdGltdW0pOgorICAgICAg
ICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZXRlckVsZW1lbnQ6OmlzT3B0aW9uYWxGb3JtQ29udHJvbCk6CisgICAgICAgICogaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmlkbDogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MVGFnTmFtZXMu
aW46CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL1Ro
ZW1lVHlwZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZXRlcik6CisgICAgICAgICogcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZXRlci5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OlJlbmRlck1ldGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1ldGVyOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTWV0ZXI6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTWV0ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6cmVu
ZGVyTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6aXNNZXRlcik6CisgICAg
ICAgIChXZWJDb3JlOjp0b1JlbmRlck1ldGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzTWV0ZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50TWV0ZXIpOgorCiAyMDEwLTA0LTI2ICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9z
QG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KSW5kZXg6
IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDcgQEAKICNpbmNsdWRlICJKU0hUTUxN
ZWRpYUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE1lbnVFbGVtZW50LmNwcCIKICNpbmNs
dWRlICJKU0hUTUxNZXRhRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiSlNIVE1MTWV0ZXJFbGVtZW50
LmNwcCIKICNpbmNsdWRlICJKU0hUTUxNb2RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxP
YmplY3RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxPTGlzdEVsZW1lbnQuY3BwIgpJbmRl
eDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw2ICsxNzksNyBAQCBET01fQ0xBU1NFUyA9
IFwKICAgICBIVE1MTWVkaWFFbGVtZW50IFwKICAgICBIVE1MTWVudUVsZW1lbnQgXAogICAgIEhU
TUxNZXRhRWxlbWVudCBcCisgICAgSFRNTE1ldGVyRWxlbWVudCBcCiAgICAgSFRNTE1vZEVsZW1l
bnQgXAogICAgIEhUTUxPTGlzdEVsZW1lbnQgXAogICAgIEhUTUxPYmplY3RFbGVtZW50IFwKQEAg
LTYyOSw2ICs2MzAsMTAgQEAgaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9EQVRBTElTVCwkKEZF
QQogICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfREFUQUxJU1Q9MQogZW5k
aWYKIAoraWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NRVRFUl9UQUcsJChGRUFUVVJFX0RFRklO
RVMpKSwgRU5BQkxFX01FVEVSX1RBRykKKyAgICBIVE1MX0ZMQUdTIDo9ICQoSFRNTF9GTEFHUykg
RU5BQkxFX01FVEVSX1RBRz0xCitlbmRpZgorCiBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX1BS
T0dSRVNTX1RBRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfUFJPR1JFU1NfVEFHKQogICAg
IEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfUFJPR1JFU1NfVEFHPTEKIGVuZGlm
CkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQko
d29ya2luZyBjb3B5KQpAQCAtMjQzLDYgKzI0Myw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAJV2Vi
Q29yZS9odG1sL01lZGlhRXJyb3IuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50
LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5pZGwgXAorCVdlYkNvcmUvaHRt
bC9IVE1MTWV0ZXJFbGVtZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50Lmlk
bCBcCiAJV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwv
SFRNTE9iamVjdEVsZW1lbnQuaWRsIFwKQEAgLTExNjUsNiArMTE2Niw4IEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZW51RWxlbWVudC5oIFwKIAlXZWJDb3JlL2h0
bWwvSFRNTE1ldGFFbGVtZW50LmNwcCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5o
IFwKKwlXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAgXAorCVdlYkNvcmUvaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAgXAog
CVdlYkNvcmUvaHRtbC9IVE1MTW9kRWxlbWVudC5oIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE5hbWVD
b2xsZWN0aW9uLmNwcCBcCkBAIC0xODk2LDYgKzE4OTksOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBcCiAJV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVudUxpc3QuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlz
dC5oIFwKKwlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAgXAorCVdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1ldGVyLmggXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIFwKIAlXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwIFwKQEAgLTIyNDMsNiArMjI0OCwxNCBAQCB3
ZWJjb3JlX2NwcGZsYWdzICs9IFwKIAktREVOQUJMRV9EQVRBR1JJRD0wCiAKICMgLS0tLQorIyBI
VE1MIE1ldGVyIEVsZW1lbnQgLSBkaXNhYmxlIGZvciBub3csIHNpbmNlIHBhaW50aW5nIGNvZGUg
aXMgbWlzc2luZy4KKyMgLS0tLQorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9NRVRFUl9UQUc9
MAorCit3ZWJjb3JlX2NwcGZsYWdzICs9IFwKKyAgICAtREVOQUJMRV9NRVRFUl9UQUc9MAorCisj
IC0tLS0KICMgSFRNTCBQcm9ncmVzcyBFbGVtZW50IC0gZGlzYWJsZSBmb3Igbm93LCBzaW5jZSBw
YWludGluZyBjb2RlIGlzIG1pc3NpbmcuCiAjIC0tLS0KIEZFQVRVUkVfREVGSU5FUyArPSBFTkFC
TEVfUFJPR1JFU1NfVEFHPTAKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUvV2Vi
Q29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNTcsNiArMTU3LDcgQEAKICAgICAgICAgICAg
ICdodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsJywKICAgICAgICAgICAgICdodG1sL0hUTUxNZW51
RWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1ldGFFbGVtZW50LmlkbCcsCisg
ICAgICAgICAgICAnaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRt
bC9IVE1MTW9kRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE9MaXN0RWxlbWVu
dC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsJywKQEAgLTE1
NjEsNiArMTU2Miw4IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MTWVudUVsZW1lbnQuaCcsCiAg
ICAgICAgICAgICAnaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwJywKICAgICAgICAgICAgICdodG1s
L0hUTUxNZXRhRWxlbWVudC5oJywKKyAgICAgICAgICAgICdodG1sL0hUTUxNZXRlckVsZW1lbnQu
Y3BwJywKKyAgICAgICAgICAgICdodG1sL0hUTUxNZXRlckVsZW1lbnQuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1vZEVs
ZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwJywKQEAg
LTMxMzMsNiArMzEzNiw4IEBACiAgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1lZGlhQ29u
dHJvbHNDaHJvbWl1bS5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyTWVudUxpc3Qu
Y3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaCcsCisgICAgICAg
ICAgICAncmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCcsCisgICAgICAgICAgICAncmVuZGVyaW5n
L1JlbmRlck1ldGVyLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
JywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgnLAogICAgICAgICAgICAg
J3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwJywKSW5kZXg6IFdlYkNvcmUvV2Vi
Q29yZS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnByaQkocmV2aXNpb24gNTgy
NjIpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJpCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3
IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TSU5HTEVfVEhSRUFERUQKICFjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfVklERU89Lik6IERFRklORVMgKz0gRU5BQkxFX1ZJREVPPTEKICFjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfUlVCWT0uKTogREVGSU5FUyArPSBFTkFCTEVfUlVCWT0xCiAh
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NBTkRCT1g9Lik6IERFRklORVMgKz0gRU5BQkxFX1NB
TkRCT1g9MQorIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRVRFUl9UQUc9Lik6IERFRklORVMg
Kz0gRU5BQkxFX01FVEVSX1RBRz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1BST0dSRVNT
X1RBRz0uKTogREVGSU5FUyArPSBFTkFCTEVfUFJPR1JFU1NfVEFHPTEKICFjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfQkxPQl9TTElDRT0uKTogREVGSU5FUyArPSBFTkFCTEVfQkxPQl9TTElDRT0w
CiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX05PVElGSUNBVElPTlM9Lik6IERFRklORVMgKz0g
RU5BQkxFX05PVElGSUNBVElPTlM9MQpAQCAtMzcyLDYgKzM3Myw3IEBAIElETF9CSU5ESU5HUyAr
PSBcCiAgICAgaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MTWVudUVs
ZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxNZXRhRWxlbWVudC5pZGwgXAorICAgIGh0bWwvSFRN
TE1ldGVyRWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE1vZEVsZW1lbnQuaWRsIFwKICAgICBo
dG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MT0xpc3RFbGVtZW50Lmlk
bCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS5wcm8JKHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2lu
ZyBjb3B5KQpAQCAtNjU0LDYgKzY1NCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGh0bWwvSFRNTE1h
cnF1ZWVFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTWVudUVsZW1lbnQuY3BwIFwKICAgICBo
dG1sL0hUTUxNZXRhRWxlbWVudC5jcHAgXAorICAgIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAg
XAogICAgIGh0bWwvSFRNTE1vZEVsZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxOYW1lQ29sbGVj
dGlvbi5jcHAgXAogICAgIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwIFwKQEAgLTkzNCw2ICs5
MzUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICByZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAg
XAogICAgIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBcCiAgICAgcmVuZGVyaW5nL1JlbmRl
ck1lbnVMaXN0LmNwcCBcCisgICAgcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCBcCiAgICAgcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3RDaGls
ZExpc3QuY3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVyUGFydC5jcHAgXApAQCAtMTM3OCw2ICsx
MzgwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggXAogICAg
IGh0bWwvSFRNTE1lbnVFbGVtZW50LmggXAogICAgIGh0bWwvSFRNTE1ldGFFbGVtZW50LmggXAor
ICAgIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxNb2RFbGVtZW50Lmgg
XAogICAgIGh0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmggXAogICAgIGh0bWwvSFRNTE5vU2NyaXB0
RWxlbWVudC5oIFwKQEAgLTE3MDQsNiArMTcwNyw3IEBAIEhFQURFUlMgKz0gXAogICAgIHJlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJNZWRpYS5oIFwKICAg
ICByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaCBcCisgICAgcmVuZGVyaW5nL1JlbmRlck1ldGVy
LmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuaCBcCiAgICAgcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyUGFydC5oIFwKSW5kZXg6
IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNTgyNzIpCisrKyBX
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02
NTAxLDYgKzY1MDEsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0hUTUxNZXRlckVsZW1lbnQuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4z
MiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wN
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNl
X0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTSFRNTE1ldGVyRWxlbWVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0hUTUxNb2RFbGVtZW50LmNwcCINCiAJCQkJPg0K
IAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0yNzczNSw2ICsyNzc5MSwxNCBAQAogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdc
UmVuZGVyTWV0ZXIuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlck1ldGVyLmgiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcUmVuZGVyT2Jq
ZWN0LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0zMzA0NCw2ICszMzEwOCw2MiBAQAog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1s
XEhUTUxNZXRlckVsZW1lbnQuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIN
CisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdp
bjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9v
bA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJ
CQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxodG1sXEhUTUxNZXRlckVsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSFRNTE1vZEVsZW1lbnQuY3Bw
Ig0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNTQ3
LDYgKzI1NDcsMTAgQEAKIAkJQTQzQkY1OTkxMTQ5MjkwQTAwQzY0M0NBIC8qIEhUTUxQcm9ncmVz
c0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE0M0JGNTk3MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJvZ3Jlc3NFbGVtZW50LmggKi87IH07
CiAJCUE0M0JGNTlDMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5QTExNDkyOTI4
MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwICovOyB9OwogCQlBNDNCRjU5RDExNDkyOTI4
MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE0M0JGNTlCMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9n
cmVzcy5oICovOyB9OworCQlBNDhBQTlCQzExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ4QUE5
QkExMTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmNwcCAqLzsgfTsKKwkJQTQ4QUE5QkQx
MTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDhBQTlCQjExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVy
TWV0ZXIuaCAqLzsgfTsKKwkJQTQ4QUE5QzcxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTQ4QUE5QzQxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovOyB9Owor
CQlBNDhBQTlDODExODVGMUJDMDBCNjAxRjcgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ4QUE5QzUxMTg1RjFCQzAw
QjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuaCAqLzsgfTsKIAkJQTUxM0IzRDcxMTRCMTY2NjAw
MUM0MjlCIC8qIEtleUV2ZW50Q29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1Qzk3NENGMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29h
LmggKi87IH07CiAJCUE1MTNCM0Q4MTE0QjE2NkEwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDOTc0RDAx
MTQ4NUZGMTAwNjZGMkFCIC8qIEtleUV2ZW50Q29jb2EubW0gKi87IH07CiAJCUE1OUUzQzFFMTE1
ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTlFM0MxQzExNTgwRjUxMDA3MjkyOEUgLyog
S2V5RXZlbnRDb2Rlc0lQaG9uZS5oICovOyB9OwpAQCAtNzk5Nyw2ICs4MDAxLDEwIEBACiAJCUE0
M0JGNTk3MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJvZ3Jlc3NFbGVtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxQcm9ncmVzc0VsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTQzQkY1OUExMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclBy
b2dyZXNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclBy
b2dyZXNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTQzQkY1OUIxMTQ5Mjky
ODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJlbmRlclByb2dyZXNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE0
OEFBOUJBMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJNZXRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUE0OEFBOUJCMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJNZXRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNDhBQTlDNDExODVGMUJDMDBCNjAxRjcgLyogSFRNTE1ldGVy
RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MTWV0
ZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ4QUE5QzUxMTg1
RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBNTlFM0MxQzExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBLZXlFdmVudENvZGVzSVBob25lLmg7IHBh
dGggPSBpcGhvbmUvS2V5RXZlbnRDb2Rlc0lQaG9uZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBNTlFM0MxRDExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRJUGhvbmUubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBLZXlFdmVudElQaG9uZS5tbTsg
cGF0aCA9IGlwaG9uZS9LZXlFdmVudElQaG9uZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTVBRkIzNEQxMTUxNTFBNzAwQjA0NUNCIC8qIFN0ZXBSYW5nZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdGVwUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTMxODgsNiArMTMxOTYsOCBAQAogCQkJCUE4NzFEQzFCMEExNTIw
NTcwMEIxMkE2OCAvKiBIVE1MTWV0YUVsZW1lbnQuY3BwICovLAogCQkJCUE4NzFEQzE4MEExNTIw
NTcwMEIxMkE2OCAvKiBIVE1MTWV0YUVsZW1lbnQuaCAqLywKIAkJCQlBODBFNzlGQzBBMTlDMzA3
MDA3RkI4QzUgLyogSFRNTE1ldGFFbGVtZW50LmlkbCAqLywKKwkJCQlBNDhBQTlDNDExODVGMUJD
MDBCNjAxRjcgLyogSFRNTE1ldGVyRWxlbWVudC5jcHAgKi8sCisJCQkJQTQ4QUE5QzUxMTg1RjFC
QzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuaCAqLywKIAkJCQlBOENGRjc5RjBBMTU2OTc4
MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1lbnQuY3BwICovLAogCQkJCUE4Q0ZGNzlEMEExNTY5Nzgw
MDBBNDIzNCAvKiBIVE1MTW9kRWxlbWVudC5oICovLAogCQkJCTFBRTJBQjA3MEExQ0U1Q0YwMEI0
MkIyNSAvKiBIVE1MTW9kRWxlbWVudC5pZGwgKi8sCkBAIC0xNTkyMyw2ICsxNTkzMyw4IEBACiAJ
CQkJRTRDMjc5NTcwQ0Y5NzQxOTAwRTk3Qjk4IC8qIFJlbmRlck1lZGlhLmggKi8sCiAJCQkJQUJE
REZFNzMwQTVDNkU2RjAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0LmNwcCAqLywKIAkJCQlBQkRE
RkU3NDBBNUM2RTcwMDBBM0UxMUQgLyogUmVuZGVyTWVudUxpc3QuaCAqLywKKwkJCQlBNDhBQTlC
QTExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuY3BwICovLAorCQkJCUE0OEFBOUJCMTE4
NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5oICovLAogCQkJCUJDRUE0ODQwMDk3RDkzMDIw
MDk0QzlFNCAvKiBSZW5kZXJPYmplY3QuY3BwICovLAogCQkJCUJDRUE0ODQxMDk3RDkzMDIwMDk0
QzlFNCAvKiBSZW5kZXJPYmplY3QuaCAqLywKIAkJCQlCQzYwRUZCNjBGMzNBMEU3MDA4MTJBOTMg
LyogUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCAqLywKQEAgLTE4ODgzLDYgKzE4ODk1LDggQEAK
IAkJCQkyRTNCQzEwODExN0Q0Nzk4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRTNCQzEwQjExN0Q0N0M4MDBCOTQwOUEgLyogRE9NRmlsZUVycm9ySW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3RkQ0Mjk4MTE4MzY4NDYwMDkzQzAyOSAvKiBUcmVl
RGVwdGhMaW1pdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTQ4QUE5QkQxMTg1RjE3OTAwQjYwMUY3
IC8qIFJlbmRlck1ldGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNDhBQTlDODExODVGMUJDMDBC
NjAxRjcgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMTExOSw2ICsy
MTEzMyw4IEBACiAJCQkJOTczODg5QTAxMTZFQTlEQzAwQURGMzEzIC8qIERvY3VtZW50V3JpdGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFM0JDMENBMTE3RDNFMDgwMEI5NDA5QSAvKiBKU0Zp
bGVFcnJvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTNCQzEwOTExN0Q0Nzk4MDBCOTQwOUEg
LyogRE9NRmlsZUVycm9yLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQTQ4QUE5QkMxMTg1RjE3OTAw
QjYwMUY3IC8qIFJlbmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0OEFBOUM3MTE4
NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRl
eDogV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkocmV2aXNpb24gNTgyNjIp
CisrKyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI3Miw2ICsyNzIsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTUwogICAgICAgICBjYXNlIE1lbnVsaXN0VGV4dEZpZWxkUGFydDoKICAgICAgICAgICAg
IG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZU1lbnVsaXN0VGV4dGZpZWxkOwogICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisg
ICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVNZXRlcjsKKyNlbmRpZgorICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgT3V0ZXJTcGluQnV0dG9uUGFydDoKICAgICAgICAg
ICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZU91dGVyU3BpbkJ1dHRvbjsKICAgICAgICAgICAg
IGJyZWFrOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCShyZXZpc2lvbiA1ODI2MikKKysr
IFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTU4MSw2
ICs1ODEsNyBAQCBtZW51bGlzdAogbWVudWxpc3QtYnV0dG9uCiBtZW51bGlzdC10ZXh0CiBtZW51
bGlzdC10ZXh0ZmllbGQKK21ldGVyCiBvdXRlci1zcGluLWJ1dHRvbgogcHJvZ3Jlc3MtYmFyCiBw
cm9ncmVzcy1iYXItdmFsdWUKSW5kZXg6IFdlYkNvcmUvY3NzL2h0bWwuY3NzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvY3NzL2h0bWwuY3NzCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUvY3Nz
L2h0bWwuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC01MTUsNiArNTE1LDIwIEBAIG9wdGlvbiB7CiAg
ICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKIH0KIAorLyogbWV0ZXIgKi8KKworbWV0ZXIgeworICAg
IC13ZWJraXQtYXBwZWFyYW5jZTogbWV0ZXI7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
ICAgIGhlaWdodDogMWVtOworICAgIHdpZHRoOiA1ZW07CisgICAgdmVydGljYWwtYWxpZ246IC0w
LjJlbTsKK30KKworbWV0ZXI6Oi13ZWJraXQtbWV0ZXIgeworICAgIC13ZWJraXQtYXBwZWFyYW5j
ZTogbWV0ZXI7Cit9CisKIC8qIHByb2dyZXNzICovCiAKIHByb2dyZXNzIHsKSW5kZXg6IFdlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1s
L0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC05OCw2ICs5OCw3IEBAIGZy
YW1lYm9yZGVyCiBoZWFkZXJzCiBoZWlnaHQKIGhpZGRlbgoraGlnaAogaHJlZgogaHJlZmxhbmcK
IGhzcGFjZQpAQCAtMTE1LDYgKzExNiw3IEBAIGxpbmsKIGxpc3QKIGxvbmdkZXNjCiBsb29wCits
b3cKIHBsYXljb3VudAogbG9vcGVuZAogbG9vcHN0YXJ0CkBAIC0yMTksNiArMjIxLDcgQEAgb253
ZWJraXRhbmltYXRpb25lbmQKIG9ud2Via2l0YmVnaW5mdWxsc2NyZWVuCiBvbndlYmtpdGVuZGZ1
bGxzY3JlZW4KIG9ud2Via2l0dHJhbnNpdGlvbmVuZAorb3B0aW11bQogcGF0dGVybgogcGxhY2Vo
b2xkZXIKIHBsdWdpbnVybApJbmRleDogV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiA1ODI2MikK
KysrIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2MSw2
ICs4NjEsOSBAQCBzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4qIGlubGluCiAjaWYg
RU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAgdGFnTGlzdC5hZGQocHJvZ3Jlc3NUYWcubG9j
YWxOYW1lKCkuaW1wbCgpKTsKICNlbmRpZgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAgICAg
IHRhZ0xpc3QuYWRkKG1ldGVyVGFnLmxvY2FsTmFtZSgpLmltcGwoKSk7CisjZW5kaWYKICAgICB9
CiAgICAgcmV0dXJuICZ0YWdMaXN0OwogfQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50
c0FsbEluT25lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxs
SW5PbmUuY3BwCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudHNB
bGxJbk9uZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAKICNpbmNsdWRlICJI
VE1MTWVkaWFFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MTWVudUVsZW1lbnQuY3BwIgogI2lu
Y2x1ZGUgIkhUTUxNZXRhRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiSFRNTE1ldGVyRWxlbWVudC5j
cHAiCiAjaW5jbHVkZSAiSFRNTE1vZEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkhUTUxPTGlzdEVs
ZW1lbnQuY3BwIgogI2luY2x1ZGUgIkhUTUxPYmplY3RFbGVtZW50LmNwcCIKSW5kZXg6IFdlYkNv
cmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwv
SFRNTE1ldGVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTE1l
dGVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgt
aWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
KgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorI2lu
Y2x1ZGUgIkhUTUxNZXRlckVsZW1lbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNp
bmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKKyNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKKyNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJNYXBwZWRBdHRyaWJ1dGUuaCIKKyNpbmNs
dWRlICJSZW5kZXJNZXRlci5oIgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCitIVE1MTWV0
ZXJFbGVtZW50OjpIVE1MTWV0ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50KiBmb3JtKQorICAgIDogSFRNTEZv
cm1Db250cm9sRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgZm9ybSwgQ3JlYXRlRWxlbWVudCkK
K3sKKyAgICBBU1NFUlQoaGFzVGFnTmFtZShtZXRlclRhZykpOworfQorCitQYXNzUmVmUHRyPEhU
TUxNZXRlckVsZW1lbnQ+IEhUTUxNZXRlckVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxGb3JtRWxlbWVudCogZm9ybSkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxNZXRlckVsZW1lbnQodGFnTmFtZSwgZG9j
dW1lbnQsIGZvcm0pKTsKK30KKworUmVuZGVyT2JqZWN0KiBIVE1MTWV0ZXJFbGVtZW50OjpjcmVh
dGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKK3sKKyAgICByZXR1
cm4gbmV3IChhcmVuYSkgUmVuZGVyTWV0ZXIodGhpcyk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmlu
ZyYgSFRNTE1ldGVyRWxlbWVudDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKK3sKKyAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgbWV0ZXIsICgibWV0ZXIiKSk7Cisg
ICAgcmV0dXJuIG1ldGVyOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKK3sKKyAgICBpZiAoYXR0ci0+bmFtZSgp
ID09IHZhbHVlQXR0cikgeworICAgICAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHJl
bmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gbWluQXR0cikgeworICAgICAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHJl
bmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gbWF4QXR0cikgeworICAgICAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHJl
bmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gbG93QXR0cikgeworICAgICAgICBpZiAocmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHJl
bmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gaGlnaEF0dHIpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICBy
ZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFt
ZSgpID09IG9wdGltdW1BdHRyKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigpKQorICAgICAgICAg
ICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Cit9CisK
K2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0Cit7CisgICAgY29uc3QgQXRv
bWljU3RyaW5nJiB2YWx1ZVN0cmluZyA9IGdldEF0dHJpYnV0ZSh2YWx1ZUF0dHIpOworICAgIGJv
b2wgb2s7CisgICAgZG91YmxlIHZhbHVlID0gdmFsdWVTdHJpbmcudG9Eb3VibGUoJm9rKTsKKyAg
ICBpZiAoIW9rKQorICAgICAgICB2YWx1ZSA9IDA7CisgICAgcmV0dXJuIHN0ZDo6bWluKHN0ZDo6
bWF4KHZhbHVlLCBtaW4oKSksIG1heCgpKTsKK30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50Ojpz
ZXRWYWx1ZShkb3VibGUgdmFsdWUpCit7CisgICAgc2V0QXR0cmlidXRlKHZhbHVlQXR0ciwgU3Ry
aW5nOjpudW1iZXIoaXNuYW4odmFsdWUpID8gMCA6IHZhbHVlKSk7Cit9CisKK2RvdWJsZSBIVE1M
TWV0ZXJFbGVtZW50OjptaW4oKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbWlu
U3RyaW5nID0gZ2V0QXR0cmlidXRlKG1pbkF0dHIpOworICAgIGJvb2wgb2s7CisgICAgZG91Ymxl
IG1pbiA9IG1pblN0cmluZy50b0RvdWJsZSgmb2spOworICAgIHJldHVybiBvayA/IG1pbiA6IDA7
Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0TWluKGRvdWJsZSBtaW4pCit7CisgICAg
c2V0QXR0cmlidXRlKG1pbkF0dHIsIFN0cmluZzo6bnVtYmVyKGlzbmFuKG1pbikgPyAwIDogbWlu
KSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50OjptYXgoKSBjb25zdAoreworICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgbWF4U3RyaW5nID0gZ2V0QXR0cmlidXRlKG1heEF0dHIpOworICAg
IGJvb2wgb2s7CisgICAgZG91YmxlIG1heCA9IG1heFN0cmluZy50b0RvdWJsZSgmb2spOworICAg
IHJldHVybiBvayA/IHN0ZDo6bWF4KG1heCwgbWluKCkpIDogc3RkOjptYXgoMS4wLCBtaW4oKSk7
Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0TWF4KGRvdWJsZSBtYXgpCit7CisgICAg
c2V0QXR0cmlidXRlKG1heEF0dHIsIFN0cmluZzo6bnVtYmVyKGlzbmFuKG1heCkgPyAxIDogbWF4
KSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50Ojpsb3coKSBjb25zdAoreworICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgbG93U3RyaW5nID0gZ2V0QXR0cmlidXRlKGxvd0F0dHIpOworICAg
IGJvb2wgb2s7CisgICAgZG91YmxlIGxvdyA9IGxvd1N0cmluZy50b0RvdWJsZSgmb2spOworICAg
IGlmICghb2spCisgICAgICAgIGxvdyA9IG1pbigpOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6
Om1heChsb3csIG1pbigpKSwgbWF4KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNl
dExvdyhkb3VibGUgbG93KQoreworICAgIHNldEF0dHJpYnV0ZShsb3dBdHRyLCBTdHJpbmc6Om51
bWJlcihpc25hbihsb3cpID8gbWluKCkgOiBsb3cpKTsKK30KKworZG91YmxlIEhUTUxNZXRlckVs
ZW1lbnQ6OmhpZ2goKSBjb25zdAoreworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaGlnaFN0cmlu
ZyA9IGdldEF0dHJpYnV0ZShoaWdoQXR0cik7CisgICAgYm9vbCBvazsKKyAgICBkb3VibGUgaGln
aCA9IGhpZ2hTdHJpbmcudG9Eb3VibGUoJm9rKTsKKyAgICBpZiAoIW9rKQorICAgICAgICBoaWdo
ID0gbWF4KCk7CisgICAgcmV0dXJuIHN0ZDo6bWluKHN0ZDo6bWF4KGhpZ2gsIGxvdygpKSwgbWF4
KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldEhpZ2goZG91YmxlIGhpZ2gpCit7
CisgICAgc2V0QXR0cmlidXRlKGhpZ2hBdHRyLCBTdHJpbmc6Om51bWJlcihpc25hbihoaWdoKSA/
IG1heCgpIDogaGlnaCkpOworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVudDo6b3B0aW11bSgp
IGNvbnN0Cit7CisgICAgY29uc3QgQXRvbWljU3RyaW5nJiBvcHRpbXVtU3RyaW5nID0gZ2V0QXR0
cmlidXRlKG9wdGltdW1BdHRyKTsKKyAgICBib29sIG9rOworICAgIGRvdWJsZSBvcHRpbXVtID0g
b3B0aW11bVN0cmluZy50b0RvdWJsZSgmb2spOworICAgIGlmICghb2spCisgICAgICAgIG9wdGlt
dW0gPSAobWF4KCkgKyBtaW4oKSkgLyAyOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heChv
cHRpbXVtLCBtaW4oKSksIG1heCgpKTsKK30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpzZXRP
cHRpbXVtKGRvdWJsZSBvcHRpbXVtKQoreworICAgIHNldEF0dHJpYnV0ZShvcHRpbXVtQXR0ciwg
U3RyaW5nOjpudW1iZXIoaXNuYW4ob3B0aW11bSkgPyAoKG1heCgpICsgbWluKCkpIC8gMikgOiBv
cHRpbXVtKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvaHRt
bC9IVE1MTWV0ZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lm
bmRlZiBIVE1MTWV0ZXJFbGVtZW50X2gKKyNkZWZpbmUgSFRNTE1ldGVyRWxlbWVudF9oCisKKyNp
ZiBFTkFCTEUoTUVURVJfVEFHKQorI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIVE1MTWV0ZXJFbGVtZW50IDogcHVibGlj
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEhUTUxNZXRlckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
LCBIVE1MRm9ybUVsZW1lbnQqID0gMCk7CisKKyAgICBkb3VibGUgdmFsdWUoKSBjb25zdDsKKyAg
ICB2b2lkIHNldFZhbHVlKGRvdWJsZSk7CisKKyAgICBkb3VibGUgbWluKCkgY29uc3Q7CisgICAg
dm9pZCBzZXRNaW4oZG91YmxlKTsKKworICAgIGRvdWJsZSBtYXgoKSBjb25zdDsKKyAgICB2b2lk
IHNldE1heChkb3VibGUpOworCisgICAgZG91YmxlIGxvdygpIGNvbnN0OworICAgIHZvaWQgc2V0
TG93KGRvdWJsZSk7CisKKyAgICBkb3VibGUgaGlnaCgpIGNvbnN0OworICAgIHZvaWQgc2V0SGln
aChkb3VibGUpOworCisgICAgZG91YmxlIG9wdGltdW0oKSBjb25zdDsKKyAgICB2b2lkIHNldE9w
dGltdW0oZG91YmxlKTsKKworcHJpdmF0ZToKKyAgICBIVE1MTWV0ZXJFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIEhUTUxGb3JtRWxlbWVudCopOworCisgICAgdmlydHVh
bCBib29sIGlzT3B0aW9uYWxGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKwor
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsK
KworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSos
IFJlbmRlclN0eWxlKik7CisKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUo
TWFwcGVkQXR0cmlidXRlKik7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisjZW5kaWYKKyNlbmRp
ZgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNv
cmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKyAgICBpbnRlcmZhY2UgWworICAgICAg
ICBDb25kaXRpb25hbD1NRVRFUl9UQUcKKyAgICBdIEhUTUxNZXRlckVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgdmFsdWU7CisgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgbWluOworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgZG91YmxlIG1heDsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBsb3c7Cisg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgaGlnaDsKKyAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIGRvdWJsZSBvcHRpbXVtOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRN
TEZvcm1FbGVtZW50IGZvcm07CisgICAgfTsKK30KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MVGFn
TmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgkocmV2
aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCSh3b3JraW5nIGNv
cHkpCkBAIC03Nyw2ICs3Nyw3IEBAIG1hcCBjcmVhdGVXaXRoTmV3CiBtYXJxdWVlIGNyZWF0ZVdp
dGhOZXcKIG1lbnUgY3JlYXRlV2l0aE5ldwogbWV0YSBjcmVhdGVXaXRoTmV3CittZXRlciBpbnRl
cmZhY2VOYW1lPUhUTUxNZXRlckVsZW1lbnQsIGNvbmRpdGlvbmFsPU1FVEVSX1RBRwogbmF2IGlu
dGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vYnIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAog
bm9lbWJlZCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2
aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtNDExLDYgKzQxMSw5IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUg
SFRNTE1hcnF1ZWVFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1hcnF1ZWVFbGVtZW50OwogICAgICAg
ICBhdHRyaWJ1dGUgSFRNTE1lbnVFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1lbnVFbGVtZW50Owog
ICAgICAgICBhdHRyaWJ1dGUgSFRNTE1ldGFFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1ldGFFbGVt
ZW50OworI2lmIGRlZmluZWQoRU5BQkxFX01FVEVSX1RBRykgJiYgRU5BQkxFX01FVEVSX1RBRwor
ICAgICAgICBhdHRyaWJ1dGUgSFRNTE1ldGVyRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZXRlckVs
ZW1lbnQ7CisjZW5kaWYKICAgICAgICAgYXR0cmlidXRlIEhUTUxNb2RFbGVtZW50Q29uc3RydWN0
b3IgSFRNTE1vZEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MT0xpc3RFbGVtZW50Q29u
c3RydWN0b3IgSFRNTE9MaXN0RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxPYmplY3RF
bGVtZW50Q29uc3RydWN0b3IgSFRNTE9iamVjdEVsZW1lbnQ7CkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL1RoZW1lVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuaAkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBN
ZWRpYVNlZWtGb3J3YXJkQnV0dG9uUGFydCwgTWVkaWFSZXdpbmRCdXR0b25QYXJ0LCBNZWRpYVJl
dHVyblRvUmVhbHRpbWVCdXR0b25QYXJ0LCBNZWRpYVRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9u
UGFydCwKICAgICBNZWRpYVNsaWRlclBhcnQsIE1lZGlhU2xpZGVyVGh1bWJQYXJ0LCBNZWRpYVZv
bHVtZVNsaWRlckNvbnRhaW5lclBhcnQsIE1lZGlhVm9sdW1lU2xpZGVyUGFydCwgTWVkaWFWb2x1
bWVTbGlkZXJUaHVtYlBhcnQsCiAgICAgTWVkaWFDb250cm9sc0JhY2tncm91bmRQYXJ0LCBNZWRp
YUN1cnJlbnRUaW1lUGFydCwgTWVkaWFUaW1lUmVtYWluaW5nUGFydCwKLSAgICBNZW51bGlzdFBh
cnQsIE1lbnVsaXN0QnV0dG9uUGFydCwgTWVudWxpc3RUZXh0UGFydCwgTWVudWxpc3RUZXh0Rmll
bGRQYXJ0LCBPdXRlclNwaW5CdXR0b25QYXJ0LCBQcm9ncmVzc0JhclBhcnQsIFByb2dyZXNzQmFy
VmFsdWVQYXJ0LAorICAgIE1lbnVsaXN0UGFydCwgTWVudWxpc3RCdXR0b25QYXJ0LCBNZW51bGlz
dFRleHRQYXJ0LCBNZW51bGlzdFRleHRGaWVsZFBhcnQsIE1ldGVyUGFydCwgT3V0ZXJTcGluQnV0
dG9uUGFydCwgUHJvZ3Jlc3NCYXJQYXJ0LCBQcm9ncmVzc0JhclZhbHVlUGFydCwKICAgICBTbGlk
ZXJIb3Jpem9udGFsUGFydCwgU2xpZGVyVmVydGljYWxQYXJ0LCBTbGlkZXJUaHVtYkhvcml6b250
YWxQYXJ0LAogICAgIFNsaWRlclRodW1iVmVydGljYWxQYXJ0LCBDYXJldFBhcnQsIFNlYXJjaEZp
ZWxkUGFydCwgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydCwKICAgICBTZWFyY2hGaWVsZFJlc3Vs
dHNEZWNvcmF0aW9uUGFydCwgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydCwKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2
ICs1MCwxMCBAQAogI2luY2x1ZGUgIlF0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oIgogI2luY2x1
ZGUgIlFXZWJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCisjaWYgRU5BQkxF
KE1FVEVSX1RBRykKKyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVu
ZGVyTWV0ZXIuaCIKKyNlbmRpZgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAjaW5jbHVkZSAi
UmVuZGVyUHJvZ3Jlc3MuaCIKICNlbmRpZgpAQCAtNjg3LDYgKzY5MSw2NiBAQCBib29sIFJlbmRl
clRoZW1lUXQ6OnBhaW50TWVudUxpc3RCdXR0b24oCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisj
aWYgRU5BQkxFKE1FVEVSX1RBRykKK3ZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0TWV0ZXJTdHls
ZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QK
K3sKKyAgICBzdHlsZS0+c2V0Qm94U2hhZG93KDApOworfQorCitib29sIFJlbmRlclRoZW1lUXQ6
OnBhaW50TWV0ZXIoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5m
byYgcGksIGNvbnN0IEludFJlY3QmIHIpCit7CisgICAgU3R5bGVQYWludGVyIHAodGhpcywgcGkp
OworICAgIGlmICghcC5pc1ZhbGlkKCkpCisgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBSZW5k
ZXJNZXRlciogcmVuZGVyTWV0ZXIgPSB0b1JlbmRlck1ldGVyKG8pOworICAgIFJlbmRlclN0eWxl
KiBzdHlsZSA9IG8tPnN0eWxlKCk7CisgICAgaW50IGxlZnQgPSBzdHlsZS0+Ym9yZGVyTGVmdCgp
LndpZHRoKCkgKyBzdHlsZS0+cGFkZGluZ0xlZnQoKS52YWx1ZSgpOworICAgIGludCB0b3AgPSBz
dHlsZS0+Ym9yZGVyVG9wKCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nVG9wKCkudmFsdWUoKTsK
KyAgICBpbnQgcmlnaHQgPSBzdHlsZS0+Ym9yZGVyUmlnaHQoKS53aWR0aCgpICsgc3R5bGUtPnBh
ZGRpbmdSaWdodCgpLnZhbHVlKCk7CisgICAgaW50IGJvdHRvbSA9IHN0eWxlLT5ib3JkZXJCb3R0
b20oKS53aWR0aCgpICsgc3R5bGUtPnBhZGRpbmdCb3R0b20oKS52YWx1ZSgpOworICAgIEludFJl
Y3QgaW5uZXJSZWN0KHIueCgpICsgbGVmdCwgci55KCkgKyB0b3AsIHIud2lkdGgoKSAtIGxlZnQg
LSByaWdodCwgci5oZWlnaHQoKSAtIHRvcCAtIGJvdHRvbSk7CisKKyAgICBIVE1MTWV0ZXJFbGVt
ZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTE1ldGVyRWxlbWVudCo+KHJlbmRlck1ldGVy
LT5ub2RlKCkpOworICAgIGRvdWJsZSBtaW4gPSBlbGVtZW50LT5taW4oKTsKKyAgICBkb3VibGUg
bWF4ID0gZWxlbWVudC0+bWF4KCk7CisgICAgZG91YmxlIHZhbHVlID0gZWxlbWVudC0+dmFsdWUo
KTsKKworICAgIC8vIFNpbmNlIFF0IGRvZXMgbm90IGhhdmUgYSBnYXVnZSB3aWRnZXQsIHdlIGRy
YXcgaXQgaGVyZS4KKyAgICBRUmVjdCB2YWx1ZVJlY3Q7CisgICAgUVJlY3QgYmFja2dyb3VuZFJl
Y3Q7CisgICAgaWYgKG1pbiA+PSBtYXgpIHsKKyAgICAgICAgcGkuY29udGV4dC0+cGxhdGZvcm1D
b250ZXh0KCktPmZpbGxSZWN0KGlubmVyUmVjdCwgUXQ6OmJsYWNrKTsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKworICAgIGlmIChyLndpZHRoKCkgPCByLmhlaWdodCgpKSB7CisgICAg
ICAgIC8vIFZlcnRpY2FsIGdhdWdlCisgICAgICAgIGRvdWJsZSBzY2FsZSA9IGlubmVyUmVjdC5o
ZWlnaHQoKSAvIChtYXggLSBtaW4pOworICAgICAgICB2YWx1ZVJlY3Quc2V0UmVjdChpbm5lclJl
Y3QueCgpLCBpbm5lclJlY3QueSgpICsgcm91bmQoKG1heCAtIHZhbHVlKSAqIHNjYWxlKSwgaW5u
ZXJSZWN0LndpZHRoKCksIHJvdW5kKCh2YWx1ZSAtIG1pbikgKiBzY2FsZSkpOworICAgICAgICBi
YWNrZ3JvdW5kUmVjdC5zZXRSZWN0KGlubmVyUmVjdC54KCksIGlubmVyUmVjdC55KCksIGlubmVy
UmVjdC53aWR0aCgpLCByb3VuZCgobWF4IC0gdmFsdWUpICogc2NhbGUpKTsKKyAgICB9IGVsc2Ug
aWYgKHJlbmRlck1ldGVyLT5zdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBSVEwpIHsKKyAgICAgICAg
Ly8gcmlnaHQgdG8gbGVmdCBob3Jpem9udGFsIGdhdWdlCisgICAgICAgIGRvdWJsZSBzY2FsZSA9
IGlubmVyUmVjdC53aWR0aCgpIC8gKG1heCAtIG1pbik7CisgICAgICAgIHZhbHVlUmVjdC5zZXRS
ZWN0KGlubmVyUmVjdC54KCkgKyByb3VuZCgobWF4IC0gdmFsdWUpICogc2NhbGUpLCBpbm5lclJl
Y3QueSgpLCByb3VuZCgodmFsdWUgLSBtaW4pICogc2NhbGUpLCBpbm5lclJlY3QuaGVpZ2h0KCkp
OworICAgICAgICBiYWNrZ3JvdW5kUmVjdC5zZXRSZWN0KGlubmVyUmVjdC54KCksIGlubmVyUmVj
dC55KCksIGxyb3VuZCgobWF4IC0gdmFsdWUpICogc2NhbGUpLCBpbm5lclJlY3QuaGVpZ2h0KCkp
OworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIGxlZnQgdG8gcmlnaHQgaG9yaXpvbnRhbCBnYXVn
ZQorICAgICAgICBkb3VibGUgc2NhbGUgPSBpbm5lclJlY3Qud2lkdGgoKSAvIChtYXggLSBtaW4p
OworICAgICAgICB2YWx1ZVJlY3Quc2V0UmVjdChpbm5lclJlY3QueCgpLCBpbm5lclJlY3QueSgp
LCByb3VuZCgodmFsdWUgLSBtaW4pICogc2NhbGUpLCBpbm5lclJlY3QuaGVpZ2h0KCkpOworICAg
ICAgICBiYWNrZ3JvdW5kUmVjdC5zZXRSZWN0KGlubmVyUmVjdC54KCkgKyB2YWx1ZVJlY3Qud2lk
dGgoKSwgaW5uZXJSZWN0LnkoKSwgcm91bmQoKG1heCAtIHZhbHVlKSAqIHNjYWxlKSwgaW5uZXJS
ZWN0LmhlaWdodCgpKTsKKyAgICB9CisgICAgaWYgKCF2YWx1ZVJlY3QuaXNFbXB0eSgpKQorICAg
ICAgICBwaS5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+ZmlsbFJlY3QodmFsdWVSZWN0LCBR
dDo6YmxhY2spOworCisgICAgaWYgKCFiYWNrZ3JvdW5kUmVjdC5pc0VtcHR5KCkpCisgICAgICAg
IHBpLmNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5maWxsUmVjdChiYWNrZ3JvdW5kUmVjdCwg
UXQ6OmxpZ2h0R3JheSk7CisKKworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCiAjaWYg
RU5BQkxFKFBST0dSRVNTX1RBRykKIGRvdWJsZSBSZW5kZXJUaGVtZVF0OjphbmltYXRpb25SZXBl
YXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKFJlbmRlclByb2dyZXNzKiByZW5kZXJQcm9ncmVzcykg
Y29uc3QKIHsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCShyZXZpc2lvbiA1
ODI2MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTIsNiArMTEyLDExIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRNZW51TGlzdEJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50
SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWVudUxpc3RC
dXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29u
c3Q7CiAKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZXRl
clN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZXRlcihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJP
YmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxF
KFBST0dSRVNTX1RBRykKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShD
U1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2Jq
ZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWV0ZXIuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIu
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorCisjaW5jbHVkZSAiUmVu
ZGVyTWV0ZXIuaCIKKworI2luY2x1ZGUgIkhUTUxNZXRlckVsZW1lbnQuaCIKKyNpbmNsdWRlICJS
ZW5kZXJUaGVtZS5oIgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOworCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CisKK1JlbmRlck1ldGVyOjpSZW5kZXJN
ZXRlcihIVE1MTWV0ZXJFbGVtZW50KiBlbGVtZW50KQorICAgIDogUmVuZGVyQmxvY2soZWxlbWVu
dCkKK3sKK30KKwordm9pZCBSZW5kZXJNZXRlcjo6bGF5b3V0KCkKK3sKKyAgICBBU1NFUlQobmVl
ZHNMYXlvdXQoKSk7CisKKyAgICBMYXlvdXRSZXBhaW50ZXIgcmVwYWludGVyKCp0aGlzLCBjaGVj
a0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSk7CisKKyAgICBjYWxjV2lkdGgoKTsKKyAgICBjYWxj
SGVpZ2h0KCk7CisKKyAgICBtX292ZXJmbG93LmNsZWFyKCk7CisKKyAgICByZXBhaW50ZXIucmVw
YWludEFmdGVyTGF5b3V0KCk7CisKKyAgICBzZXROZWVkc0xheW91dChmYWxzZSk7Cit9CisKK3Zv
aWQgUmVuZGVyTWV0ZXI6OnVwZGF0ZUZyb21FbGVtZW50KCkKK3sKKyAgICByZXBhaW50KCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWV0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZXRlci5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVm
IFJlbmRlck1ldGVyX2gKKyNkZWZpbmUgUmVuZGVyTWV0ZXJfaAorCisjaWYgRU5BQkxFKE1FVEVS
X1RBRykKKyNpbmNsdWRlICJSZW5kZXJCbG9jay5oIgorI2luY2x1ZGUgIlJlbmRlcldpZGdldC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEhUTUxNZXRlckVsZW1lbnQ7CisKK2Ns
YXNzIFJlbmRlck1ldGVyIDogcHVibGljIFJlbmRlckJsb2NrIHsKK3B1YmxpYzoKKyAgICBSZW5k
ZXJNZXRlcihIVE1MTWV0ZXJFbGVtZW50Kik7CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCBjb25z
dCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlck1ldGVyIjsgfQorICAg
IHZpcnR1YWwgYm9vbCBpc01ldGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1
YWwgdm9pZCBsYXlvdXQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKTsK
K307CisKK2lubGluZSBSZW5kZXJNZXRlciogdG9SZW5kZXJNZXRlcihSZW5kZXJPYmplY3QqIG9i
amVjdCkKK3sKKyAgICBBU1NFUlQoIW9iamVjdCB8fCBvYmplY3QtPmlzTWV0ZXIoKSk7CisgICAg
cmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlck1ldGVyKj4ob2JqZWN0KTsKK30KKworLy8gVGhpcyB3
aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2FyeSBjYXN0Lgordm9pZCB0b1JlbmRl
ck1ldGVyKGNvbnN0IFJlbmRlck1ldGVyKik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmCisKKyNlbmRpZiAvLyBSZW5kZXJNZXRlcl9oCisKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oCShyZXZpc2lvbiA1ODI2MikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsNiArMjc3LDkgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBpc0xpc3RNYXJrZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBpc01lZGlhKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFs
IGJvb2wgaXNNZW51TGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxFKE1F
VEVSX1RBRykKKyAgICB2aXJ0dWFsIGJvb2wgaXNNZXRlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisjZW5kaWYKICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogICAgIHZpcnR1YWwgYm9vbCBp
c1Byb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcAkocmV2aXNpb24gNTgyNjIpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsMTAgQEAgdm9p
ZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoQ1NTU3R5bGVTZQogICAgICAgICBjYXNlIFByb2dy
ZXNzQmFyUGFydDoKICAgICAgICAgICAgIHJldHVybiBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKHNl
bGVjdG9yLCBzdHlsZSwgZSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoTWV0ZXJfVEFHKQorICAgICAg
ICBjYXNlIE1ldGVyUGFydDoKKyAgICAgICAgICAgIHJldHVybiBhZGp1c3RNZXRlclN0eWxlKHNl
bGVjdG9yLCBzdHlsZSwgZSk7CisjZW5kaWYKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IGJyZWFrOwogICAgIH0KQEAgLTI3MSw2ICsyNzUsMTAgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFp
bnQoUmVuZGVyT2JqZWN0KiBvLAogI2VuZGlmCiAgICAgICAgIGNhc2UgTWVudWxpc3RQYXJ0Ogog
ICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVudUxpc3QobywgcGFpbnRJbmZvLCByKTsKKyNpZiBF
TkFCTEUoTUVURVJfVEFHKQorICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyAgICAgICAgICAgIHJl
dHVybiBwYWludE1ldGVyKG8sIHBhaW50SW5mbywgcik7CisjZW5kaWYKICNpZiBFTkFCTEUoUFJP
R1JFU1NfVEFHKQogICAgICAgICBjYXNlIFByb2dyZXNzQmFyUGFydDoKICAgICAgICAgICAgIHJl
dHVybiBwYWludFByb2dyZXNzQmFyKG8sIHBhaW50SW5mbywgcik7CkBAIC0zNjUsNiArMzczLDkg
QEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnRCb3JkZXJPbmx5KFJlbmRlcgogICAgICAgICBjYXNl
IERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIEJ1dHRvblBhcnQ6CiAgICAgICAgIGNh
c2UgTWVudWxpc3RQYXJ0OgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAgICAgIGNhc2UgTWV0
ZXJQYXJ0OgorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAgY2FzZSBQ
cm9ncmVzc0JhclBhcnQ6CiAjZW5kaWYKQEAgLTQwMyw2ICs0MTQsOSBAQCBib29sIFJlbmRlclRo
ZW1lOjpwYWludERlY29yYXRpb25zKFJlbmRlCiAgICAgICAgIGNhc2UgRGVmYXVsdEJ1dHRvblBh
cnQ6CiAgICAgICAgIGNhc2UgQnV0dG9uUGFydDoKICAgICAgICAgY2FzZSBNZW51bGlzdFBhcnQ6
CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAgICAgICAgY2FzZSBNZXRlclBhcnQ6CisjZW5kaWYK
ICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogICAgICAgICBjYXNlIFByb2dyZXNzQmFyUGFydDoK
ICNlbmRpZgpAQCAtODQwLDYgKzg1NCwxMiBAQCB2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RNZW51
TGlzdFN0eWxlKENTCiB7CiB9CiAKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQordm9pZCBSZW5kZXJU
aGVtZTo6YWRqdXN0TWV0ZXJTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBF
bGVtZW50KikgY29uc3QKK3sKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykK
IGRvdWJsZSBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jh
cihSZW5kZXJQcm9ncmVzcyopIGNvbnN0CiB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJ
KHJldmlzaW9uIDU4MjYyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAkod29y
a2luZyBjb3B5KQpAQCAtMjM3LDYgKzIzNywxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2
b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0
eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0QnV0
dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KIAorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAg
dmlydHVhbCB2b2lkIGFkanVzdE1ldGVyU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0
eWxlKiwgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludE1ldGVyKFJlbmRl
ck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYp
IHsgcmV0dXJuIHRydWU7IH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAg
ICB2aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwg
UmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50UHJv
Z3Jlc3NCYXIoUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBj
b25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTgyNjMp
CisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBA
QAorMjAxMC0wNC0yNiAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbCBzdXBw
b3J0IGZvciBIVE1MTWV0ZXJFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zODE0MAorCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1l
bGVtZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQv
c2NyaXB0LXRlc3RzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50
L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qczogQWRk
ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVy
dGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0
ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBs
YXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQ6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3Rl
ZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1l
dGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAt
MDQtMjYgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IExhc3psbyBHb21ib3MuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVu
dC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis8aHRtbD48Ym9keT48bWV0ZXIgbWlu
PTEwIHZhbHVlPTMwIG1heD0xMDA+PC9tZXRlcj48bWV0ZXIgbWluPTAgdmFsdWU9NzAgbWF4PTEw
MCBzdHlsZT0id2lkdGg6MTBweDsgaGVpZ2h0OjYwcHg7Ij48L21ldGVyPjwvYm9keT48L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1l
dGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ3IEBA
CitUZXN0IHNldHRpbmcgdmFsaWQgYW5kIGludmFsaWQgcHJvcGVydGllcyBvZiBIVE1MTWV0ZXJF
bGVtZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdCB2YWx1ZXMgYmVm
b3JlIHByb3BlcnRpZXMgd2VyZSBzZXQKK1BBU1MgbS5taW4gaXMgMAorUEFTUyBtLnZhbHVlIGlz
IDAKK1BBU1MgbS5tYXggaXMgMQorUEFTUyBtLmxvdyBpcyAwCitQQVNTIG0uaGlnaCBpcyAxCitQ
QVNTIG0ub3B0aW11bSBpcyAwLjUKK1NldCB2YWxpZCB2YWx1ZXMKK1BBU1MgbS5taW4gaXMgLTEw
CitQQVNTIG0udmFsdWUgaXMgNzAKK1BBU1MgbS5tYXggaXMgMTAwCitQQVNTIG0ubG93IGlzIDEw
LjEKK1BBU1MgbS5oaWdoIGlzIDk5LjUKK1BBU1MgbS5vcHRpbXVtIGlzIDcwCitTZXQgYXR0cmli
dXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAxCitQQVNTIG0ubWluIGlzIC0xMAorUEFTUyBtLnZh
bHVlIGlzIDEwMAorUEFTUyBtLm1heCBpcyAxMDAKK1BBU1MgbS5sb3cgaXMgMTAwCitQQVNTIG0u
aGlnaCBpcyAxMDAKK1BBU1MgbS5vcHRpbXVtIGlzIDAKK1NldCBhdHRyaWJ1dGVzIHRvIGltcHJv
cGVyIHZhbHVlcyAtIDIKK1BBU1MgbS5taW4gaXMgMjAwLjAKK1BBU1MgbS52YWx1ZSBpcyAyMDAu
MAorUEFTUyBtLm1heCBpcyAyMDAuMAorUEFTUyBtLmxvdyBpcyAyMDAuMAorU2V0IGludmFsaWQg
dmFsdWUKK1BBU1MgbS52YWx1ZSBpcyAyMDAKK1NldCBhdHRyaWJ1dGVzIHRvIHZhbGlkIG51bWJl
cnMKK1BBU1MgbS52YWx1ZSBpcyA1CitQQVNTIG0ubWF4IGlzIDEwCitQQVNTIHBhcnNlSW50KG0u
Z2V0QXR0cmlidXRlKCd2YWx1ZScpKSBpcyA1CitQQVNTIHBhcnNlSW50KG0uZ2V0QXR0cmlidXRl
KCdtYXgnKSkgaXMgMTAKK1NldCBhdHRyaWJ1dGVzIHRvIGludmFsaWQgdmFsdWVzCitQQVNTIG0u
dmFsdWUgaXMgMAorUEFTUyBtLm1heCBpcyAxCitQQVNTIG0uZ2V0QXR0cmlidXRlKCd2YWx1ZScp
IGlzICdBQkMnCitQQVNTIG0uZ2V0QXR0cmlidXRlKCdtYXgnKSBpcyAnIycKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0
ZXItcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL3NldC1tZXRlci1wcm9wZXJ0aWVzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2Ny
aXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVf
SEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGll
cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50
L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qcwkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1tZXRl
ci1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDczIEBACitkZXNjcmlwdGlv
bignVGVzdCBzZXR0aW5nIHZhbGlkIGFuZCBpbnZhbGlkIHByb3BlcnRpZXMgb2YgSFRNTE1ldGVy
RWxlbWVudC4nKTsKKwordmFyIG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRlcicpOwor
CitkZWJ1ZygiVGVzdCB2YWx1ZXMgYmVmb3JlIHByb3BlcnRpZXMgd2VyZSBzZXQiKTsKK3Nob3Vs
ZEJlKCJtLm1pbiIsICIwIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIwIik7CitzaG91bGRCZSgi
bS5tYXgiLCAiMSIpOworc2hvdWxkQmUoIm0ubG93IiwgIjAiKTsKK3Nob3VsZEJlKCJtLmhpZ2gi
LCAiMSIpOworc2hvdWxkQmUoIm0ub3B0aW11bSIsICIwLjUiKTsKKworZGVidWcoIlNldCB2YWxp
ZCB2YWx1ZXMiKTsKK20ubWluID0gIi0xMCI7CittLnZhbHVlID0gN2UxOworbS5tYXggPSAiMWUy
IjsKK20ubG93ID0gIjEwLjEiOworbS5oaWdoID0gIjk5LjUiOworbS5vcHRpbXVtID0gIjcwIjsK
K3Nob3VsZEJlKCJtLm1pbiIsICItMTAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjcwIik7Citz
aG91bGRCZSgibS5tYXgiLCAiMTAwIik7CitzaG91bGRCZSgibS5sb3ciLCAiMTAuMSIpOworc2hv
dWxkQmUoIm0uaGlnaCIsICI5OS41Iik7CitzaG91bGRCZSgibS5vcHRpbXVtIiwgIjcwIik7CisK
K2RlYnVnKCJTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAxIik7CittLm1pbiA9
IC0xMDsKK20udmFsdWUgPSAyMDA7CittLm1heCA9IDEwMC4wOworbS5sb3cgPSAyMDA7CittLmhp
Z2ggPSAtNTA7CittLm9wdGltdW0gPSBudWxsOworc2hvdWxkQmUoIm0ubWluIiwgIi0xMCIpOwor
c2hvdWxkQmUoIm0udmFsdWUiLCAiMTAwIik7CitzaG91bGRCZSgibS5tYXgiLCAiMTAwIik7Citz
aG91bGRCZSgibS5sb3ciLCAiMTAwIik7CitzaG91bGRCZSgibS5oaWdoIiwgIjEwMCIpOworc2hv
dWxkQmUoIm0ub3B0aW11bSIsICIwIik7CisKK2RlYnVnKCJTZXQgYXR0cmlidXRlcyB0byBpbXBy
b3BlciB2YWx1ZXMgLSAyIik7CittLm1pbiA9IDIwMC4wOworbS52YWx1ZSA9IC0yMDAuMDsKK20u
bWF4ID0gMDsKK20ubG93ID0gbnVsbDsKK3Nob3VsZEJlKCJtLm1pbiIsICIyMDAuMCIpOworc2hv
dWxkQmUoIm0udmFsdWUiLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIyMDAuMCIpOwor
c2hvdWxkQmUoIm0ubG93IiwgIjIwMC4wIik7CisKK2RlYnVnKCJTZXQgaW52YWxpZCB2YWx1ZSIp
OworbS52YWx1ZSA9ICJBQkMiOworc2hvdWxkQmUoIm0udmFsdWUiLCAiMjAwIik7CisKK2RlYnVn
KCJTZXQgYXR0cmlidXRlcyB0byB2YWxpZCBudW1iZXJzIik7CittLnNldEF0dHJpYnV0ZSgibWlu
IiwgMCk7CittLnNldEF0dHJpYnV0ZSgidmFsdWUiLCA1KTsKK20uc2V0QXR0cmlidXRlKCJtYXgi
LCAxMCk7CitzaG91bGRCZSgibS52YWx1ZSIsICI1Iik7CitzaG91bGRCZSgibS5tYXgiLCAiMTAi
KTsKK3Nob3VsZEJlKCJwYXJzZUludChtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSkiLCAiNSIpOwor
c2hvdWxkQmUoInBhcnNlSW50KG0uZ2V0QXR0cmlidXRlKCdtYXgnKSkiLCAiMTAiKTsKKworZGVi
dWcoIlNldCBhdHRyaWJ1dGVzIHRvIGludmFsaWQgdmFsdWVzIik7CittLnNldEF0dHJpYnV0ZSgi
dmFsdWUiLCAiQUJDIik7CittLnNldEF0dHJpYnV0ZSgibWF4IiwgIiMiKTsKK3Nob3VsZEJlKCJt
LnZhbHVlIiwgIjAiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIxIik7CitzaG91bGRCZSgibS5nZXRB
dHRyaWJ1dGUoJ3ZhbHVlJykiLCAiJ0FCQyciKTsKK3Nob3VsZEJlKCJtLmdldEF0dHJpYnV0ZSgn
bWF4JykiLCAiJyMnIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0CShyZXZpc2lvbiA1ODI2MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjYzMyw2ICsyNjMzLDEw
IEBAIEJVRzM4MjI3IERFRkVSIDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWwKIEJVRzM4MjI3IERF
RkVSIDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGll
cy5odG1sID0gVEVYVAogQlVHMzgyMjcgU0tJUCA6IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1l
bnQvcHJvZ3Jlc3MtYmFyLXZhbHVlLXBzZXVkby1lbGVtZW50Lmh0bWwgPSBGQUlMCiAKKy8vIEhU
TUxNZXRlckVsZW1lbnQgcmVsYXRlZCB0ZXN0cyBkZWZlcnJlZCBkdWUgdG8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDc0LgorQlVHMzcwNzQgREVGRVIgOiBmYXN0
L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbCA9IE1JU1NJTkcKK0JVRzM3
MDc0IERFRkVSIDogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGll
cy5odG1sID0gVEVYVAorCiAvLyBXZWJLaXQgcm9sbCA1NjAwNCAtPiA1NjAyNgogQlVHMzgyNzgg
OiBmYXN0L2V2ZW50cy9jb250aW51b3VzLXBsYXRmb3JtLXdoZWVsZXZlbnQtaW4tc2Nyb2xsaW5n
LWRpdi5odG1sID0gVElNRU9VVAogQlVHMzgyNzggOiBmYXN0L2V2ZW50cy9wbGF0Zm9ybS13aGVl
bGV2ZW50LWluLXNjcm9sbGluZy1kaXYuaHRtbCA9IFRJTUVPVVQKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkCShyZXZpc2lvbiA1ODI2MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC01ODM1LDYgKzU4MzUsMTAgQEAgZmFzdC9kb20v
SFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxl
bWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5odG1sCiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NF
bGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1wc2V1ZG8tZWxlbWVudC5odG1sCiAKKyMgcmVuZGVy
VGhlbWUgaXMgbm90IHJlYWR5IHRvIGRyYXcgbWV0ZXIgZWxlbWVudAorZmFzdC9kb20vSFRNTE1l
dGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQv
c2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAorCiAjIE5lZWRzIG1vY2sgc3VwcG9ydCwgYW5kIGJ1
aWxkIHNsYXZlIEdlb2xvY2F0aW9uIHNlcnZpY2UKICMgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNjA1MwogZmFzdC9kb20vR2VvbG9jYXRpb24vbWF4aW11bS1h
Z2UuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDU4MjYyKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTEz
OSw2ICsxMzksMTAgQEAgZmFzdC9mb3Jtcy9tdWx0aXBsZS1mb3JtLXN1Ym1pc3Npb24tcHJvdAog
IyBUaGUgYW5pbWF0aW9uIGNhdXNlcyB0aGUgcmVzdWx0IG9mIHRoaXMgdGVzdCB0byBkZXBlbmQg
b24gdGhlIHNwZWVkIG9mIGV4ZWN1dGluZyBpdCwgYW5kIHRoYXQgd2lsbCBjYXVzZSBpdCB0byBi
ZSBmbGFreQogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50Lmh0
bWwKIAorIyByZW5kZXJUaGVtZSBpcyBub3QgcmVhZHkgdG8gZHJhdyBtZXRlciBlbGVtZW50Citm
YXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAorZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCisKICMgZXZlbnQuZGF0YVRy
YW5zZmVyLnNldERhdGEoJ3RleHQvdXJpLWxpc3QnKSBub3QgY29ycmVjdGx5IGltcGxlbWVudGVk
IG9uIE1hYwogZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGFUcmFuc2Zlci1zZXREYXRhLWdldERhdGEu
aHRtbAogCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJF
bGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVt
ZW50LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLmNo
ZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis2ZDk1ZmM2ZWM2NTkxNDIxYTIyNGRl
OGQ5ZDkzOTI5OApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20v
SFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0
ZXItZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDU4NAorICAgICAgUmVuZGVyTWV0ZXIge01FVEVSfSBhdCAoMCw0NCkgc2l6ZSA4MHgxNgor
ICAgICAgUmVuZGVyTWV0ZXIge01FVEVSfSBhdCAoODAsMCkgc2l6ZSAxMHg2MAorICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
U2tpcHBlZAkocmV2aXNpb24gNTgyNjIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tp
cHBlZAkod29ya2luZyBjb3B5KQpAQCAtODMyLDYgKzgzMiwxMCBAQCBmYXN0L2RvbS9IVE1MUHJv
Z3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVsCiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Nl
dC1wcm9ncmVzcy1wcm9wZXJ0aWVzLmh0bWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQv
cHJvZ3Jlc3MtYmFyLXZhbHVlLXBzZXVkby1lbGVtZW50Lmh0bWwKIAorIyByZW5kZXJUaGVtZSBp
cyBub3QgcmVhZHkgdG8gZHJhdyBtZXRlciBlbGVtZW50CitmYXN0L2RvbS9IVE1MTWV0ZXJFbGVt
ZW50L21ldGVyLWVsZW1lbnQuaHRtbAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0
ZXItcHJvcGVydGllcy5odG1sCisKICMgTm8gV2lkZ2V0cyAxLjAgc3VwcG9ydAogZmFzdC9tZWRp
YS9tZWRpYS1mZWF0dXJlLXdndC12aWV3LW1vZGUuaHRtbAogCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0
ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5
IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1p
bWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQUNYQklXWE1BQUE3RUFBQU94QUdWS3c0YkFB
QU0KcGtsRVFWUjRuTzNaUVdyRU1CQUF3U2pzdi9SMSsyV1Q4eDdEUWl2QlZUZUJqQWZkbWxrek0x
OEFBQUNCNzlNREFBQUF6eUZBQUFDQQpqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFB
QXlBZ1FBQU1nSUVBQUFJQ05BQUFDQXpPdjBBRTl5My9mYmVlOTlhQklBCkFEakRCZ1FBQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkEKQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0F6SnFaT1QzRVU2eTEzczZlSGdD
QXA3RUJBUUFBTWdJRUFBRElDQkFBQUNBagpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFB
QWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJCkNCQUFBQ0FqUUFB
QWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFB
Z0l3QUFRQUEKTWdJRUFBRElDQkFBQUNEeitzM2x0ZFpIUDd1dTY2UHYvNHU5OStrUkFBRGdUN0lC
QVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QQpBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdB
QVFBQU1tdG01dlFRQUFEQU05aUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
CkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEK
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa2ZnQmdJQm1tRGdhV0NR
QUEKQUFCSlJVNUVya0pnZ2c9PQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54893</attachid>
            <date>2010-05-02 16:51:09 -0700</date>
            <delta_ts>2010-05-03 06:27:16 -0700</delta_ts>
            <desc>Patch addressing comments #6, #12 and #15.</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>61109</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODY1OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzcgQEAKKzIwMTAtMDUtMDIgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudCwgaW5jbHVkaW5nIGRlZmF1bHQgcmVu
ZGVyaW5nCisgICAgICAgIG9mIHRoZSBtZXRlciBlbGVtZW50LiBUaGF0IGlzIGJlY2F1c2Ugc29t
ZSBwbGF0Zm9ybXMgZG8gbm90IGhhdmUgYSBuYXRpdmUgZ2F1Z2UuCisgICAgICAgIFRoZSBmZWF0
dXJlIGlzIHR1cm5lZCBvbiBvbmx5IGZvciB0aGUgUXQgcGxhdGZvcm0uCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQ
cmltaXRpdmVWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAg
ICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAobWV0ZXI6Oi13ZWJraXQtbWV0ZXIpOgorICAg
ICAgICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5saW5lVGFnTGlzdCk6CisgICAgICAgICog
aHRtbC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHA6CisgICAgICAgICogaHRtbC9IVE1MTWV0ZXJF
bGVtZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpI
VE1MTWV0ZXJFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJl
cik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6dmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1ldGVyRWxlbWVudDo6bWluKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVs
ZW1lbnQ6OnNldE1pbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjptYXgp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0TWF4KToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Omxvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0ZXJFbGVtZW50OjpzZXRMb3cpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVu
dDo6aGlnaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpzZXRIaWdoKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om9wdGltdW0pOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0T3B0aW11bSk6CisgICAgICAgICogaHRtbC9I
VE1MTWV0ZXJFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxl
bWVudDo6aXNPcHRpb25hbEZvcm1Db250cm9sKToKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVs
ZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxUYWdOYW1lcy5pbjoKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZXRlci5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWV0ZXI6OlJlbmRlck1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck1ldGVyOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OnVwZGF0
ZUZyb21FbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6cmVuZGVyTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJNZXRlcjo6aXNNZXRlcik6CisgICAgICAgIChXZWJDb3JlOjp0b1JlbmRl
ck1ldGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzTWV0ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50TWV0ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorCiAyMDEwLTA1
LTAyICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5v
dCByZXZpZXdlZDogVG91Y2ggaW5zcGVjdG9yIGNvbnRyb2xsZXIgdG8ga2ljayB3aW5kb3dzIHRl
c3RzLgpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDU4NjUzKQorKysgV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw2ICsxMzcsNyBAQAogI2luY2x1
ZGUgIkpTSFRNTE1lZGlhRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNIVE1MTWVudUVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIkpTSFRNTE1ldGFFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJKU0hUTUxN
ZXRlckVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE1vZEVsZW1lbnQuY3BwIgogI2luY2x1
ZGUgIkpTSFRNTE9iamVjdEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE9MaXN0RWxlbWVu
dC5jcHAiCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA1ODY1MykKKysrIFdlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTc5LDYgKzE3OSw3IEBAIERP
TV9DTEFTU0VTID0gXAogICAgIEhUTUxNZWRpYUVsZW1lbnQgXAogICAgIEhUTUxNZW51RWxlbWVu
dCBcCiAgICAgSFRNTE1ldGFFbGVtZW50IFwKKyAgICBIVE1MTWV0ZXJFbGVtZW50IFwKICAgICBI
VE1MTW9kRWxlbWVudCBcCiAgICAgSFRNTE9MaXN0RWxlbWVudCBcCiAgICAgSFRNTE9iamVjdEVs
ZW1lbnQgXApAQCAtNjI5LDYgKzYzMCwxMCBAQCBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX0RB
VEFMSVNULCQoRkVBCiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1MpIEVOQUJMRV9EQVRB
TElTVD0xCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX01FVEVSX1RBRywkKEZF
QVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUVURVJfVEFHKQorICAgIEhUTUxfRkxBR1MgOj0gJChI
VE1MX0ZMQUdTKSBFTkFCTEVfTUVURVJfVEFHPTEKK2VuZGlmCisKIGlmZXEgKCQoZmluZHN0cmlu
ZyBFTkFCTEVfUFJPR1JFU1NfVEFHLCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9QUk9HUkVT
U19UQUcpCiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1MpIEVOQUJMRV9QUk9HUkVTU19U
QUc9MQogZW5kaWYKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsNiArMjQzLDcgQEAgSURMX0JJTkRJTkdT
ICs9IFwKIAlXZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwgXAogCVdlYkNvcmUvaHRtbC9IVE1M
TWVudUVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmlkbCBcCisJ
V2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1v
ZEVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwgXAogCVdl
YkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwgXApAQCAtMTE2Myw2ICsxMTY0LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmggXAog
CVdlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1l
dGFFbGVtZW50LmggXAorCVdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCBcCisJV2Vi
Q29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVt
ZW50LmNwcCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmggXAogCVdlYkNvcmUvaHRt
bC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIFwKQEAgLTE4OTQsNiArMTg5Nyw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKIAlXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lbnVMaXN0LmggXAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCBcCisJ
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggXAogCVdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgXApAQCAtMjI0MSw2ICsy
MjQ2LDE0IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1ERU5BQkxFX0RBVEFHUklEPTAKIAog
IyAtLS0tCisjIEhUTUwgTWV0ZXIgRWxlbWVudCAtIGRpc2FibGUgZm9yIG5vdy4KKyMgLS0tLQor
RkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9NRVRFUl9UQUc9MAorCit3ZWJjb3JlX2NwcGZsYWdz
ICs9IFwKKyAgICAtREVOQUJMRV9NRVRFUl9UQUc9MAorCisjIC0tLS0KICMgSFRNTCBQcm9ncmVz
cyBFbGVtZW50IC0gZGlzYWJsZSBmb3Igbm93LCBzaW5jZSBwYWludGluZyBjb2RlIGlzIG1pc3Np
bmcuCiAjIC0tLS0KIEZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfUFJPR1JFU1NfVEFHPTAKSW5k
ZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5n
eXBpCShyZXZpc2lvbiA1ODY1MykKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTcsNiArMTU3LDcgQEAKICAgICAgICAgICAgICdodG1sL0hUTUxNZWRpYUVsZW1l
bnQuaWRsJywKICAgICAgICAgICAgICdodG1sL0hUTUxNZW51RWxlbWVudC5pZGwnLAogICAgICAg
ICAgICAgJ2h0bWwvSFRNTE1ldGFFbGVtZW50LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9IVE1M
TWV0ZXJFbGVtZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTW9kRWxlbWVudC5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsJywKQEAgLTE1NTcsNiArMTU1OCw4IEBACiAgICAg
ICAgICAgICAnaHRtbC9IVE1MTWVudUVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1M
TWV0YUVsZW1lbnQuY3BwJywKICAgICAgICAgICAgICdodG1sL0hUTUxNZXRhRWxlbWVudC5oJywK
KyAgICAgICAgICAgICdodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwJywKKyAgICAgICAgICAgICdo
dG1sL0hUTUxNZXRlckVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTW9kRWxlbWVu
dC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1vZEVsZW1lbnQuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwJywKQEAgLTMxMzEsNiArMzEzNCw4IEBACiAg
ICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oJywKICAg
ICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwJywKICAgICAgICAgICAgICdy
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaCcsCisgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRl
ck1ldGVyLmNwcCcsCisgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1ldGVyLmgnLAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwJywKICAgICAgICAgICAgICdyZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3RDaGlsZExpc3QuY3BwJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcmkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnByaQkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3JlL1dlYkNv
cmUucHJpCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9TSU5HTEVfVEhSRUFERUQKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU89
Lik6IERFRklORVMgKz0gRU5BQkxFX1ZJREVPPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
UlVCWT0uKTogREVGSU5FUyArPSBFTkFCTEVfUlVCWT0xCiAhY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX1NBTkRCT1g9Lik6IERFRklORVMgKz0gRU5BQkxFX1NBTkRCT1g9MQorIWNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9NRVRFUl9UQUc9Lik6IERFRklORVMgKz0gRU5BQkxFX01FVEVSX1RBRz0x
CiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1BST0dSRVNTX1RBRz0uKTogREVGSU5FUyArPSBF
TkFCTEVfUFJPR1JFU1NfVEFHPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfQkxPQl9TTElD
RT0uKTogREVGSU5FUyArPSBFTkFCTEVfQkxPQl9TTElDRT0wCiAhY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX05PVElGSUNBVElPTlM9Lik6IERFRklORVMgKz0gRU5BQkxFX05PVElGSUNBVElPTlM9
MQpAQCAtMTYzLDYgKzE2NCw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJfU09DS0VU
Uz0xKToKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9UT1VDSF9FVkVOVFM9MSk6IEZFQVRVUkVf
REVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQogY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX1RJTEVEX0JBQ0tJTkdfU1RPUkU9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZB
U0NSSVBUICs9IEVOQUJMRV9USUxFRF9CQUNLSU5HX1NUT1JFPTEKIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9OT1RJRklDQVRJT05TPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBF
TkFCTEVfTk9USUZJQ0FUSU9OUz0xCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVURVJfVEFH
PTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTUVURVJfVEFHPTEKIGNv
bnRhaW5zKERFRklORVMsIEVOQUJMRV9QUk9HUkVTU19UQUc9MSk6IEZFQVRVUkVfREVGSU5FU19K
QVZBU0NSSVBUICs9IEVOQUJMRV9QUk9HUkVTU19UQUc9MQogCiAKQEAgLTM3Niw2ICszNzgsNyBA
QCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgXAogICAg
IGh0bWwvSFRNTE1lbnVFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuaWRs
IFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxNb2RFbGVt
ZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRN
TE9MaXN0RWxlbWVudC5pZGwgXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA1ODY1MykKKysrIFdlYkNvcmUvV2Vi
Q29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY1NSw2ICs2NTUsNyBAQCBTT1VSQ0VTICs9IFwK
ICAgICBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTE1lbnVFbGVt
ZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIFwKKyAgICBodG1sL0hUTUxN
ZXRlckVsZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAgICAgaHRt
bC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIFwKICAgICBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNw
cCBcCkBAIC05MzUsNiArOTM2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcmVuZGVyaW5nL1JlbmRl
ckxpc3RNYXJrZXIuY3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAgXAogICAg
IHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgXAorICAgIHJlbmRlcmluZy9SZW5kZXJNZXRl
ci5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIFwKICAgICByZW5kZXJpbmcv
UmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuY3Bw
IFwKQEAgLTEzNzksNiArMTM4MSw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxNZW51RWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxN
ZXRhRWxlbWVudC5oIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaCBcCiAgICAgaHRtbC9I
VE1MTW9kRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxOYW1lQ29sbGVjdGlvbi5oIFwKICAgICBo
dG1sL0hUTUxOb1NjcmlwdEVsZW1lbnQuaCBcCkBAIC0xNzE4LDYgKzE3MjEsNyBAQCBIRUFERVJT
ICs9IFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKICAgICByZW5kZXJpbmcvUmVu
ZGVyTWVkaWEuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggXAorICAgIHJlbmRl
cmluZy9SZW5kZXJNZXRlci5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0
LmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRl
clBhcnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlz
aW9uIDU4NjUzKQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29y
a2luZyBjb3B5KQpAQCAtNjUwMSw2ICs2NTAxLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTWV0ZXJFbGVtZW50LmNwcCINCisJCQkJPg0K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJu
YWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0hUTUxNZXRlckVsZW1lbnQuaCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTW9kRWxlbWVu
dC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjc3MzUsNiArMjc3
OTEsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccmVuZGVyaW5nXFJlbmRlck1ldGVyLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJNZXRlci5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVu
ZGVyaW5nXFJlbmRlck9iamVjdC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMzMwNDQs
NiArMzMxMDgsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmNwcCINCisJCQkJPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fp
cm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
UmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmgiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEhU
TUxNb2RFbGVtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTg2
NTMpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMjU1Myw2ICsyNTUzLDEwIEBACiAJCUE0M0JGNTk5MTE0OTI5MEEwMEM2NDND
QSAvKiBIVE1MUHJvZ3Jlc3NFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNz
RWxlbWVudC5oICovOyB9OwogCQlBNDNCRjU5QzExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJv
Z3Jlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTQzQkY1OUExMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmNwcCAqLzsgfTsKIAkJ
QTQzQkY1OUQxMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5QjExNDkyOTI4MDBDNjQz
Q0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCAqLzsgfTsKKwkJQTQ4QUE5QkMxMTg1RjE3OTAwQjYwMUY3
IC8qIFJlbmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE0OEFBOUJBMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5jcHAgKi87
IH07CisJCUE0OEFBOUJEMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ4QUE5QkIxMTg1RjE3OTAw
QjYwMUY3IC8qIFJlbmRlck1ldGVyLmggKi87IH07CisJCUE0OEFBOUM3MTE4NUYxQkMwMEI2MDFG
NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE0OEFBOUM0MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVt
ZW50LmNwcCAqLzsgfTsKKwkJQTQ4QUE5QzgxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0
OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi87IH07CiAJCUE1
MTNCM0Q3MTE0QjE2NjYwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRDRjExNDg1RkYxMDA2NkYyQUIg
LyogS2V5RXZlbnRDb2NvYS5oICovOyB9OwogCQlBNTEzQjNEODExNEIxNjZBMDAxQzQyOUIgLyog
S2V5RXZlbnRDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1Qzk3NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29hLm1tICovOyB9
OwogCQlBNTlFM0MxRTExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU5RTNDMUMxMTU4
MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLzsgfTsKQEAgLTgwMTMsNiAr
ODAxNywxMCBAQAogCQlBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MUHJvZ3Jlc3NFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlBMTE0OTI5MjgwMEM2
NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE0M0JGNTlCMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNDhBQTlCQTExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWV0ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDhBQTlCQjExODVGMTc5MDBCNjAxRjcgLyog
UmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWV0
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ4QUE5QzQxMTg1RjFCQzAwQjYw
MUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxNZXRlckVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50
Q29kZXNJUGhvbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gS2V5RXZlbnRD
b2Rlc0lQaG9uZS5oOyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29kZXNJUGhvbmUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2
ZW50SVBob25lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5
RXZlbnRJUGhvbmUubW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJUGhvbmUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFu
Z2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjE0LDYgKzEzMjIyLDggQEAKIAkJ
CQlBODcxREMxQjBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmNwcCAqLywKIAkJ
CQlBODcxREMxODBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmggKi8sCiAJCQkJ
QTgwRTc5RkMwQTE5QzMwNzAwN0ZCOEM1IC8qIEhUTUxNZXRhRWxlbWVudC5pZGwgKi8sCisJCQkJ
QTQ4QUE5QzQxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovLAorCQkJ
CUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi8sCiAJCQkJ
QThDRkY3OUYwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVtZW50LmNwcCAqLywKIAkJCQlB
OENGRjc5RDBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1lbnQuaCAqLywKIAkJCQkxQUUy
QUIwNzBBMUNFNUNGMDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQuaWRsICovLApAQCAtMTU5NDgs
NiArMTU5NTgsOCBAQAogCQkJCUU0QzI3OTU3MENGOTc0MTkwMEU5N0I5OCAvKiBSZW5kZXJNZWRp
YS5oICovLAogCQkJCUFCRERGRTczMEE1QzZFNkYwMEEzRTExRCAvKiBSZW5kZXJNZW51TGlzdC5j
cHAgKi8sCiAJCQkJQUJEREZFNzQwQTVDNkU3MDAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0Lmgg
Ki8sCisJCQkJQTQ4QUE5QkExMTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmNwcCAqLywK
KwkJCQlBNDhBQTlCQjExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuaCAqLywKIAkJCQlC
Q0VBNDg0MDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmNwcCAqLywKIAkJCQlCQ0VB
NDg0MTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmggKi8sCiAJCQkJQkM2MEVGQjYw
RjMzQTBFNzAwODEyQTkzIC8qIFJlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgKi8sCkBAIC0xODkx
Miw2ICsxODkyNCw4IEBACiAJCQkJMkUzQkMxMDgxMTdENDc5ODAwQjk0MDlBIC8qIERPTUZpbGVF
cnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkUzQkMxMEIxMTdENDdDODAwQjk0MDlBIC8qIERP
TUZpbGVFcnJvckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0ZENDI5ODExODM2ODQ2
MDA5M0MwMjkgLyogVHJlZURlcHRoTGltaXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE0OEFBOUJE
MTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTQ4
QUE5QzgxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGRjI4NTkxMTE4NjQwNTMwMDdCN0NENiAvKiBSZW5kZXJNYXRoTUxSb290LmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRkYyODU5MzExODY0MDU1MDA3QjdDRDYgLyogUmVuZGVyTWF0aE1M
U3F1YXJlUm9vdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjUyM0NGMDYxMTgyNjc1NDAwRUJCMjlD
IC8qIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKQEAgLTIxMTUx
LDYgKzIxMTY1LDggQEAKIAkJCQk5NzM4ODlBMDExNkVBOURDMDBBREYzMTMgLyogRG9jdW1lbnRX
cml0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkUzQkMwQ0ExMTdEM0UwODAwQjk0MDlBIC8q
IEpTRmlsZUVycm9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFM0JDMTA5MTE3RDQ3OTgwMEI5
NDA5QSAvKiBET01GaWxlRXJyb3IubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNDhBQTlCQzExODVG
MTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTQ4QUE5
QzcxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEZGMjg1OTAxMTg2NDA1MjAwN0I3Q0Q2IC8qIFJlbmRlck1hdGhNTFJvb3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEZGMjg1OTIxMTg2NDA1NDAwN0I3Q0Q2IC8qIFJlbmRlck1hdGhN
TFNxdWFyZVJvb3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjUyM0NGMDkxMTgyNjc1NDAwRUJC
MjlDIC8qIFNRTFRyYW5zYWN0aW9uU3luYy5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDU4NjUzKQorKysgV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzIsNiArMjcyLDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1MK
ICAgICAgICAgY2FzZSBNZW51bGlzdFRleHRGaWVsZFBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVl
LmlkZW50ID0gQ1NTVmFsdWVNZW51bGlzdFRleHRmaWVsZDsKICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICAg
ICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTWV0ZXI7CisjZW5kaWYKKyAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIE91dGVyU3BpbkJ1dHRvblBhcnQ6CiAgICAgICAgICAgICBtX3Zh
bHVlLmlkZW50ID0gQ1NTVmFsdWVPdXRlclNwaW5CdXR0b247CiAgICAgICAgICAgICBicmVhazsK
SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCSh3b3JraW5nIGNvcHkpCkBAIC01ODksNiArNTg5LDcg
QEAgbWVudWxpc3QKIG1lbnVsaXN0LWJ1dHRvbgogbWVudWxpc3QtdGV4dAogbWVudWxpc3QtdGV4
dGZpZWxkCittZXRlcgogb3V0ZXItc3Bpbi1idXR0b24KIHByb2dyZXNzLWJhcgogcHJvZ3Jlc3Mt
YmFyLXZhbHVlCkluZGV4OiBXZWJDb3JlL2Nzcy9odG1sLmNzcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2Nzcy9odG1sLmNzcwkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3JlL2Nzcy9odG1sLmNz
cwkod29ya2luZyBjb3B5KQpAQCAtNTE3LDYgKzUxNywyMCBAQCBvcHRpb24gewogICAgIGZvbnQt
d2VpZ2h0OiBub3JtYWw7CiB9CiAKKy8qIG1ldGVyICovCisKK21ldGVyIHsKKyAgICAtd2Via2l0
LWFwcGVhcmFuY2U6IG1ldGVyOworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBoZWln
aHQ6IDFlbTsKKyAgICB3aWR0aDogNWVtOworICAgIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07Cit9
CisKK21ldGVyOjotd2Via2l0LW1ldGVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1ldGVy
OworfQorCiAvKiBwcm9ncmVzcyAqLwogCiBwcm9ncmVzcyB7CkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW4JKHJldmlzaW9uIDU4NjUzKQorKysgV2ViQ29yZS9odG1sL0hUTUxBdHRy
aWJ1dGVOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQCBmcmFtZWJvcmRl
cgogaGVhZGVycwogaGVpZ2h0CiBoaWRkZW4KK2hpZ2gKIGhyZWYKIGhyZWZsYW5nCiBoc3BhY2UK
QEAgLTExNSw2ICsxMTYsNyBAQCBsaW5rCiBsaXN0CiBsb25nZGVzYwogbG9vcAorbG93CiBwbGF5
Y291bnQKIGxvb3BlbmQKIGxvb3BzdGFydApAQCAtMjE5LDYgKzIyMSw3IEBAIG9ud2Via2l0YW5p
bWF0aW9uZW5kCiBvbndlYmtpdGJlZ2luZnVsbHNjcmVlbgogb253ZWJraXRlbmRmdWxsc2NyZWVu
CiBvbndlYmtpdHRyYW5zaXRpb25lbmQKK29wdGltdW0KIHBhdHRlcm4KIHBsYWNlaG9sZGVyCiBw
bHVnaW51cmwKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjEsNiArODYxLDkg
QEAgc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBpbmxpbgogI2lmIEVOQUJMRShQ
Uk9HUkVTU19UQUcpCiAgICAgICAgIHRhZ0xpc3QuYWRkKHByb2dyZXNzVGFnLmxvY2FsTmFtZSgp
LmltcGwoKSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICB0YWdMaXN0
LmFkZChtZXRlclRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOworI2VuZGlmCiAgICAgfQogICAgIHJl
dHVybiAmdGFnTGlzdDsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudHNBbGxJbk9u
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNw
cAkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3Nyw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlh
RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE1lbnVFbGVtZW50LmNwcCIKICNpbmNsdWRlICJI
VE1MTWV0YUVsZW1lbnQuY3BwIgorI2luY2x1ZGUgIkhUTUxNZXRlckVsZW1lbnQuY3BwIgogI2lu
Y2x1ZGUgIkhUTUxNb2RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MT0xpc3RFbGVtZW50LmNw
cCIKICNpbmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5jcHAiCkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTE1ldGVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1l
bnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJI
VE1MTWV0ZXJFbGVtZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAi
Rm9ybURhdGFMaXN0LmgiCisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlci5oIgorI2luY2x1ZGUgIk1hcHBlZEF0
dHJpYnV0ZS5oIgorI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgiCisjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CisKK0hUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZv
cm0pCisgICAgOiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBmb3Jt
LCBDcmVhdGVFbGVtZW50KQoreworICAgIEFTU0VSVChoYXNUYWdOYW1lKG1ldGVyVGFnKSk7Cit9
CisKK1Bhc3NSZWZQdHI8SFRNTE1ldGVyRWxlbWVudD4gSFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZv
cm1FbGVtZW50KiBmb3JtKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgSFRNTE1ldGVyRWxl
bWVudCh0YWdOYW1lLCBkb2N1bWVudCwgZm9ybSkpOworfQorCitSZW5kZXJPYmplY3QqIEhUTUxN
ZXRlckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5
bGUqKQoreworICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJNZXRlcih0aGlzKTsKK30KKwor
Y29uc3QgQXRvbWljU3RyaW5nJiBIVE1MTWV0ZXJFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUoKSBj
b25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBtZXRl
ciwgKCJtZXRlciIpKTsKKyAgICByZXR1cm4gbWV0ZXI7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQoreworICAg
IGlmIChhdHRyLT5uYW1lKCkgPT0gdmFsdWVBdHRyKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigp
KQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBtaW5BdHRyKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigp
KQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBtYXhBdHRyKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigp
KQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBsb3dBdHRyKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigp
KQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBoaWdoQXR0cikgeworICAgICAgICBpZiAocmVuZGVyZXIo
KSkKKyAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgfSBl
bHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb3B0aW11bUF0dHIpIHsKKyAgICAgICAgaWYgKHJlbmRl
cmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAg
IH0gZWxzZQorICAgICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShhdHRyKTsKK30KKworZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6OnZhbHVlKCkgY29uc3QK
K3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAgYm9vbCBvayA9IHBhcnNlVG9Eb3VibGVGb3JOdW1i
ZXJUeXBlKGdldEF0dHJpYnV0ZSh2YWx1ZUF0dHIpLCAmdmFsdWUpOworICAgIGlmICghb2spCisg
ICAgICAgIHZhbHVlID0gMDsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgodmFsdWUsIG1p
bigpKSwgbWF4KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldFZhbHVlKGRvdWJs
ZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKGlzbmFuKHZhbHVlKSB8fCAh
aXNmaW5pdGUodmFsdWUpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisgICAgc2V0QXR0cmlidXRlKHZhbHVlQXR0ciwgU3RyaW5nOjpu
dW1iZXIodmFsdWUpKTsKK30KKworZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6Om1pbigpIGNvbnN0
Cit7CisgICAgZG91YmxlIG1pbjsKKyAgICBib29sIG9rID0gcGFyc2VUb0RvdWJsZUZvck51bWJl
clR5cGUoZ2V0QXR0cmlidXRlKG1pbkF0dHIpLCAmbWluKTsKKyAgICByZXR1cm4gb2sgPyBtaW4g
OiAwOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldE1pbihkb3VibGUgbWluLCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoaXNuYW4obWluKSB8fCAhaXNmaW5pdGUobWluKSkg
eworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIHNldEF0dHJpYnV0ZShtaW5BdHRyLCBTdHJpbmc6Om51bWJlcihtaW4pKTsKK30KKwor
ZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6Om1heCgpIGNvbnN0Cit7CisgICAgZG91YmxlIG1heDsK
KyAgICBib29sIG9rID0gcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoZ2V0QXR0cmlidXRlKG1h
eEF0dHIpLCAmbWF4KTsKKyAgICByZXR1cm4gb2sgPyBzdGQ6Om1heChtYXgsIG1pbigpKSA6IHN0
ZDo6bWF4KDEuMCwgbWluKCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldE1heChk
b3VibGUgbWF4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoaXNuYW4obWF4KSB8fCAh
aXNmaW5pdGUobWF4KSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIHNldEF0dHJpYnV0ZShtYXhBdHRyLCBTdHJpbmc6Om51bWJl
cihtYXgpKTsKK30KKworZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6OmxvdygpIGNvbnN0Cit7Cisg
ICAgZG91YmxlIGxvdzsKKyAgICBib29sIG9rID0gcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUo
Z2V0QXR0cmlidXRlKGxvd0F0dHIpLCAmbG93KTsKKyAgICBpZiAoIW9rKQorICAgICAgICBsb3cg
PSBtaW4oKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgobG93LCBtaW4oKSksIG1heCgp
KTsKK30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpzZXRMb3coZG91YmxlIGxvdywgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKGlzbmFuKGxvdykgfHwgIWlzZmluaXRlKGxvdykpIHsK
KyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBzZXRBdHRyaWJ1dGUobG93QXR0ciwgU3RyaW5nOjpudW1iZXIobG93KSk7Cit9CisKK2Rv
dWJsZSBIVE1MTWV0ZXJFbGVtZW50OjpoaWdoKCkgY29uc3QKK3sKKyAgICBkb3VibGUgaGlnaDsK
KyAgICBib29sIG9rID0gcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoZ2V0QXR0cmlidXRlKGhp
Z2hBdHRyKSwgJmhpZ2gpOworICAgIGlmICghb2spCisgICAgICAgIGhpZ2ggPSBtYXgoKTsKKyAg
ICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgoaGlnaCwgbG93KCkpLCBtYXgoKSk7Cit9CisKK3Zv
aWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0SGlnaChkb3VibGUgaGlnaCwgRXhjZXB0aW9uQ29kZSYg
ZWMpCit7CisgICAgaWYgKGlzbmFuKGhpZ2gpIHx8ICFpc2Zpbml0ZShoaWdoKSkgeworICAgICAg
ICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHNl
dEF0dHJpYnV0ZShoaWdoQXR0ciwgU3RyaW5nOjpudW1iZXIoaGlnaCkpOworfQorCitkb3VibGUg
SFRNTE1ldGVyRWxlbWVudDo6b3B0aW11bSgpIGNvbnN0Cit7CisgICAgZG91YmxlIG9wdGltdW07
CisgICAgYm9vbCBvayA9IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGdldEF0dHJpYnV0ZShv
cHRpbXVtQXR0ciksICZvcHRpbXVtKTsKKyAgICBpZiAoIW9rKQorICAgICAgICBvcHRpbXVtID0g
KG1heCgpICsgbWluKCkpIC8gMjsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgob3B0aW11
bSwgbWluKCkpLCBtYXgoKSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0T3B0aW11
bShkb3VibGUgb3B0aW11bSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKGlzbmFuKG9w
dGltdW0pIHx8ICFpc2Zpbml0ZShvcHRpbXVtKSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JU
RURfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHNldEF0dHJpYnV0ZShvcHRpbXVt
QXR0ciwgU3RyaW5nOjpudW1iZXIob3B0aW11bSkpOworfQorCit9IC8vIG5hbWVzcGFjZQorI2Vu
ZGlmCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3Jl
L2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgSFRNTE1ldGVyRWxlbWVudF9oCisjZGVmaW5lIEhU
TUxNZXRlckVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRN
TE1ldGVyRWxlbWVudCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50KiwgSFRNTEZvcm1FbGVtZW50KiA9IDApOworCisgICAgZG91
YmxlIHZhbHVlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRWYWx1ZShkb3VibGUsIEV4Y2VwdGlvbkNv
ZGUmKTsKKworICAgIGRvdWJsZSBtaW4oKSBjb25zdDsKKyAgICB2b2lkIHNldE1pbihkb3VibGUs
IEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGRvdWJsZSBtYXgoKSBjb25zdDsKKyAgICB2b2lkIHNl
dE1heChkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGRvdWJsZSBsb3coKSBjb25zdDsK
KyAgICB2b2lkIHNldExvdyhkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGRvdWJsZSBo
aWdoKCkgY29uc3Q7CisgICAgdm9pZCBzZXRIaWdoKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOwor
CisgICAgZG91YmxlIG9wdGltdW0oKSBjb25zdDsKKyAgICB2b2lkIHNldE9wdGltdW0oZG91Ymxl
LCBFeGNlcHRpb25Db2RlJik7CisKK3ByaXZhdGU6CisgICAgSFRNTE1ldGVyRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBIVE1MRm9ybUVsZW1lbnQqKTsKKworICAgIHZp
cnR1YWwgYm9vbCBpc09wdGlvbmFsRm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29u
c3Q7CisKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJl
bmEqLCBSZW5kZXJTdHlsZSopOworCisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmli
dXRlKE1hcHBlZEF0dHJpYnV0ZSopOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmCisj
ZW5kaWYKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBX
ZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqLworCittb2R1bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAg
ICAgICAgQ29uZGl0aW9uYWw9TUVURVJfVEFHCisgICAgXSBIVE1MTWV0ZXJFbGVtZW50IDogSFRN
TEVsZW1lbnQgeworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91YmxlIHZhbHVlCisgICAg
ICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgbWluCisgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUg
bWF4CisgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cisg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgbG93CisgICAgICAgICAgICAgICAgICAg
ICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBkb3VibGUgaGlnaAorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNl
cHRpb24pOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91YmxlIG9wdGltdW0KKyAgICAg
ICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOworICAgIH07Cit9CkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9I
VE1MVGFnTmFtZXMuaW4JKHJldmlzaW9uIDU4NjUzKQorKysgV2ViQ29yZS9odG1sL0hUTUxUYWdO
YW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCBtYXAgY3JlYXRlV2l0aE5l
dwogbWFycXVlZSBjcmVhdGVXaXRoTmV3CiBtZW51IGNyZWF0ZVdpdGhOZXcKIG1ldGEgY3JlYXRl
V2l0aE5ldworbWV0ZXIgaW50ZXJmYWNlTmFtZT1IVE1MTWV0ZXJFbGVtZW50LCBjb25kaXRpb25h
bD1NRVRFUl9UQUcKIG5hdiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBub2JyIGludGVyZmFj
ZU5hbWU9SFRNTEVsZW1lbnQKIG5vZW1iZWQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudApJbmRl
eDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDU4NjUzKQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQxMSw2ICs0MTEsOSBAQCBtb2R1bGUgd2luZG93IHsK
ICAgICAgICAgYXR0cmlidXRlIEhUTUxNYXJxdWVlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNYXJx
dWVlRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNZW51RWxlbWVudENvbnN0cnVjdG9y
IEhUTUxNZW51RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNZXRhRWxlbWVudENvbnN0
cnVjdG9yIEhUTUxNZXRhRWxlbWVudDsKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRVRFUl9UQUcpICYm
IEVOQUJMRV9NRVRFUl9UQUcKKyAgICAgICAgYXR0cmlidXRlIEhUTUxNZXRlckVsZW1lbnRDb25z
dHJ1Y3RvciBIVE1MTWV0ZXJFbGVtZW50OworI2VuZGlmCiAgICAgICAgIGF0dHJpYnV0ZSBIVE1M
TW9kRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNb2RFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUg
SFRNTE9MaXN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxPTGlzdEVsZW1lbnQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBIVE1MT2JqZWN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxPYmplY3RFbGVtZW50OwpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgJKHJldmlzaW9uIDU4NjUzKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9UaGVtZVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgZW51bSBD
b250cm9sUGFydCB7CiAgICAgTWVkaWFTZWVrRm9yd2FyZEJ1dHRvblBhcnQsIE1lZGlhUmV3aW5k
QnV0dG9uUGFydCwgTWVkaWFSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uUGFydCwgTWVkaWFUb2dnbGVD
bG9zZWRDYXB0aW9uc0J1dHRvblBhcnQsCiAgICAgTWVkaWFTbGlkZXJQYXJ0LCBNZWRpYVNsaWRl
clRodW1iUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJDb250YWluZXJQYXJ0LCBNZWRpYVZvbHVtZVNs
aWRlclBhcnQsIE1lZGlhVm9sdW1lU2xpZGVyVGh1bWJQYXJ0LAogICAgIE1lZGlhQ29udHJvbHNC
YWNrZ3JvdW5kUGFydCwgTWVkaWFDdXJyZW50VGltZVBhcnQsIE1lZGlhVGltZVJlbWFpbmluZ1Bh
cnQsCi0gICAgTWVudWxpc3RQYXJ0LCBNZW51bGlzdEJ1dHRvblBhcnQsIE1lbnVsaXN0VGV4dFBh
cnQsIE1lbnVsaXN0VGV4dEZpZWxkUGFydCwgT3V0ZXJTcGluQnV0dG9uUGFydCwgUHJvZ3Jlc3NC
YXJQYXJ0LCBQcm9ncmVzc0JhclZhbHVlUGFydCwKKyAgICBNZW51bGlzdFBhcnQsIE1lbnVsaXN0
QnV0dG9uUGFydCwgTWVudWxpc3RUZXh0UGFydCwgTWVudWxpc3RUZXh0RmllbGRQYXJ0LCBNZXRl
clBhcnQsIE91dGVyU3BpbkJ1dHRvblBhcnQsIFByb2dyZXNzQmFyUGFydCwgUHJvZ3Jlc3NCYXJW
YWx1ZVBhcnQsCiAgICAgU2xpZGVySG9yaXpvbnRhbFBhcnQsIFNsaWRlclZlcnRpY2FsUGFydCwg
U2xpZGVyVGh1bWJIb3Jpem9udGFsUGFydCwKICAgICBTbGlkZXJUaHVtYlZlcnRpY2FsUGFydCwg
Q2FyZXRQYXJ0LCBTZWFyY2hGaWVsZFBhcnQsIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBhcnQsCiAg
ICAgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQsIFNlYXJjaEZpZWxkUmVzdWx0c0J1
dHRvblBhcnQsCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuY3BwCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBF
TkFCTEUoTUVURVJfVEFHKQorCisjaW5jbHVkZSAiUmVuZGVyTWV0ZXIuaCIKKworI2luY2x1ZGUg
IkhUTUxNZXRlckVsZW1lbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgorCit1c2luZyBu
YW1lc3BhY2Ugc3RkOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CisKK1JlbmRlck1ldGVyOjpSZW5kZXJNZXRlcihIVE1MTWV0ZXJFbGVtZW50KiBl
bGVtZW50KQorICAgIDogUmVuZGVyQmxvY2soZWxlbWVudCkKK3sKK30KKwordm9pZCBSZW5kZXJN
ZXRlcjo6bGF5b3V0KCkKK3sKKyAgICBBU1NFUlQobmVlZHNMYXlvdXQoKSk7CisKKyAgICBMYXlv
dXRSZXBhaW50ZXIgcmVwYWludGVyKCp0aGlzLCBjaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQo
KSk7CisKKyAgICBjYWxjV2lkdGgoKTsKKyAgICBjYWxjSGVpZ2h0KCk7CisKKyAgICBtX292ZXJm
bG93LmNsZWFyKCk7CisKKyAgICByZXBhaW50ZXIucmVwYWludEFmdGVyTGF5b3V0KCk7CisKKyAg
ICBzZXROZWVkc0xheW91dChmYWxzZSk7Cit9CisKK3ZvaWQgUmVuZGVyTWV0ZXI6OnVwZGF0ZUZy
b21FbGVtZW50KCkKK3sKKyAgICByZXBhaW50KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCShyZXZpc2lvbiAwKQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFJlbmRlck1ldGVyX2gKKyNkZWZpbmUg
UmVuZGVyTWV0ZXJfaAorCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJSZW5kZXJC
bG9jay5oIgorI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIEhUTUxNZXRlckVsZW1lbnQ7CisKK2NsYXNzIFJlbmRlck1ldGVyIDogcHVibGlj
IFJlbmRlckJsb2NrIHsKK3B1YmxpYzoKKyAgICBSZW5kZXJNZXRlcihIVE1MTWV0ZXJFbGVtZW50
Kik7CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29u
c3QgeyByZXR1cm4gIlJlbmRlck1ldGVyIjsgfQorICAgIHZpcnR1YWwgYm9vbCBpc01ldGVyKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKTsKK307CisKK2lubGluZSBSZW5kZXJNZXRl
ciogdG9SZW5kZXJNZXRlcihSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sKKyAgICBBU1NFUlQoIW9i
amVjdCB8fCBvYmplY3QtPmlzTWV0ZXIoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRl
ck1ldGVyKj4ob2JqZWN0KTsKK30KKworLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBh
biB1bm5lY2Vzc2FyeSBjYXN0Lgordm9pZCB0b1JlbmRlck1ldGVyKGNvbnN0IFJlbmRlck1ldGVy
Kik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisKKyNlbmRpZiAvLyBSZW5k
ZXJNZXRlcl9oCisKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZpc2lvbiA1ODY1
MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNzYsNiArMjc2LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0xpc3RNYXJrZXIo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNNZW51TGlzdCgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAgICB2aXJ0dWFsIGJv
b2wgaXNNZXRlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICNpZiBFTkFCTEUo
UFJPR1JFU1NfVEFHKQogICAgIHZpcnR1YWwgYm9vbCBpc1Byb2dyZXNzKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAkocmV2
aXNpb24gNTg2NTMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM4LDYgKzM4LDExIEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNs
dWRlICJUZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCIKIAorI2lmIEVOQUJMRShNRVRFUl9UQUcp
CisjaW5jbHVkZSAiSFRNTE1ldGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgi
CisjZW5kaWYKKwogLy8gVGhlIG1ldGhvZHMgaW4gdGhpcyBmaWxlIGFyZSBzaGFyZWQgYnkgYWxs
IHRoZW1lcyBvbiBldmVyeSBwbGF0Zm9ybS4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjE0
LDYgKzIxOSwxMCBAQCB2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RTdHlsZShDU1NTdHlsZVNlCiAg
ICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgogICAgICAgICAgICAgcmV0dXJuIGFkanVzdFBy
b2dyZXNzQmFyU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKICNlbmRpZgorI2lmIEVOQUJMRShN
ZXRlcl9UQUcpCisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorICAgICAgICAgICAgcmV0dXJuIGFk
anVzdE1ldGVyU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKKyNlbmRpZgogICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMjcyLDYgKzI4MSwxMCBAQCBib29s
IFJlbmRlclRoZW1lOjpwYWludChSZW5kZXJPYmplY3QqIG8sCiAjZW5kaWYKICAgICAgICAgY2Fz
ZSBNZW51bGlzdFBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRNZW51TGlzdChvLCBwYWlu
dEluZm8sIHIpOworI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0
OgorICAgICAgICAgICAgcmV0dXJuIHBhaW50TWV0ZXIobywgcGFpbnRJbmZvLCByKTsKKyNlbmRp
ZgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0
OgogICAgICAgICAgICAgcmV0dXJuIHBhaW50UHJvZ3Jlc3NCYXIobywgcGFpbnRJbmZvLCByKTsK
QEAgLTM2Niw2ICszNzksOSBAQCBib29sIFJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkoUmVu
ZGVyCiAgICAgICAgIGNhc2UgRGVmYXVsdEJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgQnV0dG9u
UGFydDoKICAgICAgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisjaWYgRU5BQkxFKE1FVEVSX1RBRykK
KyAgICAgICAgY2FzZSBNZXRlclBhcnQ6CisjZW5kaWYKICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFH
KQogICAgICAgICBjYXNlIFByb2dyZXNzQmFyUGFydDoKICNlbmRpZgpAQCAtNDA0LDYgKzQyMCw5
IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMoUmVuZGUKICAgICAgICAgY2Fz
ZSBEZWZhdWx0QnV0dG9uUGFydDoKICAgICAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgICAgICBj
YXNlIE1lbnVsaXN0UGFydDoKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICBjYXNlIE1l
dGVyUGFydDoKKyNlbmRpZgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2Ug
UHJvZ3Jlc3NCYXJQYXJ0OgogI2VuZGlmCkBAIC04NjcsNiArODg2LDY3IEBAIHZvaWQgUmVuZGVy
VGhlbWU6OmFkanVzdE1lbnVMaXN0U3R5bGUoQ1MKIHsKIH0KIAorI2lmIEVOQUJMRShNRVRFUl9U
QUcpCit2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RNZXRlclN0eWxlKENTU1N0eWxlU2VsZWN0b3Iq
LCBSZW5kZXJTdHlsZSogc3R5bGUsIEVsZW1lbnQqKSBjb25zdAoreworICAgIHN0eWxlLT5zZXRC
b3hTaGFkb3coMCk7Cit9CisKK2Jvb2wgUmVuZGVyVGhlbWU6OnBhaW50TWV0ZXIoUmVuZGVyT2Jq
ZWN0KiByZW5kZXJPYmplY3QsIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgUmVuZGVyTWV0ZXIqIHJlbmRlck1ldGVy
ID0gdG9SZW5kZXJNZXRlcihyZW5kZXJPYmplY3QpOworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9
IHJlbmRlck9iamVjdC0+c3R5bGUoKTsKKyAgICBpbnQgbGVmdCA9IHN0eWxlLT5ib3JkZXJMZWZ0
KCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nTGVmdCgpLnZhbHVlKCk7CisgICAgaW50IHRvcCA9
IHN0eWxlLT5ib3JkZXJUb3AoKS53aWR0aCgpICsgc3R5bGUtPnBhZGRpbmdUb3AoKS52YWx1ZSgp
OworICAgIGludCByaWdodCA9IHN0eWxlLT5ib3JkZXJSaWdodCgpLndpZHRoKCkgKyBzdHlsZS0+
cGFkZGluZ1JpZ2h0KCkudmFsdWUoKTsKKyAgICBpbnQgYm90dG9tID0gc3R5bGUtPmJvcmRlckJv
dHRvbSgpLndpZHRoKCkgKyBzdHlsZS0+cGFkZGluZ0JvdHRvbSgpLnZhbHVlKCk7CisgICAgRmxv
YXRSZWN0IGlubmVyUmVjdChyZWN0LngoKSArIGxlZnQsIHJlY3QueSgpICsgdG9wLCByZWN0Lndp
ZHRoKCkgLSBsZWZ0IC0gcmlnaHQsIHJlY3QuaGVpZ2h0KCkgLSB0b3AgLSBib3R0b20pOworCisg
ICAgSFRNTE1ldGVyRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZXRlckVsZW1l
bnQqPihyZW5kZXJNZXRlci0+bm9kZSgpKTsKKyAgICBkb3VibGUgbWluID0gZWxlbWVudC0+bWlu
KCk7CisgICAgZG91YmxlIG1heCA9IGVsZW1lbnQtPm1heCgpOworICAgIGRvdWJsZSB2YWx1ZSA9
IGVsZW1lbnQtPnZhbHVlKCk7CisKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBkbyBub3QgaGF2ZSBh
IG5hdGl2ZSBnYXVnZSB3aWRnZXQsIHNvIHdlIGRyYXcgaGVyZSBhIGRlZmF1bHQgaW1wbGVtZW50
YXRpb24uCisgICAgRmxvYXRSZWN0IHZhbHVlUmVjdDsKKyAgICBGbG9hdFJlY3QgYmFja2dyb3Vu
ZFJlY3Q7CisgICAgaWYgKG1pbiA+PSBtYXgpIHsKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQt
PmZpbGxSZWN0KGlubmVyUmVjdCwgQ29sb3I6OmJsYWNrLCBEZXZpY2VDb2xvclNwYWNlKTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGlmIChyZWN0LndpZHRoKCkgPCByZWN0
LmhlaWdodCgpKSB7CisgICAgICAgIC8vIFZlcnRpY2FsIGdhdWdlCisgICAgICAgIGRvdWJsZSBz
Y2FsZSA9IGlubmVyUmVjdC5oZWlnaHQoKSAvIChtYXggLSBtaW4pOworICAgICAgICB2YWx1ZVJl
Y3Quc2V0TG9jYXRpb24oRmxvYXRQb2ludChpbm5lclJlY3QueCgpLCBpbm5lclJlY3QueSgpICsg
KG1heCAtIHZhbHVlKSAqIHNjYWxlKSk7CisgICAgICAgIHZhbHVlUmVjdC5zZXRTaXplKEZsb2F0
U2l6ZShpbm5lclJlY3Qud2lkdGgoKSwgKHZhbHVlIC0gbWluKSAqIHNjYWxlKSk7CisgICAgICAg
IGJhY2tncm91bmRSZWN0LnNldExvY2F0aW9uKGlubmVyUmVjdC5sb2NhdGlvbigpKTsKKyAgICAg
ICAgYmFja2dyb3VuZFJlY3Quc2V0U2l6ZShGbG9hdFNpemUoaW5uZXJSZWN0LndpZHRoKCksICht
YXggLSB2YWx1ZSkgKiBzY2FsZSkpOworICAgIH0gZWxzZSBpZiAocmVuZGVyTWV0ZXItPnN0eWxl
KCktPmRpcmVjdGlvbigpID09IFJUTCkgeworICAgICAgICAvLyByaWdodCB0byBsZWZ0IGhvcml6
b250YWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxlID0gaW5uZXJSZWN0LndpZHRoKCkgLyAo
bWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoaW5u
ZXJSZWN0LngoKSArIChtYXggLSB2YWx1ZSkgKiBzY2FsZSwgaW5uZXJSZWN0LnkoKSkpOworICAg
ICAgICB2YWx1ZVJlY3Quc2V0U2l6ZShGbG9hdFNpemUoKHZhbHVlIC0gbWluKSAqIHNjYWxlLCBp
bm5lclJlY3QuaGVpZ2h0KCkpKTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0TG9jYXRpb24o
aW5uZXJSZWN0LmxvY2F0aW9uKCkpOworICAgICAgICBiYWNrZ3JvdW5kUmVjdC5zZXRTaXplKEZs
b2F0U2l6ZSgobWF4IC0gdmFsdWUpICogc2NhbGUsIGlubmVyUmVjdC5oZWlnaHQoKSkpOworICAg
IH0gZWxzZSB7CisgICAgICAgIC8vIGxlZnQgdG8gcmlnaHQgaG9yaXpvbnRhbCBnYXVnZQorICAg
ICAgICBkb3VibGUgc2NhbGUgPSBpbm5lclJlY3Qud2lkdGgoKSAvIChtYXggLSBtaW4pOworICAg
ICAgICB2YWx1ZVJlY3Quc2V0TG9jYXRpb24oaW5uZXJSZWN0LmxvY2F0aW9uKCkpOworICAgICAg
ICB2YWx1ZVJlY3Quc2V0U2l6ZShGbG9hdFNpemUoKHZhbHVlIC0gbWluKSAqIHNjYWxlLCBpbm5l
clJlY3QuaGVpZ2h0KCkpKTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0TG9jYXRpb24oRmxv
YXRQb2ludChpbm5lclJlY3QueCgpICsgdmFsdWVSZWN0LndpZHRoKCksIGlubmVyUmVjdC55KCkp
KTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0U2l6ZShGbG9hdFNpemUoKG1heCAtIHZhbHVl
KSAqIHNjYWxlLCBpbm5lclJlY3QuaGVpZ2h0KCkpKTsKKyAgICB9CisgICAgaWYgKCF2YWx1ZVJl
Y3QuaXNFbXB0eSgpKQorICAgICAgICBwYWludEluZm8uY29udGV4dC0+ZmlsbFJlY3QodmFsdWVS
ZWN0LCBDb2xvcjo6YmxhY2ssIERldmljZUNvbG9yU3BhY2UpOworCisgICAgaWYgKCFiYWNrZ3Jv
dW5kUmVjdC5pc0VtcHR5KCkpCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5maWxsUmVjdChi
YWNrZ3JvdW5kUmVjdCwgQ29sb3I6OmxpZ2h0R3JheSwgRGV2aWNlQ29sb3JTcGFjZSk7CisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiBk
b3VibGUgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIo
UmVuZGVyUHJvZ3Jlc3MqKSBjb25zdAogewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCShy
ZXZpc2lvbiA1ODY1MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHdvcmtp
bmcgY29weSkKQEAgLTIzNyw2ICsyMzcsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9p
ZCBhZGp1c3RNZW51TGlzdEJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHls
ZSosIEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlzdEJ1dHRv
bihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgIHZp
cnR1YWwgdm9pZCBhZGp1c3RNZXRlclN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHls
ZSosIEVsZW1lbnQqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZXRlcihSZW5kZXJP
YmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsK
KyNlbmRpZgorCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICB2aXJ0dWFsIHZvaWQgYWRq
dXN0UHJvZ3Jlc3NCYXJTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVt
ZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyBy
ZXR1cm4gdHJ1ZTsgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTg2NTgpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wNS0wMiAgWWFl
bCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbCBzdXBwb3J0IGZvciBIVE1MTWV0ZXJF
bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
ODE0MAorCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1Q
TEFURS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3Nj
cmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qczogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXBy
b3BlcnRpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9t
L0hUTUxNZXRlckVsZW1lbnQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9t
L0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1l
bGVtZW50LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9k
b20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMDUtMDIgIERpcmsgU2NodWx6
ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1l
cm1hbm4uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVy
LWVsZW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0
ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxIEBACis8aHRtbD48Ym9keT48bWV0ZXIgbWluPTEwIHZhbHVlPTMwIG1heD0x
MDA+PC9tZXRlcj48bWV0ZXIgbWluPTAgdmFsdWU9NzAgbWF4PTEwMCBzdHlsZT0id2lkdGg6MTBw
eDsgaGVpZ2h0OjYwcHg7Ij48L21ldGVyPjwvYm9keT48L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50
L3NldC1tZXRlci1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACitUZXN0IHNldHRpbmcgdmFs
aWQgYW5kIGludmFsaWQgcHJvcGVydGllcyBvZiBIVE1MTWV0ZXJFbGVtZW50LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdCB2YWx1ZXMgYmVmb3JlIHByb3BlcnRpZXMgd2Vy
ZSBzZXQKK1BBU1MgbS5taW4gaXMgMAorUEFTUyBtLnZhbHVlIGlzIDAKK1BBU1MgbS5tYXggaXMg
MQorUEFTUyBtLmxvdyBpcyAwCitQQVNTIG0uaGlnaCBpcyAxCitQQVNTIG0ub3B0aW11bSBpcyAw
LjUKK1NldCB2YWxpZCB2YWx1ZXMKK1BBU1MgbS5taW4gaXMgLTEwCitQQVNTIG0udmFsdWUgaXMg
NzAKK1BBU1MgbS5tYXggaXMgMTAwCitQQVNTIG0ubG93IGlzIDEwLjEKK1BBU1MgbS5oaWdoIGlz
IDk5LjUKK1BBU1MgbS5vcHRpbXVtIGlzIDcwCitTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2
YWx1ZXMgLSAxCitQQVNTIG0ubWluIGlzIC0xMAorUEFTUyBtLnZhbHVlIGlzIDEwMAorUEFTUyBt
Lm1heCBpcyAxMDAKK1BBU1MgbS5sb3cgaXMgMTAwCitQQVNTIG0uaGlnaCBpcyAxMDAKK1BBU1Mg
bS5vcHRpbXVtIGlzIDAKK1NldCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVlcyAtIDIKK1BB
U1MgbS5taW4gaXMgMjAwLjAKK1BBU1MgbS52YWx1ZSBpcyAyMDAuMAorUEFTUyBtLm1heCBpcyAy
MDAuMAorUEFTUyBtLmxvdyBpcyAyMDAuMAorU2V0IHZhbHVlIHRvIGludmFsaWQgdmFsdWUKK05P
VF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKK1NldCBtaW4gdG8gTmFOCitOT1RfU1VQ
UE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5CitTZXQgbWF4IHRvIEluZmluaXR5CitOT1RfU1VQ
UE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5CitTZXQgbG93IHRvIGludmFsaWQgdmFsdWUKK05P
VF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKK1NldCBoaWdoIHRvIE5hTgorTk9UX1NV
UFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQorU2V0IG9wdGltdW0gdG8gSW5maW5pdHkKK05P
VF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKK1NldCBhdHRyaWJ1dGVzIHRvIHZhbGlk
IG51bWJlcnMKK1BBU1MgbS52YWx1ZSBpcyA1CitQQVNTIG0ubWF4IGlzIDEwCitQQVNTIHBhcnNl
SW50KG0uZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSBpcyA1CitQQVNTIHBhcnNlSW50KG0uZ2V0QXR0
cmlidXRlKCdtYXgnKSkgaXMgMTAKK1NldCBhdHRyaWJ1dGVzIHRvIGludmFsaWQgdmFsdWVzCitQ
QVNTIG0udmFsdWUgaXMgMAorUEFTUyBtLm1heCBpcyAxCitQQVNTIG0uZ2V0QXR0cmlidXRlKCd2
YWx1ZScpIGlzICdBQkMnCitQQVNTIG0uZ2V0QXR0cmlidXRlKCdtYXgnKSBpcyAnIycKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9z
ZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3NldC1tZXRlci1wcm9wZXJ0aWVzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxN
ZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1l
bnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pT
X0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJv
cGVydGllcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJF
bGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qcwkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL3Nl
dC1tZXRlci1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExMSBAQAorZGVz
Y3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBhbmQgaW52YWxpZCBwcm9wZXJ0aWVzIG9mIEhU
TUxNZXRlckVsZW1lbnQuJyk7CisKK3ZhciBtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0
ZXInKTsKKworZGVidWcoIlRlc3QgdmFsdWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Iik7
CitzaG91bGRCZSgibS5taW4iLCAiMCIpOworc2hvdWxkQmUoIm0udmFsdWUiLCAiMCIpOworc2hv
dWxkQmUoIm0ubWF4IiwgIjEiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIwIik7CitzaG91bGRCZSgi
bS5oaWdoIiwgIjEiKTsKK3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMC41Iik7CisKK2RlYnVnKCJT
ZXQgdmFsaWQgdmFsdWVzIik7CittLm1pbiA9ICItMTAiOworbS52YWx1ZSA9IDdlMTsKK20ubWF4
ID0gIjFlMiI7CittLmxvdyA9ICIxMC4xIjsKK20uaGlnaCA9ICI5OS41IjsKK20ub3B0aW11bSA9
ICI3MCI7CitzaG91bGRCZSgibS5taW4iLCAiLTEwIik7CitzaG91bGRCZSgibS52YWx1ZSIsICI3
MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIpOworc2hvdWxkQmUoIm0ubG93IiwgIjEwLjEi
KTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiOTkuNSIpOworc2hvdWxkQmUoIm0ub3B0aW11bSIsICI3
MCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMSIpOwor
bS5taW4gPSAtMTA7CittLnZhbHVlID0gMjAwOworbS5tYXggPSAxMDAuMDsKK20ubG93ID0gMjAw
OworbS5oaWdoID0gLTUwOworbS5vcHRpbXVtID0gbnVsbDsKK3Nob3VsZEJlKCJtLm1pbiIsICIt
MTAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjEwMCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEw
MCIpOworc2hvdWxkQmUoIm0ubG93IiwgIjEwMCIpOworc2hvdWxkQmUoIm0uaGlnaCIsICIxMDAi
KTsKK3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMg
dG8gaW1wcm9wZXIgdmFsdWVzIC0gMiIpOworbS5taW4gPSAyMDAuMDsKK20udmFsdWUgPSAtMjAw
LjA7CittLm1heCA9IDA7CittLmxvdyA9IG51bGw7CitzaG91bGRCZSgibS5taW4iLCAiMjAwLjAi
KTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjIwMC4wIik7CitzaG91bGRCZSgibS5tYXgiLCAiMjAw
LjAiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIyMDAuMCIpOworCitkZWJ1ZygiU2V0IHZhbHVlIHRv
IGludmFsaWQgdmFsdWUiKTsKK3RyeSB7CittLnZhbHVlID0gInZhbHVlIjsKK30gY2F0Y2ggKGUp
IHsKK2RlYnVnKGUubWVzc2FnZSk7Cit9CisKK2RlYnVnKCJTZXQgbWluIHRvIE5hTiIpOwordHJ5
IHsKK20ubWluID0gTmFOOworfSBjYXRjaCAoZSkgeworZGVidWcoZS5tZXNzYWdlKTsKK30KKwor
ZGVidWcoIlNldCBtYXggdG8gSW5maW5pdHkiKTsKK3RyeSB7CittLm1heCA9IEluZmluaXR5Owor
fSBjYXRjaCAoZSkgeworZGVidWcoZS5tZXNzYWdlKTsKK30KKworZGVidWcoIlNldCBsb3cgdG8g
aW52YWxpZCB2YWx1ZSIpOwordHJ5IHsKK20ubG93ID0gImxvdyI7Cit9IGNhdGNoIChlKSB7Citk
ZWJ1ZyhlLm1lc3NhZ2UpOworfQorCitkZWJ1ZygiU2V0IGhpZ2ggdG8gTmFOIik7Cit0cnkgewor
bS5oaWdoID0gTmFOOworfSBjYXRjaCAoZSkgeworZGVidWcoZS5tZXNzYWdlKTsKK30KKworZGVi
dWcoIlNldCBvcHRpbXVtIHRvIEluZmluaXR5Iik7Cit0cnkgeworbS5vcHRpbXVtID0gSW5maW5p
dHk7Cit9IGNhdGNoIChlKSB7CitkZWJ1ZyhlLm1lc3NhZ2UpOworfQorCitkZWJ1ZygiU2V0IGF0
dHJpYnV0ZXMgdG8gdmFsaWQgbnVtYmVycyIpOworbS5zZXRBdHRyaWJ1dGUoIm1pbiIsIDApOwor
bS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgNSk7CittLnNldEF0dHJpYnV0ZSgibWF4IiwgMTApOwor
c2hvdWxkQmUoIm0udmFsdWUiLCAiNSIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwIik7CitzaG91
bGRCZSgicGFyc2VJbnQobS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpIiwgIjUiKTsKK3Nob3VsZEJl
KCJwYXJzZUludChtLmdldEF0dHJpYnV0ZSgnbWF4JykpIiwgIjEwIik7CisKK2RlYnVnKCJTZXQg
YXR0cmlidXRlcyB0byBpbnZhbGlkIHZhbHVlcyIpOworbS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwg
IkFCQyIpOworbS5zZXRBdHRyaWJ1dGUoIm1heCIsICIjIik7CitzaG91bGRCZSgibS52YWx1ZSIs
ICIwIik7CitzaG91bGRCZSgibS5tYXgiLCAiMSIpOworc2hvdWxkQmUoIm0uZ2V0QXR0cmlidXRl
KCd2YWx1ZScpIiwgIidBQkMnIik7CitzaG91bGRCZSgibS5nZXRBdHRyaWJ1dGUoJ21heCcpIiwg
IicjJyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAko
cmV2aXNpb24gNTg2NTMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI2MjcsNiArMjYyNywxMCBAQCBCVUcz
ODIyNyBERUZFUiA6IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsCiBCVUczODIyNyBERUZFUiA6IGZh
c3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbCA9
IFRFWFQKIEJVRzM4MjI3IFNLSVAgOiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dy
ZXNzLWJhci12YWx1ZS1wc2V1ZG8tZWxlbWVudC5odG1sID0gRkFJTAogCisvLyBIVE1MTWV0ZXJF
bGVtZW50IHJlbGF0ZWQgdGVzdHMgZGVmZXJyZWQgZHVlIHRvIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA3NC4KK0JVRzM3MDc0IERFRkVSIDogZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwgPSBNSVNTSU5HCitCVUczNzA3NCBERUZF
UiA6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbCA9
IFRFWFQKKwogLy8gV2ViS2l0IHJvbGwgNTYwMDQgLT4gNTYwMjYKIEJVRzM4Mjc4IDogZmFzdC9l
dmVudHMvY29udGludW91cy1wbGF0Zm9ybS13aGVlbGV2ZW50LWluLXNjcm9sbGluZy1kaXYuaHRt
bCA9IFRJTUVPVVQKIEJVRzM4Mjc4IDogZmFzdC9ldmVudHMvcGxhdGZvcm0td2hlZWxldmVudC1p
bi1zY3JvbGxpbmctZGl2Lmh0bWwgPSBUSU1FT1VUCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tp
cHBlZAkocmV2aXNpb24gNTg2NTMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZAkod29ya2luZyBjb3B5KQpAQCAtNTgyNyw2ICs1ODI3LDEwIEBAIGZhc3QvZG9tL0hUTUxQcm9n
cmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0
LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9w
cm9ncmVzcy1iYXItdmFsdWUtcHNldWRvLWVsZW1lbnQuaHRtbAogCisjIG1ldGVyIGVsZW1lbnQg
aXMgbm90IHN1cHBvcnRlZAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50
Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRt
bAorCiAjIE5lZWRzIG1vY2sgc3VwcG9ydCwgYW5kIGJ1aWxkIHNsYXZlIEdlb2xvY2F0aW9uIHNl
cnZpY2UKICMgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjA1
MwogZmFzdC9kb20vR2VvbG9jYXRpb24vbWF4aW11bS1hZ2UuaHRtbApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDU4NjUzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTEzOCw2ICsxMzgsMTAgQEAgZmFzdC9mb3Jt
cy9tdWx0aXBsZS1mb3JtLXN1Ym1pc3Npb24tcHJvdAogIyBUaGUgYW5pbWF0aW9uIGNhdXNlcyB0
aGUgcmVzdWx0IG9mIHRoaXMgdGVzdCB0byBkZXBlbmQgb24gdGhlIHNwZWVkIG9mIGV4ZWN1dGlu
ZyBpdCwgYW5kIHRoYXQgd2lsbCBjYXVzZSBpdCB0byBiZSBmbGFreQogZmFzdC9kb20vSFRNTFBy
b2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50Lmh0bWwKIAorIyBtZXRlciBlbGVtZW50IGlz
IG5vdCBzdXBwb3J0ZWQKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5o
dG1sCitmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwK
KwogIyBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dC91cmktbGlzdCcpIG5vdCBjb3Jy
ZWN0bHkgaW1wbGVtZW50ZWQgb24gTWFjCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YVRyYW5zZmVy
LXNldERhdGEtZ2V0RGF0YS5odG1sCiAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJF
bGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVs
ZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzlkYTk3
YWQ1ZTM1NzU0OTc2NWE1MDg4YzdlZGMwZGM3ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9t
ZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJNZXRlciB7TUVURVJ9IGF0ICgw
LDQ0KSBzaXplIDgweDE2CisgICAgICBSZW5kZXJNZXRlciB7TUVURVJ9IGF0ICg4MCwwKSBzaXpl
IDEweDYwCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA1ODY1MykKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC04MzIsNiArODMyLDEwIEBA
IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWwKIGZhc3QvZG9tL0hUTUxQ
cm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbAogZmFzdC9kb20vSFRN
TFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1iYXItdmFsdWUtcHNldWRvLWVsZW1lbnQuaHRtbAog
CisjIG1ldGVyIGVsZW1lbnQgaXMgbm90IHN1cHBvcnRlZAorZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9tZXRlci1lbGVtZW50Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1l
dGVyLXByb3BlcnRpZXMuaHRtbAorCiAjIE5vIFdpZGdldHMgMS4wIHN1cHBvcnQKIGZhc3QvbWVk
aWEvbWVkaWEtZmVhdHVyZS13Z3Qtdmlldy1tb2RlLmh0bWwKIApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVj
dGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFy
eSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJF
bGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpt
aW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFO
U1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJB
QUFNCnhFbEVRVlI0bk8zZHNhbkRNQlJBMFNoa0JjL2pEYktvdTJ5UXlmUnJseUZ3bFkvUDZRVEdm
cmk3a3NGanpqbHZBQUFBZ2Z2cUFRQUEKZ09zUUlBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFPYXhlb0FyZWIvZgpwL1crNzRzbUFRQ0FO
WnlBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFaYzg2NWVv
aXJlRDZmcC9YcjlWbzBDUUFBckNGQVFtT00KMDlxckJ3RGdhbnlDQlFBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSQpBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCCkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FlWHh5OFJq
anE0Y2R4M0hidHUycmUvd0grNzZ2SGdFQUFINlMKRXhBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFE
SUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElmUFFqUXI1enYrczlBQUN1YmN3NQo1K29oQUFD
QWE3QWxEd0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFB
QUJrQkFnQUFaQVFJCkFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFB
QUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0IKQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFB
QUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCRwpnQUFB
QUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFB
QmtCQWdBQVpBUUlBQUNRCkVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFB
QmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUEKWkFRSUFBQ1FFU0FBQUVCR2dBQUFB
QmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQQpB
QmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFC
a0JBZ0FBWkFRSUFBQ1FFU0FBCkFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFC
a0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUkKQUFDUUVTQUFBRUJHZ0FBQUFC
a0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJr
QgpBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJr
QkFnQUFaQVFJQUFDUUVTQUFBRUJHCmdBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJr
QkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1EKRVNBQUFFQkdnQUFBQUJr
QkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtC
QWdBQQpaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtC
QWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBCkFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtC
QWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUEKQUVCR2dBQUFBQmtC
QWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JB
Z0FBWkFRSQpBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JB
Z0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCCkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JB
Z0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkcKZ0FBQUFCa0JB
Z0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFn
QUFaQVFJQUFDUQpFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFn
QUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBClpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFn
QUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUEKQUJrQkFn
QUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdB
QVpBUUlBQUNRRVNBQQpBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdB
QVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJCkFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdB
QVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0IKQWdB
QVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FB
WkFRSUFBQ1FFU0FBQUVCRwpnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FB
WkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRCkVTQUFBRUJHZ0FBQUFCa0JBZ0FB
WkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUEK
WkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFa
QVFJQUFDUUVTQUFBRUJHZ0FBQQpBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFa
QVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBCkFFQkdnQUFBQUJrQkFnQUFa
QVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpB
UUkKQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpB
UUlBQUNRRVNBQUFFQkdnQUFBQUJrQgpBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpB
UUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHCmdBQUFBQmtCQWdBQVpB
UUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFR
SUFBQ1EKRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFR
SUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQQpaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFR
SUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBCkFCa0JBZ0FBWkFR
SUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJ
QUFDUUVTQUEKQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJ
QUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSQpBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJ
QUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCCkFnQUFaQVFJ
QUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlB
QUNRRVNBQUFFQkcKZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlB
QUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUQpFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlB
QUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBClpBUUlB
QUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFB
Q1FFU0FBQUVCR2dBQUEKQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFB
Q1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQQpBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFB
Q1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJCkFB
Q1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFD
UUVTQUFBRUJHZ0FBQUFCa0IKQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFD
UUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCRwpnQUFBQUJrQkFnQUFaQVFJQUFD
UUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNR
CkVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNR
RVNBQUFFQkdnQUFBQUJrQkFnQUEKWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNR
RVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQQpBQmtCQWdBQVpBUUlBQUNR
RVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FF
U0FBCkFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUStRTyswQ0Nwek8rTzFnQUFBQUJKUlU1RXJrSmdn
Zz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54921</attachid>
            <date>2010-05-03 06:27:16 -0700</date>
            <delta_ts>2010-05-04 07:04:11 -0700</delta_ts>
            <desc>Patch adding more tests and removing redundant isnan calls</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>61583</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODY1OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzcgQEAKKzIwMTAtMDUtMDIgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudCwgaW5jbHVkaW5nIGRlZmF1bHQgcmVu
ZGVyaW5nCisgICAgICAgIG9mIHRoZSBtZXRlciBlbGVtZW50LiBUaGF0IGlzIGJlY2F1c2Ugc29t
ZSBwbGF0Zm9ybXMgZG8gbm90IGhhdmUgYSBuYXRpdmUgZ2F1Z2UuCisgICAgICAgIFRoZSBmZWF0
dXJlIGlzIHR1cm5lZCBvbiBvbmx5IGZvciB0aGUgUXQgcGxhdGZvcm0uCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQ
cmltaXRpdmVWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAg
ICAgICogY3NzL2h0bWwuY3NzOgorICAgICAgICAobWV0ZXI6Oi13ZWJraXQtbWV0ZXIpOgorICAg
ICAgICAqIGh0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW5saW5lVGFnTGlzdCk6CisgICAgICAgICog
aHRtbC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHA6CisgICAgICAgICogaHRtbC9IVE1MTWV0ZXJF
bGVtZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpI
VE1MTWV0ZXJFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJl
cik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6dmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1ldGVyRWxlbWVudDo6bWluKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVs
ZW1lbnQ6OnNldE1pbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjptYXgp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0TWF4KToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Omxvdyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0ZXJFbGVtZW50OjpzZXRMb3cpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVu
dDo6aGlnaCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpzZXRIaWdoKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om9wdGltdW0pOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6c2V0T3B0aW11bSk6CisgICAgICAgICogaHRtbC9I
VE1MTWV0ZXJFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxl
bWVudDo6aXNPcHRpb25hbEZvcm1Db250cm9sKToKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVs
ZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxUYWdOYW1lcy5pbjoKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZXRlci5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWV0ZXI6OlJlbmRlck1ldGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck1ldGVyOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OnVwZGF0
ZUZyb21FbGVtZW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6cmVuZGVyTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJNZXRlcjo6aXNNZXRlcik6CisgICAgICAgIChXZWJDb3JlOjp0b1JlbmRl
ck1ldGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzTWV0ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OmFkanVzdE1ldGVyU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBh
aW50TWV0ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorCiAyMDEwLTA1
LTAyICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5v
dCByZXZpZXdlZDogVG91Y2ggaW5zcGVjdG9yIGNvbnRyb2xsZXIgdG8ga2ljayB3aW5kb3dzIHRl
c3RzLgpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDU4NjUzKQorKysgV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw2ICsxMzcsNyBAQAogI2luY2x1
ZGUgIkpTSFRNTE1lZGlhRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNIVE1MTWVudUVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIkpTSFRNTE1ldGFFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJKU0hUTUxN
ZXRlckVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE1vZEVsZW1lbnQuY3BwIgogI2luY2x1
ZGUgIkpTSFRNTE9iamVjdEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE9MaXN0RWxlbWVu
dC5jcHAiCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA1ODY1MykKKysrIFdlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTc5LDYgKzE3OSw3IEBAIERP
TV9DTEFTU0VTID0gXAogICAgIEhUTUxNZWRpYUVsZW1lbnQgXAogICAgIEhUTUxNZW51RWxlbWVu
dCBcCiAgICAgSFRNTE1ldGFFbGVtZW50IFwKKyAgICBIVE1MTWV0ZXJFbGVtZW50IFwKICAgICBI
VE1MTW9kRWxlbWVudCBcCiAgICAgSFRNTE9MaXN0RWxlbWVudCBcCiAgICAgSFRNTE9iamVjdEVs
ZW1lbnQgXApAQCAtNjI5LDYgKzYzMCwxMCBAQCBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX0RB
VEFMSVNULCQoRkVBCiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1MpIEVOQUJMRV9EQVRB
TElTVD0xCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX01FVEVSX1RBRywkKEZF
QVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUVURVJfVEFHKQorICAgIEhUTUxfRkxBR1MgOj0gJChI
VE1MX0ZMQUdTKSBFTkFCTEVfTUVURVJfVEFHPTEKK2VuZGlmCisKIGlmZXEgKCQoZmluZHN0cmlu
ZyBFTkFCTEVfUFJPR1JFU1NfVEFHLCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9QUk9HUkVT
U19UQUcpCiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1MpIEVOQUJMRV9QUk9HUkVTU19U
QUc9MQogZW5kaWYKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsNiArMjQzLDcgQEAgSURMX0JJTkRJTkdT
ICs9IFwKIAlXZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwgXAogCVdlYkNvcmUvaHRtbC9IVE1M
TWVudUVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmlkbCBcCisJ
V2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1v
ZEVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwgXAogCVdl
YkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwgXApAQCAtMTE2Myw2ICsxMTY0LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmggXAog
CVdlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1l
dGFFbGVtZW50LmggXAorCVdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCBcCisJV2Vi
Q29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVt
ZW50LmNwcCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmggXAogCVdlYkNvcmUvaHRt
bC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIFwKQEAgLTE4OTQsNiArMTg5Nyw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKIAlXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lbnVMaXN0LmggXAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCBcCisJ
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggXAogCVdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgXApAQCAtMjI0MSw2ICsy
MjQ2LDE0IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1ERU5BQkxFX0RBVEFHUklEPTAKIAog
IyAtLS0tCisjIEhUTUwgTWV0ZXIgRWxlbWVudCAtIGRpc2FibGUgZm9yIG5vdy4KKyMgLS0tLQor
RkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9NRVRFUl9UQUc9MAorCit3ZWJjb3JlX2NwcGZsYWdz
ICs9IFwKKyAgICAtREVOQUJMRV9NRVRFUl9UQUc9MAorCisjIC0tLS0KICMgSFRNTCBQcm9ncmVz
cyBFbGVtZW50IC0gZGlzYWJsZSBmb3Igbm93LCBzaW5jZSBwYWludGluZyBjb2RlIGlzIG1pc3Np
bmcuCiAjIC0tLS0KIEZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfUFJPR1JFU1NfVEFHPTAKSW5k
ZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5n
eXBpCShyZXZpc2lvbiA1ODY1MykKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTcsNiArMTU3LDcgQEAKICAgICAgICAgICAgICdodG1sL0hUTUxNZWRpYUVsZW1l
bnQuaWRsJywKICAgICAgICAgICAgICdodG1sL0hUTUxNZW51RWxlbWVudC5pZGwnLAogICAgICAg
ICAgICAgJ2h0bWwvSFRNTE1ldGFFbGVtZW50LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9IVE1M
TWV0ZXJFbGVtZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTW9kRWxlbWVudC5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsJywKQEAgLTE1NTcsNiArMTU1OCw4IEBACiAgICAg
ICAgICAgICAnaHRtbC9IVE1MTWVudUVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1M
TWV0YUVsZW1lbnQuY3BwJywKICAgICAgICAgICAgICdodG1sL0hUTUxNZXRhRWxlbWVudC5oJywK
KyAgICAgICAgICAgICdodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwJywKKyAgICAgICAgICAgICdo
dG1sL0hUTUxNZXRlckVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTW9kRWxlbWVu
dC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1vZEVsZW1lbnQuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwJywKQEAgLTMxMzEsNiArMzEzNCw4IEBACiAg
ICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oJywKICAg
ICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwJywKICAgICAgICAgICAgICdy
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaCcsCisgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRl
ck1ldGVyLmNwcCcsCisgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1ldGVyLmgnLAogICAg
ICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwJywKICAgICAgICAgICAgICdyZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3RDaGlsZExpc3QuY3BwJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcmkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9XZWJDb3JlLnByaQkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3JlL1dlYkNv
cmUucHJpCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9TSU5HTEVfVEhSRUFERUQKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU89
Lik6IERFRklORVMgKz0gRU5BQkxFX1ZJREVPPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
UlVCWT0uKTogREVGSU5FUyArPSBFTkFCTEVfUlVCWT0xCiAhY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX1NBTkRCT1g9Lik6IERFRklORVMgKz0gRU5BQkxFX1NBTkRCT1g9MQorIWNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9NRVRFUl9UQUc9Lik6IERFRklORVMgKz0gRU5BQkxFX01FVEVSX1RBRz0x
CiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1BST0dSRVNTX1RBRz0uKTogREVGSU5FUyArPSBF
TkFCTEVfUFJPR1JFU1NfVEFHPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfQkxPQl9TTElD
RT0uKTogREVGSU5FUyArPSBFTkFCTEVfQkxPQl9TTElDRT0wCiAhY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX05PVElGSUNBVElPTlM9Lik6IERFRklORVMgKz0gRU5BQkxFX05PVElGSUNBVElPTlM9
MQpAQCAtMTYzLDYgKzE2NCw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJfU09DS0VU
Uz0xKToKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9UT1VDSF9FVkVOVFM9MSk6IEZFQVRVUkVf
REVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQogY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX1RJTEVEX0JBQ0tJTkdfU1RPUkU9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZB
U0NSSVBUICs9IEVOQUJMRV9USUxFRF9CQUNLSU5HX1NUT1JFPTEKIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9OT1RJRklDQVRJT05TPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBF
TkFCTEVfTk9USUZJQ0FUSU9OUz0xCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVURVJfVEFH
PTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTUVURVJfVEFHPTEKIGNv
bnRhaW5zKERFRklORVMsIEVOQUJMRV9QUk9HUkVTU19UQUc9MSk6IEZFQVRVUkVfREVGSU5FU19K
QVZBU0NSSVBUICs9IEVOQUJMRV9QUk9HUkVTU19UQUc9MQogCiAKQEAgLTM3Niw2ICszNzgsNyBA
QCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgXAogICAg
IGh0bWwvSFRNTE1lbnVFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuaWRs
IFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxNb2RFbGVt
ZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRN
TE9MaXN0RWxlbWVudC5pZGwgXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA1ODY1MykKKysrIFdlYkNvcmUvV2Vi
Q29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY1NSw2ICs2NTUsNyBAQCBTT1VSQ0VTICs9IFwK
ICAgICBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTE1lbnVFbGVt
ZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIFwKKyAgICBodG1sL0hUTUxN
ZXRlckVsZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAgICAgaHRt
bC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIFwKICAgICBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNw
cCBcCkBAIC05MzUsNiArOTM2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcmVuZGVyaW5nL1JlbmRl
ckxpc3RNYXJrZXIuY3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAgXAogICAg
IHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgXAorICAgIHJlbmRlcmluZy9SZW5kZXJNZXRl
ci5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIFwKICAgICByZW5kZXJpbmcv
UmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuY3Bw
IFwKQEAgLTEzNzksNiArMTM4MSw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxNZW51RWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxN
ZXRhRWxlbWVudC5oIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaCBcCiAgICAgaHRtbC9I
VE1MTW9kRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxOYW1lQ29sbGVjdGlvbi5oIFwKICAgICBo
dG1sL0hUTUxOb1NjcmlwdEVsZW1lbnQuaCBcCkBAIC0xNzE4LDYgKzE3MjEsNyBAQCBIRUFERVJT
ICs9IFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKICAgICByZW5kZXJpbmcvUmVu
ZGVyTWVkaWEuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggXAorICAgIHJlbmRl
cmluZy9SZW5kZXJNZXRlci5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0
LmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRl
clBhcnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlz
aW9uIDU4NjUzKQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29y
a2luZyBjb3B5KQpAQCAtNjUwMSw2ICs2NTAxLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9q
ZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTWV0ZXJFbGVtZW50LmNwcCINCisJCQkJPg0K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJu
YWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxl
Pg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0hUTUxNZXRlckVsZW1lbnQuaCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTW9kRWxlbWVu
dC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjc3MzUsNiArMjc3
OTEsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccmVuZGVyaW5nXFJlbmRlck1ldGVyLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJNZXRlci5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVu
ZGVyaW5nXFJlbmRlck9iamVjdC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMzMwNDQs
NiArMzMxMDgsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmNwcCINCisJCQkJPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fp
cm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
UmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmgiDQorCQkJ
CT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEhU
TUxNb2RFbGVtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTg2
NTMpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMjU1Myw2ICsyNTUzLDEwIEBACiAJCUE0M0JGNTk5MTE0OTI5MEEwMEM2NDND
QSAvKiBIVE1MUHJvZ3Jlc3NFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNz
RWxlbWVudC5oICovOyB9OwogCQlBNDNCRjU5QzExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJv
Z3Jlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTQzQkY1OUExMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmNwcCAqLzsgfTsKIAkJ
QTQzQkY1OUQxMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5QjExNDkyOTI4MDBDNjQz
Q0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCAqLzsgfTsKKwkJQTQ4QUE5QkMxMTg1RjE3OTAwQjYwMUY3
IC8qIFJlbmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE0OEFBOUJBMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5jcHAgKi87
IH07CisJCUE0OEFBOUJEMTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ4QUE5QkIxMTg1RjE3OTAw
QjYwMUY3IC8qIFJlbmRlck1ldGVyLmggKi87IH07CisJCUE0OEFBOUM3MTE4NUYxQkMwMEI2MDFG
NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE0OEFBOUM0MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVt
ZW50LmNwcCAqLzsgfTsKKwkJQTQ4QUE5QzgxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0
OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi87IH07CiAJCUE1
MTNCM0Q3MTE0QjE2NjYwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRDRjExNDg1RkYxMDA2NkYyQUIg
LyogS2V5RXZlbnRDb2NvYS5oICovOyB9OwogCQlBNTEzQjNEODExNEIxNjZBMDAxQzQyOUIgLyog
S2V5RXZlbnRDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1Qzk3NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29hLm1tICovOyB9
OwogCQlBNTlFM0MxRTExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU5RTNDMUMxMTU4
MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLzsgfTsKQEAgLTgwMTMsNiAr
ODAxNywxMCBAQAogCQlBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MUHJvZ3Jlc3NFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlBMTE0OTI5MjgwMEM2
NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE0M0JGNTlCMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBNDhBQTlCQTExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWV0ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDhBQTlCQjExODVGMTc5MDBCNjAxRjcgLyog
UmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWV0
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ4QUE5QzQxMTg1RjFCQzAwQjYw
MUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxNZXRlckVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50
Q29kZXNJUGhvbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gS2V5RXZlbnRD
b2Rlc0lQaG9uZS5oOyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29kZXNJUGhvbmUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2
ZW50SVBob25lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5
RXZlbnRJUGhvbmUubW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJUGhvbmUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFu
Z2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMjE0LDYgKzEzMjIyLDggQEAKIAkJ
CQlBODcxREMxQjBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmNwcCAqLywKIAkJ
CQlBODcxREMxODBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmggKi8sCiAJCQkJ
QTgwRTc5RkMwQTE5QzMwNzAwN0ZCOEM1IC8qIEhUTUxNZXRhRWxlbWVudC5pZGwgKi8sCisJCQkJ
QTQ4QUE5QzQxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovLAorCQkJ
CUE0OEFBOUM1MTE4NUYxQkMwMEI2MDFGNyAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi8sCiAJCQkJ
QThDRkY3OUYwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVtZW50LmNwcCAqLywKIAkJCQlB
OENGRjc5RDBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1lbnQuaCAqLywKIAkJCQkxQUUy
QUIwNzBBMUNFNUNGMDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQuaWRsICovLApAQCAtMTU5NDgs
NiArMTU5NTgsOCBAQAogCQkJCUU0QzI3OTU3MENGOTc0MTkwMEU5N0I5OCAvKiBSZW5kZXJNZWRp
YS5oICovLAogCQkJCUFCRERGRTczMEE1QzZFNkYwMEEzRTExRCAvKiBSZW5kZXJNZW51TGlzdC5j
cHAgKi8sCiAJCQkJQUJEREZFNzQwQTVDNkU3MDAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0Lmgg
Ki8sCisJCQkJQTQ4QUE5QkExMTg1RjE3OTAwQjYwMUY3IC8qIFJlbmRlck1ldGVyLmNwcCAqLywK
KwkJCQlBNDhBQTlCQjExODVGMTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuaCAqLywKIAkJCQlC
Q0VBNDg0MDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmNwcCAqLywKIAkJCQlCQ0VB
NDg0MTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmggKi8sCiAJCQkJQkM2MEVGQjYw
RjMzQTBFNzAwODEyQTkzIC8qIFJlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgKi8sCkBAIC0xODkx
Miw2ICsxODkyNCw4IEBACiAJCQkJMkUzQkMxMDgxMTdENDc5ODAwQjk0MDlBIC8qIERPTUZpbGVF
cnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkUzQkMxMEIxMTdENDdDODAwQjk0MDlBIC8qIERP
TUZpbGVFcnJvckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0ZENDI5ODExODM2ODQ2
MDA5M0MwMjkgLyogVHJlZURlcHRoTGltaXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE0OEFBOUJE
MTE4NUYxNzkwMEI2MDFGNyAvKiBSZW5kZXJNZXRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTQ4
QUE5QzgxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGRjI4NTkxMTE4NjQwNTMwMDdCN0NENiAvKiBSZW5kZXJNYXRoTUxSb290LmggaW4g
SGVhZGVycyAqLywKIAkJCQkwRkYyODU5MzExODY0MDU1MDA3QjdDRDYgLyogUmVuZGVyTWF0aE1M
U3F1YXJlUm9vdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjUyM0NGMDYxMTgyNjc1NDAwRUJCMjlD
IC8qIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKQEAgLTIxMTUx
LDYgKzIxMTY1LDggQEAKIAkJCQk5NzM4ODlBMDExNkVBOURDMDBBREYzMTMgLyogRG9jdW1lbnRX
cml0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkUzQkMwQ0ExMTdEM0UwODAwQjk0MDlBIC8q
IEpTRmlsZUVycm9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFM0JDMTA5MTE3RDQ3OTgwMEI5
NDA5QSAvKiBET01GaWxlRXJyb3IubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNDhBQTlCQzExODVG
MTc5MDBCNjAxRjcgLyogUmVuZGVyTWV0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTQ4QUE5
QzcxMTg1RjFCQzAwQjYwMUY3IC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEZGMjg1OTAxMTg2NDA1MjAwN0I3Q0Q2IC8qIFJlbmRlck1hdGhNTFJvb3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEZGMjg1OTIxMTg2NDA1NDAwN0I3Q0Q2IC8qIFJlbmRlck1hdGhN
TFNxdWFyZVJvb3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjUyM0NGMDkxMTgyNjc1NDAwRUJC
MjlDIC8qIFNRTFRyYW5zYWN0aW9uU3luYy5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDU4NjUzKQorKysgV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzIsNiArMjcyLDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1MK
ICAgICAgICAgY2FzZSBNZW51bGlzdFRleHRGaWVsZFBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVl
LmlkZW50ID0gQ1NTVmFsdWVNZW51bGlzdFRleHRmaWVsZDsKICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICAg
ICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTWV0ZXI7CisjZW5kaWYKKyAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIE91dGVyU3BpbkJ1dHRvblBhcnQ6CiAgICAgICAgICAgICBtX3Zh
bHVlLmlkZW50ID0gQ1NTVmFsdWVPdXRlclNwaW5CdXR0b247CiAgICAgICAgICAgICBicmVhazsK
SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCSh3b3JraW5nIGNvcHkpCkBAIC01ODksNiArNTg5LDcg
QEAgbWVudWxpc3QKIG1lbnVsaXN0LWJ1dHRvbgogbWVudWxpc3QtdGV4dAogbWVudWxpc3QtdGV4
dGZpZWxkCittZXRlcgogb3V0ZXItc3Bpbi1idXR0b24KIHByb2dyZXNzLWJhcgogcHJvZ3Jlc3Mt
YmFyLXZhbHVlCkluZGV4OiBXZWJDb3JlL2Nzcy9odG1sLmNzcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2Nzcy9odG1sLmNzcwkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3JlL2Nzcy9odG1sLmNz
cwkod29ya2luZyBjb3B5KQpAQCAtNTE3LDYgKzUxNywyMCBAQCBvcHRpb24gewogICAgIGZvbnQt
d2VpZ2h0OiBub3JtYWw7CiB9CiAKKy8qIG1ldGVyICovCisKK21ldGVyIHsKKyAgICAtd2Via2l0
LWFwcGVhcmFuY2U6IG1ldGVyOworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBoZWln
aHQ6IDFlbTsKKyAgICB3aWR0aDogNWVtOworICAgIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07Cit9
CisKK21ldGVyOjotd2Via2l0LW1ldGVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1ldGVy
OworfQorCiAvKiBwcm9ncmVzcyAqLwogCiBwcm9ncmVzcyB7CkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW4JKHJldmlzaW9uIDU4NjUzKQorKysgV2ViQ29yZS9odG1sL0hUTUxBdHRy
aWJ1dGVOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQCBmcmFtZWJvcmRl
cgogaGVhZGVycwogaGVpZ2h0CiBoaWRkZW4KK2hpZ2gKIGhyZWYKIGhyZWZsYW5nCiBoc3BhY2UK
QEAgLTExNSw2ICsxMTYsNyBAQCBsaW5rCiBsaXN0CiBsb25nZGVzYwogbG9vcAorbG93CiBwbGF5
Y291bnQKIGxvb3BlbmQKIGxvb3BzdGFydApAQCAtMjE5LDYgKzIyMSw3IEBAIG9ud2Via2l0YW5p
bWF0aW9uZW5kCiBvbndlYmtpdGJlZ2luZnVsbHNjcmVlbgogb253ZWJraXRlbmRmdWxsc2NyZWVu
CiBvbndlYmtpdHRyYW5zaXRpb25lbmQKK29wdGltdW0KIHBhdHRlcm4KIHBsYWNlaG9sZGVyCiBw
bHVnaW51cmwKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjEsNiArODYxLDkg
QEAgc3RhdGljIEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+KiBpbmxpbgogI2lmIEVOQUJMRShQ
Uk9HUkVTU19UQUcpCiAgICAgICAgIHRhZ0xpc3QuYWRkKHByb2dyZXNzVGFnLmxvY2FsTmFtZSgp
LmltcGwoKSk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICB0YWdMaXN0
LmFkZChtZXRlclRhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOworI2VuZGlmCiAgICAgfQogICAgIHJl
dHVybiAmdGFnTGlzdDsKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudHNBbGxJbk9u
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNw
cAkocmV2aXNpb24gNTg2NTMpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3Nyw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlh
RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE1lbnVFbGVtZW50LmNwcCIKICNpbmNsdWRlICJI
VE1MTWV0YUVsZW1lbnQuY3BwIgorI2luY2x1ZGUgIkhUTUxNZXRlckVsZW1lbnQuY3BwIgogI2lu
Y2x1ZGUgIkhUTUxNb2RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MT0xpc3RFbGVtZW50LmNw
cCIKICNpbmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5jcHAiCkluZGV4OiBXZWJDb3JlL2h0bWwv
SFRNTE1ldGVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1l
bnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJI
VE1MTWV0ZXJFbGVtZW50LmgiCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAi
Rm9ybURhdGFMaXN0LmgiCisjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCisjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlci5oIgorI2luY2x1ZGUgIk1hcHBlZEF0
dHJpYnV0ZS5oIgorI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgiCisjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CisKK0hUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MRm9ybUVsZW1lbnQqIGZv
cm0pCisgICAgOiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBmb3Jt
LCBDcmVhdGVFbGVtZW50KQoreworICAgIEFTU0VSVChoYXNUYWdOYW1lKG1ldGVyVGFnKSk7Cit9
CisKK1Bhc3NSZWZQdHI8SFRNTE1ldGVyRWxlbWVudD4gSFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZv
cm1FbGVtZW50KiBmb3JtKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgSFRNTE1ldGVyRWxl
bWVudCh0YWdOYW1lLCBkb2N1bWVudCwgZm9ybSkpOworfQorCitSZW5kZXJPYmplY3QqIEhUTUxN
ZXRlckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5
bGUqKQoreworICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJNZXRlcih0aGlzKTsKK30KKwor
Y29uc3QgQXRvbWljU3RyaW5nJiBIVE1MTWV0ZXJFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUoKSBj
b25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBtZXRl
ciwgKCJtZXRlciIpKTsKKyAgICByZXR1cm4gbWV0ZXI7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQoreworICAg
IGlmIChhdHRyLT5uYW1lKCkgPT0gdmFsdWVBdHRyKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigp
KQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBtaW5BdHRyKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigp
KQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBtYXhBdHRyKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigp
KQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBsb3dBdHRyKSB7CisgICAgICAgIGlmIChyZW5kZXJlcigp
KQorICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICB9IGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBoaWdoQXR0cikgeworICAgICAgICBpZiAocmVuZGVyZXIo
KSkKKyAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgfSBl
bHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb3B0aW11bUF0dHIpIHsKKyAgICAgICAgaWYgKHJlbmRl
cmVyKCkpCisgICAgICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAg
IH0gZWxzZQorICAgICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShhdHRyKTsKK30KKworZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6OnZhbHVlKCkgY29uc3QK
K3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAgYm9vbCBvayA9IHBhcnNlVG9Eb3VibGVGb3JOdW1i
ZXJUeXBlKGdldEF0dHJpYnV0ZSh2YWx1ZUF0dHIpLCAmdmFsdWUpOworICAgIGlmICghb2spCisg
ICAgICAgIHZhbHVlID0gMDsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgodmFsdWUsIG1p
bigpKSwgbWF4KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldFZhbHVlKGRvdWJs
ZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFpc2Zpbml0ZSh2YWx1ZSkp
IHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBzZXRBdHRyaWJ1dGUodmFsdWVBdHRyLCBTdHJpbmc6Om51bWJlcih2YWx1ZSkpOwor
fQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVudDo6bWluKCkgY29uc3QKK3sKKyAgICBkb3VibGUg
bWluOworICAgIGJvb2wgb2sgPSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1
dGUobWluQXR0ciksICZtaW4pOworICAgIHJldHVybiBvayA/IG1pbiA6IDA7Cit9CisKK3ZvaWQg
SFRNTE1ldGVyRWxlbWVudDo6c2V0TWluKGRvdWJsZSBtaW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQor
eworICAgIGlmICghaXNmaW5pdGUobWluKSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURf
RVJSOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHNldEF0dHJpYnV0ZShtaW5BdHRyLCBT
dHJpbmc6Om51bWJlcihtaW4pKTsKK30KKworZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6Om1heCgp
IGNvbnN0Cit7CisgICAgZG91YmxlIG1heDsKKyAgICBib29sIG9rID0gcGFyc2VUb0RvdWJsZUZv
ck51bWJlclR5cGUoZ2V0QXR0cmlidXRlKG1heEF0dHIpLCAmbWF4KTsKKyAgICByZXR1cm4gb2sg
PyBzdGQ6Om1heChtYXgsIG1pbigpKSA6IHN0ZDo6bWF4KDEuMCwgbWluKCkpOworfQorCit2b2lk
IEhUTUxNZXRlckVsZW1lbnQ6OnNldE1heChkb3VibGUgbWF4LCBFeGNlcHRpb25Db2RlJiBlYykK
K3sKKyAgICBpZiAoIWlzZmluaXRlKG1heCkpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVE
X0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBzZXRBdHRyaWJ1dGUobWF4QXR0ciwg
U3RyaW5nOjpudW1iZXIobWF4KSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50Ojpsb3co
KSBjb25zdAoreworICAgIGRvdWJsZSBsb3c7CisgICAgYm9vbCBvayA9IHBhcnNlVG9Eb3VibGVG
b3JOdW1iZXJUeXBlKGdldEF0dHJpYnV0ZShsb3dBdHRyKSwgJmxvdyk7CisgICAgaWYgKCFvaykK
KyAgICAgICAgbG93ID0gbWluKCk7CisgICAgcmV0dXJuIHN0ZDo6bWluKHN0ZDo6bWF4KGxvdywg
bWluKCkpLCBtYXgoKSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0TG93KGRvdWJs
ZSBsb3csIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghaXNmaW5pdGUobG93KSkgewor
ICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIHNldEF0dHJpYnV0ZShsb3dBdHRyLCBTdHJpbmc6Om51bWJlcihsb3cpKTsKK30KKworZG91
YmxlIEhUTUxNZXRlckVsZW1lbnQ6OmhpZ2goKSBjb25zdAoreworICAgIGRvdWJsZSBoaWdoOwor
ICAgIGJvb2wgb2sgPSBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1dGUoaGln
aEF0dHIpLCAmaGlnaCk7CisgICAgaWYgKCFvaykKKyAgICAgICAgaGlnaCA9IG1heCgpOworICAg
IHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heChoaWdoLCBsb3coKSksIG1heCgpKTsKK30KKwordm9p
ZCBIVE1MTWV0ZXJFbGVtZW50OjpzZXRIaWdoKGRvdWJsZSBoaWdoLCBFeGNlcHRpb25Db2RlJiBl
YykKK3sKKyAgICBpZiAoIWlzZmluaXRlKGhpZ2gpKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBP
UlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgc2V0QXR0cmlidXRlKGhpZ2hB
dHRyLCBTdHJpbmc6Om51bWJlcihoaWdoKSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50
OjpvcHRpbXVtKCkgY29uc3QKK3sKKyAgICBkb3VibGUgb3B0aW11bTsKKyAgICBib29sIG9rID0g
cGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoZ2V0QXR0cmlidXRlKG9wdGltdW1BdHRyKSwgJm9w
dGltdW0pOworICAgIGlmICghb2spCisgICAgICAgIG9wdGltdW0gPSAobWF4KCkgKyBtaW4oKSkg
LyAyOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heChvcHRpbXVtLCBtaW4oKSksIG1heCgp
KTsKK30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpzZXRPcHRpbXVtKGRvdWJsZSBvcHRpbXVt
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWlzZmluaXRlKG9wdGltdW0pKSB7Cisg
ICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgc2V0QXR0cmlidXRlKG9wdGltdW1BdHRyLCBTdHJpbmc6Om51bWJlcihvcHRpbXVtKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaAko
cmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBIVE1MTWV0
ZXJFbGVtZW50X2gKKyNkZWZpbmUgSFRNTE1ldGVyRWxlbWVudF9oCisKKyNpZiBFTkFCTEUoTUVU
RVJfVEFHKQorI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBIVE1MTWV0ZXJFbGVtZW50IDogcHVibGljIEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxNZXRlckVs
ZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBIVE1MRm9ybUVs
ZW1lbnQqID0gMCk7CisKKyAgICBkb3VibGUgdmFsdWUoKSBjb25zdDsKKyAgICB2b2lkIHNldFZh
bHVlKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIG1pbigpIGNvbnN0Owor
ICAgIHZvaWQgc2V0TWluKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIG1h
eCgpIGNvbnN0OworICAgIHZvaWQgc2V0TWF4KGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisg
ICAgZG91YmxlIGxvdygpIGNvbnN0OworICAgIHZvaWQgc2V0TG93KGRvdWJsZSwgRXhjZXB0aW9u
Q29kZSYpOworCisgICAgZG91YmxlIGhpZ2goKSBjb25zdDsKKyAgICB2b2lkIHNldEhpZ2goZG91
YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBkb3VibGUgb3B0aW11bSgpIGNvbnN0OworICAg
IHZvaWQgc2V0T3B0aW11bShkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworcHJpdmF0ZToKKyAg
ICBIVE1MTWV0ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCosIEhUTUxG
b3JtRWxlbWVudCopOworCisgICAgdmlydHVhbCBib29sIGlzT3B0aW9uYWxGb3JtQ29udHJvbCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5n
JiBmb3JtQ29udHJvbFR5cGUoKSBjb25zdDsKKworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBj
cmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisKKyAgICB2aXJ0dWFs
IHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7Cit9OworCit9IC8v
IG5hbWVzcGFjZQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50
LmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKK21vZHVsZSBodG1s
IHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRVRFUl9UQUcKKyAgICBd
IEhUTUxNZXRlckVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgICAgICAgICAgICAgIGF0dHJp
YnV0ZSBkb3VibGUgdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBtaW4KKyAgICAg
ICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIGRvdWJsZSBtYXgKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBs
b3cKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAg
ICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBoaWdoCisgICAgICAgICAgICAgICAgICAg
ICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBkb3VibGUgb3B0aW11bQorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01F
eGNlcHRpb24pOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZv
cm07CisgICAgfTsKK30KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgkocmV2aXNpb24gNTg2NTMpCisr
KyBXZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3
Nyw3IEBAIG1hcCBjcmVhdGVXaXRoTmV3CiBtYXJxdWVlIGNyZWF0ZVdpdGhOZXcKIG1lbnUgY3Jl
YXRlV2l0aE5ldwogbWV0YSBjcmVhdGVXaXRoTmV3CittZXRlciBpbnRlcmZhY2VOYW1lPUhUTUxN
ZXRlckVsZW1lbnQsIGNvbmRpdGlvbmFsPU1FVEVSX1RBRwogbmF2IGludGVyZmFjZU5hbWU9SFRN
TEVsZW1lbnQKIG5vYnIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogbm9lbWJlZCBpbnRlcmZh
Y2VOYW1lPUhUTUxFbGVtZW50CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gNTg2NTMpCisr
KyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDExLDYgKzQx
MSw5IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1hcnF1ZWVFbGVt
ZW50Q29uc3RydWN0b3IgSFRNTE1hcnF1ZWVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRN
TE1lbnVFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1lbnVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1
dGUgSFRNTE1ldGFFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1ldGFFbGVtZW50OworI2lmIGRlZmlu
ZWQoRU5BQkxFX01FVEVSX1RBRykgJiYgRU5BQkxFX01FVEVSX1RBRworICAgICAgICBhdHRyaWJ1
dGUgSFRNTE1ldGVyRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZXRlckVsZW1lbnQ7CisjZW5kaWYK
ICAgICAgICAgYXR0cmlidXRlIEhUTUxNb2RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1vZEVsZW1l
bnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MT0xpc3RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE9M
aXN0RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxPYmplY3RFbGVtZW50Q29uc3RydWN0
b3IgSFRNTE9iamVjdEVsZW1lbnQ7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAkocmV2aXNpb24g
NTg2NTMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtNTIsNyArNTIsNyBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBNZWRpYVNlZWtGb3J3YXJk
QnV0dG9uUGFydCwgTWVkaWFSZXdpbmRCdXR0b25QYXJ0LCBNZWRpYVJldHVyblRvUmVhbHRpbWVC
dXR0b25QYXJ0LCBNZWRpYVRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uUGFydCwKICAgICBNZWRp
YVNsaWRlclBhcnQsIE1lZGlhU2xpZGVyVGh1bWJQYXJ0LCBNZWRpYVZvbHVtZVNsaWRlckNvbnRh
aW5lclBhcnQsIE1lZGlhVm9sdW1lU2xpZGVyUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJUaHVtYlBh
cnQsCiAgICAgTWVkaWFDb250cm9sc0JhY2tncm91bmRQYXJ0LCBNZWRpYUN1cnJlbnRUaW1lUGFy
dCwgTWVkaWFUaW1lUmVtYWluaW5nUGFydCwKLSAgICBNZW51bGlzdFBhcnQsIE1lbnVsaXN0QnV0
dG9uUGFydCwgTWVudWxpc3RUZXh0UGFydCwgTWVudWxpc3RUZXh0RmllbGRQYXJ0LCBPdXRlclNw
aW5CdXR0b25QYXJ0LCBQcm9ncmVzc0JhclBhcnQsIFByb2dyZXNzQmFyVmFsdWVQYXJ0LAorICAg
IE1lbnVsaXN0UGFydCwgTWVudWxpc3RCdXR0b25QYXJ0LCBNZW51bGlzdFRleHRQYXJ0LCBNZW51
bGlzdFRleHRGaWVsZFBhcnQsIE1ldGVyUGFydCwgT3V0ZXJTcGluQnV0dG9uUGFydCwgUHJvZ3Jl
c3NCYXJQYXJ0LCBQcm9ncmVzc0JhclZhbHVlUGFydCwKICAgICBTbGlkZXJIb3Jpem9udGFsUGFy
dCwgU2xpZGVyVmVydGljYWxQYXJ0LCBTbGlkZXJUaHVtYkhvcml6b250YWxQYXJ0LAogICAgIFNs
aWRlclRodW1iVmVydGljYWxQYXJ0LCBDYXJldFBhcnQsIFNlYXJjaEZpZWxkUGFydCwgU2VhcmNo
RmllbGREZWNvcmF0aW9uUGFydCwKICAgICBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFy
dCwgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydCwKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1ldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZXRlci5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5j
cHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisKKyNpbmNsdWRlICJSZW5k
ZXJNZXRlci5oIgorCisjaW5jbHVkZSAiSFRNTE1ldGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJl
bmRlclRoZW1lLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBzdGQ7CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworUmVuZGVyTWV0ZXI6OlJlbmRlck1l
dGVyKEhUTUxNZXRlckVsZW1lbnQqIGVsZW1lbnQpCisgICAgOiBSZW5kZXJCbG9jayhlbGVtZW50
KQoreworfQorCit2b2lkIFJlbmRlck1ldGVyOjpsYXlvdXQoKQoreworICAgIEFTU0VSVChuZWVk
c0xheW91dCgpKTsKKworICAgIExheW91dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMsIGNoZWNr
Rm9yUmVwYWludER1cmluZ0xheW91dCgpKTsKKworICAgIGNhbGNXaWR0aCgpOworICAgIGNhbGNI
ZWlnaHQoKTsKKworICAgIG1fb3ZlcmZsb3cuY2xlYXIoKTsKKworICAgIHJlcGFpbnRlci5yZXBh
aW50QWZ0ZXJMYXlvdXQoKTsKKworICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKK30KKwordm9p
ZCBSZW5kZXJNZXRlcjo6dXBkYXRlRnJvbUVsZW1lbnQoKQoreworICAgIHJlcGFpbnQoKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZXRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1l
dGVyLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IE5v
a2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYg
UmVuZGVyTWV0ZXJfaAorI2RlZmluZSBSZW5kZXJNZXRlcl9oCisKKyNpZiBFTkFCTEUoTUVURVJf
VEFHKQorI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCisjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRNTE1ldGVyRWxlbWVudDsKKworY2xh
c3MgUmVuZGVyTWV0ZXIgOiBwdWJsaWMgUmVuZGVyQmxvY2sgeworcHVibGljOgorICAgIFJlbmRl
ck1ldGVyKEhUTUxNZXRlckVsZW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGNvbnN0
IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyTWV0ZXIiOyB9CisgICAg
dmlydHVhbCBib29sIGlzTWV0ZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVh
bCB2b2lkIGxheW91dCgpOworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgpOwor
fTsKKworaW5saW5lIFJlbmRlck1ldGVyKiB0b1JlbmRlck1ldGVyKFJlbmRlck9iamVjdCogb2Jq
ZWN0KQoreworICAgIEFTU0VSVCghb2JqZWN0IHx8IG9iamVjdC0+aXNNZXRlcigpKTsKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyTWV0ZXIqPihvYmplY3QpOworfQorCisvLyBUaGlzIHdp
bGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCit2b2lkIHRvUmVuZGVy
TWV0ZXIoY29uc3QgUmVuZGVyTWV0ZXIqKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYKKworI2VuZGlmIC8vIFJlbmRlck1ldGVyX2gKKwpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgJKHJldmlzaW9uIDU4NjUzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3Niw2ICsyNzYsOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBib29sIGlzTGlzdE1hcmtlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCBib29sIGlzTWVkaWEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc01lbnVMaXN0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoTUVU
RVJfVEFHKQorICAgIHZpcnR1YWwgYm9vbCBpc01ldGVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KKyNlbmRpZgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgdmlydHVhbCBib29sIGlz
UHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuY3BwCShyZXZpc2lvbiA1ODY1MykKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsMTEgQEAKICNpbmNs
dWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgog
CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCisj
aW5jbHVkZSAiUmVuZGVyTWV0ZXIuaCIKKyNlbmRpZgorCiAvLyBUaGUgbWV0aG9kcyBpbiB0aGlz
IGZpbGUgYXJlIHNoYXJlZCBieSBhbGwgdGhlbWVzIG9uIGV2ZXJ5IHBsYXRmb3JtLgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC0yMTQsNiArMjE5LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFk
anVzdFN0eWxlKENTU1N0eWxlU2UKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAg
ICAgICAgICByZXR1cm4gYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUp
OwogI2VuZGlmCisjaWYgRU5BQkxFKE1ldGVyX1RBRykKKyAgICAgICAgY2FzZSBNZXRlclBhcnQ6
CisgICAgICAgICAgICByZXR1cm4gYWRqdXN0TWV0ZXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUp
OworI2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICB9CkBA
IC0yNzIsNiArMjgxLDEwIEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KFJlbmRlck9iamVjdCog
bywKICNlbmRpZgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKICAgICAgICAgICAgIHJldHVy
biBwYWludE1lbnVMaXN0KG8sIHBhaW50SW5mbywgcik7CisjaWYgRU5BQkxFKE1FVEVSX1RBRykK
KyAgICAgICAgY2FzZSBNZXRlclBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRNZXRlcihv
LCBwYWludEluZm8sIHIpOworI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAg
ICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRQcm9ncmVz
c0JhcihvLCBwYWludEluZm8sIHIpOwpAQCAtMzY2LDYgKzM3OSw5IEBAIGJvb2wgUmVuZGVyVGhl
bWU6OnBhaW50Qm9yZGVyT25seShSZW5kZXIKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFy
dDoKICAgICAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoK
KyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyNlbmRpZgog
I2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0Ogog
I2VuZGlmCkBAIC00MDQsNiArNDIwLDkgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0
aW9ucyhSZW5kZQogICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICBjYXNl
IEJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorI2lmIEVOQUJMRShNRVRF
Ul9UQUcpCisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dS
RVNTX1RBRykKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAjZW5kaWYKQEAgLTg2Nyw2
ICs4ODYsNjcgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0TWVudUxpc3RTdHlsZShDUwogewog
fQogCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdE1ldGVy
U3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNv
bnN0Cit7CisgICAgc3R5bGUtPnNldEJveFNoYWRvdygwKTsKK30KKworYm9vbCBSZW5kZXJUaGVt
ZTo6cGFpbnRNZXRlcihSZW5kZXJPYmplY3QqIHJlbmRlck9iamVjdCwgY29uc3QgUmVuZGVyT2Jq
ZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICBS
ZW5kZXJNZXRlciogcmVuZGVyTWV0ZXIgPSB0b1JlbmRlck1ldGVyKHJlbmRlck9iamVjdCk7Cisg
ICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gcmVuZGVyT2JqZWN0LT5zdHlsZSgpOworICAgIGludCBs
ZWZ0ID0gc3R5bGUtPmJvcmRlckxlZnQoKS53aWR0aCgpICsgc3R5bGUtPnBhZGRpbmdMZWZ0KCku
dmFsdWUoKTsKKyAgICBpbnQgdG9wID0gc3R5bGUtPmJvcmRlclRvcCgpLndpZHRoKCkgKyBzdHls
ZS0+cGFkZGluZ1RvcCgpLnZhbHVlKCk7CisgICAgaW50IHJpZ2h0ID0gc3R5bGUtPmJvcmRlclJp
Z2h0KCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nUmlnaHQoKS52YWx1ZSgpOworICAgIGludCBi
b3R0b20gPSBzdHlsZS0+Ym9yZGVyQm90dG9tKCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nQm90
dG9tKCkudmFsdWUoKTsKKyAgICBGbG9hdFJlY3QgaW5uZXJSZWN0KHJlY3QueCgpICsgbGVmdCwg
cmVjdC55KCkgKyB0b3AsIHJlY3Qud2lkdGgoKSAtIGxlZnQgLSByaWdodCwgcmVjdC5oZWlnaHQo
KSAtIHRvcCAtIGJvdHRvbSk7CisKKyAgICBIVE1MTWV0ZXJFbGVtZW50KiBlbGVtZW50ID0gc3Rh
dGljX2Nhc3Q8SFRNTE1ldGVyRWxlbWVudCo+KHJlbmRlck1ldGVyLT5ub2RlKCkpOworICAgIGRv
dWJsZSBtaW4gPSBlbGVtZW50LT5taW4oKTsKKyAgICBkb3VibGUgbWF4ID0gZWxlbWVudC0+bWF4
KCk7CisgICAgZG91YmxlIHZhbHVlID0gZWxlbWVudC0+dmFsdWUoKTsKKworICAgIC8vIFNvbWUg
cGxhdGZvcm1zIGRvIG5vdCBoYXZlIGEgbmF0aXZlIGdhdWdlIHdpZGdldCwgc28gd2UgZHJhdyBo
ZXJlIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KKyAgICBGbG9hdFJlY3QgdmFsdWVSZWN0Owor
ICAgIEZsb2F0UmVjdCBiYWNrZ3JvdW5kUmVjdDsKKyAgICBpZiAobWluID49IG1heCkgeworICAg
ICAgICBwYWludEluZm8uY29udGV4dC0+ZmlsbFJlY3QoaW5uZXJSZWN0LCBDb2xvcjo6YmxhY2ss
IERldmljZUNvbG9yU3BhY2UpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAg
aWYgKHJlY3Qud2lkdGgoKSA8IHJlY3QuaGVpZ2h0KCkpIHsKKyAgICAgICAgLy8gVmVydGljYWwg
Z2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxlID0gaW5uZXJSZWN0LmhlaWdodCgpIC8gKG1heCAt
IG1pbik7CisgICAgICAgIHZhbHVlUmVjdC5zZXRMb2NhdGlvbihGbG9hdFBvaW50KGlubmVyUmVj
dC54KCksIGlubmVyUmVjdC55KCkgKyAobWF4IC0gdmFsdWUpICogc2NhbGUpKTsKKyAgICAgICAg
dmFsdWVSZWN0LnNldFNpemUoRmxvYXRTaXplKGlubmVyUmVjdC53aWR0aCgpLCAodmFsdWUgLSBt
aW4pICogc2NhbGUpKTsKKyAgICAgICAgYmFja2dyb3VuZFJlY3Quc2V0TG9jYXRpb24oaW5uZXJS
ZWN0LmxvY2F0aW9uKCkpOworICAgICAgICBiYWNrZ3JvdW5kUmVjdC5zZXRTaXplKEZsb2F0U2l6
ZShpbm5lclJlY3Qud2lkdGgoKSwgKG1heCAtIHZhbHVlKSAqIHNjYWxlKSk7CisgICAgfSBlbHNl
IGlmIChyZW5kZXJNZXRlci0+c3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gUlRMKSB7CisgICAgICAg
IC8vIHJpZ2h0IHRvIGxlZnQgaG9yaXpvbnRhbCBnYXVnZQorICAgICAgICBkb3VibGUgc2NhbGUg
PSBpbm5lclJlY3Qud2lkdGgoKSAvIChtYXggLSBtaW4pOworICAgICAgICB2YWx1ZVJlY3Quc2V0
TG9jYXRpb24oRmxvYXRQb2ludChpbm5lclJlY3QueCgpICsgKG1heCAtIHZhbHVlKSAqIHNjYWxl
LCBpbm5lclJlY3QueSgpKSk7CisgICAgICAgIHZhbHVlUmVjdC5zZXRTaXplKEZsb2F0U2l6ZSgo
dmFsdWUgLSBtaW4pICogc2NhbGUsIGlubmVyUmVjdC5oZWlnaHQoKSkpOworICAgICAgICBiYWNr
Z3JvdW5kUmVjdC5zZXRMb2NhdGlvbihpbm5lclJlY3QubG9jYXRpb24oKSk7CisgICAgICAgIGJh
Y2tncm91bmRSZWN0LnNldFNpemUoRmxvYXRTaXplKChtYXggLSB2YWx1ZSkgKiBzY2FsZSwgaW5u
ZXJSZWN0LmhlaWdodCgpKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gbGVmdCB0byByaWdo
dCBob3Jpem9udGFsIGdhdWdlCisgICAgICAgIGRvdWJsZSBzY2FsZSA9IGlubmVyUmVjdC53aWR0
aCgpIC8gKG1heCAtIG1pbik7CisgICAgICAgIHZhbHVlUmVjdC5zZXRMb2NhdGlvbihpbm5lclJl
Y3QubG9jYXRpb24oKSk7CisgICAgICAgIHZhbHVlUmVjdC5zZXRTaXplKEZsb2F0U2l6ZSgodmFs
dWUgLSBtaW4pICogc2NhbGUsIGlubmVyUmVjdC5oZWlnaHQoKSkpOworICAgICAgICBiYWNrZ3Jv
dW5kUmVjdC5zZXRMb2NhdGlvbihGbG9hdFBvaW50KGlubmVyUmVjdC54KCkgKyB2YWx1ZVJlY3Qu
d2lkdGgoKSwgaW5uZXJSZWN0LnkoKSkpOworICAgICAgICBiYWNrZ3JvdW5kUmVjdC5zZXRTaXpl
KEZsb2F0U2l6ZSgobWF4IC0gdmFsdWUpICogc2NhbGUsIGlubmVyUmVjdC5oZWlnaHQoKSkpOwor
ICAgIH0KKyAgICBpZiAoIXZhbHVlUmVjdC5pc0VtcHR5KCkpCisgICAgICAgIHBhaW50SW5mby5j
b250ZXh0LT5maWxsUmVjdCh2YWx1ZVJlY3QsIENvbG9yOjpibGFjaywgRGV2aWNlQ29sb3JTcGFj
ZSk7CisKKyAgICBpZiAoIWJhY2tncm91bmRSZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcGFpbnRJ
bmZvLmNvbnRleHQtPmZpbGxSZWN0KGJhY2tncm91bmRSZWN0LCBDb2xvcjo6bGlnaHRHcmF5LCBE
ZXZpY2VDb2xvclNwYWNlKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCiAjaWYg
RU5BQkxFKFBST0dSRVNTX1RBRykKIGRvdWJsZSBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0
SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyopIGNvbnN0CiB7CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmgJKHJldmlzaW9uIDU4NjUzKQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMjM3LDYgKzIzNywxMSBAQCBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoQ1NTU3R5
bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCBwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVj
dDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KIAorI2lmIEVO
QUJMRShNRVRFUl9UQUcpCisgICAgdmlydHVhbCB2b2lkIGFkanVzdE1ldGVyU3R5bGUoQ1NTU3R5
bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwg
Ym9vbCBwYWludE1ldGVyKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFH
KQogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKENTU1N0eWxlU2VsZWN0
b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRQcm9ncmVzc0JhcihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5m
byYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1
ODY1OCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDI2IEBACisyMDEwLTA1LTAyICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFs
IHN1cHBvcnQgZm9yIEhUTUxNZXRlckVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQwCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0
ZXJFbGVtZW50OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21l
dGVyLWVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9zY3JpcHQtdGVzdHM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1tZXRlci1wcm9wZXJ0aWVzLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1l
dGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAg
ICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4
cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwog
MjAxMC0wNS0wMiAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE5pa29sYXMgWmltbWVybWFubi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1l
bGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzxodG1sPjxib2R5PjxtZXRl
ciBtaW49MTAgdmFsdWU9MzAgbWF4PTEwMD48L21ldGVyPjxtZXRlciBtaW49MCB2YWx1ZT03MCBt
YXg9MTAwIHN0eWxlPSJ3aWR0aDoxMHB4OyBoZWlnaHQ6NjBweDsiPjwvbWV0ZXI+PC9ib2R5Pjwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1l
dGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9z
ZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NjQgQEAKK1Rlc3Qgc2V0dGluZyB2YWxpZCBhbmQgaW52YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxN
ZXRlckVsZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0IHZhbHVl
cyBiZWZvcmUgcHJvcGVydGllcyB3ZXJlIHNldAorUEFTUyBtLm1pbiBpcyAwCitQQVNTIG0udmFs
dWUgaXMgMAorUEFTUyBtLm1heCBpcyAxCitQQVNTIG0ubG93IGlzIDAKK1BBU1MgbS5oaWdoIGlz
IDEKK1BBU1MgbS5vcHRpbXVtIGlzIDAuNQorU2V0IHZhbGlkIHZhbHVlcworUEFTUyBtLm1pbiBp
cyAtMTAKK1BBU1MgbS52YWx1ZSBpcyA3MAorUEFTUyBtLm1heCBpcyAxMDAKK1BBU1MgbS5sb3cg
aXMgMTAuMQorUEFTUyBtLmhpZ2ggaXMgOTkuNQorUEFTUyBtLm9wdGltdW0gaXMgNzAKK1NldCBh
dHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVlcyAtIDEKK1BBU1MgbS5taW4gaXMgLTEwCitQQVNT
IG0udmFsdWUgaXMgMTAwCitQQVNTIG0ubWF4IGlzIDEwMAorUEFTUyBtLmxvdyBpcyAxMDAKK1BB
U1MgbS5oaWdoIGlzIDEwMAorUEFTUyBtLm9wdGltdW0gaXMgMAorU2V0IGF0dHJpYnV0ZXMgdG8g
aW1wcm9wZXIgdmFsdWVzIC0gMgorUEFTUyBtLm1pbiBpcyAyMDAuMAorUEFTUyBtLnZhbHVlIGlz
IDIwMC4wCitQQVNTIG0ubWF4IGlzIDIwMC4wCitQQVNTIG0ubG93IGlzIDIwMC4wCitTZXQgdmFs
dWUgdG8gaW52YWxpZCB2YWx1ZQorTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQor
U2V0IG1pbiB0byBOYU4KK05PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKK1NldCBt
YXggdG8gSW5maW5pdHkKK05PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkKK1NldCBs
b3cgdG8gaW52YWxpZCB2YWx1ZQorTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQor
U2V0IGhpZ2ggdG8gTmFOCitOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5CitTZXQg
b3B0aW11bSB0byBJbmZpbml0eQorTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOQor
U2V0IGF0dHJpYnV0ZXMgdG8gdmFsaWQgbnVtYmVycworUEFTUyBtLnZhbHVlIGlzIDUKK1BBU1Mg
bS5tYXggaXMgMTAKK1BBU1MgcGFyc2VJbnQobS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpIGlzIDUK
K1BBU1MgcGFyc2VJbnQobS5nZXRBdHRyaWJ1dGUoJ21heCcpKSBpcyAxMAorU2V0IGF0dHJpYnV0
ZXMgdG8gaW52YWxpZCB2YWx1ZXMKK1BBU1MgbS52YWx1ZSBpcyAwCitQQVNTIG0ubWF4IGlzIDEK
K1BBU1MgbS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgaXMgJ0FCQycKK1BBU1MgbS5nZXRBdHRyaWJ1
dGUoJ21heCcpIGlzICcjJworU2V0IGF0dHJpYnV0ZXMgdG8gbnVtYmVycyB3aXRoIGxlYWRpbmcg
c3BhY2VzCitQQVNTIG0udmFsdWUgaXMgMAorUEFTUyBtLm1pbiBpcyAwCitQQVNTIG0ubWF4IGlz
IDEKK1BBU1MgbS5sb3cgaXMgMAorUEFTUyBtLmhpZ2ggaXMgMQorUEFTUyBtLm9wdGltdW0gaXMg
MC41CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJv
cGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRl
ckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3Rz
L1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNy
Yz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0
LW1ldGVyLXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LW1ldGVyLXByb3BlcnRpZXMuanMJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3Njcmlw
dC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MjYgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHNldHRpbmcgdmFsaWQgYW5kIGludmFsaWQgcHJvcGVy
dGllcyBvZiBIVE1MTWV0ZXJFbGVtZW50LicpOworCit2YXIgbSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ21ldGVyJyk7CisKK2RlYnVnKCJUZXN0IHZhbHVlcyBiZWZvcmUgcHJvcGVydGllcyB3
ZXJlIHNldCIpOworc2hvdWxkQmUoIm0ubWluIiwgIjAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwg
IjAiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIxIik7CitzaG91bGRCZSgibS5sb3ciLCAiMCIpOwor
c2hvdWxkQmUoIm0uaGlnaCIsICIxIik7CitzaG91bGRCZSgibS5vcHRpbXVtIiwgIjAuNSIpOwor
CitkZWJ1ZygiU2V0IHZhbGlkIHZhbHVlcyIpOworbS5taW4gPSAiLTEwIjsKK20udmFsdWUgPSA3
ZTE7CittLm1heCA9ICIxZTIiOworbS5sb3cgPSAiMTAuMSI7CittLmhpZ2ggPSAiOTkuNSI7Citt
Lm9wdGltdW0gPSAiNzAiOworc2hvdWxkQmUoIm0ubWluIiwgIi0xMCIpOworc2hvdWxkQmUoIm0u
dmFsdWUiLCAiNzAiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIxMDAiKTsKK3Nob3VsZEJlKCJtLmxv
dyIsICIxMC4xIik7CitzaG91bGRCZSgibS5oaWdoIiwgIjk5LjUiKTsKK3Nob3VsZEJlKCJtLm9w
dGltdW0iLCAiNzAiKTsKKworZGVidWcoIlNldCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVl
cyAtIDEiKTsKK20ubWluID0gLTEwOworbS52YWx1ZSA9IDIwMDsKK20ubWF4ID0gMTAwLjA7Citt
LmxvdyA9IDIwMDsKK20uaGlnaCA9IC01MDsKK20ub3B0aW11bSA9IG51bGw7CitzaG91bGRCZSgi
bS5taW4iLCAiLTEwIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIxMDAiKTsKK3Nob3VsZEJlKCJt
Lm1heCIsICIxMDAiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIxMDAiKTsKK3Nob3VsZEJlKCJtLmhp
Z2giLCAiMTAwIik7CitzaG91bGRCZSgibS5vcHRpbXVtIiwgIjAiKTsKKworZGVidWcoIlNldCBh
dHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVlcyAtIDIiKTsKK20ubWluID0gMjAwLjA7CittLnZh
bHVlID0gLTIwMC4wOworbS5tYXggPSAwOworbS5sb3cgPSBudWxsOworc2hvdWxkQmUoIm0ubWlu
IiwgIjIwMC4wIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIyMDAuMCIpOworc2hvdWxkQmUoIm0u
bWF4IiwgIjIwMC4wIik7CitzaG91bGRCZSgibS5sb3ciLCAiMjAwLjAiKTsKKworZGVidWcoIlNl
dCB2YWx1ZSB0byBpbnZhbGlkIHZhbHVlIik7Cit0cnkgeworbS52YWx1ZSA9ICJ2YWx1ZSI7Cit9
IGNhdGNoIChlKSB7CitkZWJ1ZyhlLm1lc3NhZ2UpOworfQorCitkZWJ1ZygiU2V0IG1pbiB0byBO
YU4iKTsKK3RyeSB7CittLm1pbiA9IE5hTjsKK30gY2F0Y2ggKGUpIHsKK2RlYnVnKGUubWVzc2Fn
ZSk7Cit9CisKK2RlYnVnKCJTZXQgbWF4IHRvIEluZmluaXR5Iik7Cit0cnkgeworbS5tYXggPSBJ
bmZpbml0eTsKK30gY2F0Y2ggKGUpIHsKK2RlYnVnKGUubWVzc2FnZSk7Cit9CisKK2RlYnVnKCJT
ZXQgbG93IHRvIGludmFsaWQgdmFsdWUiKTsKK3RyeSB7CittLmxvdyA9ICJsb3ciOworfSBjYXRj
aCAoZSkgeworZGVidWcoZS5tZXNzYWdlKTsKK30KKworZGVidWcoIlNldCBoaWdoIHRvIE5hTiIp
OwordHJ5IHsKK20uaGlnaCA9IE5hTjsKK30gY2F0Y2ggKGUpIHsKK2RlYnVnKGUubWVzc2FnZSk7
Cit9CisKK2RlYnVnKCJTZXQgb3B0aW11bSB0byBJbmZpbml0eSIpOwordHJ5IHsKK20ub3B0aW11
bSA9IEluZmluaXR5OworfSBjYXRjaCAoZSkgeworZGVidWcoZS5tZXNzYWdlKTsKK30KKworZGVi
dWcoIlNldCBhdHRyaWJ1dGVzIHRvIHZhbGlkIG51bWJlcnMiKTsKK20uc2V0QXR0cmlidXRlKCJt
aW4iLCAwKTsKK20uc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIDUpOworbS5zZXRBdHRyaWJ1dGUoIm1h
eCIsIDEwKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjUiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIx
MCIpOworc2hvdWxkQmUoInBhcnNlSW50KG0uZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSIsICI1Iik7
CitzaG91bGRCZSgicGFyc2VJbnQobS5nZXRBdHRyaWJ1dGUoJ21heCcpKSIsICIxMCIpOworCitk
ZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gaW52YWxpZCB2YWx1ZXMiKTsKK20uc2V0QXR0cmlidXRl
KCJ2YWx1ZSIsICJBQkMiKTsKK20uc2V0QXR0cmlidXRlKCJtYXgiLCAiIyIpOworc2hvdWxkQmUo
Im0udmFsdWUiLCAiMCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEiKTsKK3Nob3VsZEJlKCJtLmdl
dEF0dHJpYnV0ZSgndmFsdWUnKSIsICInQUJDJyIpOworc2hvdWxkQmUoIm0uZ2V0QXR0cmlidXRl
KCdtYXgnKSIsICInIyciKTsKKworZGVidWcoIlNldCBhdHRyaWJ1dGVzIHRvIG51bWJlcnMgd2l0
aCBsZWFkaW5nIHNwYWNlcyIpOworbS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIiA1Iik7CittLnNl
dEF0dHJpYnV0ZSgibWluIiwgIiA1Iik7CittLnNldEF0dHJpYnV0ZSgibWF4IiwgIiA1Iik7Citt
LnNldEF0dHJpYnV0ZSgibG93IiwgIiA1Iik7CittLnNldEF0dHJpYnV0ZSgiaGlnaCIsICIgNSIp
OworbS5zZXRBdHRyaWJ1dGUoIm9wdGltdW0iLCAiIDUiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwg
IjAiKTsKK3Nob3VsZEJlKCJtLm1pbiIsICIwIik7CitzaG91bGRCZSgibS5tYXgiLCAiMSIpOwor
c2hvdWxkQmUoIm0ubG93IiwgIjAiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiMSIpOworc2hvdWxk
QmUoIm0ub3B0aW11bSIsICIwLjUiKTsKKworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNTg2NTMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI2Mjcs
NiArMjYyNywxMCBAQCBCVUczODIyNyBERUZFUiA6IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsCiBC
VUczODIyNyBERUZFUiA6IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNz
LXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKIEJVRzM4MjI3IFNLSVAgOiBmYXN0L2RvbS9IVE1MUHJv
Z3Jlc3NFbGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1wc2V1ZG8tZWxlbWVudC5odG1sID0gRkFJ
TAogCisvLyBIVE1MTWV0ZXJFbGVtZW50IHJlbGF0ZWQgdGVzdHMgZGVmZXJyZWQgZHVlIHRvIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA3NC4KK0JVRzM3MDc0IERF
RkVSIDogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwgPSBNSVNT
SU5HCitCVUczNzA3NCBERUZFUiA6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVy
LXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKKwogLy8gV2ViS2l0IHJvbGwgNTYwMDQgLT4gNTYwMjYK
IEJVRzM4Mjc4IDogZmFzdC9ldmVudHMvY29udGludW91cy1wbGF0Zm9ybS13aGVlbGV2ZW50LWlu
LXNjcm9sbGluZy1kaXYuaHRtbCA9IFRJTUVPVVQKIEJVRzM4Mjc4IDogZmFzdC9ldmVudHMvcGxh
dGZvcm0td2hlZWxldmVudC1pbi1zY3JvbGxpbmctZGl2Lmh0bWwgPSBUSU1FT1VUCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24gNTg2NTMpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNTgyNyw2ICs1ODI3LDEwIEBA
IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWwKIGZhc3QvZG9tL0hUTUxQ
cm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbAogZmFzdC9kb20vSFRN
TFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1iYXItdmFsdWUtcHNldWRvLWVsZW1lbnQuaHRtbAog
CisjIG1ldGVyIGVsZW1lbnQgaXMgbm90IHN1cHBvcnRlZAorZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9tZXRlci1lbGVtZW50Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1l
dGVyLXByb3BlcnRpZXMuaHRtbAorCiAjIE5lZWRzIG1vY2sgc3VwcG9ydCwgYW5kIGJ1aWxkIHNs
YXZlIEdlb2xvY2F0aW9uIHNlcnZpY2UKICMgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNjA1MwogZmFzdC9kb20vR2VvbG9jYXRpb24vbWF4aW11bS1hZ2UuaHRt
bApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDU4NjUzKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTEzOCw2ICsx
MzgsMTAgQEAgZmFzdC9mb3Jtcy9tdWx0aXBsZS1mb3JtLXN1Ym1pc3Npb24tcHJvdAogIyBUaGUg
YW5pbWF0aW9uIGNhdXNlcyB0aGUgcmVzdWx0IG9mIHRoaXMgdGVzdCB0byBkZXBlbmQgb24gdGhl
IHNwZWVkIG9mIGV4ZWN1dGluZyBpdCwgYW5kIHRoYXQgd2lsbCBjYXVzZSBpdCB0byBiZSBmbGFr
eQogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50Lmh0bWwKIAor
IyBtZXRlciBlbGVtZW50IGlzIG5vdCBzdXBwb3J0ZWQKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1l
bnQvbWV0ZXItZWxlbWVudC5odG1sCitmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRl
ci1wcm9wZXJ0aWVzLmh0bWwKKwogIyBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dC91
cmktbGlzdCcpIG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50ZWQgb24gTWFjCiBlZGl0aW5nL3Bhc3Rl
Ym9hcmQvZGF0YVRyYW5zZmVyLXNldERhdGEtZ2V0RGF0YS5odG1sCiAKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1l
eHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW0J
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0
ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEgQEAKKzlkYTk3YWQ1ZTM1NzU0OTc2NWE1MDg4YzdlZGMwZGM3ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20v
SFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVy
LWVsZW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJN
ZXRlciB7TUVURVJ9IGF0ICgwLDQ0KSBzaXplIDgweDE2CisgICAgICBSZW5kZXJNZXRlciB7TUVU
RVJ9IGF0ICg4MCwwKSBzaXplIDEweDYwCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA1ODY1
MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBA
IC04MzIsNiArODMyLDEwIEBAIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3Mt
ZWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMu
aHRtbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1iYXItdmFsdWUtcHNl
dWRvLWVsZW1lbnQuaHRtbAogCisjIG1ldGVyIGVsZW1lbnQgaXMgbm90IHN1cHBvcnRlZAorZmFz
dC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwKK2Zhc3QvZG9tL0hUTUxN
ZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAorCiAjIE5vIFdpZGdldHMgMS4w
IHN1cHBvcnQKIGZhc3QvbWVkaWEvbWVkaWEtZmVhdHVyZS13Z3Qtdmlldy1tb2RlLmh0bWwKIApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9t
ZXRlci1lbGVtZW50LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQucG5nCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0K
CgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUFDWEJJV1hN
QUFBN0VBQUFPeEFHVkt3NGJBQUFNCnhFbEVRVlI0bk8zZHNhbkRNQlJBMFNoa0JjL2pEYktvdTJ5
UXlmUnJseUZ3bFkvUDZRVEdmcmk3a3NGanpqbHZBQUFBZ2Z2cUFRQUEKZ09zUUlBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFPYXhlb0Fy
ZWIvZgpwL1crNzRzbUFRQ0FOWnlBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFaYzg2NWVvaXJlRDZmcC9YcjlWbzBDUUFBckNGQVFtT00KMDlxckJ3RGdhbnlD
QlFBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JB
Z0FBWkFRSQpBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JB
Z0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCCkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JB
Z0FBWkFRSUFBQ1FlWHh5OFJqanE0Y2R4M0hidHUycmUvd0grNzZ2SGdFQUFINlMKRXhBQUFDQWpR
QUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElmUFFqUXI1enYr
czlBQUN1YmN3NQo1K29oQUFDQWE3QWxEd0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpB
UUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJCkFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpB
UUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0IKQWdBQVpB
UUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFR
SUFBQ1FFU0FBQUVCRwpnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFR
SUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRCkVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFR
SUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUEKWkFR
SUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJ
QUFDUUVTQUFBRUJHZ0FBQQpBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJ
QUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBCkFFQkdnQUFBQUJrQkFnQUFaQVFJ
QUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUkK
QUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlB
QUNRRVNBQUFFQkdnQUFBQUJrQgpBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlB
QUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHCmdBQUFBQmtCQWdBQVpBUUlB
QUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFB
Q1EKRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFB
Q1FFU0FBQUVCR2dBQUFBQmtCQWdBQQpaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFB
Q1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBCkFCa0JBZ0FBWkFRSUFB
Q1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFD
UUVTQUEKQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFD
UUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSQpBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFD
UUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCCkFnQUFaQVFJQUFD
UUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNR
RVNBQUFFQkcKZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNR
RVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUQpFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNR
RVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBClpBUUlBQUNR
RVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FF
U0FBQUVCR2dBQUEKQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FF
U0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQQpBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FF
U0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJCkFBQ1FF
U0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVT
QUFBRUJHZ0FBQUFCa0IKQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVT
QUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCRwpnQUFBQUJrQkFnQUFaQVFJQUFDUUVT
QUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRCkVT
QUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNB
QUFFQkdnQUFBQUJrQkFnQUEKWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNB
QUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQQpBQmtCQWdBQVpBUUlBQUNRRVNB
QUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FB
CkFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FB
QUVCR2dBQUFBQmtCQWdBQVpBUUkKQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FB
QUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQgpBZ0FBWkFRSUFBQ1FFU0FB
QUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFB
RUJHCmdBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFB
RUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1EKRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFB
RUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQQpaQVFJQUFDUUVTQUFB
RUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBCkFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUEKQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSQpBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCCkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkcKZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUQpFU0FBQUVC
R2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJH
Z0FBQUFCa0JBZ0FBClpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJH
Z0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUEKQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJH
Z0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQQpBRUJH
Z0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdn
QUFBQUJrQkFnQUFaQVFJCkFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdn
QUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0IKQWdBQVpBUUlBQUNRRVNBQUFFQkdn
QUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCRwpn
QUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dB
QUFBQmtCQWdBQVpBUUlBQUNRCkVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dB
QUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUEKWkFRSUFBQ1FFU0FBQUVCR2dB
QUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FB
QQpBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FB
QUFCa0JBZ0FBWkFRSUFBQ1FFU0FBCkFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUStRTyswQ0Nwek8r
TzFnQUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>
<flag name="review"
          id="38998"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55016</attachid>
            <date>2010-05-04 07:04:11 -0700</date>
            <delta_ts>2010-05-12 18:29:41 -0700</delta_ts>
            <desc>Patch addressing comment #19</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>61376</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODc1MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzcgQEAKKzIwMTAtMDUtMDQgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudCwgaW5jbHVkaW5nIGRlZmF1bHQgcmVu
ZGVyaW5nCisgICAgICAgIG9mIHRoZSBtZXRlciBlbGVtZW50LiBUaGF0IGlzIGJlY2F1c2Ugc29t
ZSBwbGF0Zm9ybXMgZG8gbm90IGhhdmUgYSBuYXRpdmUgZ2F1Z2UuCisgICAgICAgIFRoZSBmZWF0
dXJlIGlzIHR1cm5lZCBvbiBvbmx5IGZvciB0aGUgUXQgcGxhdGZvcm0uCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvaHRtbC5jc3M6CisgICAgICAgIChtZXRlcik6CisgICAgICAg
IChtZXRlcjo6LXdlYmtpdC1tZXRlcik6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjppbmxpbmVUYWdMaXN0KToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNw
cDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZXRlckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZXRlckVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0
ZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0ZXJFbGVtZW50OjptaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
c2V0TWluKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om1heCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpzZXRNYXgpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1ldGVyRWxlbWVudDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
bG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldExvdyk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpoaWdoKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZXRlckVsZW1lbnQ6OnNldEhpZ2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6b3B0aW11bSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpz
ZXRPcHRpbXVtKToKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojppc09wdGlvbmFsRm9ybUNvbnRyb2wp
OgorICAgICAgICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAq
IGh0bWwvSFRNTFRhZ05hbWVzLmluOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck1ldGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6UmVuZGVy
TWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OmxheW91dCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNZXRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1l
dGVyOjpyZW5kZXJOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1ldGVyOjppc01ldGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OnRvUmVuZGVyTWV0ZXIpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aXNNZXRl
cik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lOjphZGp1c3RTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZTo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVy
T25seSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0TWV0ZXJTdHlsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRNZXRlcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmg6CisKIDIwMTAtMDUtMDQgIExhc3psbyBHb21ib3MgIDxsYXN6bG8u
MS5nb21ib3NAbm9raWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxkIGZpeCBmb3Ig
U3ltYmlhbi4KSW5kZXg6IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCShyZXZpc2lvbiA1ODc1MSkKKysrIFdlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDcgQEAKICNp
bmNsdWRlICJKU0hUTUxNZWRpYUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE1lbnVFbGVt
ZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxNZXRhRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiSlNI
VE1MTWV0ZXJFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxNb2RFbGVtZW50LmNwcCIKICNp
bmNsdWRlICJKU0hUTUxPYmplY3RFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU0hUTUxPTGlzdEVs
ZW1lbnQuY3BwIgpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gNTg3NTEpCisrKyBXZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTE3OSw2ICsxNzksNyBA
QCBET01fQ0xBU1NFUyA9IFwKICAgICBIVE1MTWVkaWFFbGVtZW50IFwKICAgICBIVE1MTWVudUVs
ZW1lbnQgXAogICAgIEhUTUxNZXRhRWxlbWVudCBcCisgICAgSFRNTE1ldGVyRWxlbWVudCBcCiAg
ICAgSFRNTE1vZEVsZW1lbnQgXAogICAgIEhUTUxPTGlzdEVsZW1lbnQgXAogICAgIEhUTUxPYmpl
Y3RFbGVtZW50IFwKQEAgLTYyOSw2ICs2MzAsMTAgQEAgaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJM
RV9EQVRBTElTVCwkKEZFQQogICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVf
REFUQUxJU1Q9MQogZW5kaWYKIAoraWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NRVRFUl9UQUcs
JChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX01FVEVSX1RBRykKKyAgICBIVE1MX0ZMQUdTIDo9
ICQoSFRNTF9GTEFHUykgRU5BQkxFX01FVEVSX1RBRz0xCitlbmRpZgorCiBpZmVxICgkKGZpbmRz
dHJpbmcgRU5BQkxFX1BST0dSRVNTX1RBRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfUFJP
R1JFU1NfVEFHKQogICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfUFJPR1JF
U1NfVEFHPTEKIGVuZGlmCkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDU4NzUxKQorKysgV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMjQzLDYgKzI0Myw3IEBAIElETF9CSU5E
SU5HUyArPSBcCiAJV2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsIFwKIAlXZWJDb3JlL2h0bWwv
SFRNTE1lbnVFbGVtZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5pZGwg
XAorCVdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hU
TUxNb2RFbGVtZW50LmlkbCBcCiAJV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsIFwK
IAlXZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsIFwKQEAgLTExNjMsNiArMTE2NCw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9odG1sL0hUTUxNZW51RWxlbWVudC5o
IFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNwcCBcCiAJV2ViQ29yZS9odG1sL0hU
TUxNZXRhRWxlbWVudC5oIFwKKwlXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAgXAor
CVdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MTW9k
RWxlbWVudC5jcHAgXAogCVdlYkNvcmUvaHRtbC9IVE1MTW9kRWxlbWVudC5oIFwKIAlXZWJDb3Jl
L2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcCBcCkBAIC0xODk2LDYgKzE4OTksOCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBcCiAJ
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwIFwKIAlXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5oIFwKKwlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAg
XAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmggXAogCVdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIFwK
IAlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwIFwKQEAgLTIyNDMs
NiArMjI0OCwxNCBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9IFwKIAktREVOQUJMRV9EQVRBR1JJRD0w
CiAKICMgLS0tLQorIyBIVE1MIE1ldGVyIEVsZW1lbnQgLSBkaXNhYmxlIGZvciBub3cuCisjIC0t
LS0KK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfTUVURVJfVEFHPTAKKword2ViY29yZV9jcHBm
bGFncyArPSBcCisgICAgLURFTkFCTEVfTUVURVJfVEFHPTAKKworIyAtLS0tCiAjIEhUTUwgUHJv
Z3Jlc3MgRWxlbWVudCAtIGRpc2FibGUgZm9yIG5vdywgc2luY2UgcGFpbnRpbmcgY29kZSBpcyBt
aXNzaW5nLgogIyAtLS0tCiBGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX1BST0dSRVNTX1RBRz0w
CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNv
cmUuZ3lwaQkocmV2aXNpb24gNTg3NTEpCisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2lu
ZyBjb3B5KQpAQCAtMTU3LDYgKzE1Nyw3IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTWVudUVsZW1lbnQuaWRsJywKICAg
ICAgICAgICAgICdodG1sL0hUTUxNZXRhRWxlbWVudC5pZGwnLAorICAgICAgICAgICAgJ2h0bWwv
SFRNTE1ldGVyRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1vZEVsZW1lbnQu
aWRsJywKICAgICAgICAgICAgICdodG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsJywKICAgICAgICAg
ICAgICdodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbCcsCkBAIC0xNTU3LDYgKzE1NTgsOCBAQAog
ICAgICAgICAgICAgJ2h0bWwvSFRNTE1lbnVFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwv
SFRNTE1ldGFFbGVtZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTWV0YUVsZW1lbnQu
aCcsCisgICAgICAgICAgICAnaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCcsCisgICAgICAgICAg
ICAnaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1vZEVs
ZW1lbnQuY3BwJywKICAgICAgICAgICAgICdodG1sL0hUTUxNb2RFbGVtZW50LmgnLAogICAgICAg
ICAgICAgJ2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcCcsCkBAIC0zMTMzLDYgKzMxMzYsOCBA
QAogICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJNZWRpYUNvbnRyb2xzQ2hyb21pdW0uaCcs
CiAgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCcsCiAgICAgICAgICAg
ICAncmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9S
ZW5kZXJNZXRlci5jcHAnLAorICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJNZXRlci5oJywK
ICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCcsCiAgICAgICAgICAgICAn
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Q2hpbGRMaXN0LmNwcCcsCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcmkJKHJldmlzaW9uIDU4NzUxKQorKysgV2ViQ29yZS9X
ZWJDb3JlLnByaQkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfU0lOR0xFX1RIUkVBREVECiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ZJ
REVPPS4pOiBERUZJTkVTICs9IEVOQUJMRV9WSURFTz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5B
QkxFX1JVQlk9Lik6IERFRklORVMgKz0gRU5BQkxFX1JVQlk9MQogIWNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9TQU5EQk9YPS4pOiBERUZJTkVTICs9IEVOQUJMRV9TQU5EQk9YPTEKKyFjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfTUVURVJfVEFHPS4pOiBERUZJTkVTICs9IEVOQUJMRV9NRVRFUl9U
QUc9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9QUk9HUkVTU19UQUc9Lik6IERFRklORVMg
Kz0gRU5BQkxFX1BST0dSRVNTX1RBRz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0JMT0Jf
U0xJQ0U9Lik6IERFRklORVMgKz0gRU5BQkxFX0JMT0JfU0xJQ0U9MAogIWNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9OT1RJRklDQVRJT05TPS4pOiBERUZJTkVTICs9IEVOQUJMRV9OT1RJRklDQVRJ
T05TPTEKQEAgLTE2Myw2ICsxNjQsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfV0VCX1NP
Q0tFVFM9MSk6CiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEpOiBGRUFU
VVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEKIGNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9USUxFRF9CQUNLSU5HX1NUT1JFPTEpOiBGRUFUVVJFX0RFRklORVNf
SkFWQVNDUklQVCArPSBFTkFCTEVfVElMRURfQkFDS0lOR19TVE9SRT0xCiBjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfTk9USUZJQ0FUSU9OUz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQg
Kz0gRU5BQkxFX05PVElGSUNBVElPTlM9MQorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FVEVS
X1RBRz0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX01FVEVSX1RBRz0x
CiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfUFJPR1JFU1NfVEFHPTEpOiBGRUFUVVJFX0RFRklO
RVNfSkFWQVNDUklQVCArPSBFTkFCTEVfUFJPR1JFU1NfVEFHPTEKIAogCkBAIC0zNzYsNiArMzc4
LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIFwK
ICAgICBodG1sL0hUTUxNZW51RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE1ldGFFbGVtZW50
LmlkbCBcCisgICAgaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MTW9k
RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsIFwKICAgICBodG1s
L0hUTUxPTGlzdEVsZW1lbnQuaWRsIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNTg3NTEpCisrKyBXZWJDb3Jl
L1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC02NTQsNiArNjU0LDcgQEAgU09VUkNFUyAr
PSBcCiAgICAgaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxNZW51
RWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTE1ldGFFbGVtZW50LmNwcCBcCisgICAgaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAgXAogICAg
IGh0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcCBcCiAgICAgaHRtbC9IVE1MT2JqZWN0RWxlbWVu
dC5jcHAgXApAQCAtOTM1LDYgKzkzNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJlbmRlcmluZy9S
ZW5kZXJMaXN0TWFya2VyLmNwcCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwIFwK
ICAgICByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwIFwKKyAgICByZW5kZXJpbmcvUmVuZGVy
TWV0ZXIuY3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBcCiAgICAgcmVuZGVy
aW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJQYXJ0
LmNwcCBcCkBAIC0xMzc5LDYgKzEzODEsNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaCBcCiAgICAgaHRtbC9IVE1MTWVudUVsZW1lbnQuaCBcCiAgICAgaHRtbC9I
VE1MTWV0YUVsZW1lbnQuaCBcCisgICAgaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmggXAogICAgIGh0
bWwvSFRNTE1vZEVsZW1lbnQuaCBcCiAgICAgaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uaCBcCiAg
ICAgaHRtbC9IVE1MTm9TY3JpcHRFbGVtZW50LmggXApAQCAtMTcxOCw2ICsxNzIxLDcgQEAgSEVB
REVSUyArPSBcCiAgICAgcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBcCiAgICAgcmVuZGVyaW5n
L1JlbmRlck1lZGlhLmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oIFwKKyAgICBy
ZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxk
TGlzdC5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggXAogICAgIHJlbmRlcmluZy9S
ZW5kZXJQYXJ0LmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShy
ZXZpc2lvbiA1ODc1MSkKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTY1MDEsNiArNjUwMSw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+
DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSFRNTE1ldGVyRWxlbWVudC5jcHAiDQorCQkJ
CT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0lu
dGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTWV0ZXJFbGVtZW50LmgiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSFRNTE1vZEVs
ZW1lbnQuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTI3NzM1LDYg
KzI3NzkxLDE0IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJNZXRlci5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcUmVuZGVyTWV0ZXIu
aCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHJlbmRlcmluZ1xSZW5kZXJPYmplY3QuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTMz
MDU2LDYgKzMzMTIwLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSFRNTE1ldGVyRWxlbWVudC5jcHAiDQorCQkJCT4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
Pg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdp
bjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9v
bA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVn
X0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIN
CisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSFRNTE1ldGVyRWxlbWVudC5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRt
bFxIVE1MTW9kRWxlbWVudC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpJ
bmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDU4NzUzKQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTI1NTgsNiArMjU1OCwxMCBAQAogCQlBNDNCRjU5OTExNDkyOTBBMDBD
NjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTQzQkY1OTcxMTQ5MjkwQTAwQzY0M0NBIC8qIEhUTUxQcm9n
cmVzc0VsZW1lbnQuaCAqLzsgfTsKIAkJQTQzQkY1OUMxMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRl
clByb2dyZXNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE0M0JGNTlBMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgKi87IH07
CiAJCUE0M0JGNTlEMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQzQkY1OUIxMTQ5MjkyODAw
QzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmggKi87IH07CisJCUE0OTM4QUYwMTE5MDUzMkIwMDVC
MjA2NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE0OTM4QUVFMTE5MDUzMkIwMDVCMjA2NyAvKiBIVE1MTWV0ZXJF
bGVtZW50LmNwcCAqLzsgfTsKKwkJQTQ5MzhBRjExMTkwNTMyQjAwNUIyMDY3IC8qIEhUTUxNZXRl
ckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE0OTM4QUVGMTE5MDUzMkIwMDVCMjA2NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi87IH07CisJ
CUE0OTM4QUY0MTE5MDUzNTUwMDVCMjA2NyAvKiBSZW5kZXJNZXRlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDkzOEFGMjExOTA1MzU1MDA1QjIw
NjcgLyogUmVuZGVyTWV0ZXIuY3BwICovOyB9OworCQlBNDkzOEFGNTExOTA1MzU1MDA1QjIwNjcg
LyogUmVuZGVyTWV0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE0OTM4QUYzMTE5MDUzNTUwMDVCMjA2NyAvKiBSZW5kZXJNZXRlci5oICovOyB9Owog
CQlBNTEzQjNENzExNEIxNjY2MDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDOTc0Q0YxMTQ4NUZGMTAwNjZG
MkFCIC8qIEtleUV2ZW50Q29jb2EuaCAqLzsgfTsKIAkJQTUxM0IzRDgxMTRCMTY2QTAwMUM0MjlC
IC8qIEtleUV2ZW50Q29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBNUM5NzREMDExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5tbSAq
LzsgfTsKIAkJQTU5RTNDMUUxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OUUzQzFD
MTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlFdmVudENvZGVzSVBob25lLmggKi87IH07CkBAIC04MDIz
LDYgKzgwMjcsMTAgQEAKIAkJQTQzQkY1OTcxMTQ5MjkwQTAwQzY0M0NBIC8qIEhUTUxQcm9ncmVz
c0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFByb2dyZXNz
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNDNCRjU5QTExNDkyOTI4
MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVuZGVyUHJvZ3Jlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBNDNCRjU5QjExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyUHJvZ3Jlc3MuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTQ5MzhBRUUxMTkwNTMyQjAwNUIyMDY3IC8qIEhUTUxNZXRlckVs
ZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTE1ldGVy
RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE0OTM4QUVGMTE5MDUz
MkIwMDVCMjA2NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEhUTUxNZXRlckVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTQ5MzhBRjIxMTkwNTM1NTAwNUIyMDY3IC8qIFJlbmRlck1ldGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlck1ldGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTQ5MzhBRjMxMTkwNTM1NTAwNUIyMDY3IC8qIFJlbmRlck1ldGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlck1ldGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OUUzQzFDMTE1ODBGNTEwMDcyOTI4RSAvKiBLZXlF
dmVudENvZGVzSVBob25lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEtleUV2
ZW50Q29kZXNJUGhvbmUuaDsgcGF0aCA9IGlwaG9uZS9LZXlFdmVudENvZGVzSVBob25lLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1OUUzQzFEMTE1ODBGNTEwMDcyOTI4RSAvKiBL
ZXlFdmVudElQaG9uZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IEtleUV2ZW50SVBob25lLm1tOyBwYXRoID0gaXBob25lL0tleUV2ZW50SVBob25lLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUFGQjM0RDExNTE1MUE3MDBCMDQ1Q0IgLyogU3Rl
cFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0ZXBSYW5n
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzIyNiw2ICsxMzIzNCw4IEBA
CiAJCQkJQTg3MURDMUIwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxNZXRhRWxlbWVudC5jcHAgKi8s
CiAJCQkJQTg3MURDMTgwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxNZXRhRWxlbWVudC5oICovLAog
CQkJCUE4MEU3OUZDMEExOUMzMDcwMDdGQjhDNSAvKiBIVE1MTWV0YUVsZW1lbnQuaWRsICovLAor
CQkJCUE0OTM4QUVFMTE5MDUzMkIwMDVCMjA2NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCAqLywK
KwkJCQlBNDkzOEFFRjExOTA1MzJCMDA1QjIwNjcgLyogSFRNTE1ldGVyRWxlbWVudC5oICovLAog
CQkJCUE4Q0ZGNzlGMEExNTY5NzgwMDBBNDIzNCAvKiBIVE1MTW9kRWxlbWVudC5jcHAgKi8sCiAJ
CQkJQThDRkY3OUQwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVtZW50LmggKi8sCiAJCQkJ
MUFFMkFCMDcwQTFDRTVDRjAwQjQyQjI1IC8qIEhUTUxNb2RFbGVtZW50LmlkbCAqLywKQEAgLTE1
OTYwLDYgKzE1OTcwLDggQEAKIAkJCQlFNEMyNzk1NzBDRjk3NDE5MDBFOTdCOTggLyogUmVuZGVy
TWVkaWEuaCAqLywKIAkJCQlBQkRERkU3MzBBNUM2RTZGMDBBM0UxMUQgLyogUmVuZGVyTWVudUxp
c3QuY3BwICovLAogCQkJCUFCRERGRTc0MEE1QzZFNzAwMEEzRTExRCAvKiBSZW5kZXJNZW51TGlz
dC5oICovLAorCQkJCUE0OTM4QUYyMTE5MDUzNTUwMDVCMjA2NyAvKiBSZW5kZXJNZXRlci5jcHAg
Ki8sCisJCQkJQTQ5MzhBRjMxMTkwNTM1NTAwNUIyMDY3IC8qIFJlbmRlck1ldGVyLmggKi8sCiAJ
CQkJQkNFQTQ4NDAwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlck9iamVjdC5jcHAgKi8sCiAJCQkJ
QkNFQTQ4NDEwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlck9iamVjdC5oICovLAogCQkJCUJDNjBF
RkI2MEYzM0EwRTcwMDgxMkE5MyAvKiBSZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwICovLApAQCAt
MTg5MzYsNiArMTg5NDgsOCBAQAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xU
VW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3REQ0RDg3MEZERjRENkUwMEVDRjlB
NCAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTE3MkUwMTExMzZFOENFMDA2
MkE1MzMgLyogWm9vbU1vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUE0OTM4QUYxMTE5MDUzMkIw
MDVCMjA2NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBNDkzOEFG
NTExOTA1MzU1MDA1QjIwNjcgLyogUmVuZGVyTWV0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjEx
NzcsNiArMjExOTEsOCBAQAogCQkJCTkzRjE5QjA1MDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJv
Y2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAy
RUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3REQ0RDg2
MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0
OTM4QUYwMTE5MDUzMkIwMDVCMjA2NyAvKiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUE0OTM4QUY0MTE5MDUzNTUwMDVCMjA2NyAvKiBSZW5kZXJNZXRlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3Mu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJ
KHJldmlzaW9uIDU4NzUxKQorKysgV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5n
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzIsNiArMjcyLDkgQEAgdGVtcGxhdGU8PiBpbmxpbmUg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTUwogICAgICAgICBjYXNlIE1lbnVsaXN0VGV4dEZpZWxkUGFy
dDoKICAgICAgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZU1lbnVsaXN0VGV4dGZpZWxk
OwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorICAgICAgICAg
ICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTWV0ZXI7CisgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgY2FzZSBPdXRlclNwaW5CdXR0b25QYXJ0OgogICAgICAgICAgICAgbV92YWx1ZS5pZGVu
dCA9IENTU1ZhbHVlT3V0ZXJTcGluQnV0dG9uOwogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBX
ZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4JKHJldmlzaW9uIDU4NzUxKQorKysgV2ViQ29yZS9jc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNTg5LDYgKzU4OSw3IEBAIG1lbnVs
aXN0CiBtZW51bGlzdC1idXR0b24KIG1lbnVsaXN0LXRleHQKIG1lbnVsaXN0LXRleHRmaWVsZAor
bWV0ZXIKIG91dGVyLXNwaW4tYnV0dG9uCiBwcm9ncmVzcy1iYXIKIHByb2dyZXNzLWJhci12YWx1
ZQpJbmRleDogV2ViQ29yZS9jc3MvaHRtbC5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3Mv
aHRtbC5jc3MJKHJldmlzaW9uIDU4NzUxKQorKysgV2ViQ29yZS9jc3MvaHRtbC5jc3MJKHdvcmtp
bmcgY29weSkKQEAgLTUxNyw2ICs1MTcsMjAgQEAgb3B0aW9uIHsKICAgICBmb250LXdlaWdodDog
bm9ybWFsOwogfQogCisvKiBtZXRlciAqLworCittZXRlciB7CisgICAgLXdlYmtpdC1hcHBlYXJh
bmNlOiBtZXRlcjsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgaGVpZ2h0OiAxZW07
CisgICAgd2lkdGg6IDVlbTsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMmVtOworfQorCittZXRl
cjo6LXdlYmtpdC1tZXRlciB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZXRlcjsKK30KKwog
LyogcHJvZ3Jlc3MgKi8KIAogcHJvZ3Jlc3MgewpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxBdHRy
aWJ1dGVOYW1lcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5h
bWVzLmluCShyZXZpc2lvbiA1ODc1MSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTk4LDYgKzk4LDcgQEAgZnJhbWVib3JkZXIKIGhlYWRl
cnMKIGhlaWdodAogaGlkZGVuCitoaWdoCiBocmVmCiBocmVmbGFuZwogaHNwYWNlCkBAIC0xMTUs
NiArMTE2LDcgQEAgbGluawogbGlzdAogbG9uZ2Rlc2MKIGxvb3AKK2xvdwogcGxheWNvdW50CiBs
b29wZW5kCiBsb29wc3RhcnQKQEAgLTIxOSw2ICsyMjEsNyBAQCBvbndlYmtpdGFuaW1hdGlvbmVu
ZAogb253ZWJraXRiZWdpbmZ1bGxzY3JlZW4KIG9ud2Via2l0ZW5kZnVsbHNjcmVlbgogb253ZWJr
aXR0cmFuc2l0aW9uZW5kCitvcHRpbXVtCiBwYXR0ZXJuCiBwbGFjZWhvbGRlcgogcGx1Z2ludXJs
CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDU4NzUxKQorKysgV2ViQ29yZS9odG1s
L0hUTUxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYxLDYgKzg2MSw5IEBAIHN0YXRp
YyBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiogaW5saW4KICNpZiBFTkFCTEUoUFJPR1JFU1Nf
VEFHKQogICAgICAgICB0YWdMaXN0LmFkZChwcm9ncmVzc1RhZy5sb2NhbE5hbWUoKS5pbXBsKCkp
OwogI2VuZGlmCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAgICAgICAgdGFnTGlzdC5hZGQobWV0
ZXJUYWcubG9jYWxOYW1lKCkuaW1wbCgpKTsKKyNlbmRpZgogICAgIH0KICAgICByZXR1cm4gJnRh
Z0xpc3Q7CiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHAJKHJldmlz
aW9uIDU4NzUxKQorKysgV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIkhUTUxNZW51RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE1ldGFF
bGVtZW50LmNwcCIKKyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmNwcCIKICNpbmNsdWRlICJI
VE1MTW9kRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE9MaXN0RWxlbWVudC5jcHAiCiAjaW5j
bHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuY3BwIgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRl
ckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50
LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAiSFRNTE1ldGVy
RWxlbWVudC5oIgorCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkZvcm1EYXRh
TGlzdC5oIgorI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXIuaCIKKyNpbmNsdWRlICJNYXBwZWRBdHRyaWJ1dGUu
aCIKKyNpbmNsdWRlICJSZW5kZXJNZXRlci5oIgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwor
CitIVE1MTWV0ZXJFbGVtZW50OjpIVE1MTWV0ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1l
bnQodGFnTmFtZSwgZG9jdW1lbnQsIDAsIENyZWF0ZUVsZW1lbnQpCit7CisgICAgQVNTRVJUKGhh
c1RhZ05hbWUobWV0ZXJUYWcpKTsKK30KKworUGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBI
VE1MTWV0ZXJFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqIGRvY3VtZW50KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgSFRNTE1ldGVyRWxl
bWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOworfQorCitSZW5kZXJPYmplY3QqIEhUTUxNZXRlckVs
ZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQor
eworICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJNZXRlcih0aGlzKTsKK30KKworY29uc3Qg
QXRvbWljU3RyaW5nJiBIVE1MTWV0ZXJFbGVtZW50Ojpmb3JtQ29udHJvbFR5cGUoKSBjb25zdAor
eworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBtZXRlciwgKCJt
ZXRlciIpKTsKKyAgICByZXR1cm4gbWV0ZXI7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyaWJ1dGUpCit7CisgICAg
aWYgKGF0dHJpYnV0ZS0+bmFtZSgpID09IHZhbHVlQXR0ciB8fCBhdHRyaWJ1dGUtPm5hbWUoKSA9
PSBtaW5BdHRyIHx8IGF0dHJpYnV0ZS0+bmFtZSgpID09IG1heEF0dHIgfHwgYXR0cmlidXRlLT5u
YW1lKCkgPT0gbG93QXR0ciB8fCBhdHRyaWJ1dGUtPm5hbWUoKSA9PSBoaWdoQXR0ciB8fCBhdHRy
aWJ1dGUtPm5hbWUoKSA9PSBvcHRpbXVtQXR0cikgeworICAgICAgICBpZiAocmVuZGVyZXIoKSkK
KyAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgfSBlbHNl
CisgICAgICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0
dHJpYnV0ZSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50OjptaW4oKSBjb25zdAorewor
ICAgIGRvdWJsZSBtaW4gPSAwOworICAgIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGdldEF0
dHJpYnV0ZShtaW5BdHRyKSwgJm1pbik7CisgICAgcmV0dXJuIG1pbjsKK30KKwordm9pZCBIVE1M
TWV0ZXJFbGVtZW50OjpzZXRNaW4oZG91YmxlIG1pbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7Cisg
ICAgaWYgKCFpc2Zpbml0ZShtaW4pKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgc2V0QXR0cmlidXRlKG1pbkF0dHIsIFN0cmlu
Zzo6bnVtYmVyKG1pbikpOworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVudDo6bWF4KCkgY29u
c3QKK3sKKyAgICBkb3VibGUgbWF4ID0gc3RkOjptYXgoMS4wLCBtaW4oKSk7CisgICAgcGFyc2VU
b0RvdWJsZUZvck51bWJlclR5cGUoZ2V0QXR0cmlidXRlKG1heEF0dHIpLCAmbWF4KTsKKyAgICBy
ZXR1cm4gc3RkOjptYXgobWF4LCBtaW4oKSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6
c2V0TWF4KGRvdWJsZSBtYXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghaXNmaW5p
dGUobWF4KSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIHNldEF0dHJpYnV0ZShtYXhBdHRyLCBTdHJpbmc6Om51bWJlcihtYXgp
KTsKK30KKworZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKK3sKKyAgICBk
b3VibGUgdmFsdWUgPSAwOworICAgIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGdldEF0dHJp
YnV0ZSh2YWx1ZUF0dHIpLCAmdmFsdWUpOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heCh2
YWx1ZSwgbWluKCkpLCBtYXgoKSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0VmFs
dWUoZG91YmxlIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWlzZmluaXRl
KHZhbHVlKSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIHNldEF0dHJpYnV0ZSh2YWx1ZUF0dHIsIFN0cmluZzo6bnVtYmVyKHZh
bHVlKSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50Ojpsb3coKSBjb25zdAoreworICAg
IGRvdWJsZSBsb3cgPSBtaW4oKTsKKyAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRB
dHRyaWJ1dGUobG93QXR0ciksICZsb3cpOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heChs
b3csIG1pbigpKSwgbWF4KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldExvdyhk
b3VibGUgbG93LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWlzZmluaXRlKGxvdykp
IHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBzZXRBdHRyaWJ1dGUobG93QXR0ciwgU3RyaW5nOjpudW1iZXIobG93KSk7Cit9CisK
K2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50OjpoaWdoKCkgY29uc3QKK3sKKyAgICBkb3VibGUgaGln
aCA9IG1heCgpOworICAgIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGdldEF0dHJpYnV0ZSho
aWdoQXR0ciksICZoaWdoKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgoaGlnaCwgbG93
KCkpLCBtYXgoKSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0SGlnaChkb3VibGUg
aGlnaCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFpc2Zpbml0ZShoaWdoKSkgewor
ICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIHNldEF0dHJpYnV0ZShoaWdoQXR0ciwgU3RyaW5nOjpudW1iZXIoaGlnaCkpOworfQorCitk
b3VibGUgSFRNTE1ldGVyRWxlbWVudDo6b3B0aW11bSgpIGNvbnN0Cit7CisgICAgZG91YmxlIG9w
dGltdW0gPSAobWF4KCkgKyBtaW4oKSkgLyAyOworICAgIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJU
eXBlKGdldEF0dHJpYnV0ZShvcHRpbXVtQXR0ciksICZvcHRpbXVtKTsKKyAgICByZXR1cm4gc3Rk
OjptaW4oc3RkOjptYXgob3B0aW11bSwgbWluKCkpLCBtYXgoKSk7Cit9CisKK3ZvaWQgSFRNTE1l
dGVyRWxlbWVudDo6c2V0T3B0aW11bShkb3VibGUgb3B0aW11bSwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgaWYgKCFpc2Zpbml0ZShvcHRpbXVtKSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQ
T1JURURfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHNldEF0dHJpYnV0ZShvcHRp
bXVtQXR0ciwgU3RyaW5nOjpudW1iZXIob3B0aW11bSkpOworfQorCit9IC8vIG5hbWVzcGFjZQor
I2VuZGlmCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJD
b3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgSFRNTE1ldGVyRWxlbWVudF9oCisjZGVmaW5l
IEhUTUxNZXRlckVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJI
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
SFRNTE1ldGVyRWxlbWVudCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CisKKyAgICBkb3VibGUgbWluKCkgY29uc3Q7Cisg
ICAgdm9pZCBzZXRNaW4oZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBkb3VibGUgbWF4
KCkgY29uc3Q7CisgICAgdm9pZCBzZXRNYXgoZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAg
ICBkb3VibGUgdmFsdWUoKSBjb25zdDsKKyAgICB2b2lkIHNldFZhbHVlKGRvdWJsZSwgRXhjZXB0
aW9uQ29kZSYpOworCisgICAgZG91YmxlIGxvdygpIGNvbnN0OworICAgIHZvaWQgc2V0TG93KGRv
dWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIGhpZ2goKSBjb25zdDsKKyAgICB2
b2lkIHNldEhpZ2goZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBkb3VibGUgb3B0aW11
bSgpIGNvbnN0OworICAgIHZvaWQgc2V0T3B0aW11bShkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsK
KworcHJpdmF0ZToKKyAgICBIVE1MTWV0ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCopOworCisgICAgdmlydHVhbCBib29sIGlzT3B0aW9uYWxGb3JtQ29udHJvbCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBm
b3JtQ29udHJvbFR5cGUoKSBjb25zdDsKKworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVh
dGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisKKyAgICB2aXJ0dWFsIHZv
aWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7Cit9OworCit9IC8vIG5h
bWVzcGFjZQorCisjZW5kaWYKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRlckVs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50Lmlk
bAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsK
KyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRVRFUl9UQUcKKyAgICBdIEhU
TUxNZXRlckVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBkb3VibGUgdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBtaW4KKyAgICAgICAg
ICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIGRvdWJsZSBtYXgKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBsb3cK
KyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBoaWdoCisgICAgICAgICAgICAgICAgICAgICBz
ZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBk
b3VibGUgb3B0aW11bQorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNl
cHRpb24pOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZvcm07
CisgICAgfTsKK30KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgkocmV2aXNpb24gNTg3NTEpCisrKyBX
ZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3Nyw3
IEBAIG1hcCBjcmVhdGVXaXRoTmV3CiBtYXJxdWVlIGNyZWF0ZVdpdGhOZXcKIG1lbnUgY3JlYXRl
V2l0aE5ldwogbWV0YSBjcmVhdGVXaXRoTmV3CittZXRlciBpbnRlcmZhY2VOYW1lPUhUTUxNZXRl
ckVsZW1lbnQsIGNvbmRpdGlvbmFsPU1FVEVSX1RBRwogbmF2IGludGVyZmFjZU5hbWU9SFRNTEVs
ZW1lbnQKIG5vYnIgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogbm9lbWJlZCBpbnRlcmZhY2VO
YW1lPUhUTUxFbGVtZW50CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gNTg3NTEpCisrKyBX
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDExLDYgKzQxMSw5
IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1hcnF1ZWVFbGVtZW50
Q29uc3RydWN0b3IgSFRNTE1hcnF1ZWVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1l
bnVFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1lbnVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUg
SFRNTE1ldGFFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1ldGFFbGVtZW50OworI2lmIGRlZmluZWQo
RU5BQkxFX01FVEVSX1RBRykgJiYgRU5BQkxFX01FVEVSX1RBRworICAgICAgICBhdHRyaWJ1dGUg
SFRNTE1ldGVyRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZXRlckVsZW1lbnQ7CisjZW5kaWYKICAg
ICAgICAgYXR0cmlidXRlIEhUTUxNb2RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1vZEVsZW1lbnQ7
CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MT0xpc3RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE9MaXN0
RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxPYmplY3RFbGVtZW50Q29uc3RydWN0b3Ig
SFRNTE9iamVjdEVsZW1lbnQ7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAkocmV2aXNpb24gNTg3
NTEpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
NTIsNyArNTIsNyBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBNZWRpYVNlZWtGb3J3YXJkQnV0
dG9uUGFydCwgTWVkaWFSZXdpbmRCdXR0b25QYXJ0LCBNZWRpYVJldHVyblRvUmVhbHRpbWVCdXR0
b25QYXJ0LCBNZWRpYVRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uUGFydCwKICAgICBNZWRpYVNs
aWRlclBhcnQsIE1lZGlhU2xpZGVyVGh1bWJQYXJ0LCBNZWRpYVZvbHVtZVNsaWRlckNvbnRhaW5l
clBhcnQsIE1lZGlhVm9sdW1lU2xpZGVyUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJUaHVtYlBhcnQs
CiAgICAgTWVkaWFDb250cm9sc0JhY2tncm91bmRQYXJ0LCBNZWRpYUN1cnJlbnRUaW1lUGFydCwg
TWVkaWFUaW1lUmVtYWluaW5nUGFydCwKLSAgICBNZW51bGlzdFBhcnQsIE1lbnVsaXN0QnV0dG9u
UGFydCwgTWVudWxpc3RUZXh0UGFydCwgTWVudWxpc3RUZXh0RmllbGRQYXJ0LCBPdXRlclNwaW5C
dXR0b25QYXJ0LCBQcm9ncmVzc0JhclBhcnQsIFByb2dyZXNzQmFyVmFsdWVQYXJ0LAorICAgIE1l
bnVsaXN0UGFydCwgTWVudWxpc3RCdXR0b25QYXJ0LCBNZW51bGlzdFRleHRQYXJ0LCBNZW51bGlz
dFRleHRGaWVsZFBhcnQsIE1ldGVyUGFydCwgT3V0ZXJTcGluQnV0dG9uUGFydCwgUHJvZ3Jlc3NC
YXJQYXJ0LCBQcm9ncmVzc0JhclZhbHVlUGFydCwKICAgICBTbGlkZXJIb3Jpem9udGFsUGFydCwg
U2xpZGVyVmVydGljYWxQYXJ0LCBTbGlkZXJUaHVtYkhvcml6b250YWxQYXJ0LAogICAgIFNsaWRl
clRodW1iVmVydGljYWxQYXJ0LCBDYXJldFBhcnQsIFNlYXJjaEZpZWxkUGFydCwgU2VhcmNoRmll
bGREZWNvcmF0aW9uUGFydCwKICAgICBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydCwg
U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydCwKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1ldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRl
ci5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisKKyNpbmNsdWRlICJSZW5kZXJN
ZXRlci5oIgorCisjaW5jbHVkZSAiSFRNTE1ldGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRl
clRoZW1lLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBzdGQ7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KwordXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKKworUmVuZGVyTWV0ZXI6OlJlbmRlck1ldGVy
KEhUTUxNZXRlckVsZW1lbnQqIGVsZW1lbnQpCisgICAgOiBSZW5kZXJCbG9jayhlbGVtZW50KQor
eworfQorCit2b2lkIFJlbmRlck1ldGVyOjpsYXlvdXQoKQoreworICAgIEFTU0VSVChuZWVkc0xh
eW91dCgpKTsKKworICAgIExheW91dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMsIGNoZWNrRm9y
UmVwYWludER1cmluZ0xheW91dCgpKTsKKworICAgIGNhbGNXaWR0aCgpOworICAgIGNhbGNIZWln
aHQoKTsKKworICAgIG1fb3ZlcmZsb3cuY2xlYXIoKTsKKworICAgIHJlcGFpbnRlci5yZXBhaW50
QWZ0ZXJMYXlvdXQoKTsKKworICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKK30KKwordm9pZCBS
ZW5kZXJNZXRlcjo6dXBkYXRlRnJvbUVsZW1lbnQoKQoreworICAgIHJlcGFpbnQoKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZXRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVy
LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IE5va2lh
IENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgUmVu
ZGVyTWV0ZXJfaAorI2RlZmluZSBSZW5kZXJNZXRlcl9oCisKKyNpZiBFTkFCTEUoTUVURVJfVEFH
KQorI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCisjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRNTE1ldGVyRWxlbWVudDsKKworY2xhc3Mg
UmVuZGVyTWV0ZXIgOiBwdWJsaWMgUmVuZGVyQmxvY2sgeworcHVibGljOgorICAgIFJlbmRlck1l
dGVyKEhUTUxNZXRlckVsZW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGNvbnN0IGNo
YXIqIHJlbmRlck5hbWUoKSBjb25zdCB7IHJldHVybiAiUmVuZGVyTWV0ZXIiOyB9CisgICAgdmly
dHVhbCBib29sIGlzTWV0ZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCB2
b2lkIGxheW91dCgpOworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgpOworfTsK
KworaW5saW5lIFJlbmRlck1ldGVyKiB0b1JlbmRlck1ldGVyKFJlbmRlck9iamVjdCogb2JqZWN0
KQoreworICAgIEFTU0VSVCghb2JqZWN0IHx8IG9iamVjdC0+aXNNZXRlcigpKTsKKyAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8UmVuZGVyTWV0ZXIqPihvYmplY3QpOworfQorCisvLyBUaGlzIHdpbGwg
Y2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCit2b2lkIHRvUmVuZGVyTWV0
ZXIoY29uc3QgUmVuZGVyTWV0ZXIqKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYKKworI2VuZGlmIC8vIFJlbmRlck1ldGVyX2gKKwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmgJKHJldmlzaW9uIDU4NzUxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3Niw2ICsyNzYsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGlzTGlzdE1hcmtlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVh
bCBib29sIGlzTWVkaWEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc01lbnVMaXN0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoTUVURVJf
VEFHKQorICAgIHZpcnR1YWwgYm9vbCBpc01ldGVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KyNlbmRpZgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgdmlydHVhbCBib29sIGlzUHJv
Z3Jlc3MoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwCShyZXZpc2lvbiA1ODc1MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsMTEgQEAKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogCisj
aWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCisjaW5j
bHVkZSAiUmVuZGVyTWV0ZXIuaCIKKyNlbmRpZgorCiAvLyBUaGUgbWV0aG9kcyBpbiB0aGlzIGZp
bGUgYXJlIHNoYXJlZCBieSBhbGwgdGhlbWVzIG9uIGV2ZXJ5IHBsYXRmb3JtLgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0yMTQsNiArMjE5LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVz
dFN0eWxlKENTU1N0eWxlU2UKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAg
ICAgICByZXR1cm4gYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwog
I2VuZGlmCisjaWYgRU5BQkxFKE1ldGVyX1RBRykKKyAgICAgICAgY2FzZSBNZXRlclBhcnQ6Cisg
ICAgICAgICAgICByZXR1cm4gYWRqdXN0TWV0ZXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwor
I2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICB9CkBAIC0y
NzIsNiArMjgxLDEwIEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KFJlbmRlck9iamVjdCogbywK
ICNlbmRpZgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKICAgICAgICAgICAgIHJldHVybiBw
YWludE1lbnVMaXN0KG8sIHBhaW50SW5mbywgcik7CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAg
ICAgICAgY2FzZSBNZXRlclBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRNZXRlcihvLCBw
YWludEluZm8sIHIpOworI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAg
Y2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRQcm9ncmVzc0Jh
cihvLCBwYWludEluZm8sIHIpOwpAQCAtMzY2LDYgKzM3OSw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6
OnBhaW50Qm9yZGVyT25seShSZW5kZXIKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoK
ICAgICAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKKyNp
ZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyNlbmRpZgogI2lm
IEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgogI2Vu
ZGlmCkBAIC00MDQsNiArNDIwLDkgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9u
cyhSZW5kZQogICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIEJ1
dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorI2lmIEVOQUJMRShNRVRFUl9U
QUcpCisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNT
X1RBRykKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAjZW5kaWYKQEAgLTg2Nyw2ICs4
ODYsNjEgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0TWVudUxpc3RTdHlsZShDUwogewogfQog
CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5
bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0
Cit7CisgICAgc3R5bGUtPnNldEJveFNoYWRvdygwKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZTo6
cGFpbnRNZXRlcihSZW5kZXJPYmplY3QqIHJlbmRlck9iamVjdCwgY29uc3QgUmVuZGVyT2JqZWN0
OjpQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICAvLyBT
b21lIHBsYXRmb3JtcyBkbyBub3QgaGF2ZSBhIG5hdGl2ZSBnYXVnZSB3aWRnZXQsIHNvIHdlIGRy
YXcgaGVyZSBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCisgICAgUmVuZGVyTWV0ZXIqIHJlbmRl
ck1ldGVyID0gdG9SZW5kZXJNZXRlcihyZW5kZXJPYmplY3QpOworICAgIFJlbmRlclN0eWxlKiBz
dHlsZSA9IHJlbmRlck9iamVjdC0+c3R5bGUoKTsKKyAgICBpbnQgbGVmdCA9IHN0eWxlLT5ib3Jk
ZXJMZWZ0KCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nTGVmdCgpLnZhbHVlKCk7CisgICAgaW50
IHRvcCA9IHN0eWxlLT5ib3JkZXJUb3AoKS53aWR0aCgpICsgc3R5bGUtPnBhZGRpbmdUb3AoKS52
YWx1ZSgpOworICAgIGludCByaWdodCA9IHN0eWxlLT5ib3JkZXJSaWdodCgpLndpZHRoKCkgKyBz
dHlsZS0+cGFkZGluZ1JpZ2h0KCkudmFsdWUoKTsKKyAgICBpbnQgYm90dG9tID0gc3R5bGUtPmJv
cmRlckJvdHRvbSgpLndpZHRoKCkgKyBzdHlsZS0+cGFkZGluZ0JvdHRvbSgpLnZhbHVlKCk7Cisg
ICAgRmxvYXRSZWN0IGlubmVyUmVjdChyZWN0LngoKSArIGxlZnQsIHJlY3QueSgpICsgdG9wLCBy
ZWN0LndpZHRoKCkgLSBsZWZ0IC0gcmlnaHQsIHJlY3QuaGVpZ2h0KCkgLSB0b3AgLSBib3R0b20p
OworCisgICAgSFRNTE1ldGVyRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZXRl
ckVsZW1lbnQqPihyZW5kZXJNZXRlci0+bm9kZSgpKTsKKyAgICBkb3VibGUgbWluID0gZWxlbWVu
dC0+bWluKCk7CisgICAgZG91YmxlIG1heCA9IGVsZW1lbnQtPm1heCgpOworICAgIGRvdWJsZSB2
YWx1ZSA9IGVsZW1lbnQtPnZhbHVlKCk7CisKKyAgICBpZiAobWluID49IG1heCkgeworICAgICAg
ICBwYWludEluZm8uY29udGV4dC0+ZmlsbFJlY3QoaW5uZXJSZWN0LCBDb2xvcjo6YmxhY2ssIHN0
eWxlLT5jb2xvclNwYWNlKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAg
Ly8gUGFpbnQgdGhlIGJhY2tncm91bmQgZmlyc3QKKyAgICBwYWludEluZm8uY29udGV4dC0+Zmls
bFJlY3QoaW5uZXJSZWN0LCBDb2xvcjo6bGlnaHRHcmF5LCBzdHlsZS0+Y29sb3JTcGFjZSgpKTsK
KworICAgIEZsb2F0UmVjdCB2YWx1ZVJlY3Q7CisKKyAgICBpZiAocmVjdC53aWR0aCgpIDwgcmVj
dC5oZWlnaHQoKSkgeworICAgICAgICAvLyBWZXJ0aWNhbCBnYXVnZQorICAgICAgICBkb3VibGUg
c2NhbGUgPSBpbm5lclJlY3QuaGVpZ2h0KCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVS
ZWN0LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoaW5uZXJSZWN0LngoKSwgaW5uZXJSZWN0LnkoKSAr
IChtYXggLSB2YWx1ZSkgKiBzY2FsZSkpOworICAgICAgICB2YWx1ZVJlY3Quc2V0U2l6ZShGbG9h
dFNpemUoaW5uZXJSZWN0LndpZHRoKCksICh2YWx1ZSAtIG1pbikgKiBzY2FsZSkpOworICAgIH0g
ZWxzZSBpZiAocmVuZGVyTWV0ZXItPnN0eWxlKCktPmRpcmVjdGlvbigpID09IFJUTCkgeworICAg
ICAgICAvLyByaWdodCB0byBsZWZ0IGhvcml6b250YWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNj
YWxlID0gaW5uZXJSZWN0LndpZHRoKCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0
LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoaW5uZXJSZWN0LngoKSArIChtYXggLSB2YWx1ZSkgKiBz
Y2FsZSwgaW5uZXJSZWN0LnkoKSkpOworICAgICAgICB2YWx1ZVJlY3Quc2V0U2l6ZShGbG9hdFNp
emUoKHZhbHVlIC0gbWluKSAqIHNjYWxlLCBpbm5lclJlY3QuaGVpZ2h0KCkpKTsKKyAgICB9IGVs
c2UgeworICAgICAgICAvLyBsZWZ0IHRvIHJpZ2h0IGhvcml6b250YWwgZ2F1Z2UKKyAgICAgICAg
ZG91YmxlIHNjYWxlID0gaW5uZXJSZWN0LndpZHRoKCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAg
dmFsdWVSZWN0LnNldExvY2F0aW9uKGlubmVyUmVjdC5sb2NhdGlvbigpKTsKKyAgICAgICAgdmFs
dWVSZWN0LnNldFNpemUoRmxvYXRTaXplKCh2YWx1ZSAtIG1pbikgKiBzY2FsZSwgaW5uZXJSZWN0
LmhlaWdodCgpKSk7CisgICAgfQorICAgIGlmICghdmFsdWVSZWN0LmlzRW1wdHkoKSkKKyAgICAg
ICAgcGFpbnRJbmZvLmNvbnRleHQtPmZpbGxSZWN0KHZhbHVlUmVjdCwgQ29sb3I6OmJsYWNrLCBz
dHlsZS0+Y29sb3JTcGFjZSgpKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCiAj
aWYgRU5BQkxFKFBST0dSRVNTX1RBRykKIGRvdWJsZSBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVw
ZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyopIGNvbnN0CiB7CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHJldmlzaW9uIDU4NzUxKQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMjM3LDYgKzIzNywxMSBAQCBw
cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoQ1NT
U3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCBwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9i
amVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KIAorI2lm
IEVOQUJMRShNRVRFUl9UQUcpCisgICAgdmlydHVhbCB2b2lkIGFkanVzdE1ldGVyU3R5bGUoQ1NT
U3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1
YWwgYm9vbCBwYWludE1ldGVyKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoUFJPR1JFU1Nf
VEFHKQogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKENTU1N0eWxlU2Vs
ZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
cGFpbnRQcm9ncmVzc0JhcihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50
SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biA1ODc1MykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI2IEBACisyMDEwLTA1LTA0ICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0
aWFsIHN1cHBvcnQgZm9yIEhUTUxNZXRlckVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQwCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50
L21ldGVyLWVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVy
RWxlbWVudC9zY3JpcHQtdGVzdHM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRl
ckVsZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1tZXRlci1wcm9wZXJ0aWVz
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRl
ci1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAg
ICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50
LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Rv
bS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1l
bnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoK
KwogMjAxMC0wNS0wNCAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVteUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgZXhwZWN0YXRpb25zIGNoYW5nZS4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVu
dC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9tZXRlci1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzxodG1s
Pjxib2R5PjxtZXRlciBtaW49MTAgdmFsdWU9MzAgbWF4PTEwMD48L21ldGVyPjxtZXRlciBtaW49
MCB2YWx1ZT03MCBtYXg9MTAwIHN0eWxlPSJ3aWR0aDoxMHB4OyBoZWlnaHQ6NjBweDsiPjwvbWV0
ZXI+PC9ib2R5PjwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1l
dGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNzggQEAKK1Rlc3Qgc2V0dGluZyB2YWxpZCBhbmQgaW52YWxpZCBwcm9wZXJ0
aWVzIG9mIEhUTUxNZXRlckVsZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitUZXN0IHZhbHVlcyBiZWZvcmUgcHJvcGVydGllcyB3ZXJlIHNldAorUEFTUyBtLm1pbiBpcyAw
CitQQVNTIG0udmFsdWUgaXMgMAorUEFTUyBtLm1heCBpcyAxCitQQVNTIG0ubG93IGlzIDAKK1BB
U1MgbS5oaWdoIGlzIDEKK1BBU1MgbS5vcHRpbXVtIGlzIDAuNQorU2V0IHZhbGlkIHZhbHVlcwor
UEFTUyBtLm1pbiBpcyAtMTAKK1BBU1MgbS52YWx1ZSBpcyA3MAorUEFTUyBtLm1heCBpcyAxMDAK
K1BBU1MgbS5sb3cgaXMgMTAuMQorUEFTUyBtLmhpZ2ggaXMgOTkuNQorUEFTUyBtLm9wdGltdW0g
aXMgNzAKK1NldCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVlcyAtIDEKK1BBU1MgbS5taW4g
aXMgLTEwCitQQVNTIG0udmFsdWUgaXMgMTAwCitQQVNTIG0ubWF4IGlzIDEwMAorUEFTUyBtLmxv
dyBpcyAxMDAKK1BBU1MgbS5oaWdoIGlzIDEwMAorUEFTUyBtLm9wdGltdW0gaXMgMAorU2V0IGF0
dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMgorUEFTUyBtLm1pbiBpcyAyMDAuMAorUEFT
UyBtLnZhbHVlIGlzIDIwMC4wCitQQVNTIG0ubWF4IGlzIDIwMC4wCitQQVNTIG0ubG93IGlzIDIw
MC4wCitTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAzCitQQVNTIG0ubWluIGlz
IDEwMC4wCitQQVNTIG0udmFsdWUgaXMgMTAwLjAKK1BBU1MgbS5tYXggaXMgMTAwLjAKK1BBU1Mg
bS5sb3cgaXMgMTAwLjAKK1BBU1MgbS5oaWdoIGlzIDEwMC4wCitQQVNTIG0ub3B0aW11bSBpcyAx
MDAuMAorU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gNAorUEFTUyBtLm1pbiBp
cyAwLjAKK1BBU1MgbS52YWx1ZSBpcyAyMDAuMAorUEFTUyBtLm1heCBpcyAyMDAuMAorUEFTUyBt
LmxvdyBpcyAwLjAKK1BBU1MgbS5oaWdoIGlzIDIwMC4wCitQQVNTIG0ub3B0aW11bSBpcyAxMi41
CitTZXQgdmFsdWUgdG8gaW52YWxpZCB2YWx1ZQorUEFTUyBtLnZhbHVlID0gInZhbHVlIjsgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5Lgor
U2V0IG1pbiB0byBOYU4KK1BBU1MgbS5taW4gPSBOYU47IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
Tk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1NldCBtYXggdG8gSW5maW5pdHkK
K1BBU1MgbS5tYXggPSBJbmZpbml0eTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9S
VEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorU2V0IGxvdyB0byBpbnZhbGlkIHZhbHVlCitQQVNT
IG0ubG93ID0gImxvdyI7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6
IERPTSBFeGNlcHRpb24gOS4KK1NldCBoaWdoIHRvIE5hTgorUEFTUyBtLmhpZ2ggPSBOYU47IHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4K
K1NldCBvcHRpbXVtIHRvIEluZmluaXR5CitQQVNTIG0ub3B0aW11bSA9IEluZmluaXR5OyB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitT
ZXQgYXR0cmlidXRlcyB0byB2YWxpZCBudW1iZXJzCitQQVNTIG0udmFsdWUgaXMgNQorUEFTUyBt
Lm1heCBpcyAxMAorUEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSkgaXMgNQor
UEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0ZSgnbWF4JykpIGlzIDEwCitTZXQgYXR0cmlidXRl
cyB0byBpbnZhbGlkIHZhbHVlcworUEFTUyBtLnZhbHVlIGlzIDAKK1BBU1MgbS5tYXggaXMgMQor
UEFTUyBtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSBpcyAnQUJDJworUEFTUyBtLmdldEF0dHJpYnV0
ZSgnbWF4JykgaXMgJyMnCitTZXQgYXR0cmlidXRlcyB0byBudW1iZXJzIHdpdGggbGVhZGluZyBz
cGFjZXMKK1BBU1MgbS52YWx1ZSBpcyAwCitQQVNTIG0ubWluIGlzIDAKK1BBU1MgbS5tYXggaXMg
MQorUEFTUyBtLmxvdyBpcyAwCitQQVNTIG0uaGlnaCBpcyAxCitQQVNTIG0ub3B0aW11bSBpcyAw
LjUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9w
ZXJ0aWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVy
RWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3NldC1tZXRlci1wcm9wZXJ0aWVzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMv
VEVNUExBVEUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxN
ZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQt
bWV0ZXItcHJvcGVydGllcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qcwkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0
LXRlc3RzL3NldC1tZXRlci1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEz
MCBAQAorZGVzY3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBhbmQgaW52YWxpZCBwcm9wZXJ0
aWVzIG9mIEhUTUxNZXRlckVsZW1lbnQuJyk7CisKK3ZhciBtID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnbWV0ZXInKTsKKworZGVidWcoIlRlc3QgdmFsdWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdl
cmUgc2V0Iik7CitzaG91bGRCZSgibS5taW4iLCAiMCIpOworc2hvdWxkQmUoIm0udmFsdWUiLCAi
MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIwIik7Citz
aG91bGRCZSgibS5oaWdoIiwgIjEiKTsKK3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMC41Iik7CisK
K2RlYnVnKCJTZXQgdmFsaWQgdmFsdWVzIik7CittLm1pbiA9ICItMTAiOworbS52YWx1ZSA9IDdl
MTsKK20ubWF4ID0gIjFlMiI7CittLmxvdyA9ICIxMC4xIjsKK20uaGlnaCA9ICI5OS41IjsKK20u
b3B0aW11bSA9ICI3MCI7CitzaG91bGRCZSgibS5taW4iLCAiLTEwIik7CitzaG91bGRCZSgibS52
YWx1ZSIsICI3MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIpOworc2hvdWxkQmUoIm0ubG93
IiwgIjEwLjEiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiOTkuNSIpOworc2hvdWxkQmUoIm0ub3B0
aW11bSIsICI3MCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVz
IC0gMSIpOworbS5taW4gPSAtMTA7CittLnZhbHVlID0gMjAwOworbS5tYXggPSAxMDAuMDsKK20u
bG93ID0gMjAwOworbS5oaWdoID0gLTUwOworbS5vcHRpbXVtID0gbnVsbDsKK3Nob3VsZEJlKCJt
Lm1pbiIsICItMTAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjEwMCIpOworc2hvdWxkQmUoIm0u
bWF4IiwgIjEwMCIpOworc2hvdWxkQmUoIm0ubG93IiwgIjEwMCIpOworc2hvdWxkQmUoIm0uaGln
aCIsICIxMDAiKTsKK3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMCIpOworCitkZWJ1ZygiU2V0IGF0
dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMiIpOworbS5taW4gPSAyMDAuMDsKK20udmFs
dWUgPSAtMjAwLjA7CittLm1heCA9IDA7CittLmxvdyA9IG51bGw7CitzaG91bGRCZSgibS5taW4i
LCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjIwMC4wIik7CitzaG91bGRCZSgibS5t
YXgiLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIyMDAuMCIpOworCitkZWJ1ZygiU2V0
IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMyIpOworbS5taW4gPSAxMDAuMDsKK20u
dmFsdWUgPSAyMDAuMDsKK20ubWF4ID0gNTA7CittLmxvdyA9IDEwOworbS5oaWdoID0gMTVlMTsK
K20ub3B0aW11bSA9IDEyLjU7CitzaG91bGRCZSgibS5taW4iLCAiMTAwLjAiKTsKK3Nob3VsZEJl
KCJtLnZhbHVlIiwgIjEwMC4wIik7CitzaG91bGRCZSgibS5tYXgiLCAiMTAwLjAiKTsKK3Nob3Vs
ZEJlKCJtLmxvdyIsICIxMDAuMCIpOworc2hvdWxkQmUoIm0uaGlnaCIsICIxMDAuMCIpOworc2hv
dWxkQmUoIm0ub3B0aW11bSIsICIxMDAuMCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8g
aW1wcm9wZXIgdmFsdWVzIC0gNCIpOworbS5taW4gPSAwLjA7CittLnZhbHVlID0gMjUwLjA7Citt
Lm1heCA9IDIwMDsKK20ubG93ID0gLTEwOworbS5oaWdoID0gMTVlMjsKK20ub3B0aW11bSA9IDEy
LjU7CitzaG91bGRCZSgibS5taW4iLCAiMC4wIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIyMDAu
MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjIwMC4wIik7CitzaG91bGRCZSgibS5sb3ciLCAiMC4w
Iik7CitzaG91bGRCZSgibS5oaWdoIiwgIjIwMC4wIik7CitzaG91bGRCZSgibS5vcHRpbXVtIiwg
IjEyLjUiKTsKKworZGVidWcoIlNldCB2YWx1ZSB0byBpbnZhbGlkIHZhbHVlIik7CitzaG91bGRU
aHJvdygnbS52YWx1ZSA9ICJ2YWx1ZSI7JywgJyJFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERP
TSBFeGNlcHRpb24gOSInKTsKKworZGVidWcoIlNldCBtaW4gdG8gTmFOIik7CitzaG91bGRUaHJv
dygnbS5taW4gPSBOYU47JywgJyJFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRp
b24gOSInKTsKKworZGVidWcoIlNldCBtYXggdG8gSW5maW5pdHkiKTsKK3Nob3VsZFRocm93KCdt
Lm1heCA9IEluZmluaXR5OycsICciRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0
aW9uIDkiJyk7CisKK2RlYnVnKCJTZXQgbG93IHRvIGludmFsaWQgdmFsdWUiKTsKK3Nob3VsZFRo
cm93KCdtLmxvdyA9ICJsb3ciOycsICciRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhj
ZXB0aW9uIDkiJyk7CisKK2RlYnVnKCJTZXQgaGlnaCB0byBOYU4iKTsKK3Nob3VsZFRocm93KCdt
LmhpZ2ggPSBOYU47JywgJyJFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24g
OSInKTsKKworZGVidWcoIlNldCBvcHRpbXVtIHRvIEluZmluaXR5Iik7CitzaG91bGRUaHJvdygn
bS5vcHRpbXVtID0gSW5maW5pdHk7JywgJyJFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBF
eGNlcHRpb24gOSInKTsKKworZGVidWcoIlNldCBhdHRyaWJ1dGVzIHRvIHZhbGlkIG51bWJlcnMi
KTsKK20uc2V0QXR0cmlidXRlKCJtaW4iLCAwKTsKK20uc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIDUp
OworbS5zZXRBdHRyaWJ1dGUoIm1heCIsIDEwKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjUiKTsK
K3Nob3VsZEJlKCJtLm1heCIsICIxMCIpOworc2hvdWxkQmUoInBhcnNlSW50KG0uZ2V0QXR0cmli
dXRlKCd2YWx1ZScpKSIsICI1Iik7CitzaG91bGRCZSgicGFyc2VJbnQobS5nZXRBdHRyaWJ1dGUo
J21heCcpKSIsICIxMCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gaW52YWxpZCB2YWx1
ZXMiKTsKK20uc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJBQkMiKTsKK20uc2V0QXR0cmlidXRlKCJt
YXgiLCAiIyIpOworc2hvdWxkQmUoIm0udmFsdWUiLCAiMCIpOworc2hvdWxkQmUoIm0ubWF4Iiwg
IjEiKTsKK3Nob3VsZEJlKCJtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSIsICInQUJDJyIpOworc2hv
dWxkQmUoIm0uZ2V0QXR0cmlidXRlKCdtYXgnKSIsICInIyciKTsKKworZGVidWcoIlNldCBhdHRy
aWJ1dGVzIHRvIG51bWJlcnMgd2l0aCBsZWFkaW5nIHNwYWNlcyIpOworbS5zZXRBdHRyaWJ1dGUo
InZhbHVlIiwgIiA1Iik7CittLnNldEF0dHJpYnV0ZSgibWluIiwgIiA1Iik7CittLnNldEF0dHJp
YnV0ZSgibWF4IiwgIiA1Iik7CittLnNldEF0dHJpYnV0ZSgibG93IiwgIiA1Iik7CittLnNldEF0
dHJpYnV0ZSgiaGlnaCIsICIgNSIpOworbS5zZXRBdHRyaWJ1dGUoIm9wdGltdW0iLCAiIDUiKTsK
K3Nob3VsZEJlKCJtLnZhbHVlIiwgIjAiKTsKK3Nob3VsZEJlKCJtLm1pbiIsICIwIik7CitzaG91
bGRCZSgibS5tYXgiLCAiMSIpOworc2hvdWxkQmUoIm0ubG93IiwgIjAiKTsKK3Nob3VsZEJlKCJt
LmhpZ2giLCAiMSIpOworc2hvdWxkQmUoIm0ub3B0aW11bSIsICIwLjUiKTsKKworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkocmV2aXNpb24gNTg3NTEpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTI2MjYsNiArMjYyNiwxMCBAQCBCVUczODIyNyBERUZFUiA6IGZhc3Qv
ZG9tL0hUTUxQcm9ncmVzc0VsCiBCVUczODIyNyBERUZFUiA6IGZhc3QvZG9tL0hUTUxQcm9ncmVz
c0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKIEJVRzM4MjI3IFNL
SVAgOiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1wc2V1
ZG8tZWxlbWVudC5odG1sID0gRkFJTAogCisvLyBIVE1MTWV0ZXJFbGVtZW50IHJlbGF0ZWQgdGVz
dHMgZGVmZXJyZWQgZHVlIHRvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNzA3NC4KK0JVRzM3MDc0IERFRkVSIDogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRl
ci1lbGVtZW50Lmh0bWwgPSBNSVNTSU5HCitCVUczNzA3NCBERUZFUiA6IGZhc3QvZG9tL0hUTUxN
ZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbCA9IFRFWFQKKwogLy8gV2ViS2l0
IHJvbGwgNTYwMDQgLT4gNTYwMjYKIEJVRzM4Mjc4IDogZmFzdC9ldmVudHMvY29udGludW91cy1w
bGF0Zm9ybS13aGVlbGV2ZW50LWluLXNjcm9sbGluZy1kaXYuaHRtbCA9IFRJTUVPVVQKIEJVRzM4
Mjc4IDogZmFzdC9ldmVudHMvcGxhdGZvcm0td2hlZWxldmVudC1pbi1zY3JvbGxpbmctZGl2Lmh0
bWwgPSBUSU1FT1VUCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkocmV2aXNpb24gNTg3
NTEpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAkod29ya2luZyBjb3B5KQpA
QCAtNTgyNyw2ICs1ODI3LDEwIEBAIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jl
c3MtZWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRp
ZXMuaHRtbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1iYXItdmFsdWUt
cHNldWRvLWVsZW1lbnQuaHRtbAogCisjIG1ldGVyIGVsZW1lbnQgaXMgbm90IHN1cHBvcnRlZAor
ZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwKK2Zhc3QvZG9tL0hU
TUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAorCiAjIE5lZWRzIG1vY2sg
c3VwcG9ydCwgYW5kIGJ1aWxkIHNsYXZlIEdlb2xvY2F0aW9uIHNlcnZpY2UKICMgU2VlIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjA1MwogZmFzdC9kb20vR2VvbG9j
YXRpb24vbWF4aW11bS1hZ2UuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Nr
aXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJl
dmlzaW9uIDU4NzUxKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtp
bmcgY29weSkKQEAgLTEzOCw2ICsxMzgsMTAgQEAgZmFzdC9mb3Jtcy9tdWx0aXBsZS1mb3JtLXN1
Ym1pc3Npb24tcHJvdAogIyBUaGUgYW5pbWF0aW9uIGNhdXNlcyB0aGUgcmVzdWx0IG9mIHRoaXMg
dGVzdCB0byBkZXBlbmQgb24gdGhlIHNwZWVkIG9mIGV4ZWN1dGluZyBpdCwgYW5kIHRoYXQgd2ls
bCBjYXVzZSBpdCB0byBiZSBmbGFreQogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9n
cmVzcy1lbGVtZW50Lmh0bWwKIAorIyBtZXRlciBlbGVtZW50IGlzIG5vdCBzdXBwb3J0ZWQKK2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCitmYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwKKwogIyBldmVudC5kYXRhVHJh
bnNmZXIuc2V0RGF0YSgndGV4dC91cmktbGlzdCcpIG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50ZWQg
b24gTWFjCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YVRyYW5zZmVyLXNldERhdGEtZ2V0RGF0YS5o
dG1sCiAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1l
bnQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hl
Y2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzIyZGJjYzhlZjZlMDA0YzIyYWFlY2Y1
ZWE3MTI2NTI3ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRl
ci1lbGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4IEBACitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4NTg0CisgICAgICBSZW5kZXJNZXRlciB7TUVURVJ9IGF0ICgwLDQ0KSBzaXplIDgweDE2Cisg
ICAgICBSZW5kZXJNZXRlciB7TUVURVJ9IGF0ICg4MCwwKSBzaXplIDEweDYwCisgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9T
a2lwcGVkCShyZXZpc2lvbiA1ODc1MSkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkCSh3b3JraW5nIGNvcHkpCkBAIC04MzIsNiArODMyLDEwIEBAIGZhc3QvZG9tL0hUTUxQcm9n
cmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0
LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9w
cm9ncmVzcy1iYXItdmFsdWUtcHNldWRvLWVsZW1lbnQuaHRtbAogCisjIG1ldGVyIGVsZW1lbnQg
aXMgbm90IHN1cHBvcnRlZAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50
Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRt
bAorCiAjIE5vIFdpZGdldHMgMS4wIHN1cHBvcnQKIGZhc3QvbWVkaWEvbWVkaWEtZmVhdHVyZS13
Z3Qtdmlldy1tb2RlLmh0bWwKIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9k
b20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnBuZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10
eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1l
bnQtZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNB
WUFBQUNhZG9Kd0FBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJBQUFNCnhFbEVRVlI0bk8zZHdh
bURRQlJBMFV4SUw1WmhFeW5ESmxOR3FwbS9kaGtDZC9MeG5OMkE2TVBkblJFY2M4NTVBd0FBQ054
WER3QUEKQUZ5SEFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFB
Z0kwQUFBSUNNQUFFQUFES1AxUU5jeWV2MQpPcTMzZlY4MENRQUFyT0VFQkFBQXlBZ1FBQUFnSTBB
QUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBCnlBZ1FBQUFnSTBB
QUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSURNbUhQTzFVTmN4Ylp0cC9YNy9WNDBDUUFB
ckNGQVFtT00KMDlxckJ3RGdhbnlDQlFBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJ
QUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSQpBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJ
QUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCCkFnQUFaQVFJ
QUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FlWHh5OFJqanE0Y2R4M0Y3UHA5ZjNlTS8y
UGQ5OVFnQUFQQ1QKbklBQUFBQVpBUUlBQUdRRUNBQUFrQkVnQUFCQVJvQUFBQUFaQVFJQUFHUUVD
QUFBa0JFZ0FBQkE1cU1mRWZLZCsxM3ZBUUJ3YldQTwpPVmNQQVFBQVhJTXRlUUFBSUNOQUFBQ0Fq
QUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BCkFBQ0Fq
QUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpB
QUJBQUF5QWdRQUFNZ0kKRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpB
QUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeQpBZ1FBQU1nSUVBQUFJQ05BQUFDQWpB
QUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBCmpB
QUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFB
QkFBQXlBZ1FBQU1nSUVBQUEKSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFB
QkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQQpBTWdJRUFBQUlDTkFBQUNBakFB
QkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFC
CkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFC
QUFBeUFnUUFBTWdJRUFBQUlDTkEKQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFC
QUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSQpFQUFBSUNOQUFBQ0FqQUFC
QUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJB
QUF5CkFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJB
QUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0EKakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJB
QUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQQpJQ05BQUFDQWpBQUJB
QUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFB
QXlBZ1FBCkFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFB
QXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUIKQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFB
QXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQQpBQUNBakFBQkFB
QXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFB
eUFnUUFBTWdJCkVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFB
eUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXkKQWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFB
eUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQQpqQUFCQUFB
eUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5
QWdRQUFNZ0lFQUFBCklDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5
QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUEKQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5
QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQgpBQUF5
QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlB
Z1FBQU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlB
Z1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0kKRUFBQUlDTkFBQUNBakFBQkFBQXlB
Z1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeQpB
Z1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFn
UUFBTWdJRUFBQUlDTkFBQUNBCmpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFn
UUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUEKSUNOQUFBQ0FqQUFCQUFBeUFn
UUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdR
QQpBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdR
QUFNZ0lFQUFBSUNOQUFBQ0FqQUFCCkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdR
QUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkEKQUFDQWpBQUJBQUF5QWdR
QUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FB
QU1nSQpFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FB
QU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5CkFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FB
QU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0EKakFBQkFBQXlBZ1FB
QU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQQpJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBCkFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUIKQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFN
Z0lFQUFBSUNOQQpBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFN
Z0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJCkVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFN
Z0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXkKQWdRQUFN
Z0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1n
SUVBQUFJQ05BQUFDQQpqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1n
SUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBCklDTkFBQUNBakFBQkFBQXlBZ1FBQU1n
SUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUEKQU1n
SUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJ
RUFBQUlDTkFBQUNBakFBQgpBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJ
RUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFBTWdJ
RUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0kK
RUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lF
QUFBSUNOQUFBQ0FqQUFCQUFBeQpBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lF
QUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBCmpBQUJBQUF5QWdRQUFNZ0lF
QUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUEKSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQQpBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCCkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQXpCKzBqQ0NwWHUzNTF3QUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55925</attachid>
            <date>2010-05-12 18:29:41 -0700</date>
            <delta_ts>2010-05-12 18:33:52 -0700</delta_ts>
            <desc>Update the patch with latest trunk changes.</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>61342</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTI2MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzcgQEAKKzIwMTAtMDUtMTIgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudCwgaW5jbHVkaW5nIGRlZmF1bHQgcmVu
ZGVyaW5nCisgICAgICAgIG9mIHRoZSBtZXRlciBlbGVtZW50LiBUaGF0IGlzIGJlY2F1c2Ugc29t
ZSBwbGF0Zm9ybXMgZG8gbm90IGhhdmUgYSBuYXRpdmUgZ2F1Z2UuCisgICAgICAgIFRoZSBmZWF0
dXJlIGlzIHR1cm5lZCBvbiBvbmx5IGZvciB0aGUgUXQgcGxhdGZvcm0uCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvaHRtbC5jc3M6CisgICAgICAgIChtZXRlcik6CisgICAgICAg
IChtZXRlcjo6LXdlYmtpdC1tZXRlcik6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjppbmxpbmVUYWdMaXN0KToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNw
cDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZXRlckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZXRlckVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0
ZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0ZXJFbGVtZW50OjptaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
c2V0TWluKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om1heCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpzZXRNYXgpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1ldGVyRWxlbWVudDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
bG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldExvdyk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpoaWdoKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZXRlckVsZW1lbnQ6OnNldEhpZ2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6b3B0aW11bSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpz
ZXRPcHRpbXVtKToKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojppc09wdGlvbmFsRm9ybUNvbnRyb2wp
OgorICAgICAgICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAq
IGh0bWwvSFRNTFRhZ05hbWVzLmluOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck1ldGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6UmVuZGVy
TWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OmxheW91dCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNZXRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1l
dGVyOjpyZW5kZXJOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1ldGVyOjppc01ldGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OnRvUmVuZGVyTWV0ZXIpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aXNNZXRl
cik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lOjphZGp1c3RTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZTo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVy
T25seSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0TWV0ZXJTdHlsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRNZXRlcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmg6CisKIDIwMTAtMDUtMTIgIEphbWVzIFJvYmluc29uICA8amFtZXNy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBQYXRjaCBieSBEYW4gQmVybnN0ZWluLgpJbmRleDog
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAJKHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MCw2ICsxNDAsNyBAQAogI2luY2x1ZGUgIkpTSFRNTE1l
ZGlhRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNIVE1MTWVudUVsZW1lbnQuY3BwIgogI2luY2x1
ZGUgIkpTSFRNTE1ldGFFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJKU0hUTUxNZXRlckVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIkpTSFRNTE1vZEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE9i
amVjdEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE9MaXN0RWxlbWVudC5jcHAiCkluZGV4
OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA1OTI2MykKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTgyLDYgKzE4Miw3IEBAIERPTV9DTEFTU0VTID0g
XAogICAgIEhUTUxNZWRpYUVsZW1lbnQgXAogICAgIEhUTUxNZW51RWxlbWVudCBcCiAgICAgSFRN
TE1ldGFFbGVtZW50IFwKKyAgICBIVE1MTWV0ZXJFbGVtZW50IFwKICAgICBIVE1MTW9kRWxlbWVu
dCBcCiAgICAgSFRNTE9MaXN0RWxlbWVudCBcCiAgICAgSFRNTE9iamVjdEVsZW1lbnQgXApAQCAt
NjQ0LDYgKzY0NSwxMCBAQCBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX0RBVEFMSVNULCQoRkVB
CiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1MpIEVOQUJMRV9EQVRBTElTVD0xCiBlbmRp
ZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX01FVEVSX1RBRywkKEZFQVRVUkVfREVGSU5F
UykpLCBFTkFCTEVfTUVURVJfVEFHKQorICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBF
TkFCTEVfTUVURVJfVEFHPTEKK2VuZGlmCisKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfUFJP
R1JFU1NfVEFHLCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9QUk9HUkVTU19UQUcpCiAgICAg
SFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1MpIEVOQUJMRV9QUk9HUkVTU19UQUc9MQogZW5kaWYK
SW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQkocmV2aXNpb24gNTkyNjMpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3
b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKIAlXZWJD
b3JlL2h0bWwvTWVkaWFFcnJvci5pZGwgXAogCVdlYkNvcmUvaHRtbC9IVE1MTWVudUVsZW1lbnQu
aWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmlkbCBcCisJV2ViQ29yZS9odG1s
L0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1vZEVsZW1lbnQuaWRs
IFwKIAlXZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwgXAogCVdlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5pZGwgXApAQCAtMTE2Niw2ICsxMTY3LDggQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmggXAogCVdlYkNvcmUvaHRt
bC9IVE1MTWV0YUVsZW1lbnQuY3BwIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50Lmgg
XAorCVdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCBcCisJV2ViQ29yZS9odG1sL0hU
TUxNZXRlckVsZW1lbnQuaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAJ
V2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MTmFtZUNv
bGxlY3Rpb24uY3BwIFwKQEAgLTE4OTksNiArMTkwMiw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKIAlXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0
LmggXAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCBcCisJV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWV0ZXIuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggXAogCVdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgXApAQCAtMjI0Niw2ICsyMjUxLDE0IEBAIHdl
YmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1ERU5BQkxFX0RBVEFHUklEPTAKIAogIyAtLS0tCisjIEhU
TUwgTWV0ZXIgRWxlbWVudCAtIGRpc2FibGUgZm9yIG5vdy4KKyMgLS0tLQorRkVBVFVSRV9ERUZJ
TkVTICs9IEVOQUJMRV9NRVRFUl9UQUc9MAorCit3ZWJjb3JlX2NwcGZsYWdzICs9IFwKKyAgICAt
REVOQUJMRV9NRVRFUl9UQUc9MAorCisjIC0tLS0KICMgSFRNTCBQcm9ncmVzcyBFbGVtZW50IC0g
ZGlzYWJsZSBmb3Igbm93LCBzaW5jZSBwYWludGluZyBjb2RlIGlzIG1pc3NpbmcuCiAjIC0tLS0K
IEZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfUFJPR1JFU1NfVEFHPTAKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lv
biA1OTI2MykKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgs
NiArMTU4LDcgQEAKICAgICAgICAgICAgICdodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsJywKICAg
ICAgICAgICAgICdodG1sL0hUTUxNZW51RWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
SFRNTE1ldGFFbGVtZW50LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9IVE1MTWV0ZXJFbGVtZW50
LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTW9kRWxlbWVudC5pZGwnLAogICAgICAgICAg
ICAgJ2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQuaWRsJywKQEAgLTE1NjAsNiArMTU2MSw4IEBACiAgICAgICAgICAgICAnaHRt
bC9IVE1MTWVudUVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTWV0YUVsZW1lbnQu
Y3BwJywKICAgICAgICAgICAgICdodG1sL0hUTUxNZXRhRWxlbWVudC5oJywKKyAgICAgICAgICAg
ICdodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwJywKKyAgICAgICAgICAgICdodG1sL0hUTUxNZXRl
ckVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAnLAogICAg
ICAgICAgICAgJ2h0bWwvSFRNTE1vZEVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1M
TmFtZUNvbGxlY3Rpb24uY3BwJywKQEAgLTMxMzcsNiArMzE0MCw4IEBACiAgICAgICAgICAgICAn
cmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oJywKICAgICAgICAgICAgICdy
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVu
ZGVyTWVudUxpc3QuaCcsCisgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCcs
CisgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1ldGVyLmgnLAogICAgICAgICAgICAgJ3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3Qu
Y3BwJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9X
ZWJDb3JlLnByaQkocmV2aXNpb24gNTkyNjMpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJpCSh3b3Jr
aW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TSU5H
TEVfVEhSRUFERUQKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU89Lik6IERFRklORVMg
Kz0gRU5BQkxFX1ZJREVPPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfUlVCWT0uKTogREVG
SU5FUyArPSBFTkFCTEVfUlVCWT0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NBTkRCT1g9
Lik6IERFRklORVMgKz0gRU5BQkxFX1NBTkRCT1g9MQorIWNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9NRVRFUl9UQUc9Lik6IERFRklORVMgKz0gRU5BQkxFX01FVEVSX1RBRz0xCiAhY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX1BST0dSRVNTX1RBRz0uKTogREVGSU5FUyArPSBFTkFCTEVfUFJPR1JF
U1NfVEFHPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfQkxPQl9TTElDRT0uKTogREVGSU5F
UyArPSBFTkFCTEVfQkxPQl9TTElDRT0wCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX05PVElG
SUNBVElPTlM9Lik6IERFRklORVMgKz0gRU5BQkxFX05PVElGSUNBVElPTlM9MQpAQCAtMTYzLDYg
KzE2NCw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJfU09DS0VUUz0xKToKIGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9UT1VDSF9FVkVOVFM9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZB
U0NSSVBUICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1RJTEVEX0JBQ0tJTkdfU1RPUkU9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVO
QUJMRV9USUxFRF9CQUNLSU5HX1NUT1JFPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9OT1RJ
RklDQVRJT05TPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTk9USUZJ
Q0FUSU9OUz0xCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVURVJfVEFHPTEpOiBGRUFUVVJF
X0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTUVURVJfVEFHPTEKIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9QUk9HUkVTU19UQUc9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9
IEVOQUJMRV9QUk9HUkVTU19UQUc9MQogCiAKQEAgLTM3Nyw2ICszNzksNyBAQCBJRExfQklORElO
R1MgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE1l
bnVFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuaWRsIFwKKyAgICBodG1s
L0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxNb2RFbGVtZW50LmlkbCBcCiAg
ICAgaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE9MaXN0RWxlbWVu
dC5pZGwgXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L1dlYkNvcmUucHJvCShyZXZpc2lvbiA1OTI2MykKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdv
cmtpbmcgY29weSkKQEAgLTY1NCw2ICs2NTQsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hU
TUxNYXJxdWVlRWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTE1lbnVFbGVtZW50LmNwcCBcCiAg
ICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQu
Y3BwIFwKICAgICBodG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTmFtZUNv
bGxlY3Rpb24uY3BwIFwKICAgICBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcCBcCkBAIC05MzUs
NiArOTM2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIu
Y3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAgXAogICAgIHJlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5jcHAgXAorICAgIHJlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAgXAogICAg
IHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0LmNwcCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuY3BwIFwKQEAgLTEzNzUs
NiArMTM3Nyw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oIFwK
ICAgICBodG1sL0hUTUxNZW51RWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxNZXRhRWxlbWVudC5o
IFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaCBcCiAgICAgaHRtbC9IVE1MTW9kRWxlbWVu
dC5oIFwKICAgICBodG1sL0hUTUxOYW1lQ29sbGVjdGlvbi5oIFwKICAgICBodG1sL0hUTUxOb1Nj
cmlwdEVsZW1lbnQuaCBcCkBAIC0xNzE0LDYgKzE3MTcsNyBAQCBIRUFERVJTICs9IFwKICAgICBy
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWVkaWEuaCBc
CiAgICAgcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggXAorICAgIHJlbmRlcmluZy9SZW5kZXJN
ZXRlci5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmggXAogICAgIHJl
bmRlcmluZy9SZW5kZXJPYmplY3QuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuaCBcCklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDU5MjYzKQor
KysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpA
QCAtNjU2NSw2ICs2NTY1LDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNIVE1MTWV0ZXJFbGVtZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVs
ZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIN
CisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU0hUTUxNZXRlckVsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTW9kRWxlbWVudC5jcHAiDQogCQkJ
CT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjc5ODEsNiArMjgwMzcsMTQgQEAKIAkJ
CQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVy
aW5nXFJlbmRlck1ldGVyLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJNZXRlci5oIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRl
ck9iamVjdC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMzMzMTcsNiArMzMzODEsNjIg
QEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxIVE1MTWV0ZXJFbGVtZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWly
b3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJE
ZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4N
CisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmgiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEhUTUxNb2RFbGVtZW50
LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkluZGV4OiBXZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTkyNjMpCisrKyBXZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAt
MjU2OSw2ICsyNTY5LDEwIEBACiAJCUE0M0JGNTk5MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJv
Z3Jlc3NFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oICov
OyB9OwogCQlBNDNCRjU5QzExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQzQkY1OUExMTQ5
MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmNwcCAqLzsgfTsKIAkJQTQzQkY1OUQxMTQ5
MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5QjExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVy
UHJvZ3Jlc3MuaCAqLzsgfTsKKwkJQTQ1NDQyNEExMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRl
ckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTQ1NDQyNDgxMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovOyB9
OworCQlBNDU0NDI0QjExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNDkxMTlCMzY2
MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuaCAqLzsgfTsKKwkJQTQ1NDQyNEUxMTlCMzY4
NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE0NTQ0MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRl
ci5jcHAgKi87IH07CisJCUE0NTQ0MjRGMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNEQx
MTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmggKi87IH07CiAJCUE1MTNCM0Q3MTE0QjE2
NjYwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRDRjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRD
b2NvYS5oICovOyB9OwogCQlBNTEzQjNEODExNEIxNjZBMDAxQzQyOUIgLyogS2V5RXZlbnRDb2Nv
YS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3
NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29hLm1tICovOyB9OwogCQlBNTlFM0Mx
RTExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhF
IC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLzsgfTsKQEAgLTgwOTEsNiArODA5NSwxMCBAQAog
CQlBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MUHJvZ3Jlc3NFbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlBMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5k
ZXJQcm9ncmVzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJQcm9ncmVzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlCMTE0
OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNDU0NDI0ODExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ1NDQyNDkxMTlCMzY2MTAwOUJFOTEyIC8qIEhU
TUxNZXRlckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1l
dGVyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDU0NDI0QzExOUIz
Njg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVuZGVyTWV0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNDU0NDI0RDExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQaG9uZS5o
OyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29kZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJUGhvbmUu
bW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJUGhvbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzg4LDYgKzEzMzk2LDggQEAKIAkJCQlBODcxREMxQjBB
MTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmNwcCAqLywKIAkJCQlBODcxREMxODBB
MTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmggKi8sCiAJCQkJQTgwRTc5RkMwQTE5
QzMwNzAwN0ZCOEM1IC8qIEhUTUxNZXRhRWxlbWVudC5pZGwgKi8sCisJCQkJQTQ1NDQyNDgxMTlC
MzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovLAorCQkJCUE0NTQ0MjQ5MTE5
QjM2NjEwMDlCRTkxMiAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi8sCiAJCQkJQThDRkY3OUYwQTE1
Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVtZW50LmNwcCAqLywKIAkJCQlBOENGRjc5RDBBMTU2
OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1lbnQuaCAqLywKIAkJCQkxQUUyQUIwNzBBMUNFNUNG
MDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQuaWRsICovLApAQCAtMTYxNTMsNiArMTYxNjMsOCBA
QAogCQkJCUU0QzI3OTU3MENGOTc0MTkwMEU5N0I5OCAvKiBSZW5kZXJNZWRpYS5oICovLAogCQkJ
CUFCRERGRTczMEE1QzZFNkYwMEEzRTExRCAvKiBSZW5kZXJNZW51TGlzdC5jcHAgKi8sCiAJCQkJ
QUJEREZFNzQwQTVDNkU3MDAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0LmggKi8sCisJCQkJQTQ1
NDQyNEMxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmNwcCAqLywKKwkJCQlBNDU0NDI0
RDExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuaCAqLywKIAkJCQlCQ0VBNDg0MDA5N0Q5
MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmNwcCAqLywKIAkJCQlCQ0VBNDg0MTA5N0Q5MzAy
MDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmggKi8sCiAJCQkJQkM2MEVGQjYwRjMzQTBFNzAwODEy
QTkzIC8qIFJlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgKi8sCkBAIC0xOTE1OSw2ICsxOTE3MSw4
IEBACiAJCQkJMkU5NEY0M0MxMTkyMDdEQTAwQjdGNzVEIC8qIEpTRmlsZVJlYWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkU5NEY0NTExMTkyMDk2QTAwQjdGNzVEIC8qIEZpbGVSZWFkZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NDBBMkQ3MTE5MUE1MjMwMDA4MjBCMCAvKiBTVkdGRUxpZ2h0
aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNDU0NDI0QjExOUIzNjYxMDA5QkU5MTIgLyogSFRN
TE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTQ1NDQyNEYxMTlCMzY4NzAwOUJF
OTEyIC8qIFJlbmRlck1ldGVyLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIxNDI3LDYgKzIxNDQxLDgg
QEAKIAkJCQkyRTk0RjQzQjExOTIwN0RBMDBCN0Y3NUQgLyogSlNGaWxlUmVhZGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJFOTRGNDUwMTE5MjA5NjQwMEI3Rjc1RCAvKiBGaWxlUmVhZGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDBBMkQ1MTE5MUE1MEIwMDA4MjBCMCAvKiBTVkdGRUxp
Z2h0aW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0NTQ0MjRBMTE5QjM2NjEwMDlCRTkxMiAv
KiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0NTQ0MjRFMTE5QjM2
ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDU5MjYzKQorKysgV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzIsNiArMjcyLDkgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTUwog
ICAgICAgICBjYXNlIE1lbnVsaXN0VGV4dEZpZWxkUGFydDoKICAgICAgICAgICAgIG1fdmFsdWUu
aWRlbnQgPSBDU1NWYWx1ZU1lbnVsaXN0VGV4dGZpZWxkOwogICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorICAgICAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1Zh
bHVlTWV0ZXI7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBPdXRlclNwaW5CdXR0
b25QYXJ0OgogICAgICAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlT3V0ZXJTcGluQnV0
dG9uOwogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdv
cmRzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHJl
dmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkod29ya2lu
ZyBjb3B5KQpAQCAtNTg5LDYgKzU4OSw3IEBAIG1lbnVsaXN0CiBtZW51bGlzdC1idXR0b24KIG1l
bnVsaXN0LXRleHQKIG1lbnVsaXN0LXRleHRmaWVsZAorbWV0ZXIKIG91dGVyLXNwaW4tYnV0dG9u
CiBwcm9ncmVzcy1iYXIKIHByb2dyZXNzLWJhci12YWx1ZQpJbmRleDogV2ViQ29yZS9jc3MvaHRt
bC5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvaHRtbC5jc3MJKHJldmlzaW9uIDU5MjYz
KQorKysgV2ViQ29yZS9jc3MvaHRtbC5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTUxNyw2ICs1MTcs
MjAgQEAgb3B0aW9uIHsKICAgICBmb250LXdlaWdodDogbm9ybWFsOwogfQogCisvKiBtZXRlciAq
LworCittZXRlciB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZXRlcjsKKyAgICBkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7CisgICAgaGVpZ2h0OiAxZW07CisgICAgd2lkdGg6IDVlbTsKKyAgICB2
ZXJ0aWNhbC1hbGlnbjogLTAuMmVtOworfQorCittZXRlcjo6LXdlYmtpdC1tZXRlciB7CisgICAg
LXdlYmtpdC1hcHBlYXJhbmNlOiBtZXRlcjsKK30KKwogLyogcHJvZ3Jlc3MgKi8KIAogcHJvZ3Jl
c3MgewpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCShyZXZpc2lvbiA1OTI2MykK
KysrIFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAg
LTk4LDYgKzk4LDcgQEAgZnJhbWVib3JkZXIKIGhlYWRlcnMKIGhlaWdodAogaGlkZGVuCitoaWdo
CiBocmVmCiBocmVmbGFuZwogaHNwYWNlCkBAIC0xMTUsNiArMTE2LDcgQEAgbGluawogbGlzdAog
bG9uZ2Rlc2MKIGxvb3AKK2xvdwogcGxheWNvdW50CiBsb29wZW5kCiBsb29wc3RhcnQKQEAgLTIx
OSw2ICsyMjEsNyBAQCBvbndlYmtpdGFuaW1hdGlvbmVuZAogb253ZWJraXRiZWdpbmZ1bGxzY3Jl
ZW4KIG9ud2Via2l0ZW5kZnVsbHNjcmVlbgogb253ZWJraXR0cmFuc2l0aW9uZW5kCitvcHRpbXVt
CiBwYXR0ZXJuCiBwbGFjZWhvbGRlcgogcGx1Z2ludXJsCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODYxLDYgKzg2MSw5IEBAIHN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0lt
cGwqPiogaW5saW4KICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogICAgICAgICB0YWdMaXN0LmFk
ZChwcm9ncmVzc1RhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwogI2VuZGlmCisjaWYgRU5BQkxFKE1F
VEVSX1RBRykKKyAgICAgICAgdGFnTGlzdC5hZGQobWV0ZXJUYWcubG9jYWxOYW1lKCkuaW1wbCgp
KTsKKyNlbmRpZgogICAgIH0KICAgICByZXR1cm4gJnRhZ0xpc3Q7CiB9CkluZGV4OiBXZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHAJKHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcs
NyBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkhUTUxNZW51
RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE1ldGFFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJI
VE1MTWV0ZXJFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MTW9kRWxlbWVudC5jcHAiCiAjaW5j
bHVkZSAiSFRNTE9MaXN0RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQu
Y3BwIgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdl
YkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJM
RShNRVRFUl9UQUcpCisjaW5jbHVkZSAiSFRNTE1ldGVyRWxlbWVudC5oIgorCisjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkZvcm1EYXRhTGlzdC5oIgorI2luY2x1ZGUgIkhUTUxG
b3JtRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxQYXJz
ZXIuaCIKKyNpbmNsdWRlICJNYXBwZWRBdHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJSZW5kZXJNZXRl
ci5oIgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCitIVE1MTWV0ZXJFbGVtZW50OjpIVE1M
TWV0ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKKyAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIDAs
IENyZWF0ZUhUTUxFbGVtZW50KQoreworICAgIEFTU0VSVChoYXNUYWdOYW1lKG1ldGVyVGFnKSk7
Cit9CisKK1Bhc3NSZWZQdHI8SFRNTE1ldGVyRWxlbWVudD4gSFRNTE1ldGVyRWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxNZXRlckVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpKTsKK30KKworUmVuZGVyT2JqZWN0KiBIVE1MTWV0ZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKK3sKKyAgICByZXR1cm4gbmV3IChh
cmVuYSkgUmVuZGVyTWV0ZXIodGhpcyk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgSFRNTE1l
dGVyRWxlbWVudDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgbWV0ZXIsICgibWV0ZXIiKSk7CisgICAgcmV0dXJu
IG1ldGVyOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KE1hcHBlZEF0dHJpYnV0ZSogYXR0cmlidXRlKQoreworICAgIGlmIChhdHRyaWJ1dGUtPm5hbWUo
KSA9PSB2YWx1ZUF0dHIgfHwgYXR0cmlidXRlLT5uYW1lKCkgPT0gbWluQXR0ciB8fCBhdHRyaWJ1
dGUtPm5hbWUoKSA9PSBtYXhBdHRyIHx8IGF0dHJpYnV0ZS0+bmFtZSgpID09IGxvd0F0dHIgfHwg
YXR0cmlidXRlLT5uYW1lKCkgPT0gaGlnaEF0dHIgfHwgYXR0cmlidXRlLT5uYW1lKCkgPT0gb3B0
aW11bUF0dHIpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJl
cigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0KKyAgICBlbHNlCisgICAgICAgIEhUTUxG
b3JtQ29udHJvbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHJpYnV0ZSk7Cit9CisK
K2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50OjptaW4oKSBjb25zdAoreworICAgIGRvdWJsZSBtaW4g
PSAwOworICAgIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGdldEF0dHJpYnV0ZShtaW5BdHRy
KSwgJm1pbik7CisgICAgcmV0dXJuIG1pbjsKK30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50Ojpz
ZXRNaW4oZG91YmxlIG1pbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFpc2Zpbml0
ZShtaW4pKSB7CisgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgc2V0QXR0cmlidXRlKG1pbkF0dHIsIFN0cmluZzo6bnVtYmVyKG1pbikp
OworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVudDo6bWF4KCkgY29uc3QKK3sKKyAgICBkb3Vi
bGUgbWF4ID0gc3RkOjptYXgoMS4wLCBtaW4oKSk7CisgICAgcGFyc2VUb0RvdWJsZUZvck51bWJl
clR5cGUoZ2V0QXR0cmlidXRlKG1heEF0dHIpLCAmbWF4KTsKKyAgICByZXR1cm4gc3RkOjptYXgo
bWF4LCBtaW4oKSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0TWF4KGRvdWJsZSBt
YXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghaXNmaW5pdGUobWF4KSkgeworICAg
ICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IHNldEF0dHJpYnV0ZShtYXhBdHRyLCBTdHJpbmc6Om51bWJlcihtYXgpKTsKK30KKworZG91Ymxl
IEhUTUxNZXRlckVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKK3sKKyAgICBkb3VibGUgdmFsdWUgPSAw
OworICAgIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGdldEF0dHJpYnV0ZSh2YWx1ZUF0dHIp
LCAmdmFsdWUpOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heCh2YWx1ZSwgbWluKCkpLCBt
YXgoKSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0VmFsdWUoZG91YmxlIHZhbHVl
LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWlzZmluaXRlKHZhbHVlKSkgeworICAg
ICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IHNldEF0dHJpYnV0ZSh2YWx1ZUF0dHIsIFN0cmluZzo6bnVtYmVyKHZhbHVlKSk7Cit9CisKK2Rv
dWJsZSBIVE1MTWV0ZXJFbGVtZW50Ojpsb3coKSBjb25zdAoreworICAgIGRvdWJsZSBsb3cgPSBt
aW4oKTsKKyAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1dGUobG93QXR0
ciksICZsb3cpOworICAgIHJldHVybiBzdGQ6Om1pbihzdGQ6Om1heChsb3csIG1pbigpKSwgbWF4
KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldExvdyhkb3VibGUgbG93LCBFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWlzZmluaXRlKGxvdykpIHsKKyAgICAgICAgZWMg
PSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBzZXRBdHRy
aWJ1dGUobG93QXR0ciwgU3RyaW5nOjpudW1iZXIobG93KSk7Cit9CisKK2RvdWJsZSBIVE1MTWV0
ZXJFbGVtZW50OjpoaWdoKCkgY29uc3QKK3sKKyAgICBkb3VibGUgaGlnaCA9IG1heCgpOworICAg
IHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGdldEF0dHJpYnV0ZShoaWdoQXR0ciksICZoaWdo
KTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgoaGlnaCwgbG93KCkpLCBtYXgoKSk7Cit9
CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0SGlnaChkb3VibGUgaGlnaCwgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgaWYgKCFpc2Zpbml0ZShoaWdoKSkgeworICAgICAgICBlYyA9IE5P
VF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHNldEF0dHJpYnV0
ZShoaWdoQXR0ciwgU3RyaW5nOjpudW1iZXIoaGlnaCkpOworfQorCitkb3VibGUgSFRNTE1ldGVy
RWxlbWVudDo6b3B0aW11bSgpIGNvbnN0Cit7CisgICAgZG91YmxlIG9wdGltdW0gPSAobWF4KCkg
KyBtaW4oKSkgLyAyOworICAgIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKGdldEF0dHJpYnV0
ZShvcHRpbXVtQXR0ciksICZvcHRpbXVtKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgo
b3B0aW11bSwgbWluKCkpLCBtYXgoKSk7Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0
T3B0aW11bShkb3VibGUgb3B0aW11bSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFp
c2Zpbml0ZShvcHRpbXVtKSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIHNldEF0dHJpYnV0ZShvcHRpbXVtQXR0ciwgU3RyaW5n
OjpudW1iZXIob3B0aW11bSkpOworfQorCit9IC8vIG5hbWVzcGFjZQorI2VuZGlmCkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MTWV0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2h0bWwvSFRNTE1l
dGVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgor
ICovCisKKyNpZm5kZWYgSFRNTE1ldGVyRWxlbWVudF9oCisjZGVmaW5lIEhUTUxNZXRlckVsZW1l
bnRfaAorCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRNTE1ldGVyRWxlbWVu
dCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxIVE1MTWV0ZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Kik7CisKKyAgICBkb3VibGUgbWluKCkgY29uc3Q7CisgICAgdm9pZCBzZXRNaW4o
ZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBkb3VibGUgbWF4KCkgY29uc3Q7CisgICAg
dm9pZCBzZXRNYXgoZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBkb3VibGUgdmFsdWUo
KSBjb25zdDsKKyAgICB2b2lkIHNldFZhbHVlKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisg
ICAgZG91YmxlIGxvdygpIGNvbnN0OworICAgIHZvaWQgc2V0TG93KGRvdWJsZSwgRXhjZXB0aW9u
Q29kZSYpOworCisgICAgZG91YmxlIGhpZ2goKSBjb25zdDsKKyAgICB2b2lkIHNldEhpZ2goZG91
YmxlLCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBkb3VibGUgb3B0aW11bSgpIGNvbnN0OworICAg
IHZvaWQgc2V0T3B0aW11bShkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworcHJpdmF0ZToKKyAg
ICBIVE1MTWV0ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisg
ICAgdmlydHVhbCBib29sIGlzT3B0aW9uYWxGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KKworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBmb3JtQ29udHJvbFR5cGUo
KSBjb25zdDsKKworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5k
ZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisKKyAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRB
dHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCisjZW5k
aWYKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKK21vZHVsZSBodG1sIHsKKyAgICBpbnRlcmZhY2Ug
WworICAgICAgICBDb25kaXRpb25hbD1NRVRFUl9UQUcKKyAgICBdIEhUTUxNZXRlckVsZW1lbnQg
OiBIVE1MRWxlbWVudCB7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgdmFsdWUK
KyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAg
ICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBtaW4KKyAgICAgICAgICAgICAgICAgICAgIHNl
dHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRv
dWJsZSBtYXgKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBsb3cKKyAgICAgICAgICAgICAg
ICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIGRvdWJsZSBoaWdoCisgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgb3B0aW11bQor
ICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZvcm07CisgICAgfTsKK30KSW5k
ZXg6IFdlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL0hUTUxUYWdOYW1lcy5pbgkocmV2aXNpb24gNTkyNjMpCisrKyBXZWJDb3JlL2h0bWwvSFRN
TFRhZ05hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3Nyw3IEBAIG1hcCBjcmVhdGVX
aXRoTmV3CiBtYXJxdWVlIGNyZWF0ZVdpdGhOZXcKIG1lbnUgY3JlYXRlV2l0aE5ldwogbWV0YSBj
cmVhdGVXaXRoTmV3CittZXRlciBpbnRlcmZhY2VOYW1lPUhUTUxNZXRlckVsZW1lbnQsIGNvbmRp
dGlvbmFsPU1FVEVSX1RBRwogbmF2IGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQKIG5vYnIgaW50
ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogbm9lbWJlZCBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50
CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gNTkyNjMpCisrKyBXZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDEyLDYgKzQxMiw5IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1hcnF1ZWVFbGVtZW50Q29uc3RydWN0b3IgSFRN
TE1hcnF1ZWVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1lbnVFbGVtZW50Q29uc3Ry
dWN0b3IgSFRNTE1lbnVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1ldGFFbGVtZW50
Q29uc3RydWN0b3IgSFRNTE1ldGFFbGVtZW50OworI2lmIGRlZmluZWQoRU5BQkxFX01FVEVSX1RB
RykgJiYgRU5BQkxFX01FVEVSX1RBRworICAgICAgICBhdHRyaWJ1dGUgSFRNTE1ldGVyRWxlbWVu
dENvbnN0cnVjdG9yIEhUTUxNZXRlckVsZW1lbnQ7CisjZW5kaWYKICAgICAgICAgYXR0cmlidXRl
IEhUTUxNb2RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1vZEVsZW1lbnQ7CiAgICAgICAgIGF0dHJp
YnV0ZSBIVE1MT0xpc3RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE9MaXN0RWxlbWVudDsKICAgICAg
ICAgYXR0cmlidXRlIEhUTUxPYmplY3RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE9iamVjdEVsZW1l
bnQ7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAkocmV2aXNpb24gNTkyNjMpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL1RoZW1lVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBl
bnVtIENvbnRyb2xQYXJ0IHsKICAgICBNZWRpYVNlZWtGb3J3YXJkQnV0dG9uUGFydCwgTWVkaWFS
ZXdpbmRCdXR0b25QYXJ0LCBNZWRpYVJldHVyblRvUmVhbHRpbWVCdXR0b25QYXJ0LCBNZWRpYVRv
Z2dsZUNsb3NlZENhcHRpb25zQnV0dG9uUGFydCwKICAgICBNZWRpYVNsaWRlclBhcnQsIE1lZGlh
U2xpZGVyVGh1bWJQYXJ0LCBNZWRpYVZvbHVtZVNsaWRlckNvbnRhaW5lclBhcnQsIE1lZGlhVm9s
dW1lU2xpZGVyUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJUaHVtYlBhcnQsCiAgICAgTWVkaWFDb250
cm9sc0JhY2tncm91bmRQYXJ0LCBNZWRpYUN1cnJlbnRUaW1lUGFydCwgTWVkaWFUaW1lUmVtYWlu
aW5nUGFydCwKLSAgICBNZW51bGlzdFBhcnQsIE1lbnVsaXN0QnV0dG9uUGFydCwgTWVudWxpc3RU
ZXh0UGFydCwgTWVudWxpc3RUZXh0RmllbGRQYXJ0LCBPdXRlclNwaW5CdXR0b25QYXJ0LCBQcm9n
cmVzc0JhclBhcnQsIFByb2dyZXNzQmFyVmFsdWVQYXJ0LAorICAgIE1lbnVsaXN0UGFydCwgTWVu
dWxpc3RCdXR0b25QYXJ0LCBNZW51bGlzdFRleHRQYXJ0LCBNZW51bGlzdFRleHRGaWVsZFBhcnQs
IE1ldGVyUGFydCwgT3V0ZXJTcGluQnV0dG9uUGFydCwgUHJvZ3Jlc3NCYXJQYXJ0LCBQcm9ncmVz
c0JhclZhbHVlUGFydCwKICAgICBTbGlkZXJIb3Jpem9udGFsUGFydCwgU2xpZGVyVmVydGljYWxQ
YXJ0LCBTbGlkZXJUaHVtYkhvcml6b250YWxQYXJ0LAogICAgIFNsaWRlclRodW1iVmVydGljYWxQ
YXJ0LCBDYXJldFBhcnQsIFNlYXJjaEZpZWxkUGFydCwgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFy
dCwKICAgICBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydCwgU2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uUGFydCwKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAJKHJldmlzaW9u
IDApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2lmIEVOQUJMRShNRVRFUl9UQUcpCisKKyNpbmNsdWRlICJSZW5kZXJNZXRlci5oIgorCisjaW5j
bHVkZSAiSFRNTE1ldGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCisKK3Vz
aW5nIG5hbWVzcGFjZSBzdGQ7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKKworUmVuZGVyTWV0ZXI6OlJlbmRlck1ldGVyKEhUTUxNZXRlckVsZW1l
bnQqIGVsZW1lbnQpCisgICAgOiBSZW5kZXJCbG9jayhlbGVtZW50KQoreworfQorCit2b2lkIFJl
bmRlck1ldGVyOjpsYXlvdXQoKQoreworICAgIEFTU0VSVChuZWVkc0xheW91dCgpKTsKKworICAg
IExheW91dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMsIGNoZWNrRm9yUmVwYWludER1cmluZ0xh
eW91dCgpKTsKKworICAgIGNhbGNXaWR0aCgpOworICAgIGNhbGNIZWlnaHQoKTsKKworICAgIG1f
b3ZlcmZsb3cuY2xlYXIoKTsKKworICAgIHJlcGFpbnRlci5yZXBhaW50QWZ0ZXJMYXlvdXQoKTsK
KworICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKK30KKwordm9pZCBSZW5kZXJNZXRlcjo6dXBk
YXRlRnJvbUVsZW1lbnQoKQoreworICAgIHJlcGFpbnQoKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgUmVuZGVyTWV0ZXJfaAorI2Rl
ZmluZSBSZW5kZXJNZXRlcl9oCisKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorI2luY2x1ZGUgIlJl
bmRlckJsb2NrLmgiCisjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgSFRNTE1ldGVyRWxlbWVudDsKKworY2xhc3MgUmVuZGVyTWV0ZXIgOiBw
dWJsaWMgUmVuZGVyQmxvY2sgeworcHVibGljOgorICAgIFJlbmRlck1ldGVyKEhUTUxNZXRlckVs
ZW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUo
KSBjb25zdCB7IHJldHVybiAiUmVuZGVyTWV0ZXIiOyB9CisgICAgdmlydHVhbCBib29sIGlzTWV0
ZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOwor
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVGcm9tRWxlbWVudCgpOworfTsKKworaW5saW5lIFJlbmRl
ck1ldGVyKiB0b1JlbmRlck1ldGVyKFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAgIEFTU0VS
VCghb2JqZWN0IHx8IG9iamVjdC0+aXNNZXRlcigpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
UmVuZGVyTWV0ZXIqPihvYmplY3QpOworfQorCisvLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRv
aW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCit2b2lkIHRvUmVuZGVyTWV0ZXIoY29uc3QgUmVuZGVy
TWV0ZXIqKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKKworI2VuZGlmIC8v
IFJlbmRlck1ldGVyX2gKKwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHJldmlzaW9u
IDU5MjYzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI3Niw2ICsyNzYsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzTGlzdE1h
cmtlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWVkaWEo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc01lbnVMaXN0KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgIHZpcnR1
YWwgYm9vbCBpc01ldGVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogI2lmIEVO
QUJMRShQUk9HUkVTU19UQUcpCiAgICAgdmlydHVhbCBib29sIGlzUHJvZ3Jlc3MoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3Bw
CShyZXZpc2lvbiA1OTI2MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsMTEgQEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogCisjaWYgRU5BQkxFKE1FVEVS
X1RBRykKKyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyTWV0
ZXIuaCIKKyNlbmRpZgorCiAvLyBUaGUgbWV0aG9kcyBpbiB0aGlzIGZpbGUgYXJlIHNoYXJlZCBi
eSBhbGwgdGhlbWVzIG9uIGV2ZXJ5IHBsYXRmb3JtLgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0yMTQsNiArMjE5LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKENTU1N0eWxl
U2UKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gYWRq
dXN0UHJvZ3Jlc3NCYXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwogI2VuZGlmCisjaWYgRU5B
QkxFKE1ldGVyX1RBRykKKyAgICAgICAgY2FzZSBNZXRlclBhcnQ6CisgICAgICAgICAgICByZXR1
cm4gYWRqdXN0TWV0ZXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworI2VuZGlmCiAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICB9CkBAIC0yNzIsNiArMjgxLDEwIEBA
IGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KFJlbmRlck9iamVjdCogbywKICNlbmRpZgogICAgICAg
ICBjYXNlIE1lbnVsaXN0UGFydDoKICAgICAgICAgICAgIHJldHVybiBwYWludE1lbnVMaXN0KG8s
IHBhaW50SW5mbywgcik7CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAgICAgICAgY2FzZSBNZXRl
clBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRNZXRlcihvLCBwYWludEluZm8sIHIpOwor
I2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAgY2FzZSBQcm9ncmVzc0Jh
clBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRQcm9ncmVzc0JhcihvLCBwYWludEluZm8s
IHIpOwpAQCAtMzY2LDYgKzM3OSw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVyT25s
eShSZW5kZXIKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoKICAgICAgICAgY2FzZSBC
dXR0b25QYXJ0OgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKKyNpZiBFTkFCTEUoTUVURVJf
VEFHKQorICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyNlbmRpZgogI2lmIEVOQUJMRShQUk9HUkVT
U19UQUcpCiAgICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgogI2VuZGlmCkBAIC00MDQsNiAr
NDIwLDkgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyhSZW5kZQogICAgICAg
ICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIEJ1dHRvblBhcnQ6CiAgICAg
ICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAgICAgIGNh
c2UgTWV0ZXJQYXJ0OgorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAg
Y2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAjZW5kaWYKQEAgLTg2Nyw2ICs4ODYsNjEgQEAgdm9pZCBS
ZW5kZXJUaGVtZTo6YWRqdXN0TWVudUxpc3RTdHlsZShDUwogewogfQogCisjaWYgRU5BQkxFKE1F
VEVSX1RBRykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5bGUoQ1NTU3R5bGVTZWxl
Y3RvciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0Cit7CisgICAgc3R5bGUt
PnNldEJveFNoYWRvdygwKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnRNZXRlcihSZW5k
ZXJPYmplY3QqIHJlbmRlck9iamVjdCwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICAvLyBTb21lIHBsYXRmb3JtcyBk
byBub3QgaGF2ZSBhIG5hdGl2ZSBnYXVnZSB3aWRnZXQsIHNvIHdlIGRyYXcgaGVyZSBhIGRlZmF1
bHQgaW1wbGVtZW50YXRpb24uCisgICAgUmVuZGVyTWV0ZXIqIHJlbmRlck1ldGVyID0gdG9SZW5k
ZXJNZXRlcihyZW5kZXJPYmplY3QpOworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHJlbmRlck9i
amVjdC0+c3R5bGUoKTsKKyAgICBpbnQgbGVmdCA9IHN0eWxlLT5ib3JkZXJMZWZ0KCkud2lkdGgo
KSArIHN0eWxlLT5wYWRkaW5nTGVmdCgpLnZhbHVlKCk7CisgICAgaW50IHRvcCA9IHN0eWxlLT5i
b3JkZXJUb3AoKS53aWR0aCgpICsgc3R5bGUtPnBhZGRpbmdUb3AoKS52YWx1ZSgpOworICAgIGlu
dCByaWdodCA9IHN0eWxlLT5ib3JkZXJSaWdodCgpLndpZHRoKCkgKyBzdHlsZS0+cGFkZGluZ1Jp
Z2h0KCkudmFsdWUoKTsKKyAgICBpbnQgYm90dG9tID0gc3R5bGUtPmJvcmRlckJvdHRvbSgpLndp
ZHRoKCkgKyBzdHlsZS0+cGFkZGluZ0JvdHRvbSgpLnZhbHVlKCk7CisgICAgRmxvYXRSZWN0IGlu
bmVyUmVjdChyZWN0LngoKSArIGxlZnQsIHJlY3QueSgpICsgdG9wLCByZWN0LndpZHRoKCkgLSBs
ZWZ0IC0gcmlnaHQsIHJlY3QuaGVpZ2h0KCkgLSB0b3AgLSBib3R0b20pOworCisgICAgSFRNTE1l
dGVyRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZXRlckVsZW1lbnQqPihyZW5k
ZXJNZXRlci0+bm9kZSgpKTsKKyAgICBkb3VibGUgbWluID0gZWxlbWVudC0+bWluKCk7CisgICAg
ZG91YmxlIG1heCA9IGVsZW1lbnQtPm1heCgpOworICAgIGRvdWJsZSB2YWx1ZSA9IGVsZW1lbnQt
PnZhbHVlKCk7CisKKyAgICBpZiAobWluID49IG1heCkgeworICAgICAgICBwYWludEluZm8uY29u
dGV4dC0+ZmlsbFJlY3QoaW5uZXJSZWN0LCBDb2xvcjo6YmxhY2ssIHN0eWxlLT5jb2xvclNwYWNl
KCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgLy8gUGFpbnQgdGhlIGJh
Y2tncm91bmQgZmlyc3QKKyAgICBwYWludEluZm8uY29udGV4dC0+ZmlsbFJlY3QoaW5uZXJSZWN0
LCBDb2xvcjo6bGlnaHRHcmF5LCBzdHlsZS0+Y29sb3JTcGFjZSgpKTsKKworICAgIEZsb2F0UmVj
dCB2YWx1ZVJlY3Q7CisKKyAgICBpZiAocmVjdC53aWR0aCgpIDwgcmVjdC5oZWlnaHQoKSkgewor
ICAgICAgICAvLyBWZXJ0aWNhbCBnYXVnZQorICAgICAgICBkb3VibGUgc2NhbGUgPSBpbm5lclJl
Y3QuaGVpZ2h0KCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0LnNldExvY2F0aW9u
KEZsb2F0UG9pbnQoaW5uZXJSZWN0LngoKSwgaW5uZXJSZWN0LnkoKSArIChtYXggLSB2YWx1ZSkg
KiBzY2FsZSkpOworICAgICAgICB2YWx1ZVJlY3Quc2V0U2l6ZShGbG9hdFNpemUoaW5uZXJSZWN0
LndpZHRoKCksICh2YWx1ZSAtIG1pbikgKiBzY2FsZSkpOworICAgIH0gZWxzZSBpZiAocmVuZGVy
TWV0ZXItPnN0eWxlKCktPmRpcmVjdGlvbigpID09IFJUTCkgeworICAgICAgICAvLyByaWdodCB0
byBsZWZ0IGhvcml6b250YWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxlID0gaW5uZXJSZWN0
LndpZHRoKCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0LnNldExvY2F0aW9uKEZs
b2F0UG9pbnQoaW5uZXJSZWN0LngoKSArIChtYXggLSB2YWx1ZSkgKiBzY2FsZSwgaW5uZXJSZWN0
LnkoKSkpOworICAgICAgICB2YWx1ZVJlY3Quc2V0U2l6ZShGbG9hdFNpemUoKHZhbHVlIC0gbWlu
KSAqIHNjYWxlLCBpbm5lclJlY3QuaGVpZ2h0KCkpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAv
LyBsZWZ0IHRvIHJpZ2h0IGhvcml6b250YWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxlID0g
aW5uZXJSZWN0LndpZHRoKCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0LnNldExv
Y2F0aW9uKGlubmVyUmVjdC5sb2NhdGlvbigpKTsKKyAgICAgICAgdmFsdWVSZWN0LnNldFNpemUo
RmxvYXRTaXplKCh2YWx1ZSAtIG1pbikgKiBzY2FsZSwgaW5uZXJSZWN0LmhlaWdodCgpKSk7Cisg
ICAgfQorICAgIGlmICghdmFsdWVSZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcGFpbnRJbmZvLmNv
bnRleHQtPmZpbGxSZWN0KHZhbHVlUmVjdCwgQ29sb3I6OmJsYWNrLCBzdHlsZS0+Y29sb3JTcGFj
ZSgpKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFBST0dS
RVNTX1RBRykKIGRvdWJsZSBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyopIGNvbnN0CiB7CkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmgJKHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaAkod29ya2luZyBjb3B5KQpAQCAtMjM3LDYgKzIzNywxMSBAQCBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvcios
IFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludE1l
bnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KIAorI2lmIEVOQUJMRShNRVRFUl9U
QUcpCisgICAgdmlydHVhbCB2b2lkIGFkanVzdE1ldGVyU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvcios
IFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludE1l
dGVyKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogICAgIHZpcnR1
YWwgdm9pZCBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJT
dHlsZSosIEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRQcm9ncmVzc0Jh
cihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1OTI2MykKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEw
LTA1LTEyICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFsIHN1cHBvcnQgZm9y
IEhUTUxNZXRlckVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM4MTQwCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQt
dGVzdHM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0
LXRlc3RzL1RFTVBMQVRFLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRl
ckVsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1tZXRlci1wcm9wZXJ0aWVzLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9z
ZXQtbWV0ZXItcHJvcGVydGllcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBw
ZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0v
cXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
cXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLmNoZWNr
c3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVt
ZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMC0wNS0xMiAg
TWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgTm90IHJl
dmlld2VkLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRl
ci1lbGVtZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1l
dGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSBAQAorPGh0bWw+PGJvZHk+PG1ldGVyIG1pbj0xMCB2YWx1ZT0zMCBtYXg9
MTAwPjwvbWV0ZXI+PG1ldGVyIG1pbj0wIHZhbHVlPTcwIG1heD0xMDAgc3R5bGU9IndpZHRoOjEw
cHg7IGhlaWdodDo2MHB4OyI+PC9tZXRlcj48L2JvZHk+PC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVu
dC9zZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3OCBAQAorVGVzdCBzZXR0aW5nIHZh
bGlkIGFuZCBpbnZhbGlkIHByb3BlcnRpZXMgb2YgSFRNTE1ldGVyRWxlbWVudC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3QgdmFsdWVzIGJlZm9yZSBwcm9wZXJ0aWVzIHdl
cmUgc2V0CitQQVNTIG0ubWluIGlzIDAKK1BBU1MgbS52YWx1ZSBpcyAwCitQQVNTIG0ubWF4IGlz
IDEKK1BBU1MgbS5sb3cgaXMgMAorUEFTUyBtLmhpZ2ggaXMgMQorUEFTUyBtLm9wdGltdW0gaXMg
MC41CitTZXQgdmFsaWQgdmFsdWVzCitQQVNTIG0ubWluIGlzIC0xMAorUEFTUyBtLnZhbHVlIGlz
IDcwCitQQVNTIG0ubWF4IGlzIDEwMAorUEFTUyBtLmxvdyBpcyAxMC4xCitQQVNTIG0uaGlnaCBp
cyA5OS41CitQQVNTIG0ub3B0aW11bSBpcyA3MAorU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIg
dmFsdWVzIC0gMQorUEFTUyBtLm1pbiBpcyAtMTAKK1BBU1MgbS52YWx1ZSBpcyAxMDAKK1BBU1Mg
bS5tYXggaXMgMTAwCitQQVNTIG0ubG93IGlzIDEwMAorUEFTUyBtLmhpZ2ggaXMgMTAwCitQQVNT
IG0ub3B0aW11bSBpcyAwCitTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAyCitQ
QVNTIG0ubWluIGlzIDIwMC4wCitQQVNTIG0udmFsdWUgaXMgMjAwLjAKK1BBU1MgbS5tYXggaXMg
MjAwLjAKK1BBU1MgbS5sb3cgaXMgMjAwLjAKK1NldCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZh
bHVlcyAtIDMKK1BBU1MgbS5taW4gaXMgMTAwLjAKK1BBU1MgbS52YWx1ZSBpcyAxMDAuMAorUEFT
UyBtLm1heCBpcyAxMDAuMAorUEFTUyBtLmxvdyBpcyAxMDAuMAorUEFTUyBtLmhpZ2ggaXMgMTAw
LjAKK1BBU1MgbS5vcHRpbXVtIGlzIDEwMC4wCitTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2
YWx1ZXMgLSA0CitQQVNTIG0ubWluIGlzIDAuMAorUEFTUyBtLnZhbHVlIGlzIDIwMC4wCitQQVNT
IG0ubWF4IGlzIDIwMC4wCitQQVNTIG0ubG93IGlzIDAuMAorUEFTUyBtLmhpZ2ggaXMgMjAwLjAK
K1BBU1MgbS5vcHRpbXVtIGlzIDEyLjUKK1NldCB2YWx1ZSB0byBpbnZhbGlkIHZhbHVlCitQQVNT
IG0udmFsdWUgPSAidmFsdWUiOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURf
RVJSOiBET00gRXhjZXB0aW9uIDkuCitTZXQgbWluIHRvIE5hTgorUEFTUyBtLm1pbiA9IE5hTjsg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5
LgorU2V0IG1heCB0byBJbmZpbml0eQorUEFTUyBtLm1heCA9IEluZmluaXR5OyB0aHJldyBleGNl
cHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitTZXQgbG93
IHRvIGludmFsaWQgdmFsdWUKK1BBU1MgbS5sb3cgPSAibG93IjsgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorU2V0IGhpZ2ggdG8gTmFO
CitQQVNTIG0uaGlnaCA9IE5hTjsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVE
X0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorU2V0IG9wdGltdW0gdG8gSW5maW5pdHkKK1BBU1MgbS5v
cHRpbXVtID0gSW5maW5pdHk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9F
UlI6IERPTSBFeGNlcHRpb24gOS4KK1NldCBhdHRyaWJ1dGVzIHRvIHZhbGlkIG51bWJlcnMKK1BB
U1MgbS52YWx1ZSBpcyA1CitQQVNTIG0ubWF4IGlzIDEwCitQQVNTIHBhcnNlSW50KG0uZ2V0QXR0
cmlidXRlKCd2YWx1ZScpKSBpcyA1CitQQVNTIHBhcnNlSW50KG0uZ2V0QXR0cmlidXRlKCdtYXgn
KSkgaXMgMTAKK1NldCBhdHRyaWJ1dGVzIHRvIGludmFsaWQgdmFsdWVzCitQQVNTIG0udmFsdWUg
aXMgMAorUEFTUyBtLm1heCBpcyAxCitQQVNTIG0uZ2V0QXR0cmlidXRlKCd2YWx1ZScpIGlzICdB
QkMnCitQQVNTIG0uZ2V0QXR0cmlidXRlKCdtYXgnKSBpcyAnIycKK1NldCBhdHRyaWJ1dGVzIHRv
IG51bWJlcnMgd2l0aCBsZWFkaW5nIHNwYWNlcworUEFTUyBtLnZhbHVlIGlzIDAKK1BBU1MgbS5t
aW4gaXMgMAorUEFTUyBtLm1heCBpcyAxCitQQVNTIG0ubG93IGlzIDAKK1BBU1MgbS5oaWdoIGlz
IDEKK1BBU1MgbS5vcHRpbXVtIGlzIDAuNQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRl
ckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3Nl
dC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
c2V0LW1ldGVyLXByb3BlcnRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMv
VEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0
ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvVEVNUExBVEUu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1tZXRlci1wcm9wZXJ0aWVzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1t
ZXRlci1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LW1ldGVyLXByb3BlcnRpZXMuanMJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTMwIEBACitkZXNjcmlwdGlvbignVGVzdCBzZXR0aW5nIHZh
bGlkIGFuZCBpbnZhbGlkIHByb3BlcnRpZXMgb2YgSFRNTE1ldGVyRWxlbWVudC4nKTsKKwordmFy
IG0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRlcicpOworCitkZWJ1ZygiVGVzdCB2YWx1
ZXMgYmVmb3JlIHByb3BlcnRpZXMgd2VyZSBzZXQiKTsKK3Nob3VsZEJlKCJtLm1pbiIsICIwIik7
CitzaG91bGRCZSgibS52YWx1ZSIsICIwIik7CitzaG91bGRCZSgibS5tYXgiLCAiMSIpOworc2hv
dWxkQmUoIm0ubG93IiwgIjAiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiMSIpOworc2hvdWxkQmUo
Im0ub3B0aW11bSIsICIwLjUiKTsKKworZGVidWcoIlNldCB2YWxpZCB2YWx1ZXMiKTsKK20ubWlu
ID0gIi0xMCI7CittLnZhbHVlID0gN2UxOworbS5tYXggPSAiMWUyIjsKK20ubG93ID0gIjEwLjEi
OworbS5oaWdoID0gIjk5LjUiOworbS5vcHRpbXVtID0gIjcwIjsKK3Nob3VsZEJlKCJtLm1pbiIs
ICItMTAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjcwIik7CitzaG91bGRCZSgibS5tYXgiLCAi
MTAwIik7CitzaG91bGRCZSgibS5sb3ciLCAiMTAuMSIpOworc2hvdWxkQmUoIm0uaGlnaCIsICI5
OS41Iik7CitzaG91bGRCZSgibS5vcHRpbXVtIiwgIjcwIik7CisKK2RlYnVnKCJTZXQgYXR0cmli
dXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAxIik7CittLm1pbiA9IC0xMDsKK20udmFsdWUgPSAy
MDA7CittLm1heCA9IDEwMC4wOworbS5sb3cgPSAyMDA7CittLmhpZ2ggPSAtNTA7CittLm9wdGlt
dW0gPSBudWxsOworc2hvdWxkQmUoIm0ubWluIiwgIi0xMCIpOworc2hvdWxkQmUoIm0udmFsdWUi
LCAiMTAwIik7CitzaG91bGRCZSgibS5tYXgiLCAiMTAwIik7CitzaG91bGRCZSgibS5sb3ciLCAi
MTAwIik7CitzaG91bGRCZSgibS5oaWdoIiwgIjEwMCIpOworc2hvdWxkQmUoIm0ub3B0aW11bSIs
ICIwIik7CisKK2RlYnVnKCJTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAyIik7
CittLm1pbiA9IDIwMC4wOworbS52YWx1ZSA9IC0yMDAuMDsKK20ubWF4ID0gMDsKK20ubG93ID0g
bnVsbDsKK3Nob3VsZEJlKCJtLm1pbiIsICIyMDAuMCIpOworc2hvdWxkQmUoIm0udmFsdWUiLCAi
MjAwLjAiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIyMDAuMCIpOworc2hvdWxkQmUoIm0ubG93Iiwg
IjIwMC4wIik7CisKK2RlYnVnKCJTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAz
Iik7CittLm1pbiA9IDEwMC4wOworbS52YWx1ZSA9IDIwMC4wOworbS5tYXggPSA1MDsKK20ubG93
ID0gMTA7CittLmhpZ2ggPSAxNWUxOworbS5vcHRpbXVtID0gMTIuNTsKK3Nob3VsZEJlKCJtLm1p
biIsICIxMDAuMCIpOworc2hvdWxkQmUoIm0udmFsdWUiLCAiMTAwLjAiKTsKK3Nob3VsZEJlKCJt
Lm1heCIsICIxMDAuMCIpOworc2hvdWxkQmUoIm0ubG93IiwgIjEwMC4wIik7CitzaG91bGRCZSgi
bS5oaWdoIiwgIjEwMC4wIik7CitzaG91bGRCZSgibS5vcHRpbXVtIiwgIjEwMC4wIik7CisKK2Rl
YnVnKCJTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSA0Iik7CittLm1pbiA9IDAu
MDsKK20udmFsdWUgPSAyNTAuMDsKK20ubWF4ID0gMjAwOworbS5sb3cgPSAtMTA7CittLmhpZ2gg
PSAxNWUyOworbS5vcHRpbXVtID0gMTIuNTsKK3Nob3VsZEJlKCJtLm1pbiIsICIwLjAiKTsKK3No
b3VsZEJlKCJtLnZhbHVlIiwgIjIwMC4wIik7CitzaG91bGRCZSgibS5tYXgiLCAiMjAwLjAiKTsK
K3Nob3VsZEJlKCJtLmxvdyIsICIwLjAiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiMjAwLjAiKTsK
K3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMTIuNSIpOworCitkZWJ1ZygiU2V0IHZhbHVlIHRvIGlu
dmFsaWQgdmFsdWUiKTsKK3Nob3VsZFRocm93KCdtLnZhbHVlID0gInZhbHVlIjsnLCAnIkVycm9y
OiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5IicpOworCitkZWJ1ZygiU2V0IG1p
biB0byBOYU4iKTsKK3Nob3VsZFRocm93KCdtLm1pbiA9IE5hTjsnLCAnIkVycm9yOiBOT1RfU1VQ
UE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5IicpOworCitkZWJ1ZygiU2V0IG1heCB0byBJbmZp
bml0eSIpOworc2hvdWxkVGhyb3coJ20ubWF4ID0gSW5maW5pdHk7JywgJyJFcnJvcjogTk9UX1NV
UFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOSInKTsKKworZGVidWcoIlNldCBsb3cgdG8gaW52
YWxpZCB2YWx1ZSIpOworc2hvdWxkVGhyb3coJ20ubG93ID0gImxvdyI7JywgJyJFcnJvcjogTk9U
X1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOSInKTsKKworZGVidWcoIlNldCBoaWdoIHRv
IE5hTiIpOworc2hvdWxkVGhyb3coJ20uaGlnaCA9IE5hTjsnLCAnIkVycm9yOiBOT1RfU1VQUE9S
VEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5IicpOworCitkZWJ1ZygiU2V0IG9wdGltdW0gdG8gSW5m
aW5pdHkiKTsKK3Nob3VsZFRocm93KCdtLm9wdGltdW0gPSBJbmZpbml0eTsnLCAnIkVycm9yOiBO
T1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5IicpOworCitkZWJ1ZygiU2V0IGF0dHJp
YnV0ZXMgdG8gdmFsaWQgbnVtYmVycyIpOworbS5zZXRBdHRyaWJ1dGUoIm1pbiIsIDApOworbS5z
ZXRBdHRyaWJ1dGUoInZhbHVlIiwgNSk7CittLnNldEF0dHJpYnV0ZSgibWF4IiwgMTApOworc2hv
dWxkQmUoIm0udmFsdWUiLCAiNSIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwIik7CitzaG91bGRC
ZSgicGFyc2VJbnQobS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpIiwgIjUiKTsKK3Nob3VsZEJlKCJw
YXJzZUludChtLmdldEF0dHJpYnV0ZSgnbWF4JykpIiwgIjEwIik7CisKK2RlYnVnKCJTZXQgYXR0
cmlidXRlcyB0byBpbnZhbGlkIHZhbHVlcyIpOworbS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIkFC
QyIpOworbS5zZXRBdHRyaWJ1dGUoIm1heCIsICIjIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIw
Iik7CitzaG91bGRCZSgibS5tYXgiLCAiMSIpOworc2hvdWxkQmUoIm0uZ2V0QXR0cmlidXRlKCd2
YWx1ZScpIiwgIidBQkMnIik7CitzaG91bGRCZSgibS5nZXRBdHRyaWJ1dGUoJ21heCcpIiwgIicj
JyIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gbnVtYmVycyB3aXRoIGxlYWRpbmcgc3Bh
Y2VzIik7CittLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiIDUiKTsKK20uc2V0QXR0cmlidXRlKCJt
aW4iLCAiIDUiKTsKK20uc2V0QXR0cmlidXRlKCJtYXgiLCAiIDUiKTsKK20uc2V0QXR0cmlidXRl
KCJsb3ciLCAiIDUiKTsKK20uc2V0QXR0cmlidXRlKCJoaWdoIiwgIiA1Iik7CittLnNldEF0dHJp
YnV0ZSgib3B0aW11bSIsICIgNSIpOworc2hvdWxkQmUoIm0udmFsdWUiLCAiMCIpOworc2hvdWxk
QmUoIm0ubWluIiwgIjAiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIxIik7CitzaG91bGRCZSgibS5s
b3ciLCAiMCIpOworc2hvdWxkQmUoIm0uaGlnaCIsICIxIik7CitzaG91bGRCZSgibS5vcHRpbXVt
IiwgIjAuNSIpOworCisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CShyZXZpc2lvbiA1OTI2MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjYyNSw2ICsyNjI1LDEwIEBA
IEJVRzM4MjI3IERFRkVSIDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWwKIEJVRzM4MjI3IERFRkVS
IDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5o
dG1sID0gVEVYVAogQlVHMzgyMjcgU0tJUCA6IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQv
cHJvZ3Jlc3MtYmFyLXZhbHVlLXBzZXVkby1lbGVtZW50Lmh0bWwgPSBGQUlMCiAKKy8vIEhUTUxN
ZXRlckVsZW1lbnQgcmVsYXRlZCB0ZXN0cyBkZWZlcnJlZCBkdWUgdG8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDc0LgorQlVHMzcwNzQgREVGRVIgOiBmYXN0L2Rv
bS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbCA9IE1JU1NJTkcKK0JVRzM3MDc0
IERFRkVSIDogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5o
dG1sID0gVEVYVAorCiAvLyBXZWJLaXQgcm9sbCA1NjAwNCAtPiA1NjAyNgogQlVHMzgyNzggOiBm
YXN0L2V2ZW50cy9jb250aW51b3VzLXBsYXRmb3JtLXdoZWVsZXZlbnQtaW4tc2Nyb2xsaW5nLWRp
di5odG1sID0gVElNRU9VVAogQlVHMzgyNzggOiBmYXN0L2V2ZW50cy9wbGF0Zm9ybS13aGVlbGV2
ZW50LWluLXNjcm9sbGluZy1kaXYuaHRtbCA9IFRJTUVPVVQKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9Ta2lwcGVkCShyZXZpc2lvbiA1OTI2MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC01ODMyLDYgKzU4MzIsMTAgQEAgZmFzdC9kb20vSFRN
TFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVu
dC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5odG1sCiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVt
ZW50L3Byb2dyZXNzLWJhci12YWx1ZS1wc2V1ZG8tZWxlbWVudC5odG1sCiAKKyMgbWV0ZXIgZWxl
bWVudCBpcyBub3Qgc3VwcG9ydGVkCitmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVs
ZW1lbnQuaHRtbAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGll
cy5odG1sCisKICMgTmVlZHMgbW9jayBzdXBwb3J0LCBhbmQgYnVpbGQgc2xhdmUgR2VvbG9jYXRp
b24gc2VydmljZQogIyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM2MDUzCiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9tYXhpbXVtLWFnZS5odG1sCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZAkocmV2aXNpb24gNTkyNjMpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMTQyLDYgKzE0MiwxMCBAQCBmYXN0
L2Zvcm1zL211bHRpcGxlLWZvcm0tc3VibWlzc2lvbi1wcm90CiAjIFRoZSBhbmltYXRpb24gY2F1
c2VzIHRoZSByZXN1bHQgb2YgdGhpcyB0ZXN0IHRvIGRlcGVuZCBvbiB0aGUgc3BlZWQgb2YgZXhl
Y3V0aW5nIGl0LCBhbmQgdGhhdCB3aWxsIGNhdXNlIGl0IHRvIGJlIGZsYWt5CiBmYXN0L2RvbS9I
VE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWVsZW1lbnQuaHRtbAogCisjIG1ldGVyIGVsZW1l
bnQgaXMgbm90IHN1cHBvcnRlZAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVt
ZW50Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMu
aHRtbAorCiAjIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3VyaS1saXN0Jykgbm90
IGNvcnJlY3RseSBpbXBsZW1lbnRlZCBvbiBNYWMKIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhVHJh
bnNmZXItc2V0RGF0YS1nZXREYXRhLmh0bWwKIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLmNoZWNr
c3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxN
ZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0
ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAor
MjJkYmNjOGVmNmUwMDRjMjJhYWVjZjVlYTcxMjY1MjcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVt
ZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Rv
bS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlck1ldGVyIHtNRVRFUn0g
YXQgKDAsNDQpIHNpemUgODB4MTYKKyAgICAgIFJlbmRlck1ldGVyIHtNRVRFUn0gYXQgKDgwLDAp
IHNpemUgMTB4NjAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHJldmlzaW9uIDU5MjYzKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTgzNCw2ICs4MzQs
MTAgQEAgZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbAogZmFzdC9kb20v
SFRNTFByb2dyZXNzRWxlbWVudC9zZXQtcHJvZ3Jlc3MtcHJvcGVydGllcy5odG1sCiBmYXN0L2Rv
bS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dyZXNzLWJhci12YWx1ZS1wc2V1ZG8tZWxlbWVudC5o
dG1sCiAKKyMgbWV0ZXIgZWxlbWVudCBpcyBub3Qgc3VwcG9ydGVkCitmYXN0L2RvbS9IVE1MTWV0
ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9z
ZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCisKICMgTm8gV2lkZ2V0cyAxLjAgc3VwcG9ydAogZmFz
dC9tZWRpYS9tZWRpYS1mZWF0dXJlLXdndC12aWV3LW1vZGUuaHRtbAogCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQt
ZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEg
YmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClBy
b3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxN
ZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDog
c3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dv
QUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQUNYQklXWE1BQUE3RUFBQU94QUdW
S3c0YkFBQU0KeEVsRVFWUjRuTzNkd2FtRFFCUkEwVXhJTDVaaEV5bkRKbE5HcXBtL2Roa0NkL0x4
bk4yQTZNUGRuUkVjYzg1NUF3QUFDTnhYRHdBQQpBRnlIQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFB
QUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURLUDFRTmN5ZXYxCk9xMzNmVjgw
Q1FBQXJPRUVCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01B
QUVBQURJQ0JBQUEKeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJRE1t
SFBPMVVOY3hiWnRwL1g3L1Y0MENRQUFyQ0ZBUW1PTQowOXFyQndEZ2FueUNCUUFBWkFRSUFBQ1FF
U0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJCkFBQ1FF
U0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVT
QUFBRUJHZ0FBQUFCa0IKQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUWVY
eHk4UmpqcTRjZHgzRjdQcDlmM2VNLzJQZDk5UWdBQVBDVApuSUFBQUFBWkFRSUFBR1FFQ0FBQWtC
RWdBQUJBUm9BQUFBQVpBUUlBQUdRRUNBQUFrQkVnQUFCQTVxTWZFZktkKzEzdkFRQndiV1BPCk9W
Y1BBUUFBWElNdGVRQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFB
eUFnUUFBTWdJRUFBQUlDTkEKQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFB
eUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSQpFQUFBSUNOQUFBQ0FqQUFCQUFB
eUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5
CkFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5
QWdRQUFNZ0lFQUFBSUNOQUFBQ0EKakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5
QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQQpJQ05BQUFDQWpBQUJBQUF5
QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlB
Z1FBCkFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlB
Z1FBQU1nSUVBQUFJQ05BQUFDQWpBQUIKQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlB
Z1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQQpBQUNBakFBQkFBQXlB
Z1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFn
UUFBTWdJCkVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFn
UUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXkKQWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFn
UUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQQpqQUFCQUFBeUFn
UUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdR
QUFNZ0lFQUFBCklDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdR
QUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUEKQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdR
QUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQgpBQUF5QWdR
QUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FB
QU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FB
QU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0kKRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FB
QU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeQpBZ1FB
QU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBCmpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUEKSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQQpB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFN
Z0lFQUFBSUNOQUFBQ0FqQUFCCkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFN
Z0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkEKQUFDQWpBQUJBQUF5QWdRQUFN
Z0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1n
SQpFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1n
SUVBQUFJQ05BQUFDQWpBQUJBQUF5CkFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1n
SUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0EKakFBQkFBQXlBZ1FBQU1n
SUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJ
RUFBQQpJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJ
RUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBCkFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJ
RUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUIKQUFBeUFnUUFBTWdJ
RUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lF
QUFBSUNOQQpBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lF
QUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJCkVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lF
QUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXkKQWdRQUFNZ0lF
QUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQQpqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBCklDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUEKQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkFBQUNBakFBQgpBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0kKRUFB
QUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFB
SUNOQUFBQ0FqQUFCQUFBeQpBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFB
SUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBCmpBQUJBQUF5QWdRQUFNZ0lFQUFB
SUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUEK
SUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJ
Q05BQUFDQWpBQUJBQUF5QWdRQQpBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJ
Q05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCCkFBQXlBZ1FBQU1nSUVBQUFJ
Q05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlD
TkEKQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlD
TkFBQUNBakFBQkFBQXlBZ1FBQU1nSQpFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlD
TkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5CkFnUUFBTWdJRUFBQUlD
TkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNO
QUFBQ0EKakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNO
QUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQQpJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNO
QUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBCkFNZ0lFQUFBSUNO
QUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05B
QUFDQWpBQUIKQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBekIrMGpDQ3BYdTM1MXdBQUFBQkpSVTVF
cmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55926</attachid>
            <date>2010-05-12 18:33:52 -0700</date>
            <delta_ts>2010-05-14 13:03:06 -0700</delta_ts>
            <desc>Fix style issue</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>61337</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTI2MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzcgQEAKKzIwMTAtMDUtMTIgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudCwgaW5jbHVkaW5nIGRlZmF1bHQgcmVu
ZGVyaW5nCisgICAgICAgIG9mIHRoZSBtZXRlciBlbGVtZW50LiBUaGF0IGlzIGJlY2F1c2Ugc29t
ZSBwbGF0Zm9ybXMgZG8gbm90IGhhdmUgYSBuYXRpdmUgZ2F1Z2UuCisgICAgICAgIFRoZSBmZWF0
dXJlIGlzIHR1cm5lZCBvbiBvbmx5IGZvciB0aGUgUXQgcGxhdGZvcm0uCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvaHRtbC5jc3M6CisgICAgICAgIChtZXRlcik6CisgICAgICAg
IChtZXRlcjo6LXdlYmtpdC1tZXRlcik6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjppbmxpbmVUYWdMaXN0KToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNw
cDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZXRlckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZXRlckVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0
ZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0ZXJFbGVtZW50OjptaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
c2V0TWluKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om1heCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpzZXRNYXgpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1ldGVyRWxlbWVudDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
bG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldExvdyk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpoaWdoKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZXRlckVsZW1lbnQ6OnNldEhpZ2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6b3B0aW11bSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpz
ZXRPcHRpbXVtKToKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojppc09wdGlvbmFsRm9ybUNvbnRyb2wp
OgorICAgICAgICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAq
IGh0bWwvSFRNTFRhZ05hbWVzLmluOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ck1ldGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6UmVuZGVy
TWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OmxheW91dCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNZXRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1l
dGVyOjpyZW5kZXJOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1ldGVyOjppc01ldGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OnRvUmVuZGVyTWV0ZXIpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aXNNZXRl
cik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lOjphZGp1c3RTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZTo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVy
T25seSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0TWV0ZXJTdHlsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRNZXRlcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmg6CisKIDIwMTAtMDUtMTIgIEphbWVzIFJvYmluc29uICA8amFtZXNy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBQYXRjaCBieSBEYW4gQmVybnN0ZWluLgpJbmRleDog
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAJKHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MCw2ICsxNDAsNyBAQAogI2luY2x1ZGUgIkpTSFRNTE1l
ZGlhRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSlNIVE1MTWVudUVsZW1lbnQuY3BwIgogI2luY2x1
ZGUgIkpTSFRNTE1ldGFFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJKU0hUTUxNZXRlckVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIkpTSFRNTE1vZEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE9i
amVjdEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE9MaXN0RWxlbWVudC5jcHAiCkluZGV4
OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA1OTI2MykKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTgyLDYgKzE4Miw3IEBAIERPTV9DTEFTU0VTID0g
XAogICAgIEhUTUxNZWRpYUVsZW1lbnQgXAogICAgIEhUTUxNZW51RWxlbWVudCBcCiAgICAgSFRN
TE1ldGFFbGVtZW50IFwKKyAgICBIVE1MTWV0ZXJFbGVtZW50IFwKICAgICBIVE1MTW9kRWxlbWVu
dCBcCiAgICAgSFRNTE9MaXN0RWxlbWVudCBcCiAgICAgSFRNTE9iamVjdEVsZW1lbnQgXApAQCAt
NjQ0LDYgKzY0NSwxMCBAQCBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX0RBVEFMSVNULCQoRkVB
CiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1MpIEVOQUJMRV9EQVRBTElTVD0xCiBlbmRp
ZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX01FVEVSX1RBRywkKEZFQVRVUkVfREVGSU5F
UykpLCBFTkFCTEVfTUVURVJfVEFHKQorICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBF
TkFCTEVfTUVURVJfVEFHPTEKK2VuZGlmCisKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfUFJP
R1JFU1NfVEFHLCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9QUk9HUkVTU19UQUcpCiAgICAg
SFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxBR1MpIEVOQUJMRV9QUk9HUkVTU19UQUc9MQogZW5kaWYK
SW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQkocmV2aXNpb24gNTkyNjMpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3
b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKIAlXZWJD
b3JlL2h0bWwvTWVkaWFFcnJvci5pZGwgXAogCVdlYkNvcmUvaHRtbC9IVE1MTWVudUVsZW1lbnQu
aWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmlkbCBcCisJV2ViQ29yZS9odG1s
L0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1vZEVsZW1lbnQuaWRs
IFwKIAlXZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwgXAogCVdlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5pZGwgXApAQCAtMTE2Niw2ICsxMTY3LDggQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmggXAogCVdlYkNvcmUvaHRt
bC9IVE1MTWV0YUVsZW1lbnQuY3BwIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50Lmgg
XAorCVdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcCBcCisJV2ViQ29yZS9odG1sL0hU
TUxNZXRlckVsZW1lbnQuaCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAJ
V2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MTmFtZUNv
bGxlY3Rpb24uY3BwIFwKQEAgLTE4OTksNiArMTkwMiw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKIAlXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5jcHAgXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0
LmggXAorCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCBcCisJV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWV0ZXIuaCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggXAogCVdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgXApAQCAtMjI0Niw2ICsyMjUxLDE0IEBAIHdl
YmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1ERU5BQkxFX0RBVEFHUklEPTAKIAogIyAtLS0tCisjIEhU
TUwgTWV0ZXIgRWxlbWVudCAtIGRpc2FibGUgZm9yIG5vdy4KKyMgLS0tLQorRkVBVFVSRV9ERUZJ
TkVTICs9IEVOQUJMRV9NRVRFUl9UQUc9MAorCit3ZWJjb3JlX2NwcGZsYWdzICs9IFwKKyAgICAt
REVOQUJMRV9NRVRFUl9UQUc9MAorCisjIC0tLS0KICMgSFRNTCBQcm9ncmVzcyBFbGVtZW50IC0g
ZGlzYWJsZSBmb3Igbm93LCBzaW5jZSBwYWludGluZyBjb2RlIGlzIG1pc3NpbmcuCiAjIC0tLS0K
IEZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfUFJPR1JFU1NfVEFHPTAKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lv
biA1OTI2MykKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgs
NiArMTU4LDcgQEAKICAgICAgICAgICAgICdodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsJywKICAg
ICAgICAgICAgICdodG1sL0hUTUxNZW51RWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwv
SFRNTE1ldGFFbGVtZW50LmlkbCcsCisgICAgICAgICAgICAnaHRtbC9IVE1MTWV0ZXJFbGVtZW50
LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTW9kRWxlbWVudC5pZGwnLAogICAgICAgICAg
ICAgJ2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQuaWRsJywKQEAgLTE1NjAsNiArMTU2MSw4IEBACiAgICAgICAgICAgICAnaHRt
bC9IVE1MTWVudUVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTWV0YUVsZW1lbnQu
Y3BwJywKICAgICAgICAgICAgICdodG1sL0hUTUxNZXRhRWxlbWVudC5oJywKKyAgICAgICAgICAg
ICdodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwJywKKyAgICAgICAgICAgICdodG1sL0hUTUxNZXRl
ckVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAnLAogICAg
ICAgICAgICAgJ2h0bWwvSFRNTE1vZEVsZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1M
TmFtZUNvbGxlY3Rpb24uY3BwJywKQEAgLTMxMzcsNiArMzE0MCw4IEBACiAgICAgICAgICAgICAn
cmVuZGVyaW5nL1JlbmRlck1lZGlhQ29udHJvbHNDaHJvbWl1bS5oJywKICAgICAgICAgICAgICdy
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVu
ZGVyTWVudUxpc3QuaCcsCisgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCcs
CisgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1ldGVyLmgnLAogICAgICAgICAgICAgJ3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3Qu
Y3BwJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9X
ZWJDb3JlLnByaQkocmV2aXNpb24gNTkyNjMpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJpCSh3b3Jr
aW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TSU5H
TEVfVEhSRUFERUQKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVklERU89Lik6IERFRklORVMg
Kz0gRU5BQkxFX1ZJREVPPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfUlVCWT0uKTogREVG
SU5FUyArPSBFTkFCTEVfUlVCWT0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NBTkRCT1g9
Lik6IERFRklORVMgKz0gRU5BQkxFX1NBTkRCT1g9MQorIWNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9NRVRFUl9UQUc9Lik6IERFRklORVMgKz0gRU5BQkxFX01FVEVSX1RBRz0xCiAhY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX1BST0dSRVNTX1RBRz0uKTogREVGSU5FUyArPSBFTkFCTEVfUFJPR1JF
U1NfVEFHPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfQkxPQl9TTElDRT0uKTogREVGSU5F
UyArPSBFTkFCTEVfQkxPQl9TTElDRT0wCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX05PVElG
SUNBVElPTlM9Lik6IERFRklORVMgKz0gRU5BQkxFX05PVElGSUNBVElPTlM9MQpAQCAtMTYzLDYg
KzE2NCw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJfU09DS0VUUz0xKToKIGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9UT1VDSF9FVkVOVFM9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZB
U0NSSVBUICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1RJTEVEX0JBQ0tJTkdfU1RPUkU9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVO
QUJMRV9USUxFRF9CQUNLSU5HX1NUT1JFPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9OT1RJ
RklDQVRJT05TPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTk9USUZJ
Q0FUSU9OUz0xCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVURVJfVEFHPTEpOiBGRUFUVVJF
X0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTUVURVJfVEFHPTEKIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9QUk9HUkVTU19UQUc9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9
IEVOQUJMRV9QUk9HUkVTU19UQUc9MQogCiAKQEAgLTM3Nyw2ICszNzksNyBAQCBJRExfQklORElO
R1MgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE1l
bnVFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuaWRsIFwKKyAgICBodG1s
L0hUTUxNZXRlckVsZW1lbnQuaWRsIFwKICAgICBodG1sL0hUTUxNb2RFbGVtZW50LmlkbCBcCiAg
ICAgaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE9MaXN0RWxlbWVu
dC5pZGwgXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L1dlYkNvcmUucHJvCShyZXZpc2lvbiA1OTI2MykKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdv
cmtpbmcgY29weSkKQEAgLTY1NCw2ICs2NTQsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hU
TUxNYXJxdWVlRWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTE1lbnVFbGVtZW50LmNwcCBcCiAg
ICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQu
Y3BwIFwKICAgICBodG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTmFtZUNv
bGxlY3Rpb24uY3BwIFwKICAgICBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcCBcCkBAIC05MzUs
NiArOTM2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIu
Y3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAgXAogICAgIHJlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5jcHAgXAorICAgIHJlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAgXAogICAg
IHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0LmNwcCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuY3BwIFwKQEAgLTEzNzUs
NiArMTM3Nyw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oIFwK
ICAgICBodG1sL0hUTUxNZW51RWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxNZXRhRWxlbWVudC5o
IFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaCBcCiAgICAgaHRtbC9IVE1MTW9kRWxlbWVu
dC5oIFwKICAgICBodG1sL0hUTUxOYW1lQ29sbGVjdGlvbi5oIFwKICAgICBodG1sL0hUTUxOb1Nj
cmlwdEVsZW1lbnQuaCBcCkBAIC0xNzE0LDYgKzE3MTcsNyBAQCBIRUFERVJTICs9IFwKICAgICBy
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWVkaWEuaCBc
CiAgICAgcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggXAorICAgIHJlbmRlcmluZy9SZW5kZXJN
ZXRlci5oIFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmggXAogICAgIHJl
bmRlcmluZy9SZW5kZXJPYmplY3QuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuaCBcCklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDU5MjYzKQor
KysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpA
QCAtNjU2NSw2ICs2NTY1LDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNIVE1MTWV0ZXJFbGVtZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVs
ZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIN
CisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU0hUTUxNZXRlckVsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTW9kRWxlbWVudC5jcHAiDQogCQkJ
CT4NCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjc5ODEsNiArMjgwMzcsMTQgQEAKIAkJ
CQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVy
aW5nXFJlbmRlck1ldGVyLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJNZXRlci5oIg0KKwkJCQk+DQorCQkJ
PC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRl
ck9iamVjdC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtMzMzMTcsNiArMzMzODEsNjIg
QEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aHRtbFxIVE1MTWV0ZXJFbGVtZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWly
b3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJE
ZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4N
CisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmgiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEhUTUxNb2RFbGVtZW50
LmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkluZGV4OiBXZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTkyNjMpCisrKyBXZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAt
MjU2OSw2ICsyNTY5LDEwIEBACiAJCUE0M0JGNTk5MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJv
Z3Jlc3NFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oICov
OyB9OwogCQlBNDNCRjU5QzExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQzQkY1OUExMTQ5
MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmNwcCAqLzsgfTsKIAkJQTQzQkY1OUQxMTQ5
MjkyODAwQzY0M0NBIC8qIFJlbmRlclByb2dyZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5QjExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVy
UHJvZ3Jlc3MuaCAqLzsgfTsKKwkJQTQ1NDQyNEExMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRl
ckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTQ1NDQyNDgxMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovOyB9
OworCQlBNDU0NDI0QjExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNDkxMTlCMzY2
MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuaCAqLzsgfTsKKwkJQTQ1NDQyNEUxMTlCMzY4
NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE0NTQ0MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRl
ci5jcHAgKi87IH07CisJCUE0NTQ0MjRGMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNEQx
MTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmggKi87IH07CiAJCUE1MTNCM0Q3MTE0QjE2
NjYwMDFDNDI5QiAvKiBLZXlFdmVudENvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5NzRDRjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRD
b2NvYS5oICovOyB9OwogCQlBNTEzQjNEODExNEIxNjZBMDAxQzQyOUIgLyogS2V5RXZlbnRDb2Nv
YS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3
NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBLZXlFdmVudENvY29hLm1tICovOyB9OwogCQlBNTlFM0Mx
RTExNTgwRjUxMDA3MjkyOEUgLyogS2V5RXZlbnRDb2Rlc0lQaG9uZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhF
IC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLzsgfTsKQEAgLTgwOTEsNiArODA5NSwxMCBAQAog
CQlBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MUHJvZ3Jlc3NFbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlBMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5k
ZXJQcm9ncmVzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5k
ZXJQcm9ncmVzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlCMTE0
OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNDU0NDI0ODExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTQ1NDQyNDkxMTlCMzY2MTAwOUJFOTEyIC8qIEhU
TUxNZXRlckVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1l
dGVyRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDU0NDI0QzExOUIz
Njg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVuZGVyTWV0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBNDU0NDI0RDExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQaG9uZS5o
OyBwYXRoID0gaXBob25lL0tleUV2ZW50Q29kZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJUGhvbmUu
bW07IHBhdGggPSBpcGhvbmUvS2V5RXZlbnRJUGhvbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE1QUZCMzREMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzg4LDYgKzEzMzk2LDggQEAKIAkJCQlBODcxREMxQjBB
MTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmNwcCAqLywKIAkJCQlBODcxREMxODBB
MTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50LmggKi8sCiAJCQkJQTgwRTc5RkMwQTE5
QzMwNzAwN0ZCOEM1IC8qIEhUTUxNZXRhRWxlbWVudC5pZGwgKi8sCisJCQkJQTQ1NDQyNDgxMTlC
MzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovLAorCQkJCUE0NTQ0MjQ5MTE5
QjM2NjEwMDlCRTkxMiAvKiBIVE1MTWV0ZXJFbGVtZW50LmggKi8sCiAJCQkJQThDRkY3OUYwQTE1
Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVtZW50LmNwcCAqLywKIAkJCQlBOENGRjc5RDBBMTU2
OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1lbnQuaCAqLywKIAkJCQkxQUUyQUIwNzBBMUNFNUNG
MDBCNDJCMjUgLyogSFRNTE1vZEVsZW1lbnQuaWRsICovLApAQCAtMTYxNTMsNiArMTYxNjMsOCBA
QAogCQkJCUU0QzI3OTU3MENGOTc0MTkwMEU5N0I5OCAvKiBSZW5kZXJNZWRpYS5oICovLAogCQkJ
CUFCRERGRTczMEE1QzZFNkYwMEEzRTExRCAvKiBSZW5kZXJNZW51TGlzdC5jcHAgKi8sCiAJCQkJ
QUJEREZFNzQwQTVDNkU3MDAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0LmggKi8sCisJCQkJQTQ1
NDQyNEMxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmNwcCAqLywKKwkJCQlBNDU0NDI0
RDExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0ZXIuaCAqLywKIAkJCQlCQ0VBNDg0MDA5N0Q5
MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmNwcCAqLywKIAkJCQlCQ0VBNDg0MTA5N0Q5MzAy
MDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmggKi8sCiAJCQkJQkM2MEVGQjYwRjMzQTBFNzAwODEy
QTkzIC8qIFJlbmRlck9iamVjdENoaWxkTGlzdC5jcHAgKi8sCkBAIC0xOTE1OSw2ICsxOTE3MSw4
IEBACiAJCQkJMkU5NEY0M0MxMTkyMDdEQTAwQjdGNzVEIC8qIEpTRmlsZVJlYWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkU5NEY0NTExMTkyMDk2QTAwQjdGNzVEIC8qIEZpbGVSZWFkZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NDBBMkQ3MTE5MUE1MjMwMDA4MjBCMCAvKiBTVkdGRUxpZ2h0
aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQlBNDU0NDI0QjExOUIzNjYxMDA5QkU5MTIgLyogSFRN
TE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTQ1NDQyNEYxMTlCMzY4NzAwOUJF
OTEyIC8qIFJlbmRlck1ldGVyLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIxNDI3LDYgKzIxNDQxLDgg
QEAKIAkJCQkyRTk0RjQzQjExOTIwN0RBMDBCN0Y3NUQgLyogSlNGaWxlUmVhZGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJFOTRGNDUwMTE5MjA5NjQwMEI3Rjc1RCAvKiBGaWxlUmVhZGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDBBMkQ1MTE5MUE1MEIwMDA4MjBCMCAvKiBTVkdGRUxp
Z2h0aW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0NTQ0MjRBMTE5QjM2NjEwMDlCRTkxMiAv
KiBIVE1MTWV0ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE0NTQ0MjRFMTE5QjM2
ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgJKHJldmlzaW9uIDU5MjYzKQorKysgV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzIsNiArMjcyLDkgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTUwog
ICAgICAgICBjYXNlIE1lbnVsaXN0VGV4dEZpZWxkUGFydDoKICAgICAgICAgICAgIG1fdmFsdWUu
aWRlbnQgPSBDU1NWYWx1ZU1lbnVsaXN0VGV4dGZpZWxkOwogICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorICAgICAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1Zh
bHVlTWV0ZXI7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBPdXRlclNwaW5CdXR0
b25QYXJ0OgogICAgICAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlT3V0ZXJTcGluQnV0
dG9uOwogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdv
cmRzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHJl
dmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkod29ya2lu
ZyBjb3B5KQpAQCAtNTg5LDYgKzU4OSw3IEBAIG1lbnVsaXN0CiBtZW51bGlzdC1idXR0b24KIG1l
bnVsaXN0LXRleHQKIG1lbnVsaXN0LXRleHRmaWVsZAorbWV0ZXIKIG91dGVyLXNwaW4tYnV0dG9u
CiBwcm9ncmVzcy1iYXIKIHByb2dyZXNzLWJhci12YWx1ZQpJbmRleDogV2ViQ29yZS9jc3MvaHRt
bC5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvaHRtbC5jc3MJKHJldmlzaW9uIDU5MjYz
KQorKysgV2ViQ29yZS9jc3MvaHRtbC5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTUxNyw2ICs1MTcs
MjAgQEAgb3B0aW9uIHsKICAgICBmb250LXdlaWdodDogbm9ybWFsOwogfQogCisvKiBtZXRlciAq
LworCittZXRlciB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZXRlcjsKKyAgICBkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7CisgICAgaGVpZ2h0OiAxZW07CisgICAgd2lkdGg6IDVlbTsKKyAgICB2
ZXJ0aWNhbC1hbGlnbjogLTAuMmVtOworfQorCittZXRlcjo6LXdlYmtpdC1tZXRlciB7CisgICAg
LXdlYmtpdC1hcHBlYXJhbmNlOiBtZXRlcjsKK30KKwogLyogcHJvZ3Jlc3MgKi8KIAogcHJvZ3Jl
c3MgewpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCShyZXZpc2lvbiA1OTI2MykK
KysrIFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAg
LTk4LDYgKzk4LDcgQEAgZnJhbWVib3JkZXIKIGhlYWRlcnMKIGhlaWdodAogaGlkZGVuCitoaWdo
CiBocmVmCiBocmVmbGFuZwogaHNwYWNlCkBAIC0xMTUsNiArMTE2LDcgQEAgbGluawogbGlzdAog
bG9uZ2Rlc2MKIGxvb3AKK2xvdwogcGxheWNvdW50CiBsb29wZW5kCiBsb29wc3RhcnQKQEAgLTIx
OSw2ICsyMjEsNyBAQCBvbndlYmtpdGFuaW1hdGlvbmVuZAogb253ZWJraXRiZWdpbmZ1bGxzY3Jl
ZW4KIG9ud2Via2l0ZW5kZnVsbHNjcmVlbgogb253ZWJraXR0cmFuc2l0aW9uZW5kCitvcHRpbXVt
CiBwYXR0ZXJuCiBwbGFjZWhvbGRlcgogcGx1Z2ludXJsCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODYxLDYgKzg2MSw5IEBAIHN0YXRpYyBIYXNoU2V0PEF0b21pY1N0cmluZ0lt
cGwqPiogaW5saW4KICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQogICAgICAgICB0YWdMaXN0LmFk
ZChwcm9ncmVzc1RhZy5sb2NhbE5hbWUoKS5pbXBsKCkpOwogI2VuZGlmCisjaWYgRU5BQkxFKE1F
VEVSX1RBRykKKyAgICAgICAgdGFnTGlzdC5hZGQobWV0ZXJUYWcubG9jYWxOYW1lKCkuaW1wbCgp
KTsKKyNlbmRpZgogICAgIH0KICAgICByZXR1cm4gJnRhZ0xpc3Q7CiB9CkluZGV4OiBXZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHAJKHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcs
NyBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkhUTUxNZW51
RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE1ldGFFbGVtZW50LmNwcCIKKyNpbmNsdWRlICJI
VE1MTWV0ZXJFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MTW9kRWxlbWVudC5jcHAiCiAjaW5j
bHVkZSAiSFRNTE9MaXN0RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQu
Y3BwIgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdl
YkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJM
RShNRVRFUl9UQUcpCisjaW5jbHVkZSAiSFRNTE1ldGVyRWxlbWVudC5oIgorCisjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkZvcm1EYXRhTGlzdC5oIgorI2luY2x1ZGUgIkhUTUxG
b3JtRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxQYXJz
ZXIuaCIKKyNpbmNsdWRlICJNYXBwZWRBdHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJSZW5kZXJNZXRl
ci5oIgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCitIVE1MTWV0ZXJFbGVtZW50OjpIVE1M
TWV0ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1
bWVudCkKKyAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIDAs
IENyZWF0ZUhUTUxFbGVtZW50KQoreworICAgIEFTU0VSVChoYXNUYWdOYW1lKG1ldGVyVGFnKSk7
Cit9CisKK1Bhc3NSZWZQdHI8SFRNTE1ldGVyRWxlbWVudD4gSFRNTE1ldGVyRWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxNZXRlckVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpKTsKK30KKworUmVuZGVyT2JqZWN0KiBIVE1MTWV0ZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKK3sKKyAgICByZXR1cm4gbmV3IChh
cmVuYSkgUmVuZGVyTWV0ZXIodGhpcyk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgSFRNTE1l
dGVyRWxlbWVudDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgbWV0ZXIsICgibWV0ZXIiKSk7CisgICAgcmV0dXJu
IG1ldGVyOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KE1hcHBlZEF0dHJpYnV0ZSogYXR0cmlidXRlKQoreworICAgIGlmIChhdHRyaWJ1dGUtPm5hbWUo
KSA9PSB2YWx1ZUF0dHIgfHwgYXR0cmlidXRlLT5uYW1lKCkgPT0gbWluQXR0ciB8fCBhdHRyaWJ1
dGUtPm5hbWUoKSA9PSBtYXhBdHRyIHx8IGF0dHJpYnV0ZS0+bmFtZSgpID09IGxvd0F0dHIgfHwg
YXR0cmlidXRlLT5uYW1lKCkgPT0gaGlnaEF0dHIgfHwgYXR0cmlidXRlLT5uYW1lKCkgPT0gb3B0
aW11bUF0dHIpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAgICAgICByZW5kZXJl
cigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0gZWxzZQorICAgICAgICBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyaWJ1dGUpOworfQorCitkb3Vi
bGUgSFRNTE1ldGVyRWxlbWVudDo6bWluKCkgY29uc3QKK3sKKyAgICBkb3VibGUgbWluID0gMDsK
KyAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1dGUobWluQXR0ciksICZt
aW4pOworICAgIHJldHVybiBtaW47Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxlbWVudDo6c2V0TWlu
KGRvdWJsZSBtaW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghaXNmaW5pdGUobWlu
KSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIHNldEF0dHJpYnV0ZShtaW5BdHRyLCBTdHJpbmc6Om51bWJlcihtaW4pKTsKK30K
KworZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6Om1heCgpIGNvbnN0Cit7CisgICAgZG91YmxlIG1h
eCA9IHN0ZDo6bWF4KDEuMCwgbWluKCkpOworICAgIHBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBl
KGdldEF0dHJpYnV0ZShtYXhBdHRyKSwgJm1heCk7CisgICAgcmV0dXJuIHN0ZDo6bWF4KG1heCwg
bWluKCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldE1heChkb3VibGUgbWF4LCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWlzZmluaXRlKG1heCkpIHsKKyAgICAgICAg
ZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBzZXRB
dHRyaWJ1dGUobWF4QXR0ciwgU3RyaW5nOjpudW1iZXIobWF4KSk7Cit9CisKK2RvdWJsZSBIVE1M
TWV0ZXJFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0Cit7CisgICAgZG91YmxlIHZhbHVlID0gMDsKKyAg
ICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1dGUodmFsdWVBdHRyKSwgJnZh
bHVlKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgodmFsdWUsIG1pbigpKSwgbWF4KCkp
OworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldFZhbHVlKGRvdWJsZSB2YWx1ZSwgRXhj
ZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFpc2Zpbml0ZSh2YWx1ZSkpIHsKKyAgICAgICAg
ZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBzZXRB
dHRyaWJ1dGUodmFsdWVBdHRyLCBTdHJpbmc6Om51bWJlcih2YWx1ZSkpOworfQorCitkb3VibGUg
SFRNTE1ldGVyRWxlbWVudDo6bG93KCkgY29uc3QKK3sKKyAgICBkb3VibGUgbG93ID0gbWluKCk7
CisgICAgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoZ2V0QXR0cmlidXRlKGxvd0F0dHIpLCAm
bG93KTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgobG93LCBtaW4oKSksIG1heCgpKTsK
K30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpzZXRMb3coZG91YmxlIGxvdywgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgaWYgKCFpc2Zpbml0ZShsb3cpKSB7CisgICAgICAgIGVjID0gTk9U
X1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgc2V0QXR0cmlidXRl
KGxvd0F0dHIsIFN0cmluZzo6bnVtYmVyKGxvdykpOworfQorCitkb3VibGUgSFRNTE1ldGVyRWxl
bWVudDo6aGlnaCgpIGNvbnN0Cit7CisgICAgZG91YmxlIGhpZ2ggPSBtYXgoKTsKKyAgICBwYXJz
ZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1dGUoaGlnaEF0dHIpLCAmaGlnaCk7Cisg
ICAgcmV0dXJuIHN0ZDo6bWluKHN0ZDo6bWF4KGhpZ2gsIGxvdygpKSwgbWF4KCkpOworfQorCit2
b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldEhpZ2goZG91YmxlIGhpZ2gsIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIGlmICghaXNmaW5pdGUoaGlnaCkpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQ
UE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBzZXRBdHRyaWJ1dGUoaGln
aEF0dHIsIFN0cmluZzo6bnVtYmVyKGhpZ2gpKTsKK30KKworZG91YmxlIEhUTUxNZXRlckVsZW1l
bnQ6Om9wdGltdW0oKSBjb25zdAoreworICAgIGRvdWJsZSBvcHRpbXVtID0gKG1heCgpICsgbWlu
KCkpIC8gMjsKKyAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1dGUob3B0
aW11bUF0dHIpLCAmb3B0aW11bSk7CisgICAgcmV0dXJuIHN0ZDo6bWluKHN0ZDo6bWF4KG9wdGlt
dW0sIG1pbigpKSwgbWF4KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldE9wdGlt
dW0oZG91YmxlIG9wdGltdW0sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghaXNmaW5p
dGUob3B0aW11bSkpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBzZXRBdHRyaWJ1dGUob3B0aW11bUF0dHIsIFN0cmluZzo6bnVt
YmVyKG9wdGltdW0pKTsKK30KKworfSAvLyBuYW1lc3BhY2UKKyNlbmRpZgpJbmRleDogV2ViQ29y
ZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRN
TE1ldGVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxNZXRlckVs
ZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLwor
CisjaWZuZGVmIEhUTUxNZXRlckVsZW1lbnRfaAorI2RlZmluZSBIVE1MTWV0ZXJFbGVtZW50X2gK
KworI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAiSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEhUTUxNZXRlckVsZW1lbnQgOiBw
dWJsaWMgSFRNTEZvcm1Db250cm9sRWxlbWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8SFRNTE1ldGVyRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCopOworCisgICAgZG91YmxlIG1pbigpIGNvbnN0OworICAgIHZvaWQgc2V0TWluKGRvdWJs
ZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIG1heCgpIGNvbnN0OworICAgIHZvaWQg
c2V0TWF4KGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIHZhbHVlKCkgY29u
c3Q7CisgICAgdm9pZCBzZXRWYWx1ZShkb3VibGUsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIGRv
dWJsZSBsb3coKSBjb25zdDsKKyAgICB2b2lkIHNldExvdyhkb3VibGUsIEV4Y2VwdGlvbkNvZGUm
KTsKKworICAgIGRvdWJsZSBoaWdoKCkgY29uc3Q7CisgICAgdm9pZCBzZXRIaWdoKGRvdWJsZSwg
RXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIG9wdGltdW0oKSBjb25zdDsKKyAgICB2b2lk
IHNldE9wdGltdW0oZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKK3ByaXZhdGU6CisgICAgSFRN
TE1ldGVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKKworICAgIHZp
cnR1YWwgYm9vbCBpc09wdGlvbmFsRm9ybUNvbnRyb2woKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZm9ybUNvbnRyb2xUeXBlKCkgY29u
c3Q7CisKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJl
bmEqLCBSZW5kZXJTdHlsZSopOworCisgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmli
dXRlKE1hcHBlZEF0dHJpYnV0ZSopOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmCisj
ZW5kaWYKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCisrKyBX
ZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqLworCittb2R1bGUgaHRtbCB7CisgICAgaW50ZXJmYWNlIFsKKyAg
ICAgICAgQ29uZGl0aW9uYWw9TUVURVJfVEFHCisgICAgXSBIVE1MTWV0ZXJFbGVtZW50IDogSFRN
TEVsZW1lbnQgeworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91YmxlIHZhbHVlCisgICAg
ICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgbWluCisgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUg
bWF4CisgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cisg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgbG93CisgICAgICAgICAgICAgICAgICAg
ICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgIGF0dHJpYnV0
ZSBkb3VibGUgaGlnaAorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNl
cHRpb24pOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91YmxlIG9wdGltdW0KKyAgICAg
ICAgICAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOworICAgIH07Cit9CkluZGV4OiBX
ZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9I
VE1MVGFnTmFtZXMuaW4JKHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9odG1sL0hUTUxUYWdO
YW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCBtYXAgY3JlYXRlV2l0aE5l
dwogbWFycXVlZSBjcmVhdGVXaXRoTmV3CiBtZW51IGNyZWF0ZVdpdGhOZXcKIG1ldGEgY3JlYXRl
V2l0aE5ldworbWV0ZXIgaW50ZXJmYWNlTmFtZT1IVE1MTWV0ZXJFbGVtZW50LCBjb25kaXRpb25h
bD1NRVRFUl9UQUcKIG5hdiBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBub2JyIGludGVyZmFj
ZU5hbWU9SFRNTEVsZW1lbnQKIG5vZW1iZWQgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudApJbmRl
eDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQxMiw2ICs0MTIsOSBAQCBtb2R1bGUgd2luZG93IHsK
ICAgICAgICAgYXR0cmlidXRlIEhUTUxNYXJxdWVlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNYXJx
dWVlRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNZW51RWxlbWVudENvbnN0cnVjdG9y
IEhUTUxNZW51RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxNZXRhRWxlbWVudENvbnN0
cnVjdG9yIEhUTUxNZXRhRWxlbWVudDsKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRVRFUl9UQUcpICYm
IEVOQUJMRV9NRVRFUl9UQUcKKyAgICAgICAgYXR0cmlidXRlIEhUTUxNZXRlckVsZW1lbnRDb25z
dHJ1Y3RvciBIVE1MTWV0ZXJFbGVtZW50OworI2VuZGlmCiAgICAgICAgIGF0dHJpYnV0ZSBIVE1M
TW9kRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNb2RFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUg
SFRNTE9MaXN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxPTGlzdEVsZW1lbnQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBIVE1MT2JqZWN0RWxlbWVudENvbnN0cnVjdG9yIEhUTUxPYmplY3RFbGVtZW50OwpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgJKHJldmlzaW9uIDU5MjYzKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9UaGVtZVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgZW51bSBD
b250cm9sUGFydCB7CiAgICAgTWVkaWFTZWVrRm9yd2FyZEJ1dHRvblBhcnQsIE1lZGlhUmV3aW5k
QnV0dG9uUGFydCwgTWVkaWFSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uUGFydCwgTWVkaWFUb2dnbGVD
bG9zZWRDYXB0aW9uc0J1dHRvblBhcnQsCiAgICAgTWVkaWFTbGlkZXJQYXJ0LCBNZWRpYVNsaWRl
clRodW1iUGFydCwgTWVkaWFWb2x1bWVTbGlkZXJDb250YWluZXJQYXJ0LCBNZWRpYVZvbHVtZVNs
aWRlclBhcnQsIE1lZGlhVm9sdW1lU2xpZGVyVGh1bWJQYXJ0LAogICAgIE1lZGlhQ29udHJvbHNC
YWNrZ3JvdW5kUGFydCwgTWVkaWFDdXJyZW50VGltZVBhcnQsIE1lZGlhVGltZVJlbWFpbmluZ1Bh
cnQsCi0gICAgTWVudWxpc3RQYXJ0LCBNZW51bGlzdEJ1dHRvblBhcnQsIE1lbnVsaXN0VGV4dFBh
cnQsIE1lbnVsaXN0VGV4dEZpZWxkUGFydCwgT3V0ZXJTcGluQnV0dG9uUGFydCwgUHJvZ3Jlc3NC
YXJQYXJ0LCBQcm9ncmVzc0JhclZhbHVlUGFydCwKKyAgICBNZW51bGlzdFBhcnQsIE1lbnVsaXN0
QnV0dG9uUGFydCwgTWVudWxpc3RUZXh0UGFydCwgTWVudWxpc3RUZXh0RmllbGRQYXJ0LCBNZXRl
clBhcnQsIE91dGVyU3BpbkJ1dHRvblBhcnQsIFByb2dyZXNzQmFyUGFydCwgUHJvZ3Jlc3NCYXJW
YWx1ZVBhcnQsCiAgICAgU2xpZGVySG9yaXpvbnRhbFBhcnQsIFNsaWRlclZlcnRpY2FsUGFydCwg
U2xpZGVyVGh1bWJIb3Jpem9udGFsUGFydCwKICAgICBTbGlkZXJUaHVtYlZlcnRpY2FsUGFydCwg
Q2FyZXRQYXJ0LCBTZWFyY2hGaWVsZFBhcnQsIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBhcnQsCiAg
ICAgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQsIFNlYXJjaEZpZWxkUmVzdWx0c0J1
dHRvblBhcnQsCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuY3BwCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBF
TkFCTEUoTUVURVJfVEFHKQorCisjaW5jbHVkZSAiUmVuZGVyTWV0ZXIuaCIKKworI2luY2x1ZGUg
IkhUTUxNZXRlckVsZW1lbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgorCit1c2luZyBu
YW1lc3BhY2Ugc3RkOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CisKK1JlbmRlck1ldGVyOjpSZW5kZXJNZXRlcihIVE1MTWV0ZXJFbGVtZW50KiBl
bGVtZW50KQorICAgIDogUmVuZGVyQmxvY2soZWxlbWVudCkKK3sKK30KKwordm9pZCBSZW5kZXJN
ZXRlcjo6bGF5b3V0KCkKK3sKKyAgICBBU1NFUlQobmVlZHNMYXlvdXQoKSk7CisKKyAgICBMYXlv
dXRSZXBhaW50ZXIgcmVwYWludGVyKCp0aGlzLCBjaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQo
KSk7CisKKyAgICBjYWxjV2lkdGgoKTsKKyAgICBjYWxjSGVpZ2h0KCk7CisKKyAgICBtX292ZXJm
bG93LmNsZWFyKCk7CisKKyAgICByZXBhaW50ZXIucmVwYWludEFmdGVyTGF5b3V0KCk7CisKKyAg
ICBzZXROZWVkc0xheW91dChmYWxzZSk7Cit9CisKK3ZvaWQgUmVuZGVyTWV0ZXI6OnVwZGF0ZUZy
b21FbGVtZW50KCkKK3sKKyAgICByZXBhaW50KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCShyZXZpc2lvbiAwKQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFJlbmRlck1ldGVyX2gKKyNkZWZpbmUg
UmVuZGVyTWV0ZXJfaAorCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJSZW5kZXJC
bG9jay5oIgorI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIEhUTUxNZXRlckVsZW1lbnQ7CisKK2NsYXNzIFJlbmRlck1ldGVyIDogcHVibGlj
IFJlbmRlckJsb2NrIHsKK3B1YmxpYzoKKyAgICBSZW5kZXJNZXRlcihIVE1MTWV0ZXJFbGVtZW50
Kik7CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29u
c3QgeyByZXR1cm4gIlJlbmRlck1ldGVyIjsgfQorICAgIHZpcnR1YWwgYm9vbCBpc01ldGVyKCkg
Y29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKKyAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKTsKK307CisKK2lubGluZSBSZW5kZXJNZXRl
ciogdG9SZW5kZXJNZXRlcihSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sKKyAgICBBU1NFUlQoIW9i
amVjdCB8fCBvYmplY3QtPmlzTWV0ZXIoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRl
ck1ldGVyKj4ob2JqZWN0KTsKK30KKworLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBh
biB1bm5lY2Vzc2FyeSBjYXN0Lgordm9pZCB0b1JlbmRlck1ldGVyKGNvbnN0IFJlbmRlck1ldGVy
Kik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCisKKyNlbmRpZiAvLyBSZW5k
ZXJNZXRlcl9oCisKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZpc2lvbiA1OTI2
MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNzYsNiArMjc2LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0xpc3RNYXJrZXIo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNNZW51TGlzdCgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAgICB2aXJ0dWFsIGJv
b2wgaXNNZXRlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICNpZiBFTkFCTEUo
UFJPR1JFU1NfVEFHKQogICAgIHZpcnR1YWwgYm9vbCBpc1Byb2dyZXNzKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAkocmV2
aXNpb24gNTkyNjMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM4LDYgKzM4LDExIEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNs
dWRlICJUZXh0Q29udHJvbElubmVyRWxlbWVudHMuaCIKIAorI2lmIEVOQUJMRShNRVRFUl9UQUcp
CisjaW5jbHVkZSAiSFRNTE1ldGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgi
CisjZW5kaWYKKwogLy8gVGhlIG1ldGhvZHMgaW4gdGhpcyBmaWxlIGFyZSBzaGFyZWQgYnkgYWxs
IHRoZW1lcyBvbiBldmVyeSBwbGF0Zm9ybS4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjE0
LDYgKzIxOSwxMCBAQCB2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RTdHlsZShDU1NTdHlsZVNlCiAg
ICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgogICAgICAgICAgICAgcmV0dXJuIGFkanVzdFBy
b2dyZXNzQmFyU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKICNlbmRpZgorI2lmIEVOQUJMRShN
ZXRlcl9UQUcpCisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorICAgICAgICAgICAgcmV0dXJuIGFk
anVzdE1ldGVyU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKKyNlbmRpZgogICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMjcyLDYgKzI4MSwxMCBAQCBib29s
IFJlbmRlclRoZW1lOjpwYWludChSZW5kZXJPYmplY3QqIG8sCiAjZW5kaWYKICAgICAgICAgY2Fz
ZSBNZW51bGlzdFBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRNZW51TGlzdChvLCBwYWlu
dEluZm8sIHIpOworI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0
OgorICAgICAgICAgICAgcmV0dXJuIHBhaW50TWV0ZXIobywgcGFpbnRJbmZvLCByKTsKKyNlbmRp
ZgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0
OgogICAgICAgICAgICAgcmV0dXJuIHBhaW50UHJvZ3Jlc3NCYXIobywgcGFpbnRJbmZvLCByKTsK
QEAgLTM2Niw2ICszNzksOSBAQCBib29sIFJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkoUmVu
ZGVyCiAgICAgICAgIGNhc2UgRGVmYXVsdEJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgQnV0dG9u
UGFydDoKICAgICAgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisjaWYgRU5BQkxFKE1FVEVSX1RBRykK
KyAgICAgICAgY2FzZSBNZXRlclBhcnQ6CisjZW5kaWYKICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFH
KQogICAgICAgICBjYXNlIFByb2dyZXNzQmFyUGFydDoKICNlbmRpZgpAQCAtNDA0LDYgKzQyMCw5
IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMoUmVuZGUKICAgICAgICAgY2Fz
ZSBEZWZhdWx0QnV0dG9uUGFydDoKICAgICAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgICAgICBj
YXNlIE1lbnVsaXN0UGFydDoKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICBjYXNlIE1l
dGVyUGFydDoKKyNlbmRpZgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2Ug
UHJvZ3Jlc3NCYXJQYXJ0OgogI2VuZGlmCkBAIC04NjcsNiArODg2LDYxIEBAIHZvaWQgUmVuZGVy
VGhlbWU6OmFkanVzdE1lbnVMaXN0U3R5bGUoQ1MKIHsKIH0KIAorI2lmIEVOQUJMRShNRVRFUl9U
QUcpCit2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RNZXRlclN0eWxlKENTU1N0eWxlU2VsZWN0b3Iq
LCBSZW5kZXJTdHlsZSogc3R5bGUsIEVsZW1lbnQqKSBjb25zdAoreworICAgIHN0eWxlLT5zZXRC
b3hTaGFkb3coMCk7Cit9CisKK2Jvb2wgUmVuZGVyVGhlbWU6OnBhaW50TWV0ZXIoUmVuZGVyT2Jq
ZWN0KiByZW5kZXJPYmplY3QsIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgLy8gU29tZSBwbGF0Zm9ybXMgZG8gbm90
IGhhdmUgYSBuYXRpdmUgZ2F1Z2Ugd2lkZ2V0LCBzbyB3ZSBkcmF3IGhlcmUgYSBkZWZhdWx0IGlt
cGxlbWVudGF0aW9uLgorICAgIFJlbmRlck1ldGVyKiByZW5kZXJNZXRlciA9IHRvUmVuZGVyTWV0
ZXIocmVuZGVyT2JqZWN0KTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJPYmplY3Qt
PnN0eWxlKCk7CisgICAgaW50IGxlZnQgPSBzdHlsZS0+Ym9yZGVyTGVmdCgpLndpZHRoKCkgKyBz
dHlsZS0+cGFkZGluZ0xlZnQoKS52YWx1ZSgpOworICAgIGludCB0b3AgPSBzdHlsZS0+Ym9yZGVy
VG9wKCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nVG9wKCkudmFsdWUoKTsKKyAgICBpbnQgcmln
aHQgPSBzdHlsZS0+Ym9yZGVyUmlnaHQoKS53aWR0aCgpICsgc3R5bGUtPnBhZGRpbmdSaWdodCgp
LnZhbHVlKCk7CisgICAgaW50IGJvdHRvbSA9IHN0eWxlLT5ib3JkZXJCb3R0b20oKS53aWR0aCgp
ICsgc3R5bGUtPnBhZGRpbmdCb3R0b20oKS52YWx1ZSgpOworICAgIEZsb2F0UmVjdCBpbm5lclJl
Y3QocmVjdC54KCkgKyBsZWZ0LCByZWN0LnkoKSArIHRvcCwgcmVjdC53aWR0aCgpIC0gbGVmdCAt
IHJpZ2h0LCByZWN0LmhlaWdodCgpIC0gdG9wIC0gYm90dG9tKTsKKworICAgIEhUTUxNZXRlckVs
ZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MTWV0ZXJFbGVtZW50Kj4ocmVuZGVyTWV0
ZXItPm5vZGUoKSk7CisgICAgZG91YmxlIG1pbiA9IGVsZW1lbnQtPm1pbigpOworICAgIGRvdWJs
ZSBtYXggPSBlbGVtZW50LT5tYXgoKTsKKyAgICBkb3VibGUgdmFsdWUgPSBlbGVtZW50LT52YWx1
ZSgpOworCisgICAgaWYgKG1pbiA+PSBtYXgpIHsKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQt
PmZpbGxSZWN0KGlubmVyUmVjdCwgQ29sb3I6OmJsYWNrLCBzdHlsZS0+Y29sb3JTcGFjZSgpKTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIC8vIFBhaW50IHRoZSBiYWNrZ3Jv
dW5kIGZpcnN0CisgICAgcGFpbnRJbmZvLmNvbnRleHQtPmZpbGxSZWN0KGlubmVyUmVjdCwgQ29s
b3I6OmxpZ2h0R3JheSwgc3R5bGUtPmNvbG9yU3BhY2UoKSk7CisKKyAgICBGbG9hdFJlY3QgdmFs
dWVSZWN0OworCisgICAgaWYgKHJlY3Qud2lkdGgoKSA8IHJlY3QuaGVpZ2h0KCkpIHsKKyAgICAg
ICAgLy8gVmVydGljYWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxlID0gaW5uZXJSZWN0Lmhl
aWdodCgpIC8gKG1heCAtIG1pbik7CisgICAgICAgIHZhbHVlUmVjdC5zZXRMb2NhdGlvbihGbG9h
dFBvaW50KGlubmVyUmVjdC54KCksIGlubmVyUmVjdC55KCkgKyAobWF4IC0gdmFsdWUpICogc2Nh
bGUpKTsKKyAgICAgICAgdmFsdWVSZWN0LnNldFNpemUoRmxvYXRTaXplKGlubmVyUmVjdC53aWR0
aCgpLCAodmFsdWUgLSBtaW4pICogc2NhbGUpKTsKKyAgICB9IGVsc2UgaWYgKHJlbmRlck1ldGVy
LT5zdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBSVEwpIHsKKyAgICAgICAgLy8gcmlnaHQgdG8gbGVm
dCBob3Jpem9udGFsIGdhdWdlCisgICAgICAgIGRvdWJsZSBzY2FsZSA9IGlubmVyUmVjdC53aWR0
aCgpIC8gKG1heCAtIG1pbik7CisgICAgICAgIHZhbHVlUmVjdC5zZXRMb2NhdGlvbihGbG9hdFBv
aW50KGlubmVyUmVjdC54KCkgKyAobWF4IC0gdmFsdWUpICogc2NhbGUsIGlubmVyUmVjdC55KCkp
KTsKKyAgICAgICAgdmFsdWVSZWN0LnNldFNpemUoRmxvYXRTaXplKCh2YWx1ZSAtIG1pbikgKiBz
Y2FsZSwgaW5uZXJSZWN0LmhlaWdodCgpKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gbGVm
dCB0byByaWdodCBob3Jpem9udGFsIGdhdWdlCisgICAgICAgIGRvdWJsZSBzY2FsZSA9IGlubmVy
UmVjdC53aWR0aCgpIC8gKG1heCAtIG1pbik7CisgICAgICAgIHZhbHVlUmVjdC5zZXRMb2NhdGlv
bihpbm5lclJlY3QubG9jYXRpb24oKSk7CisgICAgICAgIHZhbHVlUmVjdC5zZXRTaXplKEZsb2F0
U2l6ZSgodmFsdWUgLSBtaW4pICogc2NhbGUsIGlubmVyUmVjdC5oZWlnaHQoKSkpOworICAgIH0K
KyAgICBpZiAoIXZhbHVlUmVjdC5pc0VtcHR5KCkpCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0
LT5maWxsUmVjdCh2YWx1ZVJlY3QsIENvbG9yOjpibGFjaywgc3R5bGUtPmNvbG9yU3BhY2UoKSk7
CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShQUk9HUkVTU19U
QUcpCiBkb3VibGUgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jl
c3NCYXIoUmVuZGVyUHJvZ3Jlc3MqKSBjb25zdAogewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oCShyZXZpc2lvbiA1OTI2MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIzNyw2ICsyMzcsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgdm9pZCBhZGp1c3RNZW51TGlzdEJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5k
ZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlz
dEJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNv
bnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAKKyNpZiBFTkFCTEUoTUVURVJfVEFHKQor
ICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZXRlclN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5k
ZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZXRlcihS
ZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJl
Y3QmKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICB2aXJ0dWFsIHZv
aWQgYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUq
LCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoUmVu
ZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0
JikgeyByZXR1cm4gdHJ1ZTsgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTkyNjMpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wNS0x
MiAgWWFlbCBBaGFyb24gIDx5YWVsLmFoYXJvbkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5pdGlhbCBzdXBwb3J0IGZvciBIVE1M
TWV0ZXJFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zODE0MAorCisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudDogQWRkZWQu
CisgICAgICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3Rz
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0
cy9URU1QTEFURS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVt
ZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qczogQWRkZWQuCisgICAgICAg
ICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1l
dGVyLXByb3BlcnRpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bTog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9t
ZXRlci1lbGVtZW50LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQv
ZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTAtMDUtMTIgIE1hcnRp
biBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdl
ZC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxl
bWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEgQEAKKzxodG1sPjxib2R5PjxtZXRlciBtaW49MTAgdmFsdWU9MzAgbWF4PTEwMD48
L21ldGVyPjxtZXRlciBtaW49MCB2YWx1ZT03MCBtYXg9MTAwIHN0eWxlPSJ3aWR0aDoxMHB4OyBo
ZWlnaHQ6NjBweDsiPjwvbWV0ZXI+PC9ib2R5PjwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0
LW1ldGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzggQEAKK1Rlc3Qgc2V0dGluZyB2YWxpZCBh
bmQgaW52YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxNZXRlckVsZW1lbnQuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitUZXN0IHZhbHVlcyBiZWZvcmUgcHJvcGVydGllcyB3ZXJlIHNl
dAorUEFTUyBtLm1pbiBpcyAwCitQQVNTIG0udmFsdWUgaXMgMAorUEFTUyBtLm1heCBpcyAxCitQ
QVNTIG0ubG93IGlzIDAKK1BBU1MgbS5oaWdoIGlzIDEKK1BBU1MgbS5vcHRpbXVtIGlzIDAuNQor
U2V0IHZhbGlkIHZhbHVlcworUEFTUyBtLm1pbiBpcyAtMTAKK1BBU1MgbS52YWx1ZSBpcyA3MAor
UEFTUyBtLm1heCBpcyAxMDAKK1BBU1MgbS5sb3cgaXMgMTAuMQorUEFTUyBtLmhpZ2ggaXMgOTku
NQorUEFTUyBtLm9wdGltdW0gaXMgNzAKK1NldCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVl
cyAtIDEKK1BBU1MgbS5taW4gaXMgLTEwCitQQVNTIG0udmFsdWUgaXMgMTAwCitQQVNTIG0ubWF4
IGlzIDEwMAorUEFTUyBtLmxvdyBpcyAxMDAKK1BBU1MgbS5oaWdoIGlzIDEwMAorUEFTUyBtLm9w
dGltdW0gaXMgMAorU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMgorUEFTUyBt
Lm1pbiBpcyAyMDAuMAorUEFTUyBtLnZhbHVlIGlzIDIwMC4wCitQQVNTIG0ubWF4IGlzIDIwMC4w
CitQQVNTIG0ubG93IGlzIDIwMC4wCitTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMg
LSAzCitQQVNTIG0ubWluIGlzIDEwMC4wCitQQVNTIG0udmFsdWUgaXMgMTAwLjAKK1BBU1MgbS5t
YXggaXMgMTAwLjAKK1BBU1MgbS5sb3cgaXMgMTAwLjAKK1BBU1MgbS5oaWdoIGlzIDEwMC4wCitQ
QVNTIG0ub3B0aW11bSBpcyAxMDAuMAorU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVz
IC0gNAorUEFTUyBtLm1pbiBpcyAwLjAKK1BBU1MgbS52YWx1ZSBpcyAyMDAuMAorUEFTUyBtLm1h
eCBpcyAyMDAuMAorUEFTUyBtLmxvdyBpcyAwLjAKK1BBU1MgbS5oaWdoIGlzIDIwMC4wCitQQVNT
IG0ub3B0aW11bSBpcyAxMi41CitTZXQgdmFsdWUgdG8gaW52YWxpZCB2YWx1ZQorUEFTUyBtLnZh
bHVlID0gInZhbHVlIjsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjog
RE9NIEV4Y2VwdGlvbiA5LgorU2V0IG1pbiB0byBOYU4KK1BBU1MgbS5taW4gPSBOYU47IHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1Nl
dCBtYXggdG8gSW5maW5pdHkKK1BBU1MgbS5tYXggPSBJbmZpbml0eTsgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5LgorU2V0IGxvdyB0byBp
bnZhbGlkIHZhbHVlCitQQVNTIG0ubG93ID0gImxvdyI7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
Tk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1NldCBoaWdoIHRvIE5hTgorUEFT
UyBtLmhpZ2ggPSBOYU47IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6
IERPTSBFeGNlcHRpb24gOS4KK1NldCBvcHRpbXVtIHRvIEluZmluaXR5CitQQVNTIG0ub3B0aW11
bSA9IEluZmluaXR5OyB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBE
T00gRXhjZXB0aW9uIDkuCitTZXQgYXR0cmlidXRlcyB0byB2YWxpZCBudW1iZXJzCitQQVNTIG0u
dmFsdWUgaXMgNQorUEFTUyBtLm1heCBpcyAxMAorUEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0
ZSgndmFsdWUnKSkgaXMgNQorUEFTUyBwYXJzZUludChtLmdldEF0dHJpYnV0ZSgnbWF4JykpIGlz
IDEwCitTZXQgYXR0cmlidXRlcyB0byBpbnZhbGlkIHZhbHVlcworUEFTUyBtLnZhbHVlIGlzIDAK
K1BBU1MgbS5tYXggaXMgMQorUEFTUyBtLmdldEF0dHJpYnV0ZSgndmFsdWUnKSBpcyAnQUJDJwor
UEFTUyBtLmdldEF0dHJpYnV0ZSgnbWF4JykgaXMgJyMnCitTZXQgYXR0cmlidXRlcyB0byBudW1i
ZXJzIHdpdGggbGVhZGluZyBzcGFjZXMKK1BBU1MgbS52YWx1ZSBpcyAwCitQQVNTIG0ubWluIGlz
IDAKK1BBU1MgbS5tYXggaXMgMQorUEFTUyBtLmxvdyBpcyAwCitQQVNTIG0uaGlnaCBpcyAxCitQ
QVNTIG0ub3B0aW11bSBpcyAwLjUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVt
ZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0
ZXItcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3NldC1t
ZXRlci1wcm9wZXJ0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBM
QVRFLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9zY3JpcHQtdGVzdHMvVEVNUExBVEUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50
L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtbWV0ZXIt
cHJvcGVydGllcy5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxN
ZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1tZXRlci1wcm9wZXJ0aWVzLmpzCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEzMCBAQAorZGVzY3JpcHRpb24oJ1Rlc3Qgc2V0dGluZyB2YWxpZCBh
bmQgaW52YWxpZCBwcm9wZXJ0aWVzIG9mIEhUTUxNZXRlckVsZW1lbnQuJyk7CisKK3ZhciBtID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWV0ZXInKTsKKworZGVidWcoIlRlc3QgdmFsdWVzIGJl
Zm9yZSBwcm9wZXJ0aWVzIHdlcmUgc2V0Iik7CitzaG91bGRCZSgibS5taW4iLCAiMCIpOworc2hv
dWxkQmUoIm0udmFsdWUiLCAiMCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEiKTsKK3Nob3VsZEJl
KCJtLmxvdyIsICIwIik7CitzaG91bGRCZSgibS5oaWdoIiwgIjEiKTsKK3Nob3VsZEJlKCJtLm9w
dGltdW0iLCAiMC41Iik7CisKK2RlYnVnKCJTZXQgdmFsaWQgdmFsdWVzIik7CittLm1pbiA9ICIt
MTAiOworbS52YWx1ZSA9IDdlMTsKK20ubWF4ID0gIjFlMiI7CittLmxvdyA9ICIxMC4xIjsKK20u
aGlnaCA9ICI5OS41IjsKK20ub3B0aW11bSA9ICI3MCI7CitzaG91bGRCZSgibS5taW4iLCAiLTEw
Iik7CitzaG91bGRCZSgibS52YWx1ZSIsICI3MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIp
Oworc2hvdWxkQmUoIm0ubG93IiwgIjEwLjEiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiOTkuNSIp
Oworc2hvdWxkQmUoIm0ub3B0aW11bSIsICI3MCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMg
dG8gaW1wcm9wZXIgdmFsdWVzIC0gMSIpOworbS5taW4gPSAtMTA7CittLnZhbHVlID0gMjAwOwor
bS5tYXggPSAxMDAuMDsKK20ubG93ID0gMjAwOworbS5oaWdoID0gLTUwOworbS5vcHRpbXVtID0g
bnVsbDsKK3Nob3VsZEJlKCJtLm1pbiIsICItMTAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjEw
MCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMCIpOworc2hvdWxkQmUoIm0ubG93IiwgIjEwMCIp
Oworc2hvdWxkQmUoIm0uaGlnaCIsICIxMDAiKTsKK3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMCIp
OworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMiIpOworbS5t
aW4gPSAyMDAuMDsKK20udmFsdWUgPSAtMjAwLjA7CittLm1heCA9IDA7CittLmxvdyA9IG51bGw7
CitzaG91bGRCZSgibS5taW4iLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjIwMC4w
Iik7CitzaG91bGRCZSgibS5tYXgiLCAiMjAwLjAiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIyMDAu
MCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMyIpOwor
bS5taW4gPSAxMDAuMDsKK20udmFsdWUgPSAyMDAuMDsKK20ubWF4ID0gNTA7CittLmxvdyA9IDEw
OworbS5oaWdoID0gMTVlMTsKK20ub3B0aW11bSA9IDEyLjU7CitzaG91bGRCZSgibS5taW4iLCAi
MTAwLjAiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjEwMC4wIik7CitzaG91bGRCZSgibS5tYXgi
LCAiMTAwLjAiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIxMDAuMCIpOworc2hvdWxkQmUoIm0uaGln
aCIsICIxMDAuMCIpOworc2hvdWxkQmUoIm0ub3B0aW11bSIsICIxMDAuMCIpOworCitkZWJ1Zygi
U2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gNCIpOworbS5taW4gPSAwLjA7Citt
LnZhbHVlID0gMjUwLjA7CittLm1heCA9IDIwMDsKK20ubG93ID0gLTEwOworbS5oaWdoID0gMTVl
MjsKK20ub3B0aW11bSA9IDEyLjU7CitzaG91bGRCZSgibS5taW4iLCAiMC4wIik7CitzaG91bGRC
ZSgibS52YWx1ZSIsICIyMDAuMCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjIwMC4wIik7CitzaG91
bGRCZSgibS5sb3ciLCAiMC4wIik7CitzaG91bGRCZSgibS5oaWdoIiwgIjIwMC4wIik7CitzaG91
bGRCZSgibS5vcHRpbXVtIiwgIjEyLjUiKTsKKworZGVidWcoIlNldCB2YWx1ZSB0byBpbnZhbGlk
IHZhbHVlIik7CitzaG91bGRUaHJvdygnbS52YWx1ZSA9ICJ2YWx1ZSI7JywgJyJFcnJvcjogTk9U
X1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOSInKTsKKworZGVidWcoIlNldCBtaW4gdG8g
TmFOIik7CitzaG91bGRUaHJvdygnbS5taW4gPSBOYU47JywgJyJFcnJvcjogTk9UX1NVUFBPUlRF
RF9FUlI6IERPTSBFeGNlcHRpb24gOSInKTsKKworZGVidWcoIlNldCBtYXggdG8gSW5maW5pdHki
KTsKK3Nob3VsZFRocm93KCdtLm1heCA9IEluZmluaXR5OycsICciRXJyb3I6IE5PVF9TVVBQT1JU
RURfRVJSOiBET00gRXhjZXB0aW9uIDkiJyk7CisKK2RlYnVnKCJTZXQgbG93IHRvIGludmFsaWQg
dmFsdWUiKTsKK3Nob3VsZFRocm93KCdtLmxvdyA9ICJsb3ciOycsICciRXJyb3I6IE5PVF9TVVBQ
T1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkiJyk7CisKK2RlYnVnKCJTZXQgaGlnaCB0byBOYU4i
KTsKK3Nob3VsZFRocm93KCdtLmhpZ2ggPSBOYU47JywgJyJFcnJvcjogTk9UX1NVUFBPUlRFRF9F
UlI6IERPTSBFeGNlcHRpb24gOSInKTsKKworZGVidWcoIlNldCBvcHRpbXVtIHRvIEluZmluaXR5
Iik7CitzaG91bGRUaHJvdygnbS5vcHRpbXVtID0gSW5maW5pdHk7JywgJyJFcnJvcjogTk9UX1NV
UFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOSInKTsKKworZGVidWcoIlNldCBhdHRyaWJ1dGVz
IHRvIHZhbGlkIG51bWJlcnMiKTsKK20uc2V0QXR0cmlidXRlKCJtaW4iLCAwKTsKK20uc2V0QXR0
cmlidXRlKCJ2YWx1ZSIsIDUpOworbS5zZXRBdHRyaWJ1dGUoIm1heCIsIDEwKTsKK3Nob3VsZEJl
KCJtLnZhbHVlIiwgIjUiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIxMCIpOworc2hvdWxkQmUoInBh
cnNlSW50KG0uZ2V0QXR0cmlidXRlKCd2YWx1ZScpKSIsICI1Iik7CitzaG91bGRCZSgicGFyc2VJ
bnQobS5nZXRBdHRyaWJ1dGUoJ21heCcpKSIsICIxMCIpOworCitkZWJ1ZygiU2V0IGF0dHJpYnV0
ZXMgdG8gaW52YWxpZCB2YWx1ZXMiKTsKK20uc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJBQkMiKTsK
K20uc2V0QXR0cmlidXRlKCJtYXgiLCAiIyIpOworc2hvdWxkQmUoIm0udmFsdWUiLCAiMCIpOwor
c2hvdWxkQmUoIm0ubWF4IiwgIjEiKTsKK3Nob3VsZEJlKCJtLmdldEF0dHJpYnV0ZSgndmFsdWUn
KSIsICInQUJDJyIpOworc2hvdWxkQmUoIm0uZ2V0QXR0cmlidXRlKCdtYXgnKSIsICInIyciKTsK
KworZGVidWcoIlNldCBhdHRyaWJ1dGVzIHRvIG51bWJlcnMgd2l0aCBsZWFkaW5nIHNwYWNlcyIp
OworbS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwgIiA1Iik7CittLnNldEF0dHJpYnV0ZSgibWluIiwg
IiA1Iik7CittLnNldEF0dHJpYnV0ZSgibWF4IiwgIiA1Iik7CittLnNldEF0dHJpYnV0ZSgibG93
IiwgIiA1Iik7CittLnNldEF0dHJpYnV0ZSgiaGlnaCIsICIgNSIpOworbS5zZXRBdHRyaWJ1dGUo
Im9wdGltdW0iLCAiIDUiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjAiKTsKK3Nob3VsZEJlKCJt
Lm1pbiIsICIwIik7CitzaG91bGRCZSgibS5tYXgiLCAiMSIpOworc2hvdWxkQmUoIm0ubG93Iiwg
IjAiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiMSIpOworc2hvdWxkQmUoIm0ub3B0aW11bSIsICIw
LjUiKTsKKworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAko
cmV2aXNpb24gNTkyNjMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI2MjUsNiArMjYyNSwxMCBAQCBCVUcz
ODIyNyBERUZFUiA6IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsCiBCVUczODIyNyBERUZFUiA6IGZh
c3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbCA9
IFRFWFQKIEJVRzM4MjI3IFNLSVAgOiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dy
ZXNzLWJhci12YWx1ZS1wc2V1ZG8tZWxlbWVudC5odG1sID0gRkFJTAogCisvLyBIVE1MTWV0ZXJF
bGVtZW50IHJlbGF0ZWQgdGVzdHMgZGVmZXJyZWQgZHVlIHRvIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA3NC4KK0JVRzM3MDc0IERFRkVSIDogZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50Lmh0bWwgPSBNSVNTSU5HCitCVUczNzA3NCBERUZF
UiA6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbCA9
IFRFWFQKKwogLy8gV2ViS2l0IHJvbGwgNTYwMDQgLT4gNTYwMjYKIEJVRzM4Mjc4IDogZmFzdC9l
dmVudHMvY29udGludW91cy1wbGF0Zm9ybS13aGVlbGV2ZW50LWluLXNjcm9sbGluZy1kaXYuaHRt
bCA9IFRJTUVPVVQKIEJVRzM4Mjc4IDogZmFzdC9ldmVudHMvcGxhdGZvcm0td2hlZWxldmVudC1p
bi1zY3JvbGxpbmctZGl2Lmh0bWwgPSBUSU1FT1VUCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tp
cHBlZAkocmV2aXNpb24gNTkyNjMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZAkod29ya2luZyBjb3B5KQpAQCAtNTgzMiw2ICs1ODMyLDEwIEBAIGZhc3QvZG9tL0hUTUxQcm9n
cmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvc2V0
LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbAogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9w
cm9ncmVzcy1iYXItdmFsdWUtcHNldWRvLWVsZW1lbnQuaHRtbAogCisjIG1ldGVyIGVsZW1lbnQg
aXMgbm90IHN1cHBvcnRlZAorZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50
Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRt
bAorCiAjIE5lZWRzIG1vY2sgc3VwcG9ydCwgYW5kIGJ1aWxkIHNsYXZlIEdlb2xvY2F0aW9uIHNl
cnZpY2UKICMgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjA1
MwogZmFzdC9kb20vR2VvbG9jYXRpb24vbWF4aW11bS1hZ2UuaHRtbApJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDU5MjYzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTE0Miw2ICsxNDIsMTAgQEAgZmFzdC9mb3Jt
cy9tdWx0aXBsZS1mb3JtLXN1Ym1pc3Npb24tcHJvdAogIyBUaGUgYW5pbWF0aW9uIGNhdXNlcyB0
aGUgcmVzdWx0IG9mIHRoaXMgdGVzdCB0byBkZXBlbmQgb24gdGhlIHNwZWVkIG9mIGV4ZWN1dGlu
ZyBpdCwgYW5kIHRoYXQgd2lsbCBjYXVzZSBpdCB0byBiZSBmbGFreQogZmFzdC9kb20vSFRNTFBy
b2dyZXNzRWxlbWVudC9wcm9ncmVzcy1lbGVtZW50Lmh0bWwKIAorIyBtZXRlciBlbGVtZW50IGlz
IG5vdCBzdXBwb3J0ZWQKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5o
dG1sCitmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwK
KwogIyBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dC91cmktbGlzdCcpIG5vdCBjb3Jy
ZWN0bHkgaW1wbGVtZW50ZWQgb24gTWFjCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YVRyYW5zZmVy
LXNldERhdGEtZ2V0RGF0YS5odG1sCiAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5jaGVja3N1bQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJF
bGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVs
ZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzIyZGJj
YzhlZjZlMDA0YzIyYWFlY2Y1ZWE3MTI2NTI3ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9t
ZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJNZXRlciB7TUVURVJ9IGF0ICgw
LDQ0KSBzaXplIDgweDE2CisgICAgICBSZW5kZXJNZXRlciB7TUVURVJ9IGF0ICg4MCwwKSBzaXpl
IDEweDYwCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA1OTI2MykKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC04MzQsNiArODM0LDEwIEBA
IGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtZWwKIGZhc3QvZG9tL0hUTUxQ
cm9ncmVzc0VsZW1lbnQvc2V0LXByb2dyZXNzLXByb3BlcnRpZXMuaHRtbAogZmFzdC9kb20vSFRN
TFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1iYXItdmFsdWUtcHNldWRvLWVsZW1lbnQuaHRtbAog
CisjIG1ldGVyIGVsZW1lbnQgaXMgbm90IHN1cHBvcnRlZAorZmFzdC9kb20vSFRNTE1ldGVyRWxl
bWVudC9tZXRlci1lbGVtZW50Lmh0bWwKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1l
dGVyLXByb3BlcnRpZXMuaHRtbAorCiAjIE5vIFdpZGdldHMgMS4wIHN1cHBvcnQKIGZhc3QvbWVk
aWEvbWVkaWEtZmVhdHVyZS13Z3Qtdmlldy1tb2RlLmh0bWwKIApJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVj
dGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFy
eSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJF
bGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpt
aW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFO
U1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJB
QUFNCnhFbEVRVlI0bk8zZHdhbURRQlJBMFV4SUw1WmhFeW5ESmxOR3FwbS9kaGtDZC9MeG5OMkE2
TVBkblJFY2M4NTVBd0FBQ054WER3QUEKQUZ5SEFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01B
QUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFES1AxUU5jeWV2MQpPcTMzZlY4MENRQUFy
T0VFQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFE
SUNCQUFBCnlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSURNbUhQTzFV
TmN4Ylp0cC9YNy9WNDBDUUFBckNGQVFtT00KMDlxckJ3RGdhbnlDQlFBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSQpBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCCkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FlWHh5OFJq
anE0Y2R4M0Y3UHA5ZjNlTS8yUGQ5OVFnQUFQQ1QKbklBQUFBQVpBUUlBQUdRRUNBQUFrQkVnQUFC
QVJvQUFBQUFaQVFJQUFHUUVDQUFBa0JFZ0FBQkE1cU1mRWZLZCsxM3ZBUUJ3YldQTwpPVmNQQVFB
QVhJTXRlUUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FB
QU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FB
QU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0kKRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FB
QU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeQpBZ1FB
QU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBCmpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUEKSUNOQUFBQ0FqQUFCQUFBeUFnUUFB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQQpB
TWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFN
Z0lFQUFBSUNOQUFBQ0FqQUFCCkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFN
Z0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkEKQUFDQWpBQUJBQUF5QWdRQUFN
Z0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1n
SQpFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1n
SUVBQUFJQ05BQUFDQWpBQUJBQUF5CkFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1n
SUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0EKakFBQkFBQXlBZ1FBQU1n
SUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJ
RUFBQQpJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJ
RUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBCkFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJ
RUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUIKQUFBeUFnUUFBTWdJ
RUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lF
QUFBSUNOQQpBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lF
QUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJCkVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lF
QUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXkKQWdRQUFNZ0lF
QUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQQpqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBCklDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUEKQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkFBQUNBakFBQgpBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0kKRUFB
QUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFB
SUNOQUFBQ0FqQUFCQUFBeQpBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFB
SUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBCmpBQUJBQUF5QWdRQUFNZ0lFQUFB
SUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUEK
SUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJ
Q05BQUFDQWpBQUJBQUF5QWdRQQpBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJ
Q05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCCkFBQXlBZ1FBQU1nSUVBQUFJ
Q05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlD
TkEKQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlD
TkFBQUNBakFBQkFBQXlBZ1FBQU1nSQpFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlD
TkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5CkFnUUFBTWdJRUFBQUlD
TkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNO
QUFBQ0EKakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNO
QUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQQpJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNO
QUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBCkFNZ0lFQUFBSUNO
QUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05B
QUFDQWpBQUIKQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05B
QUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQQpBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05B
QUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJCkVBQUFJQ05B
QUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFB
QUNBakFBQkFBQXkKQWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFB
QUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQQpqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFB
QUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBCklDTkFB
QUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFB
Q0FqQUFCQUFBeUFnUUEKQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFB
Q0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQgpBQUF5QWdRQUFNZ0lFQUFBSUNOQUFB
Q0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BCkFB
Q0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFD
QWpBQUJBQUF5QWdRQUFNZ0kKRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFD
QWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeQpBZ1FBQU1nSUVBQUFJQ05BQUFD
QWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNB
CmpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNB
akFBQkFBQXlBZ1FBQU1nSUVBQUEKSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNB
akFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQQpBTWdJRUFBQUlDTkFBQUNB
akFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0Fq
QUFCCkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQXpCKzBqQ0NwWHUzNTF3QUFBQUJKUlU1RXJrSmdn
Zz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56099</attachid>
            <date>2010-05-14 13:03:06 -0700</date>
            <delta_ts>2010-10-29 14:54:16 -0700</delta_ts>
            <desc>Patch addressing comment #26.</desc>
            <filename>38140.patch</filename>
            <type>text/plain</type>
            <size>61872</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTQ3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzcgQEAKKzIwMTAtMDUtMTIgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluaXRpYWwgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgxNDAKKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBmb3IgSFRNTE1ldGVyRWxlbWVudCwgaW5jbHVkaW5nIGRlZmF1bHQgcmVu
ZGVyaW5nCisgICAgICAgIG9mIHRoZSBtZXRlciBlbGVtZW50LiBUaGF0IGlzIGJlY2F1c2Ugc29t
ZSBwbGF0Zm9ybXMgZG8gbm90IGhhdmUgYSBuYXRpdmUgZ2F1Z2UuCisgICAgICAgIFRoZSBmZWF0
dXJlIGlzIHR1cm5lZCBvbiBvbmx5IGZvciB0aGUgUXQgcGxhdGZvcm0uCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0
bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBjc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvaHRtbC5jc3M6CisgICAgICAgIChtZXRlcik6CisgICAgICAg
IChtZXRlcjo6LXdlYmtpdC1tZXRlcik6CisgICAgICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW46CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjppbmxpbmVUYWdMaXN0KToKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNw
cDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OkhUTUxNZXRlckVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZXRlckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZXRlckVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0
ZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0ZXJFbGVtZW50OjptaW4pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
c2V0TWluKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6Om1heCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpzZXRNYXgpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1ldGVyRWxlbWVudDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6
bG93KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRlckVsZW1lbnQ6OnNldExvdyk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpoaWdoKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZXRlckVsZW1lbnQ6OnNldEhpZ2gpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVy
RWxlbWVudDo6b3B0aW11bSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50Ojpz
ZXRPcHRpbXVtKToKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWV0ZXJFbGVtZW50OjpyZWNhbGNXaWxsVmFsaWRhdGUpOgor
ICAgICAgICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGw6IEFkZGVkLgorICAgICAgICAqIGh0
bWwvSFRNTFRhZ05hbWVzLmluOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1l
dGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRlcjo6UmVuZGVyTWV0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWV0ZXI6OmxheW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJNZXRlcjo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJNZXRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1ldGVy
OjpyZW5kZXJOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1ldGVyOjppc01ldGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OnRvUmVuZGVyTWV0ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aXNNZXRlcik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lOjphZGp1c3RTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZTo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVyT25s
eSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0TWV0ZXJTdHlsZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRNZXRlcik6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisKIDIwMTAtMDUtMTQgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWpp
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiAgQXR0ZW1wdCB0byBmaXggY2hy
b21pdW0ncyBtZW1vcnkgYm90IGVycm9yLgpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDU5
NDc3KQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0
MCw2ICsxNDAsNyBAQAogI2luY2x1ZGUgIkpTSFRNTE1lZGlhRWxlbWVudC5jcHAiCiAjaW5jbHVk
ZSAiSlNIVE1MTWVudUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE1ldGFFbGVtZW50LmNw
cCIKKyNpbmNsdWRlICJKU0hUTUxNZXRlckVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE1v
ZEVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTSFRNTE9iamVjdEVsZW1lbnQuY3BwIgogI2luY2x1
ZGUgIkpTSFRNTE9MaXN0RWxlbWVudC5jcHAiCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lv
biA1OTQ3NykKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpA
QCAtMTgyLDYgKzE4Miw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIEhUTUxNZWRpYUVsZW1lbnQg
XAogICAgIEhUTUxNZW51RWxlbWVudCBcCiAgICAgSFRNTE1ldGFFbGVtZW50IFwKKyAgICBIVE1M
TWV0ZXJFbGVtZW50IFwKICAgICBIVE1MTW9kRWxlbWVudCBcCiAgICAgSFRNTE9MaXN0RWxlbWVu
dCBcCiAgICAgSFRNTE9iamVjdEVsZW1lbnQgXApAQCAtNjQ0LDYgKzY0NSwxMCBAQCBpZmVxICgk
KGZpbmRzdHJpbmcgRU5BQkxFX0RBVEFMSVNULCQoRkVBCiAgICAgSFRNTF9GTEFHUyA6PSAkKEhU
TUxfRkxBR1MpIEVOQUJMRV9EQVRBTElTVD0xCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcg
RU5BQkxFX01FVEVSX1RBRywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUVURVJfVEFHKQor
ICAgIEhUTUxfRkxBR1MgOj0gJChIVE1MX0ZMQUdTKSBFTkFCTEVfTUVURVJfVEFHPTEKK2VuZGlm
CisKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfUFJPR1JFU1NfVEFHLCQoRkVBVFVSRV9ERUZJ
TkVTKSksIEVOQUJMRV9QUk9HUkVTU19UQUcpCiAgICAgSFRNTF9GTEFHUyA6PSAkKEhUTUxfRkxB
R1MpIEVOQUJMRV9QUk9HUkVTU19UQUc9MQogZW5kaWYKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZp
bGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNTk0
NzcpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNiAr
MjQ0LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGwg
XAogCVdlYkNvcmUvaHRtbC9IVE1MTWVudUVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRN
TE1ldGFFbGVtZW50LmlkbCBcCisJV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsIFwK
IAlXZWJDb3JlL2h0bWwvSFRNTE1vZEVsZW1lbnQuaWRsIFwKIAlXZWJDb3JlL2h0bWwvSFRNTE9M
aXN0RWxlbWVudC5pZGwgXAogCVdlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwgXApA
QCAtMTE2Niw2ICsxMTY3LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwv
SFRNTE1lbnVFbGVtZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIFwK
IAlXZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmggXAorCVdlYkNvcmUvaHRtbC9IVE1MTWV0
ZXJFbGVtZW50LmNwcCBcCisJV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaCBcCiAJV2Vi
Q29yZS9odG1sL0hUTUxNb2RFbGVtZW50LmNwcCBcCiAJV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVt
ZW50LmggXAogCVdlYkNvcmUvaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIFwKQEAgLTE4OTks
NiArMTkwMiw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5oIFwKIAlXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgXAog
CVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggXAorCVdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1ldGVyLmNwcCBcCisJV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaCBcCiAJ
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBcCiAJV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmggXAogCVdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlz
dC5jcHAgXApAQCAtMjI0Niw2ICsyMjUxLDE0IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1E
RU5BQkxFX0RBVEFHUklEPTAKIAogIyAtLS0tCisjIEhUTUwgTWV0ZXIgRWxlbWVudCAtIGRpc2Fi
bGUgZm9yIG5vdy4KKyMgLS0tLQorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9NRVRFUl9UQUc9
MAorCit3ZWJjb3JlX2NwcGZsYWdzICs9IFwKKyAgICAtREVOQUJMRV9NRVRFUl9UQUc9MAorCisj
IC0tLS0KICMgSFRNTCBQcm9ncmVzcyBFbGVtZW50IC0gZGlzYWJsZSBmb3Igbm93LCBzaW5jZSBw
YWludGluZyBjb2RlIGlzIG1pc3NpbmcuCiAjIC0tLS0KIEZFQVRVUkVfREVGSU5FUyArPSBFTkFC
TEVfUFJPR1JFU1NfVEFHPTAKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA1OTQ3NykKKysrIFdlYkNvcmUvV2Vi
Q29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDcgQEAKICAgICAgICAgICAg
ICdodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsJywKICAgICAgICAgICAgICdodG1sL0hUTUxNZW51
RWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1ldGFFbGVtZW50LmlkbCcsCisg
ICAgICAgICAgICAnaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRt
bC9IVE1MTW9kRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE9MaXN0RWxlbWVu
dC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsJywKQEAgLTE1
NjAsNiArMTU2MSw4IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MTWVudUVsZW1lbnQuaCcsCiAg
ICAgICAgICAgICAnaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwJywKICAgICAgICAgICAgICdodG1s
L0hUTUxNZXRhRWxlbWVudC5oJywKKyAgICAgICAgICAgICdodG1sL0hUTUxNZXRlckVsZW1lbnQu
Y3BwJywKKyAgICAgICAgICAgICdodG1sL0hUTUxNZXRlckVsZW1lbnQuaCcsCiAgICAgICAgICAg
ICAnaHRtbC9IVE1MTW9kRWxlbWVudC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTE1vZEVs
ZW1lbnQuaCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwJywKQEAg
LTMxMzcsNiArMzE0MCw4IEBACiAgICAgICAgICAgICAncmVuZGVyaW5nL1JlbmRlck1lZGlhQ29u
dHJvbHNDaHJvbWl1bS5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyTWVudUxpc3Qu
Y3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaCcsCisgICAgICAg
ICAgICAncmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcCcsCisgICAgICAgICAgICAncmVuZGVyaW5n
L1JlbmRlck1ldGVyLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
JywKICAgICAgICAgICAgICdyZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgnLAogICAgICAgICAgICAg
J3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwJywKSW5kZXg6IFdlYkNvcmUvV2Vi
Q29yZS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnByaQkocmV2aXNpb24gNTk0
NzcpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJpCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3
IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TSU5HTEVfVEhSRUFERUQKICFjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfVklERU89Lik6IERFRklORVMgKz0gRU5BQkxFX1ZJREVPPTEKICFjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfUlVCWT0uKTogREVGSU5FUyArPSBFTkFCTEVfUlVCWT0xCiAh
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NBTkRCT1g9Lik6IERFRklORVMgKz0gRU5BQkxFX1NB
TkRCT1g9MQorIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRVRFUl9UQUc9Lik6IERFRklORVMg
Kz0gRU5BQkxFX01FVEVSX1RBRz0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1BST0dSRVNT
X1RBRz0uKTogREVGSU5FUyArPSBFTkFCTEVfUFJPR1JFU1NfVEFHPTEKICFjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfQkxPQl9TTElDRT0uKTogREVGSU5FUyArPSBFTkFCTEVfQkxPQl9TTElDRT0w
CiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFX05PVElGSUNBVElPTlM9Lik6IERFRklORVMgKz0g
RU5BQkxFX05PVElGSUNBVElPTlM9MQpAQCAtMTYzLDYgKzE2NCw3IEBAIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9XRUJfU09DS0VUUz0xKToKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9UT1VD
SF9FVkVOVFM9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9UT1VDSF9F
VkVOVFM9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1RJTEVEX0JBQ0tJTkdfU1RPUkU9MSk6
IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9USUxFRF9CQUNLSU5HX1NUT1JF
PTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9OT1RJRklDQVRJT05TPTEpOiBGRUFUVVJFX0RF
RklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfTk9USUZJQ0FUSU9OUz0xCitjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfTUVURVJfVEFHPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBF
TkFCTEVfTUVURVJfVEFHPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9QUk9HUkVTU19UQUc9
MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9QUk9HUkVTU19UQUc9MQog
CiAKQEAgLTM3Nyw2ICszNzksNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIGh0bWwvSFRNTE1l
ZGlhRWxlbWVudC5pZGwgXAogICAgIGh0bWwvSFRNTE1lbnVFbGVtZW50LmlkbCBcCiAgICAgaHRt
bC9IVE1MTWV0YUVsZW1lbnQuaWRsIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsIFwK
ICAgICBodG1sL0hUTUxNb2RFbGVtZW50LmlkbCBcCiAgICAgaHRtbC9IVE1MT2JqZWN0RWxlbWVu
dC5pZGwgXAogICAgIGh0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGwgXApJbmRleDogV2ViQ29yZS9X
ZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA1
OTQ3NykKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTY1NCw2ICs2
NTQsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hUTUxNYXJxdWVlRWxlbWVudC5jcHAgXAog
ICAgIGh0bWwvSFRNTE1lbnVFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTWV0YUVsZW1lbnQu
Y3BwIFwKKyAgICBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwIFwKICAgICBodG1sL0hUTUxNb2RF
bGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIFwKICAgICBodG1s
L0hUTUxPYmplY3RFbGVtZW50LmNwcCBcCkBAIC05MzUsNiArOTM2LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwIFwKICAgICByZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgXAorICAg
IHJlbmRlcmluZy9SZW5kZXJNZXRlci5jcHAgXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwIFwKICAgICByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcCBcCiAgICAgcmVu
ZGVyaW5nL1JlbmRlclBhcnQuY3BwIFwKQEAgLTEzNzUsNiArMTM3Nyw3IEBAIEhFQURFUlMgKz0g
XAogICAgIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxNZW51RWxlbWVu
dC5oIFwKICAgICBodG1sL0hUTUxNZXRhRWxlbWVudC5oIFwKKyAgICBodG1sL0hUTUxNZXRlckVs
ZW1lbnQuaCBcCiAgICAgaHRtbC9IVE1MTW9kRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxOYW1l
Q29sbGVjdGlvbi5oIFwKICAgICBodG1sL0hUTUxOb1NjcmlwdEVsZW1lbnQuaCBcCkBAIC0xNzE0
LDYgKzE3MTcsNyBAQCBIRUFERVJTICs9IFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5o
IFwKICAgICByZW5kZXJpbmcvUmVuZGVyTWVkaWEuaCBcCiAgICAgcmVuZGVyaW5nL1JlbmRlck1l
bnVMaXN0LmggXAorICAgIHJlbmRlcmluZy9SZW5kZXJNZXRlci5oIFwKICAgICByZW5kZXJpbmcv
UmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmggXAogICAgIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBc
CiAgICAgcmVuZGVyaW5nL1JlbmRlclBhcnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDU5NDc3KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNjU2NSw2ICs2NTY1LDYyIEBACiAJ
CQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0
T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNIVE1MTWV0ZXJF
bGVtZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0hUTUxN
ZXRlckVsZW1lbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNIVE1MTW9kRWxlbWVudC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQpAQCAtMjc5ODEsNiArMjgwMzcsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlck1ldGVyLmNwcCINCisJ
CQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRl
cmluZ1xSZW5kZXJNZXRlci5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXFJlbmRlck9iamVjdC5jcHAiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQpAQCAtMzMzMTMsNiArMzMzNzcsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MTWV0ZXJFbGVtZW50LmNw
cCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9v
bA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVh
c2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1M
TWV0ZXJFbGVtZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxodG1sXEhUTUxNb2RFbGVtZW50LmNwcCINCiAJCQkJPg0KIAkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gNTk0NzcpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjU2OSw2ICsyNTY5LDEwIEBACiAJCUE0
M0JGNTk5MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJvZ3Jlc3NFbGVtZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNDNCRjU5NzExNDkyOTBBMDBD
NjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovOyB9OwogCQlBNDNCRjU5QzExNDkyOTI4
MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTQzQkY1OUExMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclBy
b2dyZXNzLmNwcCAqLzsgfTsKIAkJQTQzQkY1OUQxMTQ5MjkyODAwQzY0M0NBIC8qIFJlbmRlclBy
b2dyZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
NDNCRjU5QjExNDkyOTI4MDBDNjQzQ0EgLyogUmVuZGVyUHJvZ3Jlc3MuaCAqLzsgfTsKKwkJQTQ1
NDQyNEExMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNDgxMTlCMzY2MTAwOUJF
OTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuY3BwICovOyB9OworCQlBNDU0NDI0QjExOUIzNjYxMDA5
QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNDkxMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVs
ZW1lbnQuaCAqLzsgfTsKKwkJQTQ1NDQyNEUxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE0NTQ0
MjRDMTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5jcHAgKi87IH07CisJCUE0NTQ0MjRG
MTE5QjM2ODcwMDlCRTkxMiAvKiBSZW5kZXJNZXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTQ1NDQyNEQxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRl
ck1ldGVyLmggKi87IH07CiAJCUE1MTNCM0Q3MTE0QjE2NjYwMDFDNDI5QiAvKiBLZXlFdmVudENv
Y29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUM5
NzRDRjExNDg1RkYxMDA2NkYyQUIgLyogS2V5RXZlbnRDb2NvYS5oICovOyB9OwogCQlBNTEzQjNE
ODExNEIxNjZBMDAxQzQyOUIgLyogS2V5RXZlbnRDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1Qzk3NEQwMTE0ODVGRjEwMDY2RjJBQiAvKiBL
ZXlFdmVudENvY29hLm1tICovOyB9OwogCQlBNTlFM0MxRTExNTgwRjUxMDA3MjkyOEUgLyogS2V5
RXZlbnRDb2Rlc0lQaG9uZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTU5RTNDMUMxMTU4MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUu
aCAqLzsgfTsKQEAgLTgwOTIsNiArODA5NiwxMCBAQAogCQlBNDNCRjU5NzExNDkyOTBBMDBDNjQz
Q0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBIVE1MUHJvZ3Jlc3NFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE0M0JGNTlBMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQcm9ncmVzcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJQcm9ncmVzcy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE0M0JGNTlCMTE0OTI5MjgwMEM2NDNDQSAvKiBSZW5kZXJQ
cm9ncmVzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJQcm9ncmVz
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDU0NDI0ODExOUIzNjYxMDA5QkU5
MTIgLyogSFRNTE1ldGVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBIVE1MTWV0ZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTQ1NDQyNDkxMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1ldGVyRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBNDU0NDI0QzExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVyTWV0
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTWV0ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBNDU0NDI0RDExOUIzNjg3MDA5QkU5
MTIgLyogUmVuZGVyTWV0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyTWV0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUMxMTU4MEY1
MTAwNzI5MjhFIC8qIEtleUV2ZW50Q29kZXNJUGhvbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gS2V5RXZlbnRDb2Rlc0lQaG9uZS5oOyBwYXRoID0gaXBob25lL0tleUV2ZW50
Q29kZXNJUGhvbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTU5RTNDMUQxMTU4
MEY1MTAwNzI5MjhFIC8qIEtleUV2ZW50SVBob25lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBuYW1lID0gS2V5RXZlbnRJUGhvbmUubW07IHBhdGggPSBpcGhvbmUvS2V5RXZl
bnRJUGhvbmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QUZCMzREMTE1MTUx
QTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU3RlcFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEz
MzkzLDYgKzEzNDAxLDggQEAKIAkJCQlBODcxREMxQjBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1l
dGFFbGVtZW50LmNwcCAqLywKIAkJCQlBODcxREMxODBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1l
dGFFbGVtZW50LmggKi8sCiAJCQkJQTgwRTc5RkMwQTE5QzMwNzAwN0ZCOEM1IC8qIEhUTUxNZXRh
RWxlbWVudC5pZGwgKi8sCisJCQkJQTQ1NDQyNDgxMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRl
ckVsZW1lbnQuY3BwICovLAorCQkJCUE0NTQ0MjQ5MTE5QjM2NjEwMDlCRTkxMiAvKiBIVE1MTWV0
ZXJFbGVtZW50LmggKi8sCiAJCQkJQThDRkY3OUYwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RF
bGVtZW50LmNwcCAqLywKIAkJCQlBOENGRjc5RDBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVs
ZW1lbnQuaCAqLywKIAkJCQkxQUUyQUIwNzBBMUNFNUNGMDBCNDJCMjUgLyogSFRNTE1vZEVsZW1l
bnQuaWRsICovLApAQCAtMTYxNTgsNiArMTYxNjgsOCBAQAogCQkJCUU0QzI3OTU3MENGOTc0MTkw
MEU5N0I5OCAvKiBSZW5kZXJNZWRpYS5oICovLAogCQkJCUFCRERGRTczMEE1QzZFNkYwMEEzRTEx
RCAvKiBSZW5kZXJNZW51TGlzdC5jcHAgKi8sCiAJCQkJQUJEREZFNzQwQTVDNkU3MDAwQTNFMTFE
IC8qIFJlbmRlck1lbnVMaXN0LmggKi8sCisJCQkJQTQ1NDQyNEMxMTlCMzY4NzAwOUJFOTEyIC8q
IFJlbmRlck1ldGVyLmNwcCAqLywKKwkJCQlBNDU0NDI0RDExOUIzNjg3MDA5QkU5MTIgLyogUmVu
ZGVyTWV0ZXIuaCAqLywKIAkJCQlCQ0VBNDg0MDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2Jq
ZWN0LmNwcCAqLywKIAkJCQlCQ0VBNDg0MTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0
LmggKi8sCiAJCQkJQkM2MEVGQjYwRjMzQTBFNzAwODEyQTkzIC8qIFJlbmRlck9iamVjdENoaWxk
TGlzdC5jcHAgKi8sCkBAIC0xOTE2Myw2ICsxOTE3NSw4IEBACiAJCQkJMkU5NEY0M0MxMTkyMDdE
QTAwQjdGNzVEIC8qIEpTRmlsZVJlYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU5NEY0NTEx
MTkyMDk2QTAwQjdGNzVEIC8qIEZpbGVSZWFkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDBB
MkQ3MTE5MUE1MjMwMDA4MjBCMCAvKiBTVkdGRUxpZ2h0aW5nLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBNDU0NDI0QjExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTQ1NDQyNEYxMTlCMzY4NzAwOUJFOTEyIC8qIFJlbmRlck1ldGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCNUI1REM2QTExOUJCM0Q1MDAyQTg3OTAgLyogQWJzdHJhY3REYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CkBAIC0yMTQzMiw2ICsyMTQ0Niw4IEBACiAJCQkJMkU5NEY0M0IxMTky
MDdEQTAwQjdGNzVEIC8qIEpTRmlsZVJlYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTk0
RjQ1MDExOTIwOTY0MDBCN0Y3NUQgLyogRmlsZVJlYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFNDQwQTJENTExOTFBNTBCMDAwODIwQjAgLyogU1ZHRkVMaWdodGluZy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlBNDU0NDI0QTExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVyRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlBNDU0NDI0RTExOUIzNjg3MDA5QkU5MTIgLyogUmVuZGVy
TWV0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjVCNURDNjkxMTlCQjNENTAwMkE4NzkwIC8q
IEFic3RyYWN0RGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZU1hcHBpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUHJpbWl0
aXZlVmFsdWVNYXBwaW5ncy5oCShyZXZpc2lvbiA1OTQ3NykKKysrIFdlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjc1LDYgKzI3NSw5IEBA
IHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1MKICAgICAgICAgY2FzZSBN
ZW51bGlzdFRleHRGaWVsZFBhcnQ6CiAgICAgICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFs
dWVNZW51bGlzdFRleHRmaWVsZDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1l
dGVyUGFydDoKKyAgICAgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZU1ldGVyOworICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgT3V0ZXJTcGluQnV0dG9uUGFydDoKICAgICAg
ICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZU91dGVyU3BpbkJ1dHRvbjsKICAgICAgICAg
ICAgIGJyZWFrOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCShyZXZpc2lvbiA1OTQ3NykK
KysrIFdlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTU4
OSw2ICs1ODksNyBAQCBtZW51bGlzdAogbWVudWxpc3QtYnV0dG9uCiBtZW51bGlzdC10ZXh0CiBt
ZW51bGlzdC10ZXh0ZmllbGQKK21ldGVyCiBvdXRlci1zcGluLWJ1dHRvbgogcHJvZ3Jlc3MtYmFy
CiBwcm9ncmVzcy1iYXItdmFsdWUKSW5kZXg6IFdlYkNvcmUvY3NzL2h0bWwuY3NzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvY3NzL2h0bWwuY3NzCShyZXZpc2lvbiA1OTQ3NykKKysrIFdlYkNvcmUv
Y3NzL2h0bWwuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC01MTcsNiArNTE3LDIwIEBAIG9wdGlvbiB7
CiAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKIH0KIAorLyogbWV0ZXIgKi8KKworbWV0ZXIgewor
ICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWV0ZXI7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2Nr
OworICAgIGhlaWdodDogMWVtOworICAgIHdpZHRoOiA1ZW07CisgICAgdmVydGljYWwtYWxpZ246
IC0wLjJlbTsKK30KKworbWV0ZXI6Oi13ZWJraXQtbWV0ZXIgeworICAgIC13ZWJraXQtYXBwZWFy
YW5jZTogbWV0ZXI7Cit9CisKIC8qIHByb2dyZXNzICovCiAKIHByb2dyZXNzIHsKSW5kZXg6IFdl
YkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgkocmV2aXNpb24gNTk0NzcpCisrKyBXZWJDb3JlL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC05OCw2ICs5OCw3IEBA
IGZyYW1lYm9yZGVyCiBoZWFkZXJzCiBoZWlnaHQKIGhpZGRlbgoraGlnaAogaHJlZgogaHJlZmxh
bmcKIGhzcGFjZQpAQCAtMTE1LDYgKzExNiw3IEBAIGxpbmsKIGxpc3QKIGxvbmdkZXNjCiBsb29w
Citsb3cKIHBsYXljb3VudAogbG9vcGVuZAogbG9vcHN0YXJ0CkBAIC0yMTksNiArMjIxLDcgQEAg
b253ZWJraXRhbmltYXRpb25lbmQKIG9ud2Via2l0YmVnaW5mdWxsc2NyZWVuCiBvbndlYmtpdGVu
ZGZ1bGxzY3JlZW4KIG9ud2Via2l0dHJhbnNpdGlvbmVuZAorb3B0aW11bQogcGF0dGVybgogcGxh
Y2Vob2xkZXIKIHBsdWdpbnVybApJbmRleDogV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiA1OTQ3
NykKKysrIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2
MSw2ICs4NjEsNyBAQCBzdGF0aWMgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4qIGlubGluCiAj
aWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAgdGFnTGlzdC5hZGQocHJvZ3Jlc3NUYWcu
bG9jYWxOYW1lKCkuaW1wbCgpKTsKICNlbmRpZgorICAgICAgICB0YWdMaXN0LmFkZChtZXRlclRh
Zy5sb2NhbE5hbWUoKS5pbXBsKCkpOwogICAgIH0KICAgICByZXR1cm4gJnRhZ0xpc3Q7CiB9Cklu
ZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHAJKHJldmlzaW9uIDU5NDc3KQor
KysgV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzcsNiArNzcsNyBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuY3BwIgogI2luY2x1
ZGUgIkhUTUxNZW51RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE1ldGFFbGVtZW50LmNwcCIK
KyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MTW9kRWxlbWVu
dC5jcHAiCiAjaW5jbHVkZSAiSFRNTE9MaXN0RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTE9i
amVjdEVsZW1lbnQuY3BwIgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAkocmV2aXNp
b24gMCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAiSFRNTE1ldGVyRWxlbWVudC5oIgor
CisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkZvcm1EYXRhTGlzdC5oIgorI2lu
Y2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1
ZGUgIkhUTUxQYXJzZXIuaCIKKyNpbmNsdWRlICJNYXBwZWRBdHRyaWJ1dGUuaCIKKyNpbmNsdWRl
ICJSZW5kZXJNZXRlci5oIgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOworCitIVE1MTWV0ZXJF
bGVtZW50OjpIVE1MTWV0ZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2N1bWVudCkKKyAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQsIDAsIENyZWF0ZUhUTUxFbGVtZW50KQoreworICAgIEFTU0VSVChoYXNUYWdOYW1l
KG1ldGVyVGFnKSk7Cit9CisKK1Bhc3NSZWZQdHI8SFRNTE1ldGVyRWxlbWVudD4gSFRNTE1ldGVy
RWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBk
b2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhUTUxNZXRlckVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQpKTsKK30KKworUmVuZGVyT2JqZWN0KiBIVE1MTWV0ZXJFbGVtZW50Ojpj
cmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKikKK3sKKyAgICBy
ZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVyTWV0ZXIodGhpcyk7Cit9CisKK2NvbnN0IEF0b21pY1N0
cmluZyYgSFRNTE1ldGVyRWxlbWVudDo6Zm9ybUNvbnRyb2xUeXBlKCkgY29uc3QKK3sKKyAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgbWV0ZXIsICgibWV0ZXIiKSk7
CisgICAgcmV0dXJuIG1ldGVyOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cmlidXRlKQoreworICAgIGlmIChhdHRy
aWJ1dGUtPm5hbWUoKSA9PSB2YWx1ZUF0dHIgfHwgYXR0cmlidXRlLT5uYW1lKCkgPT0gbWluQXR0
ciB8fCBhdHRyaWJ1dGUtPm5hbWUoKSA9PSBtYXhBdHRyIHx8IGF0dHJpYnV0ZS0+bmFtZSgpID09
IGxvd0F0dHIgfHwgYXR0cmlidXRlLT5uYW1lKCkgPT0gaGlnaEF0dHIgfHwgYXR0cmlidXRlLT5u
YW1lKCkgPT0gb3B0aW11bUF0dHIpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyKCkpCisgICAgICAg
ICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIH0gZWxzZQorICAgICAg
ICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyaWJ1dGUp
OworfQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVudDo6bWluKCkgY29uc3QKK3sKKyAgICBkb3Vi
bGUgbWluID0gMDsKKyAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1dGUo
bWluQXR0ciksICZtaW4pOworICAgIHJldHVybiBtaW47Cit9CisKK3ZvaWQgSFRNTE1ldGVyRWxl
bWVudDo6c2V0TWluKGRvdWJsZSBtaW4sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICgh
aXNmaW5pdGUobWluKSkgeworICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIHNldEF0dHJpYnV0ZShtaW5BdHRyLCBTdHJpbmc6Om51bWJl
cihtaW4pKTsKK30KKworZG91YmxlIEhUTUxNZXRlckVsZW1lbnQ6Om1heCgpIGNvbnN0Cit7Cisg
ICAgZG91YmxlIG1heCA9IHN0ZDo6bWF4KDEuMCwgbWluKCkpOworICAgIHBhcnNlVG9Eb3VibGVG
b3JOdW1iZXJUeXBlKGdldEF0dHJpYnV0ZShtYXhBdHRyKSwgJm1heCk7CisgICAgcmV0dXJuIHN0
ZDo6bWF4KG1heCwgbWluKCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldE1heChk
b3VibGUgbWF4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWlzZmluaXRlKG1heCkp
IHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBzZXRBdHRyaWJ1dGUobWF4QXR0ciwgU3RyaW5nOjpudW1iZXIobWF4KSk7Cit9CisK
K2RvdWJsZSBIVE1MTWV0ZXJFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0Cit7CisgICAgZG91YmxlIHZh
bHVlID0gMDsKKyAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1dGUodmFs
dWVBdHRyKSwgJnZhbHVlKTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgodmFsdWUsIG1p
bigpKSwgbWF4KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldFZhbHVlKGRvdWJs
ZSB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFpc2Zpbml0ZSh2YWx1ZSkp
IHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBzZXRBdHRyaWJ1dGUodmFsdWVBdHRyLCBTdHJpbmc6Om51bWJlcih2YWx1ZSkpOwor
fQorCitkb3VibGUgSFRNTE1ldGVyRWxlbWVudDo6bG93KCkgY29uc3QKK3sKKyAgICBkb3VibGUg
bG93ID0gbWluKCk7CisgICAgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUoZ2V0QXR0cmlidXRl
KGxvd0F0dHIpLCAmbG93KTsKKyAgICByZXR1cm4gc3RkOjptaW4oc3RkOjptYXgobG93LCBtaW4o
KSksIG1heCgpKTsKK30KKwordm9pZCBIVE1MTWV0ZXJFbGVtZW50OjpzZXRMb3coZG91YmxlIGxv
dywgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFpc2Zpbml0ZShsb3cpKSB7CisgICAg
ICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
c2V0QXR0cmlidXRlKGxvd0F0dHIsIFN0cmluZzo6bnVtYmVyKGxvdykpOworfQorCitkb3VibGUg
SFRNTE1ldGVyRWxlbWVudDo6aGlnaCgpIGNvbnN0Cit7CisgICAgZG91YmxlIGhpZ2ggPSBtYXgo
KTsKKyAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRBdHRyaWJ1dGUoaGlnaEF0dHIp
LCAmaGlnaCk7CisgICAgcmV0dXJuIHN0ZDo6bWluKHN0ZDo6bWF4KGhpZ2gsIGxvdygpKSwgbWF4
KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1lbnQ6OnNldEhpZ2goZG91YmxlIGhpZ2gsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghaXNmaW5pdGUoaGlnaCkpIHsKKyAgICAgICAg
ZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBzZXRB
dHRyaWJ1dGUoaGlnaEF0dHIsIFN0cmluZzo6bnVtYmVyKGhpZ2gpKTsKK30KKworZG91YmxlIEhU
TUxNZXRlckVsZW1lbnQ6Om9wdGltdW0oKSBjb25zdAoreworICAgIGRvdWJsZSBvcHRpbXVtID0g
KG1heCgpICsgbWluKCkpIC8gMjsKKyAgICBwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZShnZXRB
dHRyaWJ1dGUob3B0aW11bUF0dHIpLCAmb3B0aW11bSk7CisgICAgcmV0dXJuIHN0ZDo6bWluKHN0
ZDo6bWF4KG9wdGltdW0sIG1pbigpKSwgbWF4KCkpOworfQorCit2b2lkIEhUTUxNZXRlckVsZW1l
bnQ6OnNldE9wdGltdW0oZG91YmxlIG9wdGltdW0sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAg
IGlmICghaXNmaW5pdGUob3B0aW11bSkpIHsKKyAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VS
UjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBzZXRBdHRyaWJ1dGUob3B0aW11bUF0dHIs
IFN0cmluZzo6bnVtYmVyKG9wdGltdW0pKTsKK30KKworfSAvLyBuYW1lc3BhY2UKKyNlbmRpZgpJ
bmRleDogV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9odG1s
L0hUTUxNZXRlckVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICoKKyAqLworCisjaWZuZGVmIEhUTUxNZXRlckVsZW1lbnRfaAorI2RlZmluZSBIVE1MTWV0
ZXJFbGVtZW50X2gKKworI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVkZSAiSFRNTEZvcm1D
b250cm9sRWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEhUTUxNZXRl
ckVsZW1lbnQgOiBwdWJsaWMgSFRNTEZvcm1Db250cm9sRWxlbWVudCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8SFRNTE1ldGVyRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgZG91YmxlIG1pbigpIGNvbnN0OworICAgIHZvaWQg
c2V0TWluKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIG1heCgpIGNvbnN0
OworICAgIHZvaWQgc2V0TWF4KGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91Ymxl
IHZhbHVlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRWYWx1ZShkb3VibGUsIEV4Y2VwdGlvbkNvZGUm
KTsKKworICAgIGRvdWJsZSBsb3coKSBjb25zdDsKKyAgICB2b2lkIHNldExvdyhkb3VibGUsIEV4
Y2VwdGlvbkNvZGUmKTsKKworICAgIGRvdWJsZSBoaWdoKCkgY29uc3Q7CisgICAgdm9pZCBzZXRI
aWdoKGRvdWJsZSwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgZG91YmxlIG9wdGltdW0oKSBjb25z
dDsKKyAgICB2b2lkIHNldE9wdGltdW0oZG91YmxlLCBFeGNlcHRpb25Db2RlJik7CisKK3ByaXZh
dGU6CisgICAgSFRNTE1ldGVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQq
KTsKKworICAgIHZpcnR1YWwgYm9vbCByZWNhbGNXaWxsVmFsaWRhdGUoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGZvcm1Db250cm9s
VHlwZSgpIGNvbnN0OworCisgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVy
KFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKKworICAgIHZpcnR1YWwgdm9pZCBwYXJzZU1h
cHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKK307CisKK30gLy8gbmFtZXNwYWNlCisK
KyNlbmRpZgorI2VuZGlmCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsCShyZXZpc2lv
biAwKQorKysgV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworbW9kdWxlIGh0bWwgeworICAgIGludGVy
ZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FVEVSX1RBRworICAgIF0gSFRNTE1ldGVyRWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSB2
YWx1ZQorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwor
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91YmxlIG1pbgorICAgICAgICAgICAgICAgICAg
ICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgZG91YmxlIG1heAorICAgICAgICAgICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNl
cHRpb24pOworICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91YmxlIGxvdworICAgICAgICAg
ICAgICAgICAgICAgc2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICAgICAgICAg
ICBhdHRyaWJ1dGUgZG91YmxlIGhpZ2gKKyAgICAgICAgICAgICAgICAgICAgIHNldHRlciByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSBvcHRp
bXVtCisgICAgICAgICAgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9ybTsKKyAgICB9Owor
fQpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxUYWdOYW1lcy5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluCShyZXZpc2lvbiA1OTQ3NykKKysrIFdlYkNvcmUvaHRt
bC9IVE1MVGFnTmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAgbWFwIGNy
ZWF0ZVdpdGhOZXcKIG1hcnF1ZWUgY3JlYXRlV2l0aE5ldwogbWVudSBjcmVhdGVXaXRoTmV3CiBt
ZXRhIGNyZWF0ZVdpdGhOZXcKK21ldGVyIGludGVyZmFjZU5hbWU9SFRNTE1ldGVyRWxlbWVudCwg
Y29uZGl0aW9uYWw9TUVURVJfVEFHCiBuYXYgaW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogbm9i
ciBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBub2VtYmVkIGludGVyZmFjZU5hbWU9SFRNTEVs
ZW1lbnQKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCShyZXZpc2lvbiA1OTQ3NykKKysrIFdlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00MTIsNiArNDEyLDkgQEAgbW9kdWxl
IHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTWFycXVlZUVsZW1lbnRDb25zdHJ1Y3Rv
ciBIVE1MTWFycXVlZUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTWVudUVsZW1lbnRD
b25zdHJ1Y3RvciBIVE1MTWVudUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTWV0YUVs
ZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWV0YUVsZW1lbnQ7CisjaWYgZGVmaW5lZChFTkFCTEVfTUVU
RVJfVEFHKSAmJiBFTkFCTEVfTUVURVJfVEFHCisgICAgICAgIGF0dHJpYnV0ZSBIVE1MTWV0ZXJF
bGVtZW50Q29uc3RydWN0b3IgSFRNTE1ldGVyRWxlbWVudDsKKyNlbmRpZgogICAgICAgICBhdHRy
aWJ1dGUgSFRNTE1vZEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTW9kRWxlbWVudDsKICAgICAgICAg
YXR0cmlidXRlIEhUTUxPTGlzdEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MT0xpc3RFbGVtZW50Owog
ICAgICAgICBhdHRyaWJ1dGUgSFRNTE9iamVjdEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MT2JqZWN0
RWxlbWVudDsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCShyZXZpc2lvbiA1OTQ3NykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw3
IEBAIGVudW0gQ29udHJvbFBhcnQgewogICAgIE1lZGlhU2Vla0ZvcndhcmRCdXR0b25QYXJ0LCBN
ZWRpYVJld2luZEJ1dHRvblBhcnQsIE1lZGlhUmV0dXJuVG9SZWFsdGltZUJ1dHRvblBhcnQsIE1l
ZGlhVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25QYXJ0LAogICAgIE1lZGlhU2xpZGVyUGFydCwg
TWVkaWFTbGlkZXJUaHVtYlBhcnQsIE1lZGlhVm9sdW1lU2xpZGVyQ29udGFpbmVyUGFydCwgTWVk
aWFWb2x1bWVTbGlkZXJQYXJ0LCBNZWRpYVZvbHVtZVNsaWRlclRodW1iUGFydCwKICAgICBNZWRp
YUNvbnRyb2xzQmFja2dyb3VuZFBhcnQsIE1lZGlhQ3VycmVudFRpbWVQYXJ0LCBNZWRpYVRpbWVS
ZW1haW5pbmdQYXJ0LAotICAgIE1lbnVsaXN0UGFydCwgTWVudWxpc3RCdXR0b25QYXJ0LCBNZW51
bGlzdFRleHRQYXJ0LCBNZW51bGlzdFRleHRGaWVsZFBhcnQsIE91dGVyU3BpbkJ1dHRvblBhcnQs
IFByb2dyZXNzQmFyUGFydCwgUHJvZ3Jlc3NCYXJWYWx1ZVBhcnQsCisgICAgTWVudWxpc3RQYXJ0
LCBNZW51bGlzdEJ1dHRvblBhcnQsIE1lbnVsaXN0VGV4dFBhcnQsIE1lbnVsaXN0VGV4dEZpZWxk
UGFydCwgTWV0ZXJQYXJ0LCBPdXRlclNwaW5CdXR0b25QYXJ0LCBQcm9ncmVzc0JhclBhcnQsIFBy
b2dyZXNzQmFyVmFsdWVQYXJ0LAogICAgIFNsaWRlckhvcml6b250YWxQYXJ0LCBTbGlkZXJWZXJ0
aWNhbFBhcnQsIFNsaWRlclRodW1iSG9yaXpvbnRhbFBhcnQsCiAgICAgU2xpZGVyVGh1bWJWZXJ0
aWNhbFBhcnQsIENhcmV0UGFydCwgU2VhcmNoRmllbGRQYXJ0LCBTZWFyY2hGaWVsZERlY29yYXRp
b25QYXJ0LAogICAgIFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0LCBTZWFyY2hGaWVs
ZFJlc3VsdHNCdXR0b25QYXJ0LApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAkocmV2
aXNpb24gMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmNwcAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKworI2luY2x1ZGUgIlJlbmRlck1ldGVyLmgiCisK
KyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIK
KwordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOworCitSZW5kZXJNZXRlcjo6UmVuZGVyTWV0ZXIoSFRNTE1ldGVy
RWxlbWVudCogZWxlbWVudCkKKyAgICA6IFJlbmRlckJsb2NrKGVsZW1lbnQpCit7Cit9CisKK3Zv
aWQgUmVuZGVyTWV0ZXI6OmxheW91dCgpCit7CisgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOwor
CisgICAgTGF5b3V0UmVwYWludGVyIHJlcGFpbnRlcigqdGhpcywgY2hlY2tGb3JSZXBhaW50RHVy
aW5nTGF5b3V0KCkpOworCisgICAgY2FsY1dpZHRoKCk7CisgICAgY2FsY0hlaWdodCgpOworCisg
ICAgbV9vdmVyZmxvdy5jbGVhcigpOworCisgICAgcmVwYWludGVyLnJlcGFpbnRBZnRlckxheW91
dCgpOworCisgICAgc2V0TmVlZHNMYXlvdXQoZmFsc2UpOworfQorCit2b2lkIFJlbmRlck1ldGVy
Ojp1cGRhdGVGcm9tRWxlbWVudCgpCit7CisgICAgcmVwYWludCgpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuaAkocmV2aXNp
b24gMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1ldGVyLmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBSZW5kZXJNZXRlcl9o
CisjZGVmaW5lIFJlbmRlck1ldGVyX2gKKworI2lmIEVOQUJMRShNRVRFUl9UQUcpCisjaW5jbHVk
ZSAiUmVuZGVyQmxvY2suaCIKKyNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBIVE1MTWV0ZXJFbGVtZW50OworCitjbGFzcyBSZW5kZXJNZXRl
ciA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CitwdWJsaWM6CisgICAgUmVuZGVyTWV0ZXIoSFRNTE1l
dGVyRWxlbWVudCopOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgY29uc3QgY2hhciogcmVuZGVy
TmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJNZXRlciI7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
aXNNZXRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0
KCk7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCk7Cit9OworCitpbmxpbmUg
UmVuZGVyTWV0ZXIqIHRvUmVuZGVyTWV0ZXIoUmVuZGVyT2JqZWN0KiBvYmplY3QpCit7CisgICAg
QVNTRVJUKCFvYmplY3QgfHwgb2JqZWN0LT5pc01ldGVyKCkpOworICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxSZW5kZXJNZXRlcio+KG9iamVjdCk7Cit9CisKKy8vIFRoaXMgd2lsbCBjYXRjaCBhbnlv
bmUgZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KK3ZvaWQgdG9SZW5kZXJNZXRlcihjb25zdCBS
ZW5kZXJNZXRlciopOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgorCisjZW5k
aWYgLy8gUmVuZGVyTWV0ZXJfaAorCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2
aXNpb24gNTk0NzcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjc2LDYgKzI3Niw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNM
aXN0TWFya2VyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNN
ZWRpYSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTWVudUxp
c3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAg
dmlydHVhbCBib29sIGlzTWV0ZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAj
aWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICB2aXJ0dWFsIGJvb2wgaXNQcm9ncmVzcygpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHAJKHJldmlzaW9uIDU5NDc3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJDU1NWYWx1
ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGbG9hdENvbnZl
cnNpb24uaCIKICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGb250U2Vs
ZWN0b3IuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtMzgsNiArMzksMTEgQEAKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIgogCisj
aWYgRU5BQkxFKE1FVEVSX1RBRykKKyNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCisjaW5j
bHVkZSAiUmVuZGVyTWV0ZXIuaCIKKyNlbmRpZgorCiAvLyBUaGUgbWV0aG9kcyBpbiB0aGlzIGZp
bGUgYXJlIHNoYXJlZCBieSBhbGwgdGhlbWVzIG9uIGV2ZXJ5IHBsYXRmb3JtLgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0yMTQsNiArMjIwLDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVz
dFN0eWxlKENTU1N0eWxlU2UKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAg
ICAgICByZXR1cm4gYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwog
I2VuZGlmCisjaWYgRU5BQkxFKE1ldGVyX1RBRykKKyAgICAgICAgY2FzZSBNZXRlclBhcnQ6Cisg
ICAgICAgICAgICByZXR1cm4gYWRqdXN0TWV0ZXJTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwor
I2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICB9CkBAIC0y
NzIsNiArMjgyLDEwIEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KFJlbmRlck9iamVjdCogbywK
ICNlbmRpZgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKICAgICAgICAgICAgIHJldHVybiBw
YWludE1lbnVMaXN0KG8sIHBhaW50SW5mbywgcik7CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKKyAg
ICAgICAgY2FzZSBNZXRlclBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRNZXRlcihvLCBw
YWludEluZm8sIHIpOworI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKICAgICAgICAg
Y2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRQcm9ncmVzc0Jh
cihvLCBwYWludEluZm8sIHIpOwpAQCAtMzY2LDYgKzM4MCw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6
OnBhaW50Qm9yZGVyT25seShSZW5kZXIKICAgICAgICAgY2FzZSBEZWZhdWx0QnV0dG9uUGFydDoK
ICAgICAgICAgY2FzZSBCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIE1lbnVsaXN0UGFydDoKKyNp
ZiBFTkFCTEUoTUVURVJfVEFHKQorICAgICAgICBjYXNlIE1ldGVyUGFydDoKKyNlbmRpZgogI2lm
IEVOQUJMRShQUk9HUkVTU19UQUcpCiAgICAgICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0OgogI2Vu
ZGlmCkBAIC00MDQsNiArNDIxLDkgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9u
cyhSZW5kZQogICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIEJ1
dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorI2lmIEVOQUJMRShNRVRFUl9U
QUcpCisgICAgICAgIGNhc2UgTWV0ZXJQYXJ0OgorI2VuZGlmCiAjaWYgRU5BQkxFKFBST0dSRVNT
X1RBRykKICAgICAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6CiAjZW5kaWYKQEAgLTg2Nyw2ICs4
ODcsNjEgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0TWVudUxpc3RTdHlsZShDUwogewogfQog
CisjaWYgRU5BQkxFKE1FVEVSX1RBRykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdE1ldGVyU3R5
bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0
Cit7CisgICAgc3R5bGUtPnNldEJveFNoYWRvdygwKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZTo6
cGFpbnRNZXRlcihSZW5kZXJPYmplY3QqIHJlbmRlck9iamVjdCwgY29uc3QgUmVuZGVyT2JqZWN0
OjpQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICAvLyBT
b21lIHBsYXRmb3JtcyBkbyBub3QgaGF2ZSBhIG5hdGl2ZSBnYXVnZSB3aWRnZXQsIHNvIHdlIGRy
YXcgaGVyZSBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCisgICAgUmVuZGVyTWV0ZXIqIHJlbmRl
ck1ldGVyID0gdG9SZW5kZXJNZXRlcihyZW5kZXJPYmplY3QpOworICAgIFJlbmRlclN0eWxlKiBz
dHlsZSA9IHJlbmRlck9iamVjdC0+c3R5bGUoKTsKKyAgICBpbnQgbGVmdCA9IHN0eWxlLT5ib3Jk
ZXJMZWZ0KCkud2lkdGgoKSArIHN0eWxlLT5wYWRkaW5nTGVmdCgpLnZhbHVlKCk7CisgICAgaW50
IHRvcCA9IHN0eWxlLT5ib3JkZXJUb3AoKS53aWR0aCgpICsgc3R5bGUtPnBhZGRpbmdUb3AoKS52
YWx1ZSgpOworICAgIGludCByaWdodCA9IHN0eWxlLT5ib3JkZXJSaWdodCgpLndpZHRoKCkgKyBz
dHlsZS0+cGFkZGluZ1JpZ2h0KCkudmFsdWUoKTsKKyAgICBpbnQgYm90dG9tID0gc3R5bGUtPmJv
cmRlckJvdHRvbSgpLndpZHRoKCkgKyBzdHlsZS0+cGFkZGluZ0JvdHRvbSgpLnZhbHVlKCk7Cisg
ICAgRmxvYXRSZWN0IGlubmVyUmVjdChyZWN0LngoKSArIGxlZnQsIHJlY3QueSgpICsgdG9wLCBy
ZWN0LndpZHRoKCkgLSBsZWZ0IC0gcmlnaHQsIHJlY3QuaGVpZ2h0KCkgLSB0b3AgLSBib3R0b20p
OworCisgICAgSFRNTE1ldGVyRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxNZXRl
ckVsZW1lbnQqPihyZW5kZXJNZXRlci0+bm9kZSgpKTsKKyAgICBkb3VibGUgbWluID0gZWxlbWVu
dC0+bWluKCk7CisgICAgZG91YmxlIG1heCA9IGVsZW1lbnQtPm1heCgpOworICAgIGRvdWJsZSB2
YWx1ZSA9IGVsZW1lbnQtPnZhbHVlKCk7CisKKyAgICBpZiAobWluID49IG1heCkgeworICAgICAg
ICBwYWludEluZm8uY29udGV4dC0+ZmlsbFJlY3QoaW5uZXJSZWN0LCBDb2xvcjo6YmxhY2ssIHN0
eWxlLT5jb2xvclNwYWNlKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAg
Ly8gUGFpbnQgdGhlIGJhY2tncm91bmQgZmlyc3QKKyAgICBwYWludEluZm8uY29udGV4dC0+Zmls
bFJlY3QoaW5uZXJSZWN0LCBDb2xvcjo6bGlnaHRHcmF5LCBzdHlsZS0+Y29sb3JTcGFjZSgpKTsK
KworICAgIEZsb2F0UmVjdCB2YWx1ZVJlY3Q7CisKKyAgICBpZiAocmVjdC53aWR0aCgpIDwgcmVj
dC5oZWlnaHQoKSkgeworICAgICAgICAvLyBWZXJ0aWNhbCBnYXVnZQorICAgICAgICBkb3VibGUg
c2NhbGUgPSBpbm5lclJlY3QuaGVpZ2h0KCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVS
ZWN0LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoaW5uZXJSZWN0LngoKSwgaW5uZXJSZWN0LnkoKSAr
IG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoKG1heCAtIHZhbHVlKSAqIHNjYWxlKSkpOworICAgICAg
ICB2YWx1ZVJlY3Quc2V0U2l6ZShGbG9hdFNpemUoaW5uZXJSZWN0LndpZHRoKCksIG5hcnJvd1By
ZWNpc2lvblRvRmxvYXQoKHZhbHVlIC0gbWluKSAqIHNjYWxlKSkpOworICAgIH0gZWxzZSBpZiAo
cmVuZGVyTWV0ZXItPnN0eWxlKCktPmRpcmVjdGlvbigpID09IFJUTCkgeworICAgICAgICAvLyBy
aWdodCB0byBsZWZ0IGhvcml6b250YWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxlID0gaW5u
ZXJSZWN0LndpZHRoKCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0LnNldExvY2F0
aW9uKEZsb2F0UG9pbnQoaW5uZXJSZWN0LngoKSArIG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoKG1h
eCAtIHZhbHVlKSAqIHNjYWxlKSwgaW5uZXJSZWN0LnkoKSkpOworICAgICAgICB2YWx1ZVJlY3Qu
c2V0U2l6ZShGbG9hdFNpemUobmFycm93UHJlY2lzaW9uVG9GbG9hdCgodmFsdWUgLSBtaW4pICog
c2NhbGUpLCBpbm5lclJlY3QuaGVpZ2h0KCkpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBs
ZWZ0IHRvIHJpZ2h0IGhvcml6b250YWwgZ2F1Z2UKKyAgICAgICAgZG91YmxlIHNjYWxlID0gaW5u
ZXJSZWN0LndpZHRoKCkgLyAobWF4IC0gbWluKTsKKyAgICAgICAgdmFsdWVSZWN0LnNldExvY2F0
aW9uKGlubmVyUmVjdC5sb2NhdGlvbigpKTsKKyAgICAgICAgdmFsdWVSZWN0LnNldFNpemUoRmxv
YXRTaXplKG5hcnJvd1ByZWNpc2lvblRvRmxvYXQoKHZhbHVlIC0gbWluKSkgKiBzY2FsZSwgaW5u
ZXJSZWN0LmhlaWdodCgpKSk7CisgICAgfQorICAgIGlmICghdmFsdWVSZWN0LmlzRW1wdHkoKSkK
KyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmZpbGxSZWN0KHZhbHVlUmVjdCwgQ29sb3I6OmJs
YWNrLCBzdHlsZS0+Y29sb3JTcGFjZSgpKTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRp
ZgorCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKIGRvdWJsZSBSZW5kZXJUaGVtZTo6YW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyopIGNvbnN0CiB7
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHJldmlzaW9uIDU5NDc3KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMjM3LDYgKzIzNywx
MSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5
bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAg
IHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJl
bmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0K
IAorI2lmIEVOQUJMRShNRVRFUl9UQUcpCisgICAgdmlydHVhbCB2b2lkIGFkanVzdE1ldGVyU3R5
bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OworICAg
IHZpcnR1YWwgYm9vbCBwYWludE1ldGVyKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVj
dDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoUFJP
R1JFU1NfVEFHKQogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKENTU1N0
eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRQcm9ncmVzc0JhcihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6
OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA1OTQ3NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI2IEBACisyMDEwLTA1LTEyICBZYWVsIEFoYXJvbiAgPHlhZWwuYWhhcm9uQG5v
a2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbml0aWFsIHN1cHBvcnQgZm9yIEhUTUxNZXRlckVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQwCisKKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MTWV0ZXJFbGVtZW50OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJF
bGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRN
TE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHM6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hU
TUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL1RFTVBMQVRFLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1tZXRlci1wcm9w
ZXJ0aWVzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3Nl
dC1tZXRlci1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6
CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1l
bGVtZW50LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9m
YXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQucG5nOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVy
LWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tp
cHBlZDoKKwogMjAxMC0wNS0xNCAgSmVyZW15IE9ybG93ICA8am9ybG93QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1l
bnQvbWV0ZXItZWxlbWVudC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACis8aHRtbD48
Ym9keT48bWV0ZXIgbWluPTEwIHZhbHVlPTMwIG1heD0xMDA+MzAlPC9tZXRlcj48bWV0ZXIgbWlu
PTAgdmFsdWU9NzAgbWF4PTEwMCBzdHlsZT0id2lkdGg6MTBweDsgaGVpZ2h0OjYwcHg7Ij43MCU8
L21ldGVyPjwvYm9keT48L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0
ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDc4IEBACitUZXN0IHNldHRpbmcgdmFsaWQgYW5kIGludmFsaWQgcHJv
cGVydGllcyBvZiBIVE1MTWV0ZXJFbGVtZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworVGVzdCB2YWx1ZXMgYmVmb3JlIHByb3BlcnRpZXMgd2VyZSBzZXQKK1BBU1MgbS5taW4g
aXMgMAorUEFTUyBtLnZhbHVlIGlzIDAKK1BBU1MgbS5tYXggaXMgMQorUEFTUyBtLmxvdyBpcyAw
CitQQVNTIG0uaGlnaCBpcyAxCitQQVNTIG0ub3B0aW11bSBpcyAwLjUKK1NldCB2YWxpZCB2YWx1
ZXMKK1BBU1MgbS5taW4gaXMgLTEwCitQQVNTIG0udmFsdWUgaXMgNzAKK1BBU1MgbS5tYXggaXMg
MTAwCitQQVNTIG0ubG93IGlzIDEwLjEKK1BBU1MgbS5oaWdoIGlzIDk5LjUKK1BBU1MgbS5vcHRp
bXVtIGlzIDcwCitTZXQgYXR0cmlidXRlcyB0byBpbXByb3BlciB2YWx1ZXMgLSAxCitQQVNTIG0u
bWluIGlzIC0xMAorUEFTUyBtLnZhbHVlIGlzIDEwMAorUEFTUyBtLm1heCBpcyAxMDAKK1BBU1Mg
bS5sb3cgaXMgMTAwCitQQVNTIG0uaGlnaCBpcyAxMDAKK1BBU1MgbS5vcHRpbXVtIGlzIDAKK1Nl
dCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVlcyAtIDIKK1BBU1MgbS5taW4gaXMgMjAwLjAK
K1BBU1MgbS52YWx1ZSBpcyAyMDAuMAorUEFTUyBtLm1heCBpcyAyMDAuMAorUEFTUyBtLmxvdyBp
cyAyMDAuMAorU2V0IGF0dHJpYnV0ZXMgdG8gaW1wcm9wZXIgdmFsdWVzIC0gMworUEFTUyBtLm1p
biBpcyAxMDAuMAorUEFTUyBtLnZhbHVlIGlzIDEwMC4wCitQQVNTIG0ubWF4IGlzIDEwMC4wCitQ
QVNTIG0ubG93IGlzIDEwMC4wCitQQVNTIG0uaGlnaCBpcyAxMDAuMAorUEFTUyBtLm9wdGltdW0g
aXMgMTAwLjAKK1NldCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVlcyAtIDQKK1BBU1MgbS5t
aW4gaXMgMC4wCitQQVNTIG0udmFsdWUgaXMgMjAwLjAKK1BBU1MgbS5tYXggaXMgMjAwLjAKK1BB
U1MgbS5sb3cgaXMgMC4wCitQQVNTIG0uaGlnaCBpcyAyMDAuMAorUEFTUyBtLm9wdGltdW0gaXMg
MTIuNQorU2V0IHZhbHVlIHRvIGludmFsaWQgdmFsdWUKK1BBU1MgbS52YWx1ZSA9ICJ2YWx1ZSI7
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NVUFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24g
OS4KK1NldCBtaW4gdG8gTmFOCitQQVNTIG0ubWluID0gTmFOOyB0aHJldyBleGNlcHRpb24gRXJy
b3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9uIDkuCitTZXQgbWF4IHRvIEluZmlu
aXR5CitQQVNTIG0ubWF4ID0gSW5maW5pdHk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogTk9UX1NV
UFBPUlRFRF9FUlI6IERPTSBFeGNlcHRpb24gOS4KK1NldCBsb3cgdG8gaW52YWxpZCB2YWx1ZQor
UEFTUyBtLmxvdyA9ICJsb3ciOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURf
RVJSOiBET00gRXhjZXB0aW9uIDkuCitTZXQgaGlnaCB0byBOYU4KK1BBU1MgbS5oaWdoID0gTmFO
OyB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0aW9u
IDkuCitTZXQgb3B0aW11bSB0byBJbmZpbml0eQorUEFTUyBtLm9wdGltdW0gPSBJbmZpbml0eTsg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4Y2VwdGlvbiA5
LgorU2V0IGF0dHJpYnV0ZXMgdG8gdmFsaWQgbnVtYmVycworUEFTUyBtLnZhbHVlIGlzIDUKK1BB
U1MgbS5tYXggaXMgMTAKK1BBU1MgcGFyc2VJbnQobS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpIGlz
IDUKK1BBU1MgcGFyc2VJbnQobS5nZXRBdHRyaWJ1dGUoJ21heCcpKSBpcyAxMAorU2V0IGF0dHJp
YnV0ZXMgdG8gaW52YWxpZCB2YWx1ZXMKK1BBU1MgbS52YWx1ZSBpcyAwCitQQVNTIG0ubWF4IGlz
IDEKK1BBU1MgbS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgaXMgJ0FCQycKK1BBU1MgbS5nZXRBdHRy
aWJ1dGUoJ21heCcpIGlzICcjJworU2V0IGF0dHJpYnV0ZXMgdG8gbnVtYmVycyB3aXRoIGxlYWRp
bmcgc3BhY2VzCitQQVNTIG0udmFsdWUgaXMgMAorUEFTUyBtLm1pbiBpcyAwCitQQVNTIG0ubWF4
IGlzIDEKK1BBU1MgbS5sb3cgaXMgMAorUEFTUyBtLmhpZ2ggaXMgMQorUEFTUyBtLm9wdGltdW0g
aXMgMC41CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXIt
cHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxN
ZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2V0LW1ldGVyLXByb3BlcnRpZXMu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGll
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvc2NyaXB0LXRl
c3RzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L3NjcmlwdC10ZXN0cy9URU1QTEFURS5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0
IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMv
c2V0LW1ldGVyLXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTE1ldGVyRWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LW1ldGVyLXByb3BlcnRpZXMuanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L3Nj
cmlwdC10ZXN0cy9zZXQtbWV0ZXItcHJvcGVydGllcy5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxMzAgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHNldHRpbmcgdmFsaWQgYW5kIGludmFsaWQgcHJv
cGVydGllcyBvZiBIVE1MTWV0ZXJFbGVtZW50LicpOworCit2YXIgbSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ21ldGVyJyk7CisKK2RlYnVnKCJUZXN0IHZhbHVlcyBiZWZvcmUgcHJvcGVydGll
cyB3ZXJlIHNldCIpOworc2hvdWxkQmUoIm0ubWluIiwgIjAiKTsKK3Nob3VsZEJlKCJtLnZhbHVl
IiwgIjAiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIxIik7CitzaG91bGRCZSgibS5sb3ciLCAiMCIp
Oworc2hvdWxkQmUoIm0uaGlnaCIsICIxIik7CitzaG91bGRCZSgibS5vcHRpbXVtIiwgIjAuNSIp
OworCitkZWJ1ZygiU2V0IHZhbGlkIHZhbHVlcyIpOworbS5taW4gPSAiLTEwIjsKK20udmFsdWUg
PSA3ZTE7CittLm1heCA9ICIxZTIiOworbS5sb3cgPSAiMTAuMSI7CittLmhpZ2ggPSAiOTkuNSI7
CittLm9wdGltdW0gPSAiNzAiOworc2hvdWxkQmUoIm0ubWluIiwgIi0xMCIpOworc2hvdWxkQmUo
Im0udmFsdWUiLCAiNzAiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIxMDAiKTsKK3Nob3VsZEJlKCJt
LmxvdyIsICIxMC4xIik7CitzaG91bGRCZSgibS5oaWdoIiwgIjk5LjUiKTsKK3Nob3VsZEJlKCJt
Lm9wdGltdW0iLCAiNzAiKTsKKworZGVidWcoIlNldCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZh
bHVlcyAtIDEiKTsKK20ubWluID0gLTEwOworbS52YWx1ZSA9IDIwMDsKK20ubWF4ID0gMTAwLjA7
CittLmxvdyA9IDIwMDsKK20uaGlnaCA9IC01MDsKK20ub3B0aW11bSA9IG51bGw7CitzaG91bGRC
ZSgibS5taW4iLCAiLTEwIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIxMDAiKTsKK3Nob3VsZEJl
KCJtLm1heCIsICIxMDAiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIxMDAiKTsKK3Nob3VsZEJlKCJt
LmhpZ2giLCAiMTAwIik7CitzaG91bGRCZSgibS5vcHRpbXVtIiwgIjAiKTsKKworZGVidWcoIlNl
dCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVlcyAtIDIiKTsKK20ubWluID0gMjAwLjA7Citt
LnZhbHVlID0gLTIwMC4wOworbS5tYXggPSAwOworbS5sb3cgPSBudWxsOworc2hvdWxkQmUoIm0u
bWluIiwgIjIwMC4wIik7CitzaG91bGRCZSgibS52YWx1ZSIsICIyMDAuMCIpOworc2hvdWxkQmUo
Im0ubWF4IiwgIjIwMC4wIik7CitzaG91bGRCZSgibS5sb3ciLCAiMjAwLjAiKTsKKworZGVidWco
IlNldCBhdHRyaWJ1dGVzIHRvIGltcHJvcGVyIHZhbHVlcyAtIDMiKTsKK20ubWluID0gMTAwLjA7
CittLnZhbHVlID0gMjAwLjA7CittLm1heCA9IDUwOworbS5sb3cgPSAxMDsKK20uaGlnaCA9IDE1
ZTE7CittLm9wdGltdW0gPSAxMi41Oworc2hvdWxkQmUoIm0ubWluIiwgIjEwMC4wIik7CitzaG91
bGRCZSgibS52YWx1ZSIsICIxMDAuMCIpOworc2hvdWxkQmUoIm0ubWF4IiwgIjEwMC4wIik7Citz
aG91bGRCZSgibS5sb3ciLCAiMTAwLjAiKTsKK3Nob3VsZEJlKCJtLmhpZ2giLCAiMTAwLjAiKTsK
K3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMTAwLjAiKTsKKworZGVidWcoIlNldCBhdHRyaWJ1dGVz
IHRvIGltcHJvcGVyIHZhbHVlcyAtIDQiKTsKK20ubWluID0gMC4wOworbS52YWx1ZSA9IDI1MC4w
OworbS5tYXggPSAyMDA7CittLmxvdyA9IC0xMDsKK20uaGlnaCA9IDE1ZTI7CittLm9wdGltdW0g
PSAxMi41Oworc2hvdWxkQmUoIm0ubWluIiwgIjAuMCIpOworc2hvdWxkQmUoIm0udmFsdWUiLCAi
MjAwLjAiKTsKK3Nob3VsZEJlKCJtLm1heCIsICIyMDAuMCIpOworc2hvdWxkQmUoIm0ubG93Iiwg
IjAuMCIpOworc2hvdWxkQmUoIm0uaGlnaCIsICIyMDAuMCIpOworc2hvdWxkQmUoIm0ub3B0aW11
bSIsICIxMi41Iik7CisKK2RlYnVnKCJTZXQgdmFsdWUgdG8gaW52YWxpZCB2YWx1ZSIpOworc2hv
dWxkVGhyb3coJ20udmFsdWUgPSAidmFsdWUiOycsICciRXJyb3I6IE5PVF9TVVBQT1JURURfRVJS
OiBET00gRXhjZXB0aW9uIDkiJyk7CisKK2RlYnVnKCJTZXQgbWluIHRvIE5hTiIpOworc2hvdWxk
VGhyb3coJ20ubWluID0gTmFOOycsICciRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhj
ZXB0aW9uIDkiJyk7CisKK2RlYnVnKCJTZXQgbWF4IHRvIEluZmluaXR5Iik7CitzaG91bGRUaHJv
dygnbS5tYXggPSBJbmZpbml0eTsnLCAnIkVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9NIEV4
Y2VwdGlvbiA5IicpOworCitkZWJ1ZygiU2V0IGxvdyB0byBpbnZhbGlkIHZhbHVlIik7CitzaG91
bGRUaHJvdygnbS5sb3cgPSAibG93IjsnLCAnIkVycm9yOiBOT1RfU1VQUE9SVEVEX0VSUjogRE9N
IEV4Y2VwdGlvbiA5IicpOworCitkZWJ1ZygiU2V0IGhpZ2ggdG8gTmFOIik7CitzaG91bGRUaHJv
dygnbS5oaWdoID0gTmFOOycsICciRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBET00gRXhjZXB0
aW9uIDkiJyk7CisKK2RlYnVnKCJTZXQgb3B0aW11bSB0byBJbmZpbml0eSIpOworc2hvdWxkVGhy
b3coJ20ub3B0aW11bSA9IEluZmluaXR5OycsICciRXJyb3I6IE5PVF9TVVBQT1JURURfRVJSOiBE
T00gRXhjZXB0aW9uIDkiJyk7CisKK2RlYnVnKCJTZXQgYXR0cmlidXRlcyB0byB2YWxpZCBudW1i
ZXJzIik7CittLnNldEF0dHJpYnV0ZSgibWluIiwgMCk7CittLnNldEF0dHJpYnV0ZSgidmFsdWUi
LCA1KTsKK20uc2V0QXR0cmlidXRlKCJtYXgiLCAxMCk7CitzaG91bGRCZSgibS52YWx1ZSIsICI1
Iik7CitzaG91bGRCZSgibS5tYXgiLCAiMTAiKTsKK3Nob3VsZEJlKCJwYXJzZUludChtLmdldEF0
dHJpYnV0ZSgndmFsdWUnKSkiLCAiNSIpOworc2hvdWxkQmUoInBhcnNlSW50KG0uZ2V0QXR0cmli
dXRlKCdtYXgnKSkiLCAiMTAiKTsKKworZGVidWcoIlNldCBhdHRyaWJ1dGVzIHRvIGludmFsaWQg
dmFsdWVzIik7CittLnNldEF0dHJpYnV0ZSgidmFsdWUiLCAiQUJDIik7CittLnNldEF0dHJpYnV0
ZSgibWF4IiwgIiMiKTsKK3Nob3VsZEJlKCJtLnZhbHVlIiwgIjAiKTsKK3Nob3VsZEJlKCJtLm1h
eCIsICIxIik7CitzaG91bGRCZSgibS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykiLCAiJ0FCQyciKTsK
K3Nob3VsZEJlKCJtLmdldEF0dHJpYnV0ZSgnbWF4JykiLCAiJyMnIik7CisKK2RlYnVnKCJTZXQg
YXR0cmlidXRlcyB0byBudW1iZXJzIHdpdGggbGVhZGluZyBzcGFjZXMiKTsKK20uc2V0QXR0cmli
dXRlKCJ2YWx1ZSIsICIgNSIpOworbS5zZXRBdHRyaWJ1dGUoIm1pbiIsICIgNSIpOworbS5zZXRB
dHRyaWJ1dGUoIm1heCIsICIgNSIpOworbS5zZXRBdHRyaWJ1dGUoImxvdyIsICIgNSIpOworbS5z
ZXRBdHRyaWJ1dGUoImhpZ2giLCAiIDUiKTsKK20uc2V0QXR0cmlidXRlKCJvcHRpbXVtIiwgIiA1
Iik7CitzaG91bGRCZSgibS52YWx1ZSIsICIwIik7CitzaG91bGRCZSgibS5taW4iLCAiMCIpOwor
c2hvdWxkQmUoIm0ubWF4IiwgIjEiKTsKK3Nob3VsZEJlKCJtLmxvdyIsICIwIik7CitzaG91bGRC
ZSgibS5oaWdoIiwgIjEiKTsKK3Nob3VsZEJlKCJtLm9wdGltdW0iLCAiMC41Iik7CisKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHJldmlzaW9uIDU5NDc3
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0yNjI2LDYgKzI2MjYsMTAgQEAgQlVHMzgyMjcgREVGRVIgOiBm
YXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbAogQlVHMzgyMjcgREVGRVIgOiBmYXN0L2RvbS9IVE1MUHJv
Z3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0aWVzLmh0bWwgPSBURVhUCiBCVUczODIy
NyBTS0lQIDogZmFzdC9kb20vSFRNTFByb2dyZXNzRWxlbWVudC9wcm9ncmVzcy1iYXItdmFsdWUt
cHNldWRvLWVsZW1lbnQuaHRtbCA9IEZBSUwKIAorLy8gSFRNTE1ldGVyRWxlbWVudCByZWxhdGVk
IHRlc3RzIGRlZmVycmVkIGR1ZSB0byBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzcwNzQuCitCVUczNzA3NCBERUZFUiA6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQv
bWV0ZXItZWxlbWVudC5odG1sID0gTUlTU0lORworQlVHMzcwNzQgREVGRVIgOiBmYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwgPSBURVhUCisKIC8vIFdl
YktpdCByb2xsIDU2MDA0IC0+IDU2MDI2CiBCVUczODI3OCA6IGZhc3QvZXZlbnRzL2NvbnRpbnVv
dXMtcGxhdGZvcm0td2hlZWxldmVudC1pbi1zY3JvbGxpbmctZGl2Lmh0bWwgPSBUSU1FT1VUCiBC
VUczODI3OCA6IGZhc3QvZXZlbnRzL3BsYXRmb3JtLXdoZWVsZXZlbnQtaW4tc2Nyb2xsaW5nLWRp
di5odG1sID0gVElNRU9VVApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHJldmlzaW9u
IDU5NDc3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHdvcmtpbmcgY29w
eSkKQEAgLTU3MTUsNiArNTcxNSwxMCBAQCBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3By
b2dyZXNzLWVsCiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9w
ZXJ0aWVzLmh0bWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtYmFyLXZh
bHVlLXBzZXVkby1lbGVtZW50Lmh0bWwKIAorIyBtZXRlciBlbGVtZW50IGlzIG5vdCBzdXBwb3J0
ZWQKK2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCitmYXN0L2Rv
bS9IVE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwKKwogIyBOZWVkcyBt
b2NrIHN1cHBvcnQsIGFuZCBidWlsZCBzbGF2ZSBHZW9sb2NhdGlvbiBzZXJ2aWNlCiAjIFNlZSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYwNTMKIGZhc3QvZG9tL0dl
b2xvY2F0aW9uL21heGltdW0tYWdlLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
CShyZXZpc2lvbiA1OTQ3NykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCSh3
b3JraW5nIGNvcHkpCkBAIC0xNDIsNiArMTQyLDEwIEBAIGZhc3QvZm9ybXMvbXVsdGlwbGUtZm9y
bS1zdWJtaXNzaW9uLXByb3QKICMgVGhlIGFuaW1hdGlvbiBjYXVzZXMgdGhlIHJlc3VsdCBvZiB0
aGlzIHRlc3QgdG8gZGVwZW5kIG9uIHRoZSBzcGVlZCBvZiBleGVjdXRpbmcgaXQsIGFuZCB0aGF0
IHdpbGwgY2F1c2UgaXQgdG8gYmUgZmxha3kKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQv
cHJvZ3Jlc3MtZWxlbWVudC5odG1sCiAKKyMgbWV0ZXIgZWxlbWVudCBpcyBub3Qgc3VwcG9ydGVk
CitmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQuaHRtbAorZmFzdC9kb20v
SFRNTE1ldGVyRWxlbWVudC9zZXQtbWV0ZXItcHJvcGVydGllcy5odG1sCisKICMgZXZlbnQuZGF0
YVRyYW5zZmVyLnNldERhdGEoJ3RleHQvdXJpLWxpc3QnKSBub3QgY29ycmVjdGx5IGltcGxlbWVu
dGVkIG9uIE1hYwogZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGFUcmFuc2Zlci1zZXREYXRhLWdldERh
dGEuaHRtbAogCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MTWV0
ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1l
bGVtZW50LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVk
LmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACisyMmRiY2M4ZWY2ZTAwNGMyMmFh
ZWNmNWVhNzEyNjUyNwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9k
b20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQv
bWV0ZXItZWxlbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHg1ODQKKyAgICAgIFJlbmRlck1ldGVyIHtNRVRFUn0gYXQgKDAsNDQpIHNpemUgODB4
MTYKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBS
ZW5kZXJNZXRlciB7TUVURVJ9IGF0ICg4MCwwKSBzaXplIDEweDYwCisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkocmV2aXNpb24g
NTk0NzcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkod29ya2luZyBjb3B5
KQpAQCAtODM0LDYgKzgzNCwxMCBAQCBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3Byb2dy
ZXNzLWVsCiBmYXN0L2RvbS9IVE1MUHJvZ3Jlc3NFbGVtZW50L3NldC1wcm9ncmVzcy1wcm9wZXJ0
aWVzLmh0bWwKIGZhc3QvZG9tL0hUTUxQcm9ncmVzc0VsZW1lbnQvcHJvZ3Jlc3MtYmFyLXZhbHVl
LXBzZXVkby1lbGVtZW50Lmh0bWwKIAorIyBtZXRlciBlbGVtZW50IGlzIG5vdCBzdXBwb3J0ZWQK
K2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC5odG1sCitmYXN0L2RvbS9I
VE1MTWV0ZXJFbGVtZW50L3NldC1tZXRlci1wcm9wZXJ0aWVzLmh0bWwKKwogIyBObyBXaWRnZXRz
IDEuMCBzdXBwb3J0CiBmYXN0L21lZGlhL21lZGlhLWZlYXR1cmUtd2d0LXZpZXctbW9kZS5odG1s
CiAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1l
bnQvbWV0ZXItZWxlbWVudC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTog
ZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9u
L29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LWV4cGVjdGVkLnBuZwpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3Ry
ZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFBQ1hC
SVdYTUFBQTdFQUFBT3hBR1ZLdzRiQUFBTQp4RWxFUVZSNG5PM2R3YW1EUUJSQTBVeElMNVpoRXlu
REpsTkdxcG0vZGhrQ2QvTHhuTjJBNk1QZG5SRWNjODU1QXdBQUNOeFhEd0FBCkFGeUhBQUVBQURJ
Q0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBREtQ
MVFOY3lldjEKT3EzM2ZWODBDUUFBck9FRUJBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFB
eUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQQp5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFB
eUFnUUFBQWdJMEFBQUlETW1IUE8xVU5jeGJadHAvWDcvVjQwQ1FBQXJDRkFRbU9NCjA5cXJCd0Rn
YW55Q0JRQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFB
QmtCQWdBQVpBUUkKQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFB
QmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQgpBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFB
QmtCQWdBQVpBUUlBQUNRZVh4eThSampxNGNkeDNGN1BwOWYzZU0vMlBkOTlRZ0FBUENUCm5JQUFB
QUFaQVFJQUFHUUVDQUFBa0JFZ0FBQkFSb0FBQUFBWkFRSUFBR1FFQ0FBQWtCRWdBQUJBNXFNZkVm
S2QrMTN2QVFCd2JXUE8KT1ZjUEFRQUFYSU10ZVFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQQpBQUNBakFBQkFBQXlBZ1FBQU1nSUVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJCkVB
QUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkFBQUNBakFBQkFBQXkKQWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQQpqQUFCQUFBeUFnUUFBTWdJRUFB
QUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFB
CklDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFB
SUNOQUFBQ0FqQUFCQUFBeUFnUUEKQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFB
SUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQgpBQUF5QWdRQUFNZ0lFQUFB
SUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJ
Q05BCkFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJ
Q05BQUFDQWpBQUJBQUF5QWdRQUFNZ0kKRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJ
Q05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeQpBZ1FBQU1nSUVBQUFJ
Q05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlD
TkFBQUNBCmpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlD
TkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUEKSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlD
TkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQQpBTWdJRUFBQUlD
TkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNO
QUFBQ0FqQUFCCkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNO
QUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkEKQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNO
QUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSQpFQUFBSUNO
QUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05B
QUFDQWpBQUJBQUF5CkFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05B
QUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0EKakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05B
QUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQQpJQ05B
QUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFB
QUNBakFBQkFBQXlBZ1FBCkFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFB
QUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUIKQUFBeUFnUUFBTWdJRUFBQUlDTkFB
QUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQQpB
QUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFB
Q0FqQUFCQUFBeUFnUUFBTWdJCkVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFB
Q0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXkKQWdRQUFNZ0lFQUFBSUNOQUFB
Q0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFD
QQpqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFD
QWpBQUJBQUF5QWdRQUFNZ0lFQUFBCklDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFD
QWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUEKQU1nSUVBQUFJQ05BQUFD
QWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNB
akFBQgpBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNB
akFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BCkFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNB
akFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0kKRUFBQUlDTkFBQUNB
akFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0Fq
QUFCQUFBeQpBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0Fq
QUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBCmpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0Fq
QUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUEKSUNOQUFBQ0Fq
QUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpB
QUJBQUF5QWdRQQpBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpB
QUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCCkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpB
QUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkEKQUFDQWpB
QUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFB
QkFBQXlBZ1FBQU1nSQpFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFB
QkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5CkFnUUFBTWdJRUFBQUlDTkFBQUNBakFB
QkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0EKakFB
QkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFC
QUFBeUFnUUFBTWdJRUFBQQpJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFC
QUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBCkFNZ0lFQUFBSUNOQUFBQ0FqQUFC
QUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUIK
QUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJB
QUF5QWdRQUFNZ0lFQUFBSUNOQQpBQUNBakFBQkFBQXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJB
QUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJCkVBQUFJQ05BQUFDQWpBQUJB
QUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFB
QXkKQWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFB
QXlBZ1FBQU1nSUVBQUFJQ05BQUFDQQpqQUFCQUFBeUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQkFB
QXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBCklDTkFBQUNBakFBQkFB
QXlBZ1FBQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFB
eUFnUUEKQU1nSUVBQUFJQ05BQUFDQWpBQUJBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0FqQUFCQUFB
eUFnUUFBTWdJRUFBQUlDTkFBQUNBakFBQgpBQUF5QWdRQUFNZ0lFQUFBSUNOQUFBQ0F6QiswakND
cFh1MzUxd0FBQUFCSlJVNUVya0pnZ2c9PQoK
</data>
<flag name="review"
          id="40442"
          type_id="1"
          status="+"
          setter="tkent"
    />
          </attachment>
      

    </bug>

</bugzilla>