<?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>122170</bug_id>
          
          <creation_ts>2013-10-01 12:35:39 -0700</creation_ts>
          <short_desc>FTL: split overflow checks into non-overflow arithmetic and an additional call to the overflow intrinsic check.</short_desc>
          <delta_ts>2013-10-01 16:17:33 -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>0</everconfirmed>
          <reporter name="Nadav Rotem">nrotem</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>935135</commentid>
    <comment_count>0</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-01 12:35:39 -0700</bug_when>
    <thetext>FTL: split overflow checks into non-overflow arithmetic and an additional call to the overflow intrinsic check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935142</commentid>
    <comment_count>1</comment_count>
      <attachid>213113</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-01 12:41:51 -0700</bug_when>
    <thetext>Created attachment 213113
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935154</commentid>
    <comment_count>2</comment_count>
      <attachid>213113</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-10-01 12:58:39 -0700</bug_when>
    <thetext>Comment on attachment 213113
Patch

r=me

Does SelectionDAG also catch the multiply case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935157</commentid>
    <comment_count>3</comment_count>
      <attachid>213113</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-10-01 13:00:18 -0700</bug_when>
    <thetext>Comment on attachment 213113
Patch

Sorry, one style nit: The &quot;Reviewed by&quot; line needs to be right under the bug name/URL pair. I think some of our automated tools expect to find it there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935160</commentid>
    <comment_count>4</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-01 13:04:01 -0700</bug_when>
    <thetext>Okay. Should I resubmit ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935167</commentid>
    <comment_count>5</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-01 13:17:11 -0700</bug_when>
    <thetext>Yes. It works with Mul, Add and Inc.   I am sure that we are missing some patterns but we can fix them as we go. 

This:

function foo() {
  var sum = 1
  while (sum &lt; 100000000)
    sum *= 10
}

Becomes this:

LBB0_1:                                       ## =&gt;This Inner Loop Header: Depth=1
	imull	$10, %eax, %ecx
	jo	LBB0_7

## BB#2:                                ## %OSR exit continuation for @11&lt;Int32&gt;
                                              ##   in Loop: Header=BB0_1 Depth=1
	testl	%ecx, %ecx
	je	LBB0_3
LBB0_4:                                 ## %ArithMul continuation
                                             ##   in Loop: Header=BB0_1 Depth=1
	cmpl	$100000000, %ecx        ## imm = 0x5F5E100
	movl	%ecx, %eax
	jl	LBB0_1
	jmp	LBB0_5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935175</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-10-01 13:36:54 -0700</bug_when>
    <thetext>&gt; Okay. Should I resubmit ?

Yes please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935179</commentid>
    <comment_count>7</comment_count>
      <attachid>213117</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-01 13:43:59 -0700</bug_when>
    <thetext>Created attachment 213117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935187</commentid>
    <comment_count>8</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-01 14:05:22 -0700</bug_when>
    <thetext>Added commit-queue=?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935189</commentid>
    <comment_count>9</comment_count>
      <attachid>213117</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-01 14:09:21 -0700</bug_when>
    <thetext>Comment on attachment 213117
Patch

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

Looks great!

&gt; Source/JavaScriptCore/ChangeLog:36
&gt; +LBB0_1:                                 ## %OSR exit continuation for @24&lt;Int32&gt;
&gt; +                                        ## =&gt;This Inner Loop Header: Depth=1
&gt; +    movl  %ecx, %esi
&gt; +    incl  %esi
&gt; +    jo  LBB0_4

I would indent this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935207</commentid>
    <comment_count>10</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-01 14:37:04 -0700</bug_when>
    <thetext>Indent the commit message ? In what way ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935209</commentid>
    <comment_count>11</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-01 14:39:54 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Indent the commit message ? In what way ?

The ChangeLog messages should have at least eight-space indent except for the header (&quot;2013-10-01  Nadav Rotem  &lt;nrotem@apple.com&gt;&quot;).  So this part of your patch:

+LBB0_1:                                 ## %OSR exit continuation for @24&lt;Int32&gt;
+                                        ## =&gt;This Inner Loop Header: Depth=1
+    movl  %ecx, %esi
+    incl  %esi
+    jo  LBB0_4

Should be:

+        LBB0_1:                                 ## %OSR exit continuation for @24&lt;Int32&gt;
+                                                ## =&gt;This Inner Loop Header: Depth=1
+            movl  %ecx, %esi
+            incl  %esi
+            jo  LBB0_4

We have some scripts that try to parse changelog&apos;s, so sticking to the format is usually a good idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935222</commentid>
    <comment_count>12</comment_count>
      <attachid>213124</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-01 15:05:00 -0700</bug_when>
    <thetext>Created attachment 213124
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935258</commentid>
    <comment_count>13</comment_count>
      <attachid>213124</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-01 16:17:31 -0700</bug_when>
    <thetext>Comment on attachment 213124
Patch

Clearing flags on attachment: 213124

Committed r156746: &lt;http://trac.webkit.org/changeset/156746&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935259</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-01 16:17:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213113</attachid>
            <date>2013-10-01 12:41:51 -0700</date>
            <delta_ts>2013-10-01 13:43:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122170-20131001124150.patch</filename>
            <type>text/plain</type>
            <size>8154</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MGFjZDZiN2Q3ZTRjMTMzNzVmZGUxYzgxNDJhMjVmMjNkMGMyNGUzLi5mMTg2MGIzNTFmOTU4Yjg2
Y2VhZWMwNDZjZGFmNWVlMzYwYmQ2ZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxMy0xMC0wMSAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIEZUTDogc3BsaXQgb3ZlcmZsb3cgY2hlY2tzIGludG8gbm9uLW92ZXJmbG93IGFy
aXRobWV0aWMgYW5kIGFuIGFkZGl0aW9uYWwgY2FsbCB0byB0aGUgb3ZlcmZsb3cgaW50cmluc2lj
IGNoZWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIyMTcwCisKKworICAgICAgICBPdmVyZmxvdyBpbnRyaW5zaWNzIGFyZSBwcmV2ZW50aW5nIFND
RVYgYW5kIG90aGVyIExMVk0gYW5hbHlzaXMgcGFzc2VzIGZyb20gYW5hbHl6aW5nIGxvb3BzLiBU
aGlzIHBhdGNoIGNoYW5nZXMgdGhlIEZUTC1JUiBnZW4gYnkgc3BsaXR0aW5nIGFyaXRobWV0aWMg
Y2FsY3VsYXRpb25zIGludG8gdHdvIHBhcnRzOgorICAgICAgICAxLiBHZW5lcmF0ZSB0aGUgYXJp
dGhtZXRpYyBjYWxjdWxhdGlvbiAodGhhdCBtYXkgb3ZlcmZsb3cpCisgICAgICAgIDIuIEdlbmVy
YXRlIHRoZSBvdmVyZmxvdyBjaGVjayAodGhhdCBpcyBvbmx5IHVzZWQgYnkgdGhlIE9TUi1leGl0
IGxvZ2ljKS4KKworICAgICAgICBXZSB0cnVzdCBMTFZNIChTZWxlY3Rpb25EQUcpIHRvIG1lcmdl
IHRoZXNlIGNhbGN1bGF0aW9ucyBpbnRvIGEgc2luZ2xlIG9wY29kZS4KKworICAgICAgICBUaGlz
IEpTIGZ1bmN0aW9uOgorCisgICAgICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgICAgIGZv
ciAoaT0wOyBpIDwgMTAwMDAwMDA7IGkrKykgeyB9CisgICAgICAgIH0KKworICAgICAgICBJcyBu
b3cgY29tcGlsZWQgaW50byB0aGlzIExMVk0tSVI6IAorCisgICAgICAgICJPU1IgZXhpdCBjb250
aW51YXRpb24gZm9yIEAyNDxJbnQzMj4iOiAgICAgICAgICAgOyBwcmVkcyA9ICUiQmxvY2sgIzAi
LCAlIk9TUiBleGl0IGNvbnRpbnVhdGlvbiBmb3IgQDI0PEludDMyPjIiCisgICAgICAgICAgJTQg
PSBwaGkgaTY0IFsgJTEwLCAlIk9TUiBleGl0IGNvbnRpbnVhdGlvbiBmb3IgQDI0PEludDMyPjIi
IF0sIFsgLTI4MTQ3NDk3NjcxMDY1NiwgJSJCbG9jayAjMCIgXQorICAgICAgICAgICU1ID0gdHJ1
bmMgaTY0ICU0IHRvIGkzMgorICAgICAgICAgICU2ID0gYWRkIGkzMiAlNSwgMQorICAgICAgICAg
ICU3ID0gdGFpbCBjYWxsIHsgaTMyLCBpMSB9IEBsbHZtLnNhZGQud2l0aC5vdmVyZmxvdy5pMzIo
aTMyICU1LCBpMzIgMSkKKyAgICAgICAgICAlOCA9IGV4dHJhY3R2YWx1ZSB7IGkzMiwgaTEgfSAl
NywgMQorICAgICAgICAgIGJyIGkxICU4LCBsYWJlbCAlIk9TUiBleGl0IGZhaWxDYXNlIGZvciBA
MjQ8SW50MzI+MSIsIGxhYmVsICUiT1NSIGV4aXQgY29udGludWF0aW9uIGZvciBAMjQ8SW50MzI+
MiIKKworICAgICAgICAgQW5kIGludG8gdGhpcyBhc3NlbWJseToKKworTEJCMF8xOiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICMjICVPU1IgZXhpdCBjb250aW51YXRpb24gZm9yIEAy
NDxJbnQzMj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyA9PlRo
aXMgSW5uZXIgTG9vcCBIZWFkZXI6IERlcHRoPTEKKyAgICBtb3ZsICAlZWN4LCAlZXNpCisgICAg
aW5jbCAgJWVzaQorICAgIGpvICBMQkIwXzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVBZGRTdWIpOgorICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlQXJpdGhNdWwpOgorICAgICAgICAoSlNDOjpG
VEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlQXJpdGhOZWdhdGUpOgorCiAyMDEzLTEwLTAxICBE
YW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBKYXZhU2Ny
aXB0Q29yZSBmYWlscyB0byBidWlsZCB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIGNsYW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IDdi
ZGM0YWNmNmI3NzdjZmNmMTkyZWQwNjQ3YmUxZDM4ZmIyMzdmNzAuLjIyN2MwOTE3M2M5Y2MwZWU5
MzlkZTQ1NjlmNzAzNGMxNjdhY2NkOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC02NjIsMTYgKzY2MiwxNyBAQCBwcml2YXRlOgog
ICAgICAgICBjYXNlIEludDMyVXNlOiB7CiAgICAgICAgICAgICBMVmFsdWUgbGVmdCA9IGxvd0lu
dDMyKG1fbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgTFZhbHVlIHJpZ2h0ID0gbG93SW50
MzIobV9ub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSBy
ZXN1bHQgPSBpc1N1YiA/IG1fb3V0LnN1YihsZWZ0LCByaWdodCkgOiBtX291dC5hZGQobGVmdCwg
cmlnaHQpOworCiAgICAgICAgICAgICBpZiAoYnl0ZWNvZGVDYW5UcnVuY2F0ZUludGVnZXIobV9u
b2RlLT5hcml0aE5vZGVGbGFncygpKSkgewotICAgICAgICAgICAgICAgIHNldEludDMyKGlzU3Vi
ID8gbV9vdXQuc3ViKGxlZnQsIHJpZ2h0KSA6IG1fb3V0LmFkZChsZWZ0LCByaWdodCkpOworICAg
ICAgICAgICAgICAgIHNldEludDMyKHJlc3VsdCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBpc1N1YiA/IG1fb3V0
LnN1YldpdGhPdmVyZmxvdzMyKGxlZnQsIHJpZ2h0KSA6IG1fb3V0LmFkZFdpdGhPdmVyZmxvdzMy
KGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvdyA9IGlzU3ViID8gbV9v
dXQuc3ViV2l0aE92ZXJmbG93MzIobGVmdCwgcmlnaHQpIDogbV9vdXQuYWRkV2l0aE92ZXJmbG93
MzIobGVmdCwgcmlnaHQpOwogCi0gICAgICAgICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFs
dWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMSkpOwotICAgICAgICAgICAgc2V0
SW50MzIobV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMCkpOworICAgICAgICAgICAgc3BlY3Vs
YXRlKE92ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvdywg
MSkpOworICAgICAgICAgICAgc2V0SW50MzIocmVzdWx0KTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTY4Nyw5ICs2ODgsMTEgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBsb3dJbnQ1MihtX25vZGUtPmNo
aWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1ZSByaWdodCA9IGxvd0ludDUyKG1fbm9kZS0+Y2hp
bGQyKCkpOwotICAgICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGlzU3ViID8gbV9vdXQuc3ViV2l0
aE92ZXJmbG93NjQobGVmdCwgcmlnaHQpIDogbV9vdXQuYWRkV2l0aE92ZXJmbG93NjQobGVmdCwg
cmlnaHQpOwotICAgICAgICAgICAgc3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUoKSwg
MCwgbV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMSkpOwotICAgICAgICAgICAgc2V0SW50NTIo
bV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMCkpOworICAgICAgICAgICAgTFZhbHVlIHJlc3Vs
dCA9IGlzU3ViID8gbV9vdXQuc3ViKGxlZnQsIHJpZ2h0KSA6IG1fb3V0LmFkZChsZWZ0LCByaWdo
dCk7CisKKyAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvdyA9IGlzU3ViID8gbV9vdXQuc3ViV2l0
aE92ZXJmbG93NjQobGVmdCwgcmlnaHQpIDogbV9vdXQuYWRkV2l0aE92ZXJmbG93NjQobGVmdCwg
cmlnaHQpOworICAgICAgICAgICAgc3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUoKSwg
MCwgbV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93LCAxKSk7CisgICAgICAgICAgICBzZXRJbnQ1
MihyZXN1bHQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApA
QCAtNzEzLDE0ICs3MTYsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBJbnQzMlVzZTogewog
ICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBsb3dJbnQzMihtX25vZGUtPmNoaWxkMSgpKTsKICAg
ICAgICAgICAgIExWYWx1ZSByaWdodCA9IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAg
ICAgICAgICAgCi0gICAgICAgICAgICBMVmFsdWUgcmVzdWx0OwotICAgICAgICAgICAgaWYgKGJ5
dGVjb2RlQ2FuVHJ1bmNhdGVJbnRlZ2VyKG1fbm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpCi0gICAg
ICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQubXVsKGxlZnQsIHJpZ2h0KTsKLSAgICAgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0Lm11bChsZWZ0LCByaWdo
dCk7CisKKyAgICAgICAgICAgIGlmICghYnl0ZWNvZGVDYW5UcnVuY2F0ZUludGVnZXIobV9ub2Rl
LT5hcml0aE5vZGVGbGFncygpKSkgewogICAgICAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jl
c3VsdCA9IG1fb3V0Lm11bFdpdGhPdmVyZmxvdzMyKGxlZnQsIHJpZ2h0KTsKICAgICAgICAgICAg
ICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVl
KG92ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQuZXh0
cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAwKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IAogICAgICAgICAgICAgaWYgKCFieXRlY29kZUNhbklnbm9yZU5lZ2F0aXZlWmVybyhtX25vZGUt
PmFyaXRoTm9kZUZsYWdzKCkpKSB7CkBAIC03NDQsMTEgKzc0NCwxMiBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgSW50NTJLaW5kIGtpbmQ7CiAgICAgICAgICAgICBMVmFsdWUgbGVmdCA9IGxvd1do
aWNoZXZlckludDUyKG1fbm9kZS0+Y2hpbGQxKCksIGtpbmQpOwogICAgICAgICAgICAgTFZhbHVl
IHJpZ2h0ID0gbG93SW50NTIobV9ub2RlLT5jaGlsZDIoKSwgb3Bwb3NpdGUoa2luZCkpOwotICAg
ICAgICAgICAgCisgICAgICAgICAgICBMVmFsdWUgcmVzdWx0ID0gbV9vdXQubXVsKGxlZnQsIHJp
Z2h0KTsKKworCiAgICAgICAgICAgICBMVmFsdWUgb3ZlcmZsb3dSZXN1bHQgPSBtX291dC5tdWxX
aXRoT3ZlcmZsb3c2NChsZWZ0LCByaWdodCk7CiAgICAgICAgICAgICBzcGVjdWxhdGUoSW50NTJP
dmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291dC5leHRyYWN0VmFsdWUob3ZlcmZsb3dSZXN1bHQs
IDEpKTsKLSAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5leHRyYWN0VmFsdWUob3Zl
cmZsb3dSZXN1bHQsIDApOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmICghYnl0ZWNv
ZGVDYW5JZ25vcmVOZWdhdGl2ZVplcm8obV9ub2RlLT5hcml0aE5vZGVGbGFncygpKSkgewogICAg
ICAgICAgICAgICAgIExCYXNpY0Jsb2NrIHNsb3dDYXNlID0gRlRMX05FV19CTE9DSyhtX291dCwg
KCJBcml0aE11bCBzbG93IGNhc2UiKSk7CiAgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29u
dGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJBcml0aE11bCBjb250aW51YXRpb24i
KSk7CkBAIC0xMDUwLDIwICsxMDUxLDE4IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgSW50MzJV
c2U6IHsKICAgICAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQx
KCkpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBMVmFsdWUgcmVzdWx0OwotICAgICAgICAg
ICAgaWYgKGJ5dGVjb2RlQ2FuVHJ1bmNhdGVJbnRlZ2VyKG1fbm9kZS0+YXJpdGhOb2RlRmxhZ3Mo
KSkpCi0gICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQubmVnKHZhbHVlKTsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKGJ5dGVjb2RlQ2FuSWdub3JlTmVnYXRpdmVaZXJvKG1fbm9kZS0+YXJpdGhO
b2RlRmxhZ3MoKSkpIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCBoYXZlIGEgbmVnYXRl
LXdpdGgtb3ZlcmZsb3cgaW50cmluc2ljLiBIb3BlZnVsbHkgdGhpcwotICAgICAgICAgICAgICAg
IC8vIGRvZXMgdGhlIHRyaWNrLCB0aG91Z2guCi0gICAgICAgICAgICAgICAgTFZhbHVlIG92ZXJm
bG93UmVzdWx0ID0gbV9vdXQuc3ViV2l0aE92ZXJmbG93MzIobV9vdXQuaW50MzJaZXJvLCB2YWx1
ZSk7Ci0gICAgICAgICAgICAgICAgc3BlY3VsYXRlKE92ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1f
b3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwgMSkpOwotICAgICAgICAgICAgICAgIHJl
c3VsdCA9IG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwgMCk7Ci0gICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHNwZWN1bGF0ZShPdmVyZmxvdywgbm9WYWx1ZSgp
LCAwLCBtX291dC50ZXN0SXNaZXJvMzIodmFsdWUsIG1fb3V0LmNvbnN0SW50MzIoMHg3ZmZmZmZm
ZikpKTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBtX291dC5uZWcodmFsdWUpOworICAgICAg
ICAgICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0Lm5lZyh2YWx1ZSk7CisgICAgICAgICAgICBpZiAo
IWJ5dGVjb2RlQ2FuVHJ1bmNhdGVJbnRlZ2VyKG1fbm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpIHsK
KyAgICAgICAgICAgICAgICBpZiAoYnl0ZWNvZGVDYW5JZ25vcmVOZWdhdGl2ZVplcm8obV9ub2Rl
LT5hcml0aE5vZGVGbGFncygpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCBo
YXZlIGEgbmVnYXRlLXdpdGgtb3ZlcmZsb3cgaW50cmluc2ljLiBIb3BlZnVsbHkgdGhpcworICAg
ICAgICAgICAgICAgICAgICAvLyBkb2VzIHRoZSB0cmljaywgdGhvdWdoLgorICAgICAgICAgICAg
ICAgICAgICBMVmFsdWUgb3ZlcmZsb3dSZXN1bHQgPSBtX291dC5zdWJXaXRoT3ZlcmZsb3czMiht
X291dC5pbnQzMlplcm8sIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgc3BlY3VsYXRlKE92
ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwg
MSkpOworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICBzcGVjdWxh
dGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQudGVzdElzWmVybzMyKHZhbHVlLCBtX291
dC5jb25zdEludDMyKDB4N2ZmZmZmZmYpKSk7CisKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IAorCiAgICAgICAgICAgICBzZXRJbnQzMihyZXN1bHQpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KQEAgLTEwODIsNyArMTA4MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBMVmFs
dWUgdmFsdWUgPSBsb3dJbnQ1MihtX25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1
ZSBvdmVyZmxvd1Jlc3VsdCA9IG1fb3V0LnN1YldpdGhPdmVyZmxvdzY0KG1fb3V0LmludDY0WmVy
bywgdmFsdWUpOwogICAgICAgICAgICAgc3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUo
KSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAgICAgICAg
ICBMVmFsdWUgcmVzdWx0ID0gbV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAwKTsK
KyAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5uZWcodmFsdWUpOwogICAgICAgICAg
ICAgc3BlY3VsYXRlKE5lZ2F0aXZlWmVybywgbm9WYWx1ZSgpLCAwLCBtX291dC5pc1plcm82NChy
ZXN1bHQpKTsKICAgICAgICAgICAgIHNldEludDUyKHJlc3VsdCk7CiAgICAgICAgICAgICBicmVh
azsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213117</attachid>
            <date>2013-10-01 13:43:59 -0700</date>
            <delta_ts>2013-10-01 15:04:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122170-20131001134358.patch</filename>
            <type>text/plain</type>
            <size>8154</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MGFjZDZiN2Q3ZTRjMTMzNzVmZGUxYzgxNDJhMjVmMjNkMGMyNGUzLi4xYmRiNTBhMzY0MzJmZTJk
OWMwNTliMDU5YjBlMGNiZGM2YjdiN2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxMy0xMC0wMSAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIEZUTDogc3BsaXQgb3ZlcmZsb3cgY2hlY2tzIGludG8gbm9uLW92ZXJmbG93IGFy
aXRobWV0aWMgYW5kIGFuIGFkZGl0aW9uYWwgY2FsbCB0byB0aGUgb3ZlcmZsb3cgaW50cmluc2lj
IGNoZWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIyMTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T3ZlcmZsb3cgaW50cmluc2ljcyBhcmUgcHJldmVudGluZyBTQ0VWIGFuZCBvdGhlciBMTFZNIGFu
YWx5c2lzIHBhc3NlcyBmcm9tIGFuYWx5emluZyBsb29wcy4gVGhpcyBwYXRjaCBjaGFuZ2VzIHRo
ZSBGVEwtSVIgZ2VuIGJ5IHNwbGl0dGluZyBhcml0aG1ldGljIGNhbGN1bGF0aW9ucyBpbnRvIHR3
byBwYXJ0czoKKyAgICAgICAgMS4gR2VuZXJhdGUgdGhlIGFyaXRobWV0aWMgY2FsY3VsYXRpb24g
KHRoYXQgbWF5IG92ZXJmbG93KQorICAgICAgICAyLiBHZW5lcmF0ZSB0aGUgb3ZlcmZsb3cgY2hl
Y2sgKHRoYXQgaXMgb25seSB1c2VkIGJ5IHRoZSBPU1ItZXhpdCBsb2dpYykuCisKKyAgICAgICAg
V2UgdHJ1c3QgTExWTSAoU2VsZWN0aW9uREFHKSB0byBtZXJnZSB0aGVzZSBjYWxjdWxhdGlvbnMg
aW50byBhIHNpbmdsZSBvcGNvZGUuCisKKyAgICAgICAgVGhpcyBKUyBmdW5jdGlvbjoKKworICAg
ICAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgICAgICBmb3IgKGk9MDsgaSA8IDEwMDAwMDAw
OyBpKyspIHsgfQorICAgICAgICB9CisKKyAgICAgICAgSXMgbm93IGNvbXBpbGVkIGludG8gdGhp
cyBMTFZNLUlSOiAKKworICAgICAgICAiT1NSIGV4aXQgY29udGludWF0aW9uIGZvciBAMjQ8SW50
MzI+IjogICAgICAgICAgIDsgcHJlZHMgPSAlIkJsb2NrICMwIiwgJSJPU1IgZXhpdCBjb250aW51
YXRpb24gZm9yIEAyNDxJbnQzMj4yIgorICAgICAgICAgICU0ID0gcGhpIGk2NCBbICUxMCwgJSJP
U1IgZXhpdCBjb250aW51YXRpb24gZm9yIEAyNDxJbnQzMj4yIiBdLCBbIC0yODE0NzQ5NzY3MTA2
NTYsICUiQmxvY2sgIzAiIF0KKyAgICAgICAgICAlNSA9IHRydW5jIGk2NCAlNCB0byBpMzIKKyAg
ICAgICAgICAlNiA9IGFkZCBpMzIgJTUsIDEKKyAgICAgICAgICAlNyA9IHRhaWwgY2FsbCB7IGkz
MiwgaTEgfSBAbGx2bS5zYWRkLndpdGgub3ZlcmZsb3cuaTMyKGkzMiAlNSwgaTMyIDEpCisgICAg
ICAgICAgJTggPSBleHRyYWN0dmFsdWUgeyBpMzIsIGkxIH0gJTcsIDEKKyAgICAgICAgICBiciBp
MSAlOCwgbGFiZWwgJSJPU1IgZXhpdCBmYWlsQ2FzZSBmb3IgQDI0PEludDMyPjEiLCBsYWJlbCAl
Ik9TUiBleGl0IGNvbnRpbnVhdGlvbiBmb3IgQDI0PEludDMyPjIiCisKKyAgICAgICAgIEFuZCBp
bnRvIHRoaXMgYXNzZW1ibHk6CisKK0xCQjBfMTogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIyAlT1NSIGV4aXQgY29udGludWF0aW9uIGZvciBAMjQ8SW50MzI+CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMgPT5UaGlzIElubmVyIExvb3AgSGVhZGVy
OiBEZXB0aD0xCisgICAgbW92bCAgJWVjeCwgJWVzaQorICAgIGluY2wgICVlc2kKKyAgICBqbyAg
TEJCMF80CisKKworICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVBZGRTdWIpOgorICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlQXJpdGhNdWwpOgorICAgICAgICAoSlNDOjpG
VEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlQXJpdGhOZWdhdGUpOgorCiAyMDEzLTEwLTAxICBE
YW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBKYXZhU2Ny
aXB0Q29yZSBmYWlscyB0byBidWlsZCB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIGNsYW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IDdi
ZGM0YWNmNmI3NzdjZmNmMTkyZWQwNjQ3YmUxZDM4ZmIyMzdmNzAuLjIyN2MwOTE3M2M5Y2MwZWU5
MzlkZTQ1NjlmNzAzNGMxNjdhY2NkOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC02NjIsMTYgKzY2MiwxNyBAQCBwcml2YXRlOgog
ICAgICAgICBjYXNlIEludDMyVXNlOiB7CiAgICAgICAgICAgICBMVmFsdWUgbGVmdCA9IGxvd0lu
dDMyKG1fbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgTFZhbHVlIHJpZ2h0ID0gbG93SW50
MzIobV9ub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSBy
ZXN1bHQgPSBpc1N1YiA/IG1fb3V0LnN1YihsZWZ0LCByaWdodCkgOiBtX291dC5hZGQobGVmdCwg
cmlnaHQpOworCiAgICAgICAgICAgICBpZiAoYnl0ZWNvZGVDYW5UcnVuY2F0ZUludGVnZXIobV9u
b2RlLT5hcml0aE5vZGVGbGFncygpKSkgewotICAgICAgICAgICAgICAgIHNldEludDMyKGlzU3Vi
ID8gbV9vdXQuc3ViKGxlZnQsIHJpZ2h0KSA6IG1fb3V0LmFkZChsZWZ0LCByaWdodCkpOworICAg
ICAgICAgICAgICAgIHNldEludDMyKHJlc3VsdCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBpc1N1YiA/IG1fb3V0
LnN1YldpdGhPdmVyZmxvdzMyKGxlZnQsIHJpZ2h0KSA6IG1fb3V0LmFkZFdpdGhPdmVyZmxvdzMy
KGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvdyA9IGlzU3ViID8gbV9v
dXQuc3ViV2l0aE92ZXJmbG93MzIobGVmdCwgcmlnaHQpIDogbV9vdXQuYWRkV2l0aE92ZXJmbG93
MzIobGVmdCwgcmlnaHQpOwogCi0gICAgICAgICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFs
dWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMSkpOwotICAgICAgICAgICAgc2V0
SW50MzIobV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMCkpOworICAgICAgICAgICAgc3BlY3Vs
YXRlKE92ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvdywg
MSkpOworICAgICAgICAgICAgc2V0SW50MzIocmVzdWx0KTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTY4Nyw5ICs2ODgsMTEgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBsb3dJbnQ1MihtX25vZGUtPmNo
aWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1ZSByaWdodCA9IGxvd0ludDUyKG1fbm9kZS0+Y2hp
bGQyKCkpOwotICAgICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGlzU3ViID8gbV9vdXQuc3ViV2l0
aE92ZXJmbG93NjQobGVmdCwgcmlnaHQpIDogbV9vdXQuYWRkV2l0aE92ZXJmbG93NjQobGVmdCwg
cmlnaHQpOwotICAgICAgICAgICAgc3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUoKSwg
MCwgbV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMSkpOwotICAgICAgICAgICAgc2V0SW50NTIo
bV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMCkpOworICAgICAgICAgICAgTFZhbHVlIHJlc3Vs
dCA9IGlzU3ViID8gbV9vdXQuc3ViKGxlZnQsIHJpZ2h0KSA6IG1fb3V0LmFkZChsZWZ0LCByaWdo
dCk7CisKKyAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvdyA9IGlzU3ViID8gbV9vdXQuc3ViV2l0
aE92ZXJmbG93NjQobGVmdCwgcmlnaHQpIDogbV9vdXQuYWRkV2l0aE92ZXJmbG93NjQobGVmdCwg
cmlnaHQpOworICAgICAgICAgICAgc3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUoKSwg
MCwgbV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93LCAxKSk7CisgICAgICAgICAgICBzZXRJbnQ1
MihyZXN1bHQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApA
QCAtNzEzLDE0ICs3MTYsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBJbnQzMlVzZTogewog
ICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBsb3dJbnQzMihtX25vZGUtPmNoaWxkMSgpKTsKICAg
ICAgICAgICAgIExWYWx1ZSByaWdodCA9IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAg
ICAgICAgICAgCi0gICAgICAgICAgICBMVmFsdWUgcmVzdWx0OwotICAgICAgICAgICAgaWYgKGJ5
dGVjb2RlQ2FuVHJ1bmNhdGVJbnRlZ2VyKG1fbm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpCi0gICAg
ICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQubXVsKGxlZnQsIHJpZ2h0KTsKLSAgICAgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0Lm11bChsZWZ0LCByaWdo
dCk7CisKKyAgICAgICAgICAgIGlmICghYnl0ZWNvZGVDYW5UcnVuY2F0ZUludGVnZXIobV9ub2Rl
LT5hcml0aE5vZGVGbGFncygpKSkgewogICAgICAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jl
c3VsdCA9IG1fb3V0Lm11bFdpdGhPdmVyZmxvdzMyKGxlZnQsIHJpZ2h0KTsKICAgICAgICAgICAg
ICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVl
KG92ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQuZXh0
cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAwKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IAogICAgICAgICAgICAgaWYgKCFieXRlY29kZUNhbklnbm9yZU5lZ2F0aXZlWmVybyhtX25vZGUt
PmFyaXRoTm9kZUZsYWdzKCkpKSB7CkBAIC03NDQsMTEgKzc0NCwxMiBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgSW50NTJLaW5kIGtpbmQ7CiAgICAgICAgICAgICBMVmFsdWUgbGVmdCA9IGxvd1do
aWNoZXZlckludDUyKG1fbm9kZS0+Y2hpbGQxKCksIGtpbmQpOwogICAgICAgICAgICAgTFZhbHVl
IHJpZ2h0ID0gbG93SW50NTIobV9ub2RlLT5jaGlsZDIoKSwgb3Bwb3NpdGUoa2luZCkpOwotICAg
ICAgICAgICAgCisgICAgICAgICAgICBMVmFsdWUgcmVzdWx0ID0gbV9vdXQubXVsKGxlZnQsIHJp
Z2h0KTsKKworCiAgICAgICAgICAgICBMVmFsdWUgb3ZlcmZsb3dSZXN1bHQgPSBtX291dC5tdWxX
aXRoT3ZlcmZsb3c2NChsZWZ0LCByaWdodCk7CiAgICAgICAgICAgICBzcGVjdWxhdGUoSW50NTJP
dmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291dC5leHRyYWN0VmFsdWUob3ZlcmZsb3dSZXN1bHQs
IDEpKTsKLSAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5leHRyYWN0VmFsdWUob3Zl
cmZsb3dSZXN1bHQsIDApOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmICghYnl0ZWNv
ZGVDYW5JZ25vcmVOZWdhdGl2ZVplcm8obV9ub2RlLT5hcml0aE5vZGVGbGFncygpKSkgewogICAg
ICAgICAgICAgICAgIExCYXNpY0Jsb2NrIHNsb3dDYXNlID0gRlRMX05FV19CTE9DSyhtX291dCwg
KCJBcml0aE11bCBzbG93IGNhc2UiKSk7CiAgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29u
dGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJBcml0aE11bCBjb250aW51YXRpb24i
KSk7CkBAIC0xMDUwLDIwICsxMDUxLDE4IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgSW50MzJV
c2U6IHsKICAgICAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQx
KCkpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBMVmFsdWUgcmVzdWx0OwotICAgICAgICAg
ICAgaWYgKGJ5dGVjb2RlQ2FuVHJ1bmNhdGVJbnRlZ2VyKG1fbm9kZS0+YXJpdGhOb2RlRmxhZ3Mo
KSkpCi0gICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQubmVnKHZhbHVlKTsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKGJ5dGVjb2RlQ2FuSWdub3JlTmVnYXRpdmVaZXJvKG1fbm9kZS0+YXJpdGhO
b2RlRmxhZ3MoKSkpIHsKLSAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCBoYXZlIGEgbmVnYXRl
LXdpdGgtb3ZlcmZsb3cgaW50cmluc2ljLiBIb3BlZnVsbHkgdGhpcwotICAgICAgICAgICAgICAg
IC8vIGRvZXMgdGhlIHRyaWNrLCB0aG91Z2guCi0gICAgICAgICAgICAgICAgTFZhbHVlIG92ZXJm
bG93UmVzdWx0ID0gbV9vdXQuc3ViV2l0aE92ZXJmbG93MzIobV9vdXQuaW50MzJaZXJvLCB2YWx1
ZSk7Ci0gICAgICAgICAgICAgICAgc3BlY3VsYXRlKE92ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1f
b3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwgMSkpOwotICAgICAgICAgICAgICAgIHJl
c3VsdCA9IG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwgMCk7Ci0gICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHNwZWN1bGF0ZShPdmVyZmxvdywgbm9WYWx1ZSgp
LCAwLCBtX291dC50ZXN0SXNaZXJvMzIodmFsdWUsIG1fb3V0LmNvbnN0SW50MzIoMHg3ZmZmZmZm
ZikpKTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBtX291dC5uZWcodmFsdWUpOworICAgICAg
ICAgICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0Lm5lZyh2YWx1ZSk7CisgICAgICAgICAgICBpZiAo
IWJ5dGVjb2RlQ2FuVHJ1bmNhdGVJbnRlZ2VyKG1fbm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpIHsK
KyAgICAgICAgICAgICAgICBpZiAoYnl0ZWNvZGVDYW5JZ25vcmVOZWdhdGl2ZVplcm8obV9ub2Rl
LT5hcml0aE5vZGVGbGFncygpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCBo
YXZlIGEgbmVnYXRlLXdpdGgtb3ZlcmZsb3cgaW50cmluc2ljLiBIb3BlZnVsbHkgdGhpcworICAg
ICAgICAgICAgICAgICAgICAvLyBkb2VzIHRoZSB0cmljaywgdGhvdWdoLgorICAgICAgICAgICAg
ICAgICAgICBMVmFsdWUgb3ZlcmZsb3dSZXN1bHQgPSBtX291dC5zdWJXaXRoT3ZlcmZsb3czMiht
X291dC5pbnQzMlplcm8sIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgc3BlY3VsYXRlKE92
ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwg
MSkpOworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICBzcGVjdWxh
dGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQudGVzdElzWmVybzMyKHZhbHVlLCBtX291
dC5jb25zdEludDMyKDB4N2ZmZmZmZmYpKSk7CisKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IAorCiAgICAgICAgICAgICBzZXRJbnQzMihyZXN1bHQpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KQEAgLTEwODIsNyArMTA4MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBMVmFs
dWUgdmFsdWUgPSBsb3dJbnQ1MihtX25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1
ZSBvdmVyZmxvd1Jlc3VsdCA9IG1fb3V0LnN1YldpdGhPdmVyZmxvdzY0KG1fb3V0LmludDY0WmVy
bywgdmFsdWUpOwogICAgICAgICAgICAgc3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUo
KSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAgICAgICAg
ICBMVmFsdWUgcmVzdWx0ID0gbV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAwKTsK
KyAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5uZWcodmFsdWUpOwogICAgICAgICAg
ICAgc3BlY3VsYXRlKE5lZ2F0aXZlWmVybywgbm9WYWx1ZSgpLCAwLCBtX291dC5pc1plcm82NChy
ZXN1bHQpKTsKICAgICAgICAgICAgIHNldEludDUyKHJlc3VsdCk7CiAgICAgICAgICAgICBicmVh
azsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213124</attachid>
            <date>2013-10-01 15:05:00 -0700</date>
            <delta_ts>2013-10-01 16:17:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122170-20131001150459.patch</filename>
            <type>text/plain</type>
            <size>8184</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MGFjZDZiN2Q3ZTRjMTMzNzVmZGUxYzgxNDJhMjVmMjNkMGMyNGUzLi44MWYyMmQyOTRkZTVmZmMx
MmZkZmE0OTE2ZTE5N2MxNTEwMWY4YWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NSBAQAorMjAxMy0xMC0wMSAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIEZUTDogc3BsaXQgb3ZlcmZsb3cgY2hlY2tzIGludG8gbm9uLW92ZXJmbG93IGFy
aXRobWV0aWMgYW5kIGFuIGFkZGl0aW9uYWwgY2FsbCB0byB0aGUgb3ZlcmZsb3cgaW50cmluc2lj
IGNoZWNrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIyMTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T3ZlcmZsb3cgaW50cmluc2ljcyBhcmUgcHJldmVudGluZyBTQ0VWIGFuZCBvdGhlciBMTFZNIGFu
YWx5c2lzIHBhc3NlcyBmcm9tIGFuYWx5emluZyBsb29wcy4gVGhpcyBwYXRjaCBjaGFuZ2VzIHRo
ZSBGVEwtSVIgZ2VuIGJ5IHNwbGl0dGluZyBhcml0aG1ldGljIGNhbGN1bGF0aW9ucyBpbnRvIHR3
byBwYXJ0czoKKyAgICAgICAgMS4gR2VuZXJhdGUgdGhlIGFyaXRobWV0aWMgY2FsY3VsYXRpb24g
KHRoYXQgbWF5IG92ZXJmbG93KQorICAgICAgICAyLiBHZW5lcmF0ZSB0aGUgb3ZlcmZsb3cgY2hl
Y2sgKHRoYXQgaXMgb25seSB1c2VkIGJ5IHRoZSBPU1ItZXhpdCBsb2dpYykuCisKKyAgICAgICAg
V2UgdHJ1c3QgTExWTSAoU2VsZWN0aW9uREFHKSB0byBtZXJnZSB0aGVzZSBjYWxjdWxhdGlvbnMg
aW50byBhIHNpbmdsZSBvcGNvZGUuCisKKyAgICAgICAgVGhpcyBKUyBmdW5jdGlvbjoKKworICAg
ICAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgICAgICBmb3IgKGk9MDsgaSA8IDEwMDAwMDAw
OyBpKyspIHsgfQorICAgICAgICB9CisKKyAgICAgICAgSXMgbm93IGNvbXBpbGVkIGludG8gdGhp
cyBMTFZNLUlSOiAKKworICAgICAgICAiT1NSIGV4aXQgY29udGludWF0aW9uIGZvciBAMjQ8SW50
MzI+IjogICAgICAgICAgIDsgcHJlZHMgPSAlIkJsb2NrICMwIiwgJSJPU1IgZXhpdCBjb250aW51
YXRpb24gZm9yIEAyNDxJbnQzMj4yIgorICAgICAgICAgICU0ID0gcGhpIGk2NCBbICUxMCwgJSJP
U1IgZXhpdCBjb250aW51YXRpb24gZm9yIEAyNDxJbnQzMj4yIiBdLCBbIC0yODE0NzQ5NzY3MTA2
NTYsICUiQmxvY2sgIzAiIF0KKyAgICAgICAgICAlNSA9IHRydW5jIGk2NCAlNCB0byBpMzIKKyAg
ICAgICAgICAlNiA9IGFkZCBpMzIgJTUsIDEKKyAgICAgICAgICAlNyA9IHRhaWwgY2FsbCB7IGkz
MiwgaTEgfSBAbGx2bS5zYWRkLndpdGgub3ZlcmZsb3cuaTMyKGkzMiAlNSwgaTMyIDEpCisgICAg
ICAgICAgJTggPSBleHRyYWN0dmFsdWUgeyBpMzIsIGkxIH0gJTcsIDEKKyAgICAgICAgICBiciBp
MSAlOCwgbGFiZWwgJSJPU1IgZXhpdCBmYWlsQ2FzZSBmb3IgQDI0PEludDMyPjEiLCBsYWJlbCAl
Ik9TUiBleGl0IGNvbnRpbnVhdGlvbiBmb3IgQDI0PEludDMyPjIiCisKKyAgICAgICAgIEFuZCBp
bnRvIHRoaXMgYXNzZW1ibHk6CisKKyAgICAgICAgTEJCMF8xOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICMjICVPU1IgZXhpdCBjb250aW51YXRpb24gZm9yIEAyNDxJbnQzMj4KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyA9PlRoaXMgSW5uZXIgTG9v
cCBIZWFkZXI6IERlcHRoPTEKKyAgICAgICAgICAgIG1vdmwgICVlY3gsICVlc2kKKyAgICAgICAg
ICAgIGluY2wgICVlc2kKKyAgICAgICAgICAgIGpvICBMQkIwXzQKKworICAgICAgICAqIGZ0bC9G
VExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OmNvbXBpbGVBZGRTdWIpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21w
aWxlQXJpdGhNdWwpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxl
QXJpdGhOZWdhdGUpOgorCiAyMDEzLTEwLTAxICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxl
LmNvbT4KIAogICAgICAgICBbaU9TXSBKYXZhU2NyaXB0Q29yZSBmYWlscyB0byBidWlsZCB3aXRo
IG5ld2VyIHZlcnNpb25zIG9mIGNsYW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IDdiZGM0YWNmNmI3NzdjZmNmMTkyZWQwNjQ3YmUx
ZDM4ZmIyMzdmNzAuLjIyN2MwOTE3M2M5Y2MwZWU5MzlkZTQ1NjlmNzAzNGMxNjdhY2NkOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBA
IC02NjIsMTYgKzY2MiwxNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEludDMyVXNlOiB7CiAg
ICAgICAgICAgICBMVmFsdWUgbGVmdCA9IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQxKCkpOwogICAg
ICAgICAgICAgTFZhbHVlIHJpZ2h0ID0gbG93SW50MzIobV9ub2RlLT5jaGlsZDIoKSk7Ci0gICAg
ICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBpc1N1YiA/IG1fb3V0LnN1Yihs
ZWZ0LCByaWdodCkgOiBtX291dC5hZGQobGVmdCwgcmlnaHQpOworCiAgICAgICAgICAgICBpZiAo
Ynl0ZWNvZGVDYW5UcnVuY2F0ZUludGVnZXIobV9ub2RlLT5hcml0aE5vZGVGbGFncygpKSkgewot
ICAgICAgICAgICAgICAgIHNldEludDMyKGlzU3ViID8gbV9vdXQuc3ViKGxlZnQsIHJpZ2h0KSA6
IG1fb3V0LmFkZChsZWZ0LCByaWdodCkpOworICAgICAgICAgICAgICAgIHNldEludDMyKHJlc3Vs
dCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAg
IExWYWx1ZSByZXN1bHQgPSBpc1N1YiA/IG1fb3V0LnN1YldpdGhPdmVyZmxvdzMyKGxlZnQsIHJp
Z2h0KSA6IG1fb3V0LmFkZFdpdGhPdmVyZmxvdzMyKGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAg
IExWYWx1ZSBvdmVyZmxvdyA9IGlzU3ViID8gbV9vdXQuc3ViV2l0aE92ZXJmbG93MzIobGVmdCwg
cmlnaHQpIDogbV9vdXQuYWRkV2l0aE92ZXJmbG93MzIobGVmdCwgcmlnaHQpOwogCi0gICAgICAg
ICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVl
KHJlc3VsdCwgMSkpOwotICAgICAgICAgICAgc2V0SW50MzIobV9vdXQuZXh0cmFjdFZhbHVlKHJl
c3VsdCwgMCkpOworICAgICAgICAgICAgc3BlY3VsYXRlKE92ZXJmbG93LCBub1ZhbHVlKCksIDAs
IG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvdywgMSkpOworICAgICAgICAgICAgc2V0SW50MzIo
cmVzdWx0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKQEAg
LTY4Nyw5ICs2ODgsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAgICAgICAgICAgTFZh
bHVlIGxlZnQgPSBsb3dJbnQ1MihtX25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1
ZSByaWdodCA9IGxvd0ludDUyKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgTFZhbHVl
IHJlc3VsdCA9IGlzU3ViID8gbV9vdXQuc3ViV2l0aE92ZXJmbG93NjQobGVmdCwgcmlnaHQpIDog
bV9vdXQuYWRkV2l0aE92ZXJmbG93NjQobGVmdCwgcmlnaHQpOwotICAgICAgICAgICAgc3BlY3Vs
YXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKHJlc3Vs
dCwgMSkpOwotICAgICAgICAgICAgc2V0SW50NTIobV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwg
MCkpOworICAgICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGlzU3ViID8gbV9vdXQuc3ViKGxlZnQs
IHJpZ2h0KSA6IG1fb3V0LmFkZChsZWZ0LCByaWdodCk7CisKKyAgICAgICAgICAgIExWYWx1ZSBv
dmVyZmxvdyA9IGlzU3ViID8gbV9vdXQuc3ViV2l0aE92ZXJmbG93NjQobGVmdCwgcmlnaHQpIDog
bV9vdXQuYWRkV2l0aE92ZXJmbG93NjQobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgc3BlY3Vs
YXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJm
bG93LCAxKSk7CisgICAgICAgICAgICBzZXRJbnQ1MihyZXN1bHQpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtNzEzLDE0ICs3MTYsMTEgQEAgcHJpdmF0
ZToKICAgICAgICAgY2FzZSBJbnQzMlVzZTogewogICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBs
b3dJbnQzMihtX25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1ZSByaWdodCA9IGxv
d0ludDMyKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBMVmFs
dWUgcmVzdWx0OwotICAgICAgICAgICAgaWYgKGJ5dGVjb2RlQ2FuVHJ1bmNhdGVJbnRlZ2VyKG1f
bm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpCi0gICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQu
bXVsKGxlZnQsIHJpZ2h0KTsKLSAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgTFZhbHVl
IHJlc3VsdCA9IG1fb3V0Lm11bChsZWZ0LCByaWdodCk7CisKKyAgICAgICAgICAgIGlmICghYnl0
ZWNvZGVDYW5UcnVuY2F0ZUludGVnZXIobV9ub2RlLT5hcml0aE5vZGVGbGFncygpKSkgewogICAg
ICAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jlc3VsdCA9IG1fb3V0Lm11bFdpdGhPdmVyZmxv
dzMyKGxlZnQsIHJpZ2h0KTsKICAgICAgICAgICAgICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5v
VmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAg
ICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAw
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKCFieXRlY29k
ZUNhbklnbm9yZU5lZ2F0aXZlWmVybyhtX25vZGUtPmFyaXRoTm9kZUZsYWdzKCkpKSB7CkBAIC03
NDQsMTEgKzc0NCwxMiBAQCBwcml2YXRlOgogICAgICAgICAgICAgSW50NTJLaW5kIGtpbmQ7CiAg
ICAgICAgICAgICBMVmFsdWUgbGVmdCA9IGxvd1doaWNoZXZlckludDUyKG1fbm9kZS0+Y2hpbGQx
KCksIGtpbmQpOwogICAgICAgICAgICAgTFZhbHVlIHJpZ2h0ID0gbG93SW50NTIobV9ub2RlLT5j
aGlsZDIoKSwgb3Bwb3NpdGUoa2luZCkpOwotICAgICAgICAgICAgCisgICAgICAgICAgICBMVmFs
dWUgcmVzdWx0ID0gbV9vdXQubXVsKGxlZnQsIHJpZ2h0KTsKKworCiAgICAgICAgICAgICBMVmFs
dWUgb3ZlcmZsb3dSZXN1bHQgPSBtX291dC5tdWxXaXRoT3ZlcmZsb3c2NChsZWZ0LCByaWdodCk7
CiAgICAgICAgICAgICBzcGVjdWxhdGUoSW50NTJPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291
dC5leHRyYWN0VmFsdWUob3ZlcmZsb3dSZXN1bHQsIDEpKTsKLSAgICAgICAgICAgIExWYWx1ZSBy
ZXN1bHQgPSBtX291dC5leHRyYWN0VmFsdWUob3ZlcmZsb3dSZXN1bHQsIDApOwotICAgICAgICAg
ICAgCisKICAgICAgICAgICAgIGlmICghYnl0ZWNvZGVDYW5JZ25vcmVOZWdhdGl2ZVplcm8obV9u
b2RlLT5hcml0aE5vZGVGbGFncygpKSkgewogICAgICAgICAgICAgICAgIExCYXNpY0Jsb2NrIHNs
b3dDYXNlID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJBcml0aE11bCBzbG93IGNhc2UiKSk7CiAg
ICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05FV19CTE9DSyht
X291dCwgKCJBcml0aE11bCBjb250aW51YXRpb24iKSk7CkBAIC0xMDUwLDIwICsxMDUxLDE4IEBA
IHByaXZhdGU6CiAgICAgICAgIGNhc2UgSW50MzJVc2U6IHsKICAgICAgICAgICAgIExWYWx1ZSB2
YWx1ZSA9IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgCi0gICAgICAg
ICAgICBMVmFsdWUgcmVzdWx0OwotICAgICAgICAgICAgaWYgKGJ5dGVjb2RlQ2FuVHJ1bmNhdGVJ
bnRlZ2VyKG1fbm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpCi0gICAgICAgICAgICAgICAgcmVzdWx0
ID0gbV9vdXQubmVnKHZhbHVlKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKGJ5dGVjb2RlQ2FuSWdu
b3JlTmVnYXRpdmVaZXJvKG1fbm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpIHsKLSAgICAgICAgICAg
ICAgICAvLyBXZSBkb24ndCBoYXZlIGEgbmVnYXRlLXdpdGgtb3ZlcmZsb3cgaW50cmluc2ljLiBI
b3BlZnVsbHkgdGhpcwotICAgICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLCB0aG91Z2gu
Ci0gICAgICAgICAgICAgICAgTFZhbHVlIG92ZXJmbG93UmVzdWx0ID0gbV9vdXQuc3ViV2l0aE92
ZXJmbG93MzIobV9vdXQuaW50MzJaZXJvLCB2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgc3BlY3Vs
YXRlKE92ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jl
c3VsdCwgMSkpOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9IG1fb3V0LmV4dHJhY3RWYWx1ZShv
dmVyZmxvd1Jlc3VsdCwgMCk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
IHNwZWN1bGF0ZShPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291dC50ZXN0SXNaZXJvMzIodmFs
dWUsIG1fb3V0LmNvbnN0SW50MzIoMHg3ZmZmZmZmZikpKTsKLSAgICAgICAgICAgICAgICByZXN1
bHQgPSBtX291dC5uZWcodmFsdWUpOworICAgICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0
Lm5lZyh2YWx1ZSk7CisgICAgICAgICAgICBpZiAoIWJ5dGVjb2RlQ2FuVHJ1bmNhdGVJbnRlZ2Vy
KG1fbm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoYnl0ZWNv
ZGVDYW5JZ25vcmVOZWdhdGl2ZVplcm8obV9ub2RlLT5hcml0aE5vZGVGbGFncygpKSkgeworICAg
ICAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCBoYXZlIGEgbmVnYXRlLXdpdGgtb3ZlcmZsb3cg
aW50cmluc2ljLiBIb3BlZnVsbHkgdGhpcworICAgICAgICAgICAgICAgICAgICAvLyBkb2VzIHRo
ZSB0cmljaywgdGhvdWdoLgorICAgICAgICAgICAgICAgICAgICBMVmFsdWUgb3ZlcmZsb3dSZXN1
bHQgPSBtX291dC5zdWJXaXRoT3ZlcmZsb3czMihtX291dC5pbnQzMlplcm8sIHZhbHVlKTsKKyAg
ICAgICAgICAgICAgICAgICAgc3BlY3VsYXRlKE92ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1fb3V0
LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwgMSkpOworICAgICAgICAgICAgICAgIH0gZWxz
ZQorICAgICAgICAgICAgICAgICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwg
bV9vdXQudGVzdElzWmVybzMyKHZhbHVlLCBtX291dC5jb25zdEludDMyKDB4N2ZmZmZmZmYpKSk7
CisKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBzZXRJbnQzMihy
ZXN1bHQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTEwODIsNyArMTA4MSw3
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBMVmFsdWUgdmFsdWUgPSBsb3dJbnQ1MihtX25vZGUt
PmNoaWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jlc3VsdCA9IG1fb3V0LnN1
YldpdGhPdmVyZmxvdzY0KG1fb3V0LmludDY0WmVybywgdmFsdWUpOwogICAgICAgICAgICAgc3Bl
Y3VsYXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKG92
ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAgICAgICAgICBMVmFsdWUgcmVzdWx0ID0gbV9vdXQuZXh0
cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAwKTsKKyAgICAgICAgICAgIExWYWx1ZSByZXN1bHQg
PSBtX291dC5uZWcodmFsdWUpOwogICAgICAgICAgICAgc3BlY3VsYXRlKE5lZ2F0aXZlWmVybywg
bm9WYWx1ZSgpLCAwLCBtX291dC5pc1plcm82NChyZXN1bHQpKTsKICAgICAgICAgICAgIHNldElu
dDUyKHJlc3VsdCk7CiAgICAgICAgICAgICBicmVhazsK
</data>

          </attachment>
      

    </bug>

</bugzilla>