<?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>155096</bug_id>
          
          <creation_ts>2016-03-06 15:02:33 -0800</creation_ts>
          <short_desc>[JSC] Improve how DFG zero Floating Point registers</short_desc>
          <delta_ts>2016-03-12 12:29:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>155128</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>annulen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</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>1171466</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-06 15:02:33 -0800</bug_when>
    <thetext>[JSC] Improve how DFG zero Floating Point registers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171467</commentid>
    <comment_count>1</comment_count>
      <attachid>273148</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-06 15:03:59 -0800</bug_when>
    <thetext>Created attachment 273148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171490</commentid>
    <comment_count>2</comment_count>
      <attachid>273155</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-06 17:50:56 -0800</bug_when>
    <thetext>Created attachment 273155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171493</commentid>
    <comment_count>3</comment_count>
      <attachid>273157</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-06 18:18:35 -0800</bug_when>
    <thetext>Created attachment 273157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171511</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-06 19:50:05 -0800</bug_when>
    <thetext>Haswell:

                                                  Conf#1                    Conf#2                                      
SunSpider:
   3d-cube                                    4.8003+-0.0662     ?      5.1148+-0.3986        ? might be 1.0655x slower
   3d-morph                                   5.3795+-0.1627     ?      5.4474+-0.1276        ? might be 1.0126x slower
   3d-raytrace                                5.7165+-0.0494            5.7046+-0.1161        
   access-binary-trees                        2.2263+-0.0478     ?      2.2829+-0.0773        ? might be 1.0254x slower
   access-fannkuch                            6.1489+-0.1663     ?      6.2672+-0.2304        ? might be 1.0193x slower
   access-nbody                               2.6852+-0.0494     ?      2.8182+-0.2642        ? might be 1.0495x slower
   access-nsieve                              3.0815+-0.0878     ?      3.1353+-0.1370        ? might be 1.0175x slower
   bitops-3bit-bits-in-byte                   1.2178+-0.0370            1.1804+-0.0171          might be 1.0316x faster
   bitops-bits-in-byte                        3.3653+-0.0795     ?      3.3761+-0.0735        ?
   bitops-bitwise-and                         2.0963+-0.0427            2.0389+-0.0246          might be 1.0281x faster
   bitops-nsieve-bits                         3.0371+-0.0385     ?      3.0596+-0.0482        ?
   controlflow-recursive                      2.3646+-0.0115     ?      2.4289+-0.1070        ? might be 1.0272x slower
   crypto-aes                                 4.1038+-0.0506            4.1019+-0.0728        
   crypto-md5                                 2.6436+-0.0490     ?      2.6775+-0.1084        ? might be 1.0128x slower
   crypto-sha1                                2.3461+-0.0470     ?      2.3538+-0.0296        ?
   date-format-tofte                          6.8753+-0.1775     ?      6.9790+-0.1501        ? might be 1.0151x slower
   date-format-xparb                          5.1832+-0.1537            4.9995+-0.1369          might be 1.0367x faster
   math-cordic                                2.9384+-0.0571            2.8653+-0.0485          might be 1.0255x faster
   math-partial-sums                          5.0867+-0.2597            4.9308+-0.1106          might be 1.0316x faster
   math-spectral-norm                         2.0729+-0.0468            2.0329+-0.0318          might be 1.0197x faster
   regexp-dna                                 6.1860+-0.1495            6.1163+-0.1232          might be 1.0114x faster
   string-base64                              4.5831+-0.1906            4.4120+-0.0379          might be 1.0388x faster
   string-fasta                               6.0281+-0.1170            5.9026+-0.0574          might be 1.0213x faster
   string-tagcloud                            8.0834+-0.0289     !      8.2203+-0.1070        ! definitely 1.0169x slower
   string-unpack-code                        19.1920+-0.6869     ?     19.3735+-0.7269        ?
   string-validate-input                      4.3247+-0.1022            4.2804+-0.0574          might be 1.0103x faster

   &lt;arithmetic&gt;                               4.6833+-0.0423     ?      4.6962+-0.0385        ? might be 1.0027x slower

                                                  Conf#1                    Conf#2                                      
Octane:
   encrypt                                   0.16444+-0.00329          0.16126+-0.00327         might be 1.0198x faster
   decrypt                                   2.87520+-0.04421          2.85984+-0.03903       
   deltablue                        x2       0.14123+-0.00478    ?     0.14499+-0.00953       ? might be 1.0266x slower
   earley                                    0.28890+-0.00441          0.28594+-0.00168         might be 1.0103x faster
   boyer                                     5.01821+-0.13913          4.95518+-0.10778         might be 1.0127x faster
   navier-stokes                    x2       4.96636+-0.02585    ?     4.97091+-0.07059       ?
   raytrace                         x2       0.91223+-0.01860          0.89659+-0.00995         might be 1.0174x faster
   richards                         x2       0.08255+-0.00167    ?     0.08287+-0.00162       ?
   splay                            x2       0.35288+-0.00482          0.35120+-0.00347       
   regexp                           x2      20.04105+-0.48806    ?    20.60547+-0.21352       ? might be 1.0282x slower
   pdfjs                            x2      39.34641+-0.71709         39.09899+-0.55979       
   mandreel                         x2      43.48000+-0.80517    ?    43.64120+-1.10664       ?
   gbemu                            x2      24.97394+-0.33305    ?    25.21407+-0.52919       ?
   closure                                   0.57005+-0.00261    ?     0.58472+-0.01394       ? might be 1.0257x slower
   jquery                                    7.69550+-0.18560          7.59527+-0.12343         might be 1.0132x faster
   box2d                            x2       9.61655+-0.23430          9.43202+-0.14491         might be 1.0196x faster
   zlib                             x2     384.02105+-10.25770   ?   385.91153+-6.11887       ?
   typescript                       x2     668.99503+-7.72064        662.06196+-6.21916         might be 1.0105x faster

   &lt;geometric&gt;                               5.27345+-0.02490          5.27318+-0.02285         might be 1.0001x faster

                                                  Conf#1                    Conf#2                                      
Kraken:
   ai-astar                                   98.116+-2.810             97.417+-2.953         
   audio-beat-detection                       47.081+-0.598      ?      47.511+-0.229         ?
   audio-dft                                  98.034+-1.363      ?      98.619+-1.711         ?
   audio-fft                                  35.933+-0.425             35.731+-0.056         
   audio-oscillator                           49.728+-1.085             49.556+-1.127         
   imaging-darkroom                           62.209+-1.718             60.683+-0.750           might be 1.0251x faster
   imaging-desaturate                         46.016+-1.614             45.634+-1.152         
   imaging-gaussian-blur                      68.638+-1.509             65.777+-3.316           might be 1.0435x faster
   json-parse-financial                       37.640+-1.249             36.958+-0.737           might be 1.0185x faster
   json-stringify-tinderbox                   24.246+-0.601      ?      24.555+-0.815         ? might be 1.0128x slower
   stanford-crypto-aes                        39.997+-0.500      ?      40.044+-0.430         ?
   stanford-crypto-ccm                        37.063+-1.209             36.608+-0.643           might be 1.0124x faster
   stanford-crypto-pbkdf2                    103.551+-1.999            102.533+-1.503         
   stanford-crypto-sha256-iterative           39.235+-0.509      ?      39.895+-0.885         ? might be 1.0168x slower

   &lt;arithmetic&gt;                               56.249+-0.362             55.823+-0.337           might be 1.0076x faster

                                                  Conf#1                    Conf#2                                      
AsmBench:
   bigfib.cpp                               442.2368+-5.9685     ?    443.4775+-8.8077        ?
   cray.c                                   368.2074+-4.8122     ?    370.4352+-6.7999        ?
   dry.c                                    450.4179+-33.2786         438.0829+-20.7072         might be 1.0282x faster
   FloatMM.c                                722.5146+-12.2548    ?    722.6382+-11.6831       ?
   gcc-loops.cpp                           3698.1718+-42.1452    ?   3709.5201+-44.4462       ?
   n-body.c                                 822.4819+-14.0351    ?    830.5771+-16.6330       ?
   Quicksort.c                              402.4949+-8.2802     ?    403.0941+-9.3269        ?
   stepanov_container.cpp                  3332.6366+-62.7019    ?   3339.1666+-59.4226       ?
   Towers.c                                 273.3234+-5.8376          267.9595+-0.2123          might be 1.0200x faster

   &lt;geometric&gt;                              729.5824+-7.0101          728.0901+-6.4356          might be 1.0020x faster

                                                  Conf#1                    Conf#2                                      
Geomean of preferred means:
   &lt;scaled-result&gt;                           31.7270+-0.0908           31.6724+-0.1127          might be 1.0017x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171618</commentid>
    <comment_count>5</comment_count>
      <attachid>273157</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-03-07 09:32:27 -0800</bug_when>
    <thetext>Comment on attachment 273157
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171646</commentid>
    <comment_count>6</comment_count>
      <attachid>273157</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-07 10:25:45 -0800</bug_when>
    <thetext>Comment on attachment 273157
Patch

Clearing flags on attachment: 273157

Committed r197687: &lt;http://trac.webkit.org/changeset/197687&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171647</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-07 10:25:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174055</commentid>
    <comment_count>8</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2016-03-12 11:44:18 -0800</bug_when>
    <thetext>Do you know any particular test case that should fail if moveZeroToDouble does not work properly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174066</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-03-12 12:29:26 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Do you know any particular test case that should fail if moveZeroToDouble
&gt; does not work properly?

The &quot;math-XXX&quot; stress tests of JSC should cover that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273148</attachid>
            <date>2016-03-06 15:03:59 -0800</date>
            <delta_ts>2016-03-06 17:50:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155096-20160306150345.patch</filename>
            <type>text/plain</type>
            <size>5010</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
OTdiN2NhODRhZmE4NjI0NGE0YzA5NDM2MTdlNGIzNDM3N2Q2MmFkLi41ZDEwMjZiYWY5MzFiNDVl
ZmIzYTI5OGRlNzlkNmIyZTkwN2U4YmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNi0wMy0wNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBJbXByb3ZlIGhvdyBERkcgemVybyBGbG9hdGluZyBQb2lu
dCByZWdpc3RlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NTA5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERGRyBoYWQgYSB3ZWlyZCB3YXkgb2YgemVyb2luZyBhIEZQUjoKKyAgICAgICAgICAgIC16
ZXJvIGEgR1AuCisgICAgICAgICAgICAtbW92ZSB0aGF0IHRvIGEgRlAuCisKKyAgICAgICAgRmls
aXAgYWRkZWQgbW92ZVplcm9Ub0RvdWJsZSgpIGZvciBCMy4gVGhpcyBwYXRjaAorICAgICAgICB1
c2VzIHRoYXQgaW4gdGhlIGxvd2VyIHRpZXJzLgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6bW92
ZVplcm9Ub0RvdWJsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlRG91YmxlKToK
KyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAgICAgICAgKEpTQzo6Zmxvb3JU
aHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OnJvdW5kVGh1bmtHZW5lcmF0b3IpOgorCiAy
MDE2LTAzLTA0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TXSBUaHJvdyBhd2F5IGNvbXBpbGVkIFJlZ0V4cCBjb2RlIHdoZW4gbmF2aWdhdGluZyB0byBh
IG5ldyBwYWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlckFSTXY3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyQVJNdjcuaAppbmRleCBmYzk0Yjg4OGRlMzVlNTk3NGJjMDVkYjE2NTY0ODMx
Mjc5NWE3ODM3Li5jMzMwYzFkNDY5YTIzMGY3M2YxOWJhMmRjODUyN2M1NzkyYWE5ZGFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJN
djcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
QVJNdjcuaApAQCAtOTI0LDYgKzkyNCwxMiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2Fzc2Vt
Ymxlci52bW92KGRlc3QsIHNyYyk7CiAgICAgfQogCisgICAgdm9pZCBtb3ZlWmVyb1RvRG91Ymxl
KEZQUmVnaXN0ZXJJRCByZWcpCisgICAgeworICAgICAgICBzdGF0aWMgZG91YmxlIHplcm9Db25z
dGFudCA9IDAuOworICAgICAgICBsb2FkRG91YmxlKCZ6ZXJvQ29uc3RhbnQsIHJlZyk7CisgICAg
fQorCiAgICAgdm9pZCBsb2FkRG91YmxlKFRydXN0ZWRJbW1QdHIgYWRkcmVzcywgRlBSZWdpc3Rl
cklEIGRlc3QpCiAgICAgewogICAgICAgICBtb3ZlKGFkZHJlc3MsIGFkZHJlc3NUZW1wUmVnaXN0
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAKaW5kZXggOTdlNzIxNzIxNmEyNTE3NzFhOWQ1MDM1YWE0MmU0M2M5MGM2YThkNS4uOGY1
MjNhMDVhMjZlOGZmNDkyYTVmNTFkY2Q1OWU3ODBmZmZkZTkyNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC0xMTMzLDEzICsx
MTMzLDE3IEBAIEZQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZURvdWJsZShFZGdl
IGVkZ2UpCiAKICAgICBpZiAoaW5mby5yZWdpc3RlckZvcm1hdCgpID09IERhdGFGb3JtYXROb25l
KSB7CiAgICAgICAgIGlmIChlZGdlLT5oYXNDb25zdGFudCgpKSB7Ci0gICAgICAgICAgICBHUFJS
ZWcgZ3ByID0gYWxsb2NhdGUoKTsKLQogICAgICAgICAgICAgaWYgKGVkZ2UtPmlzTnVtYmVyQ29u
c3RhbnQoKSkgewogICAgICAgICAgICAgICAgIEZQUlJlZyBmcHIgPSBmcHJBbGxvY2F0ZSgpOwot
ICAgICAgICAgICAgICAgIG1faml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OkltbTY0KHJlaW50ZXJw
cmV0RG91YmxlVG9JbnQ2NChlZGdlLT5hc051bWJlcigpKSksIGdwcik7Ci0gICAgICAgICAgICAg
ICAgbV9qaXQubW92ZTY0VG9Eb3VibGUoZ3ByLCBmcHIpOwotICAgICAgICAgICAgICAgIHVubG9j
ayhncHIpOworICAgICAgICAgICAgICAgIGludDY0X3QgZG91YmxlQXNJbnQgPSByZWludGVycHJl
dERvdWJsZVRvSW50NjQoZWRnZS0+YXNOdW1iZXIoKSk7CisgICAgICAgICAgICAgICAgaWYgKCFk
b3VibGVBc0ludCkKKyAgICAgICAgICAgICAgICAgICAgbV9qaXQubW92ZVplcm9Ub0RvdWJsZShm
cHIpOworICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBHUFJSZWcg
Z3ByID0gYWxsb2NhdGUoKTsKKyAgICAgICAgICAgICAgICAgICAgbV9qaXQubW92ZShNYWNyb0Fz
c2VtYmxlcjo6SW1tNjQoZG91YmxlQXNJbnQpLCBncHIpOworICAgICAgICAgICAgICAgICAgICBt
X2ppdC5tb3ZlNjRUb0RvdWJsZShncHIsIGZwcik7CisgICAgICAgICAgICAgICAgICAgIHVubG9j
ayhncHIpOworICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIG1fZnBycy5yZXRh
aW4oZnByLCB2aXJ0dWFsUmVnaXN0ZXIsIFNwaWxsT3JkZXJEb3VibGUpOwogICAgICAgICAgICAg
ICAgIGluZm8uZmlsbERvdWJsZSgqbV9zdHJlYW0sIGZwcik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKaW5kZXggNWMwM2Q3MGE0N2FjNzA3ODg1NWJj
NjI2MjRhMjJjZWQzZjMzOWQyNC4uMjVkNzMwOTY2NDRkOWZlNjk1YzViMTIxODNlZTU5M2JhODAw
MmVhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRv
cnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNw
cApAQCAtNzc0LDcgKzc3NCw2IEBAIGRlZmluZVVuYXJ5RG91YmxlT3BXcmFwcGVyKGNlaWwpOwog
CiBzdGF0aWMgY29uc3QgZG91YmxlIG9uZUNvbnN0YW50ID0gMS4wOwogc3RhdGljIGNvbnN0IGRv
dWJsZSBuZWdhdGl2ZUhhbGZDb25zdGFudCA9IC0wLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHpl
cm9Db25zdGFudCA9IDAuMDsKIHN0YXRpYyBjb25zdCBkb3VibGUgaGFsZkNvbnN0YW50ID0gMC41
OwogICAgIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGZsb29yVGh1bmtHZW5lcmF0b3IoVk0qIHZt
KQpAQCAtNzk4LDcgKzc5Nyw3IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBmbG9vclRodW5rR2Vu
ZXJhdG9yKFZNKiB2bSkKICAgICBTcGVjaWFsaXplZFRodW5rSklUOjpKdW1wIGludFJlc3VsdDsK
ICAgICBTcGVjaWFsaXplZFRodW5rSklUOjpKdW1wTGlzdCBkb3VibGVSZXN1bHQ7CiAgICAgaWYg
KGppdC5zdXBwb3J0c0Zsb2F0aW5nUG9pbnRUcnVuY2F0ZSgpKSB7Ci0gICAgICAgIGppdC5sb2Fk
RG91YmxlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKCZ6ZXJvQ29uc3RhbnQpLCBTcGVj
aWFsaXplZFRodW5rSklUOjpmcFJlZ1QxKTsKKyAgICAgICAgaml0Lm1vdmVaZXJvVG9Eb3VibGUo
U3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMSk7CiAgICAgICAgIGRvdWJsZVJlc3VsdC5hcHBl
bmQoaml0LmJyYW5jaERvdWJsZShNYWNyb0Fzc2VtYmxlcjo6RG91YmxlRXF1YWwsIFNwZWNpYWxp
emVkVGh1bmtKSVQ6OmZwUmVnVDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDEpKTsKICAg
ICAgICAgU3BlY2lhbGl6ZWRUaHVua0pJVDo6SnVtcExpc3Qgc2xvd1BhdGg7CiAgICAgICAgIC8v
IEhhbmRsZSB0aGUgbmVnYXRpdmUgZG91YmxlcyBpbiB0aGUgc2xvdyBwYXRoIGZvciBub3cuCkBA
IC04NTQsNyArODUzLDcgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHJvdW5kVGh1bmtHZW5lcmF0
b3IoVk0qIHZtKQogICAgIFNwZWNpYWxpemVkVGh1bmtKSVQ6Okp1bXAgaW50UmVzdWx0OwogICAg
IFNwZWNpYWxpemVkVGh1bmtKSVQ6Okp1bXBMaXN0IGRvdWJsZVJlc3VsdDsKICAgICBpZiAoaml0
LnN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5jYXRlKCkpIHsKLSAgICAgICAgaml0LmxvYWREb3Vi
bGUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoJnplcm9Db25zdGFudCksIFNwZWNpYWxp
emVkVGh1bmtKSVQ6OmZwUmVnVDEpOworICAgICAgICBqaXQubW92ZVplcm9Ub0RvdWJsZShTcGVj
aWFsaXplZFRodW5rSklUOjpmcFJlZ1QxKTsKICAgICAgICAgZG91YmxlUmVzdWx0LmFwcGVuZChq
aXQuYnJhbmNoRG91YmxlKE1hY3JvQXNzZW1ibGVyOjpEb3VibGVFcXVhbCwgU3BlY2lhbGl6ZWRU
aHVua0pJVDo6ZnBSZWdUMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMSkpOwogICAgICAg
ICBTcGVjaWFsaXplZFRodW5rSklUOjpKdW1wTGlzdCBzbG93UGF0aDsKICAgICAgICAgLy8gSGFu
ZGxlIHRoZSBuZWdhdGl2ZSBkb3VibGVzIGluIHRoZSBzbG93IHBhdGggZm9yIG5vdy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273155</attachid>
            <date>2016-03-06 17:50:56 -0800</date>
            <delta_ts>2016-03-06 18:18:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155096-20160306175042.patch</filename>
            <type>text/plain</type>
            <size>5041</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
OTdiN2NhODRhZmE4NjI0NGE0YzA5NDM2MTdlNGIzNDM3N2Q2MmFkLi41ZDEwMjZiYWY5MzFiNDVl
ZmIzYTI5OGRlNzlkNmIyZTkwN2U4YmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNi0wMy0wNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBJbXByb3ZlIGhvdyBERkcgemVybyBGbG9hdGluZyBQb2lu
dCByZWdpc3RlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NTA5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERGRyBoYWQgYSB3ZWlyZCB3YXkgb2YgemVyb2luZyBhIEZQUjoKKyAgICAgICAgICAgIC16
ZXJvIGEgR1AuCisgICAgICAgICAgICAtbW92ZSB0aGF0IHRvIGEgRlAuCisKKyAgICAgICAgRmls
aXAgYWRkZWQgbW92ZVplcm9Ub0RvdWJsZSgpIGZvciBCMy4gVGhpcyBwYXRjaAorICAgICAgICB1
c2VzIHRoYXQgaW4gdGhlIGxvd2VyIHRpZXJzLgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6bW92
ZVplcm9Ub0RvdWJsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlRG91YmxlKToK
KyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAgICAgICAgKEpTQzo6Zmxvb3JU
aHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OnJvdW5kVGh1bmtHZW5lcmF0b3IpOgorCiAy
MDE2LTAzLTA0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TXSBUaHJvdyBhd2F5IGNvbXBpbGVkIFJlZ0V4cCBjb2RlIHdoZW4gbmF2aWdhdGluZyB0byBh
IG5ldyBwYWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlckFSTXY3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyQVJNdjcuaAppbmRleCBmYzk0Yjg4OGRlMzVlNTk3NGJjMDVkYjE2NTY0ODMx
Mjc5NWE3ODM3Li4xZjVmYmZlNjE0ODkwYzM2MmNhMmIxMDVmYTZiZjczNGYwOThkNTQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJN
djcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
QVJNdjcuaApAQCAtOTI0LDYgKzkyNCwxMiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2Fzc2Vt
Ymxlci52bW92KGRlc3QsIHNyYyk7CiAgICAgfQogCisgICAgdm9pZCBtb3ZlWmVyb1RvRG91Ymxl
KEZQUmVnaXN0ZXJJRCByZWcpCisgICAgeworICAgICAgICBzdGF0aWMgZG91YmxlIHplcm9Db25z
dGFudCA9IDAuOworICAgICAgICBsb2FkRG91YmxlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKCZ6ZXJvQ29uc3RhbnQpLCByZWcpOworICAgIH0KKwogICAgIHZvaWQgbG9hZERvdWJsZShU
cnVzdGVkSW1tUHRyIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAg
bW92ZShhZGRyZXNzLCBhZGRyZXNzVGVtcFJlZ2lzdGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDk3ZTcyMTcyMTZhMjUx
NzcxYTlkNTAzNWFhNDJlNDNjOTBjNmE4ZDUuLjhmNTIzYTA1YTI2ZThmZjQ5MmE1ZjUxZGNkNTll
NzgwZmZmZGU5MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcApAQCAtMTEzMywxMyArMTEzMywxNyBAQCBGUFJSZWcgU3BlY3VsYXRp
dmVKSVQ6OmZpbGxTcGVjdWxhdGVEb3VibGUoRWRnZSBlZGdlKQogCiAgICAgaWYgKGluZm8ucmVn
aXN0ZXJGb3JtYXQoKSA9PSBEYXRhRm9ybWF0Tm9uZSkgewogICAgICAgICBpZiAoZWRnZS0+aGFz
Q29uc3RhbnQoKSkgewotICAgICAgICAgICAgR1BSUmVnIGdwciA9IGFsbG9jYXRlKCk7Ci0KICAg
ICAgICAgICAgIGlmIChlZGdlLT5pc051bWJlckNvbnN0YW50KCkpIHsKICAgICAgICAgICAgICAg
ICBGUFJSZWcgZnByID0gZnByQWxsb2NhdGUoKTsKLSAgICAgICAgICAgICAgICBtX2ppdC5tb3Zl
KE1hY3JvQXNzZW1ibGVyOjpJbW02NChyZWludGVycHJldERvdWJsZVRvSW50NjQoZWRnZS0+YXNO
dW1iZXIoKSkpLCBncHIpOwotICAgICAgICAgICAgICAgIG1faml0Lm1vdmU2NFRvRG91YmxlKGdw
ciwgZnByKTsKLSAgICAgICAgICAgICAgICB1bmxvY2soZ3ByKTsKKyAgICAgICAgICAgICAgICBp
bnQ2NF90IGRvdWJsZUFzSW50ID0gcmVpbnRlcnByZXREb3VibGVUb0ludDY0KGVkZ2UtPmFzTnVt
YmVyKCkpOworICAgICAgICAgICAgICAgIGlmICghZG91YmxlQXNJbnQpCisgICAgICAgICAgICAg
ICAgICAgIG1faml0Lm1vdmVaZXJvVG9Eb3VibGUoZnByKTsKKyAgICAgICAgICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgR1BSUmVnIGdwciA9IGFsbG9jYXRlKCk7CisgICAgICAg
ICAgICAgICAgICAgIG1faml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OkltbTY0KGRvdWJsZUFzSW50
KSwgZ3ByKTsKKyAgICAgICAgICAgICAgICAgICAgbV9qaXQubW92ZTY0VG9Eb3VibGUoZ3ByLCBm
cHIpOworICAgICAgICAgICAgICAgICAgICB1bmxvY2soZ3ByKTsKKyAgICAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgICAgICBtX2ZwcnMucmV0YWluKGZwciwgdmlydHVhbFJlZ2lzdGVyLCBT
cGlsbE9yZGVyRG91YmxlKTsKICAgICAgICAgICAgICAgICBpbmZvLmZpbGxEb3VibGUoKm1fc3Ry
ZWFtLCBmcHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dl
bmVyYXRvcnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMu
Y3BwCmluZGV4IDVjMDNkNzBhNDdhYzcwNzg4NTViYzYyNjI0YTIyY2VkM2YzMzlkMjQuLjI1ZDcz
MDk2NjQ0ZDlmZTY5NWM1YjEyMTgzZWU1OTNiYTgwMDJlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKQEAgLTc3NCw3ICs3NzQsNiBAQCBkZWZp
bmVVbmFyeURvdWJsZU9wV3JhcHBlcihjZWlsKTsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBvbmVD
b25zdGFudCA9IDEuMDsKIHN0YXRpYyBjb25zdCBkb3VibGUgbmVnYXRpdmVIYWxmQ29uc3RhbnQg
PSAtMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB6ZXJvQ29uc3RhbnQgPSAwLjA7CiBzdGF0aWMg
Y29uc3QgZG91YmxlIGhhbGZDb25zdGFudCA9IDAuNTsKICAgICAKIE1hY3JvQXNzZW1ibGVyQ29k
ZVJlZiBmbG9vclRodW5rR2VuZXJhdG9yKFZNKiB2bSkKQEAgLTc5OCw3ICs3OTcsNyBAQCBNYWNy
b0Fzc2VtYmxlckNvZGVSZWYgZmxvb3JUaHVua0dlbmVyYXRvcihWTSogdm0pCiAgICAgU3BlY2lh
bGl6ZWRUaHVua0pJVDo6SnVtcCBpbnRSZXN1bHQ7CiAgICAgU3BlY2lhbGl6ZWRUaHVua0pJVDo6
SnVtcExpc3QgZG91YmxlUmVzdWx0OwogICAgIGlmIChqaXQuc3VwcG9ydHNGbG9hdGluZ1BvaW50
VHJ1bmNhdGUoKSkgewotICAgICAgICBqaXQubG9hZERvdWJsZShNYWNyb0Fzc2VtYmxlcjo6VHJ1
c3RlZEltbVB0cigmemVyb0NvbnN0YW50KSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMSk7
CisgICAgICAgIGppdC5tb3ZlWmVyb1RvRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVn
VDEpOwogICAgICAgICBkb3VibGVSZXN1bHQuYXBwZW5kKGppdC5icmFuY2hEb3VibGUoTWFjcm9B
c3NlbWJsZXI6OkRvdWJsZUVxdWFsLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QwLCBTcGVj
aWFsaXplZFRodW5rSklUOjpmcFJlZ1QxKSk7CiAgICAgICAgIFNwZWNpYWxpemVkVGh1bmtKSVQ6
Okp1bXBMaXN0IHNsb3dQYXRoOwogICAgICAgICAvLyBIYW5kbGUgdGhlIG5lZ2F0aXZlIGRvdWJs
ZXMgaW4gdGhlIHNsb3cgcGF0aCBmb3Igbm93LgpAQCAtODU0LDcgKzg1Myw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiByb3VuZFRodW5rR2VuZXJhdG9yKFZNKiB2bSkKICAgICBTcGVjaWFsaXpl
ZFRodW5rSklUOjpKdW1wIGludFJlc3VsdDsKICAgICBTcGVjaWFsaXplZFRodW5rSklUOjpKdW1w
TGlzdCBkb3VibGVSZXN1bHQ7CiAgICAgaWYgKGppdC5zdXBwb3J0c0Zsb2F0aW5nUG9pbnRUcnVu
Y2F0ZSgpKSB7Ci0gICAgICAgIGppdC5sb2FkRG91YmxlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tUHRyKCZ6ZXJvQ29uc3RhbnQpLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QxKTsKKyAg
ICAgICAgaml0Lm1vdmVaZXJvVG9Eb3VibGUoU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMSk7
CiAgICAgICAgIGRvdWJsZVJlc3VsdC5hcHBlbmQoaml0LmJyYW5jaERvdWJsZShNYWNyb0Fzc2Vt
Ymxlcjo6RG91YmxlRXF1YWwsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDAsIFNwZWNpYWxp
emVkVGh1bmtKSVQ6OmZwUmVnVDEpKTsKICAgICAgICAgU3BlY2lhbGl6ZWRUaHVua0pJVDo6SnVt
cExpc3Qgc2xvd1BhdGg7CiAgICAgICAgIC8vIEhhbmRsZSB0aGUgbmVnYXRpdmUgZG91YmxlcyBp
biB0aGUgc2xvdyBwYXRoIGZvciBub3cuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273157</attachid>
            <date>2016-03-06 18:18:35 -0800</date>
            <delta_ts>2016-03-07 10:25:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155096-20160306181818.patch</filename>
            <type>text/plain</type>
            <size>5027</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
MmM0ODk3NThhZmFlNDlhMWFjMmU4MzM2YjNiMTA0MTIxNWE4OTNlLi4xNjI2ODk2OWNiYzY2ZjZm
NjNlMjQ3OTliNGQxMjBlZWI1ZDVmZTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNi0wMy0wNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBJbXByb3ZlIGhvdyBERkcgemVybyBGbG9hdGluZyBQb2lu
dCByZWdpc3RlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NTA5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERGRyBoYWQgYSB3ZWlyZCB3YXkgb2YgemVyb2luZyBhIEZQUjoKKyAgICAgICAgICAgIC16
ZXJvIGEgR1AuCisgICAgICAgICAgICAtbW92ZSB0aGF0IHRvIGEgRlAuCisKKyAgICAgICAgRmls
aXAgYWRkZWQgbW92ZVplcm9Ub0RvdWJsZSgpIGZvciBCMy4gVGhpcyBwYXRjaAorICAgICAgICB1
c2VzIHRoYXQgaW4gdGhlIGxvd2VyIHRpZXJzLgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6bW92
ZVplcm9Ub0RvdWJsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpmaWxsU3BlY3VsYXRlRG91YmxlKToK
KyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAgICAgICAgKEpTQzo6Zmxvb3JU
aHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OnJvdW5kVGh1bmtHZW5lcmF0b3IpOgorCiAy
MDE2LTAzLTA2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtb
R2V0UHJvdG90eXBlT2ZdXSBzaG91bGQgYmUgYSBmdWxseSB2aXJ0dWFsIG1ldGhvZCBpbiB0aGUg
bWV0aG9kIHRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNdjcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk12Ny5oCmluZGV4IGZjOTRiODg4ZGUzNWU1OTc0YmMwNWRiMTY1NjQ4
MzEyNzk1YTc4MzcuLjliMzVmZWFmZmYzZmMzMjRjMjkwMzRmNmMxZTBmZmMzOWRiODE3MjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJB
Uk12Ny5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJBUk12Ny5oCkBAIC05MjQsNiArOTI0LDEyIEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLnZtb3YoZGVzdCwgc3JjKTsKICAgICB9CiAKKyAgICB2b2lkIG1vdmVaZXJvVG9Eb3Vi
bGUoRlBSZWdpc3RlcklEIHJlZykKKyAgICB7CisgICAgICAgIHN0YXRpYyBkb3VibGUgemVyb0Nv
bnN0YW50ID0gMC47CisgICAgICAgIGxvYWREb3VibGUoVHJ1c3RlZEltbVB0cigmemVyb0NvbnN0
YW50KSwgcmVnKTsKKyAgICB9CisKICAgICB2b2lkIGxvYWREb3VibGUoVHJ1c3RlZEltbVB0ciBh
ZGRyZXNzLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1vdmUoYWRkcmVzcywg
YWRkcmVzc1RlbXBSZWdpc3Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCA1MWJhMzJjOWRiMDc4NjUyYWI3ZjAwYTIyNGYx
MWNkMTgzNDgzZWNhLi5mYjM5ZWM2Y2YwNWNjYTMxYzViNGQwOTZkMWMxODk0MGYwY2Q0OGZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKQEAgLTExMzMsMTMgKzExMzMsMTcgQEAgRlBSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsU3Bl
Y3VsYXRlRG91YmxlKEVkZ2UgZWRnZSkKIAogICAgIGlmIChpbmZvLnJlZ2lzdGVyRm9ybWF0KCkg
PT0gRGF0YUZvcm1hdE5vbmUpIHsKICAgICAgICAgaWYgKGVkZ2UtPmhhc0NvbnN0YW50KCkpIHsK
LSAgICAgICAgICAgIEdQUlJlZyBncHIgPSBhbGxvY2F0ZSgpOwotCiAgICAgICAgICAgICBpZiAo
ZWRnZS0+aXNOdW1iZXJDb25zdGFudCgpKSB7CiAgICAgICAgICAgICAgICAgRlBSUmVnIGZwciA9
IGZwckFsbG9jYXRlKCk7Ci0gICAgICAgICAgICAgICAgbV9qaXQubW92ZShNYWNyb0Fzc2VtYmxl
cjo6SW1tNjQocmVpbnRlcnByZXREb3VibGVUb0ludDY0KGVkZ2UtPmFzTnVtYmVyKCkpKSwgZ3By
KTsKLSAgICAgICAgICAgICAgICBtX2ppdC5tb3ZlNjRUb0RvdWJsZShncHIsIGZwcik7Ci0gICAg
ICAgICAgICAgICAgdW5sb2NrKGdwcik7CisgICAgICAgICAgICAgICAgaW50NjRfdCBkb3VibGVB
c0ludCA9IHJlaW50ZXJwcmV0RG91YmxlVG9JbnQ2NChlZGdlLT5hc051bWJlcigpKTsKKyAgICAg
ICAgICAgICAgICBpZiAoIWRvdWJsZUFzSW50KQorICAgICAgICAgICAgICAgICAgICBtX2ppdC5t
b3ZlWmVyb1RvRG91YmxlKGZwcik7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgIEdQUlJlZyBncHIgPSBhbGxvY2F0ZSgpOworICAgICAgICAgICAgICAgICAgICBt
X2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpJbW02NChkb3VibGVBc0ludCksIGdwcik7CisgICAg
ICAgICAgICAgICAgICAgIG1faml0Lm1vdmU2NFRvRG91YmxlKGdwciwgZnByKTsKKyAgICAgICAg
ICAgICAgICAgICAgdW5sb2NrKGdwcik7CisgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAg
ICAgICAgbV9mcHJzLnJldGFpbihmcHIsIHZpcnR1YWxSZWdpc3RlciwgU3BpbGxPcmRlckRvdWJs
ZSk7CiAgICAgICAgICAgICAgICAgaW5mby5maWxsRG91YmxlKCptX3N0cmVhbSwgZnByKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAppbmRleCA1YzAz
ZDcwYTQ3YWM3MDc4ODU1YmM2MjYyNGEyMmNlZDNmMzM5ZDI0Li4yNWQ3MzA5NjY0NGQ5ZmU2OTVj
NWIxMjE4M2VlNTkzYmE4MDAyZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1RodW5rR2VuZXJhdG9ycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9U
aHVua0dlbmVyYXRvcnMuY3BwCkBAIC03NzQsNyArNzc0LDYgQEAgZGVmaW5lVW5hcnlEb3VibGVP
cFdyYXBwZXIoY2VpbCk7CiAKIHN0YXRpYyBjb25zdCBkb3VibGUgb25lQ29uc3RhbnQgPSAxLjA7
CiBzdGF0aWMgY29uc3QgZG91YmxlIG5lZ2F0aXZlSGFsZkNvbnN0YW50ID0gLTAuNTsKLXN0YXRp
YyBjb25zdCBkb3VibGUgemVyb0NvbnN0YW50ID0gMC4wOwogc3RhdGljIGNvbnN0IGRvdWJsZSBo
YWxmQ29uc3RhbnQgPSAwLjU7CiAgICAgCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgZmxvb3JUaHVu
a0dlbmVyYXRvcihWTSogdm0pCkBAIC03OTgsNyArNzk3LDcgQEAgTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmIGZsb29yVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogICAgIFNwZWNpYWxpemVkVGh1bmtKSVQ6
Okp1bXAgaW50UmVzdWx0OwogICAgIFNwZWNpYWxpemVkVGh1bmtKSVQ6Okp1bXBMaXN0IGRvdWJs
ZVJlc3VsdDsKICAgICBpZiAoaml0LnN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5jYXRlKCkpIHsK
LSAgICAgICAgaml0LmxvYWREb3VibGUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoJnpl
cm9Db25zdGFudCksIFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDEpOworICAgICAgICBqaXQu
bW92ZVplcm9Ub0RvdWJsZShTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QxKTsKICAgICAgICAg
ZG91YmxlUmVzdWx0LmFwcGVuZChqaXQuYnJhbmNoRG91YmxlKE1hY3JvQXNzZW1ibGVyOjpEb3Vi
bGVFcXVhbCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMCwgU3BlY2lhbGl6ZWRUaHVua0pJ
VDo6ZnBSZWdUMSkpOwogICAgICAgICBTcGVjaWFsaXplZFRodW5rSklUOjpKdW1wTGlzdCBzbG93
UGF0aDsKICAgICAgICAgLy8gSGFuZGxlIHRoZSBuZWdhdGl2ZSBkb3VibGVzIGluIHRoZSBzbG93
IHBhdGggZm9yIG5vdy4KQEAgLTg1NCw3ICs4NTMsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYg
cm91bmRUaHVua0dlbmVyYXRvcihWTSogdm0pCiAgICAgU3BlY2lhbGl6ZWRUaHVua0pJVDo6SnVt
cCBpbnRSZXN1bHQ7CiAgICAgU3BlY2lhbGl6ZWRUaHVua0pJVDo6SnVtcExpc3QgZG91YmxlUmVz
dWx0OwogICAgIGlmIChqaXQuc3VwcG9ydHNGbG9hdGluZ1BvaW50VHJ1bmNhdGUoKSkgewotICAg
ICAgICBqaXQubG9hZERvdWJsZShNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cigmemVyb0Nv
bnN0YW50KSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMSk7CisgICAgICAgIGppdC5tb3Zl
WmVyb1RvRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDEpOwogICAgICAgICBkb3Vi
bGVSZXN1bHQuYXBwZW5kKGppdC5icmFuY2hEb3VibGUoTWFjcm9Bc3NlbWJsZXI6OkRvdWJsZUVx
dWFsLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpm
cFJlZ1QxKSk7CiAgICAgICAgIFNwZWNpYWxpemVkVGh1bmtKSVQ6Okp1bXBMaXN0IHNsb3dQYXRo
OwogICAgICAgICAvLyBIYW5kbGUgdGhlIG5lZ2F0aXZlIGRvdWJsZXMgaW4gdGhlIHNsb3cgcGF0
aCBmb3Igbm93Lgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>