<?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>67537</bug_id>
          
          <creation_ts>2011-09-02 16:30:10 -0700</creation_ts>
          <short_desc>Implement a ProgressEvent constructor for JSC</short_desc>
          <delta_ts>2011-09-08 18:05:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>67824</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>annevk</cc>
    
    <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>dominicc</cc>
    
    <cc>heycam</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>461617</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-02 16:30:10 -0700</bug_when>
    <thetext>ProgressEvent should have a constructor (Spec: http://www.w3.org/TR/progress-events/#interface-progressevent). 

After this patch is landed, I will add the ProgressEvent constructor for V8 as a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461634</commentid>
    <comment_count>1</comment_count>
      <attachid>106224</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-02 16:48:33 -0700</bug_when>
    <thetext>Created attachment 106224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461723</commentid>
    <comment_count>2</comment_count>
      <attachid>106224</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-09-02 21:19:36 -0700</bug_when>
    <thetext>Comment on attachment 106224
Patch

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

&gt; LayoutTests/fast/events/constructors/progress-event-constructor.html:46
&gt; +shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { bubbles: true, cancelable: true, lengthComputable: true, loaded: 12345, total: 12345 }).bubbles&quot;, &quot;true&quot;);
&gt; +shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { bubbles: true, cancelable: true, lengthComputable: true, loaded: 12345, total: 12345 }).cancelable&quot;, &quot;true&quot;);
&gt; +shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { bubbles: true, cancelable: true, lengthComputable: true, loaded: 12345, total: 12345 }).lengthComputable&quot;, &quot;true&quot;);
&gt; +shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { bubbles: true, cancelable: true, lengthComputable: true, loaded: 12345, total: 12345 }).loaded&quot;, &quot;12345&quot;);
&gt; +shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { bubbles: true, cancelable: true, lengthComputable: true, loaded: 12345, total: 12345 }).total&quot;, &quot;12345&quot;);

It might makes sense to test the edge cases for loaded or total, that is, values  values in the range [0, 18446744073709551615] (unsigned long long range), NaN, negative values, non-numeric values, object literals with valueOf functions, etc.

&gt; Source/WebCore/dom/ProgressEvent.h:66
&gt; +    ProgressEvent(const AtomicString&amp; type, const ProgressEventInit&amp; initializer);

The parameter initializer is not really needed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461724</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-09-02 21:20:43 -0700</bug_when>
    <thetext>One other value to test would be a value in the unsigned long long range that cannot be represented as a double.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462809</commentid>
    <comment_count>4</comment_count>
      <attachid>106224</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-06 13:33:34 -0700</bug_when>
    <thetext>Comment on attachment 106224
Patch

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

&gt;&gt; LayoutTests/fast/events/constructors/progress-event-constructor.html:46
&gt;&gt; +shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { bubbles: true, cancelable: true, lengthComputable: true, loaded: 12345, total: 12345 }).total&quot;, &quot;12345&quot;);
&gt; 
&gt; It might makes sense to test the edge cases for loaded or total, that is, values  values in the range [0, 18446744073709551615] (unsigned long long range), NaN, negative values, non-numeric values, object literals with valueOf functions, etc.

Sam: Thank you, but one question. When we pass 18446744073709551615, what should the result be?

In the current implementation, 

    shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { loaded: 18446744073709551615 }).loaded&quot;, &quot;18446744073709551615&quot;);

results in

    FAIL new ProgressEvent(&apos;eventType&apos;, { loaded: 18446744073709551615 }).loaded should be 18446744073709552000. Was 0.

The reason why &apos;loaded&apos; becomes 0 is as follows:
(1) &quot;18446744073709551615&quot; is passed to JSDictionary::convertValue(), and then to JSValue::toInteger().
(2) toNumber(&quot;18446744073709551615&quot;), which is implemented in JSC, returns a double value 18446744073709551616.000000.
(3) JSDictionary::convertValue() does static_cast of 18446744073709551616.000000 into an unsigned long long value, resulting in 0.

I do not investigate the reason why &quot;18446744073709551615&quot; is evaluated as 18446744073709552000, but anyway this conversion is done in JSC code.

Do we need to fix the JSC code so that it returns the exact value for 64bit integers?

cf. Spec: ECMA-262, section 9.3 and 9.4 (http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462841</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-09-06 14:01:51 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 106224 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106224&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/fast/events/constructors/progress-event-constructor.html:46
&gt; &gt;&gt; +shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { bubbles: true, cancelable: true, lengthComputable: true, loaded: 12345, total: 12345 }).total&quot;, &quot;12345&quot;);
&gt; &gt; 
&gt; &gt; It might makes sense to test the edge cases for loaded or total, that is, values  values in the range [0, 18446744073709551615] (unsigned long long range), NaN, negative values, non-numeric values, object literals with valueOf functions, etc.
&gt; 
&gt; Sam: Thank you, but one question. When we pass 18446744073709551615, what should the result be?

I am not sure.  You should check the WebIDL spec.

&gt; In the current implementation, 
&gt; 
&gt;     shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { loaded: 18446744073709551615 }).loaded&quot;, &quot;18446744073709551615&quot;);
&gt; 
&gt; results in
&gt; 
&gt;     FAIL new ProgressEvent(&apos;eventType&apos;, { loaded: 18446744073709551615 }).loaded should be 18446744073709552000. Was 0.
&gt; 
&gt; The reason why &apos;loaded&apos; becomes 0 is as follows:
&gt; (1) &quot;18446744073709551615&quot; is passed to JSDictionary::convertValue(), and then to JSValue::toInteger().
&gt; (2) toNumber(&quot;18446744073709551615&quot;), which is implemented in JSC, returns a double value 18446744073709551616.000000.
&gt; (3) JSDictionary::convertValue() does static_cast of 18446744073709551616.000000 into an unsigned long long value, resulting in 0.
&gt; 
&gt; I do not investigate the reason why &quot;18446744073709551615&quot; is evaluated as 18446744073709552000, but anyway this conversion is done in JSC code.
&gt; 
&gt; Do we need to fix the JSC code so that it returns the exact value for 64bit integers?

I don&apos;t think there is anything to change in JSC, as in JavaScript, all numbers are doubles, so not all 64bit integers can be represented.  One think you can check with (though it also may be wrong) is what initProgressEvent() does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463011</commentid>
    <comment_count>6</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2011-09-06 17:27:39 -0700</bug_when>
    <thetext>Yes, you can only represent unsigned long long values in the range [0, 2**53-1] exactly in JS.  Your test could validly assert that 18446744073709551615 comes out as 18446744073709552000.  (Well, I didn&apos;t check that second number but I assume it&apos;s the closest integral double to 2**64-1.)

We discussed introducing a 53-bit integer type in Web IDL at one point, but it never got added in the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463014</commentid>
    <comment_count>7</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-06 17:35:06 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Yes, you can only represent unsigned long long values in the range [0, 2**53-1] exactly in JS.  Your test could validly assert that 18446744073709551615 comes out as 18446744073709552000.  (Well, I didn&apos;t check that second number but I assume it&apos;s the closest integral double to 2**64-1.)
&gt; 
&gt; We discussed introducing a 53-bit integer type in Web IDL at one point, but it never got added in the end.

Thank you, I found the spec (http://www.w3.org/TR/WebIDL/#es-unsigned-long-long). According to the spec, &quot;new ProgressEvent(&quot;foo&quot;, {loaded: 18446744073709551615}).loaded&quot; should be 0, because 18446744073709551615 is represented as 18446744073709551616.0 in double, and modulo(18446744073709551616, 2^64) becomes 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463016</commentid>
    <comment_count>8</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2011-09-06 17:37:34 -0700</bug_when>
    <thetext>I think I was too hasty, there.  This is what should happen:

* The literal 18446744073709551615 gets parsed as the JS Number 18446744073709552000.
* 18446744073709552000 gets run through the &quot;convert JS value to IDL unsigned long long&quot; http://dev.w3.org/2006/webapi/WebIDL/#es-unsigned-long-long, which in step 5 would do 18446744073709552000 mod 18446744073709551616 == 384.

So 384 is the actual IDL unsigned long long value that gets used, and which should be returned as the JS Number 384 when getting .loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463115</commentid>
    <comment_count>9</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-06 20:47:17 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I think I was too hasty, there.  This is what should happen:
&gt; 
&gt; * The literal 18446744073709551615 gets parsed as the JS Number 18446744073709552000.

Cameron: Why do you think that 18446744073709551615 should be parsed as 18446744073709552000?

The ECMA-262 says that the ECMA Number should be the closest double value (Section 8.5: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf). Therefore, toNumber(18446744073709551615) should be 18446744073709551616, since 18446744073709551616=2^64 can be exactly represented as a 64-bit double. In fact, JSValue::toNumber() converts 18446744073709551615 to 18446744073709551616.

On the other hand, as you know, 18446744073709551615 is evaluated in JavaScript as 18446744073709552000 (e.g. alert(18446744073709551615)), but I do not know why this behavior is correct...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463122</commentid>
    <comment_count>10</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2011-09-06 21:18:50 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Cameron: Why do you think that 18446744073709551615 should be parsed as 18446744073709552000?
&gt; 
&gt; The ECMA-262 says that the ECMA Number should be the closest double value (Section 8.5: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf). Therefore, toNumber(18446744073709551615) should be 18446744073709551616, since 18446744073709551616=2^64 can be exactly represented as a 64-bit double. In fact, JSValue::toNumber() converts 18446744073709551615 to 18446744073709551616.

Hmm, yes, you are correct.  2^64 is the closest number that can be represented exactly by a double.  So the resulting unsigned long long should indeed be 0.

&gt; On the other hand, as you know, 18446744073709551615 is evaluated in JavaScript as 18446744073709552000 (e.g. alert(18446744073709551615)), but I do not know why this behavior is correct...

Is it the correct output from http://people.mozilla.org/~jorendorff/es5.html#sec-9.8.1?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463130</commentid>
    <comment_count>11</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-06 21:27:38 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; On the other hand, as you know, 18446744073709551615 is evaluated in JavaScript as 18446744073709552000 (e.g. alert(18446744073709551615)), but I do not know why this behavior is correct...
&gt; 
&gt; Is it the correct output from http://people.mozilla.org/~jorendorff/es5.html#sec-9.8.1?

Ah, makes sense! Thanks!

By the way, then the output of

    shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { loaded: -1 }).loaded&quot;, &quot;18446744073709551615&quot;);

will become...

    PASS new ProgressEvent(&apos;eventType&apos;, { total: -1 }).total is 18446744073709552000

Confusing:-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463148</commentid>
    <comment_count>12</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-06 22:13:52 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; On the other hand, as you know, 18446744073709551615 is evaluated in JavaScript as 18446744073709552000 (e.g. alert(18446744073709551615)), but I do not know why this behavior is correct...
&gt; &gt; 
&gt; &gt; Is it the correct output from http://people.mozilla.org/~jorendorff/es5.html#sec-9.8.1?
&gt; 
&gt; Ah, makes sense! Thanks!

I am sorry for this rubber-stamp &quot;make sense&quot;. It does not make sense.

&gt; 5. Otherwise, let n, k, and s be integers such that k ≥ 1, 10^(k−1) ≤ s &lt; 10^k, the Number value for s × 10^(n−k) is m, and k is as small as possible. Note that k is the number of digits in the decimal representation of s, that s is not divisible by 10, and that the least significant digit of s is not necessarily uniquely determined by these criteria.

If m = 18446744073709551615, then k = 20, n = 20, s = 18446744073709551615.

&gt; 6. If k ≤ n ≤ 21, return the String consisting of the k digits of the decimal representation of s (in order, with no leading zeroes), followed by n−k occurrences of the character ‘0’.

Returns a String &quot;18446744073709551615&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463440</commentid>
    <comment_count>13</comment_count>
      <attachid>106597</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-07 10:45:19 -0700</bug_when>
    <thetext>Created attachment 106597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463444</commentid>
    <comment_count>14</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-07 10:47:50 -0700</bug_when>
    <thetext>Sam: I uploaded the patch. Would you please take a look?

Sam and Cameron: Sorry for much confusion so far. I still do not figure out why ToString(18446744073709551615) is evaluated as 18446744073709552000 in JavaScript and whether the behavior is correct or not, but anyway, I think that this is an independent issue of this patch (and thus I would like to investigate this issue in another bug). In other words, I think that committing this patch would be acceptable, since no matter how the Number is evaluated when it is converted to String, 

    shouldBe(&quot;new ProgressEvent(&apos;eventType&apos;, { loaded: -1 }).loaded&quot;, &quot;18446744073709551615&quot;);

should pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463467</commentid>
    <comment_count>15</comment_count>
      <attachid>106597</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-09-07 11:09:08 -0700</bug_when>
    <thetext>Comment on attachment 106597
Patch

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

I think there should also be an object with a valueOf() function, but this looks much better.

&gt; Source/WebCore/bindings/js/JSDictionary.cpp:40
&gt; +static const double D64 = 18446744073709551616.0;

This should have a more descriptive name.

&gt; Source/WebCore/dom/ProgressEvent.h:66
&gt; +    ProgressEvent(const AtomicString&amp; type, const ProgressEventInit&amp; initializer);

initializer parameter names is not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463480</commentid>
    <comment_count>16</comment_count>
      <attachid>106606</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-07 11:24:11 -0700</bug_when>
    <thetext>Created attachment 106606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463483</commentid>
    <comment_count>17</comment_count>
      <attachid>106606</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-09-07 11:26:31 -0700</bug_when>
    <thetext>Comment on attachment 106606
Patch

You didn&apos;t add the test with valueOf() :(.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463505</commentid>
    <comment_count>18</comment_count>
      <attachid>106609</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-07 11:39:19 -0700</bug_when>
    <thetext>Created attachment 106609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463507</commentid>
    <comment_count>19</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-07 11:39:41 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 106606 [details])
&gt; You didn&apos;t add the test with valueOf() :(.

Sorry, added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463564</commentid>
    <comment_count>20</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-07 12:14:30 -0700</bug_when>
    <thetext>&gt; I still do not figure out why ToString(18446744073709551615) is evaluated as 18446744073709552000

See section 9.8.1 of the spec, NOTE 2.  The upshot of this clause is that JS implementations are required to generate the least number of non-zero digits that uniquely identify a value.

The string &quot;18446744073709551615&quot; converted to a double will internally have the value 18446744073709551616, however the number 18446744073709551616 converted to a string will convert to the string &quot;18446744073709552000&quot;, if this is converted to a number it will round trip back to 18446744073709551616.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463772</commentid>
    <comment_count>21</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2011-09-07 16:48:32 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; The string &quot;18446744073709551615&quot; converted to a double will internally have the value 18446744073709551616, however the number 18446744073709551616 converted to a string will convert to the string &quot;18446744073709552000&quot;, if this is converted to a number it will round trip back to 18446744073709551616.

Ah yes, I understand now, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464196</commentid>
    <comment_count>22</comment_count>
      <attachid>106609</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-08 11:27:47 -0700</bug_when>
    <thetext>Comment on attachment 106609
Patch

Clearing flags on attachment: 106609

Committed r94771: &lt;http://trac.webkit.org/changeset/94771&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464197</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-08 11:27:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464319</commentid>
    <comment_count>24</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-08 13:48:50 -0700</bug_when>
    <thetext>Expected result was wrong, update landed in http://trac.webkit.org/changeset/94791</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106224</attachid>
            <date>2011-09-02 16:48:33 -0700</date>
            <delta_ts>2011-09-07 10:45:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67537-20110902164832.patch</filename>
            <type>text/plain</type>
            <size>13467</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ0MjYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMzc2Y2JhMzI2MTQzZDUzMDYxNGVj
M2VhYjUzYjI2ZmE3MjI5NmM5Li45ODQxNmI3NDkxNTdiZDY2NjlkZTE1Zjc2NmRjOTAxOTMxM2E3
MmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDIgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYSBQcm9ncmVzc0V2ZW50IGNv
bnN0cnVjdG9yIGZvciBKU0MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3NTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3Ry
dWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1
Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbDogQWRkZWQuIENoZWNrcyB0aGUg
YmVoYXZpb3Igb2YgdGhlIFByb2dyZXNzRXZlbnQgY29uc3RydWN0b3IuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OiBTa2lwcGVkIHByb2dyZXNzLWV2
ZW50LWNvbnN0cnVjdG9yLmh0bWwsIHNpbmNlIFY4IGRvZXMgbm90IHlldCBoYXZlIHRoZSBQcm9n
cmVzc0V2ZW50IGNvbnN0cnVjdG9yLgorCiAyMDExLTA5LTAyICBNaWhuZWEgT3ZpZGVuaWUgIDxt
aWhuZWFAYWRvYmUuY29tPgogCiAgICAgICAgIEJPUkRFUiBhdHRyaWJ1dGUgcGVyY2VudCB3aXRo
IHRoZSBpbnB1dCBpbWFnZSB0YWcgbm90IHdvcmtpbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3ItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNz
LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDBiMDY3NzE4NjM0
ODIzODc4NTliMDNlZTczYzczNjY4MTk0ZDZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNzLWV2ZW50LWNvbnN0cnVjdG9yLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitUaGlzIHRlc3RzIHRoZSBjb25zdHJ1Y3RvciBm
b3IgdGhlIFByb2dyZXNzRXZlbnQgRE9NIGNsYXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJykuYnViYmxlcyBpcyBm
YWxzZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJykuY2FuY2VsYWJsZSBpcyBm
YWxzZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJykubGVuZ3RoQ29tcHV0YWJs
ZSBpcyBmYWxzZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJykubG9hZGVkIGlz
IDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScpLnRvdGFsIGlzIDAKK1BBU1Mg
bmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogZmFsc2UgfSkuYnViYmxl
cyBpcyBmYWxzZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVz
OiB0cnVlIH0pLmJ1YmJsZXMgaXMgdHJ1ZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRU
eXBlJywgeyBjYW5jZWxhYmxlOiBmYWxzZSB9KS5jYW5jZWxhYmxlIGlzIGZhbHNlCitQQVNTIG5l
dyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkuY2FuY2Vs
YWJsZSBpcyB0cnVlCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxlbmd0
aENvbXB1dGFibGU6IGZhbHNlIH0pLmxlbmd0aENvbXB1dGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3
IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1ZSB9KS5s
ZW5ndGhDb21wdXRhYmxlIGlzIHRydWUKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgbG9hZGVkOiAwIH0pLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdl
dmVudFR5cGUnLCB7IGxvYWRlZDogMTIzNDUgfSkubG9hZGVkIGlzIDEyMzQ1CitQQVNTIG5ldyBQ
cm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IHRvdGFsOiAwIH0pLnRvdGFsIGlzIDAKK1BBU1Mg
bmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IDEyMzQ1IH0pLnRvdGFsIGlz
IDEyMzQ1CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRy
dWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRlZDogMTIz
NDUsIHRvdGFsOiAxMjM0NSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IFByb2dyZXNzRXZl
bnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVuZ3Ro
Q29tcHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLmNhbmNlbGFi
bGUgaXMgdHJ1ZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLCBsb2FkZWQ6
IDEyMzQ1LCB0b3RhbDogMTIzNDUgfSkubGVuZ3RoQ29tcHV0YWJsZSBpcyB0cnVlCitQQVNTIG5l
dyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6
IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRlZDogMTIzNDUsIHRvdGFsOiAxMjM0
NSB9KS5sb2FkZWQgaXMgMTIzNDUKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScs
IHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1
ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLnRvdGFsIGlzIDEyMzQ1CitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNzLWV2ZW50LWNvbnN0
cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jl
c3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYTY5OTMyY2IzYjUyMWQzMzgx
YWIzNzExNDg0NGQ5YTkzNzA5NzE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNzLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKQEAg
LTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUg
Y29uc3RydWN0b3IgZm9yIHRoZSBQcm9ncmVzc0V2ZW50IERPTSBjbGFzcy4iKTsKKworLy8gTm8g
aW5pdGlhbGl6ZXIgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVu
dFR5cGUnKS5idWJibGVzIiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJuZXcgUHJvZ3Jl
c3NFdmVudCgnZXZlbnRUeXBlJykubGVuZ3RoQ29tcHV0YWJsZSIsICJmYWxzZSIpOworc2hvdWxk
QmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS5sb2FkZWQiLCAiMCIpOworc2hvdWxk
QmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS50b3RhbCIsICIwIik7CisKKy8vIGJ1
YmJsZXMgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUn
LCB7IGJ1YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJuZXcg
UHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlIH0pLmJ1YmJsZXMiLCAi
dHJ1ZSIpOworCisvLyBjYW5jZWxhYmxlIGlzIHBhc3NlZC4KK3Nob3VsZEJlKCJuZXcgUHJvZ3Jl
c3NFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiBmYWxzZSB9KS5jYW5jZWxhYmxlIiwg
ImZhbHNlIik7CitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgY2Fu
Y2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKworLy8gbGVuZ3RoQ29tcHV0
YWJsZSBpcyBwYXNzZWQuCitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScs
IHsgbGVuZ3RoQ29tcHV0YWJsZTogZmFsc2UgfSkubGVuZ3RoQ29tcHV0YWJsZSIsICJmYWxzZSIp
Oworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxlbmd0aENvbXB1
dGFibGU6IHRydWUgfSkubGVuZ3RoQ29tcHV0YWJsZSIsICJ0cnVlIik7CisKKy8vIGxvYWRlZCBp
cyBwYXNzZWQuCitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9h
ZGVkOiAwIH0pLmxvYWRlZCIsICIwIik7CitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2
ZW50VHlwZScsIHsgbG9hZGVkOiAxMjM0NSB9KS5sb2FkZWQiLCAiMTIzNDUiKTsKKworLy8gdG90
YWwgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7
IHRvdGFsOiAwIH0pLnRvdGFsIiwgIjAiKTsKK3Nob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgn
ZXZlbnRUeXBlJywgeyB0b3RhbDogMTIzNDUgfSkudG90YWwiLCAiMTIzNDUiKTsKKworLy8gQWxs
IGluaXRpYWxpemVycyBhcmUgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdl
dmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1
dGFibGU6IHRydWUsIGxvYWRlZDogMTIzNDUsIHRvdGFsOiAxMjM0NSB9KS5idWJibGVzIiwgInRy
dWUiKTsKK3Nob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLCBsb2FkZWQ6
IDEyMzQ1LCB0b3RhbDogMTIzNDUgfSkuY2FuY2VsYWJsZSIsICJ0cnVlIik7CitzaG91bGRCZSgi
bmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJs
ZTogdHJ1ZSwgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEy
MzQ1IH0pLmxlbmd0aENvbXB1dGFibGUiLCAidHJ1ZSIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxl
bmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRlZDogMTIzNDUsIHRvdGFsOiAxMjM0NSB9KS5sb2Fk
ZWQiLCAiMTIzNDUiKTsKK3Nob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBsZW5ndGhDb21wdXRhYmxlOiB0cnVl
LCBsb2FkZWQ6IDEyMzQ1LCB0b3RhbDogMTIzNDUgfSkudG90YWwiLCAiMTIzNDUiKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dAppbmRleCA3NzI3YjEzYTA0ZTExYWY5MmJiZmI2N2QwODU1MWUwNTA4MmQ1NWJjLi4y
NWVkNWJkN2NiYjRmMWMyMjAwNDUwNjUxMGU4N2IzNWFkOTI4MzliIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC01MDEs
NiArNTAxLDkgQEAgQlVHQ1IyMDUxOSBXSU4gOiBmYXN0L3RleHQvd2lkZS16ZXJvLXdpZHRoLXNw
YWNlLmh0bWwgPSBGQUlMCiAvLyBUaGVyZSdzIGEgbWlzc2luZyBnbHlwaCBib3ggaW4gImZ1bGwt
dGltZSIuCiBCVUdDUjIwNTQ3IFdJTiA6IGZhc3QvdGV4dC9jYXBpdGFsaXplLWJvdW5kYXJpZXMu
aHRtbCA9IEZBSUwKIAorLy8gVGhpcyB3aWxsIHNvb24gYmUgZml4ZWQgYWZ0ZXIgaW1wbGVtZW50
aW5nIGEgUHJvZ3Jlc3NFdmVudCBjb25zdHJ1Y3RvciBmb3IgVjguCitCVUdXSzY3NTM3IDogZmFz
dC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNzLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgPSBG
QUlMCisKIC8vIERpZmZlcmVudCBidXR0b24gbGluZS1oZWlnaHRzLCBvdXIgYmVoYXZpb3IgbG9v
a3Mgd3JvbmcuCiBCVUdDUjIwNTUxIExJTlVYIFdJTiA6IGZhc3QvcmVwbGFjZWQvdGFibGUtcGVy
Y2VudC1oZWlnaHQuaHRtbCA9IEZBSUwKIEJVR0NSMjA1NTEgTElOVVggV0lOIDogZmFzdC9yZXBs
YWNlZC90YWJsZS1wZXJjZW50LWhlaWdodC10ZXh0LWNvbnRyb2xzLmh0bWwgPSBGQUlMCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggOWQyN2Q2YjQyYjIzYmJiZThlMGIxMGIyYzg3Mjg3NTY5MDFkNjk3Mi4uYjI5YWFm
MWUxNTRhNTAzZmMxN2QzZWM0NDUzN2RhM2M0ZjI3NDc0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI0IEBACisyMDExLTA5LTAyICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CisK
KyAgICAgICAgSW1wbGVtZW50IGEgUHJvZ3Jlc3NFdmVudCBjb25zdHJ1Y3RvciBmb3IgSlNDCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzcGVjIGZv
ciB0aGUgUHJvZ3Jlc3NFdmVudCBjb25zdHJ1Y3RvciBpcyBoZXJlOgorICAgICAgICBodHRwOi8v
d3d3LnczLm9yZy9UUi9wcm9ncmVzcy1ldmVudHMvI2ludGVyZmFjZS1wcm9ncmVzc2V2ZW50CisK
KyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNzLWV2ZW50LWNv
bnN0cnVjdG9yLmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1
Y3RvcnMuaDogQWRkZWQgYSBkZWZpbml0aW9uIGZvciB0aGUgUHJvZ3Jlc3NFdmVudCBjb25zdHJ1
Y3Rvci4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcDogQWRk
ZWQgI2luY2x1ZGVzIGZvciBQcm9ncmVzc0V2ZW50LgorICAgICAgICAqIGRvbS9Qcm9ncmVzc0V2
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNzRXZlbnRJbml0OjpQcm9ncmVzc0V2
ZW50SW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50
KToKKyAgICAgICAgKiBkb20vUHJvZ3Jlc3NFdmVudC5oOiBBZGRlZCBhIGRlZmluaXRpb24gZm9y
IFByb2dyZXNzRXZlbnRJbml0LgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NFdmVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBkb20vUHJvZ3Jlc3NFdmVudC5pZGw6IE1ha2VzIFByb2dyZXNzRXZl
bnQgY29uc3RydWN0aWJsZS4KKwogMjAxMS0wOS0wMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyOTQwOTMpOiBQcml2YXRlIGJyb3dz
aW5nIGRvZXNuJ3Qgc3RhcnQgd2l0aCBhIGNsZWFuIHN0YXRlIG9uIFNub3cgTGVvcGFyZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9y
cy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5o
CmluZGV4IDgxODE1MTFiMjc3YTgyMjFhYTAxNjExOGNhY2ZjNzdjYWZlMGRhYTMuLjI2NWQ0ZWI5
NjEyY2YzMTczNWU0NTBkMjkwM2E2MWE2YjQwOGYyZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgKQEAgLTQyLDEwICs0Miwy
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZJTExfUFJPUEVSVFkoZGV0YWlsKSBc
CiAgICAgRElDVElPTkFSWV9FTkQoQ3VzdG9tRXZlbnQpCiAKKyNkZWZpbmUgSU5TVEFOVElBVEVf
SU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9QUk9HUkVTU19FVkVOVChESUNUSU9OQVJZX1NU
QVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJU
WSkgXAorICAgIFwKKyAgICBESUNUSU9OQVJZX1NUQVJUKFByb2dyZXNzRXZlbnQpIFwKKyAgICAg
ICAgRklMTF9QQVJFTlRfUFJPUEVSVElFUyhFdmVudCkgXAorICAgICAgICBGSUxMX1BST1BFUlRZ
KGxlbmd0aENvbXB1dGFibGUpIFwKKyAgICAgICAgRklMTF9QUk9QRVJUWShsb2FkZWQpIFwKKyAg
ICAgICAgRklMTF9QUk9QRVJUWSh0b3RhbCkgXAorICAgIERJQ1RJT05BUllfRU5EKFByb2dyZXNz
RXZlbnQpCisKIAogI2RlZmluZSBJTlNUQU5USUFURV9BTExfRVZFTlRfSU5JVElBTElaSU5HX0NP
TlNUUlVDVE9SUyhESUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRf
UFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklO
R19DT05TVFJVQ1RPUl9GT1JfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQs
IEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFU
RV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX0NVU1RPTV9FVkVOVChESUNUSU9OQVJZX1NU
QVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJU
WSkgXAorICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfUFJPR1JF
U1NfRVZFTlQoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BS
T1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3Jz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3Bw
CmluZGV4IGIzM2E1Y2I2MWRlMzU4ODc5MjBhNGVhNGZhNzBjMjU4YzVmZjk0MTYuLjcyZWFiMjk5
MDZjYmRhMjM4NDUwMzI0OTk4MjBkZDIxYmEzMTY5NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3BwCkBAIC0zMSw2ICszMSw4IEBA
CiAjaW5jbHVkZSAiSlNDdXN0b21FdmVudC5oIgogI2luY2x1ZGUgIkpTRGljdGlvbmFyeS5oIgog
I2luY2x1ZGUgIkpTRXZlbnQuaCIKKyNpbmNsdWRlICJKU1Byb2dyZXNzRXZlbnQuaCIKKyNpbmNs
dWRlICJQcm9ncmVzc0V2ZW50LmgiCiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgogCiB1c2lu
ZyBuYW1lc3BhY2UgSlNDOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNz
RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuY3BwCmluZGV4IGM4
NWVlZmZmZjFhZmJiMTkyZDc5Y2RhZDVhNmY5M2VmYzg5NjI5YTcuLjZkOGUxNGUwMWRhOTI5M2Zj
YmJhMjc5YzQzOTM1MDA4ZDAwODQxNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9ncmVzc0V2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5j
cHAKQEAgLTI3LDcgKzI3LDE0IEBACiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKK1Byb2dyZXNzRXZlbnRJbml0OjpQcm9ncmVzc0V2ZW50
SW5pdCgpCisgICAgOiBsZW5ndGhDb21wdXRhYmxlKGZhbHNlKQorICAgICwgbG9hZGVkKDApCisg
ICAgLCB0b3RhbCgwKQoreworfQorCiBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KCkKICAg
ICA6IG1fbGVuZ3RoQ29tcHV0YWJsZShmYWxzZSkKICAgICAsIG1fbG9hZGVkKDApCkBAIC0zNSw2
ICs0MiwxNCBAQCBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KCkKIHsKIH0KIAorUHJvZ3Jl
c3NFdmVudDo6UHJvZ3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFBy
b2dyZXNzRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxp
emVyKQorICAgICwgbV9sZW5ndGhDb21wdXRhYmxlKGluaXRpYWxpemVyLmxlbmd0aENvbXB1dGFi
bGUpCisgICAgLCBtX2xvYWRlZChpbml0aWFsaXplci5sb2FkZWQpCisgICAgLCBtX3RvdGFsKGlu
aXRpYWxpemVyLnRvdGFsKQoreworfQorCiBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1bnNpZ25lZCBs
b25nIGxvbmcgbG9hZGVkLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWwpCiAgICAgOiBFdmVudCh0
eXBlLCBmYWxzZSwgdHJ1ZSkKICAgICAsIG1fbGVuZ3RoQ29tcHV0YWJsZShsZW5ndGhDb21wdXRh
YmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmgKaW5kZXggM2UyOTVjNjZlNzFhZjk4NDFi
MzMyMjkzNWU5ZjlmYjQxZTI5YzdjMC4uZDI3ZTFiZDhiMGIyODhlODYxMTZkM2U3MDY5YWUwODRl
ZjFjMDMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5oCkBAIC0yOSw3ICsyOSwxNSBA
QAogI2luY2x1ZGUgIkV2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKworc3Ry
dWN0IFByb2dyZXNzRXZlbnRJbml0IDogcHVibGljIEV2ZW50SW5pdCB7CisgICAgUHJvZ3Jlc3NF
dmVudEluaXQoKTsKKworICAgIGJvb2wgbGVuZ3RoQ29tcHV0YWJsZTsKKyAgICB1bnNpZ25lZCBs
b25nIGxvbmcgbG9hZGVkOworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbDsKK307CisKIGNs
YXNzIFByb2dyZXNzRXZlbnQgOiBwdWJsaWMgRXZlbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFByb2dyZXNzRXZlbnQ+IGNyZWF0ZSgpCkBAIC00MCw2ICs0OCwxMCBAQCBwdWJs
aWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFByb2dyZXNzRXZlbnQodHlw
ZSwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwogICAgIH0KKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxQcm9ncmVzc0V2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBjb25zdCBQcm9ncmVzc0V2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFByb2dyZXNzRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsKKyAg
ICB9CiAKICAgICB2b2lkIGluaXRQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZUFyZywgYm9vbCBjYW5CdWJibGVBcmcsIGJvb2wgY2FuY2VsYWJsZUFyZywKICAgICAgICAgYm9v
bCBsZW5ndGhDb21wdXRhYmxlQXJnLCB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkQXJnLCB1bnNp
Z25lZCBsb25nIGxvbmcgdG90YWxBcmcpOwpAQCAtNTEsNiArNjMsNyBAQCBwdWJsaWM6CiBwcm90
ZWN0ZWQ6CiAgICAgUHJvZ3Jlc3NFdmVudCgpOwogICAgIFByb2dyZXNzRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlLCBib29sIGxlbmd0aENvbXB1dGFibGUsIHVuc2lnbmVkIGxvbmcgbG9u
ZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCk7CisgICAgUHJvZ3Jlc3NFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFByb2dyZXNzRXZlbnRJbml0JiBpbml0aWFs
aXplcik7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzUHJvZ3Jlc3NFdmVudCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9n
cmVzc0V2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmlkbAppbmRl
eCBhYmQ1ZTEyYWMxOTM4ZTczZjkyNzgxODMzZDc0YTgxMjZmNTUyZmE2Li41OTM3ODMyMTlhYjY4
ZjZhNzk0YzFmNjBhNjA3Yzg4MWI1NjAwZTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vUHJvZ3Jlc3NFdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZl
bnQuaWRsCkBAIC0yNSw3ICsyNSwxMCBAQAogCiBtb2R1bGUgZXZlbnRzIHsKIAotICAgIGludGVy
ZmFjZSBQcm9ncmVzc0V2ZW50IDogRXZlbnQgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENh
bkJlQ29uc3RydWN0ZWQsCisgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uCisgICAgXSBQ
cm9ncmVzc0V2ZW50IDogRXZlbnQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBsZW5ndGhDb21wdXRhYmxlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsb25nIGxvYWRlZDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbG9uZyB0b3RhbDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106597</attachid>
            <date>2011-09-07 10:45:19 -0700</date>
            <delta_ts>2011-09-07 11:24:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67537-20110907104518.patch</filename>
            <type>text/plain</type>
            <size>19391</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2NzUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwODg1YzhlZGI5YWQ0MGU5NmNlODhi
MTU5NjE5Mjk3MzBhOTU3ODlmLi4zMWJhMWVjNDU0YTZmZTc5MmNlZTBkZTA1MTU0NDg5YzdlNjc3
NTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDcgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYSBQcm9ncmVzc0V2ZW50IGNv
bnN0cnVjdG9yIGZvciBKU0MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3NTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3Ry
dWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1
Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbDogQWRkZWQuIENoZWNrcyB0aGUg
YmVoYXZpb3Igb2YgdGhlIFByb2dyZXNzRXZlbnQgY29uc3RydWN0b3IuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OiBTa2lwcGVkIHByb2dyZXNzLWV2
ZW50LWNvbnN0cnVjdG9yLmh0bWwsIHNpbmNlIFY4IGRvZXMgbm90IHlldCBoYXZlIHRoZSBQcm9n
cmVzc0V2ZW50IGNvbnN0cnVjdG9yLgorCiAyMDExLTA5LTA2ICBQYXZlbCBQb2Rpdmlsb3YgIDxw
b2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRvIG5vdCBy
ZS1jcmVhdGUgUmF3U291cmNlQ29kZSB3aGVuIHRvZ2dsaW5nIHByZXR0eS1wcmludCBtb2RlLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNz
LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy9wcm9ncmVzcy1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2YyMzJkNTU1MjJhOGU2ZjdiZjAxMzg5MDExNzY3OTZlNDQ4ZWU5YQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wcm9ncmVz
cy1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2NSBAQAorVGhpcyB0
ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBQcm9ncmVzc0V2ZW50IERPTSBjbGFzcy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2
ZW50VHlwZScpLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScpLmNhbmNlbGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScpLmxlbmd0aENvbXB1dGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScpLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5
cGUnKS50b3RhbCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1
YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3
IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2Vs
YWJsZSBpcyBmYWxzZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5j
ZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVu
dCgnZXZlbnRUeXBlJywgeyBsZW5ndGhDb21wdXRhYmxlOiBmYWxzZSB9KS5sZW5ndGhDb21wdXRh
YmxlIGlzIGZhbHNlCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxlbmd0
aENvbXB1dGFibGU6IHRydWUgfSkubGVuZ3RoQ29tcHV0YWJsZSBpcyB0cnVlCitQQVNTIG5ldyBQ
cm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogMCB9KS5sb2FkZWQgaXMgMAorUEFT
UyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IDEgfSkubG9hZGVkIGlz
IDEKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiA5MDA3MTk5
MjU0NzQwOTkwIH0pLmxvYWRlZCBpcyA5MDA3MTk5MjU0NzQwOTkwCitQQVNTIG5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogOTAwNzE5OTI1NDc0MDk5MSB9KS5sb2FkZWQg
aXMgOTAwNzE5OTI1NDc0MDk5MQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywg
eyBsb2FkZWQ6IDE4NDQ2NzQ0MDczNzA5NTUxNjE1IH0pLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQ
cm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogMTIzNDU2Nzg5MDEyMzQ1Njc4OTAg
fSkubG9hZGVkIGlzIDEyMzQ1Njc4OTAxMjM0NTY3MTY4CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50
KCdldmVudFR5cGUnLCB7IGxvYWRlZDogLTEgfSkubG9hZGVkIGlzIDE4NDQ2NzQ0MDczNzA5NTUx
NjE1CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogTmFOIH0p
LmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRl
ZDogMTIzLjQ1IH0pLmxvYWRlZCBpcyAxMjMKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScsIHsgbG9hZGVkOiB1bmRlZmluZWQgfSkubG9hZGVkIGlzIDAKK1BBU1MgbmV3IFByb2dy
ZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiBudWxsIH0pLmxvYWRlZCBpcyAwCitQQVNT
IG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogJycgfSkubG9hZGVkIGlz
IDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiAnMScgfSku
bG9hZGVkIGlzIDEKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVk
OiAnMWEnIH0pLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUn
LCB7IGxvYWRlZDogJ2FiYycgfSkubG9hZGVkIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgbG9hZGVkOiBbXSB9KS5sb2FkZWQgaXMgMAorUEFTUyBuZXcgUHJvZ3Jl
c3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IFsxXSB9KS5sb2FkZWQgaXMgMQorUEFTUyBu
ZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IFsxLCAyXSB9KS5sb2FkZWQg
aXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IHt9IH0p
LmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRl
ZDoge21vZTogMX0gfSkubG9hZGVkIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScsIHsgdG90YWw6IDAgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgn
ZXZlbnRUeXBlJywgeyB0b3RhbDogMSB9KS50b3RhbCBpcyAxCitQQVNTIG5ldyBQcm9ncmVzc0V2
ZW50KCdldmVudFR5cGUnLCB7IHRvdGFsOiA5MDA3MTk5MjU0NzQwOTkwIH0pLnRvdGFsIGlzIDkw
MDcxOTkyNTQ3NDA5OTAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90
YWw6IDkwMDcxOTkyNTQ3NDA5OTEgfSkudG90YWwgaXMgOTAwNzE5OTI1NDc0MDk5MQorUEFTUyBu
ZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogMTg0NDY3NDQwNzM3MDk1NTE2
MTUgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0
b3RhbDogMTIzNDU2Nzg5MDEyMzQ1Njc4OTAgfSkudG90YWwgaXMgMTIzNDU2Nzg5MDEyMzQ1Njcx
NjgKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IC0xIH0pLnRv
dGFsIGlzIDE4NDQ2NzQ0MDczNzA5NTUxNjE1CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVu
dFR5cGUnLCB7IHRvdGFsOiBOYU4gfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVu
dCgnZXZlbnRUeXBlJywgeyB0b3RhbDogMTIzLjQ1IH0pLnRvdGFsIGlzIDEyMworUEFTUyBuZXcg
UHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogdW5kZWZpbmVkIH0pLnRvdGFsIGlz
IDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IG51bGwgfSku
dG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDog
JycgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0
b3RhbDogJzEnIH0pLnRvdGFsIGlzIDEKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgdG90YWw6ICcxYScgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgn
ZXZlbnRUeXBlJywgeyB0b3RhbDogJ2FiYycgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jl
c3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogW10gfSkudG90YWwgaXMgMAorUEFTUyBuZXcg
UHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogWzFdIH0pLnRvdGFsIGlzIDEKK1BB
U1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IFsxLCAyXSB9KS50b3Rh
bCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IHRvdGFsOiB7fSB9
KS50b3RhbCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IHRvdGFs
OiB7bW9lOiAxfSB9KS50b3RhbCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5
cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6
IHRydWUsIGxvYWRlZDogMTIzNDUsIHRvdGFsOiAxMjM0NSB9KS5idWJibGVzIGlzIHRydWUKK1BB
U1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6
IDEyMzQ1IH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZl
bnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBsZW5ndGhDb21wdXRh
YmxlOiB0cnVlLCBsb2FkZWQ6IDEyMzQ1LCB0b3RhbDogMTIzNDUgfSkubGVuZ3RoQ29tcHV0YWJs
ZSBpcyB0cnVlCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6
IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRlZDog
MTIzNDUsIHRvdGFsOiAxMjM0NSB9KS5sb2FkZWQgaXMgMTIzNDUKK1BBU1MgbmV3IFByb2dyZXNz
RXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVu
Z3RoQ29tcHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLnRvdGFs
IGlzIDEyMzQ1CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3By
b2dyZXNzLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9j
b25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ODgwNWUxYTY4YjJlNmU1OThiMjE1MGU0ZDAzM2IwNjNmZjRiMDkxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNzLWV2ZW50LWNv
bnN0cnVjdG9yLmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBQcm9ncmVzc0V2ZW50IERPTSBj
bGFzcy4iKTsKKworLy8gTm8gaW5pdGlhbGl6ZXIgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQ
cm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS5idWJibGVzIiwgImZhbHNlIik7CitzaG91bGRCZSgi
bmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKK3No
b3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJykubGVuZ3RoQ29tcHV0YWJsZSIs
ICJmYWxzZSIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS5sb2Fk
ZWQiLCAiMCIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS50b3Rh
bCIsICIwIik7CisKKy8vIGJ1YmJsZXMgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMiLCAiZmFsc2Ui
KTsKK3Nob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0
cnVlIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworCisvLyBjYW5jZWxhYmxlIGlzIHBhc3NlZC4KK3No
b3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiBmYWxz
ZSB9KS5jYW5jZWxhYmxlIiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsK
KworLy8gbGVuZ3RoQ29tcHV0YWJsZSBpcyBwYXNzZWQuCitzaG91bGRCZSgibmV3IFByb2dyZXNz
RXZlbnQoJ2V2ZW50VHlwZScsIHsgbGVuZ3RoQ29tcHV0YWJsZTogZmFsc2UgfSkubGVuZ3RoQ29t
cHV0YWJsZSIsICJmYWxzZSIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5
cGUnLCB7IGxlbmd0aENvbXB1dGFibGU6IHRydWUgfSkubGVuZ3RoQ29tcHV0YWJsZSIsICJ0cnVl
Iik7CisKKy8vIGxvYWRlZCBvciB0b3RhbCBpcyBwYXNzZWQuCitbImxvYWRlZCIsICJ0b3RhbCJd
LmZvckVhY2goZnVuY3Rpb24gKGF0dHIpIHsKKyAgICAvLyBbMCwgMl41MyAtIDFdLiBBIHZhbHVl
IHRoYXQgaXMgaW4gdGhlIHVuc2lnbmVkIGxvbmcgbG9uZyByYW5nZSBhbmQgY2FuIGJlIGV4YWN0
bHkgcmVwcmVzZW50ZWQgYXMgYSBkb3VibGUuCisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2
ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogMCB9KS4iICsgYXR0ciwgIjAiKTsKKyAg
ICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAi
OiAxIH0pLiIgKyBhdHRyLCAiMSIpOworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgn
ZXZlbnRUeXBlJywgeyAiICsgYXR0ciArICI6IDkwMDcxOTkyNTQ3NDA5OTAgfSkuIiArIGF0dHIs
ICI5MDA3MTk5MjU0NzQwOTkwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdl
dmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogOTAwNzE5OTI1NDc0MDk5MSB9KS4iICsgYXR0ciwg
IjkwMDcxOTkyNTQ3NDA5OTEiKTsKKworICAgIC8vIFsyXjUzLCAyXjY0IC0gMV0uIEEgdmFsdWUg
dGhhdCBpcyBpbiB0aGUgdW5zaWduZWQgbG9uZyBsb25nIHJhbmdlIGJ1dCBjYW5ub3QgYmUgcmVw
cmVzZW50ZWQgYXMgYSBkb3VibGUuCisgICAgLy8gU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIv
V2ViSURMLyNlcy11bnNpZ25lZC1sb25nLWxvbmcKKyAgICBzaG91bGRCZSgibmV3IFByb2dyZXNz
RXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAiOiAxODQ0Njc0NDA3MzcwOTU1MTYxNSB9
KS4iICsgYXR0ciwgIjAiKTsKKyAgICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScsIHsgIiArIGF0dHIgKyAiOiAxMjM0NTY3ODkwMTIzNDU2Nzg5MCB9KS4iICsgYXR0ciwg
IjEyMzQ1Njc4OTAxMjM0NTY3MTY4Iik7CisKKyAgICAvLyBBIG5lZ2F0aXZlIG51bWJlci4KKyAg
ICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAi
OiAtMSB9KS4iICsgYXR0ciwgIjE4NDQ2NzQ0MDczNzA5NTUxNjE1Iik7CisKKyAgICAvLyBOYU4u
CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRy
ICsgIjogTmFOIH0pLiIgKyBhdHRyLCAiMCIpOworCisgICAgLy8gQSBkb3VibGUuCisgICAgc2hv
dWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogMTIz
LjQ1IH0pLiIgKyBhdHRyLCAiMTIzIik7CisKKyAgICAvLyBOb24tbnVtZXJpYyB2YWx1ZXMuCisg
ICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsg
IjogdW5kZWZpbmVkIH0pLiIgKyBhdHRyLCAiMCIpOworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jl
c3NFdmVudCgnZXZlbnRUeXBlJywgeyAiICsgYXR0ciArICI6IG51bGwgfSkuIiArIGF0dHIsICIw
Iik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBh
dHRyICsgIjogJycgfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogJzEnIH0pLiIgKyBhdHRyLCAiMSIp
OworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyAiICsgYXR0
ciArICI6ICcxYScgfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogJ2FiYycgfSkuIiArIGF0dHIsICIw
Iik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBh
dHRyICsgIjogW10gfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogWzFdIH0pLiIgKyBhdHRyLCAiMSIp
OworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyAiICsgYXR0
ciArICI6IFsxLCAyXSB9KS4iICsgYXR0ciwgIjAiKTsKKyAgICBzaG91bGRCZSgibmV3IFByb2dy
ZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAiOiB7fSB9KS4iICsgYXR0ciwgIjAi
KTsKKyAgICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0
dHIgKyAiOiB7bW9lOiAxfSB9KS4iICsgYXR0ciwgIjAiKTsKK30pOworCisvLyBBbGwgaW5pdGlh
bGl6ZXJzIGFyZSBwYXNzZWQuCitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVuZ3RoQ29tcHV0YWJsZTog
dHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOwor
c2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRlZDogMTIzNDUs
IHRvdGFsOiAxMjM0NSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKK3Nob3VsZEJlKCJuZXcgUHJv
Z3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLCBsb2FkZWQ6IDEyMzQ1LCB0b3RhbDogMTIzNDUgfSku
bGVuZ3RoQ29tcHV0YWJsZSIsICJ0cnVlIik7CitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVuZ3RoQ29t
cHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLmxvYWRlZCIsICIx
MjM0NSIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRl
ZDogMTIzNDUsIHRvdGFsOiAxMjM0NSB9KS50b3RhbCIsICIxMjM0NSIpOworCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CmluZGV4IDMyZjljNWIyYjE3YTEzNDUzNWFlOWI1OTcxYWZmMmMzY2I3YTIzMjguLmNlNjI2MzA2
OTY0ODc1MWQ5MjUwZWQ1YzZhYWE2ODAwMDRlZjNkZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTUwMSw2ICs1MDEs
OSBAQCBCVUdDUjIwNTE5IFdJTiA6IGZhc3QvdGV4dC93aWRlLXplcm8td2lkdGgtc3BhY2UuaHRt
bCA9IEZBSUwKIC8vIFRoZXJlJ3MgYSBtaXNzaW5nIGdseXBoIGJveCBpbiAiZnVsbC10aW1lIi4K
IEJVR0NSMjA1NDcgV0lOIDogZmFzdC90ZXh0L2NhcGl0YWxpemUtYm91bmRhcmllcy5odG1sID0g
RkFJTAogCisvLyBUaGlzIHdpbGwgc29vbiBiZSBmaXhlZCBhZnRlciBpbXBsZW1lbnRpbmcgYSBQ
cm9ncmVzc0V2ZW50IGNvbnN0cnVjdG9yIGZvciBWOC4KK0JVR1dLNjc1MzcgOiBmYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbCA9IEZBSUwKKwog
Ly8gRGlmZmVyZW50IGJ1dHRvbiBsaW5lLWhlaWdodHMsIG91ciBiZWhhdmlvciBsb29rcyB3cm9u
Zy4KIEJVR0NSMjA1NTEgTElOVVggV0lOIDogZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhl
aWdodC5odG1sID0gRkFJTAogQlVHQ1IyMDU1MSBMSU5VWCBXSU4gOiBmYXN0L3JlcGxhY2VkL3Rh
YmxlLXBlcmNlbnQtaGVpZ2h0LXRleHQtY29udHJvbHMuaHRtbCA9IEZBSUwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBjNzEwMTU5MDUwZGJkZDA0NGZjMDY1ZDg0NGQ3N2JmNWFhMjM0ZDFmLi5mZDk0Mzc2NjgxMTI1
YWIyMzQ5NzQ1NDMzZDk5ZDE4ZjljMDU5MDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTEtMDktMDcgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAg
ICBJbXBsZW1lbnQgYSBQcm9ncmVzc0V2ZW50IGNvbnN0cnVjdG9yIGZvciBKU0MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHNwZWMgZm9yIHRoZSBQ
cm9ncmVzc0V2ZW50IGNvbnN0cnVjdG9yIGlzIGhlcmU6CisgICAgICAgIGh0dHA6Ly93d3cudzMu
b3JnL1RSL3Byb2dyZXNzLWV2ZW50cy8jaW50ZXJmYWNlLXByb2dyZXNzZXZlbnQKKworICAgICAg
ICBUZXN0OiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0
b3IuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5o
OiBBZGRlZCBhIGRlZmluaXRpb24gZm9yIHRoZSBQcm9ncmVzc0V2ZW50IGNvbnN0cnVjdG9yLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0RpY3Rpb25hcnk6OmNvbnZlcnRWYWx1ZSk6IENvbnZlcnRzIGFuIEVDTUEtMjYyIE51bWJl
ciBpbnRvIGFuIElETCB1bnNpZ25lZCBsb25nIGxvbmcgdmFsdWUuIFNwZWM6IGh0dHA6Ly93d3cu
dzMub3JnL1RSL1dlYklETC8jZXMtdW5zaWduZWQtbG9uZy1sb25nCisgICAgICAgICogYmluZGlu
Z3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHA6IEFkZGVkICNpbmNsdWRlcyBmb3IgUHJvZ3Jl
c3NFdmVudC4KKyAgICAgICAgKiBkb20vUHJvZ3Jlc3NFdmVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQcm9ncmVzc0V2ZW50SW5pdDo6UHJvZ3Jlc3NFdmVudEluaXQpOgorICAgICAgICAoV2Vi
Q29yZTo6UHJvZ3Jlc3NFdmVudDo6UHJvZ3Jlc3NFdmVudCk6CisgICAgICAgICogZG9tL1Byb2dy
ZXNzRXZlbnQuaDogQWRkZWQgYSBkZWZpbml0aW9uIGZvciBQcm9ncmVzc0V2ZW50SW5pdC4KKyAg
ICAgICAgKFdlYkNvcmU6OlByb2dyZXNzRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgICogZG9tL1By
b2dyZXNzRXZlbnQuaWRsOiBNYWtlcyBQcm9ncmVzc0V2ZW50IGNvbnN0cnVjdGlibGUuCisKIDIw
MTEtMDktMDYgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZG8gbm90IHJlLWNyZWF0ZSBSYXdTb3VyY2VDb2RlIHdoZW4g
dG9nZ2xpbmcgcHJldHR5LXByaW50IG1vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgKaW5kZXggODE4MTUxMWIyNzdhODIyMWFh
MDE2MTE4Y2FjZmM3N2NhZmUwZGFhMy4uMjY1ZDRlYjk2MTJjZjMxNzM1ZTQ1MGQyOTAzYTYxYTZi
NDA4ZjJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVu
dENvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZl
bnRDb25zdHJ1Y3RvcnMuaApAQCAtNDIsMTAgKzQyLDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgRklMTF9QUk9QRVJUWShkZXRhaWwpIFwKICAgICBESUNUSU9OQVJZX0VORChDdXN0
b21FdmVudCkKIAorI2RlZmluZSBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1Jf
Rk9SX1BST0dSRVNTX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxM
X1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCisgICAgXAorICAgIERJQ1RJT05B
UllfU1RBUlQoUHJvZ3Jlc3NFdmVudCkgXAorICAgICAgICBGSUxMX1BBUkVOVF9QUk9QRVJUSUVT
KEV2ZW50KSBcCisgICAgICAgIEZJTExfUFJPUEVSVFkobGVuZ3RoQ29tcHV0YWJsZSkgXAorICAg
ICAgICBGSUxMX1BST1BFUlRZKGxvYWRlZCkgXAorICAgICAgICBGSUxMX1BST1BFUlRZKHRvdGFs
KSBcCisgICAgRElDVElPTkFSWV9FTkQoUHJvZ3Jlc3NFdmVudCkKKwogCiAjZGVmaW5lIElOU1RB
TlRJQVRFX0FMTF9FVkVOVF9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JTKERJQ1RJT05BUllfU1RB
UlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZ
KSBcCiAgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9FVkVOVChE
SUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywg
RklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RP
Ul9GT1JfQ1VTVE9NX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxM
X1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCisgICAgSU5TVEFOVElBVEVfSU5J
VElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9QUk9HUkVTU19FVkVOVChESUNUSU9OQVJZX1NUQVJU
LCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkg
XAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RpY3Rpb25hcnkuY3BwCmluZGV4IDY5ZDJlYjY2N2IxYWNmMDY1MDIwZWE4ODI3MmJmOGY2
OTM0YTU0MDAuLmExZGVhODVhMzUxNjYzNTZlNmQ2ZmQxOTk5ZGRhYTNiYmJlMGRkOTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcApAQCAtMzcsNiArMzcs
OCBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRp
YyBjb25zdCBkb3VibGUgRDY0ID0gMTg0NDY3NDQwNzM3MDk1NTE2MTYuMDsKKwogSlNEaWN0aW9u
YXJ5OjpHZXRQcm9wZXJ0eVJlc3VsdCBKU0RpY3Rpb25hcnk6OnRyeUdldFByb3BlcnR5KGNvbnN0
IGNoYXIqIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSYgZmluYWxSZXN1bHQpCiB7CiAgICAgSWRlbnRp
ZmllciBpZGVudGlmaWVyKG1fZXhlYywgcHJvcGVydHlOYW1lKTsKQEAgLTc3LDcgKzc5LDExIEBA
IHZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IHZhbHVlLCB1bnNpZ25lZCBzaG9ydCYKIAogdm9pZCBKU0RpY3Rpb25hcnk6OmNvbnZlcnRWYWx1
ZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkIGxvbmcgbG9uZyYgcmVz
dWx0KQogewotICAgIHJlc3VsdCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4odmFs
dWUudG9JbnRlZ2VyKGV4ZWMpKTsKKyAgICBkb3VibGUgZCA9IHZhbHVlLnRvTnVtYmVyKGV4ZWMp
OworICAgIGlmIChpc25hbihkKSB8fCBpc2luZihkKSkKKyAgICAgICAgcmVzdWx0ID0gMDsKKyAg
ICBlbHNlCisgICAgICAgIHJlc3VsdCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4o
Zm1vZCh0cnVuYyhkKSwgRDY0KSk7CiB9CiAKIHZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFs
dWUoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBkb3VibGUmIHJlc3VsdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHAKaW5k
ZXggYjMzYTVjYjYxZGUzNTg4NzkyMGE0ZWE0ZmE3MGMyNThjNWZmOTQxNi4uNzJlYWIyOTkwNmNi
ZGEyMzg0NTAzMjQ5OTgyMGRkMjFiYTMxNjk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHAKQEAgLTMxLDYgKzMxLDggQEAKICNp
bmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiSlNEaWN0aW9uYXJ5LmgiCiAjaW5j
bHVkZSAiSlNFdmVudC5oIgorI2luY2x1ZGUgIkpTUHJvZ3Jlc3NFdmVudC5oIgorI2luY2x1ZGUg
IlByb2dyZXNzRXZlbnQuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBKU0M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5jcHAKaW5kZXggYzg1ZWVm
ZmZmMWFmYmIxOTJkNzljZGFkNWE2ZjkzZWZjODk2MjlhNy4uNmQ4ZTE0ZTAxZGE5MjkzZmNiYmEy
NzljNDM5MzUwMDhkMDA4NDE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dy
ZXNzRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmNwcApA
QCAtMjcsNyArMjcsMTQgQEAKICNpbmNsdWRlICJQcm9ncmVzc0V2ZW50LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKLSAgICAKKworUHJvZ3Jlc3NFdmVudEluaXQ6OlByb2dyZXNzRXZlbnRJbml0
KCkKKyAgICA6IGxlbmd0aENvbXB1dGFibGUoZmFsc2UpCisgICAgLCBsb2FkZWQoMCkKKyAgICAs
IHRvdGFsKDApCit7Cit9CisKIFByb2dyZXNzRXZlbnQ6OlByb2dyZXNzRXZlbnQoKQogICAgIDog
bV9sZW5ndGhDb21wdXRhYmxlKGZhbHNlKQogICAgICwgbV9sb2FkZWQoMCkKQEAgLTM1LDYgKzQy
LDE0IEBAIFByb2dyZXNzRXZlbnQ6OlByb2dyZXNzRXZlbnQoKQogewogfQogCitQcm9ncmVzc0V2
ZW50OjpQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgUHJvZ3Jl
c3NFdmVudEluaXQmIGluaXRpYWxpemVyKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIp
CisgICAgLCBtX2xlbmd0aENvbXB1dGFibGUoaW5pdGlhbGl6ZXIubGVuZ3RoQ29tcHV0YWJsZSkK
KyAgICAsIG1fbG9hZGVkKGluaXRpYWxpemVyLmxvYWRlZCkKKyAgICAsIG1fdG90YWwoaW5pdGlh
bGl6ZXIudG90YWwpCit7Cit9CisKIFByb2dyZXNzRXZlbnQ6OlByb2dyZXNzRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGxlbmd0aENvbXB1dGFibGUsIHVuc2lnbmVkIGxvbmcg
bG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCkKICAgICA6IEV2ZW50KHR5cGUs
IGZhbHNlLCB0cnVlKQogICAgICwgbV9sZW5ndGhDb21wdXRhYmxlKGxlbmd0aENvbXB1dGFibGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuaAppbmRleCAzZTI5NWM2NmU3MWFmOTg0MWIzMzIy
OTM1ZTlmOWZiNDFlMjljN2MwLi5kMjdlMWJkOGIwYjI4OGU4NjExNmQzZTcwNjlhZTA4NGVmMWMw
MzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmgKQEAgLTI5LDcgKzI5LDE1IEBACiAj
aW5jbHVkZSAiRXZlbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCitzdHJ1Y3Qg
UHJvZ3Jlc3NFdmVudEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsKKyAgICBQcm9ncmVzc0V2ZW50
SW5pdCgpOworCisgICAgYm9vbCBsZW5ndGhDb21wdXRhYmxlOworICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyBsb2FkZWQ7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsOworfTsKKwogY2xhc3Mg
UHJvZ3Jlc3NFdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8UHJvZ3Jlc3NFdmVudD4gY3JlYXRlKCkKQEAgLTQwLDYgKzQ4LDEwIEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUHJvZ3Jlc3NFdmVudCh0eXBlLCBs
ZW5ndGhDb21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7CiAgICAgfQorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFByb2dyZXNzRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNv
bnN0IFByb2dyZXNzRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgUHJvZ3Jlc3NFdmVudCh0eXBlLCBpbml0aWFsaXplcikpOworICAgIH0K
IAogICAgIHZvaWQgaW5pdFByb2dyZXNzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlQXJn
LCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbCBjYW5jZWxhYmxlQXJnLAogICAgICAgICBib29sIGxl
bmd0aENvbXB1dGFibGVBcmcsIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWRBcmcsIHVuc2lnbmVk
IGxvbmcgbG9uZyB0b3RhbEFyZyk7CkBAIC01MSw2ICs2Myw3IEBAIHB1YmxpYzoKIHByb3RlY3Rl
ZDoKICAgICBQcm9ncmVzc0V2ZW50KCk7CiAgICAgUHJvZ3Jlc3NFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxv
YWRlZCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsKTsKKyAgICBQcm9ncmVzc0V2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgUHJvZ3Jlc3NFdmVudEluaXQmIGluaXRpYWxpemVy
KTsKIAogcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNQcm9ncmVzc0V2ZW50KCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNz
RXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuaWRsCmluZGV4IGFi
ZDVlMTJhYzE5MzhlNzNmOTI3ODE4MzNkNzRhODEyNmY1NTJmYTYuLjU5Mzc4MzIxOWFiNjhmNmE3
OTRjMWY2MGE2MDdjODgxYjU2MDBlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9ncmVzc0V2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5p
ZGwKQEAgLTI1LDcgKzI1LDEwIEBACiAKIG1vZHVsZSBldmVudHMgewogCi0gICAgaW50ZXJmYWNl
IFByb2dyZXNzRXZlbnQgOiBFdmVudCB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ2FuQmVD
b25zdHJ1Y3RlZCwKKyAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24KKyAgICBdIFByb2dy
ZXNzRXZlbnQgOiBFdmVudCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGxl
bmd0aENvbXB1dGFibGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGxvbmcgbG9hZGVkOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBs
b25nIHRvdGFsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106606</attachid>
            <date>2011-09-07 11:24:11 -0700</date>
            <delta_ts>2011-09-07 11:39:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67537-20110907112410.patch</filename>
            <type>text/plain</type>
            <size>19414</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2NzUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwODg1YzhlZGI5YWQ0MGU5NmNlODhi
MTU5NjE5Mjk3MzBhOTU3ODlmLi4zMWJhMWVjNDU0YTZmZTc5MmNlZTBkZTA1MTU0NDg5YzdlNjc3
NTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDcgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYSBQcm9ncmVzc0V2ZW50IGNv
bnN0cnVjdG9yIGZvciBKU0MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3NTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3Ry
dWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1
Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbDogQWRkZWQuIENoZWNrcyB0aGUg
YmVoYXZpb3Igb2YgdGhlIFByb2dyZXNzRXZlbnQgY29uc3RydWN0b3IuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OiBTa2lwcGVkIHByb2dyZXNzLWV2
ZW50LWNvbnN0cnVjdG9yLmh0bWwsIHNpbmNlIFY4IGRvZXMgbm90IHlldCBoYXZlIHRoZSBQcm9n
cmVzc0V2ZW50IGNvbnN0cnVjdG9yLgorCiAyMDExLTA5LTA2ICBQYXZlbCBQb2Rpdmlsb3YgIDxw
b2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRvIG5vdCBy
ZS1jcmVhdGUgUmF3U291cmNlQ29kZSB3aGVuIHRvZ2dsaW5nIHByZXR0eS1wcmludCBtb2RlLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNz
LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy9wcm9ncmVzcy1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2YyMzJkNTU1MjJhOGU2ZjdiZjAxMzg5MDExNzY3OTZlNDQ4ZWU5YQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wcm9ncmVz
cy1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2NSBAQAorVGhpcyB0
ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBQcm9ncmVzc0V2ZW50IERPTSBjbGFzcy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2
ZW50VHlwZScpLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScpLmNhbmNlbGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScpLmxlbmd0aENvbXB1dGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScpLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5
cGUnKS50b3RhbCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1
YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3
IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2Vs
YWJsZSBpcyBmYWxzZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5j
ZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVu
dCgnZXZlbnRUeXBlJywgeyBsZW5ndGhDb21wdXRhYmxlOiBmYWxzZSB9KS5sZW5ndGhDb21wdXRh
YmxlIGlzIGZhbHNlCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxlbmd0
aENvbXB1dGFibGU6IHRydWUgfSkubGVuZ3RoQ29tcHV0YWJsZSBpcyB0cnVlCitQQVNTIG5ldyBQ
cm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogMCB9KS5sb2FkZWQgaXMgMAorUEFT
UyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IDEgfSkubG9hZGVkIGlz
IDEKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiA5MDA3MTk5
MjU0NzQwOTkwIH0pLmxvYWRlZCBpcyA5MDA3MTk5MjU0NzQwOTkwCitQQVNTIG5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogOTAwNzE5OTI1NDc0MDk5MSB9KS5sb2FkZWQg
aXMgOTAwNzE5OTI1NDc0MDk5MQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywg
eyBsb2FkZWQ6IDE4NDQ2NzQ0MDczNzA5NTUxNjE1IH0pLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQ
cm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogMTIzNDU2Nzg5MDEyMzQ1Njc4OTAg
fSkubG9hZGVkIGlzIDEyMzQ1Njc4OTAxMjM0NTY3MTY4CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50
KCdldmVudFR5cGUnLCB7IGxvYWRlZDogLTEgfSkubG9hZGVkIGlzIDE4NDQ2NzQ0MDczNzA5NTUx
NjE1CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogTmFOIH0p
LmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRl
ZDogMTIzLjQ1IH0pLmxvYWRlZCBpcyAxMjMKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScsIHsgbG9hZGVkOiB1bmRlZmluZWQgfSkubG9hZGVkIGlzIDAKK1BBU1MgbmV3IFByb2dy
ZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiBudWxsIH0pLmxvYWRlZCBpcyAwCitQQVNT
IG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogJycgfSkubG9hZGVkIGlz
IDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiAnMScgfSku
bG9hZGVkIGlzIDEKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVk
OiAnMWEnIH0pLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUn
LCB7IGxvYWRlZDogJ2FiYycgfSkubG9hZGVkIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgbG9hZGVkOiBbXSB9KS5sb2FkZWQgaXMgMAorUEFTUyBuZXcgUHJvZ3Jl
c3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IFsxXSB9KS5sb2FkZWQgaXMgMQorUEFTUyBu
ZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IFsxLCAyXSB9KS5sb2FkZWQg
aXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IHt9IH0p
LmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRl
ZDoge21vZTogMX0gfSkubG9hZGVkIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScsIHsgdG90YWw6IDAgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgn
ZXZlbnRUeXBlJywgeyB0b3RhbDogMSB9KS50b3RhbCBpcyAxCitQQVNTIG5ldyBQcm9ncmVzc0V2
ZW50KCdldmVudFR5cGUnLCB7IHRvdGFsOiA5MDA3MTk5MjU0NzQwOTkwIH0pLnRvdGFsIGlzIDkw
MDcxOTkyNTQ3NDA5OTAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90
YWw6IDkwMDcxOTkyNTQ3NDA5OTEgfSkudG90YWwgaXMgOTAwNzE5OTI1NDc0MDk5MQorUEFTUyBu
ZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogMTg0NDY3NDQwNzM3MDk1NTE2
MTUgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0
b3RhbDogMTIzNDU2Nzg5MDEyMzQ1Njc4OTAgfSkudG90YWwgaXMgMTIzNDU2Nzg5MDEyMzQ1Njcx
NjgKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IC0xIH0pLnRv
dGFsIGlzIDE4NDQ2NzQ0MDczNzA5NTUxNjE1CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVu
dFR5cGUnLCB7IHRvdGFsOiBOYU4gfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVu
dCgnZXZlbnRUeXBlJywgeyB0b3RhbDogMTIzLjQ1IH0pLnRvdGFsIGlzIDEyMworUEFTUyBuZXcg
UHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogdW5kZWZpbmVkIH0pLnRvdGFsIGlz
IDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IG51bGwgfSku
dG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDog
JycgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0
b3RhbDogJzEnIH0pLnRvdGFsIGlzIDEKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgdG90YWw6ICcxYScgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgn
ZXZlbnRUeXBlJywgeyB0b3RhbDogJ2FiYycgfSkudG90YWwgaXMgMAorUEFTUyBuZXcgUHJvZ3Jl
c3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogW10gfSkudG90YWwgaXMgMAorUEFTUyBuZXcg
UHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogWzFdIH0pLnRvdGFsIGlzIDEKK1BB
U1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IFsxLCAyXSB9KS50b3Rh
bCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IHRvdGFsOiB7fSB9
KS50b3RhbCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IHRvdGFs
OiB7bW9lOiAxfSB9KS50b3RhbCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5
cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6
IHRydWUsIGxvYWRlZDogMTIzNDUsIHRvdGFsOiAxMjM0NSB9KS5idWJibGVzIGlzIHRydWUKK1BB
U1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2Vs
YWJsZTogdHJ1ZSwgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6
IDEyMzQ1IH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZl
bnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBsZW5ndGhDb21wdXRh
YmxlOiB0cnVlLCBsb2FkZWQ6IDEyMzQ1LCB0b3RhbDogMTIzNDUgfSkubGVuZ3RoQ29tcHV0YWJs
ZSBpcyB0cnVlCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6
IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRlZDog
MTIzNDUsIHRvdGFsOiAxMjM0NSB9KS5sb2FkZWQgaXMgMTIzNDUKK1BBU1MgbmV3IFByb2dyZXNz
RXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVu
Z3RoQ29tcHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLnRvdGFs
IGlzIDEyMzQ1CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3By
b2dyZXNzLWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9j
b25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ODgwNWUxYTY4YjJlNmU1OThiMjE1MGU0ZDAzM2IwNjNmZjRiMDkxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNzLWV2ZW50LWNv
bnN0cnVjdG9yLmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBQcm9ncmVzc0V2ZW50IERPTSBj
bGFzcy4iKTsKKworLy8gTm8gaW5pdGlhbGl6ZXIgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQ
cm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS5idWJibGVzIiwgImZhbHNlIik7CitzaG91bGRCZSgi
bmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKK3No
b3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJykubGVuZ3RoQ29tcHV0YWJsZSIs
ICJmYWxzZSIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS5sb2Fk
ZWQiLCAiMCIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS50b3Rh
bCIsICIwIik7CisKKy8vIGJ1YmJsZXMgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMiLCAiZmFsc2Ui
KTsKK3Nob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0
cnVlIH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOworCisvLyBjYW5jZWxhYmxlIGlzIHBhc3NlZC4KK3No
b3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiBmYWxz
ZSB9KS5jYW5jZWxhYmxlIiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsK
KworLy8gbGVuZ3RoQ29tcHV0YWJsZSBpcyBwYXNzZWQuCitzaG91bGRCZSgibmV3IFByb2dyZXNz
RXZlbnQoJ2V2ZW50VHlwZScsIHsgbGVuZ3RoQ29tcHV0YWJsZTogZmFsc2UgfSkubGVuZ3RoQ29t
cHV0YWJsZSIsICJmYWxzZSIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5
cGUnLCB7IGxlbmd0aENvbXB1dGFibGU6IHRydWUgfSkubGVuZ3RoQ29tcHV0YWJsZSIsICJ0cnVl
Iik7CisKKy8vIGxvYWRlZCBvciB0b3RhbCBpcyBwYXNzZWQuCitbImxvYWRlZCIsICJ0b3RhbCJd
LmZvckVhY2goZnVuY3Rpb24gKGF0dHIpIHsKKyAgICAvLyBbMCwgMl41MyAtIDFdLiBBIHZhbHVl
IHRoYXQgaXMgaW4gdGhlIHVuc2lnbmVkIGxvbmcgbG9uZyByYW5nZSBhbmQgY2FuIGJlIGV4YWN0
bHkgcmVwcmVzZW50ZWQgYXMgYSBkb3VibGUuCisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2
ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogMCB9KS4iICsgYXR0ciwgIjAiKTsKKyAg
ICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAi
OiAxIH0pLiIgKyBhdHRyLCAiMSIpOworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgn
ZXZlbnRUeXBlJywgeyAiICsgYXR0ciArICI6IDkwMDcxOTkyNTQ3NDA5OTAgfSkuIiArIGF0dHIs
ICI5MDA3MTk5MjU0NzQwOTkwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdl
dmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogOTAwNzE5OTI1NDc0MDk5MSB9KS4iICsgYXR0ciwg
IjkwMDcxOTkyNTQ3NDA5OTEiKTsKKworICAgIC8vIFsyXjUzLCAyXjY0IC0gMV0uIEEgdmFsdWUg
dGhhdCBpcyBpbiB0aGUgdW5zaWduZWQgbG9uZyBsb25nIHJhbmdlIGJ1dCBjYW5ub3QgYmUgcmVw
cmVzZW50ZWQgYXMgYSBkb3VibGUuCisgICAgLy8gU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIv
V2ViSURMLyNlcy11bnNpZ25lZC1sb25nLWxvbmcKKyAgICBzaG91bGRCZSgibmV3IFByb2dyZXNz
RXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAiOiAxODQ0Njc0NDA3MzcwOTU1MTYxNSB9
KS4iICsgYXR0ciwgIjAiKTsKKyAgICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScsIHsgIiArIGF0dHIgKyAiOiAxMjM0NTY3ODkwMTIzNDU2Nzg5MCB9KS4iICsgYXR0ciwg
IjEyMzQ1Njc4OTAxMjM0NTY3MTY4Iik7CisKKyAgICAvLyBBIG5lZ2F0aXZlIG51bWJlci4KKyAg
ICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAi
OiAtMSB9KS4iICsgYXR0ciwgIjE4NDQ2NzQ0MDczNzA5NTUxNjE1Iik7CisKKyAgICAvLyBOYU4u
CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRy
ICsgIjogTmFOIH0pLiIgKyBhdHRyLCAiMCIpOworCisgICAgLy8gQSBkb3VibGUuCisgICAgc2hv
dWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogMTIz
LjQ1IH0pLiIgKyBhdHRyLCAiMTIzIik7CisKKyAgICAvLyBOb24tbnVtZXJpYyB2YWx1ZXMuCisg
ICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsg
IjogdW5kZWZpbmVkIH0pLiIgKyBhdHRyLCAiMCIpOworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jl
c3NFdmVudCgnZXZlbnRUeXBlJywgeyAiICsgYXR0ciArICI6IG51bGwgfSkuIiArIGF0dHIsICIw
Iik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBh
dHRyICsgIjogJycgfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogJzEnIH0pLiIgKyBhdHRyLCAiMSIp
OworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyAiICsgYXR0
ciArICI6ICcxYScgfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogJ2FiYycgfSkuIiArIGF0dHIsICIw
Iik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBh
dHRyICsgIjogW10gfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogWzFdIH0pLiIgKyBhdHRyLCAiMSIp
OworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyAiICsgYXR0
ciArICI6IFsxLCAyXSB9KS4iICsgYXR0ciwgIjAiKTsKKyAgICBzaG91bGRCZSgibmV3IFByb2dy
ZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAiOiB7fSB9KS4iICsgYXR0ciwgIjAi
KTsKKyAgICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0
dHIgKyAiOiB7bW9lOiAxfSB9KS4iICsgYXR0ciwgIjAiKTsKK30pOworCisvLyBBbGwgaW5pdGlh
bGl6ZXJzIGFyZSBwYXNzZWQuCitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVuZ3RoQ29tcHV0YWJsZTog
dHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLmJ1YmJsZXMiLCAidHJ1ZSIpOwor
c2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUs
IGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRlZDogMTIzNDUs
IHRvdGFsOiAxMjM0NSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKK3Nob3VsZEJlKCJuZXcgUHJv
Z3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVl
LCBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLCBsb2FkZWQ6IDEyMzQ1LCB0b3RhbDogMTIzNDUgfSku
bGVuZ3RoQ29tcHV0YWJsZSIsICJ0cnVlIik7CitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVuZ3RoQ29t
cHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLmxvYWRlZCIsICIx
MjM0NSIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJs
ZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRl
ZDogMTIzNDUsIHRvdGFsOiAxMjM0NSB9KS50b3RhbCIsICIxMjM0NSIpOworCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CmluZGV4IDMyZjljNWIyYjE3YTEzNDUzNWFlOWI1OTcxYWZmMmMzY2I3YTIzMjguLmNlNjI2MzA2
OTY0ODc1MWQ5MjUwZWQ1YzZhYWE2ODAwMDRlZjNkZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTUwMSw2ICs1MDEs
OSBAQCBCVUdDUjIwNTE5IFdJTiA6IGZhc3QvdGV4dC93aWRlLXplcm8td2lkdGgtc3BhY2UuaHRt
bCA9IEZBSUwKIC8vIFRoZXJlJ3MgYSBtaXNzaW5nIGdseXBoIGJveCBpbiAiZnVsbC10aW1lIi4K
IEJVR0NSMjA1NDcgV0lOIDogZmFzdC90ZXh0L2NhcGl0YWxpemUtYm91bmRhcmllcy5odG1sID0g
RkFJTAogCisvLyBUaGlzIHdpbGwgc29vbiBiZSBmaXhlZCBhZnRlciBpbXBsZW1lbnRpbmcgYSBQ
cm9ncmVzc0V2ZW50IGNvbnN0cnVjdG9yIGZvciBWOC4KK0JVR1dLNjc1MzcgOiBmYXN0L2V2ZW50
cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbCA9IEZBSUwKKwog
Ly8gRGlmZmVyZW50IGJ1dHRvbiBsaW5lLWhlaWdodHMsIG91ciBiZWhhdmlvciBsb29rcyB3cm9u
Zy4KIEJVR0NSMjA1NTEgTElOVVggV0lOIDogZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhl
aWdodC5odG1sID0gRkFJTAogQlVHQ1IyMDU1MSBMSU5VWCBXSU4gOiBmYXN0L3JlcGxhY2VkL3Rh
YmxlLXBlcmNlbnQtaGVpZ2h0LXRleHQtY29udHJvbHMuaHRtbCA9IEZBSUwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBjNzEwMTU5MDUwZGJkZDA0NGZjMDY1ZDg0NGQ3N2JmNWFhMjM0ZDFmLi5mZDk0Mzc2NjgxMTI1
YWIyMzQ5NzQ1NDMzZDk5ZDE4ZjljMDU5MDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTEtMDktMDcgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAg
ICBJbXBsZW1lbnQgYSBQcm9ncmVzc0V2ZW50IGNvbnN0cnVjdG9yIGZvciBKU0MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHNwZWMgZm9yIHRoZSBQ
cm9ncmVzc0V2ZW50IGNvbnN0cnVjdG9yIGlzIGhlcmU6CisgICAgICAgIGh0dHA6Ly93d3cudzMu
b3JnL1RSL3Byb2dyZXNzLWV2ZW50cy8jaW50ZXJmYWNlLXByb2dyZXNzZXZlbnQKKworICAgICAg
ICBUZXN0OiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0
b3IuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5o
OiBBZGRlZCBhIGRlZmluaXRpb24gZm9yIHRoZSBQcm9ncmVzc0V2ZW50IGNvbnN0cnVjdG9yLgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0RpY3Rpb25hcnk6OmNvbnZlcnRWYWx1ZSk6IENvbnZlcnRzIGFuIEVDTUEtMjYyIE51bWJl
ciBpbnRvIGFuIElETCB1bnNpZ25lZCBsb25nIGxvbmcgdmFsdWUuIFNwZWM6IGh0dHA6Ly93d3cu
dzMub3JnL1RSL1dlYklETC8jZXMtdW5zaWduZWQtbG9uZy1sb25nCisgICAgICAgICogYmluZGlu
Z3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHA6IEFkZGVkICNpbmNsdWRlcyBmb3IgUHJvZ3Jl
c3NFdmVudC4KKyAgICAgICAgKiBkb20vUHJvZ3Jlc3NFdmVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQcm9ncmVzc0V2ZW50SW5pdDo6UHJvZ3Jlc3NFdmVudEluaXQpOgorICAgICAgICAoV2Vi
Q29yZTo6UHJvZ3Jlc3NFdmVudDo6UHJvZ3Jlc3NFdmVudCk6CisgICAgICAgICogZG9tL1Byb2dy
ZXNzRXZlbnQuaDogQWRkZWQgYSBkZWZpbml0aW9uIGZvciBQcm9ncmVzc0V2ZW50SW5pdC4KKyAg
ICAgICAgKFdlYkNvcmU6OlByb2dyZXNzRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgICogZG9tL1By
b2dyZXNzRXZlbnQuaWRsOiBNYWtlcyBQcm9ncmVzc0V2ZW50IGNvbnN0cnVjdGlibGUuCisKIDIw
MTEtMDktMDYgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZG8gbm90IHJlLWNyZWF0ZSBSYXdTb3VyY2VDb2RlIHdoZW4g
dG9nZ2xpbmcgcHJldHR5LXByaW50IG1vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgKaW5kZXggODE4MTUxMWIyNzdhODIyMWFh
MDE2MTE4Y2FjZmM3N2NhZmUwZGFhMy4uMjY1ZDRlYjk2MTJjZjMxNzM1ZTQ1MGQyOTAzYTYxYTZi
NDA4ZjJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVu
dENvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZl
bnRDb25zdHJ1Y3RvcnMuaApAQCAtNDIsMTAgKzQyLDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgRklMTF9QUk9QRVJUWShkZXRhaWwpIFwKICAgICBESUNUSU9OQVJZX0VORChDdXN0
b21FdmVudCkKIAorI2RlZmluZSBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1Jf
Rk9SX1BST0dSRVNTX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxM
X1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCisgICAgXAorICAgIERJQ1RJT05B
UllfU1RBUlQoUHJvZ3Jlc3NFdmVudCkgXAorICAgICAgICBGSUxMX1BBUkVOVF9QUk9QRVJUSUVT
KEV2ZW50KSBcCisgICAgICAgIEZJTExfUFJPUEVSVFkobGVuZ3RoQ29tcHV0YWJsZSkgXAorICAg
ICAgICBGSUxMX1BST1BFUlRZKGxvYWRlZCkgXAorICAgICAgICBGSUxMX1BST1BFUlRZKHRvdGFs
KSBcCisgICAgRElDVElPTkFSWV9FTkQoUHJvZ3Jlc3NFdmVudCkKKwogCiAjZGVmaW5lIElOU1RB
TlRJQVRFX0FMTF9FVkVOVF9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1JTKERJQ1RJT05BUllfU1RB
UlQsIERJQ1RJT05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZ
KSBcCiAgICAgSU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9FVkVOVChE
SUNUSU9OQVJZX1NUQVJULCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywg
RklMTF9QUk9QRVJUWSkgXAogICAgIElOU1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RP
Ul9GT1JfQ1VTVE9NX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxM
X1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCisgICAgSU5TVEFOVElBVEVfSU5J
VElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9QUk9HUkVTU19FVkVOVChESUNUSU9OQVJZX1NUQVJU
LCBESUNUSU9OQVJZX0VORCwgRklMTF9QQVJFTlRfUFJPUEVSVElFUywgRklMTF9QUk9QRVJUWSkg
XAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RpY3Rpb25hcnkuY3BwCmluZGV4IDY5ZDJlYjY2N2IxYWNmMDY1MDIwZWE4ODI3MmJmOGY2
OTM0YTU0MDAuLjY4ZGUyNDk2YThmZjIxMmY2NjM2ZTE3ZmM3MzJmNmY1OTY4OTMyMmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcApAQCAtMzcsNiArMzcs
OCBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRp
YyBjb25zdCBkb3VibGUgVW5zaWduZWRMb25nTG9uZ01heCA9IDE4NDQ2NzQ0MDczNzA5NTUxNjE2
LjA7IC8vIDJeNjQKKwogSlNEaWN0aW9uYXJ5OjpHZXRQcm9wZXJ0eVJlc3VsdCBKU0RpY3Rpb25h
cnk6OnRyeUdldFByb3BlcnR5KGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSYgZmlu
YWxSZXN1bHQpCiB7CiAgICAgSWRlbnRpZmllciBpZGVudGlmaWVyKG1fZXhlYywgcHJvcGVydHlO
YW1lKTsKQEAgLTc3LDcgKzc5LDExIEBAIHZvaWQgSlNEaWN0aW9uYXJ5Ojpjb252ZXJ0VmFsdWUo
RXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBzaG9ydCYKIAogdm9pZCBK
U0RpY3Rpb25hcnk6OmNvbnZlcnRWYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUs
IHVuc2lnbmVkIGxvbmcgbG9uZyYgcmVzdWx0KQogewotICAgIHJlc3VsdCA9IHN0YXRpY19jYXN0
PHVuc2lnbmVkIGxvbmcgbG9uZz4odmFsdWUudG9JbnRlZ2VyKGV4ZWMpKTsKKyAgICBkb3VibGUg
ZCA9IHZhbHVlLnRvTnVtYmVyKGV4ZWMpOworICAgIGlmIChpc25hbihkKSB8fCBpc2luZihkKSkK
KyAgICAgICAgcmVzdWx0ID0gMDsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IHN0YXRpY19j
YXN0PHVuc2lnbmVkIGxvbmcgbG9uZz4oZm1vZCh0cnVuYyhkKSwgVW5zaWduZWRMb25nTG9uZ01h
eCkpOwogfQogCiB2b2lkIEpTRGljdGlvbmFyeTo6Y29udmVydFZhbHVlKEV4ZWNTdGF0ZSogZXhl
YywgSlNWYWx1ZSB2YWx1ZSwgZG91YmxlJiByZXN1bHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0b3JzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRXZlbnRDb25zdHJ1Y3RvcnMuY3BwCmluZGV4IGIzM2E1Y2I2MWRlMzU4
ODc5MjBhNGVhNGZhNzBjMjU4YzVmZjk0MTYuLjcyZWFiMjk5MDZjYmRhMjM4NDUwMzI0OTk4MjBk
ZDIxYmEzMTY5NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRDb25zdHJ1Y3RvcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRDb25zdHJ1Y3RvcnMuY3BwCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiSlNDdXN0b21F
dmVudC5oIgogI2luY2x1ZGUgIkpTRGljdGlvbmFyeS5oIgogI2luY2x1ZGUgIkpTRXZlbnQuaCIK
KyNpbmNsdWRlICJKU1Byb2dyZXNzRXZlbnQuaCIKKyNpbmNsdWRlICJQcm9ncmVzc0V2ZW50Lmgi
CiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuY3BwCmluZGV4IGM4NWVlZmZmZjFhZmJiMTkyZDc5Y2Rh
ZDVhNmY5M2VmYzg5NjI5YTcuLjZkOGUxNGUwMWRhOTI5M2ZjYmJhMjc5YzQzOTM1MDA4ZDAwODQx
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5jcHAKQEAgLTI3LDcgKzI3LDE0IEBA
CiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAg
CisKK1Byb2dyZXNzRXZlbnRJbml0OjpQcm9ncmVzc0V2ZW50SW5pdCgpCisgICAgOiBsZW5ndGhD
b21wdXRhYmxlKGZhbHNlKQorICAgICwgbG9hZGVkKDApCisgICAgLCB0b3RhbCgwKQoreworfQor
CiBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KCkKICAgICA6IG1fbGVuZ3RoQ29tcHV0YWJs
ZShmYWxzZSkKICAgICAsIG1fbG9hZGVkKDApCkBAIC0zNSw2ICs0MiwxNCBAQCBQcm9ncmVzc0V2
ZW50OjpQcm9ncmVzc0V2ZW50KCkKIHsKIH0KIAorUHJvZ3Jlc3NFdmVudDo6UHJvZ3Jlc3NFdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IFByb2dyZXNzRXZlbnRJbml0JiBpbml0
aWFsaXplcikKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyKQorICAgICwgbV9sZW5ndGhD
b21wdXRhYmxlKGluaXRpYWxpemVyLmxlbmd0aENvbXB1dGFibGUpCisgICAgLCBtX2xvYWRlZChp
bml0aWFsaXplci5sb2FkZWQpCisgICAgLCBtX3RvdGFsKGluaXRpYWxpemVyLnRvdGFsKQorewor
fQorCiBQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgYm9vbCBsZW5ndGhDb21wdXRhYmxlLCB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkLCB1bnNp
Z25lZCBsb25nIGxvbmcgdG90YWwpCiAgICAgOiBFdmVudCh0eXBlLCBmYWxzZSwgdHJ1ZSkKICAg
ICAsIG1fbGVuZ3RoQ29tcHV0YWJsZShsZW5ndGhDb21wdXRhYmxlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9n
cmVzc0V2ZW50LmgKaW5kZXggM2UyOTVjNjZlNzFhZjk4NDFiMzMyMjkzNWU5ZjlmYjQxZTI5Yzdj
MC4uYzZjNTA1ZTk1M2UzZTJiMDBjMDhlYzFkYzU2MmI0MGRkMTllMGRjOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vUHJvZ3Jlc3NFdmVudC5oCkBAIC0yOSw3ICsyOSwxNSBAQAogI2luY2x1ZGUgIkV2ZW50Lmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKworc3RydWN0IFByb2dyZXNzRXZlbnRJbml0
IDogcHVibGljIEV2ZW50SW5pdCB7CisgICAgUHJvZ3Jlc3NFdmVudEluaXQoKTsKKworICAgIGJv
b2wgbGVuZ3RoQ29tcHV0YWJsZTsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkOworICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbDsKK307CisKIGNsYXNzIFByb2dyZXNzRXZlbnQgOiBw
dWJsaWMgRXZlbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFByb2dyZXNzRXZl
bnQ+IGNyZWF0ZSgpCkBAIC00MCw2ICs0OCwxMCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFByb2dyZXNzRXZlbnQodHlwZSwgbGVuZ3RoQ29tcHV0YWJsZSwg
bG9hZGVkLCB0b3RhbCkpOwogICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQcm9ncmVzc0V2
ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQcm9ncmVzc0V2ZW50
SW5pdCYgaW5pdGlhbGl6ZXIpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBy
b2dyZXNzRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpKTsKKyAgICB9CiAKICAgICB2b2lkIGluaXRQ
cm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZUFyZywgYm9vbCBjYW5CdWJibGVB
cmcsIGJvb2wgY2FuY2VsYWJsZUFyZywKICAgICAgICAgYm9vbCBsZW5ndGhDb21wdXRhYmxlQXJn
LCB1bnNpZ25lZCBsb25nIGxvbmcgbG9hZGVkQXJnLCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxB
cmcpOwpAQCAtNTEsNiArNjMsNyBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgUHJvZ3Jlc3NF
dmVudCgpOwogICAgIFByb2dyZXNzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29s
IGxlbmd0aENvbXB1dGFibGUsIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxv
bmcgbG9uZyB0b3RhbCk7CisgICAgUHJvZ3Jlc3NFdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBj
b25zdCBQcm9ncmVzc0V2ZW50SW5pdCYpOwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBp
c1Byb2dyZXNzRXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJv
Z3Jlc3NFdmVudC5pZGwKaW5kZXggYWJkNWUxMmFjMTkzOGU3M2Y5Mjc4MTgzM2Q3NGE4MTI2ZjU1
MmZhNi4uNTkzNzgzMjE5YWI2OGY2YTc5NGMxZjYwYTYwN2M4ODFiNTYwMGU1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmlkbApAQCAtMjUsNyArMjUsMTAgQEAKIAogbW9kdWxlIGV2
ZW50cyB7CiAKLSAgICBpbnRlcmZhY2UgUHJvZ3Jlc3NFdmVudCA6IEV2ZW50IHsKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAorICAgICAgICBDdXN0b21Db25zdHJ1
Y3RGdW5jdGlvbgorICAgIF0gUHJvZ3Jlc3NFdmVudCA6IEV2ZW50IHsKICAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gbGVuZ3RoQ29tcHV0YWJsZTsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQ7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106609</attachid>
            <date>2011-09-07 11:39:19 -0700</date>
            <delta_ts>2011-09-08 11:27:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67537-20110907113918.patch</filename>
            <type>text/plain</type>
            <size>19848</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2NzUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwODg1YzhlZGI5YWQ0MGU5NmNlODhi
MTU5NjE5Mjk3MzBhOTU3ODlmLi4zMWJhMWVjNDU0YTZmZTc5MmNlZTBkZTA1MTU0NDg5YzdlNjc3
NTFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDcgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgYSBQcm9ncmVzc0V2ZW50IGNv
bnN0cnVjdG9yIGZvciBKU0MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3NTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3Ry
dWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9jb25zdHJ1
Y3RvcnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbDogQWRkZWQuIENoZWNrcyB0aGUg
YmVoYXZpb3Igb2YgdGhlIFByb2dyZXNzRXZlbnQgY29uc3RydWN0b3IuCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OiBTa2lwcGVkIHByb2dyZXNzLWV2
ZW50LWNvbnN0cnVjdG9yLmh0bWwsIHNpbmNlIFY4IGRvZXMgbm90IHlldCBoYXZlIHRoZSBQcm9n
cmVzc0V2ZW50IGNvbnN0cnVjdG9yLgorCiAyMDExLTA5LTA2ICBQYXZlbCBQb2Rpdmlsb3YgIDxw
b2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRvIG5vdCBy
ZS1jcmVhdGUgUmF3U291cmNlQ29kZSB3aGVuIHRvZ2dsaW5nIHByZXR0eS1wcmludCBtb2RlLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNz
LWV2ZW50LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2NvbnN0cnVjdG9ycy9wcm9ncmVzcy1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTE2NzIxZmI2ZmViNTE2ZTlkOTc4ZmY0Mzc0MzZkOTRkZTEyZGI3MQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wcm9ncmVz
cy1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2NyBAQAorVGhpcyB0
ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBQcm9ncmVzc0V2ZW50IERPTSBjbGFzcy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2
ZW50VHlwZScpLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScpLmNhbmNlbGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScpLmxlbmd0aENvbXB1dGFibGUgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScpLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5
cGUnKS50b3RhbCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1
YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMgaXMgZmFsc2UKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3
IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgY2FuY2VsYWJsZTogZmFsc2UgfSkuY2FuY2Vs
YWJsZSBpcyBmYWxzZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5j
ZWxhYmxlOiB0cnVlIH0pLmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVu
dCgnZXZlbnRUeXBlJywgeyBsZW5ndGhDb21wdXRhYmxlOiBmYWxzZSB9KS5sZW5ndGhDb21wdXRh
YmxlIGlzIGZhbHNlCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxlbmd0
aENvbXB1dGFibGU6IHRydWUgfSkubGVuZ3RoQ29tcHV0YWJsZSBpcyB0cnVlCitQQVNTIG5ldyBQ
cm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogMCB9KS5sb2FkZWQgaXMgMAorUEFT
UyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IDEgfSkubG9hZGVkIGlz
IDEKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiA5MDA3MTk5
MjU0NzQwOTkwIH0pLmxvYWRlZCBpcyA5MDA3MTk5MjU0NzQwOTkwCitQQVNTIG5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogOTAwNzE5OTI1NDc0MDk5MSB9KS5sb2FkZWQg
aXMgOTAwNzE5OTI1NDc0MDk5MQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywg
eyBsb2FkZWQ6IDE4NDQ2NzQ0MDczNzA5NTUxNjE1IH0pLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQ
cm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogMTIzNDU2Nzg5MDEyMzQ1Njc4OTAg
fSkubG9hZGVkIGlzIDEyMzQ1Njc4OTAxMjM0NTY3MTY4CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50
KCdldmVudFR5cGUnLCB7IGxvYWRlZDogLTEgfSkubG9hZGVkIGlzIDE4NDQ2NzQ0MDczNzA5NTUx
NjE1CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogTmFOIH0p
LmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRl
ZDogMTIzLjQ1IH0pLmxvYWRlZCBpcyAxMjMKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScsIHsgbG9hZGVkOiB1bmRlZmluZWQgfSkubG9hZGVkIGlzIDAKK1BBU1MgbmV3IFByb2dy
ZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiBudWxsIH0pLmxvYWRlZCBpcyAwCitQQVNT
IG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRlZDogJycgfSkubG9hZGVkIGlz
IDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiAnMTIzNDUn
IH0pLmxvYWRlZCBpcyAxMjM0NQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywg
eyBsb2FkZWQ6ICcxMjM0NWEnIH0pLmxvYWRlZCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50
KCdldmVudFR5cGUnLCB7IGxvYWRlZDogJ2FiYycgfSkubG9hZGVkIGlzIDAKK1BBU1MgbmV3IFBy
b2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgbG9hZGVkOiBbXSB9KS5sb2FkZWQgaXMgMAorUEFT
UyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IFsxMjM0NV0gfSkubG9h
ZGVkIGlzIDEyMzQ1CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxvYWRl
ZDogWzEyMzQ1LCA2Nzg5MF0gfSkubG9hZGVkIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQo
J2V2ZW50VHlwZScsIHsgbG9hZGVkOiB7fSB9KS5sb2FkZWQgaXMgMAorUEFTUyBuZXcgUHJvZ3Jl
c3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IHttb2U6IDEyMzQ1fSB9KS5sb2FkZWQgaXMg
MAorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBsb2FkZWQ6IHt2YWx1ZU9m
OiBmdW5jdGlvbiAoKSB7IHJldHVybiAxMjM0NTsgfX0gfSkubG9hZGVkIGlzIDEyMzQ1CitQQVNT
IG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IHRvdGFsOiAwIH0pLnRvdGFsIGlzIDAK
K1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IDEgfSkudG90YWwg
aXMgMQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogOTAwNzE5
OTI1NDc0MDk5MCB9KS50b3RhbCBpcyA5MDA3MTk5MjU0NzQwOTkwCitQQVNTIG5ldyBQcm9ncmVz
c0V2ZW50KCdldmVudFR5cGUnLCB7IHRvdGFsOiA5MDA3MTk5MjU0NzQwOTkxIH0pLnRvdGFsIGlz
IDkwMDcxOTkyNTQ3NDA5OTEKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsg
dG90YWw6IDE4NDQ2NzQ0MDczNzA5NTUxNjE1IH0pLnRvdGFsIGlzIDAKK1BBU1MgbmV3IFByb2dy
ZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IDEyMzQ1Njc4OTAxMjM0NTY3ODkwIH0pLnRv
dGFsIGlzIDEyMzQ1Njc4OTAxMjM0NTY3MTY4CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVu
dFR5cGUnLCB7IHRvdGFsOiAtMSB9KS50b3RhbCBpcyAxODQ0Njc0NDA3MzcwOTU1MTYxNQorUEFT
UyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyB0b3RhbDogTmFOIH0pLnRvdGFsIGlz
IDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IDEyMy40NSB9
KS50b3RhbCBpcyAxMjMKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90
YWw6IHVuZGVmaW5lZCB9KS50b3RhbCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVu
dFR5cGUnLCB7IHRvdGFsOiBudWxsIH0pLnRvdGFsIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZl
bnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6ICcnIH0pLnRvdGFsIGlzIDAKK1BBU1MgbmV3IFByb2dy
ZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6ICcxMjM0NScgfSkudG90YWwgaXMgMTIzNDUK
K1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6ICcxMjM0NWEnIH0p
LnRvdGFsIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6
ICdhYmMnIH0pLnRvdGFsIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScs
IHsgdG90YWw6IFtdIH0pLnRvdGFsIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50
VHlwZScsIHsgdG90YWw6IFsxMjM0NV0gfSkudG90YWwgaXMgMTIzNDUKK1BBU1MgbmV3IFByb2dy
ZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IFsxMjM0NSwgNjc4OTBdIH0pLnRvdGFsIGlz
IDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IHt9IH0pLnRv
dGFsIGlzIDAKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgdG90YWw6IHtt
b2U6IDEyMzQ1fSB9KS50b3RhbCBpcyAwCitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5
cGUnLCB7IHRvdGFsOiB7dmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMTIzNDU7IH19IH0p
LnRvdGFsIGlzIDEyMzQ1CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1
YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxv
YWRlZDogMTIzNDUsIHRvdGFsOiAxMjM0NSB9KS5idWJibGVzIGlzIHRydWUKK1BBU1MgbmV3IFBy
b2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1
ZSwgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0p
LmNhbmNlbGFibGUgaXMgdHJ1ZQorUEFTUyBuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywg
eyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBsZW5ndGhDb21wdXRhYmxlOiB0cnVl
LCBsb2FkZWQ6IDEyMzQ1LCB0b3RhbDogMTIzNDUgfSkubGVuZ3RoQ29tcHV0YWJsZSBpcyB0cnVl
CitQQVNTIG5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGJ1YmJsZXM6IHRydWUsIGNh
bmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRydWUsIGxvYWRlZDogMTIzNDUsIHRv
dGFsOiAxMjM0NSB9KS5sb2FkZWQgaXMgMTIzNDUKK1BBU1MgbmV3IFByb2dyZXNzRXZlbnQoJ2V2
ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVuZ3RoQ29tcHV0
YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLnRvdGFsIGlzIDEyMzQ1
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNzLWV2
ZW50LWNvbnN0cnVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jb25zdHJ1Y3Rv
cnMvcHJvZ3Jlc3MtZXZlbnQtY29uc3RydWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjIxMzdlYjcy
YjVlOTU2NGUxNWYyYTUwOTMzY2VmZGIyZmY1OGZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3Byb2dyZXNzLWV2ZW50LWNvbnN0cnVjdG9y
Lmh0bWwKQEAgLTAsMCArMSw4MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1z
dHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0cyB0aGUgY29uc3RydWN0b3IgZm9yIHRoZSBQcm9ncmVzc0V2ZW50IERPTSBjbGFzcy4iKTsK
KworLy8gTm8gaW5pdGlhbGl6ZXIgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2
ZW50KCdldmVudFR5cGUnKS5idWJibGVzIiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IFByb2dy
ZXNzRXZlbnQoJ2V2ZW50VHlwZScpLmNhbmNlbGFibGUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJu
ZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJykubGVuZ3RoQ29tcHV0YWJsZSIsICJmYWxzZSIp
Oworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS5sb2FkZWQiLCAiMCIp
Oworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnKS50b3RhbCIsICIwIik7
CisKKy8vIGJ1YmJsZXMgaXMgcGFzc2VkLgorc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdl
dmVudFR5cGUnLCB7IGJ1YmJsZXM6IGZhbHNlIH0pLmJ1YmJsZXMiLCAiZmFsc2UiKTsKK3Nob3Vs
ZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlIH0pLmJ1
YmJsZXMiLCAidHJ1ZSIpOworCisvLyBjYW5jZWxhYmxlIGlzIHBhc3NlZC4KK3Nob3VsZEJlKCJu
ZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBjYW5jZWxhYmxlOiBmYWxzZSB9KS5jYW5j
ZWxhYmxlIiwgImZhbHNlIik7CitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlw
ZScsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KS5jYW5jZWxhYmxlIiwgInRydWUiKTsKKworLy8gbGVu
Z3RoQ29tcHV0YWJsZSBpcyBwYXNzZWQuCitzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2
ZW50VHlwZScsIHsgbGVuZ3RoQ29tcHV0YWJsZTogZmFsc2UgfSkubGVuZ3RoQ29tcHV0YWJsZSIs
ICJmYWxzZSIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7IGxl
bmd0aENvbXB1dGFibGU6IHRydWUgfSkubGVuZ3RoQ29tcHV0YWJsZSIsICJ0cnVlIik7CisKKy8v
IGxvYWRlZCBvciB0b3RhbCBpcyBwYXNzZWQuCitbImxvYWRlZCIsICJ0b3RhbCJdLmZvckVhY2go
ZnVuY3Rpb24gKGF0dHIpIHsKKyAgICAvLyBbMCwgMl41MyAtIDFdLiBBIHZhbHVlIHRoYXQgaXMg
aW4gdGhlIHVuc2lnbmVkIGxvbmcgbG9uZyByYW5nZSBhbmQgY2FuIGJlIGV4YWN0bHkgcmVwcmVz
ZW50ZWQgYXMgYSBkb3VibGUuCisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVu
dFR5cGUnLCB7ICIgKyBhdHRyICsgIjogMCB9KS4iICsgYXR0ciwgIjAiKTsKKyAgICBzaG91bGRC
ZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAiOiAxIH0pLiIg
KyBhdHRyLCAiMSIpOworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBl
JywgeyAiICsgYXR0ciArICI6IDkwMDcxOTkyNTQ3NDA5OTAgfSkuIiArIGF0dHIsICI5MDA3MTk5
MjU0NzQwOTkwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUn
LCB7ICIgKyBhdHRyICsgIjogOTAwNzE5OTI1NDc0MDk5MSB9KS4iICsgYXR0ciwgIjkwMDcxOTky
NTQ3NDA5OTEiKTsKKworICAgIC8vIFsyXjUzLCAyXjY0IC0gMV0uIEEgdmFsdWUgdGhhdCBpcyBp
biB0aGUgdW5zaWduZWQgbG9uZyBsb25nIHJhbmdlIGJ1dCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQg
YXMgYSBkb3VibGUuCisgICAgLy8gU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURMLyNl
cy11bnNpZ25lZC1sb25nLWxvbmcKKyAgICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2
ZW50VHlwZScsIHsgIiArIGF0dHIgKyAiOiAxODQ0Njc0NDA3MzcwOTU1MTYxNSB9KS4iICsgYXR0
ciwgIjAiKTsKKyAgICBzaG91bGRCZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsg
IiArIGF0dHIgKyAiOiAxMjM0NTY3ODkwMTIzNDU2Nzg5MCB9KS4iICsgYXR0ciwgIjEyMzQ1Njc4
OTAxMjM0NTY3MTY4Iik7CisKKyAgICAvLyBBIG5lZ2F0aXZlIG51bWJlci4KKyAgICBzaG91bGRC
ZSgibmV3IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgIiArIGF0dHIgKyAiOiAtMSB9KS4i
ICsgYXR0ciwgIjE4NDQ2NzQ0MDczNzA5NTUxNjE1Iik7CisKKyAgICAvLyBOYU4uCisgICAgc2hv
dWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogTmFO
IH0pLiIgKyBhdHRyLCAiMCIpOworCisgICAgLy8gQSBkb3VibGUuCisgICAgc2hvdWxkQmUoIm5l
dyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogMTIzLjQ1IH0pLiIg
KyBhdHRyLCAiMTIzIik7CisKKyAgICAvLyBOb24tbnVtZXJpYyB2YWx1ZXMuCisgICAgc2hvdWxk
QmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogdW5kZWZp
bmVkIH0pLiIgKyBhdHRyLCAiMCIpOworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgn
ZXZlbnRUeXBlJywgeyAiICsgYXR0ciArICI6IG51bGwgfSkuIiArIGF0dHIsICIwIik7CisgICAg
c2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjog
JycgfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdl
dmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogJzEyMzQ1JyB9KS4iICsgYXR0ciwgIjEyMzQ1Iik7
CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRy
ICsgIjogJzEyMzQ1YScgfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9n
cmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogJ2FiYycgfSkuIiArIGF0dHIs
ICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIg
KyBhdHRyICsgIjogW10gfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9n
cmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjogWzEyMzQ1XSB9KS4iICsgYXR0
ciwgIjEyMzQ1Iik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUn
LCB7ICIgKyBhdHRyICsgIjogWzEyMzQ1LCA2Nzg5MF0gfSkuIiArIGF0dHIsICIwIik7CisgICAg
c2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjog
e30gfSkuIiArIGF0dHIsICIwIik7CisgICAgc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdl
dmVudFR5cGUnLCB7ICIgKyBhdHRyICsgIjoge21vZTogMTIzNDV9IH0pLiIgKyBhdHRyLCAiMCIp
OworICAgIHNob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyAiICsgYXR0
ciArICI6IHt2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAxMjM0NTsgfX0gfSkuIiArIGF0
dHIsICIxMjM0NSIpOworfSk7CisKKy8vIEFsbCBpbml0aWFsaXplcnMgYXJlIHBhc3NlZC4KK3No
b3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVzOiB0cnVlLCBj
YW5jZWxhYmxlOiB0cnVlLCBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLCBsb2FkZWQ6IDEyMzQ1LCB0
b3RhbDogMTIzNDUgfSkuYnViYmxlcyIsICJ0cnVlIik7CitzaG91bGRCZSgibmV3IFByb2dyZXNz
RXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSwgbGVu
Z3RoQ29tcHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1IH0pLmNhbmNl
bGFibGUiLCAidHJ1ZSIpOworc2hvdWxkQmUoIm5ldyBQcm9ncmVzc0V2ZW50KCdldmVudFR5cGUn
LCB7IGJ1YmJsZXM6IHRydWUsIGNhbmNlbGFibGU6IHRydWUsIGxlbmd0aENvbXB1dGFibGU6IHRy
dWUsIGxvYWRlZDogMTIzNDUsIHRvdGFsOiAxMjM0NSB9KS5sZW5ndGhDb21wdXRhYmxlIiwgInRy
dWUiKTsKK3Nob3VsZEJlKCJuZXcgUHJvZ3Jlc3NFdmVudCgnZXZlbnRUeXBlJywgeyBidWJibGVz
OiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlLCBsZW5ndGhDb21wdXRhYmxlOiB0cnVlLCBsb2FkZWQ6
IDEyMzQ1LCB0b3RhbDogMTIzNDUgfSkubG9hZGVkIiwgIjEyMzQ1Iik7CitzaG91bGRCZSgibmV3
IFByb2dyZXNzRXZlbnQoJ2V2ZW50VHlwZScsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTog
dHJ1ZSwgbGVuZ3RoQ29tcHV0YWJsZTogdHJ1ZSwgbG9hZGVkOiAxMjM0NSwgdG90YWw6IDEyMzQ1
IH0pLnRvdGFsIiwgIjEyMzQ1Iik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggMzJmOWM1YjJiMTdhMTM0
NTM1YWU5YjU5NzFhZmYyYzNjYjdhMjMyOC4uY2U2MjYzMDY5NjQ4NzUxZDkyNTBlZDVjNmFhYTY4
MDAwNGVmM2RlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dApAQCAtNTAxLDYgKzUwMSw5IEBAIEJVR0NSMjA1MTkgV0lOIDog
ZmFzdC90ZXh0L3dpZGUtemVyby13aWR0aC1zcGFjZS5odG1sID0gRkFJTAogLy8gVGhlcmUncyBh
IG1pc3NpbmcgZ2x5cGggYm94IGluICJmdWxsLXRpbWUiLgogQlVHQ1IyMDU0NyBXSU4gOiBmYXN0
L3RleHQvY2FwaXRhbGl6ZS1ib3VuZGFyaWVzLmh0bWwgPSBGQUlMCiAKKy8vIFRoaXMgd2lsbCBz
b29uIGJlIGZpeGVkIGFmdGVyIGltcGxlbWVudGluZyBhIFByb2dyZXNzRXZlbnQgY29uc3RydWN0
b3IgZm9yIFY4LgorQlVHV0s2NzUzNyA6IGZhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9wcm9ncmVz
cy1ldmVudC1jb25zdHJ1Y3Rvci5odG1sID0gRkFJTAorCiAvLyBEaWZmZXJlbnQgYnV0dG9uIGxp
bmUtaGVpZ2h0cywgb3VyIGJlaGF2aW9yIGxvb2tzIHdyb25nLgogQlVHQ1IyMDU1MSBMSU5VWCBX
SU4gOiBmYXN0L3JlcGxhY2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0Lmh0bWwgPSBGQUlMCiBCVUdD
UjIwNTUxIExJTlVYIFdJTiA6IGZhc3QvcmVwbGFjZWQvdGFibGUtcGVyY2VudC1oZWlnaHQtdGV4
dC1jb250cm9scy5odG1sID0gRkFJTApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM3MTAxNTkwNTBkYmRkMDQ0ZmMw
NjVkODQ0ZDc3YmY1YWEyMzRkMWYuLmZkOTQzNzY2ODExMjVhYjIzNDk3NDU0MzNkOTlkMThmOWMw
NTkwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMS0wOS0wNyAgS2VudGFybyBI
YXJhICA8aGFyYWtlbkBnb29nbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBhIFByb2dyZXNz
RXZlbnQgY29uc3RydWN0b3IgZm9yIEpTQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgc3BlYyBmb3IgdGhlIFByb2dyZXNzRXZlbnQgY29uc3RydWN0
b3IgaXMgaGVyZToKKyAgICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvcHJvZ3Jlc3MtZXZlbnRz
LyNpbnRlcmZhY2UtcHJvZ3Jlc3NldmVudAorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2Nv
bnN0cnVjdG9ycy9wcm9ncmVzcy1ldmVudC1jb25zdHJ1Y3Rvci5odG1sCisKKyAgICAgICAgKiBi
aW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmg6IEFkZGVkIGEgZGVmaW5pdGlvbiBm
b3IgdGhlIFByb2dyZXNzRXZlbnQgY29uc3RydWN0b3IuCisgICAgICAgICogYmluZGluZ3MvanMv
SlNEaWN0aW9uYXJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRGljdGlvbmFyeTo6Y29udmVy
dFZhbHVlKTogQ29udmVydHMgYW4gRUNNQS0yNjIgTnVtYmVyIGludG8gYW4gSURMIHVuc2lnbmVk
IGxvbmcgbG9uZyB2YWx1ZS4gU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvV2ViSURMLyNlcy11
bnNpZ25lZC1sb25nLWxvbmcKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q29uc3RydWN0
b3JzLmNwcDogQWRkZWQgI2luY2x1ZGVzIGZvciBQcm9ncmVzc0V2ZW50LgorICAgICAgICAqIGRv
bS9Qcm9ncmVzc0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNzRXZlbnRJbml0
OjpQcm9ncmVzc0V2ZW50SW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpQcm9ncmVzc0V2ZW50OjpQ
cm9ncmVzc0V2ZW50KToKKyAgICAgICAgKiBkb20vUHJvZ3Jlc3NFdmVudC5oOiBBZGRlZCBhIGRl
ZmluaXRpb24gZm9yIFByb2dyZXNzRXZlbnRJbml0LgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jl
c3NFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKiBkb20vUHJvZ3Jlc3NFdmVudC5pZGw6IE1ha2Vz
IFByb2dyZXNzRXZlbnQgY29uc3RydWN0aWJsZS4KKwogMjAxMS0wOS0wNiAgUGF2ZWwgUG9kaXZp
bG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBk
byBub3QgcmUtY3JlYXRlIFJhd1NvdXJjZUNvZGUgd2hlbiB0b2dnbGluZyBwcmV0dHktcHJpbnQg
bW9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZlbnRD
b25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvRXZlbnRDb25z
dHJ1Y3RvcnMuaAppbmRleCA4MTgxNTExYjI3N2E4MjIxYWEwMTYxMThjYWNmYzc3Y2FmZTBkYWEz
Li4yNjVkNGViOTYxMmNmMzE3MzVlNDUwZDI5MDNhNjFhNmI0MDhmMmQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0V2ZW50Q29uc3RydWN0b3JzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9FdmVudENvbnN0cnVjdG9ycy5oCkBAIC00
MiwxMCArNDIsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBGSUxMX1BST1BFUlRZ
KGRldGFpbCkgXAogICAgIERJQ1RJT05BUllfRU5EKEN1c3RvbUV2ZW50KQogCisjZGVmaW5lIElO
U1RBTlRJQVRFX0lOSVRJQUxJWklOR19DT05TVFJVQ1RPUl9GT1JfUFJPR1JFU1NfRVZFTlQoRElD
VElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJ
TExfUFJPUEVSVFkpIFwKKyAgICBcCisgICAgRElDVElPTkFSWV9TVEFSVChQcm9ncmVzc0V2ZW50
KSBcCisgICAgICAgIEZJTExfUEFSRU5UX1BST1BFUlRJRVMoRXZlbnQpIFwKKyAgICAgICAgRklM
TF9QUk9QRVJUWShsZW5ndGhDb21wdXRhYmxlKSBcCisgICAgICAgIEZJTExfUFJPUEVSVFkobG9h
ZGVkKSBcCisgICAgICAgIEZJTExfUFJPUEVSVFkodG90YWwpIFwKKyAgICBESUNUSU9OQVJZX0VO
RChQcm9ncmVzc0V2ZW50KQorCiAKICNkZWZpbmUgSU5TVEFOVElBVEVfQUxMX0VWRU5UX0lOSVRJ
QUxJWklOR19DT05TVFJVQ1RPUlMoRElDVElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJ
TExfUEFSRU5UX1BST1BFUlRJRVMsIEZJTExfUFJPUEVSVFkpIFwKICAgICBJTlNUQU5USUFURV9J
TklUSUFMSVpJTkdfQ09OU1RSVUNUT1JfRk9SX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJ
T05BUllfRU5ELCBGSUxMX1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCiAgICAg
SU5TVEFOVElBVEVfSU5JVElBTElaSU5HX0NPTlNUUlVDVE9SX0ZPUl9DVVNUT01fRVZFTlQoRElD
VElPTkFSWV9TVEFSVCwgRElDVElPTkFSWV9FTkQsIEZJTExfUEFSRU5UX1BST1BFUlRJRVMsIEZJ
TExfUFJPUEVSVFkpIFwKKyAgICBJTlNUQU5USUFURV9JTklUSUFMSVpJTkdfQ09OU1RSVUNUT1Jf
Rk9SX1BST0dSRVNTX0VWRU5UKERJQ1RJT05BUllfU1RBUlQsIERJQ1RJT05BUllfRU5ELCBGSUxM
X1BBUkVOVF9QUk9QRVJUSUVTLCBGSUxMX1BST1BFUlRZKSBcCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEaWN0aW9u
YXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGljdGlvbmFyeS5jcHAKaW5k
ZXggNjlkMmViNjY3YjFhY2YwNjUwMjBlYTg4MjcyYmY4ZjY5MzRhNTQwMC4uNjhkZTI0OTZhOGZm
MjEyZjY2MzZlMTdmYzczMmY2ZjU5Njg5MzIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEaWN0aW9uYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RpY3Rpb25hcnkuY3BwCkBAIC0zNyw2ICszNyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBK
U0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIGNvbnN0IGRvdWJsZSBVbnNpZ25l
ZExvbmdMb25nTWF4ID0gMTg0NDY3NDQwNzM3MDk1NTE2MTYuMDsgLy8gMl42NAorCiBKU0RpY3Rp
b25hcnk6OkdldFByb3BlcnR5UmVzdWx0IEpTRGljdGlvbmFyeTo6dHJ5R2V0UHJvcGVydHkoY29u
c3QgY2hhciogcHJvcGVydHlOYW1lLCBKU1ZhbHVlJiBmaW5hbFJlc3VsdCkKIHsKICAgICBJZGVu
dGlmaWVyIGlkZW50aWZpZXIobV9leGVjLCBwcm9wZXJ0eU5hbWUpOwpAQCAtNzcsNyArNzksMTEg
QEAgdm9pZCBKU0RpY3Rpb25hcnk6OmNvbnZlcnRWYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgdmFsdWUsIHVuc2lnbmVkIHNob3J0JgogCiB2b2lkIEpTRGljdGlvbmFyeTo6Y29udmVydFZh
bHVlKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgbG9uZyBsb25nJiBy
ZXN1bHQpCiB7Ci0gICAgcmVzdWx0ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPih2
YWx1ZS50b0ludGVnZXIoZXhlYykpOworICAgIGRvdWJsZSBkID0gdmFsdWUudG9OdW1iZXIoZXhl
Yyk7CisgICAgaWYgKGlzbmFuKGQpIHx8IGlzaW5mKGQpKQorICAgICAgICByZXN1bHQgPSAwOwor
ICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25n
PihmbW9kKHRydW5jKGQpLCBVbnNpZ25lZExvbmdMb25nTWF4KSk7CiB9CiAKIHZvaWQgSlNEaWN0
aW9uYXJ5Ojpjb252ZXJ0VmFsdWUoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlLCBkb3Vi
bGUmIHJlc3VsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZl
bnRDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENv
bnN0cnVjdG9ycy5jcHAKaW5kZXggYjMzYTVjYjYxZGUzNTg4NzkyMGE0ZWE0ZmE3MGMyNThjNWZm
OTQxNi4uNzJlYWIyOTkwNmNiZGEyMzg0NTAzMjQ5OTgyMGRkMjFiYTMxNjk0YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudENvbnN0cnVjdG9ycy5jcHAKQEAg
LTMxLDYgKzMxLDggQEAKICNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmgiCiAjaW5jbHVkZSAiSlNE
aWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiSlNFdmVudC5oIgorI2luY2x1ZGUgIkpTUHJvZ3Jlc3NF
dmVudC5oIgorI2luY2x1ZGUgIlByb2dyZXNzRXZlbnQuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vy
cm9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vUHJvZ3Jlc3NFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVu
dC5jcHAKaW5kZXggYzg1ZWVmZmZmMWFmYmIxOTJkNzljZGFkNWE2ZjkzZWZjODk2MjlhNy4uNmQ4
ZTE0ZTAxZGE5MjkzZmNiYmEyNzljNDM5MzUwMDhkMDA4NDE0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Q
cm9ncmVzc0V2ZW50LmNwcApAQCAtMjcsNyArMjcsMTQgQEAKICNpbmNsdWRlICJQcm9ncmVzc0V2
ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKworUHJvZ3Jlc3NFdmVudEluaXQ6
OlByb2dyZXNzRXZlbnRJbml0KCkKKyAgICA6IGxlbmd0aENvbXB1dGFibGUoZmFsc2UpCisgICAg
LCBsb2FkZWQoMCkKKyAgICAsIHRvdGFsKDApCit7Cit9CisKIFByb2dyZXNzRXZlbnQ6OlByb2dy
ZXNzRXZlbnQoKQogICAgIDogbV9sZW5ndGhDb21wdXRhYmxlKGZhbHNlKQogICAgICwgbV9sb2Fk
ZWQoMCkKQEAgLTM1LDYgKzQyLDE0IEBAIFByb2dyZXNzRXZlbnQ6OlByb2dyZXNzRXZlbnQoKQog
ewogfQogCitQcm9ncmVzc0V2ZW50OjpQcm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgY29uc3QgUHJvZ3Jlc3NFdmVudEluaXQmIGluaXRpYWxpemVyKQorICAgIDogRXZlbnQo
dHlwZSwgaW5pdGlhbGl6ZXIpCisgICAgLCBtX2xlbmd0aENvbXB1dGFibGUoaW5pdGlhbGl6ZXIu
bGVuZ3RoQ29tcHV0YWJsZSkKKyAgICAsIG1fbG9hZGVkKGluaXRpYWxpemVyLmxvYWRlZCkKKyAg
ICAsIG1fdG90YWwoaW5pdGlhbGl6ZXIudG90YWwpCit7Cit9CisKIFByb2dyZXNzRXZlbnQ6OlBy
b2dyZXNzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGxlbmd0aENvbXB1dGFi
bGUsIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCkK
ICAgICA6IEV2ZW50KHR5cGUsIGZhbHNlLCB0cnVlKQogICAgICwgbV9sZW5ndGhDb21wdXRhYmxl
KGxlbmd0aENvbXB1dGFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvZ3Jl
c3NFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuaAppbmRleCAzZTI5
NWM2NmU3MWFmOTg0MWIzMzIyOTM1ZTlmOWZiNDFlMjljN2MwLi5jNmM1MDVlOTUzZTNlMmIwMGMw
OGVjMWRjNTYyYjQwZGQxOWUwZGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJv
Z3Jlc3NFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmgKQEAg
LTI5LDcgKzI5LDE1IEBACiAjaW5jbHVkZSAiRXZlbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewotICAgIAorCitzdHJ1Y3QgUHJvZ3Jlc3NFdmVudEluaXQgOiBwdWJsaWMgRXZlbnRJbml0IHsK
KyAgICBQcm9ncmVzc0V2ZW50SW5pdCgpOworCisgICAgYm9vbCBsZW5ndGhDb21wdXRhYmxlOwor
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQ7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHRv
dGFsOworfTsKKwogY2xhc3MgUHJvZ3Jlc3NFdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UHJvZ3Jlc3NFdmVudD4gY3JlYXRlKCkKQEAgLTQwLDYg
KzQ4LDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUHJv
Z3Jlc3NFdmVudCh0eXBlLCBsZW5ndGhDb21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7CiAgICAg
fQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFByb2dyZXNzRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGNvbnN0IFByb2dyZXNzRXZlbnRJbml0JiBpbml0aWFsaXplcikKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUHJvZ3Jlc3NFdmVudCh0eXBlLCBpbml0
aWFsaXplcikpOworICAgIH0KIAogICAgIHZvaWQgaW5pdFByb2dyZXNzRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlQXJnLCBib29sIGNhbkJ1YmJsZUFyZywgYm9vbCBjYW5jZWxhYmxlQXJn
LAogICAgICAgICBib29sIGxlbmd0aENvbXB1dGFibGVBcmcsIHVuc2lnbmVkIGxvbmcgbG9uZyBs
b2FkZWRBcmcsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEFyZyk7CkBAIC01MSw2ICs2Myw3IEBA
IHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBQcm9ncmVzc0V2ZW50KCk7CiAgICAgUHJvZ3Jlc3NF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgbGVuZ3RoQ29tcHV0YWJsZSwgdW5z
aWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsKTsKKyAgICBQ
cm9ncmVzc0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFByb2dyZXNzRXZlbnRJbml0
Jik7CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzUHJvZ3Jlc3NFdmVudCgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVz
c0V2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmlkbAppbmRleCBh
YmQ1ZTEyYWMxOTM4ZTczZjkyNzgxODMzZDc0YTgxMjZmNTUyZmE2Li41OTM3ODMyMTlhYjY4ZjZh
Nzk0YzFmNjBhNjA3Yzg4MWI1NjAwZTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
UHJvZ3Jlc3NFdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQu
aWRsCkBAIC0yNSw3ICsyNSwxMCBAQAogCiBtb2R1bGUgZXZlbnRzIHsKIAotICAgIGludGVyZmFj
ZSBQcm9ncmVzc0V2ZW50IDogRXZlbnQgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENhbkJl
Q29uc3RydWN0ZWQsCisgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uCisgICAgXSBQcm9n
cmVzc0V2ZW50IDogRXZlbnQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBs
ZW5ndGhDb21wdXRhYmxlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9u
ZyBsb25nIGxvYWRlZDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
bG9uZyB0b3RhbDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>