<?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>45114</bug_id>
          
          <creation_ts>2010-09-02 10:01:34 -0700</creation_ts>
          <short_desc>Web Inspector: show status message below call stack when debugger is paused</short_desc>
          <delta_ts>2010-09-17 10:56:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>45975</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>273426</commentid>
    <comment_count>0</comment_count>
      <attachid>66382</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-02 10:01:34 -0700</bug_when>
    <thetext>Created attachment 66382
Screenshot.

Web Inspector: show status message below call stack when debugger is paused.

When pausing on DOM mutation event such as subtree modification, it&apos;s necessary to notify user about why we&apos;ve paused.
For JavaScript events it&apos;s usually obvious, but we may want to add status messages for JavaScript events for consistency.

The list of status messages for discussion:

 JavaScript events:
* &quot;Paused.&quot;
* &quot;Paused on debugger statement.&quot;
* &quot;Paused on javascript breakpoint.&quot;
* &quot;Stepped over.&quot;
* &quot;Stepped into.&quot;
* &quot;Stepped out.&quot;
* &quot;Paused on exception.&quot;
* &quot;Paused on uncaught exception.&quot;

 DOM events:
* &quot;Paused on &quot;Subtree Modified&quot; breakpoint set on &lt;node&gt;, because new child was added to it&apos;s descendant &lt;target&gt;.&quot;
* &quot;Paused on &quot;Subtree Modified&quot; breakpoint set on &lt;node&gt;, because new child was added to that node.&quot;
* &quot;Paused on &quot;Subtree Modified&quot; breakpoint set on &lt;node&gt;, because because it&apos;s descendant &lt;target&gt; was removed.&quot;
* &quot;Paused on &quot;Node Removed&quot; breakpoint set on &lt;node&gt;.&quot;
* &quot;Paused on &quot;Attribute Modified&quot; breakpoint set on &lt;node&gt;.&quot;

&lt;node&gt; and &lt;target&gt; are clickable node references (see screenshot).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273427</commentid>
    <comment_count>1</comment_count>
      <attachid>66383</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-02 10:01:57 -0700</bug_when>
    <thetext>Created attachment 66383
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273451</commentid>
    <comment_count>2</comment_count>
      <attachid>66383</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-09-02 10:57:07 -0700</bug_when>
    <thetext>Comment on attachment 66383
Proposed patch.

Great idea! Some quick observations on the patch.

&gt; General Comments

Missing a ChangeLog!


&gt; diff --git WebCore/inspector/InspectorDebuggerAgent.cpp
&gt; -    details-&gt;setValue(&quot;reason&quot;, m_breakProgramReason);
&gt; +    details-&gt;setValue(&quot;status&quot;, m_breakProgramReason);

Did anything use &quot;reason&quot; before? I did a search and didn&apos;t see anything.


&gt; diff WebCore/inspector/front-end/CallStackSidebarPane.js
&gt; +  format = WebInspector.UIString(&quot;Paused on \&quot;%s\&quot; breakpoint set on %s, because new child was added to it&apos;s descendant %s.&quot;);
&gt; +  format = WebInspector.UIString(&quot;Paused on \&quot;%s\&quot; breakpoint set on %s, because new child was added to that node.&quot;);
&gt; +  format = WebInspector.UIString(&quot;Paused on \&quot;%s\&quot; breakpoint set on %s, because it&apos;s descendant %s was removed.&quot;);
&gt; +  format = WebInspector.UIString(&quot;Paused on \&quot;%s\&quot; breakpoint set on %s.&quot;);

These look like new UIStrings. They should be added to WebCore/English.lproj/localizedStrings.js.
My guess is that they were added, but your git diff didn&apos;t add the binary delta. When you
create a diff to put up for review make sure you pass git diff the --binary switch to
include binary file deltas.



&gt; +        var formatters = {
&gt; +            s: function(substitution)
&gt; +            {
&gt; +                return substitution;
&gt; +            }
&gt; +        };
&gt; +        function append(a, b)
&gt; +        {
&gt; +            if (typeof b === &quot;string&quot;)
&gt; +                b = document.createTextNode(b);
&gt; +            statusElement.appendChild(b);
&gt; +        }
&gt; +        String.format(format, substitutions, formatters, &quot;&quot;, append);

I&apos;m sorry for not investigating this on my own. What is the reason
for this using a custom formatter? Can you use the standard formatter
found in utilities.js?

    String.standardFormatters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273474</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-02 11:48:09 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 66383 [details])
&gt; Great idea! Some quick observations on the patch.
&gt; 
&gt; &gt; General Comments
&gt; 
&gt; Missing a ChangeLog!
&gt; 
&gt; 
&gt; &gt; diff --git WebCore/inspector/InspectorDebuggerAgent.cpp
&gt; &gt; -    details-&gt;setValue(&quot;reason&quot;, m_breakProgramReason);
&gt; &gt; +    details-&gt;setValue(&quot;status&quot;, m_breakProgramReason);
&gt; 
&gt; Did anything use &quot;reason&quot; before? I did a search and didn&apos;t see anything.
No, it actually was not used before. It was added at backend side, but will be used by fronted only after this change. BTW, this patch is based on another one, which is not landed yet (see https://bugs.webkit.org/show_bug.cgi?id=44679), sorry for confusion.

&gt; 
&gt; &gt; diff WebCore/inspector/front-end/CallStackSidebarPane.js
&gt; &gt; +  format = WebInspector.UIString(&quot;Paused on \&quot;%s\&quot; breakpoint set on %s, because new child was added to it&apos;s descendant %s.&quot;);
&gt; &gt; +  format = WebInspector.UIString(&quot;Paused on \&quot;%s\&quot; breakpoint set on %s, because new child was added to that node.&quot;);
&gt; &gt; +  format = WebInspector.UIString(&quot;Paused on \&quot;%s\&quot; breakpoint set on %s, because it&apos;s descendant %s was removed.&quot;);
&gt; &gt; +  format = WebInspector.UIString(&quot;Paused on \&quot;%s\&quot; breakpoint set on %s.&quot;);
&gt; 
&gt; These look like new UIStrings. They should be added to WebCore/English.lproj/localizedStrings.js.
&gt; My guess is that they were added, but your git diff didn&apos;t add the binary delta. When you
&gt; create a diff to put up for review make sure you pass git diff the --binary switch to
&gt; include binary file deltas.
Let me update localizedStrings.js when status messages are approved (corrections from native speakers are welcome).

&gt; 
&gt; 
&gt; &gt; +        var formatters = {
&gt; &gt; +            s: function(substitution)
&gt; &gt; +            {
&gt; &gt; +                return substitution;
&gt; &gt; +            }
&gt; &gt; +        };
&gt; &gt; +        function append(a, b)
&gt; &gt; +        {
&gt; &gt; +            if (typeof b === &quot;string&quot;)
&gt; &gt; +                b = document.createTextNode(b);
&gt; &gt; +            statusElement.appendChild(b);
&gt; &gt; +        }
&gt; &gt; +        String.format(format, substitutions, formatters, &quot;&quot;, append);
&gt; 
&gt; I&apos;m sorry for not investigating this on my own. What is the reason
&gt; for this using a custom formatter? Can you use the standard formatter
&gt; found in utilities.js?
&gt; 
&gt;     String.standardFormatters
Standard &quot;s&quot; formatter checks substitution type, and if it&apos;s an object, returns substitution.description, which is inappropriate here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274553</commentid>
    <comment_count>4</comment_count>
      <attachid>66626</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-06 04:40:42 -0700</bug_when>
    <thetext>Created attachment 66626
Proposed patch.

* Updated localizedStrings.js
* check status message in DOM breakpoints test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275670</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-08 01:32:21 -0700</bug_when>
    <thetext>Hey guys,

Any comments about changing the UI? Does the screenshot looks good to you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275889</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-09-08 09:44:17 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Any comments about changing the UI? Does the screenshot looks good to you?

I thought it was very cool. My initial thought was to put it at the top of the callstack,
because (1) that is where it is paused and (2) it will make the message always visible;
and the message it very useful. Did you do any experimenting with the positioning?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276495</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-09 09:09:08 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Any comments about changing the UI? Does the screenshot looks good to you?
&gt; 
&gt; I thought it was very cool. My initial thought was to put it at the top of the callstack,
&gt; because (1) that is where it is paused and (2) it will make the message always visible;
&gt; and the message it very useful. Did you do any experimenting with the positioning?

In the initial discussion between Pavel and Timothy it was decided to put status below call stack. Personally, I think that way it looks better, though not so convenient (won&apos;t be visible if call stack is large).

BTW, are you ok with status messages wording?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276523</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-09-09 09:45:41 -0700</bug_when>
    <thetext>Here is how I would have written them. Note I have added &quot;a&quot; or &quot;an&quot; to
most of the statements. I guess this could be personal taste though.


&gt; * &quot;Paused on debugger statement.&quot;
    &quot;Paused on a `debugger` statement.&quot;
Give &apos;debugger&apos; a special format?


&gt; * &quot;Paused on javascript breakpoint.&quot;
    &quot;Paused on breakpoint #.&quot; or &quot;Paused on a breakpoint.&quot;

JavaScript in text displayed to the user should always be &quot;JavaScript&quot;. However
in this case I don&apos;t think the word is needed, since we know we are in JavaScript.
  

&gt; * &quot;Paused on exception.&quot;
    &quot;Paused on an exception.&quot; or &quot;Paused on a &lt;exception or error type&gt;.&quot;

An example of the latter being: &quot;Paused on a TypeError exception.&quot;


&gt; * &quot;Paused on uncaught exception.&quot;
    &quot;Paused on an uncaught exception.&quot; or &quot;Paused on an uncaught &lt;exception or error type&gt;.&quot;


&gt;  DOM events:
&gt; * &quot;Paused on &quot;Subtree Modified&quot; breakpoint set on &lt;node&gt;, because new child was added to it&apos;s descendant &lt;target&gt;.&quot;
&gt; * &quot;Paused on &quot;Subtree Modified&quot; breakpoint set on &lt;node&gt;, because new child was added to that node.&quot;
    &quot;Paused on a ..., because the new child was added to its ...&quot;
               ^              ^^^                        ^^^

&quot;It&apos;s&quot; becomes &quot;it is&quot;. &quot;Its&quot; means ownership. This is a weird case in English, because
normally the apostrophe means ownership.

&gt; * &quot;Paused on &quot;Subtree Modified&quot; breakpoint set on &lt;node&gt;, because because it&apos;s descendant &lt;target&gt; was removed.&quot;

  No double &quot;because&quot;. &quot;It&apos;s&quot; again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276525</commentid>
    <comment_count>9</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-09-09 09:47:22 -0700</bug_when>
    <thetext>&gt;     &quot;Paused on a ..., because the new child was added to its ...&quot;
&gt;                ^              ^^^                        ^^^

Arg. This should have been, &quot;because a new child was added to its ...&quot;.
Not &quot;the&quot;. Ugh, sorry for the confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278093</commentid>
    <comment_count>10</comment_count>
      <attachid>67388</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-13 03:11:13 -0700</bug_when>
    <thetext>Created attachment 67388
Fix wording.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278097</commentid>
    <comment_count>11</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-13 03:14:52 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt;     &quot;Paused on a ..., because the new child was added to its ...&quot;
&gt; &gt;                ^              ^^^                        ^^^
&gt; 
&gt; Arg. This should have been, &quot;because a new child was added to its ...&quot;.
&gt; Not &quot;the&quot;. Ugh, sorry for the confusion.

Thanks for corrections!

 JavaScript events:
* &quot;Paused.&quot;
* &quot;Paused on a &lt;debugger&gt; statement.&quot;
* &quot;Paused on a breakpoint.&quot;
* &quot;Stepped over.&quot;
* &quot;Stepped into.&quot;
* &quot;Stepped out.&quot;
* &quot;Paused on an exception.&quot;
* &quot;Paused on an uncaught exception.&quot;

 DOM events:
* &quot;Paused on a &quot;Subtree Modified&quot; breakpoint set on &lt;node&gt;, because a new child was added to its descendant &lt;target&gt;.&quot;
* &quot;Paused on a &quot;Subtree Modified&quot; breakpoint set on &lt;node&gt;, because a new child was added to that node.&quot;
* &quot;Paused on a &quot;Subtree Modified&quot; breakpoint set on &lt;node&gt;, because because its descendant &lt;target&gt; was removed.&quot;
* &quot;Paused on a &quot;Node Removed&quot; breakpoint set on &lt;node&gt;.&quot;
* &quot;Paused on a &quot;Attribute Modified&quot; breakpoint set on &lt;node&gt;.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278137</commentid>
    <comment_count>12</comment_count>
      <attachid>67388</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-13 05:18:23 -0700</bug_when>
    <thetext>Comment on attachment 67388
Fix wording.

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

Overall looks good.

&gt; WebCore/inspector/front-end/CallStackSidebarPane.js:89
&gt; +        var breakpointOwnerLink = WebInspector.panels.elements.linkifyNodeReference(breakpointOwnerNode);
breakpointOwnerNode can be undefined here.

&gt; WebCore/inspector/front-end/CallStackSidebarPane.js:96
&gt; +            var targetNodeLink = WebInspector.panels.elements.linkifyNodeReference(targetNode);
Ditto.

&gt; WebCore/inspector/front-end/CallStackSidebarPane.js:99
&gt; +                    format = WebInspector.UIString(&quot;Paused on a \&quot;%s\&quot; breakpoint set on %s, because a new child was added to its descendant %s.&quot;);
Nit: I&apos;d introduce WebInspector.formatLocalized beside UIString instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278138</commentid>
    <comment_count>13</comment_count>
      <attachid>67388</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-13 05:18:40 -0700</bug_when>
    <thetext>Comment on attachment 67388
Fix wording.

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

&gt; LayoutTests/inspector/dom-breakpoints.html:28
&gt; +    test_InsertChild = {};
style nit: we don&apos;t use underscore in the middle of variable name

&gt; LayoutTests/inspector/dom-breakpoints.html:161
&gt; +        InspectorTest.addResult(&quot;line: &quot; + callFrames[0].line + &quot;, function: &quot; + callFrames[0].functionName);
Wy not use captureCallStack instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278139</commentid>
    <comment_count>14</comment_count>
      <attachid>67388</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-09-13 05:19:18 -0700</bug_when>
    <thetext>Comment on attachment 67388
Fix wording.

Reverted r- by pfeldman</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278983</commentid>
    <comment_count>15</comment_count>
      <attachid>67567</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-14 09:51:54 -0700</bug_when>
    <thetext>Created attachment 67567
All comments addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278985</commentid>
    <comment_count>16</comment_count>
      <attachid>67569</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-14 09:52:46 -0700</bug_when>
    <thetext>Created attachment 67569
What&apos;s new</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279023</commentid>
    <comment_count>17</comment_count>
      <attachid>67567</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-14 10:49:42 -0700</bug_when>
    <thetext>Comment on attachment 67567
All comments addressed.

cq- since it should contain binary changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280589</commentid>
    <comment_count>18</comment_count>
      <attachid>67895</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-17 02:56:47 -0700</bug_when>
    <thetext>Created attachment 67895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280598</commentid>
    <comment_count>19</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2010-09-17 03:36:07 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Created an attachment (id=67895) [details]
&gt; Patch

Uploaded with &quot;webkit-patch upload&quot; in order to handle binary diff correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280696</commentid>
    <comment_count>20</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-09-17 10:00:47 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; Created an attachment (id=67895) [details] [details]
&gt; &gt; Patch
&gt; 
&gt; Uploaded with &quot;webkit-patch upload&quot; in order to handle binary diff correctly.

It is still a (delta) git binary diff, which I&apos;m pretty sure the commit-queue
(running svn-apply and svn) doesn&apos;t like:
&lt;http://webkit.org/b/38864&gt; svn-apply: should support git binary delta diffs

Meaning this would need to be landed manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280709</commentid>
    <comment_count>21</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-17 10:16:31 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	M	LayoutTests/http/tests/inspector/inspector-test2.js
	M	LayoutTests/inspector/dom-breakpoints-expected.txt
	M	LayoutTests/inspector/dom-breakpoints.html
	M	WebCore/ChangeLog
	M	WebCore/English.lproj/localizedStrings.js
	M	WebCore/inspector/InspectorDOMAgent.cpp
	M	WebCore/inspector/InspectorDOMAgent.h
	M	WebCore/inspector/InspectorDebuggerAgent.cpp
	M	WebCore/inspector/front-end/CallStackSidebarPane.js
	M	WebCore/inspector/front-end/ElementsPanel.js
	M	WebCore/inspector/front-end/ScriptsPanel.js
	M	WebCore/inspector/front-end/inspector.css
	M	WebCore/inspector/front-end/inspector.js
Committed r67721</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280728</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-17 10:44:34 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67721 might have broken GTK Linux 32-bit Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>66382</attachid>
            <date>2010-09-02 10:01:34 -0700</date>
            <delta_ts>2010-09-02 10:01:34 -0700</delta_ts>
            <desc>Screenshot.</desc>
            <filename>SubtreeModified.png</filename>
            <type>image/png</type>
            <size>152485</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">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
AABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66383</attachid>
            <date>2010-09-02 10:01:57 -0700</date>
            <delta_ts>2010-09-06 04:40:42 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>status.patch</filename>
            <type>text/plain</type>
            <size>11887</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCAyM2MyMmFhLi4yNjc2
NWE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC03MDcsNyAr
NzA3LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cGVyZm9ybVNlYXJjaChjb25zdCBTdHJp
bmcmIHdoaXRlc3BhY2VUcmltbWVkUXVlcnksIGJvb2wKICAgICAgICAgICAgIG1fcGVuZGluZ01h
dGNoSm9icy5hcHBlbmQobmV3IE1hdGNoUGxhaW5UZXh0Sm9iKGRvY3VtZW50LCBlc2NhcGVkUXVl
cnkpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgICAgICAKKwog
ICAgICAgICBtX3BlbmRpbmdNYXRjaEpvYnMuYXBwZW5kKG5ldyBNYXRjaEV4YWN0SWRKb2IoZG9j
dW1lbnQsIHdoaXRlc3BhY2VUcmltbWVkUXVlcnkpKTsKICAgICAgICAgbV9wZW5kaW5nTWF0Y2hK
b2JzLmFwcGVuZChuZXcgTWF0Y2hFeGFjdENsYXNzTmFtZXNKb2IoZG9jdW1lbnQsIHdoaXRlc3Bh
Y2VUcmltbWVkUXVlcnkpKTsKICAgICAgICAgbV9wZW5kaW5nTWF0Y2hKb2JzLmFwcGVuZChuZXcg
TWF0Y2hFeGFjdFRhZ05hbWVzSm9iKGRvY3VtZW50LCB0YWdOYW1lUXVlcnkpKTsKQEAgLTc3Niwz
OCArNzc2LDcwIEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlbW92ZURPTUJyZWFrcG9pbnQo
bG9uZyBub2RlSWQsIGxvbmcgdHlwZSkKIAogYm9vbCBJbnNwZWN0b3JET01BZ2VudDo6c2hvdWxk
QnJlYWtPbk5vZGVJbnNlcnRpb24oTm9kZSosIE5vZGUqIHBhcmVudCwgUGFzc1JlZlB0cjxJbnNw
ZWN0b3JWYWx1ZT4qIGRldGFpbHMpCiB7Ci0gICAgaWYgKCFoYXNCcmVha3BvaW50KHBhcmVudCwg
U3VidHJlZU1vZGlmaWVkKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIFJlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IGRldGFpbHNPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwot
ICAgIGRldGFpbHNPYmplY3QtPnNldE9iamVjdCgiYnJlYWtwb2ludCIsIGNyZWF0ZUJyZWFrcG9p
bnQocGFyZW50LCBTdWJ0cmVlTW9kaWZpZWQpKTsKLSAgICAqZGV0YWlscyA9IGRldGFpbHNPYmpl
Y3Q7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGhhc0JyZWFrcG9pbnQocGFyZW50LCBTdWJ0
cmVlTW9kaWZpZWQpKSB7CisgICAgICAgICpkZXRhaWxzID0gZGVzY3JpcHRpb25Gb3JET01FdmVu
dChwYXJlbnQsIFN1YnRyZWVNb2RpZmllZCwgdHJ1ZSk7CisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgSW5zcGVjdG9yRE9NQWdlbnQ6OnNo
b3VsZEJyZWFrT25Ob2RlUmVtb3ZhbChOb2RlKiBub2RlLCBQYXNzUmVmUHRyPEluc3BlY3RvclZh
bHVlPiogZGV0YWlscykKIHsKLSAgICBib29sIGhhc05vZGVSZW1vdmVkQnJlYWtwb2ludCA9IGhh
c0JyZWFrcG9pbnQobm9kZSwgTm9kZVJlbW92ZWQpOwotICAgIGJvb2wgaGFzQW55QnJlYWtwb2lu
dCA9IGhhc05vZGVSZW1vdmVkQnJlYWtwb2ludCB8fCBoYXNCcmVha3BvaW50KGlubmVyUGFyZW50
Tm9kZShub2RlKSwgU3VidHJlZU1vZGlmaWVkKTsKLSAgICBpZiAoIWhhc0FueUJyZWFrcG9pbnQp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRl
dGFpbHNPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotICAgIGlmIChoYXNOb2Rl
UmVtb3ZlZEJyZWFrcG9pbnQpCi0gICAgICAgIGRldGFpbHNPYmplY3QtPnNldE9iamVjdCgiYnJl
YWtwb2ludCIsIGNyZWF0ZUJyZWFrcG9pbnQobm9kZSwgTm9kZVJlbW92ZWQpKTsKLSAgICBlbHNl
Ci0gICAgICAgIGRldGFpbHNPYmplY3QtPnNldE9iamVjdCgiYnJlYWtwb2ludCIsIGNyZWF0ZUJy
ZWFrcG9pbnQoaW5uZXJQYXJlbnROb2RlKG5vZGUpLCBTdWJ0cmVlTW9kaWZpZWQpKTsKLSAgICAq
ZGV0YWlscyA9IGRldGFpbHNPYmplY3Q7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGhhc0Jy
ZWFrcG9pbnQobm9kZSwgTm9kZVJlbW92ZWQpKSB7CisgICAgICAgICpkZXRhaWxzID0gZGVzY3Jp
cHRpb25Gb3JET01FdmVudChub2RlLCBOb2RlUmVtb3ZlZCwgZmFsc2UpOworICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisgICAgaWYgKGhhc0JyZWFrcG9pbnQoaW5uZXJQYXJlbnROb2RlKG5v
ZGUpLCBTdWJ0cmVlTW9kaWZpZWQpKSB7CisgICAgICAgICpkZXRhaWxzID0gZGVzY3JpcHRpb25G
b3JET01FdmVudChub2RlLCBTdWJ0cmVlTW9kaWZpZWQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBJbnNwZWN0b3JET01B
Z2VudDo6c2hvdWxkQnJlYWtPbkF0dHJpYnV0ZU1vZGlmaWNhdGlvbihFbGVtZW50KiBlbGVtZW50
LCBQYXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiogZGV0YWlscykKIHsKLSAgICBpZiAoIWhhc0Jy
ZWFrcG9pbnQoZWxlbWVudCwgQXR0cmlidXRlTW9kaWZpZWQpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGV0YWlsc09iamVjdCA9IEluc3BlY3Rv
ck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgZGV0YWlsc09iamVjdC0+c2V0T2JqZWN0KCJicmVha3Bv
aW50IiwgY3JlYXRlQnJlYWtwb2ludChlbGVtZW50LCBBdHRyaWJ1dGVNb2RpZmllZCkpOwotICAg
ICpkZXRhaWxzID0gZGV0YWlsc09iamVjdDsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoaGFz
QnJlYWtwb2ludChlbGVtZW50LCBBdHRyaWJ1dGVNb2RpZmllZCkpIHsKKyAgICAgICAgKmRldGFp
bHMgPSBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KGVsZW1lbnQsIEF0dHJpYnV0ZU1vZGlmaWVkLCBm
YWxzZSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK1Bhc3NSZWZQdHI8SW5zcGVjdG9yVmFsdWU+IEluc3BlY3RvckRPTUFnZW50OjpkZXNjcmlw
dGlvbkZvckRPTUV2ZW50KE5vZGUqIHRhcmdldCwgbG9uZyBicmVha3BvaW50VHlwZSwgYm9vbCBp
bnNlcnRpb24pCit7CisgICAgQVNTRVJUKGhhc0JyZWFrcG9pbnQodGFyZ2V0LCBicmVha3BvaW50
VHlwZSkpOworCisgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGVzY3JpcHRpb24gPSBJbnNw
ZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIE5vZGUqIGJyZWFrcG9pbnRPd25lciA9IHRhcmdl
dDsKKyAgICBpZiAoKDEgPDwgYnJlYWtwb2ludFR5cGUpICYgaW5oZXJpdGFibGVET01CcmVha3Bv
aW50VHlwZXNNYXNrKSB7CisgICAgICAgIC8vIEZvciBpbmhlcml0YWJsZSBicmVha3BvaW50IHR5
cGVzLCB0YXJnZXQgbm9kZSBpc24ndCBhbHdheXMgdGhlIHNhbWUgYXMgdGhlIG5vZGUgdGhhdCBv
d25zIGEgYnJlYWtwb2ludC4KKyAgICAgICAgLy8gVGFyZ2V0IG5vZGUgbWF5IGJlIHVua25vd24g
dG8gZnJvbnRlbmQsIHNvIHdlIG5lZWQgdG8gcHVzaCBpdCBmaXJzdC4KKyAgICAgICAgbG9uZyB0
YXJnZXROb2RlSWQgPSBwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKHRhcmdldCk7CisgICAgICAgIEFT
U0VSVCh0YXJnZXROb2RlSWQpOworICAgICAgICBkZXNjcmlwdGlvbi0+c2V0TnVtYmVyKCJ0YXJn
ZXROb2RlSWQiLCB0YXJnZXROb2RlSWQpOworCisgICAgICAgIC8vIEZpbmQgYnJlYWtwb2ludCBv
d25lciBub2RlLgorICAgICAgICBpZiAoIWluc2VydGlvbikKKyAgICAgICAgICAgIGJyZWFrcG9p
bnRPd25lciA9IGlubmVyUGFyZW50Tm9kZSh0YXJnZXQpOworICAgICAgICBBU1NFUlQoYnJlYWtw
b2ludE93bmVyKTsKKyAgICAgICAgd2hpbGUgKCEobV9icmVha3BvaW50cy5nZXQoYnJlYWtwb2lu
dE93bmVyKSAmICgxIDw8IGJyZWFrcG9pbnRUeXBlKSkpIHsKKyAgICAgICAgICAgIGJyZWFrcG9p
bnRPd25lciA9IGlubmVyUGFyZW50Tm9kZShicmVha3BvaW50T3duZXIpOworICAgICAgICAgICAg
QVNTRVJUKGJyZWFrcG9pbnRPd25lcik7CisgICAgICAgIH0KKworICAgICAgICBpZiAoYnJlYWtw
b2ludFR5cGUgPT0gU3VidHJlZU1vZGlmaWVkKQorICAgICAgICAgICAgZGVzY3JpcHRpb24tPnNl
dEJvb2xlYW4oImluc2VydGlvbiIsIGluc2VydGlvbik7CisgICAgfQorCisgICAgbG9uZyBicmVh
a3BvaW50T3duZXJOb2RlSWQgPSBtX2RvY3VtZW50Tm9kZVRvSWRNYXAuZ2V0KGJyZWFrcG9pbnRP
d25lcik7CisgICAgQVNTRVJUKGJyZWFrcG9pbnRPd25lck5vZGVJZCk7CisKKyAgICBSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiBicmVha3BvaW50ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsK
KyAgICBicmVha3BvaW50LT5zZXROdW1iZXIoIm5vZGVJZCIsIGJyZWFrcG9pbnRPd25lck5vZGVJ
ZCk7CisgICAgYnJlYWtwb2ludC0+c2V0TnVtYmVyKCJ0eXBlIiwgYnJlYWtwb2ludFR5cGUpOwor
ICAgIGRlc2NyaXB0aW9uLT5zZXRPYmplY3QoImJyZWFrcG9pbnQiLCBicmVha3BvaW50KTsKKwor
ICAgIHJldHVybiBkZXNjcmlwdGlvbjsKIH0KIAogU3RyaW5nIEluc3BlY3RvckRPTUFnZW50Ojpk
b2N1bWVudFVSTFN0cmluZyhEb2N1bWVudCogZG9jdW1lbnQpIGNvbnN0CkBAIC0xMDg3LDIzICsx
MTE5LDYgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkTW9kaWZ5RE9NQXR0cihFbGVtZW50
KiBlbGVtZW50KQogICAgIG1fZnJvbnRlbmQtPmF0dHJpYnV0ZXNVcGRhdGVkKGlkLCBidWlsZEFy
cmF5Rm9yRWxlbWVudEF0dHJpYnV0ZXMoZWxlbWVudCkpOwogfQogCi1QYXNzUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gSW5zcGVjdG9yRE9NQWdlbnQ6OmNyZWF0ZUJyZWFrcG9pbnQoTm9kZSogbm9k
ZSwgbG9uZyB0eXBlKQotewotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGJyZWFrcG9pbnQg
PSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotCi0gICAgLy8gRmluZCBicmVha3BvaW50IG93
bmVyLgotICAgIHdoaWxlICghKG1fYnJlYWtwb2ludHMuZ2V0KG5vZGUpICYgKDEgPDwgdHlwZSkp
KSB7Ci0gICAgICAgIG5vZGUgPSBpbm5lclBhcmVudE5vZGUobm9kZSk7Ci0gICAgICAgIEFTU0VS
VChub2RlKTsKLSAgICB9Ci0gICAgbG9uZyBub2RlSWQgPSBtX2RvY3VtZW50Tm9kZVRvSWRNYXAu
Z2V0KG5vZGUpOwotICAgIEFTU0VSVChub2RlSWQpOwotCi0gICAgYnJlYWtwb2ludC0+c2V0TnVt
YmVyKCJub2RlSWQiLCBub2RlSWQpOwotICAgIGJyZWFrcG9pbnQtPnNldE51bWJlcigidHlwZSIs
IHR5cGUpOwotICAgIHJldHVybiBicmVha3BvaW50LnJlbGVhc2UoKTsKLX0KLQogYm9vbCBJbnNw
ZWN0b3JET01BZ2VudDo6aGFzQnJlYWtwb2ludChOb2RlKiBub2RlLCBsb25nIHR5cGUpCiB7CiAg
ICAgdWludDMyX3Qgcm9vdEJpdCA9IDEgPDwgdHlwZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5oCmluZGV4IDk3NTFlOGUuLmNhMmViOTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuaApAQCAtMTYyLDggKzE2Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgYm9vbCBwdXNoRG9jdW1lbnRUb0Zyb250ZW5kKCk7CiAKICAgICAgICAgYm9vbCBoYXNC
cmVha3BvaW50KE5vZGUqIG5vZGUsIGxvbmcgdHlwZSk7Ci0gICAgICAgIFBhc3NSZWZQdHI8SW5z
cGVjdG9yT2JqZWN0PiBjcmVhdGVCcmVha3BvaW50KE5vZGUqIG5vZGUsIGxvbmcgdHlwZSk7CiAg
ICAgICAgIHZvaWQgdXBkYXRlU3VidHJlZUJyZWFrcG9pbnRzKE5vZGUqIHJvb3QsIHVpbnQzMl90
IHJvb3RNYXNrLCBib29sIHZhbHVlKTsKKyAgICAgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JWYWx1
ZT4gZGVzY3JpcHRpb25Gb3JET01FdmVudChOb2RlKiB0YXJnZXQsIGxvbmcgYnJlYWtwb2ludFR5
cGUsIGJvb2wgaW5zZXJ0aW9uKTsKIAogICAgICAgICBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVj
dD4gYnVpbGRPYmplY3RGb3JBdHRyaWJ1dGVTdHlsZXMoRWxlbWVudCogZWxlbWVudCk7CiAgICAg
ICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGJ1aWxkQXJyYXlGb3JDU1NSdWxlcyhEb2N1
bWVudCogb3duZXJEb2N1bWVudCwgQ1NTUnVsZUxpc3QqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggZmQ5ZmRmMy4uYzg0OWVjMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTI5Miw3ICsy
OTIsNyBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRpZFBhdXNlKFNjcmlwdFN0YXRl
KiBzY3JpcHRTdGF0ZSkKICAgICBtX3BhdXNlZFNjcmlwdFN0YXRlID0gc2NyaXB0U3RhdGU7CiAg
ICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGV0YWlscyA9IEluc3BlY3Rvck9iamVjdDo6Y3Jl
YXRlKCk7CiAgICAgZGV0YWlscy0+c2V0VmFsdWUoImNhbGxGcmFtZXMiLCBjdXJyZW50Q2FsbEZy
YW1lcygpKTsKLSAgICBkZXRhaWxzLT5zZXRWYWx1ZSgicmVhc29uIiwgbV9icmVha1Byb2dyYW1S
ZWFzb24pOworICAgIGRldGFpbHMtPnNldFZhbHVlKCJzdGF0dXMiLCBtX2JyZWFrUHJvZ3JhbVJl
YXNvbik7CiAgICAgbV9mcm9udGVuZC0+cGF1c2VkU2NyaXB0KGRldGFpbHMpOwogfQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUu
anMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMK
aW5kZXggNjBlZWUzNC4uMWJhYmVjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcwpAQCAtODMsNiArODMsNTIgQEAgV2ViSW5z
cGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAg
IH0sCiAKKyAgICB1cGRhdGVTdGF0dXM6ICBmdW5jdGlvbihzdGF0dXMpCisgICAgeworICAgICAg
ICB2YXIgYnJlYWtwb2ludE93bmVyTm9kZSA9IFdlYkluc3BlY3Rvci5kb21BZ2VudC5ub2RlRm9y
SWQoc3RhdHVzLmJyZWFrcG9pbnQubm9kZUlkKTsKKyAgICAgICAgdmFyIGJyZWFrcG9pbnRPd25l
ckxpbmsgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLmxpbmtpZnlOb2RlUmVmZXJlbmNl
KGJyZWFrcG9pbnRPd25lck5vZGUpOworICAgICAgICB2YXIgYnJlYWtwb2ludFR5cGUgPSBzdGF0
dXMuYnJlYWtwb2ludC50eXBlOworICAgICAgICB2YXIgYnJlYWtwb2ludFR5cGVMYWJlbCA9IFdl
Ykluc3BlY3Rvci5ET01CcmVha3BvaW50LmxhYmVsRm9yVHlwZShicmVha3BvaW50VHlwZSk7CisK
KyAgICAgICAgdmFyIGZvcm1hdCwgc3Vic3RpdHV0aW9uczsKKyAgICAgICAgaWYgKGJyZWFrcG9p
bnRUeXBlID09PSBXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBlcy5TdWJ0cmVlTW9kaWZp
ZWQpIHsKKyAgICAgICAgICAgIHZhciB0YXJnZXROb2RlID0gV2ViSW5zcGVjdG9yLmRvbUFnZW50
Lm5vZGVGb3JJZChzdGF0dXMudGFyZ2V0Tm9kZUlkKTsKKyAgICAgICAgICAgIHZhciB0YXJnZXRO
b2RlTGluayA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMubGlua2lmeU5vZGVSZWZlcmVu
Y2UodGFyZ2V0Tm9kZSk7CisgICAgICAgICAgICBpZiAoc3RhdHVzLmluc2VydGlvbikgeworICAg
ICAgICAgICAgICAgIGlmIChzdGF0dXMudGFyZ2V0Tm9kZUlkICE9PSBzdGF0dXMuYnJlYWtwb2lu
dC5ub2RlSWQpIHsKKyAgICAgICAgICAgICAgICAgICAgZm9ybWF0ID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJQYXVzZWQgb24gXCIlc1wiIGJyZWFrcG9pbnQgc2V0IG9uICVzLCBiZWNhdXNlIG5l
dyBjaGlsZCB3YXMgYWRkZWQgdG8gaXQncyBkZXNjZW5kYW50ICVzLiIpOworICAgICAgICAgICAg
ICAgICAgICBzdWJzdGl0dXRpb25zID0gW2JyZWFrcG9pbnRUeXBlTGFiZWwsIGJyZWFrcG9pbnRP
d25lckxpbmssIHRhcmdldE5vZGVMaW5rXTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICBmb3JtYXQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhdXNlZCBv
biBcIiVzXCIgYnJlYWtwb2ludCBzZXQgb24gJXMsIGJlY2F1c2UgbmV3IGNoaWxkIHdhcyBhZGRl
ZCB0byB0aGF0IG5vZGUuIik7CisgICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBb
YnJlYWtwb2ludFR5cGVMYWJlbCwgYnJlYWtwb2ludE93bmVyTGlua107CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBmb3JtYXQgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlBhdXNlZCBvbiBcIiVzXCIgYnJlYWtwb2ludCBzZXQgb24gJXMs
IGJlY2F1c2UgaXQncyBkZXNjZW5kYW50ICVzIHdhcyByZW1vdmVkLiIpOworICAgICAgICAgICAg
ICAgIHN1YnN0aXR1dGlvbnMgPSBbYnJlYWtwb2ludFR5cGVMYWJlbCwgYnJlYWtwb2ludE93bmVy
TGluaywgdGFyZ2V0Tm9kZUxpbmtdOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgZm9ybWF0ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXVzZWQgb24gXCIl
c1wiIGJyZWFrcG9pbnQgc2V0IG9uICVzLiIpOworICAgICAgICAgICAgc3Vic3RpdHV0aW9ucyA9
IFticmVha3BvaW50VHlwZUxhYmVsLCBicmVha3BvaW50T3duZXJMaW5rXTsKKyAgICAgICAgfQor
CisgICAgICAgIHZhciBzdGF0dXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CisgICAgICAgIHN0YXR1c0VsZW1lbnQuY2xhc3NOYW1lID0gImluZm8iOworICAgICAgICB2
YXIgZm9ybWF0dGVycyA9IHsKKyAgICAgICAgICAgIHM6IGZ1bmN0aW9uKHN1YnN0aXR1dGlvbikK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3Vic3RpdHV0aW9uOworICAg
ICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICBmdW5jdGlvbiBhcHBlbmQoYSwgYikKKyAg
ICAgICAgeworICAgICAgICAgICAgaWYgKHR5cGVvZiBiID09PSAic3RyaW5nIikKKyAgICAgICAg
ICAgICAgICBiID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYik7CisgICAgICAgICAgICBzdGF0
dXNFbGVtZW50LmFwcGVuZENoaWxkKGIpOworICAgICAgICB9CisgICAgICAgIFN0cmluZy5mb3Jt
YXQoZm9ybWF0LCBzdWJzdGl0dXRpb25zLCBmb3JtYXR0ZXJzLCAiIiwgYXBwZW5kKTsKKyAgICAg
ICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRDaGlsZChzdGF0dXNFbGVtZW50KTsKKyAgICB9LAor
CiAgICAgZ2V0IHNlbGVjdGVkQ2FsbEZyYW1lKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlz
Ll9zZWxlY3RlZENhbGxGcmFtZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
c1BhbmVsLmpzCmluZGV4IDc1ZmQ2ZjcuLmFlMDA4NTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAtMzgzLDcgKzM4Myw3IEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBJbmplY3RlZFNjcmlwdEFjY2Vz
cy5nZXQoY2FsbEZyYW1lLndvcmxkSWQpLmV2YWx1YXRlSW5DYWxsRnJhbWUoY2FsbEZyYW1lLmlk
LCBjb2RlLCBvYmplY3RHcm91cCwgZXZhbENhbGxiYWNrKTsKICAgICB9LAogCi0gICAgZGVidWdn
ZXJQYXVzZWQ6IGZ1bmN0aW9uKGNhbGxGcmFtZXMpCisgICAgZGVidWdnZXJQYXVzZWQ6IGZ1bmN0
aW9uKGRldGFpbHMpCiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuYnJlYWtwb2ludE1hbmFn
ZXIucmVtb3ZlT25lVGltZUJyZWFrcG9pbnQoKTsKICAgICAgICAgdGhpcy5fcGF1c2VkID0gdHJ1
ZTsKQEAgLTM5Miw4ICszOTIsMTEgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUgPSB7CiAKICAgICAgICAgdGhpcy5fdXBkYXRlRGVidWdnZXJCdXR0b25zKCk7CiAKLSAgICAg
ICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnVwZGF0ZShjYWxsRnJhbWVzLCB0aGlzLl9z
b3VyY2VJRE1hcCk7Ci0gICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmNhbGxzdGFjay5zZWxlY3Rl
ZENhbGxGcmFtZSA9IGNhbGxGcmFtZXNbMF07CisgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmNh
bGxzdGFjay51cGRhdGUoZGV0YWlscy5jYWxsRnJhbWVzLCB0aGlzLl9zb3VyY2VJRE1hcCk7Cisg
ICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmNhbGxzdGFjay5zZWxlY3RlZENhbGxGcmFtZSA9IGRl
dGFpbHMuY2FsbEZyYW1lc1swXTsKKworICAgICAgICBpZiAoZGV0YWlscy5zdGF0dXMpCisgICAg
ICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5jYWxsc3RhY2sudXBkYXRlU3RhdHVzKGRldGFpbHMu
c3RhdHVzKTsKIAogICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVsID0gdGhpczsKICAg
ICAgICAgd2luZG93LmZvY3VzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmNzcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuY3NzCmluZGV4IGEzZmZhNDQuLmMyMGY0ZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC0xNjkzLDYgKzE2OTMsMTAgQEAgbGkuZWRpdGluZyAuc3dh
dGNoLCBsaS5lZGl0aW5nIC5lbmFibGVkLWJ1dHRvbiwgIGxpLmVkaXRpbmctc3ViLXBhcnQgLmRl
bGV0ZS1idXQKICAgICBjb2xvcjogZ3JheTsKIH0KIAorLnBhbmUgPiAuYm9keSAucGxhY2FyZCAr
IC5pbmZvIHsKKyAgICBib3JkZXItdG9wOiAxcHggc29saWQgZ3JheQorfQorCiAucGFuZS5leHBh
bmRlZCA+IC5ib2R5LCAucGFuZS5leHBhbmRlZCA+IC5ncm93YmFyIHsKICAgICBkaXNwbGF5OiBi
bG9jazsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDI0
MWE5ZmMuLjgwMGFhN2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
cwpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgV2ViSW5zcGVjdG9yLmZhaWxlZFRvUGFyc2VTY3JpcHRT
b3VyY2UgPSBmdW5jdGlvbihzb3VyY2VVUkwsIHNvdXJjZSwgc3RhcnRpbmdMaW4KIAogV2ViSW5z
cGVjdG9yLnBhdXNlZFNjcmlwdCA9IGZ1bmN0aW9uKGRldGFpbHMpCiB7Ci0gICAgdGhpcy5wYW5l
bHMuc2NyaXB0cy5kZWJ1Z2dlclBhdXNlZChkZXRhaWxzLmNhbGxGcmFtZXMpOworICAgIHRoaXMu
cGFuZWxzLnNjcmlwdHMuZGVidWdnZXJQYXVzZWQoZGV0YWlscyk7CiAgICAgSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmJyaW5nVG9Gcm9udCgpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66626</attachid>
            <date>2010-09-06 04:40:42 -0700</date>
            <delta_ts>2010-09-13 03:11:13 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>status.patch</filename>
            <type>text/plain</type>
            <size>28099</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkZDBiNzFiLi4zZTFjN2NkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDkt
MDYgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjogc2hv
dyBzdGF0dXMgbWVzc2FnZSBiZWxvdyBjYWxsIHN0YWNrIHdoZW4gZGVidWdnZXIgaXMgcGF1c2Vk
IG9uIERPTSBicmVha3BvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NTExNAorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QyLmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9JbnNwZWN0b3JUZXN0Lkluc3BlY3Rv
clRlc3QuZmluZERPTU5vZGUuZmluZERPTU5vZGUucHJvY2Vzc0NoaWxkcmVuKToKKyAgICAgICAg
KGluaXRpYWxpemVfSW5zcGVjdG9yVGVzdC5JbnNwZWN0b3JUZXN0LmZpbmRET01Ob2RlLmZpbmRE
T01Ob2RlKToKKyAgICAgICAgKGluaXRpYWxpemVfSW5zcGVjdG9yVGVzdC5JbnNwZWN0b3JUZXN0
LmZpbmRET01Ob2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLmh0bWw6CisKIDIw
MTAtMDktMDYgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHNraXBwaW5nIGEgY3Jhc2hpbmcgbWVkaWEgdGVzdC4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcwppbmRl
eCBlYTJjMmMwLi5hNTgyMzY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzCkBAIC0xMDYsNyArMTA2LDcgQEAgSW5zcGVjdG9y
VGVzdC5kaXNhYmxlUmVzb3VyY2VUcmFja2luZyA9IGZ1bmN0aW9uKCkKIEluc3BlY3RvclRlc3Qu
ZmluZERPTU5vZGUgPSBmdW5jdGlvbihyb290LCBmaWx0ZXIsIGNhbGxiYWNrKQogewogICAgIHZh
ciBmb3VuZCA9IGZhbHNlOwotICAgIHZhciBwZW5kaW5nQ2FsbHMgPSAwOworICAgIHZhciBwZW5k
aW5nQ2FsbHMgPSAxOwogCiAgICAgaWYgKHJvb3QpCiAgICAgICAgIGZpbmRET01Ob2RlKHJvb3Qp
OwpAQCAtMTI3LDIwICsxMjcsMTkgQEAgSW5zcGVjdG9yVGVzdC5maW5kRE9NTm9kZSA9IGZ1bmN0
aW9uKHJvb3QsIGZpbHRlciwgY2FsbGJhY2spCiAgICAgICAgIGlmIChmaWx0ZXIobm9kZSkpIHsK
ICAgICAgICAgICAgIGNhbGxiYWNrKG5vZGUpOwogICAgICAgICAgICAgZm91bmQgPSB0cnVlOwot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcGVuZGluZ0NhbGxzICs9IDE7CisgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmdldENoaWxkTm9kZXNB
c3luYyhub2RlLCBwcm9jZXNzQ2hpbGRyZW4pOwotICAgICAgICB9CisKKyAgICAgICAgLS1wZW5k
aW5nQ2FsbHM7CisKKyAgICAgICAgaWYgKCFmb3VuZCAmJiAhcGVuZGluZ0NhbGxzKQorICAgICAg
ICAgICAgc2V0VGltZW91dChmaW5kRE9NTm9kZS5iaW5kKG51bGwsIHJvb3QpLCAwKTsKIAogICAg
ICAgICBmdW5jdGlvbiBwcm9jZXNzQ2hpbGRyZW4oY2hpbGRyZW4pCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHBlbmRpbmdDYWxscyAtPSAxOwotCisgICAgICAgICAgICBwZW5kaW5nQ2FsbHMgKz0g
Y2hpbGRyZW4gPyBjaGlsZHJlbi5sZW5ndGggOiAwOwogICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7ICFmb3VuZCAmJiBjaGlsZHJlbiAmJiBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpCiAgICAg
ICAgICAgICAgICAgZmluZERPTU5vZGUoY2hpbGRyZW5baV0pOwotCi0gICAgICAgICAgICBpZiAo
IWZvdW5kICYmICFwZW5kaW5nQ2FsbHMgJiYgbm9kZSA9PSByb290KQotICAgICAgICAgICAgICAg
IGNhbGxiYWNrKG51bGwpOwogICAgICAgICB9CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20tYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy1leHBlY3RlZC50eHQKaW5kZXggMmQ4NzVlYy4u
ZjhiMTQ0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50
cy1leHBlY3RlZC50eHQKQEAgLTEsMzAgKzEsNDcgQEAKIFRlc3RzIERPTSBicmVha3BvaW50cy4g
QnVnIDQyODg2CiAKIERlYnVnZ2VyIHdhcyBlbmFibGVkLgotVGVzdCB0aGF0ICdTdWJ0cmVlIE1v
ZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGluZyBjaGlsZC4KLVNldCBzdWJ0
cmVlIG1vZGlmaWVkIERPTSBicmVha3BvaW50IG9uIGQwLgotQXBwZW5kIGQxIHRvIGQwLgorVGVz
dCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGlu
ZyBhIGNoaWxkLgorU2V0ICdTdWJ0cmVlIE1vZGlmaWVkJyBET00gYnJlYWtwb2ludCBvbiByb290
RWxlbWVudC4KK0FwcGVuZCBjaGlsZEVsZW1lbnQgdG8gcm9vdEVsZW1lbnQuCiBTY3JpcHQgZXhl
Y3V0aW9uIHBhdXNlZC4KIGxpbmU6IDExLCBmdW5jdGlvbjogYXBwZW5kRWxlbWVudAorUGF1c2Vk
IG9uICJTdWJ0cmVlIE1vZGlmaWVkIiBicmVha3BvaW50IHNldCBvbiBkaXYjcm9vdEVsZW1lbnQs
IGJlY2F1c2UgbmV3IGNoaWxkIHdhcyBhZGRlZCB0byB0aGF0IG5vZGUuCitTY3JpcHQgZXhlY3V0
aW9uIHJlc3VtZWQuCitUZXN0IHRoYXQgJ1N1YnRyZWUgTW9kaWZpZWQnIGJyZWFrcG9pbnQgaXMg
aGl0IHdoZW4gYXBwZW5kaW5nIGEgZ3JhbmRjaGlsZC4KK0FwcGVuZCBncmFuZGNoaWxkRWxlbWVu
dCB0byBjaGlsZEVsZW1lbnQuCitTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KK2xpbmU6IDExLCBm
dW5jdGlvbjogYXBwZW5kRWxlbWVudAorUGF1c2VkIG9uICJTdWJ0cmVlIE1vZGlmaWVkIiBicmVh
a3BvaW50IHNldCBvbiBkaXYjcm9vdEVsZW1lbnQsIGJlY2F1c2UgbmV3IGNoaWxkIHdhcyBhZGRl
ZCB0byBpdCdzIGRlc2NlbmRhbnQgZGl2I2NoaWxkRWxlbWVudC4KK1NjcmlwdCBleGVjdXRpb24g
cmVzdW1lZC4KK1Rlc3QgdGhhdCAnU3VidHJlZSBNb2RpZmllZCcgYnJlYWtwb2ludCBpcyBoaXQg
d2hlbiByZW1vdmluZyBhIGNoaWxkLgorUmVtb3ZlIGdyYW5kY2hpbGRFbGVtZW50LgorU2NyaXB0
IGV4ZWN1dGlvbiBwYXVzZWQuCitsaW5lOiAyMywgZnVuY3Rpb246IHJlbW92ZUVsZW1lbnQKK1Bh
dXNlZCBvbiAiU3VidHJlZSBNb2RpZmllZCIgYnJlYWtwb2ludCBzZXQgb24gZGl2I3Jvb3RFbGVt
ZW50LCBiZWNhdXNlIGl0J3MgZGVzY2VuZGFudCBkaXYjZ3JhbmRjaGlsZEVsZW1lbnQgd2FzIHJl
bW92ZWQuCiBTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCiBUZXN0IHRoYXQgJ0F0dHJpYnV0ZSBN
b2RpZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiBtb2RpZnlpbmcgYXR0cmlidXRlLgotU2V0
IGF0dHJpYnV0ZSBtb2RpZmllZCBET00gYnJlYWtwb2ludCBvbiBkMS4KLU1vZGlmeSBkMSBjbGFz
c05hbWUuCitTZXQgJ0F0dHJpYnV0ZSBNb2RpZmllZCcgRE9NIGJyZWFrcG9pbnQgb24gcm9vdEVs
ZW1lbnQuCitNb2RpZnkgcm9vdEVsZW1lbnQgY2xhc3NOYW1lLgogU2NyaXB0IGV4ZWN1dGlvbiBw
YXVzZWQuCiBsaW5lOiAxNywgZnVuY3Rpb246IG1vZGlmeUF0dHJpYnV0ZQorUGF1c2VkIG9uICJB
dHRyaWJ1dGUgTW9kaWZpZWQiIGJyZWFrcG9pbnQgc2V0IG9uIGRpdiNyb290RWxlbWVudC4KIFNj
cmlwdCBleGVjdXRpb24gcmVzdW1lZC4KIFRlc3QgdGhhdCAnTm9kZSBSZW1vdmVkJyBicmVha3Bv
aW50IGlzIGhpdCB3aGVuIHJlbW92aW5nIGEgbm9kZS4KLVNldCBub2RlIHJlbW92ZWQgRE9NIGJy
ZWFrcG9pbnQgb24gZDEuCi1SZW1vdmUgZDEuCitBcHBlbmQgZWxlbWVudFRvUmVtb3ZlIHRvIHJv
b3RFbGVtZW50LgorU2V0ICdOb2RlIFJlbW92ZWQnIERPTSBicmVha3BvaW50IG9uIGVsZW1lbnRU
b1JlbW92ZS4KK1JlbW92ZSBlbGVtZW50VG9SZW1vdmUuCiBTY3JpcHQgZXhlY3V0aW9uIHBhdXNl
ZC4KIGxpbmU6IDIzLCBmdW5jdGlvbjogcmVtb3ZlRWxlbWVudAorUGF1c2VkIG9uICJOb2RlIFJl
bW92ZWQiIGJyZWFrcG9pbnQgc2V0IG9uIGRpdiNlbGVtZW50VG9SZW1vdmUuCiBTY3JpcHQgZXhl
Y3V0aW9uIHJlc3VtZWQuCiBUZXN0IHRoYXQgRE9NIGJyZWFrcG9pbnRzIGFyZSBwZXJzaXN0ZWQg
YmV0d2VlbiBwYWdlIHJlbG9hZHMuCi1TZXQgc3VidHJlZSBtb2RpZmllZCBET00gYnJlYWtwb2lu
dCBvbiBkMC4KK1NldCAnU3VidHJlZSBNb2RpZmllZCcgRE9NIGJyZWFrcG9pbnQgb24gcm9vdEVs
ZW1lbnQuCiBQYWdlIHJlbG9hZGVkLgotQXBwZW5kIGQxIHRvIGQwLgorQXBwZW5kIGNoaWxkRWxl
bWVudCB0byByb290RWxlbWVudC4KIFNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgogbGluZTogMTEs
IGZ1bmN0aW9uOiBhcHBlbmRFbGVtZW50CitQYXVzZWQgb24gIlN1YnRyZWUgTW9kaWZpZWQiIGJy
ZWFrcG9pbnQgc2V0IG9uIGRpdiNyb290RWxlbWVudCwgYmVjYXVzZSBuZXcgY2hpbGQgd2FzIGFk
ZGVkIHRvIHRoYXQgbm9kZS4KIFNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KIERlYnVnZ2VyIHdh
cyBkaXNhYmxlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVh
a3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy5odG1s
CmluZGV4IDc2MjVhNDcuLjBlMGQzMmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kb20tYnJlYWtwb2ludHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWJy
ZWFrcG9pbnRzLmh0bWwKQEAgLTI1LDg1ICsyNSwxMjcgQEAgZnVuY3Rpb24gcmVtb3ZlRWxlbWVu
dChlbGVtZW50SWQpCiAKIHZhciB0ZXN0ID0gZnVuY3Rpb24oKQogewotICAgIEluc3BlY3RvclRl
c3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgdmFyIGQwLCBkMTsKKyAgICB0ZXN0
X0luc2VydENoaWxkID0ge307CisgICAgdGVzdF9JbnNlcnRDaGlsZC5zdGVwMSA9IGZ1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0IHRoYXQgJ1N1
YnRyZWUgTW9kaWZpZWQnIGJyZWFrcG9pbnQgaXMgaGl0IHdoZW4gYXBwZW5kaW5nIGEgY2hpbGQu
Iik7CisgICAgICAgIGZpbmRET01Ob2RlQnlJZCgicm9vdEVsZW1lbnQiLCB0ZXN0X0luc2VydENo
aWxkLnN0ZXAyKTsKKyAgICB9OworICAgIHRlc3RfSW5zZXJ0Q2hpbGQuc3RlcDIgPSBmdW5jdGlv
bihub2RlKQorICAgIHsKKyAgICAgICAgbm9kZS5zZXRCcmVha3BvaW50KFdlYkluc3BlY3Rvci5E
T01CcmVha3BvaW50LlR5cGVzLlN1YnRyZWVNb2RpZmllZCk7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJTZXQgJ1N1YnRyZWUgTW9kaWZpZWQnIERPTSBicmVha3BvaW50IG9uIHJv
b3RFbGVtZW50LiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJh
cHBlbmRFbGVtZW50KCdyb290RWxlbWVudCcsICdjaGlsZEVsZW1lbnQnKSIpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQXBwZW5kIGNoaWxkRWxlbWVudCB0byByb290RWxlbWVu
dC4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQodGVzdF9JbnNlcnRD
aGlsZC5zdGVwMyk7CisgICAgfTsKKyAgICB0ZXN0X0luc2VydENoaWxkLnN0ZXAzID0gZnVuY3Rp
b24oY2FsbEZyYW1lcykKKyAgICB7CisgICAgICAgIGR1bXBTdGF0dXMoY2FsbEZyYW1lcyk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKHRlc3RfSW5zZXJ0R3JhbmRjaGls
ZC5zdGVwMSk7CisgICAgfTsKIAotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB2YXIgdGVzdF9J
bnNlcnRHcmFuZGNoaWxkID0ge307CisgICAgdGVzdF9JbnNlcnRHcmFuZGNoaWxkLnN0ZXAxID0g
ZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgZmluZERPTU5vZGVCeUlkKCJkMCIsIHN0ZXAyKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRlc3QgdGhhdCAnU3VidHJlZSBNb2Rp
ZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiBhcHBlbmRpbmcgYSBncmFuZGNoaWxkLiIpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJhcHBlbmRFbGVtZW50KCdj
aGlsZEVsZW1lbnQnLCAnZ3JhbmRjaGlsZEVsZW1lbnQnKSIpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiQXBwZW5kIGdyYW5kY2hpbGRFbGVtZW50IHRvIGNoaWxkRWxlbWVudC4i
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQodGVzdF9JbnNlcnRHcmFu
ZGNoaWxkLnN0ZXAyKTsKICAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMihub2RlKQorICAgIHRl
c3RfSW5zZXJ0R3JhbmRjaGlsZC5zdGVwMiA9IGZ1bmN0aW9uKGNhbGxGcmFtZXMpCiAgICAgewot
ICAgICAgICBkMCA9IG5vZGU7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0
IHRoYXQgJ1N1YnRyZWUgTW9kaWZpZWQnIGJyZWFrcG9pbnQgaXMgaGl0IHdoZW4gYXBwZW5kaW5n
IGNoaWxkLiIpOwotICAgICAgICBkMC5zZXRCcmVha3BvaW50KFdlYkluc3BlY3Rvci5ET01CcmVh
a3BvaW50LlR5cGVzLlN1YnRyZWVNb2RpZmllZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJTZXQgc3VidHJlZSBtb2RpZmllZCBET00gYnJlYWtwb2ludCBvbiBkMC4iKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiYXBwZW5kRWxlbWVudCgnZDAn
LCAnZDEnKSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQXBwZW5kIGQxIHRv
IGQwLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZChzdGVwMyk7Cisg
ICAgICAgIGR1bXBTdGF0dXMoY2FsbEZyYW1lcyk7CisgICAgICAgIEluc3BlY3RvclRlc3QucmVz
dW1lRXhlY3V0aW9uKHRlc3RfUmVtb3ZlQ2hpbGQuc3RlcDEpOwogICAgIH0KIAotICAgIGZ1bmN0
aW9uIHN0ZXAzKGNhbGxGcmFtZXMpCisgICAgdmFyIHRlc3RfUmVtb3ZlQ2hpbGQgPSB7fTsKKyAg
ICB0ZXN0X1JlbW92ZUNoaWxkLnN0ZXAxID0gZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoImxpbmU6ICIgKyBjYWxsRnJhbWVzWzBdLmxpbmUgKyAiLCBm
dW5jdGlvbjogIiArIGNhbGxGcmFtZXNbMF0uZnVuY3Rpb25OYW1lKTsKLSAgICAgICAgZDAucmVt
b3ZlQnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBlcy5TdWJ0cmVlTW9k
aWZpZWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJlc3VtZUV4ZWN1dGlvbihmaW5kRE9NTm9k
ZUJ5SWQuYmluZChudWxsLCAiZDEiLCBzdGVwNCkpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3
aGVuIHJlbW92aW5nIGEgY2hpbGQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
bkNvbnNvbGUoInJlbW92ZUVsZW1lbnQoJ2dyYW5kY2hpbGRFbGVtZW50JykiKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlbW92ZSBncmFuZGNoaWxkRWxlbWVudC4iKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQodGVzdF9SZW1vdmVDaGlsZC5zdGVw
Mik7CisKKyAgICB9CisgICAgdGVzdF9SZW1vdmVDaGlsZC5zdGVwMiA9IGZ1bmN0aW9uKGNhbGxG
cmFtZXMpCisgICAgeworICAgICAgICBkdW1wU3RhdHVzKGNhbGxGcmFtZXMpOworICAgICAgICBm
aW5kRE9NTm9kZUJ5SWQoInJvb3RFbGVtZW50IiwgdGVzdF9SZW1vdmVDaGlsZC5zdGVwMyk7Cisg
ICAgfQorICAgIHRlc3RfUmVtb3ZlQ2hpbGQuc3RlcDMgPSBmdW5jdGlvbihub2RlKQorICAgIHsK
KyAgICAgICAgbm9kZS5yZW1vdmVCcmVha3BvaW50KFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50
LlR5cGVzLlN1YnRyZWVNb2RpZmllZCk7CisgICAgICAgIEluc3BlY3RvclRlc3QucmVzdW1lRXhl
Y3V0aW9uKHRlc3RfTW9kaWZ5QXR0cmlidXRlLnN0ZXAxKTsKICAgICB9CiAKLSAgICBmdW5jdGlv
biBzdGVwNChub2RlKQorICAgIHZhciB0ZXN0X01vZGlmeUF0dHJpYnV0ZSA9IHt9OworICAgIHRl
c3RfTW9kaWZ5QXR0cmlidXRlLnN0ZXAxID0gZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgZDEg
PSBub2RlOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGVzdCB0aGF0ICdBdHRy
aWJ1dGUgTW9kaWZpZWQnIGJyZWFrcG9pbnQgaXMgaGl0IHdoZW4gbW9kaWZ5aW5nIGF0dHJpYnV0
ZS4iKTsKLSAgICAgICAgZDEuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2lu
dC5UeXBlcy5BdHRyaWJ1dGVNb2RpZmllZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJTZXQgYXR0cmlidXRlIG1vZGlmaWVkIERPTSBicmVha3BvaW50IG9uIGQxLiIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJtb2RpZnlBdHRyaWJ1dGUoJ2Qx
JywgJ2NsYXNzTmFtZScsICdmb28nKSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiTW9kaWZ5IGQxIGNsYXNzTmFtZS4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50
aWxQYXVzZWQoc3RlcDUpOworICAgICAgICBmaW5kRE9NTm9kZUJ5SWQoInJvb3RFbGVtZW50Iiwg
dGVzdF9Nb2RpZnlBdHRyaWJ1dGUuc3RlcDIpOwogICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA1
KGNhbGxGcmFtZXMpCisgICAgdGVzdF9Nb2RpZnlBdHRyaWJ1dGUuc3RlcDIgPSBmdW5jdGlvbihu
b2RlKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxpbmU6ICIgKyBj
YWxsRnJhbWVzWzBdLmxpbmUgKyAiLCBmdW5jdGlvbjogIiArIGNhbGxGcmFtZXNbMF0uZnVuY3Rp
b25OYW1lKTsKLSAgICAgICAgZDEucmVtb3ZlQnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJl
YWtwb2ludC5UeXBlcy5BdHRyaWJ1dGVNb2RpZmllZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
cmVzdW1lRXhlY3V0aW9uKHN0ZXA2KTsKKyAgICAgICAgbm9kZS5zZXRCcmVha3BvaW50KFdlYklu
c3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVzLkF0dHJpYnV0ZU1vZGlmaWVkKTsKKyAgICAgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNldCAnQXR0cmlidXRlIE1vZGlmaWVkJyBET00gYnJl
YWtwb2ludCBvbiByb290RWxlbWVudC4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluQ29uc29sZSgibW9kaWZ5QXR0cmlidXRlKCdyb290RWxlbWVudCcsICdjbGFzc05hbWUnLCAn
Zm9vJykiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk1vZGlmeSByb290RWxl
bWVudCBjbGFzc05hbWUuIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2Vk
KHRlc3RfTW9kaWZ5QXR0cmlidXRlLnN0ZXAzLmJpbmQobnVsbCwgbm9kZSkpOworICAgIH0KKyAg
ICB0ZXN0X01vZGlmeUF0dHJpYnV0ZS5zdGVwMyA9IGZ1bmN0aW9uKG5vZGUsIGNhbGxGcmFtZXMp
CisgICAgeworICAgICAgICBkdW1wU3RhdHVzKGNhbGxGcmFtZXMpOworICAgICAgICBub2RlLnJl
bW92ZUJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuQXR0cmlidXRl
TW9kaWZpZWQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJlc3VtZUV4ZWN1dGlvbih0ZXN0X1Jl
bW92ZU5vZGUuc3RlcDEpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHN0ZXA2KCkKKyAgICB2YXIg
dGVzdF9SZW1vdmVOb2RlID0ge307CisgICAgdGVzdF9SZW1vdmVOb2RlLnN0ZXAxID0gZnVuY3Rp
b24oKQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRlc3QgdGhhdCAn
Tm9kZSBSZW1vdmVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIHJlbW92aW5nIGEgbm9kZS4iKTsK
LSAgICAgICAgZDEuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBl
cy5Ob2RlUmVtb3ZlZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZXQgbm9k
ZSByZW1vdmVkIERPTSBicmVha3BvaW50IG9uIGQxLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5Db25zb2xlKCJyZW1vdmVFbGVtZW50KCdkMScpIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJSZW1vdmUgZDEuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
d2FpdFVudGlsUGF1c2VkKHN0ZXA3KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
Q29uc29sZSgiYXBwZW5kRWxlbWVudCgncm9vdEVsZW1lbnQnLCAnZWxlbWVudFRvUmVtb3ZlJyki
LCB0ZXN0X1JlbW92ZU5vZGUuc3RlcDIpOwogICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA3KGNh
bGxGcmFtZXMpCisgICAgdGVzdF9SZW1vdmVOb2RlLnN0ZXAyID0gZnVuY3Rpb24oKQogICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxpbmU6ICIgKyBjYWxsRnJhbWVzWzBd
LmxpbmUgKyAiLCBmdW5jdGlvbjogIiArIGNhbGxGcmFtZXNbMF0uZnVuY3Rpb25OYW1lKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24oc3RlcDgpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiQXBwZW5kIGVsZW1lbnRUb1JlbW92ZSB0byByb290RWxlbWVu
dC4iKTsKKyAgICAgICAgZmluZERPTU5vZGVCeUlkKCJlbGVtZW50VG9SZW1vdmUiLCB0ZXN0X1Jl
bW92ZU5vZGUuc3RlcDMpOworICAgIH0KKyAgICB0ZXN0X1JlbW92ZU5vZGUuc3RlcDMgPSBmdW5j
dGlvbihub2RlKQorICAgIHsKKyAgICAgICAgbm9kZS5zZXRCcmVha3BvaW50KFdlYkluc3BlY3Rv
ci5ET01CcmVha3BvaW50LlR5cGVzLk5vZGVSZW1vdmVkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIlNldCAnTm9kZSBSZW1vdmVkJyBET00gYnJlYWtwb2ludCBvbiBlbGVtZW50
VG9SZW1vdmUuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoInJl
bW92ZUVsZW1lbnQoJ2VsZW1lbnRUb1JlbW92ZScpIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJSZW1vdmUgZWxlbWVudFRvUmVtb3ZlLiIpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LndhaXRVbnRpbFBhdXNlZCh0ZXN0X1JlbW92ZU5vZGUuc3RlcDQpOworICAgIH0KKyAgICB0
ZXN0X1JlbW92ZU5vZGUuc3RlcDQgPSBmdW5jdGlvbihjYWxsRnJhbWVzKQorICAgIHsKKyAgICAg
ICAgZHVtcFN0YXR1cyhjYWxsRnJhbWVzKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVF
eGVjdXRpb24odGVzdF9SZWxvYWQuc3RlcDEpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHN0ZXA4
KCkKKyAgICB2YXIgdGVzdF9SZWxvYWQ9IHt9OworICAgIHRlc3RfUmVsb2FkLnN0ZXAxID0gZnVu
Y3Rpb24oKQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRlc3QgdGhh
dCBET00gYnJlYWtwb2ludHMgYXJlIHBlcnNpc3RlZCBiZXR3ZWVuIHBhZ2UgcmVsb2Fkcy4iKTsK
LSAgICAgICAgZDAuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBl
cy5TdWJ0cmVlTW9kaWZpZWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2V0
IHN1YnRyZWUgbW9kaWZpZWQgRE9NIGJyZWFrcG9pbnQgb24gZDAuIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QucmVsb2FkUGFnZShzdGVwOSk7CisgICAgICAgIGZpbmRET01Ob2RlQnlJZCgicm9v
dEVsZW1lbnQiLCB0ZXN0X1JlbG9hZC5zdGVwMik7CiAgICAgfQotCi0gICAgZnVuY3Rpb24gc3Rl
cDkoKQorICAgIHRlc3RfUmVsb2FkLnN0ZXAyID0gZnVuY3Rpb24obm9kZSkKICAgICB7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImFwcGVuZEVsZW1lbnQoJ2QwJywg
J2QxJykiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFwcGVuZCBkMSB0byBk
MC4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoc3RlcDEwKTsKKyAg
ICAgICAgbm9kZS5zZXRCcmVha3BvaW50KFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVz
LlN1YnRyZWVNb2RpZmllZCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZXQg
J1N1YnRyZWUgTW9kaWZpZWQnIERPTSBicmVha3BvaW50IG9uIHJvb3RFbGVtZW50LiIpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2UodGVzdF9SZWxvYWQuc3RlcDMpOwogICAgIH0K
LQotICAgIGZ1bmN0aW9uIHN0ZXAxMChjYWxsRnJhbWVzKQorICAgIHRlc3RfUmVsb2FkLnN0ZXAz
ID0gZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxp
bmU6ICIgKyBjYWxsRnJhbWVzWzBdLmxpbmUgKyAiLCBmdW5jdGlvbjogIiArIGNhbGxGcmFtZXNb
MF0uZnVuY3Rpb25OYW1lKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29s
ZSgiYXBwZW5kRWxlbWVudCgncm9vdEVsZW1lbnQnLCAnY2hpbGRFbGVtZW50JykiKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFwcGVuZCBjaGlsZEVsZW1lbnQgdG8gcm9vdEVs
ZW1lbnQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHRlc3RfUmVs
b2FkLnN0ZXA0KTsKKyAgICB9CisgICAgdGVzdF9SZWxvYWQuc3RlcDQgPSBmdW5jdGlvbihjYWxs
RnJhbWVzKQorICAgIHsKKyAgICAgICAgZHVtcFN0YXR1cyhjYWxsRnJhbWVzKTsKICAgICAgICAg
SW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwogICAgIH0KIApAQCAtMTEzLDYg
KzE1NSwxNCBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBub2Rl
LmdldEF0dHJpYnV0ZSgiaWQiKSA9PT0gaWQ7CiAgICAgICAgIH0sIGNhbGxiYWNrKTsKICAgICB9
CisKKyAgICBmdW5jdGlvbiBkdW1wU3RhdHVzKGNhbGxGcmFtZXMpCisgICAgeworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgibGluZTogIiArIGNhbGxGcmFtZXNbMF0ubGluZSArICIs
IGZ1bmN0aW9uOiAiICsgY2FsbEZyYW1lc1swXS5mdW5jdGlvbk5hbWUpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdChXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMuc2lkZWJhclBh
bmVzLmNhbGxzdGFjay5ib2R5RWxlbWVudC5sYXN0Q2hpbGQuaW5uZXJUZXh0KTsKKyAgICB9CisK
KyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHRlc3RfSW5zZXJ0Q2hpbGQuc3Rl
cDEpOwogfTsKIAogPC9zY3JpcHQ+CkBAIC0xMjIsNyArMTcyLDcgQEAgdmFyIHRlc3QgPSBmdW5j
dGlvbigpCiA8cD4KIFRlc3RzIERPTSBicmVha3BvaW50cy4gPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODg2Ij5CdWcgNDI4ODY8L2E+CiA8L3A+Ci08
ZGl2IGlkPSJkMCI+PC9kaXY+Cis8ZGl2IGlkPSJyb290RWxlbWVudCI+PC9kaXY+CiA8L2JvZHk+
CiA8L2h0bWw+CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggMTFhYmZmZi4uNmM5NzFlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMC0wOS0wNiAg
UGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBzaG93IHN0
YXR1cyBtZXNzYWdlIGJlbG93IGNhbGwgc3RhY2sgd2hlbiBkZWJ1Z2dlciBpcyBwYXVzZWQgb24g
RE9NIGJyZWFrcG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ1MTE0CisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy5o
dG1sCisKKyAgICAgICAgKiBFbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRPTUFnZW50OjpwZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTUFnZW50OjpzaG91bGRCcmVha09uTm9kZUluc2VydGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2hvdWxkQnJlYWtPbk5vZGVSZW1vdmFsKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpzaG91bGRCcmVha09uQXR0cmlidXRl
TW9kaWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpkZXNj
cmlwdGlvbkZvckRPTUV2ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdl
bnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpkaWRQYXVzZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5DYWxsU3RhY2tTaWRlYmFyUGFuZS5wcm90b3R5cGUudXBkYXRlU3Rh
dHVzLmZvcm1hdHRlcnMucyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJh
clBhbmUucHJvdG90eXBlLnVwZGF0ZVN0YXR1cy5hcHBlbmQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGVTdGF0dXMpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuZGVidWdnZXJQYXVzZWQpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5wYW5lID4gLmJv
ZHkgLnBsYWNhcmQgKyAuaW5mbyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IucGF1c2VkU2NyaXB0KToKKwogMjAxMC0w
OS0wNiAgQW50b24gTXVoaW4gIDxhbnRvbm1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9j
YWxpemVkU3RyaW5ncy5qcyBiL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzCmluZGV4IGMyNmMxNWZkOTZiNTU3MGExOWY1ZDI4YmMzYmRmOGM5NzQ3ZjJhMTYuLjUwNGRh
ZjA2NzI3ODFmY2Y4YzkzM2Q3MTQxN2MxY2E5ZjA1MGM2YjcgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0
Y2gKZGVsdGEgOTUzCnpjbWRuP2pBX0w/clZXZ25DWkE1PjU9filIVjkwMDQxQ2xXZU4oYHpEI1VP
Z0ohRjAqYFZ1bjxQNjFYZiNNaEQxQwp6MCpXUnhCcj1vJmBLZHNEOSpgXnQoI1pATjQ0RGkkMz9U
RSRmJTMmYkl1WGNBMG1fNUtOYFNUfjA5Qk1Rc0R0R3wKejs+QUUrc1ghQV9mR1lGQWM3YmZzMUcq
IVlMMUEpUm4mMlJIb2l6ajM8ZUV9ZHtOYX5NaXx7Sn1oSEBlfXIxRjVfCnoyQEohQGIhbjJnTG4p
YUtaa1JtNVNSYTIjQm9nTmVWJHVkOFo1MDdpUEEpSkUlMFRIMGU8O00jKWMobTBAYG17UgpYJnlR
eVI8ZUReVCs7SnZ9clclP2ZmTjJmQGghMztuCgpkZWx0YSAyMQpkY21aNFNqJW5MN3JWV2duQ2hJ
SElQNXpqV0hyYUoqQU9MZEQzSVlIQwoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmNwcAppbmRleCAyM2MyMmFhLi4yNjc2NWE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuY3BwCkBAIC03MDcsNyArNzA3LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6
cGVyZm9ybVNlYXJjaChjb25zdCBTdHJpbmcmIHdoaXRlc3BhY2VUcmltbWVkUXVlcnksIGJvb2wK
ICAgICAgICAgICAgIG1fcGVuZGluZ01hdGNoSm9icy5hcHBlbmQobmV3IE1hdGNoUGxhaW5UZXh0
Sm9iKGRvY3VtZW50LCBlc2NhcGVkUXVlcnkpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICB9Ci0gICAgICAgICAgICAKKwogICAgICAgICBtX3BlbmRpbmdNYXRjaEpvYnMuYXBwZW5k
KG5ldyBNYXRjaEV4YWN0SWRKb2IoZG9jdW1lbnQsIHdoaXRlc3BhY2VUcmltbWVkUXVlcnkpKTsK
ICAgICAgICAgbV9wZW5kaW5nTWF0Y2hKb2JzLmFwcGVuZChuZXcgTWF0Y2hFeGFjdENsYXNzTmFt
ZXNKb2IoZG9jdW1lbnQsIHdoaXRlc3BhY2VUcmltbWVkUXVlcnkpKTsKICAgICAgICAgbV9wZW5k
aW5nTWF0Y2hKb2JzLmFwcGVuZChuZXcgTWF0Y2hFeGFjdFRhZ05hbWVzSm9iKGRvY3VtZW50LCB0
YWdOYW1lUXVlcnkpKTsKQEAgLTc3NiwzOCArNzc2LDcwIEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdl
bnQ6OnJlbW92ZURPTUJyZWFrcG9pbnQobG9uZyBub2RlSWQsIGxvbmcgdHlwZSkKIAogYm9vbCBJ
bnNwZWN0b3JET01BZ2VudDo6c2hvdWxkQnJlYWtPbk5vZGVJbnNlcnRpb24oTm9kZSosIE5vZGUq
IHBhcmVudCwgUGFzc1JlZlB0cjxJbnNwZWN0b3JWYWx1ZT4qIGRldGFpbHMpCiB7Ci0gICAgaWYg
KCFoYXNCcmVha3BvaW50KHBhcmVudCwgU3VidHJlZU1vZGlmaWVkKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRldGFpbHNPYmplY3QgPSBJbnNw
ZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotICAgIGRldGFpbHNPYmplY3QtPnNldE9iamVjdCgiYnJl
YWtwb2ludCIsIGNyZWF0ZUJyZWFrcG9pbnQocGFyZW50LCBTdWJ0cmVlTW9kaWZpZWQpKTsKLSAg
ICAqZGV0YWlscyA9IGRldGFpbHNPYmplY3Q7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGhh
c0JyZWFrcG9pbnQocGFyZW50LCBTdWJ0cmVlTW9kaWZpZWQpKSB7CisgICAgICAgICpkZXRhaWxz
ID0gZGVzY3JpcHRpb25Gb3JET01FdmVudChwYXJlbnQsIFN1YnRyZWVNb2RpZmllZCwgdHJ1ZSk7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJv
b2wgSW5zcGVjdG9yRE9NQWdlbnQ6OnNob3VsZEJyZWFrT25Ob2RlUmVtb3ZhbChOb2RlKiBub2Rl
LCBQYXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiogZGV0YWlscykKIHsKLSAgICBib29sIGhhc05v
ZGVSZW1vdmVkQnJlYWtwb2ludCA9IGhhc0JyZWFrcG9pbnQobm9kZSwgTm9kZVJlbW92ZWQpOwot
ICAgIGJvb2wgaGFzQW55QnJlYWtwb2ludCA9IGhhc05vZGVSZW1vdmVkQnJlYWtwb2ludCB8fCBo
YXNCcmVha3BvaW50KGlubmVyUGFyZW50Tm9kZShub2RlKSwgU3VidHJlZU1vZGlmaWVkKTsKLSAg
ICBpZiAoIWhhc0FueUJyZWFrcG9pbnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFJl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRldGFpbHNPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNy
ZWF0ZSgpOwotICAgIGlmIChoYXNOb2RlUmVtb3ZlZEJyZWFrcG9pbnQpCi0gICAgICAgIGRldGFp
bHNPYmplY3QtPnNldE9iamVjdCgiYnJlYWtwb2ludCIsIGNyZWF0ZUJyZWFrcG9pbnQobm9kZSwg
Tm9kZVJlbW92ZWQpKTsKLSAgICBlbHNlCi0gICAgICAgIGRldGFpbHNPYmplY3QtPnNldE9iamVj
dCgiYnJlYWtwb2ludCIsIGNyZWF0ZUJyZWFrcG9pbnQoaW5uZXJQYXJlbnROb2RlKG5vZGUpLCBT
dWJ0cmVlTW9kaWZpZWQpKTsKLSAgICAqZGV0YWlscyA9IGRldGFpbHNPYmplY3Q7Ci0gICAgcmV0
dXJuIHRydWU7CisgICAgaWYgKGhhc0JyZWFrcG9pbnQobm9kZSwgTm9kZVJlbW92ZWQpKSB7Cisg
ICAgICAgICpkZXRhaWxzID0gZGVzY3JpcHRpb25Gb3JET01FdmVudChub2RlLCBOb2RlUmVtb3Zl
ZCwgZmFsc2UpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgaWYgKGhhc0JyZWFr
cG9pbnQoaW5uZXJQYXJlbnROb2RlKG5vZGUpLCBTdWJ0cmVlTW9kaWZpZWQpKSB7CisgICAgICAg
ICpkZXRhaWxzID0gZGVzY3JpcHRpb25Gb3JET01FdmVudChub2RlLCBTdWJ0cmVlTW9kaWZpZWQs
IGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsK
IH0KIAogYm9vbCBJbnNwZWN0b3JET01BZ2VudDo6c2hvdWxkQnJlYWtPbkF0dHJpYnV0ZU1vZGlm
aWNhdGlvbihFbGVtZW50KiBlbGVtZW50LCBQYXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiogZGV0
YWlscykKIHsKLSAgICBpZiAoIWhhc0JyZWFrcG9pbnQoZWxlbWVudCwgQXR0cmlidXRlTW9kaWZp
ZWQpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
ZGV0YWlsc09iamVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgZGV0YWlsc09i
amVjdC0+c2V0T2JqZWN0KCJicmVha3BvaW50IiwgY3JlYXRlQnJlYWtwb2ludChlbGVtZW50LCBB
dHRyaWJ1dGVNb2RpZmllZCkpOwotICAgICpkZXRhaWxzID0gZGV0YWlsc09iamVjdDsKLSAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICBpZiAoaGFzQnJlYWtwb2ludChlbGVtZW50LCBBdHRyaWJ1dGVNb2Rp
ZmllZCkpIHsKKyAgICAgICAgKmRldGFpbHMgPSBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KGVsZW1l
bnQsIEF0dHJpYnV0ZU1vZGlmaWVkLCBmYWxzZSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1Bhc3NSZWZQdHI8SW5zcGVjdG9yVmFsdWU+IElu
c3BlY3RvckRPTUFnZW50OjpkZXNjcmlwdGlvbkZvckRPTUV2ZW50KE5vZGUqIHRhcmdldCwgbG9u
ZyBicmVha3BvaW50VHlwZSwgYm9vbCBpbnNlcnRpb24pCit7CisgICAgQVNTRVJUKGhhc0JyZWFr
cG9pbnQodGFyZ2V0LCBicmVha3BvaW50VHlwZSkpOworCisgICAgUmVmUHRyPEluc3BlY3Rvck9i
amVjdD4gZGVzY3JpcHRpb24gPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIE5vZGUq
IGJyZWFrcG9pbnRPd25lciA9IHRhcmdldDsKKyAgICBpZiAoKDEgPDwgYnJlYWtwb2ludFR5cGUp
ICYgaW5oZXJpdGFibGVET01CcmVha3BvaW50VHlwZXNNYXNrKSB7CisgICAgICAgIC8vIEZvciBp
bmhlcml0YWJsZSBicmVha3BvaW50IHR5cGVzLCB0YXJnZXQgbm9kZSBpc24ndCBhbHdheXMgdGhl
IHNhbWUgYXMgdGhlIG5vZGUgdGhhdCBvd25zIGEgYnJlYWtwb2ludC4KKyAgICAgICAgLy8gVGFy
Z2V0IG5vZGUgbWF5IGJlIHVua25vd24gdG8gZnJvbnRlbmQsIHNvIHdlIG5lZWQgdG8gcHVzaCBp
dCBmaXJzdC4KKyAgICAgICAgbG9uZyB0YXJnZXROb2RlSWQgPSBwdXNoTm9kZVBhdGhUb0Zyb250
ZW5kKHRhcmdldCk7CisgICAgICAgIEFTU0VSVCh0YXJnZXROb2RlSWQpOworICAgICAgICBkZXNj
cmlwdGlvbi0+c2V0TnVtYmVyKCJ0YXJnZXROb2RlSWQiLCB0YXJnZXROb2RlSWQpOworCisgICAg
ICAgIC8vIEZpbmQgYnJlYWtwb2ludCBvd25lciBub2RlLgorICAgICAgICBpZiAoIWluc2VydGlv
bikKKyAgICAgICAgICAgIGJyZWFrcG9pbnRPd25lciA9IGlubmVyUGFyZW50Tm9kZSh0YXJnZXQp
OworICAgICAgICBBU1NFUlQoYnJlYWtwb2ludE93bmVyKTsKKyAgICAgICAgd2hpbGUgKCEobV9i
cmVha3BvaW50cy5nZXQoYnJlYWtwb2ludE93bmVyKSAmICgxIDw8IGJyZWFrcG9pbnRUeXBlKSkp
IHsKKyAgICAgICAgICAgIGJyZWFrcG9pbnRPd25lciA9IGlubmVyUGFyZW50Tm9kZShicmVha3Bv
aW50T3duZXIpOworICAgICAgICAgICAgQVNTRVJUKGJyZWFrcG9pbnRPd25lcik7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoYnJlYWtwb2ludFR5cGUgPT0gU3VidHJlZU1vZGlmaWVkKQorICAg
ICAgICAgICAgZGVzY3JpcHRpb24tPnNldEJvb2xlYW4oImluc2VydGlvbiIsIGluc2VydGlvbik7
CisgICAgfQorCisgICAgbG9uZyBicmVha3BvaW50T3duZXJOb2RlSWQgPSBtX2RvY3VtZW50Tm9k
ZVRvSWRNYXAuZ2V0KGJyZWFrcG9pbnRPd25lcik7CisgICAgQVNTRVJUKGJyZWFrcG9pbnRPd25l
ck5vZGVJZCk7CisKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBicmVha3BvaW50ID0gSW5z
cGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKKyAgICBicmVha3BvaW50LT5zZXROdW1iZXIoIm5vZGVJ
ZCIsIGJyZWFrcG9pbnRPd25lck5vZGVJZCk7CisgICAgYnJlYWtwb2ludC0+c2V0TnVtYmVyKCJ0
eXBlIiwgYnJlYWtwb2ludFR5cGUpOworICAgIGRlc2NyaXB0aW9uLT5zZXRPYmplY3QoImJyZWFr
cG9pbnQiLCBicmVha3BvaW50KTsKKworICAgIHJldHVybiBkZXNjcmlwdGlvbjsKIH0KIAogU3Ry
aW5nIEluc3BlY3RvckRPTUFnZW50Ojpkb2N1bWVudFVSTFN0cmluZyhEb2N1bWVudCogZG9jdW1l
bnQpIGNvbnN0CkBAIC0xMDg3LDIzICsxMTE5LDYgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6
ZGlkTW9kaWZ5RE9NQXR0cihFbGVtZW50KiBlbGVtZW50KQogICAgIG1fZnJvbnRlbmQtPmF0dHJp
YnV0ZXNVcGRhdGVkKGlkLCBidWlsZEFycmF5Rm9yRWxlbWVudEF0dHJpYnV0ZXMoZWxlbWVudCkp
OwogfQogCi1QYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gSW5zcGVjdG9yRE9NQWdlbnQ6OmNy
ZWF0ZUJyZWFrcG9pbnQoTm9kZSogbm9kZSwgbG9uZyB0eXBlKQotewotICAgIFJlZlB0cjxJbnNw
ZWN0b3JPYmplY3Q+IGJyZWFrcG9pbnQgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotCi0g
ICAgLy8gRmluZCBicmVha3BvaW50IG93bmVyLgotICAgIHdoaWxlICghKG1fYnJlYWtwb2ludHMu
Z2V0KG5vZGUpICYgKDEgPDwgdHlwZSkpKSB7Ci0gICAgICAgIG5vZGUgPSBpbm5lclBhcmVudE5v
ZGUobm9kZSk7Ci0gICAgICAgIEFTU0VSVChub2RlKTsKLSAgICB9Ci0gICAgbG9uZyBub2RlSWQg
PSBtX2RvY3VtZW50Tm9kZVRvSWRNYXAuZ2V0KG5vZGUpOwotICAgIEFTU0VSVChub2RlSWQpOwot
Ci0gICAgYnJlYWtwb2ludC0+c2V0TnVtYmVyKCJub2RlSWQiLCBub2RlSWQpOwotICAgIGJyZWFr
cG9pbnQtPnNldE51bWJlcigidHlwZSIsIHR5cGUpOwotICAgIHJldHVybiBicmVha3BvaW50LnJl
bGVhc2UoKTsKLX0KLQogYm9vbCBJbnNwZWN0b3JET01BZ2VudDo6aGFzQnJlYWtwb2ludChOb2Rl
KiBub2RlLCBsb25nIHR5cGUpCiB7CiAgICAgdWludDMyX3Qgcm9vdEJpdCA9IDEgPDwgdHlwZTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmggYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCmluZGV4IDk3NTFlOGUuLmNhMmViOTQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMTYyLDggKzE2Miw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBwdXNoRG9jdW1lbnRUb0Zyb250ZW5k
KCk7CiAKICAgICAgICAgYm9vbCBoYXNCcmVha3BvaW50KE5vZGUqIG5vZGUsIGxvbmcgdHlwZSk7
Ci0gICAgICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVCcmVha3BvaW50KE5v
ZGUqIG5vZGUsIGxvbmcgdHlwZSk7CiAgICAgICAgIHZvaWQgdXBkYXRlU3VidHJlZUJyZWFrcG9p
bnRzKE5vZGUqIHJvb3QsIHVpbnQzMl90IHJvb3RNYXNrLCBib29sIHZhbHVlKTsKKyAgICAgICAg
UGFzc1JlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gZGVzY3JpcHRpb25Gb3JET01FdmVudChOb2RlKiB0
YXJnZXQsIGxvbmcgYnJlYWtwb2ludFR5cGUsIGJvb2wgaW5zZXJ0aW9uKTsKIAogICAgICAgICBQ
YXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gYnVpbGRPYmplY3RGb3JBdHRyaWJ1dGVTdHlsZXMo
RWxlbWVudCogZWxlbWVudCk7CiAgICAgICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGJ1
aWxkQXJyYXlGb3JDU1NSdWxlcyhEb2N1bWVudCogb3duZXJEb2N1bWVudCwgQ1NTUnVsZUxpc3Qq
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
Y3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXgg
ZmQ5ZmRmMy4uYzg0OWVjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5jcHAKQEAgLTI5Miw3ICsyOTIsNyBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQ6OmRpZFBhdXNlKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkKICAgICBtX3BhdXNlZFNjcmlw
dFN0YXRlID0gc2NyaXB0U3RhdGU7CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGV0YWls
cyA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAgICAgZGV0YWlscy0+c2V0VmFsdWUoImNh
bGxGcmFtZXMiLCBjdXJyZW50Q2FsbEZyYW1lcygpKTsKLSAgICBkZXRhaWxzLT5zZXRWYWx1ZSgi
cmVhc29uIiwgbV9icmVha1Byb2dyYW1SZWFzb24pOworICAgIGRldGFpbHMtPnNldFZhbHVlKCJz
dGF0dXMiLCBtX2JyZWFrUHJvZ3JhbVJlYXNvbik7CiAgICAgbV9mcm9udGVuZC0+cGF1c2VkU2Ny
aXB0KGRldGFpbHMpOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q2FsbFN0YWNrU2lkZWJhclBhbmUuanMKaW5kZXggNjBlZWUzNC4uMWJhYmVjYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzCisr
KyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcwpA
QCAtODMsNiArODMsNTIgQEAgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgfQogICAgIH0sCiAKKyAgICB1cGRhdGVTdGF0dXM6ICBmdW5jdGlv
bihzdGF0dXMpCisgICAgeworICAgICAgICB2YXIgYnJlYWtwb2ludE93bmVyTm9kZSA9IFdlYklu
c3BlY3Rvci5kb21BZ2VudC5ub2RlRm9ySWQoc3RhdHVzLmJyZWFrcG9pbnQubm9kZUlkKTsKKyAg
ICAgICAgdmFyIGJyZWFrcG9pbnRPd25lckxpbmsgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1l
bnRzLmxpbmtpZnlOb2RlUmVmZXJlbmNlKGJyZWFrcG9pbnRPd25lck5vZGUpOworICAgICAgICB2
YXIgYnJlYWtwb2ludFR5cGUgPSBzdGF0dXMuYnJlYWtwb2ludC50eXBlOworICAgICAgICB2YXIg
YnJlYWtwb2ludFR5cGVMYWJlbCA9IFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50LmxhYmVsRm9y
VHlwZShicmVha3BvaW50VHlwZSk7CisKKyAgICAgICAgdmFyIGZvcm1hdCwgc3Vic3RpdHV0aW9u
czsKKyAgICAgICAgaWYgKGJyZWFrcG9pbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuRE9NQnJlYWtw
b2ludC5UeXBlcy5TdWJ0cmVlTW9kaWZpZWQpIHsKKyAgICAgICAgICAgIHZhciB0YXJnZXROb2Rl
ID0gV2ViSW5zcGVjdG9yLmRvbUFnZW50Lm5vZGVGb3JJZChzdGF0dXMudGFyZ2V0Tm9kZUlkKTsK
KyAgICAgICAgICAgIHZhciB0YXJnZXROb2RlTGluayA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxl
bWVudHMubGlua2lmeU5vZGVSZWZlcmVuY2UodGFyZ2V0Tm9kZSk7CisgICAgICAgICAgICBpZiAo
c3RhdHVzLmluc2VydGlvbikgeworICAgICAgICAgICAgICAgIGlmIChzdGF0dXMudGFyZ2V0Tm9k
ZUlkICE9PSBzdGF0dXMuYnJlYWtwb2ludC5ub2RlSWQpIHsKKyAgICAgICAgICAgICAgICAgICAg
Zm9ybWF0ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXVzZWQgb24gXCIlc1wiIGJyZWFrcG9p
bnQgc2V0IG9uICVzLCBiZWNhdXNlIG5ldyBjaGlsZCB3YXMgYWRkZWQgdG8gaXQncyBkZXNjZW5k
YW50ICVzLiIpOworICAgICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb25zID0gW2JyZWFrcG9p
bnRUeXBlTGFiZWwsIGJyZWFrcG9pbnRPd25lckxpbmssIHRhcmdldE5vZGVMaW5rXTsKKyAgICAg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBmb3JtYXQgPSBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlBhdXNlZCBvbiBcIiVzXCIgYnJlYWtwb2ludCBzZXQgb24gJXMsIGJl
Y2F1c2UgbmV3IGNoaWxkIHdhcyBhZGRlZCB0byB0aGF0IG5vZGUuIik7CisgICAgICAgICAgICAg
ICAgICAgIHN1YnN0aXR1dGlvbnMgPSBbYnJlYWtwb2ludFR5cGVMYWJlbCwgYnJlYWtwb2ludE93
bmVyTGlua107CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICBmb3JtYXQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhdXNlZCBvbiBcIiVz
XCIgYnJlYWtwb2ludCBzZXQgb24gJXMsIGJlY2F1c2UgaXQncyBkZXNjZW5kYW50ICVzIHdhcyBy
ZW1vdmVkLiIpOworICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBbYnJlYWtwb2ludFR5
cGVMYWJlbCwgYnJlYWtwb2ludE93bmVyTGluaywgdGFyZ2V0Tm9kZUxpbmtdOworICAgICAgICAg
ICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9ybWF0ID0gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJQYXVzZWQgb24gXCIlc1wiIGJyZWFrcG9pbnQgc2V0IG9uICVzLiIpOworICAg
ICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFticmVha3BvaW50VHlwZUxhYmVsLCBicmVha3BvaW50
T3duZXJMaW5rXTsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBzdGF0dXNFbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIHN0YXR1c0VsZW1lbnQuY2xhc3NO
YW1lID0gImluZm8iOworICAgICAgICB2YXIgZm9ybWF0dGVycyA9IHsKKyAgICAgICAgICAgIHM6
IGZ1bmN0aW9uKHN1YnN0aXR1dGlvbikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gc3Vic3RpdHV0aW9uOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICBm
dW5jdGlvbiBhcHBlbmQoYSwgYikKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHR5cGVvZiBi
ID09PSAic3RyaW5nIikKKyAgICAgICAgICAgICAgICBiID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoYik7CisgICAgICAgICAgICBzdGF0dXNFbGVtZW50LmFwcGVuZENoaWxkKGIpOworICAgICAg
ICB9CisgICAgICAgIFN0cmluZy5mb3JtYXQoZm9ybWF0LCBzdWJzdGl0dXRpb25zLCBmb3JtYXR0
ZXJzLCAiIiwgYXBwZW5kKTsKKyAgICAgICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRDaGlsZChz
dGF0dXNFbGVtZW50KTsKKyAgICB9LAorCiAgICAgZ2V0IHNlbGVjdGVkQ2FsbEZyYW1lKCkKICAg
ICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZENhbGxGcmFtZTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IDc1ZmQ2ZjcuLmFlMDA4NTAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAtMzgz
LDcgKzM4Myw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAg
ICAgICBJbmplY3RlZFNjcmlwdEFjY2Vzcy5nZXQoY2FsbEZyYW1lLndvcmxkSWQpLmV2YWx1YXRl
SW5DYWxsRnJhbWUoY2FsbEZyYW1lLmlkLCBjb2RlLCBvYmplY3RHcm91cCwgZXZhbENhbGxiYWNr
KTsKICAgICB9LAogCi0gICAgZGVidWdnZXJQYXVzZWQ6IGZ1bmN0aW9uKGNhbGxGcmFtZXMpCisg
ICAgZGVidWdnZXJQYXVzZWQ6IGZ1bmN0aW9uKGRldGFpbHMpCiAgICAgewogICAgICAgICBXZWJJ
bnNwZWN0b3IuYnJlYWtwb2ludE1hbmFnZXIucmVtb3ZlT25lVGltZUJyZWFrcG9pbnQoKTsKICAg
ICAgICAgdGhpcy5fcGF1c2VkID0gdHJ1ZTsKQEAgLTM5Miw4ICszOTIsMTEgQEAgV2ViSW5zcGVj
dG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fdXBkYXRlRGVi
dWdnZXJCdXR0b25zKCk7CiAKLSAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnVw
ZGF0ZShjYWxsRnJhbWVzLCB0aGlzLl9zb3VyY2VJRE1hcCk7Ci0gICAgICAgIHRoaXMuc2lkZWJh
clBhbmVzLmNhbGxzdGFjay5zZWxlY3RlZENhbGxGcmFtZSA9IGNhbGxGcmFtZXNbMF07CisgICAg
ICAgIHRoaXMuc2lkZWJhclBhbmVzLmNhbGxzdGFjay51cGRhdGUoZGV0YWlscy5jYWxsRnJhbWVz
LCB0aGlzLl9zb3VyY2VJRE1hcCk7CisgICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmNhbGxzdGFj
ay5zZWxlY3RlZENhbGxGcmFtZSA9IGRldGFpbHMuY2FsbEZyYW1lc1swXTsKKworICAgICAgICBp
ZiAoZGV0YWlscy5zdGF0dXMpCisgICAgICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5jYWxsc3Rh
Y2sudXBkYXRlU3RhdHVzKGRldGFpbHMuc3RhdHVzKTsKIAogICAgICAgICBXZWJJbnNwZWN0b3Iu
Y3VycmVudFBhbmVsID0gdGhpczsKICAgICAgICAgd2luZG93LmZvY3VzKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IDQzMTk4MTYuLmEyNDQzMWEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC0xNjkzLDYgKzE2
OTMsMTAgQEAgbGkuZWRpdGluZyAuc3dhdGNoLCBsaS5lZGl0aW5nIC5lbmFibGVkLWJ1dHRvbiwg
IGxpLmVkaXRpbmctc3ViLXBhcnQgLmRlbGV0ZS1idXQKICAgICBjb2xvcjogZ3JheTsKIH0KIAor
LnBhbmUgPiAuYm9keSAucGxhY2FyZCArIC5pbmZvIHsKKyAgICBib3JkZXItdG9wOiAxcHggc29s
aWQgZ3JheQorfQorCiAucGFuZS5leHBhbmRlZCA+IC5ib2R5LCAucGFuZS5leHBhbmRlZCA+IC5n
cm93YmFyIHsKICAgICBkaXNwbGF5OiBibG9jazsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmpzCmluZGV4IDg0MDc0NWYuLmRjNTkzMzUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgV2ViSW5zcGVj
dG9yLmZhaWxlZFRvUGFyc2VTY3JpcHRTb3VyY2UgPSBmdW5jdGlvbihzb3VyY2VVUkwsIHNvdXJj
ZSwgc3RhcnRpbmdMaW4KIAogV2ViSW5zcGVjdG9yLnBhdXNlZFNjcmlwdCA9IGZ1bmN0aW9uKGRl
dGFpbHMpCiB7Ci0gICAgdGhpcy5wYW5lbHMuc2NyaXB0cy5kZWJ1Z2dlclBhdXNlZChkZXRhaWxz
LmNhbGxGcmFtZXMpOworICAgIHRoaXMucGFuZWxzLnNjcmlwdHMuZGVidWdnZXJQYXVzZWQoZGV0
YWlscyk7CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJyaW5nVG9Gcm9udCgpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67388</attachid>
            <date>2010-09-13 03:11:13 -0700</date>
            <delta_ts>2010-09-14 09:51:54 -0700</delta_ts>
            <desc>Fix wording.</desc>
            <filename>status.patch</filename>
            <type>text/plain</type>
            <size>28091</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmOTE3ZTFmLi5lZjM0YzJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDkt
MDYgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjogc2hv
dyBzdGF0dXMgbWVzc2FnZSBiZWxvdyBjYWxsIHN0YWNrIHdoZW4gZGVidWdnZXIgaXMgcGF1c2Vk
IG9uIERPTSBicmVha3BvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NTExNAorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QyLmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9JbnNwZWN0b3JUZXN0Lkluc3BlY3Rv
clRlc3QuZmluZERPTU5vZGUuZmluZERPTU5vZGUucHJvY2Vzc0NoaWxkcmVuKToKKyAgICAgICAg
KGluaXRpYWxpemVfSW5zcGVjdG9yVGVzdC5JbnNwZWN0b3JUZXN0LmZpbmRET01Ob2RlLmZpbmRE
T01Ob2RlKToKKyAgICAgICAgKGluaXRpYWxpemVfSW5zcGVjdG9yVGVzdC5JbnNwZWN0b3JUZXN0
LmZpbmRET01Ob2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLmh0bWw6CisKIDIw
MTAtMDktMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcwppbmRleCBlYTJjMmMwLi5hNTgyMzY2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpz
CkBAIC0xMDYsNyArMTA2LDcgQEAgSW5zcGVjdG9yVGVzdC5kaXNhYmxlUmVzb3VyY2VUcmFja2lu
ZyA9IGZ1bmN0aW9uKCkKIEluc3BlY3RvclRlc3QuZmluZERPTU5vZGUgPSBmdW5jdGlvbihyb290
LCBmaWx0ZXIsIGNhbGxiYWNrKQogewogICAgIHZhciBmb3VuZCA9IGZhbHNlOwotICAgIHZhciBw
ZW5kaW5nQ2FsbHMgPSAwOworICAgIHZhciBwZW5kaW5nQ2FsbHMgPSAxOwogCiAgICAgaWYgKHJv
b3QpCiAgICAgICAgIGZpbmRET01Ob2RlKHJvb3QpOwpAQCAtMTI3LDIwICsxMjcsMTkgQEAgSW5z
cGVjdG9yVGVzdC5maW5kRE9NTm9kZSA9IGZ1bmN0aW9uKHJvb3QsIGZpbHRlciwgY2FsbGJhY2sp
CiAgICAgICAgIGlmIChmaWx0ZXIobm9kZSkpIHsKICAgICAgICAgICAgIGNhbGxiYWNrKG5vZGUp
OwogICAgICAgICAgICAgZm91bmQgPSB0cnVlOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgcGVuZGluZ0NhbGxzICs9IDE7CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmRvbUFnZW50LmdldENoaWxkTm9kZXNBc3luYyhub2RlLCBwcm9jZXNzQ2hpbGRyZW4p
OwotICAgICAgICB9CisKKyAgICAgICAgLS1wZW5kaW5nQ2FsbHM7CisKKyAgICAgICAgaWYgKCFm
b3VuZCAmJiAhcGVuZGluZ0NhbGxzKQorICAgICAgICAgICAgc2V0VGltZW91dChmaW5kRE9NTm9k
ZS5iaW5kKG51bGwsIHJvb3QpLCAwKTsKIAogICAgICAgICBmdW5jdGlvbiBwcm9jZXNzQ2hpbGRy
ZW4oY2hpbGRyZW4pCiAgICAgICAgIHsKLSAgICAgICAgICAgIHBlbmRpbmdDYWxscyAtPSAxOwot
CisgICAgICAgICAgICBwZW5kaW5nQ2FsbHMgKz0gY2hpbGRyZW4gPyBjaGlsZHJlbi5sZW5ndGgg
OiAwOwogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7ICFmb3VuZCAmJiBjaGlsZHJlbiAmJiBp
IDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICAgICAgZmluZERPTU5vZGUoY2hp
bGRyZW5baV0pOwotCi0gICAgICAgICAgICBpZiAoIWZvdW5kICYmICFwZW5kaW5nQ2FsbHMgJiYg
bm9kZSA9PSByb290KQotICAgICAgICAgICAgICAgIGNhbGxiYWNrKG51bGwpOwogICAgICAgICB9
CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tYnJlYWtw
b2ludHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50
cy1leHBlY3RlZC50eHQKaW5kZXggMmQ4NzVlYy4uMDk1NTc1OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy1leHBlY3RlZC50eHQKQEAgLTEsMzAgKzEs
NDcgQEAKIFRlc3RzIERPTSBicmVha3BvaW50cy4gQnVnIDQyODg2CiAKIERlYnVnZ2VyIHdhcyBl
bmFibGVkLgotVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3
aGVuIGFwcGVuZGluZyBjaGlsZC4KLVNldCBzdWJ0cmVlIG1vZGlmaWVkIERPTSBicmVha3BvaW50
IG9uIGQwLgotQXBwZW5kIGQxIHRvIGQwLgorVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBi
cmVha3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGluZyBhIGNoaWxkLgorU2V0ICdTdWJ0cmVlIE1v
ZGlmaWVkJyBET00gYnJlYWtwb2ludCBvbiByb290RWxlbWVudC4KK0FwcGVuZCBjaGlsZEVsZW1l
bnQgdG8gcm9vdEVsZW1lbnQuCiBTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KIGxpbmU6IDExLCBm
dW5jdGlvbjogYXBwZW5kRWxlbWVudAorUGF1c2VkIG9uIGEgIlN1YnRyZWUgTW9kaWZpZWQiIGJy
ZWFrcG9pbnQgc2V0IG9uIGRpdiNyb290RWxlbWVudCwgYmVjYXVzZSBhIG5ldyBjaGlsZCB3YXMg
YWRkZWQgdG8gdGhhdCBub2RlLgorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgorVGVzdCB0aGF0
ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGluZyBhIGdy
YW5kY2hpbGQuCitBcHBlbmQgZ3JhbmRjaGlsZEVsZW1lbnQgdG8gY2hpbGRFbGVtZW50LgorU2Ny
aXB0IGV4ZWN1dGlvbiBwYXVzZWQuCitsaW5lOiAxMSwgZnVuY3Rpb246IGFwcGVuZEVsZW1lbnQK
K1BhdXNlZCBvbiBhICJTdWJ0cmVlIE1vZGlmaWVkIiBicmVha3BvaW50IHNldCBvbiBkaXYjcm9v
dEVsZW1lbnQsIGJlY2F1c2UgYSBuZXcgY2hpbGQgd2FzIGFkZGVkIHRvIGl0cyBkZXNjZW5kYW50
IGRpdiNjaGlsZEVsZW1lbnQuCitTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCitUZXN0IHRoYXQg
J1N1YnRyZWUgTW9kaWZpZWQnIGJyZWFrcG9pbnQgaXMgaGl0IHdoZW4gcmVtb3ZpbmcgYSBjaGls
ZC4KK1JlbW92ZSBncmFuZGNoaWxkRWxlbWVudC4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgor
bGluZTogMjMsIGZ1bmN0aW9uOiByZW1vdmVFbGVtZW50CitQYXVzZWQgb24gYSAiU3VidHJlZSBN
b2RpZmllZCIgYnJlYWtwb2ludCBzZXQgb24gZGl2I3Jvb3RFbGVtZW50LCBiZWNhdXNlIGl0cyBk
ZXNjZW5kYW50IGRpdiNncmFuZGNoaWxkRWxlbWVudCB3YXMgcmVtb3ZlZC4KIFNjcmlwdCBleGVj
dXRpb24gcmVzdW1lZC4KIFRlc3QgdGhhdCAnQXR0cmlidXRlIE1vZGlmaWVkJyBicmVha3BvaW50
IGlzIGhpdCB3aGVuIG1vZGlmeWluZyBhdHRyaWJ1dGUuCi1TZXQgYXR0cmlidXRlIG1vZGlmaWVk
IERPTSBicmVha3BvaW50IG9uIGQxLgotTW9kaWZ5IGQxIGNsYXNzTmFtZS4KK1NldCAnQXR0cmli
dXRlIE1vZGlmaWVkJyBET00gYnJlYWtwb2ludCBvbiByb290RWxlbWVudC4KK01vZGlmeSByb290
RWxlbWVudCBjbGFzc05hbWUuCiBTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KIGxpbmU6IDE3LCBm
dW5jdGlvbjogbW9kaWZ5QXR0cmlidXRlCitQYXVzZWQgb24gYSAiQXR0cmlidXRlIE1vZGlmaWVk
IiBicmVha3BvaW50IHNldCBvbiBkaXYjcm9vdEVsZW1lbnQuCiBTY3JpcHQgZXhlY3V0aW9uIHJl
c3VtZWQuCiBUZXN0IHRoYXQgJ05vZGUgUmVtb3ZlZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiBy
ZW1vdmluZyBhIG5vZGUuCi1TZXQgbm9kZSByZW1vdmVkIERPTSBicmVha3BvaW50IG9uIGQxLgot
UmVtb3ZlIGQxLgorQXBwZW5kIGVsZW1lbnRUb1JlbW92ZSB0byByb290RWxlbWVudC4KK1NldCAn
Tm9kZSBSZW1vdmVkJyBET00gYnJlYWtwb2ludCBvbiBlbGVtZW50VG9SZW1vdmUuCitSZW1vdmUg
ZWxlbWVudFRvUmVtb3ZlLgogU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCiBsaW5lOiAyMywgZnVu
Y3Rpb246IHJlbW92ZUVsZW1lbnQKK1BhdXNlZCBvbiBhICJOb2RlIFJlbW92ZWQiIGJyZWFrcG9p
bnQgc2V0IG9uIGRpdiNlbGVtZW50VG9SZW1vdmUuCiBTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQu
CiBUZXN0IHRoYXQgRE9NIGJyZWFrcG9pbnRzIGFyZSBwZXJzaXN0ZWQgYmV0d2VlbiBwYWdlIHJl
bG9hZHMuCi1TZXQgc3VidHJlZSBtb2RpZmllZCBET00gYnJlYWtwb2ludCBvbiBkMC4KK1NldCAn
U3VidHJlZSBNb2RpZmllZCcgRE9NIGJyZWFrcG9pbnQgb24gcm9vdEVsZW1lbnQuCiBQYWdlIHJl
bG9hZGVkLgotQXBwZW5kIGQxIHRvIGQwLgorQXBwZW5kIGNoaWxkRWxlbWVudCB0byByb290RWxl
bWVudC4KIFNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgogbGluZTogMTEsIGZ1bmN0aW9uOiBhcHBl
bmRFbGVtZW50CitQYXVzZWQgb24gYSAiU3VidHJlZSBNb2RpZmllZCIgYnJlYWtwb2ludCBzZXQg
b24gZGl2I3Jvb3RFbGVtZW50LCBiZWNhdXNlIGEgbmV3IGNoaWxkIHdhcyBhZGRlZCB0byB0aGF0
IG5vZGUuCiBTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCiBEZWJ1Z2dlciB3YXMgZGlzYWJsZWQu
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tYnJlYWtwb2ludHMuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tYnJlYWtwb2ludHMuaHRtbAppbmRleCA3NjI1
YTQ3Li4wZTBkMzJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWJyZWFr
cG9pbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy5o
dG1sCkBAIC0yNSw4NSArMjUsMTI3IEBAIGZ1bmN0aW9uIHJlbW92ZUVsZW1lbnQoZWxlbWVudElk
KQogCiB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKIHsKLSAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVi
dWdnZXJUZXN0KHN0ZXAxKTsKLQotICAgIHZhciBkMCwgZDE7CisgICAgdGVzdF9JbnNlcnRDaGls
ZCA9IHt9OworICAgIHRlc3RfSW5zZXJ0Q2hpbGQuc3RlcDEgPSBmdW5jdGlvbigpCisgICAgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlm
aWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGluZyBhIGNoaWxkLiIpOworICAgICAg
ICBmaW5kRE9NTm9kZUJ5SWQoInJvb3RFbGVtZW50IiwgdGVzdF9JbnNlcnRDaGlsZC5zdGVwMik7
CisgICAgfTsKKyAgICB0ZXN0X0luc2VydENoaWxkLnN0ZXAyID0gZnVuY3Rpb24obm9kZSkKKyAg
ICB7CisgICAgICAgIG5vZGUuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2lu
dC5UeXBlcy5TdWJ0cmVlTW9kaWZpZWQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiU2V0ICdTdWJ0cmVlIE1vZGlmaWVkJyBET00gYnJlYWtwb2ludCBvbiByb290RWxlbWVudC4i
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiYXBwZW5kRWxlbWVu
dCgncm9vdEVsZW1lbnQnLCAnY2hpbGRFbGVtZW50JykiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkFwcGVuZCBjaGlsZEVsZW1lbnQgdG8gcm9vdEVsZW1lbnQuIik7CisgICAg
ICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHRlc3RfSW5zZXJ0Q2hpbGQuc3RlcDMp
OworICAgIH07CisgICAgdGVzdF9JbnNlcnRDaGlsZC5zdGVwMyA9IGZ1bmN0aW9uKGNhbGxGcmFt
ZXMpCisgICAgeworICAgICAgICBkdW1wU3RhdHVzKGNhbGxGcmFtZXMpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LnJlc3VtZUV4ZWN1dGlvbih0ZXN0X0luc2VydEdyYW5kY2hpbGQuc3RlcDEpOwor
ICAgIH07CiAKLSAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgdmFyIHRlc3RfSW5zZXJ0R3JhbmRj
aGlsZCA9IHt9OworICAgIHRlc3RfSW5zZXJ0R3JhbmRjaGlsZC5zdGVwMSA9IGZ1bmN0aW9uKCkK
ICAgICB7Ci0gICAgICAgIGZpbmRET01Ob2RlQnlJZCgiZDAiLCBzdGVwMik7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0IHRoYXQgJ1N1YnRyZWUgTW9kaWZpZWQnIGJyZWFr
cG9pbnQgaXMgaGl0IHdoZW4gYXBwZW5kaW5nIGEgZ3JhbmRjaGlsZC4iKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiYXBwZW5kRWxlbWVudCgnY2hpbGRFbGVtZW50
JywgJ2dyYW5kY2hpbGRFbGVtZW50JykiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkFwcGVuZCBncmFuZGNoaWxkRWxlbWVudCB0byBjaGlsZEVsZW1lbnQuIik7CisgICAgICAg
IEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHRlc3RfSW5zZXJ0R3JhbmRjaGlsZC5zdGVw
Mik7CiAgICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDIobm9kZSkKKyAgICB0ZXN0X0luc2VydEdy
YW5kY2hpbGQuc3RlcDIgPSBmdW5jdGlvbihjYWxsRnJhbWVzKQogICAgIHsKLSAgICAgICAgZDAg
PSBub2RlOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGVzdCB0aGF0ICdTdWJ0
cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGluZyBjaGlsZC4iKTsK
LSAgICAgICAgZDAuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBl
cy5TdWJ0cmVlTW9kaWZpZWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2V0
IHN1YnRyZWUgbW9kaWZpZWQgRE9NIGJyZWFrcG9pbnQgb24gZDAuIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImFwcGVuZEVsZW1lbnQoJ2QwJywgJ2QxJykiKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFwcGVuZCBkMSB0byBkMC4iKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoc3RlcDMpOworICAgICAgICBkdW1w
U3RhdHVzKGNhbGxGcmFtZXMpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJlc3VtZUV4ZWN1dGlv
bih0ZXN0X1JlbW92ZUNoaWxkLnN0ZXAxKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBzdGVwMyhj
YWxsRnJhbWVzKQorICAgIHZhciB0ZXN0X1JlbW92ZUNoaWxkID0ge307CisgICAgdGVzdF9SZW1v
dmVDaGlsZC5zdGVwMSA9IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJsaW5lOiAiICsgY2FsbEZyYW1lc1swXS5saW5lICsgIiwgZnVuY3Rpb246ICIg
KyBjYWxsRnJhbWVzWzBdLmZ1bmN0aW9uTmFtZSk7Ci0gICAgICAgIGQwLnJlbW92ZUJyZWFrcG9p
bnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuU3VidHJlZU1vZGlmaWVkKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24oZmluZERPTU5vZGVCeUlkLmJpbmQo
bnVsbCwgImQxIiwgc3RlcDQpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRl
c3QgdGhhdCAnU3VidHJlZSBNb2RpZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiByZW1vdmlu
ZyBhIGNoaWxkLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJy
ZW1vdmVFbGVtZW50KCdncmFuZGNoaWxkRWxlbWVudCcpIik7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJSZW1vdmUgZ3JhbmRjaGlsZEVsZW1lbnQuIik7CisgICAgICAgIEluc3Bl
Y3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHRlc3RfUmVtb3ZlQ2hpbGQuc3RlcDIpOworCisgICAg
fQorICAgIHRlc3RfUmVtb3ZlQ2hpbGQuc3RlcDIgPSBmdW5jdGlvbihjYWxsRnJhbWVzKQorICAg
IHsKKyAgICAgICAgZHVtcFN0YXR1cyhjYWxsRnJhbWVzKTsKKyAgICAgICAgZmluZERPTU5vZGVC
eUlkKCJyb290RWxlbWVudCIsIHRlc3RfUmVtb3ZlQ2hpbGQuc3RlcDMpOworICAgIH0KKyAgICB0
ZXN0X1JlbW92ZUNoaWxkLnN0ZXAzID0gZnVuY3Rpb24obm9kZSkKKyAgICB7CisgICAgICAgIG5v
ZGUucmVtb3ZlQnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBlcy5TdWJ0
cmVlTW9kaWZpZWQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJlc3VtZUV4ZWN1dGlvbih0ZXN0
X01vZGlmeUF0dHJpYnV0ZS5zdGVwMSk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gc3RlcDQobm9k
ZSkKKyAgICB2YXIgdGVzdF9Nb2RpZnlBdHRyaWJ1dGUgPSB7fTsKKyAgICB0ZXN0X01vZGlmeUF0
dHJpYnV0ZS5zdGVwMSA9IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGQxID0gbm9kZTsKICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRlc3QgdGhhdCAnQXR0cmlidXRlIE1vZGlm
aWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIG1vZGlmeWluZyBhdHRyaWJ1dGUuIik7Ci0gICAg
ICAgIGQxLnNldEJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuQXR0
cmlidXRlTW9kaWZpZWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2V0IGF0
dHJpYnV0ZSBtb2RpZmllZCBET00gYnJlYWtwb2ludCBvbiBkMS4iKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgibW9kaWZ5QXR0cmlidXRlKCdkMScsICdjbGFzc05h
bWUnLCAnZm9vJykiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk1vZGlmeSBk
MSBjbGFzc05hbWUuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHN0
ZXA1KTsKKyAgICAgICAgZmluZERPTU5vZGVCeUlkKCJyb290RWxlbWVudCIsIHRlc3RfTW9kaWZ5
QXR0cmlidXRlLnN0ZXAyKTsKICAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNShjYWxsRnJhbWVz
KQorICAgIHRlc3RfTW9kaWZ5QXR0cmlidXRlLnN0ZXAyID0gZnVuY3Rpb24obm9kZSkKICAgICB7
Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJsaW5lOiAiICsgY2FsbEZyYW1lc1sw
XS5saW5lICsgIiwgZnVuY3Rpb246ICIgKyBjYWxsRnJhbWVzWzBdLmZ1bmN0aW9uTmFtZSk7Ci0g
ICAgICAgIGQxLnJlbW92ZUJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlw
ZXMuQXR0cmlidXRlTW9kaWZpZWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJlc3VtZUV4ZWN1
dGlvbihzdGVwNik7CisgICAgICAgIG5vZGUuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9N
QnJlYWtwb2ludC5UeXBlcy5BdHRyaWJ1dGVNb2RpZmllZCk7CisgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCJTZXQgJ0F0dHJpYnV0ZSBNb2RpZmllZCcgRE9NIGJyZWFrcG9pbnQgb24g
cm9vdEVsZW1lbnQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUo
Im1vZGlmeUF0dHJpYnV0ZSgncm9vdEVsZW1lbnQnLCAnY2xhc3NOYW1lJywgJ2ZvbycpIik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJNb2RpZnkgcm9vdEVsZW1lbnQgY2xhc3NO
YW1lLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZCh0ZXN0X01vZGlm
eUF0dHJpYnV0ZS5zdGVwMy5iaW5kKG51bGwsIG5vZGUpKTsKKyAgICB9CisgICAgdGVzdF9Nb2Rp
ZnlBdHRyaWJ1dGUuc3RlcDMgPSBmdW5jdGlvbihub2RlLCBjYWxsRnJhbWVzKQorICAgIHsKKyAg
ICAgICAgZHVtcFN0YXR1cyhjYWxsRnJhbWVzKTsKKyAgICAgICAgbm9kZS5yZW1vdmVCcmVha3Bv
aW50KFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVzLkF0dHJpYnV0ZU1vZGlmaWVkKTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24odGVzdF9SZW1vdmVOb2RlLnN0
ZXAxKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBzdGVwNigpCisgICAgdmFyIHRlc3RfUmVtb3Zl
Tm9kZSA9IHt9OworICAgIHRlc3RfUmVtb3ZlTm9kZS5zdGVwMSA9IGZ1bmN0aW9uKCkKICAgICB7
CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0IHRoYXQgJ05vZGUgUmVtb3Zl
ZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiByZW1vdmluZyBhIG5vZGUuIik7Ci0gICAgICAgIGQx
LnNldEJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuTm9kZVJlbW92
ZWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2V0IG5vZGUgcmVtb3ZlZCBE
T00gYnJlYWtwb2ludCBvbiBkMS4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
Q29uc29sZSgicmVtb3ZlRWxlbWVudCgnZDEnKSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiUmVtb3ZlIGQxLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBh
dXNlZChzdGVwNyk7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImFw
cGVuZEVsZW1lbnQoJ3Jvb3RFbGVtZW50JywgJ2VsZW1lbnRUb1JlbW92ZScpIiwgdGVzdF9SZW1v
dmVOb2RlLnN0ZXAyKTsKICAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNyhjYWxsRnJhbWVzKQor
ICAgIHRlc3RfUmVtb3ZlTm9kZS5zdGVwMiA9IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJsaW5lOiAiICsgY2FsbEZyYW1lc1swXS5saW5lICsgIiwg
ZnVuY3Rpb246ICIgKyBjYWxsRnJhbWVzWzBdLmZ1bmN0aW9uTmFtZSk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKHN0ZXA4KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIkFwcGVuZCBlbGVtZW50VG9SZW1vdmUgdG8gcm9vdEVsZW1lbnQuIik7CisgICAg
ICAgIGZpbmRET01Ob2RlQnlJZCgiZWxlbWVudFRvUmVtb3ZlIiwgdGVzdF9SZW1vdmVOb2RlLnN0
ZXAzKTsKKyAgICB9CisgICAgdGVzdF9SZW1vdmVOb2RlLnN0ZXAzID0gZnVuY3Rpb24obm9kZSkK
KyAgICB7CisgICAgICAgIG5vZGUuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtw
b2ludC5UeXBlcy5Ob2RlUmVtb3ZlZCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJTZXQgJ05vZGUgUmVtb3ZlZCcgRE9NIGJyZWFrcG9pbnQgb24gZWxlbWVudFRvUmVtb3ZlLiIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJyZW1vdmVFbGVtZW50
KCdlbGVtZW50VG9SZW1vdmUnKSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
UmVtb3ZlIGVsZW1lbnRUb1JlbW92ZS4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50
aWxQYXVzZWQodGVzdF9SZW1vdmVOb2RlLnN0ZXA0KTsKKyAgICB9CisgICAgdGVzdF9SZW1vdmVO
b2RlLnN0ZXA0ID0gZnVuY3Rpb24oY2FsbEZyYW1lcykKKyAgICB7CisgICAgICAgIGR1bXBTdGF0
dXMoY2FsbEZyYW1lcyk7CisgICAgICAgIEluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKHRl
c3RfUmVsb2FkLnN0ZXAxKTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBzdGVwOCgpCisgICAgdmFy
IHRlc3RfUmVsb2FkPSB7fTsKKyAgICB0ZXN0X1JlbG9hZC5zdGVwMSA9IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0IHRoYXQgRE9NIGJyZWFr
cG9pbnRzIGFyZSBwZXJzaXN0ZWQgYmV0d2VlbiBwYWdlIHJlbG9hZHMuIik7Ci0gICAgICAgIGQw
LnNldEJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuU3VidHJlZU1v
ZGlmaWVkKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNldCBzdWJ0cmVlIG1v
ZGlmaWVkIERPTSBicmVha3BvaW50IG9uIGQwLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJl
bG9hZFBhZ2Uoc3RlcDkpOworICAgICAgICBmaW5kRE9NTm9kZUJ5SWQoInJvb3RFbGVtZW50Iiwg
dGVzdF9SZWxvYWQuc3RlcDIpOwogICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA5KCkKKyAgICB0
ZXN0X1JlbG9hZC5zdGVwMiA9IGZ1bmN0aW9uKG5vZGUpCiAgICAgewotICAgICAgICBJbnNwZWN0
b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJhcHBlbmRFbGVtZW50KCdkMCcsICdkMScpIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBcHBlbmQgZDEgdG8gZDAuIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHN0ZXAxMCk7CisgICAgICAgIG5vZGUu
c2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBlcy5TdWJ0cmVlTW9k
aWZpZWQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2V0ICdTdWJ0cmVlIE1v
ZGlmaWVkJyBET00gYnJlYWtwb2ludCBvbiByb290RWxlbWVudC4iKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5yZWxvYWRQYWdlKHRlc3RfUmVsb2FkLnN0ZXAzKTsKICAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMTAoY2FsbEZyYW1lcykKKyAgICB0ZXN0X1JlbG9hZC5zdGVwMyA9IGZ1bmN0aW9u
KCkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJsaW5lOiAiICsgY2Fs
bEZyYW1lc1swXS5saW5lICsgIiwgZnVuY3Rpb246ICIgKyBjYWxsRnJhbWVzWzBdLmZ1bmN0aW9u
TmFtZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImFwcGVuZEVs
ZW1lbnQoJ3Jvb3RFbGVtZW50JywgJ2NoaWxkRWxlbWVudCcpIik7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJBcHBlbmQgY2hpbGRFbGVtZW50IHRvIHJvb3RFbGVtZW50LiIpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZCh0ZXN0X1JlbG9hZC5zdGVwNCk7
CisgICAgfQorICAgIHRlc3RfUmVsb2FkLnN0ZXA0ID0gZnVuY3Rpb24oY2FsbEZyYW1lcykKKyAg
ICB7CisgICAgICAgIGR1bXBTdGF0dXMoY2FsbEZyYW1lcyk7CiAgICAgICAgIEluc3BlY3RvclRl
c3QuY29tcGxldGVEZWJ1Z2dlclRlc3QoKTsKICAgICB9CiAKQEAgLTExMyw2ICsxNTUsMTQgQEAg
dmFyIHRlc3QgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gbm9kZS5nZXRBdHRyaWJ1
dGUoImlkIikgPT09IGlkOwogICAgICAgICB9LCBjYWxsYmFjayk7CiAgICAgfQorCisgICAgZnVu
Y3Rpb24gZHVtcFN0YXR1cyhjYWxsRnJhbWVzKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoImxpbmU6ICIgKyBjYWxsRnJhbWVzWzBdLmxpbmUgKyAiLCBmdW5jdGlvbjog
IiArIGNhbGxGcmFtZXNbMF0uZnVuY3Rpb25OYW1lKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnNpZGViYXJQYW5lcy5jYWxsc3Rh
Y2suYm9keUVsZW1lbnQubGFzdENoaWxkLmlubmVyVGV4dCk7CisgICAgfQorCisgICAgSW5zcGVj
dG9yVGVzdC5zdGFydERlYnVnZ2VyVGVzdCh0ZXN0X0luc2VydENoaWxkLnN0ZXAxKTsKIH07CiAK
IDwvc2NyaXB0PgpAQCAtMTIyLDcgKzE3Miw3IEBAIHZhciB0ZXN0ID0gZnVuY3Rpb24oKQogPHA+
CiBUZXN0cyBET00gYnJlYWtwb2ludHMuIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00Mjg4NiI+QnVnIDQyODg2PC9hPgogPC9wPgotPGRpdiBpZD0iZDAi
PjwvZGl2PgorPGRpdiBpZD0icm9vdEVsZW1lbnQiPjwvZGl2PgogPC9ib2R5PgogPC9odG1sPgog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGFjYmVlOTcuLjFhMmFlY2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDYgIFBhdmVsIFBvZGl2
aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjogc2hvdyBzdGF0dXMgbWVzc2Fn
ZSBiZWxvdyBjYWxsIHN0YWNrIHdoZW4gZGVidWdnZXIgaXMgcGF1c2VkIG9uIERPTSBicmVha3Bv
aW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTEx
NAorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kb20tYnJlYWtwb2ludHMuaHRtbAorCisgICAg
ICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JE
T01BZ2VudDo6cGVyZm9ybVNlYXJjaCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01B
Z2VudDo6c2hvdWxkQnJlYWtPbk5vZGVJbnNlcnRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRE9NQWdlbnQ6OnNob3VsZEJyZWFrT25Ob2RlUmVtb3ZhbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6c2hvdWxkQnJlYWtPbkF0dHJpYnV0ZU1vZGlmaWNhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZGVzY3JpcHRpb25Gb3JE
T01FdmVudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZGlkUGF1c2UpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZVN0YXR1cy5mb3JtYXR0
ZXJzLnMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3Rv
dHlwZS51cGRhdGVTdGF0dXMuYXBwZW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DYWxsU3Rh
Y2tTaWRlYmFyUGFuZS5wcm90b3R5cGUudXBkYXRlU3RhdHVzKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlLmRlYnVnZ2VyUGF1c2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6CisgICAgICAgICgucGFuZSA+IC5ib2R5IC5wbGFjYXJk
ICsgLmluZm8pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLnBhdXNlZFNjcmlwdCk6CisKIDIwMTAtMDktMTMgIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNl
aWRlbC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzIGIvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggMzhk
YmE5Yjg4OTk2MmQ1NjdiNjMzZDEwMzQ4MjE5MmQ3NDA5MDkyNi4uYWRhOWIxOWRlMTFkNDZlMTAz
NDA5NDcxZGQwYzljMWE1MGUwYmY5ZSAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSA5OTkK
emNtZG4tbEloWSVyVlkpVEM7TyZ4TnYxRjtGeXU0ajBtKCFsaiR1JEBQLVEzdihVVGoqI3BATS0+
e055bHhFaGUwCno0dj8xdzZpbyl8QzxWKHleeVVHQCU3SnBwMz5nZlczXkAhU2xnb2k+aWgqPEBr
ZTMzSzJaQHljP05iMSVDO2BpVwp6TTJtclhRaHt6cjBqa1JiK1hre241OWtKIzRBRFhFIWUzPlln
dV5rTGNIdms4NERDZDRuQkBWKDYmUlk2Rzk+V18KelN0aXthR2tKb3NLSDxQZ0ItVEJJbE1FdWs2
Iyl9ZUUtKm1LSyM3aUVraV5vfDM2bVMtNEc5Tj5BY2grenw0V3l+ClFBQz1NPWRMYTNSIUoyXiEw
RHVGd2h5VlpwCgpkZWx0YSAyMQpkY21jY2drIWk8RXJWWSlUQytqUUpPfTApPG58eXApQU9MIWkz
V1dkdwoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCAyM2MyMmFh
Li4yNjc2NWE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC03
MDcsNyArNzA3LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cGVyZm9ybVNlYXJjaChjb25z
dCBTdHJpbmcmIHdoaXRlc3BhY2VUcmltbWVkUXVlcnksIGJvb2wKICAgICAgICAgICAgIG1fcGVu
ZGluZ01hdGNoSm9icy5hcHBlbmQobmV3IE1hdGNoUGxhaW5UZXh0Sm9iKGRvY3VtZW50LCBlc2Nh
cGVkUXVlcnkpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgICAg
ICAKKwogICAgICAgICBtX3BlbmRpbmdNYXRjaEpvYnMuYXBwZW5kKG5ldyBNYXRjaEV4YWN0SWRK
b2IoZG9jdW1lbnQsIHdoaXRlc3BhY2VUcmltbWVkUXVlcnkpKTsKICAgICAgICAgbV9wZW5kaW5n
TWF0Y2hKb2JzLmFwcGVuZChuZXcgTWF0Y2hFeGFjdENsYXNzTmFtZXNKb2IoZG9jdW1lbnQsIHdo
aXRlc3BhY2VUcmltbWVkUXVlcnkpKTsKICAgICAgICAgbV9wZW5kaW5nTWF0Y2hKb2JzLmFwcGVu
ZChuZXcgTWF0Y2hFeGFjdFRhZ05hbWVzSm9iKGRvY3VtZW50LCB0YWdOYW1lUXVlcnkpKTsKQEAg
LTc3NiwzOCArNzc2LDcwIEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnJlbW92ZURPTUJyZWFr
cG9pbnQobG9uZyBub2RlSWQsIGxvbmcgdHlwZSkKIAogYm9vbCBJbnNwZWN0b3JET01BZ2VudDo6
c2hvdWxkQnJlYWtPbk5vZGVJbnNlcnRpb24oTm9kZSosIE5vZGUqIHBhcmVudCwgUGFzc1JlZlB0
cjxJbnNwZWN0b3JWYWx1ZT4qIGRldGFpbHMpCiB7Ci0gICAgaWYgKCFoYXNCcmVha3BvaW50KHBh
cmVudCwgU3VidHJlZU1vZGlmaWVkKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIFJlZlB0
cjxJbnNwZWN0b3JPYmplY3Q+IGRldGFpbHNPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0
ZSgpOwotICAgIGRldGFpbHNPYmplY3QtPnNldE9iamVjdCgiYnJlYWtwb2ludCIsIGNyZWF0ZUJy
ZWFrcG9pbnQocGFyZW50LCBTdWJ0cmVlTW9kaWZpZWQpKTsKLSAgICAqZGV0YWlscyA9IGRldGFp
bHNPYmplY3Q7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGhhc0JyZWFrcG9pbnQocGFyZW50
LCBTdWJ0cmVlTW9kaWZpZWQpKSB7CisgICAgICAgICpkZXRhaWxzID0gZGVzY3JpcHRpb25Gb3JE
T01FdmVudChwYXJlbnQsIFN1YnRyZWVNb2RpZmllZCwgdHJ1ZSk7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgSW5zcGVjdG9yRE9NQWdl
bnQ6OnNob3VsZEJyZWFrT25Ob2RlUmVtb3ZhbChOb2RlKiBub2RlLCBQYXNzUmVmUHRyPEluc3Bl
Y3RvclZhbHVlPiogZGV0YWlscykKIHsKLSAgICBib29sIGhhc05vZGVSZW1vdmVkQnJlYWtwb2lu
dCA9IGhhc0JyZWFrcG9pbnQobm9kZSwgTm9kZVJlbW92ZWQpOwotICAgIGJvb2wgaGFzQW55QnJl
YWtwb2ludCA9IGhhc05vZGVSZW1vdmVkQnJlYWtwb2ludCB8fCBoYXNCcmVha3BvaW50KGlubmVy
UGFyZW50Tm9kZShub2RlKSwgU3VidHJlZU1vZGlmaWVkKTsKLSAgICBpZiAoIWhhc0FueUJyZWFr
cG9pbnQpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+IGRldGFpbHNPYmplY3QgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotICAgIGlmICho
YXNOb2RlUmVtb3ZlZEJyZWFrcG9pbnQpCi0gICAgICAgIGRldGFpbHNPYmplY3QtPnNldE9iamVj
dCgiYnJlYWtwb2ludCIsIGNyZWF0ZUJyZWFrcG9pbnQobm9kZSwgTm9kZVJlbW92ZWQpKTsKLSAg
ICBlbHNlCi0gICAgICAgIGRldGFpbHNPYmplY3QtPnNldE9iamVjdCgiYnJlYWtwb2ludCIsIGNy
ZWF0ZUJyZWFrcG9pbnQoaW5uZXJQYXJlbnROb2RlKG5vZGUpLCBTdWJ0cmVlTW9kaWZpZWQpKTsK
LSAgICAqZGV0YWlscyA9IGRldGFpbHNPYmplY3Q7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgaWYg
KGhhc0JyZWFrcG9pbnQobm9kZSwgTm9kZVJlbW92ZWQpKSB7CisgICAgICAgICpkZXRhaWxzID0g
ZGVzY3JpcHRpb25Gb3JET01FdmVudChub2RlLCBOb2RlUmVtb3ZlZCwgZmFsc2UpOworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgaWYgKGhhc0JyZWFrcG9pbnQoaW5uZXJQYXJlbnRO
b2RlKG5vZGUpLCBTdWJ0cmVlTW9kaWZpZWQpKSB7CisgICAgICAgICpkZXRhaWxzID0gZGVzY3Jp
cHRpb25Gb3JET01FdmVudChub2RlLCBTdWJ0cmVlTW9kaWZpZWQsIGZhbHNlKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBJbnNwZWN0
b3JET01BZ2VudDo6c2hvdWxkQnJlYWtPbkF0dHJpYnV0ZU1vZGlmaWNhdGlvbihFbGVtZW50KiBl
bGVtZW50LCBQYXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiogZGV0YWlscykKIHsKLSAgICBpZiAo
IWhhc0JyZWFrcG9pbnQoZWxlbWVudCwgQXR0cmlidXRlTW9kaWZpZWQpKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGV0YWlsc09iamVjdCA9IElu
c3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgZGV0YWlsc09iamVjdC0+c2V0T2JqZWN0KCJi
cmVha3BvaW50IiwgY3JlYXRlQnJlYWtwb2ludChlbGVtZW50LCBBdHRyaWJ1dGVNb2RpZmllZCkp
OwotICAgICpkZXRhaWxzID0gZGV0YWlsc09iamVjdDsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBp
ZiAoaGFzQnJlYWtwb2ludChlbGVtZW50LCBBdHRyaWJ1dGVNb2RpZmllZCkpIHsKKyAgICAgICAg
KmRldGFpbHMgPSBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KGVsZW1lbnQsIEF0dHJpYnV0ZU1vZGlm
aWVkLCBmYWxzZSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK1Bhc3NSZWZQdHI8SW5zcGVjdG9yVmFsdWU+IEluc3BlY3RvckRPTUFnZW50Ojpk
ZXNjcmlwdGlvbkZvckRPTUV2ZW50KE5vZGUqIHRhcmdldCwgbG9uZyBicmVha3BvaW50VHlwZSwg
Ym9vbCBpbnNlcnRpb24pCit7CisgICAgQVNTRVJUKGhhc0JyZWFrcG9pbnQodGFyZ2V0LCBicmVh
a3BvaW50VHlwZSkpOworCisgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGVzY3JpcHRpb24g
PSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIE5vZGUqIGJyZWFrcG9pbnRPd25lciA9
IHRhcmdldDsKKyAgICBpZiAoKDEgPDwgYnJlYWtwb2ludFR5cGUpICYgaW5oZXJpdGFibGVET01C
cmVha3BvaW50VHlwZXNNYXNrKSB7CisgICAgICAgIC8vIEZvciBpbmhlcml0YWJsZSBicmVha3Bv
aW50IHR5cGVzLCB0YXJnZXQgbm9kZSBpc24ndCBhbHdheXMgdGhlIHNhbWUgYXMgdGhlIG5vZGUg
dGhhdCBvd25zIGEgYnJlYWtwb2ludC4KKyAgICAgICAgLy8gVGFyZ2V0IG5vZGUgbWF5IGJlIHVu
a25vd24gdG8gZnJvbnRlbmQsIHNvIHdlIG5lZWQgdG8gcHVzaCBpdCBmaXJzdC4KKyAgICAgICAg
bG9uZyB0YXJnZXROb2RlSWQgPSBwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKHRhcmdldCk7CisgICAg
ICAgIEFTU0VSVCh0YXJnZXROb2RlSWQpOworICAgICAgICBkZXNjcmlwdGlvbi0+c2V0TnVtYmVy
KCJ0YXJnZXROb2RlSWQiLCB0YXJnZXROb2RlSWQpOworCisgICAgICAgIC8vIEZpbmQgYnJlYWtw
b2ludCBvd25lciBub2RlLgorICAgICAgICBpZiAoIWluc2VydGlvbikKKyAgICAgICAgICAgIGJy
ZWFrcG9pbnRPd25lciA9IGlubmVyUGFyZW50Tm9kZSh0YXJnZXQpOworICAgICAgICBBU1NFUlQo
YnJlYWtwb2ludE93bmVyKTsKKyAgICAgICAgd2hpbGUgKCEobV9icmVha3BvaW50cy5nZXQoYnJl
YWtwb2ludE93bmVyKSAmICgxIDw8IGJyZWFrcG9pbnRUeXBlKSkpIHsKKyAgICAgICAgICAgIGJy
ZWFrcG9pbnRPd25lciA9IGlubmVyUGFyZW50Tm9kZShicmVha3BvaW50T3duZXIpOworICAgICAg
ICAgICAgQVNTRVJUKGJyZWFrcG9pbnRPd25lcik7CisgICAgICAgIH0KKworICAgICAgICBpZiAo
YnJlYWtwb2ludFR5cGUgPT0gU3VidHJlZU1vZGlmaWVkKQorICAgICAgICAgICAgZGVzY3JpcHRp
b24tPnNldEJvb2xlYW4oImluc2VydGlvbiIsIGluc2VydGlvbik7CisgICAgfQorCisgICAgbG9u
ZyBicmVha3BvaW50T3duZXJOb2RlSWQgPSBtX2RvY3VtZW50Tm9kZVRvSWRNYXAuZ2V0KGJyZWFr
cG9pbnRPd25lcik7CisgICAgQVNTRVJUKGJyZWFrcG9pbnRPd25lck5vZGVJZCk7CisKKyAgICBS
ZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBicmVha3BvaW50ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVh
dGUoKTsKKyAgICBicmVha3BvaW50LT5zZXROdW1iZXIoIm5vZGVJZCIsIGJyZWFrcG9pbnRPd25l
ck5vZGVJZCk7CisgICAgYnJlYWtwb2ludC0+c2V0TnVtYmVyKCJ0eXBlIiwgYnJlYWtwb2ludFR5
cGUpOworICAgIGRlc2NyaXB0aW9uLT5zZXRPYmplY3QoImJyZWFrcG9pbnQiLCBicmVha3BvaW50
KTsKKworICAgIHJldHVybiBkZXNjcmlwdGlvbjsKIH0KIAogU3RyaW5nIEluc3BlY3RvckRPTUFn
ZW50Ojpkb2N1bWVudFVSTFN0cmluZyhEb2N1bWVudCogZG9jdW1lbnQpIGNvbnN0CkBAIC0xMDg3
LDIzICsxMTE5LDYgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkTW9kaWZ5RE9NQXR0cihF
bGVtZW50KiBlbGVtZW50KQogICAgIG1fZnJvbnRlbmQtPmF0dHJpYnV0ZXNVcGRhdGVkKGlkLCBi
dWlsZEFycmF5Rm9yRWxlbWVudEF0dHJpYnV0ZXMoZWxlbWVudCkpOwogfQogCi1QYXNzUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4gSW5zcGVjdG9yRE9NQWdlbnQ6OmNyZWF0ZUJyZWFrcG9pbnQoTm9k
ZSogbm9kZSwgbG9uZyB0eXBlKQotewotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGJyZWFr
cG9pbnQgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwotCi0gICAgLy8gRmluZCBicmVha3Bv
aW50IG93bmVyLgotICAgIHdoaWxlICghKG1fYnJlYWtwb2ludHMuZ2V0KG5vZGUpICYgKDEgPDwg
dHlwZSkpKSB7Ci0gICAgICAgIG5vZGUgPSBpbm5lclBhcmVudE5vZGUobm9kZSk7Ci0gICAgICAg
IEFTU0VSVChub2RlKTsKLSAgICB9Ci0gICAgbG9uZyBub2RlSWQgPSBtX2RvY3VtZW50Tm9kZVRv
SWRNYXAuZ2V0KG5vZGUpOwotICAgIEFTU0VSVChub2RlSWQpOwotCi0gICAgYnJlYWtwb2ludC0+
c2V0TnVtYmVyKCJub2RlSWQiLCBub2RlSWQpOwotICAgIGJyZWFrcG9pbnQtPnNldE51bWJlcigi
dHlwZSIsIHR5cGUpOwotICAgIHJldHVybiBicmVha3BvaW50LnJlbGVhc2UoKTsKLX0KLQogYm9v
bCBJbnNwZWN0b3JET01BZ2VudDo6aGFzQnJlYWtwb2ludChOb2RlKiBub2RlLCBsb25nIHR5cGUp
CiB7CiAgICAgdWludDMyX3Qgcm9vdEJpdCA9IDEgPDwgdHlwZTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5oCmluZGV4IDk3NTFlOGUuLmNhMmViOTQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMTYyLDggKzE2Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgYm9vbCBwdXNoRG9jdW1lbnRUb0Zyb250ZW5kKCk7CiAKICAgICAgICAgYm9v
bCBoYXNCcmVha3BvaW50KE5vZGUqIG5vZGUsIGxvbmcgdHlwZSk7Ci0gICAgICAgIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGVCcmVha3BvaW50KE5vZGUqIG5vZGUsIGxvbmcgdHlw
ZSk7CiAgICAgICAgIHZvaWQgdXBkYXRlU3VidHJlZUJyZWFrcG9pbnRzKE5vZGUqIHJvb3QsIHVp
bnQzMl90IHJvb3RNYXNrLCBib29sIHZhbHVlKTsKKyAgICAgICAgUGFzc1JlZlB0cjxJbnNwZWN0
b3JWYWx1ZT4gZGVzY3JpcHRpb25Gb3JET01FdmVudChOb2RlKiB0YXJnZXQsIGxvbmcgYnJlYWtw
b2ludFR5cGUsIGJvb2wgaW5zZXJ0aW9uKTsKIAogICAgICAgICBQYXNzUmVmUHRyPEluc3BlY3Rv
ck9iamVjdD4gYnVpbGRPYmplY3RGb3JBdHRyaWJ1dGVTdHlsZXMoRWxlbWVudCogZWxlbWVudCk7
CiAgICAgICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGJ1aWxkQXJyYXlGb3JDU1NSdWxl
cyhEb2N1bWVudCogb3duZXJEb2N1bWVudCwgQ1NTUnVsZUxpc3QqKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggYTExMTE5Ny4uMzg3NWJlMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTI5
Myw3ICsyOTMsNyBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRpZFBhdXNlKFNjcmlw
dFN0YXRlKiBzY3JpcHRTdGF0ZSkKICAgICBtX3BhdXNlZFNjcmlwdFN0YXRlID0gc2NyaXB0U3Rh
dGU7CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGV0YWlscyA9IEluc3BlY3Rvck9iamVj
dDo6Y3JlYXRlKCk7CiAgICAgZGV0YWlscy0+c2V0VmFsdWUoImNhbGxGcmFtZXMiLCBjdXJyZW50
Q2FsbEZyYW1lcygpKTsKLSAgICBkZXRhaWxzLT5zZXRWYWx1ZSgicmVhc29uIiwgbV9icmVha1By
b2dyYW1SZWFzb24pOworICAgIGRldGFpbHMtPnNldFZhbHVlKCJzdGF0dXMiLCBtX2JyZWFrUHJv
Z3JhbVJlYXNvbik7CiAgICAgbV9mcm9udGVuZC0+cGF1c2VkU2NyaXB0KGRldGFpbHMpOwogfQog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJh
clBhbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBh
bmUuanMKaW5kZXggNjBlZWUzNC4uNWI1MGFjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcwpAQCAtODMsNiArODMsNTIgQEAg
V2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAg
fQogICAgIH0sCiAKKyAgICB1cGRhdGVTdGF0dXM6ICBmdW5jdGlvbihzdGF0dXMpCisgICAgewor
ICAgICAgICB2YXIgYnJlYWtwb2ludE93bmVyTm9kZSA9IFdlYkluc3BlY3Rvci5kb21BZ2VudC5u
b2RlRm9ySWQoc3RhdHVzLmJyZWFrcG9pbnQubm9kZUlkKTsKKyAgICAgICAgdmFyIGJyZWFrcG9p
bnRPd25lckxpbmsgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLmxpbmtpZnlOb2RlUmVm
ZXJlbmNlKGJyZWFrcG9pbnRPd25lck5vZGUpOworICAgICAgICB2YXIgYnJlYWtwb2ludFR5cGUg
PSBzdGF0dXMuYnJlYWtwb2ludC50eXBlOworICAgICAgICB2YXIgYnJlYWtwb2ludFR5cGVMYWJl
bCA9IFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50LmxhYmVsRm9yVHlwZShicmVha3BvaW50VHlw
ZSk7CisKKyAgICAgICAgdmFyIGZvcm1hdCwgc3Vic3RpdHV0aW9uczsKKyAgICAgICAgaWYgKGJy
ZWFrcG9pbnRUeXBlID09PSBXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBlcy5TdWJ0cmVl
TW9kaWZpZWQpIHsKKyAgICAgICAgICAgIHZhciB0YXJnZXROb2RlID0gV2ViSW5zcGVjdG9yLmRv
bUFnZW50Lm5vZGVGb3JJZChzdGF0dXMudGFyZ2V0Tm9kZUlkKTsKKyAgICAgICAgICAgIHZhciB0
YXJnZXROb2RlTGluayA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMubGlua2lmeU5vZGVS
ZWZlcmVuY2UodGFyZ2V0Tm9kZSk7CisgICAgICAgICAgICBpZiAoc3RhdHVzLmluc2VydGlvbikg
eworICAgICAgICAgICAgICAgIGlmIChzdGF0dXMudGFyZ2V0Tm9kZUlkICE9PSBzdGF0dXMuYnJl
YWtwb2ludC5ub2RlSWQpIHsKKyAgICAgICAgICAgICAgICAgICAgZm9ybWF0ID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJQYXVzZWQgb24gYSBcIiVzXCIgYnJlYWtwb2ludCBzZXQgb24gJXMsIGJl
Y2F1c2UgYSBuZXcgY2hpbGQgd2FzIGFkZGVkIHRvIGl0cyBkZXNjZW5kYW50ICVzLiIpOworICAg
ICAgICAgICAgICAgICAgICBzdWJzdGl0dXRpb25zID0gW2JyZWFrcG9pbnRUeXBlTGFiZWwsIGJy
ZWFrcG9pbnRPd25lckxpbmssIHRhcmdldE5vZGVMaW5rXTsKKyAgICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBmb3JtYXQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlBhdXNlZCBvbiBhIFwiJXNcIiBicmVha3BvaW50IHNldCBvbiAlcywgYmVjYXVzZSBhIG5ldyBj
aGlsZCB3YXMgYWRkZWQgdG8gdGhhdCBub2RlLiIpOworICAgICAgICAgICAgICAgICAgICBzdWJz
dGl0dXRpb25zID0gW2JyZWFrcG9pbnRUeXBlTGFiZWwsIGJyZWFrcG9pbnRPd25lckxpbmtdOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
Zm9ybWF0ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXVzZWQgb24gYSBcIiVzXCIgYnJlYWtw
b2ludCBzZXQgb24gJXMsIGJlY2F1c2UgaXRzIGRlc2NlbmRhbnQgJXMgd2FzIHJlbW92ZWQuIik7
CisgICAgICAgICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFticmVha3BvaW50VHlwZUxhYmVsLCBi
cmVha3BvaW50T3duZXJMaW5rLCB0YXJnZXROb2RlTGlua107CisgICAgICAgICAgICB9CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3JtYXQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlBhdXNlZCBvbiBhIFwiJXNcIiBicmVha3BvaW50IHNldCBvbiAlcy4iKTsKKyAgICAgICAgICAg
IHN1YnN0aXR1dGlvbnMgPSBbYnJlYWtwb2ludFR5cGVMYWJlbCwgYnJlYWtwb2ludE93bmVyTGlu
a107CisgICAgICAgIH0KKworICAgICAgICB2YXIgc3RhdHVzRWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBzdGF0dXNFbGVtZW50LmNsYXNzTmFtZSA9ICJp
bmZvIjsKKyAgICAgICAgdmFyIGZvcm1hdHRlcnMgPSB7CisgICAgICAgICAgICBzOiBmdW5jdGlv
bihzdWJzdGl0dXRpb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN1
YnN0aXR1dGlvbjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgZnVuY3Rpb24g
YXBwZW5kKGEsIGIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh0eXBlb2YgYiA9PT0gInN0
cmluZyIpCisgICAgICAgICAgICAgICAgYiA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGIpOwor
ICAgICAgICAgICAgc3RhdHVzRWxlbWVudC5hcHBlbmRDaGlsZChiKTsKKyAgICAgICAgfQorICAg
ICAgICBTdHJpbmcuZm9ybWF0KGZvcm1hdCwgc3Vic3RpdHV0aW9ucywgZm9ybWF0dGVycywgIiIs
IGFwcGVuZCk7CisgICAgICAgIHRoaXMuYm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc3RhdHVzRWxl
bWVudCk7CisgICAgfSwKKwogICAgIGdldCBzZWxlY3RlZENhbGxGcmFtZSgpCiAgICAgewogICAg
ICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRDYWxsRnJhbWU7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwppbmRleCBjNTI2N2Y3Li43MTUzMzlkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKQEAgLTM3NSw3ICszNzUs
NyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgSW5q
ZWN0ZWRTY3JpcHRBY2Nlc3MuZ2V0KGNhbGxGcmFtZS53b3JsZElkKS5ldmFsdWF0ZUluQ2FsbEZy
YW1lKGNhbGxGcmFtZS5pZCwgY29kZSwgb2JqZWN0R3JvdXAsIGV2YWxDYWxsYmFjayk7CiAgICAg
fSwKIAotICAgIGRlYnVnZ2VyUGF1c2VkOiBmdW5jdGlvbihjYWxsRnJhbWVzKQorICAgIGRlYnVn
Z2VyUGF1c2VkOiBmdW5jdGlvbihkZXRhaWxzKQogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9y
LmJyZWFrcG9pbnRNYW5hZ2VyLnJlbW92ZU9uZVRpbWVCcmVha3BvaW50KCk7CiAgICAgICAgIHRo
aXMuX3BhdXNlZCA9IHRydWU7CkBAIC0zODQsOCArMzg0LDExIEBAIFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMuX3VwZGF0ZURlYnVnZ2VyQnV0
dG9ucygpOwogCi0gICAgICAgIHRoaXMuc2lkZWJhclBhbmVzLmNhbGxzdGFjay51cGRhdGUoY2Fs
bEZyYW1lcywgdGhpcy5fc291cmNlSURNYXApOwotICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5j
YWxsc3RhY2suc2VsZWN0ZWRDYWxsRnJhbWUgPSBjYWxsRnJhbWVzWzBdOworICAgICAgICB0aGlz
LnNpZGViYXJQYW5lcy5jYWxsc3RhY2sudXBkYXRlKGRldGFpbHMuY2FsbEZyYW1lcywgdGhpcy5f
c291cmNlSURNYXApOworICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5jYWxsc3RhY2suc2VsZWN0
ZWRDYWxsRnJhbWUgPSBkZXRhaWxzLmNhbGxGcmFtZXNbMF07CisKKyAgICAgICAgaWYgKGRldGFp
bHMuc3RhdHVzKQorICAgICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnVwZGF0
ZVN0YXR1cyhkZXRhaWxzLnN0YXR1cyk7CiAKICAgICAgICAgV2ViSW5zcGVjdG9yLmN1cnJlbnRQ
YW5lbCA9IHRoaXM7CiAgICAgICAgIHdpbmRvdy5mb2N1cygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCA0MzE5ODE2Li5hMjQ0MzFhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMTY5Myw2ICsxNjkzLDEwIEBA
IGxpLmVkaXRpbmcgLnN3YXRjaCwgbGkuZWRpdGluZyAuZW5hYmxlZC1idXR0b24sICBsaS5lZGl0
aW5nLXN1Yi1wYXJ0IC5kZWxldGUtYnV0CiAgICAgY29sb3I6IGdyYXk7CiB9CiAKKy5wYW5lID4g
LmJvZHkgLnBsYWNhcmQgKyAuaW5mbyB7CisgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGdyYXkK
K30KKwogLnBhbmUuZXhwYW5kZWQgPiAuYm9keSwgLnBhbmUuZXhwYW5kZWQgPiAuZ3Jvd2JhciB7
CiAgICAgZGlzcGxheTogYmxvY2s7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5qcwppbmRleCA0YzM4YTVhLi42MmUyZTMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuanMKQEAgLTE0NTcsNyArMTQ1Nyw3IEBAIFdlYkluc3BlY3Rvci5mYWls
ZWRUb1BhcnNlU2NyaXB0U291cmNlID0gZnVuY3Rpb24oc291cmNlVVJMLCBzb3VyY2UsIHN0YXJ0
aW5nTGluCiAKIFdlYkluc3BlY3Rvci5wYXVzZWRTY3JpcHQgPSBmdW5jdGlvbihkZXRhaWxzKQog
ewotICAgIHRoaXMucGFuZWxzLnNjcmlwdHMuZGVidWdnZXJQYXVzZWQoZGV0YWlscy5jYWxsRnJh
bWVzKTsKKyAgICB0aGlzLnBhbmVscy5zY3JpcHRzLmRlYnVnZ2VyUGF1c2VkKGRldGFpbHMpOwog
ICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5icmluZ1RvRnJvbnQoKTsKIH0KIAo=
</data>
<flag name="review"
          id="56667"
          type_id="1"
          status="-"
          setter="yurys"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67567</attachid>
            <date>2010-09-14 09:51:54 -0700</date>
            <delta_ts>2010-09-17 02:56:32 -0700</delta_ts>
            <desc>All comments addressed.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>29911</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MGYwMGMyLi4xMzlmMmNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDkt
MTQgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjogc2hv
dyBzdGF0dXMgbWVzc2FnZSBiZWxvdyBjYWxsIHN0YWNrIHdoZW4gZGVidWdnZXIgaXMgcGF1c2Vk
IG9uIERPTSBicmVha3BvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NTExNAorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVj
dG9yLXRlc3QyLmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9JbnNwZWN0b3JUZXN0Lkluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCk6CisgICAgICAgIChpbml0aWFsaXplX0lu
c3BlY3RvclRlc3QuSW5zcGVjdG9yVGVzdC5maW5kRE9NTm9kZS5maW5kRE9NTm9kZS5wcm9jZXNz
Q2hpbGRyZW4pOgorICAgICAgICAoaW5pdGlhbGl6ZV9JbnNwZWN0b3JUZXN0Lkluc3BlY3RvclRl
c3QuZmluZERPTU5vZGUuZmluZERPTU5vZGUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9JbnNwZWN0
b3JUZXN0Lkluc3BlY3RvclRlc3QuZmluZERPTU5vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9k
b20tYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9kb20tYnJl
YWtwb2ludHMuaHRtbDoKKwogMjAxMC0wOS0xNCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIu
anMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMK
aW5kZXggZWEyYzJjMC4uZjU1MDdmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Mi5qcwpAQCAtMjcsNiArMjcsMTEgQEAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSA9IGZ1bmN0aW9uKGNvZGUsIGNhbGxiYWNrKQogICAgIElu
amVjdGVkU2NyaXB0QWNjZXNzLmdldERlZmF1bHQoKS5ldmFsdWF0ZShjb2RlLCAiY29uc29sZSIs
IGNhbGxiYWNrIHx8IGZ1bmN0aW9uKCkge30pOwogfTsKIAorSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZVdpdGhUaW1lb3V0ID0gZnVuY3Rpb24oY29kZSwgY2FsbGJhY2spCit7CisgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgic2V0VGltZW91dCh1bmVzY2FwZSgnIiArIGVzY2Fw
ZShjb2RlKSArICInKSkiLCBjYWxsYmFjayk7Cit9OworCiBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCA9IGZ1bmN0aW9uKHRleHQpCiB7CiAgICAgcmVzdWx0cy5wdXNoKHRleHQpOwpAQCAtMTA2LDcg
KzExMSw3IEBAIEluc3BlY3RvclRlc3QuZGlzYWJsZVJlc291cmNlVHJhY2tpbmcgPSBmdW5jdGlv
bigpCiBJbnNwZWN0b3JUZXN0LmZpbmRET01Ob2RlID0gZnVuY3Rpb24ocm9vdCwgZmlsdGVyLCBj
YWxsYmFjaykKIHsKICAgICB2YXIgZm91bmQgPSBmYWxzZTsKLSAgICB2YXIgcGVuZGluZ0NhbGxz
ID0gMDsKKyAgICB2YXIgcGVuZGluZ0NhbGxzID0gMTsKIAogICAgIGlmIChyb290KQogICAgICAg
ICBmaW5kRE9NTm9kZShyb290KTsKQEAgLTEyNywyMCArMTMyLDE5IEBAIEluc3BlY3RvclRlc3Qu
ZmluZERPTU5vZGUgPSBmdW5jdGlvbihyb290LCBmaWx0ZXIsIGNhbGxiYWNrKQogICAgICAgICBp
ZiAoZmlsdGVyKG5vZGUpKSB7CiAgICAgICAgICAgICBjYWxsYmFjayhub2RlKTsKICAgICAgICAg
ICAgIGZvdW5kID0gdHJ1ZTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHBlbmRpbmdD
YWxscyArPSAxOworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21B
Z2VudC5nZXRDaGlsZE5vZGVzQXN5bmMobm9kZSwgcHJvY2Vzc0NoaWxkcmVuKTsKLSAgICAgICAg
fQorCisgICAgICAgIC0tcGVuZGluZ0NhbGxzOworCisgICAgICAgIGlmICghZm91bmQgJiYgIXBl
bmRpbmdDYWxscykKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZmluZERPTU5vZGUuYmluZChudWxs
LCByb290KSwgMCk7CiAKICAgICAgICAgZnVuY3Rpb24gcHJvY2Vzc0NoaWxkcmVuKGNoaWxkcmVu
KQogICAgICAgICB7Ci0gICAgICAgICAgICBwZW5kaW5nQ2FsbHMgLT0gMTsKLQorICAgICAgICAg
ICAgcGVuZGluZ0NhbGxzICs9IGNoaWxkcmVuID8gY2hpbGRyZW4ubGVuZ3RoIDogMDsKICAgICAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyAhZm91bmQgJiYgY2hpbGRyZW4gJiYgaSA8IGNoaWxkcmVu
Lmxlbmd0aDsgKytpKQogICAgICAgICAgICAgICAgIGZpbmRET01Ob2RlKGNoaWxkcmVuW2ldKTsK
LQotICAgICAgICAgICAgaWYgKCFmb3VuZCAmJiAhcGVuZGluZ0NhbGxzICYmIG5vZGUgPT0gcm9v
dCkKLSAgICAgICAgICAgICAgICBjYWxsYmFjayhudWxsKTsKICAgICAgICAgfQogICAgIH0KIH07
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tYnJlYWtwb2ludHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDJkODc1ZWMuLjYzNmUwZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kb20tYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kb20tYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMwICsxLDU5IEBACiBUZXN0
cyBET00gYnJlYWtwb2ludHMuIEJ1ZyA0Mjg4NgogCiBEZWJ1Z2dlciB3YXMgZW5hYmxlZC4KLVRl
c3QgdGhhdCAnU3VidHJlZSBNb2RpZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiBhcHBlbmRp
bmcgY2hpbGQuCi1TZXQgc3VidHJlZSBtb2RpZmllZCBET00gYnJlYWtwb2ludCBvbiBkMC4KLUFw
cGVuZCBkMSB0byBkMC4KK1Rlc3QgdGhhdCAnU3VidHJlZSBNb2RpZmllZCcgYnJlYWtwb2ludCBp
cyBoaXQgd2hlbiBhcHBlbmRpbmcgYSBjaGlsZC4KK1NldCAnU3VidHJlZSBNb2RpZmllZCcgRE9N
IGJyZWFrcG9pbnQgb24gcm9vdEVsZW1lbnQuCitBcHBlbmQgY2hpbGRFbGVtZW50IHRvIHJvb3RF
bGVtZW50LgogU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1saW5lOiAxMSwgZnVuY3Rpb246IGFw
cGVuZEVsZW1lbnQKK0NhbGwgc3RhY2s6CisgICAgMCkgYXBwZW5kRWxlbWVudCAoZG9tLWJyZWFr
cG9pbnRzLmh0bWw6MTEpCisgICAgMSkgICg6MSkKK1BhdXNlZCBvbiBhICJTdWJ0cmVlIE1vZGlm
aWVkIiBicmVha3BvaW50IHNldCBvbiBkaXYjcm9vdEVsZW1lbnQsIGJlY2F1c2UgYSBuZXcgY2hp
bGQgd2FzIGFkZGVkIHRvIHRoYXQgbm9kZS4KK1NjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KK1Rl
c3QgdGhhdCAnU3VidHJlZSBNb2RpZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiBhcHBlbmRp
bmcgYSBncmFuZGNoaWxkLgorQXBwZW5kIGdyYW5kY2hpbGRFbGVtZW50IHRvIGNoaWxkRWxlbWVu
dC4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorQ2FsbCBzdGFjazoKKyAgICAwKSBhcHBlbmRF
bGVtZW50IChkb20tYnJlYWtwb2ludHMuaHRtbDoxMSkKKyAgICAxKSAgKDoxKQorUGF1c2VkIG9u
IGEgIlN1YnRyZWUgTW9kaWZpZWQiIGJyZWFrcG9pbnQgc2V0IG9uIGRpdiNyb290RWxlbWVudCwg
YmVjYXVzZSBhIG5ldyBjaGlsZCB3YXMgYWRkZWQgdG8gaXRzIGRlc2NlbmRhbnQgZGl2I2NoaWxk
RWxlbWVudC4KK1NjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KK1Rlc3QgdGhhdCAnU3VidHJlZSBN
b2RpZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiByZW1vdmluZyBhIGNoaWxkLgorUmVtb3Zl
IGdyYW5kY2hpbGRFbGVtZW50LgorU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCitDYWxsIHN0YWNr
OgorICAgIDApIHJlbW92ZUVsZW1lbnQgKGRvbS1icmVha3BvaW50cy5odG1sOjIzKQorICAgIDEp
ICAoOjEpCitQYXVzZWQgb24gYSAiU3VidHJlZSBNb2RpZmllZCIgYnJlYWtwb2ludCBzZXQgb24g
ZGl2I3Jvb3RFbGVtZW50LCBiZWNhdXNlIGl0cyBkZXNjZW5kYW50IGRpdiNncmFuZGNoaWxkRWxl
bWVudCB3YXMgcmVtb3ZlZC4KIFNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KIFRlc3QgdGhhdCAn
QXR0cmlidXRlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIG1vZGlmeWluZyBhdHRy
aWJ1dGUuCi1TZXQgYXR0cmlidXRlIG1vZGlmaWVkIERPTSBicmVha3BvaW50IG9uIGQxLgotTW9k
aWZ5IGQxIGNsYXNzTmFtZS4KK1NldCAnQXR0cmlidXRlIE1vZGlmaWVkJyBET00gYnJlYWtwb2lu
dCBvbiByb290RWxlbWVudC4KK01vZGlmeSByb290RWxlbWVudCBjbGFzc05hbWUuCiBTY3JpcHQg
ZXhlY3V0aW9uIHBhdXNlZC4KLWxpbmU6IDE3LCBmdW5jdGlvbjogbW9kaWZ5QXR0cmlidXRlCitD
YWxsIHN0YWNrOgorICAgIDApIG1vZGlmeUF0dHJpYnV0ZSAoZG9tLWJyZWFrcG9pbnRzLmh0bWw6
MTcpCisgICAgMSkgICg6MSkKK1BhdXNlZCBvbiBhICJBdHRyaWJ1dGUgTW9kaWZpZWQiIGJyZWFr
cG9pbnQgc2V0IG9uIGRpdiNyb290RWxlbWVudC4KIFNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4K
IFRlc3QgdGhhdCAnTm9kZSBSZW1vdmVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIHJlbW92aW5n
IGEgbm9kZS4KLVNldCBub2RlIHJlbW92ZWQgRE9NIGJyZWFrcG9pbnQgb24gZDEuCi1SZW1vdmUg
ZDEuCitBcHBlbmQgZWxlbWVudFRvUmVtb3ZlIHRvIHJvb3RFbGVtZW50LgorU2V0ICdOb2RlIFJl
bW92ZWQnIERPTSBicmVha3BvaW50IG9uIGVsZW1lbnRUb1JlbW92ZS4KK1JlbW92ZSBlbGVtZW50
VG9SZW1vdmUuCiBTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLWxpbmU6IDIzLCBmdW5jdGlvbjog
cmVtb3ZlRWxlbWVudAorQ2FsbCBzdGFjazoKKyAgICAwKSByZW1vdmVFbGVtZW50IChkb20tYnJl
YWtwb2ludHMuaHRtbDoyMykKKyAgICAxKSAgKDoxKQorUGF1c2VkIG9uIGEgIk5vZGUgUmVtb3Zl
ZCIgYnJlYWtwb2ludCBzZXQgb24gZGl2I2VsZW1lbnRUb1JlbW92ZS4KIFNjcmlwdCBleGVjdXRp
b24gcmVzdW1lZC4KIFRlc3QgdGhhdCBET00gYnJlYWtwb2ludHMgYXJlIHBlcnNpc3RlZCBiZXR3
ZWVuIHBhZ2UgcmVsb2Fkcy4KLVNldCBzdWJ0cmVlIG1vZGlmaWVkIERPTSBicmVha3BvaW50IG9u
IGQwLgorU2V0ICdTdWJ0cmVlIE1vZGlmaWVkJyBET00gYnJlYWtwb2ludCBvbiByb290RWxlbWVu
dC4KIFBhZ2UgcmVsb2FkZWQuCi1BcHBlbmQgZDEgdG8gZDAuCitBcHBlbmQgY2hpbGRFbGVtZW50
IHRvIHJvb3RFbGVtZW50LgogU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1saW5lOiAxMSwgZnVu
Y3Rpb246IGFwcGVuZEVsZW1lbnQKK0NhbGwgc3RhY2s6CisgICAgMCkgYXBwZW5kRWxlbWVudCAo
ZG9tLWJyZWFrcG9pbnRzLmh0bWw6MTEpCisgICAgMSkgICg6MSkKK1BhdXNlZCBvbiBhICJTdWJ0
cmVlIE1vZGlmaWVkIiBicmVha3BvaW50IHNldCBvbiBkaXYjcm9vdEVsZW1lbnQsIGJlY2F1c2Ug
YSBuZXcgY2hpbGQgd2FzIGFkZGVkIHRvIHRoYXQgbm9kZS4KIFNjcmlwdCBleGVjdXRpb24gcmVz
dW1lZC4KIERlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rv
bS1icmVha3BvaW50cy5odG1sCmluZGV4IDc2MjVhNDcuLmI2NmExNTEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kb20tYnJlYWtwb2ludHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLmh0bWwKQEAgLTI1LDg1ICsyNSwxMjcgQEAgZnVu
Y3Rpb24gcmVtb3ZlRWxlbWVudChlbGVtZW50SWQpCiAKIHZhciB0ZXN0ID0gZnVuY3Rpb24oKQog
ewotICAgIEluc3BlY3RvclRlc3Quc3RhcnREZWJ1Z2dlclRlc3Qoc3RlcDEpOwotCi0gICAgdmFy
IGQwLCBkMTsKKyAgICB0ZXN0SW5zZXJ0Q2hpbGQgPSB7fTsKKyAgICB0ZXN0SW5zZXJ0Q2hpbGQu
c3RlcDEgPSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIGFw
cGVuZGluZyBhIGNoaWxkLiIpOworICAgICAgICBmaW5kRE9NTm9kZUJ5SWQoInJvb3RFbGVtZW50
IiwgdGVzdEluc2VydENoaWxkLnN0ZXAyKTsKKyAgICB9OworICAgIHRlc3RJbnNlcnRDaGlsZC5z
dGVwMiA9IGZ1bmN0aW9uKG5vZGUpCisgICAgeworICAgICAgICBub2RlLnNldEJyZWFrcG9pbnQo
V2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuU3VidHJlZU1vZGlmaWVkKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNldCAnU3VidHJlZSBNb2RpZmllZCcgRE9NIGJy
ZWFrcG9pbnQgb24gcm9vdEVsZW1lbnQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2VXaXRoVGltZW91dCgiYXBwZW5kRWxlbWVudCgncm9vdEVsZW1lbnQnLCAnY2hpbGRF
bGVtZW50JykiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFwcGVuZCBjaGls
ZEVsZW1lbnQgdG8gcm9vdEVsZW1lbnQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVu
dGlsUGF1c2VkKHRlc3RJbnNlcnRDaGlsZC5zdGVwMyk7CisgICAgfTsKKyAgICB0ZXN0SW5zZXJ0
Q2hpbGQuc3RlcDMgPSBmdW5jdGlvbihjYWxsRnJhbWVzKQorICAgIHsKKyAgICAgICAgZHVtcFN0
YXR1cyhjYWxsRnJhbWVzKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24o
dGVzdEluc2VydEdyYW5kY2hpbGQuc3RlcDEpOworICAgIH07CiAKLSAgICBmdW5jdGlvbiBzdGVw
MSgpCisgICAgdmFyIHRlc3RJbnNlcnRHcmFuZGNoaWxkID0ge307CisgICAgdGVzdEluc2VydEdy
YW5kY2hpbGQuc3RlcDEgPSBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBmaW5kRE9NTm9kZUJ5
SWQoImQwIiwgc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGVzdCB0
aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGluZyBh
IGdyYW5kY2hpbGQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRo
VGltZW91dCgiYXBwZW5kRWxlbWVudCgnY2hpbGRFbGVtZW50JywgJ2dyYW5kY2hpbGRFbGVtZW50
JykiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFwcGVuZCBncmFuZGNoaWxk
RWxlbWVudCB0byBjaGlsZEVsZW1lbnQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVu
dGlsUGF1c2VkKHRlc3RJbnNlcnRHcmFuZGNoaWxkLnN0ZXAyKTsKICAgICB9Ci0KLSAgICBmdW5j
dGlvbiBzdGVwMihub2RlKQorICAgIHRlc3RJbnNlcnRHcmFuZGNoaWxkLnN0ZXAyID0gZnVuY3Rp
b24oY2FsbEZyYW1lcykKICAgICB7Ci0gICAgICAgIGQwID0gbm9kZTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlRlc3QgdGhhdCAnU3VidHJlZSBNb2RpZmllZCcgYnJlYWtwb2lu
dCBpcyBoaXQgd2hlbiBhcHBlbmRpbmcgY2hpbGQuIik7Ci0gICAgICAgIGQwLnNldEJyZWFrcG9p
bnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuU3VidHJlZU1vZGlmaWVkKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNldCBzdWJ0cmVlIG1vZGlmaWVkIERPTSBi
cmVha3BvaW50IG9uIGQwLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25z
b2xlKCJhcHBlbmRFbGVtZW50KCdkMCcsICdkMScpIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJBcHBlbmQgZDEgdG8gZDAuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qud2Fp
dFVudGlsUGF1c2VkKHN0ZXAzKTsKKyAgICAgICAgZHVtcFN0YXR1cyhjYWxsRnJhbWVzKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24odGVzdFJlbW92ZUNoaWxkLnN0ZXAx
KTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBzdGVwMyhjYWxsRnJhbWVzKQorICAgIHZhciB0ZXN0
UmVtb3ZlQ2hpbGQgPSB7fTsKKyAgICB0ZXN0UmVtb3ZlQ2hpbGQuc3RlcDEgPSBmdW5jdGlvbigp
CiAgICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgibGluZTogIiArIGNhbGxG
cmFtZXNbMF0ubGluZSArICIsIGZ1bmN0aW9uOiAiICsgY2FsbEZyYW1lc1swXS5mdW5jdGlvbk5h
bWUpOwotICAgICAgICBkMC5yZW1vdmVCcmVha3BvaW50KFdlYkluc3BlY3Rvci5ET01CcmVha3Bv
aW50LlR5cGVzLlN1YnRyZWVNb2RpZmllZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QucmVzdW1l
RXhlY3V0aW9uKGZpbmRET01Ob2RlQnlJZC5iaW5kKG51bGwsICJkMSIsIHN0ZXA0KSk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0IHRoYXQgJ1N1YnRyZWUgTW9kaWZpZWQn
IGJyZWFrcG9pbnQgaXMgaGl0IHdoZW4gcmVtb3ZpbmcgYSBjaGlsZC4iKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJyZW1vdmVFbGVtZW50KCdncmFu
ZGNoaWxkRWxlbWVudCcpIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZW1v
dmUgZ3JhbmRjaGlsZEVsZW1lbnQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGls
UGF1c2VkKHRlc3RSZW1vdmVDaGlsZC5zdGVwMik7CisKKyAgICB9CisgICAgdGVzdFJlbW92ZUNo
aWxkLnN0ZXAyID0gZnVuY3Rpb24oY2FsbEZyYW1lcykKKyAgICB7CisgICAgICAgIGR1bXBTdGF0
dXMoY2FsbEZyYW1lcyk7CisgICAgICAgIGZpbmRET01Ob2RlQnlJZCgicm9vdEVsZW1lbnQiLCB0
ZXN0UmVtb3ZlQ2hpbGQuc3RlcDMpOworICAgIH0KKyAgICB0ZXN0UmVtb3ZlQ2hpbGQuc3RlcDMg
PSBmdW5jdGlvbihub2RlKQorICAgIHsKKyAgICAgICAgbm9kZS5yZW1vdmVCcmVha3BvaW50KFdl
Ykluc3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVzLlN1YnRyZWVNb2RpZmllZCk7CisgICAgICAg
IEluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKHRlc3RNb2RpZnlBdHRyaWJ1dGUuc3RlcDEp
OwogICAgIH0KIAotICAgIGZ1bmN0aW9uIHN0ZXA0KG5vZGUpCisgICAgdmFyIHRlc3RNb2RpZnlB
dHRyaWJ1dGUgPSB7fTsKKyAgICB0ZXN0TW9kaWZ5QXR0cmlidXRlLnN0ZXAxID0gZnVuY3Rpb24o
KQogICAgIHsKLSAgICAgICAgZDEgPSBub2RlOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiVGVzdCB0aGF0ICdBdHRyaWJ1dGUgTW9kaWZpZWQnIGJyZWFrcG9pbnQgaXMgaGl0IHdo
ZW4gbW9kaWZ5aW5nIGF0dHJpYnV0ZS4iKTsKLSAgICAgICAgZDEuc2V0QnJlYWtwb2ludChXZWJJ
bnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBlcy5BdHRyaWJ1dGVNb2RpZmllZCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZXQgYXR0cmlidXRlIG1vZGlmaWVkIERPTSBicmVh
a3BvaW50IG9uIGQxLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xl
KCJtb2RpZnlBdHRyaWJ1dGUoJ2QxJywgJ2NsYXNzTmFtZScsICdmb28nKSIpOwotICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTW9kaWZ5IGQxIGNsYXNzTmFtZS4iKTsKLSAgICAgICAg
SW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoc3RlcDUpOworICAgICAgICBmaW5kRE9NTm9k
ZUJ5SWQoInJvb3RFbGVtZW50IiwgdGVzdE1vZGlmeUF0dHJpYnV0ZS5zdGVwMik7CiAgICAgfQot
Ci0gICAgZnVuY3Rpb24gc3RlcDUoY2FsbEZyYW1lcykKKyAgICB0ZXN0TW9kaWZ5QXR0cmlidXRl
LnN0ZXAyID0gZnVuY3Rpb24obm9kZSkKKyAgICB7CisgICAgICAgIG5vZGUuc2V0QnJlYWtwb2lu
dChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBlcy5BdHRyaWJ1dGVNb2RpZmllZCk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZXQgJ0F0dHJpYnV0ZSBNb2RpZmllZCcg
RE9NIGJyZWFrcG9pbnQgb24gcm9vdEVsZW1lbnQuIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgibW9kaWZ5QXR0cmlidXRlKCdyb290RWxlbWVudCcs
ICdjbGFzc05hbWUnLCAnZm9vJykiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
Ik1vZGlmeSByb290RWxlbWVudCBjbGFzc05hbWUuIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
d2FpdFVudGlsUGF1c2VkKHRlc3RNb2RpZnlBdHRyaWJ1dGUuc3RlcDMuYmluZChudWxsLCBub2Rl
KSk7CisgICAgfQorICAgIHRlc3RNb2RpZnlBdHRyaWJ1dGUuc3RlcDMgPSBmdW5jdGlvbihub2Rl
LCBjYWxsRnJhbWVzKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxp
bmU6ICIgKyBjYWxsRnJhbWVzWzBdLmxpbmUgKyAiLCBmdW5jdGlvbjogIiArIGNhbGxGcmFtZXNb
MF0uZnVuY3Rpb25OYW1lKTsKLSAgICAgICAgZDEucmVtb3ZlQnJlYWtwb2ludChXZWJJbnNwZWN0
b3IuRE9NQnJlYWtwb2ludC5UeXBlcy5BdHRyaWJ1dGVNb2RpZmllZCk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKHN0ZXA2KTsKKyAgICAgICAgZHVtcFN0YXR1cyhjYWxs
RnJhbWVzKTsKKyAgICAgICAgbm9kZS5yZW1vdmVCcmVha3BvaW50KFdlYkluc3BlY3Rvci5ET01C
cmVha3BvaW50LlR5cGVzLkF0dHJpYnV0ZU1vZGlmaWVkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5yZXN1bWVFeGVjdXRpb24odGVzdFJlbW92ZU5vZGUuc3RlcDEpOwogICAgIH0KIAotICAgIGZ1
bmN0aW9uIHN0ZXA2KCkKKyAgICB2YXIgdGVzdFJlbW92ZU5vZGUgPSB7fTsKKyAgICB0ZXN0UmVt
b3ZlTm9kZS5zdGVwMSA9IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJUZXN0IHRoYXQgJ05vZGUgUmVtb3ZlZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hl
biByZW1vdmluZyBhIG5vZGUuIik7Ci0gICAgICAgIGQxLnNldEJyZWFrcG9pbnQoV2ViSW5zcGVj
dG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuTm9kZVJlbW92ZWQpOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiU2V0IG5vZGUgcmVtb3ZlZCBET00gYnJlYWtwb2ludCBvbiBkMS4iKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgicmVtb3ZlRWxlbWVudCgn
ZDEnKSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVtb3ZlIGQxLiIpOwot
ICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZChzdGVwNyk7CisgICAgICAgIElu
c3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgiYXBwZW5kRWxlbWVudCgncm9v
dEVsZW1lbnQnLCAnZWxlbWVudFRvUmVtb3ZlJykiLCB0ZXN0UmVtb3ZlTm9kZS5zdGVwMik7CiAg
ICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDcoY2FsbEZyYW1lcykKKyAgICB0ZXN0UmVtb3ZlTm9k
ZS5zdGVwMiA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJBcHBlbmQgZWxlbWVudFRvUmVtb3ZlIHRvIHJvb3RFbGVtZW50LiIpOworICAgICAgICBm
aW5kRE9NTm9kZUJ5SWQoImVsZW1lbnRUb1JlbW92ZSIsIHRlc3RSZW1vdmVOb2RlLnN0ZXAzKTsK
KyAgICB9CisgICAgdGVzdFJlbW92ZU5vZGUuc3RlcDMgPSBmdW5jdGlvbihub2RlKQogICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoImxpbmU6ICIgKyBjYWxsRnJhbWVzWzBd
LmxpbmUgKyAiLCBmdW5jdGlvbjogIiArIGNhbGxGcmFtZXNbMF0uZnVuY3Rpb25OYW1lKTsKLSAg
ICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24oc3RlcDgpOworICAgICAgICBub2Rl
LnNldEJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuTm9kZVJlbW92
ZWQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2V0ICdOb2RlIFJlbW92ZWQn
IERPTSBicmVha3BvaW50IG9uIGVsZW1lbnRUb1JlbW92ZS4iKTsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJyZW1vdmVFbGVtZW50KCdlbGVtZW50VG9S
ZW1vdmUnKSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVtb3ZlIGVsZW1l
bnRUb1JlbW92ZS4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQodGVz
dFJlbW92ZU5vZGUuc3RlcDQpOworICAgIH0KKyAgICB0ZXN0UmVtb3ZlTm9kZS5zdGVwNCA9IGZ1
bmN0aW9uKGNhbGxGcmFtZXMpCisgICAgeworICAgICAgICBkdW1wU3RhdHVzKGNhbGxGcmFtZXMp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LnJlc3VtZUV4ZWN1dGlvbih0ZXN0UmVsb2FkLnN0ZXAx
KTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBzdGVwOCgpCisgICAgdmFyIHRlc3RSZWxvYWQ9IHt9
OworICAgIHRlc3RSZWxvYWQuc3RlcDEgPSBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGVzdCB0aGF0IERPTSBicmVha3BvaW50cyBhcmUgcGVyc2lz
dGVkIGJldHdlZW4gcGFnZSByZWxvYWRzLiIpOwotICAgICAgICBkMC5zZXRCcmVha3BvaW50KFdl
Ykluc3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVzLlN1YnRyZWVNb2RpZmllZCk7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZXQgc3VidHJlZSBtb2RpZmllZCBET00gYnJlYWtw
b2ludCBvbiBkMC4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZWxvYWRQYWdlKHN0ZXA5KTsK
KyAgICAgICAgZmluZERPTU5vZGVCeUlkKCJyb290RWxlbWVudCIsIHRlc3RSZWxvYWQuc3RlcDIp
OwogICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXA5KCkKKyAgICB0ZXN0UmVsb2FkLnN0ZXAyID0g
ZnVuY3Rpb24obm9kZSkKICAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNv
bnNvbGUoImFwcGVuZEVsZW1lbnQoJ2QwJywgJ2QxJykiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIkFwcGVuZCBkMSB0byBkMC4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53
YWl0VW50aWxQYXVzZWQoc3RlcDEwKTsKKyAgICAgICAgbm9kZS5zZXRCcmVha3BvaW50KFdlYklu
c3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVzLlN1YnRyZWVNb2RpZmllZCk7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZXQgJ1N1YnRyZWUgTW9kaWZpZWQnIERPTSBicmVha3Bv
aW50IG9uIHJvb3RFbGVtZW50LiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uo
dGVzdFJlbG9hZC5zdGVwMyk7CiAgICAgfQotCi0gICAgZnVuY3Rpb24gc3RlcDEwKGNhbGxGcmFt
ZXMpCisgICAgdGVzdFJlbG9hZC5zdGVwMyA9IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJsaW5lOiAiICsgY2FsbEZyYW1lc1swXS5saW5lICsgIiwg
ZnVuY3Rpb246ICIgKyBjYWxsRnJhbWVzWzBdLmZ1bmN0aW9uTmFtZSk7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgiYXBwZW5kRWxlbWVudCgncm9vdEVs
ZW1lbnQnLCAnY2hpbGRFbGVtZW50JykiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIkFwcGVuZCBjaGlsZEVsZW1lbnQgdG8gcm9vdEVsZW1lbnQuIik7CisgICAgICAgIEluc3Bl
Y3RvclRlc3Qud2FpdFVudGlsUGF1c2VkKHRlc3RSZWxvYWQuc3RlcDQpOworICAgIH0KKyAgICB0
ZXN0UmVsb2FkLnN0ZXA0ID0gZnVuY3Rpb24oY2FsbEZyYW1lcykKKyAgICB7CisgICAgICAgIGR1
bXBTdGF0dXMoY2FsbEZyYW1lcyk7CiAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVEZWJ1
Z2dlclRlc3QoKTsKICAgICB9CiAKQEAgLTExMyw2ICsxNTUsMTQgQEAgdmFyIHRlc3QgPSBmdW5j
dGlvbigpCiAgICAgICAgICAgICByZXR1cm4gbm9kZS5nZXRBdHRyaWJ1dGUoImlkIikgPT09IGlk
OwogICAgICAgICB9LCBjYWxsYmFjayk7CiAgICAgfQorCisgICAgZnVuY3Rpb24gZHVtcFN0YXR1
cyhjYWxsRnJhbWVzKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jYXB0dXJlU3RhY2tU
cmFjZShjYWxsRnJhbWVzKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoV2ViSW5z
cGVjdG9yLnBhbmVscy5zY3JpcHRzLnNpZGViYXJQYW5lcy5jYWxsc3RhY2suYm9keUVsZW1lbnQu
bGFzdENoaWxkLmlubmVyVGV4dCk7CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5zdGFydERl
YnVnZ2VyVGVzdCh0ZXN0SW5zZXJ0Q2hpbGQuc3RlcDEpOwogfTsKIAogPC9zY3JpcHQ+CkBAIC0x
MjIsNyArMTcyLDcgQEAgdmFyIHRlc3QgPSBmdW5jdGlvbigpCiA8cD4KIFRlc3RzIERPTSBicmVh
a3BvaW50cy4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQyODg2Ij5CdWcgNDI4ODY8L2E+CiA8L3A+Ci08ZGl2IGlkPSJkMCI+PC9kaXY+Cis8ZGl2IGlk
PSJyb290RWxlbWVudCI+PC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODFhNWI4Ny4uZjIyYTUw
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzNSBAQAorMjAxMC0wOS0xNCAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBzaG93IHN0YXR1cyBtZXNzYWdlIGJlbG93IGNhbGwgc3Rh
Y2sgd2hlbiBkZWJ1Z2dlciBpcyBwYXVzZWQgb24gRE9NIGJyZWFrcG9pbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1MTE0CisKKyAgICAgICAgKiBF
bmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50
OjpwZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50Ojpz
aG91bGRCcmVha09uTm9kZUluc2VydGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JE
T01BZ2VudDo6c2hvdWxkQnJlYWtPbk5vZGVSZW1vdmFsKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTUFnZW50OjpzaG91bGRCcmVha09uQXR0cmlidXRlTW9kaWZpY2F0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpkZXNjcmlwdGlvbkZvckRPTUV2ZW50
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpkaWRQYXVzZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
YWxsU3RhY2tTaWRlYmFyUGFuZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lk
ZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZVN0YXR1cy5mb3JtYXR0ZXJzLnMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGVTdGF0dXMu
YXBwZW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DYWxsU3RhY2tTaWRlYmFyUGFuZS5wcm90
b3R5cGUudXBkYXRlU3RhdHVzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1l
bnRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5
cGUubGlua2lmeU5vZGVCeUlkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBl
LmRlYnVnZ2VyUGF1c2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5jc3M6CisgICAgICAgICgucGFuZSA+IC5ib2R5IC5wbGFjYXJkICsgLmluZm8pOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLnBhdXNlZFNjcmlwdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuZm9ybWF0TG9jYWxpemVk
KToKKwogMjAxMC0wOS0xNCAgUGllcnJlLUFudG9pbmUgTGFGYXlldHRlICA8cGxhZmF5ZXRAY29k
ZWF1cm9yYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1dlYkNvcmUv
RW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDM4ZGJhOWI4ODk5NjJkNTY3
YjYzM2QxMDM0ODIxOTJkNzQwOTA5MjYuLjE3NDgwNzk1OTFkNDAxOWIxZTMzNDE4Nzc1NTJhMjhj
YTc3NjYwYWMgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTAzMwp6Y21kbi1sNC0jd3JW
WSlUbTJEWEU4MWZsWDcqWk1SNz9jPWQ4NTlfN2ZtbiRGTnFuK0dybiRIUlAqb21LQ0p+NVoKemZi
eXlnI1VPZmVnU2RGVDArNX1gUHkmPkpyfiUzODBDYEQzKFBXXkdRbXtOa1p5ciNyOTRNRX1raW40
MmtPUTw/CnowbXg0VHNzUEVTZkwjSS1EKj45TjA4fil8bUkxbDE3Xm8pfD0hTylheDsoSUxBYmEk
SFplWW19bD8zUy15ZXxBegp6cmE5UitqU0lna3Z1UEtPQ0JWPjUxY3c8a3drS3NzOyYpNlktNWZK
e2cwVml+eikyKzVKJXAxQ0JFYn5fNkkzb1IKcSpefms0Nm9OcSNPSChJSVpqZCk1OTFNYU9aa1lU
cFReZkg+TkBNN088UW9RUzF9KkBVcz1JWG4KCmRlbHRhIDIxCmRjbVo0UmlEfTE2clZZKVRDK2pR
Sk99MCk8bnx5cClBT0xvWTNSRDA5CgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCmluZGV4IDIzYzIyYWEuLjI2NzY1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHAKQEAgLTcwNyw3ICs3MDcsNyBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50Ojpw
ZXJmb3JtU2VhcmNoKGNvbnN0IFN0cmluZyYgd2hpdGVzcGFjZVRyaW1tZWRRdWVyeSwgYm9vbAog
ICAgICAgICAgICAgbV9wZW5kaW5nTWF0Y2hKb2JzLmFwcGVuZChuZXcgTWF0Y2hQbGFpblRleHRK
b2IoZG9jdW1lbnQsIGVzY2FwZWRRdWVyeSkpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgIG1fcGVuZGluZ01hdGNoSm9icy5hcHBlbmQo
bmV3IE1hdGNoRXhhY3RJZEpvYihkb2N1bWVudCwgd2hpdGVzcGFjZVRyaW1tZWRRdWVyeSkpOwog
ICAgICAgICBtX3BlbmRpbmdNYXRjaEpvYnMuYXBwZW5kKG5ldyBNYXRjaEV4YWN0Q2xhc3NOYW1l
c0pvYihkb2N1bWVudCwgd2hpdGVzcGFjZVRyaW1tZWRRdWVyeSkpOwogICAgICAgICBtX3BlbmRp
bmdNYXRjaEpvYnMuYXBwZW5kKG5ldyBNYXRjaEV4YWN0VGFnTmFtZXNKb2IoZG9jdW1lbnQsIHRh
Z05hbWVRdWVyeSkpOwpAQCAtNzc2LDM4ICs3NzYsNzAgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2Vu
dDo6cmVtb3ZlRE9NQnJlYWtwb2ludChsb25nIG5vZGVJZCwgbG9uZyB0eXBlKQogCiBib29sIElu
c3BlY3RvckRPTUFnZW50OjpzaG91bGRCcmVha09uTm9kZUluc2VydGlvbihOb2RlKiwgTm9kZSog
cGFyZW50LCBQYXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiogZGV0YWlscykKIHsKLSAgICBpZiAo
IWhhc0JyZWFrcG9pbnQocGFyZW50LCBTdWJ0cmVlTW9kaWZpZWQpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGV0YWlsc09iamVjdCA9IEluc3Bl
Y3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgZGV0YWlsc09iamVjdC0+c2V0T2JqZWN0KCJicmVh
a3BvaW50IiwgY3JlYXRlQnJlYWtwb2ludChwYXJlbnQsIFN1YnRyZWVNb2RpZmllZCkpOwotICAg
ICpkZXRhaWxzID0gZGV0YWlsc09iamVjdDsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoaGFz
QnJlYWtwb2ludChwYXJlbnQsIFN1YnRyZWVNb2RpZmllZCkpIHsKKyAgICAgICAgKmRldGFpbHMg
PSBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KHBhcmVudCwgU3VidHJlZU1vZGlmaWVkLCB0cnVlKTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9v
bCBJbnNwZWN0b3JET01BZ2VudDo6c2hvdWxkQnJlYWtPbk5vZGVSZW1vdmFsKE5vZGUqIG5vZGUs
IFBhc3NSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBkZXRhaWxzKQogewotICAgIGJvb2wgaGFzTm9k
ZVJlbW92ZWRCcmVha3BvaW50ID0gaGFzQnJlYWtwb2ludChub2RlLCBOb2RlUmVtb3ZlZCk7Ci0g
ICAgYm9vbCBoYXNBbnlCcmVha3BvaW50ID0gaGFzTm9kZVJlbW92ZWRCcmVha3BvaW50IHx8IGhh
c0JyZWFrcG9pbnQoaW5uZXJQYXJlbnROb2RlKG5vZGUpLCBTdWJ0cmVlTW9kaWZpZWQpOwotICAg
IGlmICghaGFzQW55QnJlYWtwb2ludCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4gZGV0YWlsc09iamVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3Jl
YXRlKCk7Ci0gICAgaWYgKGhhc05vZGVSZW1vdmVkQnJlYWtwb2ludCkKLSAgICAgICAgZGV0YWls
c09iamVjdC0+c2V0T2JqZWN0KCJicmVha3BvaW50IiwgY3JlYXRlQnJlYWtwb2ludChub2RlLCBO
b2RlUmVtb3ZlZCkpOwotICAgIGVsc2UKLSAgICAgICAgZGV0YWlsc09iamVjdC0+c2V0T2JqZWN0
KCJicmVha3BvaW50IiwgY3JlYXRlQnJlYWtwb2ludChpbm5lclBhcmVudE5vZGUobm9kZSksIFN1
YnRyZWVNb2RpZmllZCkpOwotICAgICpkZXRhaWxzID0gZGV0YWlsc09iamVjdDsKLSAgICByZXR1
cm4gdHJ1ZTsKKyAgICBpZiAoaGFzQnJlYWtwb2ludChub2RlLCBOb2RlUmVtb3ZlZCkpIHsKKyAg
ICAgICAgKmRldGFpbHMgPSBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KG5vZGUsIE5vZGVSZW1vdmVk
LCBmYWxzZSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoaGFzQnJlYWtw
b2ludChpbm5lclBhcmVudE5vZGUobm9kZSksIFN1YnRyZWVNb2RpZmllZCkpIHsKKyAgICAgICAg
KmRldGFpbHMgPSBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KG5vZGUsIFN1YnRyZWVNb2RpZmllZCwg
ZmFsc2UpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOwog
fQogCiBib29sIEluc3BlY3RvckRPTUFnZW50OjpzaG91bGRCcmVha09uQXR0cmlidXRlTW9kaWZp
Y2F0aW9uKEVsZW1lbnQqIGVsZW1lbnQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBkZXRh
aWxzKQogewotICAgIGlmICghaGFzQnJlYWtwb2ludChlbGVtZW50LCBBdHRyaWJ1dGVNb2RpZmll
ZCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBk
ZXRhaWxzT2JqZWN0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICBkZXRhaWxzT2Jq
ZWN0LT5zZXRPYmplY3QoImJyZWFrcG9pbnQiLCBjcmVhdGVCcmVha3BvaW50KGVsZW1lbnQsIEF0
dHJpYnV0ZU1vZGlmaWVkKSk7Ci0gICAgKmRldGFpbHMgPSBkZXRhaWxzT2JqZWN0OwotICAgIHJl
dHVybiB0cnVlOworICAgIGlmIChoYXNCcmVha3BvaW50KGVsZW1lbnQsIEF0dHJpYnV0ZU1vZGlm
aWVkKSkgeworICAgICAgICAqZGV0YWlscyA9IGRlc2NyaXB0aW9uRm9yRE9NRXZlbnQoZWxlbWVu
dCwgQXR0cmlidXRlTW9kaWZpZWQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKworUGFzc1JlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gSW5z
cGVjdG9yRE9NQWdlbnQ6OmRlc2NyaXB0aW9uRm9yRE9NRXZlbnQoTm9kZSogdGFyZ2V0LCBsb25n
IGJyZWFrcG9pbnRUeXBlLCBib29sIGluc2VydGlvbikKK3sKKyAgICBBU1NFUlQoaGFzQnJlYWtw
b2ludCh0YXJnZXQsIGJyZWFrcG9pbnRUeXBlKSk7CisKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiBkZXNjcmlwdGlvbiA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CisgICAgTm9kZSog
YnJlYWtwb2ludE93bmVyID0gdGFyZ2V0OworICAgIGlmICgoMSA8PCBicmVha3BvaW50VHlwZSkg
JiBpbmhlcml0YWJsZURPTUJyZWFrcG9pbnRUeXBlc01hc2spIHsKKyAgICAgICAgLy8gRm9yIGlu
aGVyaXRhYmxlIGJyZWFrcG9pbnQgdHlwZXMsIHRhcmdldCBub2RlIGlzbid0IGFsd2F5cyB0aGUg
c2FtZSBhcyB0aGUgbm9kZSB0aGF0IG93bnMgYSBicmVha3BvaW50LgorICAgICAgICAvLyBUYXJn
ZXQgbm9kZSBtYXkgYmUgdW5rbm93biB0byBmcm9udGVuZCwgc28gd2UgbmVlZCB0byBwdXNoIGl0
IGZpcnN0LgorICAgICAgICBsb25nIHRhcmdldE5vZGVJZCA9IHB1c2hOb2RlUGF0aFRvRnJvbnRl
bmQodGFyZ2V0KTsKKyAgICAgICAgQVNTRVJUKHRhcmdldE5vZGVJZCk7CisgICAgICAgIGRlc2Ny
aXB0aW9uLT5zZXROdW1iZXIoInRhcmdldE5vZGVJZCIsIHRhcmdldE5vZGVJZCk7CisKKyAgICAg
ICAgLy8gRmluZCBicmVha3BvaW50IG93bmVyIG5vZGUuCisgICAgICAgIGlmICghaW5zZXJ0aW9u
KQorICAgICAgICAgICAgYnJlYWtwb2ludE93bmVyID0gaW5uZXJQYXJlbnROb2RlKHRhcmdldCk7
CisgICAgICAgIEFTU0VSVChicmVha3BvaW50T3duZXIpOworICAgICAgICB3aGlsZSAoIShtX2Jy
ZWFrcG9pbnRzLmdldChicmVha3BvaW50T3duZXIpICYgKDEgPDwgYnJlYWtwb2ludFR5cGUpKSkg
eworICAgICAgICAgICAgYnJlYWtwb2ludE93bmVyID0gaW5uZXJQYXJlbnROb2RlKGJyZWFrcG9p
bnRPd25lcik7CisgICAgICAgICAgICBBU1NFUlQoYnJlYWtwb2ludE93bmVyKTsKKyAgICAgICAg
fQorCisgICAgICAgIGlmIChicmVha3BvaW50VHlwZSA9PSBTdWJ0cmVlTW9kaWZpZWQpCisgICAg
ICAgICAgICBkZXNjcmlwdGlvbi0+c2V0Qm9vbGVhbigiaW5zZXJ0aW9uIiwgaW5zZXJ0aW9uKTsK
KyAgICB9CisKKyAgICBsb25nIGJyZWFrcG9pbnRPd25lck5vZGVJZCA9IG1fZG9jdW1lbnROb2Rl
VG9JZE1hcC5nZXQoYnJlYWtwb2ludE93bmVyKTsKKyAgICBBU1NFUlQoYnJlYWtwb2ludE93bmVy
Tm9kZUlkKTsKKworICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGJyZWFrcG9pbnQgPSBJbnNw
ZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIGJyZWFrcG9pbnQtPnNldE51bWJlcigibm9kZUlk
IiwgYnJlYWtwb2ludE93bmVyTm9kZUlkKTsKKyAgICBicmVha3BvaW50LT5zZXROdW1iZXIoInR5
cGUiLCBicmVha3BvaW50VHlwZSk7CisgICAgZGVzY3JpcHRpb24tPnNldE9iamVjdCgiYnJlYWtw
b2ludCIsIGJyZWFrcG9pbnQpOworCisgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogfQogCiBTdHJp
bmcgSW5zcGVjdG9yRE9NQWdlbnQ6OmRvY3VtZW50VVJMU3RyaW5nKERvY3VtZW50KiBkb2N1bWVu
dCkgY29uc3QKQEAgLTEwODcsMjMgKzExMTksNiBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50Ojpk
aWRNb2RpZnlET01BdHRyKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgbV9mcm9udGVuZC0+YXR0cmli
dXRlc1VwZGF0ZWQoaWQsIGJ1aWxkQXJyYXlGb3JFbGVtZW50QXR0cmlidXRlcyhlbGVtZW50KSk7
CiB9CiAKLVBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNwZWN0b3JET01BZ2VudDo6Y3Jl
YXRlQnJlYWtwb2ludChOb2RlKiBub2RlLCBsb25nIHR5cGUpCi17Ci0gICAgUmVmUHRyPEluc3Bl
Y3Rvck9iamVjdD4gYnJlYWtwb2ludCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0KLSAg
ICAvLyBGaW5kIGJyZWFrcG9pbnQgb3duZXIuCi0gICAgd2hpbGUgKCEobV9icmVha3BvaW50cy5n
ZXQobm9kZSkgJiAoMSA8PCB0eXBlKSkpIHsKLSAgICAgICAgbm9kZSA9IGlubmVyUGFyZW50Tm9k
ZShub2RlKTsKLSAgICAgICAgQVNTRVJUKG5vZGUpOwotICAgIH0KLSAgICBsb25nIG5vZGVJZCA9
IG1fZG9jdW1lbnROb2RlVG9JZE1hcC5nZXQobm9kZSk7Ci0gICAgQVNTRVJUKG5vZGVJZCk7Ci0K
LSAgICBicmVha3BvaW50LT5zZXROdW1iZXIoIm5vZGVJZCIsIG5vZGVJZCk7Ci0gICAgYnJlYWtw
b2ludC0+c2V0TnVtYmVyKCJ0eXBlIiwgdHlwZSk7Ci0gICAgcmV0dXJuIGJyZWFrcG9pbnQucmVs
ZWFzZSgpOwotfQotCiBib29sIEluc3BlY3RvckRPTUFnZW50OjpoYXNCcmVha3BvaW50KE5vZGUq
IG5vZGUsIGxvbmcgdHlwZSkKIHsKICAgICB1aW50MzJfdCByb290Qml0ID0gMSA8PCB0eXBlOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggOTc1MWU4ZS4uY2EyZWI5NCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaAorKysgYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0xNjIsOCArMTYyLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHB1c2hEb2N1bWVudFRvRnJvbnRlbmQo
KTsKIAogICAgICAgICBib29sIGhhc0JyZWFrcG9pbnQoTm9kZSogbm9kZSwgbG9uZyB0eXBlKTsK
LSAgICAgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNyZWF0ZUJyZWFrcG9pbnQoTm9k
ZSogbm9kZSwgbG9uZyB0eXBlKTsKICAgICAgICAgdm9pZCB1cGRhdGVTdWJ0cmVlQnJlYWtwb2lu
dHMoTm9kZSogcm9vdCwgdWludDMyX3Qgcm9vdE1hc2ssIGJvb2wgdmFsdWUpOworICAgICAgICBQ
YXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KE5vZGUqIHRh
cmdldCwgbG9uZyBicmVha3BvaW50VHlwZSwgYm9vbCBpbnNlcnRpb24pOwogCiAgICAgICAgIFBh
c3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZE9iamVjdEZvckF0dHJpYnV0ZVN0eWxlcyhF
bGVtZW50KiBlbGVtZW50KTsKICAgICAgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gYnVp
bGRBcnJheUZvckNTU1J1bGVzKERvY3VtZW50KiBvd25lckRvY3VtZW50LCBDU1NSdWxlTGlzdCop
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5j
cHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAppbmRleCBh
MTExMTk3Li4zODc1YmUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmNwcApAQCAtMjkzLDcgKzI5Myw3IEBAIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dDo6ZGlkUGF1c2UoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKQogICAgIG1fcGF1c2VkU2NyaXB0
U3RhdGUgPSBzY3JpcHRTdGF0ZTsKICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkZXRhaWxz
ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKICAgICBkZXRhaWxzLT5zZXRWYWx1ZSgiY2Fs
bEZyYW1lcyIsIGN1cnJlbnRDYWxsRnJhbWVzKCkpOwotICAgIGRldGFpbHMtPnNldFZhbHVlKCJy
ZWFzb24iLCBtX2JyZWFrUHJvZ3JhbVJlYXNvbik7CisgICAgZGV0YWlscy0+c2V0VmFsdWUoInN0
YXR1cyIsIG1fYnJlYWtQcm9ncmFtUmVhc29uKTsKICAgICBtX2Zyb250ZW5kLT5wYXVzZWRTY3Jp
cHQoZGV0YWlscyk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
YWxsU3RhY2tTaWRlYmFyUGFuZS5qcwppbmRleCA2MGVlZTM0Li45MWYzNWE2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzCkBA
IC0yNiw3ICsyNiw2IEBACiBXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUgPSBmdW5j
dGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLmNhbGwodGhpcywgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJDYWxsIFN0YWNrIikpOwotICAgIAogfQogCiBXZWJJbnNwZWN0b3Iu
Q2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlID0gewpAQCAtODMsNiArODIsMzkgQEAgV2Vi
SW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQog
ICAgIH0sCiAKKyAgICB1cGRhdGVTdGF0dXM6ICBmdW5jdGlvbihzdGF0dXMpCisgICAgeworICAg
ICAgICB2YXIgc3RhdHVzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwor
ICAgICAgICBzdGF0dXNFbGVtZW50LmNsYXNzTmFtZSA9ICJpbmZvIjsKKworICAgICAgICB2YXIg
YnJlYWtwb2ludFR5cGUgPSBzdGF0dXMuYnJlYWtwb2ludC50eXBlOworICAgICAgICB2YXIgc3Vi
c3RpdHV0aW9ucyA9IFtXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5sYWJlbEZvclR5cGUoYnJl
YWtwb2ludFR5cGUpLCBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLmxpbmtpZnlOb2RlQnlJ
ZChzdGF0dXMuYnJlYWtwb2ludC5ub2RlSWQpXTsKKyAgICAgICAgdmFyIGZvcm1hdHRlcnMgPSB7
CisgICAgICAgICAgICBzOiBmdW5jdGlvbihzdWJzdGl0dXRpb24pCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHN1YnN0aXR1dGlvbjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfTsKKyAgICAgICAgZnVuY3Rpb24gYXBwZW5kKGEsIGIpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGlmICh0eXBlb2YgYiA9PT0gInN0cmluZyIpCisgICAgICAgICAgICAgICAgYiA9IGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKGIpOworICAgICAgICAgICAgc3RhdHVzRWxlbWVudC5hcHBlbmRD
aGlsZChiKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoYnJlYWtwb2ludFR5cGUgPT09IFdlYklu
c3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVzLlN1YnRyZWVNb2RpZmllZCkgeworICAgICAgICAg
ICAgdmFyIHRhcmdldE5vZGUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLmxpbmtpZnlO
b2RlQnlJZChzdGF0dXMudGFyZ2V0Tm9kZUlkKTsKKyAgICAgICAgICAgIGlmIChzdGF0dXMuaW5z
ZXJ0aW9uKSB7CisgICAgICAgICAgICAgICAgaWYgKHN0YXR1cy50YXJnZXROb2RlSWQgIT09IHN0
YXR1cy5icmVha3BvaW50Lm5vZGVJZCkKKyAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmZvcm1hdExvY2FsaXplZCgiUGF1c2VkIG9uIGEgXCIlc1wiIGJyZWFrcG9pbnQgc2V0IG9uICVz
LCBiZWNhdXNlIGEgbmV3IGNoaWxkIHdhcyBhZGRlZCB0byBpdHMgZGVzY2VuZGFudCAlcy4iLCBz
dWJzdGl0dXRpb25zLmNvbmNhdCh0YXJnZXROb2RlKSwgZm9ybWF0dGVycywgIiIsIGFwcGVuZCk7
CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
Zm9ybWF0TG9jYWxpemVkKCJQYXVzZWQgb24gYSBcIiVzXCIgYnJlYWtwb2ludCBzZXQgb24gJXMs
IGJlY2F1c2UgYSBuZXcgY2hpbGQgd2FzIGFkZGVkIHRvIHRoYXQgbm9kZS4iLCBzdWJzdGl0dXRp
b25zLCBmb3JtYXR0ZXJzLCAiIiwgYXBwZW5kKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5mb3JtYXRMb2NhbGl6ZWQoIlBhdXNlZCBvbiBhIFwiJXNc
IiBicmVha3BvaW50IHNldCBvbiAlcywgYmVjYXVzZSBpdHMgZGVzY2VuZGFudCAlcyB3YXMgcmVt
b3ZlZC4iLCBzdWJzdGl0dXRpb25zLmNvbmNhdCh0YXJnZXROb2RlKSwgZm9ybWF0dGVycywgIiIs
IGFwcGVuZCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZvcm1h
dExvY2FsaXplZCgiUGF1c2VkIG9uIGEgXCIlc1wiIGJyZWFrcG9pbnQgc2V0IG9uICVzLiIsIHN1
YnN0aXR1dGlvbnMsIGZvcm1hdHRlcnMsICIiLCBhcHBlbmQpOworICAgICAgICB0aGlzLmJvZHlF
bGVtZW50LmFwcGVuZENoaWxkKHN0YXR1c0VsZW1lbnQpOworICAgIH0sCisKICAgICBnZXQgc2Vs
ZWN0ZWRDYWxsRnJhbWUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkQ2Fs
bEZyYW1lOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRz
UGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwpp
bmRleCA3MjhjNDhlLi45Y2ZmM2E3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRWxlbWVudHNQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RWxlbWVudHNQYW5lbC5qcwpAQCAtNzgzLDYgKzc4MywxNCBAQCBXZWJJbnNwZWN0b3IuRWxlbWVu
dHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBsaW5rOwogICAgIH0sCiAKKyAg
ICBsaW5raWZ5Tm9kZUJ5SWQ6IGZ1bmN0aW9uKG5vZGVJZCkKKyAgICB7CisgICAgICAgIHZhciBu
b2RlID0gV2ViSW5zcGVjdG9yLmRvbUFnZW50Lm5vZGVGb3JJZChub2RlSWQpOworICAgICAgICBp
ZiAoIW5vZGUpCisgICAgICAgICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCI8bm9kZT4iKSk7CisgICAgICAgIHJldHVybiB0aGlzLmxpbmtp
ZnlOb2RlUmVmZXJlbmNlKG5vZGUpOworICAgIH0sCisKICAgICB1cGRhdGVCcmVhZGNydW1iU2l6
ZXM6IGZ1bmN0aW9uKGZvY3VzZWRDcnVtYikKICAgICB7CiAgICAgICAgIGlmICghdGhpcy52aXNp
YmxlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5l
bC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXgg
YzUyNjdmNy4uNzE1MzM5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NjcmlwdHNQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
c1BhbmVsLmpzCkBAIC0zNzUsNyArMzc1LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUgPSB7CiAgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLmdldChjYWxsRnJhbWUu
d29ybGRJZCkuZXZhbHVhdGVJbkNhbGxGcmFtZShjYWxsRnJhbWUuaWQsIGNvZGUsIG9iamVjdEdy
b3VwLCBldmFsQ2FsbGJhY2spOwogICAgIH0sCiAKLSAgICBkZWJ1Z2dlclBhdXNlZDogZnVuY3Rp
b24oY2FsbEZyYW1lcykKKyAgICBkZWJ1Z2dlclBhdXNlZDogZnVuY3Rpb24oZGV0YWlscykKICAg
ICB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5icmVha3BvaW50TWFuYWdlci5yZW1vdmVPbmVUaW1l
QnJlYWtwb2ludCgpOwogICAgICAgICB0aGlzLl9wYXVzZWQgPSB0cnVlOwpAQCAtMzg0LDggKzM4
NCwxMSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAg
ICB0aGlzLl91cGRhdGVEZWJ1Z2dlckJ1dHRvbnMoKTsKIAotICAgICAgICB0aGlzLnNpZGViYXJQ
YW5lcy5jYWxsc3RhY2sudXBkYXRlKGNhbGxGcmFtZXMsIHRoaXMuX3NvdXJjZUlETWFwKTsKLSAg
ICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnNlbGVjdGVkQ2FsbEZyYW1lID0gY2Fs
bEZyYW1lc1swXTsKKyAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnVwZGF0ZShk
ZXRhaWxzLmNhbGxGcmFtZXMsIHRoaXMuX3NvdXJjZUlETWFwKTsKKyAgICAgICAgdGhpcy5zaWRl
YmFyUGFuZXMuY2FsbHN0YWNrLnNlbGVjdGVkQ2FsbEZyYW1lID0gZGV0YWlscy5jYWxsRnJhbWVz
WzBdOworCisgICAgICAgIGlmIChkZXRhaWxzLnN0YXR1cykKKyAgICAgICAgICAgIHRoaXMuc2lk
ZWJhclBhbmVzLmNhbGxzdGFjay51cGRhdGVTdGF0dXMoZGV0YWlscy5zdGF0dXMpOwogCiAgICAg
ICAgIFdlYkluc3BlY3Rvci5jdXJyZW50UGFuZWwgPSB0aGlzOwogICAgICAgICB3aW5kb3cuZm9j
dXMoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
Y3NzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggMjgy
MzQxOC4uNmQ4NTcxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5jc3MKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5j
c3MKQEAgLTE2OTMsNiArMTY5MywxMCBAQCBsaS5lZGl0aW5nIC5zd2F0Y2gsIGxpLmVkaXRpbmcg
LmVuYWJsZWQtYnV0dG9uLCAgbGkuZWRpdGluZy1zdWItcGFydCAuZGVsZXRlLWJ1dAogICAgIGNv
bG9yOiBncmF5OwogfQogCisucGFuZSA+IC5ib2R5IC5wbGFjYXJkICsgLmluZm8geworICAgIGJv
cmRlci10b3A6IDFweCBzb2xpZCBncmF5Cit9CisKIC5wYW5lLmV4cGFuZGVkID4gLmJvZHksIC5w
YW5lLmV4cGFuZGVkID4gLmdyb3diYXIgewogICAgIGRpc3BsYXk6IGJsb2NrOwogfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggM2ZkZDViNC4uYjIyZThlZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysg
Yi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC0xNDYyLDcgKzE0
NjIsNyBAQCBXZWJJbnNwZWN0b3IuZmFpbGVkVG9QYXJzZVNjcmlwdFNvdXJjZSA9IGZ1bmN0aW9u
KHNvdXJjZVVSTCwgc291cmNlLCBzdGFydGluZ0xpbgogCiBXZWJJbnNwZWN0b3IucGF1c2VkU2Ny
aXB0ID0gZnVuY3Rpb24oZGV0YWlscykKIHsKLSAgICB0aGlzLnBhbmVscy5zY3JpcHRzLmRlYnVn
Z2VyUGF1c2VkKGRldGFpbHMuY2FsbEZyYW1lcyk7CisgICAgdGhpcy5wYW5lbHMuc2NyaXB0cy5k
ZWJ1Z2dlclBhdXNlZChkZXRhaWxzKTsKICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuYnJpbmdU
b0Zyb250KCk7CiB9CiAKQEAgLTIwNDUsNiArMjA0NSwxMSBAQCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcgPSBmdW5jdGlvbihzdHJpbmcpCiAgICAgcmV0dXJuIFN0cmluZy52c3ByaW50ZihzdHJpbmcs
IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOwogfQogCitXZWJJbnNw
ZWN0b3IuZm9ybWF0TG9jYWxpemVkID0gZnVuY3Rpb24oZm9ybWF0LCBzdWJzdGl0dXRpb25zLCBm
b3JtYXR0ZXJzLCBpbml0aWFsVmFsdWUsIGFwcGVuZCkKK3sKKyAgICByZXR1cm4gU3RyaW5nLmZv
cm1hdChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoZm9ybWF0KSwgc3Vic3RpdHV0aW9ucywgZm9ybWF0
dGVycywgaW5pdGlhbFZhbHVlLCBhcHBlbmQpOworfQorCiBXZWJJbnNwZWN0b3IuaXNNYWMgPSBm
dW5jdGlvbigpCiB7CiAgICAgaWYgKCEoIl9pc01hYyIgaW4gdGhpcykpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67569</attachid>
            <date>2010-09-14 09:52:46 -0700</date>
            <delta_ts>2010-09-17 02:56:39 -0700</delta_ts>
            <desc>What&apos;s new</desc>
            <filename>changed.patch</filename>
            <type>text/plain</type>
            <size>12994</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0Mi5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0
Mi5qcwppbmRleCBhNTgyMzY2Li5mNTUwN2YwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzCkBAIC0yNyw2ICsyNywxMSBAQCBJ
bnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlID0gZnVuY3Rpb24oY29kZSwgY2FsbGJhY2spCiAg
ICAgSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuZ2V0RGVmYXVsdCgpLmV2YWx1YXRlKGNvZGUsICJjb25z
b2xlIiwgY2FsbGJhY2sgfHwgZnVuY3Rpb24oKSB7fSk7CiB9OwogCitJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQgPSBmdW5jdGlvbihjb2RlLCBjYWxsYmFjaykKK3sKKyAg
ICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KHVuZXNjYXBlKCciICsg
ZXNjYXBlKGNvZGUpICsgIicpKSIsIGNhbGxiYWNrKTsKK307CisKIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0ID0gZnVuY3Rpb24odGV4dCkKIHsKICAgICByZXN1bHRzLnB1c2godGV4dCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDA5NTU3NTkuLjYzNmUwZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
b20tYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9k
b20tYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBAIC01LDI2ICs1LDM0IEBAIFRlc3QgdGhhdCAn
U3VidHJlZSBNb2RpZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiBhcHBlbmRpbmcgYSBjaGls
ZC4KIFNldCAnU3VidHJlZSBNb2RpZmllZCcgRE9NIGJyZWFrcG9pbnQgb24gcm9vdEVsZW1lbnQu
CiBBcHBlbmQgY2hpbGRFbGVtZW50IHRvIHJvb3RFbGVtZW50LgogU2NyaXB0IGV4ZWN1dGlvbiBw
YXVzZWQuCi1saW5lOiAxMSwgZnVuY3Rpb246IGFwcGVuZEVsZW1lbnQKK0NhbGwgc3RhY2s6Cisg
ICAgMCkgYXBwZW5kRWxlbWVudCAoZG9tLWJyZWFrcG9pbnRzLmh0bWw6MTEpCisgICAgMSkgICg6
MSkKIFBhdXNlZCBvbiBhICJTdWJ0cmVlIE1vZGlmaWVkIiBicmVha3BvaW50IHNldCBvbiBkaXYj
cm9vdEVsZW1lbnQsIGJlY2F1c2UgYSBuZXcgY2hpbGQgd2FzIGFkZGVkIHRvIHRoYXQgbm9kZS4K
IFNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KIFRlc3QgdGhhdCAnU3VidHJlZSBNb2RpZmllZCcg
YnJlYWtwb2ludCBpcyBoaXQgd2hlbiBhcHBlbmRpbmcgYSBncmFuZGNoaWxkLgogQXBwZW5kIGdy
YW5kY2hpbGRFbGVtZW50IHRvIGNoaWxkRWxlbWVudC4KIFNjcmlwdCBleGVjdXRpb24gcGF1c2Vk
LgotbGluZTogMTEsIGZ1bmN0aW9uOiBhcHBlbmRFbGVtZW50CitDYWxsIHN0YWNrOgorICAgIDAp
IGFwcGVuZEVsZW1lbnQgKGRvbS1icmVha3BvaW50cy5odG1sOjExKQorICAgIDEpICAoOjEpCiBQ
YXVzZWQgb24gYSAiU3VidHJlZSBNb2RpZmllZCIgYnJlYWtwb2ludCBzZXQgb24gZGl2I3Jvb3RF
bGVtZW50LCBiZWNhdXNlIGEgbmV3IGNoaWxkIHdhcyBhZGRlZCB0byBpdHMgZGVzY2VuZGFudCBk
aXYjY2hpbGRFbGVtZW50LgogU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgogVGVzdCB0aGF0ICdT
dWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIHJlbW92aW5nIGEgY2hpbGQu
CiBSZW1vdmUgZ3JhbmRjaGlsZEVsZW1lbnQuCiBTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLWxp
bmU6IDIzLCBmdW5jdGlvbjogcmVtb3ZlRWxlbWVudAorQ2FsbCBzdGFjazoKKyAgICAwKSByZW1v
dmVFbGVtZW50IChkb20tYnJlYWtwb2ludHMuaHRtbDoyMykKKyAgICAxKSAgKDoxKQogUGF1c2Vk
IG9uIGEgIlN1YnRyZWUgTW9kaWZpZWQiIGJyZWFrcG9pbnQgc2V0IG9uIGRpdiNyb290RWxlbWVu
dCwgYmVjYXVzZSBpdHMgZGVzY2VuZGFudCBkaXYjZ3JhbmRjaGlsZEVsZW1lbnQgd2FzIHJlbW92
ZWQuCiBTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQuCiBUZXN0IHRoYXQgJ0F0dHJpYnV0ZSBNb2Rp
ZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiBtb2RpZnlpbmcgYXR0cmlidXRlLgogU2V0ICdB
dHRyaWJ1dGUgTW9kaWZpZWQnIERPTSBicmVha3BvaW50IG9uIHJvb3RFbGVtZW50LgogTW9kaWZ5
IHJvb3RFbGVtZW50IGNsYXNzTmFtZS4KIFNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotbGluZTog
MTcsIGZ1bmN0aW9uOiBtb2RpZnlBdHRyaWJ1dGUKK0NhbGwgc3RhY2s6CisgICAgMCkgbW9kaWZ5
QXR0cmlidXRlIChkb20tYnJlYWtwb2ludHMuaHRtbDoxNykKKyAgICAxKSAgKDoxKQogUGF1c2Vk
IG9uIGEgIkF0dHJpYnV0ZSBNb2RpZmllZCIgYnJlYWtwb2ludCBzZXQgb24gZGl2I3Jvb3RFbGVt
ZW50LgogU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgogVGVzdCB0aGF0ICdOb2RlIFJlbW92ZWQn
IGJyZWFrcG9pbnQgaXMgaGl0IHdoZW4gcmVtb3ZpbmcgYSBub2RlLgpAQCAtMzIsNyArNDAsOSBA
QCBBcHBlbmQgZWxlbWVudFRvUmVtb3ZlIHRvIHJvb3RFbGVtZW50LgogU2V0ICdOb2RlIFJlbW92
ZWQnIERPTSBicmVha3BvaW50IG9uIGVsZW1lbnRUb1JlbW92ZS4KIFJlbW92ZSBlbGVtZW50VG9S
ZW1vdmUuCiBTY3JpcHQgZXhlY3V0aW9uIHBhdXNlZC4KLWxpbmU6IDIzLCBmdW5jdGlvbjogcmVt
b3ZlRWxlbWVudAorQ2FsbCBzdGFjazoKKyAgICAwKSByZW1vdmVFbGVtZW50IChkb20tYnJlYWtw
b2ludHMuaHRtbDoyMykKKyAgICAxKSAgKDoxKQogUGF1c2VkIG9uIGEgIk5vZGUgUmVtb3ZlZCIg
YnJlYWtwb2ludCBzZXQgb24gZGl2I2VsZW1lbnRUb1JlbW92ZS4KIFNjcmlwdCBleGVjdXRpb24g
cmVzdW1lZC4KIFRlc3QgdGhhdCBET00gYnJlYWtwb2ludHMgYXJlIHBlcnNpc3RlZCBiZXR3ZWVu
IHBhZ2UgcmVsb2Fkcy4KQEAgLTQwLDcgKzUwLDkgQEAgU2V0ICdTdWJ0cmVlIE1vZGlmaWVkJyBE
T00gYnJlYWtwb2ludCBvbiByb290RWxlbWVudC4KIFBhZ2UgcmVsb2FkZWQuCiBBcHBlbmQgY2hp
bGRFbGVtZW50IHRvIHJvb3RFbGVtZW50LgogU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCi1saW5l
OiAxMSwgZnVuY3Rpb246IGFwcGVuZEVsZW1lbnQKK0NhbGwgc3RhY2s6CisgICAgMCkgYXBwZW5k
RWxlbWVudCAoZG9tLWJyZWFrcG9pbnRzLmh0bWw6MTEpCisgICAgMSkgICg6MSkKIFBhdXNlZCBv
biBhICJTdWJ0cmVlIE1vZGlmaWVkIiBicmVha3BvaW50IHNldCBvbiBkaXYjcm9vdEVsZW1lbnQs
IGJlY2F1c2UgYSBuZXcgY2hpbGQgd2FzIGFkZGVkIHRvIHRoYXQgbm9kZS4KIFNjcmlwdCBleGVj
dXRpb24gcmVzdW1lZC4KIERlYnVnZ2VyIHdhcyBkaXNhYmxlZC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20tYnJlYWtwb2ludHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kb20tYnJlYWtwb2ludHMuaHRtbAppbmRleCAzNmYwY2MyLi5jYWY0NTBmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy5odG1sCkBAIC0zNSw3ICszNSw3IEBA
IHZhciB0ZXN0ID0gZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgbm9kZS5zZXRCcmVha3BvaW50
KFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVzLlN1YnRyZWVNb2RpZmllZCk7CiAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZXQgJ1N1YnRyZWUgTW9kaWZpZWQnIERPTSBi
cmVha3BvaW50IG9uIHJvb3RFbGVtZW50LiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5Db25zb2xlKCJhcHBlbmRFbGVtZW50KCdyb290RWxlbWVudCcsICdjaGlsZEVsZW1lbnQn
KSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQoImFw
cGVuZEVsZW1lbnQoJ3Jvb3RFbGVtZW50JywgJ2NoaWxkRWxlbWVudCcpIik7CiAgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBcHBlbmQgY2hpbGRFbGVtZW50IHRvIHJvb3RFbGVtZW50
LiIpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZCh0ZXN0SW5zZXJ0Q2hp
bGQuc3RlcDMpOwogICAgIH07CkBAIC00OSw3ICs0OSw3IEBAIHZhciB0ZXN0ID0gZnVuY3Rpb24o
KQogICAgIHRlc3RJbnNlcnRHcmFuZGNoaWxkLnN0ZXAxID0gZnVuY3Rpb24oKQogICAgIHsKICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRlc3QgdGhhdCAnU3VidHJlZSBNb2RpZmll
ZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiBhcHBlbmRpbmcgYSBncmFuZGNoaWxkLiIpOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Db25zb2xlKCJhcHBlbmRFbGVtZW50KCdjaGls
ZEVsZW1lbnQnLCAnZ3JhbmRjaGlsZEVsZW1lbnQnKSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQoImFwcGVuZEVsZW1lbnQoJ2NoaWxkRWxlbWVudCcs
ICdncmFuZGNoaWxkRWxlbWVudCcpIik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJBcHBlbmQgZ3JhbmRjaGlsZEVsZW1lbnQgdG8gY2hpbGRFbGVtZW50LiIpOwogICAgICAgICBJ
bnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZCh0ZXN0SW5zZXJ0R3JhbmRjaGlsZC5zdGVwMik7
CiAgICAgfQpAQCAtNjMsNyArNjMsNyBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKICAgICB0ZXN0
UmVtb3ZlQ2hpbGQuc3RlcDEgPSBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlz
IGhpdCB3aGVuIHJlbW92aW5nIGEgY2hpbGQuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJbkNvbnNvbGUoInJlbW92ZUVsZW1lbnQoJ2dyYW5kY2hpbGRFbGVtZW50JykiKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJyZW1vdmVFbGVt
ZW50KCdncmFuZGNoaWxkRWxlbWVudCcpIik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJSZW1vdmUgZ3JhbmRjaGlsZEVsZW1lbnQuIik7CiAgICAgICAgIEluc3BlY3RvclRlc3Qu
d2FpdFVudGlsUGF1c2VkKHRlc3RSZW1vdmVDaGlsZC5zdGVwMik7CiAKQEAgLTg5LDcgKzg5LDcg
QEAgdmFyIHRlc3QgPSBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBub2RlLnNldEJyZWFrcG9p
bnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuQXR0cmlidXRlTW9kaWZpZWQpOwog
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU2V0ICdBdHRyaWJ1dGUgTW9kaWZpZWQn
IERPTSBicmVha3BvaW50IG9uIHJvb3RFbGVtZW50LiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5Db25zb2xlKCJtb2RpZnlBdHRyaWJ1dGUoJ3Jvb3RFbGVtZW50JywgJ2NsYXNz
TmFtZScsICdmb28nKSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0
aFRpbWVvdXQoIm1vZGlmeUF0dHJpYnV0ZSgncm9vdEVsZW1lbnQnLCAnY2xhc3NOYW1lJywgJ2Zv
bycpIik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJNb2RpZnkgcm9vdEVsZW1l
bnQgY2xhc3NOYW1lLiIpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZCh0
ZXN0TW9kaWZ5QXR0cmlidXRlLnN0ZXAzLmJpbmQobnVsbCwgbm9kZSkpOwogICAgIH0KQEAgLTEw
NCw3ICsxMDQsNyBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKICAgICB0ZXN0UmVtb3ZlTm9kZS5z
dGVwMSA9IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJUZXN0IHRoYXQgJ05vZGUgUmVtb3ZlZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiByZW1vdmlu
ZyBhIG5vZGUuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImFw
cGVuZEVsZW1lbnQoJ3Jvb3RFbGVtZW50JywgJ2VsZW1lbnRUb1JlbW92ZScpIiwgdGVzdFJlbW92
ZU5vZGUuc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRp
bWVvdXQoImFwcGVuZEVsZW1lbnQoJ3Jvb3RFbGVtZW50JywgJ2VsZW1lbnRUb1JlbW92ZScpIiwg
dGVzdFJlbW92ZU5vZGUuc3RlcDIpOwogICAgIH0KICAgICB0ZXN0UmVtb3ZlTm9kZS5zdGVwMiA9
IGZ1bmN0aW9uKCkKICAgICB7CkBAIC0xMTUsNyArMTE1LDcgQEAgdmFyIHRlc3QgPSBmdW5jdGlv
bigpCiAgICAgewogICAgICAgICBub2RlLnNldEJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJy
ZWFrcG9pbnQuVHlwZXMuTm9kZVJlbW92ZWQpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiU2V0ICdOb2RlIFJlbW92ZWQnIERPTSBicmVha3BvaW50IG9uIGVsZW1lbnRUb1JlbW92
ZS4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgicmVtb3ZlRWxl
bWVudCgnZWxlbWVudFRvUmVtb3ZlJykiKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZVdpdGhUaW1lb3V0KCJyZW1vdmVFbGVtZW50KCdlbGVtZW50VG9SZW1vdmUnKSIpOwog
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVtb3ZlIGVsZW1lbnRUb1JlbW92ZS4i
KTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQodGVzdFJlbW92ZU5vZGUu
c3RlcDQpOwogICAgIH0KQEAgLTEzOSw3ICsxMzksNyBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkK
ICAgICB9CiAgICAgdGVzdFJlbG9hZC5zdGVwMyA9IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImFwcGVuZEVsZW1lbnQoJ3Jvb3RFbGVt
ZW50JywgJ2NoaWxkRWxlbWVudCcpIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2VXaXRoVGltZW91dCgiYXBwZW5kRWxlbWVudCgncm9vdEVsZW1lbnQnLCAnY2hpbGRFbGVt
ZW50JykiKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFwcGVuZCBjaGlsZEVs
ZW1lbnQgdG8gcm9vdEVsZW1lbnQuIik7CiAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGls
UGF1c2VkKHRlc3RSZWxvYWQuc3RlcDQpOwogICAgIH0KQEAgLTE1OCw3ICsxNTgsOCBAQCB2YXIg
dGVzdCA9IGZ1bmN0aW9uKCkKIAogICAgIGZ1bmN0aW9uIGR1bXBTdGF0dXMoY2FsbEZyYW1lcykK
ICAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2UoY2FsbEZyYW1l
cyk7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KFdlYkluc3BlY3Rvci5wYW5lbHMu
c2NyaXB0cy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLmJvZHlFbGVtZW50Lmxhc3RDaGlsZC5pbm5l
clRleHQpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NhbGxTdGFja1NpZGViYXJQYW5lLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nh
bGxTdGFja1NpZGViYXJQYW5lLmpzCmluZGV4IDViNTBhY2UuLjkxZjM1YTYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcworKysg
Yi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMKQEAg
LTI2LDcgKzI2LDYgQEAKIFdlYkluc3BlY3Rvci5DYWxsU3RhY2tTaWRlYmFyUGFuZSA9IGZ1bmN0
aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUuY2FsbCh0aGlzLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkNhbGwgU3RhY2siKSk7Ci0gICAgCiB9CiAKIFdlYkluc3BlY3Rvci5D
YWxsU3RhY2tTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CkBAIC04NSwzNCArODQsMTEgQEAgV2Vi
SW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKIAogICAgIHVwZGF0
ZVN0YXR1czogIGZ1bmN0aW9uKHN0YXR1cykKICAgICB7Ci0gICAgICAgIHZhciBicmVha3BvaW50
T3duZXJOb2RlID0gV2ViSW5zcGVjdG9yLmRvbUFnZW50Lm5vZGVGb3JJZChzdGF0dXMuYnJlYWtw
b2ludC5ub2RlSWQpOwotICAgICAgICB2YXIgYnJlYWtwb2ludE93bmVyTGluayA9IFdlYkluc3Bl
Y3Rvci5wYW5lbHMuZWxlbWVudHMubGlua2lmeU5vZGVSZWZlcmVuY2UoYnJlYWtwb2ludE93bmVy
Tm9kZSk7Ci0gICAgICAgIHZhciBicmVha3BvaW50VHlwZSA9IHN0YXR1cy5icmVha3BvaW50LnR5
cGU7Ci0gICAgICAgIHZhciBicmVha3BvaW50VHlwZUxhYmVsID0gV2ViSW5zcGVjdG9yLkRPTUJy
ZWFrcG9pbnQubGFiZWxGb3JUeXBlKGJyZWFrcG9pbnRUeXBlKTsKLQotICAgICAgICB2YXIgZm9y
bWF0LCBzdWJzdGl0dXRpb25zOwotICAgICAgICBpZiAoYnJlYWtwb2ludFR5cGUgPT09IFdlYklu
c3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVzLlN1YnRyZWVNb2RpZmllZCkgewotICAgICAgICAg
ICAgdmFyIHRhcmdldE5vZGUgPSBXZWJJbnNwZWN0b3IuZG9tQWdlbnQubm9kZUZvcklkKHN0YXR1
cy50YXJnZXROb2RlSWQpOwotICAgICAgICAgICAgdmFyIHRhcmdldE5vZGVMaW5rID0gV2ViSW5z
cGVjdG9yLnBhbmVscy5lbGVtZW50cy5saW5raWZ5Tm9kZVJlZmVyZW5jZSh0YXJnZXROb2RlKTsK
LSAgICAgICAgICAgIGlmIChzdGF0dXMuaW5zZXJ0aW9uKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KHN0YXR1cy50YXJnZXROb2RlSWQgIT09IHN0YXR1cy5icmVha3BvaW50Lm5vZGVJZCkgewotICAg
ICAgICAgICAgICAgICAgICBmb3JtYXQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhdXNlZCBv
biBhIFwiJXNcIiBicmVha3BvaW50IHNldCBvbiAlcywgYmVjYXVzZSBhIG5ldyBjaGlsZCB3YXMg
YWRkZWQgdG8gaXRzIGRlc2NlbmRhbnQgJXMuIik7Ci0gICAgICAgICAgICAgICAgICAgIHN1YnN0
aXR1dGlvbnMgPSBbYnJlYWtwb2ludFR5cGVMYWJlbCwgYnJlYWtwb2ludE93bmVyTGluaywgdGFy
Z2V0Tm9kZUxpbmtdOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGZvcm1hdCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGF1c2VkIG9uIGEgXCIlc1wiIGJy
ZWFrcG9pbnQgc2V0IG9uICVzLCBiZWNhdXNlIGEgbmV3IGNoaWxkIHdhcyBhZGRlZCB0byB0aGF0
IG5vZGUuIik7Ci0gICAgICAgICAgICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBbYnJlYWtwb2lu
dFR5cGVMYWJlbCwgYnJlYWtwb2ludE93bmVyTGlua107Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBmb3JtYXQgPSBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlBhdXNlZCBvbiBhIFwiJXNcIiBicmVha3BvaW50IHNldCBvbiAlcywgYmVjYXVz
ZSBpdHMgZGVzY2VuZGFudCAlcyB3YXMgcmVtb3ZlZC4iKTsKLSAgICAgICAgICAgICAgICBzdWJz
dGl0dXRpb25zID0gW2JyZWFrcG9pbnRUeXBlTGFiZWwsIGJyZWFrcG9pbnRPd25lckxpbmssIHRh
cmdldE5vZGVMaW5rXTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIGZvcm1hdCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGF1c2VkIG9uIGEgXCIlc1wiIGJy
ZWFrcG9pbnQgc2V0IG9uICVzLiIpOwotICAgICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFticmVh
a3BvaW50VHlwZUxhYmVsLCBicmVha3BvaW50T3duZXJMaW5rXTsKLSAgICAgICAgfQotCiAgICAg
ICAgIHZhciBzdGF0dXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAg
ICAgICAgIHN0YXR1c0VsZW1lbnQuY2xhc3NOYW1lID0gImluZm8iOworCisgICAgICAgIHZhciBi
cmVha3BvaW50VHlwZSA9IHN0YXR1cy5icmVha3BvaW50LnR5cGU7CisgICAgICAgIHZhciBzdWJz
dGl0dXRpb25zID0gW1dlYkluc3BlY3Rvci5ET01CcmVha3BvaW50LmxhYmVsRm9yVHlwZShicmVh
a3BvaW50VHlwZSksIFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMubGlua2lmeU5vZGVCeUlk
KHN0YXR1cy5icmVha3BvaW50Lm5vZGVJZCldOwogICAgICAgICB2YXIgZm9ybWF0dGVycyA9IHsK
ICAgICAgICAgICAgIHM6IGZ1bmN0aW9uKHN1YnN0aXR1dGlvbikKICAgICAgICAgICAgIHsKQEAg
LTEyNSw3ICsxMDEsMTcgQEAgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgICAgICBiID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYik7
CiAgICAgICAgICAgICBzdGF0dXNFbGVtZW50LmFwcGVuZENoaWxkKGIpOwogICAgICAgICB9Ci0g
ICAgICAgIFN0cmluZy5mb3JtYXQoZm9ybWF0LCBzdWJzdGl0dXRpb25zLCBmb3JtYXR0ZXJzLCAi
IiwgYXBwZW5kKTsKKyAgICAgICAgaWYgKGJyZWFrcG9pbnRUeXBlID09PSBXZWJJbnNwZWN0b3Iu
RE9NQnJlYWtwb2ludC5UeXBlcy5TdWJ0cmVlTW9kaWZpZWQpIHsKKyAgICAgICAgICAgIHZhciB0
YXJnZXROb2RlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5saW5raWZ5Tm9kZUJ5SWQo
c3RhdHVzLnRhcmdldE5vZGVJZCk7CisgICAgICAgICAgICBpZiAoc3RhdHVzLmluc2VydGlvbikg
eworICAgICAgICAgICAgICAgIGlmIChzdGF0dXMudGFyZ2V0Tm9kZUlkICE9PSBzdGF0dXMuYnJl
YWtwb2ludC5ub2RlSWQpCisgICAgICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5mb3JtYXRM
b2NhbGl6ZWQoIlBhdXNlZCBvbiBhIFwiJXNcIiBicmVha3BvaW50IHNldCBvbiAlcywgYmVjYXVz
ZSBhIG5ldyBjaGlsZCB3YXMgYWRkZWQgdG8gaXRzIGRlc2NlbmRhbnQgJXMuIiwgc3Vic3RpdHV0
aW9ucy5jb25jYXQodGFyZ2V0Tm9kZSksIGZvcm1hdHRlcnMsICIiLCBhcHBlbmQpOworICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZvcm1hdExv
Y2FsaXplZCgiUGF1c2VkIG9uIGEgXCIlc1wiIGJyZWFrcG9pbnQgc2V0IG9uICVzLCBiZWNhdXNl
IGEgbmV3IGNoaWxkIHdhcyBhZGRlZCB0byB0aGF0IG5vZGUuIiwgc3Vic3RpdHV0aW9ucywgZm9y
bWF0dGVycywgIiIsIGFwcGVuZCk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAg
ICBXZWJJbnNwZWN0b3IuZm9ybWF0TG9jYWxpemVkKCJQYXVzZWQgb24gYSBcIiVzXCIgYnJlYWtw
b2ludCBzZXQgb24gJXMsIGJlY2F1c2UgaXRzIGRlc2NlbmRhbnQgJXMgd2FzIHJlbW92ZWQuIiwg
c3Vic3RpdHV0aW9ucy5jb25jYXQodGFyZ2V0Tm9kZSksIGZvcm1hdHRlcnMsICIiLCBhcHBlbmQp
OworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5mb3JtYXRMb2NhbGl6
ZWQoIlBhdXNlZCBvbiBhIFwiJXNcIiBicmVha3BvaW50IHNldCBvbiAlcy4iLCBzdWJzdGl0dXRp
b25zLCBmb3JtYXR0ZXJzLCAiIiwgYXBwZW5kKTsKICAgICAgICAgdGhpcy5ib2R5RWxlbWVudC5h
cHBlbmRDaGlsZChzdGF0dXNFbGVtZW50KTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCmluZGV4IDcyOGM0OGUuLjljZmYzYTcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCkBAIC03ODMsNiAr
NzgzLDE0IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgcmV0dXJuIGxpbms7CiAgICAgfSwKIAorICAgIGxpbmtpZnlOb2RlQnlJZDogZnVuY3Rpb24o
bm9kZUlkKQorICAgIHsKKyAgICAgICAgdmFyIG5vZGUgPSBXZWJJbnNwZWN0b3IuZG9tQWdlbnQu
bm9kZUZvcklkKG5vZGVJZCk7CisgICAgICAgIGlmICghbm9kZSkKKyAgICAgICAgICAgIHJldHVy
biBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIjxub2RlPiIp
KTsKKyAgICAgICAgcmV0dXJuIHRoaXMubGlua2lmeU5vZGVSZWZlcmVuY2Uobm9kZSk7CisgICAg
fSwKKwogICAgIHVwZGF0ZUJyZWFkY3J1bWJTaXplczogZnVuY3Rpb24oZm9jdXNlZENydW1iKQog
ICAgIHsKICAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5qcwppbmRleCA0MTI2N2RkLi5iMjJlOGVkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTIwNDUsNiArMjA0NSwxMSBAQCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcgPSBmdW5jdGlvbihzdHJpbmcpCiAgICAgcmV0dXJuIFN0cmluZy52c3By
aW50ZihzdHJpbmcsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOwog
fQogCitXZWJJbnNwZWN0b3IuZm9ybWF0TG9jYWxpemVkID0gZnVuY3Rpb24oZm9ybWF0LCBzdWJz
dGl0dXRpb25zLCBmb3JtYXR0ZXJzLCBpbml0aWFsVmFsdWUsIGFwcGVuZCkKK3sKKyAgICByZXR1
cm4gU3RyaW5nLmZvcm1hdChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoZm9ybWF0KSwgc3Vic3RpdHV0
aW9ucywgZm9ybWF0dGVycywgaW5pdGlhbFZhbHVlLCBhcHBlbmQpOworfQorCiBXZWJJbnNwZWN0
b3IuaXNNYWMgPSBmdW5jdGlvbigpCiB7CiAgICAgaWYgKCEoIl9pc01hYyIgaW4gdGhpcykpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67895</attachid>
            <date>2010-09-17 02:56:47 -0700</date>
            <delta_ts>2010-09-17 05:53:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45114-20100917135644.patch</filename>
            <type>text/plain</type>
            <size>30778</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZWY2YTJhNjU4ZTVhNzRiYjMxZjIwNTQyMjA3ODIyYzczZTg0MDRlLi42ZWMzMzFh
N2VjMTJjZjFhMjExMTg2NTFkOWFlZWE0MmFhYTA3YmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDktMTQgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3Bl
Y3Rvcjogc2hvdyBzdGF0dXMgbWVzc2FnZSBiZWxvdyBjYWxsIHN0YWNrIHdoZW4gZGVidWdnZXIg
aXMgcGF1c2VkIG9uIERPTSBicmVha3BvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NTExNAorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0
b3IvaW5zcGVjdG9yLXRlc3QyLmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9JbnNwZWN0b3JUZXN0
Lkluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCk6CisgICAgICAgIChpbml0
aWFsaXplX0luc3BlY3RvclRlc3QuSW5zcGVjdG9yVGVzdC5maW5kRE9NTm9kZS5maW5kRE9NTm9k
ZS5wcm9jZXNzQ2hpbGRyZW4pOgorICAgICAgICAoaW5pdGlhbGl6ZV9JbnNwZWN0b3JUZXN0Lklu
c3BlY3RvclRlc3QuZmluZERPTU5vZGUuZmluZERPTU5vZGUpOgorICAgICAgICAoaW5pdGlhbGl6
ZV9JbnNwZWN0b3JUZXN0Lkluc3BlY3RvclRlc3QuZmluZERPTU5vZGUpOgorICAgICAgICAqIGlu
c3BlY3Rvci9kb20tYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rv
ci9kb20tYnJlYWtwb2ludHMuaHRtbDoKKwogMjAxMC0wOS0xNiAgU2ltb24gRnJhc2VyICA8c2lt
b24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNv
bi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0Mi5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0Mi5qcwppbmRleCAxM2YzYjI1MDExZWNkZDJiZjg3YmM3NDIwNTExZTc2NTJkYjgzNTdhLi5k
ZjY1ZDhhNmZmNGJlYWEwYTljMGRmMzQ3ZDdhMDY1NjkxMmUyNjJkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdDIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QyLmpzCkBAIC0yNyw2
ICsyNywxMSBAQCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlID0gZnVuY3Rpb24oY29kZSwg
Y2FsbGJhY2spCiAgICAgSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuZ2V0RGVmYXVsdCgpLmV2YWx1YXRl
KGNvZGUsICJjb25zb2xlIiwgY2FsbGJhY2sgfHwgZnVuY3Rpb24oKSB7fSk7CiB9OwogCitJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQgPSBmdW5jdGlvbihjb2RlLCBjYWxs
YmFjaykKK3sKKyAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KHVu
ZXNjYXBlKCciICsgZXNjYXBlKGNvZGUpICsgIicpKSIsIGNhbGxiYWNrKTsKK307CisKIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0ID0gZnVuY3Rpb24odGV4dCkKIHsKICAgICByZXN1bHRzLnB1c2go
dGV4dCk7CkBAIC0xMDcsNyArMTEyLDcgQEAgSW5zcGVjdG9yVGVzdC5kaXNhYmxlUmVzb3VyY2VU
cmFja2luZyA9IGZ1bmN0aW9uKCkKIEluc3BlY3RvclRlc3QuZmluZERPTU5vZGUgPSBmdW5jdGlv
bihyb290LCBmaWx0ZXIsIGNhbGxiYWNrKQogewogICAgIHZhciBmb3VuZCA9IGZhbHNlOwotICAg
IHZhciBwZW5kaW5nQ2FsbHMgPSAwOworICAgIHZhciBwZW5kaW5nQ2FsbHMgPSAxOwogCiAgICAg
aWYgKHJvb3QpCiAgICAgICAgIGZpbmRET01Ob2RlKHJvb3QpOwpAQCAtMTI4LDIwICsxMzMsMTkg
QEAgSW5zcGVjdG9yVGVzdC5maW5kRE9NTm9kZSA9IGZ1bmN0aW9uKHJvb3QsIGZpbHRlciwgY2Fs
bGJhY2spCiAgICAgICAgIGlmIChmaWx0ZXIobm9kZSkpIHsKICAgICAgICAgICAgIGNhbGxiYWNr
KG5vZGUpOwogICAgICAgICAgICAgZm91bmQgPSB0cnVlOwotICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgcGVuZGluZ0NhbGxzICs9IDE7CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmRvbUFnZW50LmdldENoaWxkTm9kZXNBc3luYyhub2RlLCBwcm9jZXNzQ2hp
bGRyZW4pOwotICAgICAgICB9CisKKyAgICAgICAgLS1wZW5kaW5nQ2FsbHM7CisKKyAgICAgICAg
aWYgKCFmb3VuZCAmJiAhcGVuZGluZ0NhbGxzKQorICAgICAgICAgICAgc2V0VGltZW91dChmaW5k
RE9NTm9kZS5iaW5kKG51bGwsIHJvb3QpLCAwKTsKIAogICAgICAgICBmdW5jdGlvbiBwcm9jZXNz
Q2hpbGRyZW4oY2hpbGRyZW4pCiAgICAgICAgIHsKLSAgICAgICAgICAgIHBlbmRpbmdDYWxscyAt
PSAxOwotCisgICAgICAgICAgICBwZW5kaW5nQ2FsbHMgKz0gY2hpbGRyZW4gPyBjaGlsZHJlbi5s
ZW5ndGggOiAwOwogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7ICFmb3VuZCAmJiBjaGlsZHJl
biAmJiBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICAgICAgZmluZERPTU5v
ZGUoY2hpbGRyZW5baV0pOwotCi0gICAgICAgICAgICBpZiAoIWZvdW5kICYmICFwZW5kaW5nQ2Fs
bHMgJiYgbm9kZSA9PSByb290KQotICAgICAgICAgICAgICAgIGNhbGxiYWNrKG51bGwpOwogICAg
ICAgICB9CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20t
YnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVh
a3BvaW50cy1leHBlY3RlZC50eHQKaW5kZXggMmQ4NzVlYzI5OGY0MmUyYTJlYmRmN2Q1YjVlNWE4
YmE2ODc5NGYxNS4uNjM2ZTBlZDg2NDU2YWJkY2Q5NGQ3NmRkNzc2ZjQ0ZDlkZmI5NWEwOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS1icmVha3BvaW50cy1leHBlY3RlZC50
eHQKQEAgLTEsMzAgKzEsNTkgQEAKIFRlc3RzIERPTSBicmVha3BvaW50cy4gQnVnIDQyODg2CiAK
IERlYnVnZ2VyIHdhcyBlbmFibGVkLgotVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVh
a3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGluZyBjaGlsZC4KLVNldCBzdWJ0cmVlIG1vZGlmaWVk
IERPTSBicmVha3BvaW50IG9uIGQwLgotQXBwZW5kIGQxIHRvIGQwLgorVGVzdCB0aGF0ICdTdWJ0
cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGluZyBhIGNoaWxkLgor
U2V0ICdTdWJ0cmVlIE1vZGlmaWVkJyBET00gYnJlYWtwb2ludCBvbiByb290RWxlbWVudC4KK0Fw
cGVuZCBjaGlsZEVsZW1lbnQgdG8gcm9vdEVsZW1lbnQuCiBTY3JpcHQgZXhlY3V0aW9uIHBhdXNl
ZC4KLWxpbmU6IDExLCBmdW5jdGlvbjogYXBwZW5kRWxlbWVudAorQ2FsbCBzdGFjazoKKyAgICAw
KSBhcHBlbmRFbGVtZW50IChkb20tYnJlYWtwb2ludHMuaHRtbDoxMSkKKyAgICAxKSAgKDoxKQor
UGF1c2VkIG9uIGEgIlN1YnRyZWUgTW9kaWZpZWQiIGJyZWFrcG9pbnQgc2V0IG9uIGRpdiNyb290
RWxlbWVudCwgYmVjYXVzZSBhIG5ldyBjaGlsZCB3YXMgYWRkZWQgdG8gdGhhdCBub2RlLgorU2Ny
aXB0IGV4ZWN1dGlvbiByZXN1bWVkLgorVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVh
a3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGluZyBhIGdyYW5kY2hpbGQuCitBcHBlbmQgZ3JhbmRj
aGlsZEVsZW1lbnQgdG8gY2hpbGRFbGVtZW50LgorU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCitD
YWxsIHN0YWNrOgorICAgIDApIGFwcGVuZEVsZW1lbnQgKGRvbS1icmVha3BvaW50cy5odG1sOjEx
KQorICAgIDEpICAoOjEpCitQYXVzZWQgb24gYSAiU3VidHJlZSBNb2RpZmllZCIgYnJlYWtwb2lu
dCBzZXQgb24gZGl2I3Jvb3RFbGVtZW50LCBiZWNhdXNlIGEgbmV3IGNoaWxkIHdhcyBhZGRlZCB0
byBpdHMgZGVzY2VuZGFudCBkaXYjY2hpbGRFbGVtZW50LgorU2NyaXB0IGV4ZWN1dGlvbiByZXN1
bWVkLgorVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVu
IHJlbW92aW5nIGEgY2hpbGQuCitSZW1vdmUgZ3JhbmRjaGlsZEVsZW1lbnQuCitTY3JpcHQgZXhl
Y3V0aW9uIHBhdXNlZC4KK0NhbGwgc3RhY2s6CisgICAgMCkgcmVtb3ZlRWxlbWVudCAoZG9tLWJy
ZWFrcG9pbnRzLmh0bWw6MjMpCisgICAgMSkgICg6MSkKK1BhdXNlZCBvbiBhICJTdWJ0cmVlIE1v
ZGlmaWVkIiBicmVha3BvaW50IHNldCBvbiBkaXYjcm9vdEVsZW1lbnQsIGJlY2F1c2UgaXRzIGRl
c2NlbmRhbnQgZGl2I2dyYW5kY2hpbGRFbGVtZW50IHdhcyByZW1vdmVkLgogU2NyaXB0IGV4ZWN1
dGlvbiByZXN1bWVkLgogVGVzdCB0aGF0ICdBdHRyaWJ1dGUgTW9kaWZpZWQnIGJyZWFrcG9pbnQg
aXMgaGl0IHdoZW4gbW9kaWZ5aW5nIGF0dHJpYnV0ZS4KLVNldCBhdHRyaWJ1dGUgbW9kaWZpZWQg
RE9NIGJyZWFrcG9pbnQgb24gZDEuCi1Nb2RpZnkgZDEgY2xhc3NOYW1lLgorU2V0ICdBdHRyaWJ1
dGUgTW9kaWZpZWQnIERPTSBicmVha3BvaW50IG9uIHJvb3RFbGVtZW50LgorTW9kaWZ5IHJvb3RF
bGVtZW50IGNsYXNzTmFtZS4KIFNjcmlwdCBleGVjdXRpb24gcGF1c2VkLgotbGluZTogMTcsIGZ1
bmN0aW9uOiBtb2RpZnlBdHRyaWJ1dGUKK0NhbGwgc3RhY2s6CisgICAgMCkgbW9kaWZ5QXR0cmli
dXRlIChkb20tYnJlYWtwb2ludHMuaHRtbDoxNykKKyAgICAxKSAgKDoxKQorUGF1c2VkIG9uIGEg
IkF0dHJpYnV0ZSBNb2RpZmllZCIgYnJlYWtwb2ludCBzZXQgb24gZGl2I3Jvb3RFbGVtZW50Lgog
U2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgogVGVzdCB0aGF0ICdOb2RlIFJlbW92ZWQnIGJyZWFr
cG9pbnQgaXMgaGl0IHdoZW4gcmVtb3ZpbmcgYSBub2RlLgotU2V0IG5vZGUgcmVtb3ZlZCBET00g
YnJlYWtwb2ludCBvbiBkMS4KLVJlbW92ZSBkMS4KK0FwcGVuZCBlbGVtZW50VG9SZW1vdmUgdG8g
cm9vdEVsZW1lbnQuCitTZXQgJ05vZGUgUmVtb3ZlZCcgRE9NIGJyZWFrcG9pbnQgb24gZWxlbWVu
dFRvUmVtb3ZlLgorUmVtb3ZlIGVsZW1lbnRUb1JlbW92ZS4KIFNjcmlwdCBleGVjdXRpb24gcGF1
c2VkLgotbGluZTogMjMsIGZ1bmN0aW9uOiByZW1vdmVFbGVtZW50CitDYWxsIHN0YWNrOgorICAg
IDApIHJlbW92ZUVsZW1lbnQgKGRvbS1icmVha3BvaW50cy5odG1sOjIzKQorICAgIDEpICAoOjEp
CitQYXVzZWQgb24gYSAiTm9kZSBSZW1vdmVkIiBicmVha3BvaW50IHNldCBvbiBkaXYjZWxlbWVu
dFRvUmVtb3ZlLgogU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgogVGVzdCB0aGF0IERPTSBicmVh
a3BvaW50cyBhcmUgcGVyc2lzdGVkIGJldHdlZW4gcGFnZSByZWxvYWRzLgotU2V0IHN1YnRyZWUg
bW9kaWZpZWQgRE9NIGJyZWFrcG9pbnQgb24gZDAuCitTZXQgJ1N1YnRyZWUgTW9kaWZpZWQnIERP
TSBicmVha3BvaW50IG9uIHJvb3RFbGVtZW50LgogUGFnZSByZWxvYWRlZC4KLUFwcGVuZCBkMSB0
byBkMC4KK0FwcGVuZCBjaGlsZEVsZW1lbnQgdG8gcm9vdEVsZW1lbnQuCiBTY3JpcHQgZXhlY3V0
aW9uIHBhdXNlZC4KLWxpbmU6IDExLCBmdW5jdGlvbjogYXBwZW5kRWxlbWVudAorQ2FsbCBzdGFj
azoKKyAgICAwKSBhcHBlbmRFbGVtZW50IChkb20tYnJlYWtwb2ludHMuaHRtbDoxMSkKKyAgICAx
KSAgKDoxKQorUGF1c2VkIG9uIGEgIlN1YnRyZWUgTW9kaWZpZWQiIGJyZWFrcG9pbnQgc2V0IG9u
IGRpdiNyb290RWxlbWVudCwgYmVjYXVzZSBhIG5ldyBjaGlsZCB3YXMgYWRkZWQgdG8gdGhhdCBu
b2RlLgogU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVkLgogRGVidWdnZXIgd2FzIGRpc2FibGVkLgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tLWJyZWFrcG9pbnRzLmh0bWwKaW5kZXggNzYyNWE0
NzIwOWQyN2QyYjUyMmQ0MWQ5ZjIyNDFhNDA5YTkyY2EyNi4uYjY2YTE1MTkyYzY2ZjRiNzMwZDMz
YjMzYzU4MGZlNTU4MDhhMTkzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rv
bS1icmVha3BvaW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20tYnJlYWtw
b2ludHMuaHRtbApAQCAtMjUsODUgKzI1LDEyNyBAQCBmdW5jdGlvbiByZW1vdmVFbGVtZW50KGVs
ZW1lbnRJZCkKIAogdmFyIHRlc3QgPSBmdW5jdGlvbigpCiB7Ci0gICAgSW5zcGVjdG9yVGVzdC5z
dGFydERlYnVnZ2VyVGVzdChzdGVwMSk7Ci0KLSAgICB2YXIgZDAsIGQxOworICAgIHRlc3RJbnNl
cnRDaGlsZCA9IHt9OworICAgIHRlc3RJbnNlcnRDaGlsZC5zdGVwMSA9IGZ1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0IHRoYXQgJ1N1YnRyZWUg
TW9kaWZpZWQnIGJyZWFrcG9pbnQgaXMgaGl0IHdoZW4gYXBwZW5kaW5nIGEgY2hpbGQuIik7Cisg
ICAgICAgIGZpbmRET01Ob2RlQnlJZCgicm9vdEVsZW1lbnQiLCB0ZXN0SW5zZXJ0Q2hpbGQuc3Rl
cDIpOworICAgIH07CisgICAgdGVzdEluc2VydENoaWxkLnN0ZXAyID0gZnVuY3Rpb24obm9kZSkK
KyAgICB7CisgICAgICAgIG5vZGUuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtw
b2ludC5UeXBlcy5TdWJ0cmVlTW9kaWZpZWQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiU2V0ICdTdWJ0cmVlIE1vZGlmaWVkJyBET00gYnJlYWtwb2ludCBvbiByb290RWxlbWVu
dC4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJh
cHBlbmRFbGVtZW50KCdyb290RWxlbWVudCcsICdjaGlsZEVsZW1lbnQnKSIpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQXBwZW5kIGNoaWxkRWxlbWVudCB0byByb290RWxlbWVu
dC4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQodGVzdEluc2VydENo
aWxkLnN0ZXAzKTsKKyAgICB9OworICAgIHRlc3RJbnNlcnRDaGlsZC5zdGVwMyA9IGZ1bmN0aW9u
KGNhbGxGcmFtZXMpCisgICAgeworICAgICAgICBkdW1wU3RhdHVzKGNhbGxGcmFtZXMpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LnJlc3VtZUV4ZWN1dGlvbih0ZXN0SW5zZXJ0R3JhbmRjaGlsZC5z
dGVwMSk7CisgICAgfTsKIAotICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB2YXIgdGVzdEluc2Vy
dEdyYW5kY2hpbGQgPSB7fTsKKyAgICB0ZXN0SW5zZXJ0R3JhbmRjaGlsZC5zdGVwMSA9IGZ1bmN0
aW9uKCkKICAgICB7Ci0gICAgICAgIGZpbmRET01Ob2RlQnlJZCgiZDAiLCBzdGVwMik7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0IHRoYXQgJ1N1YnRyZWUgTW9kaWZpZWQn
IGJyZWFrcG9pbnQgaXMgaGl0IHdoZW4gYXBwZW5kaW5nIGEgZ3JhbmRjaGlsZC4iKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJhcHBlbmRFbGVtZW50
KCdjaGlsZEVsZW1lbnQnLCAnZ3JhbmRjaGlsZEVsZW1lbnQnKSIpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiQXBwZW5kIGdyYW5kY2hpbGRFbGVtZW50IHRvIGNoaWxkRWxlbWVu
dC4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQodGVzdEluc2VydEdy
YW5kY2hpbGQuc3RlcDIpOwogICAgIH0KLQotICAgIGZ1bmN0aW9uIHN0ZXAyKG5vZGUpCisgICAg
dGVzdEluc2VydEdyYW5kY2hpbGQuc3RlcDIgPSBmdW5jdGlvbihjYWxsRnJhbWVzKQogICAgIHsK
LSAgICAgICAgZDAgPSBub2RlOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGVz
dCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIGFwcGVuZGlu
ZyBjaGlsZC4iKTsKLSAgICAgICAgZDAuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJl
YWtwb2ludC5UeXBlcy5TdWJ0cmVlTW9kaWZpZWQpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiU2V0IHN1YnRyZWUgbW9kaWZpZWQgRE9NIGJyZWFrcG9pbnQgb24gZDAuIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoImFwcGVuZEVsZW1lbnQoJ2Qw
JywgJ2QxJykiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFwcGVuZCBkMSB0
byBkMC4iKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQoc3RlcDMpOwor
ICAgICAgICBkdW1wU3RhdHVzKGNhbGxGcmFtZXMpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJl
c3VtZUV4ZWN1dGlvbih0ZXN0UmVtb3ZlQ2hpbGQuc3RlcDEpOwogICAgIH0KIAotICAgIGZ1bmN0
aW9uIHN0ZXAzKGNhbGxGcmFtZXMpCisgICAgdmFyIHRlc3RSZW1vdmVDaGlsZCA9IHt9OworICAg
IHRlc3RSZW1vdmVDaGlsZC5zdGVwMSA9IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJsaW5lOiAiICsgY2FsbEZyYW1lc1swXS5saW5lICsgIiwgZnVu
Y3Rpb246ICIgKyBjYWxsRnJhbWVzWzBdLmZ1bmN0aW9uTmFtZSk7Ci0gICAgICAgIGQwLnJlbW92
ZUJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuU3VidHJlZU1vZGlm
aWVkKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24oZmluZERPTU5vZGVC
eUlkLmJpbmQobnVsbCwgImQxIiwgc3RlcDQpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlRlc3QgdGhhdCAnU3VidHJlZSBNb2RpZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hl
biByZW1vdmluZyBhIGNoaWxkLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlV2l0aFRpbWVvdXQoInJlbW92ZUVsZW1lbnQoJ2dyYW5kY2hpbGRFbGVtZW50JykiKTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJlbW92ZSBncmFuZGNoaWxkRWxlbWVudC4i
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQodGVzdFJlbW92ZUNoaWxk
LnN0ZXAyKTsKKworICAgIH0KKyAgICB0ZXN0UmVtb3ZlQ2hpbGQuc3RlcDIgPSBmdW5jdGlvbihj
YWxsRnJhbWVzKQorICAgIHsKKyAgICAgICAgZHVtcFN0YXR1cyhjYWxsRnJhbWVzKTsKKyAgICAg
ICAgZmluZERPTU5vZGVCeUlkKCJyb290RWxlbWVudCIsIHRlc3RSZW1vdmVDaGlsZC5zdGVwMyk7
CisgICAgfQorICAgIHRlc3RSZW1vdmVDaGlsZC5zdGVwMyA9IGZ1bmN0aW9uKG5vZGUpCisgICAg
eworICAgICAgICBub2RlLnJlbW92ZUJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9p
bnQuVHlwZXMuU3VidHJlZU1vZGlmaWVkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVF
eGVjdXRpb24odGVzdE1vZGlmeUF0dHJpYnV0ZS5zdGVwMSk7CiAgICAgfQogCi0gICAgZnVuY3Rp
b24gc3RlcDQobm9kZSkKKyAgICB2YXIgdGVzdE1vZGlmeUF0dHJpYnV0ZSA9IHt9OworICAgIHRl
c3RNb2RpZnlBdHRyaWJ1dGUuc3RlcDEgPSBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBkMSA9
IG5vZGU7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0IHRoYXQgJ0F0dHJp
YnV0ZSBNb2RpZmllZCcgYnJlYWtwb2ludCBpcyBoaXQgd2hlbiBtb2RpZnlpbmcgYXR0cmlidXRl
LiIpOwotICAgICAgICBkMS5zZXRCcmVha3BvaW50KFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50
LlR5cGVzLkF0dHJpYnV0ZU1vZGlmaWVkKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlNldCBhdHRyaWJ1dGUgbW9kaWZpZWQgRE9NIGJyZWFrcG9pbnQgb24gZDEuIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJbkNvbnNvbGUoIm1vZGlmeUF0dHJpYnV0ZSgnZDEn
LCAnY2xhc3NOYW1lJywgJ2ZvbycpIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJNb2RpZnkgZDEgY2xhc3NOYW1lLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRp
bFBhdXNlZChzdGVwNSk7CisgICAgICAgIGZpbmRET01Ob2RlQnlJZCgicm9vdEVsZW1lbnQiLCB0
ZXN0TW9kaWZ5QXR0cmlidXRlLnN0ZXAyKTsKICAgICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwNShj
YWxsRnJhbWVzKQorICAgIHRlc3RNb2RpZnlBdHRyaWJ1dGUuc3RlcDIgPSBmdW5jdGlvbihub2Rl
KQorICAgIHsKKyAgICAgICAgbm9kZS5zZXRCcmVha3BvaW50KFdlYkluc3BlY3Rvci5ET01CcmVh
a3BvaW50LlR5cGVzLkF0dHJpYnV0ZU1vZGlmaWVkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIlNldCAnQXR0cmlidXRlIE1vZGlmaWVkJyBET00gYnJlYWtwb2ludCBvbiByb290
RWxlbWVudC4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1l
b3V0KCJtb2RpZnlBdHRyaWJ1dGUoJ3Jvb3RFbGVtZW50JywgJ2NsYXNzTmFtZScsICdmb28nKSIp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTW9kaWZ5IHJvb3RFbGVtZW50IGNs
YXNzTmFtZS4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQodGVzdE1v
ZGlmeUF0dHJpYnV0ZS5zdGVwMy5iaW5kKG51bGwsIG5vZGUpKTsKKyAgICB9CisgICAgdGVzdE1v
ZGlmeUF0dHJpYnV0ZS5zdGVwMyA9IGZ1bmN0aW9uKG5vZGUsIGNhbGxGcmFtZXMpCiAgICAgewot
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgibGluZTogIiArIGNhbGxGcmFtZXNbMF0u
bGluZSArICIsIGZ1bmN0aW9uOiAiICsgY2FsbEZyYW1lc1swXS5mdW5jdGlvbk5hbWUpOwotICAg
ICAgICBkMS5yZW1vdmVCcmVha3BvaW50KFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50LlR5cGVz
LkF0dHJpYnV0ZU1vZGlmaWVkKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRp
b24oc3RlcDYpOworICAgICAgICBkdW1wU3RhdHVzKGNhbGxGcmFtZXMpOworICAgICAgICBub2Rl
LnJlbW92ZUJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQuVHlwZXMuQXR0cmli
dXRlTW9kaWZpZWQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LnJlc3VtZUV4ZWN1dGlvbih0ZXN0
UmVtb3ZlTm9kZS5zdGVwMSk7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gc3RlcDYoKQorICAgIHZh
ciB0ZXN0UmVtb3ZlTm9kZSA9IHt9OworICAgIHRlc3RSZW1vdmVOb2RlLnN0ZXAxID0gZnVuY3Rp
b24oKQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlRlc3QgdGhhdCAn
Tm9kZSBSZW1vdmVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIHJlbW92aW5nIGEgbm9kZS4iKTsK
LSAgICAgICAgZDEuc2V0QnJlYWtwb2ludChXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBl
cy5Ob2RlUmVtb3ZlZCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJTZXQgbm9k
ZSByZW1vdmVkIERPTSBicmVha3BvaW50IG9uIGQxLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0
LmV2YWx1YXRlSW5Db25zb2xlKCJyZW1vdmVFbGVtZW50KCdkMScpIik7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuYWRkUmVzdWx0KCJSZW1vdmUgZDEuIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3Qu
d2FpdFVudGlsUGF1c2VkKHN0ZXA3KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZVdpdGhUaW1lb3V0KCJhcHBlbmRFbGVtZW50KCdyb290RWxlbWVudCcsICdlbGVtZW50VG9S
ZW1vdmUnKSIsIHRlc3RSZW1vdmVOb2RlLnN0ZXAyKTsKICAgICB9Ci0KLSAgICBmdW5jdGlvbiBz
dGVwNyhjYWxsRnJhbWVzKQorICAgIHRlc3RSZW1vdmVOb2RlLnN0ZXAyID0gZnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkFwcGVuZCBlbGVtZW50VG9S
ZW1vdmUgdG8gcm9vdEVsZW1lbnQuIik7CisgICAgICAgIGZpbmRET01Ob2RlQnlJZCgiZWxlbWVu
dFRvUmVtb3ZlIiwgdGVzdFJlbW92ZU5vZGUuc3RlcDMpOworICAgIH0KKyAgICB0ZXN0UmVtb3Zl
Tm9kZS5zdGVwMyA9IGZ1bmN0aW9uKG5vZGUpCiAgICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgibGluZTogIiArIGNhbGxGcmFtZXNbMF0ubGluZSArICIsIGZ1bmN0aW9uOiAi
ICsgY2FsbEZyYW1lc1swXS5mdW5jdGlvbk5hbWUpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LnJl
c3VtZUV4ZWN1dGlvbihzdGVwOCk7CisgICAgICAgIG5vZGUuc2V0QnJlYWtwb2ludChXZWJJbnNw
ZWN0b3IuRE9NQnJlYWtwb2ludC5UeXBlcy5Ob2RlUmVtb3ZlZCk7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJTZXQgJ05vZGUgUmVtb3ZlZCcgRE9NIGJyZWFrcG9pbnQgb24gZWxl
bWVudFRvUmVtb3ZlLiIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0
aFRpbWVvdXQoInJlbW92ZUVsZW1lbnQoJ2VsZW1lbnRUb1JlbW92ZScpIik7CisgICAgICAgIElu
c3BlY3RvclRlc3QuYWRkUmVzdWx0KCJSZW1vdmUgZWxlbWVudFRvUmVtb3ZlLiIpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZCh0ZXN0UmVtb3ZlTm9kZS5zdGVwNCk7Cisg
ICAgfQorICAgIHRlc3RSZW1vdmVOb2RlLnN0ZXA0ID0gZnVuY3Rpb24oY2FsbEZyYW1lcykKKyAg
ICB7CisgICAgICAgIGR1bXBTdGF0dXMoY2FsbEZyYW1lcyk7CisgICAgICAgIEluc3BlY3RvclRl
c3QucmVzdW1lRXhlY3V0aW9uKHRlc3RSZWxvYWQuc3RlcDEpOwogICAgIH0KIAotICAgIGZ1bmN0
aW9uIHN0ZXA4KCkKKyAgICB2YXIgdGVzdFJlbG9hZD0ge307CisgICAgdGVzdFJlbG9hZC5zdGVw
MSA9IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJU
ZXN0IHRoYXQgRE9NIGJyZWFrcG9pbnRzIGFyZSBwZXJzaXN0ZWQgYmV0d2VlbiBwYWdlIHJlbG9h
ZHMuIik7Ci0gICAgICAgIGQwLnNldEJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9p
bnQuVHlwZXMuU3VidHJlZU1vZGlmaWVkKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIlNldCBzdWJ0cmVlIG1vZGlmaWVkIERPTSBicmVha3BvaW50IG9uIGQwLiIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LnJlbG9hZFBhZ2Uoc3RlcDkpOworICAgICAgICBmaW5kRE9NTm9kZUJ5
SWQoInJvb3RFbGVtZW50IiwgdGVzdFJlbG9hZC5zdGVwMik7CiAgICAgfQotCi0gICAgZnVuY3Rp
b24gc3RlcDkoKQorICAgIHRlc3RSZWxvYWQuc3RlcDIgPSBmdW5jdGlvbihub2RlKQogICAgIHsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluQ29uc29sZSgiYXBwZW5kRWxlbWVudCgn
ZDAnLCAnZDEnKSIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQXBwZW5kIGQx
IHRvIGQwLiIpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRVbnRpbFBhdXNlZChzdGVwMTAp
OworICAgICAgICBub2RlLnNldEJyZWFrcG9pbnQoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnQu
VHlwZXMuU3VidHJlZU1vZGlmaWVkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlNldCAnU3VidHJlZSBNb2RpZmllZCcgRE9NIGJyZWFrcG9pbnQgb24gcm9vdEVsZW1lbnQuIik7
CisgICAgICAgIEluc3BlY3RvclRlc3QucmVsb2FkUGFnZSh0ZXN0UmVsb2FkLnN0ZXAzKTsKICAg
ICB9Ci0KLSAgICBmdW5jdGlvbiBzdGVwMTAoY2FsbEZyYW1lcykKKyAgICB0ZXN0UmVsb2FkLnN0
ZXAzID0gZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
ImxpbmU6ICIgKyBjYWxsRnJhbWVzWzBdLmxpbmUgKyAiLCBmdW5jdGlvbjogIiArIGNhbGxGcmFt
ZXNbMF0uZnVuY3Rpb25OYW1lKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFn
ZVdpdGhUaW1lb3V0KCJhcHBlbmRFbGVtZW50KCdyb290RWxlbWVudCcsICdjaGlsZEVsZW1lbnQn
KSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiQXBwZW5kIGNoaWxkRWxlbWVu
dCB0byByb290RWxlbWVudC4iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVz
ZWQodGVzdFJlbG9hZC5zdGVwNCk7CisgICAgfQorICAgIHRlc3RSZWxvYWQuc3RlcDQgPSBmdW5j
dGlvbihjYWxsRnJhbWVzKQorICAgIHsKKyAgICAgICAgZHVtcFN0YXR1cyhjYWxsRnJhbWVzKTsK
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZURlYnVnZ2VyVGVzdCgpOwogICAgIH0KIApA
QCAtMTEzLDYgKzE1NSwxNCBAQCB2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJl
dHVybiBub2RlLmdldEF0dHJpYnV0ZSgiaWQiKSA9PT0gaWQ7CiAgICAgICAgIH0sIGNhbGxiYWNr
KTsKICAgICB9CisKKyAgICBmdW5jdGlvbiBkdW1wU3RhdHVzKGNhbGxGcmFtZXMpCisgICAgewor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNlKGNhbGxGcmFtZXMpOworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMu
c2lkZWJhclBhbmVzLmNhbGxzdGFjay5ib2R5RWxlbWVudC5sYXN0Q2hpbGQuaW5uZXJUZXh0KTsK
KyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnN0YXJ0RGVidWdnZXJUZXN0KHRlc3RJbnNlcnRD
aGlsZC5zdGVwMSk7CiB9OwogCiA8L3NjcmlwdD4KQEAgLTEyMiw3ICsxNzIsNyBAQCB2YXIgdGVz
dCA9IGZ1bmN0aW9uKCkKIDxwPgogVGVzdHMgRE9NIGJyZWFrcG9pbnRzLiA8YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4ODYiPkJ1ZyA0Mjg4NjwvYT4K
IDwvcD4KLTxkaXYgaWQ9ImQwIj48L2Rpdj4KKzxkaXYgaWQ9InJvb3RFbGVtZW50Ij48L2Rpdj4K
IDwvYm9keT4KIDwvaHRtbD4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBlMTM4MDdkOWQ1MDZmZDM1ZmNjODkwZmM4ZjZhZGE2MGVhZDZm
NDRkLi5hYzdlYTU0Y2YxMzIwMzc0N2U2ZjE4MDE1OGEzODc4YWNiZGQ2ZTQ0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDEwLTA5LTE0ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IHNob3cgc3RhdHVzIG1lc3NhZ2UgYmVsb3cgY2FsbCBzdGFjayB3aGVuIGRlYnVn
Z2VyIGlzIHBhdXNlZCBvbiBET00gYnJlYWtwb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxMTQKKworICAgICAgICAqIEVuZ2xpc2gubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnBlcmZvcm1TZWFy
Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OnNob3VsZEJyZWFrT25O
b2RlSW5zZXJ0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpzaG91
bGRCcmVha09uTm9kZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OnNob3VsZEJyZWFrT25BdHRyaWJ1dGVNb2RpZmljYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmRlc2NyaXB0aW9uRm9yRE9NRXZlbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRlYnVn
Z2VyQWdlbnQ6OmRpZFBhdXNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxT
dGFja1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGVi
YXJQYW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DYWxsU3RhY2tTaWRlYmFyUGFuZS5wcm90
b3R5cGUudXBkYXRlU3RhdHVzLmZvcm1hdHRlcnMucyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZVN0YXR1cy5hcHBlbmQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGVT
dGF0dXMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5saW5raWZ5Tm9k
ZUJ5SWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuZGVidWdnZXJQYXVz
ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAg
ICAgKC5wYW5lID4gLmJvZHkgLnBsYWNhcmQgKyAuaW5mbyk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IucGF1c2VkU2Ny
aXB0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5mb3JtYXRMb2NhbGl6ZWQpOgorCiAyMDEwLTA5
LTE2ICB0YWthbm8gdGFrdW1pICA8dGFrYW5vMUBhc2lhLmFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRW5nbGlzaC5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMKaW5kZXggZWVkZjIyNWZhNTdkZjYyMGNjMTI3OTVmMTc1NjVkZDdhOWY2NmFjMS4u
YTM3MjBlMjJlMzVlNzMwNmRjZWYwMTc3ZDI1MWY3ODRiMTNkYWU1MSAxMDA2NDQKR0lUIGJpbmFy
eSBwYXRjaApkZWx0YSAxMDM3CnpjbWJSOW55S1hyKH13Z2QkfkZ2bjRFWVF4NDU8dXUzYHp7SzM8
P2FrSyYtQG9CdEgyLW4hYkR+TG9yWkkzUSNUfAp6czYmQXY1cnxgZT5Rc1ReS3plZTZ4T2x3K1NX
TzlCNE08SzAkViZxMU9hfChKbTt1cTcyTld2QCR8VztvRmt+fDEKemZLNHQzc3dvREZCPzVVTTds
Q1htMG90YmtSOGF6ITBmYG1eXmBydmJrT0VZZjJOWUtUeUZtfT1oRTNfQmw3cmlZCnpDN0goZlU2
QFV+RmYwTHZiUnN5c3BmTnNxVUFpUUcqSlJTb0hJcENZNyozdl8kJHtUSmlOdn54YUMlVnlyYW5r
Jgp6RCp+cGJUd3AzSTFFbn5eVkc+SklIJXhBakg9TH1XI1VxWDxwOXh+UFZEZyVEWTVYQjRqaUNw
YWtBUWlHIUoyXiEKRTBFKEA+dkgkPTgKCmRlbHRhIDIxCmRjbVpxcSFaaGJLKH13Z2RsbDJ3cUNk
KChLTzxwfWM1Q0N1bjNDe29rCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
CmluZGV4IGRkZDcxZjk4ZTI5MTE4YjRiM2M3YmIwNTE5OGM2YmMxNWU5NzlhN2UuLmQwN2U2Y2Zm
NjliMmY0ZjA0YTY3M2RkYmE2ZmNlZTljNzcwMzBlNzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5jcHAKQEAgLTcwNyw3ICs3MDcsNyBAQCB2b2lkIEluc3BlY3RvckRPTUFn
ZW50OjpwZXJmb3JtU2VhcmNoKGNvbnN0IFN0cmluZyYgd2hpdGVzcGFjZVRyaW1tZWRRdWVyeSwg
Ym9vbAogICAgICAgICAgICAgbV9wZW5kaW5nTWF0Y2hKb2JzLmFwcGVuZChuZXcgTWF0Y2hQbGFp
blRleHRKb2IoZG9jdW1lbnQsIGVzY2FwZWRRdWVyeSkpOwogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgIG1fcGVuZGluZ01hdGNoSm9icy5h
cHBlbmQobmV3IE1hdGNoRXhhY3RJZEpvYihkb2N1bWVudCwgd2hpdGVzcGFjZVRyaW1tZWRRdWVy
eSkpOwogICAgICAgICBtX3BlbmRpbmdNYXRjaEpvYnMuYXBwZW5kKG5ldyBNYXRjaEV4YWN0Q2xh
c3NOYW1lc0pvYihkb2N1bWVudCwgd2hpdGVzcGFjZVRyaW1tZWRRdWVyeSkpOwogICAgICAgICBt
X3BlbmRpbmdNYXRjaEpvYnMuYXBwZW5kKG5ldyBNYXRjaEV4YWN0VGFnTmFtZXNKb2IoZG9jdW1l
bnQsIHRhZ05hbWVRdWVyeSkpOwpAQCAtNzc2LDM4ICs3NzYsNzAgQEAgdm9pZCBJbnNwZWN0b3JE
T01BZ2VudDo6cmVtb3ZlRE9NQnJlYWtwb2ludChsb25nIG5vZGVJZCwgbG9uZyB0eXBlKQogCiBi
b29sIEluc3BlY3RvckRPTUFnZW50OjpzaG91bGRCcmVha09uTm9kZUluc2VydGlvbihOb2RlKiwg
Tm9kZSogcGFyZW50LCBQYXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiogZGV0YWlscykKIHsKLSAg
ICBpZiAoIWhhc0JyZWFrcG9pbnQocGFyZW50LCBTdWJ0cmVlTW9kaWZpZWQpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGV0YWlsc09iamVjdCA9
IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgZGV0YWlsc09iamVjdC0+c2V0T2JqZWN0
KCJicmVha3BvaW50IiwgY3JlYXRlQnJlYWtwb2ludChwYXJlbnQsIFN1YnRyZWVNb2RpZmllZCkp
OwotICAgICpkZXRhaWxzID0gZGV0YWlsc09iamVjdDsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBp
ZiAoaGFzQnJlYWtwb2ludChwYXJlbnQsIFN1YnRyZWVNb2RpZmllZCkpIHsKKyAgICAgICAgKmRl
dGFpbHMgPSBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KHBhcmVudCwgU3VidHJlZU1vZGlmaWVkLCB0
cnVlKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKIH0K
IAogYm9vbCBJbnNwZWN0b3JET01BZ2VudDo6c2hvdWxkQnJlYWtPbk5vZGVSZW1vdmFsKE5vZGUq
IG5vZGUsIFBhc3NSZWZQdHI8SW5zcGVjdG9yVmFsdWU+KiBkZXRhaWxzKQogewotICAgIGJvb2wg
aGFzTm9kZVJlbW92ZWRCcmVha3BvaW50ID0gaGFzQnJlYWtwb2ludChub2RlLCBOb2RlUmVtb3Zl
ZCk7Ci0gICAgYm9vbCBoYXNBbnlCcmVha3BvaW50ID0gaGFzTm9kZVJlbW92ZWRCcmVha3BvaW50
IHx8IGhhc0JyZWFrcG9pbnQoaW5uZXJQYXJlbnROb2RlKG5vZGUpLCBTdWJ0cmVlTW9kaWZpZWQp
OwotICAgIGlmICghaGFzQW55QnJlYWtwb2ludCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZGV0YWlsc09iamVjdCA9IEluc3BlY3Rvck9iamVj
dDo6Y3JlYXRlKCk7Ci0gICAgaWYgKGhhc05vZGVSZW1vdmVkQnJlYWtwb2ludCkKLSAgICAgICAg
ZGV0YWlsc09iamVjdC0+c2V0T2JqZWN0KCJicmVha3BvaW50IiwgY3JlYXRlQnJlYWtwb2ludChu
b2RlLCBOb2RlUmVtb3ZlZCkpOwotICAgIGVsc2UKLSAgICAgICAgZGV0YWlsc09iamVjdC0+c2V0
T2JqZWN0KCJicmVha3BvaW50IiwgY3JlYXRlQnJlYWtwb2ludChpbm5lclBhcmVudE5vZGUobm9k
ZSksIFN1YnRyZWVNb2RpZmllZCkpOwotICAgICpkZXRhaWxzID0gZGV0YWlsc09iamVjdDsKLSAg
ICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoaGFzQnJlYWtwb2ludChub2RlLCBOb2RlUmVtb3ZlZCkp
IHsKKyAgICAgICAgKmRldGFpbHMgPSBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KG5vZGUsIE5vZGVS
ZW1vdmVkLCBmYWxzZSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoaGFz
QnJlYWtwb2ludChpbm5lclBhcmVudE5vZGUobm9kZSksIFN1YnRyZWVNb2RpZmllZCkpIHsKKyAg
ICAgICAgKmRldGFpbHMgPSBkZXNjcmlwdGlvbkZvckRPTUV2ZW50KG5vZGUsIFN1YnRyZWVNb2Rp
ZmllZCwgZmFsc2UpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZh
bHNlOwogfQogCiBib29sIEluc3BlY3RvckRPTUFnZW50OjpzaG91bGRCcmVha09uQXR0cmlidXRl
TW9kaWZpY2F0aW9uKEVsZW1lbnQqIGVsZW1lbnQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yVmFsdWU+
KiBkZXRhaWxzKQogewotICAgIGlmICghaGFzQnJlYWtwb2ludChlbGVtZW50LCBBdHRyaWJ1dGVN
b2RpZmllZCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiBkZXRhaWxzT2JqZWN0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICBkZXRh
aWxzT2JqZWN0LT5zZXRPYmplY3QoImJyZWFrcG9pbnQiLCBjcmVhdGVCcmVha3BvaW50KGVsZW1l
bnQsIEF0dHJpYnV0ZU1vZGlmaWVkKSk7Ci0gICAgKmRldGFpbHMgPSBkZXRhaWxzT2JqZWN0Owot
ICAgIHJldHVybiB0cnVlOworICAgIGlmIChoYXNCcmVha3BvaW50KGVsZW1lbnQsIEF0dHJpYnV0
ZU1vZGlmaWVkKSkgeworICAgICAgICAqZGV0YWlscyA9IGRlc2NyaXB0aW9uRm9yRE9NRXZlbnQo
ZWxlbWVudCwgQXR0cmlidXRlTW9kaWZpZWQsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworUGFzc1JlZlB0cjxJbnNwZWN0b3JWYWx1
ZT4gSW5zcGVjdG9yRE9NQWdlbnQ6OmRlc2NyaXB0aW9uRm9yRE9NRXZlbnQoTm9kZSogdGFyZ2V0
LCBsb25nIGJyZWFrcG9pbnRUeXBlLCBib29sIGluc2VydGlvbikKK3sKKyAgICBBU1NFUlQoaGFz
QnJlYWtwb2ludCh0YXJnZXQsIGJyZWFrcG9pbnRUeXBlKSk7CisKKyAgICBSZWZQdHI8SW5zcGVj
dG9yT2JqZWN0PiBkZXNjcmlwdGlvbiA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CisgICAg
Tm9kZSogYnJlYWtwb2ludE93bmVyID0gdGFyZ2V0OworICAgIGlmICgoMSA8PCBicmVha3BvaW50
VHlwZSkgJiBpbmhlcml0YWJsZURPTUJyZWFrcG9pbnRUeXBlc01hc2spIHsKKyAgICAgICAgLy8g
Rm9yIGluaGVyaXRhYmxlIGJyZWFrcG9pbnQgdHlwZXMsIHRhcmdldCBub2RlIGlzbid0IGFsd2F5
cyB0aGUgc2FtZSBhcyB0aGUgbm9kZSB0aGF0IG93bnMgYSBicmVha3BvaW50LgorICAgICAgICAv
LyBUYXJnZXQgbm9kZSBtYXkgYmUgdW5rbm93biB0byBmcm9udGVuZCwgc28gd2UgbmVlZCB0byBw
dXNoIGl0IGZpcnN0LgorICAgICAgICBsb25nIHRhcmdldE5vZGVJZCA9IHB1c2hOb2RlUGF0aFRv
RnJvbnRlbmQodGFyZ2V0KTsKKyAgICAgICAgQVNTRVJUKHRhcmdldE5vZGVJZCk7CisgICAgICAg
IGRlc2NyaXB0aW9uLT5zZXROdW1iZXIoInRhcmdldE5vZGVJZCIsIHRhcmdldE5vZGVJZCk7CisK
KyAgICAgICAgLy8gRmluZCBicmVha3BvaW50IG93bmVyIG5vZGUuCisgICAgICAgIGlmICghaW5z
ZXJ0aW9uKQorICAgICAgICAgICAgYnJlYWtwb2ludE93bmVyID0gaW5uZXJQYXJlbnROb2RlKHRh
cmdldCk7CisgICAgICAgIEFTU0VSVChicmVha3BvaW50T3duZXIpOworICAgICAgICB3aGlsZSAo
IShtX2JyZWFrcG9pbnRzLmdldChicmVha3BvaW50T3duZXIpICYgKDEgPDwgYnJlYWtwb2ludFR5
cGUpKSkgeworICAgICAgICAgICAgYnJlYWtwb2ludE93bmVyID0gaW5uZXJQYXJlbnROb2RlKGJy
ZWFrcG9pbnRPd25lcik7CisgICAgICAgICAgICBBU1NFUlQoYnJlYWtwb2ludE93bmVyKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmIChicmVha3BvaW50VHlwZSA9PSBTdWJ0cmVlTW9kaWZpZWQp
CisgICAgICAgICAgICBkZXNjcmlwdGlvbi0+c2V0Qm9vbGVhbigiaW5zZXJ0aW9uIiwgaW5zZXJ0
aW9uKTsKKyAgICB9CisKKyAgICBsb25nIGJyZWFrcG9pbnRPd25lck5vZGVJZCA9IG1fZG9jdW1l
bnROb2RlVG9JZE1hcC5nZXQoYnJlYWtwb2ludE93bmVyKTsKKyAgICBBU1NFUlQoYnJlYWtwb2lu
dE93bmVyTm9kZUlkKTsKKworICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGJyZWFrcG9pbnQg
PSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgIGJyZWFrcG9pbnQtPnNldE51bWJlcigi
bm9kZUlkIiwgYnJlYWtwb2ludE93bmVyTm9kZUlkKTsKKyAgICBicmVha3BvaW50LT5zZXROdW1i
ZXIoInR5cGUiLCBicmVha3BvaW50VHlwZSk7CisgICAgZGVzY3JpcHRpb24tPnNldE9iamVjdCgi
YnJlYWtwb2ludCIsIGJyZWFrcG9pbnQpOworCisgICAgcmV0dXJuIGRlc2NyaXB0aW9uOwogfQog
CiBTdHJpbmcgSW5zcGVjdG9yRE9NQWdlbnQ6OmRvY3VtZW50VVJMU3RyaW5nKERvY3VtZW50KiBk
b2N1bWVudCkgY29uc3QKQEAgLTEwODcsMjMgKzExMTksNiBAQCB2b2lkIEluc3BlY3RvckRPTUFn
ZW50OjpkaWRNb2RpZnlET01BdHRyKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgbV9mcm9udGVuZC0+
YXR0cmlidXRlc1VwZGF0ZWQoaWQsIGJ1aWxkQXJyYXlGb3JFbGVtZW50QXR0cmlidXRlcyhlbGVt
ZW50KSk7CiB9CiAKLVBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBJbnNwZWN0b3JET01BZ2Vu
dDo6Y3JlYXRlQnJlYWtwb2ludChOb2RlKiBub2RlLCBsb25nIHR5cGUpCi17Ci0gICAgUmVmUHRy
PEluc3BlY3Rvck9iamVjdD4gYnJlYWtwb2ludCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7
Ci0KLSAgICAvLyBGaW5kIGJyZWFrcG9pbnQgb3duZXIuCi0gICAgd2hpbGUgKCEobV9icmVha3Bv
aW50cy5nZXQobm9kZSkgJiAoMSA8PCB0eXBlKSkpIHsKLSAgICAgICAgbm9kZSA9IGlubmVyUGFy
ZW50Tm9kZShub2RlKTsKLSAgICAgICAgQVNTRVJUKG5vZGUpOwotICAgIH0KLSAgICBsb25nIG5v
ZGVJZCA9IG1fZG9jdW1lbnROb2RlVG9JZE1hcC5nZXQobm9kZSk7Ci0gICAgQVNTRVJUKG5vZGVJ
ZCk7Ci0KLSAgICBicmVha3BvaW50LT5zZXROdW1iZXIoIm5vZGVJZCIsIG5vZGVJZCk7Ci0gICAg
YnJlYWtwb2ludC0+c2V0TnVtYmVyKCJ0eXBlIiwgdHlwZSk7Ci0gICAgcmV0dXJuIGJyZWFrcG9p
bnQucmVsZWFzZSgpOwotfQotCiBib29sIEluc3BlY3RvckRPTUFnZW50OjpoYXNCcmVha3BvaW50
KE5vZGUqIG5vZGUsIGxvbmcgdHlwZSkKIHsKICAgICB1aW50MzJfdCByb290Qml0ID0gMSA8PCB0
eXBlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaCBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggOTc1MWU4ZWI1MjAz
NDM4MmRlMjkyOTYyYTI5OTUwYmVmNGE0MGE0YS4uY2EyZWI5NGJmNjZlOTdiZjZmMThkY2EyYWM2
OTRmOTRlNTRlNDliMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0x
NjIsOCArMTYyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHB1c2hEb2N1
bWVudFRvRnJvbnRlbmQoKTsKIAogICAgICAgICBib29sIGhhc0JyZWFrcG9pbnQoTm9kZSogbm9k
ZSwgbG9uZyB0eXBlKTsKLSAgICAgICAgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGNyZWF0
ZUJyZWFrcG9pbnQoTm9kZSogbm9kZSwgbG9uZyB0eXBlKTsKICAgICAgICAgdm9pZCB1cGRhdGVT
dWJ0cmVlQnJlYWtwb2ludHMoTm9kZSogcm9vdCwgdWludDMyX3Qgcm9vdE1hc2ssIGJvb2wgdmFs
dWUpOworICAgICAgICBQYXNzUmVmUHRyPEluc3BlY3RvclZhbHVlPiBkZXNjcmlwdGlvbkZvckRP
TUV2ZW50KE5vZGUqIHRhcmdldCwgbG9uZyBicmVha3BvaW50VHlwZSwgYm9vbCBpbnNlcnRpb24p
OwogCiAgICAgICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBidWlsZE9iamVjdEZvckF0
dHJpYnV0ZVN0eWxlcyhFbGVtZW50KiBlbGVtZW50KTsKICAgICAgICAgUGFzc1JlZlB0cjxJbnNw
ZWN0b3JBcnJheT4gYnVpbGRBcnJheUZvckNTU1J1bGVzKERvY3VtZW50KiBvd25lckRvY3VtZW50
LCBDU1NSdWxlTGlzdCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGVidWdnZXJBZ2VudC5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmNwcAppbmRleCBhMTExMTk3Y2E5NGE0NGZiMDEwZmVkNTQ2OTRlODQyMWI5ODFlMzQ1Li4z
ODc1YmUwNDkyOTg4ZjVhYmUyZWM2M2M4NzEyOGMzZTk4NDgxOGIxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApAQCAtMjkzLDcgKzI5Myw3IEBAIHZv
aWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZGlkUGF1c2UoU2NyaXB0U3RhdGUqIHNjcmlwdFN0
YXRlKQogICAgIG1fcGF1c2VkU2NyaXB0U3RhdGUgPSBzY3JpcHRTdGF0ZTsKICAgICBSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiBkZXRhaWxzID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKICAg
ICBkZXRhaWxzLT5zZXRWYWx1ZSgiY2FsbEZyYW1lcyIsIGN1cnJlbnRDYWxsRnJhbWVzKCkpOwot
ICAgIGRldGFpbHMtPnNldFZhbHVlKCJyZWFzb24iLCBtX2JyZWFrUHJvZ3JhbVJlYXNvbik7Cisg
ICAgZGV0YWlscy0+c2V0VmFsdWUoInN0YXR1cyIsIG1fYnJlYWtQcm9ncmFtUmVhc29uKTsKICAg
ICBtX2Zyb250ZW5kLT5wYXVzZWRTY3JpcHQoZGV0YWlscyk7CiB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcwppbmRleCA2MGVl
ZTM0NjJmMWMzNDI4YzI4NTZkNjE1NWNjMjA1YTMxY2Y0Yjg4Li45MWYzNWE2OWM5ZGQ2YTU0ZDFk
NDc1MjIyNzI1YzM3ZGU1NzVhMTRhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzCkBAIC0yNiw3ICsyNiw2IEBACiBXZWJJbnNw
ZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVj
dG9yLlNpZGViYXJQYW5lLmNhbGwodGhpcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDYWxsIFN0
YWNrIikpOwotICAgIAogfQogCiBXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJv
dG90eXBlID0gewpAQCAtODMsNiArODIsMzkgQEAgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGVi
YXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgIH0sCiAKKyAgICB1cGRhdGVTdGF0
dXM6ICBmdW5jdGlvbihzdGF0dXMpCisgICAgeworICAgICAgICB2YXIgc3RhdHVzRWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBzdGF0dXNFbGVtZW50LmNs
YXNzTmFtZSA9ICJpbmZvIjsKKworICAgICAgICB2YXIgYnJlYWtwb2ludFR5cGUgPSBzdGF0dXMu
YnJlYWtwb2ludC50eXBlOworICAgICAgICB2YXIgc3Vic3RpdHV0aW9ucyA9IFtXZWJJbnNwZWN0
b3IuRE9NQnJlYWtwb2ludC5sYWJlbEZvclR5cGUoYnJlYWtwb2ludFR5cGUpLCBXZWJJbnNwZWN0
b3IucGFuZWxzLmVsZW1lbnRzLmxpbmtpZnlOb2RlQnlJZChzdGF0dXMuYnJlYWtwb2ludC5ub2Rl
SWQpXTsKKyAgICAgICAgdmFyIGZvcm1hdHRlcnMgPSB7CisgICAgICAgICAgICBzOiBmdW5jdGlv
bihzdWJzdGl0dXRpb24pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN1
YnN0aXR1dGlvbjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgZnVuY3Rpb24g
YXBwZW5kKGEsIGIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh0eXBlb2YgYiA9PT0gInN0
cmluZyIpCisgICAgICAgICAgICAgICAgYiA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGIpOwor
ICAgICAgICAgICAgc3RhdHVzRWxlbWVudC5hcHBlbmRDaGlsZChiKTsKKyAgICAgICAgfQorICAg
ICAgICBpZiAoYnJlYWtwb2ludFR5cGUgPT09IFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50LlR5
cGVzLlN1YnRyZWVNb2RpZmllZCkgeworICAgICAgICAgICAgdmFyIHRhcmdldE5vZGUgPSBXZWJJ
bnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLmxpbmtpZnlOb2RlQnlJZChzdGF0dXMudGFyZ2V0Tm9k
ZUlkKTsKKyAgICAgICAgICAgIGlmIChzdGF0dXMuaW5zZXJ0aW9uKSB7CisgICAgICAgICAgICAg
ICAgaWYgKHN0YXR1cy50YXJnZXROb2RlSWQgIT09IHN0YXR1cy5icmVha3BvaW50Lm5vZGVJZCkK
KyAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZvcm1hdExvY2FsaXplZCgiUGF1c2Vk
IG9uIGEgXCIlc1wiIGJyZWFrcG9pbnQgc2V0IG9uICVzLCBiZWNhdXNlIGEgbmV3IGNoaWxkIHdh
cyBhZGRlZCB0byBpdHMgZGVzY2VuZGFudCAlcy4iLCBzdWJzdGl0dXRpb25zLmNvbmNhdCh0YXJn
ZXROb2RlKSwgZm9ybWF0dGVycywgIiIsIGFwcGVuZCk7CisgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZm9ybWF0TG9jYWxpemVkKCJQYXVzZWQg
b24gYSBcIiVzXCIgYnJlYWtwb2ludCBzZXQgb24gJXMsIGJlY2F1c2UgYSBuZXcgY2hpbGQgd2Fz
IGFkZGVkIHRvIHRoYXQgbm9kZS4iLCBzdWJzdGl0dXRpb25zLCBmb3JtYXR0ZXJzLCAiIiwgYXBw
ZW5kKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5m
b3JtYXRMb2NhbGl6ZWQoIlBhdXNlZCBvbiBhIFwiJXNcIiBicmVha3BvaW50IHNldCBvbiAlcywg
YmVjYXVzZSBpdHMgZGVzY2VuZGFudCAlcyB3YXMgcmVtb3ZlZC4iLCBzdWJzdGl0dXRpb25zLmNv
bmNhdCh0YXJnZXROb2RlKSwgZm9ybWF0dGVycywgIiIsIGFwcGVuZCk7CisgICAgICAgIH0gZWxz
ZQorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZvcm1hdExvY2FsaXplZCgiUGF1c2VkIG9uIGEg
XCIlc1wiIGJyZWFrcG9pbnQgc2V0IG9uICVzLiIsIHN1YnN0aXR1dGlvbnMsIGZvcm1hdHRlcnMs
ICIiLCBhcHBlbmQpOworICAgICAgICB0aGlzLmJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHN0YXR1
c0VsZW1lbnQpOworICAgIH0sCisKICAgICBnZXQgc2VsZWN0ZWRDYWxsRnJhbWUoKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkQ2FsbEZyYW1lOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwppbmRleCA3MjhjNDhlYTg1NTViNzU2ZDE4
OTE4MmQ4MTYxYzNhZGQ2YzI2YzBiLi45Y2ZmM2E3OWQzYzI4ZjIzZmM4ODliYzk3NWU2YjM4MTIz
Yjc4MzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQ
YW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5q
cwpAQCAtNzgzLDYgKzc4MywxNCBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHJldHVybiBsaW5rOwogICAgIH0sCiAKKyAgICBsaW5raWZ5Tm9kZUJ5
SWQ6IGZ1bmN0aW9uKG5vZGVJZCkKKyAgICB7CisgICAgICAgIHZhciBub2RlID0gV2ViSW5zcGVj
dG9yLmRvbUFnZW50Lm5vZGVGb3JJZChub2RlSWQpOworICAgICAgICBpZiAoIW5vZGUpCisgICAg
ICAgICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCI8bm9kZT4iKSk7CisgICAgICAgIHJldHVybiB0aGlzLmxpbmtpZnlOb2RlUmVmZXJlbmNl
KG5vZGUpOworICAgIH0sCisKICAgICB1cGRhdGVCcmVhZGNydW1iU2l6ZXM6IGZ1bmN0aW9uKGZv
Y3VzZWRDcnVtYikKICAgICB7CiAgICAgICAgIGlmICghdGhpcy52aXNpYmxlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggYzUyNjdmN2JiMWZkMDMw
MDc0MzM5ZTJlNjMxMGU3ODU1MDQwYWQwNi4uNzE1MzM5ZDkyZTIxNTkzYzg2ZDMzYzg2YmZkY2U1
NGU4MzAxNTA0MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVs
LmpzCkBAIC0zNzUsNyArMzc1LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIEluamVjdGVkU2NyaXB0QWNjZXNzLmdldChjYWxsRnJhbWUud29ybGRJ
ZCkuZXZhbHVhdGVJbkNhbGxGcmFtZShjYWxsRnJhbWUuaWQsIGNvZGUsIG9iamVjdEdyb3VwLCBl
dmFsQ2FsbGJhY2spOwogICAgIH0sCiAKLSAgICBkZWJ1Z2dlclBhdXNlZDogZnVuY3Rpb24oY2Fs
bEZyYW1lcykKKyAgICBkZWJ1Z2dlclBhdXNlZDogZnVuY3Rpb24oZGV0YWlscykKICAgICB7CiAg
ICAgICAgIFdlYkluc3BlY3Rvci5icmVha3BvaW50TWFuYWdlci5yZW1vdmVPbmVUaW1lQnJlYWtw
b2ludCgpOwogICAgICAgICB0aGlzLl9wYXVzZWQgPSB0cnVlOwpAQCAtMzg0LDggKzM4NCwxMSBA
QCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlz
Ll91cGRhdGVEZWJ1Z2dlckJ1dHRvbnMoKTsKIAotICAgICAgICB0aGlzLnNpZGViYXJQYW5lcy5j
YWxsc3RhY2sudXBkYXRlKGNhbGxGcmFtZXMsIHRoaXMuX3NvdXJjZUlETWFwKTsKLSAgICAgICAg
dGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnNlbGVjdGVkQ2FsbEZyYW1lID0gY2FsbEZyYW1l
c1swXTsKKyAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnVwZGF0ZShkZXRhaWxz
LmNhbGxGcmFtZXMsIHRoaXMuX3NvdXJjZUlETWFwKTsKKyAgICAgICAgdGhpcy5zaWRlYmFyUGFu
ZXMuY2FsbHN0YWNrLnNlbGVjdGVkQ2FsbEZyYW1lID0gZGV0YWlscy5jYWxsRnJhbWVzWzBdOwor
CisgICAgICAgIGlmIChkZXRhaWxzLnN0YXR1cykKKyAgICAgICAgICAgIHRoaXMuc2lkZWJhclBh
bmVzLmNhbGxzdGFjay51cGRhdGVTdGF0dXMoZGV0YWlscy5zdGF0dXMpOwogCiAgICAgICAgIFdl
Ykluc3BlY3Rvci5jdXJyZW50UGFuZWwgPSB0aGlzOwogICAgICAgICB3aW5kb3cuZm9jdXMoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggMjgyMzQxODM2
NzY2MDg2NTZhZWE1YzA0YTcwODg5NjhiMmMxODMwOS4uNmQ4NTcxYzJmNDJhZmNmNzc1YmY0YmM1
NzRkODQ1NzEzYTAxZGYzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5jc3MKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5jc3MKQEAgLTE2OTMsNiArMTY5MywxMCBAQCBsaS5lZGl0aW5nIC5zd2F0Y2gsIGxpLmVkaXRp
bmcgLmVuYWJsZWQtYnV0dG9uLCAgbGkuZWRpdGluZy1zdWItcGFydCAuZGVsZXRlLWJ1dAogICAg
IGNvbG9yOiBncmF5OwogfQogCisucGFuZSA+IC5ib2R5IC5wbGFjYXJkICsgLmluZm8geworICAg
IGJvcmRlci10b3A6IDFweCBzb2xpZCBncmF5Cit9CisKIC5wYW5lLmV4cGFuZGVkID4gLmJvZHks
IC5wYW5lLmV4cGFuZGVkID4gLmdyb3diYXIgewogICAgIGRpc3BsYXk6IGJsb2NrOwogfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggNzA0ZjE2YTM2MzFmZDMw
ZDk0ZTJmZDRlMDQzM2M1OTczYmY3OGEwYy4uYWMzZjNmYzkyMzBhMjBlZDNmMWE4ZTU2ZDIzYzk1
ODI1Mjc0NDM5YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBA
IC0xNDMwLDcgKzE0MzAsNyBAQCBXZWJJbnNwZWN0b3IuZmFpbGVkVG9QYXJzZVNjcmlwdFNvdXJj
ZSA9IGZ1bmN0aW9uKHNvdXJjZVVSTCwgc291cmNlLCBzdGFydGluZ0xpbgogCiBXZWJJbnNwZWN0
b3IucGF1c2VkU2NyaXB0ID0gZnVuY3Rpb24oZGV0YWlscykKIHsKLSAgICB0aGlzLnBhbmVscy5z
Y3JpcHRzLmRlYnVnZ2VyUGF1c2VkKGRldGFpbHMuY2FsbEZyYW1lcyk7CisgICAgdGhpcy5wYW5l
bHMuc2NyaXB0cy5kZWJ1Z2dlclBhdXNlZChkZXRhaWxzKTsKICAgICBJbnNwZWN0b3JGcm9udGVu
ZEhvc3QuYnJpbmdUb0Zyb250KCk7CiB9CiAKQEAgLTIwMTIsNiArMjAxMiwxMSBAQCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcgPSBmdW5jdGlvbihzdHJpbmcpCiAgICAgcmV0dXJuIFN0cmluZy52c3By
aW50ZihzdHJpbmcsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpOwog
fQogCitXZWJJbnNwZWN0b3IuZm9ybWF0TG9jYWxpemVkID0gZnVuY3Rpb24oZm9ybWF0LCBzdWJz
dGl0dXRpb25zLCBmb3JtYXR0ZXJzLCBpbml0aWFsVmFsdWUsIGFwcGVuZCkKK3sKKyAgICByZXR1
cm4gU3RyaW5nLmZvcm1hdChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoZm9ybWF0KSwgc3Vic3RpdHV0
aW9ucywgZm9ybWF0dGVycywgaW5pdGlhbFZhbHVlLCBhcHBlbmQpOworfQorCiBXZWJJbnNwZWN0
b3IuaXNNYWMgPSBmdW5jdGlvbigpCiB7CiAgICAgaWYgKCEoIl9pc01hYyIgaW4gdGhpcykpCg==
</data>
<flag name="review"
          id="57323"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>