<?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>144739</bug_id>
          
          <creation_ts>2015-05-07 04:25:09 -0700</creation_ts>
          <short_desc>Fix sizes crash and add invalid value tests.</short_desc>
          <delta_ts>2015-05-11 01:50:46 -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>New Bugs</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="Yoav Weiss">yoav</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1092567</commentid>
    <comment_count>0</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2015-05-07 04:25:09 -0700</bug_when>
    <thetext>Fix sizes crash and add invalid value tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092569</commentid>
    <comment_count>1</comment_count>
      <attachid>252585</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2015-05-07 04:43:14 -0700</bug_when>
    <thetext>Created attachment 252585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092570</commentid>
    <comment_count>2</comment_count>
      <attachid>252586</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2015-05-07 05:20:41 -0700</bug_when>
    <thetext>Created attachment 252586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092607</commentid>
    <comment_count>3</comment_count>
      <attachid>252586</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-07 09:20:33 -0700</bug_when>
    <thetext>Comment on attachment 252586
Patch

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

I’m OK with this patch, but I think it’s unnecessarily awkward.

&gt; Source/WebCore/css/SourceSizeList.cpp:59
&gt; -static unsigned computeLength(CSSValue* value, RenderStyle&amp; style, RenderView* view)
&gt; +static bool computeLength(CSSValue* value, RenderStyle&amp; style, RenderView* view, unsigned&amp; sourceSizeLength)

Seems a little inelegant to do the checking in the same function that computes lengths, given that we do this work in a loop and we only need the check once. I suggest putting the checking into a separate function. Maybe we should even have parseSizesAttribute use two separate loops for CSSPrimitiveValue and CSSCalcValue rather than constantly branching inside the loop.

&gt; Source/WebCore/css/SourceSizeList.cpp:86
&gt; +            if (!computeLength(sourceSize.length.get(), style, view, sourceSizeLength))
&gt; +                break;

I think it’s strange to check if the value is a length inside this loop instead of checking it outside the loop. The break here is illogical until you think it through.

&gt; Source/WebCore/css/SourceSizeList.cpp:93
&gt; -    return computeLength(CSSPrimitiveValue::create(100, CSSPrimitiveValue::CSS_VW).ptr(), style, view);
&gt; +    if (computeLength(CSSPrimitiveValue::create(100, CSSPrimitiveValue::CSS_VW).ptr(), style, view, sourceSizeLength))
&gt; +        return sourceSizeLength;
&gt; +    ASSERT_NOT_REACHED();
&gt; +    return 0;

Combining the checking with the computation makes this ugly too. That ASSERT_NOT_REACHED is self-inflicted.

Also seems a shame that we have to allocation memory just to reuse code. Could we refactor this so we don’t have to heap-allocated a reference counted object and then delete it just to do the length computation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092718</commentid>
    <comment_count>4</comment_count>
      <attachid>252614</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2015-05-07 13:27:40 -0700</bug_when>
    <thetext>Created attachment 252614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092725</commentid>
    <comment_count>5</comment_count>
      <attachid>252614</attachid>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2015-05-07 13:37:44 -0700</bug_when>
    <thetext>Comment on attachment 252614
Patch

I&apos;ve refactored the code so that it would be more straight forward.

The length check has to happen only after we know we have a CSSPrimitiveLength on our hands, to it has to happen in the loop, but only happens on the first matching expression (in case it is in fact a CSSPrimitiveValue). We also need to maintain a single loop for both lengths and calcs, since the algorithm is a first-match.

Regarding the creation of CSSPrimitiveValue just to calculate length, that is a shame. I&apos;ll try to refactor out the computeLength logic of CSSPrimitiveValue to be static, so that it can be used here without creating a new object. I&apos;ll do that as a separate issue though, since I suspect it may be a large patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092747</commentid>
    <comment_count>6</comment_count>
      <attachid>252614</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-07 14:23:57 -0700</bug_when>
    <thetext>Comment on attachment 252614
Patch

Clearing flags on attachment: 252614

Committed r183948: &lt;http://trac.webkit.org/changeset/183948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092748</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-07 14:24:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093611</commentid>
    <comment_count>8</comment_count>
      <attachid>252614</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-10 15:32:46 -0700</bug_when>
    <thetext>Comment on attachment 252614
Patch

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

&gt; Source/WebCore/css/SourceSizeList.cpp:61
&gt; +    return CSSPrimitiveValue::create(100, CSSPrimitiveValue::CSS_VW)-&gt;computeLength&lt;unsigned&gt;(CSSToLengthConversionData(&amp;style, &amp;style, view));

This needs a FIXME. We want to reimplement this so it does it without allocating a CSSPrimitiveValue object in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093692</commentid>
    <comment_count>9</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2015-05-11 01:50:46 -0700</bug_when>
    <thetext>Added a fixme at https://bugs.webkit.org/show_bug.cgi?id=144861</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252585</attachid>
            <date>2015-05-07 04:43:14 -0700</date>
            <delta_ts>2015-05-07 05:20:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144739-20150507134156.patch</filename>
            <type>text/plain</type>
            <size>7621</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTljMTYzYTA1NGI1NzYy
ZmU0NTM5YTRkYjFmMTM5MzJlYWRiMWRiMS4uMDk3ZDEzOTBjOWQ3M2NjNTAwYjk4MjI4OGJlNjk0
MzRlMGUzNzU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTA1LTA3ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEZpeCBzaXplcyBjcmFzaCBhbmQgYWRk
IGludmFsaWQgdmFsdWUgdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDQ3MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIHN1cmUgdGhhdCBvbmx5IENTUyBsZW5ndGggYXJlIGFsbG93ZWQg
d2hlbiB0aGUgc2l6ZXMgcGFyc2VyIGlzIGNhbGxpbmcgY29tcHV0ZUxlbmd0aC4KKyAgICAgICAg
QWxzbyBtYWtlIHN1cmUgdGhhdCBmb3IgaW52YWxpZCBsZW5ndGhzLCB0aGUgMTAwdncgZGVmYXVs
dCBpcyB1c2VkIGluc3RlYWQuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC9zaXplcy9pbWFnZS1zaXplcy1pbnZhbGlkcy5odG1sCisKKyAgICAgICAgKiBjc3MvU291
cmNlU2l6ZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUxlbmd0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpwYXJzZVNpemVzQXR0cmlidXRlKToKKwogMjAxNS0wNS0wNiAgTWFudWVs
IFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NTIEdyaWQg
TGF5b3V0XSBNYXJrIGdyaWQgc2hvcnRoYW5kcyBhcyBsYXlvdXQgZGVwZW5kZW50CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU291cmNlU2l6ZUxpc3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1NvdXJjZVNpemVMaXN0LmNwcAppbmRleCA2MjQ4N2E5MWRkMmY5ZjJkOTJiYjllN2Vl
MTI2YTkzN2M1ZWFlMTE3Li5hOWZlMDA3NjZjYzEyY2E2ZmY0YjYxN2YwNjRjMjQwODNiNzMyNzdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU291cmNlU2l6ZUxpc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9Tb3VyY2VTaXplTGlzdC5jcHAKQEAgLTU2LDE2ICs1NiwyMiBA
QCBzdGF0aWMgYm9vbCBtYXRjaChzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFRdWVyeUV4cD4mJiBleHBy
ZXNzaW9uLCBSZW5kZXJTdHlsZSYgc3R5bAogICAgIHJldHVybiBtZWRpYVF1ZXJ5RXZhbHVhdG9y
LmV2YWwobWVkaWFRdWVyeVNldC5nZXQoKSk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBjb21wdXRl
TGVuZ3RoKENTU1ZhbHVlKiB2YWx1ZSwgUmVuZGVyU3R5bGUmIHN0eWxlLCBSZW5kZXJWaWV3KiB2
aWV3KQorc3RhdGljIGJvb2wgY29tcHV0ZUxlbmd0aChDU1NWYWx1ZSogdmFsdWUsIFJlbmRlclN0
eWxlJiBzdHlsZSwgUmVuZGVyVmlldyogdmlldywgdW5zaWduZWQmIHNvdXJjZVNpemVMZW5ndGgp
CiB7CiAgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9uRGF0YSgmc3R5bGUs
ICZzdHlsZSwgdmlldyk7Ci0gICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpCi0g
ICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVlKS5jb21wdXRl
TGVuZ3RoPHVuc2lnbmVkPihjb252ZXJzaW9uRGF0YSk7CisgICAgaWYgKGlzPENTU1ByaW1pdGl2
ZVZhbHVlPih2YWx1ZSkpIHsKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUmIHByaW1pdGl2ZVZh
bHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSk7CisgICAgICAgIGlmICgh
cHJpbWl0aXZlVmFsdWUuaXNMZW5ndGgoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgc291cmNlU2l6ZUxlbmd0aCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8dW5z
aWduZWQ+KGNvbnZlcnNpb25EYXRhKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQogICAg
IGlmIChpczxDU1NDYWxjVmFsdWU+KHZhbHVlKSkgewogICAgICAgICBMZW5ndGggbGVuZ3RoKGRv
d25jYXN0PENTU0NhbGNWYWx1ZT4oKnZhbHVlKS5jcmVhdGVDYWxjdWxhdGlvblZhbHVlKGNvbnZl
cnNpb25EYXRhKSk7Ci0gICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGxl
bmd0aCwgJnN0eWxlKS0+Y29tcHV0ZUxlbmd0aDx1bnNpZ25lZD4oY29udmVyc2lvbkRhdGEpOwor
ICAgICAgICBzb3VyY2VTaXplTGVuZ3RoID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShsZW5n
dGgsICZzdHlsZSktPmNvbXB1dGVMZW5ndGg8dW5zaWduZWQ+KGNvbnZlcnNpb25EYXRhKTsKKyAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIHJldHVybiAwOworICAgIHJldHVybiBmYWxz
ZTsKIH0KIAogdW5zaWduZWQgcGFyc2VTaXplc0F0dHJpYnV0ZShTdHJpbmdWaWV3IHNpemVzQXR0
cmlidXRlLCBSZW5kZXJWaWV3KiB2aWV3LCBGcmFtZSogZnJhbWUpCkBAIC03MywxMSArNzksMTcg
QEAgdW5zaWduZWQgcGFyc2VTaXplc0F0dHJpYnV0ZShTdHJpbmdWaWV3IHNpemVzQXR0cmlidXRl
LCBSZW5kZXJWaWV3KiB2aWV3LCBGcmFtZSoKICAgICBpZiAoIXZpZXcpCiAgICAgICAgIHJldHVy
biAwOwogICAgIFJlbmRlclN0eWxlJiBzdHlsZSA9IHZpZXctPnN0eWxlKCk7CisgICAgdW5zaWdu
ZWQgc291cmNlU2l6ZUxlbmd0aDsKICAgICBmb3IgKGF1dG8mIHNvdXJjZVNpemUgOiBDU1NQYXJz
ZXIoQ1NTU3RyaWN0TW9kZSkucGFyc2VTaXplc0F0dHJpYnV0ZShzaXplc0F0dHJpYnV0ZSkpIHsK
LSAgICAgICAgaWYgKG1hdGNoKFdURjo6bW92ZShzb3VyY2VTaXplLmV4cHJlc3Npb24pLCBzdHls
ZSwgZnJhbWUpKQotICAgICAgICAgICAgcmV0dXJuIGNvbXB1dGVMZW5ndGgoc291cmNlU2l6ZS5s
ZW5ndGguZ2V0KCksIHN0eWxlLCB2aWV3KTsKKyAgICAgICAgaWYgKG1hdGNoKFdURjo6bW92ZShz
b3VyY2VTaXplLmV4cHJlc3Npb24pLCBzdHlsZSwgZnJhbWUpKSB7CisgICAgICAgICAgICBpZiAo
IWNvbXB1dGVMZW5ndGgoc291cmNlU2l6ZS5sZW5ndGguZ2V0KCksIHN0eWxlLCB2aWV3LCBzb3Vy
Y2VTaXplTGVuZ3RoKSkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVy
biBzb3VyY2VTaXplTGVuZ3RoOworICAgICAgICB9CiAgICAgfQotICAgIHJldHVybiBjb21wdXRl
TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoMTAwLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1ZXKS5wdHIoKSwgc3R5bGUsIHZpZXcpOworICAgIGlmIChjb21wdXRlTGVuZ3RoKENTU1By
aW1pdGl2ZVZhbHVlOjpjcmVhdGUoMTAwLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1ZXKS5wdHIo
KSwgc3R5bGUsIHZpZXcsIHNvdXJjZVNpemVMZW5ndGgpKQorICAgICAgICByZXR1cm4gc291cmNl
U2l6ZUxlbmd0aDsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYzk1MTljYTdiZjYzNmMxODNiNzEyMjA1ZDA5MjYwNDRlODJkNjU1Ny4uM2FhOThhOGU2NjIw
OGIyYTIzNTM0MjdmMjI1YTJiZGVkMGE3MjcwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1
LTA1LTA3ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCisgICAgICAgIEZpeCBzaXplcyBj
cmFzaCBhbmQgYWRkIGludmFsaWQgdmFsdWUgdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ3MzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgdGhhdCBtYWtlIHN1cmUgdGhhdCBp
bnZhbGlkIHZhbHVlcyBhcmUgcHJvcGVybHkgaGFuZGxlZCwgYW5kIGEgMTAwdncKKyAgICAgICAg
c291cmNlLXNpemUgbGVuZ3RoIGlzIGJlaW5nIHVzZWQgZm9yIHNyY3NldCBhbmQgZm9yIGludHJp
bnNpYyBkaW1lbnNpb24gY2FsY3VsYXRpb24uCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy1p
bnZhbGlkcy5odG1sOiBBZGRlZC4KKwogMjAxNS0wNS0wNiAgWW9hdiBXZWlzcyAgPHlvYXZAeW9h
di53cz4KIAogICAgICAgICBBZGQgc3Jjc2V0IHByZWxvYWRlciB0ZXN0cwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy1p
bnZhbGlkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVt
ZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
NGU0MDE4Mjc4MGNkMjhjMjkyZDM2NGUzOGU1NTI4OTQ2ZGZmOGYwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXpl
cy1pbnZhbGlkcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorUEFTUyBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChlbGVtZW50SWQpLmNsaWVudFdpZHRoIGlzIDgwMAorUEFTUyBjdXJyZW50
U3JjRmlsZU5hbWUoZWxlbWVudElkKSBpcyAiaW1hZ2Utc2V0LTJ4LnBuZyIKK1BBU1MgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKS5jbGllbnRXaWR0aCBpcyA4MDAKK1BBU1MgY3Vy
cmVudFNyY0ZpbGVOYW1lKGVsZW1lbnRJZCkgaXMgImltYWdlLXNldC0yeC5wbmciCitQQVNTIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCkuY2xpZW50V2lkdGggaXMgODAwCitQQVNT
IGN1cnJlbnRTcmNGaWxlTmFtZShlbGVtZW50SWQpIGlzICJpbWFnZS1zZXQtMngucG5nIgorUEFT
UyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpLmNsaWVudFdpZHRoIGlzIDgwMAor
UEFTUyBjdXJyZW50U3JjRmlsZU5hbWUoZWxlbWVudElkKSBpcyAiaW1hZ2Utc2V0LTJ4LnBuZyIK
K1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKS5jbGllbnRXaWR0aCBpcyA4
MDAKK1BBU1MgY3VycmVudFNyY0ZpbGVOYW1lKGVsZW1lbnRJZCkgaXMgImltYWdlLXNldC0yeC5w
bmciCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCkuY2xpZW50V2lkdGgg
aXMgODAwCitQQVNTIGN1cnJlbnRTcmNGaWxlTmFtZShlbGVtZW50SWQpIGlzICJpbWFnZS1zZXQt
MngucG5nIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisgICAgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVt
ZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTIxNWFiYzA1NzdmZmVjODUxNWEzYWJiOTFjNWE1YTQ1MDIzNGI1OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1h
Z2Utc2l6ZXMtaW52YWxpZHMuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2N1cnJlbnRTcmNIZWxwZXIuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworCisgICAgdmFyIGVsZW1lbnRJZDsKKyAgICBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgNzsg
KytpKSB7CisgICAgICAgICAgICBlbGVtZW50SWQgPSAiY3Jhc2giICsgaTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpLmNsaWVudFdpZHRo
JywgJzgwMCcpOworICAgICAgICAgICAgc2hvdWxkQmUoJ2N1cnJlbnRTcmNGaWxlTmFtZShlbGVt
ZW50SWQpJywgJyJpbWFnZS1zZXQtMngucG5nIicpOworICAgICAgICB9CisgICAgfSwgZmFsc2Up
OworPC9zY3JpcHQ+Cis8IS0tIGNyYXNoIHRlc3RzIC0tPgorPGltZyBpZD0iY3Jhc2gxIiBzaXpl
cz0iMXEiIHNyY3NldD0iLi4vLi4vLi4vaGlkcGkvcmVzb3VyY2VzL2ltYWdlLXNldC0yeC5wbmcg
ODAwdywgLi4vcmVzb3VyY2VzL2ltYWdlLXNldC00eC5wbmcgMTYwMDB3Ij4KKzxpbWcgaWQ9ImNy
YXNoMSIgc2l6ZXM9IjFweGxsbGwiIHNyY3NldD0iLi4vLi4vLi4vaGlkcGkvcmVzb3VyY2VzL2lt
YWdlLXNldC0yeC5wbmcgODAwdywgLi4vcmVzb3VyY2VzL2ltYWdlLXNldC00eC5wbmcgMTYwMDB3
Ij4KKzxpbWcgaWQ9ImNyYXNoMiIgc2l6ZXM9IjFkZnNkZjQ1MzRmZGRkIiBzcmNzZXQ9Ii4uLy4u
Ly4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgwMHcsIC4uL3Jlc291cmNlcy9p
bWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8aW1nIGlkPSJjcmFzaDMiIHNpemVzPSJjYWxjKCki
IHNyY3NldD0iLi4vLi4vLi4vaGlkcGkvcmVzb3VyY2VzL2ltYWdlLXNldC0yeC5wbmcgODAwdywg
Li4vcmVzb3VyY2VzL2ltYWdlLXNldC00eC5wbmcgMTYwMDB3Ij4KKzxpbWcgaWQ9ImNyYXNoNCIg
c2l6ZXM9ImNhbGMoM3EpIiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1z
ZXQtMngucG5nIDgwMHcsIC4uL3Jlc291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8
aW1nIGlkPSJjcmFzaDQiIHNpemVzPSJjYWxjc3NkZmYoKSIgc3Jjc2V0PSIuLi8uLi8uLi9oaWRw
aS9yZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4MDB3LCAuLi9yZXNvdXJjZXMvaW1hZ2Utc2V0
LTR4LnBuZyAxNjAwMHciPgorPGltZyBpZD0iY3Jhc2g1IiBzaXplcz0iY2FsYygycHgrZGZtamJz
ZiwsLHNraWRraykiIHNyY3NldD0iLi4vLi4vLi4vaGlkcGkvcmVzb3VyY2VzL2ltYWdlLXNldC0y
eC5wbmcgODAwdywgLi4vcmVzb3VyY2VzL2ltYWdlLXNldC00eC5wbmcgMTYwMDB3Ij4KKzxpbWcg
aWQ9ImNyYXNoNiIgc2l6ZXM9ImNhbGMoMnB4K2RmbWpic2YsLCxza2lka2spICsgMnB4LCA1NnB4
IiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgwMHcs
IC4uL3Jlc291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252586</attachid>
            <date>2015-05-07 05:20:41 -0700</date>
            <delta_ts>2015-05-07 13:27:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144739-20150507141923.patch</filename>
            <type>text/plain</type>
            <size>7724</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzOTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTEyMTVmMjBlMzExNjcz
YjA2OGE1YzIyYWQwMmVlZWUwMTliMTUxMy4uZDFjZDEzZGRiZTI2NTc4YWQwZThhY2U1ZTg5MWEx
MDA0ZTFjZGFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDE1LTA1LTA3ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgogCisgICAgICAgIEZpeCBzaXplcyBjcmFzaCBhbmQgYWRk
IGludmFsaWQgdmFsdWUgdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDQ3MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIHN1cmUgdGhhdCBvbmx5IENTUyBsZW5ndGggYXJlIGFsbG93ZWQg
d2hlbiB0aGUgc2l6ZXMgcGFyc2VyIGlzIGNhbGxpbmcgY29tcHV0ZUxlbmd0aC4KKyAgICAgICAg
QWxzbyBtYWtlIHN1cmUgdGhhdCBmb3IgaW52YWxpZCBsZW5ndGhzLCB0aGUgMTAwdncgZGVmYXVs
dCBpcyB1c2VkIGluc3RlYWQuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vSFRNTEltYWdlRWxl
bWVudC9zaXplcy9pbWFnZS1zaXplcy1pbnZhbGlkcy5odG1sCisKKyAgICAgICAgKiBjc3MvU291
cmNlU2l6ZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUxlbmd0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpwYXJzZVNpemVzQXR0cmlidXRlKToKKworMjAxNS0wNS0wNyAgWW9hdiBX
ZWlzcyAgPHlvYXZAeW9hdi53cz4KKwogICAgICAgICBGaXggPHNjcmlwdCBzcmNzZXQ+IGJlaW5n
IGxvYWRlZCBieSB0aGUgcHJlbG9hZGVyLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0Njc1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Tb3VyY2VTaXplTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU291cmNlU2l6ZUxpc3Qu
Y3BwCmluZGV4IDYyNDg3YTkxZGQyZjlmMmQ5MmJiOWU3ZWUxMjZhOTM3YzVlYWUxMTcuLjk0ZmE3
YWNlNTNhZTg3MGMzOWYwMWU0ZWVlZTk0MzA1ZTI5NThmYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9Tb3VyY2VTaXplTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1Nv
dXJjZVNpemVMaXN0LmNwcApAQCAtNTYsMTYgKzU2LDIyIEBAIHN0YXRpYyBib29sIG1hdGNoKHN0
ZDo6dW5pcXVlX3B0cjxNZWRpYVF1ZXJ5RXhwPiYmIGV4cHJlc3Npb24sIFJlbmRlclN0eWxlJiBz
dHlsCiAgICAgcmV0dXJuIG1lZGlhUXVlcnlFdmFsdWF0b3IuZXZhbChtZWRpYVF1ZXJ5U2V0Lmdl
dCgpKTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGNvbXB1dGVMZW5ndGgoQ1NTVmFsdWUqIHZhbHVl
LCBSZW5kZXJTdHlsZSYgc3R5bGUsIFJlbmRlclZpZXcqIHZpZXcpCitzdGF0aWMgYm9vbCBjb21w
dXRlTGVuZ3RoKENTU1ZhbHVlKiB2YWx1ZSwgUmVuZGVyU3R5bGUmIHN0eWxlLCBSZW5kZXJWaWV3
KiB2aWV3LCB1bnNpZ25lZCYgc291cmNlU2l6ZUxlbmd0aCkKIHsKICAgICBDU1NUb0xlbmd0aENv
bnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRhKCZzdHlsZSwgJnN0eWxlLCB2aWV3KTsKLSAgICBp
ZiAoaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0
PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpLmNvbXB1dGVMZW5ndGg8dW5zaWduZWQ+KGNvbnZl
cnNpb25EYXRhKTsKKyAgICBpZiAoaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkgeworICAg
ICAgICBDU1NQcmltaXRpdmVWYWx1ZSYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZT4oKnZhbHVlKTsKKyAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZS5pc0xlbmd0
aCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBzb3VyY2VTaXplTGVuZ3Ro
ID0gcHJpbWl0aXZlVmFsdWUuY29tcHV0ZUxlbmd0aDx1bnNpZ25lZD4oY29udmVyc2lvbkRhdGEp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CiAgICAgaWYgKGlzPENTU0NhbGNWYWx1ZT4o
dmFsdWUpKSB7CiAgICAgICAgIExlbmd0aCBsZW5ndGgoZG93bmNhc3Q8Q1NTQ2FsY1ZhbHVlPigq
dmFsdWUpLmNyZWF0ZUNhbGN1bGF0aW9uVmFsdWUoY29udmVyc2lvbkRhdGEpKTsKLSAgICAgICAg
cmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobGVuZ3RoLCAmc3R5bGUpLT5jb21wdXRl
TGVuZ3RoPHVuc2lnbmVkPihjb252ZXJzaW9uRGF0YSk7CisgICAgICAgIHNvdXJjZVNpemVMZW5n
dGggPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGxlbmd0aCwgJnN0eWxlKS0+Y29tcHV0ZUxl
bmd0aDx1bnNpZ25lZD4oY29udmVyc2lvbkRhdGEpOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB1bnNpZ25lZCBwYXJz
ZVNpemVzQXR0cmlidXRlKFN0cmluZ1ZpZXcgc2l6ZXNBdHRyaWJ1dGUsIFJlbmRlclZpZXcqIHZp
ZXcsIEZyYW1lKiBmcmFtZSkKQEAgLTczLDExICs3OSwxOCBAQCB1bnNpZ25lZCBwYXJzZVNpemVz
QXR0cmlidXRlKFN0cmluZ1ZpZXcgc2l6ZXNBdHRyaWJ1dGUsIFJlbmRlclZpZXcqIHZpZXcsIEZy
YW1lKgogICAgIGlmICghdmlldykKICAgICAgICAgcmV0dXJuIDA7CiAgICAgUmVuZGVyU3R5bGUm
IHN0eWxlID0gdmlldy0+c3R5bGUoKTsKKyAgICB1bnNpZ25lZCBzb3VyY2VTaXplTGVuZ3RoOwog
ICAgIGZvciAoYXV0byYgc291cmNlU2l6ZSA6IENTU1BhcnNlcihDU1NTdHJpY3RNb2RlKS5wYXJz
ZVNpemVzQXR0cmlidXRlKHNpemVzQXR0cmlidXRlKSkgewotICAgICAgICBpZiAobWF0Y2goV1RG
Ojptb3ZlKHNvdXJjZVNpemUuZXhwcmVzc2lvbiksIHN0eWxlLCBmcmFtZSkpCi0gICAgICAgICAg
ICByZXR1cm4gY29tcHV0ZUxlbmd0aChzb3VyY2VTaXplLmxlbmd0aC5nZXQoKSwgc3R5bGUsIHZp
ZXcpOworICAgICAgICBpZiAobWF0Y2goV1RGOjptb3ZlKHNvdXJjZVNpemUuZXhwcmVzc2lvbiks
IHN0eWxlLCBmcmFtZSkpIHsKKyAgICAgICAgICAgIGlmICghY29tcHV0ZUxlbmd0aChzb3VyY2VT
aXplLmxlbmd0aC5nZXQoKSwgc3R5bGUsIHZpZXcsIHNvdXJjZVNpemVMZW5ndGgpKQorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIHNvdXJjZVNpemVMZW5ndGg7Cisg
ICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJuIGNvbXB1dGVMZW5ndGgoQ1NTUHJpbWl0aXZlVmFs
dWU6OmNyZWF0ZSgxMDAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVlcpLnB0cigpLCBzdHlsZSwg
dmlldyk7CisgICAgaWYgKGNvbXB1dGVMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSgx
MDAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVlcpLnB0cigpLCBzdHlsZSwgdmlldywgc291cmNl
U2l6ZUxlbmd0aCkpCisgICAgICAgIHJldHVybiBzb3VyY2VTaXplTGVuZ3RoOworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZTI4
ODk0MGE4ZmU4ZDcwMDFmYTczYjU3YThhZTZiMTE3ZjFhM2FkLi5jOWIyODgzNjU2OWM5ZWJkMDlj
YmI4MTlhZDU3MGQxYjM5YWFkOWI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDUtMDcg
IFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgRml4IHNpemVzIGNyYXNoIGFu
ZCBhZGQgaW52YWxpZCB2YWx1ZSB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0NDczOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyB0aGF0IG1ha2Ugc3VyZSB0aGF0IGludmFsaWQg
dmFsdWVzIGFyZSBwcm9wZXJseSBoYW5kbGVkLCBhbmQgYSAxMDB2dworICAgICAgICBzb3VyY2Ut
c2l6ZSBsZW5ndGggaXMgYmVpbmcgdXNlZCBmb3Igc3Jjc2V0IGFuZCBmb3IgaW50cmluc2ljIGRp
bWVuc2lvbiBjYWxjdWxhdGlvbi4KKworICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtaW52YWxpZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRz
Lmh0bWw6IEFkZGVkLgorCiAyMDE1LTA1LTA3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gUkVHUkVTU0lPTihyMTgzOTA3KTogSXQgbWFkZSBh
bGwgaW5zcGVjdG9yLXByb3RvY29sIHRlc3QgY3Jhc2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtaW52YWxpZHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9p
bWFnZS1zaXplcy1pbnZhbGlkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRlNDAxODI3ODBj
ZDI4YzI5MmQzNjRlMzhlNTUyODk0NmRmZjhmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtaW52YWxpZHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoZWxlbWVudElkKS5jbGllbnRXaWR0aCBpcyA4MDAKK1BBU1MgY3VycmVudFNyY0ZpbGVOYW1l
KGVsZW1lbnRJZCkgaXMgImltYWdlLXNldC0yeC5wbmciCitQQVNTIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKGVsZW1lbnRJZCkuY2xpZW50V2lkdGggaXMgODAwCitQQVNTIGN1cnJlbnRTcmNGaWxl
TmFtZShlbGVtZW50SWQpIGlzICJpbWFnZS1zZXQtMngucG5nIgorUEFTUyBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChlbGVtZW50SWQpLmNsaWVudFdpZHRoIGlzIDgwMAorUEFTUyBjdXJyZW50U3Jj
RmlsZU5hbWUoZWxlbWVudElkKSBpcyAiaW1hZ2Utc2V0LTJ4LnBuZyIKK1BBU1MgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKS5jbGllbnRXaWR0aCBpcyA4MDAKK1BBU1MgY3VycmVu
dFNyY0ZpbGVOYW1lKGVsZW1lbnRJZCkgaXMgImltYWdlLXNldC0yeC5wbmciCitQQVNTIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCkuY2xpZW50V2lkdGggaXMgODAwCitQQVNTIGN1
cnJlbnRTcmNGaWxlTmFtZShlbGVtZW50SWQpIGlzICJpbWFnZS1zZXQtMngucG5nIgorUEFTUyBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpLmNsaWVudFdpZHRoIGlzIDgwMAorUEFT
UyBjdXJyZW50U3JjRmlsZU5hbWUoZWxlbWVudElkKSBpcyAiaW1hZ2Utc2V0LTJ4LnBuZyIKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICAgICAgIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9p
bWFnZS1zaXplcy1pbnZhbGlkcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdl
RWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy1pbnZhbGlkcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMTVh
YmMwNTc3ZmZlYzg1MTVhM2FiYjkxYzVhNWE0NTAyMzRiNTgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWlu
dmFsaWRzLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9jdXJyZW50U3JjSGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKworICAgIHZhciBlbGVtZW50SWQ7CisgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IGZ1bmN0aW9uKCkgeworICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IDc7ICsraSkgeworICAg
ICAgICAgICAgZWxlbWVudElkID0gImNyYXNoIiArIGk7CisgICAgICAgICAgICBzaG91bGRCZSgn
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKS5jbGllbnRXaWR0aCcsICc4MDAnKTsK
KyAgICAgICAgICAgIHNob3VsZEJlKCdjdXJyZW50U3JjRmlsZU5hbWUoZWxlbWVudElkKScsICci
aW1hZ2Utc2V0LTJ4LnBuZyInKTsKKyAgICAgICAgfQorICAgIH0sIGZhbHNlKTsKKzwvc2NyaXB0
PgorPCEtLSBjcmFzaCB0ZXN0cyAtLT4KKzxpbWcgaWQ9ImNyYXNoMSIgc2l6ZXM9IjFxIiBzcmNz
ZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgwMHcsIC4uL3Jl
c291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8aW1nIGlkPSJjcmFzaDEiIHNpemVz
PSIxcHhsbGxsIiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngu
cG5nIDgwMHcsIC4uL3Jlc291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8aW1nIGlk
PSJjcmFzaDIiIHNpemVzPSIxZGZzZGY0NTM0ZmRkZCIgc3Jjc2V0PSIuLi8uLi8uLi9oaWRwaS9y
ZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4MDB3LCAuLi9yZXNvdXJjZXMvaW1hZ2Utc2V0LTR4
LnBuZyAxNjAwMHciPgorPGltZyBpZD0iY3Jhc2gzIiBzaXplcz0iY2FsYygpIiBzcmNzZXQ9Ii4u
Ly4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgwMHcsIC4uL3Jlc291cmNl
cy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8aW1nIGlkPSJjcmFzaDQiIHNpemVzPSJjYWxj
KDNxKSIgc3Jjc2V0PSIuLi8uLi8uLi9oaWRwaS9yZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4
MDB3LCAuLi9yZXNvdXJjZXMvaW1hZ2Utc2V0LTR4LnBuZyAxNjAwMHciPgorPGltZyBpZD0iY3Jh
c2g0IiBzaXplcz0iY2FsY3NzZGZmKCkiIHNyY3NldD0iLi4vLi4vLi4vaGlkcGkvcmVzb3VyY2Vz
L2ltYWdlLXNldC0yeC5wbmcgODAwdywgLi4vcmVzb3VyY2VzL2ltYWdlLXNldC00eC5wbmcgMTYw
MDB3Ij4KKzxpbWcgaWQ9ImNyYXNoNSIgc2l6ZXM9ImNhbGMoMnB4K2RmbWpic2YsLCxza2lka2sp
IiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgwMHcs
IC4uL3Jlc291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8aW1nIGlkPSJjcmFzaDYi
IHNpemVzPSJjYWxjKDJweCtkZm1qYnNmLCwsc2tpZGtrKSArIDJweCwgNTZweCIgc3Jjc2V0PSIu
Li8uLi8uLi9oaWRwaS9yZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4MDB3LCAuLi9yZXNvdXJj
ZXMvaW1hZ2Utc2V0LTR4LnBuZyAxNjAwMHciPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252614</attachid>
            <date>2015-05-07 13:27:40 -0700</date>
            <delta_ts>2015-05-07 14:23:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144739-20150507222621.patch</filename>
            <type>text/plain</type>
            <size>7148</size>
            <attacher name="Yoav Weiss">yoav</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzOTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTEyMTVmMjBlMzExNjcz
YjA2OGE1YzIyYWQwMmVlZWUwMTliMTUxMy4uMjU0ODAzODY3MWQzNzZiZjJkZGEyNDVlZWE4MmI3
ZTJlMDgxMjkxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE1LTA1LTA3ICBZb2F2
IFdlaXNzICA8eW9hdkB5b2F2LndzPgogCisgICAgICAgIEZpeCBzaXplcyBjcmFzaCBhbmQgYWRk
IGludmFsaWQgdmFsdWUgdGVzdHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDQ3MzkKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBNYWtlIHN1cmUgdGhhdCBvbmx5IENTUyBsZW5ndGggYXJlIGFsbG93ZWQgd2hl
biB0aGUgc2l6ZXMgcGFyc2VyIGlzIGNhbGxpbmcgY29tcHV0ZUxlbmd0aC4KKyAgICAgICAgQWxz
byBtYWtlIHN1cmUgdGhhdCBmb3IgaW52YWxpZCBsZW5ndGhzLCB0aGUgMTAwdncgZGVmYXVsdCBp
cyB1c2VkIGluc3RlYWQuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vSFRNTEltYWdlRWxlbWVu
dC9zaXplcy9pbWFnZS1zaXplcy1pbnZhbGlkcy5odG1sCisKKyAgICAgICAgKiBjc3MvU291cmNl
U2l6ZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZUxlbmd0aCk6CisgICAgICAg
IChXZWJDb3JlOjpkZWZhdWx0TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU2l6ZXNB
dHRyaWJ1dGUpOgorCisyMDE1LTA1LTA3ICBZb2F2IFdlaXNzICA8eW9hdkB5b2F2LndzPgorCiAg
ICAgICAgIEZpeCA8c2NyaXB0IHNyY3NldD4gYmVpbmcgbG9hZGVkIGJ5IHRoZSBwcmVsb2FkZXIu
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ2NzUK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NvdXJjZVNpemVMaXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Tb3VyY2VTaXplTGlzdC5jcHAKaW5kZXggNjI0ODdhOTFkZDJmOWYy
ZDkyYmI5ZTdlZTEyNmE5MzdjNWVhZTExNy4uNjU2OTFmZjY2ZmI0NjBmYmE5YTJhMjA1OGYyMmNl
YTU0YjJhMmRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NvdXJjZVNpemVMaXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU291cmNlU2l6ZUxpc3QuY3BwCkBAIC01Niwx
NiArNTYsMjUgQEAgc3RhdGljIGJvb2wgbWF0Y2goc3RkOjp1bmlxdWVfcHRyPE1lZGlhUXVlcnlF
eHA+JiYgZXhwcmVzc2lvbiwgUmVuZGVyU3R5bGUmIHN0eWwKICAgICByZXR1cm4gbWVkaWFRdWVy
eUV2YWx1YXRvci5ldmFsKG1lZGlhUXVlcnlTZXQuZ2V0KCkpOwogfQogCitzdGF0aWMgdW5zaWdu
ZWQgZGVmYXVsdExlbmd0aChSZW5kZXJTdHlsZSYgc3R5bGUsIFJlbmRlclZpZXcqIHZpZXcpCit7
CisgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoMTAwLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1ZXKS0+Y29tcHV0ZUxlbmd0aDx1bnNpZ25lZD4oQ1NTVG9MZW5ndGhDb252ZXJz
aW9uRGF0YSgmc3R5bGUsICZzdHlsZSwgdmlldykpOworfQorCiBzdGF0aWMgdW5zaWduZWQgY29t
cHV0ZUxlbmd0aChDU1NWYWx1ZSogdmFsdWUsIFJlbmRlclN0eWxlJiBzdHlsZSwgUmVuZGVyVmll
dyogdmlldykKIHsKICAgICBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhIGNvbnZlcnNpb25EYXRh
KCZzdHlsZSwgJnN0eWxlLCB2aWV3KTsKLSAgICBpZiAoaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZh
bHVlKSkKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUp
LmNvbXB1dGVMZW5ndGg8dW5zaWduZWQ+KGNvbnZlcnNpb25EYXRhKTsKKyAgICBpZiAoaXM8Q1NT
UHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkgeworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSYgcHJp
bWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVlKTsKKyAgICAg
ICAgaWYgKCFwcmltaXRpdmVWYWx1ZS5pc0xlbmd0aCgpKQorICAgICAgICAgICAgcmV0dXJuIGRl
ZmF1bHRMZW5ndGgoc3R5bGUsIHZpZXcpOworICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWUu
Y29tcHV0ZUxlbmd0aDx1bnNpZ25lZD4oY29udmVyc2lvbkRhdGEpOworICAgIH0KICAgICBpZiAo
aXM8Q1NTQ2FsY1ZhbHVlPih2YWx1ZSkpIHsKICAgICAgICAgTGVuZ3RoIGxlbmd0aChkb3duY2Fz
dDxDU1NDYWxjVmFsdWU+KCp2YWx1ZSkuY3JlYXRlQ2FsY3VsYXRpb25WYWx1ZShjb252ZXJzaW9u
RGF0YSkpOwogICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShsZW5ndGgs
ICZzdHlsZSktPmNvbXB1dGVMZW5ndGg8dW5zaWduZWQ+KGNvbnZlcnNpb25EYXRhKTsKICAgICB9
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGRlZmF1bHRMZW5ndGgoc3R5bGUsIHZpZXcpOwog
fQogCiB1bnNpZ25lZCBwYXJzZVNpemVzQXR0cmlidXRlKFN0cmluZ1ZpZXcgc2l6ZXNBdHRyaWJ1
dGUsIFJlbmRlclZpZXcqIHZpZXcsIEZyYW1lKiBmcmFtZSkKQEAgLTc3LDcgKzg2LDcgQEAgdW5z
aWduZWQgcGFyc2VTaXplc0F0dHJpYnV0ZShTdHJpbmdWaWV3IHNpemVzQXR0cmlidXRlLCBSZW5k
ZXJWaWV3KiB2aWV3LCBGcmFtZSoKICAgICAgICAgaWYgKG1hdGNoKFdURjo6bW92ZShzb3VyY2VT
aXplLmV4cHJlc3Npb24pLCBzdHlsZSwgZnJhbWUpKQogICAgICAgICAgICAgcmV0dXJuIGNvbXB1
dGVMZW5ndGgoc291cmNlU2l6ZS5sZW5ndGguZ2V0KCksIHN0eWxlLCB2aWV3KTsKICAgICB9Ci0g
ICAgcmV0dXJuIGNvbXB1dGVMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSgxMDAsIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfVlcpLnB0cigpLCBzdHlsZSwgdmlldyk7CisgICAgcmV0dXJu
IGRlZmF1bHRMZW5ndGgoc3R5bGUsIHZpZXcpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZTI4ODk0
MGE4ZmU4ZDcwMDFmYTczYjU3YThhZTZiMTE3ZjFhM2FkLi5lMDE4ZGM3OTIwMjAyOGVkZjVlZTJi
YWQwMGY3ZTIyZTFjNjAyNzRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDUtMDcgIFlv
YXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CisKKyAgICAgICAgRml4IHNpemVzIGNyYXNoIGFuZCBh
ZGQgaW52YWxpZCB2YWx1ZSB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0NDczOQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIEFkZCB0ZXN0cyB0aGF0IG1ha2Ugc3VyZSB0aGF0IGludmFsaWQgdmFsdWVz
IGFyZSBwcm9wZXJseSBoYW5kbGVkLCBhbmQgYSAxMDB2dworICAgICAgICBzb3VyY2Utc2l6ZSBs
ZW5ndGggaXMgYmVpbmcgdXNlZCBmb3Igc3Jjc2V0IGFuZCBmb3IgaW50cmluc2ljIGRpbWVuc2lv
biBjYWxjdWxhdGlvbi4KKworICAgICAgICAqIGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6
ZXMvaW1hZ2Utc2l6ZXMtaW52YWxpZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRzLmh0bWw6
IEFkZGVkLgorCiAyMDE1LTA1LTA3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW0VGTF0gUkVHUkVTU0lPTihyMTgzOTA3KTogSXQgbWFkZSBhbGwgaW5z
cGVjdG9yLXByb3RvY29sIHRlc3QgY3Jhc2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtaW52YWxpZHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1z
aXplcy1pbnZhbGlkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRlNDAxODI3ODBjZDI4YzI5
MmQzNjRlMzhlNTUyODk0NmRmZjhmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtaW52YWxpZHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxl
bWVudElkKS5jbGllbnRXaWR0aCBpcyA4MDAKK1BBU1MgY3VycmVudFNyY0ZpbGVOYW1lKGVsZW1l
bnRJZCkgaXMgImltYWdlLXNldC0yeC5wbmciCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGVsZW1lbnRJZCkuY2xpZW50V2lkdGggaXMgODAwCitQQVNTIGN1cnJlbnRTcmNGaWxlTmFtZShl
bGVtZW50SWQpIGlzICJpbWFnZS1zZXQtMngucG5nIgorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChlbGVtZW50SWQpLmNsaWVudFdpZHRoIGlzIDgwMAorUEFTUyBjdXJyZW50U3JjRmlsZU5h
bWUoZWxlbWVudElkKSBpcyAiaW1hZ2Utc2V0LTJ4LnBuZyIKK1BBU1MgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoZWxlbWVudElkKS5jbGllbnRXaWR0aCBpcyA4MDAKK1BBU1MgY3VycmVudFNyY0Zp
bGVOYW1lKGVsZW1lbnRJZCkgaXMgImltYWdlLXNldC0yeC5wbmciCitQQVNTIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGVsZW1lbnRJZCkuY2xpZW50V2lkdGggaXMgODAwCitQQVNTIGN1cnJlbnRT
cmNGaWxlTmFtZShlbGVtZW50SWQpIGlzICJpbWFnZS1zZXQtMngucG5nIgorUEFTUyBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpLmNsaWVudFdpZHRoIGlzIDgwMAorUEFTUyBjdXJy
ZW50U3JjRmlsZU5hbWUoZWxlbWVudElkKSBpcyAiaW1hZ2Utc2V0LTJ4LnBuZyIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICAgICAgIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1z
aXplcy1pbnZhbGlkcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVu
dC9zaXplcy9pbWFnZS1zaXplcy1pbnZhbGlkcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMTVhYmMwNTc3
ZmZlYzg1MTVhM2FiYjkxYzVhNWE0NTAyMzRiNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRz
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9jdXJyZW50U3JjSGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KworICAgIHZhciBlbGVtZW50SWQ7CisgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0
aW9uKCkgeworICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IDc7ICsraSkgeworICAgICAgICAg
ICAgZWxlbWVudElkID0gImNyYXNoIiArIGk7CisgICAgICAgICAgICBzaG91bGRCZSgnZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKS5jbGllbnRXaWR0aCcsICc4MDAnKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCdjdXJyZW50U3JjRmlsZU5hbWUoZWxlbWVudElkKScsICciaW1hZ2Ut
c2V0LTJ4LnBuZyInKTsKKyAgICAgICAgfQorICAgIH0sIGZhbHNlKTsKKzwvc2NyaXB0PgorPCEt
LSBjcmFzaCB0ZXN0cyAtLT4KKzxpbWcgaWQ9ImNyYXNoMSIgc2l6ZXM9IjFxIiBzcmNzZXQ9Ii4u
Ly4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgwMHcsIC4uL3Jlc291cmNl
cy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8aW1nIGlkPSJjcmFzaDEiIHNpemVzPSIxcHhs
bGxsIiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgw
MHcsIC4uL3Jlc291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8aW1nIGlkPSJjcmFz
aDIiIHNpemVzPSIxZGZzZGY0NTM0ZmRkZCIgc3Jjc2V0PSIuLi8uLi8uLi9oaWRwaS9yZXNvdXJj
ZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4MDB3LCAuLi9yZXNvdXJjZXMvaW1hZ2Utc2V0LTR4LnBuZyAx
NjAwMHciPgorPGltZyBpZD0iY3Jhc2gzIiBzaXplcz0iY2FsYygpIiBzcmNzZXQ9Ii4uLy4uLy4u
L2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgwMHcsIC4uL3Jlc291cmNlcy9pbWFn
ZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8aW1nIGlkPSJjcmFzaDQiIHNpemVzPSJjYWxjKDNxKSIg
c3Jjc2V0PSIuLi8uLi8uLi9oaWRwaS9yZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4MDB3LCAu
Li9yZXNvdXJjZXMvaW1hZ2Utc2V0LTR4LnBuZyAxNjAwMHciPgorPGltZyBpZD0iY3Jhc2g0IiBz
aXplcz0iY2FsY3NzZGZmKCkiIHNyY3NldD0iLi4vLi4vLi4vaGlkcGkvcmVzb3VyY2VzL2ltYWdl
LXNldC0yeC5wbmcgODAwdywgLi4vcmVzb3VyY2VzL2ltYWdlLXNldC00eC5wbmcgMTYwMDB3Ij4K
KzxpbWcgaWQ9ImNyYXNoNSIgc2l6ZXM9ImNhbGMoMnB4K2RmbWpic2YsLCxza2lka2spIiBzcmNz
ZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgwMHcsIC4uL3Jl
c291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Cis8aW1nIGlkPSJjcmFzaDYiIHNpemVz
PSJjYWxjKDJweCtkZm1qYnNmLCwsc2tpZGtrKSArIDJweCwgNTZweCIgc3Jjc2V0PSIuLi8uLi8u
Li9oaWRwaS9yZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4MDB3LCAuLi9yZXNvdXJjZXMvaW1h
Z2Utc2V0LTR4LnBuZyAxNjAwMHciPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>