<?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>102735</bug_id>
          
          <creation_ts>2012-11-19 16:18:29 -0800</creation_ts>
          <short_desc>Clamp out-of-range numbers in CSS</short_desc>
          <delta_ts>2012-12-11 14:58:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>glenn</cc>
    
    <cc>kennyluck</cc>
    
    <cc>kling</cc>
    
    <cc>leviw</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tabatkins</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>771162</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-19 16:18:29 -0800</bug_when>
    <thetext>Currently when a large number (outside of the supported range) is applied from a style rule or set from javascript using Element.style we check if it is within the supported range and set it to zero if it is not. This is incorrect according to the CSS3 specification which instead mandates that the value be ignored. This patch changes the behavior to ignore out-of-range values.

&quot;Properties may restrict numeric values to some range. If the value is outside the allowed range, the declaration is invalid and must be ignored.&quot; - http://www.w3.org/TR/css3-values/#numeric-types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771166</commentid>
    <comment_count>1</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2012-11-19 16:21:46 -0800</bug_when>
    <thetext>do you have specific properties in mind, or is this a meta-requirement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771197</commentid>
    <comment_count>2</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-19 16:43:48 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; do you have specific properties in mind, or is this a meta-requirement

Length properties, specifically width, height, left and top as these have been causing some problems with a couple of google properties.

Downstream chromium bug: http://code.google.com/p/chromium/issues/detail?id=145798</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771217</commentid>
    <comment_count>3</comment_count>
      <attachid>175081</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-19 16:54:40 -0800</bug_when>
    <thetext>Created attachment 175081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771230</commentid>
    <comment_count>4</comment_count>
      <attachid>175081</attachid>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2012-11-19 17:03:11 -0800</bug_when>
    <thetext>Comment on attachment 175081
Patch

lgtm fwiw</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771252</commentid>
    <comment_count>5</comment_count>
      <attachid>175081</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-11-19 17:22:32 -0800</bug_when>
    <thetext>Comment on attachment 175081
Patch

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

Looms good tome, too.

Please correct my minor nit on the a/an when landing.

R=me.

&gt; Source/WebCore/ChangeLog:26
&gt; +        Return an Length with the type set to Undefined for unsupported

Nit: return *a* length with ...

&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:-483
&gt; -    return Length(static_cast&lt;float&gt;(value &gt; intMaxForLayoutUnit || value &lt; intMinForLayoutUnit ? 0.0 : value), Fixed);

Based on the naming of these limits, it almost seems like these bounds should be inclusive. However, they have obviously not been used this way historically...

&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:483
&gt; +    if (value &gt; intMaxForLayoutUnit || value &lt; intMinForLayoutUnit)

Whoops! They are inclusive. Never mind! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771258</commentid>
    <comment_count>6</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-19 17:26:09 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 175081 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=175081&amp;action=review
&gt; 
&gt; Looms good tome, too.
&gt; 
&gt; Please correct my minor nit on the a/an when landing.

Thanks for the review!
I&apos;ll wait until tomorrow to commit it to give others a chance to comment further or object.


&gt; &gt; Source/WebCore/ChangeLog:26
&gt; &gt; +        Return an Length with the type set to Undefined for unsupported
&gt; 
&gt; Nit: return *a* length with ...

Good catch, thanks!


&gt; Whoops! They are inclusive. Never mind! :)

I tried to make it clearer by reversing the check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771272</commentid>
    <comment_count>7</comment_count>
      <attachid>175081</attachid>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2012-11-19 17:33:59 -0800</bug_when>
    <thetext>Comment on attachment 175081
Patch

one more thought... it might be worth generating a warning in the inspector log when an out of bounds value is ignored, but that could be a follow-up patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771284</commentid>
    <comment_count>8</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-19 17:38:35 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 175081 [details])
&gt; one more thought... it might be worth generating a warning in the inspector log when an out of bounds value is ignored, but that could be a follow-up patch

That is not a bad idea. Filed bug 102750 to track it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771928</commentid>
    <comment_count>9</comment_count>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-11-20 09:28:18 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Currently when a large number (outside of the supported range) is applied from a style rule or set from javascript using Element.style we check if it is within the supported range and set it to zero if it is not. This is incorrect according to the CSS3 specification which instead mandates that the value be ignored. This patch changes the behavior to ignore out-of-range values.
&gt; 
&gt; &quot;Properties may restrict numeric values to some range. If the value is outside the allowed range, the declaration is invalid and must be ignored.&quot; - http://www.w3.org/TR/css3-values/#numeric-types

You&apos;re reading this slightly wrong.  *Properties* can restrict their range, which should cause rejection at parse-time if you violate that range.  Authors can know ahead of time what the allowed range is, and violating that range generally means you&apos;re supplying a nonsensical value.

The Chromium bug in question is related to *implementation-defined* limits on the allowed range.  The behavior here is undefined by CSS.  (We wanted to define it in Values &amp; Units 3, but had to punt it to get the spec to CR.  It&apos;ll reappear in level 4.)  The most author-friendly behavior is to clamp at the limit of our range.  That gives the author something as close as we can deliver to what they asked for.

Rejecting the rule at parse-time is author-hostile, as authors have no way of predicting how large is &quot;too large&quot;, since it&apos;s impl-defined and can change over time, and predicting wrongly will cause properties to be ignored in a seemingly random fashion, perhaps in a non-interoperable way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771937</commentid>
    <comment_count>10</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-20 09:42:26 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #0)
&gt; &gt; Currently when a large number (outside of the supported range) is applied from a style rule or set from javascript using Element.style we check if it is within the supported range and set it to zero if it is not. This is incorrect according to the CSS3 specification which instead mandates that the value be ignored. This patch changes the behavior to ignore out-of-range values.
&gt; &gt; 
&gt; &gt; &quot;Properties may restrict numeric values to some range. If the value is outside the allowed range, the declaration is invalid and must be ignored.&quot; - http://www.w3.org/TR/css3-values/#numeric-types
&gt; 
&gt; You&apos;re reading this slightly wrong.  *Properties* can restrict their range, which should cause rejection at parse-time if you violate that range.  Authors can know ahead of time what the allowed range is, and violating that range generally means you&apos;re supplying a nonsensical value.
&gt; 
&gt; The Chromium bug in question is related to *implementation-defined* limits on the allowed range.  The behavior here is undefined by CSS.  (We wanted to define it in Values &amp; Units 3, but had to punt it to get the spec to CR.  It&apos;ll reappear in level 4.)  The most author-friendly behavior is to clamp at the limit of our range.  That gives the author something as close as we can deliver to what they asked for.

Thanks for clarifying, it would be really helpful if we could add that back to the next version of the spec.

&gt; Rejecting the rule at parse-time is author-hostile, as authors have no way of predicting how large is &quot;too large&quot;, since it&apos;s impl-defined and can change over time, and predicting wrongly will cause properties to be ignored in a seemingly random fashion, perhaps in a non-interoperable way.

Ok, I&apos;ll change it to clamp values instead (which matches the gecko behavior).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771960</commentid>
    <comment_count>11</comment_count>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-11-20 10:07:46 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Ok, I&apos;ll change it to clamp values instead (which matches the gecko behavior).

Thanks, Emil!  That&apos;ll make it a lot easier to specify in the next go-round of the spec, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772070</commentid>
    <comment_count>12</comment_count>
      <attachid>175260</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-20 12:06:03 -0800</bug_when>
    <thetext>Created attachment 175260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772071</commentid>
    <comment_count>13</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-20 12:06:51 -0800</bug_when>
    <thetext>Made the changes suggested by Tab. Please take another look (cleared the r+ as this is effectively a different change now).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772074</commentid>
    <comment_count>14</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2012-11-20 12:11:20 -0800</bug_when>
    <thetext>Just an FYI, but CSS specs are not presently consistent regarding clamping versus ignoring. For example, CSS3 Animation requires a keyframe declaration outside of 0-100% to be ignored and not merely clamped to 0 or 100. See https://bugs.webkit.org/show_bug.cgi?id=96844.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772084</commentid>
    <comment_count>15</comment_count>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-11-20 12:21:43 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Just an FYI, but CSS specs are not presently consistent regarding clamping versus ignoring. For example, CSS3 Animation requires a keyframe declaration outside of 0-100% to be ignored and not merely clamped to 0 or 100. See https://bugs.webkit.org/show_bug.cgi?id=96844.

Again, as I explained, the rule is that *language-defined limits* cause things to be ignored.  It&apos;s a syntax error, since you know about it beforehand and everyone is the same (barring bugs).

We clamp when we encounter *implementation-defined limits*, because they&apos;re unspecified and variable across time and browsers, so there&apos;s no way for authors to robustly protect themselves from violating the limit.

The behavior of keyframes is consistent with this.  (If you do know of any inconsistencies, please report them on www-style so we can try to fix them!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772139</commentid>
    <comment_count>16</comment_count>
      <attachid>175260</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-20 13:50:21 -0800</bug_when>
    <thetext>Comment on attachment 175260
Patch

Attachment 175260 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14907712

New failing tests:
css3/flexbox/flex-algorithm.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772180</commentid>
    <comment_count>17</comment_count>
      <attachid>175260</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-20 14:34:14 -0800</bug_when>
    <thetext>Comment on attachment 175260
Patch

Attachment 175260 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14907720

New failing tests:
css3/flexbox/flex-algorithm.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772186</commentid>
    <comment_count>18</comment_count>
      <attachid>175283</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-20 14:41:38 -0800</bug_when>
    <thetext>Created attachment 175283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772188</commentid>
    <comment_count>19</comment_count>
      <attachid>175283</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-20 14:46:27 -0800</bug_when>
    <thetext>Comment on attachment 175283
Patch

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

&gt; LayoutTests/css3/flexbox/flex-algorithm.html:133
&gt; -  &lt;div data-expected-width=&quot;600&quot; style=&quot;-webkit-flex: 100000000000000000000000000000000000000 0 600px; -moz-flex: 100000000000000000000000000000000000000 0 600px&quot;&gt;&lt;/div&gt;
&gt; +  &lt;div data-expected-width=&quot;0&quot; style=&quot;-webkit-flex: 100000000000000000000000000000000000000 0 600px; -moz-flex: 100000000000000000000000000000000000000 0 600px&quot;&gt;&lt;/div&gt;
&gt;    &lt;div data-expected-width=&quot;600&quot; style=&quot;-webkit-flex: 0 100000000000000000000000000000000000000 600px; -moz-flex: 0 100000000000000000000000000000000000000 600px&quot;&gt;&lt;/div&gt;
&gt; -  &lt;div data-expected-width=&quot;0&quot; style=&quot;-webkit-flex: 1 1 100000000000000000000000000000000000000px; -moz-flex: 1 1 100000000000000000000000000000000000000px&quot;&gt;&lt;/div&gt;
&gt; +  &lt;div data-expected-width=&quot;33554428&quot; style=&quot;-webkit-flex: 1 1 100000000000000000000000000000000000000px; -moz-flex: 1 1 100000000000000000000000000000000000000px&quot;&gt;&lt;/div&gt;

FWIW, this change seems fine to me.  The test is just making sure that we don&apos;t crash or infinite loop when there are really big input values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772189</commentid>
    <comment_count>20</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-20 14:47:17 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 175283 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=175283&amp;action=review
&gt; 
&gt; &gt; LayoutTests/css3/flexbox/flex-algorithm.html:133
&gt; &gt; -  &lt;div data-expected-width=&quot;600&quot; style=&quot;-webkit-flex: 100000000000000000000000000000000000000 0 600px; -moz-flex: 100000000000000000000000000000000000000 0 600px&quot;&gt;&lt;/div&gt;
&gt; &gt; +  &lt;div data-expected-width=&quot;0&quot; style=&quot;-webkit-flex: 100000000000000000000000000000000000000 0 600px; -moz-flex: 100000000000000000000000000000000000000 0 600px&quot;&gt;&lt;/div&gt;
&gt; &gt;    &lt;div data-expected-width=&quot;600&quot; style=&quot;-webkit-flex: 0 100000000000000000000000000000000000000 600px; -moz-flex: 0 100000000000000000000000000000000000000 600px&quot;&gt;&lt;/div&gt;
&gt; &gt; -  &lt;div data-expected-width=&quot;0&quot; style=&quot;-webkit-flex: 1 1 100000000000000000000000000000000000000px; -moz-flex: 1 1 100000000000000000000000000000000000000px&quot;&gt;&lt;/div&gt;
&gt; &gt; +  &lt;div data-expected-width=&quot;33554428&quot; style=&quot;-webkit-flex: 1 1 100000000000000000000000000000000000000px; -moz-flex: 1 1 100000000000000000000000000000000000000px&quot;&gt;&lt;/div&gt;
&gt; 
&gt; FWIW, this change seems fine to me.  The test is just making sure that we don&apos;t crash or infinite loop when there are really big input values.

Ah, was just about to ask you to validate that. Thanks!
I tested with other large (but in-range) numbers and got the same results/behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772344</commentid>
    <comment_count>21</comment_count>
      <attachid>175283</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-11-20 18:02:08 -0800</bug_when>
    <thetext>Comment on attachment 175283
Patch

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

The conversion to zero seems arbitrary and confusing, it looks like a good idea to clamp it. I have a couple of questions:

&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:485
&gt;      double value = computeLengthDouble(style, rootStyle, multiplier, computingFontSize);
&gt; -    return Length(static_cast&lt;float&gt;(value &gt; intMaxForLayoutUnit || value &lt; intMinForLayoutUnit ? 0.0 : value), Fixed);
&gt; +    return Length(clampToLayoutUnitRange(value), Fixed);
&gt;  #else
&gt;      return Length(roundForImpreciseConversion&lt;float&gt;(computeLengthDouble(style, rootStyle, multiplier, computingFontSize)), Fixed);

Why is the Length clamped here and not when the conversion double-&gt;int occurs?

To avoid fragmentation, could we have the exact same clamping rules with and without ENABLE(SUBPIXEL_LAYOUT)?

&gt; Source/WebCore/platform/LayoutUnit.h:869
&gt; +    // Adjust values somewhat to allow for float imprecision and rounding without overflowing.
&gt; +    return clampTo&lt;float&gt;(value, intMinForLayoutUnit + 2, intMaxForLayoutUnit - 2);

Can you please explain why you use the value 2 here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772350</commentid>
    <comment_count>22</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-20 18:10:25 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 175283 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=175283&amp;action=review
&gt; 
&gt; The conversion to zero seems arbitrary and confusing, it looks like a good idea to clamp it. I have a couple of questions:
&gt; 
&gt; &gt; Source/WebCore/css/CSSPrimitiveValue.cpp:485
&gt; &gt;      double value = computeLengthDouble(style, rootStyle, multiplier, computingFontSize);
&gt; &gt; -    return Length(static_cast&lt;float&gt;(value &gt; intMaxForLayoutUnit || value &lt; intMinForLayoutUnit ? 0.0 : value), Fixed);
&gt; &gt; +    return Length(clampToLayoutUnitRange(value), Fixed);
&gt; &gt;  #else
&gt; &gt;      return Length(roundForImpreciseConversion&lt;float&gt;(computeLengthDouble(style, rootStyle, multiplier, computingFontSize)), Fixed);
&gt; 
&gt; Why is the Length clamped here and not when the conversion double-&gt;int occurs?

We don&apos;t convert it to an int, it is represented as a float in Length and then covered to a LayoutUnit.

&gt; To avoid fragmentation, could we have the exact same clamping rules with and without ENABLE(SUBPIXEL_LAYOUT)?

We could but then we&apos;d have to hardcode the MIN/MAX values. That would probably be fine.

&gt; 
&gt; &gt; Source/WebCore/platform/LayoutUnit.h:869
&gt; &gt; +    // Adjust values somewhat to allow for float imprecision and rounding without overflowing.
&gt; &gt; +    return clampTo&lt;float&gt;(value, intMinForLayoutUnit + 2, intMaxForLayoutUnit - 2);
&gt; 
&gt; Can you please explain why you use the value 2 here?

To ensure that we have a number that can be correctly represented as a float and having enough room for rounding without overflowing. Usig intMinForLayoutUnit and intMaxForLayoutUnit as is would overflow when rounding, adding/subtracting one and the values returned by computed style differs from the values returned by the offsetTop/Width/* properties due to float&lt;-&gt;LayoutUnit conversions.

I suppose just hardcoding the min/max values might be a better idea and would also allow the same behavior regardless of the ENABLE_SUBPIXEL flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772412</commentid>
    <comment_count>23</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-11-20 20:07:58 -0800</bug_when>
    <thetext>&gt; &gt; &gt; Source/WebCore/css/CSSPrimitiveValue.cpp:485
&gt; &gt; &gt;      double value = computeLengthDouble(style, rootStyle, multiplier, computingFontSize);
&gt; &gt; &gt; -    return Length(static_cast&lt;float&gt;(value &gt; intMaxForLayoutUnit || value &lt; intMinForLayoutUnit ? 0.0 : value), Fixed);
&gt; &gt; &gt; +    return Length(clampToLayoutUnitRange(value), Fixed);
&gt; &gt; &gt;  #else
&gt; &gt; &gt;      return Length(roundForImpreciseConversion&lt;float&gt;(computeLengthDouble(style, rootStyle, multiplier, computingFontSize)), Fixed);
&gt; &gt; 
&gt; &gt; Why is the Length clamped here and not when the conversion double-&gt;int occurs?
&gt; 
&gt; We don&apos;t convert it to an int, it is represented as a float in Length and then covered to a LayoutUnit.

I know...but if you look at what is LayoutUnit: an int ;)

I believed the conversion in LayoutUnit was already clamping the input, but that&apos;s actually only true with SATURATED_LAYOUT_ARITHMETIC.
This makes me believe the original code using intMaxForLayoutUnit &amp;&amp; intMinForLayoutUnit may have been bogus to begin with, and SATURATED_LAYOUT_ARITHMETIC is the right solution.

&gt; &gt; &gt; Source/WebCore/platform/LayoutUnit.h:869
&gt; &gt; &gt; +    // Adjust values somewhat to allow for float imprecision and rounding without overflowing.
&gt; &gt; &gt; +    return clampTo&lt;float&gt;(value, intMinForLayoutUnit + 2, intMaxForLayoutUnit - 2);
&gt; &gt; 
&gt; &gt; Can you please explain why you use the value 2 here?
&gt; 
&gt; To ensure that we have a number that can be correctly represented as a float and having enough room for rounding without overflowing. Usig intMinForLayoutUnit and intMaxForLayoutUnit as is would overflow when rounding, adding/subtracting one and the values returned by computed style differs from the values returned by the offsetTop/Width/* properties due to float&lt;-&gt;LayoutUnit conversions.
&gt; 
&gt; I suppose just hardcoding the min/max values might be a better idea and would also allow the same behavior regardless of the ENABLE_SUBPIXEL flag.

Yep, that&apos;d be great.

I think the code must use the same path as float&lt;-&gt;LayoutUnit in order to be more readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773051</commentid>
    <comment_count>24</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-21 09:56:35 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; &gt; &gt; &gt; Source/WebCore/css/CSSPrimitiveValue.cpp:485
&gt; &gt; &gt; &gt;      double value = computeLengthDouble(style, rootStyle, multiplier, computingFontSize);
&gt; &gt; &gt; &gt; -    return Length(static_cast&lt;float&gt;(value &gt; intMaxForLayoutUnit || value &lt; intMinForLayoutUnit ? 0.0 : value), Fixed);
&gt; &gt; &gt; &gt; +    return Length(clampToLayoutUnitRange(value), Fixed);
&gt; &gt; &gt; &gt;  #else
&gt; &gt; &gt; &gt;      return Length(roundForImpreciseConversion&lt;float&gt;(computeLengthDouble(style, rootStyle, multiplier, computingFontSize)), Fixed);
&gt; &gt; &gt; 
&gt; &gt; &gt; Why is the Length clamped here and not when the conversion double-&gt;int occurs?
&gt; &gt; 
&gt; &gt; We don&apos;t convert it to an int, it is represented as a float in Length and then covered to a LayoutUnit.
&gt; 
&gt; I know...but if you look at what is LayoutUnit: an int ;)
&gt; 
&gt; I believed the conversion in LayoutUnit was already clamping the input, but that&apos;s actually only true with SATURATED_LAYOUT_ARITHMETIC.
&gt; This makes me believe the original code using intMaxForLayoutUnit &amp;&amp; intMinForLayoutUnit may have been bogus to begin with, and SATURATED_LAYOUT_ARITHMETIC is the right solution.

Right, I&apos;ve been trying to turn on SATURATED_LAYOUT_ARITHMETIC for awhile but there are still some lingering performance concerns. Once (if) it has been turned on everywhere we can revisit this and remove the clampTo call here.

&gt; 
&gt; &gt; &gt; &gt; Source/WebCore/platform/LayoutUnit.h:869
&gt; &gt; &gt; &gt; +    // Adjust values somewhat to allow for float imprecision and rounding without overflowing.
&gt; &gt; &gt; &gt; +    return clampTo&lt;float&gt;(value, intMinForLayoutUnit + 2, intMaxForLayoutUnit - 2);
&gt; &gt; &gt; 
&gt; &gt; &gt; Can you please explain why you use the value 2 here?
&gt; &gt; 
&gt; &gt; To ensure that we have a number that can be correctly represented as a float and having enough room for rounding without overflowing. Usig intMinForLayoutUnit and intMaxForLayoutUnit as is would overflow when rounding, adding/subtracting one and the values returned by computed style differs from the values returned by the offsetTop/Width/* properties due to float&lt;-&gt;LayoutUnit conversions.
&gt; &gt; 
&gt; &gt; I suppose just hardcoding the min/max values might be a better idea and would also allow the same behavior regardless of the ENABLE_SUBPIXEL flag.
&gt; 
&gt; Yep, that&apos;d be great.
&gt; 
&gt; I think the code must use the same path as float&lt;-&gt;LayoutUnit in order to be more readable.

I changed both to use the same clampTo call. The non-subpixel path still needs do some some other rounding though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773054</commentid>
    <comment_count>25</comment_count>
      <attachid>175470</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-21 09:57:26 -0800</bug_when>
    <thetext>Created attachment 175470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775584</commentid>
    <comment_count>26</comment_count>
      <attachid>176023</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-26 09:56:20 -0800</bug_when>
    <thetext>Created attachment 176023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777277</commentid>
    <comment_count>27</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-27 15:33:44 -0800</bug_when>
    <thetext>Cleaned it up a bit and made sure both code paths (subpixel on/off) uses the same logic. Please take another look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780206</commentid>
    <comment_count>28</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-30 10:29:27 -0800</bug_when>
    <thetext>Please take another look when you get a chance, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780372</commentid>
    <comment_count>29</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2012-11-30 13:36:01 -0800</bug_when>
    <thetext>&gt;LayoutTests/platform/chromium/fast/css/large-number-round-trip-expected.txt
&gt;1 PASS: read 90010000px back as 0px, read again as 0px
&gt; 1PASS: read 90010000px back as 33554428px, read again as 33554428px

I wonder if the above should also include a test for the large negative number clamp (-33554430)?

&gt;Source/WebCore/css/CSSPrimitiveValue.cpp
&gt;56 // Max/min values for CSS, needs to slightly smaller/larger than the true max/min values to allow for rounding without overflowing.
&gt; 57 const int maxValueForCssLength = 33554428;
&gt; 58 const int minValueForCssLength = -33554430;

One wonders where these magic numbers come from. It might be nice to add something to the comment about how these are derived.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780415</commentid>
    <comment_count>30</comment_count>
      <attachid>177023</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-30 14:15:06 -0800</bug_when>
    <thetext>Created attachment 177023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780416</commentid>
    <comment_count>31</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-11-30 14:15:49 -0800</bug_when>
    <thetext>Made the changes you suggested, please take another look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780499</commentid>
    <comment_count>32</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2012-11-30 15:52:35 -0800</bug_when>
    <thetext>lgtm tnx!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782026</commentid>
    <comment_count>33</comment_count>
      <attachid>177023</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-12-03 16:41:14 -0800</bug_when>
    <thetext>Comment on attachment 177023
Patch

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

I had one suggestion about the two magic numbers you use, but otherwise it looks good to me.

&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:59
&gt; +const int minValueForCssLength = -33554430;

If that is the case, why can&apos;t we reference LayoutUnit::nearlyMax or nearlyMin?  Or if they aren&apos;t in scope for some reason, just inline them as:

#if ENABLE(SUBPIXEL_LAYOUT)
static const int kFixedPointDenominator = 64;
#else
static const int kFixedPointDenominator = 1;
#endif

const int maxValueForCssLength = std::numeric_limits&lt;int&gt;::max() - kFixedPointDenominator / 2;
const int minValueForCssLength = std::numeric_limits&lt;int&gt;::min() + kFixedPointDenominator / 2;

Instead of the magic number 33554428, we now have the kFixedPointDenominator of 1 or 64, which are easy to understand and defend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782081</commentid>
    <comment_count>34</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-12-03 17:55:59 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; Instead of the magic number 33554428, we now have the kFixedPointDenominator of 1 or 64, which are easy to understand and defend.

It is not quite that easy. I can&apos;t use nearlyMax/nearlyMin as that would result in different limits depending on the SUBPIXEL flag. Similarly I can&apos;t use &quot;std::numeric_limits&lt;int&gt;::max() / 64 - 1&quot; due to loosing precision when converting to a float and back.

INT_MAX / 64 == 33554431
static_cast&lt;int&gt;(static_cast&lt;float&gt;(INT_MAX / 64) - 1) + 1 == 33554433

The largest value I&apos;ve found that works is 33554429 (INT_MAX / 64 - 2).

The cleanest solution would be to use (1 &lt;&lt; 24) as the max value as it is guaranteed to have a stable representation but that would in effective reduce the the usable range of numbers by a factor of two.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782937</commentid>
    <comment_count>35</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-12-04 14:25:43 -0800</bug_when>
    <thetext>Any suggestions as to which is preferable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785467</commentid>
    <comment_count>36</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-12-06 17:41:28 -0800</bug_when>
    <thetext>Simon, what do you think we should do here? I don&apos;t really want to hard-code the limits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785478</commentid>
    <comment_count>37</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-12-06 17:48:34 -0800</bug_when>
    <thetext>(In reply to comment #36)
&gt; Simon, what do you think we should do here? I don&apos;t really want to hard-code the limits.

Can&apos;t you define it as (INT_MAX / kFixedPointDenominator - 2)? That seems close enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785489</commentid>
    <comment_count>38</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-12-06 17:55:30 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; (In reply to comment #36)
&gt; &gt; Simon, what do you think we should do here? I don&apos;t really want to hard-code the limits.
&gt; 
&gt; Can&apos;t you define it as (INT_MAX / kFixedPointDenominator - 2)? That seems close enough.

Yeah, that&apos;s probably the best we can do. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786187</commentid>
    <comment_count>39</comment_count>
      <attachid>178284</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-12-07 14:45:11 -0800</bug_when>
    <thetext>Created attachment 178284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786423</commentid>
    <comment_count>40</comment_count>
      <attachid>178284</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-07 21:51:53 -0800</bug_when>
    <thetext>Comment on attachment 178284
Patch

Attachment 178284 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15191519</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787602</commentid>
    <comment_count>41</comment_count>
      <attachid>178603</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-12-10 11:44:52 -0800</bug_when>
    <thetext>Created attachment 178603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788778</commentid>
    <comment_count>42</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-12-11 14:08:38 -0800</bug_when>
    <thetext>Brent/Simon, would either of you mind taking another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788828</commentid>
    <comment_count>43</comment_count>
      <attachid>178603</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 14:57:54 -0800</bug_when>
    <thetext>Comment on attachment 178603
Patch

Clearing flags on attachment: 178603

Committed r137365: &lt;http://trac.webkit.org/changeset/137365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788829</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-11 14:58:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175081</attachid>
            <date>2012-11-19 16:54:40 -0800</date>
            <delta_ts>2012-11-20 12:05:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102735-20121119165230.patch</filename>
            <type>text/plain</type>
            <size>23977</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTIwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTExLTE5ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBJZ25vcmUgb3V0LW9mLXJhbmdl
IG51bWJlcnMgaW4gQ1NTCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDI3MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDdXJyZW50bHkgd2hlbiBhIGxhcmdlIG51bWJlciAob3V0c2lkZSBvZiB0aGUgc3Vw
cG9ydGVkIHJhbmdlKQorICAgICAgICBpcyBhcHBsaWVkIGZyb20gYSBzdHlsZSBydWxlIG9yIHNl
dCBmcm9tIGphdmFzY3JpcHQgdXNpbmcKKyAgICAgICAgRWxlbWVudC5zdHlsZSB3ZSBjaGVjayBp
ZiBpdCBpcyB3aXRoaW4gdGhlIHN1cHBvcnRlZCByYW5nZSBhbmQKKyAgICAgICAgc2V0IGl0IHRv
IHplcm8gaWYgaXQgaXMgbm90LiBUaGlzIGlzIGluY29ycmVjdCBhY2NvcmRpbmcgdG8gdGhlCisg
ICAgICAgIENTUzMgc3BlY2lmaWNhdGlvbiB3aGljaCBpbnN0ZWFkIG1hbmRhdGVzIHRoYXQgdGhl
IHZhbHVlIGJlCisgICAgICAgIGlnbm9yZWQuIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdmFs
dWVzLyNudW1lcmljLXR5cGVzCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMg
dGhlIGJlaGF2aW9yIHRvIGlnbm9yZSBvdXQtb2YtcmFuZ2UgdmFsdWVzLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvY3NzL2xhcmdlLW51bWJlcnMuaHRtbAorCisgICAgICAgICogY3NzL0NTU1BhcnNl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZVNpbXBsZUxlbmd0aFZhbHVlKToKKyAgICAg
ICAgQ2hhbmdlIHRvIHJldHVybiBmYWxzZSBmb3Igb3V0LW9mLXJhbmdlIG51bWJlcnMgaW5kaWNh
dGluZyB0aGF0CisgICAgICAgIHRoZSB2YWx1ZSBpcyBub3Qgc3VwcG9ydGVkLgorICAgICAgICAK
KyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgpOgorICAgICAgICBSZXR1cm4gYW4gTGVu
Z3RoIHdpdGggdGhlIHR5cGUgc2V0IHRvIFVuZGVmaW5lZCBmb3IgdW5zdXBwb3J0ZWQKKyAgICAg
ICAgdmFsdWVzLgorICAgICAgICAKKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlMZW5ndGg6OnNldFZhbHVlKToKKyAgICAgICAg
Q2hlY2sgaWYgdGhlIHR5cGUgaXMgVW5kZWZpbmVkIGJlZm9yZSBzZXR0aW5nIHRoZSB2YWx1ZS4K
KwogMjAxMi0xMS0xOSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmVuYW1lIGlkbERvY3VtZW50OjpjbGFzc2VzIHRvIGlkbERvY3VtZW50OjppbnRlcmZh
Y2VzIGluIHRoZSBJREwgcGFyc2VyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2
aXNpb24gMTM0MDg3KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU3Niw2ICs1NzYsOSBAQCBzdGF0aWMgYm9vbCBwYXJzZVNpbXBsZUxlbmd0
aFZhbHVlKFN0eWxlCiAgICAgaWYgKG51bWJlciA8IDAgJiYgIWFjY2VwdHNOZWdhdGl2ZU51bWJl
cnMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChudW1iZXIgPiBpbnRNYXhGb3JM
YXlvdXRVbml0IHx8IG51bWJlciA8IGludE1pbkZvckxheW91dFVuaXQpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKwogICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBjc3NWYWx1ZVBvb2woKS5j
cmVhdGVWYWx1ZShudW1iZXIsIHVuaXQpOwogICAgIGRlY2xhcmF0aW9uLT5hZGRQYXJzZWRQcm9w
ZXJ0eShDU1NQcm9wZXJ0eShwcm9wZXJ0eUlkLCB2YWx1ZS5yZWxlYXNlKCksIGltcG9ydGFudCkp
OwogICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuY3BwCShyZXZpc2lvbiAxMzQwODcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODAsNyArNDgwLDkgQEAgdGVtcGxh
dGU8PiBMZW5ndGggQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbQogewogI2lmIEVOQUJMRShTVUJQSVhF
TF9MQVlPVVQpCiAgICAgZG91YmxlIHZhbHVlID0gY29tcHV0ZUxlbmd0aERvdWJsZShzdHlsZSwg
cm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSk7Ci0gICAgcmV0dXJuIExl
bmd0aChzdGF0aWNfY2FzdDxmbG9hdD4odmFsdWUgPiBpbnRNYXhGb3JMYXlvdXRVbml0IHx8IHZh
bHVlIDwgaW50TWluRm9yTGF5b3V0VW5pdCA/IDAuMCA6IHZhbHVlKSwgRml4ZWQpOworICAgIGlm
ICh2YWx1ZSA+IGludE1heEZvckxheW91dFVuaXQgfHwgdmFsdWUgPCBpbnRNaW5Gb3JMYXlvdXRV
bml0KQorICAgICAgICByZXR1cm4gTGVuZ3RoKFVuZGVmaW5lZCk7CisgICAgcmV0dXJuIExlbmd0
aChzdGF0aWNfY2FzdDxmbG9hdD4odmFsdWUpLCBGaXhlZCk7CiAjZWxzZQogICAgIHJldHVybiBM
ZW5ndGgocm91bmRGb3JJbXByZWNpc2VDb252ZXJzaW9uPGZsb2F0Pihjb21wdXRlTGVuZ3RoRG91
YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKSksIEZp
eGVkKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAJKHJldmlz
aW9uIDEzNDA4NykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNDksNyArMzQ5LDExIEBAIHRlbXBsYXRlIDxMZW5ndGggKFJlbmRlclN0
eWxlOjoqZ2V0dGVyRnUKICAgICAgICAgICBMZW5ndGhVbmRlZmluZWQgbm9uZVVuZGVmaW5lZCA9
IFVuZGVmaW5lZERpc2FibGVkPgogY2xhc3MgQXBwbHlQcm9wZXJ0eUxlbmd0aCB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIHZvaWQgc2V0VmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBMZW5ndGggdmFs
dWUpIHsgKHN0eWxlLT4qc2V0dGVyRnVuY3Rpb24pKHZhbHVlKTsgfQorICAgIHN0YXRpYyB2b2lk
IHNldFZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgTGVuZ3RoIHZhbHVlKQorICAgIHsKKyAgICAg
ICAgaWYgKCF2YWx1ZS5pc1VuZGVmaW5lZCgpKQorICAgICAgICAgICAgKHN0eWxlLT4qc2V0dGVy
RnVuY3Rpb24pKHZhbHVlKTsKKyAgICB9CiAgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZShDU1NQ
cm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSogdmFsdWUp
CiAgICAgewogICAgICAgICBpZiAoIXZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCkluZGV4OiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxMzUyMDcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0xMS0xOSAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgSWdub3JlIG91dC1vZi1yYW5nZSBudW1iZXJzIGluIENTUwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3Qg
dmVyaWZ5aW5nIHRoYXQgbGFyZ2UgbnVtYmVycyBhcmUgaGFuZGxlZCBjb3JyZWN0bHkKKyAgICAg
ICAgKGJhc2VkIG9uIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwpLgorICAgICAgICBV
cGRhdGUgY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLgorCisgICAgICAgICogZmFzdC9jc3Mv
bGFyZ2UtbnVtYmVycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2xh
cmdlLW51bWJlcnMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwv
bGFyZ2Utc2l6ZXMuaHRtbGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwuCisgICAgICAg
ICogZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Nzcy9sYXJnZS1udW1iZXIt
cm91bmQtdHJpcC1leHBlY3RlZC50eHQ6CisKIDIwMTItMTEtMTkgIEppYW4gTGkgIDxqaWFubGlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIE1hcmsgMiB0ZXN0cyBhcyBmYWls
ZWQgb24gY2hyb21pdW0uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1u
dW1iZXJzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3Nz
L2xhcmdlLW51bWJlcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUyIEBA
CitQQVNTIGVsZW1lbnQud2lkdGggPSAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lk
dGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0g
MXB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBh
cyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwcHgsIHJldHVybnMgb2Zmc2V0V2lk
dGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LndpZHRoID0gMTAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNv
bXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDBweCwg
cmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhw
ZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQud2lkdGggPSAxMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5k
IGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAw
MDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGgg
YXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDAwMDBweCwgcmV0dXJucyBv
ZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQ
QVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJl
Y3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lndp
ZHRoID0gMTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQg
Y29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDAw
MDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lk
dGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDAwMDAwMDAwcHgsIHJl
dHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTFweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVj
dC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lk
dGggPSAtMTBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQg
d2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwcHgsIHJldHVybnMg
b2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgor
UEFTUyBlbGVtZW50LndpZHRoID0gLTEwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qu
d2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRo
ID0gLTEwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRl
ZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMDAwcHgsIHJl
dHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lk
dGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LndpZHRoID0gLTEwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0x
MDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVk
IHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEwMDAwMDAwMDAwcHgs
IHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4
cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9m
ZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BB
U1MgZWxlbWVudC5sZWZ0ID0gMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQg
Y29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMXB4LCByZXR1
cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC5sZWZ0ID0gMTBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQg
YW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMHB4
LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBl
Y3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCBy
ZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVm
dCA9IDEwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQg
bGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMHB4LCByZXR1cm5z
IG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BB
U1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0Lmxl
ZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEw
MDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVm
dCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwMHB4LCByZXR1cm5z
IG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BB
U1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0
LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9
IDEwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0
ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwMDAwMHB4
LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBl
Y3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTFweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0
LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9
IC0xMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBh
cyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMHB4LCByZXR1cm5zIG9mZnNldExl
ZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVu
dC5sZWZ0ID0gLTEwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21w
dXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwcHgsIHJl
dHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVk
LgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJl
Y3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0
ID0gLTEwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRl
ZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDAwcHgsIHJl
dHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVk
LgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQs
IHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5s
ZWZ0ID0gLTEwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBj
b21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDAw
MDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFz
IGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDAwMDAwMHB4LCByZXR1cm5z
IG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1Rl
c3QgaGFuZGxpbmcgb2YgbnVtYmVycyBvdXRzaWRlIG9mIHRoZSBzdXBwb3J0ZWQgcmFuZ2UuCisK
K1Byb3BlcnRpZXMgbWF5IHJlc3RyaWN0IG51bWVyaWMgdmFsdWVzIHRvIHNvbWUgcmFuZ2UuIElm
IHRoZSB2YWx1ZSBpcyBvdXRzaWRlIHRoZSBhbGxvd2VkIHJhbmdlLCB0aGUgZGVjbGFyYXRpb24g
aXMgaW52YWxpZCBhbmQgbXVzdCBiZSBpZ25vcmVkLiBBcyBwZXIgdGhlIENTUzMgc3BlY2lmaWNh
dGlvbi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwJKHJldmlz
aW9uIDEzNDA4NykJKGZyb20gTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMu
aHRtbDoxMzQwODcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD4K
KyAgICAgICAgICAgIFRlc3QgaGFuZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5nIHRoZSBtYXhpbXVt
IHN1cHBvcnRlZCB2YWx1ZS4KKyAgICAgICAgPC9wPgorICAgICAgICA8c2NyaXB0PgorICAgICAg
ICAgICAgZnVuY3Rpb24gdGVzdFNpemUod2lkdGgsIGV4cGVjdGVkV2lkdGgsIG9wdF90b2xlcmFu
Y2UpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZWwuc3R5bGUud2lkdGggPSB3aWR0
aCArICdweCc7CisgICAgICAgICAgICAgICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVk
U3R5bGUoZWwsIG51bGwpOworICAgICAgICAgICAgICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICAgICAgdmFyIHRvbGVyYW5jZSA9IG9wdF90b2xl
cmFuY2UgfHwgMDsKKyAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoZWwub2Zmc2V0V2lkdGgg
LSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocmVjdC53aWR0aCAtIGV4
cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhwYXJzZUludChzdHlsZS53aWR0
aCwgMTApIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlKQorICAgICAgICAgICAgICAgICAg
ICB0ZXN0UGFzc2VkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9m
ZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4nKTsK
KyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2Vs
ZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVs
Lm9mZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1
dGVkIHdpZHRoICcgKyBzdHlsZS53aWR0aCArICcsIGV4cGVjdGVkICcgKyBleHBlY3RlZFdpZHRo
ICsgJy4nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgdmFyIGVs
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICBkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGVsKTsKKworICAgICAgICAgICAgdGVzdFNpemUoNTAwMCwgNTAwMCk7
CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMCwgNTAwMDApOworICAgICAgICAgICAgdGVzdFNp
emUoNTAwMDAwLCA1MDAwMDApOworICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwMCwgNTAwMDAw
MCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0
U2l6ZSgzMzU1NDQyNCwgMzM1NTQ0MjQpOworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjUs
IDMzNTU0NDI1LCAyKTsgLy8gZmxvYXQgaW1wcmVjaXNpb24KKyAgICAgICAgICAgIHRlc3RTaXpl
KDMzNTU0NDI2LCAzMzU1NDQyNiwgMik7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNywg
MzM1NTQ0MjcsIDIpOworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjgsIDMzNTU0NDI4LCAy
KTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI5LCAzMzU1NDQyOSwgMik7CisgICAgICAg
ICAgICB0ZXN0U2l6ZSgzMzU1NDQzMCwgMzM1NTQ0MzAsIDIpOworICAgICAgICAgICAgdGVzdFNp
emUoMzM1NTQ0MzIsIDApOworICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTUsIDApOworICAg
ICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTYsIDApOworICAgICAgICAgICAgCisgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAg
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVy
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMu
aHRtbAkocmV2aXNpb24gMTM0MDg3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVt
YmVycy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDQzICsyLDExMiBAQAogPGh0bWw+CiAgICAg
PGhlYWQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAudGVzdCB7IHBvc2l0
aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDUwcHg7IGxlZnQ6IDI1cHg7IH0KKyAgICAgICAgPC9zdHls
ZT4KICAgICA8L2hlYWQ+CiAgICAgPGJvZHk+CiAgICAgICAgIDxwPgotICAgICAgICAgICAgVGVz
dCBoYW5kbGluZyBvZiBzaXplcyBleGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVl
LgorICAgICAgICAgICAgVGVzdCBoYW5kbGluZyBvZiBudW1iZXJzIG91dHNpZGUgb2YgdGhlIHN1
cHBvcnRlZCByYW5nZS4KKyAgICAgICAgPC9wPgorICAgICAgICA8cD4KKyAgICAgICAgICAgIDxx
IGNpdGU9Imh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdmFsdWVzLyNudW1lcmljLXR5cGVzIj5Q
cm9wZXJ0aWVzIG1heSByZXN0cmljdCBudW1lcmljIHZhbHVlcyB0byBzb21lIHJhbmdlLiBJZiB0
aGUgdmFsdWUgaXMgb3V0c2lkZSB0aGUgYWxsb3dlZCByYW5nZSwgdGhlIGRlY2xhcmF0aW9uIGlz
IGludmFsaWQgYW5kIG11c3QgYmUgaWdub3JlZC48L3E+CisgICAgICAgICAgICBBcyBwZXIgdGhl
IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdmFsdWVzLyNudW1lcmljLXR5cGVz
Ij5DU1MzIHNwZWNpZmljYXRpb248L2E+LgogICAgICAgICA8L3A+CiAgICAgICAgIDxzY3JpcHQ+
Ci0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3aWR0aCwgZXhwZWN0ZWRXaWR0aCwgb3B0
X3RvbGVyYW5jZSkKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTaXplKHdpZHRoLCBvcHRfZXhw
ZWN0ZWRXaWR0aCkKICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgZXhwZWN0ZWRX
aWR0aCA9IHR5cGVvZiBvcHRfZXhwZWN0ZWRXaWR0aCA9PSAnbnVtYmVyJyA/IG9wdF9leHBlY3Rl
ZFdpZHRoIDogd2lkdGg7CisgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgZWwuc3R5
bGUud2lkdGggPSB3aWR0aCArICdweCc7CisKICAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7CiAgICAgICAgICAgICAgICAgdmFyIHJl
Y3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICAgICAgICB2YXIgdG9s
ZXJhbmNlID0gb3B0X3RvbGVyYW5jZSB8fCAwOwotICAgICAgICAgICAgICAgIGlmIChNYXRoLmFi
cyhlbC5vZmZzZXRXaWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFi
cyhyZWN0LndpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJzKHBh
cnNlSW50KHN0eWxlLndpZHRoLCAxMCkgLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UpCisg
ICAgICAgICAgICAgICAgdmFyIGNvbXB1dGVkV2lkdGggPSBOdW1iZXIoc3R5bGUud2lkdGgucmVw
bGFjZSgncHgnLCAnJykpOworICAgICAgICAgICAgICAgIGlmIChlbC5vZmZzZXRXaWR0aCA9PSBl
eHBlY3RlZFdpZHRoICYmIHJlY3Qud2lkdGggPT0gZXhwZWN0ZWRXaWR0aCAmJiBjb21wdXRlZFdp
ZHRoID09IGV4cGVjdGVkV2lkdGgpCiAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2Vs
ZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qu
d2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLicpOwogICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcg
KyB3aWR0aCArICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAn
LCByZWN0LndpZHRoICcgKyByZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0
eWxlLndpZHRoICsgJywgZXhwZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicpOworICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4
LCByZXR1cm5zIG9mZnNldFdpZHRoICcgKyBlbC5vZmZzZXRXaWR0aCArICcsIHJlY3Qud2lkdGgg
JyArIHJlY3Qud2lkdGggKyAnIGFuZCBjb21wdXRlZCB3aWR0aCAnICsgY29tcHV0ZWRXaWR0aCAr
ICcsIGV4cGVjdGVkICcgKyBleHBlY3RlZFdpZHRoICsgJy4nKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIAorICAgICAgICAgICAgCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0TGVmdChs
ZWZ0LCBvcHRfZXhwZWN0ZWRMZWZ0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHZh
ciBleHBlY3RlZExlZnQgPSB0eXBlb2Ygb3B0X2V4cGVjdGVkTGVmdCA9PSAnbnVtYmVyJyA/IG9w
dF9leHBlY3RlZExlZnQgOiBsZWZ0OworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAg
IGVsLnN0eWxlLmxlZnQgPSBsZWZ0ICsgJ3B4JzsKKworICAgICAgICAgICAgICAgIHZhciBzdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKTsKKyAgICAgICAgICAgICAgICB2
YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgICAgIHZh
ciBjb21wdXRlZExlZnQgPSBOdW1iZXIoc3R5bGUubGVmdC5yZXBsYWNlKCdweCcsICcnKSk7Cisg
ICAgICAgICAgICAgICAgaWYgKGVsLm9mZnNldExlZnQgPT0gZXhwZWN0ZWRMZWZ0ICYmIHJlY3Qu
bGVmdCA9PSBleHBlY3RlZExlZnQgJiYgY29tcHV0ZWRMZWZ0ID09IGV4cGVjdGVkTGVmdCkKKyAg
ICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC5sZWZ0ID0gJyArIGxlZnQgKyAn
cHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4
cGVjdGVkLicpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgnZWxlbWVudC5sZWZ0ID0gJyArIGxlZnQgKyAncHgsIHJldHVybnMgb2Zmc2V0TGVm
dCAnICsgZWwub2Zmc2V0TGVmdCArICcsIHJlY3QubGVmdCAnICsgcmVjdC5sZWZ0ICsgJyBhbmQg
Y29tcHV0ZWQgbGVmdCAnICsgY29tcHV0ZWRMZWZ0ICsgJywgZXhwZWN0ZWQgJyArIGV4cGVjdGVk
TGVmdCArICcuJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAg
ICAgICBlbC5jbGFzc05hbWUgPSAndGVzdCc7CiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGVsKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgdmFyIERFRkFVTFRfV0lE
VEggPSA1MDsKKyAgICAgICAgICAgIHZhciBERUZBVUxUX0xFRlQgPSAyNTsKIAotICAgICAgICAg
ICAgdGVzdFNpemUoNTAwMCwgNTAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMCwgNTAw
MDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwLCA1MDAwMDApOwotICAgICAgICAgICAg
dGVzdFNpemUoNTAwMDAwMCwgNTAwMDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAw
MCwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNCwgMzM1NTQ0MjQpOwotICAgICAg
ICAgICAgdGVzdFNpemUoMzM1NTQ0MjUsIDMzNTU0NDI1LCAyKTsgLy8gZmxvYXQgaW1wcmVjaXNp
b24KLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI2LCAzMzU1NDQyNiwgMik7Ci0gICAgICAg
ICAgICB0ZXN0U2l6ZSgzMzU1NDQyNywgMzM1NTQ0MjcsIDIpOwotICAgICAgICAgICAgdGVzdFNp
emUoMzM1NTQ0MjgsIDMzNTU0NDI4LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI5
LCAzMzU1NDQyOSwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMCwgMzM1NTQ0MzAs
IDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MzIsIDApOwotICAgICAgICAgICAgdGVz
dFNpemUoMzU3OTEzOTUsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTYsIDApOwor
ICAgICAgICAgICAgLy8gVGVzdCBzZXR0aW5nIHN0eWxlLndpZHRoLCBuZWdhdGl2ZSB2YWx1ZXMg
YXJlIGNvbnNpZGVyZWQgaW52YWxpZC4KKyAgICAgICAgICAgIHRlc3RTaXplKDApOworICAgICAg
ICAgICAgdGVzdFNpemUoMSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMCk7CisgICAgICAgICAg
ICB0ZXN0U2l6ZSgxMDApOworICAgICAgICAgICAgdGVzdFNpemUoMTAwMDApOworICAgICAgICAg
ICAgdGVzdFNpemUoMTAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDApOworICAg
ICAgICAgICAgdGVzdFNpemUoMTAwMDAwMDApOworICAgICAgICAgICAgdGVzdFNpemUoMTAwMDAw
MDAwLCBERUZBVUxUX1dJRFRIKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDAwMDAsIERF
RkFVTFRfV0lEVEgpOworICAgICAgICAgICAgdGVzdFNpemUoMTAwMDAwMDAwMDAsIERFRkFVTFRf
V0lEVEgpOworICAgICAgICAgICAgdGVzdFNpemUoMTAwMDAwMDAwMDAwLCBERUZBVUxUX1dJRFRI
KTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDAwMDAwMDAsIERFRkFVTFRfV0lEVEgpOwog
ICAgICAgICAgICAgCisgICAgICAgICAgICB0ZXN0U2l6ZSgtMSwgREVGQVVMVF9XSURUSCk7Cisg
ICAgICAgICAgICB0ZXN0U2l6ZSgtMTAsIERFRkFVTFRfV0lEVEgpOworICAgICAgICAgICAgdGVz
dFNpemUoLTEwMCwgREVGQVVMVF9XSURUSCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAs
IERFRkFVTFRfV0lEVEgpOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMCwgREVGQVVMVF9X
SURUSCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwMCwgREVGQVVMVF9XSURUSCk7Cisg
ICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwMDAsIERFRkFVTFRfV0lEVEgpOworICAgICAgICAg
ICAgdGVzdFNpemUoLTEwMDAwMDAwMCwgREVGQVVMVF9XSURUSCk7CisgICAgICAgICAgICB0ZXN0
U2l6ZSgtMTAwMDAwMDAwMCwgREVGQVVMVF9XSURUSCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgt
MTAwMDAwMDAwMDAsIERFRkFVTFRfV0lEVEgpOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAw
MDAwMDAwMCwgREVGQVVMVF9XSURUSCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vIFRl
c3Qgc2V0dGluZyBzdHlsZS5sZWZ0LCBuZWdhdGl2ZSB2YWx1ZXMgYXJlIGNvbnNpZGVyZWQgdmFs
aWQuCisgICAgICAgICAgICB0ZXN0TGVmdCgwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEpOwor
ICAgICAgICAgICAgdGVzdExlZnQoMTApOworICAgICAgICAgICAgdGVzdExlZnQoMTAwKTsKKyAg
ICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMCk7
CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEw
MDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMDAwMCwgREVGQVVMVF9MRUZUKTsK
KyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMDAwMDAsIERFRkFVTFRfTEVGVCk7CisgICAgICAg
ICAgICB0ZXN0TGVmdCgxMDAwMDAwMDAwMCwgREVGQVVMVF9MRUZUKTsKKyAgICAgICAgICAgIHRl
c3RMZWZ0KDEwMDAwMDAwMDAwMCwgREVGQVVMVF9MRUZUKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0
KDEwMDAwMDAwMDAwMDAsIERFRkFVTFRfTEVGVCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IHRlc3RMZWZ0KC0xKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMCk7CisgICAgICAgICAgICB0
ZXN0TGVmdCgtMTAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMCk7CisgICAgICAgICAg
ICB0ZXN0TGVmdCgtMTAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwKTsKKyAg
ICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAw
MDAwMDAwLCBERUZBVUxUX0xFRlQpOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDAwMDAs
IERFRkFVTFRfTEVGVCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAwMDAsIERFRkFV
TFRfTEVGVCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAwMDAwLCBERUZBVUxUX0xF
RlQpOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDAwMDAwMDAsIERFRkFVTFRfTEVGVCk7
CisKICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWwpOwogICAgICAgICA8
L3NjcmlwdD4KICAgICA8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9s
YXJnZS1zaXplcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
dWItcGl4ZWwvbGFyZ2Utc2l6ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzQwODcpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTYgKzAsMCBAQAotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMHB4LCBy
ZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBl
Y3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDUwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgs
IHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50
LndpZHRoID0gNTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNv
bXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMDAwMHB4
LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBl
eHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDUwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0
V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBl
bGVtZW50LndpZHRoID0gMzM1NTQ0MjRweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0
aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAz
MzU1NDQyNXB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3
aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI2cHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVk
LgotUEFTUyBlbGVtZW50LndpZHRoID0gMzM1NTQ0MjdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwg
cmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQu
d2lkdGggPSAzMzU1NDQyOHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBj
b21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI5
cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFz
IGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gMzM1NTQ0MzBweCwgcmV0dXJucyBvZmZz
ZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNT
IGVsZW1lbnQud2lkdGggPSAzMzU1NDQzMnB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0Lndp
ZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9
IDM1NzkxMzk1cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVk
IHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gMzU3OTEzOTZweCwgcmV0
dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0
ZWQuCi1UZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4aW11bSBzdXBwb3J0
ZWQgdmFsdWUuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVz
Lmh0bWwJKHJldmlzaW9uIDEzNDA4NykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xh
cmdlLXNpemVzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5
PgotICAgICAgICA8cD4KLSAgICAgICAgICAgIFRlc3QgaGFuZGxpbmcgb2Ygc2l6ZXMgZXhjZWVk
aW5nIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZS4KLSAgICAgICAgPC9wPgotICAgICAgICA8
c2NyaXB0PgotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNpemUod2lkdGgsIGV4cGVjdGVkV2lk
dGgsIG9wdF90b2xlcmFuY2UpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZWwuc3R5
bGUud2lkdGggPSB3aWR0aCArICdweCc7Ci0gICAgICAgICAgICAgICAgdmFyIHN0eWxlID0gd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpOwotICAgICAgICAgICAgICAgIHZhciByZWN0
ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgICAgICAgICAgICAgdmFyIHRvbGVy
YW5jZSA9IG9wdF90b2xlcmFuY2UgfHwgMDsKLSAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMo
ZWwub2Zmc2V0V2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMo
cmVjdC53aWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhwYXJz
ZUludChzdHlsZS53aWR0aCwgMTApIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlKQotICAg
ICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsg
J3B4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBh
cyBleHBlY3RlZC4nKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
IHRlc3RGYWlsZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zm
c2V0V2lkdGggJyArIGVsLm9mZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0
aCArICcgYW5kIGNvbXB1dGVkIHdpZHRoICcgKyBzdHlsZS53aWR0aCArICcsIGV4cGVjdGVkICcg
KyBleHBlY3RlZFdpZHRoICsgJy4nKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAg
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsKTsKLQotICAgICAgICAgICAgdGVzdFNp
emUoNTAwMCwgNTAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMCwgNTAwMDApOwotICAg
ICAgICAgICAgdGVzdFNpemUoNTAwMDAwLCA1MDAwMDApOwotICAgICAgICAgICAgdGVzdFNpemUo
NTAwMDAwMCwgNTAwMDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwMCwgMCk7Ci0g
ICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNCwgMzM1NTQ0MjQpOwotICAgICAgICAgICAgdGVz
dFNpemUoMzM1NTQ0MjUsIDMzNTU0NDI1LCAyKTsgLy8gZmxvYXQgaW1wcmVjaXNpb24KLSAgICAg
ICAgICAgIHRlc3RTaXplKDMzNTU0NDI2LCAzMzU1NDQyNiwgMik7Ci0gICAgICAgICAgICB0ZXN0
U2l6ZSgzMzU1NDQyNywgMzM1NTQ0MjcsIDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0
MjgsIDMzNTU0NDI4LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI5LCAzMzU1NDQy
OSwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMCwgMzM1NTQ0MzAsIDIpOwotICAg
ICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MzIsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzU3
OTEzOTUsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTYsIDApOwotICAgICAgICAg
ICAgCi0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsKTsKLSAgICAgICAg
PC9zY3JpcHQ+Ci0gICAgPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xh
cmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM0MDg3KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5k
LXRyaXAtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1QQVNTOiByZWFk
IDkwMDEwMDAwcHggYmFjayBhcyAwcHgsIHJlYWQgYWdhaW4gYXMgMHB4CitQQVNTOiByZWFkIDkw
MDEwMDAwcHggYmFjayBhcyBhdXRvLCByZWFkIGFnYWluIGFzIGF1dG8KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2xh
cmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM0MDg3KQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlw
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotUEFTUzogcmVhZCA5MDAx
MDAwMHB4IGJhY2sgYXMgMHB4LCByZWFkIGFnYWluIGFzIDBweAorUEFTUzogcmVhZCA5MDAxMDAw
MHB4IGJhY2sgYXMgYXV0bywgcmVhZCBhZ2FpbiBhcyBhdXRvCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175260</attachid>
            <date>2012-11-20 12:06:03 -0800</date>
            <delta_ts>2012-11-20 14:41:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102735-20121120120352.patch</filename>
            <type>text/plain</type>
            <size>23365</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTMwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTExLTIwICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGFtcCBvdXQtb2YtcmFuZ2Ug
bnVtYmVycyBpbiBDU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjczNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEN1cnJlbnRseSB3aGVuIGEgbGFyZ2UgbnVtYmVyIChvdXRzaWRlIG9mIHRoZSBzdXBw
b3J0ZWQgcmFuZ2UpCisgICAgICAgIGlzIGFwcGxpZWQgZnJvbSBhIHN0eWxlIHJ1bGUgb3Igc2V0
IGZyb20gamF2YXNjcmlwdCB1c2luZworICAgICAgICBFbGVtZW50LnN0eWxlIHdlIGNoZWNrIGlm
IGl0IGlzIHdpdGhpbiB0aGUgc3VwcG9ydGVkIHJhbmdlIGFuZAorICAgICAgICBzZXQgaXQgdG8g
emVybyBpZiBpdCBpcyBub3QuIFRoaXMgaXMgaW5jb3JyZWN0IGFuZCBjb25mdXNpbmcuCisgICAg
ICAgIAorICAgICAgICBDaGFuZ2UgaXQgdG8gY2xhbXAgdmFsdWVzIHRvIHRoZSBzdXBwb3J0ZWQg
cmFuZ2UuIFRoaXMgbWF0Y2hlcworICAgICAgICB0aGUgYmVoYXZpb3IgaW4gR2Vja28uCisKKyAg
ICAgICAgVGVzdDogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU2ltcGxlTGVuZ3RoVmFsdWUp
OgorICAgICAgICBDaGFuZ2UgdG8gY2xhbXAgbmVnYXRpdmUgdmFsdWVzLCB3aGVuIG5vdCBzdXBw
b3J0ZWQsIGluc3RlYWQgb2YKKyAgICAgICAgdHJlYXRpbmcgdGhlbSBhcyBpbnZhbGlkLgorICAg
ICAgICAKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGgpOgorICAgICAgICBDaGFuZ2Ug
dG8gY2xhbXAgb3V0LW9mLXJhbmdlIHZhbHVlcyBpbnN0ZWFkIG9mIGludGVycHJldGluZyB0aGVt
CisgICAgICAgIGFzIHplcm8uCisgICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL0xheW91dFVu
aXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OmNsYW1wVG9MYXlvdXRVbml0UmFuZ2UpOgorICAgICAg
ICBBZGQgY2xhbXBUb0xheW91dFVuaXRSYW5nZShmbG9hdCkgaGVscGVyIGZ1bmN0aW9uLgorCiAy
MDEyLTExLTIwICBFbGxpb3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFN0b3JlIE11dGF0aW9uT2JzZXJ2ZXIgY2FsbGJhY2sgaW4gYSBoaWRkZW4gcHJvcGVydHkg
Zm9yIFY4CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24gMTM0MDg3KQor
KysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3
NCw3ICs1NzQsNyBAQCBzdGF0aWMgYm9vbCBwYXJzZVNpbXBsZUxlbmd0aFZhbHVlKFN0eWxlCiAg
ICAgICAgIHVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOwogICAgIH0KICAgICBpZiAo
bnVtYmVyIDwgMCAmJiAhYWNjZXB0c05lZ2F0aXZlTnVtYmVycykKLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICBudW1iZXIgPSAwOwogCiAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9
IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKG51bWJlciwgdW5pdCk7CiAgICAgZGVjbGFyYXRp
b24tPmFkZFBhcnNlZFByb3BlcnR5KENTU1Byb3BlcnR5KHByb3BlcnR5SWQsIHZhbHVlLnJlbGVh
c2UoKSwgaW1wb3J0YW50KSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZS5jcHAJKHJldmlzaW9uIDEzNDA4NykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4MCw3ICs0ODAsNyBAQCB0ZW1wbGF0
ZTw+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tCiB7CiAjaWYgRU5BQkxFKFNVQlBJWEVM
X0xBWU9VVCkKICAgICBkb3VibGUgdmFsdWUgPSBjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCBy
b290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsKLSAgICByZXR1cm4gTGVu
Z3RoKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSA+IGludE1heEZvckxheW91dFVuaXQgfHwgdmFs
dWUgPCBpbnRNaW5Gb3JMYXlvdXRVbml0ID8gMC4wIDogdmFsdWUpLCBGaXhlZCk7CisgICAgcmV0
dXJuIExlbmd0aChjbGFtcFRvTGF5b3V0VW5pdFJhbmdlKHZhbHVlKSwgRml4ZWQpOwogI2Vsc2UK
ICAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVjaXNlQ29udmVyc2lvbjxmbG9hdD4oY29t
cHV0ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdG
b250U2l6ZSkpLCBGaXhlZCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xheW91dFVuaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlv
dXRVbml0LmgJKHJldmlzaW9uIDEzNDA4NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xh
eW91dFVuaXQuaAkod29ya2luZyBjb3B5KQpAQCAtODYzLDYgKzg2MywxMiBAQCBpbmxpbmUgYm9v
bCBpc0ludGVnZXJWYWx1ZShjb25zdCBMYXlvdXRVCiAgICAgcmV0dXJuIHZhbHVlLnRvSW50KCkg
PT0gdmFsdWU7CiB9CiAKK2lubGluZSBmbG9hdCBjbGFtcFRvTGF5b3V0VW5pdFJhbmdlKGZsb2F0
IHZhbHVlKQoreworICAgIC8vIEFkanVzdCB2YWx1ZXMgc29tZXdoYXQgdG8gYWxsb3cgZm9yIGZs
b2F0IGltcHJlY2lzaW9uIGFuZCByb3VuZGluZyB3aXRob3V0IG92ZXJmbG93aW5nLgorICAgIHJl
dHVybiBjbGFtcFRvPGZsb2F0Pih2YWx1ZSwgaW50TWluRm9yTGF5b3V0VW5pdCArIDIsIGludE1h
eEZvckxheW91dFVuaXQgLSAyKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gTGF5b3V0VW5pdF9oCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzUzMDUpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0xMS0y
MCAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2xhbXAgb3V0
LW9mLXJhbmdlIG51bWJlcnMgaW4gQ1NTCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDI3MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgdGVzdCB2ZXJpZnlpbmcgdGhhdCBsYXJnZSBudW1iZXJzIGFy
ZSBoYW5kbGVkIGNvcnJlY3RseQorICAgICAgICAoYmFzZWQgb24gZmFzdC9zdWItcGl4ZWwvbGFy
Z2Utc2l6ZXMuaHRtbCkuCisgICAgICAgIFVwZGF0ZSBjc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRy
aXAuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9sYXJnZS1udW1iZXJzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sOiBDb3BpZWQgZnJvbSBM
YXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sZmFzdC9zdWItcGl4ZWwv
bGFyZ2Utc2l6ZXMuaHRtbC4KKyAgICAgICAgKiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6
ZXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9s
YXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dDoKKwogMjAx
Mi0xMS0yMCAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IENyYXNoIGluIEZyYW1lTG9hZGVyOjpzdG9wTG9hZGluZy4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzL2xhcmdlLW51bWJlcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNTIgQEAKK1BBU1MgZWxlbWVudC53aWR0aCA9IDBweCwgcmV0dXJucyBv
ZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQ
QVNTIGVsZW1lbnQud2lkdGggPSAxcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGgg
YW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTBw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMg
ZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQud2lkdGggPSAxMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBj
b21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMHB4
LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBl
eHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRX
aWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVs
ZW1lbnQud2lkdGggPSAxMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEw
MDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3
aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMDAwMDBweCwgcmV0
dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0
ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdp
ZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxl
bWVudC53aWR0aCA9IDEwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0Lndp
ZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9
IDEwMDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMXB4LCByZXR1
cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0
LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0
aCA9IC0xMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQg
d2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDBweCwgcmV0dXJu
cyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQu
CitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJl
Y3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lndp
ZHRoID0gLTEwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwMDBw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMg
ZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwMDAwcHgsIHJldHVybnMgb2Zm
c2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LndpZHRoID0gLTEwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVj
dC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lk
dGggPSAtMTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQg
Y29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAw
MDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdp
ZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAwcHgsIHJldHVybnMgb2Zmc2V0
TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LmxlZnQgPSAxcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRl
ZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMHB4LCByZXR1cm5zIG9m
ZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1Mg
ZWxlbWVudC5sZWZ0ID0gMTAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBj
b21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMHB4LCBy
ZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVj
dC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQg
PSAxMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBs
ZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMHB4LCByZXR1cm5z
IG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BB
U1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5s
ZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAx
MDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBs
ZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMDAwMHB4LCByZXR1
cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwg
cmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lmxl
ZnQgPSAxMDAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBj
b21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMXB4LCByZXR1
cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0
IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAw
cHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4
cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0
LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQu
bGVmdCA9IC0xMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1
dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwcHgsIHJl
dHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVk
LgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCBy
ZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVm
dCA9IC0xMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1
dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwMDAwcHgs
IHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRM
ZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQubGVmdCA9IC0xMDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQg
YW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAw
MDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBs
ZWZ0IGFzIGV4cGVjdGVkLgorVGVzdCBoYW5kbGluZyBvZiBudW1iZXJzIG91dHNpZGUgb2YgdGhl
IHN1cHBvcnRlZCByYW5nZS4KKworUHJvcGVydGllcyBtYXkgcmVzdHJpY3QgbnVtZXJpYyB2YWx1
ZXMgdG8gc29tZSByYW5nZS4gSWYgdGhlIHZhbHVlIGlzIG91dHNpZGUgdGhlIGFsbG93ZWQgcmFu
Z2UsIHRoZSBkZWNsYXJhdGlvbiBpcyBpbnZhbGlkIGFuZCBtdXN0IGJlIGlnbm9yZWQuIEFzIHBl
ciB0aGUgQ1NTMyBzcGVjaWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFy
Z2UtbnVtYmVycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdl
LW51bWJlcnMuaHRtbAkocmV2aXNpb24gMTM0MDg3KQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3N1
Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sOjEzNDA4NykKKysrIExheW91dFRlc3RzL2Zhc3QvY3Nz
L2xhcmdlLW51bWJlcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxwPgorICAgICAgICAgICAgVGVzdCBoYW5kbGluZyBvZiBzaXplcyBl
eGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgorICAgICAgICA8L3A+CisgICAg
ICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3aWR0aCwgZXhwZWN0
ZWRXaWR0aCwgb3B0X3RvbGVyYW5jZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBl
bC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKKyAgICAgICAgICAgICAgICB2YXIgc3R5bGUg
PSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7CisgICAgICAgICAgICAgICAgdmFy
IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgICAgICB2YXIg
dG9sZXJhbmNlID0gb3B0X3RvbGVyYW5jZSB8fCAwOworICAgICAgICAgICAgICAgIGlmIChNYXRo
LmFicyhlbC5vZmZzZXRXaWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRo
LmFicyhyZWN0LndpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJz
KHBhcnNlSW50KHN0eWxlLndpZHRoLCAxMCkgLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2Up
CisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lk
dGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdp
ZHRoIGFzIGV4cGVjdGVkLicpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0dXJu
cyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAnLCByZWN0LndpZHRoICcgKyByZWN0
LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0eWxlLndpZHRoICsgJywgZXhwZWN0
ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
CisgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpOworCisgICAgICAgICAgICB0
ZXN0U2l6ZSg1MDAwLCA1MDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwLCA1MDAwMCk7
CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAsIDUwMDAwMCk7CisgICAgICAgICAgICB0ZXN0
U2l6ZSg1MDAwMDAwLCA1MDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAwLCAw
KTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI0LCAzMzU1NDQyNCk7CisgICAgICAgICAg
ICB0ZXN0U2l6ZSgzMzU1NDQyNSwgMzM1NTQ0MjUsIDIpOyAvLyBmbG9hdCBpbXByZWNpc2lvbgor
ICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjYsIDMzNTU0NDI2LCAyKTsKKyAgICAgICAgICAg
IHRlc3RTaXplKDMzNTU0NDI3LCAzMzU1NDQyNywgMik7CisgICAgICAgICAgICB0ZXN0U2l6ZSgz
MzU1NDQyOCwgMzM1NTQ0MjgsIDIpOworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjksIDMz
NTU0NDI5LCAyKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDMwLCAzMzU1NDQzMCwgMik7
CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMiwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6
ZSgzNTc5MTM5NSwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWwpOworICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsNDMgKzIs
MTEyIEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIC50ZXN0IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogNTBweDsgbGVmdDogMjVw
eDsgfQorICAgICAgICA8L3N0eWxlPgogICAgIDwvaGVhZD4KICAgICA8Ym9keT4KICAgICAgICAg
PHA+Ci0gICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4
aW11bSBzdXBwb3J0ZWQgdmFsdWUuCisgICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9mIG51bWJl
cnMgb3V0c2lkZSBvZiB0aGUgc3VwcG9ydGVkIHJhbmdlLgorICAgICAgICA8L3A+CisgICAgICAg
IDxwPgorICAgICAgICAgICAgPHEgY2l0ZT0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy12YWx1
ZXMvI251bWVyaWMtdHlwZXMiPlByb3BlcnRpZXMgbWF5IHJlc3RyaWN0IG51bWVyaWMgdmFsdWVz
IHRvIHNvbWUgcmFuZ2UuIElmIHRoZSB2YWx1ZSBpcyBvdXRzaWRlIHRoZSBhbGxvd2VkIHJhbmdl
LCB0aGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZCBhbmQgbXVzdCBiZSBpZ25vcmVkLjwvcT4KKyAg
ICAgICAgICAgIEFzIHBlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy12
YWx1ZXMvI251bWVyaWMtdHlwZXMiPkNTUzMgc3BlY2lmaWNhdGlvbjwvYT4uCiAgICAgICAgIDwv
cD4KICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTaXplKHdpZHRo
LCBleHBlY3RlZFdpZHRoLCBvcHRfdG9sZXJhbmNlKQorICAgICAgICAgICAgZnVuY3Rpb24gdGVz
dFNpemUod2lkdGgsIG9wdF9leHBlY3RlZFdpZHRoKQogICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHZhciBleHBlY3RlZFdpZHRoID0gdHlwZW9mIG9wdF9leHBlY3RlZFdpZHRoID09ICdu
dW1iZXInID8gb3B0X2V4cGVjdGVkV2lkdGggOiB3aWR0aDsKKyAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICBlbC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKKwogICAgICAgICAg
ICAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKTsKICAg
ICAgICAgICAgICAgICB2YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAg
ICAgICAgICAgICAgIHZhciB0b2xlcmFuY2UgPSBvcHRfdG9sZXJhbmNlIHx8IDA7Ci0gICAgICAg
ICAgICAgICAgaWYgKE1hdGguYWJzKGVsLm9mZnNldFdpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0g
dG9sZXJhbmNlICYmIE1hdGguYWJzKHJlY3Qud2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xl
cmFuY2UgJiYgTWF0aC5hYnMocGFyc2VJbnQoc3R5bGUud2lkdGgsIDEwKSAtIGV4cGVjdGVkV2lk
dGgpIDw9IHRvbGVyYW5jZSkKKyAgICAgICAgICAgICAgICB2YXIgY29tcHV0ZWRXaWR0aCA9IE51
bWJlcihzdHlsZS53aWR0aC5yZXBsYWNlKCdweCcsICcnKSk7CisgICAgICAgICAgICAgICAgaWYg
KGVsLm9mZnNldFdpZHRoID09IGV4cGVjdGVkV2lkdGggJiYgcmVjdC53aWR0aCA9PSBleHBlY3Rl
ZFdpZHRoICYmIGNvbXB1dGVkV2lkdGggPT0gZXhwZWN0ZWRXaWR0aCkKICAgICAgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0dXJu
cyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQu
Jyk7CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdpZHRoICcg
KyBlbC5vZmZzZXRXaWR0aCArICcsIHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGggKyAnIGFuZCBj
b21wdXRlZCB3aWR0aCAnICsgc3R5bGUud2lkdGggKyAnLCBleHBlY3RlZCAnICsgZXhwZWN0ZWRX
aWR0aCArICcuJyk7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1lbnQud2lk
dGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9mZnNldFdp
ZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVkIHdpZHRo
ICcgKyBjb21wdXRlZFdpZHRoICsgJywgZXhwZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCisgICAgICAgICAgICAKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHRlc3RMZWZ0KGxlZnQsIG9wdF9leHBlY3RlZExlZnQpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVkTGVmdCA9IHR5cGVvZiBvcHRfZXhwZWN0ZWRM
ZWZ0ID09ICdudW1iZXInID8gb3B0X2V4cGVjdGVkTGVmdCA6IGxlZnQ7CisgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICAgICAgZWwuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnOworCisgICAg
ICAgICAgICAgICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwp
OworICAgICAgICAgICAgICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7
CisgICAgICAgICAgICAgICAgdmFyIGNvbXB1dGVkTGVmdCA9IE51bWJlcihzdHlsZS5sZWZ0LnJl
cGxhY2UoJ3B4JywgJycpKTsKKyAgICAgICAgICAgICAgICBpZiAoZWwub2Zmc2V0TGVmdCA9PSBl
eHBlY3RlZExlZnQgJiYgcmVjdC5sZWZ0ID09IGV4cGVjdGVkTGVmdCAmJiBjb21wdXRlZExlZnQg
PT0gZXhwZWN0ZWRMZWZ0KQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdlbGVtZW50
LmxlZnQgPSAnICsgbGVmdCArICdweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5k
IGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuJyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbGVtZW50LmxlZnQgPSAnICsgbGVmdCArICdw
eCwgcmV0dXJucyBvZmZzZXRMZWZ0ICcgKyBlbC5vZmZzZXRMZWZ0ICsgJywgcmVjdC5sZWZ0ICcg
KyByZWN0LmxlZnQgKyAnIGFuZCBjb21wdXRlZCBsZWZ0ICcgKyBjb21wdXRlZExlZnQgKyAnLCBl
eHBlY3RlZCAnICsgZXhwZWN0ZWRMZWZ0ICsgJy4nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGVsLmNsYXNzTmFtZSA9ICd0ZXN0JzsKICAgICAgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpOworICAgICAgICAgICAgCisgICAgICAg
ICAgICB2YXIgTUFYX1ZBTFVFID0gMzM1NTQ0Mjg7CisgICAgICAgICAgICB2YXIgTUlOX1ZBTFVF
ID0gLTMzNTU0NDMwOwogCi0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwLCA1MDAwKTsKLSAgICAg
ICAgICAgIHRlc3RTaXplKDUwMDAwLCA1MDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAw
MDAsIDUwMDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwLCA1MDAwMDAwKTsKLSAg
ICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAwLCAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMz
NTU0NDI0LCAzMzU1NDQyNCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNSwgMzM1NTQ0
MjUsIDIpOyAvLyBmbG9hdCBpbXByZWNpc2lvbgotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0
MjYsIDMzNTU0NDI2LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI3LCAzMzU1NDQy
NywgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyOCwgMzM1NTQ0MjgsIDIpOwotICAg
ICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjksIDMzNTU0NDI5LCAyKTsKLSAgICAgICAgICAgIHRl
c3RTaXplKDMzNTU0NDMwLCAzMzU1NDQzMCwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1
NDQzMiwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7Ci0gICAgICAgICAg
ICB0ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7CisgICAgICAgICAgICAvLyBUZXN0IHNldHRpbmcgc3R5
bGUud2lkdGgsIG5lZ2F0aXZlIHZhbHVlcyBhcmUgY29uc2lkZXJlZCBpbnZhbGlkLgorICAgICAg
ICAgICAgdGVzdFNpemUoMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxKTsKKyAgICAgICAgICAg
IHRlc3RTaXplKDEwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMCk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSgxMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDApOworICAgICAgICAg
ICAgdGVzdFNpemUoMTAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMCk7Cisg
ICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSgxMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdFNpemUoMTAw
MDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwMDAs
IE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwMDAwLCBNQVhfVkFM
VUUpOworCisgICAgICAgICAgICB0ZXN0U2l6ZSgtMSwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6
ZSgtMTAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMCwgMCk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSgtMTAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMCwgMCk7Cisg
ICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgt
MTAwMDAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAwMCwgMCk7CisgICAg
ICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgt
MTAwMDAwMDAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAwMDAwMCwgMCk7
CisKKyAgICAgICAgICAgIC8vIFRlc3Qgc2V0dGluZyBzdHlsZS5sZWZ0LCBuZWdhdGl2ZSB2YWx1
ZXMgYXJlIGNvbnNpZGVyZWQgdmFsaWQuCisgICAgICAgICAgICB0ZXN0TGVmdCgwKTsKKyAgICAg
ICAgICAgIHRlc3RMZWZ0KDEpOworICAgICAgICAgICAgdGVzdExlZnQoMTApOworICAgICAgICAg
ICAgdGVzdExlZnQoMTAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwKTsKKyAgICAgICAg
ICAgIHRlc3RMZWZ0KDEwMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwKTsKKyAg
ICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAw
MDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMDAwMDAsIE1BWF9W
QUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAg
ICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAg
IHRlc3RMZWZ0KDEwMDAwMDAwMDAwMDAsIE1BWF9WQUxVRSk7CiAgICAgICAgICAgICAKKyAgICAg
ICAgICAgIHRlc3RMZWZ0KC0xKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMCk7CisgICAgICAg
ICAgICB0ZXN0TGVmdCgtMTAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMCk7CisgICAg
ICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAw
KTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVm
dCgtMTAwMDAwMDAwLCBNSU5fVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDAw
MDAsIE1JTl9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAwMDAsIE1JTl9W
QUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAwMDAwLCBNSU5fVkFMVUUpOwor
ICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDAwMDAwMDAsIE1JTl9WQUxVRSk7CisKICAgICAg
ICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWwpOwogICAgICAgICA8L3NjcmlwdD4K
ICAgICA8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXpl
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwv
bGFyZ2Utc2l6ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTYgKzAsMCBAQAotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMHB4LCByZXR1cm5zIG9m
ZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBB
U1MgZWxlbWVudC53aWR0aCA9IDUwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lk
dGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0g
NTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdp
ZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMDAwMHB4LCByZXR1cm5z
IG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4K
LVBBU1MgZWxlbWVudC53aWR0aCA9IDUwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJl
Y3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50Lndp
ZHRoID0gMzM1NTQ0MjRweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQyNXB4
LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBl
eHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI2cHgsIHJldHVybnMgb2Zmc2V0
V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBl
bGVtZW50LndpZHRoID0gMzM1NTQ0MjdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0
aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAz
MzU1NDQyOHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3
aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI5cHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVk
LgotUEFTUyBlbGVtZW50LndpZHRoID0gMzM1NTQ0MzBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwg
cmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQu
d2lkdGggPSAzMzU1NDQzMnB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBj
b21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzk1
cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFz
IGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gMzU3OTEzOTZweCwgcmV0dXJucyBvZmZz
ZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1UZXN0
IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgdmFsdWUu
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwJKHJl
dmlzaW9uIDEzNDA4NykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVz
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08
aHRtbD4KLSAgICA8aGVhZD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5PgotICAgICAg
ICA8cD4KLSAgICAgICAgICAgIFRlc3QgaGFuZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5nIHRoZSBt
YXhpbXVtIHN1cHBvcnRlZCB2YWx1ZS4KLSAgICAgICAgPC9wPgotICAgICAgICA8c2NyaXB0Pgot
ICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNpemUod2lkdGgsIGV4cGVjdGVkV2lkdGgsIG9wdF90
b2xlcmFuY2UpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZWwuc3R5bGUud2lkdGgg
PSB3aWR0aCArICdweCc7Ci0gICAgICAgICAgICAgICAgdmFyIHN0eWxlID0gd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZWwsIG51bGwpOwotICAgICAgICAgICAgICAgIHZhciByZWN0ID0gZWwuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgICAgICAgICAgICAgdmFyIHRvbGVyYW5jZSA9IG9w
dF90b2xlcmFuY2UgfHwgMDsKLSAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoZWwub2Zmc2V0
V2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocmVjdC53aWR0
aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhwYXJzZUludChzdHls
ZS53aWR0aCwgMTApIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlKQotICAgICAgICAgICAg
ICAgICAgICB0ZXN0UGFzc2VkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1
cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3Rl
ZC4nKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGgg
JyArIGVsLm9mZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5k
IGNvbXB1dGVkIHdpZHRoICcgKyBzdHlsZS53aWR0aCArICcsIGV4cGVjdGVkICcgKyBleHBlY3Rl
ZFdpZHRoICsgJy4nKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAg
dmFyIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsKTsKLQotICAgICAgICAgICAgdGVzdFNpemUoNTAwMCwg
NTAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMCwgNTAwMDApOwotICAgICAgICAgICAg
dGVzdFNpemUoNTAwMDAwLCA1MDAwMDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwMCwg
NTAwMDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwMCwgMCk7Ci0gICAgICAgICAg
ICB0ZXN0U2l6ZSgzMzU1NDQyNCwgMzM1NTQ0MjQpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1
NTQ0MjUsIDMzNTU0NDI1LCAyKTsgLy8gZmxvYXQgaW1wcmVjaXNpb24KLSAgICAgICAgICAgIHRl
c3RTaXplKDMzNTU0NDI2LCAzMzU1NDQyNiwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1
NDQyNywgMzM1NTQ0MjcsIDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjgsIDMzNTU0
NDI4LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI5LCAzMzU1NDQyOSwgMik7Ci0g
ICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMCwgMzM1NTQ0MzAsIDIpOwotICAgICAgICAgICAg
dGVzdFNpemUoMzM1NTQ0MzIsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTUsIDAp
OwotICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTYsIDApOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsKTsKLSAgICAgICAgPC9zY3JpcHQ+
Ci0gICAgPC9ib2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJl
ci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM0MDg3KQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1QQVNTOiByZWFkIDkwMDEwMDAw
cHggYmFjayBhcyAwcHgsIHJlYWQgYWdhaW4gYXMgMHB4CitQQVNTOiByZWFkIDkwMDEwMDAwcHgg
YmFjayBhcyAzMzU1NDQyOHB4LCByZWFkIGFnYWluIGFzIDMzNTU0NDI4cHgKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3Nz
L2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM0MDg3KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10
cmlwLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotUEFTUzogcmVhZCA5
MDAxMDAwMHB4IGJhY2sgYXMgMHB4LCByZWFkIGFnYWluIGFzIDBweAorUEFTUzogcmVhZCA5MDAx
MDAwMHB4IGJhY2sgYXMgMzM1NTQ0MjhweCwgcmVhZCBhZ2FpbiBhcyAzMzU1NDQyOHB4Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175283</attachid>
            <date>2012-11-20 14:41:38 -0800</date>
            <delta_ts>2012-11-21 09:57:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102735-20121120143926.patch</filename>
            <type>text/plain</type>
            <size>23913</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTMwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEyLTExLTIwICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGFtcCBvdXQtb2YtcmFuZ2Ug
bnVtYmVycyBpbiBDU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjczNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEN1cnJlbnRseSB3aGVuIGEgbGFyZ2UgbnVtYmVyIChvdXRzaWRlIG9mIHRoZSBzdXBw
b3J0ZWQgcmFuZ2UpCisgICAgICAgIGlzIGFwcGxpZWQgZnJvbSBhIHN0eWxlIHJ1bGUgb3Igc2V0
IGZyb20gamF2YXNjcmlwdCB1c2luZworICAgICAgICBFbGVtZW50LnN0eWxlIHdlIGNoZWNrIGlm
IGl0IGlzIHdpdGhpbiB0aGUgc3VwcG9ydGVkIHJhbmdlIGFuZAorICAgICAgICBzZXQgaXQgdG8g
emVybyBpZiBpdCBpcyBub3QuIFRoaXMgaXMgaW5jb3JyZWN0IGFuZCBjb25mdXNpbmcuCisgICAg
ICAgIAorICAgICAgICBDaGFuZ2UgaXQgdG8gY2xhbXAgdmFsdWVzIHRvIHRoZSBzdXBwb3J0ZWQg
cmFuZ2UuIFRoaXMgbWF0Y2hlcworICAgICAgICB0aGUgYmVoYXZpb3IgaW4gR2Vja28uCisKKyAg
ICAgICAgVGVzdDogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGgpOgorICAgICAgICBDaGFuZ2UgdG8gY2xhbXAgb3V0LW9mLXJhbmdl
IHZhbHVlcyBpbnN0ZWFkIG9mIGludGVycHJldGluZyB0aGVtCisgICAgICAgIGFzIHplcm8uCisg
ICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL0xheW91dFVuaXQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OmNsYW1wVG9MYXlvdXRVbml0UmFuZ2UpOgorICAgICAgICBBZGQgY2xhbXBUb0xheW91dFVu
aXRSYW5nZShmbG9hdCkgaGVscGVyIGZ1bmN0aW9uLgorCiAyMDEyLTExLTIwICBFbGxpb3R0IFNw
cmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFN0b3JlIE11dGF0aW9uT2Jz
ZXJ2ZXIgY2FsbGJhY2sgaW4gYSBoaWRkZW4gcHJvcGVydHkgZm9yIFY4CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDEzNDA4NykKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ4MCw3ICs0ODAsNyBAQCB0ZW1wbGF0ZTw+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29t
CiB7CiAjaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkKICAgICBkb3VibGUgdmFsdWUgPSBjb21w
dXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0Zv
bnRTaXplKTsKLSAgICByZXR1cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSA+IGlu
dE1heEZvckxheW91dFVuaXQgfHwgdmFsdWUgPCBpbnRNaW5Gb3JMYXlvdXRVbml0ID8gMC4wIDog
dmFsdWUpLCBGaXhlZCk7CisgICAgcmV0dXJuIExlbmd0aChjbGFtcFRvTGF5b3V0VW5pdFJhbmdl
KHZhbHVlKSwgRml4ZWQpOwogI2Vsc2UKICAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVj
aXNlQ29udmVyc2lvbjxmbG9hdD4oY29tcHV0ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9vdFN0eWxl
LCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkpLCBGaXhlZCk7CiAjZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmgJKHJldmlzaW9uIDEzNDA4NykKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaAkod29ya2luZyBjb3B5KQpAQCAtODYz
LDYgKzg2MywxMiBAQCBpbmxpbmUgYm9vbCBpc0ludGVnZXJWYWx1ZShjb25zdCBMYXlvdXRVCiAg
ICAgcmV0dXJuIHZhbHVlLnRvSW50KCkgPT0gdmFsdWU7CiB9CiAKK2lubGluZSBmbG9hdCBjbGFt
cFRvTGF5b3V0VW5pdFJhbmdlKGZsb2F0IHZhbHVlKQoreworICAgIC8vIEFkanVzdCB2YWx1ZXMg
c29tZXdoYXQgdG8gYWxsb3cgZm9yIGZsb2F0IGltcHJlY2lzaW9uIGFuZCByb3VuZGluZyB3aXRo
b3V0IG92ZXJmbG93aW5nLgorICAgIHJldHVybiBjbGFtcFRvPGZsb2F0Pih2YWx1ZSwgaW50TWlu
Rm9yTGF5b3V0VW5pdCArIDIsIGludE1heEZvckxheW91dFVuaXQgLSAyKTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gTGF5b3V0VW5pdF9oCkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMzUzMDUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyMSBAQAorMjAxMi0xMS0yMCAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgQ2xhbXAgb3V0LW9mLXJhbmdlIG51bWJlcnMgaW4gQ1NTCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3MzUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCB2ZXJpZnlp
bmcgdGhhdCBsYXJnZSBudW1iZXJzIGFyZSBoYW5kbGVkIGNvcnJlY3RseQorICAgICAgICAoYmFz
ZWQgb24gZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbCkuCisgICAgICAgIFVwZGF0ZSBj
c3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9sYXJnZS1u
dW1iZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvbGFyZ2UtbnVt
YmVycy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1z
aXplcy5odG1sZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbC4KKyAgICAgICAgKiBmYXN0
L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10
cmlwLWV4cGVjdGVkLnR4dDoKKwogMjAxMi0xMS0yMCAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIENyYXNoIGluIEZyYW1lTG9hZGVyOjpzdG9wTG9hZGlu
Zy4KSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWFsZ29yaXRobS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWFsZ29yaXRobS5odG1s
CShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleC1hbGdv
cml0aG0uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDkgKzEyOCw5IEBAIGJvZHkgewogPC9k
aXY+CiAKIDxkaXYgY2xhc3M9ImZsZXhib3giPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjYwMCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwIDAgNjAwcHg7IC1tb3otZmxleDogMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwIDAgNjAwcHgiPjwvZGl2PgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjAiIHN0eWxlPSItd2Via2l0LWZsZXg6IDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMCAwIDYwMHB4OyAtbW96LWZsZXg6IDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMCAwIDYwMHB4Ij48L2Rpdj4KICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI2
MDAiIHN0eWxlPSItd2Via2l0LWZsZXg6IDAgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwIDYwMHB4OyAtbW96LWZsZXg6IDAgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwIDYwMHB4Ij48L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIw
IiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAxIDEgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwcHg7IC1tb3otZmxleDogMSAxIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMHB4Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMzU1NDQy
OCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMSAxIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMHB4OyAtbW96LWZsZXg6IDEgMSAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDBweCI+PC9kaXY+CiA8L2Rpdj4KIAogPCEtLSBUZXN0IGZsZXhpdGVtIGJvcmRl
cnMuIC0tPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1u
dW1iZXJzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MyBAQAorUEFTUyBl
bGVtZW50LndpZHRoID0gMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBj
b21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDFweCwgcmV0
dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0
ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0
LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0
aCA9IDEwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3
aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwcHgsIHJldHVybnMg
b2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgor
UEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qu
d2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRo
ID0gMTAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRl
ZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMDAwcHgsIHJl
dHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lk
dGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LndpZHRoID0gMTAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEw
MDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVk
IHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDAwMDAwcHgs
IHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4
cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9m
ZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BB
U1MgZWxlbWVudC53aWR0aCA9IDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBh
bmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMXB4
LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBl
eHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMHB4LCByZXR1cm5zIG9mZnNldFdpZHRo
LCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVu
dC53aWR0aCA9IC0xMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDBweCwg
cmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhw
ZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lk
dGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LndpZHRoID0gLTEwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBh
bmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAw
MDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lk
dGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwMDAwcHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVk
LgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQud2lkdGggPSAtMTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0
aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAt
MTAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1
dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAwcHgsIHJldHVybnMg
b2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LmxlZnQgPSAxcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBj
b21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMHB4LCByZXR1
cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0
IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAw
MHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBl
eHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVm
dCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50
LmxlZnQgPSAxMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21w
dXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMHB4LCBy
ZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwg
cmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lmxl
ZnQgPSAxMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21w
dXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMDAwMHB4
LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBl
Y3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0
TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LmxlZnQgPSAxMDAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0
IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMXB4
LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBl
Y3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVj
dC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQg
PSAtMTAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0
IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDBweCwgcmV0dXJucyBvZmZz
ZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVs
ZW1lbnQubGVmdCA9IC0xMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5k
IGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAw
cHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4
cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRM
ZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQubGVmdCA9IC0xMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5k
IGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAw
MDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFz
IGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDAwMDBweCwgcmV0dXJucyBv
ZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNT
IGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0
LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9
IC0xMDAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21w
dXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorVGVzdCBoYW5kbGluZyBvZiBudW1iZXJzIG91dHNpZGUg
b2YgdGhlIHN1cHBvcnRlZCByYW5nZS4KKworUHJvcGVydGllcyBtYXkgcmVzdHJpY3QgbnVtZXJp
YyB2YWx1ZXMgdG8gc29tZSByYW5nZS4gSWYgdGhlIHZhbHVlIGlzIG91dHNpZGUgdGhlIGFsbG93
ZWQgcmFuZ2UsIHRoZSBkZWNsYXJhdGlvbiBpcyBpbnZhbGlkIGFuZCBtdXN0IGJlIGlnbm9yZWQu
IEFzIHBlciB0aGUgQ1NTMyBzcGVjaWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9j
c3MvbGFyZ2UtbnVtYmVycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3Nz
L2xhcmdlLW51bWJlcnMuaHRtbAkocmV2aXNpb24gMTM0MDg3KQkoZnJvbSBMYXlvdXRUZXN0cy9m
YXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sOjEzNDA4NykKKysrIExheW91dFRlc3RzL2Zh
c3QvY3NzL2xhcmdlLW51bWJlcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNy
Yz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxwPgorICAgICAgICAgICAgVGVzdCBoYW5kbGluZyBvZiBz
aXplcyBleGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgorICAgICAgICA8L3A+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3aWR0aCwg
ZXhwZWN0ZWRXaWR0aCwgb3B0X3RvbGVyYW5jZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBlbC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKKyAgICAgICAgICAgICAgICB2YXIg
c3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7CisgICAgICAgICAgICAg
ICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgICAg
ICB2YXIgdG9sZXJhbmNlID0gb3B0X3RvbGVyYW5jZSB8fCAwOworICAgICAgICAgICAgICAgIGlm
IChNYXRoLmFicyhlbC5vZmZzZXRXaWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAm
JiBNYXRoLmFicyhyZWN0LndpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1h
dGguYWJzKHBhcnNlSW50KHN0eWxlLndpZHRoLCAxMCkgLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xl
cmFuY2UpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1lbnQud2lkdGggPSAn
ICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1
dGVkIHdpZHRoIGFzIGV4cGVjdGVkLicpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwg
cmV0dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAnLCByZWN0LndpZHRoICcg
KyByZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0eWxlLndpZHRoICsgJywg
ZXhwZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgCisgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpOworCisgICAgICAg
ICAgICB0ZXN0U2l6ZSg1MDAwLCA1MDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwLCA1
MDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAsIDUwMDAwMCk7CisgICAgICAgICAg
ICB0ZXN0U2l6ZSg1MDAwMDAwLCA1MDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAw
MDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI0LCAzMzU1NDQyNCk7CisgICAg
ICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNSwgMzM1NTQ0MjUsIDIpOyAvLyBmbG9hdCBpbXByZWNp
c2lvbgorICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjYsIDMzNTU0NDI2LCAyKTsKKyAgICAg
ICAgICAgIHRlc3RTaXplKDMzNTU0NDI3LCAzMzU1NDQyNywgMik7CisgICAgICAgICAgICB0ZXN0
U2l6ZSgzMzU1NDQyOCwgMzM1NTQ0MjgsIDIpOworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0
MjksIDMzNTU0NDI5LCAyKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDMwLCAzMzU1NDQz
MCwgMik7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMiwgMCk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWwp
OworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIs
NDMgKzIsMTEzIEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgIC50ZXN0IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogNTBweDsgbGVm
dDogMjVweDsgfQorICAgICAgICA8L3N0eWxlPgogICAgIDwvaGVhZD4KICAgICA8Ym9keT4KICAg
ICAgICAgPHA+Ci0gICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0
aGUgbWF4aW11bSBzdXBwb3J0ZWQgdmFsdWUuCisgICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9m
IG51bWJlcnMgb3V0c2lkZSBvZiB0aGUgc3VwcG9ydGVkIHJhbmdlLgorICAgICAgICA8L3A+Cisg
ICAgICAgIDxwPgorICAgICAgICAgICAgPHEgY2l0ZT0iaHR0cDovL3d3dy53My5vcmcvVFIvY3Nz
My12YWx1ZXMvI251bWVyaWMtdHlwZXMiPlByb3BlcnRpZXMgbWF5IHJlc3RyaWN0IG51bWVyaWMg
dmFsdWVzIHRvIHNvbWUgcmFuZ2UuIElmIHRoZSB2YWx1ZSBpcyBvdXRzaWRlIHRoZSBhbGxvd2Vk
IHJhbmdlLCB0aGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZCBhbmQgbXVzdCBiZSBpZ25vcmVkLjwv
cT4KKyAgICAgICAgICAgIEFzIHBlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIv
Y3NzMy12YWx1ZXMvI251bWVyaWMtdHlwZXMiPkNTUzMgc3BlY2lmaWNhdGlvbjwvYT4uCiAgICAg
ICAgIDwvcD4KICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTaXpl
KHdpZHRoLCBleHBlY3RlZFdpZHRoLCBvcHRfdG9sZXJhbmNlKQorICAgICAgICAgICAgZnVuY3Rp
b24gdGVzdFNpemUod2lkdGgsIG9wdF9leHBlY3RlZFdpZHRoKQogICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHZhciBleHBlY3RlZFdpZHRoID0gdHlwZW9mIG9wdF9leHBlY3RlZFdpZHRo
ID09ICdudW1iZXInID8gb3B0X2V4cGVjdGVkV2lkdGggOiB3aWR0aDsKKyAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICBlbC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKKwogICAg
ICAgICAgICAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxs
KTsKICAgICAgICAgICAgICAgICB2YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OwotICAgICAgICAgICAgICAgIHZhciB0b2xlcmFuY2UgPSBvcHRfdG9sZXJhbmNlIHx8IDA7Ci0g
ICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKGVsLm9mZnNldFdpZHRoIC0gZXhwZWN0ZWRXaWR0
aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJzKHJlY3Qud2lkdGggLSBleHBlY3RlZFdpZHRoKSA8
PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocGFyc2VJbnQoc3R5bGUud2lkdGgsIDEwKSAtIGV4cGVj
dGVkV2lkdGgpIDw9IHRvbGVyYW5jZSkKKyAgICAgICAgICAgICAgICB2YXIgY29tcHV0ZWRXaWR0
aCA9IE51bWJlcihzdHlsZS53aWR0aC5yZXBsYWNlKCdweCcsICcnKSk7CisgICAgICAgICAgICAg
ICAgaWYgKGVsLm9mZnNldFdpZHRoID09IGV4cGVjdGVkV2lkdGggJiYgcmVjdC53aWR0aCA9PSBl
eHBlY3RlZFdpZHRoICYmIGNvbXB1dGVkV2lkdGggPT0gZXhwZWN0ZWRXaWR0aCkKICAgICAgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwg
cmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhw
ZWN0ZWQuJyk7CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdp
ZHRoICcgKyBlbC5vZmZzZXRXaWR0aCArICcsIHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGggKyAn
IGFuZCBjb21wdXRlZCB3aWR0aCAnICsgc3R5bGUud2lkdGggKyAnLCBleHBlY3RlZCAnICsgZXhw
ZWN0ZWRXaWR0aCArICcuJyk7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1l
bnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9m
ZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVk
IHdpZHRoICcgKyBjb21wdXRlZFdpZHRoICsgJywgZXhwZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGgg
KyAnLicpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHRlc3RMZWZ0KGxlZnQsIG9wdF9leHBlY3RlZExlZnQpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVkTGVmdCA9IHR5cGVvZiBvcHRfZXhw
ZWN0ZWRMZWZ0ID09ICdudW1iZXInID8gb3B0X2V4cGVjdGVkTGVmdCA6IGxlZnQ7CisgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgZWwuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnOwor
CisgICAgICAgICAgICAgICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWws
IG51bGwpOworICAgICAgICAgICAgICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7CisgICAgICAgICAgICAgICAgdmFyIGNvbXB1dGVkTGVmdCA9IE51bWJlcihzdHlsZS5s
ZWZ0LnJlcGxhY2UoJ3B4JywgJycpKTsKKyAgICAgICAgICAgICAgICBpZiAoZWwub2Zmc2V0TGVm
dCA9PSBleHBlY3RlZExlZnQgJiYgcmVjdC5sZWZ0ID09IGV4cGVjdGVkTGVmdCAmJiBjb21wdXRl
ZExlZnQgPT0gZXhwZWN0ZWRMZWZ0KQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdl
bGVtZW50LmxlZnQgPSAnICsgbGVmdCArICdweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0Lmxl
ZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuJyk7CisgICAgICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbGVtZW50LmxlZnQgPSAnICsgbGVm
dCArICdweCwgcmV0dXJucyBvZmZzZXRMZWZ0ICcgKyBlbC5vZmZzZXRMZWZ0ICsgJywgcmVjdC5s
ZWZ0ICcgKyByZWN0LmxlZnQgKyAnIGFuZCBjb21wdXRlZCBsZWZ0ICcgKyBjb21wdXRlZExlZnQg
KyAnLCBleHBlY3RlZCAnICsgZXhwZWN0ZWRMZWZ0ICsgJy4nKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGVsLmNsYXNzTmFtZSA9ICd0ZXN0JzsKICAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpOworICAgICAgICAgICAgCisg
ICAgICAgICAgICB2YXIgTUFYX1ZBTFVFID0gMzM1NTQ0Mjg7CisgICAgICAgICAgICB2YXIgTUlO
X1ZBTFVFID0gLTMzNTU0NDMwOwogCi0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwLCA1MDAwKTsK
LSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwLCA1MDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6
ZSg1MDAwMDAsIDUwMDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwLCA1MDAwMDAw
KTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAwLCAwKTsKLSAgICAgICAgICAgIHRlc3RT
aXplKDMzNTU0NDI0LCAzMzU1NDQyNCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNSwg
MzM1NTQ0MjUsIDIpOyAvLyBmbG9hdCBpbXByZWNpc2lvbgotICAgICAgICAgICAgdGVzdFNpemUo
MzM1NTQ0MjYsIDMzNTU0NDI2LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI3LCAz
MzU1NDQyNywgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyOCwgMzM1NTQ0MjgsIDIp
OwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjksIDMzNTU0NDI5LCAyKTsKLSAgICAgICAg
ICAgIHRlc3RTaXplKDMzNTU0NDMwLCAzMzU1NDQzMCwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6
ZSgzMzU1NDQzMiwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7Ci0gICAg
ICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7CisgICAgICAgICAgICAvLyBUZXN0IHNldHRp
bmcgc3R5bGUud2lkdGgsIG5lZ2F0aXZlIHZhbHVlcyBhcmUgY29uc2lkZXJlZCBpbnZhbGlkLgor
ICAgICAgICAgICAgdGVzdFNpemUoMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxKTsKKyAgICAg
ICAgICAgIHRlc3RTaXplKDEwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMCk7CisgICAgICAg
ICAgICB0ZXN0U2l6ZSgxMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDApOworICAg
ICAgICAgICAgdGVzdFNpemUoMTAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAw
MCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAg
ICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdFNp
emUoMTAwMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAw
MDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwMDAwLCBN
QVhfVkFMVUUpOworCisgICAgICAgICAgICB0ZXN0U2l6ZSgwLCAwKTsKKyAgICAgICAgICAgIHRl
c3RTaXplKC0xLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMCwgMCk7CisgICAgICAgICAg
ICB0ZXN0U2l6ZSgtMTAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMCwgMCk7Cisg
ICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0x
MDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAwMCwgMCk7CisgICAgICAg
ICAgICB0ZXN0U2l6ZSgtMTAwMDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAw
MDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAwMDAwMCwgMCk7CisgICAg
ICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwMDAwMDAwLCAwKTsKKworICAgICAgICAgICAgLy8gVGVz
dCBzZXR0aW5nIHN0eWxlLmxlZnQsIG5lZ2F0aXZlIHZhbHVlcyBhcmUgY29uc2lkZXJlZCB2YWxp
ZC4KKyAgICAgICAgICAgIHRlc3RMZWZ0KDApOworICAgICAgICAgICAgdGVzdExlZnQoMSk7Cisg
ICAgICAgICAgICB0ZXN0TGVmdCgxMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDApOworICAg
ICAgICAgICAgdGVzdExlZnQoMTAwMDApOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwKTsK
KyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMDApOworICAgICAgICAgICAgdGVzdExlZnQoMTAw
MDAwMDApOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAg
ICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAgIHRl
c3RMZWZ0KDEwMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoMTAw
MDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAwMDAw
MCwgTUFYX1ZBTFVFKTsKICAgICAgICAgICAgIAorICAgICAgICAgICAgdGVzdExlZnQoLTEpOwor
ICAgICAgICAgICAgdGVzdExlZnQoLTEwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDApOwor
ICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAw
MDApOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDApOworICAgICAgICAgICAgdGVzdExl
ZnQoLTEwMDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMDAsIE1JTl9WQUxV
RSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAwMCwgTUlOX1ZBTFVFKTsKKyAgICAg
ICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMDAwMCwgTUlOX1ZBTFVFKTsKKyAgICAgICAgICAgIHRl
c3RMZWZ0KC0xMDAwMDAwMDAwMDAsIE1JTl9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgt
MTAwMDAwMDAwMDAwMCwgTUlOX1ZBTFVFKTsKKwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChlbCk7CiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvYm9keT4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDEzNDA4NykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdl
LXNpemVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNiArMCwwIEBACi1QQVNT
IGVsZW1lbnQud2lkdGggPSA1MDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGgg
YW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gNTAw
MDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGgg
YXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDBweCwgcmV0dXJucyBvZmZz
ZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNT
IGVsZW1lbnQud2lkdGggPSA1MDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lk
dGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0g
NTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQg
d2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQyNHB4LCByZXR1
cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3Rl
ZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI1cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgs
IHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50
LndpZHRoID0gMzM1NTQ0MjZweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQg
Y29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQy
N3B4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBh
cyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI4cHgsIHJldHVybnMgb2Zm
c2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFT
UyBlbGVtZW50LndpZHRoID0gMzM1NTQ0MjlweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53
aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGgg
PSAzMzU1NDQzMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRl
ZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDMycHgsIHJl
dHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVj
dGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gMzU3OTEzOTVweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1l
bnQud2lkdGggPSAzNTc5MTM5NnB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFu
ZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVRlc3QgaGFuZGxpbmcgb2Ygc2l6ZXMgZXhj
ZWVkaW5nIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZS4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAkocmV2aXNpb24gMTM0MDg3KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMSw0NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICAgIDxoZWFkPgotICAg
ICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHk+Ci0gICAgICAgIDxwPgotICAgICAgICAgICAgVGVz
dCBoYW5kbGluZyBvZiBzaXplcyBleGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVl
LgotICAgICAgICA8L3A+Ci0gICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICBmdW5jdGlvbiB0
ZXN0U2l6ZSh3aWR0aCwgZXhwZWN0ZWRXaWR0aCwgb3B0X3RvbGVyYW5jZSkKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBlbC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKLSAgICAg
ICAgICAgICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7
Ci0gICAgICAgICAgICAgICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsK
LSAgICAgICAgICAgICAgICB2YXIgdG9sZXJhbmNlID0gb3B0X3RvbGVyYW5jZSB8fCAwOwotICAg
ICAgICAgICAgICAgIGlmIChNYXRoLmFicyhlbC5vZmZzZXRXaWR0aCAtIGV4cGVjdGVkV2lkdGgp
IDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhyZWN0LndpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0g
dG9sZXJhbmNlICYmIE1hdGguYWJzKHBhcnNlSW50KHN0eWxlLndpZHRoLCAxMCkgLSBleHBlY3Rl
ZFdpZHRoKSA8PSB0b2xlcmFuY2UpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2Vs
ZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qu
d2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLicpOwotICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcg
KyB3aWR0aCArICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAn
LCByZWN0LndpZHRoICcgKyByZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0
eWxlLndpZHRoICsgJywgZXhwZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZWwpOwotCi0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwLCA1MDAwKTsKLSAgICAgICAgICAgIHRl
c3RTaXplKDUwMDAwLCA1MDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAsIDUwMDAw
MCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwLCA1MDAwMDAwKTsKLSAgICAgICAgICAg
IHRlc3RTaXplKDUwMDAwMDAwLCAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI0LCAz
MzU1NDQyNCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNSwgMzM1NTQ0MjUsIDIpOyAv
LyBmbG9hdCBpbXByZWNpc2lvbgotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjYsIDMzNTU0
NDI2LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI3LCAzMzU1NDQyNywgMik7Ci0g
ICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyOCwgMzM1NTQ0MjgsIDIpOwotICAgICAgICAgICAg
dGVzdFNpemUoMzM1NTQ0MjksIDMzNTU0NDI5LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMz
NTU0NDMwLCAzMzU1NDQzMCwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMiwgMCk7
Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6
ZSgzNTc5MTM5NiwgMCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQoZWwpOwotICAgICAgICA8L3NjcmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJnZS1udW1i
ZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEgKzEgQEAKLVBBU1M6IHJlYWQgOTAwMTAwMDBweCBiYWNrIGFzIDBweCwgcmVhZCBh
Z2FpbiBhcyAwcHgKK1BBU1M6IHJlYWQgOTAwMTAwMDBweCBiYWNrIGFzIDMzNTU0NDI4cHgsIHJl
YWQgYWdhaW4gYXMgMzM1NTQ0MjhweApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRy
aXAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xICsxIEBACi1QQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBhcyAwcHgs
IHJlYWQgYWdhaW4gYXMgMHB4CitQQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBhcyAzMzU1NDQy
OHB4LCByZWFkIGFnYWluIGFzIDMzNTU0NDI4cHgK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175470</attachid>
            <date>2012-11-21 09:57:26 -0800</date>
            <delta_ts>2012-11-26 09:56:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102735-20121121095513.patch</filename>
            <type>text/plain</type>
            <size>24952</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTQxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTIxICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGFtcCBvdXQtb2YtcmFuZ2Ug
bnVtYmVycyBpbiBDU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjczNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEN1cnJlbnRseSB3aGVuIGEgbGFyZ2UgbnVtYmVyIChvdXRzaWRlIG9mIHRoZSBzdXBw
b3J0ZWQgcmFuZ2UpCisgICAgICAgIGlzIGFwcGxpZWQgZnJvbSBhIHN0eWxlIHJ1bGUgb3Igc2V0
IGZyb20gamF2YXNjcmlwdCB1c2luZworICAgICAgICBFbGVtZW50LnN0eWxlIHdlIGNoZWNrIGlm
IGl0IGlzIHdpdGhpbiB0aGUgc3VwcG9ydGVkIHJhbmdlIGFuZAorICAgICAgICBzZXQgaXQgdG8g
emVybyBpZiBpdCBpcyBub3QuIFRoaXMgaXMgaW5jb3JyZWN0IGFuZCBjb25mdXNpbmcuCisgICAg
ICAgIAorICAgICAgICBDaGFuZ2UgaXQgdG8gY2xhbXAgdmFsdWVzIHRvIHRoZSBzdXBwb3J0ZWQg
cmFuZ2UuIFRoaXMgbWF0Y2hlcworICAgICAgICB0aGUgYmVoYXZpb3IgaW4gR2Vja28uCisKKyAg
ICAgICAgVGVzdDogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGgpOgorICAgICAgICBDaGFuZ2UgdG8gY2xhbXAgb3V0LW9mLXJhbmdl
IHZhbHVlcyBpbnN0ZWFkIG9mIGludGVycHJldGluZyB0aGVtCisgICAgICAgIGFzIHplcm8uCisK
KyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OnJv
dW5kRm9ySW1wcmVjaXNlQ29udmVyc2lvbik6CisgICAgICAgIENoYW5nZSB0byBjbGFtcCBvdXQt
b2YtcmFuZ2UgdmFsdWVzIGluc3RlYWQgb2YgaW50ZXJwcmV0aW5nIHRoZW0KKyAgICAgICAgYXMg
emVyby4KKwogMjAxMi0xMS0yMSAgQW5kcmV5IEx1c2huaWtvdiAgPGx1c2huaWtvdkBjaHJvbWl1
bS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ3RybCtBIGNsb3NlcyBicmVha3BvaW50
IGNvbmRpdGlvbiBlZGl0b3IKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlLmNwcAkocmV2aXNpb24gMTM0MDg3KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsMTAgQEAKIHVzaW5nIG5h
bWVzcGFjZSBXVEY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKKy8vIE1heC9taW4gdmFs
dWVzIGZvciBDU1MsIG5lZWRzIHRvIHNsaWdodGx5IHNtYWxsZXIvbGFyZ2VyIHRoYW4gdGhlIHRy
dWUgbWF4L21pbiB2YWx1ZXMgdG8gYWxsb3cgZm9yIHJvdW5kaW5nIHdpdGhvdXQgb3ZlcmZsb3dp
bmcuCitjb25zdCBpbnQgbWF4VmFsdWVGb3JDc3NMZW5ndGggPSAzMzU1NDQyODsKK2NvbnN0IGlu
dCBtaW5WYWx1ZUZvckNzc0xlbmd0aCA9IC0zMzU1NDQzMDsKIAogc3RhdGljIGlubGluZSBib29s
IGlzVmFsaWRDU1NVbml0VHlwZUZvckRvdWJsZUNvbnZlcnNpb24oQ1NTUHJpbWl0aXZlVmFsdWU6
OlVuaXRUeXBlcyB1bml0VHlwZSkKIHsKQEAgLTQ3OSw4ICs0ODMsNyBAQCB0ZW1wbGF0ZTw+IHVu
c2lnbmVkIENTU1ByaW1pdGl2ZVZhbHVlOjpjCiB0ZW1wbGF0ZTw+IExlbmd0aCBDU1NQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiBy
b290U3R5bGUsIGZsb2F0IG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7CiAj
aWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkKLSAgICBkb3VibGUgdmFsdWUgPSBjb21wdXRlTGVu
Z3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXpl
KTsKLSAgICByZXR1cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSA+IGludE1heEZv
ckxheW91dFVuaXQgfHwgdmFsdWUgPCBpbnRNaW5Gb3JMYXlvdXRVbml0ID8gMC4wIDogdmFsdWUp
LCBGaXhlZCk7CisgICAgcmV0dXJuIExlbmd0aChjbGFtcFRvPGZsb2F0Pihjb21wdXRlTGVuZ3Ro
RG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKSwg
bWluVmFsdWVGb3JDc3NMZW5ndGgsIG1heFZhbHVlRm9yQ3NzTGVuZ3RoKSwgRml4ZWQpOwogI2Vs
c2UKICAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVjaXNlQ29udmVyc2lvbjxmbG9hdD4o
Y29tcHV0ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRp
bmdGb250U2l6ZSkpLCBGaXhlZCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5oCShyZXZpc2lvbiAxMzQwODcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOSBAQCBjbGFz
cyBDU1NCYXNpY1NoYXBlOwogCiBzdHJ1Y3QgTGVuZ3RoOwogCitleHRlcm4gY29uc3QgaW50IG1h
eFZhbHVlRm9yQ3NzTGVuZ3RoOworZXh0ZXJuIGNvbnN0IGludCBtaW5WYWx1ZUZvckNzc0xlbmd0
aDsKKwogLy8gRGltZW5zaW9uIGNhbGN1bGF0aW9ucyBhcmUgaW1wcmVjaXNlLCBvZnRlbiByZXN1
bHRpbmcgaW4gdmFsdWVzIG9mIGUuZy4KIC8vIDQ0Ljk5OTk4LiBXZSBuZWVkIHRvIGdvIGFoZWFk
IGFuZCByb3VuZCBpZiB3ZSdyZSByZWFsbHkgY2xvc2UgdG8gdGhlIG5leHQKIC8vIGludGVnZXIg
dmFsdWUuCkBAIC01Myw2ICs1Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBUIHJv
dW5kRm9ySW0KIAogdGVtcGxhdGU8PiBpbmxpbmUgZmxvYXQgcm91bmRGb3JJbXByZWNpc2VDb252
ZXJzaW9uKGRvdWJsZSB2YWx1ZSkKIHsKKyAgICB2YWx1ZSA9IGNsYW1wVG88ZmxvYXQ+KHZhbHVl
LCBtaW5WYWx1ZUZvckNzc0xlbmd0aCwgbWF4VmFsdWVGb3JDc3NMZW5ndGgpOwogICAgIGRvdWJs
ZSBjZWlsZWRWYWx1ZSA9IGNlaWwodmFsdWUpOwogICAgIGRvdWJsZSBwcm94aW1pdHlUb05leHRJ
bnQgPSBjZWlsZWRWYWx1ZSAtIHZhbHVlOwogICAgIGlmIChwcm94aW1pdHlUb05leHRJbnQgPD0g
MC4wMSAmJiB2YWx1ZSA+IDApCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzU0MTIpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0xMS0y
MSAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2xhbXAgb3V0
LW9mLXJhbmdlIG51bWJlcnMgaW4gQ1NTCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDI3MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgdGVzdCB2ZXJpZnlpbmcgdGhhdCBsYXJnZSBudW1iZXJzIGFy
ZSBoYW5kbGVkIGNvcnJlY3RseQorICAgICAgICAoYmFzZWQgb24gZmFzdC9zdWItcGl4ZWwvbGFy
Z2Utc2l6ZXMuaHRtbCkuCisgICAgICAgIFVwZGF0ZSBjc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRy
aXAgYW5kIGNzczMvZmxleGJveC9mbGV4LWFsZ29yaXRobS5odG1sCisgICAgICAgIAorICAgICAg
ICAqIGNzczMvZmxleGJveC9mbGV4LWFsZ29yaXRobS5odG1sOgorICAgICAgICAqIGZhc3QvY3Nz
L2xhcmdlLW51bWJlcnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9s
YXJnZS1udW1iZXJzLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVs
L2xhcmdlLXNpemVzLmh0bWwuCisgICAgICAgICogZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNp
emVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9jc3Mv
bGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQ6CisKIDIw
MTItMTEtMjEgIEp1c3NpIEt1a2tvbmVuICA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgogCiAg
ICAgICAgIFtFRkxdW1dLMl0gZ2FyZGVuaW5nOiBmYXN0L3dyaXRpbmctbW9kZS9qYXBhbmVzZS1y
dWJ5LSogYXJlIGZsYWt5CkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleC1hbGdv
cml0aG0uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleC1h
bGdvcml0aG0uaHRtbAkocmV2aXNpb24gMTM0MDg3KQorKysgTGF5b3V0VGVzdHMvY3NzMy9mbGV4
Ym94L2ZsZXgtYWxnb3JpdGhtLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEyOCw5ICsxMjgsOSBA
QCBib2R5IHsKIDwvZGl2PgogCiA8ZGl2IGNsYXNzPSJmbGV4Ym94Ij4KLSAgPGRpdiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSI2MDAiIHN0eWxlPSItd2Via2l0LWZsZXg6IDEwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwIDYwMHB4OyAtbW96LWZsZXg6IDEwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwIDYwMHB4Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAxMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAgMCA2MDBweDsgLW1vei1mbGV4OiAxMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMCA2MDBweCI+PC9kaXY+CiAgIDxkaXYgZGF0YS1leHBl
Y3RlZC13aWR0aD0iNjAwIiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAwIDEwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCA2MDBweDsgLW1vei1mbGV4OiAwIDEwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCA2MDBweCI+PC9kaXY+Ci0gIDxkaXYgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMSAxIDEwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMHB4OyAtbW96LWZsZXg6IDEgMSAxMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBweCI+PC9kaXY+CisgIDxkaXYgZGF0YS1leHBlY3RlZC13
aWR0aD0iMzM1NTQ0MjgiIHN0eWxlPSItd2Via2l0LWZsZXg6IDEgMSAxMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBweDsgLW1vei1mbGV4OiAxIDEgMTAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwcHgiPjwvZGl2PgogPC9kaXY+CiAKIDwhLS0gVGVzdCBm
bGV4aXRlbSBib3JkZXJzLiAtLT4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51
bWJlcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2xh
cmdlLW51bWJlcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jc3MvbGFyZ2UtbnVtYmVycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NTMgQEAKK1BBU1MgZWxlbWVudC53aWR0aCA9IDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVj
dC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lk
dGggPSAxcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdp
ZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTBweCwgcmV0dXJucyBvZmZz
ZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNT
IGVsZW1lbnQud2lkdGggPSAxMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBh
bmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAw
MHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBh
cyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMHB4LCByZXR1cm5zIG9mZnNl
dFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1Mg
ZWxlbWVudC53aWR0aCA9IDEwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0
aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAx
MDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3
aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMDAwMHB4LCByZXR1
cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQud2lkdGggPSAxMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEw
MDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRl
ZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMDAwMDAwMDBw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMg
ZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgs
IHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50
LndpZHRoID0gLTFweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0
ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTBweCwgcmV0dXJu
cyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQu
CitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qu
d2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRo
ID0gLTEwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVk
IHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEwMDAwMHB4LCByZXR1
cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgs
IHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50
LndpZHRoID0gLTEwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5k
IGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEwMDAw
MDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0
aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMDAwMDAwcHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVk
LgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lk
dGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LndpZHRoID0gLTEwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0Lndp
ZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0g
MHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBl
eHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMXB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJl
Y3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0
ID0gMTBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQg
YXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMHB4LCByZXR1cm5zIG9mZnNldExl
ZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVu
dC5sZWZ0ID0gMTAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1
dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwMHB4LCByZXR1
cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3Qu
bGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0g
MTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxl
ZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwMDAwMHB4LCByZXR1cm5z
IG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BB
U1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3Qu
bGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0g
MTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVk
IGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwMDAwMDAwMHB4LCBy
ZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExl
ZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVu
dC5sZWZ0ID0gLTFweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVk
IGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMHB4LCByZXR1cm5zIG9m
ZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1Mg
ZWxlbWVudC5sZWZ0ID0gLTEwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQg
Y29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwcHgs
IHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwg
cmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lmxl
ZnQgPSAtMTAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0
ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDAwcHgsIHJl
dHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVk
LgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwg
cmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lmxl
ZnQgPSAtMTAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29t
cHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDAwMDAw
cHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4
cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zm
c2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBl
bGVtZW50LmxlZnQgPSAtMTAwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3Qu
bGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1Rlc3QgaGFuZGxpbmcgb2YgbnVt
YmVycyBvdXRzaWRlIG9mIHRoZSBzdXBwb3J0ZWQgcmFuZ2UuCisKK1Byb3BlcnRpZXMgbWF5IHJl
c3RyaWN0IG51bWVyaWMgdmFsdWVzIHRvIHNvbWUgcmFuZ2UuIElmIHRoZSB2YWx1ZSBpcyBvdXRz
aWRlIHRoZSBhbGxvd2VkIHJhbmdlLCB0aGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZCBhbmQgbXVz
dCBiZSBpZ25vcmVkLiBBcyBwZXIgdGhlIENTUzMgc3BlY2lmaWNhdGlvbi4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwJKHJldmlzaW9uIDEzNDA4NykJKGZyb20g
TGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbDoxMzQwODcpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD4KKyAgICAgICAgICAgIFRlc3Qg
aGFuZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5nIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZS4K
KyAgICAgICAgPC9wPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gdGVz
dFNpemUod2lkdGgsIGV4cGVjdGVkV2lkdGgsIG9wdF90b2xlcmFuY2UpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgZWwuc3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7CisgICAgICAg
ICAgICAgICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpOwor
ICAgICAgICAgICAgICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Cisg
ICAgICAgICAgICAgICAgdmFyIHRvbGVyYW5jZSA9IG9wdF90b2xlcmFuY2UgfHwgMDsKKyAgICAg
ICAgICAgICAgICBpZiAoTWF0aC5hYnMoZWwub2Zmc2V0V2lkdGggLSBleHBlY3RlZFdpZHRoKSA8
PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocmVjdC53aWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRv
bGVyYW5jZSAmJiBNYXRoLmFicyhwYXJzZUludChzdHlsZS53aWR0aCwgMTApIC0gZXhwZWN0ZWRX
aWR0aCkgPD0gdG9sZXJhbmNlKQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdlbGVt
ZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0Lndp
ZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4nKTsKKyAgICAgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1lbnQud2lkdGggPSAnICsg
d2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9mZnNldFdpZHRoICsgJywg
cmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVkIHdpZHRoICcgKyBzdHls
ZS53aWR0aCArICcsIGV4cGVjdGVkICcgKyBleHBlY3RlZFdpZHRoICsgJy4nKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVs
KTsKKworICAgICAgICAgICAgdGVzdFNpemUoNTAwMCwgNTAwMCk7CisgICAgICAgICAgICB0ZXN0
U2l6ZSg1MDAwMCwgNTAwMDApOworICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwLCA1MDAwMDAp
OworICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwMCwgNTAwMDAwMCk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSg1MDAwMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNCwgMzM1
NTQ0MjQpOworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjUsIDMzNTU0NDI1LCAyKTsgLy8g
ZmxvYXQgaW1wcmVjaXNpb24KKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI2LCAzMzU1NDQy
NiwgMik7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNywgMzM1NTQ0MjcsIDIpOworICAg
ICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjgsIDMzNTU0NDI4LCAyKTsKKyAgICAgICAgICAgIHRl
c3RTaXplKDMzNTU0NDI5LCAzMzU1NDQyOSwgMik7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1
NDQzMCwgMzM1NTQ0MzAsIDIpOworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MzIsIDApOwor
ICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTUsIDApOworICAgICAgICAgICAgdGVzdFNpemUo
MzU3OTEzOTYsIDApOworICAgICAgICAgICAgCisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJl
bW92ZUNoaWxkKGVsKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMuaHRtbAkocmV2aXNpb24gMTM0
MDg3KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0yLDQzICsyLDExMyBAQAogPGh0bWw+CiAgICAgPGhlYWQ+CiAgICAgICAgIDxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICAudGVzdCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lk
dGg6IDUwcHg7IGxlZnQ6IDI1cHg7IH0KKyAgICAgICAgPC9zdHlsZT4KICAgICA8L2hlYWQ+CiAg
ICAgPGJvZHk+CiAgICAgICAgIDxwPgotICAgICAgICAgICAgVGVzdCBoYW5kbGluZyBvZiBzaXpl
cyBleGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgorICAgICAgICAgICAgVGVz
dCBoYW5kbGluZyBvZiBudW1iZXJzIG91dHNpZGUgb2YgdGhlIHN1cHBvcnRlZCByYW5nZS4KKyAg
ICAgICAgPC9wPgorICAgICAgICA8cD4KKyAgICAgICAgICAgIDxxIGNpdGU9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL2NzczMtdmFsdWVzLyNudW1lcmljLXR5cGVzIj5Qcm9wZXJ0aWVzIG1heSByZXN0
cmljdCBudW1lcmljIHZhbHVlcyB0byBzb21lIHJhbmdlLiBJZiB0aGUgdmFsdWUgaXMgb3V0c2lk
ZSB0aGUgYWxsb3dlZCByYW5nZSwgdGhlIGRlY2xhcmF0aW9uIGlzIGludmFsaWQgYW5kIG11c3Qg
YmUgaWdub3JlZC48L3E+CisgICAgICAgICAgICBBcyBwZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93
d3cudzMub3JnL1RSL2NzczMtdmFsdWVzLyNudW1lcmljLXR5cGVzIj5DU1MzIHNwZWNpZmljYXRp
b248L2E+LgogICAgICAgICA8L3A+CiAgICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICBmdW5j
dGlvbiB0ZXN0U2l6ZSh3aWR0aCwgZXhwZWN0ZWRXaWR0aCwgb3B0X3RvbGVyYW5jZSkKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHRlc3RTaXplKHdpZHRoLCBvcHRfZXhwZWN0ZWRXaWR0aCkKICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgZXhwZWN0ZWRXaWR0aCA9IHR5cGVvZiBvcHRf
ZXhwZWN0ZWRXaWR0aCA9PSAnbnVtYmVyJyA/IG9wdF9leHBlY3RlZFdpZHRoIDogd2lkdGg7Cisg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgZWwuc3R5bGUud2lkdGggPSB3aWR0aCAr
ICdweCc7CisKICAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShlbCwgbnVsbCk7CiAgICAgICAgICAgICAgICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTsKLSAgICAgICAgICAgICAgICB2YXIgdG9sZXJhbmNlID0gb3B0X3RvbGVy
YW5jZSB8fCAwOwotICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhlbC5vZmZzZXRXaWR0aCAt
IGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhyZWN0LndpZHRoIC0gZXhw
ZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJzKHBhcnNlSW50KHN0eWxlLndpZHRo
LCAxMCkgLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UpCisgICAgICAgICAgICAgICAgdmFy
IGNvbXB1dGVkV2lkdGggPSBOdW1iZXIoc3R5bGUud2lkdGgucmVwbGFjZSgncHgnLCAnJykpOwor
ICAgICAgICAgICAgICAgIGlmIChlbC5vZmZzZXRXaWR0aCA9PSBleHBlY3RlZFdpZHRoICYmIHJl
Y3Qud2lkdGggPT0gZXhwZWN0ZWRXaWR0aCAmJiBjb21wdXRlZFdpZHRoID09IGV4cGVjdGVkV2lk
dGgpCiAgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1lbnQud2lkdGggPSAnICsg
d2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVk
IHdpZHRoIGFzIGV4cGVjdGVkLicpOwogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0
dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAnLCByZWN0LndpZHRoICcgKyBy
ZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0eWxlLndpZHRoICsgJywgZXhw
ZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicpOworICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdp
ZHRoICcgKyBlbC5vZmZzZXRXaWR0aCArICcsIHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGggKyAn
IGFuZCBjb21wdXRlZCB3aWR0aCAnICsgY29tcHV0ZWRXaWR0aCArICcsIGV4cGVjdGVkICcgKyBl
eHBlY3RlZFdpZHRoICsgJy4nKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAorICAgICAg
ICAgICAgCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0TGVmdChsZWZ0LCBvcHRfZXhwZWN0ZWRM
ZWZ0KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHZhciBleHBlY3RlZExlZnQgPSB0
eXBlb2Ygb3B0X2V4cGVjdGVkTGVmdCA9PSAnbnVtYmVyJyA/IG9wdF9leHBlY3RlZExlZnQgOiBs
ZWZ0OworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGVsLnN0eWxlLmxlZnQgPSBs
ZWZ0ICsgJ3B4JzsKKworICAgICAgICAgICAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGVsLCBudWxsKTsKKyAgICAgICAgICAgICAgICB2YXIgcmVjdCA9IGVsLmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgICAgIHZhciBjb21wdXRlZExlZnQgPSBO
dW1iZXIoc3R5bGUubGVmdC5yZXBsYWNlKCdweCcsICcnKSk7CisgICAgICAgICAgICAgICAgaWYg
KGVsLm9mZnNldExlZnQgPT0gZXhwZWN0ZWRMZWZ0ICYmIHJlY3QubGVmdCA9PSBleHBlY3RlZExl
ZnQgJiYgY29tcHV0ZWRMZWZ0ID09IGV4cGVjdGVkTGVmdCkKKyAgICAgICAgICAgICAgICAgICAg
dGVzdFBhc3NlZCgnZWxlbWVudC5sZWZ0ID0gJyArIGxlZnQgKyAncHgsIHJldHVybnMgb2Zmc2V0
TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLicpOworICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC5s
ZWZ0ID0gJyArIGxlZnQgKyAncHgsIHJldHVybnMgb2Zmc2V0TGVmdCAnICsgZWwub2Zmc2V0TGVm
dCArICcsIHJlY3QubGVmdCAnICsgcmVjdC5sZWZ0ICsgJyBhbmQgY29tcHV0ZWQgbGVmdCAnICsg
Y29tcHV0ZWRMZWZ0ICsgJywgZXhwZWN0ZWQgJyArIGV4cGVjdGVkTGVmdCArICcuJyk7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgdmFyIGVsID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICBlbC5jbGFzc05hbWUg
PSAndGVzdCc7CiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgdmFyIE1BWF9WQUxVRSA9IDMzNTU0NDI4OworICAgICAg
ICAgICAgdmFyIE1JTl9WQUxVRSA9IC0zMzU1NDQzMDsKIAotICAgICAgICAgICAgdGVzdFNpemUo
NTAwMCwgNTAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMCwgNTAwMDApOwotICAgICAg
ICAgICAgdGVzdFNpemUoNTAwMDAwLCA1MDAwMDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAw
MDAwMCwgNTAwMDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwMCwgMCk7Ci0gICAg
ICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNCwgMzM1NTQ0MjQpOwotICAgICAgICAgICAgdGVzdFNp
emUoMzM1NTQ0MjUsIDMzNTU0NDI1LCAyKTsgLy8gZmxvYXQgaW1wcmVjaXNpb24KLSAgICAgICAg
ICAgIHRlc3RTaXplKDMzNTU0NDI2LCAzMzU1NDQyNiwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6
ZSgzMzU1NDQyNywgMzM1NTQ0MjcsIDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0Mjgs
IDMzNTU0NDI4LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI5LCAzMzU1NDQyOSwg
Mik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMCwgMzM1NTQ0MzAsIDIpOwotICAgICAg
ICAgICAgdGVzdFNpemUoMzM1NTQ0MzIsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEz
OTUsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTYsIDApOworICAgICAgICAgICAg
Ly8gVGVzdCBzZXR0aW5nIHN0eWxlLndpZHRoLCBuZWdhdGl2ZSB2YWx1ZXMgYXJlIGNvbnNpZGVy
ZWQgaW52YWxpZC4KKyAgICAgICAgICAgIHRlc3RTaXplKDApOworICAgICAgICAgICAgdGVzdFNp
emUoMSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgx
MDApOworICAgICAgICAgICAgdGVzdFNpemUoMTAwMDApOworICAgICAgICAgICAgdGVzdFNpemUo
MTAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDApOworICAgICAgICAgICAgdGVz
dFNpemUoMTAwMDAwMDApOworICAgICAgICAgICAgdGVzdFNpemUoMTAwMDAwMDAwLCBNQVhfVkFM
VUUpOworICAgICAgICAgICAgdGVzdFNpemUoMTAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAg
ICAgICAgIHRlc3RTaXplKDEwMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVz
dFNpemUoMTAwMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdFNpemUoMTAw
MDAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKworICAgICAgICAgICAgdGVzdFNpemUoMCwgMCk7Cisg
ICAgICAgICAgICB0ZXN0U2l6ZSgtMSwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgtMTAsIDAp
OworICAgICAgICAgICAgdGVzdFNpemUoLTEwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgt
MTAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMCwgMCk7CisgICAgICAgICAg
ICB0ZXN0U2l6ZSgtMTAwMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwMDAs
IDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAwMCwgMCk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSgtMTAwMDAwMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwMDAw
MDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAwMDAwMCwgMCk7CisKKyAgICAg
ICAgICAgIC8vIFRlc3Qgc2V0dGluZyBzdHlsZS5sZWZ0LCBuZWdhdGl2ZSB2YWx1ZXMgYXJlIGNv
bnNpZGVyZWQgdmFsaWQuCisgICAgICAgICAgICB0ZXN0TGVmdCgwKTsKKyAgICAgICAgICAgIHRl
c3RMZWZ0KDEpOworICAgICAgICAgICAgdGVzdExlZnQoMTApOworICAgICAgICAgICAgdGVzdExl
ZnQoMTAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwKTsKKyAgICAgICAgICAgIHRlc3RM
ZWZ0KDEwMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwKTsKKyAgICAgICAgICAg
IHRlc3RMZWZ0KDEwMDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMDAwMCwgTUFY
X1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMDAwMDAsIE1BWF9WQUxVRSk7Cisg
ICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAg
IHRlc3RMZWZ0KDEwMDAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0
KDEwMDAwMDAwMDAwMDAsIE1BWF9WQUxVRSk7CiAgICAgICAgICAgICAKKyAgICAgICAgICAgIHRl
c3RMZWZ0KC0xKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMCk7CisgICAgICAgICAgICB0ZXN0
TGVmdCgtMTAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMCk7CisgICAgICAgICAgICB0
ZXN0TGVmdCgtMTAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwKTsKKyAgICAg
ICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAw
MDAwLCBNSU5fVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDAwMDAsIE1JTl9W
QUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAwMDAsIE1JTl9WQUxVRSk7Cisg
ICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAwMDAwLCBNSU5fVkFMVUUpOworICAgICAgICAg
ICAgdGVzdExlZnQoLTEwMDAwMDAwMDAwMDAsIE1JTl9WQUxVRSk7CisKICAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWwpOwogICAgICAgICA8L3NjcmlwdD4KICAgICA8L2Jv
ZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6
ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3N1
Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTYg
KzAsMCBAQAotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRo
LCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVu
dC53aWR0aCA9IDUwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNv
bXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMDAwcHgs
IHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4
cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdp
ZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxl
bWVudC53aWR0aCA9IDUwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGgg
YW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gMzM1
NTQ0MjRweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lk
dGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQyNXB4LCByZXR1cm5z
IG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4K
LVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI2cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJl
Y3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50Lndp
ZHRoID0gMzM1NTQ0MjdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQyOHB4
LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBl
eHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI5cHgsIHJldHVybnMgb2Zmc2V0
V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBl
bGVtZW50LndpZHRoID0gMzM1NTQ0MzBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0
aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAz
MzU1NDQzMnB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3
aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzk1cHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVk
LgotUEFTUyBlbGVtZW50LndpZHRoID0gMzU3OTEzOTZweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwg
cmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1UZXN0IGhhbmRsaW5n
IG9mIHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgdmFsdWUuCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwJKHJldmlzaW9uIDEz
NDA4NykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEsNDUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLSAg
ICA8aGVhZD4KLSAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Ci0gICAgPC9oZWFkPgotICAgIDxib2R5PgotICAgICAgICA8cD4KLSAg
ICAgICAgICAgIFRlc3QgaGFuZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5nIHRoZSBtYXhpbXVtIHN1
cHBvcnRlZCB2YWx1ZS4KLSAgICAgICAgPC9wPgotICAgICAgICA8c2NyaXB0PgotICAgICAgICAg
ICAgZnVuY3Rpb24gdGVzdFNpemUod2lkdGgsIGV4cGVjdGVkV2lkdGgsIG9wdF90b2xlcmFuY2Up
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZWwuc3R5bGUud2lkdGggPSB3aWR0aCAr
ICdweCc7Ci0gICAgICAgICAgICAgICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZWwsIG51bGwpOwotICAgICAgICAgICAgICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCk7Ci0gICAgICAgICAgICAgICAgdmFyIHRvbGVyYW5jZSA9IG9wdF90b2xlcmFu
Y2UgfHwgMDsKLSAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoZWwub2Zmc2V0V2lkdGggLSBl
eHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocmVjdC53aWR0aCAtIGV4cGVj
dGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhwYXJzZUludChzdHlsZS53aWR0aCwg
MTApIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlKQotICAgICAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNl
dFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4nKTsKLSAg
ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1l
bnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9m
ZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVk
IHdpZHRoICcgKyBzdHlsZS53aWR0aCArICcsIGV4cGVjdGVkICcgKyBleHBlY3RlZFdpZHRoICsg
Jy4nKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIGVsID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGVsKTsKLQotICAgICAgICAgICAgdGVzdFNpemUoNTAwMCwgNTAwMCk7Ci0g
ICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMCwgNTAwMDApOwotICAgICAgICAgICAgdGVzdFNpemUo
NTAwMDAwLCA1MDAwMDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwMCwgNTAwMDAwMCk7
Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwMCwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6
ZSgzMzU1NDQyNCwgMzM1NTQ0MjQpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjUsIDMz
NTU0NDI1LCAyKTsgLy8gZmxvYXQgaW1wcmVjaXNpb24KLSAgICAgICAgICAgIHRlc3RTaXplKDMz
NTU0NDI2LCAzMzU1NDQyNiwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNywgMzM1
NTQ0MjcsIDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjgsIDMzNTU0NDI4LCAyKTsK
LSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI5LCAzMzU1NDQyOSwgMik7Ci0gICAgICAgICAg
ICB0ZXN0U2l6ZSgzMzU1NDQzMCwgMzM1NTQ0MzAsIDIpOwotICAgICAgICAgICAgdGVzdFNpemUo
MzM1NTQ0MzIsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzU3OTEzOTUsIDApOwotICAgICAg
ICAgICAgdGVzdFNpemUoMzU3OTEzOTYsIDApOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBk
b2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsKTsKLSAgICAgICAgPC9zY3JpcHQ+Ci0gICAgPC9i
b2R5PgotPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9j
c3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10
cmlwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM0MDg3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1QQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBh
cyAwcHgsIHJlYWQgYWdhaW4gYXMgMHB4CitQQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBhcyAz
MzU1NDQyOHB4LCByZWFkIGFnYWluIGFzIDMzNTU0NDI4cHgKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2xhcmdlLW51
bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM0MDg3KQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotUEFTUzogcmVhZCA5MDAxMDAwMHB4
IGJhY2sgYXMgMHB4LCByZWFkIGFnYWluIGFzIDBweAorUEFTUzogcmVhZCA5MDAxMDAwMHB4IGJh
Y2sgYXMgMzM1NTQ0MjhweCwgcmVhZCBhZ2FpbiBhcyAzMzU1NDQyOHB4Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176023</attachid>
            <date>2012-11-26 09:56:20 -0800</date>
            <delta_ts>2012-11-30 14:15:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102735-20121126095359.patch</filename>
            <type>text/plain</type>
            <size>24078</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTczNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTI2ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGFtcCBvdXQtb2YtcmFuZ2Ug
bnVtYmVycyBpbiBDU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjczNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEN1cnJlbnRseSB3aGVuIGEgbGFyZ2UgbnVtYmVyIChvdXRzaWRlIG9mIHRoZSBzdXBw
b3J0ZWQgcmFuZ2UpCisgICAgICAgIGlzIGFwcGxpZWQgZnJvbSBhIHN0eWxlIHJ1bGUgb3Igc2V0
IGZyb20gamF2YXNjcmlwdCB1c2luZworICAgICAgICBFbGVtZW50LnN0eWxlIHdlIGNoZWNrIGlm
IGl0IGlzIHdpdGhpbiB0aGUgc3VwcG9ydGVkIHJhbmdlIGFuZAorICAgICAgICBzZXQgaXQgdG8g
emVybyBpZiBpdCBpcyBub3QuIFRoaXMgaXMgaW5jb3JyZWN0IGFuZCBjb25mdXNpbmcuCisgICAg
ICAgIAorICAgICAgICBDaGFuZ2UgaXQgdG8gY2xhbXAgdmFsdWVzIHRvIHRoZSBzdXBwb3J0ZWQg
cmFuZ2UuIFRoaXMgbWF0Y2hlcworICAgICAgICB0aGUgYmVoYXZpb3IgaW4gR2Vja28uCisKKyAg
ICAgICAgVGVzdDogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGgpOgorICAgICAgICBDaGFuZ2UgdG8gY2xhbXAgb3V0LW9mLXJhbmdl
IHZhbHVlcyBpbnN0ZWFkIG9mIGludGVycHJldGluZyB0aGVtCisgICAgICAgIGFzIHplcm8uCisK
IDIwMTItMTEtMjYgIEphZSBIeXVuIFBhcmsgIDxqYWUucGFya0Bjb21wYW55MTAwLm5ldD4KIAog
ICAgICAgICBSZW1vdmUgcmVkdW5kYW50IGFzc2lnbm1lbnQgaW4gVGV4dHVyZU1hcHBlckxheWVy
OjpmbHVzaENvbXBvc2l0aW5nU3RhdGVTZWxmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDEzNDA4NykKKysrIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDEwIEBA
CiB1c2luZyBuYW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCisvLyBN
YXgvbWluIHZhbHVlcyBmb3IgQ1NTLCBuZWVkcyB0byBzbGlnaHRseSBzbWFsbGVyL2xhcmdlciB0
aGFuIHRoZSB0cnVlIG1heC9taW4gdmFsdWVzIHRvIGFsbG93IGZvciByb3VuZGluZyB3aXRob3V0
IG92ZXJmbG93aW5nLgorY29uc3QgaW50IG1heFZhbHVlRm9yQ3NzTGVuZ3RoID0gMzM1NTQ0Mjg7
Citjb25zdCBpbnQgbWluVmFsdWVGb3JDc3NMZW5ndGggPSAtMzM1NTQ0MzA7CiAKIHN0YXRpYyBp
bmxpbmUgYm9vbCBpc1ZhbGlkQ1NTVW5pdFR5cGVGb3JEb3VibGVDb252ZXJzaW9uKENTU1ByaW1p
dGl2ZVZhbHVlOjpVbml0VHlwZXMgdW5pdFR5cGUpCiB7CkBAIC00NzksMTAgKzQ4Myw5IEBAIHRl
bXBsYXRlPD4gdW5zaWduZWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmMKIHRlbXBsYXRlPD4gTGVuZ3Ro
IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVu
ZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250
U2l6ZSkKIHsKICNpZiBFTkFCTEUoU1VCUElYRUxfTEFZT1VUKQotICAgIGRvdWJsZSB2YWx1ZSA9
IGNvbXB1dGVMZW5ndGhEb3VibGUoc3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0
aW5nRm9udFNpemUpOwotICAgIHJldHVybiBMZW5ndGgoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHZhbHVl
ID4gaW50TWF4Rm9yTGF5b3V0VW5pdCB8fCB2YWx1ZSA8IGludE1pbkZvckxheW91dFVuaXQgPyAw
LjAgOiB2YWx1ZSksIEZpeGVkKTsKKyAgICByZXR1cm4gTGVuZ3RoKGNsYW1wVG88ZmxvYXQ+KGNv
bXB1dGVMZW5ndGhEb3VibGUoc3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5n
Rm9udFNpemUpLCBtaW5WYWx1ZUZvckNzc0xlbmd0aCwgbWF4VmFsdWVGb3JDc3NMZW5ndGgpLCBG
aXhlZCk7CiAjZWxzZQotICAgIHJldHVybiBMZW5ndGgocm91bmRGb3JJbXByZWNpc2VDb252ZXJz
aW9uPGZsb2F0Pihjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxp
ZXIsIGNvbXB1dGluZ0ZvbnRTaXplKSksIEZpeGVkKTsKKyAgICByZXR1cm4gTGVuZ3RoKGNsYW1w
VG88ZmxvYXQ+KHJvdW5kRm9ySW1wcmVjaXNlQ29udmVyc2lvbjxmbG9hdD4oY29tcHV0ZUxlbmd0
aERvdWJsZShzdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkp
LCBtaW5WYWx1ZUZvckNzc0xlbmd0aCwgbWF4VmFsdWVGb3JDc3NMZW5ndGgpLCBGaXhlZCk7CiAj
ZW5kaWYKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTM1NzM1KQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMTEtMjYgIEVtaWwg
QSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENsYW1wIG91dC1vZi1yYW5n
ZSBudW1iZXJzIGluIENTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAyNzM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHRlc3QgdmVyaWZ5aW5nIHRoYXQgbGFyZ2UgbnVtYmVycyBhcmUgaGFuZGxl
ZCBjb3JyZWN0bHkKKyAgICAgICAgKGJhc2VkIG9uIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVz
Lmh0bWwpLgorICAgICAgICBVcGRhdGUgY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwIGFuZCBj
c3MzL2ZsZXhib3gvZmxleC1hbGdvcml0aG0uaHRtbAorICAgICAgICAKKyAgICAgICAgKiBjc3Mz
L2ZsZXhib3gvZmxleC1hbGdvcml0aG0uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9sYXJnZS1u
dW1iZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvbGFyZ2UtbnVt
YmVycy5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1z
aXplcy5odG1sLgorICAgICAgICAqIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1s
OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51
bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTExLTI2
ICBUaGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgogCiAg
ICAgICAgIEltcG9ydCBtb3JlIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBsYXlvdXQgdGVzdHMKSW5k
ZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWFsZ29yaXRobS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWFsZ29yaXRobS5odG1sCShyZXZp
c2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleC1hbGdvcml0aG0u
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDkgKzEyOCw5IEBAIGJvZHkgewogPC9kaXY+CiAK
IDxkaXYgY2xhc3M9ImZsZXhib3giPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjYwMCIg
c3R5bGU9Ii13ZWJraXQtZmxleDogMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwIDAgNjAwcHg7IC1tb3otZmxleDogMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwIDAgNjAwcHgiPjwvZGl2PgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIHN0
eWxlPSItd2Via2l0LWZsZXg6IDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MCAwIDYwMHB4OyAtbW96LWZsZXg6IDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMCAwIDYwMHB4Ij48L2Rpdj4KICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI2MDAiIHN0
eWxlPSItd2Via2l0LWZsZXg6IDAgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwIDYwMHB4OyAtbW96LWZsZXg6IDAgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwIDYwMHB4Ij48L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBzdHls
ZT0iLXdlYmtpdC1mbGV4OiAxIDEgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwcHg7IC1tb3otZmxleDogMSAxIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMHB4Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMzU1NDQyOCIgc3R5
bGU9Ii13ZWJraXQtZmxleDogMSAxIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMHB4OyAtbW96LWZsZXg6IDEgMSAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDBweCI+PC9kaXY+CiA8L2Rpdj4KIAogPCEtLSBUZXN0IGZsZXhpdGVtIGJvcmRlcnMuIC0t
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MyBAQAorUEFTUyBlbGVtZW50
LndpZHRoID0gMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRl
ZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDFweCwgcmV0dXJucyBv
ZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQ
QVNTIGVsZW1lbnQud2lkdGggPSAxMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEw
MHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBh
cyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwcHgsIHJldHVybnMgb2Zmc2V0
V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBl
bGVtZW50LndpZHRoID0gMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGgg
YW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAw
MDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0
aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMDAwcHgsIHJldHVybnMg
b2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgor
UEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJl
Y3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lndp
ZHRoID0gMTAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBj
b21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMDAw
MDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRo
IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDAwMDAwcHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVk
LgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdp
ZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxl
bWVudC53aWR0aCA9IDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMXB4LCByZXR1
cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0
LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0
aCA9IC0xMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQg
d2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDBweCwgcmV0dXJu
cyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQu
CitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJl
Y3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lndp
ZHRoID0gLTEwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwMDBw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMg
ZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwMDAwcHgsIHJldHVybnMgb2Zm
c2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LndpZHRoID0gLTEwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVj
dC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lk
dGggPSAtMTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQg
Y29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAw
MDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdp
ZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAwcHgsIHJldHVybnMgb2Zmc2V0
TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LmxlZnQgPSAxcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRl
ZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMHB4LCByZXR1cm5zIG9m
ZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1Mg
ZWxlbWVudC5sZWZ0ID0gMTAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBj
b21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMHB4LCBy
ZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVj
dC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQg
PSAxMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBs
ZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMHB4LCByZXR1cm5z
IG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BB
U1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5s
ZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAx
MDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBs
ZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMDAwMHB4LCByZXR1
cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwg
cmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lmxl
ZnQgPSAxMDAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBj
b21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMXB4LCByZXR1
cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0
IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAw
cHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4
cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0
LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQu
bGVmdCA9IC0xMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1
dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwcHgsIHJl
dHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVk
LgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCBy
ZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVm
dCA9IC0xMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1
dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwMDAwcHgs
IHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRM
ZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQubGVmdCA9IC0xMDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQg
YW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAw
MDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBs
ZWZ0IGFzIGV4cGVjdGVkLgorVGVzdCBoYW5kbGluZyBvZiBudW1iZXJzIG91dHNpZGUgb2YgdGhl
IHN1cHBvcnRlZCByYW5nZS4KKworUHJvcGVydGllcyBtYXkgcmVzdHJpY3QgbnVtZXJpYyB2YWx1
ZXMgdG8gc29tZSByYW5nZS4gSWYgdGhlIHZhbHVlIGlzIG91dHNpZGUgdGhlIGFsbG93ZWQgcmFu
Z2UsIHRoZSBkZWNsYXJhdGlvbiBpcyBpbnZhbGlkIGFuZCBtdXN0IGJlIGlnbm9yZWQuIEFzIHBl
ciB0aGUgQ1NTMyBzcGVjaWZpY2F0aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFy
Z2UtbnVtYmVycy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdl
LW51bWJlcnMuaHRtbAkocmV2aXNpb24gMTM0MDg3KQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3N1
Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sOjEzNDA4NykKKysrIExheW91dFRlc3RzL2Zhc3QvY3Nz
L2xhcmdlLW51bWJlcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxwPgorICAgICAgICAgICAgVGVzdCBoYW5kbGluZyBvZiBzaXplcyBl
eGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgorICAgICAgICA8L3A+CisgICAg
ICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3aWR0aCwgZXhwZWN0
ZWRXaWR0aCwgb3B0X3RvbGVyYW5jZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBl
bC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKKyAgICAgICAgICAgICAgICB2YXIgc3R5bGUg
PSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7CisgICAgICAgICAgICAgICAgdmFy
IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgICAgICB2YXIg
dG9sZXJhbmNlID0gb3B0X3RvbGVyYW5jZSB8fCAwOworICAgICAgICAgICAgICAgIGlmIChNYXRo
LmFicyhlbC5vZmZzZXRXaWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRo
LmFicyhyZWN0LndpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJz
KHBhcnNlSW50KHN0eWxlLndpZHRoLCAxMCkgLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2Up
CisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lk
dGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdp
ZHRoIGFzIGV4cGVjdGVkLicpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0dXJu
cyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAnLCByZWN0LndpZHRoICcgKyByZWN0
LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0eWxlLndpZHRoICsgJywgZXhwZWN0
ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
CisgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpOworCisgICAgICAgICAgICB0
ZXN0U2l6ZSg1MDAwLCA1MDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwLCA1MDAwMCk7
CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAsIDUwMDAwMCk7CisgICAgICAgICAgICB0ZXN0
U2l6ZSg1MDAwMDAwLCA1MDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAwLCAw
KTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI0LCAzMzU1NDQyNCk7CisgICAgICAgICAg
ICB0ZXN0U2l6ZSgzMzU1NDQyNSwgMzM1NTQ0MjUsIDIpOyAvLyBmbG9hdCBpbXByZWNpc2lvbgor
ICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjYsIDMzNTU0NDI2LCAyKTsKKyAgICAgICAgICAg
IHRlc3RTaXplKDMzNTU0NDI3LCAzMzU1NDQyNywgMik7CisgICAgICAgICAgICB0ZXN0U2l6ZSgz
MzU1NDQyOCwgMzM1NTQ0MjgsIDIpOworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjksIDMz
NTU0NDI5LCAyKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDMwLCAzMzU1NDQzMCwgMik7
CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMiwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6
ZSgzNTc5MTM5NSwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7CisgICAg
ICAgICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWwpOworICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsNDMgKzIs
MTEzIEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAg
ICAgICAgIC50ZXN0IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogNTBweDsgbGVmdDogMjVw
eDsgfQorICAgICAgICA8L3N0eWxlPgogICAgIDwvaGVhZD4KICAgICA8Ym9keT4KICAgICAgICAg
PHA+Ci0gICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4
aW11bSBzdXBwb3J0ZWQgdmFsdWUuCisgICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9mIG51bWJl
cnMgb3V0c2lkZSBvZiB0aGUgc3VwcG9ydGVkIHJhbmdlLgorICAgICAgICA8L3A+CisgICAgICAg
IDxwPgorICAgICAgICAgICAgPHEgY2l0ZT0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy12YWx1
ZXMvI251bWVyaWMtdHlwZXMiPlByb3BlcnRpZXMgbWF5IHJlc3RyaWN0IG51bWVyaWMgdmFsdWVz
IHRvIHNvbWUgcmFuZ2UuIElmIHRoZSB2YWx1ZSBpcyBvdXRzaWRlIHRoZSBhbGxvd2VkIHJhbmdl
LCB0aGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZCBhbmQgbXVzdCBiZSBpZ25vcmVkLjwvcT4KKyAg
ICAgICAgICAgIEFzIHBlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy12
YWx1ZXMvI251bWVyaWMtdHlwZXMiPkNTUzMgc3BlY2lmaWNhdGlvbjwvYT4uCiAgICAgICAgIDwv
cD4KICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTaXplKHdpZHRo
LCBleHBlY3RlZFdpZHRoLCBvcHRfdG9sZXJhbmNlKQorICAgICAgICAgICAgZnVuY3Rpb24gdGVz
dFNpemUod2lkdGgsIG9wdF9leHBlY3RlZFdpZHRoKQogICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHZhciBleHBlY3RlZFdpZHRoID0gdHlwZW9mIG9wdF9leHBlY3RlZFdpZHRoID09ICdu
dW1iZXInID8gb3B0X2V4cGVjdGVkV2lkdGggOiB3aWR0aDsKKyAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICBlbC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKKwogICAgICAgICAg
ICAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKTsKICAg
ICAgICAgICAgICAgICB2YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAg
ICAgICAgICAgICAgIHZhciB0b2xlcmFuY2UgPSBvcHRfdG9sZXJhbmNlIHx8IDA7Ci0gICAgICAg
ICAgICAgICAgaWYgKE1hdGguYWJzKGVsLm9mZnNldFdpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0g
dG9sZXJhbmNlICYmIE1hdGguYWJzKHJlY3Qud2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xl
cmFuY2UgJiYgTWF0aC5hYnMocGFyc2VJbnQoc3R5bGUud2lkdGgsIDEwKSAtIGV4cGVjdGVkV2lk
dGgpIDw9IHRvbGVyYW5jZSkKKyAgICAgICAgICAgICAgICB2YXIgY29tcHV0ZWRXaWR0aCA9IE51
bWJlcihzdHlsZS53aWR0aC5yZXBsYWNlKCdweCcsICcnKSk7CisgICAgICAgICAgICAgICAgaWYg
KGVsLm9mZnNldFdpZHRoID09IGV4cGVjdGVkV2lkdGggJiYgcmVjdC53aWR0aCA9PSBleHBlY3Rl
ZFdpZHRoICYmIGNvbXB1dGVkV2lkdGggPT0gZXhwZWN0ZWRXaWR0aCkKICAgICAgICAgICAgICAg
ICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0dXJu
cyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQu
Jyk7CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVk
KCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdpZHRoICcg
KyBlbC5vZmZzZXRXaWR0aCArICcsIHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGggKyAnIGFuZCBj
b21wdXRlZCB3aWR0aCAnICsgc3R5bGUud2lkdGggKyAnLCBleHBlY3RlZCAnICsgZXhwZWN0ZWRX
aWR0aCArICcuJyk7CisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1lbnQud2lk
dGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9mZnNldFdp
ZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVkIHdpZHRo
ICcgKyBjb21wdXRlZFdpZHRoICsgJywgZXhwZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicp
OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCisgICAgICAgICAgICAKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHRlc3RMZWZ0KGxlZnQsIG9wdF9leHBlY3RlZExlZnQpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVkTGVmdCA9IHR5cGVvZiBvcHRfZXhwZWN0ZWRM
ZWZ0ID09ICdudW1iZXInID8gb3B0X2V4cGVjdGVkTGVmdCA6IGxlZnQ7CisgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICAgICAgZWwuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnOworCisgICAg
ICAgICAgICAgICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwp
OworICAgICAgICAgICAgICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7
CisgICAgICAgICAgICAgICAgdmFyIGNvbXB1dGVkTGVmdCA9IE51bWJlcihzdHlsZS5sZWZ0LnJl
cGxhY2UoJ3B4JywgJycpKTsKKyAgICAgICAgICAgICAgICBpZiAoZWwub2Zmc2V0TGVmdCA9PSBl
eHBlY3RlZExlZnQgJiYgcmVjdC5sZWZ0ID09IGV4cGVjdGVkTGVmdCAmJiBjb21wdXRlZExlZnQg
PT0gZXhwZWN0ZWRMZWZ0KQorICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdlbGVtZW50
LmxlZnQgPSAnICsgbGVmdCArICdweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5k
IGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuJyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbGVtZW50LmxlZnQgPSAnICsgbGVmdCArICdw
eCwgcmV0dXJucyBvZmZzZXRMZWZ0ICcgKyBlbC5vZmZzZXRMZWZ0ICsgJywgcmVjdC5sZWZ0ICcg
KyByZWN0LmxlZnQgKyAnIGFuZCBjb21wdXRlZCBsZWZ0ICcgKyBjb21wdXRlZExlZnQgKyAnLCBl
eHBlY3RlZCAnICsgZXhwZWN0ZWRMZWZ0ICsgJy4nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGVsLmNsYXNzTmFtZSA9ICd0ZXN0JzsKICAgICAgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpOworICAgICAgICAgICAgCisgICAgICAg
ICAgICB2YXIgTUFYX1ZBTFVFID0gMzM1NTQ0Mjg7CisgICAgICAgICAgICB2YXIgTUlOX1ZBTFVF
ID0gLTMzNTU0NDMwOwogCi0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwLCA1MDAwKTsKLSAgICAg
ICAgICAgIHRlc3RTaXplKDUwMDAwLCA1MDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAw
MDAsIDUwMDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwLCA1MDAwMDAwKTsKLSAg
ICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAwLCAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMz
NTU0NDI0LCAzMzU1NDQyNCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNSwgMzM1NTQ0
MjUsIDIpOyAvLyBmbG9hdCBpbXByZWNpc2lvbgotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0
MjYsIDMzNTU0NDI2LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI3LCAzMzU1NDQy
NywgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyOCwgMzM1NTQ0MjgsIDIpOwotICAg
ICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjksIDMzNTU0NDI5LCAyKTsKLSAgICAgICAgICAgIHRl
c3RTaXplKDMzNTU0NDMwLCAzMzU1NDQzMCwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1
NDQzMiwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7Ci0gICAgICAgICAg
ICB0ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7CisgICAgICAgICAgICAvLyBUZXN0IHNldHRpbmcgc3R5
bGUud2lkdGgsIG5lZ2F0aXZlIHZhbHVlcyBhcmUgY29uc2lkZXJlZCBpbnZhbGlkLgorICAgICAg
ICAgICAgdGVzdFNpemUoMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxKTsKKyAgICAgICAgICAg
IHRlc3RTaXplKDEwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMCk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSgxMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDApOworICAgICAgICAg
ICAgdGVzdFNpemUoMTAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMCk7Cisg
ICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSgxMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdFNpemUoMTAw
MDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwMDAs
IE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwMDAwLCBNQVhfVkFM
VUUpOworCisgICAgICAgICAgICB0ZXN0U2l6ZSgwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXpl
KC0xLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMCwgMCk7CisgICAgICAgICAgICB0ZXN0
U2l6ZSgtMTAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMCwgMCk7CisgICAgICAg
ICAgICB0ZXN0U2l6ZSgtMTAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAw
LCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAwMCwgMCk7CisgICAgICAgICAgICB0
ZXN0U2l6ZSgtMTAwMDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAwMDAw
LCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAwMDAwMCwgMCk7CisgICAgICAgICAg
ICB0ZXN0U2l6ZSgtMTAwMDAwMDAwMDAwLCAwKTsKKworICAgICAgICAgICAgLy8gVGVzdCBzZXR0
aW5nIHN0eWxlLmxlZnQsIG5lZ2F0aXZlIHZhbHVlcyBhcmUgY29uc2lkZXJlZCB2YWxpZC4KKyAg
ICAgICAgICAgIHRlc3RMZWZ0KDApOworICAgICAgICAgICAgdGVzdExlZnQoMSk7CisgICAgICAg
ICAgICB0ZXN0TGVmdCgxMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDApOworICAgICAgICAg
ICAgdGVzdExlZnQoMTAwMDApOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwKTsKKyAgICAg
ICAgICAgIHRlc3RMZWZ0KDEwMDAwMDApOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAp
OworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAg
ICAgdGVzdExlZnQoMTAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0
KDEwMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAw
MDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAwMDAwMCwgTUFY
X1ZBTFVFKTsKICAgICAgICAgICAgIAorICAgICAgICAgICAgdGVzdExlZnQoLTEpOworICAgICAg
ICAgICAgdGVzdExlZnQoLTEwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDApOworICAgICAg
ICAgICAgdGVzdExlZnQoLTEwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDApOwor
ICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDApOworICAgICAgICAgICAgdGVzdExlZnQoLTEw
MDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMDAsIE1JTl9WQUxVRSk7Cisg
ICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAwMCwgTUlOX1ZBTFVFKTsKKyAgICAgICAgICAg
IHRlc3RMZWZ0KC0xMDAwMDAwMDAwMCwgTUlOX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0
KC0xMDAwMDAwMDAwMDAsIE1JTl9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAw
MDAwMDAwMCwgTUlOX1ZBTFVFKTsKKwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVD
aGlsZChlbCk7CiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvYm9keT4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDEzNDA4NykKKysrIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVz
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxNiArMCwwIEBACi1QQVNTIGVsZW1l
bnQud2lkdGggPSA1MDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNv
bXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMDBweCwg
cmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhw
ZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1l
bnQud2lkdGggPSA1MDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5k
IGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMDAw
MDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGgg
YXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQyNHB4LCByZXR1cm5zIG9m
ZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBB
U1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI1cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qu
d2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRo
ID0gMzM1NTQ0MjZweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0
ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQyN3B4LCBy
ZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBl
Y3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI4cHgsIHJldHVybnMgb2Zmc2V0V2lk
dGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVt
ZW50LndpZHRoID0gMzM1NTQ0MjlweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBh
bmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1
NDQzMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0
aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDMycHgsIHJldHVybnMg
b2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgot
UEFTUyBlbGVtZW50LndpZHRoID0gMzU3OTEzOTVweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVj
dC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lk
dGggPSAzNTc5MTM5NnB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21w
dXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVRlc3QgaGFuZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5n
IHRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3Vi
LXBpeGVsL2xhcmdlLXNpemVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9z
dWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAkocmV2aXNpb24gMTM0MDg3KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0
NSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotICAgIDxoZWFkPgotICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLSAg
ICA8L2hlYWQ+Ci0gICAgPGJvZHk+Ci0gICAgICAgIDxwPgotICAgICAgICAgICAgVGVzdCBoYW5k
bGluZyBvZiBzaXplcyBleGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgotICAg
ICAgICA8L3A+Ci0gICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6
ZSh3aWR0aCwgZXhwZWN0ZWRXaWR0aCwgb3B0X3RvbGVyYW5jZSkKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBlbC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKLSAgICAgICAgICAg
ICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7Ci0gICAg
ICAgICAgICAgICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAg
ICAgICAgICAgICB2YXIgdG9sZXJhbmNlID0gb3B0X3RvbGVyYW5jZSB8fCAwOwotICAgICAgICAg
ICAgICAgIGlmIChNYXRoLmFicyhlbC5vZmZzZXRXaWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRv
bGVyYW5jZSAmJiBNYXRoLmFicyhyZWN0LndpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJh
bmNlICYmIE1hdGguYWJzKHBhcnNlSW50KHN0eWxlLndpZHRoLCAxMCkgLSBleHBlY3RlZFdpZHRo
KSA8PSB0b2xlcmFuY2UpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1lbnQu
d2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGgg
YW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLicpOwotICAgICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0
aCArICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAnLCByZWN0
LndpZHRoICcgKyByZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0eWxlLndp
ZHRoICsgJywgZXhwZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgCi0gICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpOwot
Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwLCA1MDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXpl
KDUwMDAwLCA1MDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAsIDUwMDAwMCk7Ci0g
ICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwLCA1MDAwMDAwKTsKLSAgICAgICAgICAgIHRlc3RT
aXplKDUwMDAwMDAwLCAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI0LCAzMzU1NDQy
NCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNSwgMzM1NTQ0MjUsIDIpOyAvLyBmbG9h
dCBpbXByZWNpc2lvbgotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjYsIDMzNTU0NDI2LCAy
KTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI3LCAzMzU1NDQyNywgMik7Ci0gICAgICAg
ICAgICB0ZXN0U2l6ZSgzMzU1NDQyOCwgMzM1NTQ0MjgsIDIpOwotICAgICAgICAgICAgdGVzdFNp
emUoMzM1NTQ0MjksIDMzNTU0NDI5LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDMw
LCAzMzU1NDQzMCwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMiwgMCk7Ci0gICAg
ICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5
MTM5NiwgMCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQoZWwpOwotICAgICAgICA8L3NjcmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91
bmQtdHJpcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nz
cy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEgKzEgQEAKLVBBU1M6IHJlYWQgOTAwMTAwMDBweCBiYWNrIGFzIDBweCwgcmVhZCBhZ2FpbiBh
cyAwcHgKK1BBU1M6IHJlYWQgOTAwMTAwMDBweCBiYWNrIGFzIDMzNTU0NDI4cHgsIHJlYWQgYWdh
aW4gYXMgMzM1NTQ0MjhweApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3Nz
L2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xICsxIEBACi1QQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBhcyAwcHgsIHJlYWQg
YWdhaW4gYXMgMHB4CitQQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBhcyAzMzU1NDQyOHB4LCBy
ZWFkIGFnYWluIGFzIDMzNTU0NDI4cHgK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177023</attachid>
            <date>2012-11-30 14:15:06 -0800</date>
            <delta_ts>2012-12-07 14:45:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102735-20121130141237.patch</filename>
            <type>text/plain</type>
            <size>26397</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNjI3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTI2ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGFtcCBvdXQtb2YtcmFuZ2Ug
bnVtYmVycyBpbiBDU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjczNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEN1cnJlbnRseSB3aGVuIGEgbGFyZ2UgbnVtYmVyIChvdXRzaWRlIG9mIHRoZSBzdXBw
b3J0ZWQgcmFuZ2UpCisgICAgICAgIGlzIGFwcGxpZWQgZnJvbSBhIHN0eWxlIHJ1bGUgb3Igc2V0
IGZyb20gamF2YXNjcmlwdCB1c2luZworICAgICAgICBFbGVtZW50LnN0eWxlIHdlIGNoZWNrIGlm
IGl0IGlzIHdpdGhpbiB0aGUgc3VwcG9ydGVkIHJhbmdlIGFuZAorICAgICAgICBzZXQgaXQgdG8g
emVybyBpZiBpdCBpcyBub3QuIFRoaXMgaXMgaW5jb3JyZWN0IGFuZCBjb25mdXNpbmcuCisgICAg
ICAgIAorICAgICAgICBDaGFuZ2UgaXQgdG8gY2xhbXAgdmFsdWVzIHRvIHRoZSBzdXBwb3J0ZWQg
cmFuZ2UuIFRoaXMgbWF0Y2hlcworICAgICAgICB0aGUgYmVoYXZpb3IgaW4gR2Vja28uCisKKyAg
ICAgICAgVGVzdDogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGgpOgorICAgICAgICBDaGFuZ2UgdG8gY2xhbXAgb3V0LW9mLXJhbmdl
IHZhbHVlcyBpbnN0ZWFkIG9mIGludGVycHJldGluZyB0aGVtCisgICAgICAgIGFzIHplcm8uCisK
IDIwMTItMTEtMzAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzYxNDIuCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDEzNjI3NikKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUyLDYgKzUyLDExIEBACiB1c2luZyBuYW1lc3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CisgICAgCisvLyBNYXgvbWluIHZhbHVlcyBmb3IgQ1NTLCBuZWVkcyB0byBzbGlnaHRseSBz
bWFsbGVyL2xhcmdlciB0aGFuIHRoZSB0cnVlIG1heC9taW4gdmFsdWVzIHRvIGFsbG93IGZvciBy
b3VuZGluZyB3aXRob3V0IG92ZXJmbG93aW5nLgorLy8gRGVyaXZlZCBmcm9tIExheW91dFVuaXQ6
Om5lYXJseU1heCBhbmQgTGF5b3V0VW5pdDo6bmVhcmx5TWluIGJ1dCBoYXJkY29kZWQgaGVyZSB0
byBlbnN1cmUgY29uc2lzdGVudCBsaW1pdHMgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHN1YnBpeGVs
IHN1cHBvcnQgaXMgZW5hYmxlZC4KK2NvbnN0IGludCBtYXhWYWx1ZUZvckNzc0xlbmd0aCA9IDMz
NTU0NDI4OworY29uc3QgaW50IG1pblZhbHVlRm9yQ3NzTGVuZ3RoID0gLTMzNTU0NDMwOwogCiBz
dGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lvbihD
U1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzIHVuaXRUeXBlKQogewpAQCAtNDc5LDEwICs0ODQs
OSBAQCB0ZW1wbGF0ZTw+IHVuc2lnbmVkIENTU1ByaW1pdGl2ZVZhbHVlOjpjCiB0ZW1wbGF0ZTw+
IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aChSZW5kZXJTdHlsZSogc3R5
bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGZsb2F0IG11bHRpcGxpZXIsIGJvb2wgY29tcHV0
aW5nRm9udFNpemUpCiB7CiAjaWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkKLSAgICBkb3VibGUg
dmFsdWUgPSBjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIs
IGNvbXB1dGluZ0ZvbnRTaXplKTsKLSAgICByZXR1cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0
Pih2YWx1ZSA+IGludE1heEZvckxheW91dFVuaXQgfHwgdmFsdWUgPCBpbnRNaW5Gb3JMYXlvdXRV
bml0ID8gMC4wIDogdmFsdWUpLCBGaXhlZCk7CisgICAgcmV0dXJuIExlbmd0aChjbGFtcFRvPGZs
b2F0Pihjb21wdXRlTGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNv
bXB1dGluZ0ZvbnRTaXplKSwgbWluVmFsdWVGb3JDc3NMZW5ndGgsIG1heFZhbHVlRm9yQ3NzTGVu
Z3RoKSwgRml4ZWQpOwogI2Vsc2UKLSAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVjaXNl
Q29udmVyc2lvbjxmbG9hdD4oY29tcHV0ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9vdFN0eWxlLCBt
dWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkpLCBGaXhlZCk7CisgICAgcmV0dXJuIExlbmd0
aChjbGFtcFRvPGZsb2F0Pihyb3VuZEZvckltcHJlY2lzZUNvbnZlcnNpb248ZmxvYXQ+KGNvbXB1
dGVMZW5ndGhEb3VibGUoc3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9u
dFNpemUpKSwgbWluVmFsdWVGb3JDc3NMZW5ndGgsIG1heFZhbHVlRm9yQ3NzTGVuZ3RoKSwgRml4
ZWQpOwogI2VuZGlmCiB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNjI3NCkKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTExLTI2
ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGFtcCBvdXQt
b2YtcmFuZ2UgbnVtYmVycyBpbiBDU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMjczNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCB0ZXN0IHZlcmlmeWluZyB0aGF0IGxhcmdlIG51bWJlcnMgYXJl
IGhhbmRsZWQgY29ycmVjdGx5CisgICAgICAgIChiYXNlZCBvbiBmYXN0L3N1Yi1waXhlbC9sYXJn
ZS1zaXplcy5odG1sKS4KKyAgICAgICAgVXBkYXRlIGNzcy9sYXJnZS1udW1iZXItcm91bmQtdHJp
cCBhbmQgY3NzMy9mbGV4Ym94L2ZsZXgtYWxnb3JpdGhtLmh0bWwKKyAgICAgICAgCisgICAgICAg
ICogY3NzMy9mbGV4Ym94L2ZsZXgtYWxnb3JpdGhtLmh0bWw6CisgICAgICAgICogZmFzdC9jc3Mv
bGFyZ2UtbnVtYmVycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2xh
cmdlLW51bWJlcnMuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwv
bGFyZ2Utc2l6ZXMuaHRtbC4KKyAgICAgICAgKiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6
ZXMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9s
YXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dDoKKwogMjAx
Mi0xMS0zMCAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtDaHJvbWl1bV0gUmViYXNlbGluaW5nIHRlc3RzIGFmZmVjdGVkIGJ5IHJlY2VudCBTa2lh
IGNoYW5nZXMKSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWFsZ29yaXRobS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWFsZ29yaXRo
bS5odG1sCShyZXZpc2lvbiAxMzYyNzYpCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxl
eC1hbGdvcml0aG0uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDkgKzEyOCw5IEBAIGJvZHkg
ewogPC9kaXY+CiAKIDxkaXYgY2xhc3M9ImZsZXhib3giPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjYwMCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwIDAgNjAwcHg7IC1tb3otZmxleDogMTAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwIDAgNjAwcHgiPjwvZGl2PgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjAiIHN0eWxlPSItd2Via2l0LWZsZXg6IDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMCAwIDYwMHB4OyAtbW96LWZsZXg6IDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMCAwIDYwMHB4Ij48L2Rpdj4KICAgPGRpdiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSI2MDAiIHN0eWxlPSItd2Via2l0LWZsZXg6IDAgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwIDYwMHB4OyAtbW96LWZsZXg6IDAgMTAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwIDYwMHB4Ij48L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIwIiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAxIDEgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwcHg7IC1tb3otZmxleDogMSAxIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMHB4Ij48L2Rpdj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIz
MzU1NDQyOCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMSAxIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMHB4OyAtbW96LWZsZXg6IDEgMSAxMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDBweCI+PC9kaXY+CiA8L2Rpdj4KIAogPCEtLSBUZXN0IGZsZXhpdGVt
IGJvcmRlcnMuIC0tPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJv
dW5kLXRyaXAuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1u
dW1iZXItcm91bmQtdHJpcC5odG1sCShyZXZpc2lvbiAxMzYyNzYpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0x
OSwyNSArMTksMzUgQEAKIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1
dGYtOCI+CiAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKyAgICAKKyAgdmFyIG91dHB1dCA9IFtdOwogCi0gIHZhciBib3ggPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnYm94Jyk7CisgIGZ1bmN0aW9uIHRlc3QodmFsdWUpCisgIHsKKyAgICB2
YXIgYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JveCcpOwogCi0gIHZhciB0ZXN0VmFs
dWUgPSAiOTAwMTAwMDBweCI7Ci0gIGJveC5zdHlsZS5sZWZ0ID0gdGVzdFZhbHVlOworICAgIHZh
ciB0ZXN0VmFsdWUgPSB2YWx1ZSArICJweCI7CisgICAgYm94LnN0eWxlLmxlZnQgPSB0ZXN0VmFs
dWU7CiAKLSAgdmFyIGxlZnRWYWx1ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGJveCwgbnVs
bCkubGVmdDsKKyAgICB2YXIgbGVmdFZhbHVlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoYm94
LCBudWxsKS5sZWZ0OwogCi0gIGJveC5zdHlsZS5sZWZ0ID0gIjBweCI7Ci0gIGJveC5zdHlsZS5s
ZWZ0ID0gbGVmdFZhbHVlOwotICB2YXIgbmV3TGVmdFZhbHVlID0gd2luZG93LmdldENvbXB1dGVk
U3R5bGUoYm94LCBudWxsKS5sZWZ0OworICAgIGJveC5zdHlsZS5sZWZ0ID0gIjBweCI7CisgICAg
Ym94LnN0eWxlLmxlZnQgPSBsZWZ0VmFsdWU7CisgICAgdmFyIG5ld0xlZnRWYWx1ZSA9IHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGJveCwgbnVsbCkubGVmdDsKIAotICB2YXIgcmVzdWx0cyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzJyk7Ci0gIHZhciByZXN1bHQ7Ci0gIGlmIChs
ZWZ0VmFsdWUgPT0gbmV3TGVmdFZhbHVlKQotICAgIHJlc3VsdCA9ICJQQVNTOiByZWFkICIgKyB0
ZXN0VmFsdWUgKyAiIGJhY2sgYXMgIiArIGxlZnRWYWx1ZSArICIsIHJlYWQgYWdhaW4gYXMgIiAr
IG5ld0xlZnRWYWx1ZTsKLSAgZWxzZQotICAgIHJlc3VsdCA9ICJGQUlMOiByZWFkICIgKyB0ZXN0
VmFsdWUgKyAiIGJhY2sgYXMgIiArIGxlZnRWYWx1ZSArICIsIHJlYWQgYWdhaW4gYXMgIiArIG5l
d0xlZnRWYWx1ZTsKLSAgcmVzdWx0cy5pbm5lckhUTUwgPSByZXN1bHQ7CisgICAgdmFyIHJlc3Vs
dHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0cycpOworICAgIHZhciByZXN1bHQ7
CisgICAgaWYgKGxlZnRWYWx1ZSA9PSBuZXdMZWZ0VmFsdWUpCisgICAgICBvdXRwdXQucHVzaCgi
UEFTUzogcmVhZCAiICsgdGVzdFZhbHVlICsgIiBiYWNrIGFzICIgKyBsZWZ0VmFsdWUgKyAiLCBy
ZWFkIGFnYWluIGFzICIgKyBuZXdMZWZ0VmFsdWUpOworICAgIGVsc2UKKyAgICAgIG91dHB1dC5w
dXNoKCJGQUlMOiByZWFkICIgKyB0ZXN0VmFsdWUgKyAiIGJhY2sgYXMgIiArIGxlZnRWYWx1ZSAr
ICIsIHJlYWQgYWdhaW4gYXMgIiArIG5ld0xlZnRWYWx1ZSk7CisgIH0KKyAgCisgIHRlc3QoOTAw
MTAwMDApOworICB0ZXN0KC0zMzU1NDQzMCk7CisgIHRlc3QoLTkwMDEwMDAwKTsKKyAgCisgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzJykuaW5uZXJIVE1MID0gb3V0cHV0LmpvaW4o
Jzxicj4nKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw1MyBAQAorUEFTUyBlbGVtZW50LndpZHRoID0gMHB4LCByZXR1cm5z
IG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC53aWR0aCA9IDFweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0
aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAx
MHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBh
cyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMHB4LCByZXR1cm5zIG9mZnNldFdp
ZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxl
bWVudC53aWR0aCA9IDEwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5k
IGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAw
cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFz
IGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMHB4LCByZXR1cm5zIG9mZnNl
dFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1Mg
ZWxlbWVudC53aWR0aCA9IDEwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lk
dGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0g
MTAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVk
IHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDAwMHB4LCBy
ZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBl
Y3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0
V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBl
bGVtZW50LndpZHRoID0gMTAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qu
d2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRo
ID0gMTAwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBj
b21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDBweCwgcmV0
dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0
ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMXB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0
LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0
aCA9IC0xMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3
aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDBweCwgcmV0dXJucyBv
ZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQ
QVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53
aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGgg
PSAtMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVk
IHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEwMDAwMDBweCwgcmV0
dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0
ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQud2lkdGggPSAtMTAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGgg
YW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEw
MDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQg
d2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwMDAwMDBweCwg
cmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhw
ZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zm
c2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LmxlZnQgPSAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBj
b21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxcHgsIHJldHVy
bnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgor
UEFTUyBlbGVtZW50LmxlZnQgPSAxMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBh
bmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAwcHgs
IHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJl
Y3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0
ID0gMTAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBs
ZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwcHgsIHJldHVybnMg
b2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVm
dCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gMTAw
MDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0
IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMDAwcHgsIHJldHVybnMg
b2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3Qu
bGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0g
MTAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRl
ZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAwMDAwMDAwcHgs
IHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMXB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3Qu
bGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0g
LTEwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFz
IGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTAwcHgsIHJldHVybnMgb2Zmc2V0TGVm
dCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50
LmxlZnQgPSAtMTAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1
dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDBweCwgcmV0
dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQu
CitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVj
dC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQg
PSAtMTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVk
IGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwMDBweCwgcmV0
dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQu
CitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwg
cmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lmxl
ZnQgPSAtMTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNv
bXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwMDAw
MDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMg
ZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwMDAwMDAwcHgsIHJldHVybnMg
b2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorVGVz
dCBoYW5kbGluZyBvZiBudW1iZXJzIG91dHNpZGUgb2YgdGhlIHN1cHBvcnRlZCByYW5nZS4KKwor
UHJvcGVydGllcyBtYXkgcmVzdHJpY3QgbnVtZXJpYyB2YWx1ZXMgdG8gc29tZSByYW5nZS4gSWYg
dGhlIHZhbHVlIGlzIG91dHNpZGUgdGhlIGFsbG93ZWQgcmFuZ2UsIHRoZSBkZWNsYXJhdGlvbiBp
cyBpbnZhbGlkIGFuZCBtdXN0IGJlIGlnbm9yZWQuIEFzIHBlciB0aGUgQ1NTMyBzcGVjaWZpY2F0
aW9uLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMuaHRtbAkocmV2aXNp
b24gMTM0MDg3KQkoZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5o
dG1sOjEzNDA4NykKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPgor
ICAgICAgICAgICAgVGVzdCBoYW5kbGluZyBvZiBzaXplcyBleGNlZWRpbmcgdGhlIG1heGltdW0g
c3VwcG9ydGVkIHZhbHVlLgorICAgICAgICA8L3A+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAg
ICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3aWR0aCwgZXhwZWN0ZWRXaWR0aCwgb3B0X3RvbGVyYW5j
ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlbC5zdHlsZS53aWR0aCA9IHdpZHRo
ICsgJ3B4JzsKKyAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShlbCwgbnVsbCk7CisgICAgICAgICAgICAgICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgICAgICB2YXIgdG9sZXJhbmNlID0gb3B0X3RvbGVy
YW5jZSB8fCAwOworICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhlbC5vZmZzZXRXaWR0aCAt
IGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhyZWN0LndpZHRoIC0gZXhw
ZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJzKHBhcnNlSW50KHN0eWxlLndpZHRo
LCAxMCkgLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UpCisgICAgICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zm
c2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLicpOwor
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnZWxl
bWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAnICsgZWwu
b2Zmc2V0V2lkdGggKyAnLCByZWN0LndpZHRoICcgKyByZWN0LndpZHRoICsgJyBhbmQgY29tcHV0
ZWQgd2lkdGggJyArIHN0eWxlLndpZHRoICsgJywgZXhwZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGgg
KyAnLicpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICB2YXIgZWwg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZWwpOworCisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwLCA1MDAwKTsK
KyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwLCA1MDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6
ZSg1MDAwMDAsIDUwMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAwLCA1MDAwMDAw
KTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RT
aXplKDMzNTU0NDI0LCAzMzU1NDQyNCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNSwg
MzM1NTQ0MjUsIDIpOyAvLyBmbG9hdCBpbXByZWNpc2lvbgorICAgICAgICAgICAgdGVzdFNpemUo
MzM1NTQ0MjYsIDMzNTU0NDI2LCAyKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI3LCAz
MzU1NDQyNywgMik7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyOCwgMzM1NTQ0MjgsIDIp
OworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjksIDMzNTU0NDI5LCAyKTsKKyAgICAgICAg
ICAgIHRlc3RTaXplKDMzNTU0NDMwLCAzMzU1NDQzMCwgMik7CisgICAgICAgICAgICB0ZXN0U2l6
ZSgzMzU1NDQzMiwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7CisgICAg
ICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWwpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJz
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5o
dG1sCShyZXZpc2lvbiAxMzQwODcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1i
ZXJzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIsNDMgKzIsMTEzIEBACiA8aHRtbD4KICAgICA8
aGVhZD4KICAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIC50ZXN0IHsgcG9zaXRp
b246IGFic29sdXRlOyB3aWR0aDogNTBweDsgbGVmdDogMjVweDsgfQorICAgICAgICA8L3N0eWxl
PgogICAgIDwvaGVhZD4KICAgICA8Ym9keT4KICAgICAgICAgPHA+Ci0gICAgICAgICAgICBUZXN0
IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgdmFsdWUu
CisgICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9mIG51bWJlcnMgb3V0c2lkZSBvZiB0aGUgc3Vw
cG9ydGVkIHJhbmdlLgorICAgICAgICA8L3A+CisgICAgICAgIDxwPgorICAgICAgICAgICAgPHEg
Y2l0ZT0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy12YWx1ZXMvI251bWVyaWMtdHlwZXMiPlBy
b3BlcnRpZXMgbWF5IHJlc3RyaWN0IG51bWVyaWMgdmFsdWVzIHRvIHNvbWUgcmFuZ2UuIElmIHRo
ZSB2YWx1ZSBpcyBvdXRzaWRlIHRoZSBhbGxvd2VkIHJhbmdlLCB0aGUgZGVjbGFyYXRpb24gaXMg
aW52YWxpZCBhbmQgbXVzdCBiZSBpZ25vcmVkLjwvcT4KKyAgICAgICAgICAgIEFzIHBlciB0aGUg
PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy12YWx1ZXMvI251bWVyaWMtdHlwZXMi
PkNTUzMgc3BlY2lmaWNhdGlvbjwvYT4uCiAgICAgICAgIDwvcD4KICAgICAgICAgPHNjcmlwdD4K
LSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTaXplKHdpZHRoLCBleHBlY3RlZFdpZHRoLCBvcHRf
dG9sZXJhbmNlKQorICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNpemUod2lkdGgsIG9wdF9leHBl
Y3RlZFdpZHRoKQogICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHZhciBleHBlY3RlZFdp
ZHRoID0gdHlwZW9mIG9wdF9leHBlY3RlZFdpZHRoID09ICdudW1iZXInID8gb3B0X2V4cGVjdGVk
V2lkdGggOiB3aWR0aDsKKyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBlbC5zdHls
ZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKKwogICAgICAgICAgICAgICAgIHZhciBzdHlsZSA9IHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKTsKICAgICAgICAgICAgICAgICB2YXIgcmVj
dCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgICAgICAgICAgICAgIHZhciB0b2xl
cmFuY2UgPSBvcHRfdG9sZXJhbmNlIHx8IDA7Ci0gICAgICAgICAgICAgICAgaWYgKE1hdGguYWJz
KGVsLm9mZnNldFdpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJz
KHJlY3Qud2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocGFy
c2VJbnQoc3R5bGUud2lkdGgsIDEwKSAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSkKKyAg
ICAgICAgICAgICAgICB2YXIgY29tcHV0ZWRXaWR0aCA9IE51bWJlcihzdHlsZS53aWR0aC5yZXBs
YWNlKCdweCcsICcnKSk7CisgICAgICAgICAgICAgICAgaWYgKGVsLm9mZnNldFdpZHRoID09IGV4
cGVjdGVkV2lkdGggJiYgcmVjdC53aWR0aCA9PSBleHBlY3RlZFdpZHRoICYmIGNvbXB1dGVkV2lk
dGggPT0gZXhwZWN0ZWRXaWR0aCkKICAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnZWxl
bWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53
aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuJyk7CiAgICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbGVtZW50LndpZHRoID0gJyAr
IHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdpZHRoICcgKyBlbC5vZmZzZXRXaWR0aCArICcs
IHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGggKyAnIGFuZCBjb21wdXRlZCB3aWR0aCAnICsgc3R5
bGUud2lkdGggKyAnLCBleHBlY3RlZCAnICsgZXhwZWN0ZWRXaWR0aCArICcuJyk7CisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAncHgs
IHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9mZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAn
ICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVkIHdpZHRoICcgKyBjb21wdXRlZFdpZHRoICsg
JywgZXhwZWN0ZWQgJyArIGV4cGVjdGVkV2lkdGggKyAnLicpOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgCisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RMZWZ0KGxl
ZnQsIG9wdF9leHBlY3RlZExlZnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFy
IGV4cGVjdGVkTGVmdCA9IHR5cGVvZiBvcHRfZXhwZWN0ZWRMZWZ0ID09ICdudW1iZXInID8gb3B0
X2V4cGVjdGVkTGVmdCA6IGxlZnQ7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
ZWwuc3R5bGUubGVmdCA9IGxlZnQgKyAncHgnOworCisgICAgICAgICAgICAgICAgdmFyIHN0eWxl
ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpOworICAgICAgICAgICAgICAgIHZh
ciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICAgICAgdmFy
IGNvbXB1dGVkTGVmdCA9IE51bWJlcihzdHlsZS5sZWZ0LnJlcGxhY2UoJ3B4JywgJycpKTsKKyAg
ICAgICAgICAgICAgICBpZiAoZWwub2Zmc2V0TGVmdCA9PSBleHBlY3RlZExlZnQgJiYgcmVjdC5s
ZWZ0ID09IGV4cGVjdGVkTGVmdCAmJiBjb21wdXRlZExlZnQgPT0gZXhwZWN0ZWRMZWZ0KQorICAg
ICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdlbGVtZW50LmxlZnQgPSAnICsgbGVmdCArICdw
eCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhw
ZWN0ZWQuJyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCdlbGVtZW50LmxlZnQgPSAnICsgbGVmdCArICdweCwgcmV0dXJucyBvZmZzZXRMZWZ0
ICcgKyBlbC5vZmZzZXRMZWZ0ICsgJywgcmVjdC5sZWZ0ICcgKyByZWN0LmxlZnQgKyAnIGFuZCBj
b21wdXRlZCBsZWZ0ICcgKyBjb21wdXRlZExlZnQgKyAnLCBleHBlY3RlZCAnICsgZXhwZWN0ZWRM
ZWZ0ICsgJy4nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAg
ICAgIGVsLmNsYXNzTmFtZSA9ICd0ZXN0JzsKICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZWwpOworICAgICAgICAgICAgCisgICAgICAgICAgICB2YXIgTUFYX1ZBTFVFID0g
MzM1NTQ0Mjg7CisgICAgICAgICAgICB2YXIgTUlOX1ZBTFVFID0gLTMzNTU0NDMwOwogCi0gICAg
ICAgICAgICB0ZXN0U2l6ZSg1MDAwLCA1MDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAw
LCA1MDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAsIDUwMDAwMCk7Ci0gICAgICAg
ICAgICB0ZXN0U2l6ZSg1MDAwMDAwLCA1MDAwMDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUw
MDAwMDAwLCAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI0LCAzMzU1NDQyNCk7Ci0g
ICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNSwgMzM1NTQ0MjUsIDIpOyAvLyBmbG9hdCBpbXBy
ZWNpc2lvbgotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjYsIDMzNTU0NDI2LCAyKTsKLSAg
ICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI3LCAzMzU1NDQyNywgMik7Ci0gICAgICAgICAgICB0
ZXN0U2l6ZSgzMzU1NDQyOCwgMzM1NTQ0MjgsIDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1
NTQ0MjksIDMzNTU0NDI5LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDMwLCAzMzU1
NDQzMCwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMiwgMCk7Ci0gICAgICAgICAg
ICB0ZXN0U2l6ZSgzNTc5MTM5NSwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5Niwg
MCk7CisgICAgICAgICAgICAvLyBUZXN0IHNldHRpbmcgc3R5bGUud2lkdGgsIG5lZ2F0aXZlIHZh
bHVlcyBhcmUgY29uc2lkZXJlZCBpbnZhbGlkLgorICAgICAgICAgICAgdGVzdFNpemUoMCk7Cisg
ICAgICAgICAgICB0ZXN0U2l6ZSgxKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwKTsKKyAgICAg
ICAgICAgIHRlc3RTaXplKDEwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMCk7CisgICAg
ICAgICAgICB0ZXN0U2l6ZSgxMDAwMDApOworICAgICAgICAgICAgdGVzdFNpemUoMTAwMDAwMCk7
CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgx
MDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwLCBN
QVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdFNpemUoMTAwMDAwMDAwMDAsIE1BWF9WQUxVRSk7
CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAg
ICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworCisgICAgICAgICAgICB0
ZXN0U2l6ZSgwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xLCAwKTsKKyAgICAgICAgICAg
IHRlc3RTaXplKC0xMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwLCAwKTsKKyAgICAg
ICAgICAgIHRlc3RTaXplKC0xMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAw
LCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRl
c3RTaXplKC0xMDAwMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwMDAwLCAw
KTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRl
c3RTaXplKC0xMDAwMDAwMDAwMCwgMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgtMTAwMDAwMDAw
MDAwLCAwKTsKKworICAgICAgICAgICAgLy8gVGVzdCBzZXR0aW5nIHN0eWxlLmxlZnQsIG5lZ2F0
aXZlIHZhbHVlcyBhcmUgY29uc2lkZXJlZCB2YWxpZC4KKyAgICAgICAgICAgIHRlc3RMZWZ0KDAp
OworICAgICAgICAgICAgdGVzdExlZnQoMSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMCk7Cisg
ICAgICAgICAgICB0ZXN0TGVmdCgxMDApOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDApOwor
ICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAw
MDApOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDApOworICAgICAgICAgICAgdGVzdExl
ZnQoMTAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAw
MCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMDAwMDAwMDAwLCBNQVhfVkFM
VUUpOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAg
ICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKICAgICAgICAgICAg
IAorICAgICAgICAgICAgdGVzdExlZnQoLTEpOworICAgICAgICAgICAgdGVzdExlZnQoLTEwKTsK
KyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDApOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAw
KTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDApOworICAgICAgICAgICAgdGVzdExlZnQo
LTEwMDAwMDApOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDAwKTsKKyAgICAgICAgICAg
IHRlc3RMZWZ0KC0xMDAwMDAwMDAsIE1JTl9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgt
MTAwMDAwMDAwMCwgTUlOX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMDAw
MCwgTUlOX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMDAwMDAsIE1JTl9W
QUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAwMDAwMCwgTUlOX1ZBTFVFKTsK
KwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbCk7CiAgICAgICAgIDwv
c2NyaXB0PgogICAgIDwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xh
cmdlLXNpemVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3N1
Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEzNjI3NikKKysrIExh
eW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwxNiArMCwwIEBACi1QQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwcHgsIHJl
dHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVj
dGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwg
cmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQu
d2lkdGggPSA1MDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDAwcHgs
IHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4
cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gNTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRX
aWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVs
ZW1lbnQud2lkdGggPSAzMzU1NDQyNHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMz
NTU0NDI1cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdp
ZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gMzM1NTQ0MjZweCwgcmV0dXJu
cyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQu
Ci1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQyN3B4LCByZXR1cm5zIG9mZnNldFdpZHRoLCBy
ZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53
aWR0aCA9IDMzNTU0NDI4cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNv
bXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gMzM1NTQ0Mjlw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMg
ZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQzMHB4LCByZXR1cm5zIG9mZnNl
dFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1Mg
ZWxlbWVudC53aWR0aCA9IDMzNTU0NDMycHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lk
dGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0g
MzU3OTEzOTVweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQg
d2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzNTc5MTM5NnB4LCByZXR1
cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3Rl
ZC4KLVRlc3QgaGFuZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5nIHRoZSBtYXhpbXVtIHN1cHBvcnRl
ZCB2YWx1ZS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMu
aHRtbAkocmV2aXNpb24gMTM2Mjc2KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFy
Z2Utc2l6ZXMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotICAgIDxoZWFkPgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLSAgICA8L2hlYWQ+Ci0gICAgPGJvZHk+
Ci0gICAgICAgIDxwPgotICAgICAgICAgICAgVGVzdCBoYW5kbGluZyBvZiBzaXplcyBleGNlZWRp
bmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZhbHVlLgotICAgICAgICA8L3A+Ci0gICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3aWR0aCwgZXhwZWN0ZWRXaWR0
aCwgb3B0X3RvbGVyYW5jZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBlbC5zdHls
ZS53aWR0aCA9IHdpZHRoICsgJ3B4JzsKLSAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7Ci0gICAgICAgICAgICAgICAgdmFyIHJlY3Qg
PSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICAgICAgICAgICAgICB2YXIgdG9sZXJh
bmNlID0gb3B0X3RvbGVyYW5jZSB8fCAwOwotICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhl
bC5vZmZzZXRXaWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhy
ZWN0LndpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJzKHBhcnNl
SW50KHN0eWxlLndpZHRoLCAxMCkgLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UpCi0gICAg
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lkdGggKyAn
cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFz
IGV4cGVjdGVkLicpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0dXJucyBvZmZz
ZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAnLCByZWN0LndpZHRoICcgKyByZWN0LndpZHRo
ICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIHN0eWxlLndpZHRoICsgJywgZXhwZWN0ZWQgJyAr
IGV4cGVjdGVkV2lkdGggKyAnLicpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAg
ICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpOwotCi0gICAgICAgICAgICB0ZXN0U2l6
ZSg1MDAwLCA1MDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwLCA1MDAwMCk7Ci0gICAg
ICAgICAgICB0ZXN0U2l6ZSg1MDAwMDAsIDUwMDAwMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSg1
MDAwMDAwLCA1MDAwMDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAwLCAwKTsKLSAg
ICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI0LCAzMzU1NDQyNCk7Ci0gICAgICAgICAgICB0ZXN0
U2l6ZSgzMzU1NDQyNSwgMzM1NTQ0MjUsIDIpOyAvLyBmbG9hdCBpbXByZWNpc2lvbgotICAgICAg
ICAgICAgdGVzdFNpemUoMzM1NTQ0MjYsIDMzNTU0NDI2LCAyKTsKLSAgICAgICAgICAgIHRlc3RT
aXplKDMzNTU0NDI3LCAzMzU1NDQyNywgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQy
OCwgMzM1NTQ0MjgsIDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjksIDMzNTU0NDI5
LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDMwLCAzMzU1NDQzMCwgMik7Ci0gICAg
ICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQzMiwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5
MTM5NSwgMCk7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzNTc5MTM5NiwgMCk7Ci0gICAgICAgICAg
ICAKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWwpOwotICAgICAgICA8
L3NjcmlwdD4KLSAgICA8L2JvZHk+Ci08L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9jc3MvbGFy
Z2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzYyNzYpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQt
dHJpcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEgKzEsMyBAQAotUEFTUzogcmVh
ZCA5MDAxMDAwMHB4IGJhY2sgYXMgMHB4LCByZWFkIGFnYWluIGFzIDBweAorUEFTUzogcmVhZCA5
MDAxMDAwMHB4IGJhY2sgYXMgMzM1NTQ0MjhweCwgcmVhZCBhZ2FpbiBhcyAzMzU1NDQyOHB4CitQ
QVNTOiByZWFkIC0zMzU1NDQzMHB4IGJhY2sgYXMgLTMzNTU0NDMwcHgsIHJlYWQgYWdhaW4gYXMg
LTMzNTU0NDMwcHgKK1BBU1M6IHJlYWQgLTkwMDEwMDAwcHggYmFjayBhcyAtMzM1NTQ0MzBweCwg
cmVhZCBhZ2FpbiBhcyAtMzM1NTQ0MzBweApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5k
LXRyaXAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMzYyNzYpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xICsxLDMgQEAKLVBBU1M6IHJlYWQgOTAwMTAwMDBweCBiYWNrIGFz
IDBweCwgcmVhZCBhZ2FpbiBhcyAwcHgKK1BBU1M6IHJlYWQgOTAwMTAwMDBweCBiYWNrIGFzIDMz
NTU0NDI4cHgsIHJlYWQgYWdhaW4gYXMgMzM1NTQ0MjhweAorUEFTUzogcmVhZCAtMzM1NTQ0MzBw
eCBiYWNrIGFzIC0zMzU1NDQzMHB4LCByZWFkIGFnYWluIGFzIC0zMzU1NDQzMHB4CitQQVNTOiBy
ZWFkIC05MDAxMDAwMHB4IGJhY2sgYXMgLTMzNTU0NDMwcHgsIHJlYWQgYWdhaW4gYXMgLTMzNTU0
NDMwcHgK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178284</attachid>
            <date>2012-12-07 14:45:11 -0800</date>
            <delta_ts>2012-12-10 11:44:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102735-20121207144235.patch</filename>
            <type>text/plain</type>
            <size>26639</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNjk4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEyLTA3ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGFtcCBvdXQtb2YtcmFuZ2Ug
bnVtYmVycyBpbiBDU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjczNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEN1cnJlbnRseSB3aGVuIGEgbGFyZ2UgbnVtYmVyIChvdXRzaWRlIG9mIHRoZSBzdXBw
b3J0ZWQgcmFuZ2UpCisgICAgICAgIGlzIGFwcGxpZWQgZnJvbSBhIHN0eWxlIHJ1bGUgb3Igc2V0
IGZyb20gamF2YXNjcmlwdCB1c2luZworICAgICAgICBFbGVtZW50LnN0eWxlIHdlIGNoZWNrIGlm
IGl0IGlzIHdpdGhpbiB0aGUgc3VwcG9ydGVkIHJhbmdlIGFuZAorICAgICAgICBzZXQgaXQgdG8g
emVybyBpZiBpdCBpcyBub3QuIFRoaXMgaXMgaW5jb3JyZWN0IGFuZCBjb25mdXNpbmcuCisgICAg
ICAgIAorICAgICAgICBDaGFuZ2UgaXQgdG8gY2xhbXAgdmFsdWVzIHRvIHRoZSBzdXBwb3J0ZWQg
cmFuZ2UuIFRoaXMgbWF0Y2hlcworICAgICAgICB0aGUgYmVoYXZpb3IgaW4gR2Vja28uCisKKyAg
ICAgICAgVGVzdDogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGgpOgorICAgICAgICBDaGFuZ2UgdG8gY2xhbXAgb3V0LW9mLXJhbmdl
IHZhbHVlcyBpbnN0ZWFkIG9mIGludGVycHJldGluZyB0aGVtCisgICAgICAgIGFzIHplcm8uCisK
IDIwMTItMTItMDcgIFNjb3R0IFZpb2xldCAgPHNreUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W2Nocm9taXVtXSBSZW1vdmUgbGludXggdGhlbWUgcmVsYXRlZCBmaWxlcyBhbmQgc3dpdGNoIHRv
IGRlZmF1bHQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAko
cmV2aXNpb24gMTM2OTgwKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNvdW50ZXIu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRm9udC5oIgorI2luY2x1
ZGUgIkxheW91dFVuaXQuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFpci5oIgog
I2luY2x1ZGUgIlJHQkNvbG9yLmgiCkBAIC01Miw2ICs1MywxMCBAQAogdXNpbmcgbmFtZXNwYWNl
IFdURjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorLy8gTWF4L21pbiB2YWx1ZXMgZm9y
IENTUywgbmVlZHMgdG8gc2xpZ2h0bHkgc21hbGxlci9sYXJnZXIgdGhhbiB0aGUgdHJ1ZSBtYXgv
bWluIHZhbHVlcyB0byBhbGxvdyBmb3Igcm91bmRpbmcgd2l0aG91dCBvdmVyZmxvd2luZy4gU3Vi
dHJhY3QgdHdvIChyYXRoZXIgdGhhbiBvbmUpIHRvIGFsbG93IGZvciB2YWx1ZXMgdG8gYmUgY29u
dmVydGVkIHRvIGZsb2F0IGFuZCBiYWNrIHdpdGhvdXQgZXhjZWVkaW5nIHRoZSBMYXlvdXRVbml0
OjptYXguCitjb25zdCBpbnQgbWF4VmFsdWVGb3JDc3NMZW5ndGggPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPGludD46Om1heCgpIC8ga0ZpeGVkUG9pbnREZW5vbWluYXRvciAtIDI7Citjb25zdCBpbnQg
bWluVmFsdWVGb3JDc3NMZW5ndGggPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1pbigpIC8g
a0ZpeGVkUG9pbnREZW5vbWluYXRvciArIDI7CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1ZhbGlk
Q1NTVW5pdFR5cGVGb3JEb3VibGVDb252ZXJzaW9uKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlw
ZXMgdW5pdFR5cGUpCiB7CkBAIC00NzksMTAgKzQ4NCw5IEBAIHRlbXBsYXRlPD4gdW5zaWduZWQg
Q1NTUHJpbWl0aXZlVmFsdWU6OmMKIHRlbXBsYXRlPD4gTGVuZ3RoIENTU1ByaW1pdGl2ZVZhbHVl
Ojpjb21wdXRlTGVuZ3RoKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHls
ZSwgZmxvYXQgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkKIHsKICNpZiBFTkFC
TEUoU1VCUElYRUxfTEFZT1VUKQotICAgIGRvdWJsZSB2YWx1ZSA9IGNvbXB1dGVMZW5ndGhEb3Vi
bGUoc3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpOwotICAg
IHJldHVybiBMZW5ndGgoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHZhbHVlID4gaW50TWF4Rm9yTGF5b3V0
VW5pdCB8fCB2YWx1ZSA8IGludE1pbkZvckxheW91dFVuaXQgPyAwLjAgOiB2YWx1ZSksIEZpeGVk
KTsKKyAgICByZXR1cm4gTGVuZ3RoKGNsYW1wVG88ZmxvYXQ+KGNvbXB1dGVMZW5ndGhEb3VibGUo
c3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpLCBtaW5WYWx1
ZUZvckNzc0xlbmd0aCwgbWF4VmFsdWVGb3JDc3NMZW5ndGgpLCBGaXhlZCk7CiAjZWxzZQotICAg
IHJldHVybiBMZW5ndGgocm91bmRGb3JJbXByZWNpc2VDb252ZXJzaW9uPGZsb2F0Pihjb21wdXRl
TGVuZ3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRT
aXplKSksIEZpeGVkKTsKKyAgICByZXR1cm4gTGVuZ3RoKGNsYW1wVG88ZmxvYXQ+KHJvdW5kRm9y
SW1wcmVjaXNlQ29udmVyc2lvbjxmbG9hdD4oY29tcHV0ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9v
dFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkpLCBtaW5WYWx1ZUZvckNzc0xl
bmd0aCwgbWF4VmFsdWVGb3JDc3NMZW5ndGgpLCBGaXhlZCk7CiAjZW5kaWYKIH0KIApJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTM2OTgwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMTItMDcgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIENsYW1wIG91dC1vZi1yYW5nZSBudW1iZXJzIGluIENTUwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3Qg
dmVyaWZ5aW5nIHRoYXQgbGFyZ2UgbnVtYmVycyBhcmUgaGFuZGxlZCBjb3JyZWN0bHkKKyAgICAg
ICAgKGJhc2VkIG9uIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWwpLgorICAgICAgICBV
cGRhdGUgY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwIGFuZCBjc3MzL2ZsZXhib3gvZmxleC1h
bGdvcml0aG0uaHRtbAorICAgICAgICAKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleC1hbGdv
cml0aG0uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy9sYXJnZS1udW1iZXJzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sLgorICAgICAg
ICAqIGZhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sOiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVy
LXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTEyLTA3ICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIENhcHRpb25zIG1lbnUgZG9lc24ndCB1
cGRhdGUgdG8gdHJhY2sgY2hhbmdlcwpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2Zs
ZXgtYWxnb3JpdGhtLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94
L2ZsZXgtYWxnb3JpdGhtLmh0bWwJKHJldmlzaW9uIDEzNjk4MCkKKysrIExheW91dFRlc3RzL2Nz
czMvZmxleGJveC9mbGV4LWFsZ29yaXRobS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsOSAr
MTI4LDkgQEAgYm9keSB7CiA8L2Rpdj4KIAogPGRpdiBjbGFzcz0iZmxleGJveCI+Ci0gIDxkaXYg
ZGF0YS1leHBlY3RlZC13aWR0aD0iNjAwIiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAxMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMCA2MDBweDsgLW1vei1mbGV4OiAxMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMCA2MDBweCI+PC9kaXY+CisgIDxkaXYg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMTAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDAgNjAwcHg7IC1tb3otZmxleDogMTAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDAgNjAwcHgiPjwvZGl2PgogICA8ZGl2IGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjYwMCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMCAxMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgNjAwcHg7IC1tb3otZmxleDogMCAxMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgNjAwcHgiPjwvZGl2PgotICA8ZGl2IGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjAiIHN0eWxlPSItd2Via2l0LWZsZXg6IDEgMSAxMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBweDsgLW1vei1mbGV4OiAxIDEgMTAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwcHgiPjwvZGl2PgorICA8ZGl2IGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjMzNTU0NDI4IiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAxIDEgMTAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwcHg7IC1tb3otZmxleDogMSAxIDEwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMHB4Ij48L2Rpdj4KIDwvZGl2PgogCiA8IS0t
IFRlc3QgZmxleGl0ZW0gYm9yZGVycy4gLS0+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9s
YXJnZS1udW1iZXItcm91bmQtdHJpcC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLmh0bWwJKHJldmlzaW9uIDEzNjk4MCkKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTE5LDI1ICsxOSwzNSBAQAogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIGNoYXJzZXQ9InV0Zi04Ij4KICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgIAorICB2YXIgb3V0cHV0ID0gW107CiAKLSAgdmFyIGJv
eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gnKTsKKyAgZnVuY3Rpb24gdGVzdCh2YWx1
ZSkKKyAgeworICAgIHZhciBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94Jyk7CiAK
LSAgdmFyIHRlc3RWYWx1ZSA9ICI5MDAxMDAwMHB4IjsKLSAgYm94LnN0eWxlLmxlZnQgPSB0ZXN0
VmFsdWU7CisgICAgdmFyIHRlc3RWYWx1ZSA9IHZhbHVlICsgInB4IjsKKyAgICBib3guc3R5bGUu
bGVmdCA9IHRlc3RWYWx1ZTsKIAotICB2YXIgbGVmdFZhbHVlID0gd2luZG93LmdldENvbXB1dGVk
U3R5bGUoYm94LCBudWxsKS5sZWZ0OworICAgIHZhciBsZWZ0VmFsdWUgPSB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShib3gsIG51bGwpLmxlZnQ7CiAKLSAgYm94LnN0eWxlLmxlZnQgPSAiMHB4IjsK
LSAgYm94LnN0eWxlLmxlZnQgPSBsZWZ0VmFsdWU7Ci0gIHZhciBuZXdMZWZ0VmFsdWUgPSB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShib3gsIG51bGwpLmxlZnQ7CisgICAgYm94LnN0eWxlLmxlZnQg
PSAiMHB4IjsKKyAgICBib3guc3R5bGUubGVmdCA9IGxlZnRWYWx1ZTsKKyAgICB2YXIgbmV3TGVm
dFZhbHVlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoYm94LCBudWxsKS5sZWZ0OwogCi0gIHZh
ciByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKTsKLSAgdmFyIHJl
c3VsdDsKLSAgaWYgKGxlZnRWYWx1ZSA9PSBuZXdMZWZ0VmFsdWUpCi0gICAgcmVzdWx0ID0gIlBB
U1M6IHJlYWQgIiArIHRlc3RWYWx1ZSArICIgYmFjayBhcyAiICsgbGVmdFZhbHVlICsgIiwgcmVh
ZCBhZ2FpbiBhcyAiICsgbmV3TGVmdFZhbHVlOwotICBlbHNlCi0gICAgcmVzdWx0ID0gIkZBSUw6
IHJlYWQgIiArIHRlc3RWYWx1ZSArICIgYmFjayBhcyAiICsgbGVmdFZhbHVlICsgIiwgcmVhZCBh
Z2FpbiBhcyAiICsgbmV3TGVmdFZhbHVlOwotICByZXN1bHRzLmlubmVySFRNTCA9IHJlc3VsdDsK
KyAgICB2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzJyk7Cisg
ICAgdmFyIHJlc3VsdDsKKyAgICBpZiAobGVmdFZhbHVlID09IG5ld0xlZnRWYWx1ZSkKKyAgICAg
IG91dHB1dC5wdXNoKCJQQVNTOiByZWFkICIgKyB0ZXN0VmFsdWUgKyAiIGJhY2sgYXMgIiArIGxl
ZnRWYWx1ZSArICIsIHJlYWQgYWdhaW4gYXMgIiArIG5ld0xlZnRWYWx1ZSk7CisgICAgZWxzZQor
ICAgICAgb3V0cHV0LnB1c2goIkZBSUw6IHJlYWQgIiArIHRlc3RWYWx1ZSArICIgYmFjayBhcyAi
ICsgbGVmdFZhbHVlICsgIiwgcmVhZCBhZ2FpbiBhcyAiICsgbmV3TGVmdFZhbHVlKTsKKyAgfQor
ICAKKyAgdGVzdCg5MDAxMDAwMCk7CisgIHRlc3QoLTMzNTU0NDMwKTsKKyAgdGVzdCgtOTAwMTAw
MDApOworICAKKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKS5pbm5lckhUTUwg
PSBvdXRwdXQuam9pbignPGJyPicpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUzIEBACitQQVNTIGVsZW1lbnQud2lkdGgg
PSAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRo
IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMXB4LCByZXR1cm5zIG9mZnNldFdp
ZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxl
bWVudC53aWR0aCA9IDEwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNv
bXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwcHgsIHJl
dHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVj
dGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwg
cmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQu
d2lkdGggPSAxMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDAwcHgs
IHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4
cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRX
aWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVs
ZW1lbnQud2lkdGggPSAxMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0
aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAx
MDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVk
IHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDAwMDBweCwg
cmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhw
ZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZz
ZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNT
IGVsZW1lbnQud2lkdGggPSAxMDAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJl
Y3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50Lndp
ZHRoID0gMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3
aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xcHgsIHJldHVybnMgb2Zm
c2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LndpZHRoID0gLTEwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGgg
YW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEw
MHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBh
cyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMHB4LCByZXR1cm5zIG9mZnNl
dFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1Mg
ZWxlbWVudC53aWR0aCA9IC0xMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0
aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAt
MTAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3
aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMDAwMHB4LCByZXR1
cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQud2lkdGggPSAtMTAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0x
MDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRl
ZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMDAwMDAwMDBw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMg
ZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCBy
ZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVm
dCA9IDFweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQg
YXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwcHgsIHJldHVybnMgb2Zmc2V0TGVm
dCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50
LmxlZnQgPSAxMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVk
IGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwcHgsIHJldHVybnMg
b2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LmxlZnQgPSAxMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQg
YW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAw
MDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMg
ZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0
TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LmxlZnQgPSAxMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5k
IGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwMDAw
MDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMg
ZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zm
c2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBl
bGVtZW50LmxlZnQgPSAxMDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0Lmxl
ZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEw
MDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVk
IGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xcHgsIHJldHVybnMgb2Zm
c2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBl
bGVtZW50LmxlZnQgPSAtMTBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNv
bXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDBweCwgcmV0
dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQu
CitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3Qu
bGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0g
LTEwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVm
dCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDBweCwgcmV0dXJucyBv
ZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNT
IGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVm
dCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEw
MDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVm
dCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDAwMDBweCwgcmV0dXJu
cyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQ
QVNTIGVsZW1lbnQubGVmdCA9IC0xMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJl
Y3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0
ID0gLTEwMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29t
cHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDAwMDAw
MDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMg
ZXhwZWN0ZWQuCitUZXN0IGhhbmRsaW5nIG9mIG51bWJlcnMgb3V0c2lkZSBvZiB0aGUgc3VwcG9y
dGVkIHJhbmdlLgorCitQcm9wZXJ0aWVzIG1heSByZXN0cmljdCBudW1lcmljIHZhbHVlcyB0byBz
b21lIHJhbmdlLiBJZiB0aGUgdmFsdWUgaXMgb3V0c2lkZSB0aGUgYWxsb3dlZCByYW5nZSwgdGhl
IGRlY2xhcmF0aW9uIGlzIGludmFsaWQgYW5kIG11c3QgYmUgaWdub3JlZC4gQXMgcGVyIHRoZSBD
U1MzIHNwZWNpZmljYXRpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1i
ZXJzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVy
cy5odG1sCShyZXZpc2lvbiAxMzY5NzgpCShmcm9tIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVs
L2xhcmdlLXNpemVzLmh0bWw6MTM2OTc4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2Ut
bnVtYmVycy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPHA+CisgICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGlu
ZyB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgdmFsdWUuCisgICAgICAgIDwvcD4KKyAgICAgICAgPHNj
cmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTaXplKHdpZHRoLCBleHBlY3RlZFdpZHRo
LCBvcHRfdG9sZXJhbmNlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVsLnN0eWxl
LndpZHRoID0gd2lkdGggKyAncHgnOworICAgICAgICAgICAgICAgIHZhciBzdHlsZSA9IHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKTsKKyAgICAgICAgICAgICAgICB2YXIgcmVjdCA9
IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgICAgICAgICAgICAgIHZhciB0b2xlcmFu
Y2UgPSBvcHRfdG9sZXJhbmNlIHx8IDA7CisgICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKGVs
Lm9mZnNldFdpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJzKHJl
Y3Qud2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocGFyc2VJ
bnQoc3R5bGUud2lkdGgsIDEwKSAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSkKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdw
eCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMg
ZXhwZWN0ZWQuJyk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNl
dFdpZHRoICcgKyBlbC5vZmZzZXRXaWR0aCArICcsIHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGgg
KyAnIGFuZCBjb21wdXRlZCB3aWR0aCAnICsgc3R5bGUud2lkdGggKyAnLCBleHBlY3RlZCAnICsg
ZXhwZWN0ZWRXaWR0aCArICcuJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7CisKKyAgICAgICAgICAgIHRlc3RTaXpl
KDUwMDAsIDUwMDApOworICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAsIDUwMDAwKTsKKyAgICAg
ICAgICAgIHRlc3RTaXplKDUwMDAwMCwgNTAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUw
MDAwMDAsIDUwMDAwMDApOworICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwMDAsIDApOworICAg
ICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjQsIDMzNTU0NDI0KTsKKyAgICAgICAgICAgIHRlc3RT
aXplKDMzNTU0NDI1LCAzMzU1NDQyNSwgMik7IC8vIGZsb2F0IGltcHJlY2lzaW9uCisgICAgICAg
ICAgICB0ZXN0U2l6ZSgzMzU1NDQyNiwgMzM1NTQ0MjYsIDIpOworICAgICAgICAgICAgdGVzdFNp
emUoMzM1NTQ0MjcsIDMzNTU0NDI3LCAyKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI4
LCAzMzU1NDQyOCwgMik7CisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyOSwgMzM1NTQ0Mjks
IDIpOworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MzAsIDMzNTU0NDMwLCAyKTsKKyAgICAg
ICAgICAgIHRlc3RTaXplKDMzNTU0NDMyLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDM1Nzkx
Mzk1LCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk2LCAwKTsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbCk7CisgICAgICAgIDwv
c2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3Nz
L2xhcmdlLW51bWJlcnMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9s
YXJnZS1udW1iZXJzLmh0bWwJKHJldmlzaW9uIDEzNjk3OCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL2xhcmdlLW51bWJlcnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMiw0MyArMiwxMTMgQEAK
IDxodG1sPgogICAgIDxoZWFkPgogICAgICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
LnRlc3QgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiA1MHB4OyBsZWZ0OiAyNXB4OyB9Cisg
ICAgICAgIDwvc3R5bGU+CiAgICAgPC9oZWFkPgogICAgIDxib2R5PgogICAgICAgICA8cD4KLSAg
ICAgICAgICAgIFRlc3QgaGFuZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5nIHRoZSBtYXhpbXVtIHN1
cHBvcnRlZCB2YWx1ZS4KKyAgICAgICAgICAgIFRlc3QgaGFuZGxpbmcgb2YgbnVtYmVycyBvdXRz
aWRlIG9mIHRoZSBzdXBwb3J0ZWQgcmFuZ2UuCisgICAgICAgIDwvcD4KKyAgICAgICAgPHA+Cisg
ICAgICAgICAgICA8cSBjaXRlPSJodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jbnVt
ZXJpYy10eXBlcyI+UHJvcGVydGllcyBtYXkgcmVzdHJpY3QgbnVtZXJpYyB2YWx1ZXMgdG8gc29t
ZSByYW5nZS4gSWYgdGhlIHZhbHVlIGlzIG91dHNpZGUgdGhlIGFsbG93ZWQgcmFuZ2UsIHRoZSBk
ZWNsYXJhdGlvbiBpcyBpbnZhbGlkIGFuZCBtdXN0IGJlIGlnbm9yZWQuPC9xPgorICAgICAgICAg
ICAgQXMgcGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8j
bnVtZXJpYy10eXBlcyI+Q1NTMyBzcGVjaWZpY2F0aW9uPC9hPi4KICAgICAgICAgPC9wPgogICAg
ICAgICA8c2NyaXB0PgotICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNpemUod2lkdGgsIGV4cGVj
dGVkV2lkdGgsIG9wdF90b2xlcmFuY2UpCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3
aWR0aCwgb3B0X2V4cGVjdGVkV2lkdGgpCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
dmFyIGV4cGVjdGVkV2lkdGggPSB0eXBlb2Ygb3B0X2V4cGVjdGVkV2lkdGggPT0gJ251bWJlcicg
PyBvcHRfZXhwZWN0ZWRXaWR0aCA6IHdpZHRoOworICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgIGVsLnN0eWxlLndpZHRoID0gd2lkdGggKyAncHgnOworCiAgICAgICAgICAgICAgICAg
dmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpOwogICAgICAgICAg
ICAgICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgICAgICAg
ICAgICAgdmFyIHRvbGVyYW5jZSA9IG9wdF90b2xlcmFuY2UgfHwgMDsKLSAgICAgICAgICAgICAg
ICBpZiAoTWF0aC5hYnMoZWwub2Zmc2V0V2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFu
Y2UgJiYgTWF0aC5hYnMocmVjdC53aWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAm
JiBNYXRoLmFicyhwYXJzZUludChzdHlsZS53aWR0aCwgMTApIC0gZXhwZWN0ZWRXaWR0aCkgPD0g
dG9sZXJhbmNlKQorICAgICAgICAgICAgICAgIHZhciBjb21wdXRlZFdpZHRoID0gTnVtYmVyKHN0
eWxlLndpZHRoLnJlcGxhY2UoJ3B4JywgJycpKTsKKyAgICAgICAgICAgICAgICBpZiAoZWwub2Zm
c2V0V2lkdGggPT0gZXhwZWN0ZWRXaWR0aCAmJiByZWN0LndpZHRoID09IGV4cGVjdGVkV2lkdGgg
JiYgY29tcHV0ZWRXaWR0aCA9PSBleHBlY3RlZFdpZHRoKQogICAgICAgICAgICAgICAgICAgICB0
ZXN0UGFzc2VkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNl
dFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4nKTsKICAg
ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1l
bnQud2lkdGggPSAnICsgd2lkdGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9m
ZnNldFdpZHRoICsgJywgcmVjdC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVk
IHdpZHRoICcgKyBzdHlsZS53aWR0aCArICcsIGV4cGVjdGVkICcgKyBleHBlY3RlZFdpZHRoICsg
Jy4nKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcg
KyB3aWR0aCArICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAn
LCByZWN0LndpZHRoICcgKyByZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIGNv
bXB1dGVkV2lkdGggKyAnLCBleHBlY3RlZCAnICsgZXhwZWN0ZWRXaWR0aCArICcuJyk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZnVuY3Rp
b24gdGVzdExlZnQobGVmdCwgb3B0X2V4cGVjdGVkTGVmdCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICB2YXIgZXhwZWN0ZWRMZWZ0ID0gdHlwZW9mIG9wdF9leHBlY3RlZExlZnQgPT0g
J251bWJlcicgPyBvcHRfZXhwZWN0ZWRMZWZ0IDogbGVmdDsKKyAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICBlbC5zdHlsZS5sZWZ0ID0gbGVmdCArICdweCc7CisKKyAgICAgICAgICAg
ICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7CisgICAg
ICAgICAgICAgICAgdmFyIHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAg
ICAgICAgICAgICB2YXIgY29tcHV0ZWRMZWZ0ID0gTnVtYmVyKHN0eWxlLmxlZnQucmVwbGFjZSgn
cHgnLCAnJykpOworICAgICAgICAgICAgICAgIGlmIChlbC5vZmZzZXRMZWZ0ID09IGV4cGVjdGVk
TGVmdCAmJiByZWN0LmxlZnQgPT0gZXhwZWN0ZWRMZWZ0ICYmIGNvbXB1dGVkTGVmdCA9PSBleHBl
Y3RlZExlZnQpCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1lbnQubGVmdCA9
ICcgKyBsZWZ0ICsgJ3B4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0
ZWQgbGVmdCBhcyBleHBlY3RlZC4nKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1lbnQubGVmdCA9ICcgKyBsZWZ0ICsgJ3B4LCByZXR1
cm5zIG9mZnNldExlZnQgJyArIGVsLm9mZnNldExlZnQgKyAnLCByZWN0LmxlZnQgJyArIHJlY3Qu
bGVmdCArICcgYW5kIGNvbXB1dGVkIGxlZnQgJyArIGNvbXB1dGVkTGVmdCArICcsIGV4cGVjdGVk
ICcgKyBleHBlY3RlZExlZnQgKyAnLicpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOworICAgICAgICAgICAgZWwuY2xhc3NOYW1lID0gJ3Rlc3QnOwogICAgICAgICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHZh
ciBNQVhfVkFMVUUgPSAzMzU1NDQyODsKKyAgICAgICAgICAgIHZhciBNSU5fVkFMVUUgPSAtMzM1
NTQ0MzA7CiAKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAsIDUwMDApOwotICAgICAgICAgICAg
dGVzdFNpemUoNTAwMDAsIDUwMDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMCwgNTAw
MDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAsIDUwMDAwMDApOwotICAgICAgICAg
ICAgdGVzdFNpemUoNTAwMDAwMDAsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjQs
IDMzNTU0NDI0KTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI1LCAzMzU1NDQyNSwgMik7
IC8vIGZsb2F0IGltcHJlY2lzaW9uCi0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNiwgMzM1
NTQ0MjYsIDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjcsIDMzNTU0NDI3LCAyKTsK
LSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI4LCAzMzU1NDQyOCwgMik7Ci0gICAgICAgICAg
ICB0ZXN0U2l6ZSgzMzU1NDQyOSwgMzM1NTQ0MjksIDIpOwotICAgICAgICAgICAgdGVzdFNpemUo
MzM1NTQ0MzAsIDMzNTU0NDMwLCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDMyLCAw
KTsKLSAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk1LCAwKTsKLSAgICAgICAgICAgIHRlc3RT
aXplKDM1NzkxMzk2LCAwKTsKKyAgICAgICAgICAgIC8vIFRlc3Qgc2V0dGluZyBzdHlsZS53aWR0
aCwgbmVnYXRpdmUgdmFsdWVzIGFyZSBjb25zaWRlcmVkIGludmFsaWQuCisgICAgICAgICAgICB0
ZXN0U2l6ZSgwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEpOworICAgICAgICAgICAgdGVzdFNp
emUoMTApOworICAgICAgICAgICAgdGVzdFNpemUoMTAwKTsKKyAgICAgICAgICAgIHRlc3RTaXpl
KDEwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwMCk7CisgICAgICAgICAgICB0ZXN0
U2l6ZSgxMDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDAwKTsKKyAgICAgICAg
ICAgIHRlc3RTaXplKDEwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RTaXpl
KDEwMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAw
MCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDAwMDAwMCwgTUFYX1ZB
TFVFKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisK
KyAgICAgICAgICAgIHRlc3RTaXplKDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEsIDAp
OworICAgICAgICAgICAgdGVzdFNpemUoLTEwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0x
MDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwLCAwKTsKKyAgICAgICAgICAgIHRl
c3RTaXplKC0xMDAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAsIDApOwor
ICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXpl
KC0xMDAwMDAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAwMDAsIDApOwor
ICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RT
aXplKC0xMDAwMDAwMDAwMDAsIDApOworCisgICAgICAgICAgICAvLyBUZXN0IHNldHRpbmcgc3R5
bGUubGVmdCwgbmVnYXRpdmUgdmFsdWVzIGFyZSBjb25zaWRlcmVkIHZhbGlkLgorICAgICAgICAg
ICAgdGVzdExlZnQoMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxKTsKKyAgICAgICAgICAgIHRl
c3RMZWZ0KDEwKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwMCk7CisgICAgICAgICAgICB0ZXN0
TGVmdCgxMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDApOworICAgICAgICAgICAg
dGVzdExlZnQoMTAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwMCk7CisgICAg
ICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0
TGVmdCgxMDAwMDAwMDAwLCBNQVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAw
MDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwMDAwMDAsIE1B
WF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwMDAwMDAwLCBNQVhfVkFMVUUp
OwogICAgICAgICAgICAgCisgICAgICAgICAgICB0ZXN0TGVmdCgtMSk7CisgICAgICAgICAgICB0
ZXN0TGVmdCgtMTApOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMCk7CisgICAgICAgICAgICB0
ZXN0TGVmdCgtMTAwMDApOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMCk7CisgICAgICAg
ICAgICB0ZXN0TGVmdCgtMTAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDAp
OworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDAwMCwgTUlOX1ZBTFVFKTsKKyAgICAgICAg
ICAgIHRlc3RMZWZ0KC0xMDAwMDAwMDAwLCBNSU5fVkFMVUUpOworICAgICAgICAgICAgdGVzdExl
ZnQoLTEwMDAwMDAwMDAwLCBNSU5fVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAw
MDAwMDAwMCwgTUlOX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMDAwMDAw
LCBNSU5fVkFMVUUpOworCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVs
KTsKICAgICAgICAgPC9zY3JpcHQ+CiAgICAgPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MTM2OTgwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE2ICswLDAgQEAKLVBBU1MgZWxlbWVudC53aWR0
aCA9IDUwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQg
d2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMHB4LCByZXR1cm5z
IG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4K
LVBBU1MgZWxlbWVudC53aWR0aCA9IDUwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0
LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0
aCA9IDUwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0
ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDAwMHB4LCBy
ZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBl
Y3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI0cHgsIHJldHVybnMgb2Zmc2V0V2lk
dGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVt
ZW50LndpZHRoID0gMzM1NTQ0MjVweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBh
bmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1
NDQyNnB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0
aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI3cHgsIHJldHVybnMg
b2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgot
UEFTUyBlbGVtZW50LndpZHRoID0gMzM1NTQ0MjhweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVj
dC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lk
dGggPSAzMzU1NDQyOXB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21w
dXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDMwcHgs
IHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4
cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gMzM1NTQ0MzJweCwgcmV0dXJucyBvZmZzZXRX
aWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVs
ZW1lbnQud2lkdGggPSAzNTc5MTM5NXB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDM1
NzkxMzk2cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdp
ZHRoIGFzIGV4cGVjdGVkLgotVGVzdCBoYW5kbGluZyBvZiBzaXplcyBleGNlZWRpbmcgdGhlIG1h
eGltdW0gc3VwcG9ydGVkIHZhbHVlLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwv
bGFyZ2Utc2l6ZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhl
bC9sYXJnZS1zaXplcy5odG1sCShyZXZpc2lvbiAxMzY5ODApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotICAgIDwvaGVh
ZD4KLSAgICA8Ym9keT4KLSAgICAgICAgPHA+Ci0gICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9m
IHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgdmFsdWUuCi0gICAgICAgIDwv
cD4KLSAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTaXplKHdpZHRo
LCBleHBlY3RlZFdpZHRoLCBvcHRfdG9sZXJhbmNlKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIGVsLnN0eWxlLndpZHRoID0gd2lkdGggKyAncHgnOwotICAgICAgICAgICAgICAgIHZh
ciBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKTsKLSAgICAgICAgICAg
ICAgICB2YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgICAgICAgICAg
ICAgIHZhciB0b2xlcmFuY2UgPSBvcHRfdG9sZXJhbmNlIHx8IDA7Ci0gICAgICAgICAgICAgICAg
aWYgKE1hdGguYWJzKGVsLm9mZnNldFdpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNl
ICYmIE1hdGguYWJzKHJlY3Qud2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYg
TWF0aC5hYnMocGFyc2VJbnQoc3R5bGUud2lkdGgsIDEwKSAtIGV4cGVjdGVkV2lkdGgpIDw9IHRv
bGVyYW5jZSkKLSAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC53aWR0aCA9
ICcgKyB3aWR0aCArICdweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuJyk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4
LCByZXR1cm5zIG9mZnNldFdpZHRoICcgKyBlbC5vZmZzZXRXaWR0aCArICcsIHJlY3Qud2lkdGgg
JyArIHJlY3Qud2lkdGggKyAnIGFuZCBjb21wdXRlZCB3aWR0aCAnICsgc3R5bGUud2lkdGggKyAn
LCBleHBlY3RlZCAnICsgZXhwZWN0ZWRXaWR0aCArICcuJyk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7Ci0KLSAgICAg
ICAgICAgIHRlc3RTaXplKDUwMDAsIDUwMDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAs
IDUwMDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMCwgNTAwMDAwKTsKLSAgICAgICAg
ICAgIHRlc3RTaXplKDUwMDAwMDAsIDUwMDAwMDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAw
MDAwMDAsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjQsIDMzNTU0NDI0KTsKLSAg
ICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI1LCAzMzU1NDQyNSwgMik7IC8vIGZsb2F0IGltcHJl
Y2lzaW9uCi0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNiwgMzM1NTQ0MjYsIDIpOwotICAg
ICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjcsIDMzNTU0NDI3LCAyKTsKLSAgICAgICAgICAgIHRl
c3RTaXplKDMzNTU0NDI4LCAzMzU1NDQyOCwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1
NDQyOSwgMzM1NTQ0MjksIDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MzAsIDMzNTU0
NDMwLCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDMyLCAwKTsKLSAgICAgICAgICAg
IHRlc3RTaXplKDM1NzkxMzk1LCAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk2LCAw
KTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChl
bCk7Ci0gICAgICAgIDwvc2NyaXB0PgotICAgIDwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlw
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDEzNjk4MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdl
LW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSwz
IEBACi1QQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBhcyAwcHgsIHJlYWQgYWdhaW4gYXMgMHB4
CitQQVNTOiByZWFkIDkwMDEwMDAwcHggYmFjayBhcyAzMzU1NDQyOHB4LCByZWFkIGFnYWluIGFz
IDMzNTU0NDI4cHgKK1BBU1M6IHJlYWQgLTMzNTU0NDMwcHggYmFjayBhcyAtMzM1NTQ0MzBweCwg
cmVhZCBhZ2FpbiBhcyAtMzM1NTQ0MzBweAorUEFTUzogcmVhZCAtOTAwMTAwMDBweCBiYWNrIGFz
IC0zMzU1NDQzMHB4LCByZWFkIGFnYWluIGFzIC0zMzU1NDQzMHB4CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9sYXJn
ZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEzNjk4MCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEgKzEsMyBAQAotUEFTUzogcmVhZCA5MDAx
MDAwMHB4IGJhY2sgYXMgMHB4LCByZWFkIGFnYWluIGFzIDBweAorUEFTUzogcmVhZCA5MDAxMDAw
MHB4IGJhY2sgYXMgMzM1NTQ0MjhweCwgcmVhZCBhZ2FpbiBhcyAzMzU1NDQyOHB4CitQQVNTOiBy
ZWFkIC0zMzU1NDQzMHB4IGJhY2sgYXMgLTMzNTU0NDMwcHgsIHJlYWQgYWdhaW4gYXMgLTMzNTU0
NDMwcHgKK1BBU1M6IHJlYWQgLTkwMDEwMDAwcHggYmFjayBhcyAtMzM1NTQ0MzBweCwgcmVhZCBh
Z2FpbiBhcyAtMzM1NTQ0MzBweAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178603</attachid>
            <date>2012-12-10 11:44:52 -0800</date>
            <delta_ts>2012-12-11 14:57:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102735-20121210114214.patch</filename>
            <type>text/plain</type>
            <size>26564</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzE4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEyLTEwICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGFtcCBvdXQtb2YtcmFuZ2Ug
bnVtYmVycyBpbiBDU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjczNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEN1cnJlbnRseSB3aGVuIGEgbGFyZ2UgbnVtYmVyIChvdXRzaWRlIG9mIHRoZSBzdXBw
b3J0ZWQgcmFuZ2UpCisgICAgICAgIGlzIGFwcGxpZWQgZnJvbSBhIHN0eWxlIHJ1bGUgb3Igc2V0
IGZyb20gamF2YXNjcmlwdCB1c2luZworICAgICAgICBFbGVtZW50LnN0eWxlIHdlIGNoZWNrIGlm
IGl0IGlzIHdpdGhpbiB0aGUgc3VwcG9ydGVkIHJhbmdlIGFuZAorICAgICAgICBzZXQgaXQgdG8g
emVybyBpZiBpdCBpcyBub3QuIFRoaXMgaXMgaW5jb3JyZWN0IGFuZCBjb25mdXNpbmcuCisgICAg
ICAgIAorICAgICAgICBDaGFuZ2UgaXQgdG8gY2xhbXAgdmFsdWVzIHRvIHRoZSBzdXBwb3J0ZWQg
cmFuZ2UuIFRoaXMgbWF0Y2hlcworICAgICAgICB0aGUgYmVoYXZpb3IgaW4gR2Vja28uCisKKyAg
ICAgICAgVGVzdDogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCisKKyAgICAgICAgKiBjc3Mv
Q1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGgpOgorICAgICAgICBDaGFuZ2UgdG8gY2xhbXAgb3V0LW9mLXJhbmdl
IHZhbHVlcyBpbnN0ZWFkIG9mIGludGVycHJldGluZyB0aGVtCisgICAgICAgIGFzIHplcm8uCisK
IDIwMTItMTItMTAgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIEZpeCB0aGUgR1RLKyBidWlsZCBhZnRlciBhIGNvbGxpc2lvbiBvZiB0d28gcGF0Y2hl
cy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAkocmV2aXNp
b24gMTM3MTg2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNvdW50ZXIuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRm9udC5oIgorI2luY2x1ZGUgIkxh
eW91dFVuaXQuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFpci5oIgogI2luY2x1
ZGUgIlJHQkNvbG9yLmgiCkBAIC01Miw2ICs1MywxMSBAQAogdXNpbmcgbmFtZXNwYWNlIFdURjsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorLy8gTWF4L21pbiB2YWx1ZXMgZm9yIENTUywg
bmVlZHMgdG8gc2xpZ2h0bHkgc21hbGxlci9sYXJnZXIgdGhhbiB0aGUgdHJ1ZSBtYXgvbWluIHZh
bHVlcyB0byBhbGxvdyBmb3Igcm91bmRpbmcgd2l0aG91dCBvdmVyZmxvd2luZy4KKy8vIFN1YnRy
YWN0IHR3byAocmF0aGVyIHRoYW4gb25lKSB0byBhbGxvdyBmb3IgdmFsdWVzIHRvIGJlIGNvbnZl
cnRlZCB0byBmbG9hdCBhbmQgYmFjayB3aXRob3V0IGV4Y2VlZGluZyB0aGUgTGF5b3V0VW5pdDo6
bWF4LgorY29uc3QgaW50IG1heFZhbHVlRm9yQ3NzTGVuZ3RoID0gSU5UX01BWCAvIGtGaXhlZFBv
aW50RGVub21pbmF0b3IgLSAyOworY29uc3QgaW50IG1pblZhbHVlRm9yQ3NzTGVuZ3RoID0gSU5U
X01JTiAvIGtGaXhlZFBvaW50RGVub21pbmF0b3IgKyAyOwogCiBzdGF0aWMgaW5saW5lIGJvb2wg
aXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lvbihDU1NQcmltaXRpdmVWYWx1ZTo6
VW5pdFR5cGVzIHVuaXRUeXBlKQogewpAQCAtNDc5LDEwICs0ODUsOSBAQCB0ZW1wbGF0ZTw+IHVu
c2lnbmVkIENTU1ByaW1pdGl2ZVZhbHVlOjpjCiB0ZW1wbGF0ZTw+IExlbmd0aCBDU1NQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aChSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiBy
b290U3R5bGUsIGZsb2F0IG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7CiAj
aWYgRU5BQkxFKFNVQlBJWEVMX0xBWU9VVCkKLSAgICBkb3VibGUgdmFsdWUgPSBjb21wdXRlTGVu
Z3RoRG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXpl
KTsKLSAgICByZXR1cm4gTGVuZ3RoKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSA+IGludE1heEZv
ckxheW91dFVuaXQgfHwgdmFsdWUgPCBpbnRNaW5Gb3JMYXlvdXRVbml0ID8gMC4wIDogdmFsdWUp
LCBGaXhlZCk7CisgICAgcmV0dXJuIExlbmd0aChjbGFtcFRvPGZsb2F0Pihjb21wdXRlTGVuZ3Ro
RG91YmxlKHN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKSwg
bWluVmFsdWVGb3JDc3NMZW5ndGgsIG1heFZhbHVlRm9yQ3NzTGVuZ3RoKSwgRml4ZWQpOwogI2Vs
c2UKLSAgICByZXR1cm4gTGVuZ3RoKHJvdW5kRm9ySW1wcmVjaXNlQ29udmVyc2lvbjxmbG9hdD4o
Y29tcHV0ZUxlbmd0aERvdWJsZShzdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRp
bmdGb250U2l6ZSkpLCBGaXhlZCk7CisgICAgcmV0dXJuIExlbmd0aChjbGFtcFRvPGZsb2F0Pihy
b3VuZEZvckltcHJlY2lzZUNvbnZlcnNpb248ZmxvYXQ+KGNvbXB1dGVMZW5ndGhEb3VibGUoc3R5
bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpKSwgbWluVmFsdWVG
b3JDc3NMZW5ndGgsIG1heFZhbHVlRm9yQ3NzTGVuZ3RoKSwgRml4ZWQpOwogI2VuZGlmCiB9CiAK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEzNzE4NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTEwICBFbWlsIEEgRWtsdW5kICA8
ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBDbGFtcCBvdXQtb2YtcmFuZ2UgbnVtYmVycyBp
biBDU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MjczNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCB0ZXN0IHZlcmlmeWluZyB0aGF0IGxhcmdlIG51bWJlcnMgYXJlIGhhbmRsZWQgY29ycmVjdGx5
CisgICAgICAgIChiYXNlZCBvbiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1sKS4KKyAg
ICAgICAgVXBkYXRlIGNzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcCBhbmQgY3NzMy9mbGV4Ym94
L2ZsZXgtYWxnb3JpdGhtLmh0bWwKKyAgICAgICAgCisgICAgICAgICogY3NzMy9mbGV4Ym94L2Zs
ZXgtYWxnb3JpdGhtLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2xhcmdlLW51bWJlcnMuaHRtbDog
Q29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbC4K
KyAgICAgICAgKiBmYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbDogUmVtb3ZlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQt
dHJpcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2xhcmdl
LW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dDoKKwogMjAxMi0xMi0xMCAgWmFuIERvYmVy
c2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVu
aW5nLgpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgtYWxnb3JpdGhtLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgtYWxnb3JpdGhtLmh0
bWwJKHJldmlzaW9uIDEzNzE4NikKKysrIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWFs
Z29yaXRobS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsOSArMTI4LDkgQEAgYm9keSB7CiA8
L2Rpdj4KIAogPGRpdiBjbGFzcz0iZmxleGJveCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0
aD0iNjAwIiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAgMCA2MDBweDsgLW1vei1mbGV4OiAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAgMCA2MDBweCI+PC9kaXY+CisgIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0
aD0iMCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwIDAgNjAwcHg7IC1tb3otZmxleDogMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwIDAgNjAwcHgiPjwvZGl2PgogICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjYwMCIgc3R5bGU9Ii13ZWJraXQtZmxleDogMCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAgNjAwcHg7IC1tb3otZmxleDogMCAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAgNjAwcHgiPjwvZGl2PgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjAiIHN0eWxlPSItd2Via2l0LWZsZXg6IDEgMSAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDBweDsgLW1vei1mbGV4OiAxIDEgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwcHgiPjwvZGl2PgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMzNTU0
NDI4IiBzdHlsZT0iLXdlYmtpdC1mbGV4OiAxIDEgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwcHg7IC1tb3otZmxleDogMSAxIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMHB4Ij48L2Rpdj4KIDwvZGl2PgogCiA8IS0tIFRlc3QgZmxleGl0ZW0gYm9y
ZGVycy4gLS0+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQt
dHJpcC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJl
ci1yb3VuZC10cmlwLmh0bWwJKHJldmlzaW9uIDEzNzE4NikKKysrIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTE5LDI1
ICsxOSwzNSBAQAogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04
Ij4KICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworICAgIAorICB2YXIgb3V0cHV0ID0gW107CiAKLSAgdmFyIGJveCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdib3gnKTsKKyAgZnVuY3Rpb24gdGVzdCh2YWx1ZSkKKyAgeworICAgIHZhciBi
b3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94Jyk7CiAKLSAgdmFyIHRlc3RWYWx1ZSA9
ICI5MDAxMDAwMHB4IjsKLSAgYm94LnN0eWxlLmxlZnQgPSB0ZXN0VmFsdWU7CisgICAgdmFyIHRl
c3RWYWx1ZSA9IHZhbHVlICsgInB4IjsKKyAgICBib3guc3R5bGUubGVmdCA9IHRlc3RWYWx1ZTsK
IAotICB2YXIgbGVmdFZhbHVlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoYm94LCBudWxsKS5s
ZWZ0OworICAgIHZhciBsZWZ0VmFsdWUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShib3gsIG51
bGwpLmxlZnQ7CiAKLSAgYm94LnN0eWxlLmxlZnQgPSAiMHB4IjsKLSAgYm94LnN0eWxlLmxlZnQg
PSBsZWZ0VmFsdWU7Ci0gIHZhciBuZXdMZWZ0VmFsdWUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShib3gsIG51bGwpLmxlZnQ7CisgICAgYm94LnN0eWxlLmxlZnQgPSAiMHB4IjsKKyAgICBib3gu
c3R5bGUubGVmdCA9IGxlZnRWYWx1ZTsKKyAgICB2YXIgbmV3TGVmdFZhbHVlID0gd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoYm94LCBudWxsKS5sZWZ0OwogCi0gIHZhciByZXN1bHRzID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKTsKLSAgdmFyIHJlc3VsdDsKLSAgaWYgKGxlZnRW
YWx1ZSA9PSBuZXdMZWZ0VmFsdWUpCi0gICAgcmVzdWx0ID0gIlBBU1M6IHJlYWQgIiArIHRlc3RW
YWx1ZSArICIgYmFjayBhcyAiICsgbGVmdFZhbHVlICsgIiwgcmVhZCBhZ2FpbiBhcyAiICsgbmV3
TGVmdFZhbHVlOwotICBlbHNlCi0gICAgcmVzdWx0ID0gIkZBSUw6IHJlYWQgIiArIHRlc3RWYWx1
ZSArICIgYmFjayBhcyAiICsgbGVmdFZhbHVlICsgIiwgcmVhZCBhZ2FpbiBhcyAiICsgbmV3TGVm
dFZhbHVlOwotICByZXN1bHRzLmlubmVySFRNTCA9IHJlc3VsdDsKKyAgICB2YXIgcmVzdWx0cyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzJyk7CisgICAgdmFyIHJlc3VsdDsKKyAg
ICBpZiAobGVmdFZhbHVlID09IG5ld0xlZnRWYWx1ZSkKKyAgICAgIG91dHB1dC5wdXNoKCJQQVNT
OiByZWFkICIgKyB0ZXN0VmFsdWUgKyAiIGJhY2sgYXMgIiArIGxlZnRWYWx1ZSArICIsIHJlYWQg
YWdhaW4gYXMgIiArIG5ld0xlZnRWYWx1ZSk7CisgICAgZWxzZQorICAgICAgb3V0cHV0LnB1c2go
IkZBSUw6IHJlYWQgIiArIHRlc3RWYWx1ZSArICIgYmFjayBhcyAiICsgbGVmdFZhbHVlICsgIiwg
cmVhZCBhZ2FpbiBhcyAiICsgbmV3TGVmdFZhbHVlKTsKKyAgfQorICAKKyAgdGVzdCg5MDAxMDAw
MCk7CisgIHRlc3QoLTMzNTU0NDMwKTsKKyAgdGVzdCgtOTAwMTAwMDApOworICAKKyAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHMnKS5pbm5lckhUTUwgPSBvdXRwdXQuam9pbignPGJy
PicpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9sYXJnZS1udW1iZXJzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDUzIEBACitQQVNTIGVsZW1lbnQud2lkdGggPSAwcHgsIHJldHVybnMgb2Zm
c2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFT
UyBlbGVtZW50LndpZHRoID0gMXB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFu
ZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IDEwcHgs
IHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4
cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgs
IHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50
LndpZHRoID0gMTAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29t
cHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDBweCwg
cmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhw
ZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lk
dGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVt
ZW50LndpZHRoID0gMTAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBh
bmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAw
MDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lk
dGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAxMDAwMDAwMDAwcHgsIHJldHVy
bnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVk
LgorUEFTUyBlbGVtZW50LndpZHRoID0gMTAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0
aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1l
bnQud2lkdGggPSAxMDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0
aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAx
MDAwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1
dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gMHB4LCByZXR1cm5z
IG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC53aWR0aCA9IC0xcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lk
dGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0g
LTEwcHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRo
IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LndpZHRoID0gLTEwMHB4LCByZXR1cm5zIG9mZnNl
dFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1Mg
ZWxlbWVudC53aWR0aCA9IC0xMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0x
MDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lk
dGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAwMHB4LCByZXR1cm5z
IG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4K
K1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCBy
ZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53
aWR0aCA9IC0xMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQg
Y29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQud2lkdGggPSAtMTAwMDAw
MDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0
aCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMDAwMDAwMHB4LCByZXR1
cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3Rl
ZC4KK1BBU1MgZWxlbWVudC53aWR0aCA9IC0xMDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRX
aWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCitQQVNTIGVs
ZW1lbnQubGVmdCA9IDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1
dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDFweCwgcmV0dXJucyBv
ZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNT
IGVsZW1lbnQubGVmdCA9IDEwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFuZCBj
b21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDBweCwgcmV0
dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQu
CitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5s
ZWZ0IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAx
MDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQg
YXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwMDBweCwgcmV0dXJucyBvZmZz
ZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVs
ZW1lbnQubGVmdCA9IDEwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0IGFu
ZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAwMDAw
MDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMg
ZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZz
ZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVs
ZW1lbnQubGVmdCA9IDEwMDAwMDAwMDAwcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0
IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAxMDAw
MDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxl
ZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IDEwMDAwMDAwMDAwMDBweCwgcmV0
dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQu
CitQQVNTIGVsZW1lbnQubGVmdCA9IC0xcHgsIHJldHVybnMgb2Zmc2V0TGVmdCwgcmVjdC5sZWZ0
IGFuZCBjb21wdXRlZCBsZWZ0IGFzIGV4cGVjdGVkLgorUEFTUyBlbGVtZW50LmxlZnQgPSAtMTBw
eCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhw
ZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0xMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCBy
ZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVm
dCA9IC0xMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQg
bGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMHB4LCByZXR1cm5z
IG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BB
U1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0Lmxl
ZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9IC0x
MDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVm
dCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDAwMHB4LCByZXR1cm5z
IG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BB
U1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZzZXRMZWZ0LCByZWN0
LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitQQVNTIGVsZW1lbnQubGVmdCA9
IC0xMDAwMDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0
ZWQgbGVmdCBhcyBleHBlY3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDAwMDAwMHB4
LCByZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBl
Y3RlZC4KK1BBU1MgZWxlbWVudC5sZWZ0ID0gLTEwMDAwMDAwMDAwMDBweCwgcmV0dXJucyBvZmZz
ZXRMZWZ0LCByZWN0LmxlZnQgYW5kIGNvbXB1dGVkIGxlZnQgYXMgZXhwZWN0ZWQuCitUZXN0IGhh
bmRsaW5nIG9mIG51bWJlcnMgb3V0c2lkZSBvZiB0aGUgc3VwcG9ydGVkIHJhbmdlLgorCitQcm9w
ZXJ0aWVzIG1heSByZXN0cmljdCBudW1lcmljIHZhbHVlcyB0byBzb21lIHJhbmdlLiBJZiB0aGUg
dmFsdWUgaXMgb3V0c2lkZSB0aGUgYWxsb3dlZCByYW5nZSwgdGhlIGRlY2xhcmF0aW9uIGlzIGlu
dmFsaWQgYW5kIG11c3QgYmUgaWdub3JlZC4gQXMgcGVyIHRoZSBDU1MzIHNwZWNpZmljYXRpb24u
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCShyZXZpc2lvbiAx
MzcxNzQpCShmcm9tIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBpeGVsL2xhcmdlLXNpemVzLmh0bWw6
MTM3MTc0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvbGFyZ2UtbnVtYmVycy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAg
PGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+CisgICAg
ICAgICAgICBUZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0aGUgbWF4aW11bSBzdXBw
b3J0ZWQgdmFsdWUuCisgICAgICAgIDwvcD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAg
IGZ1bmN0aW9uIHRlc3RTaXplKHdpZHRoLCBleHBlY3RlZFdpZHRoLCBvcHRfdG9sZXJhbmNlKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVsLnN0eWxlLndpZHRoID0gd2lkdGggKyAn
cHgnOworICAgICAgICAgICAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGVsLCBudWxsKTsKKyAgICAgICAgICAgICAgICB2YXIgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpOworICAgICAgICAgICAgICAgIHZhciB0b2xlcmFuY2UgPSBvcHRfdG9sZXJhbmNl
IHx8IDA7CisgICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKGVsLm9mZnNldFdpZHRoIC0gZXhw
ZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJzKHJlY3Qud2lkdGggLSBleHBlY3Rl
ZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocGFyc2VJbnQoc3R5bGUud2lkdGgsIDEw
KSAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSkKKyAgICAgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0dXJucyBvZmZzZXRX
aWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuJyk7CisgICAg
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdlbGVtZW50
LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdpZHRoICcgKyBlbC5vZmZz
ZXRXaWR0aCArICcsIHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGggKyAnIGFuZCBjb21wdXRlZCB3
aWR0aCAnICsgc3R5bGUud2lkdGggKyAnLCBleHBlY3RlZCAnICsgZXhwZWN0ZWRXaWR0aCArICcu
Jyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHZhciBlbCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChlbCk7CisKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAsIDUwMDApOworICAg
ICAgICAgICAgdGVzdFNpemUoNTAwMDAsIDUwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUw
MDAwMCwgNTAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMDAsIDUwMDAwMDApOwor
ICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUo
MzM1NTQ0MjQsIDMzNTU0NDI0KTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI1LCAzMzU1
NDQyNSwgMik7IC8vIGZsb2F0IGltcHJlY2lzaW9uCisgICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1
NDQyNiwgMzM1NTQ0MjYsIDIpOworICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjcsIDMzNTU0
NDI3LCAyKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI4LCAzMzU1NDQyOCwgMik7Cisg
ICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyOSwgMzM1NTQ0MjksIDIpOworICAgICAgICAgICAg
dGVzdFNpemUoMzM1NTQ0MzAsIDMzNTU0NDMwLCAyKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDMz
NTU0NDMyLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk1LCAwKTsKKyAgICAgICAg
ICAgIHRlc3RTaXplKDM1NzkxMzk2LCAwKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZG9j
dW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbCk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9sYXJnZS1udW1iZXJzLmh0bWwJ
KHJldmlzaW9uIDEzNzE3NCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2xhcmdlLW51bWJlcnMu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMiw0MyArMiwxMTMgQEAKIDxodG1sPgogICAgIDxoZWFk
PgogICAgICAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRlc3QgeyBwb3NpdGlvbjog
YWJzb2x1dGU7IHdpZHRoOiA1MHB4OyBsZWZ0OiAyNXB4OyB9CisgICAgICAgIDwvc3R5bGU+CiAg
ICAgPC9oZWFkPgogICAgIDxib2R5PgogICAgICAgICA8cD4KLSAgICAgICAgICAgIFRlc3QgaGFu
ZGxpbmcgb2Ygc2l6ZXMgZXhjZWVkaW5nIHRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZS4KKyAg
ICAgICAgICAgIFRlc3QgaGFuZGxpbmcgb2YgbnVtYmVycyBvdXRzaWRlIG9mIHRoZSBzdXBwb3J0
ZWQgcmFuZ2UuCisgICAgICAgIDwvcD4KKyAgICAgICAgPHA+CisgICAgICAgICAgICA8cSBjaXRl
PSJodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jbnVtZXJpYy10eXBlcyI+UHJvcGVy
dGllcyBtYXkgcmVzdHJpY3QgbnVtZXJpYyB2YWx1ZXMgdG8gc29tZSByYW5nZS4gSWYgdGhlIHZh
bHVlIGlzIG91dHNpZGUgdGhlIGFsbG93ZWQgcmFuZ2UsIHRoZSBkZWNsYXJhdGlvbiBpcyBpbnZh
bGlkIGFuZCBtdXN0IGJlIGlnbm9yZWQuPC9xPgorICAgICAgICAgICAgQXMgcGVyIHRoZSA8YSBo
cmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXZhbHVlcy8jbnVtZXJpYy10eXBlcyI+Q1NT
MyBzcGVjaWZpY2F0aW9uPC9hPi4KICAgICAgICAgPC9wPgogICAgICAgICA8c2NyaXB0PgotICAg
ICAgICAgICAgZnVuY3Rpb24gdGVzdFNpemUod2lkdGgsIGV4cGVjdGVkV2lkdGgsIG9wdF90b2xl
cmFuY2UpCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2l6ZSh3aWR0aCwgb3B0X2V4cGVjdGVk
V2lkdGgpCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIGV4cGVjdGVkV2lkdGgg
PSB0eXBlb2Ygb3B0X2V4cGVjdGVkV2lkdGggPT0gJ251bWJlcicgPyBvcHRfZXhwZWN0ZWRXaWR0
aCA6IHdpZHRoOworICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIGVsLnN0eWxlLndp
ZHRoID0gd2lkdGggKyAncHgnOworCiAgICAgICAgICAgICAgICAgdmFyIHN0eWxlID0gd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpOwogICAgICAgICAgICAgICAgIHZhciByZWN0ID0g
ZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgICAgICAgICAgICAgdmFyIHRvbGVyYW5j
ZSA9IG9wdF90b2xlcmFuY2UgfHwgMDsKLSAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoZWwu
b2Zmc2V0V2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocmVj
dC53aWR0aCAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSAmJiBNYXRoLmFicyhwYXJzZUlu
dChzdHlsZS53aWR0aCwgMTApIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlKQorICAgICAg
ICAgICAgICAgIHZhciBjb21wdXRlZFdpZHRoID0gTnVtYmVyKHN0eWxlLndpZHRoLnJlcGxhY2Uo
J3B4JywgJycpKTsKKyAgICAgICAgICAgICAgICBpZiAoZWwub2Zmc2V0V2lkdGggPT0gZXhwZWN0
ZWRXaWR0aCAmJiByZWN0LndpZHRoID09IGV4cGVjdGVkV2lkdGggJiYgY29tcHV0ZWRXaWR0aCA9
PSBleHBlY3RlZFdpZHRoKQogICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdlbGVtZW50
LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRo
IGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4nKTsKICAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ2VsZW1lbnQud2lkdGggPSAnICsgd2lk
dGggKyAncHgsIHJldHVybnMgb2Zmc2V0V2lkdGggJyArIGVsLm9mZnNldFdpZHRoICsgJywgcmVj
dC53aWR0aCAnICsgcmVjdC53aWR0aCArICcgYW5kIGNvbXB1dGVkIHdpZHRoICcgKyBzdHlsZS53
aWR0aCArICcsIGV4cGVjdGVkICcgKyBleHBlY3RlZFdpZHRoICsgJy4nKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwgcmV0
dXJucyBvZmZzZXRXaWR0aCAnICsgZWwub2Zmc2V0V2lkdGggKyAnLCByZWN0LndpZHRoICcgKyBy
ZWN0LndpZHRoICsgJyBhbmQgY29tcHV0ZWQgd2lkdGggJyArIGNvbXB1dGVkV2lkdGggKyAnLCBl
eHBlY3RlZCAnICsgZXhwZWN0ZWRXaWR0aCArICcuJyk7CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZnVuY3Rpb24gdGVzdExlZnQobGVmdCwg
b3B0X2V4cGVjdGVkTGVmdCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgZXhw
ZWN0ZWRMZWZ0ID0gdHlwZW9mIG9wdF9leHBlY3RlZExlZnQgPT0gJ251bWJlcicgPyBvcHRfZXhw
ZWN0ZWRMZWZ0IDogbGVmdDsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBlbC5z
dHlsZS5sZWZ0ID0gbGVmdCArICdweCc7CisKKyAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCwgbnVsbCk7CisgICAgICAgICAgICAgICAgdmFyIHJl
Y3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAgICAgICAgICAgICAgICB2YXIgY29t
cHV0ZWRMZWZ0ID0gTnVtYmVyKHN0eWxlLmxlZnQucmVwbGFjZSgncHgnLCAnJykpOworICAgICAg
ICAgICAgICAgIGlmIChlbC5vZmZzZXRMZWZ0ID09IGV4cGVjdGVkTGVmdCAmJiByZWN0LmxlZnQg
PT0gZXhwZWN0ZWRMZWZ0ICYmIGNvbXB1dGVkTGVmdCA9PSBleHBlY3RlZExlZnQpCisgICAgICAg
ICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ2VsZW1lbnQubGVmdCA9ICcgKyBsZWZ0ICsgJ3B4LCBy
ZXR1cm5zIG9mZnNldExlZnQsIHJlY3QubGVmdCBhbmQgY29tcHV0ZWQgbGVmdCBhcyBleHBlY3Rl
ZC4nKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRlc3RGYWls
ZWQoJ2VsZW1lbnQubGVmdCA9ICcgKyBsZWZ0ICsgJ3B4LCByZXR1cm5zIG9mZnNldExlZnQgJyAr
IGVsLm9mZnNldExlZnQgKyAnLCByZWN0LmxlZnQgJyArIHJlY3QubGVmdCArICcgYW5kIGNvbXB1
dGVkIGxlZnQgJyArIGNvbXB1dGVkTGVmdCArICcsIGV4cGVjdGVkICcgKyBleHBlY3RlZExlZnQg
KyAnLicpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAg
ZWwuY2xhc3NOYW1lID0gJ3Rlc3QnOwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChlbCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHZhciBNQVhfVkFMVUUgPSAzMzU1
NDQyODsKKyAgICAgICAgICAgIHZhciBNSU5fVkFMVUUgPSAtMzM1NTQ0MzA7CiAKLSAgICAgICAg
ICAgIHRlc3RTaXplKDUwMDAsIDUwMDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAsIDUw
MDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAwMCwgNTAwMDAwKTsKLSAgICAgICAgICAg
IHRlc3RTaXplKDUwMDAwMDAsIDUwMDAwMDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAw
MDAsIDApOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MjQsIDMzNTU0NDI0KTsKLSAgICAg
ICAgICAgIHRlc3RTaXplKDMzNTU0NDI1LCAzMzU1NDQyNSwgMik7IC8vIGZsb2F0IGltcHJlY2lz
aW9uCi0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyNiwgMzM1NTQ0MjYsIDIpOwotICAgICAg
ICAgICAgdGVzdFNpemUoMzM1NTQ0MjcsIDMzNTU0NDI3LCAyKTsKLSAgICAgICAgICAgIHRlc3RT
aXplKDMzNTU0NDI4LCAzMzU1NDQyOCwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQy
OSwgMzM1NTQ0MjksIDIpOwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MzAsIDMzNTU0NDMw
LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDMyLCAwKTsKLSAgICAgICAgICAgIHRl
c3RTaXplKDM1NzkxMzk1LCAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk2LCAwKTsK
KyAgICAgICAgICAgIC8vIFRlc3Qgc2V0dGluZyBzdHlsZS53aWR0aCwgbmVnYXRpdmUgdmFsdWVz
IGFyZSBjb25zaWRlcmVkIGludmFsaWQuCisgICAgICAgICAgICB0ZXN0U2l6ZSgwKTsKKyAgICAg
ICAgICAgIHRlc3RTaXplKDEpOworICAgICAgICAgICAgdGVzdFNpemUoMTApOworICAgICAgICAg
ICAgdGVzdFNpemUoMTAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwKTsKKyAgICAgICAg
ICAgIHRlc3RTaXplKDEwMDAwMCk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwKTsKKyAg
ICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAw
MDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDAwMDAsIE1BWF9W
QUxVRSk7CisgICAgICAgICAgICB0ZXN0U2l6ZSgxMDAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAg
ICAgICAgICAgIHRlc3RTaXplKDEwMDAwMDAwMDAwMCwgTUFYX1ZBTFVFKTsKKyAgICAgICAgICAg
IHRlc3RTaXplKDEwMDAwMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisKKyAgICAgICAgICAgIHRlc3RT
aXplKDAsIDApOworICAgICAgICAgICAgdGVzdFNpemUoLTEsIDApOworICAgICAgICAgICAgdGVz
dFNpemUoLTEwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAsIDApOworICAgICAgICAg
ICAgdGVzdFNpemUoLTEwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAsIDAp
OworICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNp
emUoLTEwMDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAwMDAsIDApOwor
ICAgICAgICAgICAgdGVzdFNpemUoLTEwMDAwMDAwMDAsIDApOworICAgICAgICAgICAgdGVzdFNp
emUoLTEwMDAwMDAwMDAwLCAwKTsKKyAgICAgICAgICAgIHRlc3RTaXplKC0xMDAwMDAwMDAwMDAs
IDApOworCisgICAgICAgICAgICAvLyBUZXN0IHNldHRpbmcgc3R5bGUubGVmdCwgbmVnYXRpdmUg
dmFsdWVzIGFyZSBjb25zaWRlcmVkIHZhbGlkLgorICAgICAgICAgICAgdGVzdExlZnQoMCk7Cisg
ICAgICAgICAgICB0ZXN0TGVmdCgxKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KDEwKTsKKyAgICAg
ICAgICAgIHRlc3RMZWZ0KDEwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMCk7CisgICAg
ICAgICAgICB0ZXN0TGVmdCgxMDAwMDApOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMCk7
CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgx
MDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwMDAwLCBN
QVhfVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoMTAwMDAwMDAwMDAsIE1BWF9WQUxVRSk7
CisgICAgICAgICAgICB0ZXN0TGVmdCgxMDAwMDAwMDAwMDAsIE1BWF9WQUxVRSk7CisgICAgICAg
ICAgICB0ZXN0TGVmdCgxMDAwMDAwMDAwMDAwLCBNQVhfVkFMVUUpOwogICAgICAgICAgICAgCisg
ICAgICAgICAgICB0ZXN0TGVmdCgtMSk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTApOworICAg
ICAgICAgICAgdGVzdExlZnQoLTEwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDApOwor
ICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAw
MDAwMCk7CisgICAgICAgICAgICB0ZXN0TGVmdCgtMTAwMDAwMDApOworICAgICAgICAgICAgdGVz
dExlZnQoLTEwMDAwMDAwMCwgTUlOX1ZBTFVFKTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAw
MDAwMDAwLCBNSU5fVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDAwMDAwLCBN
SU5fVkFMVUUpOworICAgICAgICAgICAgdGVzdExlZnQoLTEwMDAwMDAwMDAwMCwgTUlOX1ZBTFVF
KTsKKyAgICAgICAgICAgIHRlc3RMZWZ0KC0xMDAwMDAwMDAwMDAwLCBNSU5fVkFMVUUpOworCiAg
ICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsKTsKICAgICAgICAgPC9zY3Jp
cHQ+CiAgICAgPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Ut
c2l6ZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc3ViLXBp
eGVsL2xhcmdlLXNpemVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM3MTg2KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE2ICswLDAgQEAKLVBBU1MgZWxlbWVudC53aWR0aCA9IDUwMDBweCwgcmV0dXJu
cyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQu
Ci1QQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0
LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0
aCA9IDUwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRl
ZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDUwMDAwMDBweCwgcmV0
dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0
ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSA1MDAwMDAwMHB4LCByZXR1cm5zIG9mZnNldFdpZHRo
LCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVu
dC53aWR0aCA9IDMzNTU0NDI0cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5k
IGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRoID0gMzM1NTQ0
MjVweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGgg
YXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQyNnB4LCByZXR1cm5zIG9m
ZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBlY3RlZC4KLVBB
U1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDI3cHgsIHJldHVybnMgb2Zmc2V0V2lkdGgsIHJlY3Qu
d2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVtZW50LndpZHRo
ID0gMzM1NTQ0MjhweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0
ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzMzU1NDQyOXB4LCBy
ZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0aCBhcyBleHBl
Y3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDMzNTU0NDMwcHgsIHJldHVybnMgb2Zmc2V0V2lk
dGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgotUEFTUyBlbGVt
ZW50LndpZHRoID0gMzM1NTQ0MzJweCwgcmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBh
bmQgY29tcHV0ZWQgd2lkdGggYXMgZXhwZWN0ZWQuCi1QQVNTIGVsZW1lbnQud2lkdGggPSAzNTc5
MTM5NXB4LCByZXR1cm5zIG9mZnNldFdpZHRoLCByZWN0LndpZHRoIGFuZCBjb21wdXRlZCB3aWR0
aCBhcyBleHBlY3RlZC4KLVBBU1MgZWxlbWVudC53aWR0aCA9IDM1NzkxMzk2cHgsIHJldHVybnMg
b2Zmc2V0V2lkdGgsIHJlY3Qud2lkdGggYW5kIGNvbXB1dGVkIHdpZHRoIGFzIGV4cGVjdGVkLgot
VGVzdCBoYW5kbGluZyBvZiBzaXplcyBleGNlZWRpbmcgdGhlIG1heGltdW0gc3VwcG9ydGVkIHZh
bHVlLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zdWItcGl4ZWwvbGFyZ2Utc2l6ZXMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1zaXplcy5odG1s
CShyZXZpc2lvbiAxMzcxODYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3N1Yi1waXhlbC9sYXJnZS1z
aXplcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1s
PgotPGh0bWw+Ci0gICAgPGhlYWQ+Ci0gICAgICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotICAgIDwvaGVhZD4KLSAgICA8Ym9keT4KLSAg
ICAgICAgPHA+Ci0gICAgICAgICAgICBUZXN0IGhhbmRsaW5nIG9mIHNpemVzIGV4Y2VlZGluZyB0
aGUgbWF4aW11bSBzdXBwb3J0ZWQgdmFsdWUuCi0gICAgICAgIDwvcD4KLSAgICAgICAgPHNjcmlw
dD4KLSAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RTaXplKHdpZHRoLCBleHBlY3RlZFdpZHRoLCBv
cHRfdG9sZXJhbmNlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGVsLnN0eWxlLndp
ZHRoID0gd2lkdGggKyAncHgnOwotICAgICAgICAgICAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKTsKLSAgICAgICAgICAgICAgICB2YXIgcmVjdCA9IGVs
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgICAgICAgICAgICAgIHZhciB0b2xlcmFuY2Ug
PSBvcHRfdG9sZXJhbmNlIHx8IDA7Ci0gICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKGVsLm9m
ZnNldFdpZHRoIC0gZXhwZWN0ZWRXaWR0aCkgPD0gdG9sZXJhbmNlICYmIE1hdGguYWJzKHJlY3Qu
d2lkdGggLSBleHBlY3RlZFdpZHRoKSA8PSB0b2xlcmFuY2UgJiYgTWF0aC5hYnMocGFyc2VJbnQo
c3R5bGUud2lkdGgsIDEwKSAtIGV4cGVjdGVkV2lkdGgpIDw9IHRvbGVyYW5jZSkKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdFBhc3NlZCgnZWxlbWVudC53aWR0aCA9ICcgKyB3aWR0aCArICdweCwg
cmV0dXJucyBvZmZzZXRXaWR0aCwgcmVjdC53aWR0aCBhbmQgY29tcHV0ZWQgd2lkdGggYXMgZXhw
ZWN0ZWQuJyk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB0ZXN0
RmFpbGVkKCdlbGVtZW50LndpZHRoID0gJyArIHdpZHRoICsgJ3B4LCByZXR1cm5zIG9mZnNldFdp
ZHRoICcgKyBlbC5vZmZzZXRXaWR0aCArICcsIHJlY3Qud2lkdGggJyArIHJlY3Qud2lkdGggKyAn
IGFuZCBjb21wdXRlZCB3aWR0aCAnICsgc3R5bGUud2lkdGggKyAnLCBleHBlY3RlZCAnICsgZXhw
ZWN0ZWRXaWR0aCArICcuJyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbCk7Ci0KLSAgICAgICAgICAgIHRlc3RTaXplKDUw
MDAsIDUwMDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAsIDUwMDAwKTsKLSAgICAgICAg
ICAgIHRlc3RTaXplKDUwMDAwMCwgNTAwMDAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDUwMDAw
MDAsIDUwMDAwMDApOwotICAgICAgICAgICAgdGVzdFNpemUoNTAwMDAwMDAsIDApOwotICAgICAg
ICAgICAgdGVzdFNpemUoMzM1NTQ0MjQsIDMzNTU0NDI0KTsKLSAgICAgICAgICAgIHRlc3RTaXpl
KDMzNTU0NDI1LCAzMzU1NDQyNSwgMik7IC8vIGZsb2F0IGltcHJlY2lzaW9uCi0gICAgICAgICAg
ICB0ZXN0U2l6ZSgzMzU1NDQyNiwgMzM1NTQ0MjYsIDIpOwotICAgICAgICAgICAgdGVzdFNpemUo
MzM1NTQ0MjcsIDMzNTU0NDI3LCAyKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDMzNTU0NDI4LCAz
MzU1NDQyOCwgMik7Ci0gICAgICAgICAgICB0ZXN0U2l6ZSgzMzU1NDQyOSwgMzM1NTQ0MjksIDIp
OwotICAgICAgICAgICAgdGVzdFNpemUoMzM1NTQ0MzAsIDMzNTU0NDMwLCAyKTsKLSAgICAgICAg
ICAgIHRlc3RTaXplKDMzNTU0NDMyLCAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk1
LCAwKTsKLSAgICAgICAgICAgIHRlc3RTaXplKDM1NzkxMzk2LCAwKTsKLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbCk7Ci0gICAgICAgIDwvc2Ny
aXB0PgotICAgIDwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlwLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Nzcy9sYXJnZS1u
dW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEzNzE4NikKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvY3NzL2xhcmdlLW51bWJlci1yb3VuZC10cmlw
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSArMSwzIEBACi1QQVNTOiByZWFkIDkw
MDEwMDAwcHggYmFjayBhcyAwcHgsIHJlYWQgYWdhaW4gYXMgMHB4CitQQVNTOiByZWFkIDkwMDEw
MDAwcHggYmFjayBhcyAzMzU1NDQyOHB4LCByZWFkIGFnYWluIGFzIDMzNTU0NDI4cHgKK1BBU1M6
IHJlYWQgLTMzNTU0NDMwcHggYmFjayBhcyAtMzM1NTQ0MzBweCwgcmVhZCBhZ2FpbiBhcyAtMzM1
NTQ0MzBweAorUEFTUzogcmVhZCAtOTAwMTAwMDBweCBiYWNrIGFzIC0zMzU1NDQzMHB4LCByZWFk
IGFnYWluIGFzIC0zMzU1NDQzMHB4CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9jc3MvbGFyZ2UtbnVtYmVyLXJvdW5kLXRyaXAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJp
cC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEzNzE4NikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Nzcy9sYXJnZS1udW1iZXItcm91bmQtdHJpcC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEgKzEsMyBAQAotUEFTUzogcmVhZCA5MDAxMDAwMHB4IGJhY2sgYXMgMHB4
LCByZWFkIGFnYWluIGFzIDBweAorUEFTUzogcmVhZCA5MDAxMDAwMHB4IGJhY2sgYXMgMzM1NTQ0
MjhweCwgcmVhZCBhZ2FpbiBhcyAzMzU1NDQyOHB4CitQQVNTOiByZWFkIC0zMzU1NDQzMHB4IGJh
Y2sgYXMgLTMzNTU0NDMwcHgsIHJlYWQgYWdhaW4gYXMgLTMzNTU0NDMwcHgKK1BBU1M6IHJlYWQg
LTkwMDEwMDAwcHggYmFjayBhcyAtMzM1NTQ0MzBweCwgcmVhZCBhZ2FpbiBhcyAtMzM1NTQ0MzBw
eAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>