<?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>155164</bug_id>
          
          <creation_ts>2016-03-08 00:25:48 -0800</creation_ts>
          <short_desc>[JSC] Add register reuse for ArithAdd of an Int32 and constant in DFG</short_desc>
          <delta_ts>2016-04-20 15:24:21 -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>WebKit 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>
          <dependson>155355</dependson>
    
    <dependson>155368</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1171974</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-08 00:25:48 -0800</bug_when>
    <thetext>[JSC] Add register reuse for ArithAdd of an Int32 and constant in DFG</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171975</commentid>
    <comment_count>1</comment_count>
      <attachid>273280</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-08 00:27:53 -0800</bug_when>
    <thetext>Created attachment 273280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171979</commentid>
    <comment_count>2</comment_count>
      <attachid>273281</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-08 00:55:56 -0800</bug_when>
    <thetext>Created attachment 273281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173570</commentid>
    <comment_count>3</comment_count>
      <attachid>273281</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-03-10 20:54:04 -0800</bug_when>
    <thetext>Comment on attachment 273281
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173601</commentid>
    <comment_count>4</comment_count>
      <attachid>273281</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-10 22:04:38 -0800</bug_when>
    <thetext>Comment on attachment 273281
Patch

Clearing flags on attachment: 273281

Committed r197994: &lt;http://trac.webkit.org/changeset/197994&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173602</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-10 22:04:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173680</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-03-11 02:44:03 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 273281 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 273281
&gt; 
&gt; Committed r197994: &lt;http://trac.webkit.org/changeset/197994&gt;

It made 2 JSC stress tests crash (at least) on ARM 32-bit and 64-bit Linux bots.
See https://bugs.webkit.org/show_bug.cgi?id=155355 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173734</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-03-11 09:09:16 -0800</bug_when>
    <thetext>Let&apos;s roll out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173755</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-11 09:47:23 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 155368</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173862</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-11 14:04:14 -0800</bug_when>
    <thetext>I&apos;ll look into that later, this is not a critical patch, just nice to have.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173923</commentid>
    <comment_count>10</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-11 16:53:26 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173924</commentid>
    <comment_count>11</comment_count>
      <attachid>273786</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-11 16:53:27 -0800</bug_when>
    <thetext>Created attachment 273786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173926</commentid>
    <comment_count>12</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-11 16:54:11 -0800</bug_when>
    <thetext>That was trivial: branchAdd with immediate was missing blinding support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185370</commentid>
    <comment_count>13</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-04-20 01:26:44 -0700</bug_when>
    <thetext>                                    Conf#1                    Conf#2                                      

3d-cube                         5.0156+-0.1633            4.8687+-0.1295          might be 1.0302x faster
3d-morph                        5.0690+-0.0673            4.9932+-0.0474          might be 1.0152x faster
3d-raytrace                     5.4584+-0.3212            5.2790+-0.1017          might be 1.0340x faster
access-binary-trees             2.0642+-0.0457     ?      2.1047+-0.0746        ? might be 1.0196x slower
access-fannkuch                 5.9108+-0.1256            5.9075+-0.0320        
access-nbody                    2.5262+-0.0326     ?      2.5738+-0.0687        ? might be 1.0188x slower
access-nsieve                   3.0632+-0.1334            2.9922+-0.0496          might be 1.0237x faster
bitops-3bit-bits-in-byte        1.1284+-0.0188     ?      1.1367+-0.0268        ?
bitops-bits-in-byte             2.9306+-0.1908            2.8443+-0.0557          might be 1.0303x faster
bitops-bitwise-and              2.0470+-0.0190     ?      2.0562+-0.0361        ?
bitops-nsieve-bits              3.1448+-0.0657            3.1123+-0.0526          might be 1.0104x faster
controlflow-recursive           2.4241+-0.1033            2.3214+-0.0180          might be 1.0442x faster
crypto-aes                      4.1147+-0.0601            4.0947+-0.0811        
crypto-md5                      2.4777+-0.0579     ?      2.4813+-0.0644        ?
crypto-sha1                     2.3146+-0.0534            2.2861+-0.0220          might be 1.0124x faster
date-format-tofte               6.5533+-0.1548     ?      6.8088+-0.2330        ? might be 1.0390x slower
date-format-xparb               4.6342+-0.1291            4.5318+-0.0513          might be 1.0226x faster
math-cordic                     2.8395+-0.0559     ?      2.8521+-0.0414        ?
math-partial-sums               4.8627+-0.0715     ?      4.8931+-0.1341        ?
math-spectral-norm              1.9981+-0.0322     ?      2.0022+-0.0301        ?
regexp-dna                      6.4825+-0.1434     ?      6.5287+-0.1690        ?
string-base64                   4.8413+-0.1875            4.8092+-0.1618        
string-fasta                    5.7983+-0.0716            5.7192+-0.0556          might be 1.0138x faster
string-tagcloud                 8.1424+-0.1675            8.1003+-0.1894        
string-unpack-code             19.3036+-0.6727           18.8612+-0.2572          might be 1.0235x faster
string-validate-input           4.4333+-0.1465            4.2969+-0.0581          might be 1.0317x faster

&lt;arithmetic&gt;                    4.5992+-0.0331            4.5560+-0.0154          might be 1.0095x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185445</commentid>
    <comment_count>14</comment_count>
      <attachid>273786</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-20 10:02:04 -0700</bug_when>
    <thetext>Comment on attachment 273786
Patch

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

&gt; Source/JavaScriptCore/assembler/MacroAssembler.h:1710
&gt; +            // If we don&apos;t have a scratch register available for use, we&apos;ll just
&gt; +            // place a random number of nops.
&gt; +            uint32_t nopCount = random() &amp; 3;
&gt; +            while (nopCount--)
&gt; +                nop();

Is this really adequate as a replacement for constant blinding?  Seems like this gives an attacker a 1 in 3 chance of getting what he wants.

&gt; Source/JavaScriptCore/dfg/DFGOSRExit.h:68
&gt;      SpeculationRecovery(SpeculationRecoveryType type, GPRReg dest, GPRReg src)
&gt; -        : m_type(type)
&gt; +        : m_src(src)
&gt;          , m_dest(dest)
&gt; -        , m_src(src)
&gt; +        , m_type(type)
&gt; +    {
&gt; +    }

Add an &quot;ASSERT(type != SpeculativeAddImmediate)&quot; here?

&gt; Source/JavaScriptCore/dfg/DFGOSRExit.h:75
&gt; +    SpeculationRecovery(SpeculationRecoveryType type, GPRReg dest, int32_t immediate)
&gt; +        : m_immediate(immediate)
&gt; +        , m_dest(dest)
&gt; +        , m_type(type)
&gt;      {
&gt;      }

Either add an &quot;ASSERT(type == SpeculativeAddImmediate)&quot; here, or just remove the option to pass in a type, and hardwire &quot;m_type(SpeculativeAddImmediate)&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185446</commentid>
    <comment_count>15</comment_count>
      <attachid>273786</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-04-20 10:10:43 -0700</bug_when>
    <thetext>Comment on attachment 273786
Patch

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

r=me.  Please consider suggestions for SpeculationRecovery before landing.

&gt;&gt; Source/JavaScriptCore/assembler/MacroAssembler.h:1710
&gt;&gt; +                nop();
&gt; 
&gt; Is this really adequate as a replacement for constant blinding?  Seems like this gives an attacker a 1 in 3 chance of getting what he wants.

Nevermind.  Seems like this is already accepted standard practice in the code base.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185540</commentid>
    <comment_count>16</comment_count>
      <attachid>276851</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-04-20 14:25:27 -0700</bug_when>
    <thetext>Created attachment 276851
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185565</commentid>
    <comment_count>17</comment_count>
      <attachid>276851</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-20 15:24:15 -0700</bug_when>
    <thetext>Comment on attachment 276851
Patch for landing

Clearing flags on attachment: 276851

Committed r199792: &lt;http://trac.webkit.org/changeset/199792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185566</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-20 15:24:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273280</attachid>
            <date>2016-03-08 00:27:53 -0800</date>
            <delta_ts>2016-03-08 00:55:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155164-20160308002739.patch</filename>
            <type>text/plain</type>
            <size>7498</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
OGYzY2MyYmRlZDMxYjQ0NDhkYWI3ODk2NzU1MzY2YzA3NmQ5OTA0Li5iNmM4MjQ4NmVjMzI0NGMz
MWZlYzQwMDI4NTYwZDFhNjhiOWEwYTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNi0wMy0wOCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBBZGQgcmVnaXN0ZXIgcmV1c2UgZm9yIEFyaXRoQWRkIG9m
IGFuIEludDMyIGFuZCBjb25zdGFudCBpbiBERkcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV2ZXJ5ICJpbmMiIGluIGxvb3Agd2FzIGxvb2tpbmcgbGlr
ZSB0aGlzOgorICAgICAgICAgICAgbW92ZSByWCwgclkKKyAgICAgICAgICAgIGluYyByWQorICAg
ICAgICAgICAgam8gMHgyMzBmNGEyMDA1ODAKKworICAgICAgICBUaGlzIHBhdGNoIGFkZCByZWdp
c3RlciBSZXVzZSB0byB0aGF0IGNhc2UgdG8gcmVtb3ZlCisgICAgICAgIHRoZSBleHRyYSAibW92
ZSIuCisKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdC5oOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aW9uUmVjb3Zlcnk6OlNwZWN1bGF0aW9uUmVjb3ZlcnkpOgorICAgICAgICAoSlNDOjpE
Rkc6OlNwZWN1bGF0aW9uUmVjb3Zlcnk6OmltbWVkaWF0ZSk6CisgICAgICAgICogZGZnL0RGR09T
UkV4aXRDb21waWxlcjMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpPU1JFeGl0Q29tcGls
ZXI6OmNvbXBpbGVFeGl0KToKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6Ok9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQpOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aEFkZCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fy
aXRoLWFkZC13aXRoLWNvbnN0YW50LW92ZXJmbG93LmpzOiBBZGRlZC4KKyAgICAgICAgKG9wYXF1
ZUFkZCk6CisKIDIwMTYtMDMtMDcgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0pTQ10gU21hbGwgY2xlYW4gdXAgb2YgaG93IHdlIHVzZSBTU0EncyB2
YWx1ZXNBdEhlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmgKaW5kZXggYTE0
ZDU0Zjg0NDgwNzAwMmU2ZjU0YzJlNWZmZWZhNTBkNzlmNDQxYS4uMzdkZWU0YjE1N2VmOGY5ZTlh
MDRmMmY5ODVlZDlmNjgxNWM4ZDIyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPU1JFeGl0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JF
eGl0LmgKQEAgLTQ4LDggKzQ4LDkgQEAgc3RydWN0IE5vZGU7CiAKIC8vIFRoaXMgZW51bSBkZXNj
cmliZXMgdGhlIHR5cGVzIG9mIGFkZGl0aW9uYWwgcmVjb3ZlcnkgdGhhdAogLy8gbWF5IG5lZWQg
YmUgcGVyZm9ybWVkIHNob3VsZCBhIHNwZWN1bGF0aW9uIGNoZWNrIGZhaWwuCi1lbnVtIFNwZWN1
bGF0aW9uUmVjb3ZlcnlUeXBlIHsKK2VudW0gU3BlY3VsYXRpb25SZWNvdmVyeVR5cGUgOiB1aW50
OF90IHsKICAgICBTcGVjdWxhdGl2ZUFkZCwKKyAgICBTcGVjdWxhdGl2ZUFkZEltbWVkaWF0ZSwK
ICAgICBCb29sZWFuU3BlY3VsYXRpb25DaGVjawogfTsKIApAQCAtNjAsMjIgKzYxLDM0IEBAIGVu
dW0gU3BlY3VsYXRpb25SZWNvdmVyeVR5cGUgewogY2xhc3MgU3BlY3VsYXRpb25SZWNvdmVyeSB7
CiBwdWJsaWM6CiAgICAgU3BlY3VsYXRpb25SZWNvdmVyeShTcGVjdWxhdGlvblJlY292ZXJ5VHlw
ZSB0eXBlLCBHUFJSZWcgZGVzdCwgR1BSUmVnIHNyYykKLSAgICAgICAgOiBtX3R5cGUodHlwZSkK
KyAgICAgICAgOiBtX3NyYyhzcmMpCiAgICAgICAgICwgbV9kZXN0KGRlc3QpCi0gICAgICAgICwg
bV9zcmMoc3JjKQorICAgICAgICAsIG1fdHlwZSh0eXBlKQorICAgIHsKKyAgICB9CisKKyAgICBT
cGVjdWxhdGlvblJlY292ZXJ5KFNwZWN1bGF0aW9uUmVjb3ZlcnlUeXBlIHR5cGUsIEdQUlJlZyBk
ZXN0LCBpbnQzMl90IGltbWVkaWF0ZSkKKyAgICAgICAgOiBtX2ltbWVkaWF0ZShpbW1lZGlhdGUp
CisgICAgICAgICwgbV9kZXN0KGRlc3QpCisgICAgICAgICwgbV90eXBlKHR5cGUpCiAgICAgewog
ICAgIH0KIAogICAgIFNwZWN1bGF0aW9uUmVjb3ZlcnlUeXBlIHR5cGUoKSB7IHJldHVybiBtX3R5
cGU7IH0KICAgICBHUFJSZWcgZGVzdCgpIHsgcmV0dXJuIG1fZGVzdDsgfQogICAgIEdQUlJlZyBz
cmMoKSB7IHJldHVybiBtX3NyYzsgfQorICAgIGludDMyX3QgaW1tZWRpYXRlKCkgeyByZXR1cm4g
bV9pbW1lZGlhdGU7IH0KIAogcHJpdmF0ZToKLSAgICAvLyBJbmRpY2F0ZXMgdGhlIHR5cGUgb2Yg
YWRkaXRpb25hbCByZWNvdmVyeSB0byBiZSBwZXJmb3JtZWQuCi0gICAgU3BlY3VsYXRpb25SZWNv
dmVyeVR5cGUgbV90eXBlOwogICAgIC8vIGRpZmZlcmVudCByZWNvdmVyeSB0eXBlcyBtYXkgcmVx
dWlyZWQgZGlmZmVyZW50IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaGVyZS4KKyAgICB1bmlvbiB7
CisgICAgICAgIEdQUlJlZyBtX3NyYzsKKyAgICAgICAgaW50MzJfdCBtX2ltbWVkaWF0ZTsKKyAg
ICB9OwogICAgIEdQUlJlZyBtX2Rlc3Q7Ci0gICAgR1BSUmVnIG1fc3JjOworCisgICAgLy8gSW5k
aWNhdGVzIHRoZSB0eXBlIG9mIGFkZGl0aW9uYWwgcmVjb3ZlcnkgdG8gYmUgcGVyZm9ybWVkLgor
ICAgIFNwZWN1bGF0aW9uUmVjb3ZlcnlUeXBlIG1fdHlwZTsKIH07CiAKIC8vID09PSBPU1JFeGl0
ID09PQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29t
cGlsZXIzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21w
aWxlcjMyXzY0LmNwcAppbmRleCBlNDE5OTQxZGRlM2U4ZmQyNTExNDJmOTRkMTI0ZGNkOGI5YWYz
YmZkLi4yODNiODQxNWJhZDM5ZDIwMTk4OWJmZTFhMjVjNWI2NzM5ZWY1YWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNw
cApAQCAtNTYsNiArNTYsMTAgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNv
bnN0IE9TUkV4aXQmIGV4aXQsIGNvbnN0IE9wZXJhbmRzPFZhbHVlUmVjb3YKICAgICAgICAgY2Fz
ZSBTcGVjdWxhdGl2ZUFkZDoKICAgICAgICAgICAgIG1faml0LnN1YjMyKHJlY292ZXJ5LT5zcmMo
KSwgcmVjb3ZlcnktPmRlc3QoKSk7CiAgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IFNwZWN1bGF0aXZlQWRkOgorICAgICAgICAgICAgbV9qaXQuc3ViMzIoQXNzZW1ibHlIZWxwZXJz
OjpJbW0zMihyZWNvdmVyeS0+aW1tZWRpYXRlKCkpLCByZWNvdmVyeS0+ZGVzdCgpKTsKKyAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQm9vbGVhblNwZWN1bGF0
aW9uQ2hlY2s6CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAKaW5kZXggNjk5OWU1Y2ZiY2Q0YWUyZDZh
ODQ3OGZkYzg4NjU4MDMzNDM1NTE0NC4uZjQ1YzgzMzVhYTQwYTAzOWNmZDc0ZTc2MjZlN2YyZjM2
NWJiN2QzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0
Q29tcGlsZXI2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0
Q29tcGlsZXI2NC5jcHAKQEAgLTYxLDYgKzYxLDExIEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpj
b21waWxlRXhpdChjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdCBPcGVyYW5kczxWYWx1ZVJlY292
CiAgICAgICAgICAgICBtX2ppdC5zdWIzMihyZWNvdmVyeS0+c3JjKCksIHJlY292ZXJ5LT5kZXN0
KCkpOwogICAgICAgICAgICAgbV9qaXQub3I2NChHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0
ZXIsIHJlY292ZXJ5LT5kZXN0KCkpOwogICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2Fz
ZSBTcGVjdWxhdGl2ZUFkZEltbWVkaWF0ZToKKyAgICAgICAgICAgIG1faml0LnN1YjMyKEFzc2Vt
Ymx5SGVscGVyczo6SW1tMzIocmVjb3ZlcnktPmltbWVkaWF0ZSgpKSwgcmVjb3ZlcnktPmRlc3Qo
KSk7CisgICAgICAgICAgICBtX2ppdC5vcjY0KEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3Rl
ciwgcmVjb3ZlcnktPmRlc3QoKSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIAog
ICAgICAgICBjYXNlIEJvb2xlYW5TcGVjdWxhdGlvbkNoZWNrOgogICAgICAgICAgICAgbV9qaXQu
eG9yNjQoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tMzIoc3RhdGljX2Nhc3Q8aW50MzJfdD4o
VmFsdWVGYWxzZSkpLCByZWNvdmVyeS0+ZGVzdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMmYyM2QwOTQzNGEyMzE3ODUwMDMy
MmNkMTRiYjIyMjRkZjA4NGZiZC4uNzhlMGZlNzZjMzdiZDE0MGM3M2NlOTA2YjVhY2FhZGYzNmI3
NjhlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAKQEAgLTMyNTYsMTkgKzMyNTYsMjYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUFyaXRoQWRkKE5vZGUqIG5vZGUpCiAKICAgICAgICAgaWYgKG5vZGUtPmNoaWxkMigpLT5pc0lu
dDMyQ29uc3RhbnQoKSkgewogICAgICAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIG9wMSh0
aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRo
aXMsIFJldXNlLCBvcDEpOworCisgICAgICAgICAgICBHUFJSZWcgZ3ByMSA9IG9wMS5ncHIoKTsK
ICAgICAgICAgICAgIGludDMyX3QgaW1tMiA9IG5vZGUtPmNoaWxkMigpLT5hc0ludDMyKCk7Cisg
ICAgICAgICAgICBHUFJSZWcgZ3ByUmVzdWx0ID0gcmVzdWx0LmdwcigpOwogCiAgICAgICAgICAg
ICBpZiAoIXNob3VsZENoZWNrT3ZlcmZsb3cobm9kZS0+YXJpdGhNb2RlKCkpKSB7Ci0gICAgICAg
ICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBSZXVzZSwgb3AxKTsKLSAgICAgICAg
ICAgICAgICBtX2ppdC5hZGQzMihJbW0zMihpbW0yKSwgb3AxLmdwcigpLCByZXN1bHQuZ3ByKCkp
OwotICAgICAgICAgICAgICAgIGludDMyUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9kZSk7CisgICAg
ICAgICAgICAgICAgbV9qaXQuYWRkMzIoSW1tMzIoaW1tMiksIGdwcjEsIGdwclJlc3VsdCk7Cisg
ICAgICAgICAgICAgICAgaW50MzJSZXN1bHQoZ3ByUmVzdWx0LCBub2RlKTsKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIEdQUlRlbXBvcmFyeSBy
ZXN1bHQodGhpcyk7Ci0gICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKE92ZXJmbG93LCBKU1Zh
bHVlUmVncygpLCAwLCBtX2ppdC5icmFuY2hBZGQzMihNYWNyb0Fzc2VtYmxlcjo6T3ZlcmZsb3cs
IG9wMS5ncHIoKSwgSW1tMzIoaW1tMiksIHJlc3VsdC5ncHIoKSkpOworICAgICAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6Okp1bXAgY2hlY2sgPSBtX2ppdC5icmFuY2hBZGQzMihNYWNyb0Fzc2VtYmxl
cjo6T3ZlcmZsb3csIGdwcjEsIEltbTMyKGltbTIpLCBncHJSZXN1bHQpOworICAgICAgICAgICAg
aWYgKGdwcjEgPT0gZ3ByUmVzdWx0KSB7CisgICAgICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVj
ayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgY2hlY2ssCisgICAgICAgICAgICAgICAgICAg
IFNwZWN1bGF0aW9uUmVjb3ZlcnkoU3BlY3VsYXRpdmVBZGRJbW1lZGlhdGUsIGdwcjEsIGltbTIp
KTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2so
T3ZlcmZsb3csIEpTVmFsdWVSZWdzKCksIDAsIGNoZWNrKTsKIAotICAgICAgICAgICAgaW50MzJS
ZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKKyAgICAgICAgICAgIGludDMyUmVzdWx0KGdwclJl
c3VsdCwgbm9kZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJp
dGgtYWRkLXdpdGgtY29uc3RhbnQtb3ZlcmZsb3cuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2FyaXRoLWFkZC13aXRoLWNvbnN0YW50LW92ZXJmbG93LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNlNWMzODEyMzdiYmYxYTAxZTk4ZTRkODA1NjM1ZjA1MDAwMDNjYWQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FyaXRoLWFkZC13aXRo
LWNvbnN0YW50LW92ZXJmbG93LmpzCkBAIC0wLDAgKzEsMjEgQEAKK2Z1bmN0aW9uIG9wYXF1ZUFk
ZChhKQoreworICAgIHJldHVybiBhICsgNDI7Cit9Citub0lubGluZShvcGFxdWVBZGQpOworCisv
LyBXYXJtIHVwLgorZm9yIChsZXQgaSA9IDA7IGkgPCAxZTQ7ICsraSkgeworICAgIGxldCByZXN1
bHQgPSBvcGFxdWVBZGQoNSk7CisgICAgaWYgKHJlc3VsdCAhPT0gNDcpCisgICAgICAgIHRocm93
ICJJbnZhbGlkIG9wYXF1ZUFkZCg1KSBhdCBpID0gIiArIGk7Cit9CisKKy8vIE92ZXJmbG93Lgor
Zm9yIChsZXQgaSA9IDA7IGkgPCAxZTM7ICsraSkgeworICAgIGZvciAobGV0IGogPSAtNTA7IGog
PCA1MDsgKytqKSB7CisgICAgICAgIGxldCByZXN1bHQgPSBvcGFxdWVBZGQoMjE0NzQ4MzY0NyAr
IGopOworICAgICAgICBpZiAocmVzdWx0ICE9PSAyMTQ3NDgzNjg5ICsgaikKKyAgICAgICAgICAg
IHRocm93ICJJbnZhbGlkIG9wYXF1ZUFkZCgiICsgMjE0NzQ4MzY0NyArIGogKyAiKSBhdCBpID0g
IiArIGkgKyAiIGogPSAiICsgajsKKyAgICB9Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273281</attachid>
            <date>2016-03-08 00:55:56 -0800</date>
            <delta_ts>2016-03-11 16:53:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155164-20160308005543.patch</filename>
            <type>text/plain</type>
            <size>7507</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
OGYzY2MyYmRlZDMxYjQ0NDhkYWI3ODk2NzU1MzY2YzA3NmQ5OTA0Li5iNmM4MjQ4NmVjMzI0NGMz
MWZlYzQwMDI4NTYwZDFhNjhiOWEwYTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNi0wMy0wOCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBBZGQgcmVnaXN0ZXIgcmV1c2UgZm9yIEFyaXRoQWRkIG9m
IGFuIEludDMyIGFuZCBjb25zdGFudCBpbiBERkcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV2ZXJ5ICJpbmMiIGluIGxvb3Agd2FzIGxvb2tpbmcgbGlr
ZSB0aGlzOgorICAgICAgICAgICAgbW92ZSByWCwgclkKKyAgICAgICAgICAgIGluYyByWQorICAg
ICAgICAgICAgam8gMHgyMzBmNGEyMDA1ODAKKworICAgICAgICBUaGlzIHBhdGNoIGFkZCByZWdp
c3RlciBSZXVzZSB0byB0aGF0IGNhc2UgdG8gcmVtb3ZlCisgICAgICAgIHRoZSBleHRyYSAibW92
ZSIuCisKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdC5oOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aW9uUmVjb3Zlcnk6OlNwZWN1bGF0aW9uUmVjb3ZlcnkpOgorICAgICAgICAoSlNDOjpE
Rkc6OlNwZWN1bGF0aW9uUmVjb3Zlcnk6OmltbWVkaWF0ZSk6CisgICAgICAgICogZGZnL0RGR09T
UkV4aXRDb21waWxlcjMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpPU1JFeGl0Q29tcGls
ZXI6OmNvbXBpbGVFeGl0KToKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6Ok9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQpOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aEFkZCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fy
aXRoLWFkZC13aXRoLWNvbnN0YW50LW92ZXJmbG93LmpzOiBBZGRlZC4KKyAgICAgICAgKG9wYXF1
ZUFkZCk6CisKIDIwMTYtMDMtMDcgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0pTQ10gU21hbGwgY2xlYW4gdXAgb2YgaG93IHdlIHVzZSBTU0EncyB2
YWx1ZXNBdEhlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmgKaW5kZXggYTE0
ZDU0Zjg0NDgwNzAwMmU2ZjU0YzJlNWZmZWZhNTBkNzlmNDQxYS4uMzdkZWU0YjE1N2VmOGY5ZTlh
MDRmMmY5ODVlZDlmNjgxNWM4ZDIyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPU1JFeGl0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JF
eGl0LmgKQEAgLTQ4LDggKzQ4LDkgQEAgc3RydWN0IE5vZGU7CiAKIC8vIFRoaXMgZW51bSBkZXNj
cmliZXMgdGhlIHR5cGVzIG9mIGFkZGl0aW9uYWwgcmVjb3ZlcnkgdGhhdAogLy8gbWF5IG5lZWQg
YmUgcGVyZm9ybWVkIHNob3VsZCBhIHNwZWN1bGF0aW9uIGNoZWNrIGZhaWwuCi1lbnVtIFNwZWN1
bGF0aW9uUmVjb3ZlcnlUeXBlIHsKK2VudW0gU3BlY3VsYXRpb25SZWNvdmVyeVR5cGUgOiB1aW50
OF90IHsKICAgICBTcGVjdWxhdGl2ZUFkZCwKKyAgICBTcGVjdWxhdGl2ZUFkZEltbWVkaWF0ZSwK
ICAgICBCb29sZWFuU3BlY3VsYXRpb25DaGVjawogfTsKIApAQCAtNjAsMjIgKzYxLDM0IEBAIGVu
dW0gU3BlY3VsYXRpb25SZWNvdmVyeVR5cGUgewogY2xhc3MgU3BlY3VsYXRpb25SZWNvdmVyeSB7
CiBwdWJsaWM6CiAgICAgU3BlY3VsYXRpb25SZWNvdmVyeShTcGVjdWxhdGlvblJlY292ZXJ5VHlw
ZSB0eXBlLCBHUFJSZWcgZGVzdCwgR1BSUmVnIHNyYykKLSAgICAgICAgOiBtX3R5cGUodHlwZSkK
KyAgICAgICAgOiBtX3NyYyhzcmMpCiAgICAgICAgICwgbV9kZXN0KGRlc3QpCi0gICAgICAgICwg
bV9zcmMoc3JjKQorICAgICAgICAsIG1fdHlwZSh0eXBlKQorICAgIHsKKyAgICB9CisKKyAgICBT
cGVjdWxhdGlvblJlY292ZXJ5KFNwZWN1bGF0aW9uUmVjb3ZlcnlUeXBlIHR5cGUsIEdQUlJlZyBk
ZXN0LCBpbnQzMl90IGltbWVkaWF0ZSkKKyAgICAgICAgOiBtX2ltbWVkaWF0ZShpbW1lZGlhdGUp
CisgICAgICAgICwgbV9kZXN0KGRlc3QpCisgICAgICAgICwgbV90eXBlKHR5cGUpCiAgICAgewog
ICAgIH0KIAogICAgIFNwZWN1bGF0aW9uUmVjb3ZlcnlUeXBlIHR5cGUoKSB7IHJldHVybiBtX3R5
cGU7IH0KICAgICBHUFJSZWcgZGVzdCgpIHsgcmV0dXJuIG1fZGVzdDsgfQogICAgIEdQUlJlZyBz
cmMoKSB7IHJldHVybiBtX3NyYzsgfQorICAgIGludDMyX3QgaW1tZWRpYXRlKCkgeyByZXR1cm4g
bV9pbW1lZGlhdGU7IH0KIAogcHJpdmF0ZToKLSAgICAvLyBJbmRpY2F0ZXMgdGhlIHR5cGUgb2Yg
YWRkaXRpb25hbCByZWNvdmVyeSB0byBiZSBwZXJmb3JtZWQuCi0gICAgU3BlY3VsYXRpb25SZWNv
dmVyeVR5cGUgbV90eXBlOwogICAgIC8vIGRpZmZlcmVudCByZWNvdmVyeSB0eXBlcyBtYXkgcmVx
dWlyZWQgZGlmZmVyZW50IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaGVyZS4KKyAgICB1bmlvbiB7
CisgICAgICAgIEdQUlJlZyBtX3NyYzsKKyAgICAgICAgaW50MzJfdCBtX2ltbWVkaWF0ZTsKKyAg
ICB9OwogICAgIEdQUlJlZyBtX2Rlc3Q7Ci0gICAgR1BSUmVnIG1fc3JjOworCisgICAgLy8gSW5k
aWNhdGVzIHRoZSB0eXBlIG9mIGFkZGl0aW9uYWwgcmVjb3ZlcnkgdG8gYmUgcGVyZm9ybWVkLgor
ICAgIFNwZWN1bGF0aW9uUmVjb3ZlcnlUeXBlIG1fdHlwZTsKIH07CiAKIC8vID09PSBPU1JFeGl0
ID09PQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29t
cGlsZXIzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21w
aWxlcjMyXzY0LmNwcAppbmRleCBlNDE5OTQxZGRlM2U4ZmQyNTExNDJmOTRkMTI0ZGNkOGI5YWYz
YmZkLi5jMzc0NmJkOGJkYTg4OWFhZWY3ODhiNjRjMmE1NWE0YmI2M2NhODY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNw
cApAQCAtNTYsNiArNTYsMTAgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNv
bnN0IE9TUkV4aXQmIGV4aXQsIGNvbnN0IE9wZXJhbmRzPFZhbHVlUmVjb3YKICAgICAgICAgY2Fz
ZSBTcGVjdWxhdGl2ZUFkZDoKICAgICAgICAgICAgIG1faml0LnN1YjMyKHJlY292ZXJ5LT5zcmMo
KSwgcmVjb3ZlcnktPmRlc3QoKSk7CiAgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IFNwZWN1bGF0aXZlQWRkSW1tZWRpYXRlOgorICAgICAgICAgICAgbV9qaXQuc3ViMzIoQXNzZW1i
bHlIZWxwZXJzOjpJbW0zMihyZWNvdmVyeS0+aW1tZWRpYXRlKCkpLCByZWNvdmVyeS0+ZGVzdCgp
KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQm9vbGVh
blNwZWN1bGF0aW9uQ2hlY2s6CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAKaW5kZXggNjk5OWU1Y2Zi
Y2Q0YWUyZDZhODQ3OGZkYzg4NjU4MDMzNDM1NTE0NC4uZjQ1YzgzMzVhYTQwYTAzOWNmZDc0ZTc2
MjZlN2YyZjM2NWJiN2QzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAKQEAgLTYxLDYgKzYxLDExIEBAIHZvaWQgT1NSRXhpdENv
bXBpbGVyOjpjb21waWxlRXhpdChjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdCBPcGVyYW5kczxW
YWx1ZVJlY292CiAgICAgICAgICAgICBtX2ppdC5zdWIzMihyZWNvdmVyeS0+c3JjKCksIHJlY292
ZXJ5LT5kZXN0KCkpOwogICAgICAgICAgICAgbV9qaXQub3I2NChHUFJJbmZvOjp0YWdUeXBlTnVt
YmVyUmVnaXN0ZXIsIHJlY292ZXJ5LT5kZXN0KCkpOwogICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgY2FzZSBTcGVjdWxhdGl2ZUFkZEltbWVkaWF0ZToKKyAgICAgICAgICAgIG1faml0LnN1
YjMyKEFzc2VtYmx5SGVscGVyczo6SW1tMzIocmVjb3ZlcnktPmltbWVkaWF0ZSgpKSwgcmVjb3Zl
cnktPmRlc3QoKSk7CisgICAgICAgICAgICBtX2ppdC5vcjY0KEdQUkluZm86OnRhZ1R5cGVOdW1i
ZXJSZWdpc3RlciwgcmVjb3ZlcnktPmRlc3QoKSk7CisgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIAogICAgICAgICBjYXNlIEJvb2xlYW5TcGVjdWxhdGlvbkNoZWNrOgogICAgICAgICAg
ICAgbV9qaXQueG9yNjQoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tMzIoc3RhdGljX2Nhc3Q8
aW50MzJfdD4oVmFsdWVGYWxzZSkpLCByZWNvdmVyeS0+ZGVzdCgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMmYyM2QwOTQzNGEy
MzE3ODUwMDMyMmNkMTRiYjIyMjRkZjA4NGZiZC4uNzhlMGZlNzZjMzdiZDE0MGM3M2NlOTA2YjVh
Y2FhZGYzNmI3NjhlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHAKQEAgLTMyNTYsMTkgKzMyNTYsMjYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUFyaXRoQWRkKE5vZGUqIG5vZGUpCiAKICAgICAgICAgaWYgKG5vZGUtPmNoaWxk
MigpLT5pc0ludDMyQ29uc3RhbnQoKSkgewogICAgICAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVy
YW5kIG9wMSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgICAgICAgICBHUFJUZW1wb3Jhcnkg
cmVzdWx0KHRoaXMsIFJldXNlLCBvcDEpOworCisgICAgICAgICAgICBHUFJSZWcgZ3ByMSA9IG9w
MS5ncHIoKTsKICAgICAgICAgICAgIGludDMyX3QgaW1tMiA9IG5vZGUtPmNoaWxkMigpLT5hc0lu
dDMyKCk7CisgICAgICAgICAgICBHUFJSZWcgZ3ByUmVzdWx0ID0gcmVzdWx0LmdwcigpOwogCiAg
ICAgICAgICAgICBpZiAoIXNob3VsZENoZWNrT3ZlcmZsb3cobm9kZS0+YXJpdGhNb2RlKCkpKSB7
Ci0gICAgICAgICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBSZXVzZSwgb3AxKTsK
LSAgICAgICAgICAgICAgICBtX2ppdC5hZGQzMihJbW0zMihpbW0yKSwgb3AxLmdwcigpLCByZXN1
bHQuZ3ByKCkpOwotICAgICAgICAgICAgICAgIGludDMyUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9k
ZSk7CisgICAgICAgICAgICAgICAgbV9qaXQuYWRkMzIoSW1tMzIoaW1tMiksIGdwcjEsIGdwclJl
c3VsdCk7CisgICAgICAgICAgICAgICAgaW50MzJSZXN1bHQoZ3ByUmVzdWx0LCBub2RlKTsKICAg
ICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIEdQUlRl
bXBvcmFyeSByZXN1bHQodGhpcyk7Ci0gICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKE92ZXJm
bG93LCBKU1ZhbHVlUmVncygpLCAwLCBtX2ppdC5icmFuY2hBZGQzMihNYWNyb0Fzc2VtYmxlcjo6
T3ZlcmZsb3csIG9wMS5ncHIoKSwgSW1tMzIoaW1tMiksIHJlc3VsdC5ncHIoKSkpOworICAgICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgY2hlY2sgPSBtX2ppdC5icmFuY2hBZGQzMihNYWNy
b0Fzc2VtYmxlcjo6T3ZlcmZsb3csIGdwcjEsIEltbTMyKGltbTIpLCBncHJSZXN1bHQpOworICAg
ICAgICAgICAgaWYgKGdwcjEgPT0gZ3ByUmVzdWx0KSB7CisgICAgICAgICAgICAgICAgc3BlY3Vs
YXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgY2hlY2ssCisgICAgICAgICAg
ICAgICAgICAgIFNwZWN1bGF0aW9uUmVjb3ZlcnkoU3BlY3VsYXRpdmVBZGRJbW1lZGlhdGUsIGdw
cjEsIGltbTIpKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHNwZWN1bGF0
aW9uQ2hlY2soT3ZlcmZsb3csIEpTVmFsdWVSZWdzKCksIDAsIGNoZWNrKTsKIAotICAgICAgICAg
ICAgaW50MzJSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKKyAgICAgICAgICAgIGludDMyUmVz
dWx0KGdwclJlc3VsdCwgbm9kZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJpdGgtYWRkLXdpdGgtY29uc3RhbnQtb3ZlcmZsb3cuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2FyaXRoLWFkZC13aXRoLWNvbnN0YW50LW92ZXJmbG93Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNlNWMzODEyMzdiYmYxYTAxZTk4ZTRkODA1NjM1ZjA1MDAwMDNjYWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FyaXRo
LWFkZC13aXRoLWNvbnN0YW50LW92ZXJmbG93LmpzCkBAIC0wLDAgKzEsMjEgQEAKK2Z1bmN0aW9u
IG9wYXF1ZUFkZChhKQoreworICAgIHJldHVybiBhICsgNDI7Cit9Citub0lubGluZShvcGFxdWVB
ZGQpOworCisvLyBXYXJtIHVwLgorZm9yIChsZXQgaSA9IDA7IGkgPCAxZTQ7ICsraSkgeworICAg
IGxldCByZXN1bHQgPSBvcGFxdWVBZGQoNSk7CisgICAgaWYgKHJlc3VsdCAhPT0gNDcpCisgICAg
ICAgIHRocm93ICJJbnZhbGlkIG9wYXF1ZUFkZCg1KSBhdCBpID0gIiArIGk7Cit9CisKKy8vIE92
ZXJmbG93LgorZm9yIChsZXQgaSA9IDA7IGkgPCAxZTM7ICsraSkgeworICAgIGZvciAobGV0IGog
PSAtNTA7IGogPCA1MDsgKytqKSB7CisgICAgICAgIGxldCByZXN1bHQgPSBvcGFxdWVBZGQoMjE0
NzQ4MzY0NyArIGopOworICAgICAgICBpZiAocmVzdWx0ICE9PSAyMTQ3NDgzNjg5ICsgaikKKyAg
ICAgICAgICAgIHRocm93ICJJbnZhbGlkIG9wYXF1ZUFkZCgiICsgMjE0NzQ4MzY0NyArIGogKyAi
KSBhdCBpID0gIiArIGkgKyAiIGogPSAiICsgajsKKyAgICB9Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273786</attachid>
            <date>2016-03-11 16:53:27 -0800</date>
            <delta_ts>2016-04-20 14:25:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155164-20160311165315.patch</filename>
            <type>text/plain</type>
            <size>9042</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4MDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NWRkYzkxMTgyYzk5MGE2OGE0MWVkMDQ3NzI2MjA5MjQyOGJhNDVjLi45MjljYzczNzljNGExOTBm
ZTQzOWY0ODcwNGUzOTk2ZWZlMzI1MDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNi0wMy0xMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBBZGQgcmVnaXN0ZXIgcmV1c2UgZm9yIEFyaXRoQWRkIG9m
IGFuIEludDMyIGFuZCBjb25zdGFudCBpbiBERkcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV2ZXJ5ICJpbmMiIGluIGxvb3Agd2FzIGxvb2tpbmcgbGlr
ZSB0aGlzOgorICAgICAgICAgICAgbW92ZSByWCwgclkKKyAgICAgICAgICAgIGluYyByWQorICAg
ICAgICAgICAgam8gMHgyMzBmNGEyMDA1ODAKKworICAgICAgICBUaGlzIHBhdGNoIGFkZCByZWdp
c3RlciBSZXVzZSB0byB0aGF0IGNhc2UgdG8gcmVtb3ZlCisgICAgICAgIHRoZSBleHRyYSAibW92
ZSIuCisKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdC5oOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aW9uUmVjb3Zlcnk6OlNwZWN1bGF0aW9uUmVjb3ZlcnkpOgorICAgICAgICAoSlNDOjpE
Rkc6OlNwZWN1bGF0aW9uUmVjb3Zlcnk6OmltbWVkaWF0ZSk6CisgICAgICAgICogZGZnL0RGR09T
UkV4aXRDb21waWxlcjMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpPU1JFeGl0Q29tcGls
ZXI6OmNvbXBpbGVFeGl0KToKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6Ok9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQpOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aEFkZCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fy
aXRoLWFkZC13aXRoLWNvbnN0YW50LW92ZXJmbG93LmpzOiBBZGRlZC4KKyAgICAgICAgKG9wYXF1
ZUFkZCk6CisKIDIwMTYtMDMtMTEgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIEltcGxlbWVudCBGdW5jdGlvbi5uYW1lIGFuZCBGdW5jdGlvbiN0b1N0cmluZyBmb3Ig
RVM2IGNsYXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlci5oCmluZGV4IDM1YTM2NDdkYzNmZWI0NjQ2MDE2NjVhOTE4NDVjYjc2YjNkY2UwYjcu
LjU3NDNhMWQ5N2U4MmRlMTE3ZTk0ZmUxOGY1NGFlNWI4ODRkODRhZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKQEAgLTE2OTQsMTYg
KzE2OTQsMjAgQEAgcHVibGljOgogCiAgICAgSnVtcCBicmFuY2hBZGQzMihSZXN1bHRDb25kaXRp
b24gY29uZCwgUmVnaXN0ZXJJRCBzcmMsIEltbTMyIGltbSwgUmVnaXN0ZXJJRCBkZXN0KQogICAg
IHsKLSAgICAgICAgaWYgKHNyYyA9PSBkZXN0KQotICAgICAgICAgICAgQVNTRVJUKGhhdmVTY3Jh
dGNoUmVnaXN0ZXJGb3JCbGluZGluZygpKTsKLQogICAgICAgICBpZiAoc2hvdWxkQmxpbmQoaW1t
KSkgewotICAgICAgICAgICAgaWYgKHNyYyA9PSBkZXN0KSB7Ci0gICAgICAgICAgICAgICAgbW92
ZShzcmMsIHNjcmF0Y2hSZWdpc3RlckZvckJsaW5kaW5nKCkpOwotICAgICAgICAgICAgICAgIHNy
YyA9IHNjcmF0Y2hSZWdpc3RlckZvckJsaW5kaW5nKCk7CisgICAgICAgICAgICBpZiAoc3JjICE9
IGRlc3QgfHwgaGF2ZVNjcmF0Y2hSZWdpc3RlckZvckJsaW5kaW5nKCkpIHsKKyAgICAgICAgICAg
ICAgICBpZiAoc3JjID09IGRlc3QpIHsKKyAgICAgICAgICAgICAgICAgICAgbW92ZShzcmMsIHNj
cmF0Y2hSZWdpc3RlckZvckJsaW5kaW5nKCkpOworICAgICAgICAgICAgICAgICAgICBzcmMgPSBz
Y3JhdGNoUmVnaXN0ZXJGb3JCbGluZGluZygpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBsb2FkWG9yQmxpbmRlZENvbnN0YW50KHhvckJsaW5kQ29uc3RhbnQoaW1tKSwgZGVz
dCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGJyYW5jaEFkZDMyKGNvbmQsIHNyYywgZGVzdCk7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBsb2FkWG9yQmxpbmRlZENvbnN0YW50KHhvckJs
aW5kQ29uc3RhbnQoaW1tKSwgZGVzdCk7Ci0gICAgICAgICAgICByZXR1cm4gYnJhbmNoQWRkMzIo
Y29uZCwgc3JjLCBkZXN0KTsgIAorICAgICAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHNj
cmF0Y2ggcmVnaXN0ZXIgYXZhaWxhYmxlIGZvciB1c2UsIHdlJ2xsIGp1c3QKKyAgICAgICAgICAg
IC8vIHBsYWNlIGEgcmFuZG9tIG51bWJlciBvZiBub3BzLgorICAgICAgICAgICAgdWludDMyX3Qg
bm9wQ291bnQgPSByYW5kb20oKSAmIDM7CisgICAgICAgICAgICB3aGlsZSAobm9wQ291bnQtLSkK
KyAgICAgICAgICAgICAgICBub3AoKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gYnJhbmNo
QWRkMzIoY29uZCwgc3JjLCBpbW0uYXNUcnVzdGVkSW1tMzIoKSwgZGVzdCk7ICAgICAgICAgICAg
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuaAppbmRleCBhMTRkNTRm
ODQ0ODA3MDAyZTZmNTRjMmU1ZmZlZmE1MGQ3OWY0NDFhLi4zN2RlZTRiMTU3ZWY4ZjllOWEwNGYy
Zjk4NWVkOWY2ODE1YzhkMjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkV4aXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQu
aApAQCAtNDgsOCArNDgsOSBAQCBzdHJ1Y3QgTm9kZTsKIAogLy8gVGhpcyBlbnVtIGRlc2NyaWJl
cyB0aGUgdHlwZXMgb2YgYWRkaXRpb25hbCByZWNvdmVyeSB0aGF0CiAvLyBtYXkgbmVlZCBiZSBw
ZXJmb3JtZWQgc2hvdWxkIGEgc3BlY3VsYXRpb24gY2hlY2sgZmFpbC4KLWVudW0gU3BlY3VsYXRp
b25SZWNvdmVyeVR5cGUgeworZW51bSBTcGVjdWxhdGlvblJlY292ZXJ5VHlwZSA6IHVpbnQ4X3Qg
ewogICAgIFNwZWN1bGF0aXZlQWRkLAorICAgIFNwZWN1bGF0aXZlQWRkSW1tZWRpYXRlLAogICAg
IEJvb2xlYW5TcGVjdWxhdGlvbkNoZWNrCiB9OwogCkBAIC02MCwyMiArNjEsMzQgQEAgZW51bSBT
cGVjdWxhdGlvblJlY292ZXJ5VHlwZSB7CiBjbGFzcyBTcGVjdWxhdGlvblJlY292ZXJ5IHsKIHB1
YmxpYzoKICAgICBTcGVjdWxhdGlvblJlY292ZXJ5KFNwZWN1bGF0aW9uUmVjb3ZlcnlUeXBlIHR5
cGUsIEdQUlJlZyBkZXN0LCBHUFJSZWcgc3JjKQotICAgICAgICA6IG1fdHlwZSh0eXBlKQorICAg
ICAgICA6IG1fc3JjKHNyYykKICAgICAgICAgLCBtX2Rlc3QoZGVzdCkKLSAgICAgICAgLCBtX3Ny
YyhzcmMpCisgICAgICAgICwgbV90eXBlKHR5cGUpCisgICAgeworICAgIH0KKworICAgIFNwZWN1
bGF0aW9uUmVjb3ZlcnkoU3BlY3VsYXRpb25SZWNvdmVyeVR5cGUgdHlwZSwgR1BSUmVnIGRlc3Qs
IGludDMyX3QgaW1tZWRpYXRlKQorICAgICAgICA6IG1faW1tZWRpYXRlKGltbWVkaWF0ZSkKKyAg
ICAgICAgLCBtX2Rlc3QoZGVzdCkKKyAgICAgICAgLCBtX3R5cGUodHlwZSkKICAgICB7CiAgICAg
fQogCiAgICAgU3BlY3VsYXRpb25SZWNvdmVyeVR5cGUgdHlwZSgpIHsgcmV0dXJuIG1fdHlwZTsg
fQogICAgIEdQUlJlZyBkZXN0KCkgeyByZXR1cm4gbV9kZXN0OyB9CiAgICAgR1BSUmVnIHNyYygp
IHsgcmV0dXJuIG1fc3JjOyB9CisgICAgaW50MzJfdCBpbW1lZGlhdGUoKSB7IHJldHVybiBtX2lt
bWVkaWF0ZTsgfQogCiBwcml2YXRlOgotICAgIC8vIEluZGljYXRlcyB0aGUgdHlwZSBvZiBhZGRp
dGlvbmFsIHJlY292ZXJ5IHRvIGJlIHBlcmZvcm1lZC4KLSAgICBTcGVjdWxhdGlvblJlY292ZXJ5
VHlwZSBtX3R5cGU7CiAgICAgLy8gZGlmZmVyZW50IHJlY292ZXJ5IHR5cGVzIG1heSByZXF1aXJl
ZCBkaWZmZXJlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBoZXJlLgorICAgIHVuaW9uIHsKKyAg
ICAgICAgR1BSUmVnIG1fc3JjOworICAgICAgICBpbnQzMl90IG1faW1tZWRpYXRlOworICAgIH07
CiAgICAgR1BSUmVnIG1fZGVzdDsKLSAgICBHUFJSZWcgbV9zcmM7CisKKyAgICAvLyBJbmRpY2F0
ZXMgdGhlIHR5cGUgb2YgYWRkaXRpb25hbCByZWNvdmVyeSB0byBiZSBwZXJmb3JtZWQuCisgICAg
U3BlY3VsYXRpb25SZWNvdmVyeVR5cGUgbV90eXBlOwogfTsKIAogLy8gPT09IE9TUkV4aXQgPT09
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxl
cjMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVy
MzJfNjQuY3BwCmluZGV4IGU0MTk5NDFkZGUzZThmZDI1MTE0MmY5NGQxMjRkY2Q4YjlhZjNiZmQu
LmMzNzQ2YmQ4YmRhODg5YWFlZjc4OGI2NGMyYTU1YTRiYjYzY2E4NjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwCkBA
IC01Niw2ICs1NiwxMCBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3Qg
T1NSRXhpdCYgZXhpdCwgY29uc3QgT3BlcmFuZHM8VmFsdWVSZWNvdgogICAgICAgICBjYXNlIFNw
ZWN1bGF0aXZlQWRkOgogICAgICAgICAgICAgbV9qaXQuc3ViMzIocmVjb3ZlcnktPnNyYygpLCBy
ZWNvdmVyeS0+ZGVzdCgpKTsKICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgU3Bl
Y3VsYXRpdmVBZGRJbW1lZGlhdGU6CisgICAgICAgICAgICBtX2ppdC5zdWIzMihBc3NlbWJseUhl
bHBlcnM6OkltbTMyKHJlY292ZXJ5LT5pbW1lZGlhdGUoKSksIHJlY292ZXJ5LT5kZXN0KCkpOwor
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBCb29sZWFuU3Bl
Y3VsYXRpb25DaGVjazoKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAppbmRleCA2OTk5ZTVjZmJjZDRh
ZTJkNmE4NDc4ZmRjODg2NTgwMzM0MzU1MTQ0Li5mNDVjODMzNWFhNDBhMDM5Y2ZkNzRlNzYyNmU3
ZjJmMzY1YmI3ZDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXRDb21waWxlcjY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXRDb21waWxlcjY0LmNwcApAQCAtNjEsNiArNjEsMTEgQEAgdm9pZCBPU1JFeGl0Q29tcGls
ZXI6OmNvbXBpbGVFeGl0KGNvbnN0IE9TUkV4aXQmIGV4aXQsIGNvbnN0IE9wZXJhbmRzPFZhbHVl
UmVjb3YKICAgICAgICAgICAgIG1faml0LnN1YjMyKHJlY292ZXJ5LT5zcmMoKSwgcmVjb3Zlcnkt
PmRlc3QoKSk7CiAgICAgICAgICAgICBtX2ppdC5vcjY0KEdQUkluZm86OnRhZ1R5cGVOdW1iZXJS
ZWdpc3RlciwgcmVjb3ZlcnktPmRlc3QoKSk7CiAgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICBjYXNlIFNwZWN1bGF0aXZlQWRkSW1tZWRpYXRlOgorICAgICAgICAgICAgbV9qaXQuc3ViMzIo
QXNzZW1ibHlIZWxwZXJzOjpJbW0zMihyZWNvdmVyeS0+aW1tZWRpYXRlKCkpLCByZWNvdmVyeS0+
ZGVzdCgpKTsKKyAgICAgICAgICAgIG1faml0Lm9yNjQoR1BSSW5mbzo6dGFnVHlwZU51bWJlclJl
Z2lzdGVyLCByZWNvdmVyeS0+ZGVzdCgpKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgCiAgICAgICAgIGNhc2UgQm9vbGVhblNwZWN1bGF0aW9uQ2hlY2s6CiAgICAgICAgICAgICBt
X2ppdC54b3I2NChBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMihzdGF0aWNfY2FzdDxpbnQz
Ml90PihWYWx1ZUZhbHNlKSksIHJlY292ZXJ5LT5kZXN0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCAzNjljYTg5MDU0OTgwZWMz
OTczOTI5MDMzZWY2MDE5ZGExNjMzOTc1Li5jOWRhMDkzNzAxZTNlZGJhYTIxNGViMDRlNDcwZTE2
YTJlNDA1YzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcApAQCAtMzI1NiwxOSArMzI1NiwyNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlQXJpdGhBZGQoTm9kZSogbm9kZSkKIAogICAgICAgICBpZiAobm9kZS0+Y2hpbGQyKCkt
PmlzSW50MzJDb25zdGFudCgpKSB7CiAgICAgICAgICAgICBTcGVjdWxhdGVJbnQzMk9wZXJhbmQg
b3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1
bHQodGhpcywgUmV1c2UsIG9wMSk7CisKKyAgICAgICAgICAgIEdQUlJlZyBncHIxID0gb3AxLmdw
cigpOwogICAgICAgICAgICAgaW50MzJfdCBpbW0yID0gbm9kZS0+Y2hpbGQyKCktPmFzSW50MzIo
KTsKKyAgICAgICAgICAgIEdQUlJlZyBncHJSZXN1bHQgPSByZXN1bHQuZ3ByKCk7CiAKICAgICAg
ICAgICAgIGlmICghc2hvdWxkQ2hlY2tPdmVyZmxvdyhub2RlLT5hcml0aE1vZGUoKSkpIHsKLSAg
ICAgICAgICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMsIFJldXNlLCBvcDEpOwotICAg
ICAgICAgICAgICAgIG1faml0LmFkZDMyKEltbTMyKGltbTIpLCBvcDEuZ3ByKCksIHJlc3VsdC5n
cHIoKSk7Ci0gICAgICAgICAgICAgICAgaW50MzJSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsK
KyAgICAgICAgICAgICAgICBtX2ppdC5hZGQzMihJbW0zMihpbW0yKSwgZ3ByMSwgZ3ByUmVzdWx0
KTsKKyAgICAgICAgICAgICAgICBpbnQzMlJlc3VsdChncHJSZXN1bHQsIG5vZGUpOwogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgR1BSVGVtcG9y
YXJ5IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soT3ZlcmZsb3cs
IEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaEFkZDMyKE1hY3JvQXNzZW1ibGVyOjpPdmVy
Zmxvdywgb3AxLmdwcigpLCBJbW0zMihpbW0yKSwgcmVzdWx0LmdwcigpKSk7CisgICAgICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBjaGVjayA9IG1faml0LmJyYW5jaEFkZDMyKE1hY3JvQXNz
ZW1ibGVyOjpPdmVyZmxvdywgZ3ByMSwgSW1tMzIoaW1tMiksIGdwclJlc3VsdCk7CisgICAgICAg
ICAgICBpZiAoZ3ByMSA9PSBncHJSZXN1bHQpIHsKKyAgICAgICAgICAgICAgICBzcGVjdWxhdGlv
bkNoZWNrKE92ZXJmbG93LCBKU1ZhbHVlUmVncygpLCAwLCBjaGVjaywKKyAgICAgICAgICAgICAg
ICAgICAgU3BlY3VsYXRpb25SZWNvdmVyeShTcGVjdWxhdGl2ZUFkZEltbWVkaWF0ZSwgZ3ByMSwg
aW1tMikpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgc3BlY3VsYXRpb25D
aGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgY2hlY2spOwogCi0gICAgICAgICAgICBp
bnQzMlJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUpOworICAgICAgICAgICAgaW50MzJSZXN1bHQo
Z3ByUmVzdWx0LCBub2RlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcml0aC1hZGQtd2l0aC1jb25zdGFudC1vdmVyZmxvdy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJpdGgtYWRkLXdpdGgtY29uc3RhbnQtb3ZlcmZsb3cuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uY2U1YzM4MTIzN2JiZjFhMDFlOThlNGQ4MDU2MzVmMDUwMDAwM2NhZAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJpdGgtYWRk
LXdpdGgtY29uc3RhbnQtb3ZlcmZsb3cuanMKQEAgLTAsMCArMSwyMSBAQAorZnVuY3Rpb24gb3Bh
cXVlQWRkKGEpCit7CisgICAgcmV0dXJuIGEgKyA0MjsKK30KK25vSW5saW5lKG9wYXF1ZUFkZCk7
CisKKy8vIFdhcm0gdXAuCitmb3IgKGxldCBpID0gMDsgaSA8IDFlNDsgKytpKSB7CisgICAgbGV0
IHJlc3VsdCA9IG9wYXF1ZUFkZCg1KTsKKyAgICBpZiAocmVzdWx0ICE9PSA0NykKKyAgICAgICAg
dGhyb3cgIkludmFsaWQgb3BhcXVlQWRkKDUpIGF0IGkgPSAiICsgaTsKK30KKworLy8gT3ZlcmZs
b3cuCitmb3IgKGxldCBpID0gMDsgaSA8IDFlMzsgKytpKSB7CisgICAgZm9yIChsZXQgaiA9IC01
MDsgaiA8IDUwOyArK2opIHsKKyAgICAgICAgbGV0IHJlc3VsdCA9IG9wYXF1ZUFkZCgyMTQ3NDgz
NjQ3ICsgaik7CisgICAgICAgIGlmIChyZXN1bHQgIT09IDIxNDc0ODM2ODkgKyBqKQorICAgICAg
ICAgICAgdGhyb3cgIkludmFsaWQgb3BhcXVlQWRkKCIgKyAyMTQ3NDgzNjQ3ICsgaiArICIpIGF0
IGkgPSAiICsgaSArICIgaiA9ICIgKyBqOworICAgIH0KK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276851</attachid>
            <date>2016-04-20 14:25:27 -0700</date>
            <delta_ts>2016-04-20 15:24:15 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-155164-20160420142548.patch</filename>
            <type>text/plain</type>
            <size>9168</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5NzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YWFkY2EwNjMwNGI3ZDE2YjQ2YTQyYTRhNWQ1YjQwNGRiYzk2MTQ2Li5mYWY5NjMxYTNiNTdjNTNk
YjU3OTEyNmVhMGM4MTBjYjg1NTUyMzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNi0wNC0yMCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBBZGQgcmVnaXN0ZXIgcmV1c2UgZm9yIEFyaXRoQWRkIG9m
IGFuIEludDMyIGFuZCBjb25zdGFudCBpbiBERkcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsg
TGFtLgorCisgICAgICAgIEV2ZXJ5ICJpbmMiIGluIGxvb3Agd2FzIGxvb2tpbmcgbGlrZSB0aGlz
OgorICAgICAgICAgICAgbW92ZSByWCwgclkKKyAgICAgICAgICAgIGluYyByWQorICAgICAgICAg
ICAgam8gMHgyMzBmNGEyMDA1ODAKKworICAgICAgICBUaGlzIHBhdGNoIGFkZCByZWdpc3RlciBS
ZXVzZSB0byB0aGF0IGNhc2UgdG8gcmVtb3ZlCisgICAgICAgIHRoZSBleHRyYSAibW92ZSIuCisK
KyAgICAgICAgKiBkZmcvREZHT1NSRXhpdC5oOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aW9uUmVjb3Zlcnk6OlNwZWN1bGF0aW9uUmVjb3ZlcnkpOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aW9uUmVjb3Zlcnk6OmltbWVkaWF0ZSk6CisgICAgICAgICogZGZnL0RGR09TUkV4aXRD
b21waWxlcjMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpPU1JFeGl0Q29tcGlsZXI6OmNv
bXBpbGVFeGl0KToKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6Ok9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQpOgorICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVBcml0aEFkZCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2FyaXRoLWFk
ZC13aXRoLWNvbnN0YW50LW92ZXJmbG93LmpzOiBBZGRlZC4KKyAgICAgICAgKG9wYXF1ZUFkZCk6
CisKIDIwMTYtMDQtMjAgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IFVuaW5kZW50IGFuIHVubmVjZXNzYXJ5IGJsb2NrIGluIHN0cmluZ1Byb3RvRnVuY1NwbGl0RmFz
dCgpLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ci5oCmluZGV4IDM1YTM2NDdkYzNmZWI0NjQ2MDE2NjVhOTE4NDVjYjc2YjNkY2UwYjcuLjU3NDNh
MWQ5N2U4MmRlMTE3ZTk0ZmUxOGY1NGFlNWI4ODRkODRhZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKQEAgLTE2OTQsMTYgKzE2OTQs
MjAgQEAgcHVibGljOgogCiAgICAgSnVtcCBicmFuY2hBZGQzMihSZXN1bHRDb25kaXRpb24gY29u
ZCwgUmVnaXN0ZXJJRCBzcmMsIEltbTMyIGltbSwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAg
ICAgICAgaWYgKHNyYyA9PSBkZXN0KQotICAgICAgICAgICAgQVNTRVJUKGhhdmVTY3JhdGNoUmVn
aXN0ZXJGb3JCbGluZGluZygpKTsKLQogICAgICAgICBpZiAoc2hvdWxkQmxpbmQoaW1tKSkgewot
ICAgICAgICAgICAgaWYgKHNyYyA9PSBkZXN0KSB7Ci0gICAgICAgICAgICAgICAgbW92ZShzcmMs
IHNjcmF0Y2hSZWdpc3RlckZvckJsaW5kaW5nKCkpOwotICAgICAgICAgICAgICAgIHNyYyA9IHNj
cmF0Y2hSZWdpc3RlckZvckJsaW5kaW5nKCk7CisgICAgICAgICAgICBpZiAoc3JjICE9IGRlc3Qg
fHwgaGF2ZVNjcmF0Y2hSZWdpc3RlckZvckJsaW5kaW5nKCkpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoc3JjID09IGRlc3QpIHsKKyAgICAgICAgICAgICAgICAgICAgbW92ZShzcmMsIHNjcmF0Y2hS
ZWdpc3RlckZvckJsaW5kaW5nKCkpOworICAgICAgICAgICAgICAgICAgICBzcmMgPSBzY3JhdGNo
UmVnaXN0ZXJGb3JCbGluZGluZygpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBsb2FkWG9yQmxpbmRlZENvbnN0YW50KHhvckJsaW5kQ29uc3RhbnQoaW1tKSwgZGVzdCk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIGJyYW5jaEFkZDMyKGNvbmQsIHNyYywgZGVzdCk7CiAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBsb2FkWG9yQmxpbmRlZENvbnN0YW50KHhvckJsaW5kQ29u
c3RhbnQoaW1tKSwgZGVzdCk7Ci0gICAgICAgICAgICByZXR1cm4gYnJhbmNoQWRkMzIoY29uZCwg
c3JjLCBkZXN0KTsgIAorICAgICAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHNjcmF0Y2gg
cmVnaXN0ZXIgYXZhaWxhYmxlIGZvciB1c2UsIHdlJ2xsIGp1c3QKKyAgICAgICAgICAgIC8vIHBs
YWNlIGEgcmFuZG9tIG51bWJlciBvZiBub3BzLgorICAgICAgICAgICAgdWludDMyX3Qgbm9wQ291
bnQgPSByYW5kb20oKSAmIDM7CisgICAgICAgICAgICB3aGlsZSAobm9wQ291bnQtLSkKKyAgICAg
ICAgICAgICAgICBub3AoKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gYnJhbmNoQWRkMzIo
Y29uZCwgc3JjLCBpbW0uYXNUcnVzdGVkSW1tMzIoKSwgZGVzdCk7ICAgICAgICAgICAgCiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuaAppbmRleCBhMTRkNTRmODQ0ODA3
MDAyZTZmNTRjMmU1ZmZlZmE1MGQ3OWY0NDFhLi5hMmJhM2VkMzM5ZjgzOGVkODU5MDExYjRiOGNk
MjdmYmEwZmE2YjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuaApAQCAt
NDgsOCArNDgsOSBAQCBzdHJ1Y3QgTm9kZTsKIAogLy8gVGhpcyBlbnVtIGRlc2NyaWJlcyB0aGUg
dHlwZXMgb2YgYWRkaXRpb25hbCByZWNvdmVyeSB0aGF0CiAvLyBtYXkgbmVlZCBiZSBwZXJmb3Jt
ZWQgc2hvdWxkIGEgc3BlY3VsYXRpb24gY2hlY2sgZmFpbC4KLWVudW0gU3BlY3VsYXRpb25SZWNv
dmVyeVR5cGUgeworZW51bSBTcGVjdWxhdGlvblJlY292ZXJ5VHlwZSA6IHVpbnQ4X3QgewogICAg
IFNwZWN1bGF0aXZlQWRkLAorICAgIFNwZWN1bGF0aXZlQWRkSW1tZWRpYXRlLAogICAgIEJvb2xl
YW5TcGVjdWxhdGlvbkNoZWNrCiB9OwogCkBAIC02MCwyMiArNjEsMzYgQEAgZW51bSBTcGVjdWxh
dGlvblJlY292ZXJ5VHlwZSB7CiBjbGFzcyBTcGVjdWxhdGlvblJlY292ZXJ5IHsKIHB1YmxpYzoK
ICAgICBTcGVjdWxhdGlvblJlY292ZXJ5KFNwZWN1bGF0aW9uUmVjb3ZlcnlUeXBlIHR5cGUsIEdQ
UlJlZyBkZXN0LCBHUFJSZWcgc3JjKQotICAgICAgICA6IG1fdHlwZSh0eXBlKQorICAgICAgICA6
IG1fc3JjKHNyYykKICAgICAgICAgLCBtX2Rlc3QoZGVzdCkKLSAgICAgICAgLCBtX3NyYyhzcmMp
CisgICAgICAgICwgbV90eXBlKHR5cGUpCiAgICAgeworICAgICAgICBBU1NFUlQobV90eXBlID09
IFNwZWN1bGF0aXZlQWRkIHx8IG1fdHlwZSA9PSBCb29sZWFuU3BlY3VsYXRpb25DaGVjayk7Cisg
ICAgfQorCisgICAgU3BlY3VsYXRpb25SZWNvdmVyeShTcGVjdWxhdGlvblJlY292ZXJ5VHlwZSB0
eXBlLCBHUFJSZWcgZGVzdCwgaW50MzJfdCBpbW1lZGlhdGUpCisgICAgICAgIDogbV9pbW1lZGlh
dGUoaW1tZWRpYXRlKQorICAgICAgICAsIG1fZGVzdChkZXN0KQorICAgICAgICAsIG1fdHlwZSh0
eXBlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fdHlwZSA9PSBTcGVjdWxhdGl2ZUFkZEltbWVk
aWF0ZSk7CiAgICAgfQogCiAgICAgU3BlY3VsYXRpb25SZWNvdmVyeVR5cGUgdHlwZSgpIHsgcmV0
dXJuIG1fdHlwZTsgfQogICAgIEdQUlJlZyBkZXN0KCkgeyByZXR1cm4gbV9kZXN0OyB9CiAgICAg
R1BSUmVnIHNyYygpIHsgcmV0dXJuIG1fc3JjOyB9CisgICAgaW50MzJfdCBpbW1lZGlhdGUoKSB7
IHJldHVybiBtX2ltbWVkaWF0ZTsgfQogCiBwcml2YXRlOgotICAgIC8vIEluZGljYXRlcyB0aGUg
dHlwZSBvZiBhZGRpdGlvbmFsIHJlY292ZXJ5IHRvIGJlIHBlcmZvcm1lZC4KLSAgICBTcGVjdWxh
dGlvblJlY292ZXJ5VHlwZSBtX3R5cGU7CiAgICAgLy8gZGlmZmVyZW50IHJlY292ZXJ5IHR5cGVz
IG1heSByZXF1aXJlZCBkaWZmZXJlbnQgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBoZXJlLgorICAg
IHVuaW9uIHsKKyAgICAgICAgR1BSUmVnIG1fc3JjOworICAgICAgICBpbnQzMl90IG1faW1tZWRp
YXRlOworICAgIH07CiAgICAgR1BSUmVnIG1fZGVzdDsKLSAgICBHUFJSZWcgbV9zcmM7CisKKyAg
ICAvLyBJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgYWRkaXRpb25hbCByZWNvdmVyeSB0byBiZSBwZXJm
b3JtZWQuCisgICAgU3BlY3VsYXRpb25SZWNvdmVyeVR5cGUgbV90eXBlOwogfTsKIAogLy8gPT09
IE9TUkV4aXQgPT09CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXRDb21waWxlcjMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdENvbXBpbGVyMzJfNjQuY3BwCmluZGV4IGU0MTk5NDFkZGUzZThmZDI1MTE0MmY5NGQxMjRk
Y2Q4YjlhZjNiZmQuLmMzNzQ2YmQ4YmRhODg5YWFlZjc4OGI2NGMyYTU1YTRiYjYzY2E4NjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyMzJf
NjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVy
MzJfNjQuY3BwCkBAIC01Niw2ICs1NiwxMCBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGls
ZUV4aXQoY29uc3QgT1NSRXhpdCYgZXhpdCwgY29uc3QgT3BlcmFuZHM8VmFsdWVSZWNvdgogICAg
ICAgICBjYXNlIFNwZWN1bGF0aXZlQWRkOgogICAgICAgICAgICAgbV9qaXQuc3ViMzIocmVjb3Zl
cnktPnNyYygpLCByZWNvdmVyeS0+ZGVzdCgpKTsKICAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIGNhc2UgU3BlY3VsYXRpdmVBZGRJbW1lZGlhdGU6CisgICAgICAgICAgICBtX2ppdC5zdWIz
MihBc3NlbWJseUhlbHBlcnM6OkltbTMyKHJlY292ZXJ5LT5pbW1lZGlhdGUoKSksIHJlY292ZXJ5
LT5kZXN0KCkpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKICAgICAgICAgY2Fz
ZSBCb29sZWFuU3BlY3VsYXRpb25DaGVjazoKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAppbmRleCA2
OTk5ZTVjZmJjZDRhZTJkNmE4NDc4ZmRjODg2NTgwMzM0MzU1MTQ0Li5mNDVjODMzNWFhNDBhMDM5
Y2ZkNzRlNzYyNmU3ZjJmMzY1YmI3ZDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcApAQCAtNjEsNiArNjEsMTEgQEAgdm9pZCBP
U1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IE9TUkV4aXQmIGV4aXQsIGNvbnN0IE9w
ZXJhbmRzPFZhbHVlUmVjb3YKICAgICAgICAgICAgIG1faml0LnN1YjMyKHJlY292ZXJ5LT5zcmMo
KSwgcmVjb3ZlcnktPmRlc3QoKSk7CiAgICAgICAgICAgICBtX2ppdC5vcjY0KEdQUkluZm86OnRh
Z1R5cGVOdW1iZXJSZWdpc3RlciwgcmVjb3ZlcnktPmRlc3QoKSk7CiAgICAgICAgICAgICBicmVh
azsKKworICAgICAgICBjYXNlIFNwZWN1bGF0aXZlQWRkSW1tZWRpYXRlOgorICAgICAgICAgICAg
bV9qaXQuc3ViMzIoQXNzZW1ibHlIZWxwZXJzOjpJbW0zMihyZWNvdmVyeS0+aW1tZWRpYXRlKCkp
LCByZWNvdmVyeS0+ZGVzdCgpKTsKKyAgICAgICAgICAgIG1faml0Lm9yNjQoR1BSSW5mbzo6dGFn
VHlwZU51bWJlclJlZ2lzdGVyLCByZWNvdmVyeS0+ZGVzdCgpKTsKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQm9vbGVhblNwZWN1bGF0aW9uQ2hlY2s6CiAg
ICAgICAgICAgICBtX2ppdC54b3I2NChBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMihzdGF0
aWNfY2FzdDxpbnQzMl90PihWYWx1ZUZhbHNlKSksIHJlY292ZXJ5LT5kZXN0KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCA2NTA5
YjJlYTZmNzU3MmVkN2E4ZDk5ZWJkY2ExYzZiMmE1NGQ2NjBhLi41NDkwM2UxMzMyY2RlZDhmMWI5
NzRmZjA5NTkzZWRlMmYzMGM0ZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMzQ5NiwxOSArMzQ5NiwyNiBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlQXJpdGhBZGQoTm9kZSogbm9kZSkKIAogICAgICAgICBpZiAobm9k
ZS0+Y2hpbGQyKCktPmlzSW50MzJDb25zdGFudCgpKSB7CiAgICAgICAgICAgICBTcGVjdWxhdGVJ
bnQzMk9wZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgICAgIEdQUlRl
bXBvcmFyeSByZXN1bHQodGhpcywgUmV1c2UsIG9wMSk7CisKKyAgICAgICAgICAgIEdQUlJlZyBn
cHIxID0gb3AxLmdwcigpOwogICAgICAgICAgICAgaW50MzJfdCBpbW0yID0gbm9kZS0+Y2hpbGQy
KCktPmFzSW50MzIoKTsKKyAgICAgICAgICAgIEdQUlJlZyBncHJSZXN1bHQgPSByZXN1bHQuZ3By
KCk7CiAKICAgICAgICAgICAgIGlmICghc2hvdWxkQ2hlY2tPdmVyZmxvdyhub2RlLT5hcml0aE1v
ZGUoKSkpIHsKLSAgICAgICAgICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMsIFJldXNl
LCBvcDEpOwotICAgICAgICAgICAgICAgIG1faml0LmFkZDMyKEltbTMyKGltbTIpLCBvcDEuZ3By
KCksIHJlc3VsdC5ncHIoKSk7Ci0gICAgICAgICAgICAgICAgaW50MzJSZXN1bHQocmVzdWx0Lmdw
cigpLCBub2RlKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5hZGQzMihJbW0zMihpbW0yKSwgZ3By
MSwgZ3ByUmVzdWx0KTsKKyAgICAgICAgICAgICAgICBpbnQzMlJlc3VsdChncHJSZXN1bHQsIG5v
ZGUpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hl
Y2soT3ZlcmZsb3csIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaEFkZDMyKE1hY3JvQXNz
ZW1ibGVyOjpPdmVyZmxvdywgb3AxLmdwcigpLCBJbW0zMihpbW0yKSwgcmVzdWx0LmdwcigpKSk7
CisgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBjaGVjayA9IG1faml0LmJyYW5jaEFk
ZDMyKE1hY3JvQXNzZW1ibGVyOjpPdmVyZmxvdywgZ3ByMSwgSW1tMzIoaW1tMiksIGdwclJlc3Vs
dCk7CisgICAgICAgICAgICBpZiAoZ3ByMSA9PSBncHJSZXN1bHQpIHsKKyAgICAgICAgICAgICAg
ICBzcGVjdWxhdGlvbkNoZWNrKE92ZXJmbG93LCBKU1ZhbHVlUmVncygpLCAwLCBjaGVjaywKKyAg
ICAgICAgICAgICAgICAgICAgU3BlY3VsYXRpb25SZWNvdmVyeShTcGVjdWxhdGl2ZUFkZEltbWVk
aWF0ZSwgZ3ByMSwgaW1tMikpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
c3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgY2hlY2spOwogCi0g
ICAgICAgICAgICBpbnQzMlJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUpOworICAgICAgICAgICAg
aW50MzJSZXN1bHQoZ3ByUmVzdWx0LCBub2RlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcml0aC1hZGQtd2l0aC1jb25zdGFudC1vdmVyZmxvdy5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJpdGgtYWRkLXdpdGgtY29uc3RhbnQtb3Zl
cmZsb3cuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U1YzM4MTIzN2JiZjFhMDFlOThlNGQ4MDU2MzVmMDUwMDAw
M2NhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJpdGgtYWRkLXdpdGgtY29uc3RhbnQtb3ZlcmZsb3cuanMKQEAgLTAsMCArMSwyMSBAQAor
ZnVuY3Rpb24gb3BhcXVlQWRkKGEpCit7CisgICAgcmV0dXJuIGEgKyA0MjsKK30KK25vSW5saW5l
KG9wYXF1ZUFkZCk7CisKKy8vIFdhcm0gdXAuCitmb3IgKGxldCBpID0gMDsgaSA8IDFlNDsgKytp
KSB7CisgICAgbGV0IHJlc3VsdCA9IG9wYXF1ZUFkZCg1KTsKKyAgICBpZiAocmVzdWx0ICE9PSA0
NykKKyAgICAgICAgdGhyb3cgIkludmFsaWQgb3BhcXVlQWRkKDUpIGF0IGkgPSAiICsgaTsKK30K
KworLy8gT3ZlcmZsb3cuCitmb3IgKGxldCBpID0gMDsgaSA8IDFlMzsgKytpKSB7CisgICAgZm9y
IChsZXQgaiA9IC01MDsgaiA8IDUwOyArK2opIHsKKyAgICAgICAgbGV0IHJlc3VsdCA9IG9wYXF1
ZUFkZCgyMTQ3NDgzNjQ3ICsgaik7CisgICAgICAgIGlmIChyZXN1bHQgIT09IDIxNDc0ODM2ODkg
KyBqKQorICAgICAgICAgICAgdGhyb3cgIkludmFsaWQgb3BhcXVlQWRkKCIgKyAyMTQ3NDgzNjQ3
ICsgaiArICIpIGF0IGkgPSAiICsgaSArICIgaiA9ICIgKyBqOworICAgIH0KK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>