<?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>137942</bug_id>
          
          <creation_ts>2014-10-21 20:02:30 -0700</creation_ts>
          <short_desc>Fix animation of orient attribute on marker element</short_desc>
          <delta_ts>2014-11-06 00:02:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>138416</dependson>
          <blocked>138456</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikos Andronikos">nikos.andronikos</reporter>
          <assigned_to name="Nikos Andronikos">nikos.andronikos</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>fmalita</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1043346</commentid>
    <comment_count>0</comment_count>
    <who name="Nikos Andronikos">nikos.andronikos</who>
    <bug_when>2014-10-21 20:02:30 -0700</bug_when>
    <thetext>There are two issues with the animation of the orient attribute:

See http://jsfiddle.net/dodgeyhack/fajLbp48/8/ for a test

1. Animation logic from &apos;auto&apos; to an angle is missing.
2. The animated value of orientType is not used within the renderer so although the animation is running and is reflected in the DOM, it is not rendered.
This affects animations that have a differing type for the initial value and the animated from/to values.
Current tests (listed below) just query the DOM via JS so have not picked this up.

Current tests:
LayoutTests/svg/animations/animate-marker-orient-from-angle-to-angle.html
LayoutTests/svg/animations/animate-marker-orient-from-angle-to-auto.html
LayoutTests/svg/animations/animate-marker-orient-to-angle.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043354</commentid>
    <comment_count>1</comment_count>
      <attachid>240242</attachid>
    <who name="Nikos Andronikos">nikos.andronikos</who>
    <bug_when>2014-10-21 20:47:54 -0700</bug_when>
    <thetext>Created attachment 240242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043910</commentid>
    <comment_count>2</comment_count>
    <who name="Nikos Andronikos">nikos.andronikos</who>
    <bug_when>2014-10-23 18:56:26 -0700</bug_when>
    <thetext>Currently in the process of trying to upload a new patch but webkit-patch is throwing an exception. Watch this space...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044670</commentid>
    <comment_count>3</comment_count>
      <attachid>240585</attachid>
    <who name="Nikos Andronikos">nikos.andronikos</who>
    <bug_when>2014-10-28 18:03:13 -0700</bug_when>
    <thetext>Created attachment 240585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044671</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-28 18:06:36 -0700</bug_when>
    <thetext>Attachment 240585 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044770</commentid>
    <comment_count>5</comment_count>
      <attachid>240609</attachid>
    <who name="Nikos Andronikos">nikos.andronikos</who>
    <bug_when>2014-10-29 10:17:19 -0700</bug_when>
    <thetext>Created attachment 240609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044781</commentid>
    <comment_count>6</comment_count>
      <attachid>240609</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-10-29 10:53:05 -0700</bug_when>
    <thetext>Comment on attachment 240609
Patch

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

Patch looks great in general. Just some snippets.

&gt; Source/WebCore/svg/SVGAnimatedAngle.cpp:99
&gt; +        // Discrete animation - no linear interpolation possible between values (e.g. auto to angle)

Period at the end.

&gt; Source/WebCore/svg/SVGAnimatedAngle.cpp:106
&gt; +        } else {

add a return here and don&apos;t check for else.

&gt; LayoutTests/svg/animations/animate-marker-orienttype-2.html:21
&gt; +&lt;script&gt;
&gt; +if (testRunner) {
&gt; +    testRunner.waitUntilDone();
&gt; +    window.setTimeout(function() {testRunner.notifyDone()}, 1500);
&gt; +}
&gt; +&lt;/script&gt;
&gt; +&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; viewbox=&quot;0 0 150 150&quot; width=&quot;500&quot; height=&quot;500&quot;&gt;
&gt; +    &lt;defs&gt;
&gt; +        &lt;marker id=&quot;arrow&quot; orient=&quot;auto&quot; markerWidth=&quot;10&quot; markerHeight=&quot;10&quot; style=&quot;overflow:visible&quot;&gt;
&gt; +            &lt;path d=&quot;M5,0 L 0,-5 L0,5 z&quot; fill=&quot;green&quot; opacity=&quot;0.5&quot; /&gt;
&gt; +            &lt;animate attributeName=&quot;orient&quot; from=&quot;auto&quot; to=&quot;80&quot; begin=&quot;0s&quot; dur=&quot;1s&quot; fill=&quot;freeze&quot;/&gt;
&gt; +        &lt;/marker&gt;
&gt; +    &lt;/defs&gt;
&gt; +    &lt;path d=&quot;M 20,20 L 80,80&quot; marker-start=&quot;url(#arrow)&quot; stroke=&quot;black&quot;/&gt;
&gt; +&lt;/svg&gt;

We use a different kind of tests for animations. Please take a look at the other tests in the same folder. Especially, take a look at the script-test folder and create a js file there. Then create a boiler plate file in the svg/animation folder. The animation tests test different values during the animation (so if the SVG DOM returns the right values) as well as rendering and repainting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045414</commentid>
    <comment_count>7</comment_count>
      <attachid>240766</attachid>
    <who name="Nikos Andronikos">nikos.andronikos</who>
    <bug_when>2014-10-31 15:49:44 -0700</bug_when>
    <thetext>Created attachment 240766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045415</commentid>
    <comment_count>8</comment_count>
    <who name="Nikos Andronikos">nikos.andronikos</who>
    <bug_when>2014-10-31 15:53:32 -0700</bug_when>
    <thetext>As discussed with Dirk: The pixel test portion of repaint tests has been deprecated. Therefore these tests aren&apos;t appropriate here (repaint tests wouldn&apos;t show orientation of the marker). We&apos;re not looking to verify the animation at various time points - that is handled by the js script animation tests which exist. These tests are verifying that the animated value is used when rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046022</commentid>
    <comment_count>9</comment_count>
      <attachid>240766</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-11-04 00:40:58 -0800</bug_when>
    <thetext>Comment on attachment 240766
Patch

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

r=me

&gt; Source/WebCore/svg/SVGAnimatedAngle.cpp:113
&gt; +        if (toAngleAndEnumeration.second == SVGMarkerOrientAngle)
&gt; +            animatedAngleAndEnumeration.first = toAngleAndEnumeration.first;
&gt; +        else
&gt; +            animatedAngleAndEnumeration.first.setValue(0);
&gt; +        return;

We use early returns if there is a return right after the else. Can be fixed later though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046023</commentid>
    <comment_count>10</comment_count>
      <attachid>240766</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-04 01:20:47 -0800</bug_when>
    <thetext>Comment on attachment 240766
Patch

Clearing flags on attachment: 240766

Committed r175525: &lt;http://trac.webkit.org/changeset/175525&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046024</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-04 01:20:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240242</attachid>
            <date>2014-10-21 20:47:54 -0700</date>
            <delta_ts>2014-10-23 18:29:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137942-20141022145020.patch</filename>
            <type>text/plain</type>
            <size>14164</size>
            <attacher name="Nikos Andronikos">nikos.andronikos</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTAxOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE0LTEwLTIxICBOaWtvcyBB
bmRyb25pa29zICA8bmlrb3MuYW5kcm9uaWtvcy13ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1Pgor
CisgICAgICAgIEZpeCBhbmltYXRpb24gb2Ygb3JpZW50IGF0dHJpYnV0ZSBvbiBtYXJrZXIgZWxl
bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3
OTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgaW1sZW1lbnRhdGlvbiBvZiBTVkcgYW5pbWF0ZWQgYW5nbGVzIGFuZCB0aGUgU1ZHCisgICAg
ICAgIG1hcmtlciBlbGVtZW50IG9yaWVudCBhdHRyaWJ1dGUuCisgICAgICAgIFNWRyBhbmltYXRl
ZCBhbmdsZSB3YXMgbWlzc2luZyB0aGUgbG9naWMgdG8gc3VwcG9ydCBhbmltYXRpb24KKyAgICAg
ICAgZnJvbSBhdXRvIHRvIGEgbnVtZXJpYyBhbmdsZSB2YWx1ZSAtIHRoaXMgaXMgbm93IGFkZGVk
LgorICAgICAgICBUaGUgU1ZHIG1hcmtlciBlbGVtZW50IGdldHRlciBmb3Igb3JpZW50VHlwZSB3
YXMgbm90IHJldHVybmluZworICAgICAgICB0aGUgYW5pbWF0ZWQgdmFsdWUgZm9yIG9yaWVudFR5
cGUgc28gaW4gc29tZSBjYXNlcyAoaS5lLiB3aGVuCisgICAgICAgIHRoZSBpbml0aWFsIHZhbHVl
IGFuZCB0aGUgYW5pbWF0ZWQgdmFsdWVzIHdlcmUgb2YgZGlmZmVyZW50IHR5cGVzKQorICAgICAg
ICB0aGUgYW5pbWF0aW9uIHdhcyBub3QgYmVpbmcgcmVuZGVyZWQgLSBhbHRob3VnaCBpdCB3YXMg
cnVubmluZy4KKworICAgICAgICBUZXN0czogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXIt
b3JpZW50dHlwZS0xLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUt
bWFya2VyLW9yaWVudHR5cGUtMi5odG1sCisgICAgICAgICAgICAgICBzdmcvYW5pbWF0aW9ucy9h
bmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTMuaHRtbAorCisgICAgICAgICogc3ZnL1NWR0FuaW1h
dGVkQW5nbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRBbmdsZUFuaW1hdG9y
OjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKToKKyAgICAgICAgQWRkZWQgbG9naWMgdG8gc3VwcG9y
dCBhdXRvIHRvIGFuZ2xlIGFuaW1hdGlvbi4KKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpvcmllbnRUeXBlKToK
KyAgICAgICAgVGhpcyBtZXRob2Qgbm93IHJldHVybnMgdGhlIGFuaW1hdGVkIHZhbHVlIGlmIGFu
IGFuaW1hdGlvbiBpcworICAgICAgICBydW5uaW5nLgorICAgICAgICAqIHN2Zy9TVkdNYXJrZXJF
bGVtZW50Lmg6CisKIDIwMTQtMTAtMjEgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ1NTIFJ1bGUgZmVhdHVyZXMgYXJlIGlnbm9yZWQgZm9yIG5lc3Rl
ZCBDU1MgU2VsZWN0b3IgbGlzdHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZEFuZ2xlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRB
bmdsZS5jcHAJKHJldmlzaW9uIDE3NTAwMikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZEFuZ2xlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsMjMgKzk2LDE4IEBAIHZvaWQgU1ZH
QW5pbWF0ZWRBbmdsZUFuaW1hdG9yOjpjYWxjdWxhdGUKICAgICBzdGQ6OnBhaXI8U1ZHQW5nbGUs
IHVuc2lnbmVkPiYgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uID0gYW5pbWF0ZWQtPmFuZ2xl
QW5kRW51bWVyYXRpb24oKTsKIAogICAgIGlmIChmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNv
bmQgIT0gdG9BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCkgewotICAgICAgICAvLyBBbmltYXRp
bmcgZnJvbSBlZy4gYXV0byB0byA5MGRlZywgb3IgYXV0byB0byA5MGRlZy4KLSAgICAgICAgaWYg
KGZyb21BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCA9PSBTVkdNYXJrZXJPcmllbnRBbmdsZSkg
ewotICAgICAgICAgICAgLy8gQW5pbWF0aW5nIGZyb20gYW4gYW5nbGUgdmFsdWUgdG8gZWcuICdh
dXRvJyAtIHRoaXMgZGlzYWJsZWQgYWRkaXRpdmUgYXMgJ2F1dG8nIGlzIGEga2V5d29yZC4uCi0g
ICAgICAgICAgICBpZiAodG9BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCA9PSBTVkdNYXJrZXJP
cmllbnRBdXRvKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHBlcmNlbnRhZ2UgPCAwLjVmKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdCA9IGZy
b21BbmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0OwotICAgICAgICAgICAgICAgICAgICBhbmltYXRl
ZEFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID0gU1ZHTWFya2VyT3JpZW50QW5nbGU7Ci0gICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0LnNldFZhbHVlKDApOwotICAgICAg
ICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPSBTVkdNYXJrZXJP
cmllbnRBdXRvOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdC5zZXRWYWx1ZSgwKTsKLSAg
ICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPSBTVkdNYXJrZXJP
cmllbnRVbmtub3duOwotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAvLyBEaXNjcmV0ZSBh
bmltYXRpb24gLSBubyBsaW5lYXIgaW50ZXJwb2xhdGlvbiBwb3NzaWJsZSBiZXR3ZWVuIHZhbHVl
cyAoZS5nLiBhdXRvIHRvIGFuZ2xlKQorICAgICAgICAvLyBpZiAuc2Vjb25kIGlzIHNldCB0byBh
dXRvLCAuZmlyc3Qgd2lsbCBhbHdheXMgYmUgemVyby4KKyAgICAgICAgaWYgKHBlcmNlbnRhZ2Ug
PCAwLjVmKSB7CisgICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3Qg
PSBmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdDsKKyAgICAgICAgICAgIGFuaW1hdGVkQW5n
bGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPSBmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQ7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRp
b24uZmlyc3QgPSB0b0FuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3Q7CisgICAgICAgICAgICBhbmlt
YXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID0gdG9BbmdsZUFuZEVudW1lcmF0aW9uLnNl
Y29uZDsKICAgICAgICAgfQorCisgICAgICAgIG1fY29udGV4dEVsZW1lbnQtPnN5bmNocm9uaXpl
QW5pbWF0ZWRTVkdBdHRyaWJ1dGUoU1ZHTmFtZXM6Om9yaWVudEF0dHIpOworICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgLy8gRnJvbSAnYXV0bycgdG8gJ2F1dG8nLgpJbmRleDogU291cmNl
L1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMTc1MDAyKQorKysgU291
cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NDgsNyArMjQ4LDE4IEBAIFBhc3NSZWZQdHI8U1ZHQW5pbWF0ZWRQcm9wZXJ0eT4gU1ZHTWFya2UK
ICAgICByZXR1cm4gU1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6bG9va3VwT3JDcmVhdGVXcmFwcGVyPFNW
R01hcmtlckVsZW1lbnQsIFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmY8U1ZH
TWFya2VyT3JpZW50VHlwZT4sIFNWR01hcmtlck9yaWVudFR5cGU+CiAgICAgICAgICgmb3duZXJU
eXBlLCBvcmllbnRUeXBlUHJvcGVydHlJbmZvKCksIG93bmVyVHlwZS5tX29yaWVudFR5cGUudmFs
dWUpOwogfQotICAKKworU1ZHTWFya2VyT3JpZW50VHlwZSYgU1ZHTWFya2VyRWxlbWVudDo6b3Jp
ZW50VHlwZSgpIGNvbnN0Cit7CisgICAgaWYgKFNWR0FuaW1hdGVkRW51bWVyYXRpb24qIHdyYXBw
ZXIgPSBTVkdBbmltYXRlZFByb3BlcnR5Ojpsb29rdXBXcmFwcGVyPFVzZU93bmVyVHlwZSwgU1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvbj4odGhpcywgb3JpZW50VHlwZVByb3BlcnR5SW5mbygpKSkgewor
ICAgICAgICBpZiAod3JhcHBlci0+aXNBbmltYXRpbmcoKSkgeworICAgICAgICAgICAgQVNTRVJU
KHdyYXBwZXItPmN1cnJlbnRBbmltYXRlZFZhbHVlKCkgPj0gMCAmJiB3cmFwcGVyLT5jdXJyZW50
QW5pbWF0ZWRWYWx1ZSgpIDwgU1ZHTWFya2VyT3JpZW50TWF4KTsKKyAgICAgICAgICAgIHJldHVy
biByZWludGVycHJldF9jYXN0PFNWR01hcmtlck9yaWVudFR5cGUmPih3cmFwcGVyLT5jdXJyZW50
QW5pbWF0ZWRWYWx1ZSgpKTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gbV9vcmllbnRU
eXBlLnZhbHVlOworfQorCiBQYXNzUmVmUHRyPFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0
eVRlYXJPZmY8U1ZHTWFya2VyT3JpZW50VHlwZT4+IFNWR01hcmtlckVsZW1lbnQ6Om9yaWVudFR5
cGVBbmltYXRlZCgpCiB7CiAgICAgbV9vcmllbnRUeXBlLnNob3VsZFN5bmNocm9uaXplID0gdHJ1
ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAkocmV2aXNpb24gMTc1
MDAyKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNyArNDIsMTAgQEAgZW51bSBTVkdNYXJrZXJVbml0c1R5cGUgewogZW51bSBT
VkdNYXJrZXJPcmllbnRUeXBlIHsKICAgICBTVkdNYXJrZXJPcmllbnRVbmtub3duID0gMCwKICAg
ICBTVkdNYXJrZXJPcmllbnRBdXRvLAotICAgIFNWR01hcmtlck9yaWVudEFuZ2xlCisgICAgU1ZH
TWFya2VyT3JpZW50QW5nbGUsCisKKyAgICAvLyBBZGQgbmV3IGVsZW1lbnRzIGJlZm9yZSBoZXJl
LgorICAgIFNWR01hcmtlck9yaWVudE1heAogfTsKIAogdGVtcGxhdGU8PgpAQCAtMTU1LDcgKzE1
OCw3IEBAIHB1YmxpYzoKICAgICAvLyBDdXN0b20gJ29yaWVudFR5cGUnIHByb3BlcnR5LgogICAg
IHN0YXRpYyB2b2lkIHN5bmNocm9uaXplT3JpZW50VHlwZShTVkdFbGVtZW50KiBjb250ZXh0RWxl
bWVudCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHQW5pbWF0ZWRQcm9wZXJ0eT4gbG9va3Vw
T3JDcmVhdGVPcmllbnRUeXBlV3JhcHBlcihTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCk7Ci0g
ICAgU1ZHTWFya2VyT3JpZW50VHlwZSYgb3JpZW50VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fb3Jp
ZW50VHlwZS52YWx1ZTsgfQorICAgIFNWR01hcmtlck9yaWVudFR5cGUmIG9yaWVudFR5cGUoKSBj
b25zdDsKICAgICBTVkdNYXJrZXJPcmllbnRUeXBlJiBvcmllbnRUeXBlQmFzZVZhbHVlKCkgY29u
c3QgeyByZXR1cm4gbV9vcmllbnRUeXBlLnZhbHVlOyB9CiAgICAgdm9pZCBzZXRPcmllbnRUeXBl
QmFzZVZhbHVlKGNvbnN0IFNWR01hcmtlck9yaWVudFR5cGUmIHR5cGUpIHsgbV9vcmllbnRUeXBl
LnZhbHVlID0gdHlwZTsgfQogICAgIFBhc3NSZWZQdHI8U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblBy
b3BlcnR5VGVhck9mZjxTVkdNYXJrZXJPcmllbnRUeXBlPj4gb3JpZW50VHlwZUFuaW1hdGVkKCk7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxNzUwMTgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0xMC0yMSAgTmlrb3MgQW5kcm9uaWtv
cyAgPG5pa29zLmFuZHJvbmlrb3Mtd2Via2l0QGNpc3JhLmNhbm9uLmNvbS5hdT4KKworICAgICAg
ICBGaXggYW5pbWF0aW9uIG9mIG9yaWVudCBhdHRyaWJ1dGUgb24gbWFya2VyIGVsZW1lbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzk0MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhlIHJl
bmRlcmVkIHJlc3VsdCBvZiB0aGUgYW5pbWF0aW9uIG9mIHRoZSBvcmllbnQgYXR0cmlidXRlLgor
ICAgICAgICBFeGlzdGluZyB0ZXN0cyB3ZXJlIG9ubHkgdGVzdGluZyB0aGUgYW5pbWF0ZWQgdmFs
dWUgaW4gdGhlIERPTS4KKworICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2Vy
LW9yaWVudHR5cGUtMS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRp
b25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBl
LTIuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXIt
b3JpZW50dHlwZS0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlv
bnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLmh0bWw6IEFkZGVkLgorCiAyMDE0LTEwLTIx
ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIENTUyBS
dWxlIGZlYXR1cmVzIGFyZSBpZ25vcmVkIGZvciBuZXN0ZWQgQ1NTIFNlbGVjdG9yIGxpc3RzCklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBl
LTEtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTEt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NTIwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBz
aXplIDgwMHg1MjAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1MDQK
KyAgICAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDU4LDU4KSBzaXplIDIxOHgyMTgKKyAgICAg
ICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAg
ICAgICAgIFJlbmRlclNWR1Jlc291cmNlTWFya2VyIHttYXJrZXJ9IFtpZD0iYXJyb3ciXSBbbWFy
a2VyVW5pdHM9c3Ryb2tlV2lkdGhdIFtyZWYgYXQgKDAsMCldIFthbmdsZT0xODAuMDBdCisgICAg
ICAgICAgICBSZW5kZXJTVkdQYXRoIHtwYXRofSBhdCAoOCw4KSBzaXplIDE3eDE3IFtvcGFjaXR5
PTAuNTBdIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0gNSAw
IEwgMCAtNSBMIDAgNSBaIl0KKyAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cGF0aH0gYXQgKDU4LDU4
KSBzaXplIDIxOHgyMTggW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3N0YXJ0IG1hcmtlcj1hcnJvd10g
W2RhdGE9Ik0gMjAgMjAgTCA4MCA4MCJdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFy
a2VyLW9yaWVudHR5cGUtMS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMS5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0xLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8IS0t
CisgIFRlc3QgdGhhdCB0aGUgcmVuZGVyZXIgdXNlcyB0aGUgYW5pbWF0ZWQgdmFsdWUgb2Ygb3Jp
ZW50VHlwZS4KKyAgVG8gdGVzdCB0aGlzLCB0aGUgZmluYWwgYW5pbWF0ZWQgdmFsdWUgbXVzdCBi
ZSBvZiBhIGRpZmZlcmVudCB0eXBlIHRoYW4gdGhlIGluaXRpYWwgdmFsdWUuCisgIFRvIHZlcmlm
eSByZW5kZXJpbmcsIER1bXBSZW5kZXJUcmVlIG91dHB1dCBtdXN0IGJlIGV4YW1pbmVkLCBub3Qg
RE9NIHZhbHVlcy4KKyAtLT4KKzxzY3JpcHQ+CitpZiAodGVzdFJ1bm5lcikgeworICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
e3Rlc3RSdW5uZXIubm90aWZ5RG9uZSgpfSwgMTUwMCk7Cit9Cis8L3NjcmlwdD4KKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Ym94PSIwIDAgMTUwIDE1MCIgd2lk
dGg9IjUwMCIgaGVpZ2h0PSI1MDAiPgorICAgIDxkZWZzPgorICAgICAgICA8bWFya2VyIGlkPSJh
cnJvdyIgb3JpZW50PSJhdXRvIiBtYXJrZXJXaWR0aD0iMTAiIG1hcmtlckhlaWdodD0iMTAiIHN0
eWxlPSJvdmVyZmxvdzp2aXNpYmxlIj4KKyAgICAgICAgICAgIDxwYXRoIGQ9Ik01LDAgTCAwLC01
IEwwLDUgeiIgZmlsbD0iZ3JlZW4iIG9wYWNpdHk9IjAuNSIgLz4KKyAgICAgICAgICAgIDxhbmlt
YXRlIGF0dHJpYnV0ZU5hbWU9Im9yaWVudCIgZnJvbT0iMCIgdG89IjE4MCIgYmVnaW49IjBzIiBk
dXI9IjFzIiBmaWxsPSJmcmVlemUiLz4KKyAgICAgICAgPC9tYXJrZXI+CisgICAgPC9kZWZzPgor
ICAgIDxwYXRoIGQ9Ik0gMjAsMjAgTCA4MCw4MCIgbWFya2VyLXN0YXJ0PSJ1cmwoI2Fycm93KSIg
c3Ryb2tlPSJibGFjayIvPgorPC9zdmc+CisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0y
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MjAKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDUyMAorICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDUwNAorICAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBh
dCAoNTgsNzEpIHNpemUgMjE4eDIwNQorICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIg
e2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VNYXJr
ZXIge21hcmtlcn0gW2lkPSJhcnJvdyJdIFttYXJrZXJVbml0cz1zdHJva2VXaWR0aF0gW3JlZiBh
dCAoMCwwKV0gW2FuZ2xlPTgwLjAwXQorICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cGF0aH0g
YXQgKDgsOCkgc2l6ZSAxN3gxNyBbb3BhY2l0eT0wLjUwXSBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNIDUgMCBMIDAgLTUgTCAwIDUgWiJdCisgICAgICAgIFJl
bmRlclNWR1BhdGgge3BhdGh9IGF0ICg1OCw3MSkgc2l6ZSAyMTh4MjA1IFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAw
MDAwXX1dIFtzdGFydCBtYXJrZXI9YXJyb3ddIFtkYXRhPSJNIDIwIDIwIEwgODAgODAiXQorICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0
eXBlLTIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2Fu
aW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MjIgQEAKKzwhZG9jdHlwZSBodG1sPgorPCEtLQorICBUZXN0IHRoYXQgdGhlIHJlbmRlcmVyIHVz
ZXMgdGhlIGFuaW1hdGVkIHZhbHVlIG9mIG9yaWVudFR5cGUuCisgIFRvIHRlc3QgdGhpcywgdGhl
IGZpbmFsIGFuaW1hdGVkIHZhbHVlIG11c3QgYmUgb2YgYSBkaWZmZXJlbnQgdHlwZSB0aGFuIHRo
ZSBpbml0aWFsIHZhbHVlLgorICBUbyB2ZXJpZnkgcmVuZGVyaW5nLCBEdW1wUmVuZGVyVHJlZSBv
dXRwdXQgbXVzdCBiZSBleGFtaW5lZCwgbm90IERPTSB2YWx1ZXMuCisgLS0+Cis8c2NyaXB0Pgor
aWYgKHRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3
aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHt0ZXN0UnVubmVyLm5vdGlmeURvbmUoKX0sIDE1
MDApOworfQorPC9zY3JpcHQ+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgdmlld2JveD0iMCAwIDE1MCAxNTAiIHdpZHRoPSI1MDAiIGhlaWdodD0iNTAwIj4KKyAgICA8
ZGVmcz4KKyAgICAgICAgPG1hcmtlciBpZD0iYXJyb3ciIG9yaWVudD0iYXV0byIgbWFya2VyV2lk
dGg9IjEwIiBtYXJrZXJIZWlnaHQ9IjEwIiBzdHlsZT0ib3ZlcmZsb3c6dmlzaWJsZSI+CisgICAg
ICAgICAgICA8cGF0aCBkPSJNNSwwIEwgMCwtNSBMMCw1IHoiIGZpbGw9ImdyZWVuIiBvcGFjaXR5
PSIwLjUiIC8+CisgICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJvcmllbnQiIGZy
b209ImF1dG8iIHRvPSI4MCIgYmVnaW49IjBzIiBkdXI9IjFzIiBmaWxsPSJmcmVlemUiLz4KKyAg
ICAgICAgPC9tYXJrZXI+CisgICAgPC9kZWZzPgorICAgIDxwYXRoIGQ9Ik0gMjAsMjAgTCA4MCw4
MCIgbWFya2VyLXN0YXJ0PSJ1cmwoI2Fycm93KSIgc3Ryb2tlPSJibGFjayIvPgorPC9zdmc+CisK
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5
cGUtMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUt
My1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg1MjAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDUyMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDUw
NAorICAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoNjIsNjIpIHNpemUgMjE0eDIxNAorICAg
ICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIge21hcmtlcn0gW2lkPSJhcnJvdyJdIFtt
YXJrZXJVbml0cz1zdHJva2VXaWR0aF0gW3JlZiBhdCAoMCwwKV0gW2FuZ2xlPWF1dG9dCisgICAg
ICAgICAgICBSZW5kZXJTVkdQYXRoIHtwYXRofSBhdCAoOCw4KSBzaXplIDE3eDE3IFtvcGFjaXR5
PTAuNTBdIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0gNSAw
IEwgMCAtNSBMIDAgNSBaIl0KKyAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cGF0aH0gYXQgKDYyLDYy
KSBzaXplIDIxNHgyMTQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3N0YXJ0IG1hcmtlcj1hcnJvd10g
W2RhdGE9Ik0gMjAgMjAgTCA4MCA4MCJdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFy
a2VyLW9yaWVudHR5cGUtMy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMy5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8IS0t
CisgIFRlc3QgdGhhdCB0aGUgcmVuZGVyZXIgdXNlcyB0aGUgYW5pbWF0ZWQgdmFsdWUgb2Ygb3Jp
ZW50VHlwZS4KKyAgVG8gdGVzdCB0aGlzLCB0aGUgZmluYWwgYW5pbWF0ZWQgdmFsdWUgbXVzdCBi
ZSBvZiBhIGRpZmZlcmVudCB0eXBlIHRoYW4gdGhlIGluaXRpYWwgdmFsdWUuCisgIFRvIHZlcmlm
eSByZW5kZXJpbmcsIER1bXBSZW5kZXJUcmVlIG91dHB1dCBtdXN0IGJlIGV4YW1pbmVkLCBub3Qg
RE9NIHZhbHVlcy4KKyAtLT4KKzxzY3JpcHQ+CitpZiAodGVzdFJ1bm5lcikgeworICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
e3Rlc3RSdW5uZXIubm90aWZ5RG9uZSgpfSwgMTUwMCk7Cit9Cis8L3NjcmlwdD4KKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Ym94PSIwIDAgMTUwIDE1MCIgd2lk
dGg9IjUwMCIgaGVpZ2h0PSI1MDAiPgorICAgIDxkZWZzPgorICAgICAgICA8bWFya2VyIGlkPSJh
cnJvdyIgb3JpZW50PSI0NSIgbWFya2VyV2lkdGg9IjEwIiBtYXJrZXJIZWlnaHQ9IjEwIiBzdHls
ZT0ib3ZlcmZsb3c6dmlzaWJsZSI+CisgICAgICAgICAgICA8cGF0aCBkPSJNNSwwIEwgMCwtNSBM
MCw1IHoiIGZpbGw9ImdyZWVuIiBvcGFjaXR5PSIwLjUiIC8+CisgICAgICAgICAgICA8YW5pbWF0
ZSBhdHRyaWJ1dGVOYW1lPSJvcmllbnQiIGZyb209IjEzNSIgdG89ImF1dG8iIGJlZ2luPSIwcyIg
ZHVyPSIxcyIgZmlsbD0iZnJlZXplIi8+CisgICAgICAgIDwvbWFya2VyPgorICAgIDwvZGVmcz4K
KyAgICA8cGF0aCBkPSJNIDIwLDIwIEwgODAsODAiIG1hcmtlci1zdGFydD0idXJsKCNhcnJvdyki
IHN0cm9rZT0iYmxhY2siLz4KKzwvc3ZnPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240585</attachid>
            <date>2014-10-28 18:03:13 -0700</date>
            <delta_ts>2014-10-29 10:17:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137942-20141028180320.patch</filename>
            <type>text/plain</type>
            <size>14133</size>
            <attacher name="Nikos Andronikos">nikos.andronikos</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTI5MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDE0LTEwLTI4ICBOaWtvcyBB
bmRyb25pa29zICA8bmlrb3MuYW5kcm9uaWtvcy13ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1Pgor
CisgICAgICAgIEZpeGVkIGltcGxlbWVudGF0aW9uIG9mIFNWRyBhbmltYXRlZCBhbmdsZXMgYW5k
IHRoZSBTVkcKKyAgICAgICAgbWFya2VyIGVsZW1lbnQgb3JpZW50IGF0dHJpYnV0ZS4KKyAgICAg
ICAgU1ZHIGFuaW1hdGVkIGFuZ2xlIHdhcyBtaXNzaW5nIHRoZSBsb2dpYyB0byBzdXBwb3J0IGFu
aW1hdGlvbgorICAgICAgICBmcm9tIGF1dG8gdG8gYSBudW1lcmljIGFuZ2xlIHZhbHVlIC0gdGhp
cyBpcyBub3cgYWRkZWQuCisgICAgICAgIFRoZSBTVkcgbWFya2VyIGVsZW1lbnQgZ2V0dGVyIGZv
ciBvcmllbnRUeXBlIHdhcyBub3QgcmV0dXJuaW5nCisgICAgICAgIHRoZSBhbmltYXRlZCB2YWx1
ZSBmb3Igb3JpZW50VHlwZSBzbyBpbiBzb21lIGNhc2VzIChpLmUuIHdoZW4KKyAgICAgICAgdGhl
IGluaXRpYWwgdmFsdWUgYW5kIHRoZSBhbmltYXRlZCB2YWx1ZXMgd2VyZSBvZiBkaWZmZXJlbnQg
dHlwZXMpCisgICAgICAgIHRoZSBhbmltYXRpb24gd2FzIG5vdCBiZWluZyByZW5kZXJlZCAtIGFs
dGhvdWdoIGl0IHdhcyBydW5uaW5nLgorCisgICAgICAgIFRlc3RzOiBzdmcvYW5pbWF0aW9ucy9h
bmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTEuaHRtbAorICAgICAgICAgICAgICAgc3ZnL2FuaW1h
dGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0yLmh0bWwKKyAgICAgICAgICAgICAgIHN2
Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMy5odG1sCisKKyAgICAgICAg
KiBzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZEFuZ2xlQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUpOgorICAgICAgICBBZGRlZCBs
b2dpYyB0byBzdXBwb3J0IGF1dG8gdG8gYW5nbGUgYW5pbWF0aW9uLgorICAgICAgICAqIHN2Zy9T
VkdNYXJrZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01hcmtlckVsZW1lbnQ6
Om9yaWVudFR5cGUpOgorICAgICAgICBUaGlzIG1ldGhvZCBub3cgcmV0dXJucyB0aGUgYW5pbWF0
ZWQgdmFsdWUgaWYgYW4gYW5pbWF0aW9uIGlzCisgICAgICAgIHJ1bm5pbmcuCisgICAgICAgICog
c3ZnL1NWR01hcmtlckVsZW1lbnQuaDoKKwogMjAxNC0xMC0yOCAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbRU1FXVtNYWNdIEFkb3B0IG5ldyBBVlN0cmVhbVNl
c3Npb24gQVBJOiBwYXNzIHN0b3JhZ2VEaXJlY3RvcnlBdFVSTCBhdCBjcmVhdGlvbi10aW1lCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQW5nbGUuY3BwCShyZXZpc2lvbiAxNzUx
NTIpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTk2LDIzICs5NiwyMSBAQCB2b2lkIFNWR0FuaW1hdGVkQW5nbGVBbmltYXRvcjo6
Y2FsY3VsYXRlCiAgICAgc3RkOjpwYWlyPFNWR0FuZ2xlLCB1bnNpZ25lZD4mIGFuaW1hdGVkQW5n
bGVBbmRFbnVtZXJhdGlvbiA9IGFuaW1hdGVkLT5hbmdsZUFuZEVudW1lcmF0aW9uKCk7CiAKICAg
ICBpZiAoZnJvbUFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kICE9IHRvQW5nbGVBbmRFbnVtZXJh
dGlvbi5zZWNvbmQpIHsKLSAgICAgICAgLy8gQW5pbWF0aW5nIGZyb20gZWcuIGF1dG8gdG8gOTBk
ZWcsIG9yIGF1dG8gdG8gOTBkZWcuCi0gICAgICAgIGlmIChmcm9tQW5nbGVBbmRFbnVtZXJhdGlv
bi5zZWNvbmQgPT0gU1ZHTWFya2VyT3JpZW50QW5nbGUpIHsKLSAgICAgICAgICAgIC8vIEFuaW1h
dGluZyBmcm9tIGFuIGFuZ2xlIHZhbHVlIHRvIGVnLiAnYXV0bycgLSB0aGlzIGRpc2FibGVkIGFk
ZGl0aXZlIGFzICdhdXRvJyBpcyBhIGtleXdvcmQuLgotICAgICAgICAgICAgaWYgKHRvQW5nbGVB
bmRFbnVtZXJhdGlvbi5zZWNvbmQgPT0gU1ZHTWFya2VyT3JpZW50QXV0bykgewotICAgICAgICAg
ICAgICAgIGlmIChwZXJjZW50YWdlIDwgMC41ZikgewotICAgICAgICAgICAgICAgICAgICBhbmlt
YXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3QgPSBmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5m
aXJzdDsKLSAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uLnNl
Y29uZCA9IFNWR01hcmtlck9yaWVudEFuZ2xlOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAvLyBEaXNjcmV0ZSBhbmltYXRpb24gLSBubyBs
aW5lYXIgaW50ZXJwb2xhdGlvbiBwb3NzaWJsZSBiZXR3ZWVuIHZhbHVlcyAoZS5nLiBhdXRvIHRv
IGFuZ2xlKQorICAgICAgICBpZiAocGVyY2VudGFnZSA8IDAuNWYpIHsKKyAgICAgICAgICAgIGFu
aW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPSBmcm9tQW5nbGVBbmRFbnVtZXJhdGlv
bi5zZWNvbmQ7CisgICAgICAgICAgICBpZiAoZnJvbUFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25k
ID09IFNWR01hcmtlck9yaWVudEFuZ2xlKQorICAgICAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVB
bmRFbnVtZXJhdGlvbi5maXJzdCA9IGZyb21BbmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0OworICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlv
bi5maXJzdC5zZXRWYWx1ZSgwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGFuaW1h
dGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPSB0b0FuZ2xlQW5kRW51bWVyYXRpb24uc2Vj
b25kOworICAgICAgICAgICAgaWYgKHRvQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPT0gU1ZH
TWFya2VyT3JpZW50QW5nbGUpCisgICAgICAgICAgICAgICAgYW5pbWF0ZWRBbmdsZUFuZEVudW1l
cmF0aW9uLmZpcnN0ID0gdG9BbmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0OworICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdC5z
ZXRWYWx1ZSgwKTsKLSAgICAgICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24u
c2Vjb25kID0gU1ZHTWFya2VyT3JpZW50QXV0bzsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uZmly
c3Quc2V0VmFsdWUoMCk7Ci0gICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24u
c2Vjb25kID0gU1ZHTWFya2VyT3JpZW50VW5rbm93bjsKLSAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQorICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgLy8gRnJvbSAnYXV0bycgdG8g
J2F1dG8nLgpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkocmV2
aXNpb24gMTc1MTUyKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNDgsNyArMjQ4LDE4IEBAIFBhc3NSZWZQdHI8U1ZHQW5pbWF0
ZWRQcm9wZXJ0eT4gU1ZHTWFya2UKICAgICByZXR1cm4gU1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6bG9v
a3VwT3JDcmVhdGVXcmFwcGVyPFNWR01hcmtlckVsZW1lbnQsIFNWR0FuaW1hdGVkRW51bWVyYXRp
b25Qcm9wZXJ0eVRlYXJPZmY8U1ZHTWFya2VyT3JpZW50VHlwZT4sIFNWR01hcmtlck9yaWVudFR5
cGU+CiAgICAgICAgICgmb3duZXJUeXBlLCBvcmllbnRUeXBlUHJvcGVydHlJbmZvKCksIG93bmVy
VHlwZS5tX29yaWVudFR5cGUudmFsdWUpOwogfQotICAKKworU1ZHTWFya2VyT3JpZW50VHlwZSYg
U1ZHTWFya2VyRWxlbWVudDo6b3JpZW50VHlwZSgpIGNvbnN0Cit7CisgICAgaWYgKFNWR0FuaW1h
dGVkRW51bWVyYXRpb24qIHdyYXBwZXIgPSBTVkdBbmltYXRlZFByb3BlcnR5Ojpsb29rdXBXcmFw
cGVyPFVzZU93bmVyVHlwZSwgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbj4odGhpcywgb3JpZW50VHlw
ZVByb3BlcnR5SW5mbygpKSkgeworICAgICAgICBpZiAod3JhcHBlci0+aXNBbmltYXRpbmcoKSkg
eworICAgICAgICAgICAgQVNTRVJUKHdyYXBwZXItPmN1cnJlbnRBbmltYXRlZFZhbHVlKCkgPj0g
MCAmJiB3cmFwcGVyLT5jdXJyZW50QW5pbWF0ZWRWYWx1ZSgpIDwgU1ZHTWFya2VyT3JpZW50TWF4
KTsKKyAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFNWR01hcmtlck9yaWVudFR5
cGUmPih3cmFwcGVyLT5jdXJyZW50QW5pbWF0ZWRWYWx1ZSgpKTsKKyAgICAgICAgfQorICAgIH0K
KyAgICByZXR1cm4gbV9vcmllbnRUeXBlLnZhbHVlOworfQorCiBQYXNzUmVmUHRyPFNWR0FuaW1h
dGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmY8U1ZHTWFya2VyT3JpZW50VHlwZT4+IFNWR01h
cmtlckVsZW1lbnQ6Om9yaWVudFR5cGVBbmltYXRlZCgpCiB7CiAgICAgbV9vcmllbnRUeXBlLnNo
b3VsZFN5bmNocm9uaXplID0gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJr
ZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVs
ZW1lbnQuaAkocmV2aXNpb24gMTc1MTUyKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtl
ckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsMTAgQEAgZW51bSBTVkdNYXJr
ZXJVbml0c1R5cGUgewogZW51bSBTVkdNYXJrZXJPcmllbnRUeXBlIHsKICAgICBTVkdNYXJrZXJP
cmllbnRVbmtub3duID0gMCwKICAgICBTVkdNYXJrZXJPcmllbnRBdXRvLAotICAgIFNWR01hcmtl
ck9yaWVudEFuZ2xlCisgICAgU1ZHTWFya2VyT3JpZW50QW5nbGUsCisKKyAgICAvLyBBZGQgbmV3
IGVsZW1lbnRzIGJlZm9yZSBoZXJlLgorICAgIFNWR01hcmtlck9yaWVudE1heAogfTsKIAogdGVt
cGxhdGU8PgpAQCAtMTU1LDcgKzE1OCw3IEBAIHB1YmxpYzoKICAgICAvLyBDdXN0b20gJ29yaWVu
dFR5cGUnIHByb3BlcnR5LgogICAgIHN0YXRpYyB2b2lkIHN5bmNocm9uaXplT3JpZW50VHlwZShT
VkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHQW5p
bWF0ZWRQcm9wZXJ0eT4gbG9va3VwT3JDcmVhdGVPcmllbnRUeXBlV3JhcHBlcihTVkdFbGVtZW50
KiBjb250ZXh0RWxlbWVudCk7Ci0gICAgU1ZHTWFya2VyT3JpZW50VHlwZSYgb3JpZW50VHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fb3JpZW50VHlwZS52YWx1ZTsgfQorICAgIFNWR01hcmtlck9yaWVu
dFR5cGUmIG9yaWVudFR5cGUoKSBjb25zdDsKICAgICBTVkdNYXJrZXJPcmllbnRUeXBlJiBvcmll
bnRUeXBlQmFzZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9vcmllbnRUeXBlLnZhbHVlOyB9CiAg
ICAgdm9pZCBzZXRPcmllbnRUeXBlQmFzZVZhbHVlKGNvbnN0IFNWR01hcmtlck9yaWVudFR5cGUm
IHR5cGUpIHsgbV9vcmllbnRUeXBlLnZhbHVlID0gdHlwZTsgfQogICAgIFBhc3NSZWZQdHI8U1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvblByb3BlcnR5VGVhck9mZjxTVkdNYXJrZXJPcmllbnRUeXBlPj4g
b3JpZW50VHlwZUFuaW1hdGVkKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNzUyOTIpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0x
MC0yOCAgTmlrb3MgQW5kcmtvcyBBbmRyb25pa29zICA8bmlrb3MuYW5kcm9uaWtvcy13ZWJraXRA
Y2lzcmEuY2Fub24uY29tLmF1PgorCisgICAgICAgIEZpeCBhbmltYXRpb24gb2Ygb3JpZW50IGF0
dHJpYnV0ZSBvbiBtYXJrZXIgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM3OTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdCB0aGUgcmVuZGVyZWQgcmVzdWx0IG9mIHRoZSBhbmltYXRp
b24gb2YgdGhlIG9yaWVudCBhdHRyaWJ1dGUuCisgICAgICAgIEV4aXN0aW5nIHRlc3RzIHdlcmUg
b25seSB0ZXN0aW5nIHRoZSBhbmltYXRlZCB2YWx1ZSBpbiB0aGUgRE9NLgorCisgICAgICAgICog
c3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0xLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlw
ZS0xLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2Vy
LW9yaWVudHR5cGUtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRp
b25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBl
LTMuaHRtbDogQWRkZWQuCisKIDIwMTQtMTAtMjggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgZmFzdC9tdWx0aWNvbC9tdWx0aWNvbC1jcmF6eS1uZXN0aW5n
Lmh0bWwgc29tZXRpbWVzIGNyYXNoZXMKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0xLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2Fu
aW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MjAKKyAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDUyMAorICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzg0eDUwNAorICAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAo
NTgsNTgpIHNpemUgMjE4eDIxOAorICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2Rl
ZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIg
e21hcmtlcn0gW2lkPSJhcnJvdyJdIFttYXJrZXJVbml0cz1zdHJva2VXaWR0aF0gW3JlZiBhdCAo
MCwwKV0gW2FuZ2xlPTE4MC4wMF0KKyAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3BhdGh9IGF0
ICg4LDgpIHNpemUgMTd4MTcgW29wYWNpdHk9MC41MF0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwODAwMF19XSBbZGF0YT0iTSA1IDAgTCAwIC01IEwgMCA1IFoiXQorICAgICAgICBSZW5k
ZXJTVkdQYXRoIHtwYXRofSBhdCAoNTgsNTgpIHNpemUgMjE4eDIxOCBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbc3RhcnQgbWFya2VyPWFycm93XSBbZGF0YT0iTSAyMCAyMCBMIDgwIDgwIl0KKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0xLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlw
ZS0xLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmlt
YXRlLW1hcmtlci1vcmllbnR0eXBlLTEuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIy
IEBACis8IWRvY3R5cGUgaHRtbD4KKzwhLS0KKyAgVGVzdCB0aGF0IHRoZSByZW5kZXJlciB1c2Vz
IHRoZSBhbmltYXRlZCB2YWx1ZSBvZiBvcmllbnRUeXBlLgorICBUbyB0ZXN0IHRoaXMsIHRoZSBm
aW5hbCBhbmltYXRlZCB2YWx1ZSBtdXN0IGJlIG9mIGEgZGlmZmVyZW50IHR5cGUgdGhhbiB0aGUg
aW5pdGlhbCB2YWx1ZS4KKyAgVG8gdmVyaWZ5IHJlbmRlcmluZywgRHVtcFJlbmRlclRyZWUgb3V0
cHV0IG11c3QgYmUgZXhhbWluZWQsIG5vdCBET00gdmFsdWVzLgorIC0tPgorPHNjcmlwdD4KK2lm
ICh0ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2lu
ZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7dGVzdFJ1bm5lci5ub3RpZnlEb25lKCl9LCAxNTAw
KTsKK30KKzwvc2NyaXB0PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHZpZXdib3g9IjAgMCAxNTAgMTUwIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCI+CisgICAgPGRl
ZnM+CisgICAgICAgIDxtYXJrZXIgaWQ9ImFycm93IiBvcmllbnQ9ImF1dG8iIG1hcmtlcldpZHRo
PSIxMCIgbWFya2VySGVpZ2h0PSIxMCIgc3R5bGU9Im92ZXJmbG93OnZpc2libGUiPgorICAgICAg
ICAgICAgPHBhdGggZD0iTTUsMCBMIDAsLTUgTDAsNSB6IiBmaWxsPSJncmVlbiIgb3BhY2l0eT0i
MC41IiAvPgorICAgICAgICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3JpZW50IiBmcm9t
PSIwIiB0bz0iMTgwIiBiZWdpbj0iMHMiIGR1cj0iMXMiIGZpbGw9ImZyZWV6ZSIvPgorICAgICAg
ICA8L21hcmtlcj4KKyAgICA8L2RlZnM+CisgICAgPHBhdGggZD0iTSAyMCwyMCBMIDgwLDgwIiBt
YXJrZXItc3RhcnQ9InVybCgjYXJyb3cpIiBzdHJva2U9ImJsYWNrIi8+Cis8L3N2Zz4KKwpJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0y
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9h
bmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0yLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDUyMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NTIwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTA0Cisg
ICAgICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg1OCw3MSkgc2l6ZSAyMTh4MjA1CisgICAgICAg
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
ICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciB7bWFya2VyfSBbaWQ9ImFycm93Il0gW21hcmtl
clVuaXRzPXN0cm9rZVdpZHRoXSBbcmVmIGF0ICgwLDApXSBbYW5nbGU9ODAuMDBdCisgICAgICAg
ICAgICBSZW5kZXJTVkdQYXRoIHtwYXRofSBhdCAoOCw4KSBzaXplIDE3eDE3IFtvcGFjaXR5PTAu
NTBdIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0gNSAwIEwg
MCAtNSBMIDAgNSBaIl0KKyAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cGF0aH0gYXQgKDU4LDcxKSBz
aXplIDIxOHgyMDUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3N0YXJ0IG1hcmtlcj1hcnJvd10gW2Rh
dGE9Ik0gMjAgMjAgTCA4MCA4MCJdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2Vy
LW9yaWVudHR5cGUtMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0yLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8IS0tCisg
IFRlc3QgdGhhdCB0aGUgcmVuZGVyZXIgdXNlcyB0aGUgYW5pbWF0ZWQgdmFsdWUgb2Ygb3JpZW50
VHlwZS4KKyAgVG8gdGVzdCB0aGlzLCB0aGUgZmluYWwgYW5pbWF0ZWQgdmFsdWUgbXVzdCBiZSBv
ZiBhIGRpZmZlcmVudCB0eXBlIHRoYW4gdGhlIGluaXRpYWwgdmFsdWUuCisgIFRvIHZlcmlmeSBy
ZW5kZXJpbmcsIER1bXBSZW5kZXJUcmVlIG91dHB1dCBtdXN0IGJlIGV4YW1pbmVkLCBub3QgRE9N
IHZhbHVlcy4KKyAtLT4KKzxzY3JpcHQ+CitpZiAodGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3Rl
c3RSdW5uZXIubm90aWZ5RG9uZSgpfSwgMTUwMCk7Cit9Cis8L3NjcmlwdD4KKzxzdmcgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Ym94PSIwIDAgMTUwIDE1MCIgd2lkdGg9
IjUwMCIgaGVpZ2h0PSI1MDAiPgorICAgIDxkZWZzPgorICAgICAgICA8bWFya2VyIGlkPSJhcnJv
dyIgb3JpZW50PSJhdXRvIiBtYXJrZXJXaWR0aD0iMTAiIG1hcmtlckhlaWdodD0iMTAiIHN0eWxl
PSJvdmVyZmxvdzp2aXNpYmxlIj4KKyAgICAgICAgICAgIDxwYXRoIGQ9Ik01LDAgTCAwLC01IEww
LDUgeiIgZmlsbD0iZ3JlZW4iIG9wYWNpdHk9IjAuNSIgLz4KKyAgICAgICAgICAgIDxhbmltYXRl
IGF0dHJpYnV0ZU5hbWU9Im9yaWVudCIgZnJvbT0iYXV0byIgdG89IjgwIiBiZWdpbj0iMHMiIGR1
cj0iMXMiIGZpbGw9ImZyZWV6ZSIvPgorICAgICAgICA8L21hcmtlcj4KKyAgICA8L2RlZnM+Cisg
ICAgPHBhdGggZD0iTSAyMCwyMCBMIDgwLDgwIiBtYXJrZXItc3RhcnQ9InVybCgjYXJyb3cpIiBz
dHJva2U9ImJsYWNrIi8+Cis8L3N2Zz4KKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
YW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDUyMAorICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTIwCisgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTA0CisgICAgICBSZW5kZXJTVkdSb290IHtzdmd9IGF0
ICg2Miw2Mikgc2l6ZSAyMTR4MjE0CisgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7
ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hcmtl
ciB7bWFya2VyfSBbaWQ9ImFycm93Il0gW21hcmtlclVuaXRzPXN0cm9rZVdpZHRoXSBbcmVmIGF0
ICgwLDApXSBbYW5nbGU9YXV0b10KKyAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3BhdGh9IGF0
ICg4LDgpIHNpemUgMTd4MTcgW29wYWNpdHk9MC41MF0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwODAwMF19XSBbZGF0YT0iTSA1IDAgTCAwIC01IEwgMCA1IFoiXQorICAgICAgICBSZW5k
ZXJTVkdQYXRoIHtwYXRofSBhdCAoNjIsNjIpIHNpemUgMjE0eDIxNCBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF19XSBbc3RhcnQgbWFya2VyPWFycm93XSBbZGF0YT0iTSAyMCAyMCBMIDgwIDgwIl0KKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlw
ZS0zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmlt
YXRlLW1hcmtlci1vcmllbnR0eXBlLTMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIy
IEBACis8IWRvY3R5cGUgaHRtbD4KKzwhLS0KKyAgVGVzdCB0aGF0IHRoZSByZW5kZXJlciB1c2Vz
IHRoZSBhbmltYXRlZCB2YWx1ZSBvZiBvcmllbnRUeXBlLgorICBUbyB0ZXN0IHRoaXMsIHRoZSBm
aW5hbCBhbmltYXRlZCB2YWx1ZSBtdXN0IGJlIG9mIGEgZGlmZmVyZW50IHR5cGUgdGhhbiB0aGUg
aW5pdGlhbCB2YWx1ZS4KKyAgVG8gdmVyaWZ5IHJlbmRlcmluZywgRHVtcFJlbmRlclRyZWUgb3V0
cHV0IG11c3QgYmUgZXhhbWluZWQsIG5vdCBET00gdmFsdWVzLgorIC0tPgorPHNjcmlwdD4KK2lm
ICh0ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2lu
ZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7dGVzdFJ1bm5lci5ub3RpZnlEb25lKCl9LCAxNTAw
KTsKK30KKzwvc2NyaXB0PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHZpZXdib3g9IjAgMCAxNTAgMTUwIiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCI+CisgICAgPGRl
ZnM+CisgICAgICAgIDxtYXJrZXIgaWQ9ImFycm93IiBvcmllbnQ9IjQ1IiBtYXJrZXJXaWR0aD0i
MTAiIG1hcmtlckhlaWdodD0iMTAiIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlIj4KKyAgICAgICAg
ICAgIDxwYXRoIGQ9Ik01LDAgTCAwLC01IEwwLDUgeiIgZmlsbD0iZ3JlZW4iIG9wYWNpdHk9IjAu
NSIgLz4KKyAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9Im9yaWVudCIgZnJvbT0i
MTM1IiB0bz0iYXV0byIgYmVnaW49IjBzIiBkdXI9IjFzIiBmaWxsPSJmcmVlemUiLz4KKyAgICAg
ICAgPC9tYXJrZXI+CisgICAgPC9kZWZzPgorICAgIDxwYXRoIGQ9Ik0gMjAsMjAgTCA4MCw4MCIg
bWFya2VyLXN0YXJ0PSJ1cmwoI2Fycm93KSIgc3Ryb2tlPSJibGFjayIvPgorPC9zdmc+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240609</attachid>
            <date>2014-10-29 10:17:19 -0700</date>
            <delta_ts>2014-10-31 15:49:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137942-20141029101726.patch</filename>
            <type>text/plain</type>
            <size>14268</size>
            <attacher name="Nikos Andronikos">nikos.andronikos</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTMyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE0LTEwLTI5ICBOaWtvcyBB
bmRyb25pa29zICA8bmlrb3MuYW5kcm9uaWtvcy13ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1Pgor
CisgICAgICAgIEZpeCBhbmltYXRpb24gb2Ygb3JpZW50IGF0dHJpYnV0ZSBvbiBtYXJrZXIgZWxl
bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3
OTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgaW1wbGVtZW50YXRpb24gb2YgU1ZHIGFuaW1hdGVkIGFuZ2xlcyBhbmQgdGhlIFNWRworICAg
ICAgICBtYXJrZXIgZWxlbWVudCBvcmllbnQgYXR0cmlidXRlLgorICAgICAgICBTVkcgYW5pbWF0
ZWQgYW5nbGUgd2FzIG1pc3NpbmcgdGhlIGxvZ2ljIHRvIHN1cHBvcnQgYW5pbWF0aW9uCisgICAg
ICAgIGZyb20gYXV0byB0byBhIG51bWVyaWMgYW5nbGUgdmFsdWUgLSB0aGlzIGlzIG5vdyBhZGRl
ZC4KKyAgICAgICAgVGhlIFNWRyBtYXJrZXIgZWxlbWVudCBnZXR0ZXIgZm9yIG9yaWVudFR5cGUg
d2FzIG5vdCByZXR1cm5pbmcKKyAgICAgICAgdGhlIGFuaW1hdGVkIHZhbHVlIGZvciBvcmllbnRU
eXBlIHNvIGluIHNvbWUgY2FzZXMgKGkuZS4gd2hlbgorICAgICAgICB0aGUgaW5pdGlhbCB2YWx1
ZSBhbmQgdGhlIGFuaW1hdGVkIHZhbHVlcyB3ZXJlIG9mIGRpZmZlcmVudCB0eXBlcykKKyAgICAg
ICAgdGhlIGFuaW1hdGlvbiB3YXMgbm90IGJlaW5nIHJlbmRlcmVkIC0gYWx0aG91Z2ggaXQgd2Fz
IHJ1bm5pbmcuCisKKyAgICAgICAgVGVzdHM6IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2Vy
LW9yaWVudHR5cGUtMS5odG1sCisgICAgICAgICAgICAgICBzdmcvYW5pbWF0aW9ucy9hbmltYXRl
LW1hcmtlci1vcmllbnR0eXBlLTIuaHRtbAorICAgICAgICAgICAgICAgc3ZnL2FuaW1hdGlvbnMv
YW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLmh0bWwKKworICAgICAgICAqIHN2Zy9TVkdBbmlt
YXRlZEFuZ2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkQW5nbGVBbmltYXRv
cjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgIEFkZGVkIGxvZ2ljIHRvIHN1cHBv
cnQgYXV0byB0byBhbmdsZSBhbmltYXRpb24uCisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFya2VyRWxlbWVudDo6b3JpZW50VHlwZSk6
CisgICAgICAgIFRoaXMgbWV0aG9kIG5vdyByZXR1cm5zIHRoZSBhbmltYXRlZCB2YWx1ZSBpZiBh
biBhbmltYXRpb24gaXMKKyAgICAgICAgcnVubmluZy4KKyAgICAgICAgKiBzdmcvU1ZHTWFya2Vy
RWxlbWVudC5oOgorCiAyMDE0LTEwLTI5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgQ2xlYW4gdXAgdmlydHVhbCBmdW5jdGlvbnMgaW4gaHRtbC8KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHAJKHJldmlzaW9uIDE3NTE1MikKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTYsMjMgKzk2LDIxIEBAIHZvaWQgU1ZHQW5pbWF0ZWRBbmdsZUFuaW1hdG9yOjpjYWxjdWxh
dGUKICAgICBzdGQ6OnBhaXI8U1ZHQW5nbGUsIHVuc2lnbmVkPiYgYW5pbWF0ZWRBbmdsZUFuZEVu
dW1lcmF0aW9uID0gYW5pbWF0ZWQtPmFuZ2xlQW5kRW51bWVyYXRpb24oKTsKIAogICAgIGlmIChm
cm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgIT0gdG9BbmdsZUFuZEVudW1lcmF0aW9uLnNl
Y29uZCkgewotICAgICAgICAvLyBBbmltYXRpbmcgZnJvbSBlZy4gYXV0byB0byA5MGRlZywgb3Ig
YXV0byB0byA5MGRlZy4KLSAgICAgICAgaWYgKGZyb21BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29u
ZCA9PSBTVkdNYXJrZXJPcmllbnRBbmdsZSkgewotICAgICAgICAgICAgLy8gQW5pbWF0aW5nIGZy
b20gYW4gYW5nbGUgdmFsdWUgdG8gZWcuICdhdXRvJyAtIHRoaXMgZGlzYWJsZWQgYWRkaXRpdmUg
YXMgJ2F1dG8nIGlzIGEga2V5d29yZC4uCi0gICAgICAgICAgICBpZiAodG9BbmdsZUFuZEVudW1l
cmF0aW9uLnNlY29uZCA9PSBTVkdNYXJrZXJPcmllbnRBdXRvKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKHBlcmNlbnRhZ2UgPCAwLjVmKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkQW5n
bGVBbmRFbnVtZXJhdGlvbi5maXJzdCA9IGZyb21BbmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0Owot
ICAgICAgICAgICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID0g
U1ZHTWFya2VyT3JpZW50QW5nbGU7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgICAgICB9CisgICAgICAgIC8vIERpc2NyZXRlIGFuaW1hdGlvbiAtIG5vIGxpbmVhciBp
bnRlcnBvbGF0aW9uIHBvc3NpYmxlIGJldHdlZW4gdmFsdWVzIChlLmcuIGF1dG8gdG8gYW5nbGUp
CisgICAgICAgIGlmIChwZXJjZW50YWdlIDwgMC41ZikgeworICAgICAgICAgICAgYW5pbWF0ZWRB
bmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCA9IGZyb21BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29u
ZDsKKyAgICAgICAgICAgIGlmIChmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPT0gU1ZH
TWFya2VyT3JpZW50QW5nbGUpCisgICAgICAgICAgICAgICAgYW5pbWF0ZWRBbmdsZUFuZEVudW1l
cmF0aW9uLmZpcnN0ID0gZnJvbUFuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3Q7CisgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0
LnNldFZhbHVlKDApOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYW5pbWF0ZWRBbmds
ZUFuZEVudW1lcmF0aW9uLnNlY29uZCA9IHRvQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQ7Cisg
ICAgICAgICAgICBpZiAodG9BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCA9PSBTVkdNYXJrZXJP
cmllbnRBbmdsZSkKKyAgICAgICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24u
Zmlyc3QgPSB0b0FuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3Q7CisgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0LnNldFZhbHVl
KDApOwotICAgICAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQg
PSBTVkdNYXJrZXJPcmllbnRBdXRvOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdC5zZXRW
YWx1ZSgwKTsKLSAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQg
PSBTVkdNYXJrZXJPcmllbnRVbmtub3duOwotICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CisgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBGcm9tICdhdXRvJyB0byAnYXV0bycu
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCShyZXZpc2lvbiAx
NzUxNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI0OCw3ICsyNDgsMTggQEAgUGFzc1JlZlB0cjxTVkdBbmltYXRlZFByb3Bl
cnR5PiBTVkdNYXJrZQogICAgIHJldHVybiBTVkdBbmltYXRlZFByb3BlcnR5Ojpsb29rdXBPckNy
ZWF0ZVdyYXBwZXI8U1ZHTWFya2VyRWxlbWVudCwgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvblByb3Bl
cnR5VGVhck9mZjxTVkdNYXJrZXJPcmllbnRUeXBlPiwgU1ZHTWFya2VyT3JpZW50VHlwZT4KICAg
ICAgICAgKCZvd25lclR5cGUsIG9yaWVudFR5cGVQcm9wZXJ0eUluZm8oKSwgb3duZXJUeXBlLm1f
b3JpZW50VHlwZS52YWx1ZSk7CiB9Ci0gIAorCitTVkdNYXJrZXJPcmllbnRUeXBlJiBTVkdNYXJr
ZXJFbGVtZW50OjpvcmllbnRUeXBlKCkgY29uc3QKK3sKKyAgICBpZiAoU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbiogd3JhcHBlciA9IFNWR0FuaW1hdGVkUHJvcGVydHk6Omxvb2t1cFdyYXBwZXI8VXNl
T3duZXJUeXBlLCBTVkdBbmltYXRlZEVudW1lcmF0aW9uPih0aGlzLCBvcmllbnRUeXBlUHJvcGVy
dHlJbmZvKCkpKSB7CisgICAgICAgIGlmICh3cmFwcGVyLT5pc0FuaW1hdGluZygpKSB7CisgICAg
ICAgICAgICBBU1NFUlQod3JhcHBlci0+Y3VycmVudEFuaW1hdGVkVmFsdWUoKSA+PSAwICYmIHdy
YXBwZXItPmN1cnJlbnRBbmltYXRlZFZhbHVlKCkgPCBTVkdNYXJrZXJPcmllbnRNYXgpOworICAg
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8U1ZHTWFya2VyT3JpZW50VHlwZSY+KHdy
YXBwZXItPmN1cnJlbnRBbmltYXRlZFZhbHVlKCkpOworICAgICAgICB9CisgICAgfQorICAgIHJl
dHVybiBtX29yaWVudFR5cGUudmFsdWU7Cit9CisKIFBhc3NSZWZQdHI8U1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvblByb3BlcnR5VGVhck9mZjxTVkdNYXJrZXJPcmllbnRUeXBlPj4gU1ZHTWFya2VyRWxl
bWVudDo6b3JpZW50VHlwZUFuaW1hdGVkKCkKIHsKICAgICBtX29yaWVudFR5cGUuc2hvdWxkU3lu
Y2hyb25pemUgPSB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5o
CShyZXZpc2lvbiAxNzUxNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0MiwxMCBAQCBlbnVtIFNWR01hcmtlclVuaXRz
VHlwZSB7CiBlbnVtIFNWR01hcmtlck9yaWVudFR5cGUgewogICAgIFNWR01hcmtlck9yaWVudFVu
a25vd24gPSAwLAogICAgIFNWR01hcmtlck9yaWVudEF1dG8sCi0gICAgU1ZHTWFya2VyT3JpZW50
QW5nbGUKKyAgICBTVkdNYXJrZXJPcmllbnRBbmdsZSwKKworICAgIC8vIEFkZCBuZXcgZWxlbWVu
dHMgYmVmb3JlIGhlcmUuCisgICAgU1ZHTWFya2VyT3JpZW50TWF4CiB9OwogCiB0ZW1wbGF0ZTw+
CkBAIC0xNTUsNyArMTU4LDcgQEAgcHVibGljOgogICAgIC8vIEN1c3RvbSAnb3JpZW50VHlwZScg
cHJvcGVydHkuCiAgICAgc3RhdGljIHZvaWQgc3luY2hyb25pemVPcmllbnRUeXBlKFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdBbmltYXRlZFBy
b3BlcnR5PiBsb29rdXBPckNyZWF0ZU9yaWVudFR5cGVXcmFwcGVyKFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50KTsKLSAgICBTVkdNYXJrZXJPcmllbnRUeXBlJiBvcmllbnRUeXBlKCkgY29uc3Qg
eyByZXR1cm4gbV9vcmllbnRUeXBlLnZhbHVlOyB9CisgICAgU1ZHTWFya2VyT3JpZW50VHlwZSYg
b3JpZW50VHlwZSgpIGNvbnN0OwogICAgIFNWR01hcmtlck9yaWVudFR5cGUmIG9yaWVudFR5cGVC
YXNlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX29yaWVudFR5cGUudmFsdWU7IH0KICAgICB2b2lk
IHNldE9yaWVudFR5cGVCYXNlVmFsdWUoY29uc3QgU1ZHTWFya2VyT3JpZW50VHlwZSYgdHlwZSkg
eyBtX29yaWVudFR5cGUudmFsdWUgPSB0eXBlOyB9CiAgICAgUGFzc1JlZlB0cjxTVkdBbmltYXRl
ZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmPFNWR01hcmtlck9yaWVudFR5cGU+PiBvcmllbnRU
eXBlQW5pbWF0ZWQoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTMyOCkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTEwLTI5ICBO
aWtvcyBBbmRya29zIEFuZHJvbmlrb3MgIDxuaWtvcy5hbmRyb25pa29zLXdlYmtpdEBjaXNyYS5j
YW5vbi5jb20uYXU+CisKKyAgICAgICAgRml4IGFuaW1hdGlvbiBvZiBvcmllbnQgYXR0cmlidXRl
IG9uIG1hcmtlciBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzc5NDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0IHRoZSByZW5kZXJlZCByZXN1bHQgb2YgdGhlIGFuaW1hdGlvbiBvZiB0
aGUgb3JpZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgRXhpc3RpbmcgdGVzdHMgd2VyZSBvbmx5IHRl
c3RpbmcgdGhlIGFuaW1hdGVkIHZhbHVlIGluIHRoZSBET00uCisKKyAgICAgICAgKiBzdmcvYW5p
bWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50
dHlwZS0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5p
bWF0ZS1tYXJrZXItb3JpZW50dHlwZS0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmlt
YXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMy5odG1s
OiBBZGRlZC4KKwogMjAxNC0xMC0xNyAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdh
bGlhLmNvbT4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiBncm93dGhTaGFyZSA+IDAgaW4g
V2ViQ29yZTo6UmVuZGVyR3JpZDo6ZGlzdHJpYnV0ZVNwYWNlVG9UcmFja3MKSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1t
YXJrZXItb3JpZW50dHlwZS0xLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMS1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg1MjAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDUy
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDUwNAorICAgICAgUmVu
ZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoNTgsNTgpIHNpemUgMjE4eDIxOAorICAgICAgICBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXIge21hcmtlcn0gW2lkPSJhcnJvdyJdIFttYXJrZXJVbml0cz1z
dHJva2VXaWR0aF0gW3JlZiBhdCAoMCwwKV0gW2FuZ2xlPTE4MC4wMF0KKyAgICAgICAgICAgIFJl
bmRlclNWR1BhdGgge3BhdGh9IGF0ICg4LDgpIHNpemUgMTd4MTcgW29wYWNpdHk9MC41MF0gW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTSA1IDAgTCAwIC01IEwg
MCA1IFoiXQorICAgICAgICBSZW5kZXJTVkdQYXRoIHtwYXRofSBhdCAoNTgsNTgpIHNpemUgMjE4
eDIxOCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbc3RhcnQgbWFya2VyPWFycm93XSBbZGF0YT0iTSAy
MCAyMCBMIDgwIDgwIl0KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50
dHlwZS0xLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5p
bWF0ZS1tYXJrZXItb3JpZW50dHlwZS0xLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTEuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACis8IWRvY3R5cGUgaHRtbD4KKzwhLS0KKyAgVGVzdCB0
aGF0IHRoZSByZW5kZXJlciB1c2VzIHRoZSBhbmltYXRlZCB2YWx1ZSBvZiBvcmllbnRUeXBlLgor
ICBUbyB0ZXN0IHRoaXMsIHRoZSBmaW5hbCBhbmltYXRlZCB2YWx1ZSBtdXN0IGJlIG9mIGEgZGlm
ZmVyZW50IHR5cGUgdGhhbiB0aGUgaW5pdGlhbCB2YWx1ZS4KKyAgVG8gdmVyaWZ5IHJlbmRlcmlu
ZywgRHVtcFJlbmRlclRyZWUgb3V0cHV0IG11c3QgYmUgZXhhbWluZWQsIG5vdCBET00gdmFsdWVz
LgorIC0tPgorPHNjcmlwdD4KK2lmICh0ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CisgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7dGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCl9LCAxNTAwKTsKK30KKzwvc2NyaXB0PgorPHN2ZyB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdib3g9IjAgMCAxNTAgMTUwIiB3aWR0aD0iNTAwIiBo
ZWlnaHQ9IjUwMCI+CisgICAgPGRlZnM+CisgICAgICAgIDxtYXJrZXIgaWQ9ImFycm93IiBvcmll
bnQ9ImF1dG8iIG1hcmtlcldpZHRoPSIxMCIgbWFya2VySGVpZ2h0PSIxMCIgc3R5bGU9Im92ZXJm
bG93OnZpc2libGUiPgorICAgICAgICAgICAgPHBhdGggZD0iTTUsMCBMIDAsLTUgTDAsNSB6IiBm
aWxsPSJncmVlbiIgb3BhY2l0eT0iMC41IiAvPgorICAgICAgICAgICAgPGFuaW1hdGUgYXR0cmli
dXRlTmFtZT0ib3JpZW50IiBmcm9tPSIwIiB0bz0iMTgwIiBiZWdpbj0iMHMiIGR1cj0iMXMiIGZp
bGw9ImZyZWV6ZSIvPgorICAgICAgICA8L21hcmtlcj4KKyAgICA8L2RlZnM+CisgICAgPHBhdGgg
ZD0iTSAyMCwyMCBMIDgwLDgwIiBtYXJrZXItc3RhcnQ9InVybCgjYXJyb3cpIiBzdHJva2U9ImJs
YWNrIi8+Cis8L3N2Zz4KKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZS1tYXJrZXItb3JpZW50dHlwZS0yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1t
YXJrZXItb3JpZW50dHlwZS0yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDUyMAorICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTIwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTA0CisgICAgICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg1OCw3MSkg
c2l6ZSAyMTh4MjA1CisgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciB7bWFya2Vy
fSBbaWQ9ImFycm93Il0gW21hcmtlclVuaXRzPXN0cm9rZVdpZHRoXSBbcmVmIGF0ICgwLDApXSBb
YW5nbGU9ODAuMDBdCisgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtwYXRofSBhdCAoOCw4KSBz
aXplIDE3eDE3IFtvcGFjaXR5PTAuNTBdIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgw
MDBdfV0gW2RhdGE9Ik0gNSAwIEwgMCAtNSBMIDAgNSBaIl0KKyAgICAgICAgUmVuZGVyU1ZHUGF0
aCB7cGF0aH0gYXQgKDU4LDcxKSBzaXplIDIxOHgyMDUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3N0
YXJ0IG1hcmtlcj1hcnJvd10gW2RhdGE9Ik0gMjAgMjAgTCA4MCA4MCJdCisgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMi5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMi5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJr
ZXItb3JpZW50dHlwZS0yLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorPCFk
b2N0eXBlIGh0bWw+Cis8IS0tCisgIFRlc3QgdGhhdCB0aGUgcmVuZGVyZXIgdXNlcyB0aGUgYW5p
bWF0ZWQgdmFsdWUgb2Ygb3JpZW50VHlwZS4KKyAgVG8gdGVzdCB0aGlzLCB0aGUgZmluYWwgYW5p
bWF0ZWQgdmFsdWUgbXVzdCBiZSBvZiBhIGRpZmZlcmVudCB0eXBlIHRoYW4gdGhlIGluaXRpYWwg
dmFsdWUuCisgIFRvIHZlcmlmeSByZW5kZXJpbmcsIER1bXBSZW5kZXJUcmVlIG91dHB1dCBtdXN0
IGJlIGV4YW1pbmVkLCBub3QgRE9NIHZhbHVlcy4KKyAtLT4KKzxzY3JpcHQ+CitpZiAodGVzdFJ1
bm5lcikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5zZXRU
aW1lb3V0KGZ1bmN0aW9uKCkge3Rlc3RSdW5uZXIubm90aWZ5RG9uZSgpfSwgMTUwMCk7Cit9Cis8
L3NjcmlwdD4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Ym94
PSIwIDAgMTUwIDE1MCIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiPgorICAgIDxkZWZzPgorICAg
ICAgICA8bWFya2VyIGlkPSJhcnJvdyIgb3JpZW50PSJhdXRvIiBtYXJrZXJXaWR0aD0iMTAiIG1h
cmtlckhlaWdodD0iMTAiIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlIj4KKyAgICAgICAgICAgIDxw
YXRoIGQ9Ik01LDAgTCAwLC01IEwwLDUgeiIgZmlsbD0iZ3JlZW4iIG9wYWNpdHk9IjAuNSIgLz4K
KyAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9Im9yaWVudCIgZnJvbT0iYXV0byIg
dG89IjgwIiBiZWdpbj0iMHMiIGR1cj0iMXMiIGZpbGw9ImZyZWV6ZSIvPgorICAgICAgICA8L21h
cmtlcj4KKyAgICA8L2RlZnM+CisgICAgPHBhdGggZD0iTSAyMCwyMCBMIDgwLDgwIiBtYXJrZXIt
c3RhcnQ9InVybCgjYXJyb3cpIiBzdHJva2U9ImJsYWNrIi8+Cis8L3N2Zz4KKwpJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRl
LW1hcmtlci1vcmllbnR0eXBlLTMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDUyMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NTIwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTA0CisgICAgICBS
ZW5kZXJTVkdSb290IHtzdmd9IGF0ICg2Miw2Mikgc2l6ZSAyMTR4MjE0CisgICAgICAgIFJlbmRl
clNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBS
ZW5kZXJTVkdSZXNvdXJjZU1hcmtlciB7bWFya2VyfSBbaWQ9ImFycm93Il0gW21hcmtlclVuaXRz
PXN0cm9rZVdpZHRoXSBbcmVmIGF0ICgwLDApXSBbYW5nbGU9YXV0b10KKyAgICAgICAgICAgIFJl
bmRlclNWR1BhdGgge3BhdGh9IGF0ICg4LDgpIHNpemUgMTd4MTcgW29wYWNpdHk9MC41MF0gW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTSA1IDAgTCAwIC01IEwg
MCA1IFoiXQorICAgICAgICBSZW5kZXJTVkdQYXRoIHtwYXRofSBhdCAoNjIsNjIpIHNpemUgMjE0
eDIxNCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbc3RhcnQgbWFya2VyPWFycm93XSBbZGF0YT0iTSAy
MCAyMCBMIDgwIDgwIl0KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50
dHlwZS0zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5p
bWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTMuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDIyIEBACis8IWRvY3R5cGUgaHRtbD4KKzwhLS0KKyAgVGVzdCB0
aGF0IHRoZSByZW5kZXJlciB1c2VzIHRoZSBhbmltYXRlZCB2YWx1ZSBvZiBvcmllbnRUeXBlLgor
ICBUbyB0ZXN0IHRoaXMsIHRoZSBmaW5hbCBhbmltYXRlZCB2YWx1ZSBtdXN0IGJlIG9mIGEgZGlm
ZmVyZW50IHR5cGUgdGhhbiB0aGUgaW5pdGlhbCB2YWx1ZS4KKyAgVG8gdmVyaWZ5IHJlbmRlcmlu
ZywgRHVtcFJlbmRlclRyZWUgb3V0cHV0IG11c3QgYmUgZXhhbWluZWQsIG5vdCBET00gdmFsdWVz
LgorIC0tPgorPHNjcmlwdD4KK2lmICh0ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CisgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7dGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCl9LCAxNTAwKTsKK30KKzwvc2NyaXB0PgorPHN2ZyB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdib3g9IjAgMCAxNTAgMTUwIiB3aWR0aD0iNTAwIiBo
ZWlnaHQ9IjUwMCI+CisgICAgPGRlZnM+CisgICAgICAgIDxtYXJrZXIgaWQ9ImFycm93IiBvcmll
bnQ9IjQ1IiBtYXJrZXJXaWR0aD0iMTAiIG1hcmtlckhlaWdodD0iMTAiIHN0eWxlPSJvdmVyZmxv
dzp2aXNpYmxlIj4KKyAgICAgICAgICAgIDxwYXRoIGQ9Ik01LDAgTCAwLC01IEwwLDUgeiIgZmls
bD0iZ3JlZW4iIG9wYWNpdHk9IjAuNSIgLz4KKyAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0
ZU5hbWU9Im9yaWVudCIgZnJvbT0iMTM1IiB0bz0iYXV0byIgYmVnaW49IjBzIiBkdXI9IjFzIiBm
aWxsPSJmcmVlemUiLz4KKyAgICAgICAgPC9tYXJrZXI+CisgICAgPC9kZWZzPgorICAgIDxwYXRo
IGQ9Ik0gMjAsMjAgTCA4MCw4MCIgbWFya2VyLXN0YXJ0PSJ1cmwoI2Fycm93KSIgc3Ryb2tlPSJi
bGFjayIvPgorPC9zdmc+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240766</attachid>
            <date>2014-10-31 15:49:44 -0700</date>
            <delta_ts>2014-11-04 01:20:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137942-20141031154950.patch</filename>
            <type>text/plain</type>
            <size>14415</size>
            <attacher name="Nikos Andronikos">nikos.andronikos</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTQyOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDE0LTEwLTMxICBOaWtvcyBB
bmRyb25pa29zICA8bmlrb3MuYW5kcm9uaWtvcy13ZWJraXRAY2lzcmEuY2Fub24uY29tLmF1Pgor
CisgICAgICAgIEZpeCBhbmltYXRpb24gb2Ygb3JpZW50IGF0dHJpYnV0ZSBvbiBtYXJrZXIgZWxl
bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3
OTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgaW1wbGVtZW50YXRpb24gb2YgU1ZHIGFuaW1hdGVkIGFuZ2xlcyBhbmQgdGhlIFNWRworICAg
ICAgICBtYXJrZXIgZWxlbWVudCBvcmllbnQgYXR0cmlidXRlLgorICAgICAgICBTVkcgYW5pbWF0
ZWQgYW5nbGUgd2FzIG1pc3NpbmcgdGhlIGxvZ2ljIHRvIHN1cHBvcnQgYW5pbWF0aW9uCisgICAg
ICAgIGZyb20gYXV0byB0byBhIG51bWVyaWMgYW5nbGUgdmFsdWUgLSB0aGlzIGlzIG5vdyBhZGRl
ZC4KKyAgICAgICAgVGhlIFNWRyBtYXJrZXIgZWxlbWVudCBnZXR0ZXIgZm9yIG9yaWVudFR5cGUg
d2FzIG5vdCByZXR1cm5pbmcKKyAgICAgICAgdGhlIGFuaW1hdGVkIHZhbHVlIGZvciBvcmllbnRU
eXBlIHNvIGluIHNvbWUgY2FzZXMgKGkuZS4gd2hlbgorICAgICAgICB0aGUgaW5pdGlhbCB2YWx1
ZSBhbmQgdGhlIGFuaW1hdGVkIHZhbHVlcyB3ZXJlIG9mIGRpZmZlcmVudCB0eXBlcykKKyAgICAg
ICAgdGhlIGFuaW1hdGlvbiB3YXMgbm90IGJlaW5nIHJlbmRlcmVkIC0gYWx0aG91Z2ggaXQgd2Fz
IHJ1bm5pbmcuCisKKyAgICAgICAgVGVzdHM6IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2Vy
LW9yaWVudHR5cGUtMS5odG1sCisgICAgICAgICAgICAgICBzdmcvYW5pbWF0aW9ucy9hbmltYXRl
LW1hcmtlci1vcmllbnR0eXBlLTIuaHRtbAorICAgICAgICAgICAgICAgc3ZnL2FuaW1hdGlvbnMv
YW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLmh0bWwKKworICAgICAgICAqIHN2Zy9TVkdBbmlt
YXRlZEFuZ2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkQW5nbGVBbmltYXRv
cjo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZSk6CisgICAgICAgIEFkZGVkIGxvZ2ljIHRvIHN1cHBv
cnQgYXV0byB0byBhbmdsZSBhbmltYXRpb24uCisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFya2VyRWxlbWVudDo6b3JpZW50VHlwZSk6
CisgICAgICAgIFRoaXMgbWV0aG9kIG5vdyByZXR1cm5zIHRoZSBhbmltYXRlZCB2YWx1ZSBpZiBh
biBhbmltYXRpb24gaXMKKyAgICAgICAgcnVubmluZy4KKyAgICAgICAgKiBzdmcvU1ZHTWFya2Vy
RWxlbWVudC5oOgorCiAyMDE0LTEwLTMxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgTWFrZSBDU1NEZWZhdWx0U3R5bGVTaGVldHM6OmVuc3VyZURlZmF1bHRTdHls
ZVNoZWV0c0ZvckVsZW1lbnQoKSBmYXN0ZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZEFuZ2xlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWRBbmdsZS5jcHAJKHJldmlzaW9uIDE3NTQyMikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZEFuZ2xlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsMjMgKzk2LDIxIEBAIHZv
aWQgU1ZHQW5pbWF0ZWRBbmdsZUFuaW1hdG9yOjpjYWxjdWxhdGUKICAgICBzdGQ6OnBhaXI8U1ZH
QW5nbGUsIHVuc2lnbmVkPiYgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uID0gYW5pbWF0ZWQt
PmFuZ2xlQW5kRW51bWVyYXRpb24oKTsKIAogICAgIGlmIChmcm9tQW5nbGVBbmRFbnVtZXJhdGlv
bi5zZWNvbmQgIT0gdG9BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCkgewotICAgICAgICAvLyBB
bmltYXRpbmcgZnJvbSBlZy4gYXV0byB0byA5MGRlZywgb3IgYXV0byB0byA5MGRlZy4KLSAgICAg
ICAgaWYgKGZyb21BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCA9PSBTVkdNYXJrZXJPcmllbnRB
bmdsZSkgewotICAgICAgICAgICAgLy8gQW5pbWF0aW5nIGZyb20gYW4gYW5nbGUgdmFsdWUgdG8g
ZWcuICdhdXRvJyAtIHRoaXMgZGlzYWJsZWQgYWRkaXRpdmUgYXMgJ2F1dG8nIGlzIGEga2V5d29y
ZC4uCi0gICAgICAgICAgICBpZiAodG9BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCA9PSBTVkdN
YXJrZXJPcmllbnRBdXRvKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHBlcmNlbnRhZ2UgPCAwLjVm
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJz
dCA9IGZyb21BbmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0OwotICAgICAgICAgICAgICAgICAgICBh
bmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID0gU1ZHTWFya2VyT3JpZW50QW5nbGU7
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICB9CisgICAgICAg
IC8vIERpc2NyZXRlIGFuaW1hdGlvbiAtIG5vIGxpbmVhciBpbnRlcnBvbGF0aW9uIHBvc3NpYmxl
IGJldHdlZW4gdmFsdWVzIChlLmcuIGF1dG8gdG8gYW5nbGUpLgorICAgICAgICBpZiAocGVyY2Vu
dGFnZSA8IDAuNWYpIHsKKyAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5z
ZWNvbmQgPSBmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQ7CisgICAgICAgICAgICBpZiAo
ZnJvbUFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID09IFNWR01hcmtlck9yaWVudEFuZ2xlKQor
ICAgICAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdCA9IGZyb21B
bmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0OworICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdC5zZXRWYWx1ZSgwKTsKLSAgICAg
ICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID0gU1ZHTWFya2Vy
T3JpZW50QXV0bzsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3Quc2V0VmFsdWUoMCk7Ci0g
ICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID0gU1ZHTWFya2Vy
T3JpZW50VW5rbm93bjsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQorICAgICAgICBh
bmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID0gdG9BbmdsZUFuZEVudW1lcmF0aW9u
LnNlY29uZDsKKyAgICAgICAgaWYgKHRvQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPT0gU1ZH
TWFya2VyT3JpZW50QW5nbGUpCisgICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRp
b24uZmlyc3QgPSB0b0FuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3Q7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdC5zZXRWYWx1ZSgwKTsK
KyAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIEZyb20gJ2F1dG8nIHRvICdhdXRvJy4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJKHJldmlzaW9uIDE3
NTQyMikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQ4LDcgKzI0OCwxOCBAQCBQYXNzUmVmUHRyPFNWR0FuaW1hdGVkUHJvcGVy
dHk+IFNWR01hcmtlCiAgICAgcmV0dXJuIFNWR0FuaW1hdGVkUHJvcGVydHk6Omxvb2t1cE9yQ3Jl
YXRlV3JhcHBlcjxTVkdNYXJrZXJFbGVtZW50LCBTVkdBbmltYXRlZEVudW1lcmF0aW9uUHJvcGVy
dHlUZWFyT2ZmPFNWR01hcmtlck9yaWVudFR5cGU+LCBTVkdNYXJrZXJPcmllbnRUeXBlPgogICAg
ICAgICAoJm93bmVyVHlwZSwgb3JpZW50VHlwZVByb3BlcnR5SW5mbygpLCBvd25lclR5cGUubV9v
cmllbnRUeXBlLnZhbHVlKTsKIH0KLSAgCisKK1NWR01hcmtlck9yaWVudFR5cGUmIFNWR01hcmtl
ckVsZW1lbnQ6Om9yaWVudFR5cGUoKSBjb25zdAoreworICAgIGlmIChTVkdBbmltYXRlZEVudW1l
cmF0aW9uKiB3cmFwcGVyID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6bG9va3VwV3JhcHBlcjxVc2VP
d25lclR5cGUsIFNWR0FuaW1hdGVkRW51bWVyYXRpb24+KHRoaXMsIG9yaWVudFR5cGVQcm9wZXJ0
eUluZm8oKSkpIHsKKyAgICAgICAgaWYgKHdyYXBwZXItPmlzQW5pbWF0aW5nKCkpIHsKKyAgICAg
ICAgICAgIEFTU0VSVCh3cmFwcGVyLT5jdXJyZW50QW5pbWF0ZWRWYWx1ZSgpID49IDAgJiYgd3Jh
cHBlci0+Y3VycmVudEFuaW1hdGVkVmFsdWUoKSA8IFNWR01hcmtlck9yaWVudE1heCk7CisgICAg
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxTVkdNYXJrZXJPcmllbnRUeXBlJj4od3Jh
cHBlci0+Y3VycmVudEFuaW1hdGVkVmFsdWUoKSk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG1fb3JpZW50VHlwZS52YWx1ZTsKK30KKwogUGFzc1JlZlB0cjxTVkdBbmltYXRlZEVudW1l
cmF0aW9uUHJvcGVydHlUZWFyT2ZmPFNWR01hcmtlck9yaWVudFR5cGU+PiBTVkdNYXJrZXJFbGVt
ZW50OjpvcmllbnRUeXBlQW5pbWF0ZWQoKQogewogICAgIG1fb3JpZW50VHlwZS5zaG91bGRTeW5j
aHJvbml6ZSA9IHRydWU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgJ
KHJldmlzaW9uIDE3NTQyMikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDEwIEBAIGVudW0gU1ZHTWFya2VyVW5pdHNU
eXBlIHsKIGVudW0gU1ZHTWFya2VyT3JpZW50VHlwZSB7CiAgICAgU1ZHTWFya2VyT3JpZW50VW5r
bm93biA9IDAsCiAgICAgU1ZHTWFya2VyT3JpZW50QXV0bywKLSAgICBTVkdNYXJrZXJPcmllbnRB
bmdsZQorICAgIFNWR01hcmtlck9yaWVudEFuZ2xlLAorCisgICAgLy8gQWRkIG5ldyBlbGVtZW50
cyBiZWZvcmUgaGVyZS4KKyAgICBTVkdNYXJrZXJPcmllbnRNYXgKIH07CiAKIHRlbXBsYXRlPD4K
QEAgLTE1NSw3ICsxNTgsNyBAQCBwdWJsaWM6CiAgICAgLy8gQ3VzdG9tICdvcmllbnRUeXBlJyBw
cm9wZXJ0eS4KICAgICBzdGF0aWMgdm9pZCBzeW5jaHJvbml6ZU9yaWVudFR5cGUoU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR0FuaW1hdGVkUHJv
cGVydHk+IGxvb2t1cE9yQ3JlYXRlT3JpZW50VHlwZVdyYXBwZXIoU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQpOwotICAgIFNWR01hcmtlck9yaWVudFR5cGUmIG9yaWVudFR5cGUoKSBjb25zdCB7
IHJldHVybiBtX29yaWVudFR5cGUudmFsdWU7IH0KKyAgICBTVkdNYXJrZXJPcmllbnRUeXBlJiBv
cmllbnRUeXBlKCkgY29uc3Q7CiAgICAgU1ZHTWFya2VyT3JpZW50VHlwZSYgb3JpZW50VHlwZUJh
c2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZW50VHlwZS52YWx1ZTsgfQogICAgIHZvaWQg
c2V0T3JpZW50VHlwZUJhc2VWYWx1ZShjb25zdCBTVkdNYXJrZXJPcmllbnRUeXBlJiB0eXBlKSB7
IG1fb3JpZW50VHlwZS52YWx1ZSA9IHR5cGU7IH0KICAgICBQYXNzUmVmUHRyPFNWR0FuaW1hdGVk
RW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmY8U1ZHTWFya2VyT3JpZW50VHlwZT4+IG9yaWVudFR5
cGVBbmltYXRlZCgpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTc1NDI5KQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTQtMTAtMzEgIE5p
a29zIEFuZHJrb3MgQW5kcm9uaWtvcyAgPG5pa29zLmFuZHJvbmlrb3Mtd2Via2l0QGNpc3JhLmNh
bm9uLmNvbS5hdT4KKworICAgICAgICBGaXggYW5pbWF0aW9uIG9mIG9yaWVudCBhdHRyaWJ1dGUg
b24gbWFya2VyIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNzk0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRlc3QgdGhlIHJlbmRlcmVkIHJlc3VsdCBvZiB0aGUgYW5pbWF0aW9uIG9mIHRo
ZSBvcmllbnQgYXR0cmlidXRlLgorICAgICAgICBFeGlzdGluZyB0ZXN0cyB3ZXJlIG9ubHkgdGVz
dGluZyB0aGUgYW5pbWF0ZWQgdmFsdWUgaW4gdGhlIERPTS4KKworICAgICAgICAqIHN2Zy9hbmlt
YXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0
eXBlLTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmlt
YXRlLW1hcmtlci1vcmllbnR0eXBlLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1h
dGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLmh0bWw6
IEFkZGVkLgorCiAyMDE0LTEwLTMxICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHdlYmtpdCBwcmVmaXggZnJvbSBDU1MgY29sdW1u
cy4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVu
dHR5cGUtMS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0xLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5
cGUtMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MjAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDUyMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDUwNAorICAgICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoNTgsNTgpIHNpemUgMjE4eDIxOAor
ICAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIge21hcmtlcn0gW2lkPSJhcnJvdyJd
IFttYXJrZXJVbml0cz1zdHJva2VXaWR0aF0gW3JlZiBhdCAoMCwwKV0gW2FuZ2xlPTE4MC4wMF0K
KyAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3BhdGh9IGF0ICg4LDgpIHNpemUgMTd4MTcgW29w
YWNpdHk9MC41MF0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0i
TSA1IDAgTCAwIC01IEwgMCA1IFoiXQorICAgICAgICBSZW5kZXJTVkdQYXRoIHtwYXRofSBhdCAo
NTgsNTgpIHNpemUgMjE4eDIxOCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
fV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbc3RhcnQgbWFya2VyPWFy
cm93XSBbZGF0YT0iTSAyMCAyMCBMIDgwIDgwIl0KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZS1tYXJrZXItb3JpZW50dHlwZS0xLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0xLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBl
LTEuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACis8IWRvY3R5cGUgaHRtbD4K
KzwhLS0KKyAgVGVzdCB0aGF0IHRoZSByZW5kZXJlciB1c2VzIHRoZSBhbmltYXRlZCB2YWx1ZSBv
ZiBvcmllbnRUeXBlLgorICBUbyB0ZXN0IHRoaXMsIHRoZSBmaW5hbCBhbmltYXRlZCB2YWx1ZSBt
dXN0IGJlIG9mIGEgZGlmZmVyZW50IHR5cGUgdGhhbiB0aGUgaW5pdGlhbCB2YWx1ZS4KKyAgVG8g
dmVyaWZ5IHJlbmRlcmluZywgRHVtcFJlbmRlclRyZWUgb3V0cHV0IG11c3QgYmUgZXhhbWluZWQs
IG5vdCBET00gdmFsdWVzLgorIC0tPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGRvVGVzdCgpIHsKKyAg
ICBpZiAodGVzdFJ1bm5lcikgeworICAgICAgICB2YXIgc3ZnID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3Rvcigic3ZnIik7CisgICAgICAgIHN2Zy5wYXVzZUFuaW1hdGlvbnMoKTsKKyAgICAgICAgc3Zn
LnNldEN1cnJlbnRUaW1lKDUpOworICAgIH0KK30KKzwvc2NyaXB0PgorPHN2ZyB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdib3g9IjAgMCAxNTAgMTUwIiB3aWR0aD0iNTAw
IiBoZWlnaHQ9IjUwMCIgb25sb2FkPSJkb1Rlc3QoKSI+CisgICAgPGRlZnM+CisgICAgICAgIDxt
YXJrZXIgaWQ9ImFycm93IiBvcmllbnQ9ImF1dG8iIG1hcmtlcldpZHRoPSIxMCIgbWFya2VySGVp
Z2h0PSIxMCIgc3R5bGU9Im92ZXJmbG93OnZpc2libGUiPgorICAgICAgICAgICAgPHBhdGggZD0i
TTUsMCBMIDAsLTUgTDAsNSB6IiBmaWxsPSJncmVlbiIgb3BhY2l0eT0iMC41IiAvPgorICAgICAg
ICAgICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ib3JpZW50IiBmcm9tPSIwIiB0bz0iMTgwIiBi
ZWdpbj0iMHMiIGR1cj0iMXMiIGZpbGw9ImZyZWV6ZSIvPgorICAgICAgICA8L21hcmtlcj4KKyAg
ICA8L2RlZnM+CisgICAgPHBhdGggZD0iTSAyMCwyMCBMIDgwLDgwIiBtYXJrZXItc3RhcnQ9InVy
bCgjYXJyb3cpIiBzdHJva2U9ImJsYWNrIi8+Cis8L3N2Zz4KKwpJbmRleDogTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0yLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1v
cmllbnR0eXBlLTItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0yLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDUyMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTIwCisgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTA0CisgICAgICBSZW5kZXJTVkdS
b290IHtzdmd9IGF0ICg1OCw3MSkgc2l6ZSAyMTh4MjA1CisgICAgICAgIFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdS
ZXNvdXJjZU1hcmtlciB7bWFya2VyfSBbaWQ9ImFycm93Il0gW21hcmtlclVuaXRzPXN0cm9rZVdp
ZHRoXSBbcmVmIGF0ICgwLDApXSBbYW5nbGU9ODAuMDBdCisgICAgICAgICAgICBSZW5kZXJTVkdQ
YXRoIHtwYXRofSBhdCAoOCw4KSBzaXplIDE3eDE3IFtvcGFjaXR5PTAuNTBdIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0gNSAwIEwgMCAtNSBMIDAgNSBaIl0K
KyAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cGF0aH0gYXQgKDU4LDcxKSBzaXplIDIxOHgyMDUgW3N0
cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDAwMDBdfV0gW3N0YXJ0IG1hcmtlcj1hcnJvd10gW2RhdGE9Ik0gMjAgMjAgTCA4
MCA4MCJdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6
IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudHR5cGUtMi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFy
a2VyLW9yaWVudHR5cGUtMi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0yLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8IS0tCisgIFRlc3QgdGhhdCB0aGUg
cmVuZGVyZXIgdXNlcyB0aGUgYW5pbWF0ZWQgdmFsdWUgb2Ygb3JpZW50VHlwZS4KKyAgVG8gdGVz
dCB0aGlzLCB0aGUgZmluYWwgYW5pbWF0ZWQgdmFsdWUgbXVzdCBiZSBvZiBhIGRpZmZlcmVudCB0
eXBlIHRoYW4gdGhlIGluaXRpYWwgdmFsdWUuCisgIFRvIHZlcmlmeSByZW5kZXJpbmcsIER1bXBS
ZW5kZXJUcmVlIG91dHB1dCBtdXN0IGJlIGV4YW1pbmVkLCBub3QgRE9NIHZhbHVlcy4KKyAtLT4K
KzxzY3JpcHQ+CitmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgaWYgKHRlc3RSdW5uZXIpIHsKKyAg
ICAgICAgdmFyIHN2ZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInN2ZyIpOworICAgICAgICBz
dmcucGF1c2VBbmltYXRpb25zKCk7CisgICAgICAgIHN2Zy5zZXRDdXJyZW50VGltZSg1KTsKKyAg
ICB9Cit9Cis8L3NjcmlwdD4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IiB2aWV3Ym94PSIwIDAgMTUwIDE1MCIgd2lkdGg9IjUwMCIgaGVpZ2h0PSI1MDAiIG9ubG9hZD0i
ZG9UZXN0KCkiPgorICAgIDxkZWZzPgorICAgICAgICA8bWFya2VyIGlkPSJhcnJvdyIgb3JpZW50
PSJhdXRvIiBtYXJrZXJXaWR0aD0iMTAiIG1hcmtlckhlaWdodD0iMTAiIHN0eWxlPSJvdmVyZmxv
dzp2aXNpYmxlIj4KKyAgICAgICAgICAgIDxwYXRoIGQ9Ik01LDAgTCAwLC01IEwwLDUgeiIgZmls
bD0iZ3JlZW4iIG9wYWNpdHk9IjAuNSIgLz4KKyAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0
ZU5hbWU9Im9yaWVudCIgZnJvbT0iYXV0byIgdG89IjgwIiBiZWdpbj0iMHMiIGR1cj0iMXMiIGZp
bGw9ImZyZWV6ZSIvPgorICAgICAgICA8L21hcmtlcj4KKyAgICA8L2RlZnM+CisgICAgPHBhdGgg
ZD0iTSAyMCwyMCBMIDgwLDgwIiBtYXJrZXItc3RhcnQ9InVybCgjYXJyb3cpIiBzdHJva2U9ImJs
YWNrIi8+Cis8L3N2Zz4KKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZS1tYXJrZXItb3JpZW50dHlwZS0zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnR0eXBlLTMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1t
YXJrZXItb3JpZW50dHlwZS0zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDUyMAorICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTIwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTA0CisgICAgICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg2Miw2Mikg
c2l6ZSAyMTR4MjE0CisgICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciB7bWFya2Vy
fSBbaWQ9ImFycm93Il0gW21hcmtlclVuaXRzPXN0cm9rZVdpZHRoXSBbcmVmIGF0ICgwLDApXSBb
YW5nbGU9YXV0b10KKyAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3BhdGh9IGF0ICg4LDgpIHNp
emUgMTd4MTcgW29wYWNpdHk9MC41MF0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAw
MF19XSBbZGF0YT0iTSA1IDAgTCAwIC01IEwgMCA1IFoiXQorICAgICAgICBSZW5kZXJTVkdQYXRo
IHtwYXRofSBhdCAoNjIsNjIpIHNpemUgMjE0eDIxNCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbc3Rh
cnQgbWFya2VyPWFycm93XSBbZGF0YT0iTSAyMCAyMCBMIDgwIDgwIl0KKyAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50dHlwZS0zLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtl
ci1vcmllbnR0eXBlLTMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI1IEBACis8IWRv
Y3R5cGUgaHRtbD4KKzwhLS0KKyAgVGVzdCB0aGF0IHRoZSByZW5kZXJlciB1c2VzIHRoZSBhbmlt
YXRlZCB2YWx1ZSBvZiBvcmllbnRUeXBlLgorICBUbyB0ZXN0IHRoaXMsIHRoZSBmaW5hbCBhbmlt
YXRlZCB2YWx1ZSBtdXN0IGJlIG9mIGEgZGlmZmVyZW50IHR5cGUgdGhhbiB0aGUgaW5pdGlhbCB2
YWx1ZS4KKyAgVG8gdmVyaWZ5IHJlbmRlcmluZywgRHVtcFJlbmRlclRyZWUgb3V0cHV0IG11c3Qg
YmUgZXhhbWluZWQsIG5vdCBET00gdmFsdWVzLgorIC0tPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGRv
VGVzdCgpIHsKKyAgICBpZiAodGVzdFJ1bm5lcikgeworICAgICAgICB2YXIgc3ZnID0gZG9jdW1l
bnQucXVlcnlTZWxlY3Rvcigic3ZnIik7CisgICAgICAgIHN2Zy5wYXVzZUFuaW1hdGlvbnMoKTsK
KyAgICAgICAgc3ZnLnNldEN1cnJlbnRUaW1lKDUpOworICAgIH0KK30KKzwvc2NyaXB0PgorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdib3g9IjAgMCAxNTAgMTUw
IiB3aWR0aD0iNTAwIiBoZWlnaHQ9IjUwMCIgb25sb2FkPSJkb1Rlc3QoKSI+CisgICAgPGRlZnM+
CisgICAgICAgIDxtYXJrZXIgaWQ9ImFycm93IiBvcmllbnQ9IjQ1IiBtYXJrZXJXaWR0aD0iMTAi
IG1hcmtlckhlaWdodD0iMTAiIHN0eWxlPSJvdmVyZmxvdzp2aXNpYmxlIj4KKyAgICAgICAgICAg
IDxwYXRoIGQ9Ik01LDAgTCAwLC01IEwwLDUgeiIgZmlsbD0iZ3JlZW4iIG9wYWNpdHk9IjAuNSIg
Lz4KKyAgICAgICAgICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9Im9yaWVudCIgZnJvbT0iMTM1
IiB0bz0iYXV0byIgYmVnaW49IjBzIiBkdXI9IjFzIiBmaWxsPSJmcmVlemUiLz4KKyAgICAgICAg
PC9tYXJrZXI+CisgICAgPC9kZWZzPgorICAgIDxwYXRoIGQ9Ik0gMjAsMjAgTCA4MCw4MCIgbWFy
a2VyLXN0YXJ0PSJ1cmwoI2Fycm93KSIgc3Ryb2tlPSJibGFjayIvPgorPC9zdmc+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>