<?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>134070</bug_id>
          
          <creation_ts>2014-06-19 12:52:25 -0700</creation_ts>
          <short_desc>[GTK] Load the llvmpipe (Mesa) libraries when running the tests with Xvfb</short_desc>
          <delta_ts>2014-08-21 08:48:09 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>bjonesbe</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mario</cc>
    
    <cc>mjs</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>pnormand</cc>
    
    <cc>yoon</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1016728</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-06-19 12:52:25 -0700</bug_when>
    <thetext>On r170040 &lt;http://trac.webkit.org/changeset/170040&gt; the Mesa GL libraries where added as also a mechanism to load them when running the tests with the Xvfb driver.

However, it seems that the mechanism to load them is still not working as expected.

Also I discovered that the Xvfb that is run is the system one, the Xvfb we ship inside the jhbuild is not used :\

I tested to run the full layout tests on my Nvidia machine and the patch didn&apos;t fixed the issue with non-mesa (aka propietary) drivers. Unless I run the tests with the workaround documented at https://trac.webkit.org/wiki/WebKitGtkLayoutTests#PropietarygraphicsdriversNVIDIAAMDproblems I still get *tons* of crashes and timeouts and many errors complaining about extension &quot;GLX&quot; missing on display. 

For example:


$ Tools/Scripts/run-webkit-tests --debug-rwt-logging --release --webkit-test-runner --gtk  animations/animation-iteration-event-destroy-renderer.html
[...]
21:37:44.774 5311 WebProcess crash, pid = None, error_line = #CRASHED - WebProcess
21:37:44.774 5311 killed pid 5351
21:37:44.775 5311 worker/0 animations/animation-iteration-event-destroy-renderer.html crashed, (stderr lines):
21:37:44.775 5311   Xlib:  extension &quot;GLX&quot; missing on display &quot;:1&quot;.
21:37:44.776 5311   Xlib:  extension &quot;GLX&quot; missing on display &quot;:1&quot;.
21:37:44.776 5311   libEGL warning: GLX/DRI2 is not supported
21:37:44.776 5311   Xlib:  extension &quot;GLX&quot; missing on display &quot;:1&quot;.
21:37:44.776 5311   Xlib:  extension &quot;GLX&quot; missing on display &quot;:1&quot;.
21:37:44.776 5311   Xlib:  extension &quot;GLX&quot; missing on display &quot;:1&quot;.
21:37:44.777 5311 [1/1] animations/animation-iteration-event-destroy-renderer.html failed unexpectedly (WebProcess crashed)
[...]


I have been working on a patch to fix this, so I will upload it for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016738</commentid>
    <comment_count>1</comment_count>
      <attachid>233376</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-06-19 13:23:01 -0700</bug_when>
    <thetext>Created attachment 233376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016742</commentid>
    <comment_count>2</comment_count>
      <attachid>233376</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-06-19 13:32:19 -0700</bug_when>
    <thetext>Comment on attachment 233376
Patch

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

&gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:48
&gt; +        if os.path.exists(port.path_from_webkit_base(&apos;WebKitBuild&apos;, &apos;Dependencies&apos;)):
&gt; +                xvfb_found = port.host.executive.run_command(port._jhbuild_wrapper + [&apos;which&apos;, &apos;Xvfb&apos;], return_exit_code=True) is 0
&gt; +        else:
&gt; +                xvfb_found = port.host.executive.run_command([&apos;which&apos;, &apos;Xvfb&apos;], return_exit_code=True) is 0

Wouldn&apos;t it be easier to simply run Xvfb with the JHBuild wrapper? Doesn&apos;t the PATH take care of choosing the correct Xvfb?

&gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:58
&gt; +        if self._port.name().startswith(&quot;gtk&quot;) and os.path.exists(self._port.path_from_webkit_base(&apos;WebKitBuild&apos;, &apos;Dependencies&apos;)):

I&apos;d really like to see this move to the port specific file somehow.

&gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:61
&gt; +                        error_handler=self._port.host.executive.ignore_error).strip()

Nit: Missing some spaces around the = sign.

&gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:99
&gt; +        if os.path.exists(self._port.path_from_webkit_base(&apos;WebKitBuild&apos;, &apos;Dependencies&apos;)):
&gt; +                # Run the Xvfb from the jhbuild
&gt; +                run_xvfb = self._port._jhbuild_wrapper + run_xvfb

We don&apos;t have any helpers for this?

&gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:107
&gt; +        if self._llvmpipe_libgl_path:
&gt; +                # Force the Gallium llvmpipe software rasterizer
&gt; +                environment[&apos;LD_LIBRARY_PATH&apos;] = self._llvmpipe_libgl_path
&gt; +                # If there were another paths on LD_LIBRARY_PATH append them after llvmpipe_libgl_path
&gt; +                if os.environ.get(&apos;LD_LIBRARY_PATH&apos;):
&gt; +                        environment[&apos;LD_LIBRARY_PATH&apos;] += &apos;:%s&apos; % os.environ.get(&apos;LD_LIBRARY_PATH&apos;)
&gt; +

Can&apos;t we set this up in gtk.py? Your indentation is also a bit funky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016748</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-06-19 13:39:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 233376 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=233376&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:48
&gt; &gt; +        if os.path.exists(port.path_from_webkit_base(&apos;WebKitBuild&apos;, &apos;Dependencies&apos;)):
&gt; &gt; +                xvfb_found = port.host.executive.run_command(port._jhbuild_wrapper + [&apos;which&apos;, &apos;Xvfb&apos;], return_exit_code=True) is 0
&gt; &gt; +        else:
&gt; &gt; +                xvfb_found = port.host.executive.run_command([&apos;which&apos;, &apos;Xvfb&apos;], return_exit_code=True) is 0
&gt; 
&gt; Wouldn&apos;t it be easier to simply run Xvfb with the JHBuild wrapper? Doesn&apos;t the PATH take care of choosing the correct Xvfb?

I wasn&apos;t sure about what would happen if jhbuild is not installed and you try to run Xvfb with the wrapper, so I opted for only doing that when it is installed.

I will modify this if you think it would work ok.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:58
&gt; &gt; +        if self._port.name().startswith(&quot;gtk&quot;) and os.path.exists(self._port.path_from_webkit_base(&apos;WebKitBuild&apos;, &apos;Dependencies&apos;)):
&gt; 
&gt; I&apos;d really like to see this move to the port specific file somehow.
&gt; 

The thing is that Xvfb is used by both EFL and GTK, so I don&apos;t know how to make this otherwise.

You can&apos;t preload the llvmpipe mesa libGL libraries outside of the Xvfb driver or you may break the other drivers (Xorg or Wayland).

&gt; &gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:61
&gt; &gt; +                        error_handler=self._port.host.executive.ignore_error).strip()
&gt; 
&gt; Nit: Missing some spaces around the = sign.
&gt; 

Ok
&gt; &gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:99
&gt; &gt; +        if os.path.exists(self._port.path_from_webkit_base(&apos;WebKitBuild&apos;, &apos;Dependencies&apos;)):
&gt; &gt; +                # Run the Xvfb from the jhbuild
&gt; &gt; +                run_xvfb = self._port._jhbuild_wrapper + run_xvfb
&gt; 
&gt; We don&apos;t have any helpers for this?
&gt; 

Helpers for what?

&gt; &gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:107
&gt; &gt; +        if self._llvmpipe_libgl_path:
&gt; &gt; +                # Force the Gallium llvmpipe software rasterizer
&gt; &gt; +                environment[&apos;LD_LIBRARY_PATH&apos;] = self._llvmpipe_libgl_path
&gt; &gt; +                # If there were another paths on LD_LIBRARY_PATH append them after llvmpipe_libgl_path
&gt; &gt; +                if os.environ.get(&apos;LD_LIBRARY_PATH&apos;):
&gt; &gt; +                        environment[&apos;LD_LIBRARY_PATH&apos;] += &apos;:%s&apos; % os.environ.get(&apos;LD_LIBRARY_PATH&apos;)
&gt; &gt; +
&gt; 
&gt; Can&apos;t we set this up in gtk.py? Your indentation is also a bit funky.

I think is a bad idea for the reasons explained above. The preload of mesa should only happen for the Xvfb driver and not for the others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016766</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-06-19 14:20:17 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 233376 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=233376&amp;action=review


&gt; &gt; Wouldn&apos;t it be easier to simply run Xvfb with the JHBuild wrapper? Doesn&apos;t the PATH take care of choosing the correct Xvfb?
&gt; 
&gt; I wasn&apos;t sure about what would happen if jhbuild is not installed and you try to run Xvfb with the wrapper, so I opted for only doing that when it is installed.
&gt; 
&gt; I will modify this if you think it would work ok.

If you run Xvfb with self._jhbuild_wrapper is seems like you shouldn&apos;t need to modify the path at all.

&gt; &gt; &gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:99
&gt; &gt; &gt; +        if os.path.exists(self._port.path_from_webkit_base(&apos;WebKitBuild&apos;, &apos;Dependencies&apos;)):
&gt; &gt; &gt; +                # Run the Xvfb from the jhbuild
&gt; &gt; &gt; +                run_xvfb = self._port._jhbuild_wrapper + run_xvfb
&gt; &gt; 
&gt; &gt; We don&apos;t have any helpers for this?
&gt; &gt; 
&gt; 
&gt; Helpers for what?

Helper for detecting if JHBuild is used. It looks like gtk.py uses the same approach. If we do this more than once it needs to be in a helper called something like &quot;should_use_jhbuild.&quot;
&gt; 
&gt; &gt; &gt; Tools/Scripts/webkitpy/port/xvfbdriver.py:107
&gt; &gt; &gt; +        if self._llvmpipe_libgl_path:
&gt; &gt; &gt; +                # Force the Gallium llvmpipe software rasterizer
&gt; &gt; &gt; +                environment[&apos;LD_LIBRARY_PATH&apos;] = self._llvmpipe_libgl_path
&gt; &gt; &gt; +                # If there were another paths on LD_LIBRARY_PATH append them after llvmpipe_libgl_path
&gt; &gt; &gt; +                if os.environ.get(&apos;LD_LIBRARY_PATH&apos;):
&gt; &gt; &gt; +                        environment[&apos;LD_LIBRARY_PATH&apos;] += &apos;:%s&apos; % os.environ.get(&apos;LD_LIBRARY_PATH&apos;)
&gt; &gt; &gt; +
&gt; &gt; 
&gt; &gt; Can&apos;t we set this up in gtk.py? Your indentation is also a bit funky.
&gt; 
&gt; I think is a bad idea for the reasons explained above. The preload of mesa should only happen for the Xvfb driver and not for the others.

It isn&apos;t possible to reuse setup_environ_for_server or to create a setup_environ_for_xvfb in gtk.py? I don&apos;t think we should be doing GTK+ specific things in this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024580</commentid>
    <comment_count>5</comment_count>
      <attachid>235453</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-07-24 13:20:22 -0700</bug_when>
    <thetext>Created attachment 235453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024586</commentid>
    <comment_count>6</comment_count>
      <attachid>235453</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-07-24 13:34:00 -0700</bug_when>
    <thetext>Comment on attachment 235453
Patch

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

&gt; Tools/gtk/jhbuild.modules:339
&gt; +    &lt;!--- WARNING: At setup_environ_for_server() we check for a directory named &quot;Mesa&quot; when XvfbDriver is used,
&gt; +          so don&apos;t change the checkoutdir name even if you update the version  --&gt;

You are using printenv LLVMPIPE_LIBGL_PATH so it seems like this isn&apos;t true?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024747</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-07-24 19:35:06 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 235453 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=235453&amp;action=review
&gt; 
&gt; &gt; Tools/gtk/jhbuild.modules:339
&gt; &gt; +    &lt;!--- WARNING: At setup_environ_for_server() we check for a directory named &quot;Mesa&quot; when XvfbDriver is used,
&gt; &gt; +          so don&apos;t change the checkoutdir name even if you update the version  --&gt;
&gt; 
&gt; You are using printenv LLVMPIPE_LIBGL_PATH so it seems like this isn&apos;t true?

Right. I will update the comment about this.


Also, I should comment about this point of the previous review:

(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; (From update of attachment 233376 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=233376&amp;action=review
&gt; 
&gt; 
&gt; &gt; &gt; Wouldn&apos;t it be easier to simply run Xvfb with the JHBuild wrapper? Doesn&apos;t the PATH take care of choosing the correct Xvfb?
&gt; &gt; 
&gt; &gt; I wasn&apos;t sure about what would happen if jhbuild is not installed and you try to run Xvfb with the wrapper, so I opted for only doing that when it is installed.
&gt; &gt; 
&gt; &gt; I will modify this if you think it would work ok.
&gt; 
&gt; If you run Xvfb with self._jhbuild_wrapper is seems like you shouldn&apos;t need to modify the path at all.
&gt; 

I have tested it, and running any command with jhbuild-wrapper is a no-op if you use the local jhbuild in your environment:

$ Tools/jhbuild/jhbuild-wrapper --gtk run which Xvfb
/home/clopez/webkit/webkit/WebKitBuild/Dependencies/Root/bin/Xvfb

But if you don&apos;t use it, that will cause jhbuild to be downloaded and installed on the first run (quite ugly). Check:

$ mv WebKitBuild/Dependencies WebKitBuild/Dependencies.back

$ Tools/jhbuild/jhbuild-wrapper --gtk run which Xvfb
Cloning into &apos;jhbuild&apos;...
remote: Counting objects: 39410, done.
remote: Compressing objects: 100% (10417/10417), done.
remote: Total 39410 (delta 30410), reused 37509 (delta 28838)
Receiving objects: 100% (39410/39410), 7.97 MiB | 1.78 MiB/s, done.
Resolving deltas: 100% (30410/30410), done.
[....]
Running ./configure --enable-maintainer-mode --prefix=/home/clopez/webkit/webkit/WebKitBuild/Dependencies/Root ...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
[....]
 /bin/mkdir -p &apos;/home/clopez/webkit/webkit/WebKitBuild/Dependencies/Root/share/applications&apos;
 /usr/bin/install -c -m 644 jhbuild.desktop &apos;/home/clopez/webkit/webkit/WebKitBuild/Dependencies/Root/share/applications&apos;
make[2]: Leaving directory &apos;/home/clopez/webkit/webkit/WebKitBuild/Dependencies/Source/jhbuild&apos;
make[1]: Leaving directory &apos;/home/clopez/webkit/webkit/WebKitBuild/Dependencies/Source/jhbuild&apos;
/usr/bin/Xvfb

So, IMHO I think is worth to check if _should_use_jhbuild() is true and only execute the commands with the wrapper on that case (that&apos;s what the current patch does on xvfbdriver.py)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024756</commentid>
    <comment_count>8</comment_count>
      <attachid>235492</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-07-24 20:01:19 -0700</bug_when>
    <thetext>Created attachment 235492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024770</commentid>
    <comment_count>9</comment_count>
      <attachid>235494</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-07-24 20:15:08 -0700</bug_when>
    <thetext>Created attachment 235494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029810</commentid>
    <comment_count>10</comment_count>
      <attachid>236769</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-08-18 11:35:24 -0700</bug_when>
    <thetext>Created attachment 236769
Patch

Rebased patch after r172030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029816</commentid>
    <comment_count>11</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-08-18 11:50:38 -0700</bug_when>
    <thetext>(In reply to comment #7)

&gt; But if you don&apos;t use it, that will cause jhbuild to be downloaded and installed on the first run (quite ugly). Check:

I&apos;m not sure I understand what you mean by &quot;use the local jhbuild in your environment.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029864</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-08-18 14:03:17 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #7)
&gt; 
&gt; &gt; But if you don&apos;t use it, that will cause jhbuild to be downloaded and installed on the first run (quite ugly). Check:
&gt; 
&gt; I&apos;m not sure I understand what you mean by &quot;use the local jhbuild in your environment.&quot;

I mean, that if you already used the internal jhbuild, then executing &quot;Tools/jhbuild/jhbuild-wrapper --gtk run something&quot; works without problems.

But if you never used the internal jhbuild (aka directory WebKitBuild/Dependencies don&apos;t exists), then executing &quot;Tools/jhbuild/jhbuild-wrapper --gtk run something&quot; will cause a checkout of the jhbuild source code and a compilation of jhbuild itself before running &quot;something&quot;.

Check what happens in that case at the bottom of the comment c7 https://bugs.webkit.org/show_bug.cgi?id=134070#c7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030509</commentid>
    <comment_count>13</comment_count>
      <attachid>236769</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-08-21 08:47:59 -0700</bug_when>
    <thetext>Comment on attachment 236769
Patch

Clearing flags on attachment: 236769

Committed r172830: &lt;http://trac.webkit.org/changeset/172830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030510</commentid>
    <comment_count>14</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-08-21 08:48:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233376</attachid>
            <date>2014-06-19 13:23:01 -0700</date>
            <delta_ts>2014-07-24 13:19:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134070-20140619222238.patch</filename>
            <type>text/plain</type>
            <size>11405</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwMTU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDMyM2I4ZjcwZDNjYWM0ZjA2MDIyZTUxOTg0OGE3ZDMx
OWFjZGJjOC4uM2M0MGI2YTM5MGM4ZDFhYmE3YzViYTE3YzU5NDdjYTNhMzAyNmZkYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMx
IEBACisyMDE0LTA2LTE5ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIExvYWQgdGhlIGxsdm1waXBlIChNZXNhKSBsaWJyYXJp
ZXMgd2hlbiBydW5uaW5nIHRoZSB0ZXN0cyB3aXRoIFh2ZmIuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQwNzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZi
ZHJpdmVyLnB5OgorICAgICAgICAoWHZmYkRyaXZlci5jaGVja19kcml2ZXIpOiB4dmZiX2ZvdW5k
IHNob3VsZCBiZSBjaGVja2VkIGFsc28gaW5zaWRlCisgICAgICAgIHRoZSBqaGJ1aWxkLgorICAg
ICAgICAoWHZmYkRyaXZlci5fX2luaXRfXyk6IEdldCB0aGUgcGF0aCBmb3IgbGx2bXBpcGVfbGli
Z2xfcGF0aCBieQorICAgICAgICBxdWVyeWluZyB0aGUgamhidWlsZCB3aXRoIHByaW50ZW52LiBB
bHNvIGNoZWNrIHRoYXQgdGhlIHBhdGggY29udGFpbnMKKyAgICAgICAgdGhlIGxpYnJhcmllcyB3
ZSBleHBlY3QuIERvIHRoaXMgb25seSBmb3IgdGhlIEdUSyBwb3J0LgorICAgICAgICAoWHZmYkRy
aXZlci5fc3RhcnQpOiBJZiBwb3NzaWJsZSwgcnVuIHRoZSBYdmZiIGZyb20gdGhlIGpoYnVpbGQu
CisgICAgICAgIEFsc28sIGFkZCB0aGUgTERfTElCUkFSWV9QQVRIIHZhcmlhYmxlIHRvIHRoZSBl
bnZpcm9ubWVudAorICAgICAgICB0aGF0IHdpbGwgYmUgcGFzc2VkIGxhdGVyIHRvIGJvdGggWHZm
YiBhbmQgV0tUUi4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91
bml0dGVzdC5weToKKyAgICAgICAgKFh2ZmJEcml2ZXJUZXN0Lm1ha2VfZHJpdmVyKTogR2V0IHRo
ZSBwb3J0IGRlZmF1bHQgZW52aXJvbm1lbnQuCisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0
X3N0YXJ0X25vX3BpeGVsX3Rlc3RzKTogVGhlIGV4cGVjdGVkIGxvZyBub3cKKyAgICAgICAgc2hv
dWxkIGluY2x1ZGUgdGhlIGVudmlyb25tZW50IHRoYXQgaXMgcGFzc2VkIHdoZW4gcnVubmluZyBY
dmZiLgorICAgICAgICAoWHZmYkRyaXZlclRlc3QudGVzdF9zdGFydF9waXhlbF90ZXN0cyk6IERp
dHRvLgorICAgICAgICAoWHZmYkRyaXZlclRlc3QudGVzdF9zdGFydF9hcmJpdHJhcnlfd29ya2Vy
X251bWJlcik6IERpdHRvLgorICAgICAgICAoWHZmYkRyaXZlclRlc3QudGVzdF9zdGFydF9uZXh0
X3dvcmtlcik6IERpdHRvLgorICAgICAgICAqIGd0ay9pbnN0YWxsLWRlcGVuZGVuY2llczogQWRk
IG1pc3NpbmcgbGx2bS1kZXYgZGVwZW5kZW5jaWVzCisgICAgICAgIHJlcXVpcmVkIHRvIGJ1aWxk
IG1lc2EgbGx2bXBpcGUuCisgICAgICAgICogZ3RrL2poYnVpbGRyYzogVGhlIHBhdGggTExWTVBJ
UEVfTElCR0xfUEFUSCBzaG91bGQgYmUgdGhlIG9uZQorICAgICAgICB0aGF0IGhhcyB0aGUgbGx2
bSBvcHRpbWl6ZWQgR2FsbGl1bSBsaWJHTCBsaWJyYXJpZXMuCisKIDIwMTQtMDYtMTkgIERhdmlk
IEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBjaGVjay13ZWJraXQtc3R5
bGUgZG9lcyBub3QgdW5kZXJzdGFuZCBPYmotQyBsaXRlcmFsIHN5bnRheCBmb3IgTlNEaWN0aW9u
YXJ5CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CmluZGV4IGFiZjli
YmM1NGVmOTJhNDVjMzI2ZjlhZjQ0YWE4YmU0MWFjMWZhNTUuLjg2NjQxMjQ4ZWRiODljODExNzhl
OWZhNmY4NmM5ZWI2NDFmZjdjOTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC94dmZiZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZi
ZHJpdmVyLnB5CkBAIC0xLDQgKzEsNSBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSBTLkwu
CiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00MSw3ICs0MiwxMCBAQCBfbG9n
ID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiBjbGFzcyBYdmZiRHJpdmVyKERyaXZlcik6
CiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBjaGVja19kcml2ZXIocG9ydCk6Ci0gICAgICAg
IHh2ZmJfZm91bmQgPSBwb3J0Lmhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFsnd2hpY2gnLCAn
WHZmYiddLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpIGlzIDAKKyAgICAgICAgaWYgb3MucGF0aC5l
eGlzdHMocG9ydC5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgJ0RlcGVuZGVu
Y2llcycpKToKKyAgICAgICAgICAgICAgICB4dmZiX2ZvdW5kID0gcG9ydC5ob3N0LmV4ZWN1dGl2
ZS5ydW5fY29tbWFuZChwb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBbJ3doaWNoJywgJ1h2ZmInXSwg
cmV0dXJuX2V4aXRfY29kZT1UcnVlKSBpcyAwCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg
ICAgeHZmYl9mb3VuZCA9IHBvcnQuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoWyd3aGljaCcs
ICdYdmZiJ10sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSkgaXMgMAogICAgICAgICBpZiBub3QgeHZm
Yl9mb3VuZDoKICAgICAgICAgICAgIF9sb2cuZXJyb3IoIk5vIFh2ZmIgZm91bmQuIENhbm5vdCBy
dW4gbGF5b3V0IHRlc3RzLiIpCiAgICAgICAgIHJldHVybiB4dmZiX2ZvdW5kCkBAIC01MCw2ICs1
NCwxNCBAQCBjbGFzcyBYdmZiRHJpdmVyKERyaXZlcik6CiAgICAgICAgIERyaXZlci5fX2luaXRf
XyhzZWxmLCAqYXJncywgKiprd2FyZ3MpCiAgICAgICAgIHNlbGYuX2d1YXJkX2xvY2sgPSBOb25l
CiAgICAgICAgIHNlbGYuX3N0YXJ0dXBfZGVsYXlfc2VjcyA9IDEuMAorICAgICAgICBzZWxmLl9s
bHZtcGlwZV9saWJnbF9wYXRoID0gTm9uZQorICAgICAgICBpZiBzZWxmLl9wb3J0Lm5hbWUoKS5z
dGFydHN3aXRoKCJndGsiKSBhbmQgb3MucGF0aC5leGlzdHMoc2VsZi5fcG9ydC5wYXRoX2Zyb21f
d2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgJ0RlcGVuZGVuY2llcycpKToKKyAgICAgICAgICAg
ICAgICBzZWxmLl9sbHZtcGlwZV9saWJnbF9wYXRoID0gc2VsZi5fcG9ydC5ob3N0LmV4ZWN1dGl2
ZS5ydW5fY29tbWFuZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BvcnQuX2poYnVp
bGRfd3JhcHBlciArIFsncHJpbnRlbnYnLCAnTExWTVBJUEVfTElCR0xfUEFUSCddLAorICAgICAg
ICAgICAgICAgICAgICAgICAgZXJyb3JfaGFuZGxlcj1zZWxmLl9wb3J0Lmhvc3QuZXhlY3V0aXZl
Lmlnbm9yZV9lcnJvcikuc3RyaXAoKQorICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9sbHZt
cGlwZV9saWJnbF9wYXRoIG9yIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5f
bGx2bXBpcGVfbGliZ2xfcGF0aCwgImxpYkdMLnNvIikpOgorICAgICAgICAgICAgICAgICAgICAg
ICAgc2VsZi5fbGx2bXBpcGVfbGliZ2xfcGF0aCA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAg
ICAgIF9sb2cud2FybmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5
IHRvIGV4ZWN1dGUgYmVmb3JlIFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdGd0ay1saWJzIikK
IAogICAgIGRlZiBfbmV4dF9mcmVlX2Rpc3BsYXkoc2VsZik6CiAgICAgICAgIHJ1bm5pbmdfcGlk
cyA9IHNlbGYuX3BvcnQuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoWydwcycsICctZW8nLCAn
Y29tbSxjb21tYW5kJ10pCkBAIC04MCwxMyArOTIsMjEgQEAgY2xhc3MgWHZmYkRyaXZlcihEcml2
ZXIpOgogICAgICAgICBzZXJ2ZXJfbmFtZSA9IHNlbGYuX3BvcnQuZHJpdmVyX25hbWUoKQogICAg
ICAgICBlbnZpcm9ubWVudCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNl
cnZlcl9uYW1lKQogCi0gICAgICAgIGxsdm1waXBlX2xpYmdsX3BhdGggPSBvcy5lbnZpcm9uLmdl
dCgnTExWTVBJUEVfTElCR0xfUEFUSCcpCi0gICAgICAgIGlmIGxsdm1waXBlX2xpYmdsX3BhdGg6
Ci0gICAgICAgICAgICBlbnZpcm9ubWVudFsnTERfTElCUkFSWV9QQVRIJ10gPSAnJXM6JXMnICUg
KGxsdm1waXBlX2xpYmdsX3BhdGgsIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnLCAn
JykpCi0KICAgICAgICAgcnVuX3h2ZmIgPSBbIlh2ZmIiLCAiOiVkIiAlIGRpc3BsYXlfaWQsICIt
c2NyZWVuIiwgICIwIiwgIjEwMjR4NzY4eCVzIiAlIHNlbGYuX3h2ZmJfc2NyZWVuX2RlcHRoKCks
ICItbm9saXN0ZW4iLCAidGNwIl0KKworICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzZWxmLl9w
b3J0LnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2ViS2l0QnVpbGQnLCAnRGVwZW5kZW5jaWVzJykp
OgorICAgICAgICAgICAgICAgICMgUnVuIHRoZSBYdmZiIGZyb20gdGhlIGpoYnVpbGQKKyAgICAg
ICAgICAgICAgICBydW5feHZmYiA9IHNlbGYuX3BvcnQuX2poYnVpbGRfd3JhcHBlciArIHJ1bl94
dmZiCisKKyAgICAgICAgaWYgc2VsZi5fbGx2bXBpcGVfbGliZ2xfcGF0aDoKKyAgICAgICAgICAg
ICAgICAjIEZvcmNlIHRoZSBHYWxsaXVtIGxsdm1waXBlIHNvZnR3YXJlIHJhc3Rlcml6ZXIKKyAg
ICAgICAgICAgICAgICBlbnZpcm9ubWVudFsnTERfTElCUkFSWV9QQVRIJ10gPSBzZWxmLl9sbHZt
cGlwZV9saWJnbF9wYXRoCisgICAgICAgICAgICAgICAgIyBJZiB0aGVyZSB3ZXJlIGFub3RoZXIg
cGF0aHMgb24gTERfTElCUkFSWV9QQVRIIGFwcGVuZCB0aGVtIGFmdGVyIGxsdm1waXBlX2xpYmds
X3BhdGgKKyAgICAgICAgICAgICAgICBpZiBvcy5lbnZpcm9uLmdldCgnTERfTElCUkFSWV9QQVRI
Jyk6CisgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudFsnTERfTElCUkFSWV9QQVRI
J10gKz0gJzolcycgJSBvcy5lbnZpcm9uLmdldCgnTERfTElCUkFSWV9QQVRIJykKKwogICAgICAg
ICB3aXRoIG9wZW4ob3MuZGV2bnVsbCwgJ3cnKSBhcyBkZXZudWxsOgotICAgICAgICAgICAgc2Vs
Zi5feHZmYl9wcm9jZXNzID0gc2VsZi5fcG9ydC5ob3N0LmV4ZWN1dGl2ZS5wb3BlbihydW5feHZm
Yiwgc3RkZXJyPWRldm51bGwpCisgICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3MgPSBzZWxm
Ll9wb3J0Lmhvc3QuZXhlY3V0aXZlLnBvcGVuKHJ1bl94dmZiLCBzdGRlcnI9ZGV2bnVsbCwgZW52
PWVudmlyb25tZW50KQogCiAgICAgICAgICMgQ3Jhc2hlcyBpbnRlbmQgdG8gb2NjdXIgb2NjYXNp
b25hbGx5IGluIHRoZSBmaXJzdCBmZXcgdGVzdHMgdGhhdCBhcmUgcnVuIHRocm91Z2ggZWFjaAog
ICAgICAgICAjIHdvcmtlciBiZWNhdXNlIHRoZSBYdmZiIGRpc3BsYXkgaXNuJ3QgcmVhZHkgeWV0
LiBIYWx0aW5nIGV4ZWN1dGlvbiBhIGJpdCBzaG91bGQgYXZvaWQgdGhhdC4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyX3VuaXR0ZXN0LnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHkKaW5kZXggZTEw
NThlMmMzNTllY2FlM2ExN2ExMjQwMzgwMTZiOTI4OTRkOWY2ZS4uZWFiMDc0ZGI1ZDM4NDgyMTI1
MzIyMjA4M2I3ZDE1ZTdkZjQ2ZmM1NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHkKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgWHZm
YkRyaXZlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBkcml2ZXIgPSBYdmZiRHJp
dmVyKHBvcnQsIHdvcmtlcl9udW1iZXI9d29ya2VyX251bWJlciwgcGl4ZWxfdGVzdHM9VHJ1ZSkK
ICAgICAgICAgZHJpdmVyLl9zdGFydHVwX2RlbGF5X3NlY3MgPSAwCiAgICAgICAgIGRyaXZlci5f
eHZmYl9zY3JlZW5fZGVwdGggPSBsYW1iZGE6ICcyNCcKKyAgICAgICAgZHJpdmVyLl9lbnZpcm9u
bWVudCA9IHBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHBvcnQuZHJpdmVyX25hbWUoKSkK
ICAgICAgICAgcmV0dXJuIGRyaXZlcgogCiAgICAgZGVmIGNsZWFudXBfZHJpdmVyKHNlbGYsIGRy
aXZlcik6CkBAIC02NywxOSArNjgsMTkgQEAgY2xhc3MgWHZmYkRyaXZlclRlc3QodW5pdHRlc3Qu
VGVzdENhc2UpOgogCiAgICAgZGVmIHRlc3Rfc3RhcnRfbm9fcGl4ZWxfdGVzdHMoc2VsZik6CiAg
ICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIoKQotICAgICAgICBleHBlY3RlZF9sb2dz
ID0gIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMnLCAnLWVvJywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9
Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywgJzowJywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2
OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ11cbiIKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICgi
TU9DSyBydW5fY29tbWFuZDogWydwcycsICctZW8nLCAnY29tbSxjb21tYW5kJ10sIGN3ZD1Ob25l
XG5NT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4NzY4eDI0
JywgJy1ub2xpc3RlbicsICd0Y3AnXSwgZW52PSVzXG4iICUgZHJpdmVyLl9lbnZpcm9ubWVudCkK
ICAgICAgICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBleHBlY3Rl
ZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIGV4cGVjdGVkX2Rpc3BsYXk9IjowIikKICAgICAgICAgc2Vs
Zi5jbGVhbnVwX2RyaXZlcihkcml2ZXIpCiAKICAgICBkZWYgdGVzdF9zdGFydF9waXhlbF90ZXN0
cyhzZWxmKToKICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcigpCi0gICAgICAgIGV4
cGVjdGVkX2xvZ3MgPSAiTU9DSyBydW5fY29tbWFuZDogWydwcycsICctZW8nLCAnY29tbSxjb21t
YW5kJ10sIGN3ZD1Ob25lXG5NT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVlbicsICcw
JywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAgICAgICBleHBlY3Rl
ZF9sb2dzID0gKCJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywgJy1lbycsICdjb21tLGNvbW1hbmQn
XSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2NyZWVuJywgJzAnLCAn
MTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2ZXIuX2Vu
dmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2
ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0iOjAiLCBw
aXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIAog
ICAgIGRlZiB0ZXN0X3N0YXJ0X2FyYml0cmFyeV93b3JrZXJfbnVtYmVyKHNlbGYpOgogICAgICAg
ICBkcml2ZXIgPSBzZWxmLm1ha2VfZHJpdmVyKHdvcmtlcl9udW1iZXI9MTcpCi0gICAgICAgIGV4
cGVjdGVkX2xvZ3MgPSAiTU9DSyBydW5fY29tbWFuZDogWydwcycsICctZW8nLCAnY29tbSxjb21t
YW5kJ10sIGN3ZD1Ob25lXG5NT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVlbicsICcw
JywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAgICAgICBleHBlY3Rl
ZF9sb2dzID0gKCJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywgJy1lbycsICdjb21tLGNvbW1hbmQn
XSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2NyZWVuJywgJzAnLCAn
MTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2ZXIuX2Vu
dmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2
ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0iOjAiLCBw
aXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIApA
QCAtMTA4LDEyICsxMDksMTIgQEAgY2xhc3MgWHZmYkRyaXZlclRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgIGRlZiB0ZXN0X3N0YXJ0X25leHRfd29ya2VyKHNlbGYpOgogICAgICAgICBkcml2
ZXIgPSBzZWxmLm1ha2VfZHJpdmVyKCkKICAgICAgICAgZHJpdmVyLl9uZXh0X2ZyZWVfZGlzcGxh
eSA9IGxhbWJkYTogMAotICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcG9wZW46IFsnWHZm
YicsICc6MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3Rj
cCddXG4iCisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6
MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBl
bnY9JXNcbiIgJSBkcml2ZXIuX2Vudmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZl
clN0YXJ0U3VjY2Vzc2Z1bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhw
ZWN0ZWRfZGlzcGxheT0iOjAiLCBwaXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFu
dXBfZHJpdmVyKGRyaXZlcikKICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcigpCiAg
ICAgICAgIGRyaXZlci5fbmV4dF9mcmVlX2Rpc3BsYXkgPSBsYW1iZGE6IDMKLSAgICAgICAgZXhw
ZWN0ZWRfbG9ncyA9ICJNT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjMnLCAnLXNjcmVlbicsICcwJywg
JzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAgICAgICBleHBlY3RlZF9s
b2dzID0gKCJNT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjMnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4
NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXSwgZW52PSVzXG4iICUgZHJpdmVyLl9lbnZpcm9u
bWVudCkKICAgICAgICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBl
eHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIGV4cGVjdGVkX2Rpc3BsYXk9IjozIiwgcGl4ZWxf
dGVzdHM9VHJ1ZSkKICAgICAgICAgc2VsZi5jbGVhbnVwX2RyaXZlcihkcml2ZXIpCiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcyBiL1Rvb2xzL2d0ay9pbnN0YWxs
LWRlcGVuZGVuY2llcwppbmRleCAwODNkYzc5ZjE0OWIxMTUxOTdhZTExNTliMDM4N2M2ZjQ4NzMx
Y2U5Li5jOTQ3MjdmOTk3ZmJhNzU2MjkwYzVlMDc4ZGIyMzI0ZTRiZjE4ZDkwIDEwMDc1NQotLS0g
YS9Ub29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKKysrIGIvVG9vbHMvZ3RrL2luc3RhbGwt
ZGVwZW5kZW5jaWVzCkBAIC0xMTAsNiArMTEwLDcgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVu
Y2llc1dpdGhBcHQgewogICAgICAgICBsaWJ4Zm9udC1kZXYgXAogICAgICAgICBsaWJ4a2JmaWxl
LWRldiBcCiAgICAgICAgIGxsdm0gXAorICAgICAgICBsbHZtLWRldiBcCiAgICAgICAgIHB5dGhv
bi1kZXYgXAogICAgICAgICByYWdlbCBcCiAgICAgICAgIHgxMXByb3RvLWJpZ3JlcXMtZGV2IFwK
QEAgLTIwOCw2ICsyMDksNyBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aFl1bSB7
CiAgICAgICAgIGxpYnRpZmYtZGV2ZWwgXAogICAgICAgICBsaWJ4a2JmaWxlLWRldmVsIFwKICAg
ICAgICAgbGx2bSBcCisgICAgICAgIGxsdm0tZGV2ZWwgXAogICAgICAgICBtZXNhLWxpYkVHTC1k
ZXZlbCBcCiAgICAgICAgIHJhZ2VsIFwKICAgICAgICAgeG9yZy14MTEtZm9udC11dGlscyBcCmRp
ZmYgLS1naXQgYS9Ub29scy9ndGsvamhidWlsZHJjIGIvVG9vbHMvZ3RrL2poYnVpbGRyYwppbmRl
eCA3MzU2YzQxOTQwZmYyNmQ0NTY3ZDU0ODE2NWNlMTYyY2FmYWNkN2M1Li44N2Q1NTA0ZDRhZGUy
OTM0M2ZiOTFmODJmYWRhNTI3M2JjMTQ4MThmIDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhidWls
ZHJjCisrKyBiL1Rvb2xzL2d0ay9qaGJ1aWxkcmMKQEAgLTEsNSArMSw1IEBACiAjIS91c3IvYmlu
L2VudiBweXRob24KLSMgQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisjIENvcHlyaWdo
dCAoQykgMjAxMS0yMDE0IElnYWxpYSBTLkwuCiAjCiAjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICMgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAtMTYsNiArMTYs
NyBAQAogIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKIAogaW1wb3J0IHN5cworaW1wb3J0IG9zCiAK
IHN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9f
KSwgIi4uL2poYnVpbGQiKSApCiBpbXBvcnQgamhidWlsZHJjX2NvbW1vbgpAQCAtMzMsNiArMzQs
NiBAQCBtb2R1bGVfbWFrZWFyZ3NbJ2d0aysnXSA9ICdMREZMQUdTPSItbG0iICcgKyBtYWtlYXJn
cwogYXV0b2dlbmFyZ3M9Jy0tZW5hYmxlLWludHJvc3BlY3Rpb24nCiAKIGlmIHVzZV9saWI2NDoK
LSAgICBvcy5lbnZpcm9uWydMTFZNUElQRV9MSUJHTF9QQVRIJ10gPSBvcy5wYXRoLmFic3BhdGgo
b3MucGF0aC5qb2luKGNoZWNrb3V0cm9vdCwgJ01lc2EtMTAuMi4xJywgJ2xpYjY0JykpCisgICAg
b3MuZW52aXJvblsnTExWTVBJUEVfTElCR0xfUEFUSCddID0gb3MucGF0aC5hYnNwYXRoKG9zLnBh
dGguam9pbihjaGVja291dHJvb3QsICdNZXNhLTEwLjIuMScsICdsaWI2NCcsICdnYWxsaXVtJykp
CiBlbHNlOgotICAgIG9zLmVudmlyb25bJ0xMVk1QSVBFX0xJQkdMX1BBVEgnXSA9IG9zLnBhdGgu
YWJzcGF0aChvcy5wYXRoLmpvaW4oY2hlY2tvdXRyb290LCAnTWVzYS0xMC4yLjEnLCAnbGliJykp
CisgICAgb3MuZW52aXJvblsnTExWTVBJUEVfTElCR0xfUEFUSCddID0gb3MucGF0aC5hYnNwYXRo
KG9zLnBhdGguam9pbihjaGVja291dHJvb3QsICdNZXNhLTEwLjIuMScsICdsaWInLCAnZ2FsbGl1
bScpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235453</attachid>
            <date>2014-07-24 13:20:22 -0700</date>
            <delta_ts>2014-07-24 20:01:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134070-20140724222006.patch</filename>
            <type>text/plain</type>
            <size>16146</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxNTEzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTc1ZDg3NWQ5ODFiNDNmMWU3N2E2M2EzNTExY2ZiNDBk
YzYwNTYwNy4uYTFhZTVkZGJkMTlmNjczNmI5M2RhNDZjZjFhZTE1MGI2N2EwYjFjNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDE0LTA3LTI0ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIExvYWQgdGhlIGxsdm1waXBlIChNZXNhKSBsaWJyYXJp
ZXMgd2hlbiBydW5uaW5nIHRoZSB0ZXN0cyB3aXRoIFh2ZmIuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQwNzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
LnB5OgorICAgICAgICAoUG9ydC5fX2luaXRfXyk6IFNldCBkZWZhdWx0IF9qaGJ1aWxkX3dyYXBw
ZXIgdmFyaWFibGUuCisgICAgICAgIChQb3J0Ll9zaG91bGRfdXNlX2poYnVpbGQpOiBJbXBsZW1l
bnQgZ2VuZXJpYyBjaGVjay4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5
OiBSZW5hbWUgdG8gamhidWlsZF93cmFwcGVyIHZhcmlhYmxlCisgICAgICAgIHRvIG1ha2UgaXQg
Y29uc2lzdGVudCB3aXRoIHRoZSBvdGhlciBwb3J0cy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9ydC5fX2luaXRfXyk6IFVzZSB0aGUgbmV3
IF9zaG91bGRfdXNlX2poYnVpbGQoKSBtZXRob2QuCisgICAgICAgIChHdGtQb3J0LnNldHVwX2Vu
dmlyb25fZm9yX3NlcnZlcik6IEdldCB0aGUgcGF0aCBmb3IgbGx2bXBpcGVfbGliZ2xfcGF0aCBi
eQorICAgICAgICBxdWVyeWluZyB0aGUgamhidWlsZCB3aXRoIHByaW50ZW52LiBBbHNvIGNoZWNr
IHRoYXQgdGhlIHBhdGggY29udGFpbnMKKyAgICAgICAgdGhlIGxpYnJhcmllcyB3ZSBleHBlY3Qu
IFByZWxvYWQgdGhpcyBwYXRoIG9ubHkgZm9yIFh2ZmJEcml2ZXIuCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLmNoZWNr
X2RyaXZlcik6IENoZWNrIGZvciB0aGUgamhidWlsZCB3cmFwcGVyIGFuZCB1c2UgaXQuCisgICAg
ICAgIChYdmZiRHJpdmVyLl9zdGFydCk6IFRoZSBlbnZpcm9ubWVudCBmb3IgbGx2bXBpcGVfbGli
Z2xfcGF0aCBpcyBub3cKKyAgICAgICAgY29uZmlndXJlZCBhdCBzZXR1cF9lbnZpcm9uX2Zvcl9z
ZXJ2ZXIoKQorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyX3VuaXR0
ZXN0LnB5OgorICAgICAgICAoWHZmYkRyaXZlclRlc3QubWFrZV9kcml2ZXIpOiBHZXQgdGhlIHBv
cnQgZGVmYXVsdCBlbnZpcm9ubWVudC4KKyAgICAgICAgKFh2ZmJEcml2ZXJUZXN0LnRlc3Rfc3Rh
cnRfbm9fcGl4ZWxfdGVzdHMpOiBUaGUgZXhwZWN0ZWQgbG9nIG5vdworICAgICAgICBzaG91bGQg
aW5jbHVkZSB0aGUgZW52aXJvbm1lbnQgdGhhdCBpcyBwYXNzZWQgd2hlbiBydW5uaW5nIFh2ZmIu
CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X3BpeGVsX3Rlc3RzKTogRGl0dG8u
CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X2FyYml0cmFyeV93b3JrZXJfbnVt
YmVyKTogRGl0dG8uCisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X25leHRfd29y
a2VyKTogRGl0dG8uCisgICAgICAgICogZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzOiBBZGQgbWlz
c2luZyBsbHZtLWRldiBkZXBlbmRlbmNpZXMKKyAgICAgICAgcmVxdWlyZWQgdG8gYnVpbGQgbWVz
YSBsbHZtcGlwZS4KKyAgICAgICAgKiBndGsvamhidWlsZC5tb2R1bGVzOiBSZW5hbWUgY2hlY2tv
dXRkaXIgdG8gZ2VuZXJpYyAiTWVzYSIgdG8KKyAgICAgICAgcHJldmVudCBmdXR1cmUgcHJvYmxl
bXMgd2hlbiB0aGUgdmVyc2lvbiBpcyByYWlzZWQuIEFkZCBhbHNvIGEKKyAgICAgICAgY29tbWVu
dCB3aXRoIGEgd2FybmluZy4KKyAgICAgICAgKiBndGsvamhidWlsZHJjOiBUaGUgcGF0aCBMTFZN
UElQRV9MSUJHTF9QQVRIIHNob3VsZCBiZSB0aGUgb25lCisgICAgICAgIHRoYXQgaGFzIHRoZSBs
bHZtIG9wdGltaXplZCBHYWxsaXVtIGxpYkdMIGxpYnJhcmllcy4KKwogMjAxNC0wNy0yMyAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
aU9TIGJ1aWxkIGZpeCBhZnRlciByMTcxMzU1LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5w
eQppbmRleCBlOGFiY2M5NTQ4ZjRkZDdhOTEyYzRjZWJmYzc5ZTJkMzI2ZDcwY2ViLi5hNmU1MGJj
ZmYwZmY2Njk2N2QyN2EyNGI0MGRlODY5Mzk4YmU4NjdmIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvYmFzZS5weQpAQCAtMTMyLDYgKzEzMiw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAg
ICAgc2VsZi5fcmVmdGVzdF9saXN0ID0ge30KICAgICAgICAgc2VsZi5fcmVzdWx0c19kaXJlY3Rv
cnkgPSBOb25lCiAgICAgICAgIHNlbGYuX3Jvb3Rfd2FzX3NldCA9IGhhc2F0dHIob3B0aW9ucywg
J3Jvb3QnKSBhbmQgb3B0aW9ucy5yb290CisgICAgICAgIHNlbGYuX2poYnVpbGRfd3JhcHBlciA9
IFtdCiAKICAgICBkZWYgYWRkaXRpb25hbF9kcnRfZmxhZyhzZWxmKToKICAgICAgICAgcmV0dXJu
IFtdCkBAIC0xMjYyLDYgKzEyNjMsOSBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMg
LS1waXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4g
VHJ1ZQogCisgICAgZGVmIF9zaG91bGRfdXNlX2poYnVpbGQoc2VsZik6CisgICAgICAgIHJldHVy
biBvcy5wYXRoLmV4aXN0cyhzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2ViS2l0QnVpbGQn
LCAnRGVwZW5kZW5jaWVzJykpCisKICAgICAjIEZJWE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBz
dGFuZGFyaXplIHBvcnQgbmFtaW5nLCBhbmQgbWFrZSB0aGlzIG1ldGhvZCBzbWFydCBlbm91Z2gK
ICAgICAjIHRvIHVzZSBmb3IgYWxsIHBvcnQgY29uZmlndXJhdGlvbnMgKGluY2x1ZGluZyBhcmNo
aXRlY3R1cmVzLCBncmFwaGljcyB0eXBlcywgZXRjKS4KICAgICBkZWYgX3BvcnRfZmxhZ19mb3Jf
c2NyaXB0cyhzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9l
ZmwucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5CmluZGV4IDNmZGZlMWZj
NGVhOWUzNDg1N2ZlOTU0ZDk1NWM1MzQ2ZThmNmFjOWUuLmQyMjVkNjVhNGEyOTE3MGYyZmIzZGJi
ODgwNzEzMjM0YjE5MDMxNTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9lZmwucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2VmbC5weQpAQCAtNDIs
OSArNDIsOSBAQCBjbGFzcyBFZmxQb3J0KFBvcnQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAq
YXJncywgKiprd2FyZ3MpOgogICAgICAgICBzdXBlcihFZmxQb3J0LCBzZWxmKS5fX2luaXRfXygq
YXJncywgKiprd2FyZ3MpCiAKLSAgICAgICAgc2VsZi5famhidWlsZF93cmFwcGVyX3BhdGggPSBb
c2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2poYnVpbGQnLCAnamhidWlsZC13
cmFwcGVyJyksICctLWVmbCcsICdydW4nXQorICAgICAgICBzZWxmLl9qaGJ1aWxkX3dyYXBwZXIg
PSBbc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2poYnVpbGQnLCAnamhidWls
ZC13cmFwcGVyJyksICctLWVmbCcsICdydW4nXQogCi0gICAgICAgIHNlbGYuc2V0X29wdGlvbl9k
ZWZhdWx0KCd3cmFwcGVyJywgJyAnLmpvaW4oc2VsZi5famhidWlsZF93cmFwcGVyX3BhdGgpKQor
ICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgnd3JhcHBlcicsICcgJy5qb2luKHNlbGYu
X2poYnVpbGRfd3JhcHBlcikpCiAgICAgICAgIHNlbGYud2VicHJvY2Vzc19jbWRfcHJlZml4ID0g
c2VsZi5nZXRfb3B0aW9uKCd3ZWJwcm9jZXNzX2NtZF9wcmVmaXgnKQogCiAgICAgICAgIHNlbGYu
X3B1bHNlYXVkaW9fc2FuaXRpemVyID0gUHVsc2VBdWRpb1Nhbml0aXplcigpCkBAIC0xMDEsNyAr
MTAxLDcgQEAgY2xhc3MgRWZsUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxk
X3BhdGgoJ2JpbicsICdJbWFnZURpZmYnKQogCiAgICAgZGVmIF9pbWFnZV9kaWZmX2NvbW1hbmQo
c2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2poYnVpbGRfd3Jh
cHBlcl9wYXRoICsgc3VwZXIoRWZsUG9ydCwgc2VsZikuX2ltYWdlX2RpZmZfY29tbWFuZCgqYXJn
cywgKiprd2FyZ3MpCisgICAgICAgIHJldHVybiBzZWxmLl9qaGJ1aWxkX3dyYXBwZXIgKyBzdXBl
cihFZmxQb3J0LCBzZWxmKS5faW1hZ2VfZGlmZl9jb21tYW5kKCphcmdzLCAqKmt3YXJncykKIAog
ICAgIGRlZiBfcGF0aF90b193ZWJjb3JlX2xpYnJhcnkoc2VsZik6CiAgICAgICAgIHN0YXRpY19w
YXRoID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ2xpYndlYmNvcmVfZWZsLmEnKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9ndGsucHkKaW5kZXggZTgyZGI5MGVmYTI2NjJhMGRhZDNjZWZhNDMyMGM5
N2E0YjI3OGI3Yi4uZWY5YjQ4M2UyMmI4MWFiMTE4YWU0YjNhMGY2NTVkNzAzNzdjZDVkNSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CkBAIC0zMCw2ICszMCw3IEBACiBpbXBvcnQgb3MK
IGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgdXVpZAoraW1wb3J0IGxvZ2dpbmcKIAogZnJvbSB3
ZWJraXRweS5jb21tb24ubWVtb2l6ZWQgaW1wb3J0IG1lbW9pemVkCiBmcm9tIHdlYmtpdHB5Lmxh
eW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9ydCBUZXN0Q29uZmlndXJh
dGlvbgpAQCAtNDEsNiArNDIsNyBAQCBmcm9tIHdlYmtpdHB5LnBvcnQueG9yZ2RyaXZlciBpbXBv
cnQgWG9yZ0RyaXZlcgogZnJvbSB3ZWJraXRweS5wb3J0LmxpbnV4X2dldF9jcmFzaF9sb2cgaW1w
b3J0IEdEQkNyYXNoTG9nR2VuZXJhdG9yCiBmcm9tIHdlYmtpdHB5LnBvcnQubGVha2RldGVjdG9y
X3ZhbGdyaW5kIGltcG9ydCBMZWFrRGV0ZWN0b3JWYWxncmluZAogCitfbG9nID0gbG9nZ2luZy5n
ZXRMb2dnZXIoX19uYW1lX18pCiAKIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgcG9ydF9uYW1l
ID0gImd0ayIKQEAgLTU0LDcgKzU2LDcgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAg
ICAgIGlmIG5vdCBzZWxmLmdldF9vcHRpb24oIndyYXBwZXIiKToKICAgICAgICAgICAgICAgICBy
YWlzZSBWYWx1ZUVycm9yKCd1c2UgLS13cmFwcGVyPVwidmFsZ3JpbmRcIiBmb3IgbWVtb3J5IGxl
YWsgZGV0ZWN0aW9uIG9uIEdUSycpCiAKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5w
YXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgJ0RlcGVuZGVuY2llcycpKToKKyAg
ICAgICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICBzZWxmLl9q
aGJ1aWxkX3dyYXBwZXIgPSBbc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2po
YnVpbGQnLCAnamhidWlsZC13cmFwcGVyJyksICctLWd0aycsICdydW4nXQogICAgICAgICAgICAg
aWYgc2VsZi5nZXRfb3B0aW9uKCd3cmFwcGVyJyk6CiAgICAgICAgICAgICAgICAgc2VsZi5zZXRf
b3B0aW9uKCd3cmFwcGVyJywgJyAnLmpvaW4oc2VsZi5famhidWlsZF93cmFwcGVyKSArICcgJyAr
IHNlbGYuZ2V0X29wdGlvbignd3JhcHBlcicpKQpAQCAtMTEzLDYgKzExNSwxNiBAQCBjbGFzcyBH
dGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfSU5KRUNURURf
QlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAnbGliVGVzdFJ1bm5l
ckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RF
U1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicpCiAgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9PVVRQ
VVRESVInKQorICAgICAgICBpZiBzZWxmLl9kcml2ZXJfY2xhc3MoKSA9PSBYdmZiRHJpdmVyIGFu
ZCBzZWxmLl9zaG91bGRfdXNlX2poYnVpbGQoKToKKyAgICAgICAgICAgIGxsdm1waXBlX2xpYmds
X3BhdGggPSBzZWxmLmhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKHNlbGYuX2poYnVpbGRfd3Jh
cHBlciArIFsncHJpbnRlbnYnLCAnTExWTVBJUEVfTElCR0xfUEFUSCddLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJy
b3JfaGFuZGxlcj1zZWxmLmhvc3QuZXhlY3V0aXZlLmlnbm9yZV9lcnJvcikuc3RyaXAoKQorICAg
ICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3Bh
dGgsICJsaWJHTC5zbyIpKToKKyAgICAgICAgICAgICAgICAgICAgIyBGb3JjZSB0aGUgR2FsbGl1
bSBsbHZtcGlwZSBzb2Z0d2FyZSByYXN0ZXJpemVyCisgICAgICAgICAgICAgICAgICAgIGVudmly
b25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSA9IGxsdm1waXBlX2xpYmdsX3BhdGgKKyAgICAgICAg
ICAgICAgICAgICAgaWYgb3MuZW52aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpOgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSArPSAn
OiVzJyAlIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKQorICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCJDYW4ndCBmaW5kIEdhbGxpdW0g
bGx2bXBpcGUgZHJpdmVyLiBUcnkgdG8gcnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyIpCiAgICAg
ICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMgIFR1cm4gb2Zm
IEdMaWIgbWVtb3J5IG9wdGltaXNhdGlvbnMgaHR0cHM6Ly93aWtpLmdub21lLm9yZy9WYWxncmlu
ZC4KICAgICAgICAgICAgIGVudmlyb25tZW50WydHX1NMSUNFJ10gPSAnYWx3YXlzLW1hbGxvYycK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHkKaW5kZXggYWJmOWJiYzU0
ZWY5MmE0NWMzMjZmOWFmNDRhYThiZTQxYWMxZmE1NS4uMGMyMDc1MjViYTI1MzM0ZGI1ZDI3ZDJm
YzBmZWVmMzVjYTBlODY4NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L3h2ZmJkcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2
ZXIucHkKQEAgLTEsNCArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTQgSWdhbGlhIFMuTC4KICMK
ICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQxLDcgKzQyLDEwIEBAIF9sb2cgPSBs
b2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIGNsYXNzIFh2ZmJEcml2ZXIoRHJpdmVyKToKICAg
ICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGNoZWNrX2RyaXZlcihwb3J0KToKLSAgICAgICAgeHZm
Yl9mb3VuZCA9IHBvcnQuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoWyd3aGljaCcsICdYdmZi
J10sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSkgaXMgMAorICAgICAgICB4dmZiX2ZpbmRjbWQgPSBb
J3doaWNoJywgJ1h2ZmInXQorICAgICAgICBpZiBwb3J0Ll9zaG91bGRfdXNlX2poYnVpbGQoKToK
KyAgICAgICAgICAgICAgICB4dmZiX2ZpbmRjbWQgPSBwb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyB4
dmZiX2ZpbmRjbWQKKyAgICAgICAgeHZmYl9mb3VuZCA9IHBvcnQuaG9zdC5leGVjdXRpdmUucnVu
X2NvbW1hbmQoeHZmYl9maW5kY21kLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpIGlzIDAKICAgICAg
ICAgaWYgbm90IHh2ZmJfZm91bmQ6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCJObyBYdmZiIGZv
dW5kLiBDYW5ub3QgcnVuIGxheW91dCB0ZXN0cy4iKQogICAgICAgICByZXR1cm4geHZmYl9mb3Vu
ZApAQCAtODAsMTMgKzg0LDEzIEBAIGNsYXNzIFh2ZmJEcml2ZXIoRHJpdmVyKToKICAgICAgICAg
c2VydmVyX25hbWUgPSBzZWxmLl9wb3J0LmRyaXZlcl9uYW1lKCkKICAgICAgICAgZW52aXJvbm1l
bnQgPSBzZWxmLl9wb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZXJ2ZXJfbmFtZSkKIAot
ICAgICAgICBsbHZtcGlwZV9saWJnbF9wYXRoID0gb3MuZW52aXJvbi5nZXQoJ0xMVk1QSVBFX0xJ
QkdMX1BBVEgnKQotICAgICAgICBpZiBsbHZtcGlwZV9saWJnbF9wYXRoOgotICAgICAgICAgICAg
ZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddID0gJyVzOiVzJyAlIChsbHZtcGlwZV9saWJn
bF9wYXRoLCBvcy5lbnZpcm9uLmdldCgnTERfTElCUkFSWV9QQVRIJywgJycpKQotCiAgICAgICAg
IHJ1bl94dmZiID0gWyJYdmZiIiwgIjolZCIgJSBkaXNwbGF5X2lkLCAiLXNjcmVlbiIsICAiMCIs
ICIxMDI0eDc2OHglcyIgJSBzZWxmLl94dmZiX3NjcmVlbl9kZXB0aCgpLCAiLW5vbGlzdGVuIiwg
InRjcCJdCisKKyAgICAgICAgaWYgc2VsZi5fcG9ydC5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6Cisg
ICAgICAgICAgICAgICAgcnVuX3h2ZmIgPSBzZWxmLl9wb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBy
dW5feHZmYgorCiAgICAgICAgIHdpdGggb3Blbihvcy5kZXZudWxsLCAndycpIGFzIGRldm51bGw6
Ci0gICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3MgPSBzZWxmLl9wb3J0Lmhvc3QuZXhlY3V0
aXZlLnBvcGVuKHJ1bl94dmZiLCBzdGRlcnI9ZGV2bnVsbCkKKyAgICAgICAgICAgIHNlbGYuX3h2
ZmJfcHJvY2VzcyA9IHNlbGYuX3BvcnQuaG9zdC5leGVjdXRpdmUucG9wZW4ocnVuX3h2ZmIsIHN0
ZGVycj1kZXZudWxsLCBlbnY9ZW52aXJvbm1lbnQpCiAKICAgICAgICAgIyBDcmFzaGVzIGludGVu
ZCB0byBvY2N1ciBvY2Nhc2lvbmFsbHkgaW4gdGhlIGZpcnN0IGZldyB0ZXN0cyB0aGF0IGFyZSBy
dW4gdGhyb3VnaCBlYWNoCiAgICAgICAgICMgd29ya2VyIGJlY2F1c2UgdGhlIFh2ZmIgZGlzcGxh
eSBpc24ndCByZWFkeSB5ZXQuIEhhbHRpbmcgZXhlY3V0aW9uIGEgYml0IHNob3VsZCBhdm9pZCB0
aGF0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0
dGVzdC5weQppbmRleCBlMTA1OGUyYzM1OWVjYWUzYTE3YTEyNDAzODAxNmI5Mjg5NGQ5ZjZlLi5l
YWIwNzRkYjVkMzg0ODIxMjUzMjIyMDgzYjdkMTVlN2RmNDZmYzU3IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVzdC5weQpAQCAtNTIsNiAr
NTIsNyBAQCBjbGFzcyBYdmZiRHJpdmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
IGRyaXZlciA9IFh2ZmJEcml2ZXIocG9ydCwgd29ya2VyX251bWJlcj13b3JrZXJfbnVtYmVyLCBw
aXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBkcml2ZXIuX3N0YXJ0dXBfZGVsYXlfc2VjcyA9IDAK
ICAgICAgICAgZHJpdmVyLl94dmZiX3NjcmVlbl9kZXB0aCA9IGxhbWJkYTogJzI0JworICAgICAg
ICBkcml2ZXIuX2Vudmlyb25tZW50ID0gcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIocG9y
dC5kcml2ZXJfbmFtZSgpKQogICAgICAgICByZXR1cm4gZHJpdmVyCiAKICAgICBkZWYgY2xlYW51
cF9kcml2ZXIoc2VsZiwgZHJpdmVyKToKQEAgLTY3LDE5ICs2OCwxOSBAQCBjbGFzcyBYdmZiRHJp
dmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9zdGFydF9ub19waXhl
bF90ZXN0cyhzZWxmKToKICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcigpCi0gICAg
ICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBydW5fY29tbWFuZDogWydwcycsICctZW8nLCAnY29t
bSxjb21tYW5kJ10sIGN3ZD1Ob25lXG5NT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVl
bicsICcwJywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAgICAgICBl
eHBlY3RlZF9sb2dzID0gKCJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywgJy1lbycsICdjb21tLGNv
bW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2NyZWVuJywg
JzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2
ZXIuX2Vudmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1
bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0i
OjAiKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIAogICAgIGRlZiB0ZXN0
X3N0YXJ0X3BpeGVsX3Rlc3RzKHNlbGYpOgogICAgICAgICBkcml2ZXIgPSBzZWxmLm1ha2VfZHJp
dmVyKCkKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywg
Jy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6
MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4i
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMnLCAnLWVv
JywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywgJzowJywg
Jy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ10sIGVudj0l
c1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RHJpdmVyU3Rh
cnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBlY3Rl
ZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAgICAgICAgIHNlbGYuY2xlYW51cF9k
cml2ZXIoZHJpdmVyKQogCiAgICAgZGVmIHRlc3Rfc3RhcnRfYXJiaXRyYXJ5X3dvcmtlcl9udW1i
ZXIoc2VsZik6CiAgICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIod29ya2VyX251bWJl
cj0xNykKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywg
Jy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6
MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4i
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMnLCAnLWVv
JywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywgJzowJywg
Jy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ10sIGVudj0l
c1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RHJpdmVyU3Rh
cnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBlY3Rl
ZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAgICAgICAgIHNlbGYuY2xlYW51cF9k
cml2ZXIoZHJpdmVyKQogCkBAIC0xMDgsMTIgKzEwOSwxMiBAQCBjbGFzcyBYdmZiRHJpdmVyVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfc3RhcnRfbmV4dF93b3JrZXIoc2Vs
Zik6CiAgICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIoKQogICAgICAgICBkcml2ZXIu
X25leHRfZnJlZV9kaXNwbGF5ID0gbGFtYmRhOiAwCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAi
TU9DSyBwb3BlbjogWydYdmZiJywgJzowJywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcs
ICctbm9saXN0ZW4nLCAndGNwJ11cbiIKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICgiTU9DSyBw
b3BlbjogWydYdmZiJywgJzowJywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9s
aXN0ZW4nLCAndGNwJ10sIGVudj0lc1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCiAgICAgICAg
IHNlbGYuYXNzZXJ0RHJpdmVyU3RhcnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1l
eHBlY3RlZF9sb2dzLCBleHBlY3RlZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAg
ICAgICAgIHNlbGYuY2xlYW51cF9kcml2ZXIoZHJpdmVyKQogICAgICAgICBkcml2ZXIgPSBzZWxm
Lm1ha2VfZHJpdmVyKCkKICAgICAgICAgZHJpdmVyLl9uZXh0X2ZyZWVfZGlzcGxheSA9IGxhbWJk
YTogMwotICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6Mycs
ICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4iCisg
ICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MycsICctc2Ny
ZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIg
JSBkcml2ZXIuX2Vudmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3Vj
Y2Vzc2Z1bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlz
cGxheT0iOjMiLCBwaXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVy
KGRyaXZlcikKIApkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIv
VG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IDhmMjg4ZDI4ODNkYTc4MjBjYWM2
Zjc0Yzk5NzJjZDVmNWEwMmUzMGUuLjEwODAzNWEzYzYxZjgwNzQyNGMzYWQ2M2JmODY0MzUxOTZm
MTQzMmIgMTAwNzU1Ci0tLSBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9U
b29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMSw2ICsxMTEsNyBAQCBmdW5jdGlv
biBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7CiAgICAgICAgIGxpYnhmb250LWRldiBcCiAg
ICAgICAgIGxpYnhrYmZpbGUtZGV2IFwKICAgICAgICAgbGx2bSBcCisgICAgICAgIGxsdm0tZGV2
IFwKICAgICAgICAgcHl0aG9uLWRldiBcCiAgICAgICAgIHJhZ2VsIFwKICAgICAgICAgeDExcHJv
dG8tYmlncmVxcy1kZXYgXApAQCAtMjA5LDYgKzIxMCw3IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBl
bmRlbmNpZXNXaXRoWXVtIHsKICAgICAgICAgbGlidGlmZi1kZXZlbCBcCiAgICAgICAgIGxpYnhr
YmZpbGUtZGV2ZWwgXAogICAgICAgICBsbHZtIFwKKyAgICAgICAgbGx2bS1kZXZlbCBcCiAgICAg
ICAgIG1lc2EtbGliRUdMLWRldmVsIFwKICAgICAgICAgcmFnZWwgXAogICAgICAgICB4b3JnLXgx
MS1mb250LXV0aWxzIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMgYi9U
b29scy9ndGsvamhidWlsZC5tb2R1bGVzCmluZGV4IDQ3MmQ1OTJlYmJlZTI2M2NlMmMxMTgyMzg4
ODE1OWQxOWZhMzExOGMuLmQ1OGU1YjVkZDkzMDhlOWFlNzYwMjYyMWEyMmMxODY1YzBkYjY3MGEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKKysrIGIvVG9vbHMvZ3RrL2po
YnVpbGQubW9kdWxlcwpAQCAtMzM1LDggKzMzNSwxMCBAQAogICA8L2F1dG90b29scz4KIAogICA8
YXV0b3Rvb2xzIGlkPSJtZXNhIiBhdXRvZ2VuYXJncz0iLS1lbmFibGUteGxpYi1nbHggLS1kaXNh
YmxlLWRyaSAtLXdpdGgtZ2FsbGl1bS1kcml2ZXJzPXN3cmFzdCIgc2tpcC1pbnN0YWxsPSJ0cnVl
Ij4KKyAgICA8IS0tLSBXQVJOSU5HOiBBdCBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoKSB3ZSBj
aGVjayBmb3IgYSBkaXJlY3RvcnkgbmFtZWQgIk1lc2EiIHdoZW4gWHZmYkRyaXZlciBpcyB1c2Vk
LAorICAgICAgICAgIHNvIGRvbid0IGNoYW5nZSB0aGUgY2hlY2tvdXRkaXIgbmFtZSBldmVuIGlm
IHlvdSB1cGRhdGUgdGhlIHZlcnNpb24gIC0tPgogICAgIDxicmFuY2ggbW9kdWxlPSIvcHViL21l
c2EvMTAuMi4xL01lc2FMaWItMTAuMi4xLnRhci5iejIiIHZlcnNpb249IjEwLjIuMSIKLSAgICAg
ICAgICAgIGNoZWNrb3V0ZGlyPSJNZXNhLTEwLjIuMSIKKyAgICAgICAgICAgIGNoZWNrb3V0ZGly
PSJNZXNhIgogICAgICAgICAgICAgcmVwbz0iZnRwLmZyZWVkZXNrdG9wLm9yZyIKICAgICAgICAg
ICAgIGhhc2g9InNoYTI1Njo0NjEyNzc5MDkyMDdkYTY4OWQ4MTUyY2ZiZjllMTgyZWE2ZjcwZTFl
NjcyYWI2NGM2N2RmODM3MjVjOGQyYjU0Ii8+CiAgIDwvYXV0b3Rvb2xzPgpkaWZmIC0tZ2l0IGEv
VG9vbHMvZ3RrL2poYnVpbGRyYyBiL1Rvb2xzL2d0ay9qaGJ1aWxkcmMKaW5kZXggNzM1NmM0MTk0
MGZmMjZkNDU2N2Q1NDgxNjVjZTE2MmNhZmFjZDdjNS4uNWM3NWM5YmZiODIzOTA2NGU0YjAwNzUw
ZDc0MGE2OTE3YzY5MGVmNCAxMDA2NDQKLS0tIGEvVG9vbHMvZ3RrL2poYnVpbGRyYworKysgYi9U
b29scy9ndGsvamhidWlsZHJjCkBAIC0xLDUgKzEsNSBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9u
Ci0jIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorIyBDb3B5cmlnaHQgKEMpIDIwMTEt
MjAxNCBJZ2FsaWEgUy5MLgogIwogIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKQEAgLTE2LDYgKzE2LDcgQEAKICMgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBN
QSAgMDIxMTAtMTMwMSAgVVNBCiAKIGltcG9ydCBzeXMKK2ltcG9ydCBvcwogCiBzeXMucGF0aC5p
bnNlcnQoMCwgb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLi9qaGJ1
aWxkIikgKQogaW1wb3J0IGpoYnVpbGRyY19jb21tb24KQEAgLTMzLDYgKzM0LDYgQEAgbW9kdWxl
X21ha2VhcmdzWydndGsrJ10gPSAnTERGTEFHUz0iLWxtIiAnICsgbWFrZWFyZ3MKIGF1dG9nZW5h
cmdzPSctLWVuYWJsZS1pbnRyb3NwZWN0aW9uJwogCiBpZiB1c2VfbGliNjQ6Ci0gICAgb3MuZW52
aXJvblsnTExWTVBJUEVfTElCR0xfUEFUSCddID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9p
bihjaGVja291dHJvb3QsICdNZXNhLTEwLjIuMScsICdsaWI2NCcpKQorICAgIG9zLmVudmlyb25b
J0xMVk1QSVBFX0xJQkdMX1BBVEgnXSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oY2hl
Y2tvdXRyb290LCAnTWVzYScsICdsaWI2NCcpKQogZWxzZToKLSAgICBvcy5lbnZpcm9uWydMTFZN
UElQRV9MSUJHTF9QQVRIJ10gPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGNoZWNrb3V0
cm9vdCwgJ01lc2EtMTAuMi4xJywgJ2xpYicpKQorICAgIG9zLmVudmlyb25bJ0xMVk1QSVBFX0xJ
QkdMX1BBVEgnXSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oY2hlY2tvdXRyb290LCAn
TWVzYScsICdsaWInKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235492</attachid>
            <date>2014-07-24 20:01:19 -0700</date>
            <delta_ts>2014-07-24 20:14:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134070-20140725050104.patch</filename>
            <type>text/plain</type>
            <size>16207</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxNTEzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTc1ZDg3NWQ5ODFiNDNmMWU3N2E2M2EzNTExY2ZiNDBk
YzYwNTYwNy4uYTFhZTVkZGJkMTlmNjczNmI5M2RhNDZjZjFhZTE1MGI2N2EwYjFjNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDE0LTA3LTI0ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIExvYWQgdGhlIGxsdm1waXBlIChNZXNhKSBsaWJyYXJp
ZXMgd2hlbiBydW5uaW5nIHRoZSB0ZXN0cyB3aXRoIFh2ZmIuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQwNzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
LnB5OgorICAgICAgICAoUG9ydC5fX2luaXRfXyk6IFNldCBkZWZhdWx0IF9qaGJ1aWxkX3dyYXBw
ZXIgdmFyaWFibGUuCisgICAgICAgIChQb3J0Ll9zaG91bGRfdXNlX2poYnVpbGQpOiBJbXBsZW1l
bnQgZ2VuZXJpYyBjaGVjay4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5
OiBSZW5hbWUgdG8gamhidWlsZF93cmFwcGVyIHZhcmlhYmxlCisgICAgICAgIHRvIG1ha2UgaXQg
Y29uc2lzdGVudCB3aXRoIHRoZSBvdGhlciBwb3J0cy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9ydC5fX2luaXRfXyk6IFVzZSB0aGUgbmV3
IF9zaG91bGRfdXNlX2poYnVpbGQoKSBtZXRob2QuCisgICAgICAgIChHdGtQb3J0LnNldHVwX2Vu
dmlyb25fZm9yX3NlcnZlcik6IEdldCB0aGUgcGF0aCBmb3IgbGx2bXBpcGVfbGliZ2xfcGF0aCBi
eQorICAgICAgICBxdWVyeWluZyB0aGUgamhidWlsZCB3aXRoIHByaW50ZW52LiBBbHNvIGNoZWNr
IHRoYXQgdGhlIHBhdGggY29udGFpbnMKKyAgICAgICAgdGhlIGxpYnJhcmllcyB3ZSBleHBlY3Qu
IFByZWxvYWQgdGhpcyBwYXRoIG9ubHkgZm9yIFh2ZmJEcml2ZXIuCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLmNoZWNr
X2RyaXZlcik6IENoZWNrIGZvciB0aGUgamhidWlsZCB3cmFwcGVyIGFuZCB1c2UgaXQuCisgICAg
ICAgIChYdmZiRHJpdmVyLl9zdGFydCk6IFRoZSBlbnZpcm9ubWVudCBmb3IgbGx2bXBpcGVfbGli
Z2xfcGF0aCBpcyBub3cKKyAgICAgICAgY29uZmlndXJlZCBhdCBzZXR1cF9lbnZpcm9uX2Zvcl9z
ZXJ2ZXIoKQorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyX3VuaXR0
ZXN0LnB5OgorICAgICAgICAoWHZmYkRyaXZlclRlc3QubWFrZV9kcml2ZXIpOiBHZXQgdGhlIHBv
cnQgZGVmYXVsdCBlbnZpcm9ubWVudC4KKyAgICAgICAgKFh2ZmJEcml2ZXJUZXN0LnRlc3Rfc3Rh
cnRfbm9fcGl4ZWxfdGVzdHMpOiBUaGUgZXhwZWN0ZWQgbG9nIG5vdworICAgICAgICBzaG91bGQg
aW5jbHVkZSB0aGUgZW52aXJvbm1lbnQgdGhhdCBpcyBwYXNzZWQgd2hlbiBydW5uaW5nIFh2ZmIu
CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X3BpeGVsX3Rlc3RzKTogRGl0dG8u
CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X2FyYml0cmFyeV93b3JrZXJfbnVt
YmVyKTogRGl0dG8uCisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X25leHRfd29y
a2VyKTogRGl0dG8uCisgICAgICAgICogZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzOiBBZGQgbWlz
c2luZyBsbHZtLWRldiBkZXBlbmRlbmNpZXMKKyAgICAgICAgcmVxdWlyZWQgdG8gYnVpbGQgbWVz
YSBsbHZtcGlwZS4KKyAgICAgICAgKiBndGsvamhidWlsZC5tb2R1bGVzOiBSZW5hbWUgY2hlY2tv
dXRkaXIgdG8gZ2VuZXJpYyAiTWVzYSIgdG8KKyAgICAgICAgcHJldmVudCBmdXR1cmUgcHJvYmxl
bXMgd2hlbiB0aGUgdmVyc2lvbiBpcyByYWlzZWQuIEFkZCBhbHNvIGEKKyAgICAgICAgY29tbWVu
dCB3aXRoIGEgd2FybmluZy4KKyAgICAgICAgKiBndGsvamhidWlsZHJjOiBUaGUgcGF0aCBMTFZN
UElQRV9MSUJHTF9QQVRIIHNob3VsZCBiZSB0aGUgb25lCisgICAgICAgIHRoYXQgaGFzIHRoZSBs
bHZtIG9wdGltaXplZCBHYWxsaXVtIGxpYkdMIGxpYnJhcmllcy4KKwogMjAxNC0wNy0yMyAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
aU9TIGJ1aWxkIGZpeCBhZnRlciByMTcxMzU1LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5w
eQppbmRleCBlOGFiY2M5NTQ4ZjRkZDdhOTEyYzRjZWJmYzc5ZTJkMzI2ZDcwY2ViLi5hNmU1MGJj
ZmYwZmY2Njk2N2QyN2EyNGI0MGRlODY5Mzk4YmU4NjdmIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvYmFzZS5weQpAQCAtMTMyLDYgKzEzMiw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAg
ICAgc2VsZi5fcmVmdGVzdF9saXN0ID0ge30KICAgICAgICAgc2VsZi5fcmVzdWx0c19kaXJlY3Rv
cnkgPSBOb25lCiAgICAgICAgIHNlbGYuX3Jvb3Rfd2FzX3NldCA9IGhhc2F0dHIob3B0aW9ucywg
J3Jvb3QnKSBhbmQgb3B0aW9ucy5yb290CisgICAgICAgIHNlbGYuX2poYnVpbGRfd3JhcHBlciA9
IFtdCiAKICAgICBkZWYgYWRkaXRpb25hbF9kcnRfZmxhZyhzZWxmKToKICAgICAgICAgcmV0dXJu
IFtdCkBAIC0xMjYyLDYgKzEyNjMsOSBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMg
LS1waXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4g
VHJ1ZQogCisgICAgZGVmIF9zaG91bGRfdXNlX2poYnVpbGQoc2VsZik6CisgICAgICAgIHJldHVy
biBvcy5wYXRoLmV4aXN0cyhzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2ViS2l0QnVpbGQn
LCAnRGVwZW5kZW5jaWVzJykpCisKICAgICAjIEZJWE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBz
dGFuZGFyaXplIHBvcnQgbmFtaW5nLCBhbmQgbWFrZSB0aGlzIG1ldGhvZCBzbWFydCBlbm91Z2gK
ICAgICAjIHRvIHVzZSBmb3IgYWxsIHBvcnQgY29uZmlndXJhdGlvbnMgKGluY2x1ZGluZyBhcmNo
aXRlY3R1cmVzLCBncmFwaGljcyB0eXBlcywgZXRjKS4KICAgICBkZWYgX3BvcnRfZmxhZ19mb3Jf
c2NyaXB0cyhzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9l
ZmwucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5CmluZGV4IDNmZGZlMWZj
NGVhOWUzNDg1N2ZlOTU0ZDk1NWM1MzQ2ZThmNmFjOWUuLmQyMjVkNjVhNGEyOTE3MGYyZmIzZGJi
ODgwNzEzMjM0YjE5MDMxNTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9lZmwucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2VmbC5weQpAQCAtNDIs
OSArNDIsOSBAQCBjbGFzcyBFZmxQb3J0KFBvcnQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAq
YXJncywgKiprd2FyZ3MpOgogICAgICAgICBzdXBlcihFZmxQb3J0LCBzZWxmKS5fX2luaXRfXygq
YXJncywgKiprd2FyZ3MpCiAKLSAgICAgICAgc2VsZi5famhidWlsZF93cmFwcGVyX3BhdGggPSBb
c2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2poYnVpbGQnLCAnamhidWlsZC13
cmFwcGVyJyksICctLWVmbCcsICdydW4nXQorICAgICAgICBzZWxmLl9qaGJ1aWxkX3dyYXBwZXIg
PSBbc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2poYnVpbGQnLCAnamhidWls
ZC13cmFwcGVyJyksICctLWVmbCcsICdydW4nXQogCi0gICAgICAgIHNlbGYuc2V0X29wdGlvbl9k
ZWZhdWx0KCd3cmFwcGVyJywgJyAnLmpvaW4oc2VsZi5famhidWlsZF93cmFwcGVyX3BhdGgpKQor
ICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgnd3JhcHBlcicsICcgJy5qb2luKHNlbGYu
X2poYnVpbGRfd3JhcHBlcikpCiAgICAgICAgIHNlbGYud2VicHJvY2Vzc19jbWRfcHJlZml4ID0g
c2VsZi5nZXRfb3B0aW9uKCd3ZWJwcm9jZXNzX2NtZF9wcmVmaXgnKQogCiAgICAgICAgIHNlbGYu
X3B1bHNlYXVkaW9fc2FuaXRpemVyID0gUHVsc2VBdWRpb1Nhbml0aXplcigpCkBAIC0xMDEsNyAr
MTAxLDcgQEAgY2xhc3MgRWZsUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxk
X3BhdGgoJ2JpbicsICdJbWFnZURpZmYnKQogCiAgICAgZGVmIF9pbWFnZV9kaWZmX2NvbW1hbmQo
c2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2poYnVpbGRfd3Jh
cHBlcl9wYXRoICsgc3VwZXIoRWZsUG9ydCwgc2VsZikuX2ltYWdlX2RpZmZfY29tbWFuZCgqYXJn
cywgKiprd2FyZ3MpCisgICAgICAgIHJldHVybiBzZWxmLl9qaGJ1aWxkX3dyYXBwZXIgKyBzdXBl
cihFZmxQb3J0LCBzZWxmKS5faW1hZ2VfZGlmZl9jb21tYW5kKCphcmdzLCAqKmt3YXJncykKIAog
ICAgIGRlZiBfcGF0aF90b193ZWJjb3JlX2xpYnJhcnkoc2VsZik6CiAgICAgICAgIHN0YXRpY19w
YXRoID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ2xpYndlYmNvcmVfZWZsLmEnKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9ndGsucHkKaW5kZXggZTgyZGI5MGVmYTI2NjJhMGRhZDNjZWZhNDMyMGM5
N2E0YjI3OGI3Yi4uZWY5YjQ4M2UyMmI4MWFiMTE4YWU0YjNhMGY2NTVkNzAzNzdjZDVkNSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CkBAIC0zMCw2ICszMCw3IEBACiBpbXBvcnQgb3MK
IGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgdXVpZAoraW1wb3J0IGxvZ2dpbmcKIAogZnJvbSB3
ZWJraXRweS5jb21tb24ubWVtb2l6ZWQgaW1wb3J0IG1lbW9pemVkCiBmcm9tIHdlYmtpdHB5Lmxh
eW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9ydCBUZXN0Q29uZmlndXJh
dGlvbgpAQCAtNDEsNiArNDIsNyBAQCBmcm9tIHdlYmtpdHB5LnBvcnQueG9yZ2RyaXZlciBpbXBv
cnQgWG9yZ0RyaXZlcgogZnJvbSB3ZWJraXRweS5wb3J0LmxpbnV4X2dldF9jcmFzaF9sb2cgaW1w
b3J0IEdEQkNyYXNoTG9nR2VuZXJhdG9yCiBmcm9tIHdlYmtpdHB5LnBvcnQubGVha2RldGVjdG9y
X3ZhbGdyaW5kIGltcG9ydCBMZWFrRGV0ZWN0b3JWYWxncmluZAogCitfbG9nID0gbG9nZ2luZy5n
ZXRMb2dnZXIoX19uYW1lX18pCiAKIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgcG9ydF9uYW1l
ID0gImd0ayIKQEAgLTU0LDcgKzU2LDcgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAg
ICAgIGlmIG5vdCBzZWxmLmdldF9vcHRpb24oIndyYXBwZXIiKToKICAgICAgICAgICAgICAgICBy
YWlzZSBWYWx1ZUVycm9yKCd1c2UgLS13cmFwcGVyPVwidmFsZ3JpbmRcIiBmb3IgbWVtb3J5IGxl
YWsgZGV0ZWN0aW9uIG9uIEdUSycpCiAKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5w
YXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgJ0RlcGVuZGVuY2llcycpKToKKyAg
ICAgICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICBzZWxmLl9q
aGJ1aWxkX3dyYXBwZXIgPSBbc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2po
YnVpbGQnLCAnamhidWlsZC13cmFwcGVyJyksICctLWd0aycsICdydW4nXQogICAgICAgICAgICAg
aWYgc2VsZi5nZXRfb3B0aW9uKCd3cmFwcGVyJyk6CiAgICAgICAgICAgICAgICAgc2VsZi5zZXRf
b3B0aW9uKCd3cmFwcGVyJywgJyAnLmpvaW4oc2VsZi5famhidWlsZF93cmFwcGVyKSArICcgJyAr
IHNlbGYuZ2V0X29wdGlvbignd3JhcHBlcicpKQpAQCAtMTEzLDYgKzExNSwxNiBAQCBjbGFzcyBH
dGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfSU5KRUNURURf
QlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAnbGliVGVzdFJ1bm5l
ckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RF
U1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicpCiAgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9PVVRQ
VVRESVInKQorICAgICAgICBpZiBzZWxmLl9kcml2ZXJfY2xhc3MoKSA9PSBYdmZiRHJpdmVyIGFu
ZCBzZWxmLl9zaG91bGRfdXNlX2poYnVpbGQoKToKKyAgICAgICAgICAgIGxsdm1waXBlX2xpYmds
X3BhdGggPSBzZWxmLmhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKHNlbGYuX2poYnVpbGRfd3Jh
cHBlciArIFsncHJpbnRlbnYnLCAnTExWTVBJUEVfTElCR0xfUEFUSCddLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJy
b3JfaGFuZGxlcj1zZWxmLmhvc3QuZXhlY3V0aXZlLmlnbm9yZV9lcnJvcikuc3RyaXAoKQorICAg
ICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3Bh
dGgsICJsaWJHTC5zbyIpKToKKyAgICAgICAgICAgICAgICAgICAgIyBGb3JjZSB0aGUgR2FsbGl1
bSBsbHZtcGlwZSBzb2Z0d2FyZSByYXN0ZXJpemVyCisgICAgICAgICAgICAgICAgICAgIGVudmly
b25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSA9IGxsdm1waXBlX2xpYmdsX3BhdGgKKyAgICAgICAg
ICAgICAgICAgICAgaWYgb3MuZW52aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpOgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSArPSAn
OiVzJyAlIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKQorICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCJDYW4ndCBmaW5kIEdhbGxpdW0g
bGx2bXBpcGUgZHJpdmVyLiBUcnkgdG8gcnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyIpCiAgICAg
ICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMgIFR1cm4gb2Zm
IEdMaWIgbWVtb3J5IG9wdGltaXNhdGlvbnMgaHR0cHM6Ly93aWtpLmdub21lLm9yZy9WYWxncmlu
ZC4KICAgICAgICAgICAgIGVudmlyb25tZW50WydHX1NMSUNFJ10gPSAnYWx3YXlzLW1hbGxvYycK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHkKaW5kZXggYWJmOWJiYzU0
ZWY5MmE0NWMzMjZmOWFmNDRhYThiZTQxYWMxZmE1NS4uMGMyMDc1MjViYTI1MzM0ZGI1ZDI3ZDJm
YzBmZWVmMzVjYTBlODY4NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L3h2ZmJkcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2
ZXIucHkKQEAgLTEsNCArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTQgSWdhbGlhIFMuTC4KICMK
ICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQxLDcgKzQyLDEwIEBAIF9sb2cgPSBs
b2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIGNsYXNzIFh2ZmJEcml2ZXIoRHJpdmVyKToKICAg
ICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGNoZWNrX2RyaXZlcihwb3J0KToKLSAgICAgICAgeHZm
Yl9mb3VuZCA9IHBvcnQuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoWyd3aGljaCcsICdYdmZi
J10sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSkgaXMgMAorICAgICAgICB4dmZiX2ZpbmRjbWQgPSBb
J3doaWNoJywgJ1h2ZmInXQorICAgICAgICBpZiBwb3J0Ll9zaG91bGRfdXNlX2poYnVpbGQoKToK
KyAgICAgICAgICAgICAgICB4dmZiX2ZpbmRjbWQgPSBwb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyB4
dmZiX2ZpbmRjbWQKKyAgICAgICAgeHZmYl9mb3VuZCA9IHBvcnQuaG9zdC5leGVjdXRpdmUucnVu
X2NvbW1hbmQoeHZmYl9maW5kY21kLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpIGlzIDAKICAgICAg
ICAgaWYgbm90IHh2ZmJfZm91bmQ6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCJObyBYdmZiIGZv
dW5kLiBDYW5ub3QgcnVuIGxheW91dCB0ZXN0cy4iKQogICAgICAgICByZXR1cm4geHZmYl9mb3Vu
ZApAQCAtODAsMTMgKzg0LDEzIEBAIGNsYXNzIFh2ZmJEcml2ZXIoRHJpdmVyKToKICAgICAgICAg
c2VydmVyX25hbWUgPSBzZWxmLl9wb3J0LmRyaXZlcl9uYW1lKCkKICAgICAgICAgZW52aXJvbm1l
bnQgPSBzZWxmLl9wb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZXJ2ZXJfbmFtZSkKIAot
ICAgICAgICBsbHZtcGlwZV9saWJnbF9wYXRoID0gb3MuZW52aXJvbi5nZXQoJ0xMVk1QSVBFX0xJ
QkdMX1BBVEgnKQotICAgICAgICBpZiBsbHZtcGlwZV9saWJnbF9wYXRoOgotICAgICAgICAgICAg
ZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddID0gJyVzOiVzJyAlIChsbHZtcGlwZV9saWJn
bF9wYXRoLCBvcy5lbnZpcm9uLmdldCgnTERfTElCUkFSWV9QQVRIJywgJycpKQotCiAgICAgICAg
IHJ1bl94dmZiID0gWyJYdmZiIiwgIjolZCIgJSBkaXNwbGF5X2lkLCAiLXNjcmVlbiIsICAiMCIs
ICIxMDI0eDc2OHglcyIgJSBzZWxmLl94dmZiX3NjcmVlbl9kZXB0aCgpLCAiLW5vbGlzdGVuIiwg
InRjcCJdCisKKyAgICAgICAgaWYgc2VsZi5fcG9ydC5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6Cisg
ICAgICAgICAgICAgICAgcnVuX3h2ZmIgPSBzZWxmLl9wb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBy
dW5feHZmYgorCiAgICAgICAgIHdpdGggb3Blbihvcy5kZXZudWxsLCAndycpIGFzIGRldm51bGw6
Ci0gICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3MgPSBzZWxmLl9wb3J0Lmhvc3QuZXhlY3V0
aXZlLnBvcGVuKHJ1bl94dmZiLCBzdGRlcnI9ZGV2bnVsbCkKKyAgICAgICAgICAgIHNlbGYuX3h2
ZmJfcHJvY2VzcyA9IHNlbGYuX3BvcnQuaG9zdC5leGVjdXRpdmUucG9wZW4ocnVuX3h2ZmIsIHN0
ZGVycj1kZXZudWxsLCBlbnY9ZW52aXJvbm1lbnQpCiAKICAgICAgICAgIyBDcmFzaGVzIGludGVu
ZCB0byBvY2N1ciBvY2Nhc2lvbmFsbHkgaW4gdGhlIGZpcnN0IGZldyB0ZXN0cyB0aGF0IGFyZSBy
dW4gdGhyb3VnaCBlYWNoCiAgICAgICAgICMgd29ya2VyIGJlY2F1c2UgdGhlIFh2ZmIgZGlzcGxh
eSBpc24ndCByZWFkeSB5ZXQuIEhhbHRpbmcgZXhlY3V0aW9uIGEgYml0IHNob3VsZCBhdm9pZCB0
aGF0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0
dGVzdC5weQppbmRleCBlMTA1OGUyYzM1OWVjYWUzYTE3YTEyNDAzODAxNmI5Mjg5NGQ5ZjZlLi5l
YWIwNzRkYjVkMzg0ODIxMjUzMjIyMDgzYjdkMTVlN2RmNDZmYzU3IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVzdC5weQpAQCAtNTIsNiAr
NTIsNyBAQCBjbGFzcyBYdmZiRHJpdmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
IGRyaXZlciA9IFh2ZmJEcml2ZXIocG9ydCwgd29ya2VyX251bWJlcj13b3JrZXJfbnVtYmVyLCBw
aXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBkcml2ZXIuX3N0YXJ0dXBfZGVsYXlfc2VjcyA9IDAK
ICAgICAgICAgZHJpdmVyLl94dmZiX3NjcmVlbl9kZXB0aCA9IGxhbWJkYTogJzI0JworICAgICAg
ICBkcml2ZXIuX2Vudmlyb25tZW50ID0gcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIocG9y
dC5kcml2ZXJfbmFtZSgpKQogICAgICAgICByZXR1cm4gZHJpdmVyCiAKICAgICBkZWYgY2xlYW51
cF9kcml2ZXIoc2VsZiwgZHJpdmVyKToKQEAgLTY3LDE5ICs2OCwxOSBAQCBjbGFzcyBYdmZiRHJp
dmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9zdGFydF9ub19waXhl
bF90ZXN0cyhzZWxmKToKICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcigpCi0gICAg
ICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBydW5fY29tbWFuZDogWydwcycsICctZW8nLCAnY29t
bSxjb21tYW5kJ10sIGN3ZD1Ob25lXG5NT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVl
bicsICcwJywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAgICAgICBl
eHBlY3RlZF9sb2dzID0gKCJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywgJy1lbycsICdjb21tLGNv
bW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2NyZWVuJywg
JzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2
ZXIuX2Vudmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1
bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0i
OjAiKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIAogICAgIGRlZiB0ZXN0
X3N0YXJ0X3BpeGVsX3Rlc3RzKHNlbGYpOgogICAgICAgICBkcml2ZXIgPSBzZWxmLm1ha2VfZHJp
dmVyKCkKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywg
Jy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6
MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4i
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMnLCAnLWVv
JywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywgJzowJywg
Jy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ10sIGVudj0l
c1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RHJpdmVyU3Rh
cnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBlY3Rl
ZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAgICAgICAgIHNlbGYuY2xlYW51cF9k
cml2ZXIoZHJpdmVyKQogCiAgICAgZGVmIHRlc3Rfc3RhcnRfYXJiaXRyYXJ5X3dvcmtlcl9udW1i
ZXIoc2VsZik6CiAgICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIod29ya2VyX251bWJl
cj0xNykKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywg
Jy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6
MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4i
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMnLCAnLWVv
JywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywgJzowJywg
Jy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ10sIGVudj0l
c1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RHJpdmVyU3Rh
cnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBlY3Rl
ZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAgICAgICAgIHNlbGYuY2xlYW51cF9k
cml2ZXIoZHJpdmVyKQogCkBAIC0xMDgsMTIgKzEwOSwxMiBAQCBjbGFzcyBYdmZiRHJpdmVyVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfc3RhcnRfbmV4dF93b3JrZXIoc2Vs
Zik6CiAgICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIoKQogICAgICAgICBkcml2ZXIu
X25leHRfZnJlZV9kaXNwbGF5ID0gbGFtYmRhOiAwCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAi
TU9DSyBwb3BlbjogWydYdmZiJywgJzowJywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcs
ICctbm9saXN0ZW4nLCAndGNwJ11cbiIKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICgiTU9DSyBw
b3BlbjogWydYdmZiJywgJzowJywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9s
aXN0ZW4nLCAndGNwJ10sIGVudj0lc1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCiAgICAgICAg
IHNlbGYuYXNzZXJ0RHJpdmVyU3RhcnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1l
eHBlY3RlZF9sb2dzLCBleHBlY3RlZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAg
ICAgICAgIHNlbGYuY2xlYW51cF9kcml2ZXIoZHJpdmVyKQogICAgICAgICBkcml2ZXIgPSBzZWxm
Lm1ha2VfZHJpdmVyKCkKICAgICAgICAgZHJpdmVyLl9uZXh0X2ZyZWVfZGlzcGxheSA9IGxhbWJk
YTogMwotICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6Mycs
ICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4iCisg
ICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MycsICctc2Ny
ZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIg
JSBkcml2ZXIuX2Vudmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3Vj
Y2Vzc2Z1bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlz
cGxheT0iOjMiLCBwaXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVy
KGRyaXZlcikKIApkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIv
VG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IDhmMjg4ZDI4ODNkYTc4MjBjYWM2
Zjc0Yzk5NzJjZDVmNWEwMmUzMGUuLjEwODAzNWEzYzYxZjgwNzQyNGMzYWQ2M2JmODY0MzUxOTZm
MTQzMmIgMTAwNzU1Ci0tLSBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9U
b29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMSw2ICsxMTEsNyBAQCBmdW5jdGlv
biBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7CiAgICAgICAgIGxpYnhmb250LWRldiBcCiAg
ICAgICAgIGxpYnhrYmZpbGUtZGV2IFwKICAgICAgICAgbGx2bSBcCisgICAgICAgIGxsdm0tZGV2
IFwKICAgICAgICAgcHl0aG9uLWRldiBcCiAgICAgICAgIHJhZ2VsIFwKICAgICAgICAgeDExcHJv
dG8tYmlncmVxcy1kZXYgXApAQCAtMjA5LDYgKzIxMCw3IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBl
bmRlbmNpZXNXaXRoWXVtIHsKICAgICAgICAgbGlidGlmZi1kZXZlbCBcCiAgICAgICAgIGxpYnhr
YmZpbGUtZGV2ZWwgXAogICAgICAgICBsbHZtIFwKKyAgICAgICAgbGx2bS1kZXZlbCBcCiAgICAg
ICAgIG1lc2EtbGliRUdMLWRldmVsIFwKICAgICAgICAgcmFnZWwgXAogICAgICAgICB4b3JnLXgx
MS1mb250LXV0aWxzIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMgYi9U
b29scy9ndGsvamhidWlsZC5tb2R1bGVzCmluZGV4IDQ3MmQ1OTJlYmJlZTI2M2NlMmMxMTgyMzg4
ODE1OWQxOWZhMzExOGMuLjlhNGYxNDZmNmE4MjgxMWFlZGYxZDhlYjg1M2IxYmFjY2Q5ZDZmYWIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKKysrIGIvVG9vbHMvZ3RrL2po
YnVpbGQubW9kdWxlcwpAQCAtMzM1LDggKzMzNSwxMCBAQAogICA8L2F1dG90b29scz4KIAogICA8
YXV0b3Rvb2xzIGlkPSJtZXNhIiBhdXRvZ2VuYXJncz0iLS1lbmFibGUteGxpYi1nbHggLS1kaXNh
YmxlLWRyaSAtLXdpdGgtZ2FsbGl1bS1kcml2ZXJzPXN3cmFzdCIgc2tpcC1pbnN0YWxsPSJ0cnVl
Ij4KKyAgICA8IS0tLSBXQVJOSU5HOiBBdCBqaGJ1aWxkcmMsIHdoZW4gd2UgZGVmaW5lIHRoZSBw
YXRoIHRvIHRoZSBHYWxsaXVtIGxsdm1waXBlIHNvZnR3YXJlIHJhc3Rlcml6ZXIgKG5lZWRlZCBi
eSBYdmZiRHJpdmVyKSwKKyAgICAgICAgICB3ZSBhc3N1bWUgdGhhdCB0aGUgZGlyZWN0b3J5IGlz
IG5hbWVkICJNZXNhIi4gU28sIGRvbid0IGNoYW5nZSB0aGUgY2hlY2tvdXRkaXIgbmFtZSBldmVu
IGlmIHlvdSB1cGRhdGUgdGhlIHZlcnNpb24uICAtLT4KICAgICA8YnJhbmNoIG1vZHVsZT0iL3B1
Yi9tZXNhLzEwLjIuMS9NZXNhTGliLTEwLjIuMS50YXIuYnoyIiB2ZXJzaW9uPSIxMC4yLjEiCi0g
ICAgICAgICAgICBjaGVja291dGRpcj0iTWVzYS0xMC4yLjEiCisgICAgICAgICAgICBjaGVja291
dGRpcj0iTWVzYSIKICAgICAgICAgICAgIHJlcG89ImZ0cC5mcmVlZGVza3RvcC5vcmciCiAgICAg
ICAgICAgICBoYXNoPSJzaGEyNTY6NDYxMjc3OTA5MjA3ZGE2ODlkODE1MmNmYmY5ZTE4MmVhNmY3
MGUxZTY3MmFiNjRjNjdkZjgzNzI1YzhkMmI1NCIvPgogICA8L2F1dG90b29scz4KZGlmZiAtLWdp
dCBhL1Rvb2xzL2d0ay9qaGJ1aWxkcmMgYi9Ub29scy9ndGsvamhidWlsZHJjCmluZGV4IDczNTZj
NDE5NDBmZjI2ZDQ1NjdkNTQ4MTY1Y2UxNjJjYWZhY2Q3YzUuLjVjNzVjOWJmYjgyMzkwNjRlNGIw
MDc1MGQ3NDBhNjkxN2M2OTBlZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxkcmMKKysr
IGIvVG9vbHMvZ3RrL2poYnVpbGRyYwpAQCAtMSw1ICsxLDUgQEAKICMhL3Vzci9iaW4vZW52IHB5
dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyMgQ29weXJpZ2h0IChDKSAy
MDExLTIwMTQgSWdhbGlhIFMuTC4KICMKICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0xNiw2ICsxNiw3IEBACiAj
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEgIFVTQQogCiBpbXBvcnQgc3lzCitpbXBvcnQgb3MKIAogc3lzLnBh
dGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4v
amhidWlsZCIpICkKIGltcG9ydCBqaGJ1aWxkcmNfY29tbW9uCkBAIC0zMyw2ICszNCw2IEBAIG1v
ZHVsZV9tYWtlYXJnc1snZ3RrKyddID0gJ0xERkxBR1M9Ii1sbSIgJyArIG1ha2VhcmdzCiBhdXRv
Z2VuYXJncz0nLS1lbmFibGUtaW50cm9zcGVjdGlvbicKIAogaWYgdXNlX2xpYjY0OgotICAgIG9z
LmVudmlyb25bJ0xMVk1QSVBFX0xJQkdMX1BBVEgnXSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRo
LmpvaW4oY2hlY2tvdXRyb290LCAnTWVzYS0xMC4yLjEnLCAnbGliNjQnKSkKKyAgICBvcy5lbnZp
cm9uWydMTFZNUElQRV9MSUJHTF9QQVRIJ10gPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2lu
KGNoZWNrb3V0cm9vdCwgJ01lc2EnLCAnbGliNjQnKSkKIGVsc2U6Ci0gICAgb3MuZW52aXJvblsn
TExWTVBJUEVfTElCR0xfUEFUSCddID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihjaGVj
a291dHJvb3QsICdNZXNhLTEwLjIuMScsICdsaWInKSkKKyAgICBvcy5lbnZpcm9uWydMTFZNUElQ
RV9MSUJHTF9QQVRIJ10gPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGNoZWNrb3V0cm9v
dCwgJ01lc2EnLCAnbGliJykpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235494</attachid>
            <date>2014-07-24 20:15:08 -0700</date>
            <delta_ts>2014-08-18 11:34:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134070-20140725051453.patch</filename>
            <type>text/plain</type>
            <size>16229</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxNTEzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTc1ZDg3NWQ5ODFiNDNmMWU3N2E2M2EzNTExY2ZiNDBk
YzYwNTYwNy4uYTFhZTVkZGJkMTlmNjczNmI5M2RhNDZjZjFhZTE1MGI2N2EwYjFjNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDE0LTA3LTI0ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIExvYWQgdGhlIGxsdm1waXBlIChNZXNhKSBsaWJyYXJp
ZXMgd2hlbiBydW5uaW5nIHRoZSB0ZXN0cyB3aXRoIFh2ZmIuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQwNzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
LnB5OgorICAgICAgICAoUG9ydC5fX2luaXRfXyk6IFNldCBkZWZhdWx0IF9qaGJ1aWxkX3dyYXBw
ZXIgdmFyaWFibGUuCisgICAgICAgIChQb3J0Ll9zaG91bGRfdXNlX2poYnVpbGQpOiBJbXBsZW1l
bnQgZ2VuZXJpYyBjaGVjay4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5
OiBSZW5hbWUgdG8gamhidWlsZF93cmFwcGVyIHZhcmlhYmxlCisgICAgICAgIHRvIG1ha2UgaXQg
Y29uc2lzdGVudCB3aXRoIHRoZSBvdGhlciBwb3J0cy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9ydC5fX2luaXRfXyk6IFVzZSB0aGUgbmV3
IF9zaG91bGRfdXNlX2poYnVpbGQoKSBtZXRob2QuCisgICAgICAgIChHdGtQb3J0LnNldHVwX2Vu
dmlyb25fZm9yX3NlcnZlcik6IEdldCB0aGUgcGF0aCBmb3IgbGx2bXBpcGVfbGliZ2xfcGF0aCBi
eQorICAgICAgICBxdWVyeWluZyB0aGUgamhidWlsZCB3aXRoIHByaW50ZW52LiBBbHNvIGNoZWNr
IHRoYXQgdGhlIHBhdGggY29udGFpbnMKKyAgICAgICAgdGhlIGxpYnJhcmllcyB3ZSBleHBlY3Qu
IFByZWxvYWQgdGhpcyBwYXRoIG9ubHkgZm9yIFh2ZmJEcml2ZXIuCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLmNoZWNr
X2RyaXZlcik6IENoZWNrIGZvciB0aGUgamhidWlsZCB3cmFwcGVyIGFuZCB1c2UgaXQuCisgICAg
ICAgIChYdmZiRHJpdmVyLl9zdGFydCk6IFRoZSBlbnZpcm9ubWVudCBmb3IgbGx2bXBpcGVfbGli
Z2xfcGF0aCBpcyBub3cKKyAgICAgICAgY29uZmlndXJlZCBhdCBzZXR1cF9lbnZpcm9uX2Zvcl9z
ZXJ2ZXIoKQorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyX3VuaXR0
ZXN0LnB5OgorICAgICAgICAoWHZmYkRyaXZlclRlc3QubWFrZV9kcml2ZXIpOiBHZXQgdGhlIHBv
cnQgZGVmYXVsdCBlbnZpcm9ubWVudC4KKyAgICAgICAgKFh2ZmJEcml2ZXJUZXN0LnRlc3Rfc3Rh
cnRfbm9fcGl4ZWxfdGVzdHMpOiBUaGUgZXhwZWN0ZWQgbG9nIG5vdworICAgICAgICBzaG91bGQg
aW5jbHVkZSB0aGUgZW52aXJvbm1lbnQgdGhhdCBpcyBwYXNzZWQgd2hlbiBydW5uaW5nIFh2ZmIu
CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X3BpeGVsX3Rlc3RzKTogRGl0dG8u
CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X2FyYml0cmFyeV93b3JrZXJfbnVt
YmVyKTogRGl0dG8uCisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X25leHRfd29y
a2VyKTogRGl0dG8uCisgICAgICAgICogZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzOiBBZGQgbWlz
c2luZyBsbHZtLWRldiBkZXBlbmRlbmNpZXMKKyAgICAgICAgcmVxdWlyZWQgdG8gYnVpbGQgbWVz
YSBsbHZtcGlwZS4KKyAgICAgICAgKiBndGsvamhidWlsZC5tb2R1bGVzOiBSZW5hbWUgY2hlY2tv
dXRkaXIgdG8gZ2VuZXJpYyAiTWVzYSIgdG8KKyAgICAgICAgcHJldmVudCBmdXR1cmUgcHJvYmxl
bXMgd2hlbiB0aGUgdmVyc2lvbiBpcyByYWlzZWQuIEFkZCBhbHNvIGEKKyAgICAgICAgY29tbWVu
dCB3aXRoIGEgd2FybmluZy4KKyAgICAgICAgKiBndGsvamhidWlsZHJjOiBUaGUgcGF0aCBMTFZN
UElQRV9MSUJHTF9QQVRIIHNob3VsZCBiZSB0aGUgb25lCisgICAgICAgIHRoYXQgaGFzIHRoZSBs
bHZtIG9wdGltaXplZCBHYWxsaXVtIGxpYkdMIGxpYnJhcmllcy4KKwogMjAxNC0wNy0yMyAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
aU9TIGJ1aWxkIGZpeCBhZnRlciByMTcxMzU1LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5w
eQppbmRleCBlOGFiY2M5NTQ4ZjRkZDdhOTEyYzRjZWJmYzc5ZTJkMzI2ZDcwY2ViLi5hNmU1MGJj
ZmYwZmY2Njk2N2QyN2EyNGI0MGRlODY5Mzk4YmU4NjdmIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvYmFzZS5weQpAQCAtMTMyLDYgKzEzMiw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAg
ICAgc2VsZi5fcmVmdGVzdF9saXN0ID0ge30KICAgICAgICAgc2VsZi5fcmVzdWx0c19kaXJlY3Rv
cnkgPSBOb25lCiAgICAgICAgIHNlbGYuX3Jvb3Rfd2FzX3NldCA9IGhhc2F0dHIob3B0aW9ucywg
J3Jvb3QnKSBhbmQgb3B0aW9ucy5yb290CisgICAgICAgIHNlbGYuX2poYnVpbGRfd3JhcHBlciA9
IFtdCiAKICAgICBkZWYgYWRkaXRpb25hbF9kcnRfZmxhZyhzZWxmKToKICAgICAgICAgcmV0dXJu
IFtdCkBAIC0xMjYyLDYgKzEyNjMsOSBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMg
LS1waXhlbC10ZXN0LWRpcmVjdG9yeSBpcyBub3Qgc3BlY2lmaWVkLgogICAgICAgICByZXR1cm4g
VHJ1ZQogCisgICAgZGVmIF9zaG91bGRfdXNlX2poYnVpbGQoc2VsZik6CisgICAgICAgIHJldHVy
biBvcy5wYXRoLmV4aXN0cyhzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgnV2ViS2l0QnVpbGQn
LCAnRGVwZW5kZW5jaWVzJykpCisKICAgICAjIEZJWE1FOiBFdmVudHVhbGx5IHdlIHNob3VsZCBz
dGFuZGFyaXplIHBvcnQgbmFtaW5nLCBhbmQgbWFrZSB0aGlzIG1ldGhvZCBzbWFydCBlbm91Z2gK
ICAgICAjIHRvIHVzZSBmb3IgYWxsIHBvcnQgY29uZmlndXJhdGlvbnMgKGluY2x1ZGluZyBhcmNo
aXRlY3R1cmVzLCBncmFwaGljcyB0eXBlcywgZXRjKS4KICAgICBkZWYgX3BvcnRfZmxhZ19mb3Jf
c2NyaXB0cyhzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9l
ZmwucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5CmluZGV4IDNmZGZlMWZj
NGVhOWUzNDg1N2ZlOTU0ZDk1NWM1MzQ2ZThmNmFjOWUuLmQyMjVkNjVhNGEyOTE3MGYyZmIzZGJi
ODgwNzEzMjM0YjE5MDMxNTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9lZmwucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2VmbC5weQpAQCAtNDIs
OSArNDIsOSBAQCBjbGFzcyBFZmxQb3J0KFBvcnQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAq
YXJncywgKiprd2FyZ3MpOgogICAgICAgICBzdXBlcihFZmxQb3J0LCBzZWxmKS5fX2luaXRfXygq
YXJncywgKiprd2FyZ3MpCiAKLSAgICAgICAgc2VsZi5famhidWlsZF93cmFwcGVyX3BhdGggPSBb
c2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2poYnVpbGQnLCAnamhidWlsZC13
cmFwcGVyJyksICctLWVmbCcsICdydW4nXQorICAgICAgICBzZWxmLl9qaGJ1aWxkX3dyYXBwZXIg
PSBbc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2poYnVpbGQnLCAnamhidWls
ZC13cmFwcGVyJyksICctLWVmbCcsICdydW4nXQogCi0gICAgICAgIHNlbGYuc2V0X29wdGlvbl9k
ZWZhdWx0KCd3cmFwcGVyJywgJyAnLmpvaW4oc2VsZi5famhidWlsZF93cmFwcGVyX3BhdGgpKQor
ICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgnd3JhcHBlcicsICcgJy5qb2luKHNlbGYu
X2poYnVpbGRfd3JhcHBlcikpCiAgICAgICAgIHNlbGYud2VicHJvY2Vzc19jbWRfcHJlZml4ID0g
c2VsZi5nZXRfb3B0aW9uKCd3ZWJwcm9jZXNzX2NtZF9wcmVmaXgnKQogCiAgICAgICAgIHNlbGYu
X3B1bHNlYXVkaW9fc2FuaXRpemVyID0gUHVsc2VBdWRpb1Nhbml0aXplcigpCkBAIC0xMDEsNyAr
MTAxLDcgQEAgY2xhc3MgRWZsUG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxk
X3BhdGgoJ2JpbicsICdJbWFnZURpZmYnKQogCiAgICAgZGVmIF9pbWFnZV9kaWZmX2NvbW1hbmQo
c2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2poYnVpbGRfd3Jh
cHBlcl9wYXRoICsgc3VwZXIoRWZsUG9ydCwgc2VsZikuX2ltYWdlX2RpZmZfY29tbWFuZCgqYXJn
cywgKiprd2FyZ3MpCisgICAgICAgIHJldHVybiBzZWxmLl9qaGJ1aWxkX3dyYXBwZXIgKyBzdXBl
cihFZmxQb3J0LCBzZWxmKS5faW1hZ2VfZGlmZl9jb21tYW5kKCphcmdzLCAqKmt3YXJncykKIAog
ICAgIGRlZiBfcGF0aF90b193ZWJjb3JlX2xpYnJhcnkoc2VsZik6CiAgICAgICAgIHN0YXRpY19w
YXRoID0gc2VsZi5fYnVpbGRfcGF0aCgnbGliJywgJ2xpYndlYmNvcmVfZWZsLmEnKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC9ndGsucHkKaW5kZXggZTgyZGI5MGVmYTI2NjJhMGRhZDNjZWZhNDMyMGM5
N2E0YjI3OGI3Yi4uZWY5YjQ4M2UyMmI4MWFiMTE4YWU0YjNhMGY2NTVkNzAzNzdjZDVkNSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CkBAIC0zMCw2ICszMCw3IEBACiBpbXBvcnQgb3MK
IGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgdXVpZAoraW1wb3J0IGxvZ2dpbmcKIAogZnJvbSB3
ZWJraXRweS5jb21tb24ubWVtb2l6ZWQgaW1wb3J0IG1lbW9pemVkCiBmcm9tIHdlYmtpdHB5Lmxh
eW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9ydCBUZXN0Q29uZmlndXJh
dGlvbgpAQCAtNDEsNiArNDIsNyBAQCBmcm9tIHdlYmtpdHB5LnBvcnQueG9yZ2RyaXZlciBpbXBv
cnQgWG9yZ0RyaXZlcgogZnJvbSB3ZWJraXRweS5wb3J0LmxpbnV4X2dldF9jcmFzaF9sb2cgaW1w
b3J0IEdEQkNyYXNoTG9nR2VuZXJhdG9yCiBmcm9tIHdlYmtpdHB5LnBvcnQubGVha2RldGVjdG9y
X3ZhbGdyaW5kIGltcG9ydCBMZWFrRGV0ZWN0b3JWYWxncmluZAogCitfbG9nID0gbG9nZ2luZy5n
ZXRMb2dnZXIoX19uYW1lX18pCiAKIGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgcG9ydF9uYW1l
ID0gImd0ayIKQEAgLTU0LDcgKzU2LDcgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAg
ICAgIGlmIG5vdCBzZWxmLmdldF9vcHRpb24oIndyYXBwZXIiKToKICAgICAgICAgICAgICAgICBy
YWlzZSBWYWx1ZUVycm9yKCd1c2UgLS13cmFwcGVyPVwidmFsZ3JpbmRcIiBmb3IgbWVtb3J5IGxl
YWsgZGV0ZWN0aW9uIG9uIEdUSycpCiAKLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5w
YXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgJ0RlcGVuZGVuY2llcycpKToKKyAg
ICAgICAgaWYgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICBzZWxmLl9q
aGJ1aWxkX3dyYXBwZXIgPSBbc2VsZi5wYXRoX2Zyb21fd2Via2l0X2Jhc2UoJ1Rvb2xzJywgJ2po
YnVpbGQnLCAnamhidWlsZC13cmFwcGVyJyksICctLWd0aycsICdydW4nXQogICAgICAgICAgICAg
aWYgc2VsZi5nZXRfb3B0aW9uKCd3cmFwcGVyJyk6CiAgICAgICAgICAgICAgICAgc2VsZi5zZXRf
b3B0aW9uKCd3cmFwcGVyJywgJyAnLmpvaW4oc2VsZi5famhidWlsZF93cmFwcGVyKSArICcgJyAr
IHNlbGYuZ2V0X29wdGlvbignd3JhcHBlcicpKQpAQCAtMTEzLDYgKzExNSwxNiBAQCBjbGFzcyBH
dGtQb3J0KFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfSU5KRUNURURf
QlVORExFX0ZJTEVOQU1FJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWInLCAnbGliVGVzdFJ1bm5l
ckluamVjdGVkQnVuZGxlLnNvJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX1RF
U1RfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYicpCiAgICAgICAgIHNlbGYu
X2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lmX3NldChlbnZpcm9ubWVudCwgJ1dFQktJVF9PVVRQ
VVRESVInKQorICAgICAgICBpZiBzZWxmLl9kcml2ZXJfY2xhc3MoKSA9PSBYdmZiRHJpdmVyIGFu
ZCBzZWxmLl9zaG91bGRfdXNlX2poYnVpbGQoKToKKyAgICAgICAgICAgIGxsdm1waXBlX2xpYmds
X3BhdGggPSBzZWxmLmhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKHNlbGYuX2poYnVpbGRfd3Jh
cHBlciArIFsncHJpbnRlbnYnLCAnTExWTVBJUEVfTElCR0xfUEFUSCddLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJy
b3JfaGFuZGxlcj1zZWxmLmhvc3QuZXhlY3V0aXZlLmlnbm9yZV9lcnJvcikuc3RyaXAoKQorICAg
ICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGxsdm1waXBlX2xpYmdsX3Bh
dGgsICJsaWJHTC5zbyIpKToKKyAgICAgICAgICAgICAgICAgICAgIyBGb3JjZSB0aGUgR2FsbGl1
bSBsbHZtcGlwZSBzb2Z0d2FyZSByYXN0ZXJpemVyCisgICAgICAgICAgICAgICAgICAgIGVudmly
b25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSA9IGxsdm1waXBlX2xpYmdsX3BhdGgKKyAgICAgICAg
ICAgICAgICAgICAgaWYgb3MuZW52aXJvbi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpOgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50WydMRF9MSUJSQVJZX1BBVEgnXSArPSAn
OiVzJyAlIG9zLmVudmlyb24uZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKQorICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCJDYW4ndCBmaW5kIEdhbGxpdW0g
bGx2bXBpcGUgZHJpdmVyLiBUcnkgdG8gcnVuIHVwZGF0ZS13ZWJraXRndGstbGlicyIpCiAgICAg
ICAgIGlmIHNlbGYuZ2V0X29wdGlvbigibGVha3MiKToKICAgICAgICAgICAgICMgIFR1cm4gb2Zm
IEdMaWIgbWVtb3J5IG9wdGltaXNhdGlvbnMgaHR0cHM6Ly93aWtpLmdub21lLm9yZy9WYWxncmlu
ZC4KICAgICAgICAgICAgIGVudmlyb25tZW50WydHX1NMSUNFJ10gPSAnYWx3YXlzLW1hbGxvYycK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHkKaW5kZXggYWJmOWJiYzU0
ZWY5MmE0NWMzMjZmOWFmNDRhYThiZTQxYWMxZmE1NS4uMGMyMDc1MjViYTI1MzM0ZGI1ZDI3ZDJm
YzBmZWVmMzVjYTBlODY4NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L3h2ZmJkcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2
ZXIucHkKQEAgLTEsNCArMSw1IEBACiAjIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTQgSWdhbGlhIFMuTC4KICMK
ICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQxLDcgKzQyLDEwIEBAIF9sb2cgPSBs
b2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIGNsYXNzIFh2ZmJEcml2ZXIoRHJpdmVyKToKICAg
ICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGNoZWNrX2RyaXZlcihwb3J0KToKLSAgICAgICAgeHZm
Yl9mb3VuZCA9IHBvcnQuaG9zdC5leGVjdXRpdmUucnVuX2NvbW1hbmQoWyd3aGljaCcsICdYdmZi
J10sIHJldHVybl9leGl0X2NvZGU9VHJ1ZSkgaXMgMAorICAgICAgICB4dmZiX2ZpbmRjbWQgPSBb
J3doaWNoJywgJ1h2ZmInXQorICAgICAgICBpZiBwb3J0Ll9zaG91bGRfdXNlX2poYnVpbGQoKToK
KyAgICAgICAgICAgICAgICB4dmZiX2ZpbmRjbWQgPSBwb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyB4
dmZiX2ZpbmRjbWQKKyAgICAgICAgeHZmYl9mb3VuZCA9IHBvcnQuaG9zdC5leGVjdXRpdmUucnVu
X2NvbW1hbmQoeHZmYl9maW5kY21kLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpIGlzIDAKICAgICAg
ICAgaWYgbm90IHh2ZmJfZm91bmQ6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCJObyBYdmZiIGZv
dW5kLiBDYW5ub3QgcnVuIGxheW91dCB0ZXN0cy4iKQogICAgICAgICByZXR1cm4geHZmYl9mb3Vu
ZApAQCAtODAsMTMgKzg0LDEzIEBAIGNsYXNzIFh2ZmJEcml2ZXIoRHJpdmVyKToKICAgICAgICAg
c2VydmVyX25hbWUgPSBzZWxmLl9wb3J0LmRyaXZlcl9uYW1lKCkKICAgICAgICAgZW52aXJvbm1l
bnQgPSBzZWxmLl9wb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZXJ2ZXJfbmFtZSkKIAot
ICAgICAgICBsbHZtcGlwZV9saWJnbF9wYXRoID0gb3MuZW52aXJvbi5nZXQoJ0xMVk1QSVBFX0xJ
QkdMX1BBVEgnKQotICAgICAgICBpZiBsbHZtcGlwZV9saWJnbF9wYXRoOgotICAgICAgICAgICAg
ZW52aXJvbm1lbnRbJ0xEX0xJQlJBUllfUEFUSCddID0gJyVzOiVzJyAlIChsbHZtcGlwZV9saWJn
bF9wYXRoLCBvcy5lbnZpcm9uLmdldCgnTERfTElCUkFSWV9QQVRIJywgJycpKQotCiAgICAgICAg
IHJ1bl94dmZiID0gWyJYdmZiIiwgIjolZCIgJSBkaXNwbGF5X2lkLCAiLXNjcmVlbiIsICAiMCIs
ICIxMDI0eDc2OHglcyIgJSBzZWxmLl94dmZiX3NjcmVlbl9kZXB0aCgpLCAiLW5vbGlzdGVuIiwg
InRjcCJdCisKKyAgICAgICAgaWYgc2VsZi5fcG9ydC5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6Cisg
ICAgICAgICAgICAgICAgcnVuX3h2ZmIgPSBzZWxmLl9wb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBy
dW5feHZmYgorCiAgICAgICAgIHdpdGggb3Blbihvcy5kZXZudWxsLCAndycpIGFzIGRldm51bGw6
Ci0gICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3MgPSBzZWxmLl9wb3J0Lmhvc3QuZXhlY3V0
aXZlLnBvcGVuKHJ1bl94dmZiLCBzdGRlcnI9ZGV2bnVsbCkKKyAgICAgICAgICAgIHNlbGYuX3h2
ZmJfcHJvY2VzcyA9IHNlbGYuX3BvcnQuaG9zdC5leGVjdXRpdmUucG9wZW4ocnVuX3h2ZmIsIHN0
ZGVycj1kZXZudWxsLCBlbnY9ZW52aXJvbm1lbnQpCiAKICAgICAgICAgIyBDcmFzaGVzIGludGVu
ZCB0byBvY2N1ciBvY2Nhc2lvbmFsbHkgaW4gdGhlIGZpcnN0IGZldyB0ZXN0cyB0aGF0IGFyZSBy
dW4gdGhyb3VnaCBlYWNoCiAgICAgICAgICMgd29ya2VyIGJlY2F1c2UgdGhlIFh2ZmIgZGlzcGxh
eSBpc24ndCByZWFkeSB5ZXQuIEhhbHRpbmcgZXhlY3V0aW9uIGEgYml0IHNob3VsZCBhdm9pZCB0
aGF0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0
dGVzdC5weQppbmRleCBlMTA1OGUyYzM1OWVjYWUzYTE3YTEyNDAzODAxNmI5Mjg5NGQ5ZjZlLi5l
YWIwNzRkYjVkMzg0ODIxMjUzMjIyMDgzYjdkMTVlN2RmNDZmYzU3IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVzdC5weQpAQCAtNTIsNiAr
NTIsNyBAQCBjbGFzcyBYdmZiRHJpdmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
IGRyaXZlciA9IFh2ZmJEcml2ZXIocG9ydCwgd29ya2VyX251bWJlcj13b3JrZXJfbnVtYmVyLCBw
aXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBkcml2ZXIuX3N0YXJ0dXBfZGVsYXlfc2VjcyA9IDAK
ICAgICAgICAgZHJpdmVyLl94dmZiX3NjcmVlbl9kZXB0aCA9IGxhbWJkYTogJzI0JworICAgICAg
ICBkcml2ZXIuX2Vudmlyb25tZW50ID0gcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIocG9y
dC5kcml2ZXJfbmFtZSgpKQogICAgICAgICByZXR1cm4gZHJpdmVyCiAKICAgICBkZWYgY2xlYW51
cF9kcml2ZXIoc2VsZiwgZHJpdmVyKToKQEAgLTY3LDE5ICs2OCwxOSBAQCBjbGFzcyBYdmZiRHJp
dmVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9zdGFydF9ub19waXhl
bF90ZXN0cyhzZWxmKToKICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcigpCi0gICAg
ICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBydW5fY29tbWFuZDogWydwcycsICctZW8nLCAnY29t
bSxjb21tYW5kJ10sIGN3ZD1Ob25lXG5NT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVl
bicsICcwJywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAgICAgICBl
eHBlY3RlZF9sb2dzID0gKCJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywgJy1lbycsICdjb21tLGNv
bW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2NyZWVuJywg
JzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2
ZXIuX2Vudmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1
bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0i
OjAiKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIAogICAgIGRlZiB0ZXN0
X3N0YXJ0X3BpeGVsX3Rlc3RzKHNlbGYpOgogICAgICAgICBkcml2ZXIgPSBzZWxmLm1ha2VfZHJp
dmVyKCkKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywg
Jy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6
MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4i
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMnLCAnLWVv
JywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywgJzowJywg
Jy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ10sIGVudj0l
c1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RHJpdmVyU3Rh
cnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBlY3Rl
ZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAgICAgICAgIHNlbGYuY2xlYW51cF9k
cml2ZXIoZHJpdmVyKQogCiAgICAgZGVmIHRlc3Rfc3RhcnRfYXJiaXRyYXJ5X3dvcmtlcl9udW1i
ZXIoc2VsZik6CiAgICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIod29ya2VyX251bWJl
cj0xNykKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywg
Jy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5vbmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6
MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4i
CisgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMnLCAnLWVv
JywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywgJzowJywg
Jy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ10sIGVudj0l
c1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RHJpdmVyU3Rh
cnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBlY3Rl
ZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAgICAgICAgIHNlbGYuY2xlYW51cF9k
cml2ZXIoZHJpdmVyKQogCkBAIC0xMDgsMTIgKzEwOSwxMiBAQCBjbGFzcyBYdmZiRHJpdmVyVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfc3RhcnRfbmV4dF93b3JrZXIoc2Vs
Zik6CiAgICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIoKQogICAgICAgICBkcml2ZXIu
X25leHRfZnJlZV9kaXNwbGF5ID0gbGFtYmRhOiAwCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAi
TU9DSyBwb3BlbjogWydYdmZiJywgJzowJywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcs
ICctbm9saXN0ZW4nLCAndGNwJ11cbiIKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICgiTU9DSyBw
b3BlbjogWydYdmZiJywgJzowJywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9s
aXN0ZW4nLCAndGNwJ10sIGVudj0lc1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCiAgICAgICAg
IHNlbGYuYXNzZXJ0RHJpdmVyU3RhcnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1l
eHBlY3RlZF9sb2dzLCBleHBlY3RlZF9kaXNwbGF5PSI6MCIsIHBpeGVsX3Rlc3RzPVRydWUpCiAg
ICAgICAgIHNlbGYuY2xlYW51cF9kcml2ZXIoZHJpdmVyKQogICAgICAgICBkcml2ZXIgPSBzZWxm
Lm1ha2VfZHJpdmVyKCkKICAgICAgICAgZHJpdmVyLl9uZXh0X2ZyZWVfZGlzcGxheSA9IGxhbWJk
YTogMwotICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6Mycs
ICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4iCisg
ICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MycsICctc2Ny
ZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIg
JSBkcml2ZXIuX2Vudmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3Vj
Y2Vzc2Z1bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlz
cGxheT0iOjMiLCBwaXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVy
KGRyaXZlcikKIApkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIv
VG9vbHMvZ3RrL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IDhmMjg4ZDI4ODNkYTc4MjBjYWM2
Zjc0Yzk5NzJjZDVmNWEwMmUzMGUuLjEwODAzNWEzYzYxZjgwNzQyNGMzYWQ2M2JmODY0MzUxOTZm
MTQzMmIgMTAwNzU1Ci0tLSBhL1Rvb2xzL2d0ay9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9U
b29scy9ndGsvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTExMSw2ICsxMTEsNyBAQCBmdW5jdGlv
biBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7CiAgICAgICAgIGxpYnhmb250LWRldiBcCiAg
ICAgICAgIGxpYnhrYmZpbGUtZGV2IFwKICAgICAgICAgbGx2bSBcCisgICAgICAgIGxsdm0tZGV2
IFwKICAgICAgICAgcHl0aG9uLWRldiBcCiAgICAgICAgIHJhZ2VsIFwKICAgICAgICAgeDExcHJv
dG8tYmlncmVxcy1kZXYgXApAQCAtMjA5LDYgKzIxMCw3IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBl
bmRlbmNpZXNXaXRoWXVtIHsKICAgICAgICAgbGlidGlmZi1kZXZlbCBcCiAgICAgICAgIGxpYnhr
YmZpbGUtZGV2ZWwgXAogICAgICAgICBsbHZtIFwKKyAgICAgICAgbGx2bS1kZXZlbCBcCiAgICAg
ICAgIG1lc2EtbGliRUdMLWRldmVsIFwKICAgICAgICAgcmFnZWwgXAogICAgICAgICB4b3JnLXgx
MS1mb250LXV0aWxzIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMgYi9U
b29scy9ndGsvamhidWlsZC5tb2R1bGVzCmluZGV4IDQ3MmQ1OTJlYmJlZTI2M2NlMmMxMTgyMzg4
ODE1OWQxOWZhMzExOGMuLjlhNGYxNDZmNmE4MjgxMWFlZGYxZDhlYjg1M2IxYmFjY2Q5ZDZmYWIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKKysrIGIvVG9vbHMvZ3RrL2po
YnVpbGQubW9kdWxlcwpAQCAtMzM1LDggKzMzNSwxMCBAQAogICA8L2F1dG90b29scz4KIAogICA8
YXV0b3Rvb2xzIGlkPSJtZXNhIiBhdXRvZ2VuYXJncz0iLS1lbmFibGUteGxpYi1nbHggLS1kaXNh
YmxlLWRyaSAtLXdpdGgtZ2FsbGl1bS1kcml2ZXJzPXN3cmFzdCIgc2tpcC1pbnN0YWxsPSJ0cnVl
Ij4KKyAgICA8IS0tLSBXQVJOSU5HOiBBdCBqaGJ1aWxkcmMsIHdoZW4gd2UgZGVmaW5lIHRoZSBw
YXRoIHRvIHRoZSBHYWxsaXVtIGxsdm1waXBlIHNvZnR3YXJlIHJhc3Rlcml6ZXIgKG5lZWRlZCBi
eSBYdmZiRHJpdmVyKSwKKyAgICAgICAgICB3ZSBhc3N1bWUgdGhhdCB0aGUgZGlyZWN0b3J5IGlz
IG5hbWVkICJNZXNhIi4gU28sIGRvbid0IGNoYW5nZSB0aGUgY2hlY2tvdXRkaXIgbmFtZSBldmVu
IGlmIHlvdSB1cGRhdGUgdGhlIHZlcnNpb24uICAtLT4KICAgICA8YnJhbmNoIG1vZHVsZT0iL3B1
Yi9tZXNhLzEwLjIuMS9NZXNhTGliLTEwLjIuMS50YXIuYnoyIiB2ZXJzaW9uPSIxMC4yLjEiCi0g
ICAgICAgICAgICBjaGVja291dGRpcj0iTWVzYS0xMC4yLjEiCisgICAgICAgICAgICBjaGVja291
dGRpcj0iTWVzYSIKICAgICAgICAgICAgIHJlcG89ImZ0cC5mcmVlZGVza3RvcC5vcmciCiAgICAg
ICAgICAgICBoYXNoPSJzaGEyNTY6NDYxMjc3OTA5MjA3ZGE2ODlkODE1MmNmYmY5ZTE4MmVhNmY3
MGUxZTY3MmFiNjRjNjdkZjgzNzI1YzhkMmI1NCIvPgogICA8L2F1dG90b29scz4KZGlmZiAtLWdp
dCBhL1Rvb2xzL2d0ay9qaGJ1aWxkcmMgYi9Ub29scy9ndGsvamhidWlsZHJjCmluZGV4IDczNTZj
NDE5NDBmZjI2ZDQ1NjdkNTQ4MTY1Y2UxNjJjYWZhY2Q3YzUuLjcyNzdkYWVkYjM4MzIzMTJhM2Rk
ODQ1ODI1OTU0ZGMwYzI2MThlMDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxkcmMKKysr
IGIvVG9vbHMvZ3RrL2poYnVpbGRyYwpAQCAtMSw1ICsxLDUgQEAKICMhL3Vzci9iaW4vZW52IHB5
dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyMgQ29weXJpZ2h0IChDKSAy
MDExLTIwMTQgSWdhbGlhIFMuTC4KICMKICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0xNiw2ICsxNiw3IEBACiAj
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEgIFVTQQogCiBpbXBvcnQgc3lzCitpbXBvcnQgb3MKIAogc3lzLnBh
dGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4v
amhidWlsZCIpICkKIGltcG9ydCBqaGJ1aWxkcmNfY29tbW9uCkBAIC0zMyw2ICszNCw2IEBAIG1v
ZHVsZV9tYWtlYXJnc1snZ3RrKyddID0gJ0xERkxBR1M9Ii1sbSIgJyArIG1ha2VhcmdzCiBhdXRv
Z2VuYXJncz0nLS1lbmFibGUtaW50cm9zcGVjdGlvbicKIAogaWYgdXNlX2xpYjY0OgotICAgIG9z
LmVudmlyb25bJ0xMVk1QSVBFX0xJQkdMX1BBVEgnXSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRo
LmpvaW4oY2hlY2tvdXRyb290LCAnTWVzYS0xMC4yLjEnLCAnbGliNjQnKSkKKyAgICBvcy5lbnZp
cm9uWydMTFZNUElQRV9MSUJHTF9QQVRIJ10gPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2lu
KGNoZWNrb3V0cm9vdCwgJ01lc2EnLCAnbGliNjQnLCAnZ2FsbGl1bScpKQogZWxzZToKLSAgICBv
cy5lbnZpcm9uWydMTFZNUElQRV9MSUJHTF9QQVRIJ10gPSBvcy5wYXRoLmFic3BhdGgob3MucGF0
aC5qb2luKGNoZWNrb3V0cm9vdCwgJ01lc2EtMTAuMi4xJywgJ2xpYicpKQorICAgIG9zLmVudmly
b25bJ0xMVk1QSVBFX0xJQkdMX1BBVEgnXSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4o
Y2hlY2tvdXRyb290LCAnTWVzYScsICdsaWInLCAnZ2FsbGl1bScpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236769</attachid>
            <date>2014-08-18 11:35:24 -0700</date>
            <delta_ts>2014-08-21 08:47:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134070-20140818203514.patch</filename>
            <type>text/plain</type>
            <size>15458</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyNzExCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2VmNjEyYTZkOTBmNzg4ZjVhNDYwY2FhZTY3NTcwOTZj
YjZhM2JkOC4uNWM3MjBlM2FiMGEwZDkzNDM1NGMxODMyY2ZmMDJmMTNjOWJhMzBhMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3
IEBACisyMDE0LTA4LTE4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdIExvYWQgdGhlIGxsdm1waXBlIChNZXNhKSBsaWJyYXJp
ZXMgd2hlbiBydW5uaW5nIHRoZSB0ZXN0cyB3aXRoIFh2ZmIuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQwNzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
LnB5OgorICAgICAgICAoUG9ydC5fX2luaXRfXyk6IFNldCBkZWZhdWx0IF9qaGJ1aWxkX3dyYXBw
ZXIgdmFyaWFibGUuCisgICAgICAgIChQb3J0Ll9zaG91bGRfdXNlX2poYnVpbGQpOiBJbXBsZW1l
bnQgZ2VuZXJpYyBjaGVjay4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5
OiBSZW5hbWUgdG8gamhidWlsZF93cmFwcGVyIHZhcmlhYmxlCisgICAgICAgIHRvIG1ha2UgaXQg
Y29uc2lzdGVudCB3aXRoIHRoZSBvdGhlciBwb3J0cy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9ydC5fX2luaXRfXyk6IFVzZSB0aGUgbmV3
IF9zaG91bGRfdXNlX2poYnVpbGQoKSBtZXRob2QuCisgICAgICAgIChHdGtQb3J0LnNldHVwX2Vu
dmlyb25fZm9yX3NlcnZlcik6IEdldCB0aGUgcGF0aCBmb3IgbGx2bXBpcGVfbGliZ2xfcGF0aCBi
eQorICAgICAgICBxdWVyeWluZyB0aGUgamhidWlsZCB3aXRoIHByaW50ZW52LiBBbHNvIGNoZWNr
IHRoYXQgdGhlIHBhdGggY29udGFpbnMKKyAgICAgICAgdGhlIGxpYnJhcmllcyB3ZSBleHBlY3Qu
IFByZWxvYWQgdGhpcyBwYXRoIG9ubHkgZm9yIFh2ZmJEcml2ZXIuCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLmNoZWNr
X2RyaXZlcik6IENoZWNrIGZvciB0aGUgamhidWlsZCB3cmFwcGVyIGFuZCB1c2UgaXQuCisgICAg
ICAgIChYdmZiRHJpdmVyLl9zdGFydCk6IFRoZSBlbnZpcm9ubWVudCBmb3IgbGx2bXBpcGVfbGli
Z2xfcGF0aCBpcyBub3cKKyAgICAgICAgY29uZmlndXJlZCBhdCBzZXR1cF9lbnZpcm9uX2Zvcl9z
ZXJ2ZXIoKQorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyX3VuaXR0
ZXN0LnB5OgorICAgICAgICAoWHZmYkRyaXZlclRlc3QubWFrZV9kcml2ZXIpOiBHZXQgdGhlIHBv
cnQgZGVmYXVsdCBlbnZpcm9ubWVudC4KKyAgICAgICAgKFh2ZmJEcml2ZXJUZXN0LnRlc3Rfc3Rh
cnRfbm9fcGl4ZWxfdGVzdHMpOiBUaGUgZXhwZWN0ZWQgbG9nIG5vdworICAgICAgICBzaG91bGQg
aW5jbHVkZSB0aGUgZW52aXJvbm1lbnQgdGhhdCBpcyBwYXNzZWQgd2hlbiBydW5uaW5nIFh2ZmIu
CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X3BpeGVsX3Rlc3RzKTogRGl0dG8u
CisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X2FyYml0cmFyeV93b3JrZXJfbnVt
YmVyKTogRGl0dG8uCisgICAgICAgIChYdmZiRHJpdmVyVGVzdC50ZXN0X3N0YXJ0X25leHRfd29y
a2VyKTogRGl0dG8uCisgICAgICAgICogZ3RrL2poYnVpbGQubW9kdWxlczogUmVuYW1lIGNoZWNr
b3V0ZGlyIHRvIGdlbmVyaWMgIk1lc2EiIHRvCisgICAgICAgIHByZXZlbnQgZnV0dXJlIHByb2Js
ZW1zIHdoZW4gdGhlIHZlcnNpb24gaXMgcmFpc2VkLiBBZGQgYWxzbyBhCisgICAgICAgIGNvbW1l
bnQgd2l0aCBhIHdhcm5pbmcuCisgICAgICAgICogZ3RrL2poYnVpbGRyYzogVGhlIHBhdGggTExW
TVBJUEVfTElCR0xfUEFUSCBzaG91bGQgYmUgdGhlIG9uZQorICAgICAgICB0aGF0IGhhcyB0aGUg
bGx2bSBvcHRpbWl6ZWQgR2FsbGl1bSBsaWJHTCBsaWJyYXJpZXMuCisKIDIwMTQtMDgtMTggIFJl
bmF0byBOYWd5ICA8bmFneS5yZW5hdG9Ac3R1ZC51LXN6ZWdlZC5odT4KIAogICAgICAgICBtYXN0
ZXIuY2ZnIHNob3VsZCBoYW5kbGUgc3BlY2lhbCByZXR1cm4gY29kZXMgb2YgcnVuLXBlcmYtdGVz
dHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5kZXggMzA3NjZkMTU0MDNhYTcwYTNm
NGY4ZTBlYjQ5NjBmZjE1NWJlNWY4YS4uYzM3N2U1OWMwYWMyNGQzODc0MGQxNTcyNDQ2MjczYjJi
MjE1ODVlYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTEzMiw2ICsxMzIs
NyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIHNlbGYuX3JlZnRlc3RfbGlzdCA9IHt9
CiAgICAgICAgIHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5ID0gTm9uZQogICAgICAgICBzZWxmLl9y
b290X3dhc19zZXQgPSBoYXNhdHRyKG9wdGlvbnMsICdyb290JykgYW5kIG9wdGlvbnMucm9vdAor
ICAgICAgICBzZWxmLl9qaGJ1aWxkX3dyYXBwZXIgPSBbXQogCiAgICAgZGVmIGFkZGl0aW9uYWxf
ZHJ0X2ZsYWcoc2VsZik6CiAgICAgICAgIHJldHVybiBbXQpAQCAtMTI2Nyw2ICsxMjY4LDkgQEAg
Y2xhc3MgUG9ydChvYmplY3QpOgogICAgICAgICAjIC0tcGl4ZWwtdGVzdC1kaXJlY3RvcnkgaXMg
bm90IHNwZWNpZmllZC4KICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRlZiBfc2hvdWxkX3Vz
ZV9qaGJ1aWxkKHNlbGYpOgorICAgICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoc2VsZi5wYXRo
X2Zyb21fd2Via2l0X2Jhc2UoJ1dlYktpdEJ1aWxkJywgJ0RlcGVuZGVuY2llcycpKQorCiAgICAg
IyBGSVhNRTogRXZlbnR1YWxseSB3ZSBzaG91bGQgc3RhbmRhcml6ZSBwb3J0IG5hbWluZywgYW5k
IG1ha2UgdGhpcyBtZXRob2Qgc21hcnQgZW5vdWdoCiAgICAgIyB0byB1c2UgZm9yIGFsbCBwb3J0
IGNvbmZpZ3VyYXRpb25zIChpbmNsdWRpbmcgYXJjaGl0ZWN0dXJlcywgZ3JhcGhpY3MgdHlwZXMs
IGV0YykuCiAgICAgZGVmIF9wb3J0X2ZsYWdfZm9yX3NjcmlwdHMoc2VsZik6CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2VmbC5weQppbmRleCAzZmRmZTFmYzRlYTllMzQ4NTdmZTk1NGQ5NTVjNTM0NmU4
ZjZhYzllLi5kMjI1ZDY1YTRhMjkxNzBmMmZiM2RiYjg4MDcxMzIzNGIxOTAzMTUyIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZWZsLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9lZmwucHkKQEAgLTQyLDkgKzQyLDkgQEAgY2xhc3MgRWZsUG9ydChQ
b3J0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAg
c3VwZXIoRWZsUG9ydCwgc2VsZikuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQogCi0gICAgICAg
IHNlbGYuX2poYnVpbGRfd3JhcHBlcl9wYXRoID0gW3NlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNl
KCdUb29scycsICdqaGJ1aWxkJywgJ2poYnVpbGQtd3JhcHBlcicpLCAnLS1lZmwnLCAncnVuJ10K
KyAgICAgICAgc2VsZi5famhidWlsZF93cmFwcGVyID0gW3NlbGYucGF0aF9mcm9tX3dlYmtpdF9i
YXNlKCdUb29scycsICdqaGJ1aWxkJywgJ2poYnVpbGQtd3JhcHBlcicpLCAnLS1lZmwnLCAncnVu
J10KIAotICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgnd3JhcHBlcicsICcgJy5qb2lu
KHNlbGYuX2poYnVpbGRfd3JhcHBlcl9wYXRoKSkKKyAgICAgICAgc2VsZi5zZXRfb3B0aW9uX2Rl
ZmF1bHQoJ3dyYXBwZXInLCAnICcuam9pbihzZWxmLl9qaGJ1aWxkX3dyYXBwZXIpKQogICAgICAg
ICBzZWxmLndlYnByb2Nlc3NfY21kX3ByZWZpeCA9IHNlbGYuZ2V0X29wdGlvbignd2VicHJvY2Vz
c19jbWRfcHJlZml4JykKIAogICAgICAgICBzZWxmLl9wdWxzZWF1ZGlvX3Nhbml0aXplciA9IFB1
bHNlQXVkaW9TYW5pdGl6ZXIoKQpAQCAtMTAxLDcgKzEwMSw3IEBAIGNsYXNzIEVmbFBvcnQoUG9y
dCk6CiAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKCdiaW4nLCAnSW1hZ2VEaWZmJykK
IAogICAgIGRlZiBfaW1hZ2VfZGlmZl9jb21tYW5kKHNlbGYsICphcmdzLCAqKmt3YXJncyk6Ci0g
ICAgICAgIHJldHVybiBzZWxmLl9qaGJ1aWxkX3dyYXBwZXJfcGF0aCArIHN1cGVyKEVmbFBvcnQs
IHNlbGYpLl9pbWFnZV9kaWZmX2NvbW1hbmQoKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICByZXR1
cm4gc2VsZi5famhidWlsZF93cmFwcGVyICsgc3VwZXIoRWZsUG9ydCwgc2VsZikuX2ltYWdlX2Rp
ZmZfY29tbWFuZCgqYXJncywgKiprd2FyZ3MpCiAKICAgICBkZWYgX3BhdGhfdG9fd2ViY29yZV9s
aWJyYXJ5KHNlbGYpOgogICAgICAgICBzdGF0aWNfcGF0aCA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xp
YicsICdsaWJ3ZWJjb3JlX2VmbC5hJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9ndGsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5CmluZGV4
IGU4MmRiOTBlZmEyNjYyYTBkYWQzY2VmYTQzMjBjOTdhNGIyNzhiN2IuLmVmOWI0ODNlMjJiODFh
YjExOGFlNGIzYTBmNjU1ZDcwMzc3Y2Q1ZDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9ndGsucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5w
eQpAQCAtMzAsNiArMzAsNyBAQAogaW1wb3J0IG9zCiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0
IHV1aWQKK2ltcG9ydCBsb2dnaW5nCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLm1lbW9pemVkIGlt
cG9ydCBtZW1vaXplZAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzLnRlc3RfY29u
ZmlndXJhdGlvbiBpbXBvcnQgVGVzdENvbmZpZ3VyYXRpb24KQEAgLTQxLDYgKzQyLDcgQEAgZnJv
bSB3ZWJraXRweS5wb3J0Lnhvcmdkcml2ZXIgaW1wb3J0IFhvcmdEcml2ZXIKIGZyb20gd2Via2l0
cHkucG9ydC5saW51eF9nZXRfY3Jhc2hfbG9nIGltcG9ydCBHREJDcmFzaExvZ0dlbmVyYXRvcgog
ZnJvbSB3ZWJraXRweS5wb3J0LmxlYWtkZXRlY3Rvcl92YWxncmluZCBpbXBvcnQgTGVha0RldGVj
dG9yVmFsZ3JpbmQKIAorX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiBjbGFz
cyBHdGtQb3J0KFBvcnQpOgogICAgIHBvcnRfbmFtZSA9ICJndGsiCkBAIC01NCw3ICs1Niw3IEBA
IGNsYXNzIEd0a1BvcnQoUG9ydCk6CiAgICAgICAgICAgICBpZiBub3Qgc2VsZi5nZXRfb3B0aW9u
KCJ3cmFwcGVyIik6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigndXNlIC0td3Jh
cHBlcj1cInZhbGdyaW5kXCIgZm9yIG1lbW9yeSBsZWFrIGRldGVjdGlvbiBvbiBHVEsnKQogCi0g
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYucGF0aF9mcm9tX3dlYmtpdF9iYXNlKCdXZWJL
aXRCdWlsZCcsICdEZXBlbmRlbmNpZXMnKSk6CisgICAgICAgIGlmIHNlbGYuX3Nob3VsZF91c2Vf
amhidWlsZCgpOgogICAgICAgICAgICAgc2VsZi5famhidWlsZF93cmFwcGVyID0gW3NlbGYucGF0
aF9mcm9tX3dlYmtpdF9iYXNlKCdUb29scycsICdqaGJ1aWxkJywgJ2poYnVpbGQtd3JhcHBlcicp
LCAnLS1ndGsnLCAncnVuJ10KICAgICAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignd3JhcHBl
cicpOgogICAgICAgICAgICAgICAgIHNlbGYuc2V0X29wdGlvbignd3JhcHBlcicsICcgJy5qb2lu
KHNlbGYuX2poYnVpbGRfd3JhcHBlcikgKyAnICcgKyBzZWxmLmdldF9vcHRpb24oJ3dyYXBwZXIn
KSkKQEAgLTExMyw2ICsxMTUsMTYgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICAgICAgZW52
aXJvbm1lbnRbJ1RFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSddID0gc2VsZi5f
YnVpbGRfcGF0aCgnbGliJywgJ2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5zbycpCiAgICAg
ICAgIGVudmlyb25tZW50WydURVNUX1JVTk5FUl9URVNUX1BMVUdJTl9QQVRIJ10gPSBzZWxmLl9i
dWlsZF9wYXRoKCdsaWInKQogICAgICAgICBzZWxmLl9jb3B5X3ZhbHVlX2Zyb21fZW52aXJvbl9p
Zl9zZXQoZW52aXJvbm1lbnQsICdXRUJLSVRfT1VUUFVURElSJykKKyAgICAgICAgaWYgc2VsZi5f
ZHJpdmVyX2NsYXNzKCkgPT0gWHZmYkRyaXZlciBhbmQgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxk
KCk6CisgICAgICAgICAgICBsbHZtcGlwZV9saWJnbF9wYXRoID0gc2VsZi5ob3N0LmV4ZWN1dGl2
ZS5ydW5fY29tbWFuZChzZWxmLl9qaGJ1aWxkX3dyYXBwZXIgKyBbJ3ByaW50ZW52JywgJ0xMVk1Q
SVBFX0xJQkdMX1BBVEgnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2hhbmRsZXI9c2VsZi5ob3N0LmV4ZWN1
dGl2ZS5pZ25vcmVfZXJyb3IpLnN0cmlwKCkKKyAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3Rz
KG9zLnBhdGguam9pbihsbHZtcGlwZV9saWJnbF9wYXRoLCAibGliR0wuc28iKSk6CisgICAgICAg
ICAgICAgICAgICAgICMgRm9yY2UgdGhlIEdhbGxpdW0gbGx2bXBpcGUgc29mdHdhcmUgcmFzdGVy
aXplcgorICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudFsnTERfTElCUkFSWV9QQVRIJ10g
PSBsbHZtcGlwZV9saWJnbF9wYXRoCisgICAgICAgICAgICAgICAgICAgIGlmIG9zLmVudmlyb24u
Z2V0KCdMRF9MSUJSQVJZX1BBVEgnKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZp
cm9ubWVudFsnTERfTElCUkFSWV9QQVRIJ10gKz0gJzolcycgJSBvcy5lbnZpcm9uLmdldCgnTERf
TElCUkFSWV9QQVRIJykKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIF9s
b2cud2FybmluZygiQ2FuJ3QgZmluZCBHYWxsaXVtIGxsdm1waXBlIGRyaXZlci4gVHJ5IHRvIHJ1
biB1cGRhdGUtd2Via2l0Z3RrLWxpYnMiKQogICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oImxl
YWtzIik6CiAgICAgICAgICAgICAjICBUdXJuIG9mZiBHTGliIG1lbW9yeSBvcHRpbWlzYXRpb25z
IGh0dHBzOi8vd2lraS5nbm9tZS5vcmcvVmFsZ3JpbmQuCiAgICAgICAgICAgICBlbnZpcm9ubWVu
dFsnR19TTElDRSddID0gJ2Fsd2F5cy1tYWxsb2MnCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC94dmZiZHJpdmVyLnB5CmluZGV4IGFiZjliYmM1NGVmOTJhNDVjMzI2ZjlhZjQ0YWE4YmU0MWFj
MWZhNTUuLjBjMjA3NTI1YmEyNTMzNGRiNWQyN2QyZmMwZmVlZjM1Y2EwZTg2ODUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CkBAIC0xLDQgKzEsNSBAQAogIyBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29w
eXJpZ2h0IChDKSAyMDE0IElnYWxpYSBTLkwuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCkBAIC00MSw3ICs0MiwxMCBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18p
CiBjbGFzcyBYdmZiRHJpdmVyKERyaXZlcik6CiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBj
aGVja19kcml2ZXIocG9ydCk6Ci0gICAgICAgIHh2ZmJfZm91bmQgPSBwb3J0Lmhvc3QuZXhlY3V0
aXZlLnJ1bl9jb21tYW5kKFsnd2hpY2gnLCAnWHZmYiddLCByZXR1cm5fZXhpdF9jb2RlPVRydWUp
IGlzIDAKKyAgICAgICAgeHZmYl9maW5kY21kID0gWyd3aGljaCcsICdYdmZiJ10KKyAgICAgICAg
aWYgcG9ydC5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CisgICAgICAgICAgICAgICAgeHZmYl9maW5k
Y21kID0gcG9ydC5famhidWlsZF93cmFwcGVyICsgeHZmYl9maW5kY21kCisgICAgICAgIHh2ZmJf
Zm91bmQgPSBwb3J0Lmhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKHh2ZmJfZmluZGNtZCwgcmV0
dXJuX2V4aXRfY29kZT1UcnVlKSBpcyAwCiAgICAgICAgIGlmIG5vdCB4dmZiX2ZvdW5kOgogICAg
ICAgICAgICAgX2xvZy5lcnJvcigiTm8gWHZmYiBmb3VuZC4gQ2Fubm90IHJ1biBsYXlvdXQgdGVz
dHMuIikKICAgICAgICAgcmV0dXJuIHh2ZmJfZm91bmQKQEAgLTgwLDEzICs4NCwxMyBAQCBjbGFz
cyBYdmZiRHJpdmVyKERyaXZlcik6CiAgICAgICAgIHNlcnZlcl9uYW1lID0gc2VsZi5fcG9ydC5k
cml2ZXJfbmFtZSgpCiAgICAgICAgIGVudmlyb25tZW50ID0gc2VsZi5fcG9ydC5zZXR1cF9lbnZp
cm9uX2Zvcl9zZXJ2ZXIoc2VydmVyX25hbWUpCiAKLSAgICAgICAgbGx2bXBpcGVfbGliZ2xfcGF0
aCA9IG9zLmVudmlyb24uZ2V0KCdMTFZNUElQRV9MSUJHTF9QQVRIJykKLSAgICAgICAgaWYgbGx2
bXBpcGVfbGliZ2xfcGF0aDoKLSAgICAgICAgICAgIGVudmlyb25tZW50WydMRF9MSUJSQVJZX1BB
VEgnXSA9ICclczolcycgJSAobGx2bXBpcGVfbGliZ2xfcGF0aCwgb3MuZW52aXJvbi5nZXQoJ0xE
X0xJQlJBUllfUEFUSCcsICcnKSkKLQogICAgICAgICBydW5feHZmYiA9IFsiWHZmYiIsICI6JWQi
ICUgZGlzcGxheV9pZCwgIi1zY3JlZW4iLCAgIjAiLCAiMTAyNHg3Njh4JXMiICUgc2VsZi5feHZm
Yl9zY3JlZW5fZGVwdGgoKSwgIi1ub2xpc3RlbiIsICJ0Y3AiXQorCisgICAgICAgIGlmIHNlbGYu
X3BvcnQuX3Nob3VsZF91c2VfamhidWlsZCgpOgorICAgICAgICAgICAgICAgIHJ1bl94dmZiID0g
c2VsZi5fcG9ydC5famhidWlsZF93cmFwcGVyICsgcnVuX3h2ZmIKKwogICAgICAgICB3aXRoIG9w
ZW4ob3MuZGV2bnVsbCwgJ3cnKSBhcyBkZXZudWxsOgotICAgICAgICAgICAgc2VsZi5feHZmYl9w
cm9jZXNzID0gc2VsZi5fcG9ydC5ob3N0LmV4ZWN1dGl2ZS5wb3BlbihydW5feHZmYiwgc3RkZXJy
PWRldm51bGwpCisgICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3MgPSBzZWxmLl9wb3J0Lmhv
c3QuZXhlY3V0aXZlLnBvcGVuKHJ1bl94dmZiLCBzdGRlcnI9ZGV2bnVsbCwgZW52PWVudmlyb25t
ZW50KQogCiAgICAgICAgICMgQ3Jhc2hlcyBpbnRlbmQgdG8gb2NjdXIgb2NjYXNpb25hbGx5IGlu
IHRoZSBmaXJzdCBmZXcgdGVzdHMgdGhhdCBhcmUgcnVuIHRocm91Z2ggZWFjaAogICAgICAgICAj
IHdvcmtlciBiZWNhdXNlIHRoZSBYdmZiIGRpc3BsYXkgaXNuJ3QgcmVhZHkgeWV0LiBIYWx0aW5n
IGV4ZWN1dGlvbiBhIGJpdCBzaG91bGQgYXZvaWQgdGhhdC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHkKaW5kZXggZTEwNThlMmMzNTll
Y2FlM2ExN2ExMjQwMzgwMTZiOTI4OTRkOWY2ZS4uZWFiMDc0ZGI1ZDM4NDgyMTI1MzIyMjA4M2I3
ZDE1ZTdkZjQ2ZmM1NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2
ZmJkcml2ZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2
ZmJkcml2ZXJfdW5pdHRlc3QucHkKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgWHZmYkRyaXZlclRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBkcml2ZXIgPSBYdmZiRHJpdmVyKHBvcnQs
IHdvcmtlcl9udW1iZXI9d29ya2VyX251bWJlciwgcGl4ZWxfdGVzdHM9VHJ1ZSkKICAgICAgICAg
ZHJpdmVyLl9zdGFydHVwX2RlbGF5X3NlY3MgPSAwCiAgICAgICAgIGRyaXZlci5feHZmYl9zY3Jl
ZW5fZGVwdGggPSBsYW1iZGE6ICcyNCcKKyAgICAgICAgZHJpdmVyLl9lbnZpcm9ubWVudCA9IHBv
cnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHBvcnQuZHJpdmVyX25hbWUoKSkKICAgICAgICAg
cmV0dXJuIGRyaXZlcgogCiAgICAgZGVmIGNsZWFudXBfZHJpdmVyKHNlbGYsIGRyaXZlcik6CkBA
IC02NywxOSArNjgsMTkgQEAgY2xhc3MgWHZmYkRyaXZlclRlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgogCiAgICAgZGVmIHRlc3Rfc3RhcnRfbm9fcGl4ZWxfdGVzdHMoc2VsZik6CiAgICAgICAgIGRy
aXZlciA9IHNlbGYubWFrZV9kcml2ZXIoKQotICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sg
cnVuX2NvbW1hbmQ6IFsncHMnLCAnLWVvJywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9D
SyBwb3BlbjogWydYdmZiJywgJzowJywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICct
bm9saXN0ZW4nLCAndGNwJ11cbiIKKyAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICgiTU9DSyBydW5f
Y29tbWFuZDogWydwcycsICctZW8nLCAnY29tbSxjb21tYW5kJ10sIGN3ZD1Ob25lXG5NT0NLIHBv
cGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4NzY4eDI0JywgJy1ub2xp
c3RlbicsICd0Y3AnXSwgZW52PSVzXG4iICUgZHJpdmVyLl9lbnZpcm9ubWVudCkKICAgICAgICAg
c2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBleHBlY3RlZF9sb2dzPWV4
cGVjdGVkX2xvZ3MsIGV4cGVjdGVkX2Rpc3BsYXk9IjowIikKICAgICAgICAgc2VsZi5jbGVhbnVw
X2RyaXZlcihkcml2ZXIpCiAKICAgICBkZWYgdGVzdF9zdGFydF9waXhlbF90ZXN0cyhzZWxmKToK
ICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcigpCi0gICAgICAgIGV4cGVjdGVkX2xv
Z3MgPSAiTU9DSyBydW5fY29tbWFuZDogWydwcycsICctZW8nLCAnY29tbSxjb21tYW5kJ10sIGN3
ZD1Ob25lXG5NT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4
NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAgICAgICBleHBlY3RlZF9sb2dzID0g
KCJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywgJy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5v
bmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4
MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2ZXIuX2Vudmlyb25tZW50
KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2ZXIsIGV4cGVj
dGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0iOjAiLCBwaXhlbF90ZXN0
cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIAogICAgIGRlZiB0
ZXN0X3N0YXJ0X2FyYml0cmFyeV93b3JrZXJfbnVtYmVyKHNlbGYpOgogICAgICAgICBkcml2ZXIg
PSBzZWxmLm1ha2VfZHJpdmVyKHdvcmtlcl9udW1iZXI9MTcpCi0gICAgICAgIGV4cGVjdGVkX2xv
Z3MgPSAiTU9DSyBydW5fY29tbWFuZDogWydwcycsICctZW8nLCAnY29tbSxjb21tYW5kJ10sIGN3
ZD1Ob25lXG5NT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjAnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4
NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAgICAgICBleHBlY3RlZF9sb2dzID0g
KCJNT0NLIHJ1bl9jb21tYW5kOiBbJ3BzJywgJy1lbycsICdjb21tLGNvbW1hbmQnXSwgY3dkPU5v
bmVcbk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4
MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2ZXIuX2Vudmlyb25tZW50
KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2ZXIsIGV4cGVj
dGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0iOjAiLCBwaXhlbF90ZXN0
cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKIApAQCAtMTA4LDEy
ICsxMDksMTIgQEAgY2xhc3MgWHZmYkRyaXZlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
IGRlZiB0ZXN0X3N0YXJ0X25leHRfd29ya2VyKHNlbGYpOgogICAgICAgICBkcml2ZXIgPSBzZWxm
Lm1ha2VfZHJpdmVyKCkKICAgICAgICAgZHJpdmVyLl9uZXh0X2ZyZWVfZGlzcGxheSA9IGxhbWJk
YTogMAotICAgICAgICBleHBlY3RlZF9sb2dzID0gIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcs
ICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddXG4iCisg
ICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcG9wZW46IFsnWHZmYicsICc6MCcsICctc2Ny
ZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIg
JSBkcml2ZXIuX2Vudmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3Vj
Y2Vzc2Z1bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlz
cGxheT0iOjAiLCBwaXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVy
KGRyaXZlcikKICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcigpCiAgICAgICAgIGRy
aXZlci5fbmV4dF9mcmVlX2Rpc3BsYXkgPSBsYW1iZGE6IDMKLSAgICAgICAgZXhwZWN0ZWRfbG9n
cyA9ICJNT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjMnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4NzY4
eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXVxuIgorICAgICAgICBleHBlY3RlZF9sb2dzID0gKCJN
T0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjMnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4NzY4eDI0Jywg
Jy1ub2xpc3RlbicsICd0Y3AnXSwgZW52PSVzXG4iICUgZHJpdmVyLl9lbnZpcm9ubWVudCkKICAg
ICAgICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBleHBlY3RlZF9s
b2dzPWV4cGVjdGVkX2xvZ3MsIGV4cGVjdGVkX2Rpc3BsYXk9IjozIiwgcGl4ZWxfdGVzdHM9VHJ1
ZSkKICAgICAgICAgc2VsZi5jbGVhbnVwX2RyaXZlcihkcml2ZXIpCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMgYi9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCmluZGV4
IDI5OWE3MzIxZTRhNjZkZjdjYWFmNTdjOTY2ZjE3YjRjYWMzZTU4YTQuLjMzMTczMzEyMDQxOTAz
NzcyNThmYjBiMjA0ZTM1NjcwYTM0MWY4ZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9qaGJ1aWxk
Lm1vZHVsZXMKKysrIGIvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcwpAQCAtMzM1LDggKzMzNSwx
MCBAQAogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJtZXNhIiBhdXRvZ2VuYXJn
cz0iLS1lbmFibGUteGxpYi1nbHggLS1kaXNhYmxlLWRyaSAtLXdpdGgtZ2FsbGl1bS1kcml2ZXJz
PXN3cmFzdCIgc2tpcC1pbnN0YWxsPSJ0cnVlIj4KKyAgICA8IS0tLSBXQVJOSU5HOiBBdCBqaGJ1
aWxkcmMsIHdoZW4gd2UgZGVmaW5lIHRoZSBwYXRoIHRvIHRoZSBHYWxsaXVtIGxsdm1waXBlIHNv
ZnR3YXJlIHJhc3Rlcml6ZXIgKG5lZWRlZCBieSBYdmZiRHJpdmVyKSwKKyAgICAgICAgICB3ZSBh
c3N1bWUgdGhhdCB0aGUgZGlyZWN0b3J5IGlzIG5hbWVkICJNZXNhIi4gU28sIGRvbid0IGNoYW5n
ZSB0aGUgY2hlY2tvdXRkaXIgbmFtZSBldmVuIGlmIHlvdSB1cGRhdGUgdGhlIHZlcnNpb24uICAt
LT4KICAgICA8YnJhbmNoIG1vZHVsZT0iL3B1Yi9tZXNhLzEwLjIuMS9NZXNhTGliLTEwLjIuMS50
YXIuYnoyIiB2ZXJzaW9uPSIxMC4yLjEiCi0gICAgICAgICAgICBjaGVja291dGRpcj0iTWVzYS0x
MC4yLjEiCisgICAgICAgICAgICBjaGVja291dGRpcj0iTWVzYSIKICAgICAgICAgICAgIHJlcG89
ImZ0cC5mcmVlZGVza3RvcC5vcmciCiAgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NDYxMjc3OTA5
MjA3ZGE2ODlkODE1MmNmYmY5ZTE4MmVhNmY3MGUxZTY3MmFiNjRjNjdkZjgzNzI1YzhkMmI1NCIv
PgogICA8L2F1dG90b29scz4KZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9qaGJ1aWxkcmMgYi9Ub29s
cy9ndGsvamhidWlsZHJjCmluZGV4IDczNTZjNDE5NDBmZjI2ZDQ1NjdkNTQ4MTY1Y2UxNjJjYWZh
Y2Q3YzUuLjcyNzdkYWVkYjM4MzIzMTJhM2RkODQ1ODI1OTU0ZGMwYzI2MThlMDYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL2d0ay9qaGJ1aWxkcmMKKysrIGIvVG9vbHMvZ3RrL2poYnVpbGRyYwpAQCAtMSw1
ICsxLDUgQEAKICMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdh
bGlhIFMuTC4KKyMgQ29weXJpZ2h0IChDKSAyMDExLTIwMTQgSWdhbGlhIFMuTC4KICMKICMgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCkBAIC0xNiw2ICsxNiw3IEBACiAjIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogCiBpbXBv
cnQgc3lzCitpbXBvcnQgb3MKIAogc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihvcy5w
YXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4vamhidWlsZCIpICkKIGltcG9ydCBqaGJ1aWxkcmNf
Y29tbW9uCkBAIC0zMyw2ICszNCw2IEBAIG1vZHVsZV9tYWtlYXJnc1snZ3RrKyddID0gJ0xERkxB
R1M9Ii1sbSIgJyArIG1ha2VhcmdzCiBhdXRvZ2VuYXJncz0nLS1lbmFibGUtaW50cm9zcGVjdGlv
bicKIAogaWYgdXNlX2xpYjY0OgotICAgIG9zLmVudmlyb25bJ0xMVk1QSVBFX0xJQkdMX1BBVEgn
XSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oY2hlY2tvdXRyb290LCAnTWVzYS0xMC4y
LjEnLCAnbGliNjQnKSkKKyAgICBvcy5lbnZpcm9uWydMTFZNUElQRV9MSUJHTF9QQVRIJ10gPSBv
cy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGNoZWNrb3V0cm9vdCwgJ01lc2EnLCAnbGliNjQn
LCAnZ2FsbGl1bScpKQogZWxzZToKLSAgICBvcy5lbnZpcm9uWydMTFZNUElQRV9MSUJHTF9QQVRI
J10gPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGNoZWNrb3V0cm9vdCwgJ01lc2EtMTAu
Mi4xJywgJ2xpYicpKQorICAgIG9zLmVudmlyb25bJ0xMVk1QSVBFX0xJQkdMX1BBVEgnXSA9IG9z
LnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oY2hlY2tvdXRyb290LCAnTWVzYScsICdsaWInLCAn
Z2FsbGl1bScpKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>