<?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>85887</bug_id>
          
          <creation_ts>2012-05-08 08:42:52 -0700</creation_ts>
          <short_desc>Add SVN mirror handling feature to build.webkit.org</short_desc>
          <delta_ts>2020-10-16 06:54:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=122210</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=217823</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>90072</blocked>
    
    <blocked>98013</blocked>
    
    <blocked>98014</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>galpeter</cc>
    
    <cc>lauro.neto</cc>
    
    <cc>lforschler</cc>
    
    <cc>maruel</cc>
    
    <cc>ossy</cc>
    
    <cc>peter</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wsiegrist</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>618543</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-08 08:42:52 -0700</bug_when>
    <thetext>Nowadays there were too many svn.webkit.org server downtime
which caused &quot;rm -rf&quot; on all buildslave and new checkout.

Intercontinental svn checkout takes hours and many parallel checkout
usually overloads the svn.webkit.org server. That&apos;s why I propose to
set up svn mirrors for developers and for buildbots too.

Patch is coming soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618549</commentid>
    <comment_count>1</comment_count>
      <attachid>140724</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-08 08:56:14 -0700</bug_when>
    <thetext>Created attachment 140724
WIP patch

We finished setting up an SVN mirror 2 weeks ago and use it on http://build.webkit.sed.hu (14 buildslaves) with this patch adapted to our master, and it works very stable. The new wait-for-SVN-server.py ensures that svn update never start before mirror is ready and in sync with svn.webkit.org. It protects buildslaves from &quot;rm -f&quot; because of unavailable SVN server or invalid SVN revision passed with force build button. In my patch this script only runs when SVN mirror is added. But it can be useful for svn.webkit.org SVN server too to avoid &quot;rm -rf&quot; because of unavailable server.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618560</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-08 09:22:41 -0700</bug_when>
    <thetext>I forgot to mention that the origin of &quot;SVN server XML call&quot; part 
of Tools/BuildSlaveSupport/wait-for-SVN-server.py is buildbot code:
https://github.com/buildbot/buildbot/blob/buildbot-0.8.2/master/contrib/svnpoller.py</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618651</commentid>
    <comment_count>3</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-05-08 11:22:40 -0700</bug_when>
    <thetext>Adding dpranke@ and maruel@ for a Chromium opinion, also given this thread which outlines our GIT mirror:
https://lists.webkit.org/pipermail/webkit-dev/2012-March/019698.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618717</commentid>
    <comment_count>4</comment_count>
      <attachid>140724</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-08 12:35:55 -0700</bug_when>
    <thetext>Comment on attachment 140724
WIP patch

I have no useful knowledge to contribute here. Sounds useful, though :)

The code looks fine to me, but you probably want wms or lforschler to review it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618745</commentid>
    <comment_count>5</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2012-05-08 13:17:51 -0700</bug_when>
    <thetext>Is there a corresponding change to the config.json which will point your slaves to the mirror?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618878</commentid>
    <comment_count>6</comment_count>
      <attachid>140724</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-08 15:37:34 -0700</bug_when>
    <thetext>Comment on attachment 140724
WIP patch

Can we unittest this in master_cfg_unittest.py?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619237</commentid>
    <comment_count>7</comment_count>
      <attachid>140874</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-09 00:38:39 -0700</bug_when>
    <thetext>Created attachment 140874
Add SVN mirror for Qt buildslaves

(In reply to comment #5)&gt; Is there a corresponding change to the config.json which will point your slaves to the mirror?Sure. After the general patch landed, I&apos;m going to add this change to config.json</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619240</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-09 00:44:48 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 140724 [details])
&gt; Can we unittest this in master_cfg_unittest.py?

There isn&apos;t any checked in unittest for CheckOutSource and *Factory classes.
But let&apos;s give it a try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657627</commentid>
    <comment_count>9</comment_count>
      <attachid>149537</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-06-26 08:42:30 -0700</bug_when>
    <thetext>Created attachment 149537
Patch

updated to ToT, I&apos;m going to add unit test too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658631</commentid>
    <comment_count>10</comment_count>
      <attachid>149753</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-06-27 08:35:09 -0700</bug_when>
    <thetext>Created attachment 149753
proposed patch

I updated it to ToT and addded a unit test. 
( It won&apos;t apply until https://bugs.webkit.org/show_bug.cgi?id=90072 landed )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659315</commentid>
    <comment_count>11</comment_count>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2012-06-28 01:24:01 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=149753&amp;action=review

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/config.json:182
&gt; +                      &quot;SVNMirror&quot;: &quot;svn://rain.inf.u-szeged.hu:3389/&quot;,

Why is this different from the rest?

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg:104
&gt; +        self.addFactoryArguments(platform=platform, configuration=configuration, architecture=architecture, buildOnly=buildOnly, SVNMirror = SVNMirror)

No need for the spaces around the last equal sign (just like the others).

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg:685
&gt; +        self.addStep(WaitForSVNServer, doStepIf = bool(SVNMirror), hideStepIf = bool(SVNMirror))

Won&apos;t this hide the step if there is an SVNMirror specified? Is this what you wanted? (Also no need for the spaces around the equal signs)

&gt; Tools/BuildSlaveSupport/wait-for-SVN-server.py:31
&gt; +        response = commands.getoutput(&quot;svn log --non-interactive --verbose --xml --limit=1 &quot; + SVNServer)

Use % formatter if you use it already elsewhere, just to be consistent.

&gt; Tools/BuildSlaveSupport/wait-for-SVN-server.py:52
&gt; +    except exceptions.ValueError:

&apos;ValueError&apos; should be enough, no need for the exceptions module.

&gt; Tools/BuildSlaveSupport/wait-for-SVN-server.py:69
&gt; +parser = OptionParser()
&gt; +parser.add_option(&quot;-r&quot;, &quot;--revision&quot;, dest=&quot;revision&quot;, help=&quot;SVN revision number&quot;)
&gt; +parser.add_option(&quot;-s&quot;, &quot;--svn-server&quot;, dest=&quot;SVNServer&quot;, help=&quot;SVN server&quot;)
&gt; +(options, args) = parser.parse_args()
&gt; +waitForSVNRevision(options.SVNServer, options.revision)

This should be in an if __name__ == &quot;__main__&quot;: block.
Also add a type argument for the revision like: type=&quot;int&quot;, so you won&apos;t need to check if the revision is a number or not. The OptionParser will do it for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659467</commentid>
    <comment_count>12</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-06-28 06:50:21 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149753&amp;action=review
&gt; 
&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/config.json:182
&gt; &gt; +                      &quot;SVNMirror&quot;: &quot;svn://rain.inf.u-szeged.hu:3389/&quot;,
&gt; 
&gt; Why is this different from the rest?

Because the machine run this bot on is out of our firewall and it can 
see only 3389 TCP port. Which is restricded for this machine only. :)

 
&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg:104
&gt; &gt; +        self.addFactoryArguments(platform=platform, configuration=configuration, architecture=architecture, buildOnly=buildOnly, SVNMirror = SVNMirror)
&gt; 
&gt; No need for the spaces around the last equal sign (just like the others).

Fixed.
 
&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg:685
&gt; &gt; +        self.addStep(WaitForSVNServer, doStepIf = bool(SVNMirror), hideStepIf = bool(SVNMirror))
&gt; 
&gt; Won&apos;t this hide the step if there is an SVNMirror specified? Is this what you wanted? (Also no need for the spaces around the equal signs)

Good point. But we shouldn&apos;t add this step at all if bool(SVNMirror) is false. 
 
&gt; &gt; Tools/BuildSlaveSupport/wait-for-SVN-server.py:31
&gt; &gt; +        response = commands.getoutput(&quot;svn log --non-interactive --verbose --xml --limit=1 &quot; + SVNServer)
&gt; 
&gt; Use % formatter if you use it already elsewhere, just to be consistent.
&gt; 
&gt; &gt; Tools/BuildSlaveSupport/wait-for-SVN-server.py:52
&gt; &gt; +    except exceptions.ValueError:
&gt; 
&gt; &apos;ValueError&apos; should be enough, no need for the exceptions module.

Removed, because type=&quot;int&quot; argument check works for us with empty revision too. (force build without revision)
 
&gt; &gt; Tools/BuildSlaveSupport/wait-for-SVN-server.py:69
&gt; &gt; +parser = OptionParser()
&gt; &gt; +parser.add_option(&quot;-r&quot;, &quot;--revision&quot;, dest=&quot;revision&quot;, help=&quot;SVN revision number&quot;)
&gt; &gt; +parser.add_option(&quot;-s&quot;, &quot;--svn-server&quot;, dest=&quot;SVNServer&quot;, help=&quot;SVN server&quot;)
&gt; &gt; +(options, args) = parser.parse_args()
&gt; &gt; +waitForSVNRevision(options.SVNServer, options.revision)
&gt; 
&gt; This should be in an if __name__ == &quot;__main__&quot;: block.
&gt; Also add a type argument for the revision like: type=&quot;int&quot;, so you won&apos;t need to check if the revision is a number or not. The OptionParser will do it for you.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659469</commentid>
    <comment_count>13</comment_count>
      <attachid>149942</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-06-28 06:52:41 -0700</bug_when>
    <thetext>Created attachment 149942
proposed patch

Updated patch based on Peter&apos;s review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694876</commentid>
    <comment_count>14</comment_count>
      <attachid>158304</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-08-14 05:47:12 -0700</bug_when>
    <thetext>Created attachment 158304
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694877</commentid>
    <comment_count>15</comment_count>
      <attachid>158304</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-08-14 05:47:41 -0700</bug_when>
    <thetext>Comment on attachment 158304
proposed patch

Updated to ToT, use subprocess.Popen instead of commands.getoutput to make wait-for-SVN-server.py work on Windows too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694888</commentid>
    <comment_count>16</comment_count>
      <attachid>158304</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-08-14 05:58:19 -0700</bug_when>
    <thetext>Comment on attachment 158304
proposed patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:350
&gt; +        # SVN mirror feature isn&apos;t unittestable now with source.oldsource.SVN(==source.SVN) , only with source.svn.SVN(==SVN)
&gt; +        # https://bugs.webkit.org/show_bug.cgi?id=85887
&gt; +        if issubclass(CheckOutSource, source.SVN):
&gt; +            return

Unfortunately it isn&apos;t unittestable now with source.oldsource.SVN, because
SVN.baseURL is set to _ComputeRepositoryURL(baseURL) in SVN.__init__
and _ComputeRepositoryURL needs build object to work, so we got the
following error if we tried to run unittest with source.oldsource.SVN:

FAIL: test_CheckOutSource (__main__.SVNMirrorTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File &quot;./mastercfg_unittest.py&quot;, line 358, in test_CheckOutSource
    self.assertEquals(CheckOutSourceInstance.baseURL, self.get_SVNMirrorFromConfig(builder[&apos;name&apos;]))
AssertionError: &lt;buildbot.steps.source.oldsource._ComputeRepositoryURL object at 0x26aa110&gt; != &apos;http://svn.webkit.org/repository/webkit/&apos;

You can try this unittest with the newer source.svn.SVN if you apply the following patch:
https://bugs.webkit.org/attachment.cgi?id=158307 (https://bugs.webkit.org/show_bug.cgi?id=90072)
But unfortunately we can&apos;t migrate to source.svn.SVN for some reason now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718108</commentid>
    <comment_count>17</comment_count>
      <attachid>163563</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-12 02:39:30 -0700</bug_when>
    <thetext>Created attachment 163563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718118</commentid>
    <comment_count>18</comment_count>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2012-09-12 02:47:46 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=163563&amp;action=review

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg:710
&gt; +        if bool(SVNMirror):

No need for the bool() call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718119</commentid>
    <comment_count>19</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-12 02:48:39 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; Created an attachment (id=163563) [details]
&gt; Patch

Updated to ToT.

When the connection is going broken during svn update, buildbot does &quot;rm -rf&quot;
and then a new checkout. Transatlantic checkout is _impossible_, because it
would take half a day, but it is absolutely _impossible_ without connection
lost. In this case now I have to stop the slave, checkout from our local mirror,
svn switch to svn.webkit.org and restart the slave. I got fed up with it. I
won&apos;t do this sisyphus work anymore.

Please review this patch as soon as possible. We really need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718153</commentid>
    <comment_count>20</comment_count>
      <attachid>163574</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-12 03:47:14 -0700</bug_when>
    <thetext>Created attachment 163574
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718439</commentid>
    <comment_count>21</comment_count>
      <attachid>163574</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-09-12 09:19:54 -0700</bug_when>
    <thetext>Comment on attachment 163574
Patch

looks plausible. good luck.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718455</commentid>
    <comment_count>22</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-12 09:29:18 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 163574 [details])
&gt; looks plausible. good luck.

Thanks, I&apos;m going to land it in an IDLE time, maybe 
tomorrow morning in CET timezone (night in PDT)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719018</commentid>
    <comment_count>23</comment_count>
      <attachid>163574</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-12 21:18:20 -0700</bug_when>
    <thetext>Comment on attachment 163574
Patch

Clearing flags on attachment: 163574

Committed r128399: &lt;http://trac.webkit.org/changeset/128399&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719020</commentid>
    <comment_count>24</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-12 21:18:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719028</commentid>
    <comment_count>25</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-12 21:39:39 -0700</bug_when>
    <thetext>It seems automatic master restart didn&apos;t work.
Bill or Lucas, could you restart the master, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719631</commentid>
    <comment_count>26</comment_count>
    <who name="William Siegrist">wsiegrist</who>
    <bug_when>2012-09-13 10:13:45 -0700</bug_when>
    <thetext>Master has been restarted. There was a stale lockfile from the last time I was working on the restart process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719780</commentid>
    <comment_count>27</comment_count>
      <attachid>163934</attachid>
    <who name="Lauro Moura Maranhao Neto">lauro.neto</who>
    <bug_when>2012-09-13 12:20:56 -0700</bug_when>
    <thetext>Created attachment 163934
Patch

The script was added to a different folder than the one specified in master.cfg. I&apos;m moving it to BuildSlaveSupport/ to keep together with the other scripts and avoid changing master.cfg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719823</commentid>
    <comment_count>28</comment_count>
      <attachid>163934</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 12:56:42 -0700</bug_when>
    <thetext>Comment on attachment 163934
Patch

Rejecting attachment 163934 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;-...&quot; exit_code: 2

Last 500 characters of output:

which does not exist!  Applying it anyway.
patching file Tools/BuildSlaveSupport/build.webkit.org-config/wait-for-SVN-server.py
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file Tools/BuildSlaveSupport/build.webkit.org-config/wait-for-SVN-server.py.rej
patching file Tools/BuildSlaveSupport/wait-for-SVN-server.py

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

Full output: http://queues.webkit.org/results/13835704</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719850</commentid>
    <comment_count>29</comment_count>
    <who name="Lauro Moura Maranhao Neto">lauro.neto</who>
    <bug_when>2012-09-13 13:17:51 -0700</bug_when>
    <thetext>It seems Ossy already fixed it :)

http://trac.webkit.org/changeset/128493</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719975</commentid>
    <comment_count>30</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-13 14:51:24 -0700</bug_when>
    <thetext>Thanks for everyone.

After master restarting I noticed some annoying bug:
- first run is broken, because master.cfg wanted to run wait-for-SVN-sever.py
before svn update ... at that time wait-for-SVN-sever.py doesn&apos;t exist. :-/
  - problem for a new slave 
  - problem after &quot;rm -rf&quot; after an svn fail or mirror changes in config.json
  - possible solution: check the existance of wait-for-SVN-sever.py from master.cfg
    - true: run it
    - false: sleep for X seconds to let SVN mirror have time for sync
- popen in wait-for-SVN-sever.py is buggy on windows
- type=&quot;int&quot; check for revision in wait-for-SVN-sever.py is incorrect, because it can be empty string if force build button is pushed without adding revision.

I leave this bug open now and will file bug reports about these 
bugs tomorrow morning. Of course, I&apos;ll fix them as soon as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731573</commentid>
    <comment_count>31</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-10-01 04:28:19 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; Thanks for everyone.
&gt; 
&gt; After master restarting I noticed some annoying bug:
&gt; - first run is broken, because master.cfg wanted to run wait-for-SVN-sever.py
&gt; before svn update ... at that time wait-for-SVN-sever.py doesn&apos;t exist. :-/
&gt;   - problem for a new slave 
&gt;   - problem after &quot;rm -rf&quot; after an svn fail or mirror changes in config.json
&gt;   - possible solution: check the existance of wait-for-SVN-sever.py from master.cfg
&gt;     - true: run it
&gt;     - false: sleep for X seconds to let SVN mirror have time for sync

new bug report: https://bugs.webkit.org/show_bug.cgi?id=98013

&gt; - popen in wait-for-SVN-sever.py is buggy on windows

false positive alarm :) We had a sophisticated svn.bat SVN wrapper 
script on our Windows bot, and popen couldn&apos;t find the SVN binary.

&gt; - type=&quot;int&quot; check for revision in wait-for-SVN-sever.py is incorrect, because it can be empty string if force build button is pushed without adding revision.

new bug report: https://bugs.webkit.org/show_bug.cgi?id=98014

I close this bug, because it is solved and it works fine. The 
mentioned minor bugs will be fixed in separated bug reports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435514</commentid>
    <comment_count>32</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-06-22 11:11:04 -0700</bug_when>
    <thetext>After removing Qt bots in https://trac.webkit.org/changeset/156771/webkit , SVNMirror code is completely unused. It seems to be unused for last 5 years. 

Should we just remove this dead code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698570</commentid>
    <comment_count>33</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-10-16 06:54:38 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #32)
&gt; After removing Qt bots in https://trac.webkit.org/changeset/156771/webkit ,
&gt; SVNMirror code is completely unused. It seems to be unused for last 5 years. 
&gt; 
&gt; Should we just remove this dead code?
Deleting this dead code in https://bugs.webkit.org/show_bug.cgi?id=217823</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140724</attachid>
            <date>2012-05-08 08:56:14 -0700</date>
            <delta_ts>2012-06-26 08:42:17 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-85887-20120508085612.patch</filename>
            <type>text/plain</type>
            <size>12604</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NDI4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGQ2MmNlY2FjY2JiNWYwNzI5Mjg2YThkODc1MjYyOTE0
NzlhYzk0Ni4uMzRmZjY5NjdmMDIyZGI0MjZjODk2NGIwZGRjOTVjODMzN2RkZmQ5NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4
IEBACisyMDEyLTA1LTA4ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgQWRkIFNWTiBtaXJyb3IgaGFuZGxpbmcgZmVhdHVyZSB0byBidWlsZC53ZWJraXQu
b3JnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTg4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZzoKKyAgICAg
ICAgKENvbmZpZ3VyZUJ1aWxkLl9faW5pdF9fKToKKyAgICAgICAgKENvbmZpZ3VyZUJ1aWxkLnN0
YXJ0KToKKyAgICAgICAgKENoZWNrT3V0U291cmNlLl9faW5pdF9fKToKKyAgICAgICAgKFdhaXRG
b3JTVk5TZXJ2ZXIpOgorICAgICAgICAoRmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWls
ZEZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoVGVzdEZhY3RvcnkuX19pbml0X18pOgorICAg
ICAgICAoQnVpbGRBbmRUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFuZFBl
cmZUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFuZFBlcmZUZXN0V2ViS2l0
MkZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdEZhY3Rvcnku
X19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5Ll9f
aW5pdF9fKToKKyAgICAgICAgKGxvYWRCdWlsZGVyQ29uZmlnKToKKyAgICAgICAgKiBCdWlsZFNs
YXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5OiBBZGRlZC4KKyAgICAgICAgKGdldExh
dGVzdFNWTlJldmlzaW9uKToKKyAgICAgICAgKHdhaXRGb3JTVk5SZXZpc2lvbik6CisKIDIwMTIt
MDUtMDcgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CiAKICAg
ICAgICAgW1F0XSBVbmJyZWFrIGRlYnVnZ2luZyBvZiBXZWJLaXQyLgpkaWZmIC0tZ2l0IGEvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZyBi
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3Rlci5j
ZmcKaW5kZXggZDA1ZTJkMjU0ZjQ4OWEzMDZiMmJjZGIzYzA4NDc1NTEzODkzNjgwOC4uYTRjYjU0
N2VlZjlmNTliN2EwZTY5MjgyZTAwNWQ1MjBiMzMzMWJkMiAxMDA2NDQKLS0tIGEvVG9vbHMvQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZworKysgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2Zn
CkBAIC05MCwxNCArOTAsMTUgQEAgY2xhc3MgQ29uZmlndXJlQnVpbGQoYnVpbGRzdGVwLkJ1aWxk
U3RlcCk6CiAgICAgbmFtZSA9ICJjb25maWd1cmUgYnVpbGQiCiAgICAgZGVzY3JpcHRpb24gPSBb
ImNvbmZpZ3VyaW5nIGJ1aWxkIl0KICAgICBkZXNjcmlwdGlvbkRvbmUgPSBbImNvbmZpZ3VyZWQg
YnVpbGQiXQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwg
YXJjaGl0ZWN0dXJlLCBidWlsZE9ubHksICphcmdzLCAqKmt3YXJncyk6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmUsIGJ1aWxkT25s
eSwgU1ZOTWlycm9yLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBidWlsZHN0ZXAuQnVpbGRT
dGVwLl9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5wbGF0Zm9y
bSA9IHBsYXRmb3JtLnNwbGl0KCctJywgMSlbMF0KICAgICAgICAgc2VsZi5mdWxsUGxhdGZvcm0g
PSBwbGF0Zm9ybQogICAgICAgICBzZWxmLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uCiAg
ICAgICAgIHNlbGYuYXJjaGl0ZWN0dXJlID0gYXJjaGl0ZWN0dXJlCiAgICAgICAgIHNlbGYuYnVp
bGRPbmx5ID0gYnVpbGRPbmx5Ci0gICAgICAgIHNlbGYuYWRkRmFjdG9yeUFyZ3VtZW50cyhwbGF0
Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmU9
YXJjaGl0ZWN0dXJlLCBidWlsZE9ubHk9YnVpbGRPbmx5KQorICAgICAgICBzZWxmLlNWTk1pcnJv
ciA9IFNWTk1pcnJvcgorICAgICAgICBzZWxmLmFkZEZhY3RvcnlBcmd1bWVudHMocGxhdGZvcm09
cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlPWFyY2hp
dGVjdHVyZSwgYnVpbGRPbmx5PWJ1aWxkT25seSwgU1ZOTWlycm9yPVNWTk1pcnJvcikKIAogICAg
IGRlZiBzdGFydChzZWxmKToKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgicGxhdGZvcm0iLCBz
ZWxmLnBsYXRmb3JtKQpAQCAtMTA1LDE1ICsxMDYsMjUgQEAgY2xhc3MgQ29uZmlndXJlQnVpbGQo
YnVpbGRzdGVwLkJ1aWxkU3RlcCk6CiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoImNvbmZpZ3Vy
YXRpb24iLCBzZWxmLmNvbmZpZ3VyYXRpb24pCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoImFy
Y2hpdGVjdHVyZSIsIHNlbGYuYXJjaGl0ZWN0dXJlKQogICAgICAgICBzZWxmLnNldFByb3BlcnR5
KCJidWlsZE9ubHkiLCBzZWxmLmJ1aWxkT25seSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgi
U1ZOTWlycm9yIiwgc2VsZi5TVk5NaXJyb3IpCiAgICAgICAgIHNlbGYuZmluaXNoZWQoU1VDQ0VT
UykKICAgICAgICAgcmV0dXJuIGRlZmVyLnN1Y2NlZWQoTm9uZSkKIAogCiBjbGFzcyBDaGVja091
dFNvdXJjZShzb3VyY2UuU1ZOKToKLSAgICBiYXNlVVJMID0gImh0dHA6Ly9zdm4ud2Via2l0Lm9y
Zy9yZXBvc2l0b3J5L3dlYmtpdC8iCiAgICAgbW9kZSA9ICJ1cGRhdGUiCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHNvdXJjZS5TVk4uX19pbml0X18o
c2VsZiwgYmFzZVVSTD1zZWxmLmJhc2VVUkwsIGRlZmF1bHRCcmFuY2g9InRydW5rIiwgbW9kZT1z
ZWxmLm1vZGUsICphcmdzLCAqKmt3YXJncykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgU1ZOTWly
cm9yLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBpZiBub3QgU1ZOTWlycm9yOgorICAgICAg
ICAgICAgU1ZOTWlycm9yID0gImh0dHA6Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtp
dC8iCisgICAgICAgIHNvdXJjZS5TVk4uX19pbml0X18oc2VsZiwgYmFzZVVSTD1TVk5NaXJyb3Is
IGRlZmF1bHRCcmFuY2g9InRydW5rIiwgbW9kZT1zZWxmLm1vZGUsICphcmdzLCAqKmt3YXJncykK
KworCitjbGFzcyBXYWl0Rm9yU1ZOU2VydmVyKHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgbmFt
ZSA9ICJ3YWl0LWZvci1zdm4tc2VydmVyIgorICAgIGNvbW1hbmQgPSBbInB5dGhvbiIsICIuL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkiLCAiLXIiLCBXaXRo
UHJvcGVydGllcygiJShyZXZpc2lvbilzIiksICItcyIsIFdpdGhQcm9wZXJ0aWVzKCIlKFNWTk1p
cnJvcilzIildCisgICAgZGVzY3JpcHRpb24gPSBbIndhaXRpbmcgZm9yIFNWTiBzZXJ2ZXIiXQor
ICAgIGRlc2NyaXB0aW9uRG9uZSA9IFsiU1ZOIHNlcnZlciBpcyByZWFkeSJdCisgICAgaGFsdE9u
RmFpbHVyZSA9IFRydWUKIAogCiBjbGFzcyBJbnN0YWxsV2luMzJEZXBlbmRlbmNpZXMoc2hlbGwu
Q29tcGlsZSk6CkBAIC02NzUsMTAgKzY4NiwxMSBAQCBjbGFzcyBFeHRyYWN0VGVzdFJlc3VsdHNB
bmRMZWFrcyhFeHRyYWN0VGVzdFJlc3VsdHMpOgogCiAKIGNsYXNzIEZhY3RvcnkoZmFjdG9yeS5C
dWlsZEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJh
dGlvbiwgYXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seSwgU1ZOTWly
cm9yPU5vbmUpOgogICAgICAgICBmYWN0b3J5LkJ1aWxkRmFjdG9yeS5fX2luaXRfXyhzZWxmKQot
ICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmlndXJlQnVpbGQsIHBsYXRmb3JtPXBsYXRmb3JtLCBj
b25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZT0iICIuam9pbihhcmNoaXRl
Y3R1cmVzKSwgYnVpbGRPbmx5PWJ1aWxkT25seSkKLSAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNr
T3V0U291cmNlKQorICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmlndXJlQnVpbGQsIHBsYXRmb3Jt
PXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZT0iICIu
am9pbihhcmNoaXRlY3R1cmVzKSwgYnVpbGRPbmx5PWJ1aWxkT25seSwgU1ZOTWlycm9yPVNWTk1p
cnJvcikKKyAgICAgICAgc2VsZi5hZGRTdGVwKFdhaXRGb3JTVk5TZXJ2ZXIsIGRvU3RlcElmID0g
Ym9vbChTVk5NaXJyb3IpKQorICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UsIFNW
Tk1pcnJvcj1TVk5NaXJyb3IpCiAgICAgICAgICMgVGhlcmUgYXJlIG11bHRpcGxlIFF0IHNsYXZl
cyBydW5uaW5nIG9uIHNhbWUgbWFjaGluZXMsIHNvIGJ1aWxkc2xhdmVzIHNob3VsZG4ndCBraWxs
IHRoZSBwcm9jZXNzZXMgb2Ygb3RoZXIgc2xhdmVzLgogICAgICAgICBpZiBub3QgcGxhdGZvcm0u
c3RhcnRzd2l0aCgicXQiKToKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vz
c2VzKQpAQCAtNjkzLDggKzcwNSw4IEBAIGNsYXNzIEZhY3RvcnkoZmFjdG9yeS5CdWlsZEZhY3Rv
cnkpOgogCiAKIGNsYXNzIEJ1aWxkRmFjdG9yeShGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18o
c2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIHRyaWdnZXJzPU5v
bmUpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0
aW9uLCBhcmNoaXRlY3R1cmVzLCBUcnVlKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9y
bSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgdHJpZ2dlcnM9Tm9uZSwgU1ZOTWlycm9y
PU5vbmUpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1
cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBUcnVlLCBTVk5NaXJyb3I9U1ZOTWlycm9yKQogICAgICAg
ICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdCkKICAgICAgICAgaWYgdHJpZ2dlcnM6CiAgICAg
ICAgICAgICBzZWxmLmFkZFN0ZXAoQXJjaGl2ZUJ1aWx0UHJvZHVjdCkKQEAgLTcxMCw4ICs3MjIs
OCBAQCBkZWYgdW5pdFRlc3RzU3VwcG9ydGVkKGNvbmZpZ3VyYXRpb24sIHBsYXRmb3JtKToKIGNs
YXNzIFRlc3RGYWN0b3J5KEZhY3RvcnkpOgogICAgIFRlc3RDbGFzcyA9IFJ1bldlYktpdFRlc3Rz
CiAgICAgRXh0cmFjdFRlc3RSZXN1bHRzQ2xhc3MgPSBFeHRyYWN0VGVzdFJlc3VsdHMKLSAgICBk
ZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMp
OgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzLCBGYWxzZSkKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0s
IGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIFNWTk1pcnJvcj1Ob25lKToKKyAgICAgICAg
RmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0
dXJlcywgRmFsc2UsIFNWTk1pcnJvcj1TVk5NaXJyb3IpCiAgICAgICAgIGlmIHBsYXRmb3JtLnN0
YXJ0c3dpdGgoImNocm9taXVtIik6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW51cENo
cm9taXVtQ3Jhc2hMb2dzKQogICAgICAgICBzZWxmLmFkZFN0ZXAoRG93bmxvYWRCdWlsdFByb2R1
Y3QpCkBAIC03NDEsOCArNzUzLDggQEAgY2xhc3MgVGVzdEZhY3RvcnkoRmFjdG9yeSk6CiBjbGFz
cyBCdWlsZEFuZFRlc3RGYWN0b3J5KEZhY3RvcnkpOgogICAgIFRlc3RDbGFzcyA9IFJ1bldlYktp
dFRlc3RzCiAgICAgRXh0cmFjdFRlc3RSZXN1bHRzQ2xhc3MgPSBFeHRyYWN0VGVzdFJlc3VsdHMK
LSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVj
dHVyZXMsICoqa3dhcmdzKToKLSAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9y
bSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsICoqa3dhcmdzKQorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywg
U1ZOTWlycm9yPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxm
LCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsIFNWTk1pcnJv
cj1TVk5NaXJyb3IsICoqa3dhcmdzKQogICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCJj
aHJvbWl1bSIpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENsZWFudXBDaHJvbWl1bUNyYXNo
TG9ncykKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJLaXQpCkBAIC03ODAsMzEgKzc5
MiwzMSBAQCBjbGFzcyBUZXN0V2ViS2l0MkZhY3RvcnkoVGVzdEZhY3RvcnkpOgogICAgIFRlc3RD
bGFzcyA9IFJ1bldlYktpdDJUZXN0cwogCiBjbGFzcyBCdWlsZEFuZFBlcmZUZXN0RmFjdG9yeShG
YWN0b3J5KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24s
IGFyY2hpdGVjdHVyZXMsICoqa3dhcmdzKToKLSAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxm
LCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsICoqa3dhcmdz
KQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0
ZWN0dXJlcywgU1ZOTWlycm9yPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgRmFjdG9yeS5fX2lu
aXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2Us
IFNWTk1pcnJvcj1TVk5NaXJyb3IsICoqa3dhcmdzKQogICAgICAgICBpZiBwbGF0Zm9ybS5zdGFy
dHN3aXRoKCJjaHJvbWl1bSIpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENsZWFudXBDaHJv
bWl1bUNyYXNoTG9ncykKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJLaXQpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChSdW5BbmRVcGxvYWRQZXJmVGVzdHMpCiAKIGNsYXNzIEJ1aWxkQW5k
UGVyZlRlc3RXZWJLaXQyRmFjdG9yeShGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwg
cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsICoqa3dhcmdzKToKLSAgICAg
ICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0
ZWN0dXJlcywgRmFsc2UsICoqa3dhcmdzKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9y
bSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgU1ZOTWlycm9yPU5vbmUsICoqa3dhcmdz
KToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlv
biwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsIFNWTk1pcnJvcj1TVk5NaXJyb3IsICoqa3dhcmdzKQog
ICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCJjaHJvbWl1bSIpOgogICAgICAgICAgICAg
c2VsZi5hZGRTdGVwKENsZWFudXBDaHJvbWl1bUNyYXNoTG9ncykKICAgICAgICAgc2VsZi5hZGRT
dGVwKENvbXBpbGVXZWJLaXQpCiAgICAgICAgIHNlbGYuYWRkU3RlcChSdW5BbmRVcGxvYWRQZXJm
VGVzdHNXZWJLaXQyKQogCiBjbGFzcyBEb3dubG9hZEFuZFBlcmZUZXN0RmFjdG9yeShGYWN0b3J5
KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hp
dGVjdHVyZXMsICoqa3dhcmdzKToKLSAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0
Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsICoqa3dhcmdzKQorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJl
cywgU1ZOTWlycm9yPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhz
ZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsIFNWTk1p
cnJvcj1TVk5NaXJyb3IsICoqa3dhcmdzKQogICAgICAgICBzZWxmLmFkZFN0ZXAoRG93bmxvYWRC
dWlsdFByb2R1Y3QpCiAgICAgICAgIHNlbGYuYWRkU3RlcChFeHRyYWN0QnVpbHRQcm9kdWN0KQog
ICAgICAgICBzZWxmLmFkZFN0ZXAoUnVuQW5kVXBsb2FkUGVyZlRlc3RzKQogCiBjbGFzcyBEb3du
bG9hZEFuZFBlcmZUZXN0V2ViS2l0MkZhY3RvcnkoRmFjdG9yeSk6Ci0gICAgZGVmIF9faW5pdF9f
KHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCAqKmt3YXJncyk6
Ci0gICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24s
IGFyY2hpdGVjdHVyZXMsIEZhbHNlLCAqKmt3YXJncykKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIFNWTk1pcnJvcj1Ob25lLCAq
Kmt3YXJncyk6CisgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZp
Z3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCBTVk5NaXJyb3I9U1ZOTWlycm9yLCAqKmt3
YXJncykKICAgICAgICAgc2VsZi5hZGRTdGVwKERvd25sb2FkQnVpbHRQcm9kdWN0KQogICAgICAg
ICBzZWxmLmFkZFN0ZXAoRXh0cmFjdEJ1aWx0UHJvZHVjdCkKICAgICAgICAgc2VsZi5hZGRTdGVw
KFJ1bkFuZFVwbG9hZFBlcmZUZXN0c1dlYktpdDIpCkBAIC04NTgsNyArODcwLDcgQEAgZGVmIGxv
YWRCdWlsZGVyQ29uZmlnKGMpOgogCiAgICAgICAgIGZhY3RvcnkgPSBnbG9iYWxzKClbIiVzRmFj
dG9yeSIgJSBidWlsZGVyLnBvcCgndHlwZScpXQogICAgICAgICBmYWN0b3J5QXJncyA9IFtdCi0g
ICAgICAgIGZvciBrZXkgaW4gInBsYXRmb3JtIiwgImNvbmZpZ3VyYXRpb24iLCAiYXJjaGl0ZWN0
dXJlcyIsICJ0cmlnZ2VycyI6CisgICAgICAgIGZvciBrZXkgaW4gInBsYXRmb3JtIiwgImNvbmZp
Z3VyYXRpb24iLCAiYXJjaGl0ZWN0dXJlcyIsICJ0cmlnZ2VycyIsICJTVk5NaXJyb3IiOgogICAg
ICAgICAgICAgdmFsdWUgPSBidWlsZGVyLnBvcChrZXksIE5vbmUpCiAgICAgICAgICAgICBpZiB2
YWx1ZToKICAgICAgICAgICAgICAgICBmYWN0b3J5QXJncy5hcHBlbmQodmFsdWUpCmRpZmYgLS1n
aXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5IGIvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvd2FpdC1mb3ItU1ZOLXNlcnZlci5weQpuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
YWUwYzczNDE5NDNjMmY1MjUxNjgwMzQwZTU0ZjZiNmYzMWNjYmUyCi0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvd2FpdC1mb3ItU1ZOLXNlcnZlci5weQpAQCAtMCww
ICsxLDY5IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA2
IEpvaG4gUHllCisjIENvcHlyaWdodCAoQykgMjAxMiBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorIwor
IyBUaGlzIHNjcmlwdCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5v
dCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNworIyBVU0EKKworZnJv
bSBvcHRwYXJzZSBpbXBvcnQgT3B0aW9uUGFyc2VyCitpbXBvcnQgY29tbWFuZHMKK2ltcG9ydCBl
eGNlcHRpb25zCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQoraW1wb3J0IHhtbC5kb20ubWluaWRv
bQorCisKK2RlZiBnZXRMYXRlc3RTVk5SZXZpc2lvbihTVk5TZXJ2ZXIpOgorICAgIHRyeToKKyAg
ICAgICAgcmVzcG9uc2UgPSBjb21tYW5kcy5nZXRvdXRwdXQoInN2biBsb2cgLS1ub24taW50ZXJh
Y3RpdmUgLS12ZXJib3NlIC0teG1sIC0tbGltaXQ9MSAiICsgU1ZOU2VydmVyKQorICAgICAgICBk
b2MgPSB4bWwuZG9tLm1pbmlkb20ucGFyc2VTdHJpbmcocmVzcG9uc2UpCisgICAgICAgIGVsID0g
ZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsb2dlbnRyeSIpWzBdCisgICAgICAgIHJldHVybiBl
bC5nZXRBdHRyaWJ1dGUoInJldmlzaW9uIikKKyAgICBleGNlcHQgeG1sLnBhcnNlcnMuZXhwYXQu
RXhwYXRFcnJvciwgZToKKyAgICAgICAgcHJpbnQgIkZBSUxFRCBUTyBQQVJTRSAnc3ZuIGxvZycg
WE1MOiIKKyAgICAgICAgcHJpbnQgc3RyKGUpCisgICAgICAgIHByaW50ICItLS0tIgorICAgICAg
ICBwcmludCAiUkVDRUlWRUQgVEVYVDoiCisgICAgICAgIHByaW50IHJlc3BvbnNlCisgICAgICAg
IHN5cy5leGl0KDEpCisKKworZGVmIHdhaXRGb3JTVk5SZXZpc2lvbihTVk5TZXJ2ZXIsIHJldmlz
aW9uKToKKyAgICBpZiBub3QgcmV2aXNpb246CisgICAgICAgIGxhdGVzdFJldmlzaW9uID0gaW50
KGdldExhdGVzdFNWTlJldmlzaW9uKFNWTlNlcnZlcikpCisgICAgICAgIHByaW50ICJMYXRlc3Qg
U1ZOIHJldmlzaW9uIG9uICVzIGlzIHIlZC4gRG9uJ3Qgd2FpdCwgYmVjYXVzZSByZXZpc2lvbiBh
cmd1bWVudCBpcyBlbXB0eS4iICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24pCisgICAgICAg
IHJldHVybgorCisgICAgdHJ5OgorICAgICAgICByZXZpc2lvbiA9IGludChyZXZpc2lvbikKKyAg
ICBleGNlcHQgZXhjZXB0aW9ucy5WYWx1ZUVycm9yOgorICAgICAgICBwcmludCAiRVJST1I6IHJl
dmlzaW9uIGFyZ3VtZW50IGlzIGludmFsaWQ6ICIgKyByZXZpc2lvbgorICAgICAgICBzeXMuZXhp
dCgxKQorCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgbGF0ZXN0UmV2aXNpb24gPSBpbnQoZ2V0
TGF0ZXN0U1ZOUmV2aXNpb24oU1ZOU2VydmVyKSkKKyAgICAgICAgaWYgbGF0ZXN0UmV2aXNpb24g
PCByZXZpc2lvbjoKKyAgICAgICAgICAgIHByaW50ICJMYXRlc3QgU1ZOIHJldmlzaW9uIG9uICVz
IGlzIHIlZCwgYnV0IHdlIGFyZSB3YWl0aW5nIGZvciByJWQuIFNsZWVwaW5nIGZvciA1IHNlY29u
ZHMuIiAlIChTVk5TZXJ2ZXIsIGxhdGVzdFJldmlzaW9uLCByZXZpc2lvbikKKyAgICAgICAgICAg
IHRpbWUuc2xlZXAoNSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByaW50ICJMYXRlc3Qg
U1ZOIHJldmlzaW9uIG9uICVzIGlzIHIlZCwgd2hpY2ggaXMgbmV3ZXIgb3IgZXF1YWwgdGhhbiBy
JWQuIiAlIChTVk5TZXJ2ZXIsIGxhdGVzdFJldmlzaW9uLCByZXZpc2lvbikKKyAgICAgICAgICAg
IGJyZWFrCisKK3BhcnNlciA9IE9wdGlvblBhcnNlcigpCitwYXJzZXIuYWRkX29wdGlvbigiLXIi
LCAiLS1yZXZpc2lvbiIsIGRlc3Q9InJldmlzaW9uIiwgaGVscD0iU1ZOIHJldmlzaW9uIG51bWJl
ciIpCitwYXJzZXIuYWRkX29wdGlvbigiLXMiLCAiLS1zdm4tc2VydmVyIiwgZGVzdD0iU1ZOU2Vy
dmVyIiwgaGVscD0iU1ZOIHNlcnZlciIpCisob3B0aW9ucywgYXJncykgPSBwYXJzZXIucGFyc2Vf
YXJncygpCit3YWl0Rm9yU1ZOUmV2aXNpb24ob3B0aW9ucy5TVk5TZXJ2ZXIsIG9wdGlvbnMucmV2
aXNpb24pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140874</attachid>
            <date>2012-05-09 00:38:39 -0700</date>
            <delta_ts>2012-06-26 08:42:23 -0700</delta_ts>
            <desc>Add SVN mirror for Qt buildslaves</desc>
            <filename>bug-85887-20120509093837.patch</filename>
            <type>text/plain</type>
            <size>3815</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NDk5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGZkMWMyM2U4OGVkZDkzODI0ZDA0ZWQ2ZGI2OGQ3OTRk
MTY5MTZjNy4uMDgxMTUzNmZlMTcwYTE3ZjUzZTVlZjIyZjI2ODM5ZjIwMmQ5OWViNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDEyLTA1LTA5ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgQWRkIFNWTiBtaXJyb3IgaGFuZGxpbmcgZmVhdHVyZSB0byBidWlsZC53ZWJraXQu
b3JnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTg4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpzb246IEFkZCBT
Vk4gbWlycm9yIGZvciBRdCBidWlsZHNsYXZlcy4KKwogMjAxMi0wNS0wOCAgT2phbiBWYWZhaSAg
PG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNob3cgdGhlIGNocm9taXVtIG5vbi1sYXlv
dXQgdGVzdCBib3RzIGluIGdhcmRlbi1vLW1hdGljCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb25maWcuanNvbiBiL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2NvbmZpZy5qc29uCmluZGV4
IDc4ZWU5YjU4MTE5ODBiMTNjMjZhNzY1ZGZhNmZkMjJiOWU5YjA5NDMuLjAxZTY3NmIzZThlZWJm
NzE3MjdjYmI2ZjE0ZWQ1YzIxYjMwNWQzNDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2NvbmZpZy5qc29uCisrKyBiL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2NvbmZpZy5qc29uCkBAIC0x
NzgsMzUgKzE3OCw0MiBAQAogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAiUXQgTGludXggUmVsZWFzZSIsICJ0eXBlIjogIkJ1aWxkQW5kVGVzdCIs
ICJidWlsZGRpciI6ICJxdC1saW51eC1yZWxlYXNlIiwKICAgICAgICAgICAgICAgICAgICAgICAi
cGxhdGZvcm0iOiAicXQtNC44IiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRl
Y3R1cmVzIjogWyJpMzg2Il0sCisgICAgICAgICAgICAgICAgICAgICAgIlNWTk1pcnJvciI6ICJz
dm46Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAogICAgICAgICAgICAgICAgICAgICAgICJzbGF2
ZW5hbWVzIjogWyJzemVnZWQtbGludXgtMSJdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAg
ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJRdCBMaW51
eCBSZWxlYXNlIG1pbmltYWwiLCAidHlwZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC1saW51
eC1yZWxlYXNlLW1pbmltYWwiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAi
c3ZuOi8vcmFpbi5pbmYudS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxh
dGZvcm0iOiAicXQtNC44IiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRlY3R1
cmVzIjogWyJpMzg2Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6
ZWdlZC1saW51eC0yIl0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IExpbnV4IDY0LWJpdCBSZWxl
YXNlIChQZXJmKSIsICJ0eXBlIjogIkJ1aWxkQW5kUGVyZlRlc3QiLCAiYnVpbGRkaXIiOiAicXQt
bGludXgtNjQtcmVsZWFzZS1wZXJmLXRlc3RzIiwKKyAgICAgICAgICAgICAgICAgICAgICAiU1ZO
TWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2VkLmh1LyIsCiAgICAgICAgICAgICAgICAg
ICAgICAgInBsYXRmb3JtIjogInF0LTUuMC13azEiLCAiY29uZmlndXJhdGlvbiI6ICJyZWxlYXNl
IiwgImFyY2hpdGVjdHVyZXMiOiBbIng4Nl82NCJdLAogICAgICAgICAgICAgICAgICAgICAgICJz
bGF2ZW5hbWVzIjogWyJzemVnZWQtbGludXgtMyJdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJRdCBM
aW51eCA2NC1iaXQgUmVsZWFzZSAoV2ViS2l0MiBQZXJmKSIsICJ0eXBlIjogIkJ1aWxkQW5kUGVy
ZlRlc3RXZWJLaXQyIiwgImJ1aWxkZGlyIjogInF0LWxpbnV4LTY0LXJlbGVhc2Utd2syLXBlcmYt
dGVzdHMiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFpbi5p
bmYudS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAicXQt
NS4wLXdrMiIsICJjb25maWd1cmF0aW9uIjogInJlbGVhc2UiLCAiYXJjaGl0ZWN0dXJlcyI6IFsi
eDg2XzY0Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1s
aW51eC01Il0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IExpbnV4IEFSTXY3IFJlbGVhc2UiLCAi
dHlwZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC1saW51eC1hcm12Ny1yZWxlYXNlIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2Vk
Lmh1OjMzODkvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAicXQtYXJtIiwg
ImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRlY3R1cmVzIjogWyJhcm12NyJdLAog
ICAgICAgICAgICAgICAgICAgICAgICJzbGF2ZW5hbWVzIjogWyJzemVnZWQtbGludXgtNCJdCiAg
ICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAgICAgICAibmFtZSI6ICJRdCBXaW5kb3dzIDMyLWJpdCBSZWxlYXNlIiwgInR5cGUiOiAi
QnVpbGQiLCAiYnVpbGRkaXIiOiAicXQtd2luZG93cy0zMmJpdC1yZWxlYXNlIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2VkLmh1LyIs
CiAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtIjogInF0LXdpbiIsICJjb25maWd1cmF0
aW9uIjogInJlbGVhc2UiLCAiYXJjaGl0ZWN0dXJlcyI6IFsiaTM4NiJdLAogICAgICAgICAgICAg
ICAgICAgICAgICJzbGF2ZW5hbWVzIjogWyJzemVnZWQtd2luZG93cy0xIl0KICAgICAgICAgICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIlF0IFdpbmRvd3MgMzItYml0IERlYnVnIiwgInR5cGUiOiAiQnVpbGQiLCAiYnVp
bGRkaXIiOiAicXQtd2luZG93cy0zMmJpdC1kZWJ1ZyIsCisgICAgICAgICAgICAgICAgICAgICAg
IlNWTk1pcnJvciI6ICJzdm46Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAogICAgICAgICAgICAg
ICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC13aW4iLCAiY29uZmlndXJhdGlvbiI6ICJkZWJ1ZyIs
ICJhcmNoaXRlY3R1cmVzIjogWyJpMzg2Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZl
bmFtZXMiOiBbInN6ZWdlZC13aW5kb3dzLTIiXQogICAgICAgICAgICAgICAgICAgICB9LAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149537</attachid>
            <date>2012-06-26 08:42:30 -0700</date>
            <delta_ts>2012-06-27 04:40:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85887-20120626174229.patch</filename>
            <type>text/plain</type>
            <size>12775</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMjYzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjAyY2VmMTlhMjI0OTc2NDU0ZGVmZGIwZjA3NmVkMTdm
OTc2ODUzNy4uZDAxMTY1NWYyMDVmODhlNjQyYTQ4NGE2NDJhNGVkM2I3MjNjY2Q4NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMw
IEBACiAyMDEyLTA2LTI2ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAK
KyAgICAgICAgQWRkIFNWTiBtaXJyb3IgaGFuZGxpbmcgZmVhdHVyZSB0byBidWlsZC53ZWJraXQu
b3JnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTg4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZzoKKyAgICAg
ICAgKENvbmZpZ3VyZUJ1aWxkLl9faW5pdF9fKToKKyAgICAgICAgKENvbmZpZ3VyZUJ1aWxkLnN0
YXJ0KToKKyAgICAgICAgKENoZWNrT3V0U291cmNlLl9faW5pdF9fKToKKyAgICAgICAgKFdhaXRG
b3JTVk5TZXJ2ZXIpOgorICAgICAgICAoRmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWls
ZEZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoVGVzdEZhY3RvcnkuX19pbml0X18pOgorICAg
ICAgICAoQnVpbGRBbmRUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFuZFBl
cmZUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFuZFBlcmZUZXN0V2ViS2l0
MkZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdEZhY3Rvcnku
X19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5Ll9f
aW5pdF9fKToKKyAgICAgICAgKGxvYWRCdWlsZGVyQ29uZmlnKToKKyAgICAgICAgKiBCdWlsZFNs
YXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5OiBBZGRlZC4KKyAgICAgICAgKGdldExh
dGVzdFNWTlJldmlzaW9uKToKKyAgICAgICAgKHdhaXRGb3JTVk5SZXZpc2lvbik6CisKKzIwMTIt
MDYtMjYgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KKwogICAgICAgICBt
YXN0ZXIuY2ZnIGNsZWFudXA6IFBhc3MgQ2hlY2tPdXRTb3VyY2UgaW5zdGFuY2UgaW5zdGVhZCBv
ZiBjbGFzcyB0byBCdWlsZFN0ZXAuYWRkU3RlcAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMTUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZyBiL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3Rlci5jZmcKaW5kZXggOWEw
MmMzMDRjNDcwZDFiODY3OTBhY2NiM2E2YjBmOTJhOTM3N2U3OC4uYTI2MmJhMWZlZDhhZjhlN2Q1
NTExZTRhMWVlOWMwZmFjYmYwMzMwYyAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZworKysgYi9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnCkBAIC05MiwxNCAr
OTIsMTQgQEAgY2xhc3MgQ29uZmlndXJlQnVpbGQoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CiAgICAg
bmFtZSA9ICJjb25maWd1cmUgYnVpbGQiCiAgICAgZGVzY3JpcHRpb24gPSBbImNvbmZpZ3VyaW5n
IGJ1aWxkIl0KICAgICBkZXNjcmlwdGlvbkRvbmUgPSBbImNvbmZpZ3VyZWQgYnVpbGQiXQotICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJl
LCBidWlsZE9ubHksICphcmdzLCAqKmt3YXJncyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBs
YXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmUsIGJ1aWxkT25seSwgU1ZOTWlycm9y
LCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBidWlsZHN0ZXAuQnVpbGRTdGVwLl9faW5pdF9f
KHNlbGYsICphcmdzLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5wbGF0Zm9ybSA9IHBsYXRmb3Jt
LnNwbGl0KCctJywgMSlbMF0KICAgICAgICAgc2VsZi5mdWxsUGxhdGZvcm0gPSBwbGF0Zm9ybQog
ICAgICAgICBzZWxmLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uCiAgICAgICAgIHNlbGYu
YXJjaGl0ZWN0dXJlID0gYXJjaGl0ZWN0dXJlCiAgICAgICAgIHNlbGYuYnVpbGRPbmx5ID0gYnVp
bGRPbmx5Ci0gICAgICAgIHNlbGYuYWRkRmFjdG9yeUFyZ3VtZW50cyhwbGF0Zm9ybT1wbGF0Zm9y
bSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmU9YXJjaGl0ZWN0dXJl
LCBidWlsZE9ubHk9YnVpbGRPbmx5KQorICAgICAgICBzZWxmLmFkZEZhY3RvcnlBcmd1bWVudHMo
cGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0
dXJlPWFyY2hpdGVjdHVyZSwgYnVpbGRPbmx5PWJ1aWxkT25seSwgU1ZOTWlycm9yPVNWTk1pcnJv
cikKIAogICAgIGRlZiBzdGFydChzZWxmKToKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgicGxh
dGZvcm0iLCBzZWxmLnBsYXRmb3JtKQpAQCAtMTA3LDIwICsxMDcsMzEgQEAgY2xhc3MgQ29uZmln
dXJlQnVpbGQoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHko
ImNvbmZpZ3VyYXRpb24iLCBzZWxmLmNvbmZpZ3VyYXRpb24pCiAgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoImFyY2hpdGVjdHVyZSIsIHNlbGYuYXJjaGl0ZWN0dXJlKQogICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCJidWlsZE9ubHkiLCBzZWxmLmJ1aWxkT25seSkKKyAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgiU1ZOTWlycm9yIiwgc2VsZi5TVk5NaXJyb3IpCiAgICAgICAgIHNlbGYuZmluaXNo
ZWQoU1VDQ0VTUykKICAgICAgICAgcmV0dXJuIGRlZmVyLnN1Y2NlZWQoTm9uZSkKIAogCiBjbGFz
cyBDaGVja091dFNvdXJjZShzb3VyY2UuU1ZOKToKLSAgICBiYXNlVVJMID0gImh0dHA6Ly9zdm4u
d2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdC8iCiAgICAgbW9kZSA9ICJ1cGRhdGUiCi0gICAg
ZGVmIF9faW5pdF9fKHNlbGYsICoqa3dhcmdzKToKLSAgICAgICAga3dhcmdzWydiYXNlVVJMJ10g
PSBzZWxmLmJhc2VVUkwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgU1ZOTWlycm9yPU5vbmUsICoq
a3dhcmdzKToKKyAgICAgICAgaWYgU1ZOTWlycm9yIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxm
LlNWTk1pcnJvciA9ICJodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvIgor
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5TVk5NaXJyb3IgPSBTVk5NaXJyb3IKKyAg
ICAgICAga3dhcmdzWydiYXNlVVJMJ10gPSBzZWxmLlNWTk1pcnJvcgogICAgICAgICBrd2FyZ3Nb
J2RlZmF1bHRCcmFuY2gnXSA9ICJ0cnVuayIKICAgICAgICAga3dhcmdzWydtb2RlJ10gPSBzZWxm
Lm1vZGUKICAgICAgICAgc291cmNlLlNWTi5fX2luaXRfXyhzZWxmLCAqKmt3YXJncykKIAogCitj
bGFzcyBXYWl0Rm9yU1ZOU2VydmVyKHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgbmFtZSA9ICJ3
YWl0LWZvci1zdm4tc2VydmVyIgorICAgIGNvbW1hbmQgPSBbInB5dGhvbiIsICIuL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkiLCAiLXIiLCBXaXRoUHJvcGVy
dGllcygiJShyZXZpc2lvbilzIiksICItcyIsIFdpdGhQcm9wZXJ0aWVzKCIlKFNWTk1pcnJvcilz
IildCisgICAgZGVzY3JpcHRpb24gPSBbIndhaXRpbmcgZm9yIFNWTiBzZXJ2ZXIiXQorICAgIGRl
c2NyaXB0aW9uRG9uZSA9IFsiU1ZOIHNlcnZlciBpcyByZWFkeSJdCisgICAgaGFsdE9uRmFpbHVy
ZSA9IFRydWUKKwogCiBjbGFzcyBJbnN0YWxsV2luMzJEZXBlbmRlbmNpZXMoc2hlbGwuQ29tcGls
ZSk6CiAgICAgZGVzY3JpcHRpb24gPSBbImluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIl0KQEAgLTY2
NCwxMCArNjc1LDExIEBAIGNsYXNzIEV4dHJhY3RUZXN0UmVzdWx0c0FuZExlYWtzKEV4dHJhY3RU
ZXN0UmVzdWx0cyk6CiAKIAogY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6Ci0g
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1
cmVzLCBidWlsZE9ubHkpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmln
dXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5LCBTVk5NaXJyb3I9Tm9uZSk6CiAgICAg
ICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCi0gICAgICAgIHNlbGYuYWRk
U3RlcChDb25maWd1cmVCdWlsZCwgcGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29u
ZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlPSIgIi5qb2luKGFyY2hpdGVjdHVyZXMpLCBidWlsZE9u
bHk9YnVpbGRPbmx5KQotICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UoKSkKKyAg
ICAgICAgc2VsZi5hZGRTdGVwKENvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT1wbGF0Zm9ybSwgY29u
ZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmU9IiAiLmpvaW4oYXJjaGl0ZWN0
dXJlcyksIGJ1aWxkT25seT1idWlsZE9ubHksIFNWTk1pcnJvcj1Ob25lKQorICAgICAgICBzZWxm
LmFkZFN0ZXAoV2FpdEZvclNWTlNlcnZlciwgZG9TdGVwSWYgPSBib29sKFNWTk1pcnJvcikpCisg
ICAgICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZShTVk5NaXJyb3I9U1ZOTWlycm9yKSkK
ICAgICAgICAgIyBUaGVyZSBhcmUgbXVsdGlwbGUgUXQgc2xhdmVzIHJ1bm5pbmcgb24gc2FtZSBt
YWNoaW5lcywgc28gYnVpbGRzbGF2ZXMgc2hvdWxkbid0IGtpbGwgdGhlIHByb2Nlc3NlcyBvZiBv
dGhlciBzbGF2ZXMuCiAgICAgICAgIGlmIG5vdCBwbGF0Zm9ybS5zdGFydHN3aXRoKCJxdCIpOgog
ICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEtpbGxPbGRQcm9jZXNzZXMpCkBAIC02ODIsOCArNjk0
LDggQEAgY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6CiAKIAogY2xhc3MgQnVp
bGRGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29u
ZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgdHJpZ2dlcnM9Tm9uZSk6Ci0gICAgICAgIEZhY3Rv
cnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMs
IFRydWUpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBh
cmNoaXRlY3R1cmVzLCB0cmlnZ2Vycz1Ob25lLCBTVk5NaXJyb3I9Tm9uZSk6CisgICAgICAgIEZh
Y3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVy
ZXMsIFRydWUsIFNWTk1pcnJvcj1Ob25lKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdl
YktpdCkKICAgICAgICAgaWYgdHJpZ2dlcnM6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQXJj
aGl2ZUJ1aWx0UHJvZHVjdCkKQEAgLTcwMiw4ICs3MTQsOCBAQCBkZWYgcGlja0xhdGVzdEJ1aWxk
KGJ1aWxkZXIsIHJlcXVlc3RzKToKIGNsYXNzIFRlc3RGYWN0b3J5KEZhY3RvcnkpOgogICAgIFRl
c3RDbGFzcyA9IFJ1bldlYktpdFRlc3RzCiAgICAgRXh0cmFjdFRlc3RSZXN1bHRzQ2xhc3MgPSBF
eHRyYWN0VGVzdFJlc3VsdHMKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZp
Z3VyYXRpb24sIGFyY2hpdGVjdHVyZXMpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYs
IHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSkKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIFNW
Tk1pcnJvcj1Ob25lKToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwg
Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsIFNWTk1pcnJvcj1Ob25lKQogICAg
ICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCJjaHJvbWl1bSIpOgogICAgICAgICAgICAgc2Vs
Zi5hZGRTdGVwKENsZWFudXBDaHJvbWl1bUNyYXNoTG9ncykKICAgICAgICAgc2VsZi5hZGRTdGVw
KERvd25sb2FkQnVpbHRQcm9kdWN0KQpAQCAtNzMzLDggKzc0NSw4IEBAIGNsYXNzIFRlc3RGYWN0
b3J5KEZhY3RvcnkpOgogY2xhc3MgQnVpbGRBbmRUZXN0RmFjdG9yeShGYWN0b3J5KToKICAgICBU
ZXN0Q2xhc3MgPSBSdW5XZWJLaXRUZXN0cwogICAgIEV4dHJhY3RUZXN0UmVzdWx0c0NsYXNzID0g
RXh0cmFjdFRlc3RSZXN1bHRzCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25m
aWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCB0cmlnZ2Vycz1Ob25lLCAqKmt3YXJncyk6Ci0gICAg
ICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hp
dGVjdHVyZXMsIEZhbHNlLCAqKmt3YXJncykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIHRyaWdnZXJzPU5vbmUsIFNWTk1pcnJv
cj1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCBTVk5NaXJyb3I9Tm9uZSwg
Kiprd2FyZ3MpCiAgICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoImNocm9taXVtIik6CiAg
ICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW51cENocm9taXVtQ3Jhc2hMb2dzKQogICAgICAg
ICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdCkKQEAgLTc3MiwzMSArNzg0LDMxIEBAIGNsYXNz
IFRlc3RXZWJLaXQyRmFjdG9yeShUZXN0RmFjdG9yeSk6CiAgICAgVGVzdENsYXNzID0gUnVuV2Vi
S2l0MlRlc3RzCiAKIGNsYXNzIEJ1aWxkQW5kUGVyZlRlc3RGYWN0b3J5KEZhY3RvcnkpOgotICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJl
cywgKiprd2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBj
b25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5N
aXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBs
YXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yPU5v
bmUsICoqa3dhcmdzKQogICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCJjaHJvbWl1bSIp
OgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENsZWFudXBDaHJvbWl1bUNyYXNoTG9ncykKICAg
ICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJLaXQpCiAgICAgICAgIHNlbGYuYWRkU3RlcChS
dW5BbmRVcGxvYWRQZXJmVGVzdHMpCiAKIGNsYXNzIEJ1aWxkQW5kUGVyZlRlc3RXZWJLaXQyRmFj
dG9yeShGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZXMsICoqa3dhcmdzKToKLSAgICAgICAgRmFjdG9yeS5fX2luaXRf
XyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsICoq
a3dhcmdzKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwg
YXJjaGl0ZWN0dXJlcywgU1ZOTWlycm9yPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgRmFjdG9y
eS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywg
RmFsc2UsIFNWTk1pcnJvcj1Ob25lLCAqKmt3YXJncykKICAgICAgICAgaWYgcGxhdGZvcm0uc3Rh
cnRzd2l0aCgiY2hyb21pdW0iKToKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChDbGVhbnVwQ2hy
b21pdW1DcmFzaExvZ3MpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KQogICAg
ICAgICBzZWxmLmFkZFN0ZXAoUnVuQW5kVXBsb2FkUGVyZlRlc3RzV2ViS2l0MikKIAogY2xhc3Mg
RG93bmxvYWRBbmRQZXJmVGVzdEZhY3RvcnkoRmFjdG9yeSk6Ci0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCAqKmt3YXJncyk6Ci0g
ICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFy
Y2hpdGVjdHVyZXMsIEZhbHNlLCAqKmt3YXJncykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxh
dGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIFNWTk1pcnJvcj1Ob25lLCAqKmt3
YXJncyk6CisgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpCiAg
ICAgICAgIHNlbGYuYWRkU3RlcChEb3dubG9hZEJ1aWx0UHJvZHVjdCkKICAgICAgICAgc2VsZi5h
ZGRTdGVwKEV4dHJhY3RCdWlsdFByb2R1Y3QpCiAgICAgICAgIHNlbGYuYWRkU3RlcChSdW5BbmRV
cGxvYWRQZXJmVGVzdHMpCiAKIGNsYXNzIERvd25sb2FkQW5kUGVyZlRlc3RXZWJLaXQyRmFjdG9y
eShGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRp
b24sIGFyY2hpdGVjdHVyZXMsICoqa3dhcmdzKToKLSAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhz
ZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsICoqa3dh
cmdzKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJj
aGl0ZWN0dXJlcywgU1ZOTWlycm9yPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgRmFjdG9yeS5f
X2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFs
c2UsIFNWTk1pcnJvcj1Ob25lLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5hZGRTdGVwKERvd25s
b2FkQnVpbHRQcm9kdWN0KQogICAgICAgICBzZWxmLmFkZFN0ZXAoRXh0cmFjdEJ1aWx0UHJvZHVj
dCkKICAgICAgICAgc2VsZi5hZGRTdGVwKFJ1bkFuZFVwbG9hZFBlcmZUZXN0c1dlYktpdDIpCkBA
IC04NjQsNyArODc2LDcgQEAgZGVmIGxvYWRCdWlsZGVyQ29uZmlnKGMpOgogICAgICAgICBidWls
ZGVyVHlwZSA9IGJ1aWxkZXIucG9wKCd0eXBlJykKICAgICAgICAgZmFjdG9yeSA9IGdsb2JhbHMo
KVsiJXNGYWN0b3J5IiAlIGJ1aWxkZXJUeXBlXQogICAgICAgICBmYWN0b3J5QXJncyA9IFtdCi0g
ICAgICAgIGZvciBrZXkgaW4gInBsYXRmb3JtIiwgImNvbmZpZ3VyYXRpb24iLCAiYXJjaGl0ZWN0
dXJlcyIsICJ0cmlnZ2VycyI6CisgICAgICAgIGZvciBrZXkgaW4gInBsYXRmb3JtIiwgImNvbmZp
Z3VyYXRpb24iLCAiYXJjaGl0ZWN0dXJlcyIsICJ0cmlnZ2VycyIsICJTVk5NaXJyb3IiOgogICAg
ICAgICAgICAgdmFsdWUgPSBidWlsZGVyLnBvcChrZXksIE5vbmUpCiAgICAgICAgICAgICBpZiB2
YWx1ZToKICAgICAgICAgICAgICAgICBmYWN0b3J5QXJncy5hcHBlbmQodmFsdWUpCmRpZmYgLS1n
aXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5IGIvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvd2FpdC1mb3ItU1ZOLXNlcnZlci5weQpuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
YWUwYzczNDE5NDNjMmY1MjUxNjgwMzQwZTU0ZjZiNmYzMWNjYmUyCi0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvd2FpdC1mb3ItU1ZOLXNlcnZlci5weQpAQCAtMCww
ICsxLDY5IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA2
IEpvaG4gUHllCisjIENvcHlyaWdodCAoQykgMjAxMiBVbml2ZXJzaXR5IG9mIFN6ZWdlZAorIwor
IyBUaGlzIHNjcmlwdCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyMgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5v
dCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNworIyBVU0EKKworZnJv
bSBvcHRwYXJzZSBpbXBvcnQgT3B0aW9uUGFyc2VyCitpbXBvcnQgY29tbWFuZHMKK2ltcG9ydCBl
eGNlcHRpb25zCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQoraW1wb3J0IHhtbC5kb20ubWluaWRv
bQorCisKK2RlZiBnZXRMYXRlc3RTVk5SZXZpc2lvbihTVk5TZXJ2ZXIpOgorICAgIHRyeToKKyAg
ICAgICAgcmVzcG9uc2UgPSBjb21tYW5kcy5nZXRvdXRwdXQoInN2biBsb2cgLS1ub24taW50ZXJh
Y3RpdmUgLS12ZXJib3NlIC0teG1sIC0tbGltaXQ9MSAiICsgU1ZOU2VydmVyKQorICAgICAgICBk
b2MgPSB4bWwuZG9tLm1pbmlkb20ucGFyc2VTdHJpbmcocmVzcG9uc2UpCisgICAgICAgIGVsID0g
ZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsb2dlbnRyeSIpWzBdCisgICAgICAgIHJldHVybiBl
bC5nZXRBdHRyaWJ1dGUoInJldmlzaW9uIikKKyAgICBleGNlcHQgeG1sLnBhcnNlcnMuZXhwYXQu
RXhwYXRFcnJvciwgZToKKyAgICAgICAgcHJpbnQgIkZBSUxFRCBUTyBQQVJTRSAnc3ZuIGxvZycg
WE1MOiIKKyAgICAgICAgcHJpbnQgc3RyKGUpCisgICAgICAgIHByaW50ICItLS0tIgorICAgICAg
ICBwcmludCAiUkVDRUlWRUQgVEVYVDoiCisgICAgICAgIHByaW50IHJlc3BvbnNlCisgICAgICAg
IHN5cy5leGl0KDEpCisKKworZGVmIHdhaXRGb3JTVk5SZXZpc2lvbihTVk5TZXJ2ZXIsIHJldmlz
aW9uKToKKyAgICBpZiBub3QgcmV2aXNpb246CisgICAgICAgIGxhdGVzdFJldmlzaW9uID0gaW50
KGdldExhdGVzdFNWTlJldmlzaW9uKFNWTlNlcnZlcikpCisgICAgICAgIHByaW50ICJMYXRlc3Qg
U1ZOIHJldmlzaW9uIG9uICVzIGlzIHIlZC4gRG9uJ3Qgd2FpdCwgYmVjYXVzZSByZXZpc2lvbiBh
cmd1bWVudCBpcyBlbXB0eS4iICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24pCisgICAgICAg
IHJldHVybgorCisgICAgdHJ5OgorICAgICAgICByZXZpc2lvbiA9IGludChyZXZpc2lvbikKKyAg
ICBleGNlcHQgZXhjZXB0aW9ucy5WYWx1ZUVycm9yOgorICAgICAgICBwcmludCAiRVJST1I6IHJl
dmlzaW9uIGFyZ3VtZW50IGlzIGludmFsaWQ6ICIgKyByZXZpc2lvbgorICAgICAgICBzeXMuZXhp
dCgxKQorCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgbGF0ZXN0UmV2aXNpb24gPSBpbnQoZ2V0
TGF0ZXN0U1ZOUmV2aXNpb24oU1ZOU2VydmVyKSkKKyAgICAgICAgaWYgbGF0ZXN0UmV2aXNpb24g
PCByZXZpc2lvbjoKKyAgICAgICAgICAgIHByaW50ICJMYXRlc3QgU1ZOIHJldmlzaW9uIG9uICVz
IGlzIHIlZCwgYnV0IHdlIGFyZSB3YWl0aW5nIGZvciByJWQuIFNsZWVwaW5nIGZvciA1IHNlY29u
ZHMuIiAlIChTVk5TZXJ2ZXIsIGxhdGVzdFJldmlzaW9uLCByZXZpc2lvbikKKyAgICAgICAgICAg
IHRpbWUuc2xlZXAoNSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByaW50ICJMYXRlc3Qg
U1ZOIHJldmlzaW9uIG9uICVzIGlzIHIlZCwgd2hpY2ggaXMgbmV3ZXIgb3IgZXF1YWwgdGhhbiBy
JWQuIiAlIChTVk5TZXJ2ZXIsIGxhdGVzdFJldmlzaW9uLCByZXZpc2lvbikKKyAgICAgICAgICAg
IGJyZWFrCisKK3BhcnNlciA9IE9wdGlvblBhcnNlcigpCitwYXJzZXIuYWRkX29wdGlvbigiLXIi
LCAiLS1yZXZpc2lvbiIsIGRlc3Q9InJldmlzaW9uIiwgaGVscD0iU1ZOIHJldmlzaW9uIG51bWJl
ciIpCitwYXJzZXIuYWRkX29wdGlvbigiLXMiLCAiLS1zdm4tc2VydmVyIiwgZGVzdD0iU1ZOU2Vy
dmVyIiwgaGVscD0iU1ZOIHNlcnZlciIpCisob3B0aW9ucywgYXJncykgPSBwYXJzZXIucGFyc2Vf
YXJncygpCit3YWl0Rm9yU1ZOUmV2aXNpb24ob3B0aW9ucy5TVk5TZXJ2ZXIsIG9wdGlvbnMucmV2
aXNpb24pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149753</attachid>
            <date>2012-06-27 08:35:09 -0700</date>
            <delta_ts>2012-06-28 06:52:41 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>18641</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29u
ZmlnL2NvbmZpZy5qc29uIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvY29uZmlnLmpzb24KaW5kZXggYzMwZWUzZS4uZGI1NjQ4MyAxMDA2NDQKLS0tIGEv
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpz
b24KKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcv
Y29uZmlnLmpzb24KQEAgLTE1NiwzNSArMTU2LDQyIEBACiAgICAgICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJRdCBMaW51eCBSZWxlYXNlIiwgInR5cGUi
OiAiQnVpbGRBbmRUZXN0IiwgImJ1aWxkZGlyIjogInF0LWxpbnV4LXJlbGVhc2UiLAogICAgICAg
ICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC00LjgiLCAiY29uZmlndXJhdGlvbiI6ICJy
ZWxlYXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2VkLmh1LyIsCiAgICAgICAgICAg
ICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1saW51eC0xIl0KICAgICAgICAgICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIlF0IExpbnV4IFJlbGVhc2UgbWluaW1hbCIsICJ0eXBlIjogIkJ1aWxkIiwgImJ1
aWxkZGlyIjogInF0LWxpbnV4LXJlbGVhc2UtbWluaW1hbCIsCisgICAgICAgICAgICAgICAgICAg
ICAgIlNWTk1pcnJvciI6ICJzdm46Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAogICAgICAgICAg
ICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC00LjgiLCAiY29uZmlndXJhdGlvbiI6ICJyZWxl
YXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwKICAgICAgICAgICAgICAgICAgICAgICAi
c2xhdmVuYW1lcyI6IFsic3plZ2VkLWxpbnV4LTIiXQogICAgICAgICAgICAgICAgICAgICB9LAog
ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUXQg
TGludXggNjQtYml0IFJlbGVhc2UgKFBlcmYpIiwgInR5cGUiOiAiQnVpbGRBbmRQZXJmVGVzdCIs
ICJidWlsZGRpciI6ICJxdC1saW51eC02NC1yZWxlYXNlLXBlcmYtdGVzdHMiLAorICAgICAgICAg
ICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFpbi5pbmYudS1zemVnZWQuaHUvIiwK
ICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAicXQtNS4wLXdrMSIsICJjb25maWd1
cmF0aW9uIjogInJlbGVhc2UiLCAiYXJjaGl0ZWN0dXJlcyI6IFsieDg2XzY0Il0sCiAgICAgICAg
ICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1saW51eC0zIl0KICAgICAgICAg
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogIlF0IExpbnV4IDY0LWJpdCBSZWxlYXNlIChXZWJLaXQyIFBlcmYpIiwgInR5
cGUiOiAiQnVpbGRBbmRQZXJmVGVzdFdlYktpdDIiLCAiYnVpbGRkaXIiOiAicXQtbGludXgtNjQt
cmVsZWFzZS13azItcGVyZi10ZXN0cyIsCisgICAgICAgICAgICAgICAgICAgICAgIlNWTk1pcnJv
ciI6ICJzdm46Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAogICAgICAgICAgICAgICAgICAgICAg
ICJwbGF0Zm9ybSI6ICJxdC01LjAtd2syIiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJh
cmNoaXRlY3R1cmVzIjogWyJ4ODZfNjQiXSwKICAgICAgICAgICAgICAgICAgICAgICAic2xhdmVu
YW1lcyI6IFsic3plZ2VkLWxpbnV4LTUiXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUXQgTGludXgg
QVJNdjcgUmVsZWFzZSIsICJ0eXBlIjogIkJ1aWxkIiwgImJ1aWxkZGlyIjogInF0LWxpbnV4LWFy
bXY3LXJlbGVhc2UiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8v
cmFpbi5pbmYudS1zemVnZWQuaHU6MzM4OS8iLAogICAgICAgICAgICAgICAgICAgICAgICJwbGF0
Zm9ybSI6ICJxdC1hcm0iLCAiY29uZmlndXJhdGlvbiI6ICJyZWxlYXNlIiwgImFyY2hpdGVjdHVy
ZXMiOiBbImFybXY3Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6
ZWdlZC1saW51eC00Il0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IFdpbmRvd3MgMzItYml0IFJl
bGVhc2UiLCAidHlwZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC13aW5kb3dzLTMyYml0LXJl
bGVhc2UiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFpbi5p
bmYudS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAicXQt
d2luIiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRlY3R1cmVzIjogWyJpMzg2
Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC13aW5kb3dz
LTEiXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUXQgV2luZG93cyAzMi1iaXQgRGVidWciLCAidHlw
ZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC13aW5kb3dzLTMyYml0LWRlYnVnIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2VkLmh1
LyIsCiAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtIjogInF0LXdpbiIsICJjb25maWd1
cmF0aW9uIjogImRlYnVnIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwKICAgICAgICAgICAg
ICAgICAgICAgICAic2xhdmVuYW1lcyI6IFsic3plZ2VkLXdpbmRvd3MtMiJdCiAgICAgICAgICAg
ICAgICAgICAgIH0sCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53
ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZwppbmRleCA4ZGRmZDNmLi40YzYzNjM0IDEw
MDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9tYXN0ZXIuY2ZnCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL21hc3Rlci5jZmcKQEAgLTkzLDE0ICs5MywxNSBAQCBjbGFzcyBDb25maWd1cmVC
dWlsZChidWlsZHN0ZXAuQnVpbGRTdGVwKToKICAgICBuYW1lID0gImNvbmZpZ3VyZSBidWlsZCIK
ICAgICBkZXNjcmlwdGlvbiA9IFsiY29uZmlndXJpbmcgYnVpbGQiXQogICAgIGRlc2NyaXB0aW9u
RG9uZSA9IFsiY29uZmlndXJlZCBidWlsZCJdCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmUsIGJ1aWxkT25seSwgKmFyZ3MsICoqa3dh
cmdzKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFy
Y2hpdGVjdHVyZSwgYnVpbGRPbmx5LCBTVk5NaXJyb3IsICphcmdzLCAqKmt3YXJncyk6CiAgICAg
ICAgIGJ1aWxkc3RlcC5CdWlsZFN0ZXAuX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQog
ICAgICAgICBzZWxmLnBsYXRmb3JtID0gcGxhdGZvcm0uc3BsaXQoJy0nLCAxKVswXQogICAgICAg
ICBzZWxmLmZ1bGxQbGF0Zm9ybSA9IHBsYXRmb3JtCiAgICAgICAgIHNlbGYuY29uZmlndXJhdGlv
biA9IGNvbmZpZ3VyYXRpb24KICAgICAgICAgc2VsZi5hcmNoaXRlY3R1cmUgPSBhcmNoaXRlY3R1
cmUKICAgICAgICAgc2VsZi5idWlsZE9ubHkgPSBidWlsZE9ubHkKLSAgICAgICAgc2VsZi5hZGRG
YWN0b3J5QXJndW1lbnRzKHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZT1hcmNoaXRlY3R1cmUsIGJ1aWxkT25seT1idWlsZE9ubHkpCisg
ICAgICAgIHNlbGYuU1ZOTWlycm9yID0gU1ZOTWlycm9yCisgICAgICAgIHNlbGYuYWRkRmFjdG9y
eUFyZ3VtZW50cyhwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmU9YXJjaGl0ZWN0dXJlLCBidWlsZE9ubHk9YnVpbGRPbmx5LCBTVk5NaXJy
b3IgPSBTVk5NaXJyb3IpCiAKICAgICBkZWYgc3RhcnQoc2VsZik6CiAgICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoInBsYXRmb3JtIiwgc2VsZi5wbGF0Zm9ybSkKQEAgLTEwOCwyMCArMTA5LDI4IEBA
IGNsYXNzIENvbmZpZ3VyZUJ1aWxkKGJ1aWxkc3RlcC5CdWlsZFN0ZXApOgogICAgICAgICBzZWxm
LnNldFByb3BlcnR5KCJjb25maWd1cmF0aW9uIiwgc2VsZi5jb25maWd1cmF0aW9uKQogICAgICAg
ICBzZWxmLnNldFByb3BlcnR5KCJhcmNoaXRlY3R1cmUiLCBzZWxmLmFyY2hpdGVjdHVyZSkKICAg
ICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgiYnVpbGRPbmx5Iiwgc2VsZi5idWlsZE9ubHkpCisgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoIlNWTk1pcnJvciIsIHNlbGYuU1ZOTWlycm9yKQogICAgICAg
ICBzZWxmLmZpbmlzaGVkKFNVQ0NFU1MpCiAgICAgICAgIHJldHVybiBkZWZlci5zdWNjZWVkKE5v
bmUpCiAKIAogY2xhc3MgQ2hlY2tPdXRTb3VyY2UoU1ZOKToKLSAgICBiYXNlVVJMID0gImh0dHA6
Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdC8iCiAgICAgbW9kZSA9ICJpbmNyZW1l
bnRhbCIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgKiprd2FyZ3MpOgotICAgICAgICBrd2FyZ3Nb
J2Jhc2VVUkwnXSA9IHNlbGYuYmFzZVVSTAorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBTVk5NaXJy
b3IsICoqa3dhcmdzKToKKyAgICAgICAga3dhcmdzWydiYXNlVVJMJ10gPSBTVk5NaXJyb3Igb3Ig
Imh0dHA6Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdC8iCiAgICAgICAgIGt3YXJn
c1snZGVmYXVsdEJyYW5jaCddID0gInRydW5rIgogICAgICAgICBrd2FyZ3NbJ21vZGUnXSA9IHNl
bGYubW9kZQogICAgICAgICBTVk4uX19pbml0X18oc2VsZiwgKiprd2FyZ3MpCisgICAgICAgIHNl
bGYuYWRkRmFjdG9yeUFyZ3VtZW50cyhTVk5NaXJyb3I9U1ZOTWlycm9yKQogCiAKK2NsYXNzIFdh
aXRGb3JTVk5TZXJ2ZXIoc2hlbGwuU2hlbGxDb21tYW5kKToKKyAgICBuYW1lID0gIndhaXQtZm9y
LXN2bi1zZXJ2ZXIiCisgICAgY29tbWFuZCA9IFsicHl0aG9uIiwgIi4vVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvd2FpdC1mb3ItU1ZOLXNlcnZlci5weSIsICItciIsIFdpdGhQcm9wZXJ0aWVzKCIl
KHJldmlzaW9uKXMiKSwgIi1zIiwgV2l0aFByb3BlcnRpZXMoIiUoU1ZOTWlycm9yKXMiKV0KKyAg
ICBkZXNjcmlwdGlvbiA9IFsid2FpdGluZyBmb3IgU1ZOIHNlcnZlciJdCisgICAgZGVzY3JpcHRp
b25Eb25lID0gWyJTVk4gc2VydmVyIGlzIHJlYWR5Il0KKyAgICBoYWx0T25GYWlsdXJlID0gVHJ1
ZQorCiAKIGNsYXNzIEluc3RhbGxXaW4zMkRlcGVuZGVuY2llcyhzaGVsbC5Db21waWxlKToKICAg
ICBkZXNjcmlwdGlvbiA9IFsiaW5zdGFsbGluZyBkZXBlbmRlbmNpZXMiXQpAQCAtNjcwLDEwICs2
NzksMTEgQEAgY2xhc3MgRXh0cmFjdFRlc3RSZXN1bHRzQW5kTGVha3MoRXh0cmFjdFRlc3RSZXN1
bHRzKToKIAogCiBjbGFzcyBGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKLSAgICBkZWYg
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIGJ1
aWxkT25seSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzLCBidWlsZE9ubHksIFNWTk1pcnJvcik6CiAgICAgICAgIGZhY3Rvcnku
QnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCi0gICAgICAgIHNlbGYuYWRkU3RlcChDb25maWd1
cmVCdWlsZCwgcGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwg
YXJjaGl0ZWN0dXJlPSIgIi5qb2luKGFyY2hpdGVjdHVyZXMpLCBidWlsZE9ubHk9YnVpbGRPbmx5
KQotICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UoKSkKKyAgICAgICAgc2VsZi5h
ZGRTdGVwKENvbmZpZ3VyZUJ1aWxkLCBwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1j
b25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmU9IiAiLmpvaW4oYXJjaGl0ZWN0dXJlcyksIGJ1aWxk
T25seT1idWlsZE9ubHksIFNWTk1pcnJvcj1TVk5NaXJyb3IpCisgICAgICAgIHNlbGYuYWRkU3Rl
cChXYWl0Rm9yU1ZOU2VydmVyLCBkb1N0ZXBJZiA9IGJvb2woU1ZOTWlycm9yKSwgaGlkZVN0ZXBJ
ZiA9IGJvb2woU1ZOTWlycm9yKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNl
KFNWTk1pcnJvcj1TVk5NaXJyb3IpKQogICAgICAgICAjIFRoZXJlIGFyZSBtdWx0aXBsZSBRdCBz
bGF2ZXMgcnVubmluZyBvbiBzYW1lIG1hY2hpbmVzLCBzbyBidWlsZHNsYXZlcyBzaG91bGRuJ3Qg
a2lsbCB0aGUgcHJvY2Vzc2VzIG9mIG90aGVyIHNsYXZlcy4KICAgICAgICAgaWYgbm90IHBsYXRm
b3JtLnN0YXJ0c3dpdGgoInF0Iik6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoS2lsbE9sZFBy
b2Nlc3NlcykKQEAgLTY4OCw4ICs2OTgsOCBAQCBjbGFzcyBGYWN0b3J5KGZhY3RvcnkuQnVpbGRG
YWN0b3J5KToKIAogCiBjbGFzcyBCdWlsZEZhY3RvcnkoRmFjdG9yeSk6Ci0gICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCB0cmlnZ2Vy
cz1Ob25lKToKLSAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmln
dXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgVHJ1ZSkKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxh
dGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIHRyaWdnZXJzPU5vbmUsIFNWTk1p
cnJvcj1Ob25lKToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29u
ZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgVHJ1ZSwgU1ZOTWlycm9yKQogICAgICAgICBzZWxm
LmFkZFN0ZXAoQ29tcGlsZVdlYktpdCkKICAgICAgICAgaWYgdHJpZ2dlcnM6CiAgICAgICAgICAg
ICBzZWxmLmFkZFN0ZXAoQXJjaGl2ZUJ1aWx0UHJvZHVjdCkKQEAgLTcwOCw4ICs3MTgsOCBAQCBk
ZWYgcGlja0xhdGVzdEJ1aWxkKGJ1aWxkZXIsIHJlcXVlc3RzKToKIGNsYXNzIFRlc3RGYWN0b3J5
KEZhY3RvcnkpOgogICAgIFRlc3RDbGFzcyA9IFJ1bldlYktpdFRlc3RzCiAgICAgRXh0cmFjdFRl
c3RSZXN1bHRzQ2xhc3MgPSBFeHRyYWN0VGVzdFJlc3VsdHMKLSAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMpOgotICAgICAgICBGYWN0
b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVz
LCBGYWxzZSkKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24s
IGFyY2hpdGVjdHVyZXMsIFNWTk1pcnJvcj1Ob25lKToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRf
XyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsIFNW
Tk1pcnJvcikKICAgICAgICAgaWYgcGxhdGZvcm0uc3RhcnRzd2l0aCgiY2hyb21pdW0iKToKICAg
ICAgICAgICAgIHNlbGYuYWRkU3RlcChDbGVhbnVwQ2hyb21pdW1DcmFzaExvZ3MpCiAgICAgICAg
IHNlbGYuYWRkU3RlcChEb3dubG9hZEJ1aWx0UHJvZHVjdCkKQEAgLTczOSw4ICs3NDksOCBAQCBj
bGFzcyBUZXN0RmFjdG9yeShGYWN0b3J5KToKIGNsYXNzIEJ1aWxkQW5kVGVzdEZhY3RvcnkoRmFj
dG9yeSk6CiAgICAgVGVzdENsYXNzID0gUnVuV2ViS2l0VGVzdHMKICAgICBFeHRyYWN0VGVzdFJl
c3VsdHNDbGFzcyA9IEV4dHJhY3RUZXN0UmVzdWx0cwotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBw
bGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgdHJpZ2dlcnM9Tm9uZSwgKipr
d2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1
cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCB0cmlnZ2Vycz1O
b25lLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9f
KHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZO
TWlycm9yLCAqKmt3YXJncykKICAgICAgICAgaWYgcGxhdGZvcm0uc3RhcnRzd2l0aCgiY2hyb21p
dW0iKToKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChDbGVhbnVwQ2hyb21pdW1DcmFzaExvZ3Mp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KQpAQCAtNzc4LDMxICs3ODgsMzEg
QEAgY2xhc3MgVGVzdFdlYktpdDJGYWN0b3J5KFRlc3RGYWN0b3J5KToKICAgICBUZXN0Q2xhc3Mg
PSBSdW5XZWJLaXQyVGVzdHMKIAogY2xhc3MgQnVpbGRBbmRQZXJmVGVzdEZhY3RvcnkoRmFjdG9y
eSk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNo
aXRlY3R1cmVzLCAqKmt3YXJncyk6Ci0gICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxh
dGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCAqKmt3YXJncykKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVy
ZXMsIFNWTk1pcnJvcj1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIEZhY3RvcnkuX19pbml0X18o
c2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCBTVk5N
aXJyb3IsICoqa3dhcmdzKQogICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCJjaHJvbWl1
bSIpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENsZWFudXBDaHJvbWl1bUNyYXNoTG9ncykK
ICAgICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJLaXQpCiAgICAgICAgIHNlbGYuYWRkU3Rl
cChSdW5BbmRVcGxvYWRQZXJmVGVzdHMpCiAKIGNsYXNzIEJ1aWxkQW5kUGVyZlRlc3RXZWJLaXQy
RmFjdG9yeShGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZp
Z3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsICoqa3dhcmdzKToKLSAgICAgICAgRmFjdG9yeS5fX2lu
aXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2Us
ICoqa3dhcmdzKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlv
biwgYXJjaGl0ZWN0dXJlcywgU1ZOTWlycm9yPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgRmFj
dG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJl
cywgRmFsc2UsIFNWTk1pcnJvciwgKiprd2FyZ3MpCiAgICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0
c3dpdGgoImNocm9taXVtIik6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW51cENocm9t
aXVtQ3Jhc2hMb2dzKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdCkKICAgICAg
ICAgc2VsZi5hZGRTdGVwKFJ1bkFuZFVwbG9hZFBlcmZUZXN0c1dlYktpdDIpCiAKIGNsYXNzIERv
d25sb2FkQW5kUGVyZlRlc3RGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAg
ICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNo
aXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2Fy
Z3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0
aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3YXJncykKICAgICAgICAg
c2VsZi5hZGRTdGVwKERvd25sb2FkQnVpbHRQcm9kdWN0KQogICAgICAgICBzZWxmLmFkZFN0ZXAo
RXh0cmFjdEJ1aWx0UHJvZHVjdCkKICAgICAgICAgc2VsZi5hZGRTdGVwKFJ1bkFuZFVwbG9hZFBl
cmZUZXN0cykKIAogY2xhc3MgRG93bmxvYWRBbmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5KEZhY3Rv
cnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJj
aGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBs
YXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1
cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9f
KHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZO
TWlycm9yLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5hZGRTdGVwKERvd25sb2FkQnVpbHRQcm9k
dWN0KQogICAgICAgICBzZWxmLmFkZFN0ZXAoRXh0cmFjdEJ1aWx0UHJvZHVjdCkKICAgICAgICAg
c2VsZi5hZGRTdGVwKFJ1bkFuZFVwbG9hZFBlcmZUZXN0c1dlYktpdDIpCkBAIC04NjksMTMgKzg3
OSwxMyBAQCBkZWYgbG9hZEJ1aWxkZXJDb25maWcoYyk6CiAKICAgICAgICAgYnVpbGRlclR5cGUg
PSBidWlsZGVyLnBvcCgndHlwZScpCiAgICAgICAgIGZhY3RvcnkgPSBnbG9iYWxzKClbIiVzRmFj
dG9yeSIgJSBidWlsZGVyVHlwZV0KLSAgICAgICAgZmFjdG9yeUFyZ3MgPSBbXQotICAgICAgICBm
b3Iga2V5IGluICJwbGF0Zm9ybSIsICJjb25maWd1cmF0aW9uIiwgImFyY2hpdGVjdHVyZXMiLCAi
dHJpZ2dlcnMiOgorICAgICAgICBmYWN0b3J5a3dhcmdzID0ge30KKyAgICAgICAgZm9yIGtleSBp
biAicGxhdGZvcm0iLCAiY29uZmlndXJhdGlvbiIsICJhcmNoaXRlY3R1cmVzIiwgInRyaWdnZXJz
IiwgIlNWTk1pcnJvciI6CiAgICAgICAgICAgICB2YWx1ZSA9IGJ1aWxkZXIucG9wKGtleSwgTm9u
ZSkKICAgICAgICAgICAgIGlmIHZhbHVlOgotICAgICAgICAgICAgICAgIGZhY3RvcnlBcmdzLmFw
cGVuZCh2YWx1ZSkKKyAgICAgICAgICAgICAgICBmYWN0b3J5a3dhcmdzW2tleV0gPSB2YWx1ZQog
Ci0gICAgICAgIGJ1aWxkZXJbImZhY3RvcnkiXSA9IGZhY3RvcnkoKmZhY3RvcnlBcmdzKQorICAg
ICAgICBidWlsZGVyWyJmYWN0b3J5Il0gPSBmYWN0b3J5KCoqZmFjdG9yeWt3YXJncykKIAogICAg
ICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCdjaHJvbWl1bScpOgogICAgICAgICAgICAgYnVp
bGRlclsiY2F0ZWdvcnkiXSA9ICdDaHJvbWl1bScKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weSBi
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3RlcmNm
Z191bml0dGVzdC5weQppbmRleCA4MTNmZjIyLi41ODllNzRmIDEwMDc1NQotLS0gYS9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXJjZmdfdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvbWFzdGVyY2ZnX3VuaXR0ZXN0LnB5CkBAIC0zMjgsNiArMzI4LDI2IEBAIFRlc3RzIHRoYXQg
dGltZWQgb3V0OgogIiIiKQogCiAKK2NsYXNzIFNWTk1pcnJvclRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5jb25maWcgPSBqc29uLmxv
YWQob3BlbignY29uZmlnLmpzb24nKSkKKworICAgIGRlZiBnZXRfU1ZOTWlycm9yRnJvbUNvbmZp
ZyhzZWxmLCBidWlsZGVyTmFtZSk6CisgICAgICAgIFNWTk1pcnJvciA9IE5vbmUKKyAgICAgICAg
Zm9yIGJ1aWxkZXIgaW4gc2VsZi5jb25maWdbJ2J1aWxkZXJzJ106CisgICAgICAgICAgICBpZiBi
dWlsZGVyWyduYW1lJ10gPT0gYnVpbGRlck5hbWU6CisgICAgICAgICAgICAgICAgU1ZOTWlycm9y
ID0gYnVpbGRlci5wb3AoJ1NWTk1pcnJvcicsICdodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3Np
dG9yeS93ZWJraXQvJykKKyAgICAgICAgcmV0dXJuIFNWTk1pcnJvcgorCisgICAgIyBDb21wYXJl
IENoZWNrT3V0U291cmNlLmJhc2VVUkwgd2l0aCBTVk5NaXJyb3IgKG9yIHdpdGggdGhlIGRlZmF1
bHQgVVJMKSBpbiBjb25maWcuanNvbiBmb3IgYWxsIGJ1aWxkZXJzCisgICAgZGVmIHRlc3RfQ2hl
Y2tPdXRTb3VyY2Uoc2VsZik6CisgICAgICAgIGZvciBidWlsZGVyIGluIGNbJ2J1aWxkZXJzJ106
CisgICAgICAgICAgICBmb3IgYnVpbGRTdGVwRmFjdG9yeSwga3dhcmdzIGluIGJ1aWxkZXJbJ2Zh
Y3RvcnknXS5zdGVwczoKKyAgICAgICAgICAgICAgICBpZiBzdHIoYnVpbGRTdGVwRmFjdG9yeSku
c3BsaXQoJy4nKVstMV0gPT0gJ0NoZWNrT3V0U291cmNlJzoKKyAgICAgICAgICAgICAgICAgICAg
Q2hlY2tPdXRTb3VyY2VJbnN0YW5jZSA9IGJ1aWxkU3RlcEZhY3RvcnkoKiprd2FyZ3MpCisgICAg
ICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKENoZWNrT3V0U291cmNlSW5zdGFuY2Uu
YmFzZVVSTCwgc2VsZi5nZXRfU1ZOTWlycm9yRnJvbUNvbmZpZyhidWlsZGVyWyduYW1lJ10pKQor
CisKIGNsYXNzIEJ1aWxkU3RlcHNDb25zdHJ1Y3RvclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICMgIlBhc3NpbmcgYSBCdWlsZFN0ZXAgc3ViY2xhc3MgdG8gZmFjdG9yeS5hZGRTdGVwIGlz
IGRlcHJlY2F0ZWQuIFBsZWFzZSBwYXNzIGEgQnVpbGRTdGVwIGluc3RhbmNlIGluc3RlYWQuICBT
dXBwb3J0IHdpbGwgYmUgZHJvcHBlZCBpbiB2MC44LjcuIgogICAgICMgSXQgY2hlY2tzIGlmIGFs
bCBidWlsZGVyJ3MgYWxsIGJ1aWxkc3RlcHMgY2FuIGJlIGluc2FudGlhdGVkIGFmdGVyIG1pZ3Jh
dGlvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L3dhaXQtZm9yLVNWTi1z
ZXJ2ZXIucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZhZTBjNzMKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5CkBA
IC0wLDAgKzEsNjkgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgKEMp
IDIwMDYgSm9obiBQeWUKKyMgQ29weXJpZ2h0IChDKSAyMDEyIFVuaXZlcnNpdHkgb2YgU3plZ2Vk
CisjCisjIFRoaXMgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIyB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisjIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1
OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3CisjIFVTQQor
Citmcm9tIG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIKK2ltcG9ydCBjb21tYW5kcworaW1w
b3J0IGV4Y2VwdGlvbnMKK2ltcG9ydCBzeXMKK2ltcG9ydCB0aW1lCitpbXBvcnQgeG1sLmRvbS5t
aW5pZG9tCisKKworZGVmIGdldExhdGVzdFNWTlJldmlzaW9uKFNWTlNlcnZlcik6CisgICAgdHJ5
OgorICAgICAgICByZXNwb25zZSA9IGNvbW1hbmRzLmdldG91dHB1dCgic3ZuIGxvZyAtLW5vbi1p
bnRlcmFjdGl2ZSAtLXZlcmJvc2UgLS14bWwgLS1saW1pdD0xICIgKyBTVk5TZXJ2ZXIpCisgICAg
ICAgIGRvYyA9IHhtbC5kb20ubWluaWRvbS5wYXJzZVN0cmluZyhyZXNwb25zZSkKKyAgICAgICAg
ZWwgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxvZ2VudHJ5IilbMF0KKyAgICAgICAgcmV0
dXJuIGVsLmdldEF0dHJpYnV0ZSgicmV2aXNpb24iKQorICAgIGV4Y2VwdCB4bWwucGFyc2Vycy5l
eHBhdC5FeHBhdEVycm9yLCBlOgorICAgICAgICBwcmludCAiRkFJTEVEIFRPIFBBUlNFICdzdm4g
bG9nJyBYTUw6IgorICAgICAgICBwcmludCBzdHIoZSkKKyAgICAgICAgcHJpbnQgIi0tLS0iCisg
ICAgICAgIHByaW50ICJSRUNFSVZFRCBURVhUOiIKKyAgICAgICAgcHJpbnQgcmVzcG9uc2UKKyAg
ICAgICAgc3lzLmV4aXQoMSkKKworCitkZWYgd2FpdEZvclNWTlJldmlzaW9uKFNWTlNlcnZlciwg
cmV2aXNpb24pOgorICAgIGlmIG5vdCByZXZpc2lvbjoKKyAgICAgICAgbGF0ZXN0UmV2aXNpb24g
PSBpbnQoZ2V0TGF0ZXN0U1ZOUmV2aXNpb24oU1ZOU2VydmVyKSkKKyAgICAgICAgcHJpbnQgIkxh
dGVzdCBTVk4gcmV2aXNpb24gb24gJXMgaXMgciVkLiBEb24ndCB3YWl0LCBiZWNhdXNlIHJldmlz
aW9uIGFyZ3VtZW50IGlzIGVtcHR5LiIgJSAoU1ZOU2VydmVyLCBsYXRlc3RSZXZpc2lvbikKKyAg
ICAgICAgcmV0dXJuCisKKyAgICB0cnk6CisgICAgICAgIHJldmlzaW9uID0gaW50KHJldmlzaW9u
KQorICAgIGV4Y2VwdCBleGNlcHRpb25zLlZhbHVlRXJyb3I6CisgICAgICAgIHByaW50ICJFUlJP
UjogcmV2aXNpb24gYXJndW1lbnQgaXMgaW52YWxpZDogIiArIHJldmlzaW9uCisgICAgICAgIHN5
cy5leGl0KDEpCisKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICBsYXRlc3RSZXZpc2lvbiA9IGlu
dChnZXRMYXRlc3RTVk5SZXZpc2lvbihTVk5TZXJ2ZXIpKQorICAgICAgICBpZiBsYXRlc3RSZXZp
c2lvbiA8IHJldmlzaW9uOgorICAgICAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNpb24g
b24gJXMgaXMgciVkLCBidXQgd2UgYXJlIHdhaXRpbmcgZm9yIHIlZC4gU2xlZXBpbmcgZm9yIDUg
c2Vjb25kcy4iICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQorICAgICAg
ICAgICAgdGltZS5zbGVlcCg1KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJpbnQgIkxh
dGVzdCBTVk4gcmV2aXNpb24gb24gJXMgaXMgciVkLCB3aGljaCBpcyBuZXdlciBvciBlcXVhbCB0
aGFuIHIlZC4iICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQorICAgICAg
ICAgICAgYnJlYWsKKworcGFyc2VyID0gT3B0aW9uUGFyc2VyKCkKK3BhcnNlci5hZGRfb3B0aW9u
KCItciIsICItLXJldmlzaW9uIiwgZGVzdD0icmV2aXNpb24iLCBoZWxwPSJTVk4gcmV2aXNpb24g
bnVtYmVyIikKK3BhcnNlci5hZGRfb3B0aW9uKCItcyIsICItLXN2bi1zZXJ2ZXIiLCBkZXN0PSJT
Vk5TZXJ2ZXIiLCBoZWxwPSJTVk4gc2VydmVyIikKKyhvcHRpb25zLCBhcmdzKSA9IHBhcnNlci5w
YXJzZV9hcmdzKCkKK3dhaXRGb3JTVk5SZXZpc2lvbihvcHRpb25zLlNWTlNlcnZlciwgb3B0aW9u
cy5yZXZpc2lvbikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA4M2JkZmNhLi4wMzAzY2JiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzcgQEAKIDIwMTItMDYtMjcgIENzYWJhIE9z
enRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAorICAgICAgICBBZGQgU1ZOIG1pcnJvciBo
YW5kbGluZyBmZWF0dXJlIHRvIGJ1aWxkLndlYmtpdC5vcmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1ODg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9jb25maWcuanNvbjogQWRkIFNWTiBtaXJyb3JzIGZvciBRdCBidWlsZHNs
YXZlcyBob3N0ZWQgaW4gU3plZ2VkLgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxk
LndlYmtpdC5vcmctY29uZmlnL21hc3Rlci5jZmc6CisgICAgICAgIChDb25maWd1cmVCdWlsZC5f
X2luaXRfXyk6IEFkZCBTVk5NaXJyb3IgcHJvcGVydHkgdG8gYmUgYWJsZSB0byB3YXRjaCB3aGlj
aCBzbGF2ZXMgdXNlIHdoaWNoIG1pcnJvciBvbiBidWlsZC53ZWJraXQub3JnLgorICAgICAgICAo
Q29uZmlndXJlQnVpbGQuc3RhcnQpOgorICAgICAgICAoQ2hlY2tPdXRTb3VyY2UuX19pbml0X18p
OiBTZXQgYmFzZVVSTCB0byB0aGUgU1ZOTWlycm9yIG9yIHRoZSBkZWZhdWx0IGh0dHA6Ly9zdm4u
d2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdC8KKyAgICAgICAgKFdhaXRGb3JTVk5TZXJ2ZXIp
OiBBZGQgbmV3IGJ1aWxkc3RlcCBmb3Igd2FpdGluZyB0aGUgU1ZOTWlycm9yIHRvIGJlIGluIHN5
bmMgd2l0aCBodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvCisgICAgICAg
IChGYWN0b3J5Ll9faW5pdF9fKToKKyAgICAgICAgKEJ1aWxkRmFjdG9yeS5fX2luaXRfXyk6Cisg
ICAgICAgIChUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFuZFRlc3RGYWN0
b3J5Ll9faW5pdF9fKToKKyAgICAgICAgKEJ1aWxkQW5kUGVyZlRlc3RGYWN0b3J5Ll9faW5pdF9f
KToKKyAgICAgICAgKEJ1aWxkQW5kUGVyZlRlc3RXZWJLaXQyRmFjdG9yeS5fX2luaXRfXyk6Cisg
ICAgICAgIChEb3dubG9hZEFuZFBlcmZUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChE
b3dubG9hZEFuZFBlcmZUZXN0V2ViS2l0MkZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAobG9h
ZEJ1aWxkZXJDb25maWcpOiBVc2Uga3dhcmdzIGluc3RlYWQgb2YgYXJncyB0byBiZSBhYmxlIHRv
IGFkZCB0aGUgb3B0aW9uYWwgU1ZOTWlycm9yIGZhY3RvcnkgYXJndW1lbnQuCisgICAgICAgICog
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyY2ZnX3VuaXR0
ZXN0LnB5OgorICAgICAgICAoU1ZOTWlycm9yVGVzdCk6CisgICAgICAgIChTVk5NaXJyb3JUZXN0
LnNldFVwKTogTG9hZCBjb25maWcuanNvbiBvbmNlIGF0IHN0YXJ0dXAuCisgICAgICAgIChTVk5N
aXJyb3JUZXN0LmdldF9TVk5NaXJyb3JGcm9tQ29uZmlnKTogR2V0IHRoZSBTVk5NaXJyb3IgZnJv
bSBjb25maWcuanNvbiBmb3IgYSBnaXZlbiBidWlsZHNsYXZlLgorICAgICAgICAoU1ZOTWlycm9y
VGVzdC50ZXN0X0NoZWNrT3V0U291cmNlKTogQ29tcGFyZSBDaGVja091dFNvdXJjZS5iYXNlVVJM
IHdpdGggU1ZOTWlycm9yIGluIGNvbmZpZy5qc29uIGZvciBhbGwgYnVpbGRlcnMKKyAgICAgICAg
KiBCdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5OiBBZGRlZC4KKyAgICAg
ICAgKGdldExhdGVzdFNWTlJldmlzaW9uKTogR2V0IHRoZSBsYXRlc3QgU1ZOIHJldmlzb24gZnJv
bSB0aGUgZ2l2ZW4gc2VydmVyLgorICAgICAgICAod2FpdEZvclNWTlJldmlzaW9uKTogV2FpdCB1
bnRpbCB0aGUgZ2l2ZW4gU1ZOIHJldmlzaW9uIGlzIGNvbW1pdHRlZCB0byB0aGUgZ2l2ZW4gc2Vy
dmVyLiBJdCBkb2Vzbid0IHdhaXQgaWYgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTVk4gcmV2aXNpb24gaXMgZW1wdHkgKGZvcmNlIGJ1aWxkIHRyaWdnZXJlZCB3aXRob3V0IHJl
dmlzaW9uKSBvciB0aGUgc2VydmVyIGlzIHVuYXZhaWxhYmxlLgorCisyMDEyLTA2LTI3ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKICAgICAgICAgbWFzdGVyLmNmZyBj
bGVhbnVwOiBVc2Ugc291cmNlLnN2bi5TVk4gaW5zdGVhZCBvZiBzb3VyY2Uub2xkc291cmNlLlNW
TgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAwNzIK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149942</attachid>
            <date>2012-06-28 06:52:41 -0700</date>
            <delta_ts>2012-08-08 01:21:23 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>18510</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29u
ZmlnL2NvbmZpZy5qc29uIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvY29uZmlnLmpzb24KaW5kZXggYzMwZWUzZS4uZGI1NjQ4MyAxMDA2NDQKLS0tIGEv
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpz
b24KKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcv
Y29uZmlnLmpzb24KQEAgLTE1NiwzNSArMTU2LDQyIEBACiAgICAgICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJRdCBMaW51eCBSZWxlYXNlIiwgInR5cGUi
OiAiQnVpbGRBbmRUZXN0IiwgImJ1aWxkZGlyIjogInF0LWxpbnV4LXJlbGVhc2UiLAogICAgICAg
ICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC00LjgiLCAiY29uZmlndXJhdGlvbiI6ICJy
ZWxlYXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2VkLmh1LyIsCiAgICAgICAgICAg
ICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1saW51eC0xIl0KICAgICAgICAgICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg
ICJuYW1lIjogIlF0IExpbnV4IFJlbGVhc2UgbWluaW1hbCIsICJ0eXBlIjogIkJ1aWxkIiwgImJ1
aWxkZGlyIjogInF0LWxpbnV4LXJlbGVhc2UtbWluaW1hbCIsCisgICAgICAgICAgICAgICAgICAg
ICAgIlNWTk1pcnJvciI6ICJzdm46Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAogICAgICAgICAg
ICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC00LjgiLCAiY29uZmlndXJhdGlvbiI6ICJyZWxl
YXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwKICAgICAgICAgICAgICAgICAgICAgICAi
c2xhdmVuYW1lcyI6IFsic3plZ2VkLWxpbnV4LTIiXQogICAgICAgICAgICAgICAgICAgICB9LAog
ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUXQg
TGludXggNjQtYml0IFJlbGVhc2UgKFBlcmYpIiwgInR5cGUiOiAiQnVpbGRBbmRQZXJmVGVzdCIs
ICJidWlsZGRpciI6ICJxdC1saW51eC02NC1yZWxlYXNlLXBlcmYtdGVzdHMiLAorICAgICAgICAg
ICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFpbi5pbmYudS1zemVnZWQuaHUvIiwK
ICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAicXQtNS4wLXdrMSIsICJjb25maWd1
cmF0aW9uIjogInJlbGVhc2UiLCAiYXJjaGl0ZWN0dXJlcyI6IFsieDg2XzY0Il0sCiAgICAgICAg
ICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1saW51eC0zIl0KICAgICAgICAg
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICAgICJuYW1lIjogIlF0IExpbnV4IDY0LWJpdCBSZWxlYXNlIChXZWJLaXQyIFBlcmYpIiwgInR5
cGUiOiAiQnVpbGRBbmRQZXJmVGVzdFdlYktpdDIiLCAiYnVpbGRkaXIiOiAicXQtbGludXgtNjQt
cmVsZWFzZS13azItcGVyZi10ZXN0cyIsCisgICAgICAgICAgICAgICAgICAgICAgIlNWTk1pcnJv
ciI6ICJzdm46Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAogICAgICAgICAgICAgICAgICAgICAg
ICJwbGF0Zm9ybSI6ICJxdC01LjAtd2syIiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJh
cmNoaXRlY3R1cmVzIjogWyJ4ODZfNjQiXSwKICAgICAgICAgICAgICAgICAgICAgICAic2xhdmVu
YW1lcyI6IFsic3plZ2VkLWxpbnV4LTUiXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUXQgTGludXgg
QVJNdjcgUmVsZWFzZSIsICJ0eXBlIjogIkJ1aWxkIiwgImJ1aWxkZGlyIjogInF0LWxpbnV4LWFy
bXY3LXJlbGVhc2UiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8v
cmFpbi5pbmYudS1zemVnZWQuaHU6MzM4OS8iLAogICAgICAgICAgICAgICAgICAgICAgICJwbGF0
Zm9ybSI6ICJxdC1hcm0iLCAiY29uZmlndXJhdGlvbiI6ICJyZWxlYXNlIiwgImFyY2hpdGVjdHVy
ZXMiOiBbImFybXY3Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6
ZWdlZC1saW51eC00Il0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IFdpbmRvd3MgMzItYml0IFJl
bGVhc2UiLCAidHlwZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC13aW5kb3dzLTMyYml0LXJl
bGVhc2UiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFpbi5p
bmYudS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAicXQt
d2luIiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRlY3R1cmVzIjogWyJpMzg2
Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC13aW5kb3dz
LTEiXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUXQgV2luZG93cyAzMi1iaXQgRGVidWciLCAidHlw
ZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC13aW5kb3dzLTMyYml0LWRlYnVnIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2VkLmh1
LyIsCiAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtIjogInF0LXdpbiIsICJjb25maWd1
cmF0aW9uIjogImRlYnVnIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwKICAgICAgICAgICAg
ICAgICAgICAgICAic2xhdmVuYW1lcyI6IFsic3plZ2VkLXdpbmRvd3MtMiJdCiAgICAgICAgICAg
ICAgICAgICAgIH0sCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53
ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZwppbmRleCA4ZGRmZDNmLi5hNThmZjZmIDEw
MDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9tYXN0ZXIuY2ZnCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL21hc3Rlci5jZmcKQEAgLTkzLDE0ICs5MywxNSBAQCBjbGFzcyBDb25maWd1cmVC
dWlsZChidWlsZHN0ZXAuQnVpbGRTdGVwKToKICAgICBuYW1lID0gImNvbmZpZ3VyZSBidWlsZCIK
ICAgICBkZXNjcmlwdGlvbiA9IFsiY29uZmlndXJpbmcgYnVpbGQiXQogICAgIGRlc2NyaXB0aW9u
RG9uZSA9IFsiY29uZmlndXJlZCBidWlsZCJdCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmUsIGJ1aWxkT25seSwgKmFyZ3MsICoqa3dh
cmdzKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFy
Y2hpdGVjdHVyZSwgYnVpbGRPbmx5LCBTVk5NaXJyb3IsICphcmdzLCAqKmt3YXJncyk6CiAgICAg
ICAgIGJ1aWxkc3RlcC5CdWlsZFN0ZXAuX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQog
ICAgICAgICBzZWxmLnBsYXRmb3JtID0gcGxhdGZvcm0uc3BsaXQoJy0nLCAxKVswXQogICAgICAg
ICBzZWxmLmZ1bGxQbGF0Zm9ybSA9IHBsYXRmb3JtCiAgICAgICAgIHNlbGYuY29uZmlndXJhdGlv
biA9IGNvbmZpZ3VyYXRpb24KICAgICAgICAgc2VsZi5hcmNoaXRlY3R1cmUgPSBhcmNoaXRlY3R1
cmUKICAgICAgICAgc2VsZi5idWlsZE9ubHkgPSBidWlsZE9ubHkKLSAgICAgICAgc2VsZi5hZGRG
YWN0b3J5QXJndW1lbnRzKHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZT1hcmNoaXRlY3R1cmUsIGJ1aWxkT25seT1idWlsZE9ubHkpCisg
ICAgICAgIHNlbGYuU1ZOTWlycm9yID0gU1ZOTWlycm9yCisgICAgICAgIHNlbGYuYWRkRmFjdG9y
eUFyZ3VtZW50cyhwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmU9YXJjaGl0ZWN0dXJlLCBidWlsZE9ubHk9YnVpbGRPbmx5LCBTVk5NaXJy
b3I9U1ZOTWlycm9yKQogCiAgICAgZGVmIHN0YXJ0KHNlbGYpOgogICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCJwbGF0Zm9ybSIsIHNlbGYucGxhdGZvcm0pCkBAIC0xMDgsMjAgKzEwOSwyOCBAQCBj
bGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0ZXAuQnVpbGRTdGVwKToKICAgICAgICAgc2VsZi5z
ZXRQcm9wZXJ0eSgiY29uZmlndXJhdGlvbiIsIHNlbGYuY29uZmlndXJhdGlvbikKICAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgiYXJjaGl0ZWN0dXJlIiwgc2VsZi5hcmNoaXRlY3R1cmUpCiAgICAg
ICAgIHNlbGYuc2V0UHJvcGVydHkoImJ1aWxkT25seSIsIHNlbGYuYnVpbGRPbmx5KQorICAgICAg
ICBzZWxmLnNldFByb3BlcnR5KCJTVk5NaXJyb3IiLCBzZWxmLlNWTk1pcnJvcikKICAgICAgICAg
c2VsZi5maW5pc2hlZChTVUNDRVNTKQogICAgICAgICByZXR1cm4gZGVmZXIuc3VjY2VlZChOb25l
KQogCiAKIGNsYXNzIENoZWNrT3V0U291cmNlKFNWTik6Ci0gICAgYmFzZVVSTCA9ICJodHRwOi8v
c3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvIgogICAgIG1vZGUgPSAiaW5jcmVtZW50
YWwiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICoqa3dhcmdzKToKLSAgICAgICAga3dhcmdzWydi
YXNlVVJMJ10gPSBzZWxmLmJhc2VVUkwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgU1ZOTWlycm9y
LCAqKmt3YXJncyk6CisgICAgICAgIGt3YXJnc1snYmFzZVVSTCddID0gU1ZOTWlycm9yIG9yICJo
dHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvIgogICAgICAgICBrd2FyZ3Nb
J2RlZmF1bHRCcmFuY2gnXSA9ICJ0cnVuayIKICAgICAgICAga3dhcmdzWydtb2RlJ10gPSBzZWxm
Lm1vZGUKICAgICAgICAgU1ZOLl9faW5pdF9fKHNlbGYsICoqa3dhcmdzKQorICAgICAgICBzZWxm
LmFkZEZhY3RvcnlBcmd1bWVudHMoU1ZOTWlycm9yPVNWTk1pcnJvcikKIAogCitjbGFzcyBXYWl0
Rm9yU1ZOU2VydmVyKHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgbmFtZSA9ICJ3YWl0LWZvci1z
dm4tc2VydmVyIgorICAgIGNvbW1hbmQgPSBbInB5dGhvbiIsICIuL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkiLCAiLXIiLCBXaXRoUHJvcGVydGllcygiJShy
ZXZpc2lvbilzIiksICItcyIsIFdpdGhQcm9wZXJ0aWVzKCIlKFNWTk1pcnJvcilzIildCisgICAg
ZGVzY3JpcHRpb24gPSBbIndhaXRpbmcgZm9yIFNWTiBzZXJ2ZXIiXQorICAgIGRlc2NyaXB0aW9u
RG9uZSA9IFsiU1ZOIHNlcnZlciBpcyByZWFkeSJdCisgICAgaGFsdE9uRmFpbHVyZSA9IFRydWUK
KwogCiBjbGFzcyBJbnN0YWxsV2luMzJEZXBlbmRlbmNpZXMoc2hlbGwuQ29tcGlsZSk6CiAgICAg
ZGVzY3JpcHRpb24gPSBbImluc3RhbGxpbmcgZGVwZW5kZW5jaWVzIl0KQEAgLTY3MCwxMCArNjc5
LDEyIEBAIGNsYXNzIEV4dHJhY3RUZXN0UmVzdWx0c0FuZExlYWtzKEV4dHJhY3RUZXN0UmVzdWx0
cyk6CiAKIAogY2xhc3MgRmFjdG9yeShmYWN0b3J5LkJ1aWxkRmFjdG9yeSk6Ci0gICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBidWls
ZE9ubHkpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwg
YXJjaGl0ZWN0dXJlcywgYnVpbGRPbmx5LCBTVk5NaXJyb3IpOgogICAgICAgICBmYWN0b3J5LkJ1
aWxkRmFjdG9yeS5fX2luaXRfXyhzZWxmKQotICAgICAgICBzZWxmLmFkZFN0ZXAoQ29uZmlndXJl
QnVpbGQsIHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFy
Y2hpdGVjdHVyZT0iICIuam9pbihhcmNoaXRlY3R1cmVzKSwgYnVpbGRPbmx5PWJ1aWxkT25seSkK
LSAgICAgICAgc2VsZi5hZGRTdGVwKENoZWNrT3V0U291cmNlKCkpCisgICAgICAgIHNlbGYuYWRk
U3RlcChDb25maWd1cmVCdWlsZCwgcGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29u
ZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlPSIgIi5qb2luKGFyY2hpdGVjdHVyZXMpLCBidWlsZE9u
bHk9YnVpbGRPbmx5LCBTVk5NaXJyb3I9U1ZOTWlycm9yKQorICAgICAgICBpZiBib29sKFNWTk1p
cnJvcik6CisgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoV2FpdEZvclNWTlNlcnZlcigpKQorICAg
ICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UoU1ZOTWlycm9yPVNWTk1pcnJvcikpCiAg
ICAgICAgICMgVGhlcmUgYXJlIG11bHRpcGxlIFF0IHNsYXZlcyBydW5uaW5nIG9uIHNhbWUgbWFj
aGluZXMsIHNvIGJ1aWxkc2xhdmVzIHNob3VsZG4ndCBraWxsIHRoZSBwcm9jZXNzZXMgb2Ygb3Ro
ZXIgc2xhdmVzLgogICAgICAgICBpZiBub3QgcGxhdGZvcm0uc3RhcnRzd2l0aCgicXQiKToKICAg
ICAgICAgICAgIHNlbGYuYWRkU3RlcChLaWxsT2xkUHJvY2Vzc2VzKQpAQCAtNjg4LDggKzY5OSw4
IEBAIGNsYXNzIEZhY3RvcnkoZmFjdG9yeS5CdWlsZEZhY3RvcnkpOgogCiAKIGNsYXNzIEJ1aWxk
RmFjdG9yeShGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZp
Z3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIHRyaWdnZXJzPU5vbmUpOgotICAgICAgICBGYWN0b3J5
Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBU
cnVlKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJj
aGl0ZWN0dXJlcywgdHJpZ2dlcnM9Tm9uZSwgU1ZOTWlycm9yPU5vbmUpOgorICAgICAgICBGYWN0
b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVz
LCBUcnVlLCBTVk5NaXJyb3IpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KQog
ICAgICAgICBpZiB0cmlnZ2VyczoKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChBcmNoaXZlQnVp
bHRQcm9kdWN0KQpAQCAtNzA4LDggKzcxOSw4IEBAIGRlZiBwaWNrTGF0ZXN0QnVpbGQoYnVpbGRl
ciwgcmVxdWVzdHMpOgogY2xhc3MgVGVzdEZhY3RvcnkoRmFjdG9yeSk6CiAgICAgVGVzdENsYXNz
ID0gUnVuV2ViS2l0VGVzdHMKICAgICBFeHRyYWN0VGVzdFJlc3VsdHNDbGFzcyA9IEV4dHJhY3RU
ZXN0UmVzdWx0cwotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlv
biwgYXJjaGl0ZWN0dXJlcyk6Ci0gICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlKQorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgU1ZOTWlycm9y
PU5vbmUpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1
cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yKQogICAgICAgICBpZiBwbGF0
Zm9ybS5zdGFydHN3aXRoKCJjaHJvbWl1bSIpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENs
ZWFudXBDaHJvbWl1bUNyYXNoTG9ncykKICAgICAgICAgc2VsZi5hZGRTdGVwKERvd25sb2FkQnVp
bHRQcm9kdWN0KQpAQCAtNzM5LDggKzc1MCw4IEBAIGNsYXNzIFRlc3RGYWN0b3J5KEZhY3Rvcnkp
OgogY2xhc3MgQnVpbGRBbmRUZXN0RmFjdG9yeShGYWN0b3J5KToKICAgICBUZXN0Q2xhc3MgPSBS
dW5XZWJLaXRUZXN0cwogICAgIEV4dHJhY3RUZXN0UmVzdWx0c0NsYXNzID0gRXh0cmFjdFRlc3RS
ZXN1bHRzCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBh
cmNoaXRlY3R1cmVzLCB0cmlnZ2Vycz1Ob25lLCAqKmt3YXJncyk6Ci0gICAgICAgIEZhY3Rvcnku
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZh
bHNlLCAqKmt3YXJncykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZXMsIHRyaWdnZXJzPU5vbmUsIFNWTk1pcnJvcj1Ob25lLCAqKmt3
YXJncyk6CisgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCBTVk5NaXJyb3IsICoqa3dhcmdzKQogICAgICAg
ICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCJjaHJvbWl1bSIpOgogICAgICAgICAgICAgc2VsZi5h
ZGRTdGVwKENsZWFudXBDaHJvbWl1bUNyYXNoTG9ncykKICAgICAgICAgc2VsZi5hZGRTdGVwKENv
bXBpbGVXZWJLaXQpCkBAIC03NzgsMzEgKzc4OSwzMSBAQCBjbGFzcyBUZXN0V2ViS2l0MkZhY3Rv
cnkoVGVzdEZhY3RvcnkpOgogICAgIFRlc3RDbGFzcyA9IFJ1bldlYktpdDJUZXN0cwogCiBjbGFz
cyBCdWlsZEFuZFBlcmZUZXN0RmFjdG9yeShGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsICoqa3dhcmdzKToKLSAg
ICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJj
aGl0ZWN0dXJlcywgRmFsc2UsICoqa3dhcmdzKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0
Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgU1ZOTWlycm9yPU5vbmUsICoqa3dh
cmdzKToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJh
dGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UsIFNWTk1pcnJvciwgKiprd2FyZ3MpCiAgICAgICAg
IGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoImNocm9taXVtIik6CiAgICAgICAgICAgICBzZWxmLmFk
ZFN0ZXAoQ2xlYW51cENocm9taXVtQ3Jhc2hMb2dzKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29t
cGlsZVdlYktpdCkKICAgICAgICAgc2VsZi5hZGRTdGVwKFJ1bkFuZFVwbG9hZFBlcmZUZXN0cykK
IAogY2xhc3MgQnVpbGRBbmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywg
Kiprd2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25m
aWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJy
b3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3
YXJncykKICAgICAgICAgaWYgcGxhdGZvcm0uc3RhcnRzd2l0aCgiY2hyb21pdW0iKToKICAgICAg
ICAgICAgIHNlbGYuYWRkU3RlcChDbGVhbnVwQ2hyb21pdW1DcmFzaExvZ3MpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChDb21waWxlV2ViS2l0KQogICAgICAgICBzZWxmLmFkZFN0ZXAoUnVuQW5kVXBs
b2FkUGVyZlRlc3RzV2ViS2l0MikKIAogY2xhc3MgRG93bmxvYWRBbmRQZXJmVGVzdEZhY3Rvcnko
RmFjdG9yeSk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzLCAqKmt3YXJncyk6Ci0gICAgICAgIEZhY3RvcnkuX19pbml0X18oc2Vs
ZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCAqKmt3YXJn
cykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hp
dGVjdHVyZXMsIFNWTk1pcnJvcj1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIEZhY3RvcnkuX19p
bml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNl
LCBTVk5NaXJyb3IsICoqa3dhcmdzKQogICAgICAgICBzZWxmLmFkZFN0ZXAoRG93bmxvYWRCdWls
dFByb2R1Y3QpCiAgICAgICAgIHNlbGYuYWRkU3RlcChFeHRyYWN0QnVpbHRQcm9kdWN0KQogICAg
ICAgICBzZWxmLmFkZFN0ZXAoUnVuQW5kVXBsb2FkUGVyZlRlc3RzKQogCiBjbGFzcyBEb3dubG9h
ZEFuZFBlcmZUZXN0V2ViS2l0MkZhY3RvcnkoRmFjdG9yeSk6Ci0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCAqKmt3YXJncyk6Ci0g
ICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFy
Y2hpdGVjdHVyZXMsIEZhbHNlLCAqKmt3YXJncykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxh
dGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIFNWTk1pcnJvcj1Ob25lLCAqKmt3
YXJncyk6CisgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCBTVk5NaXJyb3IsICoqa3dhcmdzKQogICAgICAg
ICBzZWxmLmFkZFN0ZXAoRG93bmxvYWRCdWlsdFByb2R1Y3QpCiAgICAgICAgIHNlbGYuYWRkU3Rl
cChFeHRyYWN0QnVpbHRQcm9kdWN0KQogICAgICAgICBzZWxmLmFkZFN0ZXAoUnVuQW5kVXBsb2Fk
UGVyZlRlc3RzV2ViS2l0MikKQEAgLTg2OSwxMyArODgwLDEzIEBAIGRlZiBsb2FkQnVpbGRlckNv
bmZpZyhjKToKIAogICAgICAgICBidWlsZGVyVHlwZSA9IGJ1aWxkZXIucG9wKCd0eXBlJykKICAg
ICAgICAgZmFjdG9yeSA9IGdsb2JhbHMoKVsiJXNGYWN0b3J5IiAlIGJ1aWxkZXJUeXBlXQotICAg
ICAgICBmYWN0b3J5QXJncyA9IFtdCi0gICAgICAgIGZvciBrZXkgaW4gInBsYXRmb3JtIiwgImNv
bmZpZ3VyYXRpb24iLCAiYXJjaGl0ZWN0dXJlcyIsICJ0cmlnZ2VycyI6CisgICAgICAgIGZhY3Rv
cnlrd2FyZ3MgPSB7fQorICAgICAgICBmb3Iga2V5IGluICJwbGF0Zm9ybSIsICJjb25maWd1cmF0
aW9uIiwgImFyY2hpdGVjdHVyZXMiLCAidHJpZ2dlcnMiLCAiU1ZOTWlycm9yIjoKICAgICAgICAg
ICAgIHZhbHVlID0gYnVpbGRlci5wb3Aoa2V5LCBOb25lKQogICAgICAgICAgICAgaWYgdmFsdWU6
Ci0gICAgICAgICAgICAgICAgZmFjdG9yeUFyZ3MuYXBwZW5kKHZhbHVlKQorICAgICAgICAgICAg
ICAgIGZhY3Rvcnlrd2FyZ3Nba2V5XSA9IHZhbHVlCiAKLSAgICAgICAgYnVpbGRlclsiZmFjdG9y
eSJdID0gZmFjdG9yeSgqZmFjdG9yeUFyZ3MpCisgICAgICAgIGJ1aWxkZXJbImZhY3RvcnkiXSA9
IGZhY3RvcnkoKipmYWN0b3J5a3dhcmdzKQogCiAgICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dp
dGgoJ2Nocm9taXVtJyk6CiAgICAgICAgICAgICBidWlsZGVyWyJjYXRlZ29yeSJdID0gJ0Nocm9t
aXVtJwpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvbWFzdGVyY2ZnX3VuaXR0ZXN0LnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyY2ZnX3VuaXR0ZXN0LnB5CmluZGV4IDgxM2Zm
MjIuLjU4OWU3NGYgMTAwNzU1Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weQorKysgYi9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXJjZmdfdW5pdHRlc3QucHkK
QEAgLTMyOCw2ICszMjgsMjYgQEAgVGVzdHMgdGhhdCB0aW1lZCBvdXQ6CiAiIiIpCiAKIAorY2xh
c3MgU1ZOTWlycm9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYp
OgorICAgICAgICBzZWxmLmNvbmZpZyA9IGpzb24ubG9hZChvcGVuKCdjb25maWcuanNvbicpKQor
CisgICAgZGVmIGdldF9TVk5NaXJyb3JGcm9tQ29uZmlnKHNlbGYsIGJ1aWxkZXJOYW1lKToKKyAg
ICAgICAgU1ZOTWlycm9yID0gTm9uZQorICAgICAgICBmb3IgYnVpbGRlciBpbiBzZWxmLmNvbmZp
Z1snYnVpbGRlcnMnXToKKyAgICAgICAgICAgIGlmIGJ1aWxkZXJbJ25hbWUnXSA9PSBidWlsZGVy
TmFtZToKKyAgICAgICAgICAgICAgICBTVk5NaXJyb3IgPSBidWlsZGVyLnBvcCgnU1ZOTWlycm9y
JywgJ2h0dHA6Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdC8nKQorICAgICAgICBy
ZXR1cm4gU1ZOTWlycm9yCisKKyAgICAjIENvbXBhcmUgQ2hlY2tPdXRTb3VyY2UuYmFzZVVSTCB3
aXRoIFNWTk1pcnJvciAob3Igd2l0aCB0aGUgZGVmYXVsdCBVUkwpIGluIGNvbmZpZy5qc29uIGZv
ciBhbGwgYnVpbGRlcnMKKyAgICBkZWYgdGVzdF9DaGVja091dFNvdXJjZShzZWxmKToKKyAgICAg
ICAgZm9yIGJ1aWxkZXIgaW4gY1snYnVpbGRlcnMnXToKKyAgICAgICAgICAgIGZvciBidWlsZFN0
ZXBGYWN0b3J5LCBrd2FyZ3MgaW4gYnVpbGRlclsnZmFjdG9yeSddLnN0ZXBzOgorICAgICAgICAg
ICAgICAgIGlmIHN0cihidWlsZFN0ZXBGYWN0b3J5KS5zcGxpdCgnLicpWy0xXSA9PSAnQ2hlY2tP
dXRTb3VyY2UnOgorICAgICAgICAgICAgICAgICAgICBDaGVja091dFNvdXJjZUluc3RhbmNlID0g
YnVpbGRTdGVwRmFjdG9yeSgqKmt3YXJncykKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMoQ2hlY2tPdXRTb3VyY2VJbnN0YW5jZS5iYXNlVVJMLCBzZWxmLmdldF9TVk5NaXJy
b3JGcm9tQ29uZmlnKGJ1aWxkZXJbJ25hbWUnXSkpCisKKwogY2xhc3MgQnVpbGRTdGVwc0NvbnN0
cnVjdG9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIyAiUGFzc2luZyBhIEJ1aWxkU3Rl
cCBzdWJjbGFzcyB0byBmYWN0b3J5LmFkZFN0ZXAgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHBhc3Mg
YSBCdWlsZFN0ZXAgaW5zdGFuY2UgaW5zdGVhZC4gIFN1cHBvcnQgd2lsbCBiZSBkcm9wcGVkIGlu
IHYwLjguNy4iCiAgICAgIyBJdCBjaGVja3MgaWYgYWxsIGJ1aWxkZXIncyBhbGwgYnVpbGRzdGVw
cyBjYW4gYmUgaW5zYW50aWF0ZWQgYWZ0ZXIgbWlncmF0aW9uLgpkaWZmIC0tZ2l0IGEvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvd2FpdC1mb3ItU1ZOLXNlcnZlci5weSBiL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5k
ZXggMDAwMDAwMC4uY2FmZGY5YwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkKQEAgLTAsMCArMSw2NSBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAoQykgMjAwNiBKb2huIFB5ZQorIyBDb3B5cmln
aHQgKEMpIDIwMTIgVW5pdmVyc2l0eSBvZiBTemVnZWQKKyMKKyMgVGhpcyBzY3JpcHQgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisj
IHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorIworIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgTGVzc2VyIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl
IFNvZnR3YXJlCisjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMw
LCBCb3N0b24sIE1BIDAyMTExLTEzMDcKKyMgVVNBCisKK2Zyb20gb3B0cGFyc2UgaW1wb3J0IE9w
dGlvblBhcnNlcgoraW1wb3J0IGNvbW1hbmRzCitpbXBvcnQgZXhjZXB0aW9ucworaW1wb3J0IHN5
cworaW1wb3J0IHRpbWUKK2ltcG9ydCB4bWwuZG9tLm1pbmlkb20KKworCitkZWYgZ2V0TGF0ZXN0
U1ZOUmV2aXNpb24oU1ZOU2VydmVyKToKKyAgICB0cnk6CisgICAgICAgIHJlc3BvbnNlID0gY29t
bWFuZHMuZ2V0b3V0cHV0KCJzdm4gbG9nIC0tbm9uLWludGVyYWN0aXZlIC0tdmVyYm9zZSAtLXht
bCAtLWxpbWl0PTEgJXMiICUgU1ZOU2VydmVyKQorICAgICAgICBkb2MgPSB4bWwuZG9tLm1pbmlk
b20ucGFyc2VTdHJpbmcocmVzcG9uc2UpCisgICAgICAgIGVsID0gZG9jLmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJsb2dlbnRyeSIpWzBdCisgICAgICAgIHJldHVybiBlbC5nZXRBdHRyaWJ1dGUoInJl
dmlzaW9uIikKKyAgICBleGNlcHQgeG1sLnBhcnNlcnMuZXhwYXQuRXhwYXRFcnJvciwgZToKKyAg
ICAgICAgcHJpbnQgIkZBSUxFRCBUTyBQQVJTRSAnc3ZuIGxvZycgWE1MOiIKKyAgICAgICAgcHJp
bnQgc3RyKGUpCisgICAgICAgIHByaW50ICItLS0tIgorICAgICAgICBwcmludCAiUkVDRUlWRUQg
VEVYVDoiCisgICAgICAgIHByaW50IHJlc3BvbnNlCisgICAgICAgIHN5cy5leGl0KDEpCisKKwor
ZGVmIHdhaXRGb3JTVk5SZXZpc2lvbihTVk5TZXJ2ZXIsIHJldmlzaW9uKToKKyAgICBpZiBub3Qg
cmV2aXNpb246CisgICAgICAgIGxhdGVzdFJldmlzaW9uID0gaW50KGdldExhdGVzdFNWTlJldmlz
aW9uKFNWTlNlcnZlcikpCisgICAgICAgIHByaW50ICJMYXRlc3QgU1ZOIHJldmlzaW9uIG9uICVz
IGlzIHIlZC4gRG9uJ3Qgd2FpdCwgYmVjYXVzZSByZXZpc2lvbiBhcmd1bWVudCBpcyBlbXB0eS4i
ICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24pCisgICAgICAgIHJldHVybgorCisgICAgd2hp
bGUgVHJ1ZToKKyAgICAgICAgbGF0ZXN0UmV2aXNpb24gPSBpbnQoZ2V0TGF0ZXN0U1ZOUmV2aXNp
b24oU1ZOU2VydmVyKSkKKyAgICAgICAgaWYgbGF0ZXN0UmV2aXNpb24gPCByZXZpc2lvbjoKKyAg
ICAgICAgICAgIHByaW50ICJMYXRlc3QgU1ZOIHJldmlzaW9uIG9uICVzIGlzIHIlZCwgYnV0IHdl
IGFyZSB3YWl0aW5nIGZvciByJWQuIFNsZWVwaW5nIGZvciA1IHNlY29uZHMuIiAlIChTVk5TZXJ2
ZXIsIGxhdGVzdFJldmlzaW9uLCByZXZpc2lvbikKKyAgICAgICAgICAgIHRpbWUuc2xlZXAoNSkK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByaW50ICJMYXRlc3QgU1ZOIHJldmlzaW9uIG9u
ICVzIGlzIHIlZCwgd2hpY2ggaXMgbmV3ZXIgb3IgZXF1YWwgdGhhbiByJWQuIiAlIChTVk5TZXJ2
ZXIsIGxhdGVzdFJldmlzaW9uLCByZXZpc2lvbikKKyAgICAgICAgICAgIGJyZWFrCisKKworaWYg
X19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBwYXJzZXIgPSBPcHRpb25QYXJzZXIoKQorICAg
IHBhcnNlci5hZGRfb3B0aW9uKCItciIsICItLXJldmlzaW9uIiwgZGVzdD0icmV2aXNpb24iLCB0
eXBlPSJpbnQiLCBoZWxwPSJTVk4gcmV2aXNpb24gbnVtYmVyIikKKyAgICBwYXJzZXIuYWRkX29w
dGlvbigiLXMiLCAiLS1zdm4tc2VydmVyIiwgZGVzdD0iU1ZOU2VydmVyIiwgaGVscD0iU1ZOIHNl
cnZlciIpCisgICAgb3B0aW9ucywgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKyAgICB3YWl0
Rm9yU1ZOUmV2aXNpb24ob3B0aW9ucy5TVk5TZXJ2ZXIsIG9wdGlvbnMucmV2aXNpb24pCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjI4NTQwYS4u
ZDBmYjhlNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDM3IEBACiAyMDEyLTA2LTI4ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CiAKKyAgICAgICAgQWRkIFNWTiBtaXJyb3IgaGFuZGxpbmcgZmVhdHVyZSB0
byBidWlsZC53ZWJraXQub3JnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NTg4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29u
ZmlnLmpzb246IEFkZCBTVk4gbWlycm9ycyBmb3IgUXQgYnVpbGRzbGF2ZXMgaG9zdGVkIGluIFN6
ZWdlZC4KKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9tYXN0ZXIuY2ZnOgorICAgICAgICAoQ29uZmlndXJlQnVpbGQuX19pbml0X18pOiBBZGQgU1ZO
TWlycm9yIHByb3BlcnR5IHRvIGJlIGFibGUgdG8gd2F0Y2ggd2hpY2ggc2xhdmVzIHVzZSB3aGlj
aCBtaXJyb3Igb24gYnVpbGQud2Via2l0Lm9yZy4KKyAgICAgICAgKENvbmZpZ3VyZUJ1aWxkLnN0
YXJ0KToKKyAgICAgICAgKENoZWNrT3V0U291cmNlLl9faW5pdF9fKTogU2V0IGJhc2VVUkwgdG8g
dGhlIFNWTk1pcnJvciBvciB0aGUgZGVmYXVsdCBodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3Np
dG9yeS93ZWJraXQvCisgICAgICAgIChXYWl0Rm9yU1ZOU2VydmVyKTogQWRkIG5ldyBidWlsZHN0
ZXAgZm9yIHdhaXRpbmcgdGhlIFNWTk1pcnJvciB0byBiZSBpbiBzeW5jIHdpdGggaHR0cDovL3N2
bi53ZWJraXQub3JnL3JlcG9zaXRvcnkvd2Via2l0LworICAgICAgICAoRmFjdG9yeS5fX2luaXRf
Xyk6CisgICAgICAgIChCdWlsZEZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoVGVzdEZhY3Rv
cnkuX19pbml0X18pOgorICAgICAgICAoQnVpbGRBbmRUZXN0RmFjdG9yeS5fX2luaXRfXyk6Cisg
ICAgICAgIChCdWlsZEFuZFBlcmZUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWls
ZEFuZFBlcmZUZXN0V2ViS2l0MkZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRB
bmRQZXJmVGVzdEZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVz
dFdlYktpdDJGYWN0b3J5Ll9faW5pdF9fKToKKyAgICAgICAgKGxvYWRCdWlsZGVyQ29uZmlnKTog
VXNlIGt3YXJncyBpbnN0ZWFkIG9mIGFyZ3MgdG8gYmUgYWJsZSB0byBhZGQgdGhlIG9wdGlvbmFs
IFNWTk1pcnJvciBmYWN0b3J5IGFyZ3VtZW50LgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weToKKyAgICAgICAg
KFNWTk1pcnJvclRlc3QpOgorICAgICAgICAoU1ZOTWlycm9yVGVzdC5zZXRVcCk6IExvYWQgY29u
ZmlnLmpzb24gb25jZSBhdCBzdGFydHVwLgorICAgICAgICAoU1ZOTWlycm9yVGVzdC5nZXRfU1ZO
TWlycm9yRnJvbUNvbmZpZyk6IEdldCB0aGUgU1ZOTWlycm9yIGZyb20gY29uZmlnLmpzb24gZm9y
IGEgZ2l2ZW4gYnVpbGRzbGF2ZS4KKyAgICAgICAgKFNWTk1pcnJvclRlc3QudGVzdF9DaGVja091
dFNvdXJjZSk6IENvbXBhcmUgQ2hlY2tPdXRTb3VyY2UuYmFzZVVSTCB3aXRoIFNWTk1pcnJvciBp
biBjb25maWcuanNvbiBmb3IgYWxsIGJ1aWxkZXJzCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBv
cnQvd2FpdC1mb3ItU1ZOLXNlcnZlci5weTogQWRkZWQuCisgICAgICAgIChnZXRMYXRlc3RTVk5S
ZXZpc2lvbik6IEdldCB0aGUgbGF0ZXN0IFNWTiByZXZpc29uIGZyb20gdGhlIGdpdmVuIHNlcnZl
ci4KKyAgICAgICAgKHdhaXRGb3JTVk5SZXZpc2lvbik6IFdhaXQgdW50aWwgdGhlIGdpdmVuIFNW
TiByZXZpc2lvbiBpcyBjb21taXR0ZWQgdG8gdGhlIGdpdmVuIHNlcnZlci4gSXQgZG9lc24ndCB3
YWl0IGlmIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZOIHJldmlzaW9uIGlz
IGVtcHR5IChmb3JjZSBidWlsZCB0cmlnZ2VyZWQgd2l0aG91dCByZXZpc2lvbikgb3IgdGhlIHNl
cnZlciBpcyB1bmF2YWlsYWJsZS4KKworMjAxMi0wNi0yOCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8
b3NzeUB3ZWJraXQub3JnPgorCiAgICAgICAgIG1hc3Rlci5jZmcgY2xlYW51cDogVXNlIHNvdXJj
ZS5zdm4uU1ZOIGluc3RlYWQgb2Ygc291cmNlLm9sZHNvdXJjZS5TVk4KICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMDcyCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158304</attachid>
            <date>2012-08-14 05:47:12 -0700</date>
            <delta_ts>2012-09-12 02:39:23 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>bug-85887-20120814054639.patch</filename>
            <type>text/plain</type>
            <size>19293</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTUwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTc4ZTY0Zjc0YWIyOGQ2ZTc3YTFkMTVhMzE0MDY5MmU2
MDcyMzQ2Mi4uMjZlZDY2MGIyZDEwZDRmMmRjOTVhY2E1NjQyNmIwNjNhYmFlYzU1ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDEyLTA4LTE0ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgQWRkIFNWTiBtaXJyb3IgaGFuZGxpbmcgZmVhdHVyZSB0byBidWlsZC53ZWJraXQu
b3JnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTg4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpzb246IEFkZCBT
Vk4gbWlycm9ycyBmb3IgUXQgYnVpbGRzbGF2ZXMgaG9zdGVkIGluIFN6ZWdlZC4KKyAgICAgICAg
KiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnOgor
ICAgICAgICAoQ29uZmlndXJlQnVpbGQuX19pbml0X18pOiBBZGQgU1ZOTWlycm9yIHByb3BlcnR5
IHRvIGJlIGFibGUgdG8gd2F0Y2ggd2hpY2ggc2xhdmVzIHVzZSB3aGljaCBtaXJyb3Igb24gYnVp
bGQud2Via2l0Lm9yZy4KKyAgICAgICAgKENvbmZpZ3VyZUJ1aWxkLnN0YXJ0KToKKyAgICAgICAg
KENoZWNrT3V0U291cmNlLl9faW5pdF9fKTogU2V0IGJhc2VVUkwgdG8gdGhlIFNWTk1pcnJvciBv
ciB0aGUgZGVmYXVsdCBodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvCisg
ICAgICAgIChXYWl0Rm9yU1ZOU2VydmVyKTogQWRkIG5ldyBidWlsZHN0ZXAgZm9yIHdhaXRpbmcg
dGhlIFNWTk1pcnJvciB0byBiZSBpbiBzeW5jIHdpdGggaHR0cDovL3N2bi53ZWJraXQub3JnL3Jl
cG9zaXRvcnkvd2Via2l0LworICAgICAgICAoRmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChC
dWlsZEZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoVGVzdEZhY3RvcnkuX19pbml0X18pOgor
ICAgICAgICAoQnVpbGRBbmRUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFu
ZFBlcmZUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFuZFBlcmZUZXN0V2Vi
S2l0MkZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdEZhY3Rv
cnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5
Ll9faW5pdF9fKToKKyAgICAgICAgKGxvYWRCdWlsZGVyQ29uZmlnKTogVXNlIGt3YXJncyBpbnN0
ZWFkIG9mIGFyZ3MgdG8gYmUgYWJsZSB0byBhZGQgdGhlIG9wdGlvbmFsIFNWTk1pcnJvciBmYWN0
b3J5IGFyZ3VtZW50LgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weToKKyAgICAgICAgKFNWTk1pcnJvclRlc3Qp
OgorICAgICAgICAoU1ZOTWlycm9yVGVzdC5zZXRVcCk6IExvYWQgY29uZmlnLmpzb24gb25jZSBh
dCBzdGFydHVwLgorICAgICAgICAoU1ZOTWlycm9yVGVzdC5nZXRfU1ZOTWlycm9yRnJvbUNvbmZp
Zyk6IEdldCB0aGUgU1ZOTWlycm9yIGZyb20gY29uZmlnLmpzb24gZm9yIGEgZ2l2ZW4gYnVpbGRz
bGF2ZS4KKyAgICAgICAgKFNWTk1pcnJvclRlc3QudGVzdF9DaGVja091dFNvdXJjZSk6IENvbXBh
cmUgQ2hlY2tPdXRTb3VyY2UuYmFzZVVSTCB3aXRoIFNWTk1pcnJvciBpbiBjb25maWcuanNvbiBm
b3IgYWxsIGJ1aWxkZXJzCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvd2FpdC1mb3ItU1ZOLXNlcnZlci5weTogQWRkZWQuCisgICAgICAgIChnZXRM
YXRlc3RTVk5SZXZpc2lvbik6IEdldCB0aGUgbGF0ZXN0IFNWTiByZXZpc29uIGZyb20gdGhlIGdp
dmVuIHNlcnZlci4KKyAgICAgICAgKHdhaXRGb3JTVk5SZXZpc2lvbik6IFdhaXQgdW50aWwgdGhl
IGdpdmVuIFNWTiByZXZpc2lvbiBpcyBjb21taXR0ZWQgdG8gdGhlIGdpdmVuIHNlcnZlci4gSXQg
ZG9lc24ndCB3YWl0IGlmIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZOIHJl
dmlzaW9uIGlzIGVtcHR5IChmb3JjZSBidWlsZCB0cmlnZ2VyZWQgd2l0aG91dCByZXZpc2lvbikg
b3IgdGhlIHNlcnZlciBpcyB1bmF2YWlsYWJsZS4KKwogMjAxMi0wOC0xNCAgU2VyZ2lvIFZpbGxh
ciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV0syXSBbR1RLXSBQbHVn
aW4gdGVzdHMgZmFpbGluZyBpbiBXSzIgYm90CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb25maWcuanNvbiBiL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2NvbmZpZy5qc29uCmluZGV4IGM0
Zjk4YWU2OTU5YjQzODg1ZWU0MTFiMGIzNmI5YjJmYTMxMjIyMGQuLjYyOGUwYzBmOWZjYTBkNmNl
NmY5ZGFkOTFhZDljZmY4OWVhMDg3ODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2NvbmZpZy5qc29uCisrKyBiL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2NvbmZpZy5qc29uCkBAIC0yMDAs
MzUgKzIwMCw0MiBAQAogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiUXQgTGludXggUmVsZWFzZSIsICJ0eXBlIjogIkJ1aWxkQW5kVGVzdCIsICJi
dWlsZGRpciI6ICJxdC1saW51eC1yZWxlYXNlIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxh
dGZvcm0iOiAicXQtNC44IiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRlY3R1
cmVzIjogWyJpMzg2Il0sCisgICAgICAgICAgICAgICAgICAgICAgIlNWTk1pcnJvciI6ICJzdm46
Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAogICAgICAgICAgICAgICAgICAgICAgICJzbGF2ZW5h
bWVzIjogWyJzemVnZWQtbGludXgtMSJdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJRdCBMaW51eCBS
ZWxlYXNlIG1pbmltYWwiLCAidHlwZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC1saW51eC1y
ZWxlYXNlLW1pbmltYWwiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3Zu
Oi8vcmFpbi5pbmYudS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZv
cm0iOiAicXQtNC44IiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRlY3R1cmVz
IjogWyJpMzg2Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdl
ZC1saW51eC0yIl0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IExpbnV4IDY0LWJpdCBSZWxlYXNl
IChQZXJmKSIsICJ0eXBlIjogIkJ1aWxkQW5kUGVyZlRlc3QiLCAiYnVpbGRkaXIiOiAicXQtbGlu
dXgtNjQtcmVsZWFzZS1wZXJmLXRlc3RzIiwKKyAgICAgICAgICAgICAgICAgICAgICAiU1ZOTWly
cm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2VkLmh1LyIsCiAgICAgICAgICAgICAgICAgICAg
ICAgInBsYXRmb3JtIjogInF0LTUuMC13azEiLCAiY29uZmlndXJhdGlvbiI6ICJyZWxlYXNlIiwg
ImFyY2hpdGVjdHVyZXMiOiBbIng4Nl82NCJdLAogICAgICAgICAgICAgICAgICAgICAgICJzbGF2
ZW5hbWVzIjogWyJzemVnZWQtbGludXgtMyJdCiAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAg
ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJRdCBMaW51
eCA2NC1iaXQgUmVsZWFzZSAoV2ViS2l0MiBQZXJmKSIsICJ0eXBlIjogIkJ1aWxkQW5kUGVyZlRl
c3RXZWJLaXQyIiwgImJ1aWxkZGlyIjogInF0LWxpbnV4LTY0LXJlbGVhc2Utd2syLXBlcmYtdGVz
dHMiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFpbi5pbmYu
dS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAicXQtNS4w
LXdrMiIsICJjb25maWd1cmF0aW9uIjogInJlbGVhc2UiLCAiYXJjaGl0ZWN0dXJlcyI6IFsieDg2
XzY0Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1saW51
eC01Il0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IExpbnV4IEFSTXY3IFJlbGVhc2UiLCAidHlw
ZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC1saW51eC1hcm12Ny1yZWxlYXNlIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2VkLmh1
OjMzODkvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAicXQtYXJtIiwgImNv
bmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRlY3R1cmVzIjogWyJhcm12NyJdLAogICAg
ICAgICAgICAgICAgICAgICAgICJzbGF2ZW5hbWVzIjogWyJzemVnZWQtbGludXgtNCJdCiAgICAg
ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJRdCBXaW5kb3dzIDMyLWJpdCBSZWxlYXNlIiwgInR5cGUiOiAiQnVp
bGQiLCAiYnVpbGRkaXIiOiAicXQtd2luZG93cy0zMmJpdC1yZWxlYXNlIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3plZ2VkLmh1LyIsCiAg
ICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtIjogInF0LXdpbiIsICJjb25maWd1cmF0aW9u
IjogInJlbGVhc2UiLCAiYXJjaGl0ZWN0dXJlcyI6IFsiaTM4NiJdLAogICAgICAgICAgICAgICAg
ICAgICAgICJzbGF2ZW5hbWVzIjogWyJzemVnZWQtd2luZG93cy0xIl0KICAgICAgICAgICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICJu
YW1lIjogIlF0IFdpbmRvd3MgMzItYml0IERlYnVnIiwgInR5cGUiOiAiQnVpbGQiLCAiYnVpbGRk
aXIiOiAicXQtd2luZG93cy0zMmJpdC1kZWJ1ZyIsCisgICAgICAgICAgICAgICAgICAgICAgIlNW
Tk1pcnJvciI6ICJzdm46Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAogICAgICAgICAgICAgICAg
ICAgICAgICJwbGF0Zm9ybSI6ICJxdC13aW4iLCAiY29uZmlndXJhdGlvbiI6ICJkZWJ1ZyIsICJh
cmNoaXRlY3R1cmVzIjogWyJpMzg2Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFt
ZXMiOiBbInN6ZWdlZC13aW5kb3dzLTIiXQogICAgICAgICAgICAgICAgICAgICB9LApkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFz
dGVyLmNmZyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L21hc3Rlci5jZmcKaW5kZXggZWM3OWVkNDY2YjM4OWNkMzU4MzYwYjY0YWIzMDRlMzBmNmY5OTQy
Yi4uZWZmYzU5YjBiMjM4MzllOTIyOWEzZjA4NTg1N2E1MzIyMGI1MTM0OCAxMDA2NDQKLS0tIGEv
VG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNm
ZworKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9t
YXN0ZXIuY2ZnCkBAIC05MiwxNCArOTIsMTUgQEAgY2xhc3MgQ29uZmlndXJlQnVpbGQoYnVpbGRz
dGVwLkJ1aWxkU3RlcCk6CiAgICAgbmFtZSA9ICJjb25maWd1cmUgYnVpbGQiCiAgICAgZGVzY3Jp
cHRpb24gPSBbImNvbmZpZ3VyaW5nIGJ1aWxkIl0KICAgICBkZXNjcmlwdGlvbkRvbmUgPSBbImNv
bmZpZ3VyZWQgYnVpbGQiXQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmln
dXJhdGlvbiwgYXJjaGl0ZWN0dXJlLCBidWlsZE9ubHksICphcmdzLCAqKmt3YXJncyk6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmUs
IGJ1aWxkT25seSwgU1ZOTWlycm9yLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBidWlsZHN0
ZXAuQnVpbGRTdGVwLl9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncykKICAgICAgICAgc2Vs
Zi5wbGF0Zm9ybSA9IHBsYXRmb3JtLnNwbGl0KCctJywgMSlbMF0KICAgICAgICAgc2VsZi5mdWxs
UGxhdGZvcm0gPSBwbGF0Zm9ybQogICAgICAgICBzZWxmLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1
cmF0aW9uCiAgICAgICAgIHNlbGYuYXJjaGl0ZWN0dXJlID0gYXJjaGl0ZWN0dXJlCiAgICAgICAg
IHNlbGYuYnVpbGRPbmx5ID0gYnVpbGRPbmx5Ci0gICAgICAgIHNlbGYuYWRkRmFjdG9yeUFyZ3Vt
ZW50cyhwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNo
aXRlY3R1cmU9YXJjaGl0ZWN0dXJlLCBidWlsZE9ubHk9YnVpbGRPbmx5KQorICAgICAgICBzZWxm
LlNWTk1pcnJvciA9IFNWTk1pcnJvcgorICAgICAgICBzZWxmLmFkZEZhY3RvcnlBcmd1bWVudHMo
cGxhdGZvcm09cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0
dXJlPWFyY2hpdGVjdHVyZSwgYnVpbGRPbmx5PWJ1aWxkT25seSwgU1ZOTWlycm9yPVNWTk1pcnJv
cikKIAogICAgIGRlZiBzdGFydChzZWxmKToKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgicGxh
dGZvcm0iLCBzZWxmLnBsYXRmb3JtKQpAQCAtMTA3LDIwICsxMDgsMjYgQEAgY2xhc3MgQ29uZmln
dXJlQnVpbGQoYnVpbGRzdGVwLkJ1aWxkU3RlcCk6CiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHko
ImNvbmZpZ3VyYXRpb24iLCBzZWxmLmNvbmZpZ3VyYXRpb24pCiAgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoImFyY2hpdGVjdHVyZSIsIHNlbGYuYXJjaGl0ZWN0dXJlKQogICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCJidWlsZE9ubHkiLCBzZWxmLmJ1aWxkT25seSkKKyAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgiU1ZOTWlycm9yIiwgc2VsZi5TVk5NaXJyb3IpCiAgICAgICAgIHNlbGYuZmluaXNo
ZWQoU1VDQ0VTUykKICAgICAgICAgcmV0dXJuIGRlZmVyLnN1Y2NlZWQoTm9uZSkKIAogCiBjbGFz
cyBDaGVja091dFNvdXJjZShzb3VyY2UuU1ZOKToKLSAgICBiYXNlVVJMID0gImh0dHA6Ly9zdm4u
d2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtpdC8iCiAgICAgbW9kZSA9ICJ1cGRhdGUiCi0gICAg
ZGVmIF9faW5pdF9fKHNlbGYsICoqa3dhcmdzKToKLSAgICAgICAga3dhcmdzWydiYXNlVVJMJ10g
PSBzZWxmLmJhc2VVUkwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgU1ZOTWlycm9yLCAqKmt3YXJn
cyk6CisgICAgICAgIGt3YXJnc1snYmFzZVVSTCddID0gU1ZOTWlycm9yIG9yICJodHRwOi8vc3Zu
LndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvIgogICAgICAgICBrd2FyZ3NbJ2RlZmF1bHRC
cmFuY2gnXSA9ICJ0cnVuayIKICAgICAgICAga3dhcmdzWydtb2RlJ10gPSBzZWxmLm1vZGUKICAg
ICAgICAgc291cmNlLlNWTi5fX2luaXRfXyhzZWxmLCAqKmt3YXJncykKKyAgICAgICAgc2VsZi5h
ZGRGYWN0b3J5QXJndW1lbnRzKFNWTk1pcnJvcj1TVk5NaXJyb3IpCiAKLQorY2xhc3MgV2FpdEZv
clNWTlNlcnZlcihzaGVsbC5TaGVsbENvbW1hbmQpOgorICAgIG5hbWUgPSAid2FpdC1mb3Itc3Zu
LXNlcnZlciIKKyAgICBjb21tYW5kID0gWyJweXRob24iLCAiLi9Ub29scy9CdWlsZFNsYXZlU3Vw
cG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5IiwgIi1yIiwgV2l0aFByb3BlcnRpZXMoIiUocmV2
aXNpb24pcyIpLCAiLXMiLCBXaXRoUHJvcGVydGllcygiJShTVk5NaXJyb3IpcyIpXQorICAgIGRl
c2NyaXB0aW9uID0gWyJ3YWl0aW5nIGZvciBTVk4gc2VydmVyIl0KKyAgICBkZXNjcmlwdGlvbkRv
bmUgPSBbIlNWTiBzZXJ2ZXIgaXMgcmVhZHkiXQorICAgIGhhbHRPbkZhaWx1cmUgPSBUcnVlCiAK
IGNsYXNzIEluc3RhbGxXaW4zMkRlcGVuZGVuY2llcyhzaGVsbC5Db21waWxlKToKICAgICBkZXNj
cmlwdGlvbiA9IFsiaW5zdGFsbGluZyBkZXBlbmRlbmNpZXMiXQpAQCAtNjg1LDEwICs2OTIsMTIg
QEAgY2xhc3MgRXh0cmFjdFRlc3RSZXN1bHRzQW5kTGVha3MoRXh0cmFjdFRlc3RSZXN1bHRzKToK
IAogCiBjbGFzcyBGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKLSAgICBkZWYgX19pbml0
X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIGJ1aWxkT25s
eSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNo
aXRlY3R1cmVzLCBidWlsZE9ubHksIFNWTk1pcnJvcik6CiAgICAgICAgIGZhY3RvcnkuQnVpbGRG
YWN0b3J5Ll9faW5pdF9fKHNlbGYpCi0gICAgICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWls
ZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRl
Y3R1cmU9IiAiLmpvaW4oYXJjaGl0ZWN0dXJlcyksIGJ1aWxkT25seT1idWlsZE9ubHkpKQotICAg
ICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRTb3VyY2UoKSkKKyAgICAgICAgc2VsZi5hZGRTdGVw
KENvbmZpZ3VyZUJ1aWxkKHBsYXRmb3JtPXBsYXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZT0iICIuam9pbihhcmNoaXRlY3R1cmVzKSwgYnVpbGRPbmx5PWJ1
aWxkT25seSwgU1ZOTWlycm9yPVNWTk1pcnJvcikpCisgICAgICAgIGlmIGJvb2woU1ZOTWlycm9y
KToKKyAgICAgICAgICAgIHNlbGYuYWRkU3RlcChXYWl0Rm9yU1ZOU2VydmVyKCkpCisgICAgICAg
IHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZShTVk5NaXJyb3I9U1ZOTWlycm9yKSkKICAgICAg
ICAgIyBUaGVyZSBhcmUgbXVsdGlwbGUgUXQgc2xhdmVzIHJ1bm5pbmcgb24gc2FtZSBtYWNoaW5l
cywgc28gYnVpbGRzbGF2ZXMgc2hvdWxkbid0IGtpbGwgdGhlIHByb2Nlc3NlcyBvZiBvdGhlciBz
bGF2ZXMuCiAgICAgICAgIGlmIG5vdCBwbGF0Zm9ybS5zdGFydHN3aXRoKCJxdCIpOgogICAgICAg
ICAgICAgc2VsZi5hZGRTdGVwKEtpbGxPbGRQcm9jZXNzZXMoKSkKQEAgLTcwMyw4ICs3MTIsOCBA
QCBjbGFzcyBGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0b3J5KToKIAogCiBjbGFzcyBCdWlsZEZh
Y3RvcnkoRmFjdG9yeSk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1
cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCB0cmlnZ2Vycz1Ob25lKToKLSAgICAgICAgRmFjdG9yeS5f
X2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgVHJ1
ZSkKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hp
dGVjdHVyZXMsIHRyaWdnZXJzPU5vbmUsIFNWTk1pcnJvcj1Ob25lKToKKyAgICAgICAgRmFjdG9y
eS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywg
VHJ1ZSwgU1ZOTWlycm9yKQogICAgICAgICBzZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdCgpKQog
ICAgICAgICBpZiB0cmlnZ2VyczoKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChBcmNoaXZlQnVp
bHRQcm9kdWN0KCkpCkBAIC03MjIsOCArNzMxLDggQEAgZGVmIHBpY2tMYXRlc3RCdWlsZChidWls
ZGVyLCByZXF1ZXN0cyk6CiBjbGFzcyBUZXN0RmFjdG9yeShGYWN0b3J5KToKICAgICBUZXN0Q2xh
c3MgPSBSdW5XZWJLaXRUZXN0cwogICAgIEV4dHJhY3RUZXN0UmVzdWx0c0NsYXNzID0gRXh0cmFj
dFRlc3RSZXN1bHRzCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0
aW9uLCBhcmNoaXRlY3R1cmVzKToKLSAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0
Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgRmFsc2UpCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJy
b3I9Tm9uZSk6CisgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZp
Z3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCBTVk5NaXJyb3IpCiAgICAgICAgIGlmIHBs
YXRmb3JtLnN0YXJ0c3dpdGgoImNocm9taXVtIik6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAo
Q2xlYW51cENocm9taXVtQ3Jhc2hMb2dzKCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChEb3dubG9h
ZEJ1aWx0UHJvZHVjdCgpKQpAQCAtNzU1LDggKzc2NCw4IEBAIGNsYXNzIFRlc3RGYWN0b3J5KEZh
Y3RvcnkpOgogY2xhc3MgQnVpbGRBbmRUZXN0RmFjdG9yeShGYWN0b3J5KToKICAgICBUZXN0Q2xh
c3MgPSBSdW5XZWJLaXRUZXN0cwogICAgIEV4dHJhY3RUZXN0UmVzdWx0c0NsYXNzID0gRXh0cmFj
dFRlc3RSZXN1bHRzCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0
aW9uLCBhcmNoaXRlY3R1cmVzLCB0cmlnZ2Vycz1Ob25lLCAqKmt3YXJncyk6Ci0gICAgICAgIEZh
Y3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVy
ZXMsIEZhbHNlLCAqKmt3YXJncykKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNv
bmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIHRyaWdnZXJzPU5vbmUsIFNWTk1pcnJvcj1Ob25l
LCAqKmt3YXJncyk6CisgICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNv
bmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCBTVk5NaXJyb3IsICoqa3dhcmdzKQog
ICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCJjaHJvbWl1bSIpOgogICAgICAgICAgICAg
c2VsZi5hZGRTdGVwKENsZWFudXBDaHJvbWl1bUNyYXNoTG9ncykKICAgICAgICAgc2VsZi5hZGRT
dGVwKENvbXBpbGVXZWJLaXQoKSkKQEAgLTc5OSwzMSArODA4LDMxIEBAIGNsYXNzIFRlc3RXZWJL
aXQyRmFjdG9yeShUZXN0RmFjdG9yeSk6CiAgICAgVGVzdENsYXNzID0gUnVuV2ViS2l0MlRlc3Rz
CiAKIGNsYXNzIEJ1aWxkQW5kUGVyZlRlc3RGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgKiprd2Fy
Z3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0
aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9u
ZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBj
b25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3YXJncykK
ICAgICAgICAgaWYgcGxhdGZvcm0uc3RhcnRzd2l0aCgiY2hyb21pdW0iKToKICAgICAgICAgICAg
IHNlbGYuYWRkU3RlcChDbGVhbnVwQ2hyb21pdW1DcmFzaExvZ3MpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChDb21waWxlV2ViS2l0KCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChSdW5BbmRVcGxvYWRQ
ZXJmVGVzdHMoKSkKIAogY2xhc3MgQnVpbGRBbmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5KEZhY3Rv
cnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJj
aGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBs
YXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1
cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9f
KHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZO
TWlycm9yLCAqKmt3YXJncykKICAgICAgICAgaWYgcGxhdGZvcm0uc3RhcnRzd2l0aCgiY2hyb21p
dW0iKToKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChDbGVhbnVwQ2hyb21pdW1DcmFzaExvZ3Mp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KCkpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChSdW5BbmRVcGxvYWRQZXJmVGVzdHNXZWJLaXQyKCkpCiAKIGNsYXNzIERvd25sb2FkQW5k
UGVyZlRlc3RGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9y
bSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAgICAgICBGYWN0
b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVz
LCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25m
aWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAg
ICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNo
aXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5hZGRT
dGVwKERvd25sb2FkQnVpbHRQcm9kdWN0KCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChFeHRyYWN0
QnVpbHRQcm9kdWN0KCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChSdW5BbmRVcGxvYWRQZXJmVGVz
dHMoKSkKIAogY2xhc3MgRG93bmxvYWRBbmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5KEZhY3Rvcnkp
OgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0
ZWN0dXJlcywgKiprd2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVz
LCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNl
bGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWly
cm9yLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5hZGRTdGVwKERvd25sb2FkQnVpbHRQcm9kdWN0
KQogICAgICAgICBzZWxmLmFkZFN0ZXAoRXh0cmFjdEJ1aWx0UHJvZHVjdCkKICAgICAgICAgc2Vs
Zi5hZGRTdGVwKFJ1bkFuZFVwbG9hZFBlcmZUZXN0c1dlYktpdDIpCkBAIC04OTAsMTMgKzg5OSwx
MyBAQCBkZWYgbG9hZEJ1aWxkZXJDb25maWcoYyk6CiAKICAgICAgICAgYnVpbGRlclR5cGUgPSBi
dWlsZGVyLnBvcCgndHlwZScpCiAgICAgICAgIGZhY3RvcnkgPSBnbG9iYWxzKClbIiVzRmFjdG9y
eSIgJSBidWlsZGVyVHlwZV0KLSAgICAgICAgZmFjdG9yeUFyZ3MgPSBbXQotICAgICAgICBmb3Ig
a2V5IGluICJwbGF0Zm9ybSIsICJjb25maWd1cmF0aW9uIiwgImFyY2hpdGVjdHVyZXMiLCAidHJp
Z2dlcnMiOgorICAgICAgICBmYWN0b3J5a3dhcmdzID0ge30KKyAgICAgICAgZm9yIGtleSBpbiAi
cGxhdGZvcm0iLCAiY29uZmlndXJhdGlvbiIsICJhcmNoaXRlY3R1cmVzIiwgInRyaWdnZXJzIiwg
IlNWTk1pcnJvciI6CiAgICAgICAgICAgICB2YWx1ZSA9IGJ1aWxkZXIucG9wKGtleSwgTm9uZSkK
ICAgICAgICAgICAgIGlmIHZhbHVlOgotICAgICAgICAgICAgICAgIGZhY3RvcnlBcmdzLmFwcGVu
ZCh2YWx1ZSkKKyAgICAgICAgICAgICAgICBmYWN0b3J5a3dhcmdzW2tleV0gPSB2YWx1ZQogCi0g
ICAgICAgIGJ1aWxkZXJbImZhY3RvcnkiXSA9IGZhY3RvcnkoKmZhY3RvcnlBcmdzKQorICAgICAg
ICBidWlsZGVyWyJmYWN0b3J5Il0gPSBmYWN0b3J5KCoqZmFjdG9yeWt3YXJncykKIAogICAgICAg
ICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCdjaHJvbWl1bScpOgogICAgICAgICAgICAgYnVpbGRl
clsiY2F0ZWdvcnkiXSA9ICdDaHJvbWl1bScKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weSBiL1Rv
b2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191
bml0dGVzdC5weQppbmRleCA4NTczNDQwMDVlNzdhNTVjYjc2MWY4NTIyMDc0ZmUwMWE4NzhkMzRm
Li5kMTYxNGMwZTBjNzEwNTA3MDY3YmUzMDI0Y2MzMDhlODUzOTY5NDIyIDEwMDc1NQotLS0gYS9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXJjZmdf
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvbWFzdGVyY2ZnX3VuaXR0ZXN0LnB5CkBAIC0zMzIsNiArMzMyLDMxIEBAIFRlc3Rz
IHRoYXQgdGltZWQgb3V0OgogIiIiKQogCiAKK2NsYXNzIFNWTk1pcnJvclRlc3QodW5pdHRlc3Qu
VGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5jb25maWcgPSBq
c29uLmxvYWQob3BlbignY29uZmlnLmpzb24nKSkKKworICAgIGRlZiBnZXRfU1ZOTWlycm9yRnJv
bUNvbmZpZyhzZWxmLCBidWlsZGVyTmFtZSk6CisgICAgICAgIFNWTk1pcnJvciA9IE5vbmUKKyAg
ICAgICAgZm9yIGJ1aWxkZXIgaW4gc2VsZi5jb25maWdbJ2J1aWxkZXJzJ106CisgICAgICAgICAg
ICBpZiBidWlsZGVyWyduYW1lJ10gPT0gYnVpbGRlck5hbWU6CisgICAgICAgICAgICAgICAgU1ZO
TWlycm9yID0gYnVpbGRlci5wb3AoJ1NWTk1pcnJvcicsICdodHRwOi8vc3ZuLndlYmtpdC5vcmcv
cmVwb3NpdG9yeS93ZWJraXQvJykKKyAgICAgICAgcmV0dXJuIFNWTk1pcnJvcgorCisgICAgZGVm
IHRlc3RfQ2hlY2tPdXRTb3VyY2Uoc2VsZik6CisgICAgICAgICMgU1ZOIG1pcnJvciBmZWF0dXJl
IGlzbid0IHVuaXR0ZXN0YWJsZSBub3cgd2l0aCBzb3VyY2Uub2xkc291cmNlLlNWTig9PXNvdXJj
ZS5TVk4pICwgb25seSB3aXRoIHNvdXJjZS5zdm4uU1ZOKD09U1ZOKQorICAgICAgICAjIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTg4NworICAgICAgICBpZiBpc3N1
YmNsYXNzKENoZWNrT3V0U291cmNlLCBzb3VyY2UuU1ZOKToKKyAgICAgICAgICAgIHJldHVybgor
CisgICAgICAgICMgQ29tcGFyZSBDaGVja091dFNvdXJjZS5iYXNlVVJMIHdpdGggU1ZOTWlycm9y
IChvciB3aXRoIHRoZSBkZWZhdWx0IFVSTCkgaW4gY29uZmlnLmpzb24gZm9yIGFsbCBidWlsZGVy
cworICAgICAgICBmb3IgYnVpbGRlciBpbiBjWydidWlsZGVycyddOgorICAgICAgICAgICAgZm9y
IGJ1aWxkU3RlcEZhY3RvcnksIGt3YXJncyBpbiBidWlsZGVyWydmYWN0b3J5J10uc3RlcHM6Cisg
ICAgICAgICAgICAgICAgaWYgc3RyKGJ1aWxkU3RlcEZhY3RvcnkpLnNwbGl0KCcuJylbLTFdID09
ICdDaGVja091dFNvdXJjZSc6CisgICAgICAgICAgICAgICAgICAgICAgICBDaGVja091dFNvdXJj
ZUluc3RhbmNlID0gYnVpbGRTdGVwRmFjdG9yeSgqKmt3YXJncykKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKENoZWNrT3V0U291cmNlSW5zdGFuY2UuYmFzZVVSTCwg
c2VsZi5nZXRfU1ZOTWlycm9yRnJvbUNvbmZpZyhidWlsZGVyWyduYW1lJ10pKQorCisKIGNsYXNz
IEJ1aWxkU3RlcHNDb25zdHJ1Y3RvclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICMgIlBh
c3NpbmcgYSBCdWlsZFN0ZXAgc3ViY2xhc3MgdG8gZmFjdG9yeS5hZGRTdGVwIGlzIGRlcHJlY2F0
ZWQuIFBsZWFzZSBwYXNzIGEgQnVpbGRTdGVwIGluc3RhbmNlIGluc3RlYWQuICBTdXBwb3J0IHdp
bGwgYmUgZHJvcHBlZCBpbiB2MC44LjcuIgogICAgICMgSXQgY2hlY2tzIGlmIGFsbCBidWlsZGVy
J3MgYWxsIGJ1aWxkc3RlcHMgY2FuIGJlIGluc2FudGlhdGVkIGFmdGVyIG1pZ3JhdGlvbi4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53
ZWJraXQub3JnLWNvbmZpZy93YWl0LWZvci1TVk4tc2VydmVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOTBh
YjJkZjVhZTIwZTg3NzQ1N2U1MTJiMzU2ZTExNmQyN2UzZWIKLS0tIC9kZXYvbnVsbAorKysgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy93YWl0LWZvci1T
Vk4tc2VydmVyLnB5CkBAIC0wLDAgKzEsNjcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIwor
IyBDb3B5cmlnaHQgKEMpIDIwMDYgSm9obiBQeWUKKyMgQ29weXJpZ2h0IChDKSAyMDEyIFVuaXZl
cnNpdHkgb2YgU3plZ2VkCisjCisjIFRoaXMgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIyB2ZXJzaW9uIDIuMSBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3Vu
ZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjEx
MS0xMzA3CisjIFVTQQorCitmcm9tIG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIKK2ltcG9y
dCBleGNlcHRpb25zCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQoraW1wb3J0IHhtbC5kb20ubWlu
aWRvbQoraW1wb3J0IG9zCitpbXBvcnQgc3VicHJvY2VzcworCisKK2RlZiBnZXRMYXRlc3RTVk5S
ZXZpc2lvbihTVk5TZXJ2ZXIpOgorICAgIHRyeToKKyAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9w
ZW4oWyJzdm4iLCAibG9nIiwgIi0tbm9uLWludGVyYWN0aXZlIiwgIi0tdmVyYm9zZSIsICItLXht
bCIsICItLWxpbWl0PTEiLCBTVk5TZXJ2ZXJdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRl
cnI9c3VicHJvY2Vzcy5TVERPVVQpCisgICAgICAgIHJlc3BvbnNlID0gcC5jb21tdW5pY2F0ZSgp
WzBdCisgICAgICAgIGRvYyA9IHhtbC5kb20ubWluaWRvbS5wYXJzZVN0cmluZyhyZXNwb25zZSkK
KyAgICAgICAgZWwgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxvZ2VudHJ5IilbMF0KKyAg
ICAgICAgcmV0dXJuIGVsLmdldEF0dHJpYnV0ZSgicmV2aXNpb24iKQorICAgIGV4Y2VwdCB4bWwu
cGFyc2Vycy5leHBhdC5FeHBhdEVycm9yLCBlOgorICAgICAgICBwcmludCAiRkFJTEVEIFRPIFBB
UlNFICdzdm4gbG9nJyBYTUw6IgorICAgICAgICBwcmludCBzdHIoZSkKKyAgICAgICAgcHJpbnQg
Ii0tLS0iCisgICAgICAgIHByaW50ICJSRUNFSVZFRCBURVhUOiIKKyAgICAgICAgcHJpbnQgcmVz
cG9uc2UKKyAgICAgICAgc3lzLmV4aXQoMSkKKworCitkZWYgd2FpdEZvclNWTlJldmlzaW9uKFNW
TlNlcnZlciwgcmV2aXNpb24pOgorICAgIGlmIG5vdCByZXZpc2lvbjoKKyAgICAgICAgbGF0ZXN0
UmV2aXNpb24gPSBpbnQoZ2V0TGF0ZXN0U1ZOUmV2aXNpb24oU1ZOU2VydmVyKSkKKyAgICAgICAg
cHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNpb24gb24gJXMgaXMgciVkLiBEb24ndCB3YWl0LCBiZWNh
dXNlIHJldmlzaW9uIGFyZ3VtZW50IGlzIGVtcHR5LiIgJSAoU1ZOU2VydmVyLCBsYXRlc3RSZXZp
c2lvbikKKyAgICAgICAgcmV0dXJuCisKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICBsYXRlc3RS
ZXZpc2lvbiA9IGludChnZXRMYXRlc3RTVk5SZXZpc2lvbihTVk5TZXJ2ZXIpKQorICAgICAgICBp
ZiBsYXRlc3RSZXZpc2lvbiA8IHJldmlzaW9uOgorICAgICAgICAgICAgcHJpbnQgIkxhdGVzdCBT
Vk4gcmV2aXNpb24gb24gJXMgaXMgciVkLCBidXQgd2UgYXJlIHdhaXRpbmcgZm9yIHIlZC4gU2xl
ZXBpbmcgZm9yIDUgc2Vjb25kcy4iICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlz
aW9uKQorICAgICAgICAgICAgdGltZS5zbGVlcCg1KQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNpb24gb24gJXMgaXMgciVkLCB3aGljaCBpcyBuZXdl
ciBvciBlcXVhbCB0aGFuIHIlZC4iICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlz
aW9uKQorICAgICAgICAgICAgYnJlYWsKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgor
ICAgIHBhcnNlciA9IE9wdGlvblBhcnNlcigpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi1yIiwg
Ii0tcmV2aXNpb24iLCBkZXN0PSJyZXZpc2lvbiIsIHR5cGU9ImludCIsIGhlbHA9IlNWTiByZXZp
c2lvbiBudW1iZXIiKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCItcyIsICItLXN2bi1zZXJ2ZXIi
LCBkZXN0PSJTVk5TZXJ2ZXIiLCBoZWxwPSJTVk4gc2VydmVyIikKKyAgICBvcHRpb25zLCBhcmdz
ID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIHdhaXRGb3JTVk5SZXZpc2lvbihvcHRpb25zLlNW
TlNlcnZlciwgb3B0aW9ucy5yZXZpc2lvbikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163563</attachid>
            <date>2012-09-12 02:39:30 -0700</date>
            <delta_ts>2012-09-12 03:47:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85887-20120912113903.patch</filename>
            <type>text/plain</type>
            <size>19323</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjgwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTg2ZjIwYTFhZWI4NTZlMjg1YmFiMGJjMzc0MWQwYjZk
NTRmYjY2Ny4uYTNmY2Y1MjcxYzVkNDAwOTdiZWIwYWRiODVkNWU2MWZkNDczYmE5YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDEyLTA5LTEyICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgQWRkIFNWTiBtaXJyb3IgaGFuZGxpbmcgZmVhdHVyZSB0byBidWlsZC53ZWJraXQu
b3JnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTg4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpzb246IEFkZCBT
Vk4gbWlycm9ycyBmb3IgUXQgYnVpbGRzbGF2ZXMgaG9zdGVkIGluIFN6ZWdlZC4KKyAgICAgICAg
KiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnOgor
ICAgICAgICAoQ29uZmlndXJlQnVpbGQuX19pbml0X18pOiBBZGQgU1ZOTWlycm9yIHByb3BlcnR5
IHRvIGJlIGFibGUgdG8gd2F0Y2ggd2hpY2ggc2xhdmVzIHVzZSB3aGljaCBtaXJyb3Igb24gYnVp
bGQud2Via2l0Lm9yZy4KKyAgICAgICAgKENvbmZpZ3VyZUJ1aWxkLnN0YXJ0KToKKyAgICAgICAg
KENoZWNrT3V0U291cmNlLl9faW5pdF9fKTogU2V0IGJhc2VVUkwgdG8gdGhlIFNWTk1pcnJvciBv
ciB0aGUgZGVmYXVsdCBodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvCisg
ICAgICAgIChXYWl0Rm9yU1ZOU2VydmVyKTogQWRkIG5ldyBidWlsZHN0ZXAgZm9yIHdhaXRpbmcg
dGhlIFNWTk1pcnJvciB0byBiZSBpbiBzeW5jIHdpdGggaHR0cDovL3N2bi53ZWJraXQub3JnL3Jl
cG9zaXRvcnkvd2Via2l0LworICAgICAgICAoRmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChC
dWlsZEZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoVGVzdEZhY3RvcnkuX19pbml0X18pOgor
ICAgICAgICAoQnVpbGRBbmRUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFu
ZFBlcmZUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFuZFBlcmZUZXN0V2Vi
S2l0MkZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdEZhY3Rv
cnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5
Ll9faW5pdF9fKToKKyAgICAgICAgKGxvYWRCdWlsZGVyQ29uZmlnKTogVXNlIGt3YXJncyBpbnN0
ZWFkIG9mIGFyZ3MgdG8gYmUgYWJsZSB0byBhZGQgdGhlIG9wdGlvbmFsIFNWTk1pcnJvciBmYWN0
b3J5IGFyZ3VtZW50LgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weToKKyAgICAgICAgKFNWTk1pcnJvclRlc3Qp
OgorICAgICAgICAoU1ZOTWlycm9yVGVzdC5zZXRVcCk6IExvYWQgY29uZmlnLmpzb24gb25jZSBh
dCBzdGFydHVwLgorICAgICAgICAoU1ZOTWlycm9yVGVzdC5nZXRfU1ZOTWlycm9yRnJvbUNvbmZp
Zyk6IEdldCB0aGUgU1ZOTWlycm9yIGZyb20gY29uZmlnLmpzb24gZm9yIGEgZ2l2ZW4gYnVpbGRz
bGF2ZS4KKyAgICAgICAgKFNWTk1pcnJvclRlc3QudGVzdF9DaGVja091dFNvdXJjZSk6IENvbXBh
cmUgQ2hlY2tPdXRTb3VyY2UuYmFzZVVSTCB3aXRoIFNWTk1pcnJvciBpbiBjb25maWcuanNvbiBm
b3IgYWxsIGJ1aWxkZXJzCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvd2FpdC1mb3ItU1ZOLXNlcnZlci5weTogQWRkZWQuCisgICAgICAgIChnZXRM
YXRlc3RTVk5SZXZpc2lvbik6IEdldCB0aGUgbGF0ZXN0IFNWTiByZXZpc29uIGZyb20gdGhlIGdp
dmVuIHNlcnZlci4KKyAgICAgICAgKHdhaXRGb3JTVk5SZXZpc2lvbik6IFdhaXQgdW50aWwgdGhl
IGdpdmVuIFNWTiByZXZpc2lvbiBpcyBjb21taXR0ZWQgdG8gdGhlIGdpdmVuIHNlcnZlci4gSXQg
ZG9lc24ndCB3YWl0IGlmIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZOIHJl
dmlzaW9uIGlzIGVtcHR5IChmb3JjZSBidWlsZCB0cmlnZ2VyZWQgd2l0aG91dCByZXZpc2lvbikg
b3IgdGhlIHNlcnZlciBpcyB1bmF2YWlsYWJsZS4KKwogMjAxMi0wOS0xMiAgQ2hyaXN0b3BoZSBE
dW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtXSzJdW1dLVFJd
IFRlc3RSdW5uZXIgbmVlZHMgdG8gaW1wbGVtZW50IGR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdh
dGVDYWxsYmFja3MKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL2NvbmZpZy5qc29uIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpzb24KaW5kZXggMjlhYzkwMmIzNWEzYzMwNTFl
OGVmYWI5OTg3MzE1NWVkYTIxNmIzMS4uN2IzMGEwYWE3NThiYTZiZGE2YjgzNWMwZWIzZDhjMDU0
M2FkMjQxMCAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvY29uZmlnLmpzb24KKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpzb24KQEAgLTIwMSwzNSArMjAxLDQyIEBACiAg
ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJRdCBM
aW51eCBSZWxlYXNlIiwgInR5cGUiOiAiQnVpbGRBbmRUZXN0IiwgImJ1aWxkZGlyIjogInF0LWxp
bnV4LXJlbGVhc2UiLAogICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC00Ljgi
LCAiY29uZmlndXJhdGlvbiI6ICJyZWxlYXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwK
KyAgICAgICAgICAgICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3pl
Z2VkLmh1LyIsCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1s
aW51eC0xIl0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IExpbnV4IFJlbGVhc2UgbWluaW1hbCIs
ICJ0eXBlIjogIkJ1aWxkIiwgImJ1aWxkZGlyIjogInF0LWxpbnV4LXJlbGVhc2UtbWluaW1hbCIs
CisgICAgICAgICAgICAgICAgICAgICAgIlNWTk1pcnJvciI6ICJzdm46Ly9yYWluLmluZi51LXN6
ZWdlZC5odS8iLAogICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC00LjgiLCAi
Y29uZmlndXJhdGlvbiI6ICJyZWxlYXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwKICAg
ICAgICAgICAgICAgICAgICAgICAic2xhdmVuYW1lcyI6IFsic3plZ2VkLWxpbnV4LTIiXQogICAg
ICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAiUXQgTGludXggNjQtYml0IFJlbGVhc2UgKFBlcmYpIiwgInR5cGUi
OiAiQnVpbGRBbmRQZXJmVGVzdCIsICJidWlsZGRpciI6ICJxdC1saW51eC02NC1yZWxlYXNlLXBl
cmYtdGVzdHMiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFp
bi5pbmYudS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAi
cXQtNS4wLXdrMSIsICJjb25maWd1cmF0aW9uIjogInJlbGVhc2UiLCAiYXJjaGl0ZWN0dXJlcyI6
IFsieDg2XzY0Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdl
ZC1saW51eC0zIl0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IExpbnV4IDY0LWJpdCBSZWxlYXNl
IChXZWJLaXQyIFBlcmYpIiwgInR5cGUiOiAiQnVpbGRBbmRQZXJmVGVzdFdlYktpdDIiLCAiYnVp
bGRkaXIiOiAicXQtbGludXgtNjQtcmVsZWFzZS13azItcGVyZi10ZXN0cyIsCisgICAgICAgICAg
ICAgICAgICAgICAgIlNWTk1pcnJvciI6ICJzdm46Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAog
ICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC01LjAtd2syIiwgImNvbmZpZ3Vy
YXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRlY3R1cmVzIjogWyJ4ODZfNjQiXSwKICAgICAgICAg
ICAgICAgICAgICAgICAic2xhdmVuYW1lcyI6IFsic3plZ2VkLWxpbnV4LTUiXQogICAgICAgICAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiUXQgTGludXggQVJNdjcgUmVsZWFzZSIsICJ0eXBlIjogIkJ1aWxkIiwgImJ1
aWxkZGlyIjogInF0LWxpbnV4LWFybXY3LXJlbGVhc2UiLAorICAgICAgICAgICAgICAgICAgICAg
ICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFpbi5pbmYudS1zemVnZWQuaHU6MzM4OS8iLAogICAgICAg
ICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC1hcm0iLCAiY29uZmlndXJhdGlvbiI6ICJy
ZWxlYXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImFybXY3Il0sCiAgICAgICAgICAgICAgICAgICAg
ICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1saW51eC00Il0KICAgICAgICAgICAgICAgICAgICAg
fSwKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
IlF0IFdpbmRvd3MgMzItYml0IFJlbGVhc2UiLCAidHlwZSI6ICJCdWlsZCIsICJidWlsZGRpciI6
ICJxdC13aW5kb3dzLTMyYml0LXJlbGVhc2UiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5N
aXJyb3IiOiAic3ZuOi8vcmFpbi5pbmYudS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAg
ICAgICAicGxhdGZvcm0iOiAicXQtd2luIiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJh
cmNoaXRlY3R1cmVzIjogWyJpMzg2Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFt
ZXMiOiBbInN6ZWdlZC13aW5kb3dzLTEiXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUXQgV2luZG93
cyAzMi1iaXQgRGVidWciLCAidHlwZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC13aW5kb3dz
LTMyYml0LWRlYnVnIiwKKyAgICAgICAgICAgICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjov
L3JhaW4uaW5mLnUtc3plZ2VkLmh1LyIsCiAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3Jt
IjogInF0LXdpbiIsICJjb25maWd1cmF0aW9uIjogImRlYnVnIiwgImFyY2hpdGVjdHVyZXMiOiBb
ImkzODYiXSwKICAgICAgICAgICAgICAgICAgICAgICAic2xhdmVuYW1lcyI6IFsic3plZ2VkLXdp
bmRvd3MtMiJdCiAgICAgICAgICAgICAgICAgICAgIH0sCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnIGIvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZwppbmRl
eCA4MzQxNGEwZWZjMDI0YWI4MzU4MTg3NGU3ZWQxOTRiMTZkODFiYjY1Li43ZmI2NDYyNDJlZmEx
NTUzNWExMzU5ZWNmOTRjZGVmM2RmNTg1NjZkIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnCisrKyBiL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3Rlci5jZmcKQEAgLTky
LDE0ICs5MiwxNSBAQCBjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0ZXAuQnVpbGRTdGVwKToK
ICAgICBuYW1lID0gImNvbmZpZ3VyZSBidWlsZCIKICAgICBkZXNjcmlwdGlvbiA9IFsiY29uZmln
dXJpbmcgYnVpbGQiXQogICAgIGRlc2NyaXB0aW9uRG9uZSA9IFsiY29uZmlndXJlZCBidWlsZCJd
Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRl
Y3R1cmUsIGJ1aWxkT25seSwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZSwgYnVpbGRPbmx5LCBTVk5N
aXJyb3IsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIGJ1aWxkc3RlcC5CdWlsZFN0ZXAuX19p
bml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQogICAgICAgICBzZWxmLnBsYXRmb3JtID0gcGxh
dGZvcm0uc3BsaXQoJy0nLCAxKVswXQogICAgICAgICBzZWxmLmZ1bGxQbGF0Zm9ybSA9IHBsYXRm
b3JtCiAgICAgICAgIHNlbGYuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24KICAgICAgICAg
c2VsZi5hcmNoaXRlY3R1cmUgPSBhcmNoaXRlY3R1cmUKICAgICAgICAgc2VsZi5idWlsZE9ubHkg
PSBidWlsZE9ubHkKLSAgICAgICAgc2VsZi5hZGRGYWN0b3J5QXJndW1lbnRzKHBsYXRmb3JtPXBs
YXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZT1hcmNoaXRl
Y3R1cmUsIGJ1aWxkT25seT1idWlsZE9ubHkpCisgICAgICAgIHNlbGYuU1ZOTWlycm9yID0gU1ZO
TWlycm9yCisgICAgICAgIHNlbGYuYWRkRmFjdG9yeUFyZ3VtZW50cyhwbGF0Zm9ybT1wbGF0Zm9y
bSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmU9YXJjaGl0ZWN0dXJl
LCBidWlsZE9ubHk9YnVpbGRPbmx5LCBTVk5NaXJyb3I9U1ZOTWlycm9yKQogCiAgICAgZGVmIHN0
YXJ0KHNlbGYpOgogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCJwbGF0Zm9ybSIsIHNlbGYucGxh
dGZvcm0pCkBAIC0xMDgsMjAgKzEwOSwyNiBAQCBjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0
ZXAuQnVpbGRTdGVwKToKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgiYXJjaGl0ZWN0dXJlIiwg
c2VsZi5hcmNoaXRlY3R1cmUpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoImJ1aWxkT25seSIs
IHNlbGYuYnVpbGRPbmx5KQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCJzaG91bGRBYm9ydEVh
cmx5IiwgVHJ1ZSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgiU1ZOTWlycm9yIiwgc2VsZi5T
Vk5NaXJyb3IpCiAgICAgICAgIHNlbGYuZmluaXNoZWQoU1VDQ0VTUykKICAgICAgICAgcmV0dXJu
IGRlZmVyLnN1Y2NlZWQoTm9uZSkKIAogCiBjbGFzcyBDaGVja091dFNvdXJjZShzb3VyY2UuU1ZO
KToKLSAgICBiYXNlVVJMID0gImh0dHA6Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtp
dC8iCiAgICAgbW9kZSA9ICJ1cGRhdGUiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICoqa3dhcmdz
KToKLSAgICAgICAga3dhcmdzWydiYXNlVVJMJ10gPSBzZWxmLmJhc2VVUkwKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgU1ZOTWlycm9yLCAqKmt3YXJncyk6CisgICAgICAgIGt3YXJnc1snYmFzZVVS
TCddID0gU1ZOTWlycm9yIG9yICJodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJr
aXQvIgogICAgICAgICBrd2FyZ3NbJ2RlZmF1bHRCcmFuY2gnXSA9ICJ0cnVuayIKICAgICAgICAg
a3dhcmdzWydtb2RlJ10gPSBzZWxmLm1vZGUKICAgICAgICAgc291cmNlLlNWTi5fX2luaXRfXyhz
ZWxmLCAqKmt3YXJncykKKyAgICAgICAgc2VsZi5hZGRGYWN0b3J5QXJndW1lbnRzKFNWTk1pcnJv
cj1TVk5NaXJyb3IpCiAKLQorY2xhc3MgV2FpdEZvclNWTlNlcnZlcihzaGVsbC5TaGVsbENvbW1h
bmQpOgorICAgIG5hbWUgPSAid2FpdC1mb3Itc3ZuLXNlcnZlciIKKyAgICBjb21tYW5kID0gWyJw
eXRob24iLCAiLi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5
IiwgIi1yIiwgV2l0aFByb3BlcnRpZXMoIiUocmV2aXNpb24pcyIpLCAiLXMiLCBXaXRoUHJvcGVy
dGllcygiJShTVk5NaXJyb3IpcyIpXQorICAgIGRlc2NyaXB0aW9uID0gWyJ3YWl0aW5nIGZvciBT
Vk4gc2VydmVyIl0KKyAgICBkZXNjcmlwdGlvbkRvbmUgPSBbIlNWTiBzZXJ2ZXIgaXMgcmVhZHki
XQorICAgIGhhbHRPbkZhaWx1cmUgPSBUcnVlCiAKIGNsYXNzIEluc3RhbGxXaW4zMkRlcGVuZGVu
Y2llcyhzaGVsbC5Db21waWxlKToKICAgICBkZXNjcmlwdGlvbiA9IFsiaW5zdGFsbGluZyBkZXBl
bmRlbmNpZXMiXQpAQCAtNjk3LDEwICs3MDQsMTIgQEAgY2xhc3MgRXh0cmFjdFRlc3RSZXN1bHRz
QW5kTGVha3MoRXh0cmFjdFRlc3RSZXN1bHRzKToKIAogCiBjbGFzcyBGYWN0b3J5KGZhY3Rvcnku
QnVpbGRGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBidWlsZE9ubHksIFNWTk1p
cnJvcik6CiAgICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCi0gICAg
ICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmln
dXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmU9IiAiLmpvaW4oYXJjaGl0ZWN0dXJl
cyksIGJ1aWxkT25seT1idWlsZE9ubHkpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRT
b3VyY2UoKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKENvbmZpZ3VyZUJ1aWxkKHBsYXRmb3JtPXBs
YXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZT0iICIuam9p
bihhcmNoaXRlY3R1cmVzKSwgYnVpbGRPbmx5PWJ1aWxkT25seSwgU1ZOTWlycm9yPVNWTk1pcnJv
cikpCisgICAgICAgIGlmIGJvb2woU1ZOTWlycm9yKToKKyAgICAgICAgICAgIHNlbGYuYWRkU3Rl
cChXYWl0Rm9yU1ZOU2VydmVyKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJj
ZShTVk5NaXJyb3I9U1ZOTWlycm9yKSkKICAgICAgICAgIyBUaGVyZSBhcmUgbXVsdGlwbGUgUXQg
c2xhdmVzIHJ1bm5pbmcgb24gc2FtZSBtYWNoaW5lcywgc28gYnVpbGRzbGF2ZXMgc2hvdWxkbid0
IGtpbGwgdGhlIHByb2Nlc3NlcyBvZiBvdGhlciBzbGF2ZXMuCiAgICAgICAgIGlmIG5vdCBwbGF0
Zm9ybS5zdGFydHN3aXRoKCJxdCIpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEtpbGxPbGRQ
cm9jZXNzZXMoKSkKQEAgLTcxNSw4ICs3MjQsOCBAQCBjbGFzcyBGYWN0b3J5KGZhY3RvcnkuQnVp
bGRGYWN0b3J5KToKIAogCiBjbGFzcyBCdWlsZEZhY3RvcnkoRmFjdG9yeSk6Ci0gICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCB0cmln
Z2Vycz1Ob25lKToKLSAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29u
ZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgVHJ1ZSkKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
cGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIHRyaWdnZXJzPU5vbmUsIFNW
Tk1pcnJvcj1Ob25lKToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwg
Y29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgVHJ1ZSwgU1ZOTWlycm9yKQogICAgICAgICBz
ZWxmLmFkZFN0ZXAoQ29tcGlsZVdlYktpdCgpKQogICAgICAgICBpZiB0cmlnZ2VyczoKICAgICAg
ICAgICAgIHNlbGYuYWRkU3RlcChBcmNoaXZlQnVpbHRQcm9kdWN0KCkpCkBAIC03MzQsOCArNzQz
LDggQEAgZGVmIHBpY2tMYXRlc3RCdWlsZChidWlsZGVyLCByZXF1ZXN0cyk6CiBjbGFzcyBUZXN0
RmFjdG9yeShGYWN0b3J5KToKICAgICBUZXN0Q2xhc3MgPSBSdW5XZWJLaXRUZXN0cwogICAgIEV4
dHJhY3RUZXN0UmVzdWx0c0NsYXNzID0gRXh0cmFjdFRlc3RSZXN1bHRzCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzKToKLSAgICAg
ICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0
ZWN0dXJlcywgRmFsc2UpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1
cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSk6CisgICAgICAgIEZhY3Rvcnku
X19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZh
bHNlLCBTVk5NaXJyb3IpCiAgICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoImNocm9taXVt
Iik6CiAgICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW51cENocm9taXVtQ3Jhc2hMb2dzKCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChEb3dubG9hZEJ1aWx0UHJvZHVjdCgpKQpAQCAtNzY3LDgg
Kzc3Niw4IEBAIGNsYXNzIFRlc3RGYWN0b3J5KEZhY3RvcnkpOgogY2xhc3MgQnVpbGRBbmRUZXN0
RmFjdG9yeShGYWN0b3J5KToKICAgICBUZXN0Q2xhc3MgPSBSdW5XZWJLaXRUZXN0cwogICAgIEV4
dHJhY3RUZXN0UmVzdWx0c0NsYXNzID0gRXh0cmFjdFRlc3RSZXN1bHRzCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCB0cmlnZ2Vy
cz1Ob25lLCAqKmt3YXJncyk6Ci0gICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCAqKmt3YXJncykKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMs
IHRyaWdnZXJzPU5vbmUsIFNWTk1pcnJvcj1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIEZhY3Rv
cnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMs
IEZhbHNlLCBTVk5NaXJyb3IsICoqa3dhcmdzKQogICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3
aXRoKCJjaHJvbWl1bSIpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENsZWFudXBDaHJvbWl1
bUNyYXNoTG9ncykKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJLaXQoKSkKQEAgLTgx
MSwzMSArODIwLDMxIEBAIGNsYXNzIFRlc3RXZWJLaXQyRmFjdG9yeShUZXN0RmFjdG9yeSk6CiAg
ICAgVGVzdENsYXNzID0gUnVuV2ViS2l0MlRlc3RzCiAKIGNsYXNzIEJ1aWxkQW5kUGVyZlRlc3RG
YWN0b3J5KEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmln
dXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5p
dF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwg
Kiprd2FyZ3MpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0
b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVz
LCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3YXJncykKICAgICAgICAgaWYgcGxhdGZvcm0uc3RhcnRz
d2l0aCgiY2hyb21pdW0iKToKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChDbGVhbnVwQ2hyb21p
dW1DcmFzaExvZ3MpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KCkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChSdW5BbmRVcGxvYWRQZXJmVGVzdHMoKSkKIAogY2xhc3MgQnVpbGRB
bmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAg
ICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNo
aXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2Fy
Z3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0
aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3YXJncykKICAgICAgICAg
aWYgcGxhdGZvcm0uc3RhcnRzd2l0aCgiY2hyb21pdW0iKToKICAgICAgICAgICAgIHNlbGYuYWRk
U3RlcChDbGVhbnVwQ2hyb21pdW1DcmFzaExvZ3MpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21w
aWxlV2ViS2l0KCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChSdW5BbmRVcGxvYWRQZXJmVGVzdHNX
ZWJLaXQyKCkpCiAKIGNsYXNzIERvd25sb2FkQW5kUGVyZlRlc3RGYWN0b3J5KEZhY3RvcnkpOgot
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0
dXJlcywgKiprd2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3Jt
LCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBT
Vk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYs
IHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9y
LCAqKmt3YXJncykKICAgICAgICAgc2VsZi5hZGRTdGVwKERvd25sb2FkQnVpbHRQcm9kdWN0KCkp
CiAgICAgICAgIHNlbGYuYWRkU3RlcChFeHRyYWN0QnVpbHRQcm9kdWN0KCkpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChSdW5BbmRVcGxvYWRQZXJmVGVzdHMoKSkKIAogY2xhc3MgRG93bmxvYWRBbmRQ
ZXJmVGVzdFdlYktpdDJGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBw
bGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAgICAg
ICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRl
Y3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3Jt
LCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3Mp
OgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3YXJncykKICAgICAgICAgc2Vs
Zi5hZGRTdGVwKERvd25sb2FkQnVpbHRQcm9kdWN0KQogICAgICAgICBzZWxmLmFkZFN0ZXAoRXh0
cmFjdEJ1aWx0UHJvZHVjdCkKICAgICAgICAgc2VsZi5hZGRTdGVwKFJ1bkFuZFVwbG9hZFBlcmZU
ZXN0c1dlYktpdDIpCkBAIC05MDIsMTMgKzkxMSwxMyBAQCBkZWYgbG9hZEJ1aWxkZXJDb25maWco
Yyk6CiAKICAgICAgICAgYnVpbGRlclR5cGUgPSBidWlsZGVyLnBvcCgndHlwZScpCiAgICAgICAg
IGZhY3RvcnkgPSBnbG9iYWxzKClbIiVzRmFjdG9yeSIgJSBidWlsZGVyVHlwZV0KLSAgICAgICAg
ZmFjdG9yeUFyZ3MgPSBbXQotICAgICAgICBmb3Iga2V5IGluICJwbGF0Zm9ybSIsICJjb25maWd1
cmF0aW9uIiwgImFyY2hpdGVjdHVyZXMiLCAidHJpZ2dlcnMiOgorICAgICAgICBmYWN0b3J5a3dh
cmdzID0ge30KKyAgICAgICAgZm9yIGtleSBpbiAicGxhdGZvcm0iLCAiY29uZmlndXJhdGlvbiIs
ICJhcmNoaXRlY3R1cmVzIiwgInRyaWdnZXJzIiwgIlNWTk1pcnJvciI6CiAgICAgICAgICAgICB2
YWx1ZSA9IGJ1aWxkZXIucG9wKGtleSwgTm9uZSkKICAgICAgICAgICAgIGlmIHZhbHVlOgotICAg
ICAgICAgICAgICAgIGZhY3RvcnlBcmdzLmFwcGVuZCh2YWx1ZSkKKyAgICAgICAgICAgICAgICBm
YWN0b3J5a3dhcmdzW2tleV0gPSB2YWx1ZQogCi0gICAgICAgIGJ1aWxkZXJbImZhY3RvcnkiXSA9
IGZhY3RvcnkoKmZhY3RvcnlBcmdzKQorICAgICAgICBidWlsZGVyWyJmYWN0b3J5Il0gPSBmYWN0
b3J5KCoqZmFjdG9yeWt3YXJncykKIAogICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCdj
aHJvbWl1bScpOgogICAgICAgICAgICAgYnVpbGRlclsiY2F0ZWdvcnkiXSA9ICdDaHJvbWl1bScK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29u
ZmlnL21hc3RlcmNmZ191bml0dGVzdC5weSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxk
LndlYmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weQppbmRleCA4NTczNDQwMDVl
NzdhNTVjYjc2MWY4NTIyMDc0ZmUwMWE4NzhkMzRmLi5kMTYxNGMwZTBjNzEwNTA3MDY3YmUzMDI0
Y2MzMDhlODUzOTY5NDIyIDEwMDc1NQotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWls
ZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXJjZmdfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyY2ZnX3VuaXR0ZXN0
LnB5CkBAIC0zMzIsNiArMzMyLDMxIEBAIFRlc3RzIHRoYXQgdGltZWQgb3V0OgogIiIiKQogCiAK
K2NsYXNzIFNWTk1pcnJvclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChz
ZWxmKToKKyAgICAgICAgc2VsZi5jb25maWcgPSBqc29uLmxvYWQob3BlbignY29uZmlnLmpzb24n
KSkKKworICAgIGRlZiBnZXRfU1ZOTWlycm9yRnJvbUNvbmZpZyhzZWxmLCBidWlsZGVyTmFtZSk6
CisgICAgICAgIFNWTk1pcnJvciA9IE5vbmUKKyAgICAgICAgZm9yIGJ1aWxkZXIgaW4gc2VsZi5j
b25maWdbJ2J1aWxkZXJzJ106CisgICAgICAgICAgICBpZiBidWlsZGVyWyduYW1lJ10gPT0gYnVp
bGRlck5hbWU6CisgICAgICAgICAgICAgICAgU1ZOTWlycm9yID0gYnVpbGRlci5wb3AoJ1NWTk1p
cnJvcicsICdodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvJykKKyAgICAg
ICAgcmV0dXJuIFNWTk1pcnJvcgorCisgICAgZGVmIHRlc3RfQ2hlY2tPdXRTb3VyY2Uoc2VsZik6
CisgICAgICAgICMgU1ZOIG1pcnJvciBmZWF0dXJlIGlzbid0IHVuaXR0ZXN0YWJsZSBub3cgd2l0
aCBzb3VyY2Uub2xkc291cmNlLlNWTig9PXNvdXJjZS5TVk4pICwgb25seSB3aXRoIHNvdXJjZS5z
dm4uU1ZOKD09U1ZOKQorICAgICAgICAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NTg4NworICAgICAgICBpZiBpc3N1YmNsYXNzKENoZWNrT3V0U291cmNlLCBzb3Vy
Y2UuU1ZOKToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICMgQ29tcGFyZSBDaGVja091
dFNvdXJjZS5iYXNlVVJMIHdpdGggU1ZOTWlycm9yIChvciB3aXRoIHRoZSBkZWZhdWx0IFVSTCkg
aW4gY29uZmlnLmpzb24gZm9yIGFsbCBidWlsZGVycworICAgICAgICBmb3IgYnVpbGRlciBpbiBj
WydidWlsZGVycyddOgorICAgICAgICAgICAgZm9yIGJ1aWxkU3RlcEZhY3RvcnksIGt3YXJncyBp
biBidWlsZGVyWydmYWN0b3J5J10uc3RlcHM6CisgICAgICAgICAgICAgICAgaWYgc3RyKGJ1aWxk
U3RlcEZhY3RvcnkpLnNwbGl0KCcuJylbLTFdID09ICdDaGVja091dFNvdXJjZSc6CisgICAgICAg
ICAgICAgICAgICAgICAgICBDaGVja091dFNvdXJjZUluc3RhbmNlID0gYnVpbGRTdGVwRmFjdG9y
eSgqKmt3YXJncykKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKENo
ZWNrT3V0U291cmNlSW5zdGFuY2UuYmFzZVVSTCwgc2VsZi5nZXRfU1ZOTWlycm9yRnJvbUNvbmZp
ZyhidWlsZGVyWyduYW1lJ10pKQorCisKIGNsYXNzIEJ1aWxkU3RlcHNDb25zdHJ1Y3RvclRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICMgIlBhc3NpbmcgYSBCdWlsZFN0ZXAgc3ViY2xhc3Mg
dG8gZmFjdG9yeS5hZGRTdGVwIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSBwYXNzIGEgQnVpbGRTdGVw
IGluc3RhbmNlIGluc3RlYWQuICBTdXBwb3J0IHdpbGwgYmUgZHJvcHBlZCBpbiB2MC44LjcuIgog
ICAgICMgSXQgY2hlY2tzIGlmIGFsbCBidWlsZGVyJ3MgYWxsIGJ1aWxkc3RlcHMgY2FuIGJlIGlu
c2FudGlhdGVkIGFmdGVyIG1pZ3JhdGlvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy93YWl0LWZvci1T
Vk4tc2VydmVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOTBhYjJkZjVhZTIwZTg3NzQ1N2U1MTJiMzU2ZTEx
NmQyN2UzZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWls
ZC53ZWJraXQub3JnLWNvbmZpZy93YWl0LWZvci1TVk4tc2VydmVyLnB5CkBAIC0wLDAgKzEsNjcg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgKEMpIDIwMDYgSm9obiBQ
eWUKKyMgQ29weXJpZ2h0IChDKSAyMDEyIFVuaXZlcnNpdHkgb2YgU3plZ2VkCisjCisjIFRoaXMg
c2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
IyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisjIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorIyB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisjIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisj
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKKyMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3CisjIFVTQQorCitmcm9tIG9wdHBh
cnNlIGltcG9ydCBPcHRpb25QYXJzZXIKK2ltcG9ydCBleGNlcHRpb25zCitpbXBvcnQgc3lzCitp
bXBvcnQgdGltZQoraW1wb3J0IHhtbC5kb20ubWluaWRvbQoraW1wb3J0IG9zCitpbXBvcnQgc3Vi
cHJvY2VzcworCisKK2RlZiBnZXRMYXRlc3RTVk5SZXZpc2lvbihTVk5TZXJ2ZXIpOgorICAgIHRy
eToKKyAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oWyJzdm4iLCAibG9nIiwgIi0tbm9uLWlu
dGVyYWN0aXZlIiwgIi0tdmVyYm9zZSIsICItLXhtbCIsICItLWxpbWl0PTEiLCBTVk5TZXJ2ZXJd
LCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCisgICAg
ICAgIHJlc3BvbnNlID0gcC5jb21tdW5pY2F0ZSgpWzBdCisgICAgICAgIGRvYyA9IHhtbC5kb20u
bWluaWRvbS5wYXJzZVN0cmluZyhyZXNwb25zZSkKKyAgICAgICAgZWwgPSBkb2MuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImxvZ2VudHJ5IilbMF0KKyAgICAgICAgcmV0dXJuIGVsLmdldEF0dHJpYnV0
ZSgicmV2aXNpb24iKQorICAgIGV4Y2VwdCB4bWwucGFyc2Vycy5leHBhdC5FeHBhdEVycm9yLCBl
OgorICAgICAgICBwcmludCAiRkFJTEVEIFRPIFBBUlNFICdzdm4gbG9nJyBYTUw6IgorICAgICAg
ICBwcmludCBzdHIoZSkKKyAgICAgICAgcHJpbnQgIi0tLS0iCisgICAgICAgIHByaW50ICJSRUNF
SVZFRCBURVhUOiIKKyAgICAgICAgcHJpbnQgcmVzcG9uc2UKKyAgICAgICAgc3lzLmV4aXQoMSkK
KworCitkZWYgd2FpdEZvclNWTlJldmlzaW9uKFNWTlNlcnZlciwgcmV2aXNpb24pOgorICAgIGlm
IG5vdCByZXZpc2lvbjoKKyAgICAgICAgbGF0ZXN0UmV2aXNpb24gPSBpbnQoZ2V0TGF0ZXN0U1ZO
UmV2aXNpb24oU1ZOU2VydmVyKSkKKyAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNpb24g
b24gJXMgaXMgciVkLiBEb24ndCB3YWl0LCBiZWNhdXNlIHJldmlzaW9uIGFyZ3VtZW50IGlzIGVt
cHR5LiIgJSAoU1ZOU2VydmVyLCBsYXRlc3RSZXZpc2lvbikKKyAgICAgICAgcmV0dXJuCisKKyAg
ICB3aGlsZSBUcnVlOgorICAgICAgICBsYXRlc3RSZXZpc2lvbiA9IGludChnZXRMYXRlc3RTVk5S
ZXZpc2lvbihTVk5TZXJ2ZXIpKQorICAgICAgICBpZiBsYXRlc3RSZXZpc2lvbiA8IHJldmlzaW9u
OgorICAgICAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNpb24gb24gJXMgaXMgciVkLCBi
dXQgd2UgYXJlIHdhaXRpbmcgZm9yIHIlZC4gU2xlZXBpbmcgZm9yIDUgc2Vjb25kcy4iICUgKFNW
TlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQorICAgICAgICAgICAgdGltZS5zbGVl
cCg1KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNp
b24gb24gJXMgaXMgciVkLCB3aGljaCBpcyBuZXdlciBvciBlcXVhbCB0aGFuIHIlZC4iICUgKFNW
TlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQorICAgICAgICAgICAgYnJlYWsKKwor
CitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHBhcnNlciA9IE9wdGlvblBhcnNlcigp
CisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi1yIiwgIi0tcmV2aXNpb24iLCBkZXN0PSJyZXZpc2lv
biIsIHR5cGU9ImludCIsIGhlbHA9IlNWTiByZXZpc2lvbiBudW1iZXIiKQorICAgIHBhcnNlci5h
ZGRfb3B0aW9uKCItcyIsICItLXN2bi1zZXJ2ZXIiLCBkZXN0PSJTVk5TZXJ2ZXIiLCBoZWxwPSJT
Vk4gc2VydmVyIikKKyAgICBvcHRpb25zLCBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAg
IHdhaXRGb3JTVk5SZXZpc2lvbihvcHRpb25zLlNWTlNlcnZlciwgb3B0aW9ucy5yZXZpc2lvbikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163574</attachid>
            <date>2012-09-12 03:47:14 -0700</date>
            <delta_ts>2012-09-13 12:20:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85887-20120912034648.patch</filename>
            <type>text/plain</type>
            <size>19317</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4Mjg5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTg2ZjIwYTFhZWI4NTZlMjg1YmFiMGJjMzc0MWQwYjZk
NTRmYjY2Ny4uYTNmY2Y1MjcxYzVkNDAwOTdiZWIwYWRiODVkNWU2MWZkNDczYmE5YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDEyLTA5LTEyICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgQWRkIFNWTiBtaXJyb3IgaGFuZGxpbmcgZmVhdHVyZSB0byBidWlsZC53ZWJraXQu
b3JnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTg4
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQnVp
bGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpzb246IEFkZCBT
Vk4gbWlycm9ycyBmb3IgUXQgYnVpbGRzbGF2ZXMgaG9zdGVkIGluIFN6ZWdlZC4KKyAgICAgICAg
KiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnOgor
ICAgICAgICAoQ29uZmlndXJlQnVpbGQuX19pbml0X18pOiBBZGQgU1ZOTWlycm9yIHByb3BlcnR5
IHRvIGJlIGFibGUgdG8gd2F0Y2ggd2hpY2ggc2xhdmVzIHVzZSB3aGljaCBtaXJyb3Igb24gYnVp
bGQud2Via2l0Lm9yZy4KKyAgICAgICAgKENvbmZpZ3VyZUJ1aWxkLnN0YXJ0KToKKyAgICAgICAg
KENoZWNrT3V0U291cmNlLl9faW5pdF9fKTogU2V0IGJhc2VVUkwgdG8gdGhlIFNWTk1pcnJvciBv
ciB0aGUgZGVmYXVsdCBodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvCisg
ICAgICAgIChXYWl0Rm9yU1ZOU2VydmVyKTogQWRkIG5ldyBidWlsZHN0ZXAgZm9yIHdhaXRpbmcg
dGhlIFNWTk1pcnJvciB0byBiZSBpbiBzeW5jIHdpdGggaHR0cDovL3N2bi53ZWJraXQub3JnL3Jl
cG9zaXRvcnkvd2Via2l0LworICAgICAgICAoRmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChC
dWlsZEZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoVGVzdEZhY3RvcnkuX19pbml0X18pOgor
ICAgICAgICAoQnVpbGRBbmRUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFu
ZFBlcmZUZXN0RmFjdG9yeS5fX2luaXRfXyk6CisgICAgICAgIChCdWlsZEFuZFBlcmZUZXN0V2Vi
S2l0MkZhY3RvcnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdEZhY3Rv
cnkuX19pbml0X18pOgorICAgICAgICAoRG93bmxvYWRBbmRQZXJmVGVzdFdlYktpdDJGYWN0b3J5
Ll9faW5pdF9fKToKKyAgICAgICAgKGxvYWRCdWlsZGVyQ29uZmlnKTogVXNlIGt3YXJncyBpbnN0
ZWFkIG9mIGFyZ3MgdG8gYmUgYWJsZSB0byBhZGQgdGhlIG9wdGlvbmFsIFNWTk1pcnJvciBmYWN0
b3J5IGFyZ3VtZW50LgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5v
cmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weToKKyAgICAgICAgKFNWTk1pcnJvclRlc3Qp
OgorICAgICAgICAoU1ZOTWlycm9yVGVzdC5zZXRVcCk6IExvYWQgY29uZmlnLmpzb24gb25jZSBh
dCBzdGFydHVwLgorICAgICAgICAoU1ZOTWlycm9yVGVzdC5nZXRfU1ZOTWlycm9yRnJvbUNvbmZp
Zyk6IEdldCB0aGUgU1ZOTWlycm9yIGZyb20gY29uZmlnLmpzb24gZm9yIGEgZ2l2ZW4gYnVpbGRz
bGF2ZS4KKyAgICAgICAgKFNWTk1pcnJvclRlc3QudGVzdF9DaGVja091dFNvdXJjZSk6IENvbXBh
cmUgQ2hlY2tPdXRTb3VyY2UuYmFzZVVSTCB3aXRoIFNWTk1pcnJvciBpbiBjb25maWcuanNvbiBm
b3IgYWxsIGJ1aWxkZXJzCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvd2FpdC1mb3ItU1ZOLXNlcnZlci5weTogQWRkZWQuCisgICAgICAgIChnZXRM
YXRlc3RTVk5SZXZpc2lvbik6IEdldCB0aGUgbGF0ZXN0IFNWTiByZXZpc29uIGZyb20gdGhlIGdp
dmVuIHNlcnZlci4KKyAgICAgICAgKHdhaXRGb3JTVk5SZXZpc2lvbik6IFdhaXQgdW50aWwgdGhl
IGdpdmVuIFNWTiByZXZpc2lvbiBpcyBjb21taXR0ZWQgdG8gdGhlIGdpdmVuIHNlcnZlci4gSXQg
ZG9lc24ndCB3YWl0IGlmIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZOIHJl
dmlzaW9uIGlzIGVtcHR5IChmb3JjZSBidWlsZCB0cmlnZ2VyZWQgd2l0aG91dCByZXZpc2lvbikg
b3IgdGhlIHNlcnZlciBpcyB1bmF2YWlsYWJsZS4KKwogMjAxMi0wOS0xMiAgQ2hyaXN0b3BoZSBE
dW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtXSzJdW1dLVFJd
IFRlc3RSdW5uZXIgbmVlZHMgdG8gaW1wbGVtZW50IGR1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdh
dGVDYWxsYmFja3MKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL2NvbmZpZy5qc29uIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpzb24KaW5kZXggMjlhYzkwMmIzNWEzYzMwNTFl
OGVmYWI5OTg3MzE1NWVkYTIxNmIzMS4uN2IzMGEwYWE3NThiYTZiZGE2YjgzNWMwZWIzZDhjMDU0
M2FkMjQxMCAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvY29uZmlnLmpzb24KKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVp
bGQud2Via2l0Lm9yZy1jb25maWcvY29uZmlnLmpzb24KQEAgLTIwMSwzNSArMjAxLDQyIEBACiAg
ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJRdCBM
aW51eCBSZWxlYXNlIiwgInR5cGUiOiAiQnVpbGRBbmRUZXN0IiwgImJ1aWxkZGlyIjogInF0LWxp
bnV4LXJlbGVhc2UiLAogICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC00Ljgi
LCAiY29uZmlndXJhdGlvbiI6ICJyZWxlYXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwK
KyAgICAgICAgICAgICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjovL3JhaW4uaW5mLnUtc3pl
Z2VkLmh1LyIsCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1s
aW51eC0xIl0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgewog
ICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IExpbnV4IFJlbGVhc2UgbWluaW1hbCIs
ICJ0eXBlIjogIkJ1aWxkIiwgImJ1aWxkZGlyIjogInF0LWxpbnV4LXJlbGVhc2UtbWluaW1hbCIs
CisgICAgICAgICAgICAgICAgICAgICAgIlNWTk1pcnJvciI6ICJzdm46Ly9yYWluLmluZi51LXN6
ZWdlZC5odS8iLAogICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC00LjgiLCAi
Y29uZmlndXJhdGlvbiI6ICJyZWxlYXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImkzODYiXSwKICAg
ICAgICAgICAgICAgICAgICAgICAic2xhdmVuYW1lcyI6IFsic3plZ2VkLWxpbnV4LTIiXQogICAg
ICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgICAgIm5hbWUiOiAiUXQgTGludXggNjQtYml0IFJlbGVhc2UgKFBlcmYpIiwgInR5cGUi
OiAiQnVpbGRBbmRQZXJmVGVzdCIsICJidWlsZGRpciI6ICJxdC1saW51eC02NC1yZWxlYXNlLXBl
cmYtdGVzdHMiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFp
bi5pbmYudS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0iOiAi
cXQtNS4wLXdrMSIsICJjb25maWd1cmF0aW9uIjogInJlbGVhc2UiLCAiYXJjaGl0ZWN0dXJlcyI6
IFsieDg2XzY0Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFtZXMiOiBbInN6ZWdl
ZC1saW51eC0zIl0KICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlF0IExpbnV4IDY0LWJpdCBSZWxlYXNl
IChXZWJLaXQyIFBlcmYpIiwgInR5cGUiOiAiQnVpbGRBbmRQZXJmVGVzdFdlYktpdDIiLCAiYnVp
bGRkaXIiOiAicXQtbGludXgtNjQtcmVsZWFzZS13azItcGVyZi10ZXN0cyIsCisgICAgICAgICAg
ICAgICAgICAgICAgIlNWTk1pcnJvciI6ICJzdm46Ly9yYWluLmluZi51LXN6ZWdlZC5odS8iLAog
ICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC01LjAtd2syIiwgImNvbmZpZ3Vy
YXRpb24iOiAicmVsZWFzZSIsICJhcmNoaXRlY3R1cmVzIjogWyJ4ODZfNjQiXSwKICAgICAgICAg
ICAgICAgICAgICAgICAic2xhdmVuYW1lcyI6IFsic3plZ2VkLWxpbnV4LTUiXQogICAgICAgICAg
ICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiUXQgTGludXggQVJNdjcgUmVsZWFzZSIsICJ0eXBlIjogIkJ1aWxkIiwgImJ1
aWxkZGlyIjogInF0LWxpbnV4LWFybXY3LXJlbGVhc2UiLAorICAgICAgICAgICAgICAgICAgICAg
ICJTVk5NaXJyb3IiOiAic3ZuOi8vcmFpbi5pbmYudS1zemVnZWQuaHU6MzM4OS8iLAogICAgICAg
ICAgICAgICAgICAgICAgICJwbGF0Zm9ybSI6ICJxdC1hcm0iLCAiY29uZmlndXJhdGlvbiI6ICJy
ZWxlYXNlIiwgImFyY2hpdGVjdHVyZXMiOiBbImFybXY3Il0sCiAgICAgICAgICAgICAgICAgICAg
ICAgInNsYXZlbmFtZXMiOiBbInN6ZWdlZC1saW51eC00Il0KICAgICAgICAgICAgICAgICAgICAg
fSwKICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICJuYW1lIjog
IlF0IFdpbmRvd3MgMzItYml0IFJlbGVhc2UiLCAidHlwZSI6ICJCdWlsZCIsICJidWlsZGRpciI6
ICJxdC13aW5kb3dzLTMyYml0LXJlbGVhc2UiLAorICAgICAgICAgICAgICAgICAgICAgICJTVk5N
aXJyb3IiOiAic3ZuOi8vcmFpbi5pbmYudS1zemVnZWQuaHUvIiwKICAgICAgICAgICAgICAgICAg
ICAgICAicGxhdGZvcm0iOiAicXQtd2luIiwgImNvbmZpZ3VyYXRpb24iOiAicmVsZWFzZSIsICJh
cmNoaXRlY3R1cmVzIjogWyJpMzg2Il0sCiAgICAgICAgICAgICAgICAgICAgICAgInNsYXZlbmFt
ZXMiOiBbInN6ZWdlZC13aW5kb3dzLTEiXQogICAgICAgICAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUXQgV2luZG93
cyAzMi1iaXQgRGVidWciLCAidHlwZSI6ICJCdWlsZCIsICJidWlsZGRpciI6ICJxdC13aW5kb3dz
LTMyYml0LWRlYnVnIiwKKyAgICAgICAgICAgICAgICAgICAgICAiU1ZOTWlycm9yIjogInN2bjov
L3JhaW4uaW5mLnUtc3plZ2VkLmh1LyIsCiAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3Jt
IjogInF0LXdpbiIsICJjb25maWd1cmF0aW9uIjogImRlYnVnIiwgImFyY2hpdGVjdHVyZXMiOiBb
ImkzODYiXSwKICAgICAgICAgICAgICAgICAgICAgICAic2xhdmVuYW1lcyI6IFsic3plZ2VkLXdp
bmRvd3MtMiJdCiAgICAgICAgICAgICAgICAgICAgIH0sCmRpZmYgLS1naXQgYS9Ub29scy9CdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnIGIvVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyLmNmZwppbmRl
eCA4MzQxNGEwZWZjMDI0YWI4MzU4MTg3NGU3ZWQxOTRiMTZkODFiYjY1Li5kN2VmY2MxNmY3MTIw
YTg4NjU2MDlmYTNjNDJhZTRiMjQzYjUxZjcyIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXIuY2ZnCisrKyBiL1Rvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3Rlci5jZmcKQEAgLTky
LDE0ICs5MiwxNSBAQCBjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0ZXAuQnVpbGRTdGVwKToK
ICAgICBuYW1lID0gImNvbmZpZ3VyZSBidWlsZCIKICAgICBkZXNjcmlwdGlvbiA9IFsiY29uZmln
dXJpbmcgYnVpbGQiXQogICAgIGRlc2NyaXB0aW9uRG9uZSA9IFsiY29uZmlndXJlZCBidWlsZCJd
Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRl
Y3R1cmUsIGJ1aWxkT25seSwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZSwgYnVpbGRPbmx5LCBTVk5N
aXJyb3IsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIGJ1aWxkc3RlcC5CdWlsZFN0ZXAuX19p
bml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQogICAgICAgICBzZWxmLnBsYXRmb3JtID0gcGxh
dGZvcm0uc3BsaXQoJy0nLCAxKVswXQogICAgICAgICBzZWxmLmZ1bGxQbGF0Zm9ybSA9IHBsYXRm
b3JtCiAgICAgICAgIHNlbGYuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24KICAgICAgICAg
c2VsZi5hcmNoaXRlY3R1cmUgPSBhcmNoaXRlY3R1cmUKICAgICAgICAgc2VsZi5idWlsZE9ubHkg
PSBidWlsZE9ubHkKLSAgICAgICAgc2VsZi5hZGRGYWN0b3J5QXJndW1lbnRzKHBsYXRmb3JtPXBs
YXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZT1hcmNoaXRl
Y3R1cmUsIGJ1aWxkT25seT1idWlsZE9ubHkpCisgICAgICAgIHNlbGYuU1ZOTWlycm9yID0gU1ZO
TWlycm9yCisgICAgICAgIHNlbGYuYWRkRmFjdG9yeUFyZ3VtZW50cyhwbGF0Zm9ybT1wbGF0Zm9y
bSwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmU9YXJjaGl0ZWN0dXJl
LCBidWlsZE9ubHk9YnVpbGRPbmx5LCBTVk5NaXJyb3I9U1ZOTWlycm9yKQogCiAgICAgZGVmIHN0
YXJ0KHNlbGYpOgogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCJwbGF0Zm9ybSIsIHNlbGYucGxh
dGZvcm0pCkBAIC0xMDgsMjAgKzEwOSwyNiBAQCBjbGFzcyBDb25maWd1cmVCdWlsZChidWlsZHN0
ZXAuQnVpbGRTdGVwKToKICAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgiYXJjaGl0ZWN0dXJlIiwg
c2VsZi5hcmNoaXRlY3R1cmUpCiAgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoImJ1aWxkT25seSIs
IHNlbGYuYnVpbGRPbmx5KQogICAgICAgICBzZWxmLnNldFByb3BlcnR5KCJzaG91bGRBYm9ydEVh
cmx5IiwgVHJ1ZSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgiU1ZOTWlycm9yIiwgc2VsZi5T
Vk5NaXJyb3IpCiAgICAgICAgIHNlbGYuZmluaXNoZWQoU1VDQ0VTUykKICAgICAgICAgcmV0dXJu
IGRlZmVyLnN1Y2NlZWQoTm9uZSkKIAogCiBjbGFzcyBDaGVja091dFNvdXJjZShzb3VyY2UuU1ZO
KToKLSAgICBiYXNlVVJMID0gImh0dHA6Ly9zdm4ud2Via2l0Lm9yZy9yZXBvc2l0b3J5L3dlYmtp
dC8iCiAgICAgbW9kZSA9ICJ1cGRhdGUiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICoqa3dhcmdz
KToKLSAgICAgICAga3dhcmdzWydiYXNlVVJMJ10gPSBzZWxmLmJhc2VVUkwKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgU1ZOTWlycm9yLCAqKmt3YXJncyk6CisgICAgICAgIGt3YXJnc1snYmFzZVVS
TCddID0gU1ZOTWlycm9yIG9yICJodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJr
aXQvIgogICAgICAgICBrd2FyZ3NbJ2RlZmF1bHRCcmFuY2gnXSA9ICJ0cnVuayIKICAgICAgICAg
a3dhcmdzWydtb2RlJ10gPSBzZWxmLm1vZGUKICAgICAgICAgc291cmNlLlNWTi5fX2luaXRfXyhz
ZWxmLCAqKmt3YXJncykKKyAgICAgICAgc2VsZi5hZGRGYWN0b3J5QXJndW1lbnRzKFNWTk1pcnJv
cj1TVk5NaXJyb3IpCiAKLQorY2xhc3MgV2FpdEZvclNWTlNlcnZlcihzaGVsbC5TaGVsbENvbW1h
bmQpOgorICAgIG5hbWUgPSAid2FpdC1mb3Itc3ZuLXNlcnZlciIKKyAgICBjb21tYW5kID0gWyJw
eXRob24iLCAiLi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5
IiwgIi1yIiwgV2l0aFByb3BlcnRpZXMoIiUocmV2aXNpb24pcyIpLCAiLXMiLCBXaXRoUHJvcGVy
dGllcygiJShTVk5NaXJyb3IpcyIpXQorICAgIGRlc2NyaXB0aW9uID0gWyJ3YWl0aW5nIGZvciBT
Vk4gc2VydmVyIl0KKyAgICBkZXNjcmlwdGlvbkRvbmUgPSBbIlNWTiBzZXJ2ZXIgaXMgcmVhZHki
XQorICAgIGhhbHRPbkZhaWx1cmUgPSBUcnVlCiAKIGNsYXNzIEluc3RhbGxXaW4zMkRlcGVuZGVu
Y2llcyhzaGVsbC5Db21waWxlKToKICAgICBkZXNjcmlwdGlvbiA9IFsiaW5zdGFsbGluZyBkZXBl
bmRlbmNpZXMiXQpAQCAtNjk3LDEwICs3MDQsMTIgQEAgY2xhc3MgRXh0cmFjdFRlc3RSZXN1bHRz
QW5kTGVha3MoRXh0cmFjdFRlc3RSZXN1bHRzKToKIAogCiBjbGFzcyBGYWN0b3J5KGZhY3Rvcnku
QnVpbGRGYWN0b3J5KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3Vy
YXRpb24sIGFyY2hpdGVjdHVyZXMsIGJ1aWxkT25seSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBidWlsZE9ubHksIFNWTk1p
cnJvcik6CiAgICAgICAgIGZhY3RvcnkuQnVpbGRGYWN0b3J5Ll9faW5pdF9fKHNlbGYpCi0gICAg
ICAgIHNlbGYuYWRkU3RlcChDb25maWd1cmVCdWlsZChwbGF0Zm9ybT1wbGF0Zm9ybSwgY29uZmln
dXJhdGlvbj1jb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmU9IiAiLmpvaW4oYXJjaGl0ZWN0dXJl
cyksIGJ1aWxkT25seT1idWlsZE9ubHkpKQotICAgICAgICBzZWxmLmFkZFN0ZXAoQ2hlY2tPdXRT
b3VyY2UoKSkKKyAgICAgICAgc2VsZi5hZGRTdGVwKENvbmZpZ3VyZUJ1aWxkKHBsYXRmb3JtPXBs
YXRmb3JtLCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZT0iICIuam9p
bihhcmNoaXRlY3R1cmVzKSwgYnVpbGRPbmx5PWJ1aWxkT25seSwgU1ZOTWlycm9yPVNWTk1pcnJv
cikpCisgICAgICAgIGlmIFNWTk1pcnJvcjoKKyAgICAgICAgICAgIHNlbGYuYWRkU3RlcChXYWl0
Rm9yU1ZOU2VydmVyKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChDaGVja091dFNvdXJjZShTVk5N
aXJyb3I9U1ZOTWlycm9yKSkKICAgICAgICAgIyBUaGVyZSBhcmUgbXVsdGlwbGUgUXQgc2xhdmVz
IHJ1bm5pbmcgb24gc2FtZSBtYWNoaW5lcywgc28gYnVpbGRzbGF2ZXMgc2hvdWxkbid0IGtpbGwg
dGhlIHByb2Nlc3NlcyBvZiBvdGhlciBzbGF2ZXMuCiAgICAgICAgIGlmIG5vdCBwbGF0Zm9ybS5z
dGFydHN3aXRoKCJxdCIpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKEtpbGxPbGRQcm9jZXNz
ZXMoKSkKQEAgLTcxNSw4ICs3MjQsOCBAQCBjbGFzcyBGYWN0b3J5KGZhY3RvcnkuQnVpbGRGYWN0
b3J5KToKIAogCiBjbGFzcyBCdWlsZEZhY3RvcnkoRmFjdG9yeSk6Ci0gICAgZGVmIF9faW5pdF9f
KHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCB0cmlnZ2Vycz1O
b25lKToKLSAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJh
dGlvbiwgYXJjaGl0ZWN0dXJlcywgVHJ1ZSkKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhdGZv
cm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIHRyaWdnZXJzPU5vbmUsIFNWTk1pcnJv
cj1Ob25lKToKKyAgICAgICAgRmFjdG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmln
dXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgVHJ1ZSwgU1ZOTWlycm9yKQogICAgICAgICBzZWxmLmFk
ZFN0ZXAoQ29tcGlsZVdlYktpdCgpKQogICAgICAgICBpZiB0cmlnZ2VyczoKICAgICAgICAgICAg
IHNlbGYuYWRkU3RlcChBcmNoaXZlQnVpbHRQcm9kdWN0KCkpCkBAIC03MzQsOCArNzQzLDggQEAg
ZGVmIHBpY2tMYXRlc3RCdWlsZChidWlsZGVyLCByZXF1ZXN0cyk6CiBjbGFzcyBUZXN0RmFjdG9y
eShGYWN0b3J5KToKICAgICBUZXN0Q2xhc3MgPSBSdW5XZWJLaXRUZXN0cwogICAgIEV4dHJhY3RU
ZXN0UmVzdWx0c0NsYXNzID0gRXh0cmFjdFRlc3RSZXN1bHRzCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzKToKLSAgICAgICAgRmFj
dG9yeS5fX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJl
cywgRmFsc2UpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9u
LCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSk6CisgICAgICAgIEZhY3RvcnkuX19pbml0
X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCBT
Vk5NaXJyb3IpCiAgICAgICAgIGlmIHBsYXRmb3JtLnN0YXJ0c3dpdGgoImNocm9taXVtIik6CiAg
ICAgICAgICAgICBzZWxmLmFkZFN0ZXAoQ2xlYW51cENocm9taXVtQ3Jhc2hMb2dzKCkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChEb3dubG9hZEJ1aWx0UHJvZHVjdCgpKQpAQCAtNzY3LDggKzc3Niw4
IEBAIGNsYXNzIFRlc3RGYWN0b3J5KEZhY3RvcnkpOgogY2xhc3MgQnVpbGRBbmRUZXN0RmFjdG9y
eShGYWN0b3J5KToKICAgICBUZXN0Q2xhc3MgPSBSdW5XZWJLaXRUZXN0cwogICAgIEV4dHJhY3RU
ZXN0UmVzdWx0c0NsYXNzID0gRXh0cmFjdFRlc3RSZXN1bHRzCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCB0cmlnZ2Vycz1Ob25l
LCAqKmt3YXJncyk6Ci0gICAgICAgIEZhY3RvcnkuX19pbml0X18oc2VsZiwgcGxhdGZvcm0sIGNv
bmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNlLCAqKmt3YXJncykKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIHRyaWdn
ZXJzPU5vbmUsIFNWTk1pcnJvcj1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIEZhY3RvcnkuX19p
bml0X18oc2VsZiwgcGxhdGZvcm0sIGNvbmZpZ3VyYXRpb24sIGFyY2hpdGVjdHVyZXMsIEZhbHNl
LCBTVk5NaXJyb3IsICoqa3dhcmdzKQogICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCJj
aHJvbWl1bSIpOgogICAgICAgICAgICAgc2VsZi5hZGRTdGVwKENsZWFudXBDaHJvbWl1bUNyYXNo
TG9ncykKICAgICAgICAgc2VsZi5hZGRTdGVwKENvbXBpbGVXZWJLaXQoKSkKQEAgLTgxMSwzMSAr
ODIwLDMxIEBAIGNsYXNzIFRlc3RXZWJLaXQyRmFjdG9yeShUZXN0RmFjdG9yeSk6CiAgICAgVGVz
dENsYXNzID0gUnVuV2ViS2l0MlRlc3RzCiAKIGNsYXNzIEJ1aWxkQW5kUGVyZlRlc3RGYWN0b3J5
KEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlv
biwgYXJjaGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNl
bGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2Fy
Z3MpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNo
aXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9f
aW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxz
ZSwgU1ZOTWlycm9yLCAqKmt3YXJncykKICAgICAgICAgaWYgcGxhdGZvcm0uc3RhcnRzd2l0aCgi
Y2hyb21pdW0iKToKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChDbGVhbnVwQ2hyb21pdW1DcmFz
aExvZ3MpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2ViS2l0KCkpCiAgICAgICAgIHNl
bGYuYWRkU3RlcChSdW5BbmRVcGxvYWRQZXJmVGVzdHMoKSkKIAogY2xhc3MgQnVpbGRBbmRQZXJm
VGVzdFdlYktpdDJGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0
Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAgICAgICBG
YWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1
cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBj
b25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgor
ICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBh
cmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3YXJncykKICAgICAgICAgaWYgcGxh
dGZvcm0uc3RhcnRzd2l0aCgiY2hyb21pdW0iKToKICAgICAgICAgICAgIHNlbGYuYWRkU3RlcChD
bGVhbnVwQ2hyb21pdW1DcmFzaExvZ3MpCiAgICAgICAgIHNlbGYuYWRkU3RlcChDb21waWxlV2Vi
S2l0KCkpCiAgICAgICAgIHNlbGYuYWRkU3RlcChSdW5BbmRVcGxvYWRQZXJmVGVzdHNXZWJLaXQy
KCkpCiAKIGNsYXNzIERvd25sb2FkQW5kUGVyZlRlc3RGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9ybSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywg
Kiprd2FyZ3MpOgotICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25m
aWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJy
b3I9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRm
b3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3
YXJncykKICAgICAgICAgc2VsZi5hZGRTdGVwKERvd25sb2FkQnVpbHRQcm9kdWN0KCkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChFeHRyYWN0QnVpbHRQcm9kdWN0KCkpCiAgICAgICAgIHNlbGYuYWRk
U3RlcChSdW5BbmRVcGxvYWRQZXJmVGVzdHMoKSkKIAogY2xhc3MgRG93bmxvYWRBbmRQZXJmVGVz
dFdlYktpdDJGYWN0b3J5KEZhY3RvcnkpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGF0Zm9y
bSwgY29uZmlndXJhdGlvbiwgYXJjaGl0ZWN0dXJlcywgKiprd2FyZ3MpOgotICAgICAgICBGYWN0
b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVz
LCBGYWxzZSwgKiprd2FyZ3MpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25m
aWd1cmF0aW9uLCBhcmNoaXRlY3R1cmVzLCBTVk5NaXJyb3I9Tm9uZSwgKiprd2FyZ3MpOgorICAg
ICAgICBGYWN0b3J5Ll9faW5pdF9fKHNlbGYsIHBsYXRmb3JtLCBjb25maWd1cmF0aW9uLCBhcmNo
aXRlY3R1cmVzLCBGYWxzZSwgU1ZOTWlycm9yLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5hZGRT
dGVwKERvd25sb2FkQnVpbHRQcm9kdWN0KQogICAgICAgICBzZWxmLmFkZFN0ZXAoRXh0cmFjdEJ1
aWx0UHJvZHVjdCkKICAgICAgICAgc2VsZi5hZGRTdGVwKFJ1bkFuZFVwbG9hZFBlcmZUZXN0c1dl
YktpdDIpCkBAIC05MDIsMTMgKzkxMSwxMyBAQCBkZWYgbG9hZEJ1aWxkZXJDb25maWcoYyk6CiAK
ICAgICAgICAgYnVpbGRlclR5cGUgPSBidWlsZGVyLnBvcCgndHlwZScpCiAgICAgICAgIGZhY3Rv
cnkgPSBnbG9iYWxzKClbIiVzRmFjdG9yeSIgJSBidWlsZGVyVHlwZV0KLSAgICAgICAgZmFjdG9y
eUFyZ3MgPSBbXQotICAgICAgICBmb3Iga2V5IGluICJwbGF0Zm9ybSIsICJjb25maWd1cmF0aW9u
IiwgImFyY2hpdGVjdHVyZXMiLCAidHJpZ2dlcnMiOgorICAgICAgICBmYWN0b3J5a3dhcmdzID0g
e30KKyAgICAgICAgZm9yIGtleSBpbiAicGxhdGZvcm0iLCAiY29uZmlndXJhdGlvbiIsICJhcmNo
aXRlY3R1cmVzIiwgInRyaWdnZXJzIiwgIlNWTk1pcnJvciI6CiAgICAgICAgICAgICB2YWx1ZSA9
IGJ1aWxkZXIucG9wKGtleSwgTm9uZSkKICAgICAgICAgICAgIGlmIHZhbHVlOgotICAgICAgICAg
ICAgICAgIGZhY3RvcnlBcmdzLmFwcGVuZCh2YWx1ZSkKKyAgICAgICAgICAgICAgICBmYWN0b3J5
a3dhcmdzW2tleV0gPSB2YWx1ZQogCi0gICAgICAgIGJ1aWxkZXJbImZhY3RvcnkiXSA9IGZhY3Rv
cnkoKmZhY3RvcnlBcmdzKQorICAgICAgICBidWlsZGVyWyJmYWN0b3J5Il0gPSBmYWN0b3J5KCoq
ZmFjdG9yeWt3YXJncykKIAogICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCdjaHJvbWl1
bScpOgogICAgICAgICAgICAgYnVpbGRlclsiY2F0ZWdvcnkiXSA9ICdDaHJvbWl1bScKZGlmZiAt
LWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21h
c3RlcmNmZ191bml0dGVzdC5weSBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weQppbmRleCA4NTczNDQwMDVlNzdhNTVj
Yjc2MWY4NTIyMDc0ZmUwMWE4NzhkMzRmLi5kMTYxNGMwZTBjNzEwNTA3MDY3YmUzMDI0Y2MzMDhl
ODUzOTY5NDIyIDEwMDc1NQotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9tYXN0ZXJjZmdfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvbWFzdGVyY2ZnX3VuaXR0ZXN0LnB5CkBA
IC0zMzIsNiArMzMyLDMxIEBAIFRlc3RzIHRoYXQgdGltZWQgb3V0OgogIiIiKQogCiAKK2NsYXNz
IFNWTk1pcnJvclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToK
KyAgICAgICAgc2VsZi5jb25maWcgPSBqc29uLmxvYWQob3BlbignY29uZmlnLmpzb24nKSkKKwor
ICAgIGRlZiBnZXRfU1ZOTWlycm9yRnJvbUNvbmZpZyhzZWxmLCBidWlsZGVyTmFtZSk6CisgICAg
ICAgIFNWTk1pcnJvciA9IE5vbmUKKyAgICAgICAgZm9yIGJ1aWxkZXIgaW4gc2VsZi5jb25maWdb
J2J1aWxkZXJzJ106CisgICAgICAgICAgICBpZiBidWlsZGVyWyduYW1lJ10gPT0gYnVpbGRlck5h
bWU6CisgICAgICAgICAgICAgICAgU1ZOTWlycm9yID0gYnVpbGRlci5wb3AoJ1NWTk1pcnJvcics
ICdodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvJykKKyAgICAgICAgcmV0
dXJuIFNWTk1pcnJvcgorCisgICAgZGVmIHRlc3RfQ2hlY2tPdXRTb3VyY2Uoc2VsZik6CisgICAg
ICAgICMgU1ZOIG1pcnJvciBmZWF0dXJlIGlzbid0IHVuaXR0ZXN0YWJsZSBub3cgd2l0aCBzb3Vy
Y2Uub2xkc291cmNlLlNWTig9PXNvdXJjZS5TVk4pICwgb25seSB3aXRoIHNvdXJjZS5zdm4uU1ZO
KD09U1ZOKQorICAgICAgICAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04NTg4NworICAgICAgICBpZiBpc3N1YmNsYXNzKENoZWNrT3V0U291cmNlLCBzb3VyY2UuU1ZO
KToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICMgQ29tcGFyZSBDaGVja091dFNvdXJj
ZS5iYXNlVVJMIHdpdGggU1ZOTWlycm9yIChvciB3aXRoIHRoZSBkZWZhdWx0IFVSTCkgaW4gY29u
ZmlnLmpzb24gZm9yIGFsbCBidWlsZGVycworICAgICAgICBmb3IgYnVpbGRlciBpbiBjWydidWls
ZGVycyddOgorICAgICAgICAgICAgZm9yIGJ1aWxkU3RlcEZhY3RvcnksIGt3YXJncyBpbiBidWls
ZGVyWydmYWN0b3J5J10uc3RlcHM6CisgICAgICAgICAgICAgICAgaWYgc3RyKGJ1aWxkU3RlcEZh
Y3RvcnkpLnNwbGl0KCcuJylbLTFdID09ICdDaGVja091dFNvdXJjZSc6CisgICAgICAgICAgICAg
ICAgICAgICAgICBDaGVja091dFNvdXJjZUluc3RhbmNlID0gYnVpbGRTdGVwRmFjdG9yeSgqKmt3
YXJncykKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKENoZWNrT3V0
U291cmNlSW5zdGFuY2UuYmFzZVVSTCwgc2VsZi5nZXRfU1ZOTWlycm9yRnJvbUNvbmZpZyhidWls
ZGVyWyduYW1lJ10pKQorCisKIGNsYXNzIEJ1aWxkU3RlcHNDb25zdHJ1Y3RvclRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICMgIlBhc3NpbmcgYSBCdWlsZFN0ZXAgc3ViY2xhc3MgdG8gZmFj
dG9yeS5hZGRTdGVwIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSBwYXNzIGEgQnVpbGRTdGVwIGluc3Rh
bmNlIGluc3RlYWQuICBTdXBwb3J0IHdpbGwgYmUgZHJvcHBlZCBpbiB2MC44LjcuIgogICAgICMg
SXQgY2hlY2tzIGlmIGFsbCBidWlsZGVyJ3MgYWxsIGJ1aWxkc3RlcHMgY2FuIGJlIGluc2FudGlh
dGVkIGFmdGVyIG1pZ3JhdGlvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkgYi9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy93YWl0LWZvci1TVk4tc2Vy
dmVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRhOTBhYjJkZjVhZTIwZTg3NzQ1N2U1MTJiMzU2ZTExNmQyN2Uz
ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy93YWl0LWZvci1TVk4tc2VydmVyLnB5CkBAIC0wLDAgKzEsNjcgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgKEMpIDIwMDYgSm9obiBQeWUKKyMg
Q29weXJpZ2h0IChDKSAyMDEyIFVuaXZlcnNpdHkgb2YgU3plZ2VkCisjCisjIFRoaXMgc2NyaXB0
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisj
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorIyB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKKyMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0
aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1
aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3CisjIFVTQQorCitmcm9tIG9wdHBhcnNlIGlt
cG9ydCBPcHRpb25QYXJzZXIKK2ltcG9ydCBleGNlcHRpb25zCitpbXBvcnQgc3lzCitpbXBvcnQg
dGltZQoraW1wb3J0IHhtbC5kb20ubWluaWRvbQoraW1wb3J0IG9zCitpbXBvcnQgc3VicHJvY2Vz
cworCisKK2RlZiBnZXRMYXRlc3RTVk5SZXZpc2lvbihTVk5TZXJ2ZXIpOgorICAgIHRyeToKKyAg
ICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oWyJzdm4iLCAibG9nIiwgIi0tbm9uLWludGVyYWN0
aXZlIiwgIi0tdmVyYm9zZSIsICItLXhtbCIsICItLWxpbWl0PTEiLCBTVk5TZXJ2ZXJdLCBzdGRv
dXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCisgICAgICAgIHJl
c3BvbnNlID0gcC5jb21tdW5pY2F0ZSgpWzBdCisgICAgICAgIGRvYyA9IHhtbC5kb20ubWluaWRv
bS5wYXJzZVN0cmluZyhyZXNwb25zZSkKKyAgICAgICAgZWwgPSBkb2MuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImxvZ2VudHJ5IilbMF0KKyAgICAgICAgcmV0dXJuIGVsLmdldEF0dHJpYnV0ZSgicmV2
aXNpb24iKQorICAgIGV4Y2VwdCB4bWwucGFyc2Vycy5leHBhdC5FeHBhdEVycm9yLCBlOgorICAg
ICAgICBwcmludCAiRkFJTEVEIFRPIFBBUlNFICdzdm4gbG9nJyBYTUw6IgorICAgICAgICBwcmlu
dCBzdHIoZSkKKyAgICAgICAgcHJpbnQgIi0tLS0iCisgICAgICAgIHByaW50ICJSRUNFSVZFRCBU
RVhUOiIKKyAgICAgICAgcHJpbnQgcmVzcG9uc2UKKyAgICAgICAgc3lzLmV4aXQoMSkKKworCitk
ZWYgd2FpdEZvclNWTlJldmlzaW9uKFNWTlNlcnZlciwgcmV2aXNpb24pOgorICAgIGlmIG5vdCBy
ZXZpc2lvbjoKKyAgICAgICAgbGF0ZXN0UmV2aXNpb24gPSBpbnQoZ2V0TGF0ZXN0U1ZOUmV2aXNp
b24oU1ZOU2VydmVyKSkKKyAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNpb24gb24gJXMg
aXMgciVkLiBEb24ndCB3YWl0LCBiZWNhdXNlIHJldmlzaW9uIGFyZ3VtZW50IGlzIGVtcHR5LiIg
JSAoU1ZOU2VydmVyLCBsYXRlc3RSZXZpc2lvbikKKyAgICAgICAgcmV0dXJuCisKKyAgICB3aGls
ZSBUcnVlOgorICAgICAgICBsYXRlc3RSZXZpc2lvbiA9IGludChnZXRMYXRlc3RTVk5SZXZpc2lv
bihTVk5TZXJ2ZXIpKQorICAgICAgICBpZiBsYXRlc3RSZXZpc2lvbiA8IHJldmlzaW9uOgorICAg
ICAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNpb24gb24gJXMgaXMgciVkLCBidXQgd2Ug
YXJlIHdhaXRpbmcgZm9yIHIlZC4gU2xlZXBpbmcgZm9yIDUgc2Vjb25kcy4iICUgKFNWTlNlcnZl
ciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQorICAgICAgICAgICAgdGltZS5zbGVlcCg1KQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNpb24gb24g
JXMgaXMgciVkLCB3aGljaCBpcyBuZXdlciBvciBlcXVhbCB0aGFuIHIlZC4iICUgKFNWTlNlcnZl
ciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQorICAgICAgICAgICAgYnJlYWsKKworCitpZiBf
X25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHBhcnNlciA9IE9wdGlvblBhcnNlcigpCisgICAg
cGFyc2VyLmFkZF9vcHRpb24oIi1yIiwgIi0tcmV2aXNpb24iLCBkZXN0PSJyZXZpc2lvbiIsIHR5
cGU9ImludCIsIGhlbHA9IlNWTiByZXZpc2lvbiBudW1iZXIiKQorICAgIHBhcnNlci5hZGRfb3B0
aW9uKCItcyIsICItLXN2bi1zZXJ2ZXIiLCBkZXN0PSJTVk5TZXJ2ZXIiLCBoZWxwPSJTVk4gc2Vy
dmVyIikKKyAgICBvcHRpb25zLCBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIHdhaXRG
b3JTVk5SZXZpc2lvbihvcHRpb25zLlNWTlNlcnZlciwgb3B0aW9ucy5yZXZpc2lvbikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163934</attachid>
            <date>2012-09-13 12:20:56 -0700</date>
            <delta_ts>2012-09-13 14:32:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85887-20120913162033.patch</filename>
            <type>text/plain</type>
            <size>6804</size>
            <attacher name="Lauro Moura Maranhao Neto">lauro.neto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NDg3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2ViOWJkYzNlNTllOTZkYjY1MGUzNWQyN2NmNGFmMmIz
NGJmZmFiOC4uZGNkY2QzZDk2Yzc2Njg3M2M4ZTc5NjU3NjMyZWEzMWQ3ZWFiYjQ0YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEyLTA5LTEzICBMYXVybyBOZXRvICA8bGF1cm8ubmV0b0BvcGVuYm9zc2Eub3JnPgor
CisgICAgICAgIEFkZCBTVk4gbWlycm9yIGhhbmRsaW5nIGZlYXR1cmUgdG8gYnVpbGQud2Via2l0
Lm9yZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU4
ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
IHNjcmlwdCB0byBwcm9wZXIgcGxhY2UuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC93
YWl0LWZvci1TVk4tc2VydmVyLnB5OiBSZW5hbWVkIGZyb20gVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvd2FpdC1mb3ItU1ZOLXNlcnZlci5weS4KKyAgICAg
ICAgKGdldExhdGVzdFNWTlJldmlzaW9uKToKKyAgICAgICAgKHdhaXRGb3JTVk5SZXZpc2lvbik6
CisKIDIwMTItMDktMTMgIFJvYiBCdWlzICA8cmJ1aXNAcmltLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkIGNoYW5nZXMgdG8gd2F0Y2hsaXN0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvd2FpdC1mb3ItU1ZOLXNlcnZlci5weSBi
L1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3dhaXQtZm9y
LVNWTi1zZXJ2ZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGRhOTBhYjJkZjVh
ZTIwZTg3NzQ1N2U1MTJiMzU2ZTExNmQyN2UzZWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvd2FpdC1mb3ItU1ZOLXNlcnZlci5weQorKysgL2Rldi9udWxsCkBAIC0xLDY3
ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIwotIyBDb3B5cmlnaHQgKEMpIDIwMDYg
Sm9obiBQeWUKLSMgQ29weXJpZ2h0IChDKSAyMDEyIFVuaXZlcnNpdHkgb2YgU3plZ2VkCi0jCi0j
IFRoaXMgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCi0jIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90
LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1w
bGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3Ci0jIFVTQQotCi1mcm9t
IG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIKLWltcG9ydCBleGNlcHRpb25zCi1pbXBvcnQg
c3lzCi1pbXBvcnQgdGltZQotaW1wb3J0IHhtbC5kb20ubWluaWRvbQotaW1wb3J0IG9zCi1pbXBv
cnQgc3VicHJvY2VzcwotCi0KLWRlZiBnZXRMYXRlc3RTVk5SZXZpc2lvbihTVk5TZXJ2ZXIpOgot
ICAgIHRyeToKLSAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oWyJzdm4iLCAibG9nIiwgIi0t
bm9uLWludGVyYWN0aXZlIiwgIi0tdmVyYm9zZSIsICItLXhtbCIsICItLWxpbWl0PTEiLCBTVk5T
ZXJ2ZXJdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQp
Ci0gICAgICAgIHJlc3BvbnNlID0gcC5jb21tdW5pY2F0ZSgpWzBdCi0gICAgICAgIGRvYyA9IHht
bC5kb20ubWluaWRvbS5wYXJzZVN0cmluZyhyZXNwb25zZSkKLSAgICAgICAgZWwgPSBkb2MuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoImxvZ2VudHJ5IilbMF0KLSAgICAgICAgcmV0dXJuIGVsLmdldEF0
dHJpYnV0ZSgicmV2aXNpb24iKQotICAgIGV4Y2VwdCB4bWwucGFyc2Vycy5leHBhdC5FeHBhdEVy
cm9yLCBlOgotICAgICAgICBwcmludCAiRkFJTEVEIFRPIFBBUlNFICdzdm4gbG9nJyBYTUw6Igot
ICAgICAgICBwcmludCBzdHIoZSkKLSAgICAgICAgcHJpbnQgIi0tLS0iCi0gICAgICAgIHByaW50
ICJSRUNFSVZFRCBURVhUOiIKLSAgICAgICAgcHJpbnQgcmVzcG9uc2UKLSAgICAgICAgc3lzLmV4
aXQoMSkKLQotCi1kZWYgd2FpdEZvclNWTlJldmlzaW9uKFNWTlNlcnZlciwgcmV2aXNpb24pOgot
ICAgIGlmIG5vdCByZXZpc2lvbjoKLSAgICAgICAgbGF0ZXN0UmV2aXNpb24gPSBpbnQoZ2V0TGF0
ZXN0U1ZOUmV2aXNpb24oU1ZOU2VydmVyKSkKLSAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2
aXNpb24gb24gJXMgaXMgciVkLiBEb24ndCB3YWl0LCBiZWNhdXNlIHJldmlzaW9uIGFyZ3VtZW50
IGlzIGVtcHR5LiIgJSAoU1ZOU2VydmVyLCBsYXRlc3RSZXZpc2lvbikKLSAgICAgICAgcmV0dXJu
Ci0KLSAgICB3aGlsZSBUcnVlOgotICAgICAgICBsYXRlc3RSZXZpc2lvbiA9IGludChnZXRMYXRl
c3RTVk5SZXZpc2lvbihTVk5TZXJ2ZXIpKQotICAgICAgICBpZiBsYXRlc3RSZXZpc2lvbiA8IHJl
dmlzaW9uOgotICAgICAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2aXNpb24gb24gJXMgaXMg
ciVkLCBidXQgd2UgYXJlIHdhaXRpbmcgZm9yIHIlZC4gU2xlZXBpbmcgZm9yIDUgc2Vjb25kcy4i
ICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQotICAgICAgICAgICAgdGlt
ZS5zbGVlcCg1KQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4g
cmV2aXNpb24gb24gJXMgaXMgciVkLCB3aGljaCBpcyBuZXdlciBvciBlcXVhbCB0aGFuIHIlZC4i
ICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQotICAgICAgICAgICAgYnJl
YWsKLQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHBhcnNlciA9IE9wdGlvblBh
cnNlcigpCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oIi1yIiwgIi0tcmV2aXNpb24iLCBkZXN0PSJy
ZXZpc2lvbiIsIHR5cGU9ImludCIsIGhlbHA9IlNWTiByZXZpc2lvbiBudW1iZXIiKQotICAgIHBh
cnNlci5hZGRfb3B0aW9uKCItcyIsICItLXN2bi1zZXJ2ZXIiLCBkZXN0PSJTVk5TZXJ2ZXIiLCBo
ZWxwPSJTVk4gc2VydmVyIikKLSAgICBvcHRpb25zLCBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3Mo
KQotICAgIHdhaXRGb3JTVk5SZXZpc2lvbihvcHRpb25zLlNWTlNlcnZlciwgb3B0aW9ucy5yZXZp
c2lvbikKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L3dhaXQtZm9yLVNWTi1z
ZXJ2ZXIucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRhOTBhYjJkZjVhZTIwZTg3NzQ1N2U1MTJiMzU2ZTExNmQyN2UzZWIKLS0t
IC9kZXYvbnVsbAorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2Vy
dmVyLnB5CkBAIC0wLDAgKzEsNjcgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5
cmlnaHQgKEMpIDIwMDYgSm9obiBQeWUKKyMgQ29weXJpZ2h0IChDKSAyMDEyIFVuaXZlcnNpdHkg
b2YgU3plZ2VkCisjCisjIFRoaXMgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIyB2ZXJzaW9uIDIuMSBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9u
LCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3
CisjIFVTQQorCitmcm9tIG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIKK2ltcG9ydCBleGNl
cHRpb25zCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQoraW1wb3J0IHhtbC5kb20ubWluaWRvbQor
aW1wb3J0IG9zCitpbXBvcnQgc3VicHJvY2VzcworCisKK2RlZiBnZXRMYXRlc3RTVk5SZXZpc2lv
bihTVk5TZXJ2ZXIpOgorICAgIHRyeToKKyAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oWyJz
dm4iLCAibG9nIiwgIi0tbm9uLWludGVyYWN0aXZlIiwgIi0tdmVyYm9zZSIsICItLXhtbCIsICIt
LWxpbWl0PTEiLCBTVk5TZXJ2ZXJdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3Vi
cHJvY2Vzcy5TVERPVVQpCisgICAgICAgIHJlc3BvbnNlID0gcC5jb21tdW5pY2F0ZSgpWzBdCisg
ICAgICAgIGRvYyA9IHhtbC5kb20ubWluaWRvbS5wYXJzZVN0cmluZyhyZXNwb25zZSkKKyAgICAg
ICAgZWwgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxvZ2VudHJ5IilbMF0KKyAgICAgICAg
cmV0dXJuIGVsLmdldEF0dHJpYnV0ZSgicmV2aXNpb24iKQorICAgIGV4Y2VwdCB4bWwucGFyc2Vy
cy5leHBhdC5FeHBhdEVycm9yLCBlOgorICAgICAgICBwcmludCAiRkFJTEVEIFRPIFBBUlNFICdz
dm4gbG9nJyBYTUw6IgorICAgICAgICBwcmludCBzdHIoZSkKKyAgICAgICAgcHJpbnQgIi0tLS0i
CisgICAgICAgIHByaW50ICJSRUNFSVZFRCBURVhUOiIKKyAgICAgICAgcHJpbnQgcmVzcG9uc2UK
KyAgICAgICAgc3lzLmV4aXQoMSkKKworCitkZWYgd2FpdEZvclNWTlJldmlzaW9uKFNWTlNlcnZl
ciwgcmV2aXNpb24pOgorICAgIGlmIG5vdCByZXZpc2lvbjoKKyAgICAgICAgbGF0ZXN0UmV2aXNp
b24gPSBpbnQoZ2V0TGF0ZXN0U1ZOUmV2aXNpb24oU1ZOU2VydmVyKSkKKyAgICAgICAgcHJpbnQg
IkxhdGVzdCBTVk4gcmV2aXNpb24gb24gJXMgaXMgciVkLiBEb24ndCB3YWl0LCBiZWNhdXNlIHJl
dmlzaW9uIGFyZ3VtZW50IGlzIGVtcHR5LiIgJSAoU1ZOU2VydmVyLCBsYXRlc3RSZXZpc2lvbikK
KyAgICAgICAgcmV0dXJuCisKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICBsYXRlc3RSZXZpc2lv
biA9IGludChnZXRMYXRlc3RTVk5SZXZpc2lvbihTVk5TZXJ2ZXIpKQorICAgICAgICBpZiBsYXRl
c3RSZXZpc2lvbiA8IHJldmlzaW9uOgorICAgICAgICAgICAgcHJpbnQgIkxhdGVzdCBTVk4gcmV2
aXNpb24gb24gJXMgaXMgciVkLCBidXQgd2UgYXJlIHdhaXRpbmcgZm9yIHIlZC4gU2xlZXBpbmcg
Zm9yIDUgc2Vjb25kcy4iICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQor
ICAgICAgICAgICAgdGltZS5zbGVlcCg1KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJp
bnQgIkxhdGVzdCBTVk4gcmV2aXNpb24gb24gJXMgaXMgciVkLCB3aGljaCBpcyBuZXdlciBvciBl
cXVhbCB0aGFuIHIlZC4iICUgKFNWTlNlcnZlciwgbGF0ZXN0UmV2aXNpb24sIHJldmlzaW9uKQor
ICAgICAgICAgICAgYnJlYWsKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHBh
cnNlciA9IE9wdGlvblBhcnNlcigpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oIi1yIiwgIi0tcmV2
aXNpb24iLCBkZXN0PSJyZXZpc2lvbiIsIHR5cGU9ImludCIsIGhlbHA9IlNWTiByZXZpc2lvbiBu
dW1iZXIiKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCItcyIsICItLXN2bi1zZXJ2ZXIiLCBkZXN0
PSJTVk5TZXJ2ZXIiLCBoZWxwPSJTVk4gc2VydmVyIikKKyAgICBvcHRpb25zLCBhcmdzID0gcGFy
c2VyLnBhcnNlX2FyZ3MoKQorICAgIHdhaXRGb3JTVk5SZXZpc2lvbihvcHRpb25zLlNWTlNlcnZl
ciwgb3B0aW9ucy5yZXZpc2lvbikK
</data>

          </attachment>
      

    </bug>

</bugzilla>