<?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>105523</bug_id>
          
          <creation_ts>2012-12-20 03:14:57 -0800</creation_ts>
          <short_desc>Web Inspector: highlight occurences of word in DefaultTextEditor</short_desc>
          <delta_ts>2013-01-25 08:23:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Lushnikov">lushnikov</reporter>
          <assigned_to name="Andrey Lushnikov">lushnikov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rniwa</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>795324</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2012-12-20 03:14:57 -0800</bug_when>
    <thetext>It would be convenient to highlight all occurrences of some identifier in a javascript code when user selects one of them (via text selection). 
This is done per-word in a Sublime Text 2 (i.e. it highlights word occurrences in text)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795327</commentid>
    <comment_count>1</comment_count>
      <attachid>180314</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2012-12-20 03:26:51 -0800</bug_when>
    <thetext>Created attachment 180314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795355</commentid>
    <comment_count>2</comment_count>
      <attachid>180314</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-12-20 04:22:19 -0800</bug_when>
    <thetext>Comment on attachment 180314
Patch

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

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:1344
&gt; +    function checkSelectedIdentifier(event) {

This should be a prototype method that you bind and pass into listeners.

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:1346
&gt; +        if (selection.isCollapsed)

We already have selection stored in a variable in mainPanel

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:1353
&gt; +        // The following conditions will:

WebKit strongly advises not using comments. We only use them when absolutely necessary.

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:1369
&gt; +            if (className === &quot;webkit-javascript-ident&quot;) {

Do not use &quot;javascript&quot; word in editor. What about css variables?

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:1375
&gt; +    this.element.addEventListener(&quot;mousemove&quot;, checkSelectedIdentifier.bind(this), false);

&quot;click&quot;

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:1377
&gt; +    this.element.addEventListener(&quot;keyup&quot;, checkSelectedIdentifier.bind(this), false);

we already track text mutations, why bothering about the keyboard events?

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:1391
&gt; +        var elements = document.querySelectorAll(&quot;.webkit-javascript-ident&quot;);

Just repaintAll

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:1401
&gt; +            var elements = document.querySelectorAll(&quot;.webkit-selected-identifier&quot;);

ditto

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:2151
&gt; +        if (span.className === &quot;webkit-javascript-ident&quot; &amp;&amp; this._selectedIdentifier &amp;&amp; this._selectedIdentifier === content)

javascript word again...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807257</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-15 07:07:41 -0800</bug_when>
    <thetext>Clarifying title: highlighting not only identifier occurrences, but any word occurrences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807264</commentid>
    <comment_count>4</comment_count>
      <attachid>182761</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-15 07:15:50 -0800</bug_when>
    <thetext>Created attachment 182761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807278</commentid>
    <comment_count>5</comment_count>
      <attachid>182761</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-15 07:28:08 -0800</bug_when>
    <thetext>Comment on attachment 182761
Patch

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

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:3046
&gt; +            return this._deselect();

Although I would love to act alike, we don&apos;t do that.

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:3068
&gt; +    _select: function(selectedWord)

this naming is misleading - it does not mutate selection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807290</commentid>
    <comment_count>6</comment_count>
      <attachid>182771</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-15 07:43:32 -0800</bug_when>
    <thetext>Created attachment 182771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807333</commentid>
    <comment_count>7</comment_count>
      <attachid>182771</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-15 08:28:36 -0800</bug_when>
    <thetext>Comment on attachment 182771
Patch

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

New failing tests:
inspector/editor/text-editor-highlight-token.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807362</commentid>
    <comment_count>8</comment_count>
      <attachid>182771</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-15 09:10:37 -0800</bug_when>
    <thetext>Comment on attachment 182771
Patch

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

New failing tests:
inspector/editor/text-editor-highlight-token.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808120</commentid>
    <comment_count>9</comment_count>
      <attachid>182771</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-16 00:44:50 -0800</bug_when>
    <thetext>Comment on attachment 182771
Patch

Attachment 182771 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/15900409

New failing tests:
inspector/editor/text-editor-highlight-token.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808213</commentid>
    <comment_count>10</comment_count>
      <attachid>182948</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-16 02:50:00 -0800</bug_when>
    <thetext>Created attachment 182948
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808233</commentid>
    <comment_count>11</comment_count>
      <attachid>182948</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-16 03:17:02 -0800</bug_when>
    <thetext>Comment on attachment 182948
Patch

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

New failing tests:
inspector/editor/text-editor-highlight-token.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808269</commentid>
    <comment_count>12</comment_count>
      <attachid>182958</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-16 04:24:08 -0800</bug_when>
    <thetext>Created attachment 182958
word-highlight-screenshot

What&apos;s happening when you select some word</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808366</commentid>
    <comment_count>13</comment_count>
      <attachid>182979</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-16 07:36:47 -0800</bug_when>
    <thetext>Created attachment 182979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808371</commentid>
    <comment_count>14</comment_count>
      <attachid>182981</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-16 07:39:34 -0800</bug_when>
    <thetext>Created attachment 182981
feature demonstration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808401</commentid>
    <comment_count>15</comment_count>
      <attachid>182979</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-16 08:50:34 -0800</bug_when>
    <thetext>Comment on attachment 182979
Patch

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

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:3043
&gt; +        if (!range) {

if (!this._muteSelectionListener)

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:3055
&gt; +        if (selectedText == this._selectedWord)

===

&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:3077
&gt; +        this._mainPanel.highlightRegex(this._activeRegex, &quot;text-editor-token-highlight&quot;)

this._muteSelectionListener = true;
this._mainPanel.highlightRegex(this._activeRegex, &quot;text-editor-token-highlight&quot;);
delete this._muteSelectionListener;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811979</commentid>
    <comment_count>16</comment_count>
      <attachid>182979</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-21 02:45:44 -0800</bug_when>
    <thetext>Comment on attachment 182979
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:3043
&gt;&gt; +        if (!range) {
&gt; 
&gt; if (!this._muteSelectionListener)

_muteSelectionListener doesn&apos;t work here (see below).

&gt;&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:3055
&gt;&gt; +        if (selectedText == this._selectedWord)
&gt; 
&gt; ===

my bad; fixed.

&gt;&gt; Source/WebCore/inspector/front-end/DefaultTextEditor.js:3077
&gt;&gt; +        this._mainPanel.highlightRegex(this._activeRegex, &quot;text-editor-token-highlight&quot;)
&gt; 
&gt; this._muteSelectionListener = true;
&gt; this._mainPanel.highlightRegex(this._activeRegex, &quot;text-editor-token-highlight&quot;);
&gt; delete this._muteSelectionListener;

this doesn&apos;t work because events happen on the next scheduled frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814207</commentid>
    <comment_count>17</comment_count>
      <attachid>184235</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-23 07:50:16 -0800</bug_when>
    <thetext>Created attachment 184235
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814213</commentid>
    <comment_count>18</comment_count>
      <attachid>184235</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-23 08:00:14 -0800</bug_when>
    <thetext>Comment on attachment 184235
Patch

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

&gt; LayoutTests/inspector/editor/text-editor-highlight-token.html:35
&gt; +        setTimeout(step2);

why setTimeout ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814234</commentid>
    <comment_count>19</comment_count>
      <attachid>184235</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-23 08:39:34 -0800</bug_when>
    <thetext>Comment on attachment 184235
Patch

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

&gt;&gt; LayoutTests/inspector/editor/text-editor-highlight-token.html:35
&gt;&gt; +        setTimeout(step2);
&gt; 
&gt; why setTimeout ?

That&apos;s because setSelection triggers &quot;document.selectionChange&quot; listeners which gonna be executed on next frame (and token highlighter is one of those listeners).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814959</commentid>
    <comment_count>20</comment_count>
      <attachid>184235</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-23 19:06:25 -0800</bug_when>
    <thetext>Comment on attachment 184235
Patch

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

New failing tests:
svg/as-image/img-preserveAspectRatio-support-2.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815204</commentid>
    <comment_count>21</comment_count>
      <attachid>184431</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-24 00:55:24 -0800</bug_when>
    <thetext>Created attachment 184431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815337</commentid>
    <comment_count>22</comment_count>
      <attachid>184431</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-24 04:46:58 -0800</bug_when>
    <thetext>Comment on attachment 184431
Patch

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

&gt; LayoutTests/inspector/editor/text-editor-highlight-token.html:45
&gt; +    setTimeout(step1);

Bump it above step1. You should use selection listener here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815444</commentid>
    <comment_count>23</comment_count>
      <attachid>184487</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-24 07:20:19 -0800</bug_when>
    <thetext>Created attachment 184487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815484</commentid>
    <comment_count>24</comment_count>
      <attachid>184487</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 08:12:23 -0800</bug_when>
    <thetext>Comment on attachment 184487
Patch

Rejecting attachment 184487 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=gce-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 184487, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
atch: **** Can&apos;t create file /tmp/ppQlOiba : No space left on device
fatal: pathspec &apos;LayoutTests/inspector/editor/text-editor-highlight-token-expected.txt&apos; did not match any files
Failed to git add LayoutTests/inspector/editor/text-editor-highlight-token-expected.txt. at /mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply line 448.

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Pavel Feldman&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/16097229</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815490</commentid>
    <comment_count>25</comment_count>
      <attachid>184503</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-24 08:16:16 -0800</bug_when>
    <thetext>Created attachment 184503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815492</commentid>
    <comment_count>26</comment_count>
      <attachid>184503</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-24 08:16:48 -0800</bug_when>
    <thetext>Comment on attachment 184503
Patch

re-submitted last patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815514</commentid>
    <comment_count>27</comment_count>
      <attachid>184503</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 08:48:46 -0800</bug_when>
    <thetext>Comment on attachment 184503
Patch

Rejecting attachment 184503 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=gce-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 184503, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
atch: **** Can&apos;t create file /tmp/pp2s7yc3 : No space left on device
fatal: pathspec &apos;LayoutTests/inspector/editor/text-editor-highlight-token-expected.txt&apos; did not match any files
Failed to git add LayoutTests/inspector/editor/text-editor-highlight-token-expected.txt. at /mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply line 448.

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Pavel Feldman&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/16080734</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816374</commentid>
    <comment_count>28</comment_count>
      <attachid>184696</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-25 01:30:04 -0800</bug_when>
    <thetext>Created attachment 184696
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816448</commentid>
    <comment_count>29</comment_count>
      <attachid>184696</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-25 03:16:34 -0800</bug_when>
    <thetext>Comment on attachment 184696
Patch

Rejecting attachment 184696 from commit-queue.

New failing tests:
fast/frames/parser-append-subframe-count.html
Full output: http://queues.webkit.org/results/16121280</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816550</commentid>
    <comment_count>30</comment_count>
      <attachid>184741</attachid>
    <who name="Andrey Lushnikov">lushnikov</who>
    <bug_when>2013-01-25 06:39:53 -0800</bug_when>
    <thetext>Created attachment 184741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816609</commentid>
    <comment_count>31</comment_count>
      <attachid>184741</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-25 08:23:30 -0800</bug_when>
    <thetext>Comment on attachment 184741
Patch

Clearing flags on attachment: 184741

Committed r140828: &lt;http://trac.webkit.org/changeset/140828&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816611</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-25 08:23:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180314</attachid>
            <date>2012-12-20 03:26:51 -0800</date>
            <delta_ts>2013-01-15 07:15:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20121220152407.patch</filename>
            <type>text/plain</type>
            <size>5977</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmUwNjdkOWE1NDZmNTlm
MGExYTUwYzBhODg1NzcxMWI0M2MzMDUyOC4uOGM3ZTkwM2JlMjFlNjVjNzY1YzY5ZWY5ZjYyNjhi
YWFlY2I1MDIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTIwICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiBpZGVudGlmaWVyIGluIERlZmF1bHRUZXh0
RWRpdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDU1MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgbGlzdGVuZXJzIHRvIHxUZXh0RWRpdG9yTWFpblBhbmVsfCBlbGVtZW50IHRvIHRyYWNrIHRl
eHQKKyAgICAgICAgc2VsZWN0aW9uLiBXaGVuIHVzZXIgc2VsZWN0cyBzb21lIGlkZW50aWZpZXIs
IGhpZ2hsaWdodCBhbGwgaXRzIG9jY3VycmVuY2VzLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKC5jaGVja1NlbGVjdGVkSWRl
bnRpZmllcik6IEFkZGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFu
ZWwpOiBTZXQgdXAgbGlzdGVuZXJzIG9uIGRvbSBlbGVtZW50LgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3JNYWluUGFuZWwucHJvdG90eXBlLl9zZWxlY3RJZGVudGlmaWVyKTogQWRk
ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5wcm90b3R5cGUu
X2Rlc2VsZWN0SWRlbnRpZmllcik6IEFkZGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3JNYWluUGFuZWwucHJvdG90eXBlLl9pbnNlcnRTcGFuQmVmb3JlKTogQ2hlY2sgaWYgc3Bh
biByZXByZXNlbnRzIGFuIG9jY3VycmVuY2Ugb2Ygc2VsZWN0ZWQgaWRlbnRpZmllciBhbmQgYWRk
IGFuIGFwcHJvcHJpYXRlIHN0eWxlIGNsYXNzLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvdGV4dEVkaXRvci5jc3M6IEFkZGVkIHN0eWxlY2xhc3MgZm9yIGlkZW50aWZpZXIgb2NjdXJy
ZW5jZXMuCisgICAgICAgICgud2Via2l0LXNlbGVjdGVkLWlkZW50aWZpZXIpOiBBZGRlZC4KKwog
MjAxMi0xMi0xOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggcmVncmVzc2lvbiBmcm9tIHIxMzc5MjMgdGhhdCBjYXVzZWQgYWxsIHRpbGVzIHRv
IHBhaW50IHdoZW4gc2Nyb2xsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcwppbmRleCBjZGU1YmNhZmQ2NmE4NDNm
N2E5MDMyNTMzY2QzZmIzNjcxOWJlYzgyLi5lZDEyNjNkYWZhNmNmNDE3N2NiMzIzZTFhZWRjNzg5
NjJmZjI1ZmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0RlZmF1bHRUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMKQEAgLTEzNDEsNiArMTM0MSw0MSBAQCBXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbCA9IGZ1bmN0aW9uKGRlbGVnYXRlLCB0ZXh0TW9kZWws
IHVybCwgc3luY1Njcm9sbAogICAgIHRoaXMuX2NvbnRhaW5lci50YWJJbmRleCA9IDA7CiAgICAg
dGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lcik7CiAKKyAgICBmdW5jdGlv
biBjaGVja1NlbGVjdGVkSWRlbnRpZmllcihldmVudCkgeworICAgICAgICB2YXIgc2VsZWN0aW9u
ID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAgICBpZiAoc2VsZWN0aW9uLmlzQ29sbGFw
c2VkKQorICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Rlc2VsZWN0SWRlbnRpZmllcigpOworCisg
ICAgICAgIGlmIChzZWxlY3Rpb24uYW5jaG9yTm9kZSAhPT0gc2VsZWN0aW9uLmZvY3VzTm9kZSkK
KyAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZXNlbGVjdElkZW50aWZpZXIoKTsKKworICAgICAg
ICBjb25zdCBzZWxlY3Rpb25TdHJpbmcgPSBzZWxlY3Rpb24udG9TdHJpbmcoKTsKKyAgICAgICAg
Ly8gVGhlIGZvbGxvd2luZyBjb25kaXRpb25zIHdpbGw6CisgICAgICAgIC8vIDEuIEZhc3QgcmV0
dXJuIGlmIHNlbGVjdGVkIHN0cmluZyBoYXNuJ3QgY2hhbmdlZCBzaW5jZSBvdXIgbGFzdCBjaGVj
ay4KKyAgICAgICAgLy8gMi4gRGVzZWxlY3QgaWRlbnRpZmllciBhbmQgcmV0dXJuIGlmIHRoZSBz
ZWxlY3Rpb24gaGFkIGNoYW5nZWQgYW5kIGhhZG4ndCBmdWxmaWxsZWQgdGhlIGVudGlyZQorICAg
ICAgICAvLyB0ZXh0IGluIHRoZSBub2RlLgorICAgICAgICAvLworICAgICAgICAvLyBUaGlzIG9y
ZGVyIG9mIGNoZWNrcyBpcyBpbXBvcnRhbnQ6IHdoZW4gc2VsZWN0ZWQgdGV4dCBnb2VzIG9mZiB0
aGUgc2NyZWVuIChkdWUgdG8gc2Nyb2xsaW5nKSwKKyAgICAgICAgLy8gaXRzIGNvcnJlc3BvbmRp
bmcgY2h1bmsgZ2V0cyBjb2xsYXBzZWQgYW5kIHRyYW5zZm9ybWVkIGludG8gYSBzaW5nbGUgZWxl
bWVudCB3aXRoIGEgbG90IG9mIHRleHQgaW5zaWRlLgorICAgICAgICBpZiAoc2VsZWN0aW9uU3Ry
aW5nID09PSB0aGlzLl9zZWxlY3RlZElkZW50aWZpZXIpCisgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgaWYgKHNlbGVjdGlvblN0cmluZyAhPT0gc2VsZWN0aW9uLmFuY2hvck5vZGUudGV4
dENvbnRlbnQpCisgICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVzZWxlY3RJZGVudGlmaWVyKCk7
CisKKyAgICAgICAgdmFyIGNsYXNzTGlzdCA9IHNlbGVjdGlvbi5hbmNob3JOb2RlLnBhcmVudE5v
ZGUuY2xhc3NMaXN0OworICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY2xhc3NMaXN0Lmxlbmd0
aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgY2xhc3NOYW1lID0gY2xhc3NMaXN0W2ldOworICAg
ICAgICAgICAgaWYgKGNsYXNzTmFtZSA9PT0gIndlYmtpdC1qYXZhc2NyaXB0LWlkZW50Iikgewor
ICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RJZGVudGlmaWVyKHNlbGVjdGlvblN0
cmluZyk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICB0aGlzLmVsZW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgY2hlY2tTZWxlY3RlZElkZW50aWZpZXIu
YmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJt
b3VzZXVwIiwgY2hlY2tTZWxlY3RlZElkZW50aWZpZXIuYmluZCh0aGlzKSwgZmFsc2UpOworICAg
IHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsIGNoZWNrU2VsZWN0ZWRJZGVu
dGlmaWVyLmJpbmQodGhpcyksIGZhbHNlKTsKKwogICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJzY3JvbGwiLCB0aGlzLl9zY3JvbGwuYmluZCh0aGlzKSwgZmFsc2UpOwogICAgIHRo
aXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsIHRoaXMuX2hhbmRsZUVsZW1lbnRG
b2N1cy5iaW5kKHRoaXMpLCBmYWxzZSk7CiAKQEAgLTEzNDksNiArMTM4NCwyNiBAQCBXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbCA9IGZ1bmN0aW9uKGRlbGVnYXRlLCB0ZXh0TW9kZWws
IHVybCwgc3luY1Njcm9sbAogfQogCiBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5w
cm90b3R5cGUgPSB7CisKKyAgICBfc2VsZWN0SWRlbnRpZmllcjogZnVuY3Rpb24oaWRlbnRpZmll
cikKKyAgICB7CisgICAgICAgIHRoaXMuX3NlbGVjdGVkSWRlbnRpZmllciA9IGlkZW50aWZpZXI7
CisgICAgICAgIHZhciBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi53ZWJr
aXQtamF2YXNjcmlwdC1pZGVudCIpOworICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgZWxlbWVu
dHMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBpZiAoZWxlbWVudHNbaV0udGV4dENvbnRlbnQg
PT09IGlkZW50aWZpZXIpCisgICAgICAgICAgICAgICAgZWxlbWVudHNbaV0uYWRkU3R5bGVDbGFz
cygid2Via2l0LXNlbGVjdGVkLWlkZW50aWZpZXIiKTsKKyAgICB9LAorCisgICAgX2Rlc2VsZWN0
SWRlbnRpZmllcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVk
SWRlbnRpZmllcikgeworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3NlbGVjdGVkSWRlbnRpZmll
cjsKKyAgICAgICAgICAgIHZhciBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo
Ii53ZWJraXQtc2VsZWN0ZWQtaWRlbnRpZmllciIpOworICAgICAgICAgICAgZm9yKHZhciBpID0g
MDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAgIGVsZW1lbnRzW2ld
LnJlbW92ZVN0eWxlQ2xhc3MoIndlYmtpdC1zZWxlY3RlZC1pZGVudGlmaWVyIik7CisgICAgICAg
IH0KKyAgICB9LAorCiAgICAgX3dhc1Nob3duOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0
aGlzLl9pc1Nob3dpbmcgPSB0cnVlOwpAQCAtMjA5Myw4ICsyMTQ4LDEyIEBAIFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB2YXIgc3BhbiA9
IHRoaXMuX2NhY2hlZFNwYW5zLnBvcCgpIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4i
KTsKICAgICAgICAgc3Bhbi5jbGFzc05hbWUgPSAid2Via2l0LSIgKyBjbGFzc05hbWU7CisgICAg
ICAgIGlmIChzcGFuLmNsYXNzTmFtZSA9PT0gIndlYmtpdC1qYXZhc2NyaXB0LWlkZW50IiAmJiB0
aGlzLl9zZWxlY3RlZElkZW50aWZpZXIgJiYgdGhpcy5fc2VsZWN0ZWRJZGVudGlmaWVyID09PSBj
b250ZW50KQorICAgICAgICAgICAgc3Bhbi5hZGRTdHlsZUNsYXNzKCJ3ZWJraXQtc2VsZWN0ZWQt
aWRlbnRpZmllciIpOworCiAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuRkFMU0UpIC8vIEZvciBw
YWludCBkZWJ1Z2dpbmcuCiAgICAgICAgICAgICBzcGFuLmFkZFN0eWxlQ2xhc3MoImRlYnVnLWZh
ZGVvdXQiKTsKKwogICAgICAgICBzcGFuLnRleHRDb250ZW50ID0gY29udGVudDsKICAgICAgICAg
ZWxlbWVudC5pbnNlcnRCZWZvcmUoc3Bhbiwgb2xkQ2hpbGQpOwogICAgICAgICBpZiAoISgic3Bh
bnMiIGluIGVsZW1lbnQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC90ZXh0RWRpdG9yLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvdGV4dEVkaXRvci5jc3MKaW5kZXggMmEyNTYyYjgzNjRjMjJlMjZmODQzZjVjM2FlNzA5Y2U2
ODhmZDgwOC4uZjhjZDAxNDc4M2U0ZjJmY2UzMmMxZWM5MDk5Y2EyMGZlZDA2MjEyZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNzcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzCkBA
IC0xNzEsNiArMTcxLDEyIEBACiAgICAgb3V0bGluZTogMXB4IHNvbGlkIHJnYig2NCwgMTE1LCAy
NDQpOwogfQogCisud2Via2l0LXNlbGVjdGVkLWlkZW50aWZpZXIgeworICAgIGJvcmRlcjogMXB4
IHNvbGlkIGJsYWNrOworICAgIG1hcmdpbjogLTFweDsKKyAgICAtd2Via2l0LWJvcmRlci1yYWRp
dXM6IDNweDsKK30KKwogLndlYmtpdC1oaWdobGlnaHRlZC1saW5lLndlYmtpdC1saW5lLWNvbnRl
bnQgewogICAgIC13ZWJraXQtYW5pbWF0aW9uOiAiZmFkZW91dCIgMnMgMHM7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182761</attachid>
            <date>2013-01-15 07:15:50 -0800</date>
            <delta_ts>2013-01-15 07:43:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130115191249.patch</filename>
            <type>text/plain</type>
            <size>13329</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVkZDA4YzNiMzU5NmQ3
ZDM4NWIyY2UxOTkwNzdiZTU3Njk2MjRmOS4uODkzYzRhNmZmODRmOWZiZWVkNjYwMzljY2U1MWFk
NThjODkwZjk4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEzLTAxLTE1ICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKTogQWRkZWQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5wcm90b3R5cGUuX2hhbmRsZVNlbGVjdGlvbkNoYW5n
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hs
aWdodGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5fc2VsZWN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRv
a2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9kZXNlbGVjdCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZS5faXNXb3Jk
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzOgorICAgICAg
ICAoLnRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdodCk6CisKKzIwMTMtMDEtMTUgIEFuZHJleSBM
dXNobmlrb3YgIDxsdXNobmlrb3ZAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGhpZ2hsaWdodCByZWdleHAgQVBJIGZvciBEZWZhdWx0VGV4dEVkaXRvcgogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2ODAxCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3Iu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9y
LmpzCmluZGV4IDIwMGMxNzA2MWNlNmJlYjMzZDU1NjM5ZGZkZmY1YmVjMTY0Y2I1NmEuLmJmM2Vk
MzAyMWZkODZiODQxYzhmZWY5NDU1ZWZlN2JlZjEyNmFmM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcwpAQCAt
MTM1OCw2ICsxMzU4LDggQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwgPSBmdW5j
dGlvbihkZWxlZ2F0ZSwgdGV4dE1vZGVsLCB1cmwsIHN5bmNTY3JvbGwKIAogICAgIHRoaXMuX2hp
Z2hsaWdodFJlZ2V4cyA9IHt9OwogCisgICAgdGhpcy5fdG9rZW5IaWdobGlnaHRlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyKHRoaXMsIHRl
eHRNb2RlbCk7CisKICAgICB0aGlzLl9mcmVlQ2FjaGVkRWxlbWVudHMoKTsKICAgICB0aGlzLmJ1
aWxkQ2h1bmtzKCk7CiB9CkBAIC0yNzE3LDcgKzI3MTksOSBAQCBXZWJJbnNwZWN0b3IuVGV4dEVk
aXRvck1haW5QYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciB0ZXh0UmFuZ2UgPSB0aGlz
LnNlbGVjdGlvbigpOwogICAgICAgICBpZiAodGV4dFJhbmdlKQogICAgICAgICAgICAgdGhpcy5f
bGFzdFNlbGVjdGlvbiA9IHRleHRSYW5nZTsKKwogICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5zZWxl
Y3Rpb25DaGFuZ2VkKHRleHRSYW5nZSk7CisgICAgICAgIHRoaXMuX3Rva2VuSGlnaGxpZ2h0ZXIu
aGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHRleHRSYW5nZSk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAt
MzAxOCw0ICszMDIyLDgwIEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpbkNodW5rLnByb3Rv
dHlwZSA9IHsKICAgICB9CiB9CiAKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsfSBtYWluUGFuZWwKKyAqIEBwYXJhbSB7V2Vi
SW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbH0gdGV4dE1vZGVsCisgKi8KK1dlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIgPSBmdW5jdGlvbihtYWluUGFuZWws
IHRleHRNb2RlbCkKK3sKKyAgICB0aGlzLl9tYWluUGFuZWwgPSBtYWluUGFuZWw7CisgICAgdGhp
cy5fdGV4dE1vZGVsID0gdGV4dE1vZGVsOworfQorCitXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1h
aW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLl9Ob25Xb3JkQ2hhclJlZ2V4ID0gL1teYS16QS1aMC05
X10vOworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5f
V29yZFJlZ2V4ID0gL15bYS16QS1aMC05X10rJC87CisKK1dlYkluc3BlY3Rvci5UZXh0RWRpdG9y
TWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlID0geworICAgIC8qKgorICAgICAq
IEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRleHRSYW5nZX0gcmFuZ2UKKyAgICAgKi8KKyAgICBoYW5k
bGVTZWxlY3Rpb25DaGFuZ2U6IGZ1bmN0aW9uKHJhbmdlKQorICAgIHsKKyAgICAgICAgaWYgKCFy
YW5nZSkKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZXNlbGVjdCgpOworCisgICAgICAgIGlm
IChyYW5nZS5zdGFydExpbmUgIT09IHJhbmdlLmVuZExpbmUpCisgICAgICAgICAgICByZXR1cm4g
dGhpcy5fZGVzZWxlY3QoKTsKKworICAgICAgICByYW5nZSA9IHJhbmdlLm5vcm1hbGl6ZSgpOwor
ICAgICAgICB2YXIgc2VsZWN0ZWRUZXh0ID0gdGhpcy5fdGV4dE1vZGVsLmNvcHlSYW5nZShyYW5n
ZSk7CisgICAgICAgIGlmIChzZWxlY3RlZFRleHQgPT0gdGhpcy5fc2VsZWN0ZWRXb3JkKQorICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmIChzZWxlY3RlZFRleHQgPT09ICIiKQorICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX2Rlc2VsZWN0KCk7CisKKyAgICAgICAgaWYgKHRoaXMuX2lz
V29yZChyYW5nZSwgc2VsZWN0ZWRUZXh0KSkKKyAgICAgICAgICAgIHRoaXMuX3NlbGVjdChzZWxl
Y3RlZFRleHQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLl9kZXNlbGVjdCgpOwor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0ZWRXb3JkCisg
ICAgICovCisgICAgX3NlbGVjdDogZnVuY3Rpb24oc2VsZWN0ZWRXb3JkKQorICAgIHsKKyAgICAg
ICAgdGhpcy5fZGVzZWxlY3QoKTsKKyAgICAgICAgdGhpcy5fc2VsZWN0ZWRXb3JkID0gc2VsZWN0
ZWRXb3JkOworICAgICAgICB0aGlzLl9hY3RpdmVSZWdleCA9IG5ldyBSZWdFeHAoIlxcYiIgKyBz
ZWxlY3RlZFdvcmQgKyAiXFxiIik7CisgICAgICAgIHRoaXMuX21haW5QYW5lbC5oaWdobGlnaHRS
ZWdleCh0aGlzLl9hY3RpdmVSZWdleCwgInRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdodCIpCisg
ICAgfSwKKworICAgIF9kZXNlbGVjdDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRo
aXMuX2FjdGl2ZVJlZ2V4KSB7CisgICAgICAgICAgICB0aGlzLl9tYWluUGFuZWwucmVtb3ZlUmVn
ZXhIaWdobGlnaHQodGhpcy5fYWN0aXZlUmVnZXgpOworICAgICAgICAgICAgZGVsZXRlIHRoaXMu
X2FjdGl2ZVJlZ2V4OworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3NlbGVjdGVkV29yZDsKKyAg
ICAgICAgfQorICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5U
ZXh0UmFuZ2V9IHJhbmdlCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdGVkVGV4dAorICAg
ICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgX2lzV29yZDogZnVuY3Rpb24ocmFu
Z2UsIHNlbGVjdGVkVGV4dCkKKyAgICB7CisgICAgICAgIGNvbnN0IE5vbldvcmRDaGFyID0gV2Vi
SW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5fTm9uV29yZENo
YXJSZWdleDsKKyAgICAgICAgY29uc3QgV29yZFJlZ2V4ID0gV2ViSW5zcGVjdG9yLlRleHRFZGl0
b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5fV29yZFJlZ2V4OworICAgICAgICB2YXIgbGlu
ZSA9IHRoaXMuX3RleHRNb2RlbC5saW5lKHJhbmdlLnN0YXJ0TGluZSk7CisgICAgICAgIHZhciBs
ZWZ0Qm91bmQgPSByYW5nZS5zdGFydENvbHVtbiA9PT0gMCB8fCBOb25Xb3JkQ2hhci50ZXN0KGxp
bmUuY2hhckF0KHJhbmdlLnN0YXJ0Q29sdW1uIC0gMSkpOworICAgICAgICB2YXIgcmlnaHRCb3Vu
ZCA9IHJhbmdlLmVuZENvbHVtbiA9PT0gbGluZS5sZW5ndGggLSAxIHx8IE5vbldvcmRDaGFyLnRl
c3QobGluZS5jaGFyQXQocmFuZ2UuZW5kQ29sdW1uKSk7CisgICAgICAgIHJldHVybiBsZWZ0Qm91
bmQgJiYgcmlnaHRCb3VuZCAmJiBXb3JkUmVnZXgudGVzdChzZWxlY3RlZFRleHQpOworICAgIH0K
K30KKwogV2ViSW5zcGVjdG9yLmRlYnVnRGVmYXVsdFRleHRFZGl0b3IgPSBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3Mg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzCmluZGV4
IDY5NDA3MWJkMTFmZWNmNjdjMjZiMWU5YjUyNzNkNWM2NDg2NzUyNmIuLmJjNWE0MzZiZDI0YzMx
NmI4YzFiYzA2M2E4NTgwZDRlNGJhNTg3Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNzcwpAQCAtMzcsNiArMzcsMTEgQEAKICAgICB6
LWluZGV4OiAtMTsKIH0KIAorLnRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdodCB7CisgICAgLXdl
YmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Cit9
CisKIC50ZXh0LWVkaXRvci1jb250ZW50cyAuaW5uZXItY29udGFpbmVyIHsKICAgICBwb3NpdGlv
bjogYWJzb2x1dGU7CiAgICAgdG9wOiAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRlMmFkNTg5YzIwMDQwMDUzYTExYTFj
ZTMwYTNkOGFiN2I4MzcxNWYuLjNmM2JkM2ExMGJhODBjM2VhMWMzZmNmNjI1YzM0OTFjMmFhNmRl
YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxMy0wMS0xNSAgQW5kcmV5IEx1c2huaWtvdiAg
PGx1c2huaWtvdkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaGlnaGxp
Z2h0IG9jY3VyZW5jZXMgb2Ygd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTIzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldyB0ZXN0IHRvIHZlcmlm
eSB0b2tlbiBoaWdobGlnaHRuaW5nIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGluc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2Vu
Lmh0bWw6IEFkZGVkLgorCisyMDEzLTAxLTE1ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292
QGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBoaWdobGlnaHQgcmVnZXhw
IEFQSSBmb3IgRGVmYXVsdFRleHRFZGl0b3IKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwNjgwMQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJlZTFjODdkMTAzZDY0NzM0NmJjZTkwZWYyOGVmZGM2
NTA1YzhkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3Iv
dGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM0IEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRleHQgZWRpdG9yIHRva2VuIGhpZ2hsaWdodCBmdW5jdGlvbmFs
aXR5LgorCis9PT09PT09PT09PSBUZXh0RWRpdG9yIHRleHQgPT09PT09PT09PQorZnVuY3Rpb24g
ZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkgeworICAgICAgICBmb3IodmFyIGkgPSAwOyBp
IDwgY29sbGVjdGlvbi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uW2ld
ID09PSBlbGVtKQorICAgICAgICAgICAgICAgIHJldHVybiBpOworICAgICAgICByZXR1cm4gbnVs
bDsKKyAgICB9Cis9PT09PT09PT09PSBCZWZvcmUgc2VsZWN0aW5nIGVsZW1lbnQgPT09PT09PT09
PT0KKzxkaXYgY2xhc3M9ImlubmVyLWNvbnRhaW5lciB0ZXh0LWVkaXRvci1lZGl0YWJsZSIgdGFi
aW5kZXg9IjAiCis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij5mdW5jdGlvbiBmaW5k
RWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7PC9kaXYKKzxkaXYgY2xhc3M9IndlYmtpdC1saW5l
LWNvbnRlbnQiPiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8c3BhbiBjbGFzcz0id2Via2l0LWh0
bWwtdGFnIj4mbHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj5jb2xsZWN0
aW9uLmxlbmd0aDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFt
ZSI+KytpKTwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAg
ICAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pZjwvc3Bh
bj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4oY29sbGVjdGlvbjwv
c3Bhbj5bPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pPC9zcGFuPl0g
PT09IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmVsZW0pPC9zcGFu
PjwvZGl2Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgICAgICAgICAg
PHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8
c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5pOzwvc3Bhbj48L2Rpdgor
PGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICA8c3BhbiBjbGFzcz0id2Vi
a2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPm51bGw7PC9zcGFuPjwvZGl2Cis8ZGl2IGNsYXNzPSJ3
ZWJraXQtbGluZS1jb250ZW50Ij4gICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0
ZS12YWx1ZSI+fTwvc3Bhbj48L2Rpdj48L2Rpdj4KKz09PT09PT09PT09IEFmdGVyIHNlbGVjdGlu
ZyAnY29sbGVjdGlvbicgPT09PT09PT09PT0KKzxkaXYgY2xhc3M9ImlubmVyLWNvbnRhaW5lciB0
ZXh0LWVkaXRvci1lZGl0YWJsZSIgdGFiaW5kZXg9IjAiCis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGlu
ZS1jb250ZW50Ij5mdW5jdGlvbiBmaW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7PHNwYW4g
Y2xhc3M9InRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdodCB0ZXh0LWVkaXRvci1vdmVybGF5LWhp
Z2hsaWdodCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAtMTM0cHg7IHdpZHRoOiA3MnB4OyBoZWlnaHQ6
IDE0cHg7Ij48L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAg
ICAgICAgZm9yKHZhciBpID0gMDsgaSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj4mbHQ7
PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj5jb2xsZWN0aW9uLmxlbmd0aDs8
L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KytpKTwvc3Bh
bj48c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92
ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibWFyZ2luLWxlZnQ6IC0xNjJweDsgd2lkdGg6IDcycHg7
IGhlaWdodDogMTRweDsiPjwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29u
dGVudCI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1l
Ij5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4oY29s
bGVjdGlvbjwvc3Bhbj5bPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5p
PC9zcGFuPl0gPT09IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmVs
ZW0pPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1l
ZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxlPSJtYXJnaW4tbGVmdDogLTE2MnB4OyB3aWR0
aDogNzJweDsgaGVpZ2h0OiAxNHB4OyI+PC9zcGFuPjwvZGl2Cis8ZGl2IGNsYXNzPSJ3ZWJraXQt
bGluZS1jb250ZW50Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0
dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0
cmlidXRlLXZhbHVlIj5pOzwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29u
dGVudCI+ICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5y
ZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPm51
bGw7PC9zcGFuPjwvZGl2Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgPHNw
YW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+fTwvc3Bhbj48L2Rpdj48L2Rp
dj4KKz09PT09PT09PT09IEFmdGVyIHNlbGVjdGluZyAnZWxlbScgPT09PT09PT09PT0KKzxkaXYg
Y2xhc3M9ImlubmVyLWNvbnRhaW5lciB0ZXh0LWVkaXRvci1lZGl0YWJsZSIgdGFiaW5kZXg9IjAi
Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij5mdW5jdGlvbiBmaW5kRWxlbWVudChj
b2xsZWN0aW9uLCBlbGVtKSB7PHNwYW4gY2xhc3M9InRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdo
dCB0ZXh0LWVkaXRvci1vdmVybGF5LWhpZ2hsaWdodCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAtNTBw
eDsgd2lkdGg6IDMwcHg7IGhlaWdodDogMTRweDsiPjwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0i
d2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDxzcGFuIGNsYXNz
PSJ3ZWJraXQtaHRtbC10YWciPiZsdDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10
YWciPmNvbGxlY3Rpb24ubGVuZ3RoOzwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0
dHJpYnV0ZS1uYW1lIj4rK2kpPC9zcGFuPjwvZGl2Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1j
b250ZW50Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5h
bWUiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPihj
b2xsZWN0aW9uPC9zcGFuPls8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUi
Pmk8L3NwYW4+XSA9PT0gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+
ZWxlbSk8L3NwYW4+PHNwYW4gY2xhc3M9InRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdodCB0ZXh0
LWVkaXRvci1vdmVybGF5LWhpZ2hsaWdodCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAtMzZweDsgd2lk
dGg6IDMwcHg7IGhlaWdodDogMTRweDsiPjwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Via2l0
LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1h
dHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0
dHJpYnV0ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNv
bnRlbnQiPiAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+
cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5u
dWxsOzwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgIDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPn08L3NwYW4+PC9kaXY+PC9k
aXY+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0
b3ItaGlnaGxpZ2h0LXRva2VuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3Rl
eHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhMGUxM2QwNTM0OTYw
NDI2N2YzNDZhNzUxZjU2ZjY4NzFmMjRjZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1sCkBAIC0w
LDAgKzEsNTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImVk
aXRvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICBmdW5jdGlvbiBmaW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7CisgICAgICAgIGZvcih2
YXIgaSA9IDA7IGkgPCBjb2xsZWN0aW9uLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgaWYgKGNv
bGxlY3Rpb25baV0gPT09IGVsZW0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGk7CisgICAgICAg
IHJldHVybiBudWxsOworICAgIH0KKworICAgIHZhciB0ZXh0RWRpdG9yID0gSW5zcGVjdG9yVGVz
dC5jcmVhdGVUZXN0RWRpdG9yKCk7CisgICAgdGV4dEVkaXRvci5zZXRSZWFkT25seShmYWxzZSk7
CisgICAgdGV4dEVkaXRvci5zZXRUZXh0KGZpbmRFbGVtZW50LnRvU3RyaW5nKCkpOworICAgIHRl
eHRFZGl0b3IuZWxlbWVudC5mb2N1cygpOworCisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
Ij09PT09PT09PT09IFRleHRFZGl0b3IgdGV4dCA9PT09PT09PT09Iik7CisgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQodGV4dEVkaXRvci50ZXh0KCkpOworCisgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIj09PT09PT09PT09IEJlZm9yZSBzZWxlY3RpbmcgZWxlbWVudCA9PT09PT09PT09
PSIpOworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHRleHRFZGl0b3IuX21haW5QYW5lbC5l
bGVtZW50LmlubmVySFRNTC5yZXBsYWNlKC8uPGRpdi9nLCAiXG48ZGl2IikpOworCisgICAgdmFy
IHJhbmdlID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0UmFuZ2UoMCwgMjEsIDAsIDMxKTsKKyAgICB0
ZXh0RWRpdG9yLnNldFNlbGVjdGlvbihyYW5nZSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisg
ICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09PT0gQWZ0ZXIg
c2VsZWN0aW5nICciICsgdGV4dEVkaXRvci5fdGV4dE1vZGVsLmNvcHlSYW5nZShyYW5nZSkgKyAi
JyA9PT09PT09PT09PSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh0ZXh0RWRp
dG9yLl9tYWluUGFuZWwuZWxlbWVudC5pbm5lckhUTUwucmVwbGFjZSgvLjxkaXYvZywgIlxuPGRp
diIpKTsKKyAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgwLCAzMywg
MCwgMzcpOworICAgICAgICB0ZXh0RWRpdG9yLnNldFNlbGVjdGlvbihyYW5nZSk7CisgICAgICAg
IHNldFRpbWVvdXQoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PSBBZnRlciBzZWxl
Y3RpbmcgJyIgKyB0ZXh0RWRpdG9yLl90ZXh0TW9kZWwuY29weVJhbmdlKHJhbmdlKSArICInID09
PT09PT09PT09Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHRleHRFZGl0b3Iu
X21haW5QYW5lbC5lbGVtZW50LmlubmVySFRNTC5yZXBsYWNlKC8uPGRpdi9nLCAiXG48ZGl2Iikp
OworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIH0KKworICAgIHNl
dFRpbWVvdXQoc3RlcDEpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCk7Ij4KKzxwPgorVGhpcyB0ZXN0IGNoZWNrcyB0ZXh0IGVkaXRvciB0b2tlbiBo
aWdobGlnaHQgZnVuY3Rpb25hbGl0eS4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182771</attachid>
            <date>2013-01-15 07:43:32 -0800</date>
            <delta_ts>2013-01-16 02:49:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130115194032.patch</filename>
            <type>text/plain</type>
            <size>13468</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVkZDA4YzNiMzU5NmQ3
ZDM4NWIyY2UxOTkwNzdiZTU3Njk2MjRmOS4uYmMwZTliMTNiYWZkMWQwNjNiMjNiNWU2MzlhNDI5
YjNlMjdlMDIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEzLTAxLTE1ICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKTogQWRkZWQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5wcm90b3R5cGUuX2hhbmRsZVNlbGVjdGlvbkNoYW5n
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hs
aWdodGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5faGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVs
LlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9yZW1vdmVIaWdobGlnaHQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5wcm90b3R5
cGUuX2lzV29yZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNz
czoKKyAgICAgICAgKC50ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQpOgorCisyMDEzLTAxLTE1
ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKwogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBoaWdobGlnaHQgcmVnZXhwIEFQSSBmb3IgRGVmYXVsdFRleHRFZGl0b3IK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjgwMQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRU
ZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0
VGV4dEVkaXRvci5qcwppbmRleCAyMDBjMTcwNjFjZTZiZWIzM2Q1NTYzOWRmZGZmNWJlYzE2NGNi
NTZhLi4xZmM2NDEzZTEyZjMxMDY2ZDBhNTgyODRhYjIwOTlhYzkwNjFkZDRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0
b3IuanMKQEAgLTEzNTgsNiArMTM1OCw4IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBh
bmVsID0gZnVuY3Rpb24oZGVsZWdhdGUsIHRleHRNb2RlbCwgdXJsLCBzeW5jU2Nyb2xsCiAKICAg
ICB0aGlzLl9oaWdobGlnaHRSZWdleHMgPSB7fTsKIAorICAgIHRoaXMuX3Rva2VuSGlnaGxpZ2h0
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRl
cih0aGlzLCB0ZXh0TW9kZWwpOworCiAgICAgdGhpcy5fZnJlZUNhY2hlZEVsZW1lbnRzKCk7CiAg
ICAgdGhpcy5idWlsZENodW5rcygpOwogfQpAQCAtMjcxNyw3ICsyNzE5LDkgQEAgV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3JNYWluUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB2YXIgdGV4dFJh
bmdlID0gdGhpcy5zZWxlY3Rpb24oKTsKICAgICAgICAgaWYgKHRleHRSYW5nZSkKICAgICAgICAg
ICAgIHRoaXMuX2xhc3RTZWxlY3Rpb24gPSB0ZXh0UmFuZ2U7CisKICAgICAgICAgdGhpcy5fZGVs
ZWdhdGUuc2VsZWN0aW9uQ2hhbmdlZCh0ZXh0UmFuZ2UpOworICAgICAgICB0aGlzLl90b2tlbkhp
Z2hsaWdodGVyLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSh0ZXh0UmFuZ2UpOwogICAgIH0sCiAKICAg
ICAvKioKQEAgLTMwMTgsNCArMzAyMiw4NiBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5D
aHVuay5wcm90b3R5cGUgPSB7CiAgICAgfQogfQogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbH0gbWFpblBhbmVsCisgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWx9IHRleHRNb2RlbAorICovCitXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyID0gZnVuY3Rpb24o
bWFpblBhbmVsLCB0ZXh0TW9kZWwpCit7CisgICAgdGhpcy5fbWFpblBhbmVsID0gbWFpblBhbmVs
OworICAgIHRoaXMuX3RleHRNb2RlbCA9IHRleHRNb2RlbDsKK30KKworV2ViSW5zcGVjdG9yLlRl
eHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5fTm9uV29yZENoYXJSZWdleCA9IC9b
XmEtekEtWjAtOV9dLzsKK1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGln
aGxpZ2h0ZXIuX1dvcmRSZWdleCA9IC9eW2EtekEtWjAtOV9dKyQvOworCitXZWJJbnNwZWN0b3Iu
VGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZSA9IHsKKyAgICAv
KioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0UmFuZ2V9IHJhbmdlCisgICAgICov
CisgICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlOiBmdW5jdGlvbihyYW5nZSkKKyAgICB7CisgICAg
ICAgIGlmICghcmFuZ2UpIHsKKyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHJhbmdlLnN0YXJ0
TGluZSAhPT0gcmFuZ2UuZW5kTGluZSkgeworICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSGlnaGxp
Z2h0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICByYW5nZSA9
IHJhbmdlLm5vcm1hbGl6ZSgpOworICAgICAgICB2YXIgc2VsZWN0ZWRUZXh0ID0gdGhpcy5fdGV4
dE1vZGVsLmNvcHlSYW5nZShyYW5nZSk7CisgICAgICAgIGlmIChzZWxlY3RlZFRleHQgPT0gdGhp
cy5fc2VsZWN0ZWRXb3JkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmIChzZWxl
Y3RlZFRleHQgPT09ICIiKSB7CisgICAgICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh0aGlzLl9pc1dv
cmQocmFuZ2UsIHNlbGVjdGVkVGV4dCkpCisgICAgICAgICAgICB0aGlzLl9oaWdobGlnaHQoc2Vs
ZWN0ZWRUZXh0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSGlnaGxp
Z2h0KCk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3Rl
ZFdvcmQKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0OiBmdW5jdGlvbihzZWxlY3RlZFdvcmQpCisg
ICAgeworICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICAgICAgdGhpcy5fc2Vs
ZWN0ZWRXb3JkID0gc2VsZWN0ZWRXb3JkOworICAgICAgICB0aGlzLl9hY3RpdmVSZWdleCA9IG5l
dyBSZWdFeHAoIlxcYiIgKyBzZWxlY3RlZFdvcmQgKyAiXFxiIik7CisgICAgICAgIHRoaXMuX21h
aW5QYW5lbC5oaWdobGlnaHRSZWdleCh0aGlzLl9hY3RpdmVSZWdleCwgInRleHQtZWRpdG9yLXRv
a2VuLWhpZ2hsaWdodCIpCisgICAgfSwKKworICAgIF9yZW1vdmVIaWdobGlnaHQ6IGZ1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9hY3RpdmVSZWdleCkgeworICAgICAgICAgICAg
dGhpcy5fbWFpblBhbmVsLnJlbW92ZVJlZ2V4SGlnaGxpZ2h0KHRoaXMuX2FjdGl2ZVJlZ2V4KTsK
KyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9hY3RpdmVSZWdleDsKKyAgICAgICAgICAgIGRlbGV0
ZSB0aGlzLl9zZWxlY3RlZFdvcmQ7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgLyoqCisgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4dFJhbmdlfSByYW5nZQorICAgICAqIEBwYXJhbSB7
c3RyaW5nfSBzZWxlY3RlZFRleHQKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLwor
ICAgIF9pc1dvcmQ6IGZ1bmN0aW9uKHJhbmdlLCBzZWxlY3RlZFRleHQpCisgICAgeworICAgICAg
ICBjb25zdCBOb25Xb3JkQ2hhciA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRv
a2VuSGlnaGxpZ2h0ZXIuX05vbldvcmRDaGFyUmVnZXg7CisgICAgICAgIGNvbnN0IFdvcmRSZWdl
eCA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX1dv
cmRSZWdleDsKKyAgICAgICAgdmFyIGxpbmUgPSB0aGlzLl90ZXh0TW9kZWwubGluZShyYW5nZS5z
dGFydExpbmUpOworICAgICAgICB2YXIgbGVmdEJvdW5kID0gcmFuZ2Uuc3RhcnRDb2x1bW4gPT09
IDAgfHwgTm9uV29yZENoYXIudGVzdChsaW5lLmNoYXJBdChyYW5nZS5zdGFydENvbHVtbiAtIDEp
KTsKKyAgICAgICAgdmFyIHJpZ2h0Qm91bmQgPSByYW5nZS5lbmRDb2x1bW4gPT09IGxpbmUubGVu
Z3RoIC0gMSB8fCBOb25Xb3JkQ2hhci50ZXN0KGxpbmUuY2hhckF0KHJhbmdlLmVuZENvbHVtbikp
OworICAgICAgICByZXR1cm4gbGVmdEJvdW5kICYmIHJpZ2h0Qm91bmQgJiYgV29yZFJlZ2V4LnRl
c3Qoc2VsZWN0ZWRUZXh0KTsKKyAgICB9Cit9CisKIFdlYkluc3BlY3Rvci5kZWJ1Z0RlZmF1bHRU
ZXh0RWRpdG9yID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC90ZXh0RWRpdG9yLmNzcwppbmRleCA2OTQwNzFiZDExZmVjZjY3YzI2YjFlOWI1MjczZDVj
NjQ4Njc1MjZiLi5iYzVhNDM2YmQyNGMzMTZiOGMxYmMwNjNhODU4MGQ0ZTRiYTU4N2NjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3Nz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MK
QEAgLTM3LDYgKzM3LDExIEBACiAgICAgei1pbmRleDogLTE7CiB9CiAKKy50ZXh0LWVkaXRvci10
b2tlbi1oaWdobGlnaHQgeworICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsYWNrOworfQorCiAudGV4dC1lZGl0b3ItY29udGVudHMgLmlubmVy
LWNvbnRhaW5lciB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHRvcDogMDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBkZTJhZDU4OWMyMDA0MDA1M2ExMWExY2UzMGEzZDhhYjdiODM3MTVmLi4zZjNiZDNhMTBiYTgw
YzNlYTFjM2ZjZjYyNWMzNDkxYzJhYTZkZWM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMTMt
MDEtMTUgIEFuZHJleSBMdXNobmlrb3YgIDxsdXNobmlrb3ZAY2hyb21pdW0ub3JnPgogCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGhpZ2hsaWdodCBvY2N1cmVuY2VzIG9mIHdvcmQgaW4gRGVmYXVs
dFRleHRFZGl0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNTUyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgdGVzdCB0byB2ZXJpZnkgdG9rZW4gaGlnaGxpZ2h0bmluZyBmdW5jdGlvbmFs
aXR5LgorCisgICAgICAgICogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQt
dG9rZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3Rl
eHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1sOiBBZGRlZC4KKworMjAxMy0wMS0xNSAgQW5k
cmV5IEx1c2huaWtvdiAgPGx1c2huaWtvdkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIElu
c3BlY3RvcjogaGlnaGxpZ2h0IHJlZ2V4cCBBUEkgZm9yIERlZmF1bHRUZXh0RWRpdG9yCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY4MDEKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGln
aHQtdG9rZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0
LWVkaXRvci1oaWdobGlnaHQtdG9rZW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyZWUxYzg3
ZDEwM2Q2NDczNDZiY2U5MGVmMjhlZmRjNjUwNWM4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNCBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0ZXh0IGVkaXRvciB0
b2tlbiBoaWdobGlnaHQgZnVuY3Rpb25hbGl0eS4KKworPT09PT09PT09PT0gVGV4dEVkaXRvciB0
ZXh0ID09PT09PT09PT0KK2Z1bmN0aW9uIGZpbmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHsK
KyAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IGNvbGxlY3Rpb24ubGVuZ3RoOyArK2kpCisgICAg
ICAgICAgICBpZiAoY29sbGVjdGlvbltpXSA9PT0gZWxlbSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gaTsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorPT09PT09PT09PT0gQmVmb3JlIHNl
bGVjdGluZyBlbGVtZW50ID09PT09PT09PT09Cis8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIg
dGV4dC1lZGl0b3ItZWRpdGFibGUiIHRhYmluZGV4PSIwIgorPGRpdiBjbGFzcz0id2Via2l0LWxp
bmUtY29udGVudCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkgezwvZGl2
Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIGZvcih2YXIgaSA9IDA7
IGkgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLXRhZyI+Y29sbGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8c3BhbiBjbGFzcz0i
d2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPisraSk8L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9
IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRt
bC1hdHRyaWJ1dGUtbmFtZSI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRy
aWJ1dGUtbmFtZSI+KGNvbGxlY3Rpb248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1h
dHRyaWJ1dGUtbmFtZSI+aTwvc3Bhbj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0
cmlidXRlLXZhbHVlIj5lbGVtKTwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUt
Y29udGVudCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1
dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0
ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQi
PiAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJu
PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5udWxsOzwv
c3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNs
YXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9
PT09PT09PT09PSBBZnRlciBzZWxlY3RpbmcgJ2NvbGxlY3Rpb24nID09PT09PT09PT09Cis8ZGl2
IGNsYXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0b3ItZWRpdGFibGUiIHRhYmluZGV4PSIw
IgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQo
Y29sbGVjdGlvbiwgZWxlbSkgezxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGln
aHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxlPSJtYXJnaW4tbGVmdDogLTEz
NHB4OyB3aWR0aDogNzJweDsgaGVpZ2h0OiAxNHB4OyI+PC9zcGFuPjwvZGl2Cis8ZGl2IGNsYXNz
PSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPHNwYW4gY2xh
c3M9IndlYmtpdC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1s
LXRhZyI+Y29sbGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwt
YXR0cmlidXRlLW5hbWUiPisraSk8L3NwYW4+PHNwYW4gY2xhc3M9InRleHQtZWRpdG9yLXRva2Vu
LWhpZ2hsaWdodCB0ZXh0LWVkaXRvci1vdmVybGF5LWhpZ2hsaWdodCIgc3R5bGU9Im1hcmdpbi1s
ZWZ0OiAtMTYycHg7IHdpZHRoOiA3MnB4OyBoZWlnaHQ6IDE0cHg7Ij48L3NwYW4+PC9kaXYKKzxk
aXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3
ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQt
aHRtbC1hdHRyaWJ1dGUtbmFtZSI+KGNvbGxlY3Rpb248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aTwvc3Bhbj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0
LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5lbGVtKTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0
b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0i
bWFyZ2luLWxlZnQ6IC0xNjJweDsgd2lkdGg6IDcycHg7IGhlaWdodDogMTRweDsiPjwvc3Bhbj48
L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNw
YW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXYKKzxk
aXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0
LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5udWxsOzwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Vi
a2l0LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
dmFsdWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9PT09PT09PT09PSBBZnRlciBzZWxlY3Rpbmcg
J2VsZW0nID09PT09PT09PT09Cis8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0
b3ItZWRpdGFibGUiIHRhYmluZGV4PSIwIgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVu
dCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkgezxzcGFuIGNsYXNzPSJ0
ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQi
IHN0eWxlPSJtYXJnaW4tbGVmdDogLTUwcHg7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDE0cHg7Ij48
L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgZm9y
KHZhciBpID0gMDsgaSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj4mbHQ7PC9zcGFuPiA8
c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj5jb2xsZWN0aW9uLmxlbmd0aDs8L3NwYW4+IDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KytpKTwvc3Bhbj48L2Rpdgor
PGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4oY29sbGVjdGlvbjwvc3Bhbj5bPHNwYW4gY2xhc3M9Indl
YmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pPC9zcGFuPl0gPT09IDxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmVsZW0pPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWVk
aXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxl
PSJtYXJnaW4tbGVmdDogLTM2cHg7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDE0cHg7Ij48L3NwYW4+
PC9kaXYKKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmk7PC9zcGFuPjwvZGl2Cis8
ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+bnVsbDs8L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9Indl
YmtpdC1saW5lLWNvbnRlbnQiPiAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRl
LXZhbHVlIj59PC9zcGFuPjwvZGl2PjwvZGl2PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iYTBlMTNkMDUzNDk2MDQyNjdmMzQ2YTc1MWY1NmY2ODcxZjI0Y2U0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1o
aWdobGlnaHQtdG9rZW4uaHRtbApAQCAtMCwwICsxLDU2IEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJlZGl0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlv
biwgZWxlbSkgeworICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY29sbGVjdGlvbi5sZW5ndGg7
ICsraSkKKyAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uW2ldID09PSBlbGVtKQorICAgICAgICAg
ICAgICAgIHJldHVybiBpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9CisKKyAgICB2YXIg
dGV4dEVkaXRvciA9IEluc3BlY3RvclRlc3QuY3JlYXRlVGVzdEVkaXRvcigpOworICAgIHRleHRF
ZGl0b3Iuc2V0UmVhZE9ubHkoZmFsc2UpOworICAgIHRleHRFZGl0b3Iuc2V0VGV4dChmaW5kRWxl
bWVudC50b1N0cmluZygpKTsKKyAgICB0ZXh0RWRpdG9yLmVsZW1lbnQuZm9jdXMoKTsKKworICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PSBUZXh0RWRpdG9yIHRleHQgPT09
PT09PT09PSIpOworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHRleHRFZGl0b3IudGV4dCgp
KTsKKworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PSBCZWZvcmUgc2Vs
ZWN0aW5nIGVsZW1lbnQgPT09PT09PT09PT0iKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCh0ZXh0RWRpdG9yLl9tYWluUGFuZWwuZWxlbWVudC5pbm5lckhUTUwucmVwbGFjZSgvLjxkaXYv
ZywgIlxuPGRpdiIpKTsKKworICAgIHZhciByYW5nZSA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dFJh
bmdlKDAsIDIxLCAwLCAzMSk7CisgICAgdGV4dEVkaXRvci5zZXRTZWxlY3Rpb24ocmFuZ2UpOwor
CisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIj09PT09PT09PT09IEFmdGVyIHNlbGVjdGluZyAnIiArIHRleHRFZGl0b3IuX3RleHRN
b2RlbC5jb3B5UmFuZ2UocmFuZ2UpICsgIicgPT09PT09PT09PT0iKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQodGV4dEVkaXRvci5fbWFpblBhbmVsLmVsZW1lbnQuaW5uZXJIVE1M
LnJlcGxhY2UoLy48ZGl2L2csICJcbjxkaXYiKSk7CisgICAgICAgIHJhbmdlID0gbmV3IFdlYklu
c3BlY3Rvci5UZXh0UmFuZ2UoMCwgMzMsIDAsIDM3KTsKKyAgICAgICAgdGV4dEVkaXRvci5zZXRT
ZWxlY3Rpb24ocmFuZ2UpOworICAgICAgICBzZXRUaW1lb3V0KHN0ZXAyKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiPT09PT09PT09PT0gQWZ0ZXIgc2VsZWN0aW5nICciICsgdGV4dEVkaXRvci5fdGV4dE1vZGVs
LmNvcHlSYW5nZShyYW5nZSkgKyAiJyA9PT09PT09PT09PSIpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCh0ZXh0RWRpdG9yLl9tYWluUGFuZWwuZWxlbWVudC5pbm5lckhUTUwucmVw
bGFjZSgvLjxkaXYvZywgIlxuPGRpdiIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKKyAgICB9CisKKyAgICBzZXRUaW1lb3V0KHN0ZXAxKTsKK30KKworPC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8cD4KK1RoaXMgdGVzdCBj
aGVja3MgdGV4dCBlZGl0b3IgdG9rZW4gaGlnaGxpZ2h0IGZ1bmN0aW9uYWxpdHkuCis8L3A+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182948</attachid>
            <date>2013-01-16 02:50:00 -0800</date>
            <delta_ts>2013-01-16 07:36:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130116144701.patch</filename>
            <type>text/plain</type>
            <size>13468</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5ODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzEyZjU3NjA2Yzk3YjNj
ZmU4YjdlYjMyZTk3NDBhYzBiNDNmYjc3NC4uZDAwMzI4MTczNzY4YzA5MjExMjFhYjFmNTAwYmU1
MDIwNTVhMWMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDEzLTAxLTE1ICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKTogQWRkZWQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5wcm90b3R5cGUuX2hhbmRsZVNlbGVjdGlvbkNoYW5n
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hs
aWdodGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5faGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVs
LlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9yZW1vdmVIaWdobGlnaHQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5wcm90b3R5
cGUuX2lzV29yZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNz
czoKKyAgICAgICAgKC50ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQpOgorCisyMDEzLTAxLTE1
ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKwogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBoaWdobGlnaHQgcmVnZXhwIEFQSSBmb3IgRGVmYXVsdFRleHRFZGl0b3IK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjgwMQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRU
ZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0
VGV4dEVkaXRvci5qcwppbmRleCAyMDBjMTcwNjFjZTZiZWIzM2Q1NTYzOWRmZGZmNWJlYzE2NGNi
NTZhLi4xZmM2NDEzZTEyZjMxMDY2ZDBhNTgyODRhYjIwOTlhYzkwNjFkZDRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0
b3IuanMKQEAgLTEzNTgsNiArMTM1OCw4IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBh
bmVsID0gZnVuY3Rpb24oZGVsZWdhdGUsIHRleHRNb2RlbCwgdXJsLCBzeW5jU2Nyb2xsCiAKICAg
ICB0aGlzLl9oaWdobGlnaHRSZWdleHMgPSB7fTsKIAorICAgIHRoaXMuX3Rva2VuSGlnaGxpZ2h0
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRl
cih0aGlzLCB0ZXh0TW9kZWwpOworCiAgICAgdGhpcy5fZnJlZUNhY2hlZEVsZW1lbnRzKCk7CiAg
ICAgdGhpcy5idWlsZENodW5rcygpOwogfQpAQCAtMjcxNyw3ICsyNzE5LDkgQEAgV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3JNYWluUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB2YXIgdGV4dFJh
bmdlID0gdGhpcy5zZWxlY3Rpb24oKTsKICAgICAgICAgaWYgKHRleHRSYW5nZSkKICAgICAgICAg
ICAgIHRoaXMuX2xhc3RTZWxlY3Rpb24gPSB0ZXh0UmFuZ2U7CisKICAgICAgICAgdGhpcy5fZGVs
ZWdhdGUuc2VsZWN0aW9uQ2hhbmdlZCh0ZXh0UmFuZ2UpOworICAgICAgICB0aGlzLl90b2tlbkhp
Z2hsaWdodGVyLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSh0ZXh0UmFuZ2UpOwogICAgIH0sCiAKICAg
ICAvKioKQEAgLTMwMTgsNCArMzAyMiw4NiBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5D
aHVuay5wcm90b3R5cGUgPSB7CiAgICAgfQogfQogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbH0gbWFpblBhbmVsCisgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWx9IHRleHRNb2RlbAorICovCitXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyID0gZnVuY3Rpb24o
bWFpblBhbmVsLCB0ZXh0TW9kZWwpCit7CisgICAgdGhpcy5fbWFpblBhbmVsID0gbWFpblBhbmVs
OworICAgIHRoaXMuX3RleHRNb2RlbCA9IHRleHRNb2RlbDsKK30KKworV2ViSW5zcGVjdG9yLlRl
eHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5fTm9uV29yZENoYXJSZWdleCA9IC9b
XmEtekEtWjAtOV9dLzsKK1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGln
aGxpZ2h0ZXIuX1dvcmRSZWdleCA9IC9eW2EtekEtWjAtOV9dKyQvOworCitXZWJJbnNwZWN0b3Iu
VGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZSA9IHsKKyAgICAv
KioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0UmFuZ2V9IHJhbmdlCisgICAgICov
CisgICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlOiBmdW5jdGlvbihyYW5nZSkKKyAgICB7CisgICAg
ICAgIGlmICghcmFuZ2UpIHsKKyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHJhbmdlLnN0YXJ0
TGluZSAhPT0gcmFuZ2UuZW5kTGluZSkgeworICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSGlnaGxp
Z2h0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICByYW5nZSA9
IHJhbmdlLm5vcm1hbGl6ZSgpOworICAgICAgICB2YXIgc2VsZWN0ZWRUZXh0ID0gdGhpcy5fdGV4
dE1vZGVsLmNvcHlSYW5nZShyYW5nZSk7CisgICAgICAgIGlmIChzZWxlY3RlZFRleHQgPT0gdGhp
cy5fc2VsZWN0ZWRXb3JkKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmIChzZWxl
Y3RlZFRleHQgPT09ICIiKSB7CisgICAgICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGlmICh0aGlzLl9pc1dv
cmQocmFuZ2UsIHNlbGVjdGVkVGV4dCkpCisgICAgICAgICAgICB0aGlzLl9oaWdobGlnaHQoc2Vs
ZWN0ZWRUZXh0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSGlnaGxp
Z2h0KCk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3Rl
ZFdvcmQKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0OiBmdW5jdGlvbihzZWxlY3RlZFdvcmQpCisg
ICAgeworICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICAgICAgdGhpcy5fc2Vs
ZWN0ZWRXb3JkID0gc2VsZWN0ZWRXb3JkOworICAgICAgICB0aGlzLl9hY3RpdmVSZWdleCA9IG5l
dyBSZWdFeHAoIlxcYiIgKyBzZWxlY3RlZFdvcmQgKyAiXFxiIik7CisgICAgICAgIHRoaXMuX21h
aW5QYW5lbC5oaWdobGlnaHRSZWdleCh0aGlzLl9hY3RpdmVSZWdleCwgInRleHQtZWRpdG9yLXRv
a2VuLWhpZ2hsaWdodCIpCisgICAgfSwKKworICAgIF9yZW1vdmVIaWdobGlnaHQ6IGZ1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9hY3RpdmVSZWdleCkgeworICAgICAgICAgICAg
dGhpcy5fbWFpblBhbmVsLnJlbW92ZVJlZ2V4SGlnaGxpZ2h0KHRoaXMuX2FjdGl2ZVJlZ2V4KTsK
KyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9hY3RpdmVSZWdleDsKKyAgICAgICAgICAgIGRlbGV0
ZSB0aGlzLl9zZWxlY3RlZFdvcmQ7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgLyoqCisgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4dFJhbmdlfSByYW5nZQorICAgICAqIEBwYXJhbSB7
c3RyaW5nfSBzZWxlY3RlZFRleHQKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLwor
ICAgIF9pc1dvcmQ6IGZ1bmN0aW9uKHJhbmdlLCBzZWxlY3RlZFRleHQpCisgICAgeworICAgICAg
ICBjb25zdCBOb25Xb3JkQ2hhciA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRv
a2VuSGlnaGxpZ2h0ZXIuX05vbldvcmRDaGFyUmVnZXg7CisgICAgICAgIGNvbnN0IFdvcmRSZWdl
eCA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX1dv
cmRSZWdleDsKKyAgICAgICAgdmFyIGxpbmUgPSB0aGlzLl90ZXh0TW9kZWwubGluZShyYW5nZS5z
dGFydExpbmUpOworICAgICAgICB2YXIgbGVmdEJvdW5kID0gcmFuZ2Uuc3RhcnRDb2x1bW4gPT09
IDAgfHwgTm9uV29yZENoYXIudGVzdChsaW5lLmNoYXJBdChyYW5nZS5zdGFydENvbHVtbiAtIDEp
KTsKKyAgICAgICAgdmFyIHJpZ2h0Qm91bmQgPSByYW5nZS5lbmRDb2x1bW4gPT09IGxpbmUubGVu
Z3RoIC0gMSB8fCBOb25Xb3JkQ2hhci50ZXN0KGxpbmUuY2hhckF0KHJhbmdlLmVuZENvbHVtbikp
OworICAgICAgICByZXR1cm4gbGVmdEJvdW5kICYmIHJpZ2h0Qm91bmQgJiYgV29yZFJlZ2V4LnRl
c3Qoc2VsZWN0ZWRUZXh0KTsKKyAgICB9Cit9CisKIFdlYkluc3BlY3Rvci5kZWJ1Z0RlZmF1bHRU
ZXh0RWRpdG9yID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC90ZXh0RWRpdG9yLmNzcwppbmRleCA2OTQwNzFiZDExZmVjZjY3YzI2YjFlOWI1MjczZDVj
NjQ4Njc1MjZiLi5iYzVhNDM2YmQyNGMzMTZiOGMxYmMwNjNhODU4MGQ0ZTRiYTU4N2NjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3Nz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MK
QEAgLTM3LDYgKzM3LDExIEBACiAgICAgei1pbmRleDogLTE7CiB9CiAKKy50ZXh0LWVkaXRvci10
b2tlbi1oaWdobGlnaHQgeworICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OworICAgIGJv
cmRlcjogMXB4IHNvbGlkIGJsYWNrOworfQorCiAudGV4dC1lZGl0b3ItY29udGVudHMgLmlubmVy
LWNvbnRhaW5lciB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHRvcDogMDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA5MDAwYTIwYThmODM5ZGRmODY2YzdhMmFiMWU4ZjcyZjVkNjExOWExLi41OWIxNTU1MDg4MmMy
MDk1MDFmYzIyYzU1YmFhMDAzYTkwZjlhMzI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMTMt
MDEtMTUgIEFuZHJleSBMdXNobmlrb3YgIDxsdXNobmlrb3ZAY2hyb21pdW0ub3JnPgogCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGhpZ2hsaWdodCBvY2N1cmVuY2VzIG9mIHdvcmQgaW4gRGVmYXVs
dFRleHRFZGl0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNTUyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgdGVzdCB0byB2ZXJpZnkgdG9rZW4gaGlnaGxpZ2h0bmluZyBmdW5jdGlvbmFs
aXR5LgorCisgICAgICAgICogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQt
dG9rZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3Rl
eHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1sOiBBZGRlZC4KKworMjAxMy0wMS0xNSAgQW5k
cmV5IEx1c2huaWtvdiAgPGx1c2huaWtvdkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIElu
c3BlY3RvcjogaGlnaGxpZ2h0IHJlZ2V4cCBBUEkgZm9yIERlZmF1bHRUZXh0RWRpdG9yCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY4MDEKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGln
aHQtdG9rZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0
LWVkaXRvci1oaWdobGlnaHQtdG9rZW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyZWUxYzg3
ZDEwM2Q2NDczNDZiY2U5MGVmMjhlZmRjNjUwNWM4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzNCBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0ZXh0IGVkaXRvciB0
b2tlbiBoaWdobGlnaHQgZnVuY3Rpb25hbGl0eS4KKworPT09PT09PT09PT0gVGV4dEVkaXRvciB0
ZXh0ID09PT09PT09PT0KK2Z1bmN0aW9uIGZpbmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHsK
KyAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IGNvbGxlY3Rpb24ubGVuZ3RoOyArK2kpCisgICAg
ICAgICAgICBpZiAoY29sbGVjdGlvbltpXSA9PT0gZWxlbSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gaTsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorPT09PT09PT09PT0gQmVmb3JlIHNl
bGVjdGluZyBlbGVtZW50ID09PT09PT09PT09Cis8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIg
dGV4dC1lZGl0b3ItZWRpdGFibGUiIHRhYmluZGV4PSIwIgorPGRpdiBjbGFzcz0id2Via2l0LWxp
bmUtY29udGVudCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkgezwvZGl2
Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIGZvcih2YXIgaSA9IDA7
IGkgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLXRhZyI+Y29sbGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8c3BhbiBjbGFzcz0i
d2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPisraSk8L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9
IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRt
bC1hdHRyaWJ1dGUtbmFtZSI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRy
aWJ1dGUtbmFtZSI+KGNvbGxlY3Rpb248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1h
dHRyaWJ1dGUtbmFtZSI+aTwvc3Bhbj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0
cmlidXRlLXZhbHVlIj5lbGVtKTwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUt
Y29udGVudCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1
dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0
ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQi
PiAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJu
PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5udWxsOzwv
c3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNs
YXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9
PT09PT09PT09PSBBZnRlciBzZWxlY3RpbmcgJ2NvbGxlY3Rpb24nID09PT09PT09PT09Cis8ZGl2
IGNsYXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0b3ItZWRpdGFibGUiIHRhYmluZGV4PSIw
IgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQo
Y29sbGVjdGlvbiwgZWxlbSkgezxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGln
aHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxlPSJtYXJnaW4tbGVmdDogLTEz
NHB4OyB3aWR0aDogNzJweDsgaGVpZ2h0OiAxNHB4OyI+PC9zcGFuPjwvZGl2Cis8ZGl2IGNsYXNz
PSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPHNwYW4gY2xh
c3M9IndlYmtpdC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1s
LXRhZyI+Y29sbGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwt
YXR0cmlidXRlLW5hbWUiPisraSk8L3NwYW4+PHNwYW4gY2xhc3M9InRleHQtZWRpdG9yLXRva2Vu
LWhpZ2hsaWdodCB0ZXh0LWVkaXRvci1vdmVybGF5LWhpZ2hsaWdodCIgc3R5bGU9Im1hcmdpbi1s
ZWZ0OiAtMTYycHg7IHdpZHRoOiA3MnB4OyBoZWlnaHQ6IDE0cHg7Ij48L3NwYW4+PC9kaXYKKzxk
aXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3
ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQt
aHRtbC1hdHRyaWJ1dGUtbmFtZSI+KGNvbGxlY3Rpb248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aTwvc3Bhbj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0
LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5lbGVtKTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0
b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0i
bWFyZ2luLWxlZnQ6IC0xNjJweDsgd2lkdGg6IDcycHg7IGhlaWdodDogMTRweDsiPjwvc3Bhbj48
L2RpdgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgICAgIDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNw
YW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXYKKzxk
aXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0
LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5udWxsOzwvc3Bhbj48L2RpdgorPGRpdiBjbGFzcz0id2Vi
a2l0LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
dmFsdWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9PT09PT09PT09PSBBZnRlciBzZWxlY3Rpbmcg
J2VsZW0nID09PT09PT09PT09Cis8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0
b3ItZWRpdGFibGUiIHRhYmluZGV4PSIwIgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVu
dCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkgezxzcGFuIGNsYXNzPSJ0
ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQi
IHN0eWxlPSJtYXJnaW4tbGVmdDogLTUwcHg7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDE0cHg7Ij48
L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgZm9y
KHZhciBpID0gMDsgaSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj4mbHQ7PC9zcGFuPiA8
c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj5jb2xsZWN0aW9uLmxlbmd0aDs8L3NwYW4+IDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KytpKTwvc3Bhbj48L2Rpdgor
PGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4oY29sbGVjdGlvbjwvc3Bhbj5bPHNwYW4gY2xhc3M9Indl
YmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pPC9zcGFuPl0gPT09IDxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmVsZW0pPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWVk
aXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxl
PSJtYXJnaW4tbGVmdDogLTM2cHg7IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDE0cHg7Ij48L3NwYW4+
PC9kaXYKKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAgICAgICA8
c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmk7PC9zcGFuPjwvZGl2Cis8
ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+bnVsbDs8L3NwYW4+PC9kaXYKKzxkaXYgY2xhc3M9Indl
YmtpdC1saW5lLWNvbnRlbnQiPiAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRl
LXZhbHVlIj59PC9zcGFuPjwvZGl2PjwvZGl2PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iYTBlMTNkMDUzNDk2MDQyNjdmMzQ2YTc1MWY1NmY2ODcxZjI0Y2U0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1o
aWdobGlnaHQtdG9rZW4uaHRtbApAQCAtMCwwICsxLDU2IEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJlZGl0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlv
biwgZWxlbSkgeworICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY29sbGVjdGlvbi5sZW5ndGg7
ICsraSkKKyAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uW2ldID09PSBlbGVtKQorICAgICAgICAg
ICAgICAgIHJldHVybiBpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9CisKKyAgICB2YXIg
dGV4dEVkaXRvciA9IEluc3BlY3RvclRlc3QuY3JlYXRlVGVzdEVkaXRvcigpOworICAgIHRleHRF
ZGl0b3Iuc2V0UmVhZE9ubHkoZmFsc2UpOworICAgIHRleHRFZGl0b3Iuc2V0VGV4dChmaW5kRWxl
bWVudC50b1N0cmluZygpKTsKKyAgICB0ZXh0RWRpdG9yLmVsZW1lbnQuZm9jdXMoKTsKKworICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PSBUZXh0RWRpdG9yIHRleHQgPT09
PT09PT09PSIpOworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHRleHRFZGl0b3IudGV4dCgp
KTsKKworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PSBCZWZvcmUgc2Vs
ZWN0aW5nIGVsZW1lbnQgPT09PT09PT09PT0iKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCh0ZXh0RWRpdG9yLl9tYWluUGFuZWwuZWxlbWVudC5pbm5lckhUTUwucmVwbGFjZSgvLjxkaXYv
ZywgIlxuPGRpdiIpKTsKKworICAgIHZhciByYW5nZSA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dFJh
bmdlKDAsIDIxLCAwLCAzMSk7CisgICAgdGV4dEVkaXRvci5zZXRTZWxlY3Rpb24ocmFuZ2UpOwor
CisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIj09PT09PT09PT09IEFmdGVyIHNlbGVjdGluZyAnIiArIHRleHRFZGl0b3IuX3RleHRN
b2RlbC5jb3B5UmFuZ2UocmFuZ2UpICsgIicgPT09PT09PT09PT0iKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQodGV4dEVkaXRvci5fbWFpblBhbmVsLmVsZW1lbnQuaW5uZXJIVE1M
LnJlcGxhY2UoLy48ZGl2L2csICJcbjxkaXYiKSk7CisgICAgICAgIHJhbmdlID0gbmV3IFdlYklu
c3BlY3Rvci5UZXh0UmFuZ2UoMCwgMzMsIDAsIDM3KTsKKyAgICAgICAgdGV4dEVkaXRvci5zZXRT
ZWxlY3Rpb24ocmFuZ2UpOworICAgICAgICBzZXRUaW1lb3V0KHN0ZXAyKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiPT09PT09PT09PT0gQWZ0ZXIgc2VsZWN0aW5nICciICsgdGV4dEVkaXRvci5fdGV4dE1vZGVs
LmNvcHlSYW5nZShyYW5nZSkgKyAiJyA9PT09PT09PT09PSIpOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCh0ZXh0RWRpdG9yLl9tYWluUGFuZWwuZWxlbWVudC5pbm5lckhUTUwucmVw
bGFjZSgvLjxkaXYvZywgIlxuPGRpdiIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKKyAgICB9CisKKyAgICBzZXRUaW1lb3V0KHN0ZXAxKTsKK30KKworPC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8cD4KK1RoaXMgdGVzdCBj
aGVja3MgdGV4dCBlZGl0b3IgdG9rZW4gaGlnaGxpZ2h0IGZ1bmN0aW9uYWxpdHkuCis8L3A+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>182958</attachid>
            <date>2013-01-16 04:24:08 -0800</date>
            <delta_ts>2013-01-16 07:39:46 -0800</delta_ts>
            <desc>word-highlight-screenshot</desc>
            <filename>word-highlight</filename>
            <type>application/octet-stream</type>
            <size>18858</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182979</attachid>
            <date>2013-01-16 07:36:47 -0800</date>
            <delta_ts>2013-01-23 07:50:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130116193348.patch</filename>
            <type>text/plain</type>
            <size>13185</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5ODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTRhNWNhMTgwMmM3MDI1
ZTM3ODk5MDcyMDdmMmFjMGI4MjVhYTdiNi4uNzQ5NGMyZjM4ZGJiZDlkNjBhYTllM2ZhZTdkYWE0
NjUzYjVmZWY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAxLTE1ICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKTogQWRkZWQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5wcm90b3R5cGUuX2hhbmRsZVNlbGVjdGlvbkNoYW5n
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hs
aWdodGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5faGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVs
LlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9yZW1vdmVIaWdobGlnaHQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5wcm90b3R5
cGUuX2lzV29yZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNz
czoKKyAgICAgICAgKC50ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQpOgorCiAyMDEzLTAxLTE2
ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogW0V4dGVuc2lvbnMgQVBJXSByZW1vdmUgaW5zcGVjdGVkV2luZG93Lm9uUmVzZXQg
ZXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVm
YXVsdFRleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Rl
ZmF1bHRUZXh0RWRpdG9yLmpzCmluZGV4IGM0ODlhNTE5ZWE0MzA4MTc5ZjRiODZjMTdhNGZkNGE0
M2ExY2QwMzQuLjFiZWI1NDQxZmMzZmVhZjg5MzNlMDY5YTY5ZjhlOTExOTdmNzU4NzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0
b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4
dEVkaXRvci5qcwpAQCAtMTM1OCw2ICsxMzU4LDggQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JN
YWluUGFuZWwgPSBmdW5jdGlvbihkZWxlZ2F0ZSwgdGV4dE1vZGVsLCB1cmwsIHN5bmNTY3JvbGwK
IAogICAgIHRoaXMuX2hpZ2hsaWdodFJlZ2V4cyA9IHt9OwogCisgICAgdGhpcy5fdG9rZW5IaWdo
bGlnaHRlciA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hs
aWdodGVyKHRoaXMsIHRleHRNb2RlbCk7CisKICAgICB0aGlzLl9mcmVlQ2FjaGVkRWxlbWVudHMo
KTsKICAgICB0aGlzLmJ1aWxkQ2h1bmtzKCk7CiB9CkBAIC0yNzE1LDcgKzI3MTcsOSBAQCBXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciB0
ZXh0UmFuZ2UgPSB0aGlzLnNlbGVjdGlvbigpOwogICAgICAgICBpZiAodGV4dFJhbmdlKQogICAg
ICAgICAgICAgdGhpcy5fbGFzdFNlbGVjdGlvbiA9IHRleHRSYW5nZTsKKwogICAgICAgICB0aGlz
Ll9kZWxlZ2F0ZS5zZWxlY3Rpb25DaGFuZ2VkKHRleHRSYW5nZSk7CisgICAgICAgIHRoaXMuX3Rv
a2VuSGlnaGxpZ2h0ZXIuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHRleHRSYW5nZSk7CiAgICAgfSwK
IAogICAgIC8qKgpAQCAtMzAxNiw0ICszMDIwLDg2IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9y
TWFpbkNodW5rLnByb3RvdHlwZSA9IHsKICAgICB9CiB9CiAKKy8qKgorICogQGNvbnN0cnVjdG9y
CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsfSBtYWluUGFuZWwK
KyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbH0gdGV4dE1vZGVsCisgKi8K
K1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIgPSBmdW5j
dGlvbihtYWluUGFuZWwsIHRleHRNb2RlbCkKK3sKKyAgICB0aGlzLl9tYWluUGFuZWwgPSBtYWlu
UGFuZWw7CisgICAgdGhpcy5fdGV4dE1vZGVsID0gdGV4dE1vZGVsOworfQorCitXZWJJbnNwZWN0
b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLl9Ob25Xb3JkQ2hhclJlZ2V4
ID0gL1teYS16QS1aMC05X10vOworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9r
ZW5IaWdobGlnaHRlci5fV29yZFJlZ2V4ID0gL15bYS16QS1aMC05X10rJC87CisKK1dlYkluc3Bl
Y3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlID0gewor
ICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRleHRSYW5nZX0gcmFuZ2UKKyAg
ICAgKi8KKyAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2U6IGZ1bmN0aW9uKHJhbmdlKQorICAgIHsK
KyAgICAgICAgaWYgKCFyYW5nZSkgeworICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSGlnaGxpZ2h0
KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAocmFuZ2Uu
c3RhcnRMaW5lICE9PSByYW5nZS5lbmRMaW5lKSB7CisgICAgICAgICAgICB0aGlzLl9yZW1vdmVI
aWdobGlnaHQoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHJh
bmdlID0gcmFuZ2Uubm9ybWFsaXplKCk7CisgICAgICAgIHZhciBzZWxlY3RlZFRleHQgPSB0aGlz
Ll90ZXh0TW9kZWwuY29weVJhbmdlKHJhbmdlKTsKKyAgICAgICAgaWYgKHNlbGVjdGVkVGV4dCA9
PSB0aGlzLl9zZWxlY3RlZFdvcmQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYg
KHNlbGVjdGVkVGV4dCA9PT0gIiIpIHsKKyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdo
dCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMu
X2lzV29yZChyYW5nZSwgc2VsZWN0ZWRUZXh0KSkKKyAgICAgICAgICAgIHRoaXMuX2hpZ2hsaWdo
dChzZWxlY3RlZFRleHQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLl9yZW1vdmVI
aWdobGlnaHQoKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNl
bGVjdGVkV29yZAorICAgICAqLworICAgIF9oaWdobGlnaHQ6IGZ1bmN0aW9uKHNlbGVjdGVkV29y
ZCkKKyAgICB7CisgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICB0aGlz
Ll9zZWxlY3RlZFdvcmQgPSBzZWxlY3RlZFdvcmQ7CisgICAgICAgIHRoaXMuX2FjdGl2ZVJlZ2V4
ID0gbmV3IFJlZ0V4cCgiXFxiIiArIHNlbGVjdGVkV29yZCArICJcXGIiKTsKKyAgICAgICAgdGhp
cy5fbWFpblBhbmVsLmhpZ2hsaWdodFJlZ2V4KHRoaXMuX2FjdGl2ZVJlZ2V4LCAidGV4dC1lZGl0
b3ItdG9rZW4taGlnaGxpZ2h0IikKKyAgICB9LAorCisgICAgX3JlbW92ZUhpZ2hsaWdodDogZnVu
Y3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZVJlZ2V4KSB7CisgICAgICAg
ICAgICB0aGlzLl9tYWluUGFuZWwucmVtb3ZlUmVnZXhIaWdobGlnaHQodGhpcy5fYWN0aXZlUmVn
ZXgpOworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2FjdGl2ZVJlZ2V4OworICAgICAgICAgICAg
ZGVsZXRlIHRoaXMuX3NlbGVjdGVkV29yZDsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICAvKioK
KyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0UmFuZ2V9IHJhbmdlCisgICAgICogQHBh
cmFtIHtzdHJpbmd9IHNlbGVjdGVkVGV4dAorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAg
ICovCisgICAgX2lzV29yZDogZnVuY3Rpb24ocmFuZ2UsIHNlbGVjdGVkVGV4dCkKKyAgICB7Cisg
ICAgICAgIGNvbnN0IE5vbldvcmRDaGFyID0gV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFu
ZWwuVG9rZW5IaWdobGlnaHRlci5fTm9uV29yZENoYXJSZWdleDsKKyAgICAgICAgY29uc3QgV29y
ZFJlZ2V4ID0gV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRl
ci5fV29yZFJlZ2V4OworICAgICAgICB2YXIgbGluZSA9IHRoaXMuX3RleHRNb2RlbC5saW5lKHJh
bmdlLnN0YXJ0TGluZSk7CisgICAgICAgIHZhciBsZWZ0Qm91bmQgPSByYW5nZS5zdGFydENvbHVt
biA9PT0gMCB8fCBOb25Xb3JkQ2hhci50ZXN0KGxpbmUuY2hhckF0KHJhbmdlLnN0YXJ0Q29sdW1u
IC0gMSkpOworICAgICAgICB2YXIgcmlnaHRCb3VuZCA9IHJhbmdlLmVuZENvbHVtbiA9PT0gbGlu
ZS5sZW5ndGggLSAxIHx8IE5vbldvcmRDaGFyLnRlc3QobGluZS5jaGFyQXQocmFuZ2UuZW5kQ29s
dW1uKSk7CisgICAgICAgIHJldHVybiBsZWZ0Qm91bmQgJiYgcmlnaHRCb3VuZCAmJiBXb3JkUmVn
ZXgudGVzdChzZWxlY3RlZFRleHQpOworICAgIH0KK30KKwogV2ViSW5zcGVjdG9yLmRlYnVnRGVm
YXVsdFRleHRFZGl0b3IgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzCmluZGV4IDBkNTA1ZmQ4YjIzYmIxNjg3NGU4ZDMwMzE5
Y2U3MjVkMDI0YTE5MGIuLmEwMTdjNGU0ZGU4N2U0ZDcwN2M2MmJlMWRmN2MyOTBiZGI4Y2Q1NzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRv
ci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9y
LmNzcwpAQCAtMzgsNiArMzgsMTEgQEAKICAgICB6LWluZGV4OiAtMTsKIH0KIAorLnRleHQtZWRp
dG9yLXRva2VuLWhpZ2hsaWdodCB7CisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgZ3JheTsKK30KKwogLnRleHQtZWRpdG9yLWNvbnRlbnRzIC5p
bm5lci1jb250YWluZXIgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICB0b3A6IDA7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggOWNlOWNiZjhjYjEzYTcwMGIwYzA2MWNkYjUwZDdiZjg3N2M5NjZkMy4uZmRhYWRjNmY3
MmNhOTUyZjJmMDU2YmQ1OWI4ZGM5N2E4YjNjMGY3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEzLTAxLTE1ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERl
ZmF1bHRUZXh0RWRpdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDU1MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgbmV3IHRlc3QgdG8gdmVyaWZ5IHRva2VuIGhpZ2hsaWdodG5pbmcgZnVuY3Rp
b25hbGl0eS4KKworICAgICAgICAqIGluc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxp
Z2h0LXRva2VuLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2VkaXRv
ci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMTYg
IEFuZHJleSBMdXNobmlrb3YgIDxsdXNobmlrb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGNyZWF0ZSBoZWxwZXIgSW5zcGVjdG9yVGVzdCBtZXRob2QgdG8gZHVtcCBl
ZGl0b3IgSFRNTApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0
LWVkaXRvci1oaWdobGlnaHQtdG9rZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU4ZjFjNzYwMzRiZDVjNGUxYmI4Y2Q3OTM3ZmRhYTNlYmUzZjkxYTYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hs
aWdodC10b2tlbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNyBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0ZXh0IGVkaXRvciB0b2tlbiBoaWdobGlnaHQgZnVuY3Rpb25hbGl0eS4KKworPT09PT09PT09
PT0gVGV4dEVkaXRvciB0ZXh0ID09PT09PT09PT0KK2Z1bmN0aW9uIGZpbmRFbGVtZW50KGNvbGxl
Y3Rpb24sIGVsZW0pIHsKKyAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IGNvbGxlY3Rpb24ubGVu
Z3RoOyArK2kpCisgICAgICAgICAgICBpZiAoY29sbGVjdGlvbltpXSA9PT0gZWxlbSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gaTsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorPT09PT09
PT09PT0gQmVmb3JlIHNlbGVjdGluZyBlbGVtZW50ID09PT09PT09PT09CisKKzxkaXYgY2xhc3M9
ImlubmVyLWNvbnRhaW5lciB0ZXh0LWVkaXRvci1lZGl0YWJsZSIgdGFiaW5kZXg9IjAiPgorPGRp
diBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVj
dGlvbiwgZWxlbSkgezwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAg
ICAgICBmb3IodmFyIGkgPSAwOyBpIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPiZsdDs8
L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPmNvbGxlY3Rpb24ubGVuZ3RoOzwv
c3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4rK2kpPC9zcGFu
PjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgPHNw
YW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pZjwvc3Bhbj4gPHNwYW4gY2xh
c3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4oY29sbGVjdGlvbjwvc3Bhbj5bPHNwYW4g
Y2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pPC9zcGFuPl0gPT09IDxzcGFuIGNs
YXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmVsZW0pPC9zcGFuPjwvZGl2PgorPGRp
diBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1h
dHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0
dHJpYnV0ZS12YWx1ZSI+bnVsbDs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGlu
ZS1jb250ZW50Ij4gICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+
fTwvc3Bhbj48L2Rpdj48L2Rpdj4KKz09PT09PT09PT09IEFmdGVyIHNlbGVjdGluZyAnY29sbGVj
dGlvbicgPT09PT09PT09PT0KKworPGRpdiBjbGFzcz0iaW5uZXItY29udGFpbmVyIHRleHQtZWRp
dG9yLWVkaXRhYmxlIiB0YWJpbmRleD0iMCI+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250
ZW50Ij5mdW5jdGlvbiBmaW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7PHNwYW4gY2xhc3M9
InRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdodCB0ZXh0LWVkaXRvci1vdmVybGF5LWhpZ2hsaWdo
dCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAtMTM0cHg7IHdpZHRoOiA3MnB4OyI+PC9zcGFuPjwvZGl2
PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICBmb3IodmFyIGkgPSAw
OyBpIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPiZsdDs8L3NwYW4+IDxzcGFuIGNsYXNz
PSJ3ZWJraXQtaHRtbC10YWciPmNvbGxlY3Rpb24ubGVuZ3RoOzwvc3Bhbj4gPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4rK2kpPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0
LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0
eWxlPSJtYXJnaW4tbGVmdDogLTE2MnB4OyB3aWR0aDogNzJweDsiPjwvc3Bhbj48L2Rpdj4KKzxk
aXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3
ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQt
aHRtbC1hdHRyaWJ1dGUtbmFtZSI+KGNvbGxlY3Rpb248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aTwvc3Bhbj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0
LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5lbGVtKTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0
b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0i
bWFyZ2luLWxlZnQ6IC0xNjJweDsgd2lkdGg6IDcycHg7Ij48L3NwYW4+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Indl
YmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Vi
a2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5pOzwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9Indl
YmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJp
YnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmli
dXRlLXZhbHVlIj5udWxsOzwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNv
bnRlbnQiPiAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj59PC9z
cGFuPjwvZGl2PjwvZGl2PgorPT09PT09PT09PT0gQWZ0ZXIgc2VsZWN0aW5nICdlbGVtJyA9PT09
PT09PT09PQorCis8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0b3ItZWRpdGFi
bGUiIHRhYmluZGV4PSIwIj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPmZ1bmN0
aW9uIGZpbmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHs8c3BhbiBjbGFzcz0idGV4dC1lZGl0
b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0i
bWFyZ2luLWxlZnQ6IC01MHB4OyB3aWR0aDogMzBweDsiPjwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xh
c3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8c3BhbiBj
bGFzcz0id2Via2l0LWh0bWwtdGFnIj4mbHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0
bWwtdGFnIj5jb2xsZWN0aW9uLmxlbmd0aDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRt
bC1hdHRyaWJ1dGUtbmFtZSI+KytpKTwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1s
aW5lLWNvbnRlbnQiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1
dGUtbmFtZSI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFt
ZSI+KGNvbGxlY3Rpb248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
bmFtZSI+aTwvc3Bhbj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZh
bHVlIj5lbGVtKTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0
IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibWFyZ2luLWxlZnQ6IC0zNnB4
OyB3aWR0aDogMzBweDsiPjwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNv
bnRlbnQiPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRl
LXZhbHVlIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
dmFsdWUiPmk7PC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+
ICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48
L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPm51bGw7PC9z
cGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNs
YXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGln
aGxpZ2h0LXRva2VuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRp
dG9yLWhpZ2hsaWdodC10b2tlbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzYjUxYjExYjc2Y2ZjNjk3YjYy
N2NjOGZhZjdiYWVlMmJhNTZmNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1sCkBAIC0wLDAgKzEs
NTYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImVkaXRvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5j
dGlvbiBmaW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7CisgICAgICAgIGZvcih2YXIgaSA9
IDA7IGkgPCBjb2xsZWN0aW9uLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgaWYgKGNvbGxlY3Rp
b25baV0gPT09IGVsZW0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGk7CisgICAgICAgIHJldHVy
biBudWxsOworICAgIH0KKworICAgIHZhciB0ZXh0RWRpdG9yID0gSW5zcGVjdG9yVGVzdC5jcmVh
dGVUZXN0RWRpdG9yKCk7CisgICAgdGV4dEVkaXRvci5zZXRSZWFkT25seShmYWxzZSk7CisgICAg
dGV4dEVkaXRvci5zZXRUZXh0KGZpbmRFbGVtZW50LnRvU3RyaW5nKCkpOworICAgIHRleHRFZGl0
b3IuZWxlbWVudC5mb2N1cygpOworCisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09
PT09PT09IFRleHRFZGl0b3IgdGV4dCA9PT09PT09PT09Iik7CisgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQodGV4dEVkaXRvci50ZXh0KCkpOworCisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIj09PT09PT09PT09IEJlZm9yZSBzZWxlY3RpbmcgZWxlbWVudCA9PT09PT09PT09PSIpOwor
ICAgIEluc3BlY3RvclRlc3QuZHVtcEVkaXRvckhUTUwodGV4dEVkaXRvciwgdHJ1ZSk7CisKKyAg
ICB2YXIgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgwLCAyMSwgMCwgMzEpOwor
ICAgIHRleHRFZGl0b3Iuc2V0U2VsZWN0aW9uKHJhbmdlKTsKKworICAgIGZ1bmN0aW9uIHN0ZXAx
KCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PSBB
ZnRlciBzZWxlY3RpbmcgJyIgKyB0ZXh0RWRpdG9yLl90ZXh0TW9kZWwuY29weVJhbmdlKHJhbmdl
KSArICInID09PT09PT09PT09Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVkaXRvckhU
TUwodGV4dEVkaXRvciwgdHJ1ZSk7CisgICAgICAgIHJhbmdlID0gbmV3IFdlYkluc3BlY3Rvci5U
ZXh0UmFuZ2UoMCwgMzMsIDAsIDM3KTsKKyAgICAgICAgdGV4dEVkaXRvci5zZXRTZWxlY3Rpb24o
cmFuZ2UpOworICAgICAgICBzZXRUaW1lb3V0KHN0ZXAyKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBzdGVwMigpCisgICAgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09
PT09PT0gQWZ0ZXIgc2VsZWN0aW5nICciICsgdGV4dEVkaXRvci5fdGV4dE1vZGVsLmNvcHlSYW5n
ZShyYW5nZSkgKyAiJyA9PT09PT09PT09PSIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBF
ZGl0b3JIVE1MKHRleHRFZGl0b3IsIHRydWUpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBs
ZXRlVGVzdCgpOworICAgIH0KKworICAgIHNldFRpbWVvdXQoc3RlcDEpOworfQorCis8L3Njcmlw
dD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KKzxwPgorVGhpcyB0ZXN0
IGNoZWNrcyB0ZXh0IGVkaXRvciB0b2tlbiBoaWdobGlnaHQgZnVuY3Rpb25hbGl0eS4KKzwvcD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>182981</attachid>
            <date>2013-01-16 07:39:34 -0800</date>
            <delta_ts>2013-01-16 07:39:34 -0800</delta_ts>
            <desc>feature demonstration</desc>
            <filename>token-highlight-gray</filename>
            <type>application/octet-stream</type>
            <size>17128</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">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
mPERQiha/D/aSAkF3gf+pwAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184235</attachid>
            <date>2013-01-23 07:50:16 -0800</date>
            <delta_ts>2013-01-24 00:55:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130123194708.patch</filename>
            <type>text/plain</type>
            <size>13409</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY3ZThkYjZjZTE2NmM0
MjE5ZjJhNDA4ZmZmMmEyN2ZmMjIwYmZmYi4uZDI1NzJjMzJiZTNiNTBmMTViNWI5NzI4ODgyMDBi
NzhjODg2OGI1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDEzLTAxLTIzICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZS5faGFuZGxlU2VsZWN0aW9uQ2hhbmdlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5fcmVnZXhTdHJpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFu
ZWwuVG9rZW5IaWdobGlnaHRlci5wcm90b3R5cGUuX2hpZ2hsaWdodCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZS5f
cmVtb3ZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBh
bmVsLlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9pc1dvcmQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3M6CisgICAgICAgICgudGV4dC1lZGl0b3ItdG9r
ZW4taGlnaGxpZ2h0KToKKworMjAxMy0wMS0yMyAgQW5kcmV5IEx1c2huaWtvdiAgPGx1c2huaWtv
dkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3Rvcjogc3BlZWR1cCBoaWdobGln
aHQgcmVnZXggQVBJIGluIERlZmF1bHRUZXh0RWRpdG9yCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDcyMzgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMKaW5kZXggNmJh
Y2E4ZDU0ZTEwYWFkMzE3MWMyODE5ZDExYjg3YzY2NmU3NDA5MC4uMTUyOTcwY2ZkNDRjNDFkMjIx
Nzg1NjFmZjk2ZjIyMTc3NmU4NDQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzCkBAIC0xMzU4LDYgKzEzNTgs
OCBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbCA9IGZ1bmN0aW9uKGRlbGVnYXRl
LCB0ZXh0TW9kZWwsIHVybCwgc3luY1Njcm9sbAogCiAgICAgdGhpcy5faGlnaGxpZ2h0UmVnZXhz
ID0ge307CiAKKyAgICB0aGlzLl90b2tlbkhpZ2hsaWdodGVyID0gbmV3IFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIodGhpcywgdGV4dE1vZGVsKTsKKwog
ICAgIHRoaXMuX2ZyZWVDYWNoZWRFbGVtZW50cygpOwogICAgIHRoaXMuYnVpbGRDaHVua3MoKTsK
IH0KQEAgLTI2MTgsNyArMjYyMCw5IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVs
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHRleHRSYW5nZSA9IHRoaXMuc2VsZWN0aW9uKCk7
CiAgICAgICAgIGlmICh0ZXh0UmFuZ2UpCiAgICAgICAgICAgICB0aGlzLl9sYXN0U2VsZWN0aW9u
ID0gdGV4dFJhbmdlOworCiAgICAgICAgIHRoaXMuX2RlbGVnYXRlLnNlbGVjdGlvbkNoYW5nZWQo
dGV4dFJhbmdlKTsKKyAgICAgICAgdGhpcy5fdG9rZW5IaWdobGlnaHRlci5oYW5kbGVTZWxlY3Rp
b25DaGFuZ2UodGV4dFJhbmdlKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0yOTQwLDQgKzI5NDQs
OTIgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluQ2h1bmsucHJvdG90eXBlID0gewogICAg
IH0KIH0KIAorLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRl
eHRFZGl0b3JNYWluUGFuZWx9IG1haW5QYW5lbAorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvck1vZGVsfSB0ZXh0TW9kZWwKKyAqLworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWlu
UGFuZWwuVG9rZW5IaWdobGlnaHRlciA9IGZ1bmN0aW9uKG1haW5QYW5lbCwgdGV4dE1vZGVsKQor
eworICAgIHRoaXMuX21haW5QYW5lbCA9IG1haW5QYW5lbDsKKyAgICB0aGlzLl90ZXh0TW9kZWwg
PSB0ZXh0TW9kZWw7Cit9CisKK1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIuX05vbldvcmRDaGFyUmVnZXggPSAvW15hLXpBLVowLTlfXS87CitXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLl9Xb3JkUmVnZXggPSAv
XlthLXpBLVowLTlfXSskLzsKKworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9r
ZW5IaWdobGlnaHRlci5wcm90b3R5cGUgPSB7CisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuVGV4dFJhbmdlfSByYW5nZQorICAgICAqLworICAgIGhhbmRsZVNlbGVjdGlvbkNo
YW5nZTogZnVuY3Rpb24ocmFuZ2UpCisgICAgeworICAgICAgICBpZiAoIXJhbmdlKSB7CisgICAg
ICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmIChyYW5nZS5zdGFydExpbmUgIT09IHJhbmdlLmVuZExpbmUp
IHsKKyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisKKyAgICAgICAgcmFuZ2UgPSByYW5nZS5ub3JtYWxpemUoKTsKKyAg
ICAgICAgdmFyIHNlbGVjdGVkVGV4dCA9IHRoaXMuX3RleHRNb2RlbC5jb3B5UmFuZ2UocmFuZ2Up
OworICAgICAgICBpZiAoc2VsZWN0ZWRUZXh0ID09PSB0aGlzLl9zZWxlY3RlZFdvcmQpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHNlbGVjdGVkVGV4dCA9PT0gIiIpIHsKKyAg
ICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMuX2lzV29yZChyYW5nZSwgc2VsZWN0ZWRUZXh0
KSkKKyAgICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodChzZWxlY3RlZFRleHQpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICB9LAorCisgICAg
LyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHdvcmQKKyAgICAgKi8KKyAgICBfcmVnZXhTdHJp
bmc6IGZ1bmN0aW9uKHdvcmQpCisgICAgeworICAgICAgICByZXR1cm4gIlxcYiIgKyB3b3JkICsg
IlxcYiI7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3Rl
ZFdvcmQKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0OiBmdW5jdGlvbihzZWxlY3RlZFdvcmQpCisg
ICAgeworICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICAgICAgdGhpcy5fc2Vs
ZWN0ZWRXb3JkID0gc2VsZWN0ZWRXb3JkOworICAgICAgICB0aGlzLl9tYWluUGFuZWwuaGlnaGxp
Z2h0UmVnZXgodGhpcy5fcmVnZXhTdHJpbmcoc2VsZWN0ZWRXb3JkKSwgInRleHQtZWRpdG9yLXRv
a2VuLWhpZ2hsaWdodCIpCisgICAgfSwKKworICAgIF9yZW1vdmVIaWdobGlnaHQ6IGZ1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFdvcmQpIHsKKyAgICAgICAgICAg
IHRoaXMuX21haW5QYW5lbC5yZW1vdmVSZWdleEhpZ2hsaWdodCh0aGlzLl9yZWdleFN0cmluZyh0
aGlzLl9zZWxlY3RlZFdvcmQpKTsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWxlY3RlZFdv
cmQ7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNw
ZWN0b3IuVGV4dFJhbmdlfSByYW5nZQorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RlZFRl
eHQKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLworICAgIF9pc1dvcmQ6IGZ1bmN0
aW9uKHJhbmdlLCBzZWxlY3RlZFRleHQpCisgICAgeworICAgICAgICBjb25zdCBOb25Xb3JkQ2hh
ciA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX05v
bldvcmRDaGFyUmVnZXg7CisgICAgICAgIGNvbnN0IFdvcmRSZWdleCA9IFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX1dvcmRSZWdleDsKKyAgICAgICAg
dmFyIGxpbmUgPSB0aGlzLl90ZXh0TW9kZWwubGluZShyYW5nZS5zdGFydExpbmUpOworICAgICAg
ICB2YXIgbGVmdEJvdW5kID0gcmFuZ2Uuc3RhcnRDb2x1bW4gPT09IDAgfHwgTm9uV29yZENoYXIu
dGVzdChsaW5lLmNoYXJBdChyYW5nZS5zdGFydENvbHVtbiAtIDEpKTsKKyAgICAgICAgdmFyIHJp
Z2h0Qm91bmQgPSByYW5nZS5lbmRDb2x1bW4gPT09IGxpbmUubGVuZ3RoIC0gMSB8fCBOb25Xb3Jk
Q2hhci50ZXN0KGxpbmUuY2hhckF0KHJhbmdlLmVuZENvbHVtbikpOworICAgICAgICByZXR1cm4g
bGVmdEJvdW5kICYmIHJpZ2h0Qm91bmQgJiYgV29yZFJlZ2V4LnRlc3Qoc2VsZWN0ZWRUZXh0KTsK
KyAgICB9Cit9CisKIFdlYkluc3BlY3Rvci5kZWJ1Z0RlZmF1bHRUZXh0RWRpdG9yID0gZmFsc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0
b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNz
cwppbmRleCA2OTQwNzFiZDExZmVjZjY3YzI2YjFlOWI1MjczZDVjNjQ4Njc1MjZiLi5jMDE3ODBh
ZGVhZTAwOGI2MWMxZTU3OWY4MTM3NDUxNjMwNDJhYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MKQEAgLTM3LDYgKzM3LDExIEBA
CiAgICAgei1pbmRleDogLTE7CiB9CiAKKy50ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgewor
ICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIGdy
YXk7Cit9CisKIC50ZXh0LWVkaXRvci1jb250ZW50cyAuaW5uZXItY29udGFpbmVyIHsKICAgICBw
b3NpdGlvbjogYWJzb2x1dGU7CiAgICAgdG9wOiAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRhMDNlOGQzMmY2ZTA3NmY3
ODc1ZWY4ODhjZWIyMTFmMWYzODE4YmMuLmYxNGU3YWFhNzNkZGJmYmI1ZDE4YTIxN2Y2NTg2NjRm
Yzg2ODAxNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxMy0wMS0yMyAgQW5kcmV5IEx1c2hu
aWtvdiAgPGx1c2huaWtvdkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
aGlnaGxpZ2h0IG9jY3VyZW5jZXMgb2Ygd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTIzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldyB0ZXN0IHRv
IHZlcmlmeSB0b2tlbiBoaWdobGlnaHRuaW5nIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0
LXRva2VuLmh0bWw6IEFkZGVkLgorCisyMDEzLTAxLTIzICBBbmRyZXkgTHVzaG5pa292ICA8bHVz
aG5pa292QGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzcGVlZHVwIGhp
Z2hsaWdodCByZWdleCBBUEkgaW4gRGVmYXVsdFRleHRFZGl0b3IKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzIzOAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hs
aWdodC10b2tlbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTgwYjM3MDhlOGU1M2IwMDBiZDc4
NDRmYTNlYzBmNWIzNTk4MDQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRleHQgZWRpdG9yIHRva2VuIGhpZ2hsaWdo
dCBmdW5jdGlvbmFsaXR5LgorCis9PT09PT09PT09PSBUZXh0RWRpdG9yIHRleHQgPT09PT09PT09
PQorZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkgeworICAgICAgICBmb3Io
dmFyIGkgPSAwOyBpIDwgY29sbGVjdGlvbi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGlmIChj
b2xsZWN0aW9uW2ldID09PSBlbGVtKQorICAgICAgICAgICAgICAgIHJldHVybiBpOworICAgICAg
ICByZXR1cm4gbnVsbDsKKyAgICB9Cis9PT09PT09PT09PSBCZWZvcmUgc2VsZWN0aW5nIGVsZW1l
bnQgPT09PT09PT09PT0KKworPGRpdiBjbGFzcz0iaW5uZXItY29udGFpbmVyIHRleHQtZWRpdG9y
LWVkaXRhYmxlIiB0YWJpbmRleD0iMCI+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50
Ij5mdW5jdGlvbiBmaW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7PC9kaXY+Cis8ZGl2IGNs
YXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPHNwYW4g
Y2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1o
dG1sLXRhZyI+Y29sbGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0
bWwtYXR0cmlidXRlLW5hbWUiPisraSk8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQt
bGluZS1jb250ZW50Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmli
dXRlLW5hbWUiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5h
bWUiPihjb2xsZWN0aW9uPC9zcGFuPls8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRl
LW5hbWUiPmk8L3NwYW4+XSA9PT0gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12
YWx1ZSI+ZWxlbSk8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1
ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVl
Ij5pOzwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAg
ICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFu
PiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5udWxsOzwvc3Bhbj48
L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICA8c3BhbiBjbGFzcz0i
d2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj59PC9zcGFuPjwvZGl2PjwvZGl2PgorPT09PT09
PT09PT0gQWZ0ZXIgc2VsZWN0aW5nICdjb2xsZWN0aW9uJyA9PT09PT09PT09PQorCis8ZGl2IGNs
YXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0b3ItZWRpdGFibGUiIHRhYmluZGV4PSIwIj4K
KzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPmZ1bmN0aW9uIGZpbmRFbGVtZW50KGNv
bGxlY3Rpb24sIGVsZW0pIHs8c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0
IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibGVmdDogMTQ2cHg7IHdpZHRo
OiA3MnB4OyI+IDwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQi
PiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj4m
bHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj5jb2xsZWN0aW9uLmxlbmd0
aDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KytpKTwv
c3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9y
LW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibGVmdDogMTg4cHg7IHdpZHRoOiA3MnB4OyI+IDwv
c3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KGNvbGxlY3Rpb248L3NwYW4+Wzxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aTwvc3Bhbj5dID09PSA8c3Bh
biBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5lbGVtKTwvc3Bhbj48c3BhbiBj
bGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGln
aGxpZ2h0IiBzdHlsZT0ibGVmdDogMTExcHg7IHdpZHRoOiA3MnB4OyI+IDwvc3Bhbj48L2Rpdj4K
KzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNs
YXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmk7PC9zcGFuPjwvZGl2PgorPGRpdiBj
bGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0
bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRt
bC1hdHRyaWJ1dGUtdmFsdWUiPm51bGw7PC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0
LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFs
dWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9PT09PT09PT09PSBBZnRlciBzZWxlY3RpbmcgJ2Vs
ZW0nID09PT09PT09PT09CisKKzxkaXYgY2xhc3M9ImlubmVyLWNvbnRhaW5lciB0ZXh0LWVkaXRv
ci1lZGl0YWJsZSIgdGFiaW5kZXg9IjAiPgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVu
dCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkgezxzcGFuIGNsYXNzPSJ0
ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQi
IHN0eWxlPSJsZWZ0OiAyMzBweDsgd2lkdGg6IDMwcHg7Ij4gPC9zcGFuPjwvZGl2PgorPGRpdiBj
bGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDxzcGFu
IGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPiZsdDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQt
aHRtbC10YWciPmNvbGxlY3Rpb24ubGVuZ3RoOzwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1o
dG1sLWF0dHJpYnV0ZS1uYW1lIj4rK2kpPC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0
LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJp
YnV0ZS1uYW1lIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1u
YW1lIj4oY29sbGVjdGlvbjwvc3Bhbj5bPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0
ZS1uYW1lIj5pPC9zcGFuPl0gPT09IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
dmFsdWUiPmVsZW0pPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGln
aHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxlPSJsZWZ0OiAyMzdweDsgd2lk
dGg6IDMwcHg7Ij4gPC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVu
dCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFs
dWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1
ZSI+aTs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAg
ICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bh
bj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+bnVsbDs8L3NwYW4+
PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+fTwvc3Bhbj48L2Rpdj48L2Rpdj4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGln
aHQtdG9rZW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3It
aGlnaGxpZ2h0LXRva2VuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTNiNTFiMTFiNzZjZmM2OTdiNjI3Y2M4
ZmFmN2JhZWUyYmE1NmY2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLmh0bWwKQEAgLTAsMCArMSw1NiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZWRpdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9u
IGZpbmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHsKKyAgICAgICAgZm9yKHZhciBpID0gMDsg
aSA8IGNvbGxlY3Rpb24ubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBpZiAoY29sbGVjdGlvbltp
XSA9PT0gZWxlbSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaTsKKyAgICAgICAgcmV0dXJuIG51
bGw7CisgICAgfQorCisgICAgdmFyIHRleHRFZGl0b3IgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVRl
c3RFZGl0b3IoKTsKKyAgICB0ZXh0RWRpdG9yLnNldFJlYWRPbmx5KGZhbHNlKTsKKyAgICB0ZXh0
RWRpdG9yLnNldFRleHQoZmluZEVsZW1lbnQudG9TdHJpbmcoKSk7CisgICAgdGV4dEVkaXRvci5l
bGVtZW50LmZvY3VzKCk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09
PT0gVGV4dEVkaXRvciB0ZXh0ID09PT09PT09PT0iKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCh0ZXh0RWRpdG9yLnRleHQoKSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
PT09PT09PT09PT0gQmVmb3JlIHNlbGVjdGluZyBlbGVtZW50ID09PT09PT09PT09Iik7CisgICAg
SW5zcGVjdG9yVGVzdC5kdW1wRWRpdG9ySFRNTCh0ZXh0RWRpdG9yLCB0cnVlKTsKKworICAgIHZh
ciByYW5nZSA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dFJhbmdlKDAsIDIxLCAwLCAzMSk7CisgICAg
dGV4dEVkaXRvci5zZXRTZWxlY3Rpb24ocmFuZ2UpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09IEFmdGVy
IHNlbGVjdGluZyAnIiArIHRleHRFZGl0b3IuX3RleHRNb2RlbC5jb3B5UmFuZ2UocmFuZ2UpICsg
IicgPT09PT09PT09PT0iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWRpdG9ySFRNTCh0
ZXh0RWRpdG9yLCB0cnVlKTsKKyAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRS
YW5nZSgwLCAzMywgMCwgMzcpOworICAgICAgICB0ZXh0RWRpdG9yLnNldFNlbGVjdGlvbihyYW5n
ZSk7CisgICAgICAgIHNldFRpbWVvdXQoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0
ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09
PSBBZnRlciBzZWxlY3RpbmcgJyIgKyB0ZXh0RWRpdG9yLl90ZXh0TW9kZWwuY29weVJhbmdlKHJh
bmdlKSArICInID09PT09PT09PT09Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVkaXRv
ckhUTUwodGV4dEVkaXRvciwgdHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7CisgICAgfQorCisgICAgc2V0VGltZW91dChzdGVwMSk7Cit9CisKKzwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPHA+CitUaGlzIHRlc3QgY2hl
Y2tzIHRleHQgZWRpdG9yIHRva2VuIGhpZ2hsaWdodCBmdW5jdGlvbmFsaXR5LgorPC9wPgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184431</attachid>
            <date>2013-01-24 00:55:24 -0800</date>
            <delta_ts>2013-01-24 07:20:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130124125216.patch</filename>
            <type>text/plain</type>
            <size>13409</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY3ZThkYjZjZTE2NmM0
MjE5ZjJhNDA4ZmZmMmEyN2ZmMjIwYmZmYi4uZDI1NzJjMzJiZTNiNTBmMTViNWI5NzI4ODgyMDBi
NzhjODg2OGI1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDEzLTAxLTIzICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZS5faGFuZGxlU2VsZWN0aW9uQ2hhbmdlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5fcmVnZXhTdHJpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFu
ZWwuVG9rZW5IaWdobGlnaHRlci5wcm90b3R5cGUuX2hpZ2hsaWdodCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZS5f
cmVtb3ZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBh
bmVsLlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9pc1dvcmQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3M6CisgICAgICAgICgudGV4dC1lZGl0b3ItdG9r
ZW4taGlnaGxpZ2h0KToKKworMjAxMy0wMS0yMyAgQW5kcmV5IEx1c2huaWtvdiAgPGx1c2huaWtv
dkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3Rvcjogc3BlZWR1cCBoaWdobGln
aHQgcmVnZXggQVBJIGluIERlZmF1bHRUZXh0RWRpdG9yCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDcyMzgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMKaW5kZXggNmJh
Y2E4ZDU0ZTEwYWFkMzE3MWMyODE5ZDExYjg3YzY2NmU3NDA5MC4uMTUyOTcwY2ZkNDRjNDFkMjIx
Nzg1NjFmZjk2ZjIyMTc3NmU4NDQ0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzCkBAIC0xMzU4LDYgKzEzNTgs
OCBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbCA9IGZ1bmN0aW9uKGRlbGVnYXRl
LCB0ZXh0TW9kZWwsIHVybCwgc3luY1Njcm9sbAogCiAgICAgdGhpcy5faGlnaGxpZ2h0UmVnZXhz
ID0ge307CiAKKyAgICB0aGlzLl90b2tlbkhpZ2hsaWdodGVyID0gbmV3IFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIodGhpcywgdGV4dE1vZGVsKTsKKwog
ICAgIHRoaXMuX2ZyZWVDYWNoZWRFbGVtZW50cygpOwogICAgIHRoaXMuYnVpbGRDaHVua3MoKTsK
IH0KQEAgLTI2MTgsNyArMjYyMCw5IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVs
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHRleHRSYW5nZSA9IHRoaXMuc2VsZWN0aW9uKCk7
CiAgICAgICAgIGlmICh0ZXh0UmFuZ2UpCiAgICAgICAgICAgICB0aGlzLl9sYXN0U2VsZWN0aW9u
ID0gdGV4dFJhbmdlOworCiAgICAgICAgIHRoaXMuX2RlbGVnYXRlLnNlbGVjdGlvbkNoYW5nZWQo
dGV4dFJhbmdlKTsKKyAgICAgICAgdGhpcy5fdG9rZW5IaWdobGlnaHRlci5oYW5kbGVTZWxlY3Rp
b25DaGFuZ2UodGV4dFJhbmdlKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0yOTQwLDQgKzI5NDQs
OTIgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluQ2h1bmsucHJvdG90eXBlID0gewogICAg
IH0KIH0KIAorLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRl
eHRFZGl0b3JNYWluUGFuZWx9IG1haW5QYW5lbAorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvck1vZGVsfSB0ZXh0TW9kZWwKKyAqLworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWlu
UGFuZWwuVG9rZW5IaWdobGlnaHRlciA9IGZ1bmN0aW9uKG1haW5QYW5lbCwgdGV4dE1vZGVsKQor
eworICAgIHRoaXMuX21haW5QYW5lbCA9IG1haW5QYW5lbDsKKyAgICB0aGlzLl90ZXh0TW9kZWwg
PSB0ZXh0TW9kZWw7Cit9CisKK1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIuX05vbldvcmRDaGFyUmVnZXggPSAvW15hLXpBLVowLTlfXS87CitXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLl9Xb3JkUmVnZXggPSAv
XlthLXpBLVowLTlfXSskLzsKKworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9r
ZW5IaWdobGlnaHRlci5wcm90b3R5cGUgPSB7CisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuVGV4dFJhbmdlfSByYW5nZQorICAgICAqLworICAgIGhhbmRsZVNlbGVjdGlvbkNo
YW5nZTogZnVuY3Rpb24ocmFuZ2UpCisgICAgeworICAgICAgICBpZiAoIXJhbmdlKSB7CisgICAg
ICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmIChyYW5nZS5zdGFydExpbmUgIT09IHJhbmdlLmVuZExpbmUp
IHsKKyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisKKyAgICAgICAgcmFuZ2UgPSByYW5nZS5ub3JtYWxpemUoKTsKKyAg
ICAgICAgdmFyIHNlbGVjdGVkVGV4dCA9IHRoaXMuX3RleHRNb2RlbC5jb3B5UmFuZ2UocmFuZ2Up
OworICAgICAgICBpZiAoc2VsZWN0ZWRUZXh0ID09PSB0aGlzLl9zZWxlY3RlZFdvcmQpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHNlbGVjdGVkVGV4dCA9PT0gIiIpIHsKKyAg
ICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMuX2lzV29yZChyYW5nZSwgc2VsZWN0ZWRUZXh0
KSkKKyAgICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodChzZWxlY3RlZFRleHQpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICB9LAorCisgICAg
LyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHdvcmQKKyAgICAgKi8KKyAgICBfcmVnZXhTdHJp
bmc6IGZ1bmN0aW9uKHdvcmQpCisgICAgeworICAgICAgICByZXR1cm4gIlxcYiIgKyB3b3JkICsg
IlxcYiI7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3Rl
ZFdvcmQKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0OiBmdW5jdGlvbihzZWxlY3RlZFdvcmQpCisg
ICAgeworICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICAgICAgdGhpcy5fc2Vs
ZWN0ZWRXb3JkID0gc2VsZWN0ZWRXb3JkOworICAgICAgICB0aGlzLl9tYWluUGFuZWwuaGlnaGxp
Z2h0UmVnZXgodGhpcy5fcmVnZXhTdHJpbmcoc2VsZWN0ZWRXb3JkKSwgInRleHQtZWRpdG9yLXRv
a2VuLWhpZ2hsaWdodCIpCisgICAgfSwKKworICAgIF9yZW1vdmVIaWdobGlnaHQ6IGZ1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFdvcmQpIHsKKyAgICAgICAgICAg
IHRoaXMuX21haW5QYW5lbC5yZW1vdmVSZWdleEhpZ2hsaWdodCh0aGlzLl9yZWdleFN0cmluZyh0
aGlzLl9zZWxlY3RlZFdvcmQpKTsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWxlY3RlZFdv
cmQ7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNw
ZWN0b3IuVGV4dFJhbmdlfSByYW5nZQorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RlZFRl
eHQKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLworICAgIF9pc1dvcmQ6IGZ1bmN0
aW9uKHJhbmdlLCBzZWxlY3RlZFRleHQpCisgICAgeworICAgICAgICBjb25zdCBOb25Xb3JkQ2hh
ciA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX05v
bldvcmRDaGFyUmVnZXg7CisgICAgICAgIGNvbnN0IFdvcmRSZWdleCA9IFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX1dvcmRSZWdleDsKKyAgICAgICAg
dmFyIGxpbmUgPSB0aGlzLl90ZXh0TW9kZWwubGluZShyYW5nZS5zdGFydExpbmUpOworICAgICAg
ICB2YXIgbGVmdEJvdW5kID0gcmFuZ2Uuc3RhcnRDb2x1bW4gPT09IDAgfHwgTm9uV29yZENoYXIu
dGVzdChsaW5lLmNoYXJBdChyYW5nZS5zdGFydENvbHVtbiAtIDEpKTsKKyAgICAgICAgdmFyIHJp
Z2h0Qm91bmQgPSByYW5nZS5lbmRDb2x1bW4gPT09IGxpbmUubGVuZ3RoIC0gMSB8fCBOb25Xb3Jk
Q2hhci50ZXN0KGxpbmUuY2hhckF0KHJhbmdlLmVuZENvbHVtbikpOworICAgICAgICByZXR1cm4g
bGVmdEJvdW5kICYmIHJpZ2h0Qm91bmQgJiYgV29yZFJlZ2V4LnRlc3Qoc2VsZWN0ZWRUZXh0KTsK
KyAgICB9Cit9CisKIFdlYkluc3BlY3Rvci5kZWJ1Z0RlZmF1bHRUZXh0RWRpdG9yID0gZmFsc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0
b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNz
cwppbmRleCA2OTQwNzFiZDExZmVjZjY3YzI2YjFlOWI1MjczZDVjNjQ4Njc1MjZiLi5jMDE3ODBh
ZGVhZTAwOGI2MWMxZTU3OWY4MTM3NDUxNjMwNDJhYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MKQEAgLTM3LDYgKzM3LDExIEBA
CiAgICAgei1pbmRleDogLTE7CiB9CiAKKy50ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgewor
ICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIGdy
YXk7Cit9CisKIC50ZXh0LWVkaXRvci1jb250ZW50cyAuaW5uZXItY29udGFpbmVyIHsKICAgICBw
b3NpdGlvbjogYWJzb2x1dGU7CiAgICAgdG9wOiAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRhMDNlOGQzMmY2ZTA3NmY3
ODc1ZWY4ODhjZWIyMTFmMWYzODE4YmMuLmYxNGU3YWFhNzNkZGJmYmI1ZDE4YTIxN2Y2NTg2NjRm
Yzg2ODAxNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxMy0wMS0yMyAgQW5kcmV5IEx1c2hu
aWtvdiAgPGx1c2huaWtvdkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
aGlnaGxpZ2h0IG9jY3VyZW5jZXMgb2Ygd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTIzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldyB0ZXN0IHRv
IHZlcmlmeSB0b2tlbiBoaWdobGlnaHRuaW5nIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0
LXRva2VuLmh0bWw6IEFkZGVkLgorCisyMDEzLTAxLTIzICBBbmRyZXkgTHVzaG5pa292ICA8bHVz
aG5pa292QGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzcGVlZHVwIGhp
Z2hsaWdodCByZWdleCBBUEkgaW4gRGVmYXVsdFRleHRFZGl0b3IKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzIzOAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hs
aWdodC10b2tlbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTgwYjM3MDhlOGU1M2IwMDBiZDc4
NDRmYTNlYzBmNWIzNTk4MDQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRleHQgZWRpdG9yIHRva2VuIGhpZ2hsaWdo
dCBmdW5jdGlvbmFsaXR5LgorCis9PT09PT09PT09PSBUZXh0RWRpdG9yIHRleHQgPT09PT09PT09
PQorZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkgeworICAgICAgICBmb3Io
dmFyIGkgPSAwOyBpIDwgY29sbGVjdGlvbi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGlmIChj
b2xsZWN0aW9uW2ldID09PSBlbGVtKQorICAgICAgICAgICAgICAgIHJldHVybiBpOworICAgICAg
ICByZXR1cm4gbnVsbDsKKyAgICB9Cis9PT09PT09PT09PSBCZWZvcmUgc2VsZWN0aW5nIGVsZW1l
bnQgPT09PT09PT09PT0KKworPGRpdiBjbGFzcz0iaW5uZXItY29udGFpbmVyIHRleHQtZWRpdG9y
LWVkaXRhYmxlIiB0YWJpbmRleD0iMCI+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50
Ij5mdW5jdGlvbiBmaW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7PC9kaXY+Cis8ZGl2IGNs
YXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPHNwYW4g
Y2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1o
dG1sLXRhZyI+Y29sbGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0
bWwtYXR0cmlidXRlLW5hbWUiPisraSk8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQt
bGluZS1jb250ZW50Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmli
dXRlLW5hbWUiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5h
bWUiPihjb2xsZWN0aW9uPC9zcGFuPls8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRl
LW5hbWUiPmk8L3NwYW4+XSA9PT0gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12
YWx1ZSI+ZWxlbSk8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50
Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1
ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVl
Ij5pOzwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAg
ICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFu
PiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5udWxsOzwvc3Bhbj48
L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICA8c3BhbiBjbGFzcz0i
d2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj59PC9zcGFuPjwvZGl2PjwvZGl2PgorPT09PT09
PT09PT0gQWZ0ZXIgc2VsZWN0aW5nICdjb2xsZWN0aW9uJyA9PT09PT09PT09PQorCis8ZGl2IGNs
YXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0b3ItZWRpdGFibGUiIHRhYmluZGV4PSIwIj4K
KzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPmZ1bmN0aW9uIGZpbmRFbGVtZW50KGNv
bGxlY3Rpb24sIGVsZW0pIHs8c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0
IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibGVmdDogMTQ2cHg7IHdpZHRo
OiA3MnB4OyI+IDwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQi
PiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj4m
bHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj5jb2xsZWN0aW9uLmxlbmd0
aDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KytpKTwv
c3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9y
LW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibGVmdDogMTg4cHg7IHdpZHRoOiA3MnB4OyI+IDwv
c3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAg
IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aWY8L3NwYW4+IDxzcGFu
IGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KGNvbGxlY3Rpb248L3NwYW4+Wzxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aTwvc3Bhbj5dID09PSA8c3Bh
biBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5lbGVtKTwvc3Bhbj48c3BhbiBj
bGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGln
aGxpZ2h0IiBzdHlsZT0ibGVmdDogMTExcHg7IHdpZHRoOiA3MnB4OyI+IDwvc3Bhbj48L2Rpdj4K
KzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAgICAgICA8c3BhbiBj
bGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNs
YXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmk7PC9zcGFuPjwvZGl2PgorPGRpdiBj
bGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0
bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRt
bC1hdHRyaWJ1dGUtdmFsdWUiPm51bGw7PC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0
LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFs
dWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9PT09PT09PT09PSBBZnRlciBzZWxlY3RpbmcgJ2Vs
ZW0nID09PT09PT09PT09CisKKzxkaXYgY2xhc3M9ImlubmVyLWNvbnRhaW5lciB0ZXh0LWVkaXRv
ci1lZGl0YWJsZSIgdGFiaW5kZXg9IjAiPgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVu
dCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkgezxzcGFuIGNsYXNzPSJ0
ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQi
IHN0eWxlPSJsZWZ0OiAyMzBweDsgd2lkdGg6IDMwcHg7Ij4gPC9zcGFuPjwvZGl2PgorPGRpdiBj
bGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDxzcGFu
IGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPiZsdDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQt
aHRtbC10YWciPmNvbGxlY3Rpb24ubGVuZ3RoOzwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1o
dG1sLWF0dHJpYnV0ZS1uYW1lIj4rK2kpPC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0
LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJp
YnV0ZS1uYW1lIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1u
YW1lIj4oY29sbGVjdGlvbjwvc3Bhbj5bPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0
ZS1uYW1lIj5pPC9zcGFuPl0gPT09IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
dmFsdWUiPmVsZW0pPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGln
aHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxlPSJsZWZ0OiAyMzdweDsgd2lk
dGg6IDMwcHg7Ij4gPC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVu
dCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFs
dWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1
ZSI+aTs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAg
ICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bh
bj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+bnVsbDs8L3NwYW4+
PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+fTwvc3Bhbj48L2Rpdj48L2Rpdj4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGln
aHQtdG9rZW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3It
aGlnaGxpZ2h0LXRva2VuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTNiNTFiMTFiNzZjZmM2OTdiNjI3Y2M4
ZmFmN2JhZWUyYmE1NmY2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLmh0bWwKQEAgLTAsMCArMSw1NiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZWRpdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9u
IGZpbmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHsKKyAgICAgICAgZm9yKHZhciBpID0gMDsg
aSA8IGNvbGxlY3Rpb24ubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBpZiAoY29sbGVjdGlvbltp
XSA9PT0gZWxlbSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaTsKKyAgICAgICAgcmV0dXJuIG51
bGw7CisgICAgfQorCisgICAgdmFyIHRleHRFZGl0b3IgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVRl
c3RFZGl0b3IoKTsKKyAgICB0ZXh0RWRpdG9yLnNldFJlYWRPbmx5KGZhbHNlKTsKKyAgICB0ZXh0
RWRpdG9yLnNldFRleHQoZmluZEVsZW1lbnQudG9TdHJpbmcoKSk7CisgICAgdGV4dEVkaXRvci5l
bGVtZW50LmZvY3VzKCk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09
PT0gVGV4dEVkaXRvciB0ZXh0ID09PT09PT09PT0iKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCh0ZXh0RWRpdG9yLnRleHQoKSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
PT09PT09PT09PT0gQmVmb3JlIHNlbGVjdGluZyBlbGVtZW50ID09PT09PT09PT09Iik7CisgICAg
SW5zcGVjdG9yVGVzdC5kdW1wRWRpdG9ySFRNTCh0ZXh0RWRpdG9yLCB0cnVlKTsKKworICAgIHZh
ciByYW5nZSA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dFJhbmdlKDAsIDIxLCAwLCAzMSk7CisgICAg
dGV4dEVkaXRvci5zZXRTZWxlY3Rpb24ocmFuZ2UpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09IEFmdGVy
IHNlbGVjdGluZyAnIiArIHRleHRFZGl0b3IuX3RleHRNb2RlbC5jb3B5UmFuZ2UocmFuZ2UpICsg
IicgPT09PT09PT09PT0iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWRpdG9ySFRNTCh0
ZXh0RWRpdG9yLCB0cnVlKTsKKyAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRS
YW5nZSgwLCAzMywgMCwgMzcpOworICAgICAgICB0ZXh0RWRpdG9yLnNldFNlbGVjdGlvbihyYW5n
ZSk7CisgICAgICAgIHNldFRpbWVvdXQoc3RlcDIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0
ZXAyKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09
PSBBZnRlciBzZWxlY3RpbmcgJyIgKyB0ZXh0RWRpdG9yLl90ZXh0TW9kZWwuY29weVJhbmdlKHJh
bmdlKSArICInID09PT09PT09PT09Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVkaXRv
ckhUTUwodGV4dEVkaXRvciwgdHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCk7CisgICAgfQorCisgICAgc2V0VGltZW91dChzdGVwMSk7Cit9CisKKzwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPHA+CitUaGlzIHRlc3QgY2hl
Y2tzIHRleHQgZWRpdG9yIHRva2VuIGhpZ2hsaWdodCBmdW5jdGlvbmFsaXR5LgorPC9wPgorPC9i
b2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184487</attachid>
            <date>2013-01-24 07:20:19 -0800</date>
            <delta_ts>2013-01-24 08:16:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130124191711.patch</filename>
            <type>text/plain</type>
            <size>14636</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI0MGI4MWQ1NDE4MmE5
YTI3NWM0ZWVhOWUyNjczZWM2OGVjYjYyZC4uZGE0YWRlZmJhODU3YjQ0MjM2Yzc4MWRhYWIxYWFi
YWY4MzE5MjM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTI0ICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZS5faGFuZGxlU2VsZWN0aW9uQ2hhbmdlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5fcmVnZXhTdHJpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFu
ZWwuVG9rZW5IaWdobGlnaHRlci5wcm90b3R5cGUuX2hpZ2hsaWdodCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZS5f
cmVtb3ZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBh
bmVsLlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9pc1dvcmQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3M6CisgICAgICAgICgudGV4dC1lZGl0b3ItdG9r
ZW4taGlnaGxpZ2h0KToKKwogMjAxMy0wMS0yNCAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMK
aW5kZXggNmJhY2E4ZDU0ZTEwYWFkMzE3MWMyODE5ZDExYjg3YzY2NmU3NDA5MC4uNjE4NjZlY2Y1
ODcxNzkzZmY3NzBiZmJjODA5MDg0OTY3ZWUwZmVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzCkBAIC0xMzU4
LDYgKzEzNTgsOCBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbCA9IGZ1bmN0aW9u
KGRlbGVnYXRlLCB0ZXh0TW9kZWwsIHVybCwgc3luY1Njcm9sbAogCiAgICAgdGhpcy5faGlnaGxp
Z2h0UmVnZXhzID0ge307CiAKKyAgICB0aGlzLl90b2tlbkhpZ2hsaWdodGVyID0gbmV3IFdlYklu
c3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIodGhpcywgdGV4dE1v
ZGVsKTsKKwogICAgIHRoaXMuX2ZyZWVDYWNoZWRFbGVtZW50cygpOwogICAgIHRoaXMuYnVpbGRD
aHVua3MoKTsKIH0KQEAgLTI2MTgsNiArMjYyMCw4IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9y
TWFpblBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHRleHRSYW5nZSA9IHRoaXMuc2Vs
ZWN0aW9uKCk7CiAgICAgICAgIGlmICh0ZXh0UmFuZ2UpCiAgICAgICAgICAgICB0aGlzLl9sYXN0
U2VsZWN0aW9uID0gdGV4dFJhbmdlOworCisgICAgICAgIHRoaXMuX3Rva2VuSGlnaGxpZ2h0ZXIu
aGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHRleHRSYW5nZSk7CiAgICAgICAgIHRoaXMuX2RlbGVnYXRl
LnNlbGVjdGlvbkNoYW5nZWQodGV4dFJhbmdlKTsKICAgICB9LAogCkBAIC0yOTQwLDQgKzI5NDQs
OTIgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluQ2h1bmsucHJvdG90eXBlID0gewogICAg
IH0KIH0KIAorLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRl
eHRFZGl0b3JNYWluUGFuZWx9IG1haW5QYW5lbAorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvck1vZGVsfSB0ZXh0TW9kZWwKKyAqLworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWlu
UGFuZWwuVG9rZW5IaWdobGlnaHRlciA9IGZ1bmN0aW9uKG1haW5QYW5lbCwgdGV4dE1vZGVsKQor
eworICAgIHRoaXMuX21haW5QYW5lbCA9IG1haW5QYW5lbDsKKyAgICB0aGlzLl90ZXh0TW9kZWwg
PSB0ZXh0TW9kZWw7Cit9CisKK1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIuX05vbldvcmRDaGFyUmVnZXggPSAvW15hLXpBLVowLTlfXS87CitXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLl9Xb3JkUmVnZXggPSAv
XlthLXpBLVowLTlfXSskLzsKKworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9r
ZW5IaWdobGlnaHRlci5wcm90b3R5cGUgPSB7CisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuVGV4dFJhbmdlfSByYW5nZQorICAgICAqLworICAgIGhhbmRsZVNlbGVjdGlvbkNo
YW5nZTogZnVuY3Rpb24ocmFuZ2UpCisgICAgeworICAgICAgICBpZiAoIXJhbmdlKSB7CisgICAg
ICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmIChyYW5nZS5zdGFydExpbmUgIT09IHJhbmdlLmVuZExpbmUp
IHsKKyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisKKyAgICAgICAgcmFuZ2UgPSByYW5nZS5ub3JtYWxpemUoKTsKKyAg
ICAgICAgdmFyIHNlbGVjdGVkVGV4dCA9IHRoaXMuX3RleHRNb2RlbC5jb3B5UmFuZ2UocmFuZ2Up
OworICAgICAgICBpZiAoc2VsZWN0ZWRUZXh0ID09PSB0aGlzLl9zZWxlY3RlZFdvcmQpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHNlbGVjdGVkVGV4dCA9PT0gIiIpIHsKKyAg
ICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgaWYgKHRoaXMuX2lzV29yZChyYW5nZSwgc2VsZWN0ZWRUZXh0
KSkKKyAgICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodChzZWxlY3RlZFRleHQpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICB9LAorCisgICAg
LyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHdvcmQKKyAgICAgKi8KKyAgICBfcmVnZXhTdHJp
bmc6IGZ1bmN0aW9uKHdvcmQpCisgICAgeworICAgICAgICByZXR1cm4gIlxcYiIgKyB3b3JkICsg
IlxcYiI7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3Rl
ZFdvcmQKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0OiBmdW5jdGlvbihzZWxlY3RlZFdvcmQpCisg
ICAgeworICAgICAgICB0aGlzLl9yZW1vdmVIaWdobGlnaHQoKTsKKyAgICAgICAgdGhpcy5fc2Vs
ZWN0ZWRXb3JkID0gc2VsZWN0ZWRXb3JkOworICAgICAgICB0aGlzLl9tYWluUGFuZWwuaGlnaGxp
Z2h0UmVnZXgodGhpcy5fcmVnZXhTdHJpbmcoc2VsZWN0ZWRXb3JkKSwgInRleHQtZWRpdG9yLXRv
a2VuLWhpZ2hsaWdodCIpCisgICAgfSwKKworICAgIF9yZW1vdmVIaWdobGlnaHQ6IGZ1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFdvcmQpIHsKKyAgICAgICAgICAg
IHRoaXMuX21haW5QYW5lbC5yZW1vdmVSZWdleEhpZ2hsaWdodCh0aGlzLl9yZWdleFN0cmluZyh0
aGlzLl9zZWxlY3RlZFdvcmQpKTsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWxlY3RlZFdv
cmQ7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNw
ZWN0b3IuVGV4dFJhbmdlfSByYW5nZQorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RlZFRl
eHQKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLworICAgIF9pc1dvcmQ6IGZ1bmN0
aW9uKHJhbmdlLCBzZWxlY3RlZFRleHQpCisgICAgeworICAgICAgICBjb25zdCBOb25Xb3JkQ2hh
ciA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX05v
bldvcmRDaGFyUmVnZXg7CisgICAgICAgIGNvbnN0IFdvcmRSZWdleCA9IFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX1dvcmRSZWdleDsKKyAgICAgICAg
dmFyIGxpbmUgPSB0aGlzLl90ZXh0TW9kZWwubGluZShyYW5nZS5zdGFydExpbmUpOworICAgICAg
ICB2YXIgbGVmdEJvdW5kID0gcmFuZ2Uuc3RhcnRDb2x1bW4gPT09IDAgfHwgTm9uV29yZENoYXIu
dGVzdChsaW5lLmNoYXJBdChyYW5nZS5zdGFydENvbHVtbiAtIDEpKTsKKyAgICAgICAgdmFyIHJp
Z2h0Qm91bmQgPSByYW5nZS5lbmRDb2x1bW4gPT09IGxpbmUubGVuZ3RoIC0gMSB8fCBOb25Xb3Jk
Q2hhci50ZXN0KGxpbmUuY2hhckF0KHJhbmdlLmVuZENvbHVtbikpOworICAgICAgICByZXR1cm4g
bGVmdEJvdW5kICYmIHJpZ2h0Qm91bmQgJiYgV29yZFJlZ2V4LnRlc3Qoc2VsZWN0ZWRUZXh0KTsK
KyAgICB9Cit9CisKIFdlYkluc3BlY3Rvci5kZWJ1Z0RlZmF1bHRUZXh0RWRpdG9yID0gZmFsc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0
b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNz
cwppbmRleCA2OTQwNzFiZDExZmVjZjY3YzI2YjFlOWI1MjczZDVjNjQ4Njc1MjZiLi5jMDE3ODBh
ZGVhZTAwOGI2MWMxZTU3OWY4MTM3NDUxNjMwNDJhYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MKQEAgLTM3LDYgKzM3LDExIEBA
CiAgICAgei1pbmRleDogLTE7CiB9CiAKKy50ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgewor
ICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OworICAgIGJvcmRlcjogMXB4IHNvbGlkIGdy
YXk7Cit9CisKIC50ZXh0LWVkaXRvci1jb250ZW50cyAuaW5uZXItY29udGFpbmVyIHsKICAgICBw
b3NpdGlvbjogYWJzb2x1dGU7CiAgICAgdG9wOiAwOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRhNGQ4ZmRlNjJiMGEzMTY4
ZDZjZWFkZTlmMDYxMmI4N2U1ZDAwNjYuLjQ1YjdlYmUzMTQ5MGMxZTQwODgxMjAzMGY5ODIzZGY3
OGJlYWE1ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wMS0yNCAgQW5kcmV5IEx1c2hu
aWtvdiAgPGx1c2huaWtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
aGlnaGxpZ2h0IG9jY3VyZW5jZXMgb2Ygd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTIzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldyB0ZXN0IHRv
IHZlcmlmeSB0b2tlbiBoaWdobGlnaHRuaW5nIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvZWRpdG9yL2VkaXRvci10ZXN0LmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9FZGl0
b3JUZXN0cy5JbnNwZWN0b3JUZXN0LmNyZWF0ZVRlc3RFZGl0b3IpOiBBZGRlZCBvcHRpb25hbCBU
ZXh0RWRpdG9yRGVsZWdhdGUgYXJndW1lbnQuCisgICAgICAgICogaW5zcGVjdG9yL2VkaXRvci90
ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1sOiBBZGRl
ZC4KKwogMjAxMy0wMS0yNCAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBBWDogc2hvdWxkIGluaXQgYW4gQVhPYmplY3Qgb25seSBhZnRlciBBWE9iamVj
dENhY2hlIGhhcyBhZGRlZCBpdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Vk
aXRvci9lZGl0b3ItdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvZWRpdG9y
LXRlc3QuanMKaW5kZXggYzcxZWZiODk3NzNlODQ3ODZlODVlNjBjNDcwZDZiZDkwZTM0Y2VlNS4u
YTQ5OTE1MmQwZmVkNmE4MjlmMjJkZTdmODRlNWVmMTliZTAyYmMyOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci9lZGl0b3ItdGVzdC5qcworKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWRpdG9yL2VkaXRvci10ZXN0LmpzCkBAIC0xLDEwICsxLDEwIEBACiBmdW5j
dGlvbiBpbml0aWFsaXplX0VkaXRvclRlc3RzKCkKIHsKIAotSW5zcGVjdG9yVGVzdC5jcmVhdGVU
ZXN0RWRpdG9yID0gZnVuY3Rpb24oY2xpZW50SGVpZ2h0LCBjaHVua1NpemUpCitJbnNwZWN0b3JU
ZXN0LmNyZWF0ZVRlc3RFZGl0b3IgPSBmdW5jdGlvbihjbGllbnRIZWlnaHQsIGNodW5rU2l6ZSwg
dGV4dEVkaXRvckRlbGVnYXRlKQogewogICAgIFdlYkluc3BlY3Rvci5kZWJ1Z0RlZmF1bHRUZXh0
RWRpdG9yID0gdHJ1ZTsKLSAgICB2YXIgdGV4dEVkaXRvciA9IG5ldyBXZWJJbnNwZWN0b3IuRGVm
YXVsdFRleHRFZGl0b3IoIiIsIG5ldyBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckRlbGVnYXRlKCkp
OworICAgIHZhciB0ZXh0RWRpdG9yID0gbmV3IFdlYkluc3BlY3Rvci5EZWZhdWx0VGV4dEVkaXRv
cigiIiwgdGV4dEVkaXRvckRlbGVnYXRlIHx8IG5ldyBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckRl
bGVnYXRlKCkpOwogICAgIHRleHRFZGl0b3Iub3ZlcnJpZGVWaWV3cG9ydEZvclRlc3QoMCwgY2xp
ZW50SGVpZ2h0IHx8IDEwMCwgY2h1bmtTaXplIHx8IDEwKTsKICAgICB0ZXh0RWRpdG9yLnNob3co
V2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuZWxlbWVudCk7CiAgICAgcmV0dXJuIHRleHRFZGl0
b3I7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9y
LWhpZ2hsaWdodC10b2tlbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRp
dG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTgwYjM3MDhlOGU1M2IwMDBiZDc4NDRmYTNlYzBmNWIzNTk4MDQ3ZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRv
a2VuLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRleHQg
ZWRpdG9yIHRva2VuIGhpZ2hsaWdodCBmdW5jdGlvbmFsaXR5LgorCis9PT09PT09PT09PSBUZXh0
RWRpdG9yIHRleHQgPT09PT09PT09PQorZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwg
ZWxlbSkgeworICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY29sbGVjdGlvbi5sZW5ndGg7ICsr
aSkKKyAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uW2ldID09PSBlbGVtKQorICAgICAgICAgICAg
ICAgIHJldHVybiBpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cis9PT09PT09PT09PSBC
ZWZvcmUgc2VsZWN0aW5nIGVsZW1lbnQgPT09PT09PT09PT0KKworPGRpdiBjbGFzcz0iaW5uZXIt
Y29udGFpbmVyIHRleHQtZWRpdG9yLWVkaXRhYmxlIiB0YWJpbmRleD0iMCI+Cis8ZGl2IGNsYXNz
PSJ3ZWJraXQtbGluZS1jb250ZW50Ij5mdW5jdGlvbiBmaW5kRWxlbWVudChjb2xsZWN0aW9uLCBl
bGVtKSB7PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIGZv
cih2YXIgaSA9IDA7IGkgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4g
PHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Y29sbGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8
c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPisraSk8L3NwYW4+PC9kaXY+
Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgICAgICA8c3BhbiBjbGFz
cz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Vi
a2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPihjb2xsZWN0aW9uPC9zcGFuPls8c3BhbiBjbGFzcz0i
d2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPmk8L3NwYW4+XSA9PT0gPHNwYW4gY2xhc3M9Indl
YmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+ZWxlbSk8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0
LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5pOzwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtp
dC1saW5lLWNvbnRlbnQiPiAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0
ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRl
LXZhbHVlIj5udWxsOzwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRl
bnQiPiAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj59PC9zcGFu
PjwvZGl2PjwvZGl2PgorPT09PT09PT09PT0gQWZ0ZXIgc2VsZWN0aW5nICdjb2xsZWN0aW9uJyA9
PT09PT09PT09PQorCis8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0b3ItZWRp
dGFibGUiIHRhYmluZGV4PSIwIj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPmZ1
bmN0aW9uIGZpbmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHs8c3BhbiBjbGFzcz0idGV4dC1l
ZGl0b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHls
ZT0ibGVmdDogMTQ2cHg7IHdpZHRoOiA3MnB4OyI+IDwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9
IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8c3BhbiBjbGFz
cz0id2Via2l0LWh0bWwtdGFnIj4mbHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwt
dGFnIj5jb2xsZWN0aW9uLmxlbmd0aDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1h
dHRyaWJ1dGUtbmFtZSI+KytpKTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4t
aGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibGVmdDogMTg4
cHg7IHdpZHRoOiA3MnB4OyI+IDwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5l
LWNvbnRlbnQiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
bmFtZSI+aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+
KGNvbGxlY3Rpb248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFt
ZSI+aTwvc3Bhbj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVl
Ij5lbGVtKTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0IHRl
eHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibGVmdDogMTExcHg7IHdpZHRoOiA3
MnB4OyI+IDwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAg
ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5y
ZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmk7
PC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICA8
c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPm51bGw7PC9zcGFuPjwvZGl2
PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9PT09PT09PT09
PSBBZnRlciBzZWxlY3RpbmcgJ2VsZW0nID09PT09PT09PT09CisKKzxkaXYgY2xhc3M9ImlubmVy
LWNvbnRhaW5lciB0ZXh0LWVkaXRvci1lZGl0YWJsZSIgdGFiaW5kZXg9IjAiPgorPGRpdiBjbGFz
cz0id2Via2l0LWxpbmUtY29udGVudCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwg
ZWxlbSkgezxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0
b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxlPSJsZWZ0OiAyMzBweDsgd2lkdGg6IDMwcHg7Ij4g
PC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICBm
b3IodmFyIGkgPSAwOyBpIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPiZsdDs8L3NwYW4+
IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPmNvbGxlY3Rpb24ubGVuZ3RoOzwvc3Bhbj4g
PHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4rK2kpPC9zcGFuPjwvZGl2
PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgPHNwYW4gY2xh
c3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9Indl
YmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4oY29sbGVjdGlvbjwvc3Bhbj5bPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pPC9zcGFuPl0gPT09IDxzcGFuIGNsYXNzPSJ3
ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmVsZW0pPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0
LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0
eWxlPSJsZWZ0OiAyMzdweDsgd2lkdGg6IDMwcHg7Ij4gPC9zcGFuPjwvZGl2PgorPGRpdiBjbGFz
cz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJr
aXQtbGluZS1jb250ZW50Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1
dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0
ZS12YWx1ZSI+bnVsbDs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250
ZW50Ij4gICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+fTwvc3Bh
bj48L2Rpdj48L2Rpdj4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRv
ci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEw
MWIxMDliMzExYzY5YWMzMTNmYTgxZWQ2MjA5NjcyNWRlOGI3ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2Vu
Lmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iZWRpdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIGZ1bmN0aW9uIGZpbmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHsKKyAg
ICAgICAgZm9yKHZhciBpID0gMDsgaSA8IGNvbGxlY3Rpb24ubGVuZ3RoOyArK2kpCisgICAgICAg
ICAgICBpZiAoY29sbGVjdGlvbltpXSA9PT0gZWxlbSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
aTsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorCisgICAgdmFyIHN0ZXBzID0gW3N0ZXAy
LCBzdGVwMV07IC8vIHJldmVyc2VkIG9yZGVyCisgICAgZnVuY3Rpb24gc2VsZWN0aW9uQ2hhbmdl
TGlzdGVuZXIoKQorICAgIHsKKyAgICAgICAgaWYgKHN0ZXBzLmxlbmd0aCkKKyAgICAgICAgICAg
IHN0ZXBzLnBvcCgpLmNhbGwoKTsKKyAgICB9CisKKyAgICB2YXIgdGV4dEVkaXRvckRlbGVnYXRl
ID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yRGVsZWdhdGUoKTsKKyAgICB0ZXh0RWRpdG9y
RGVsZWdhdGUuc2VsZWN0aW9uQ2hhbmdlZCA9IHNlbGVjdGlvbkNoYW5nZUxpc3RlbmVyOworCisg
ICAgdmFyIHRleHRFZGl0b3IgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVRlc3RFZGl0b3IodW5kZWZp
bmVkLCB1bmRlZmluZWQsIHRleHRFZGl0b3JEZWxlZ2F0ZSk7CisgICAgdGV4dEVkaXRvci5zZXRS
ZWFkT25seShmYWxzZSk7CisgICAgdGV4dEVkaXRvci5zZXRUZXh0KGZpbmRFbGVtZW50LnRvU3Ry
aW5nKCkpOworICAgIHRleHRFZGl0b3IuZWxlbWVudC5mb2N1cygpOworCisgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09IFRleHRFZGl0b3IgdGV4dCA9PT09PT09PT09Iik7
CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQodGV4dEVkaXRvci50ZXh0KCkpOworCisgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09IEJlZm9yZSBzZWxlY3RpbmcgZWxl
bWVudCA9PT09PT09PT09PSIpOworICAgIEluc3BlY3RvclRlc3QuZHVtcEVkaXRvckhUTUwodGV4
dEVkaXRvciwgdHJ1ZSk7CisKKyAgICB2YXIgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRS
YW5nZSgwLCAyMSwgMCwgMzEpOworICAgIHRleHRFZGl0b3Iuc2V0U2VsZWN0aW9uKHJhbmdlKTsK
KworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCI9PT09PT09PT09PSBBZnRlciBzZWxlY3RpbmcgJyIgKyB0ZXh0RWRpdG9yLl90ZXh0
TW9kZWwuY29weVJhbmdlKHJhbmdlKSArICInID09PT09PT09PT09Iik7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcEVkaXRvckhUTUwodGV4dEVkaXRvciwgdHJ1ZSk7CisgICAgICAgIHJhbmdl
ID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0UmFuZ2UoMCwgMzMsIDAsIDM3KTsKKyAgICAgICAgdGV4
dEVkaXRvci5zZXRTZWxlY3Rpb24ocmFuZ2UpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAy
KCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PSBB
ZnRlciBzZWxlY3RpbmcgJyIgKyB0ZXh0RWRpdG9yLl90ZXh0TW9kZWwuY29weVJhbmdlKHJhbmdl
KSArICInID09PT09PT09PT09Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVkaXRvckhU
TUwodGV4dEVkaXRvciwgdHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgfQorCit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKTsiPgorPHA+CitUaGlzIHRlc3QgY2hlY2tzIHRleHQgZWRpdG9yIHRva2VuIGhpZ2hs
aWdodCBmdW5jdGlvbmFsaXR5LgorPC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184503</attachid>
            <date>2013-01-24 08:16:16 -0800</date>
            <delta_ts>2013-01-25 01:30:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130124201307.patch</filename>
            <type>text/plain</type>
            <size>14687</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdiOWZmZGVhZmI2NDg1
MzQxMTk2YjU3MDE4YzMyNDRlNzkxYTQ5YS4uODViNjE2NDJkZWFlMTkzYWJlN2QyNmE1ODE4MDRl
OWFiYzk5YzMwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTI0ICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZS5faGFuZGxlU2VsZWN0aW9uQ2hhbmdlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5fcmVnZXhTdHJpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFu
ZWwuVG9rZW5IaWdobGlnaHRlci5wcm90b3R5cGUuX2hpZ2hsaWdodCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZS5f
cmVtb3ZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBh
bmVsLlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9pc1dvcmQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3M6CisgICAgICAgICgudGV4dC1lZGl0b3ItdG9r
ZW4taGlnaGxpZ2h0KToKKwogMjAxMy0wMS0yNCAgWm9sdGFuIEFydmFpICA8emFydmFpQGluZi51
LXN6ZWdlZC5odT4KIAogICAgICAgICBSZW1vdmluZyBkZWxldGVkIGZpbGVzIGZyb20gV2ViQ29y
ZS9UYXJnZXQucHJpIGFmdGVyIHIxNDAzOTkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcwppbmRleCA2YmFjYThkNTRl
MTBhYWQzMTcxYzI4MTlkMTFiODdjNjY2ZTc0MDkwLi42MTg2NmVjZjU4NzE3OTNmZjc3MGJmYmM4
MDkwODQ5NjdlZTBmZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMKQEAgLTEzNTgsNiArMTM1OCw4IEBAIFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsID0gZnVuY3Rpb24oZGVsZWdhdGUsIHRleHRN
b2RlbCwgdXJsLCBzeW5jU2Nyb2xsCiAKICAgICB0aGlzLl9oaWdobGlnaHRSZWdleHMgPSB7fTsK
IAorICAgIHRoaXMuX3Rva2VuSGlnaGxpZ2h0ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRFZGl0
b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlcih0aGlzLCB0ZXh0TW9kZWwpOworCiAgICAgdGhp
cy5fZnJlZUNhY2hlZEVsZW1lbnRzKCk7CiAgICAgdGhpcy5idWlsZENodW5rcygpOwogfQpAQCAt
MjYxOCw2ICsyNjIwLDggQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwucHJvdG90
eXBlID0gewogICAgICAgICB2YXIgdGV4dFJhbmdlID0gdGhpcy5zZWxlY3Rpb24oKTsKICAgICAg
ICAgaWYgKHRleHRSYW5nZSkKICAgICAgICAgICAgIHRoaXMuX2xhc3RTZWxlY3Rpb24gPSB0ZXh0
UmFuZ2U7CisKKyAgICAgICAgdGhpcy5fdG9rZW5IaWdobGlnaHRlci5oYW5kbGVTZWxlY3Rpb25D
aGFuZ2UodGV4dFJhbmdlKTsKICAgICAgICAgdGhpcy5fZGVsZWdhdGUuc2VsZWN0aW9uQ2hhbmdl
ZCh0ZXh0UmFuZ2UpOwogICAgIH0sCiAKQEAgLTI5NDAsNCArMjk0NCw5MiBAQCBXZWJJbnNwZWN0
b3IuVGV4dEVkaXRvck1haW5DaHVuay5wcm90b3R5cGUgPSB7CiAgICAgfQogfQogCisvKioKKyAq
IEBjb25zdHJ1Y3RvcgorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5l
bH0gbWFpblBhbmVsCisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWx9IHRl
eHRNb2RlbAorICovCitXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hs
aWdodGVyID0gZnVuY3Rpb24obWFpblBhbmVsLCB0ZXh0TW9kZWwpCit7CisgICAgdGhpcy5fbWFp
blBhbmVsID0gbWFpblBhbmVsOworICAgIHRoaXMuX3RleHRNb2RlbCA9IHRleHRNb2RlbDsKK30K
KworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5fTm9u
V29yZENoYXJSZWdleCA9IC9bXmEtekEtWjAtOV9dLzsKK1dlYkluc3BlY3Rvci5UZXh0RWRpdG9y
TWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX1dvcmRSZWdleCA9IC9eW2EtekEtWjAtOV9dKyQv
OworCitXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnBy
b3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0UmFu
Z2V9IHJhbmdlCisgICAgICovCisgICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlOiBmdW5jdGlvbihy
YW5nZSkKKyAgICB7CisgICAgICAgIGlmICghcmFuZ2UpIHsKKyAgICAgICAgICAgIHRoaXMuX3Jl
bW92ZUhpZ2hsaWdodCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAg
ICAgaWYgKHJhbmdlLnN0YXJ0TGluZSAhPT0gcmFuZ2UuZW5kTGluZSkgeworICAgICAgICAgICAg
dGhpcy5fcmVtb3ZlSGlnaGxpZ2h0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICByYW5nZSA9IHJhbmdlLm5vcm1hbGl6ZSgpOworICAgICAgICB2YXIgc2VsZWN0
ZWRUZXh0ID0gdGhpcy5fdGV4dE1vZGVsLmNvcHlSYW5nZShyYW5nZSk7CisgICAgICAgIGlmIChz
ZWxlY3RlZFRleHQgPT09IHRoaXMuX3NlbGVjdGVkV29yZCkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICBpZiAoc2VsZWN0ZWRUZXh0ID09PSAiIikgeworICAgICAgICAgICAgdGhpcy5f
cmVtb3ZlSGlnaGxpZ2h0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICBpZiAodGhpcy5faXNXb3JkKHJhbmdlLCBzZWxlY3RlZFRleHQpKQorICAgICAgICAgICAg
dGhpcy5faGlnaGxpZ2h0KHNlbGVjdGVkVGV4dCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge3N0cmluZ30gd29yZAorICAgICAqLworICAgIF9yZWdleFN0cmluZzogZnVuY3Rpb24od29y
ZCkKKyAgICB7CisgICAgICAgIHJldHVybiAiXFxiIiArIHdvcmQgKyAiXFxiIjsKKyAgICB9LAor
CisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdGVkV29yZAorICAgICAqLwor
ICAgIF9oaWdobGlnaHQ6IGZ1bmN0aW9uKHNlbGVjdGVkV29yZCkKKyAgICB7CisgICAgICAgIHRo
aXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICB0aGlzLl9zZWxlY3RlZFdvcmQgPSBzZWxl
Y3RlZFdvcmQ7CisgICAgICAgIHRoaXMuX21haW5QYW5lbC5oaWdobGlnaHRSZWdleCh0aGlzLl9y
ZWdleFN0cmluZyhzZWxlY3RlZFdvcmQpLCAidGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0IikK
KyAgICB9LAorCisgICAgX3JlbW92ZUhpZ2hsaWdodDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgaWYgKHRoaXMuX3NlbGVjdGVkV29yZCkgeworICAgICAgICAgICAgdGhpcy5fbWFpblBhbmVs
LnJlbW92ZVJlZ2V4SGlnaGxpZ2h0KHRoaXMuX3JlZ2V4U3RyaW5nKHRoaXMuX3NlbGVjdGVkV29y
ZCkpOworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3NlbGVjdGVkV29yZDsKKyAgICAgICAgfQor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0UmFuZ2V9
IHJhbmdlCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdGVkVGV4dAorICAgICAqIEByZXR1
cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgX2lzV29yZDogZnVuY3Rpb24ocmFuZ2UsIHNlbGVj
dGVkVGV4dCkKKyAgICB7CisgICAgICAgIGNvbnN0IE5vbldvcmRDaGFyID0gV2ViSW5zcGVjdG9y
LlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5fTm9uV29yZENoYXJSZWdleDsK
KyAgICAgICAgY29uc3QgV29yZFJlZ2V4ID0gV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFu
ZWwuVG9rZW5IaWdobGlnaHRlci5fV29yZFJlZ2V4OworICAgICAgICB2YXIgbGluZSA9IHRoaXMu
X3RleHRNb2RlbC5saW5lKHJhbmdlLnN0YXJ0TGluZSk7CisgICAgICAgIHZhciBsZWZ0Qm91bmQg
PSByYW5nZS5zdGFydENvbHVtbiA9PT0gMCB8fCBOb25Xb3JkQ2hhci50ZXN0KGxpbmUuY2hhckF0
KHJhbmdlLnN0YXJ0Q29sdW1uIC0gMSkpOworICAgICAgICB2YXIgcmlnaHRCb3VuZCA9IHJhbmdl
LmVuZENvbHVtbiA9PT0gbGluZS5sZW5ndGggLSAxIHx8IE5vbldvcmRDaGFyLnRlc3QobGluZS5j
aGFyQXQocmFuZ2UuZW5kQ29sdW1uKSk7CisgICAgICAgIHJldHVybiBsZWZ0Qm91bmQgJiYgcmln
aHRCb3VuZCAmJiBXb3JkUmVnZXgudGVzdChzZWxlY3RlZFRleHQpOworICAgIH0KK30KKwogV2Vi
SW5zcGVjdG9yLmRlYnVnRGVmYXVsdFRleHRFZGl0b3IgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0b3IuY3NzCmluZGV4IDY5NDA3MWJk
MTFmZWNmNjdjMjZiMWU5YjUyNzNkNWM2NDg2NzUyNmIuLmMwMTc4MGFkZWFlMDA4YjYxYzFlNTc5
ZjgxMzc0NTE2MzA0MmFiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvdGV4dEVkaXRvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC90ZXh0RWRpdG9yLmNzcwpAQCAtMzcsNiArMzcsMTEgQEAKICAgICB6LWluZGV4OiAt
MTsKIH0KIAorLnRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdodCB7CisgICAgLXdlYmtpdC1ib3Jk
ZXItcmFkaXVzOiAzcHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgZ3JheTsKK30KKwogLnRleHQt
ZWRpdG9yLWNvbnRlbnRzIC5pbm5lci1jb250YWluZXIgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKICAgICB0b3A6IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTAzN2MxMmU0N2UzY2Y4YmMxZDFkMWNkODhkYmQxZmMz
MDdjYTY4ZS4uNDBkZTM4NjU3M2JkMmM2YjczY2I3NmNiMjUzZjZhYjI0YzhhZjNlMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEzLTAxLTI0ICBBbmRyZXkgTHVzaG5pa292ICA8bHVzaG5pa292
QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBoaWdobGlnaHQgb2NjdXJl
bmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IHRlc3QgdG8gdmVyaWZ5IHRva2VuIGhp
Z2hsaWdodG5pbmcgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIGluc3BlY3Rvci9lZGl0b3Iv
ZWRpdG9yLXRlc3QuanM6CisgICAgICAgIChpbml0aWFsaXplX0VkaXRvclRlc3RzLkluc3BlY3Rv
clRlc3QuY3JlYXRlVGVzdEVkaXRvcik6IEFkZGVkIG9wdGlvbmFsIFRleHRFZGl0b3JEZWxlZ2F0
ZSBhcmd1bWVudC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hs
aWdodC10b2tlbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9lZGl0
b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTI0
ICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFtDYW52YXNdIFJFR1JFU1NJT046IHN0YWNrIHRyYWNlcyBpbiB0aGUgcmVwbGF5
IGxvZyBhcmUgZ29uZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci9l
ZGl0b3ItdGVzdC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvZWRpdG9yLXRlc3Qu
anMKaW5kZXggYzcxZWZiODk3NzNlODQ3ODZlODVlNjBjNDcwZDZiZDkwZTM0Y2VlNS4uYTQ5OTE1
MmQwZmVkNmE4MjlmMjJkZTdmODRlNWVmMTliZTAyYmMyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VkaXRvci9lZGl0b3ItdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWRpdG9yL2VkaXRvci10ZXN0LmpzCkBAIC0xLDEwICsxLDEwIEBACiBmdW5jdGlvbiBp
bml0aWFsaXplX0VkaXRvclRlc3RzKCkKIHsKIAotSW5zcGVjdG9yVGVzdC5jcmVhdGVUZXN0RWRp
dG9yID0gZnVuY3Rpb24oY2xpZW50SGVpZ2h0LCBjaHVua1NpemUpCitJbnNwZWN0b3JUZXN0LmNy
ZWF0ZVRlc3RFZGl0b3IgPSBmdW5jdGlvbihjbGllbnRIZWlnaHQsIGNodW5rU2l6ZSwgdGV4dEVk
aXRvckRlbGVnYXRlKQogewogICAgIFdlYkluc3BlY3Rvci5kZWJ1Z0RlZmF1bHRUZXh0RWRpdG9y
ID0gdHJ1ZTsKLSAgICB2YXIgdGV4dEVkaXRvciA9IG5ldyBXZWJJbnNwZWN0b3IuRGVmYXVsdFRl
eHRFZGl0b3IoIiIsIG5ldyBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckRlbGVnYXRlKCkpOworICAg
IHZhciB0ZXh0RWRpdG9yID0gbmV3IFdlYkluc3BlY3Rvci5EZWZhdWx0VGV4dEVkaXRvcigiIiwg
dGV4dEVkaXRvckRlbGVnYXRlIHx8IG5ldyBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckRlbGVnYXRl
KCkpOwogICAgIHRleHRFZGl0b3Iub3ZlcnJpZGVWaWV3cG9ydEZvclRlc3QoMCwgY2xpZW50SGVp
Z2h0IHx8IDEwMCwgY2h1bmtTaXplIHx8IDEwKTsKICAgICB0ZXh0RWRpdG9yLnNob3coV2ViSW5z
cGVjdG9yLmluc3BlY3RvclZpZXcuZWxlbWVudCk7CiAgICAgcmV0dXJuIHRleHRFZGl0b3I7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hs
aWdodC10b2tlbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3Rl
eHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTgwYjM3
MDhlOGU1M2IwMDBiZDc4NDRmYTNlYzBmNWIzNTk4MDQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3IEBACitUaGlzIHRlc3QgY2hlY2tzIHRleHQgZWRpdG9y
IHRva2VuIGhpZ2hsaWdodCBmdW5jdGlvbmFsaXR5LgorCis9PT09PT09PT09PSBUZXh0RWRpdG9y
IHRleHQgPT09PT09PT09PQorZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkg
eworICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY29sbGVjdGlvbi5sZW5ndGg7ICsraSkKKyAg
ICAgICAgICAgIGlmIChjb2xsZWN0aW9uW2ldID09PSBlbGVtKQorICAgICAgICAgICAgICAgIHJl
dHVybiBpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cis9PT09PT09PT09PSBCZWZvcmUg
c2VsZWN0aW5nIGVsZW1lbnQgPT09PT09PT09PT0KKworPGRpdiBjbGFzcz0iaW5uZXItY29udGFp
bmVyIHRleHQtZWRpdG9yLWVkaXRhYmxlIiB0YWJpbmRleD0iMCI+Cis8ZGl2IGNsYXNzPSJ3ZWJr
aXQtbGluZS1jb250ZW50Ij5mdW5jdGlvbiBmaW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7
PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgIGZvcih2YXIg
aSA9IDA7IGkgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4gPHNwYW4g
Y2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Y29sbGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8c3BhbiBj
bGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPisraSk8L3NwYW4+PC9kaXY+Cis8ZGl2
IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0id2Vi
a2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0
bWwtYXR0cmlidXRlLW5hbWUiPihjb2xsZWN0aW9uPC9zcGFuPls8c3BhbiBjbGFzcz0id2Via2l0
LWh0bWwtYXR0cmlidXRlLW5hbWUiPmk8L3NwYW4+XSA9PT0gPHNwYW4gY2xhc3M9IndlYmtpdC1o
dG1sLWF0dHJpYnV0ZS12YWx1ZSI+ZWxlbSk8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJr
aXQtbGluZS1jb250ZW50Ij4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1s
LWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwt
YXR0cmlidXRlLXZhbHVlIj5pOzwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5l
LWNvbnRlbnQiPiAgICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1
ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVl
Ij5udWxsOzwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAg
ICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj59PC9zcGFuPjwvZGl2
PjwvZGl2PgorPT09PT09PT09PT0gQWZ0ZXIgc2VsZWN0aW5nICdjb2xsZWN0aW9uJyA9PT09PT09
PT09PQorCis8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0b3ItZWRpdGFibGUi
IHRhYmluZGV4PSIwIj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPmZ1bmN0aW9u
IGZpbmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHs8c3BhbiBjbGFzcz0idGV4dC1lZGl0b3It
dG9rZW4taGlnaGxpZ2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibGVm
dDogMTQ2cHg7IHdpZHRoOiA3MnB4OyI+IDwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtp
dC1saW5lLWNvbnRlbnQiPiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8c3BhbiBjbGFzcz0id2Vi
a2l0LWh0bWwtdGFnIj4mbHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj5j
b2xsZWN0aW9uLmxlbmd0aDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1
dGUtbmFtZSI+KytpKTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxp
Z2h0IHRleHQtZWRpdG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibGVmdDogMTg4cHg7IHdp
ZHRoOiA3MnB4OyI+IDwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRl
bnQiPiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+
aWY8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KGNvbGxl
Y3Rpb248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aTwv
c3Bhbj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5lbGVt
KTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1lZGl0b3ItdG9rZW4taGlnaGxpZ2h0IHRleHQtZWRp
dG9yLW92ZXJsYXktaGlnaGxpZ2h0IiBzdHlsZT0ibGVmdDogMTExcHg7IHdpZHRoOiA3MnB4OyI+
IDwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAg
ICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48
L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmk7PC9zcGFu
PjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICA8c3BhbiBj
bGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNs
YXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPm51bGw7PC9zcGFuPjwvZGl2PgorPGRp
diBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRt
bC1hdHRyaWJ1dGUtdmFsdWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9PT09PT09PT09PSBBZnRl
ciBzZWxlY3RpbmcgJ2VsZW0nID09PT09PT09PT09CisKKzxkaXYgY2xhc3M9ImlubmVyLWNvbnRh
aW5lciB0ZXh0LWVkaXRvci1lZGl0YWJsZSIgdGFiaW5kZXg9IjAiPgorPGRpdiBjbGFzcz0id2Vi
a2l0LWxpbmUtY29udGVudCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxlbSkg
ezxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3Zl
cmxheS1oaWdobGlnaHQiIHN0eWxlPSJsZWZ0OiAyMzBweDsgd2lkdGg6IDMwcHg7Ij4gPC9zcGFu
PjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICBmb3IodmFy
IGkgPSAwOyBpIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPiZsdDs8L3NwYW4+IDxzcGFu
IGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPmNvbGxlY3Rpb24ubGVuZ3RoOzwvc3Bhbj4gPHNwYW4g
Y2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4rK2kpPC9zcGFuPjwvZGl2PgorPGRp
diBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9Indl
YmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1o
dG1sLWF0dHJpYnV0ZS1uYW1lIj4oY29sbGVjdGlvbjwvc3Bhbj5bPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pPC9zcGFuPl0gPT09IDxzcGFuIGNsYXNzPSJ3ZWJraXQt
aHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmVsZW0pPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRv
ci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxlPSJs
ZWZ0OiAyMzdweDsgd2lkdGg6IDMwcHg7Ij4gPC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Vi
a2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRt
bC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1s
LWF0dHJpYnV0ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGlu
ZS1jb250ZW50Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFs
dWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1
ZSI+bnVsbDs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4g
ICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+fTwvc3Bhbj48L2Rp
dj48L2Rpdj4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0
LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0
b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEwMWIxMDli
MzExYzY5YWMzMTNmYTgxZWQ2MjA5NjcyNWRlOGI3ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLmh0bWwK
QEAgLTAsMCArMSw2NCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iZWRpdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIGZ1bmN0aW9uIGZpbmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHsKKyAgICAgICAg
Zm9yKHZhciBpID0gMDsgaSA8IGNvbGxlY3Rpb24ubGVuZ3RoOyArK2kpCisgICAgICAgICAgICBp
ZiAoY29sbGVjdGlvbltpXSA9PT0gZWxlbSkKKyAgICAgICAgICAgICAgICByZXR1cm4gaTsKKyAg
ICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorCisgICAgdmFyIHN0ZXBzID0gW3N0ZXAyLCBzdGVw
MV07IC8vIHJldmVyc2VkIG9yZGVyCisgICAgZnVuY3Rpb24gc2VsZWN0aW9uQ2hhbmdlTGlzdGVu
ZXIoKQorICAgIHsKKyAgICAgICAgaWYgKHN0ZXBzLmxlbmd0aCkKKyAgICAgICAgICAgIHN0ZXBz
LnBvcCgpLmNhbGwoKTsKKyAgICB9CisKKyAgICB2YXIgdGV4dEVkaXRvckRlbGVnYXRlID0gbmV3
IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yRGVsZWdhdGUoKTsKKyAgICB0ZXh0RWRpdG9yRGVsZWdh
dGUuc2VsZWN0aW9uQ2hhbmdlZCA9IHNlbGVjdGlvbkNoYW5nZUxpc3RlbmVyOworCisgICAgdmFy
IHRleHRFZGl0b3IgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVRlc3RFZGl0b3IodW5kZWZpbmVkLCB1
bmRlZmluZWQsIHRleHRFZGl0b3JEZWxlZ2F0ZSk7CisgICAgdGV4dEVkaXRvci5zZXRSZWFkT25s
eShmYWxzZSk7CisgICAgdGV4dEVkaXRvci5zZXRUZXh0KGZpbmRFbGVtZW50LnRvU3RyaW5nKCkp
OworICAgIHRleHRFZGl0b3IuZWxlbWVudC5mb2N1cygpOworCisgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIj09PT09PT09PT09IFRleHRFZGl0b3IgdGV4dCA9PT09PT09PT09Iik7CisgICAg
SW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQodGV4dEVkaXRvci50ZXh0KCkpOworCisgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09IEJlZm9yZSBzZWxlY3RpbmcgZWxlbWVudCA9
PT09PT09PT09PSIpOworICAgIEluc3BlY3RvclRlc3QuZHVtcEVkaXRvckhUTUwodGV4dEVkaXRv
ciwgdHJ1ZSk7CisKKyAgICB2YXIgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgw
LCAyMSwgMCwgMzEpOworICAgIHRleHRFZGl0b3Iuc2V0U2VsZWN0aW9uKHJhbmdlKTsKKworICAg
IGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCI9PT09PT09PT09PSBBZnRlciBzZWxlY3RpbmcgJyIgKyB0ZXh0RWRpdG9yLl90ZXh0TW9kZWwu
Y29weVJhbmdlKHJhbmdlKSArICInID09PT09PT09PT09Iik7CisgICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcEVkaXRvckhUTUwodGV4dEVkaXRvciwgdHJ1ZSk7CisgICAgICAgIHJhbmdlID0gbmV3
IFdlYkluc3BlY3Rvci5UZXh0UmFuZ2UoMCwgMzMsIDAsIDM3KTsKKyAgICAgICAgdGV4dEVkaXRv
ci5zZXRTZWxlY3Rpb24ocmFuZ2UpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAg
ICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT09PT09PT09PSBBZnRlciBz
ZWxlY3RpbmcgJyIgKyB0ZXh0RWRpdG9yLl90ZXh0TW9kZWwuY29weVJhbmdlKHJhbmdlKSArICIn
ID09PT09PT09PT09Iik7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVkaXRvckhUTUwodGV4
dEVkaXRvciwgdHJ1ZSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cisg
ICAgfQorCit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KTsiPgorPHA+CitUaGlzIHRlc3QgY2hlY2tzIHRleHQgZWRpdG9yIHRva2VuIGhpZ2hsaWdodCBm
dW5jdGlvbmFsaXR5LgorPC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184696</attachid>
            <date>2013-01-25 01:30:04 -0800</date>
            <delta_ts>2013-01-25 06:39:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130125132655.patch</filename>
            <type>text/plain</type>
            <size>14659</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU2NmQ5YzRjMDRlOGNm
MGQ2YTk5ZjI4YTZkZjM4ZDQxMjhkNDQyNC4uOTQ4MGMzYjQyYjE2ZTM5NWM0ODc0ZDI3YzkwYmM5
ZTAxOWFjZTJiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTI1ICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZS5faGFuZGxlU2VsZWN0aW9uQ2hhbmdlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5fcmVnZXhTdHJpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFu
ZWwuVG9rZW5IaWdobGlnaHRlci5wcm90b3R5cGUuX2hpZ2hsaWdodCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZS5f
cmVtb3ZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBh
bmVsLlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9pc1dvcmQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3M6CisgICAgICAgICgudGV4dC1lZGl0b3ItdG9r
ZW4taGlnaGxpZ2h0KToKKwogMjAxMy0wMS0yNSAgRWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRo
ZXJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgY2hlY2tib3ggZm9y
IGNvbnRpbnVvdXMgcGFpbnRpbmcgdG8gdGhlIGluc3BlY3RvcidzIHNldHRpbmdzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9y
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRv
ci5qcwppbmRleCBiNTM4NmY2NmQzNThhNzY4ZGJmNzcxY2RjMmQ5MTkyNzA4ZjdhMGMyLi5mMDBk
OTA0ZDdmNThlOTc0ZjFhNThhMTU2ZThhMzBlNTgyNzk4MDM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMKQEAg
LTEzNjIsNiArMTM2Miw4IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsID0gZnVu
Y3Rpb24oZGVsZWdhdGUsIHRleHRNb2RlbCwgdXJsLCBzeW5jU2Nyb2xsCiAKICAgICB0aGlzLl9o
aWdobGlnaHRSZWdleHMgPSB7fTsKIAorICAgIHRoaXMuX3Rva2VuSGlnaGxpZ2h0ZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlcih0aGlzLCB0
ZXh0TW9kZWwpOworCiAgICAgdGhpcy5fZnJlZUNhY2hlZEVsZW1lbnRzKCk7CiAgICAgdGhpcy5i
dWlsZENodW5rcygpOwogfQpAQCAtMjYyMiw2ICsyNjI0LDggQEAgV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3JNYWluUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB2YXIgdGV4dFJhbmdlID0gdGhp
cy5zZWxlY3Rpb24oKTsKICAgICAgICAgaWYgKHRleHRSYW5nZSkKICAgICAgICAgICAgIHRoaXMu
X2xhc3RTZWxlY3Rpb24gPSB0ZXh0UmFuZ2U7CisKKyAgICAgICAgdGhpcy5fdG9rZW5IaWdobGln
aHRlci5oYW5kbGVTZWxlY3Rpb25DaGFuZ2UodGV4dFJhbmdlKTsKICAgICAgICAgdGhpcy5fZGVs
ZWdhdGUuc2VsZWN0aW9uQ2hhbmdlZCh0ZXh0UmFuZ2UpOwogICAgIH0sCiAKQEAgLTI5NDQsNCAr
Mjk0OCw5MiBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5DaHVuay5wcm90b3R5cGUgPSB7
CiAgICAgfQogfQogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQHBhcmFtIHtXZWJJbnNwZWN0
b3IuVGV4dEVkaXRvck1haW5QYW5lbH0gbWFpblBhbmVsCisgKiBAcGFyYW0ge1dlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yTW9kZWx9IHRleHRNb2RlbAorICovCitXZWJJbnNwZWN0b3IuVGV4dEVkaXRv
ck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyID0gZnVuY3Rpb24obWFpblBhbmVsLCB0ZXh0TW9k
ZWwpCit7CisgICAgdGhpcy5fbWFpblBhbmVsID0gbWFpblBhbmVsOworICAgIHRoaXMuX3RleHRN
b2RlbCA9IHRleHRNb2RlbDsKK30KKworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwu
VG9rZW5IaWdobGlnaHRlci5fTm9uV29yZENoYXJSZWdleCA9IC9bXmEtekEtWjAtOV9dLzsKK1dl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX1dvcmRSZWdl
eCA9IC9eW2EtekEtWjAtOV9dKyQvOworCitXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5l
bC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcGFyYW0g
e1dlYkluc3BlY3Rvci5UZXh0UmFuZ2V9IHJhbmdlCisgICAgICovCisgICAgaGFuZGxlU2VsZWN0
aW9uQ2hhbmdlOiBmdW5jdGlvbihyYW5nZSkKKyAgICB7CisgICAgICAgIGlmICghcmFuZ2UpIHsK
KyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisKKyAgICAgICAgaWYgKHJhbmdlLnN0YXJ0TGluZSAhPT0gcmFuZ2UuZW5k
TGluZSkgeworICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSGlnaGxpZ2h0KCk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICByYW5nZSA9IHJhbmdlLm5vcm1hbGl6ZSgp
OworICAgICAgICB2YXIgc2VsZWN0ZWRUZXh0ID0gdGhpcy5fdGV4dE1vZGVsLmNvcHlSYW5nZShy
YW5nZSk7CisgICAgICAgIGlmIChzZWxlY3RlZFRleHQgPT09IHRoaXMuX3NlbGVjdGVkV29yZCkK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoc2VsZWN0ZWRUZXh0ID09PSAiIikg
eworICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSGlnaGxpZ2h0KCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAodGhpcy5faXNXb3JkKHJhbmdlLCBzZWxlY3Rl
ZFRleHQpKQorICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0KHNlbGVjdGVkVGV4dCk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgIH0sCisK
KyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gd29yZAorICAgICAqLworICAgIF9yZWdl
eFN0cmluZzogZnVuY3Rpb24od29yZCkKKyAgICB7CisgICAgICAgIHJldHVybiAiXFxiIiArIHdv
cmQgKyAiXFxiIjsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNl
bGVjdGVkV29yZAorICAgICAqLworICAgIF9oaWdobGlnaHQ6IGZ1bmN0aW9uKHNlbGVjdGVkV29y
ZCkKKyAgICB7CisgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICB0aGlz
Ll9zZWxlY3RlZFdvcmQgPSBzZWxlY3RlZFdvcmQ7CisgICAgICAgIHRoaXMuX21haW5QYW5lbC5o
aWdobGlnaHRSZWdleCh0aGlzLl9yZWdleFN0cmluZyhzZWxlY3RlZFdvcmQpLCAidGV4dC1lZGl0
b3ItdG9rZW4taGlnaGxpZ2h0IikKKyAgICB9LAorCisgICAgX3JlbW92ZUhpZ2hsaWdodDogZnVu
Y3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkV29yZCkgeworICAgICAg
ICAgICAgdGhpcy5fbWFpblBhbmVsLnJlbW92ZVJlZ2V4SGlnaGxpZ2h0KHRoaXMuX3JlZ2V4U3Ry
aW5nKHRoaXMuX3NlbGVjdGVkV29yZCkpOworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3NlbGVj
dGVkV29yZDsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5UZXh0UmFuZ2V9IHJhbmdlCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVj
dGVkVGV4dAorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgX2lzV29yZDog
ZnVuY3Rpb24ocmFuZ2UsIHNlbGVjdGVkVGV4dCkKKyAgICB7CisgICAgICAgIGNvbnN0IE5vbldv
cmRDaGFyID0gV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRl
ci5fTm9uV29yZENoYXJSZWdleDsKKyAgICAgICAgY29uc3QgV29yZFJlZ2V4ID0gV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5fV29yZFJlZ2V4OworICAg
ICAgICB2YXIgbGluZSA9IHRoaXMuX3RleHRNb2RlbC5saW5lKHJhbmdlLnN0YXJ0TGluZSk7Cisg
ICAgICAgIHZhciBsZWZ0Qm91bmQgPSByYW5nZS5zdGFydENvbHVtbiA9PT0gMCB8fCBOb25Xb3Jk
Q2hhci50ZXN0KGxpbmUuY2hhckF0KHJhbmdlLnN0YXJ0Q29sdW1uIC0gMSkpOworICAgICAgICB2
YXIgcmlnaHRCb3VuZCA9IHJhbmdlLmVuZENvbHVtbiA9PT0gbGluZS5sZW5ndGggLSAxIHx8IE5v
bldvcmRDaGFyLnRlc3QobGluZS5jaGFyQXQocmFuZ2UuZW5kQ29sdW1uKSk7CisgICAgICAgIHJl
dHVybiBsZWZ0Qm91bmQgJiYgcmlnaHRCb3VuZCAmJiBXb3JkUmVnZXgudGVzdChzZWxlY3RlZFRl
eHQpOworICAgIH0KK30KKwogV2ViSW5zcGVjdG9yLmRlYnVnRGVmYXVsdFRleHRFZGl0b3IgPSBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4
dEVkaXRvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0
b3IuY3NzCmluZGV4IDY5NDA3MWJkMTFmZWNmNjdjMjZiMWU5YjUyNzNkNWM2NDg2NzUyNmIuLmMw
MTc4MGFkZWFlMDA4YjYxYzFlNTc5ZjgxMzc0NTE2MzA0MmFiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNzcwpAQCAtMzcsNiArMzcs
MTEgQEAKICAgICB6LWluZGV4OiAtMTsKIH0KIAorLnRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdo
dCB7CisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgZ3JheTsKK30KKwogLnRleHQtZWRpdG9yLWNvbnRlbnRzIC5pbm5lci1jb250YWluZXIgewog
ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICB0b3A6IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzIyZGRkY2EwMjFi
MDI4MGNhZmU0MTlhOGE5ZjQ0MWYxZDYyMTJmZC4uZDRhMDAxNGZhZDc4YWJiYTBmM2NkYzY3ODc2
OTU2MmNhYjhjY2U0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAxLTI1ICBBbmRyZXkg
THVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IHRl
c3QgdG8gdmVyaWZ5IHRva2VuIGhpZ2hsaWdodG5pbmcgZnVuY3Rpb25hbGl0eS4KKworICAgICAg
ICAqIGluc3BlY3Rvci9lZGl0b3IvZWRpdG9yLXRlc3QuanM6CisgICAgICAgIChpbml0aWFsaXpl
X0VkaXRvclRlc3RzLkluc3BlY3RvclRlc3QuY3JlYXRlVGVzdEVkaXRvcik6IEFkZGVkIG9wdGlv
bmFsIFRleHRFZGl0b3JEZWxlZ2F0ZSBhcmd1bWVudC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZWRp
dG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLmh0bWw6
IEFkZGVkLgorCiAyMDEzLTAxLTI1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgog
CiAgICAgICAgIE1hYyBXSzEgcmViYXNlbGluZXMgZm9yIHIxNDA3MjguCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL2VkaXRvci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VkaXRvci9lZGl0b3ItdGVzdC5qcwppbmRleCBjNzFlZmI4OTc3M2U4NDc4NmU4
NWU2MGM0NzBkNmJkOTBlMzRjZWU1Li5hNDk5MTUyZDBmZWQ2YTgyOWYyMmRlN2Y4NGU1ZWYxOWJl
MDJiYzI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL2VkaXRvci10
ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvZWRpdG9yLXRlc3QuanMK
QEAgLTEsMTAgKzEsMTAgQEAKIGZ1bmN0aW9uIGluaXRpYWxpemVfRWRpdG9yVGVzdHMoKQogewog
Ci1JbnNwZWN0b3JUZXN0LmNyZWF0ZVRlc3RFZGl0b3IgPSBmdW5jdGlvbihjbGllbnRIZWlnaHQs
IGNodW5rU2l6ZSkKK0luc3BlY3RvclRlc3QuY3JlYXRlVGVzdEVkaXRvciA9IGZ1bmN0aW9uKGNs
aWVudEhlaWdodCwgY2h1bmtTaXplLCB0ZXh0RWRpdG9yRGVsZWdhdGUpCiB7CiAgICAgV2ViSW5z
cGVjdG9yLmRlYnVnRGVmYXVsdFRleHRFZGl0b3IgPSB0cnVlOwotICAgIHZhciB0ZXh0RWRpdG9y
ID0gbmV3IFdlYkluc3BlY3Rvci5EZWZhdWx0VGV4dEVkaXRvcigiIiwgbmV3IFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yRGVsZWdhdGUoKSk7CisgICAgdmFyIHRleHRFZGl0b3IgPSBuZXcgV2ViSW5z
cGVjdG9yLkRlZmF1bHRUZXh0RWRpdG9yKCIiLCB0ZXh0RWRpdG9yRGVsZWdhdGUgfHwgbmV3IFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yRGVsZWdhdGUoKSk7CiAgICAgdGV4dEVkaXRvci5vdmVycmlk
ZVZpZXdwb3J0Rm9yVGVzdCgwLCBjbGllbnRIZWlnaHQgfHwgMTAwLCBjaHVua1NpemUgfHwgMTAp
OwogICAgIHRleHRFZGl0b3Iuc2hvdyhXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5lbGVtZW50
KTsKICAgICByZXR1cm4gdGV4dEVkaXRvcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ODBiMzcwOGU4ZTUzYjAwMGJkNzg0NGZhM2VjMGY1YjM1
OTgwNDdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90
ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzcgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGV4dCBlZGl0b3IgdG9rZW4gaGlnaGxpZ2h0IGZ1bmN0aW9uYWxp
dHkuCisKKz09PT09PT09PT09IFRleHRFZGl0b3IgdGV4dCA9PT09PT09PT09CitmdW5jdGlvbiBm
aW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7CisgICAgICAgIGZvcih2YXIgaSA9IDA7IGkg
PCBjb2xsZWN0aW9uLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb25baV0g
PT09IGVsZW0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGk7CisgICAgICAgIHJldHVybiBudWxs
OworICAgIH0KKz09PT09PT09PT09IEJlZm9yZSBzZWxlY3RpbmcgZWxlbWVudCA9PT09PT09PT09
PQorCis8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0b3ItZWRpdGFibGUiIHRh
YmluZGV4PSIwIj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPmZ1bmN0aW9uIGZp
bmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHs8L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1s
aW5lLWNvbnRlbnQiPiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8c3BhbiBjbGFzcz0id2Via2l0
LWh0bWwtdGFnIj4mbHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj5jb2xs
ZWN0aW9uLmxlbmd0aDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
bmFtZSI+KytpKTwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQi
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KGNvbGxlY3Rp
b248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aTwvc3Bh
bj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5lbGVtKTwv
c3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3Nw
YW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmk7PC9zcGFuPjwv
ZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICA8c3BhbiBjbGFz
cz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNz
PSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPm51bGw7PC9zcGFuPjwvZGl2PgorPGRpdiBj
bGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1h
dHRyaWJ1dGUtdmFsdWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9PT09PT09PT09PSBBZnRlciBz
ZWxlY3RpbmcgJ2NvbGxlY3Rpb24nID09PT09PT09PT09CisKKzxkaXYgY2xhc3M9ImlubmVyLWNv
bnRhaW5lciB0ZXh0LWVkaXRvci1lZGl0YWJsZSIgdGFiaW5kZXg9IjAiPgorPGRpdiBjbGFzcz0i
d2Via2l0LWxpbmUtY29udGVudCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxl
bSkgezxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3It
b3ZlcmxheS1oaWdobGlnaHQiIHN0eWxlPSJsZWZ0OiAxNDZweDsgd2lkdGg6IDcycHg7Ij4gPC9z
cGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICBmb3Io
dmFyIGkgPSAwOyBpIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPiZsdDs8L3NwYW4+IDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPmNvbGxlY3Rpb24ubGVuZ3RoOzwvc3Bhbj4gPHNw
YW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4rK2kpPC9zcGFuPjxzcGFuIGNs
YXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdo
bGlnaHQiIHN0eWxlPSJsZWZ0OiAxODhweDsgd2lkdGg6IDcycHg7Ij4gPC9zcGFuPjwvZGl2Pgor
PGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4oY29sbGVjdGlvbjwvc3Bhbj5bPHNwYW4gY2xhc3M9Indl
YmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pPC9zcGFuPl0gPT09IDxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmVsZW0pPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWVk
aXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxl
PSJsZWZ0OiAxMTFweDsgd2lkdGg6IDcycHg7Ij4gPC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0i
d2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQt
aHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1o
dG1sLWF0dHJpYnV0ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQt
bGluZS1jb250ZW50Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
dmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12
YWx1ZSI+bnVsbDs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50
Ij4gICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+fTwvc3Bhbj48
L2Rpdj48L2Rpdj4KKz09PT09PT09PT09IEFmdGVyIHNlbGVjdGluZyAnZWxlbScgPT09PT09PT09
PT0KKworPGRpdiBjbGFzcz0iaW5uZXItY29udGFpbmVyIHRleHQtZWRpdG9yLWVkaXRhYmxlIiB0
YWJpbmRleD0iMCI+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij5mdW5jdGlvbiBm
aW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7PHNwYW4gY2xhc3M9InRleHQtZWRpdG9yLXRv
a2VuLWhpZ2hsaWdodCB0ZXh0LWVkaXRvci1vdmVybGF5LWhpZ2hsaWdodCIgc3R5bGU9ImxlZnQ6
IDIzMHB4OyB3aWR0aDogMzBweDsiPiA8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQt
bGluZS1jb250ZW50Ij4gICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Y29s
bGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRl
LW5hbWUiPisraSk8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPihjb2xsZWN0
aW9uPC9zcGFuPls8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPmk8L3Nw
YW4+XSA9PT0gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+ZWxlbSk8
L3NwYW4+PHNwYW4gY2xhc3M9InRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdodCB0ZXh0LWVkaXRv
ci1vdmVybGF5LWhpZ2hsaWdodCIgc3R5bGU9ImxlZnQ6IDIzN3B4OyB3aWR0aDogMzBweDsiPiA8
L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9z
cGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5pOzwvc3Bhbj48
L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgPHNwYW4gY2xh
c3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFz
cz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5udWxsOzwvc3Bhbj48L2Rpdj4KKzxkaXYg
Y2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwt
YXR0cmlidXRlLXZhbHVlIj59PC9zcGFuPjwvZGl2PjwvZGl2PgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9r
ZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMTAxYjEwOWIzMTFjNjlhYzMxM2ZhODFlZDYyMDk2NzI1ZGU4
YjdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0
LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbApAQCAtMCwwICsxLDY0IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJlZGl0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gZmluZEVsZW1lbnQo
Y29sbGVjdGlvbiwgZWxlbSkgeworICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY29sbGVjdGlv
bi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uW2ldID09PSBlbGVtKQor
ICAgICAgICAgICAgICAgIHJldHVybiBpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9CisK
KyAgICB2YXIgc3RlcHMgPSBbc3RlcDIsIHN0ZXAxXTsgLy8gcmV2ZXJzZWQgb3JkZXIKKyAgICBm
dW5jdGlvbiBzZWxlY3Rpb25DaGFuZ2VMaXN0ZW5lcigpCisgICAgeworICAgICAgICBpZiAoc3Rl
cHMubGVuZ3RoKQorICAgICAgICAgICAgc3RlcHMucG9wKCkuY2FsbCgpOworICAgIH0KKworICAg
IHZhciB0ZXh0RWRpdG9yRGVsZWdhdGUgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JEZWxl
Z2F0ZSgpOworICAgIHRleHRFZGl0b3JEZWxlZ2F0ZS5zZWxlY3Rpb25DaGFuZ2VkID0gc2VsZWN0
aW9uQ2hhbmdlTGlzdGVuZXI7CisKKyAgICB2YXIgdGV4dEVkaXRvciA9IEluc3BlY3RvclRlc3Qu
Y3JlYXRlVGVzdEVkaXRvcih1bmRlZmluZWQsIHVuZGVmaW5lZCwgdGV4dEVkaXRvckRlbGVnYXRl
KTsKKyAgICB0ZXh0RWRpdG9yLnNldFJlYWRPbmx5KGZhbHNlKTsKKyAgICB0ZXh0RWRpdG9yLnNl
dFRleHQoZmluZEVsZW1lbnQudG9TdHJpbmcoKSk7CisgICAgdGV4dEVkaXRvci5lbGVtZW50LmZv
Y3VzKCk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09PT0gVGV4dEVk
aXRvciB0ZXh0ID09PT09PT09PT0iKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh0ZXh0
RWRpdG9yLnRleHQoKSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09
PT0gQmVmb3JlIHNlbGVjdGluZyBlbGVtZW50ID09PT09PT09PT09Iik7CisgICAgSW5zcGVjdG9y
VGVzdC5kdW1wRWRpdG9ySFRNTCh0ZXh0RWRpdG9yLCB0cnVlKTsKKworICAgIHZhciByYW5nZSA9
IG5ldyBXZWJJbnNwZWN0b3IuVGV4dFJhbmdlKDAsIDIxLCAwLCAzMSk7CisgICAgdGV4dEVkaXRv
ci5zZXRTZWxlY3Rpb24ocmFuZ2UpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09IEFmdGVyIHNlbGVjdGlu
ZyAnIiArIHRleHRFZGl0b3IuX3RleHRNb2RlbC5jb3B5UmFuZ2UocmFuZ2UpICsgIicgPT09PT09
PT09PT0iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWRpdG9ySFRNTCh0ZXh0RWRpdG9y
LCB0cnVlKTsKKyAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgwLCAz
MywgMCwgMzcpOworICAgICAgICB0ZXh0RWRpdG9yLnNldFNlbGVjdGlvbihyYW5nZSk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIj09PT09PT09PT09IEFmdGVyIHNlbGVjdGluZyAnIiArIHRleHRFZGl0b3IuX3Rl
eHRNb2RlbC5jb3B5UmFuZ2UocmFuZ2UpICsgIicgPT09PT09PT09PT0iKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wRWRpdG9ySFRNTCh0ZXh0RWRpdG9yLCB0cnVlKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisKK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8cD4KK1RoaXMgdGVzdCBjaGVja3Mg
dGV4dCBlZGl0b3IgdG9rZW4gaGlnaGxpZ2h0IGZ1bmN0aW9uYWxpdHkuCis8L3A+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184741</attachid>
            <date>2013-01-25 06:39:53 -0800</date>
            <delta_ts>2013-01-25 08:23:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105523-20130125183643.patch</filename>
            <type>text/plain</type>
            <size>14659</size>
            <attacher name="Andrey Lushnikov">lushnikov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNzk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDU2NmQ5YzRjMDRlOGNm
MGQ2YTk5ZjI4YTZkZjM4ZDQxMjhkNDQyNC4uOTQ4MGMzYjQyYjE2ZTM5NWM0ODc0ZDI3YzkwYmM5
ZTAxOWFjZTJiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAxLTI1ICBBbmRy
ZXkgTHVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBIaWdobGln
aHQgb2NjdXJyZW5jZXMgb2Ygc2VsZWN0ZWQgd29yZCBpbiBEZWZhdWx0VGV4dEVkaXRvciBieSB0
aGUgbWVhbnMgb2YgbmV3IGhpZ2hsaWdodCByZWdleCBBUEkuCisKKyAgICAgICAgVGVzdDogaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZS5faGFuZGxlU2VsZWN0aW9uQ2hhbmdlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2Vu
SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5fcmVnZXhTdHJpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFu
ZWwuVG9rZW5IaWdobGlnaHRlci5wcm90b3R5cGUuX2hpZ2hsaWdodCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZS5f
cmVtb3ZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBh
bmVsLlRva2VuSGlnaGxpZ2h0ZXIucHJvdG90eXBlLl9pc1dvcmQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3M6CisgICAgICAgICgudGV4dC1lZGl0b3ItdG9r
ZW4taGlnaGxpZ2h0KToKKwogMjAxMy0wMS0yNSAgRWJlcmhhcmQgR3JhZXRoZXIgIDxlZ3JhZXRo
ZXJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgY2hlY2tib3ggZm9y
IGNvbnRpbnVvdXMgcGFpbnRpbmcgdG8gdGhlIGluc3BlY3RvcidzIHNldHRpbmdzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9y
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRv
ci5qcwppbmRleCBiNTM4NmY2NmQzNThhNzY4ZGJmNzcxY2RjMmQ5MTkyNzA4ZjdhMGMyLi5mMDBk
OTA0ZDdmNThlOTc0ZjFhNThhMTU2ZThhMzBlNTgyNzk4MDM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMKQEAg
LTEzNjIsNiArMTM2Miw4IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsID0gZnVu
Y3Rpb24oZGVsZWdhdGUsIHRleHRNb2RlbCwgdXJsLCBzeW5jU2Nyb2xsCiAKICAgICB0aGlzLl9o
aWdobGlnaHRSZWdleHMgPSB7fTsKIAorICAgIHRoaXMuX3Rva2VuSGlnaGxpZ2h0ZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlcih0aGlzLCB0
ZXh0TW9kZWwpOworCiAgICAgdGhpcy5fZnJlZUNhY2hlZEVsZW1lbnRzKCk7CiAgICAgdGhpcy5i
dWlsZENodW5rcygpOwogfQpAQCAtMjYyMiw2ICsyNjI0LDggQEAgV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3JNYWluUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB2YXIgdGV4dFJhbmdlID0gdGhp
cy5zZWxlY3Rpb24oKTsKICAgICAgICAgaWYgKHRleHRSYW5nZSkKICAgICAgICAgICAgIHRoaXMu
X2xhc3RTZWxlY3Rpb24gPSB0ZXh0UmFuZ2U7CisKKyAgICAgICAgdGhpcy5fdG9rZW5IaWdobGln
aHRlci5oYW5kbGVTZWxlY3Rpb25DaGFuZ2UodGV4dFJhbmdlKTsKICAgICAgICAgdGhpcy5fZGVs
ZWdhdGUuc2VsZWN0aW9uQ2hhbmdlZCh0ZXh0UmFuZ2UpOwogICAgIH0sCiAKQEAgLTI5NDQsNCAr
Mjk0OCw5MiBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5DaHVuay5wcm90b3R5cGUgPSB7
CiAgICAgfQogfQogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQHBhcmFtIHtXZWJJbnNwZWN0
b3IuVGV4dEVkaXRvck1haW5QYW5lbH0gbWFpblBhbmVsCisgKiBAcGFyYW0ge1dlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yTW9kZWx9IHRleHRNb2RlbAorICovCitXZWJJbnNwZWN0b3IuVGV4dEVkaXRv
ck1haW5QYW5lbC5Ub2tlbkhpZ2hsaWdodGVyID0gZnVuY3Rpb24obWFpblBhbmVsLCB0ZXh0TW9k
ZWwpCit7CisgICAgdGhpcy5fbWFpblBhbmVsID0gbWFpblBhbmVsOworICAgIHRoaXMuX3RleHRN
b2RlbCA9IHRleHRNb2RlbDsKK30KKworV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwu
VG9rZW5IaWdobGlnaHRlci5fTm9uV29yZENoYXJSZWdleCA9IC9bXmEtekEtWjAtOV9dLzsKK1dl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLlRva2VuSGlnaGxpZ2h0ZXIuX1dvcmRSZWdl
eCA9IC9eW2EtekEtWjAtOV9dKyQvOworCitXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5l
bC5Ub2tlbkhpZ2hsaWdodGVyLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcGFyYW0g
e1dlYkluc3BlY3Rvci5UZXh0UmFuZ2V9IHJhbmdlCisgICAgICovCisgICAgaGFuZGxlU2VsZWN0
aW9uQ2hhbmdlOiBmdW5jdGlvbihyYW5nZSkKKyAgICB7CisgICAgICAgIGlmICghcmFuZ2UpIHsK
KyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisKKyAgICAgICAgaWYgKHJhbmdlLnN0YXJ0TGluZSAhPT0gcmFuZ2UuZW5k
TGluZSkgeworICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSGlnaGxpZ2h0KCk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICByYW5nZSA9IHJhbmdlLm5vcm1hbGl6ZSgp
OworICAgICAgICB2YXIgc2VsZWN0ZWRUZXh0ID0gdGhpcy5fdGV4dE1vZGVsLmNvcHlSYW5nZShy
YW5nZSk7CisgICAgICAgIGlmIChzZWxlY3RlZFRleHQgPT09IHRoaXMuX3NlbGVjdGVkV29yZCkK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoc2VsZWN0ZWRUZXh0ID09PSAiIikg
eworICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSGlnaGxpZ2h0KCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAodGhpcy5faXNXb3JkKHJhbmdlLCBzZWxlY3Rl
ZFRleHQpKQorICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0KHNlbGVjdGVkVGV4dCk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgIH0sCisK
KyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gd29yZAorICAgICAqLworICAgIF9yZWdl
eFN0cmluZzogZnVuY3Rpb24od29yZCkKKyAgICB7CisgICAgICAgIHJldHVybiAiXFxiIiArIHdv
cmQgKyAiXFxiIjsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNl
bGVjdGVkV29yZAorICAgICAqLworICAgIF9oaWdobGlnaHQ6IGZ1bmN0aW9uKHNlbGVjdGVkV29y
ZCkKKyAgICB7CisgICAgICAgIHRoaXMuX3JlbW92ZUhpZ2hsaWdodCgpOworICAgICAgICB0aGlz
Ll9zZWxlY3RlZFdvcmQgPSBzZWxlY3RlZFdvcmQ7CisgICAgICAgIHRoaXMuX21haW5QYW5lbC5o
aWdobGlnaHRSZWdleCh0aGlzLl9yZWdleFN0cmluZyhzZWxlY3RlZFdvcmQpLCAidGV4dC1lZGl0
b3ItdG9rZW4taGlnaGxpZ2h0IikKKyAgICB9LAorCisgICAgX3JlbW92ZUhpZ2hsaWdodDogZnVu
Y3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkV29yZCkgeworICAgICAg
ICAgICAgdGhpcy5fbWFpblBhbmVsLnJlbW92ZVJlZ2V4SGlnaGxpZ2h0KHRoaXMuX3JlZ2V4U3Ry
aW5nKHRoaXMuX3NlbGVjdGVkV29yZCkpOworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3NlbGVj
dGVkV29yZDsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5UZXh0UmFuZ2V9IHJhbmdlCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVj
dGVkVGV4dAorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgX2lzV29yZDog
ZnVuY3Rpb24ocmFuZ2UsIHNlbGVjdGVkVGV4dCkKKyAgICB7CisgICAgICAgIGNvbnN0IE5vbldv
cmRDaGFyID0gV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRl
ci5fTm9uV29yZENoYXJSZWdleDsKKyAgICAgICAgY29uc3QgV29yZFJlZ2V4ID0gV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3JNYWluUGFuZWwuVG9rZW5IaWdobGlnaHRlci5fV29yZFJlZ2V4OworICAg
ICAgICB2YXIgbGluZSA9IHRoaXMuX3RleHRNb2RlbC5saW5lKHJhbmdlLnN0YXJ0TGluZSk7Cisg
ICAgICAgIHZhciBsZWZ0Qm91bmQgPSByYW5nZS5zdGFydENvbHVtbiA9PT0gMCB8fCBOb25Xb3Jk
Q2hhci50ZXN0KGxpbmUuY2hhckF0KHJhbmdlLnN0YXJ0Q29sdW1uIC0gMSkpOworICAgICAgICB2
YXIgcmlnaHRCb3VuZCA9IHJhbmdlLmVuZENvbHVtbiA9PT0gbGluZS5sZW5ndGggLSAxIHx8IE5v
bldvcmRDaGFyLnRlc3QobGluZS5jaGFyQXQocmFuZ2UuZW5kQ29sdW1uKSk7CisgICAgICAgIHJl
dHVybiBsZWZ0Qm91bmQgJiYgcmlnaHRCb3VuZCAmJiBXb3JkUmVnZXgudGVzdChzZWxlY3RlZFRl
eHQpOworICAgIH0KK30KKwogV2ViSW5zcGVjdG9yLmRlYnVnRGVmYXVsdFRleHRFZGl0b3IgPSBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4
dEVkaXRvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RleHRFZGl0
b3IuY3NzCmluZGV4IDY5NDA3MWJkMTFmZWNmNjdjMjZiMWU5YjUyNzNkNWM2NDg2NzUyNmIuLmMw
MTc4MGFkZWFlMDA4YjYxYzFlNTc5ZjgxMzc0NTE2MzA0MmFiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dEVkaXRvci5jc3MKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90ZXh0RWRpdG9yLmNzcwpAQCAtMzcsNiArMzcs
MTEgQEAKICAgICB6LWluZGV4OiAtMTsKIH0KIAorLnRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdo
dCB7CisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7CisgICAgYm9yZGVyOiAxcHggc29s
aWQgZ3JheTsKK30KKwogLnRleHQtZWRpdG9yLWNvbnRlbnRzIC5pbm5lci1jb250YWluZXIgewog
ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICB0b3A6IDA7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzIyZGRkY2EwMjFi
MDI4MGNhZmU0MTlhOGE5ZjQ0MWYxZDYyMTJmZC4uZDRhMDAxNGZhZDc4YWJiYTBmM2NkYzY3ODc2
OTU2MmNhYjhjY2U0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTAxLTI1ICBBbmRyZXkg
THVzaG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBoaWdobGlnaHQgb2NjdXJlbmNlcyBvZiB3b3JkIGluIERlZmF1bHRUZXh0RWRpdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IHRl
c3QgdG8gdmVyaWZ5IHRva2VuIGhpZ2hsaWdodG5pbmcgZnVuY3Rpb25hbGl0eS4KKworICAgICAg
ICAqIGluc3BlY3Rvci9lZGl0b3IvZWRpdG9yLXRlc3QuanM6CisgICAgICAgIChpbml0aWFsaXpl
X0VkaXRvclRlc3RzLkluc3BlY3RvclRlc3QuY3JlYXRlVGVzdEVkaXRvcik6IEFkZGVkIG9wdGlv
bmFsIFRleHRFZGl0b3JEZWxlZ2F0ZSBhcmd1bWVudC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZWRp
dG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGluc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLmh0bWw6
IEFkZGVkLgorCiAyMDEzLTAxLTI1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgog
CiAgICAgICAgIE1hYyBXSzEgcmViYXNlbGluZXMgZm9yIHIxNDA3MjguCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL2VkaXRvci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VkaXRvci9lZGl0b3ItdGVzdC5qcwppbmRleCBjNzFlZmI4OTc3M2U4NDc4NmU4
NWU2MGM0NzBkNmJkOTBlMzRjZWU1Li5hNDk5MTUyZDBmZWQ2YTgyOWYyMmRlN2Y4NGU1ZWYxOWJl
MDJiYzI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL2VkaXRvci10
ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvZWRpdG9yLXRlc3QuanMK
QEAgLTEsMTAgKzEsMTAgQEAKIGZ1bmN0aW9uIGluaXRpYWxpemVfRWRpdG9yVGVzdHMoKQogewog
Ci1JbnNwZWN0b3JUZXN0LmNyZWF0ZVRlc3RFZGl0b3IgPSBmdW5jdGlvbihjbGllbnRIZWlnaHQs
IGNodW5rU2l6ZSkKK0luc3BlY3RvclRlc3QuY3JlYXRlVGVzdEVkaXRvciA9IGZ1bmN0aW9uKGNs
aWVudEhlaWdodCwgY2h1bmtTaXplLCB0ZXh0RWRpdG9yRGVsZWdhdGUpCiB7CiAgICAgV2ViSW5z
cGVjdG9yLmRlYnVnRGVmYXVsdFRleHRFZGl0b3IgPSB0cnVlOwotICAgIHZhciB0ZXh0RWRpdG9y
ID0gbmV3IFdlYkluc3BlY3Rvci5EZWZhdWx0VGV4dEVkaXRvcigiIiwgbmV3IFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yRGVsZWdhdGUoKSk7CisgICAgdmFyIHRleHRFZGl0b3IgPSBuZXcgV2ViSW5z
cGVjdG9yLkRlZmF1bHRUZXh0RWRpdG9yKCIiLCB0ZXh0RWRpdG9yRGVsZWdhdGUgfHwgbmV3IFdl
Ykluc3BlY3Rvci5UZXh0RWRpdG9yRGVsZWdhdGUoKSk7CiAgICAgdGV4dEVkaXRvci5vdmVycmlk
ZVZpZXdwb3J0Rm9yVGVzdCgwLCBjbGllbnRIZWlnaHQgfHwgMTAwLCBjaHVua1NpemUgfHwgMTAp
OwogICAgIHRleHRFZGl0b3Iuc2hvdyhXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5lbGVtZW50
KTsKICAgICByZXR1cm4gdGV4dEVkaXRvcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItaGlnaGxpZ2h0LXRva2VuLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ODBiMzcwOGU4ZTUzYjAwMGJkNzg0NGZhM2VjMGY1YjM1
OTgwNDdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90
ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9rZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzcgQEAK
K1RoaXMgdGVzdCBjaGVja3MgdGV4dCBlZGl0b3IgdG9rZW4gaGlnaGxpZ2h0IGZ1bmN0aW9uYWxp
dHkuCisKKz09PT09PT09PT09IFRleHRFZGl0b3IgdGV4dCA9PT09PT09PT09CitmdW5jdGlvbiBm
aW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7CisgICAgICAgIGZvcih2YXIgaSA9IDA7IGkg
PCBjb2xsZWN0aW9uLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb25baV0g
PT09IGVsZW0pCisgICAgICAgICAgICAgICAgcmV0dXJuIGk7CisgICAgICAgIHJldHVybiBudWxs
OworICAgIH0KKz09PT09PT09PT09IEJlZm9yZSBzZWxlY3RpbmcgZWxlbWVudCA9PT09PT09PT09
PQorCis8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIgdGV4dC1lZGl0b3ItZWRpdGFibGUiIHRh
YmluZGV4PSIwIj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPmZ1bmN0aW9uIGZp
bmRFbGVtZW50KGNvbGxlY3Rpb24sIGVsZW0pIHs8L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1s
aW5lLWNvbnRlbnQiPiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8c3BhbiBjbGFzcz0id2Via2l0
LWh0bWwtdGFnIj4mbHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtdGFnIj5jb2xs
ZWN0aW9uLmxlbmd0aDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
bmFtZSI+KytpKTwvc3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQi
PiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aWY8
L3NwYW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+KGNvbGxlY3Rp
b248L3NwYW4+WzxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtbmFtZSI+aTwvc3Bh
bj5dID09PSA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5lbGVtKTwv
c3Bhbj48L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgICAg
ICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3Nw
YW4+IDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmk7PC9zcGFuPjwv
ZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICA8c3BhbiBjbGFz
cz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNz
PSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPm51bGw7PC9zcGFuPjwvZGl2PgorPGRpdiBj
bGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1h
dHRyaWJ1dGUtdmFsdWUiPn08L3NwYW4+PC9kaXY+PC9kaXY+Cis9PT09PT09PT09PSBBZnRlciBz
ZWxlY3RpbmcgJ2NvbGxlY3Rpb24nID09PT09PT09PT09CisKKzxkaXYgY2xhc3M9ImlubmVyLWNv
bnRhaW5lciB0ZXh0LWVkaXRvci1lZGl0YWJsZSIgdGFiaW5kZXg9IjAiPgorPGRpdiBjbGFzcz0i
d2Via2l0LWxpbmUtY29udGVudCI+ZnVuY3Rpb24gZmluZEVsZW1lbnQoY29sbGVjdGlvbiwgZWxl
bSkgezxzcGFuIGNsYXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3It
b3ZlcmxheS1oaWdobGlnaHQiIHN0eWxlPSJsZWZ0OiAxNDZweDsgd2lkdGg6IDcycHg7Ij4gPC9z
cGFuPjwvZGl2PgorPGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICBmb3Io
dmFyIGkgPSAwOyBpIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPiZsdDs8L3NwYW4+IDxz
cGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC10YWciPmNvbGxlY3Rpb24ubGVuZ3RoOzwvc3Bhbj4gPHNw
YW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4rK2kpPC9zcGFuPjxzcGFuIGNs
YXNzPSJ0ZXh0LWVkaXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdo
bGlnaHQiIHN0eWxlPSJsZWZ0OiAxODhweDsgd2lkdGg6IDcycHg7Ij4gPC9zcGFuPjwvZGl2Pgor
PGRpdiBjbGFzcz0id2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgPHNwYW4gY2xhc3M9
IndlYmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pZjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLWF0dHJpYnV0ZS1uYW1lIj4oY29sbGVjdGlvbjwvc3Bhbj5bPHNwYW4gY2xhc3M9Indl
YmtpdC1odG1sLWF0dHJpYnV0ZS1uYW1lIj5pPC9zcGFuPl0gPT09IDxzcGFuIGNsYXNzPSJ3ZWJr
aXQtaHRtbC1hdHRyaWJ1dGUtdmFsdWUiPmVsZW0pPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWVk
aXRvci10b2tlbi1oaWdobGlnaHQgdGV4dC1lZGl0b3Itb3ZlcmxheS1oaWdobGlnaHQiIHN0eWxl
PSJsZWZ0OiAxMTFweDsgd2lkdGg6IDcycHg7Ij4gPC9zcGFuPjwvZGl2PgorPGRpdiBjbGFzcz0i
d2Via2l0LWxpbmUtY29udGVudCI+ICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQt
aHRtbC1hdHRyaWJ1dGUtdmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1o
dG1sLWF0dHJpYnV0ZS12YWx1ZSI+aTs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQt
bGluZS1jb250ZW50Ij4gICAgICAgIDxzcGFuIGNsYXNzPSJ3ZWJraXQtaHRtbC1hdHRyaWJ1dGUt
dmFsdWUiPnJldHVybjwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12
YWx1ZSI+bnVsbDs8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50
Ij4gICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+fTwvc3Bhbj48
L2Rpdj48L2Rpdj4KKz09PT09PT09PT09IEFmdGVyIHNlbGVjdGluZyAnZWxlbScgPT09PT09PT09
PT0KKworPGRpdiBjbGFzcz0iaW5uZXItY29udGFpbmVyIHRleHQtZWRpdG9yLWVkaXRhYmxlIiB0
YWJpbmRleD0iMCI+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij5mdW5jdGlvbiBm
aW5kRWxlbWVudChjb2xsZWN0aW9uLCBlbGVtKSB7PHNwYW4gY2xhc3M9InRleHQtZWRpdG9yLXRv
a2VuLWhpZ2hsaWdodCB0ZXh0LWVkaXRvci1vdmVybGF5LWhpZ2hsaWdodCIgc3R5bGU9ImxlZnQ6
IDIzMHB4OyB3aWR0aDogMzBweDsiPiA8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQt
bGluZS1jb250ZW50Ij4gICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPHNwYW4gY2xhc3M9IndlYmtp
dC1odG1sLXRhZyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLXRhZyI+Y29s
bGVjdGlvbi5sZW5ndGg7PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRl
LW5hbWUiPisraSk8L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50
Ij4gICAgICAgICAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPmlm
PC9zcGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPihjb2xsZWN0
aW9uPC9zcGFuPls8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLW5hbWUiPmk8L3Nw
YW4+XSA9PT0gPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+ZWxlbSk8
L3NwYW4+PHNwYW4gY2xhc3M9InRleHQtZWRpdG9yLXRva2VuLWhpZ2hsaWdodCB0ZXh0LWVkaXRv
ci1vdmVybGF5LWhpZ2hsaWdodCIgc3R5bGU9ImxlZnQ6IDIzN3B4OyB3aWR0aDogMzBweDsiPiA8
L3NwYW4+PC9kaXY+Cis8ZGl2IGNsYXNzPSJ3ZWJraXQtbGluZS1jb250ZW50Ij4gICAgICAgICAg
ICAgICAgPHNwYW4gY2xhc3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9z
cGFuPiA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5pOzwvc3Bhbj48
L2Rpdj4KKzxkaXYgY2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICAgICAgPHNwYW4gY2xh
c3M9IndlYmtpdC1odG1sLWF0dHJpYnV0ZS12YWx1ZSI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFz
cz0id2Via2l0LWh0bWwtYXR0cmlidXRlLXZhbHVlIj5udWxsOzwvc3Bhbj48L2Rpdj4KKzxkaXYg
Y2xhc3M9IndlYmtpdC1saW5lLWNvbnRlbnQiPiAgICA8c3BhbiBjbGFzcz0id2Via2l0LWh0bWwt
YXR0cmlidXRlLXZhbHVlIj59PC9zcGFuPjwvZGl2PjwvZGl2PgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLWhpZ2hsaWdodC10b2tlbi5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1oaWdobGlnaHQtdG9r
ZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMTAxYjEwOWIzMTFjNjlhYzMxM2ZhODFlZDYyMDk2NzI1ZGU4
YjdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0
LWVkaXRvci1oaWdobGlnaHQtdG9rZW4uaHRtbApAQCAtMCwwICsxLDY0IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJlZGl0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gZmluZEVsZW1lbnQo
Y29sbGVjdGlvbiwgZWxlbSkgeworICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgY29sbGVjdGlv
bi5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uW2ldID09PSBlbGVtKQor
ICAgICAgICAgICAgICAgIHJldHVybiBpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9CisK
KyAgICB2YXIgc3RlcHMgPSBbc3RlcDIsIHN0ZXAxXTsgLy8gcmV2ZXJzZWQgb3JkZXIKKyAgICBm
dW5jdGlvbiBzZWxlY3Rpb25DaGFuZ2VMaXN0ZW5lcigpCisgICAgeworICAgICAgICBpZiAoc3Rl
cHMubGVuZ3RoKQorICAgICAgICAgICAgc3RlcHMucG9wKCkuY2FsbCgpOworICAgIH0KKworICAg
IHZhciB0ZXh0RWRpdG9yRGVsZWdhdGUgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JEZWxl
Z2F0ZSgpOworICAgIHRleHRFZGl0b3JEZWxlZ2F0ZS5zZWxlY3Rpb25DaGFuZ2VkID0gc2VsZWN0
aW9uQ2hhbmdlTGlzdGVuZXI7CisKKyAgICB2YXIgdGV4dEVkaXRvciA9IEluc3BlY3RvclRlc3Qu
Y3JlYXRlVGVzdEVkaXRvcih1bmRlZmluZWQsIHVuZGVmaW5lZCwgdGV4dEVkaXRvckRlbGVnYXRl
KTsKKyAgICB0ZXh0RWRpdG9yLnNldFJlYWRPbmx5KGZhbHNlKTsKKyAgICB0ZXh0RWRpdG9yLnNl
dFRleHQoZmluZEVsZW1lbnQudG9TdHJpbmcoKSk7CisgICAgdGV4dEVkaXRvci5lbGVtZW50LmZv
Y3VzKCk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09PT0gVGV4dEVk
aXRvciB0ZXh0ID09PT09PT09PT0iKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCh0ZXh0
RWRpdG9yLnRleHQoKSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiPT09PT09PT09
PT0gQmVmb3JlIHNlbGVjdGluZyBlbGVtZW50ID09PT09PT09PT09Iik7CisgICAgSW5zcGVjdG9y
VGVzdC5kdW1wRWRpdG9ySFRNTCh0ZXh0RWRpdG9yLCB0cnVlKTsKKworICAgIHZhciByYW5nZSA9
IG5ldyBXZWJJbnNwZWN0b3IuVGV4dFJhbmdlKDAsIDIxLCAwLCAzMSk7CisgICAgdGV4dEVkaXRv
ci5zZXRTZWxlY3Rpb24ocmFuZ2UpOworCisgICAgZnVuY3Rpb24gc3RlcDEoKQorICAgIHsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PT09PT09PT09IEFmdGVyIHNlbGVjdGlu
ZyAnIiArIHRleHRFZGl0b3IuX3RleHRNb2RlbC5jb3B5UmFuZ2UocmFuZ2UpICsgIicgPT09PT09
PT09PT0iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wRWRpdG9ySFRNTCh0ZXh0RWRpdG9y
LCB0cnVlKTsKKyAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgwLCAz
MywgMCwgMzcpOworICAgICAgICB0ZXh0RWRpdG9yLnNldFNlbGVjdGlvbihyYW5nZSk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIj09PT09PT09PT09IEFmdGVyIHNlbGVjdGluZyAnIiArIHRleHRFZGl0b3IuX3Rl
eHRNb2RlbC5jb3B5UmFuZ2UocmFuZ2UpICsgIicgPT09PT09PT09PT0iKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5kdW1wRWRpdG9ySFRNTCh0ZXh0RWRpdG9yLCB0cnVlKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9CisKK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8cD4KK1RoaXMgdGVzdCBjaGVja3Mg
dGV4dCBlZGl0b3IgdG9rZW4gaGlnaGxpZ2h0IGZ1bmN0aW9uYWxpdHkuCis8L3A+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>