<?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>188378</bug_id>
          
          <creation_ts>2018-08-07 04:37:49 -0700</creation_ts>
          <short_desc>Date.UTC should not return NaN with only Year param</short_desc>
          <delta_ts>2018-08-14 09:31:39 -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>JavaScriptCore</component>
          <version>Safari 11</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>isol2</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1448422</commentid>
    <comment_count>0</comment_count>
    <who name="">isol2</who>
    <bug_when>2018-08-07 04:37:49 -0700</bug_when>
    <thetext>Hi everyone,
there is a inconsistency on JSC when we try to get Date.UTC passing only the year param.
According to ES6 specs (https://www.ecma-international.org/ecma-262/8.0/index.html#sec-date.utc) the year param is required, the others params are optional.

JSC build: 234555
OS: Ubuntu 16.04 x64

Steps to reproduce:
d = Date.UTC(2015);
print(isNaN(d));

d = Date.UTC(2000 + 15, 0);
print(d == 1420070400000);


Actual results:
true
true

Expected results:
false
true

Chakra, V8 and SpiderMonkey works as expected.

cinfuzz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449266</commentid>
    <comment_count>1</comment_count>
      <attachid>346904</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-10 08:24:45 -0700</bug_when>
    <thetext>Created attachment 346904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449267</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-08-10 08:26:02 -0700</bug_when>
    <thetext>Attachment 346904 did not pass style-queue:


ERROR: Source/JavaScriptCore/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/JavaScriptCore/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449268</commentid>
    <comment_count>3</comment_count>
      <attachid>346905</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-10 08:27:32 -0700</bug_when>
    <thetext>Created attachment 346905
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449269</commentid>
    <comment_count>4</comment_count>
      <attachid>346906</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-10 08:28:27 -0700</bug_when>
    <thetext>Created attachment 346906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449291</commentid>
    <comment_count>5</comment_count>
      <attachid>346906</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-08-10 09:46:36 -0700</bug_when>
    <thetext>Comment on attachment 346906
Patch

Attachment 346906 did not pass jsc-ews (mac):
Output: https://webkit-queues.webkit.org/results/8819741

New failing tests:
ChakraCore.yaml/ChakraCore/test/Date/dateutc.js.default
apiTests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449298</commentid>
    <comment_count>6</comment_count>
      <attachid>346908</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-10 10:06:15 -0700</bug_when>
    <thetext>Created attachment 346908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449307</commentid>
    <comment_count>7</comment_count>
      <attachid>346908</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-08-10 10:32:01 -0700</bug_when>
    <thetext>Comment on attachment 346908
Patch

r=me. Does this fix any test262 tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449309</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-10 10:38:43 -0700</bug_when>
    <thetext>(In reply to Keith Miller from comment #7)
&gt; Comment on attachment 346908 [details]
&gt; Patch
&gt; 
&gt; r=me. Does this fix any test262 tests?

test/built-ins/Date/UTC/return-value.js has passed! I&apos;ve added it :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449312</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-08-10 10:42:39 -0700</bug_when>
    <thetext>Committed r234763: &lt;https://trac.webkit.org/changeset/234763&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449313</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-10 10:43:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/43147473&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449954</commentid>
    <comment_count>11</comment_count>
      <attachid>346908</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-14 09:31:39 -0700</bug_when>
    <thetext>Comment on attachment 346908
Patch

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

&gt; Source/JavaScriptCore/runtime/DateConstructor.cpp:94
&gt; +    double doubleArguments[7] {
&gt; +        0, 0, 1, 0, 0, 0, 0
&gt; +    };

Reads nicely on a single line.

&gt; Source/JavaScriptCore/runtime/DateConstructor.cpp:95
&gt; +    unsigned numberOfUsedArguments = std::max(std::min&lt;unsigned&gt;(7U, args.size()), 1U);

I like to write clamping expressions in sequence like this:

    unsigned numberOfUsedArguments = std::max(1U, std::min&lt;unsigned&gt;(args.size(), 7U));

&gt; Source/JavaScriptCore/runtime/DateConstructor.cpp:101
&gt; +        if (!std::isfinite(doubleArguments[i]) || (doubleArguments[i] &gt; INT_MAX) || (doubleArguments[i] &lt; INT_MIN))

This can be done more efficiently without an explicit isfinite check:

    if (!(doubleArguments[i] &gt;= std::numeric_limits&lt;int&gt;::min() &amp;&amp; doubleArguments[i] &lt;= std::numeric_limits&lt;int&gt;::max()))

By doing the checks in this fashion, NaN and both infinities are handled naturally without any explicit check.

&gt; Source/JavaScriptCore/runtime/DateConstructor.cpp:106
&gt;      int year = JSC::toInt32(doubleArguments[0]);

Not new to this patch: I don’t think it is correct to call toInt32 after checking if the value is in range.

I believe this means the range check doesn’t take the rounding done by toInt32 into account and I suspect we will have incorrect results for values right on the edge of the acceptable range. For example, if the value is the maximum integer + 0.1 or the minimum integer - 0.1 it will be treated as NaN, but should not be. Someone should add test cases to cover these edges and then change this to use the correct idiom.

I also suspect that there is a more efficient way to do the JSC::toInt32 operation when we know we don’t want to convert any values outside the 32-bit integer range. For example, maybe std::lround already does the right thing efficiently for that case?

Being more efficient here is not critical, but it would be nice to handle the edges 100% correctly.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346904</attachid>
            <date>2018-08-10 08:24:45 -0700</date>
            <delta_ts>2018-08-10 08:27:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188378-20180811002444.patch</filename>
            <type>text/plain</type>
            <size>5350</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MDQ4ZWUxMTFiNGM3ZTZkNmY2OGZkNjAzOTg1OWEzM2IxMjlmN2EzLi5mYmIxMjkwNTQ4Yzc2MWVm
NmNlYzc0ZGRiZWViNjc0YTM2ZTI0ODUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOC0wOC0xMCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBEYXRlLlVUQyBzaG91bGQgbm90IHJldHVybiBOYU4gd2l0aCBvbmx5
IFllYXIgcGFyYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4ODM3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJCURh
dGUuVVRDIHJlcXVpcmVzIG9uZSBhcmd1bWVudCBmb3IgfHllYXJ8LiBCdXQgdGhlIG90aGVyIG9u
ZXMgYXJlIG9wdGlvbmFsLgorCQlUaGlzIHBhdGNoIGZpeCB0aGlzIGhhbmRsaW5nLgorCisgICAg
ICAgICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjptaWxsaXNl
Y29uZHNGcm9tQ29tcG9uZW50cyk6CisKIDIwMTgtMDgtMDggIEtlaXRoIE1pbGxlciAgPGtlaXRo
X21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvcnQgc2hvdWxk
IGNhbGwgQHRvTGVuZ3RoIGluc3RlYWQgb2YgIj4+PiAwIgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmQ0NDIyMTZmZWM3N2Nh
MmU0YTdiMTg4Y2ZlMGMyNTZmYWFlOTA1My4uZDBjMmZjMjIzYzEyZDAzYzM4MjI4NmY4OGMwMWQ2
NTU5NTE1NjEwZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRl
Q29uc3RydWN0b3IuY3BwCkBAIC04OCwzNCArODgsMzUgQEAgc3RhdGljIGRvdWJsZSBtaWxsaXNl
Y29uZHNGcm9tQ29tcG9uZW50cyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3Ms
IFcKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKIAotICAgIGRvdWJsZSBkb3VibGVBcmd1bWVudHNbN107Ci0gICAgZm9y
IChpbnQgaSA9IDA7IGkgPCA3OyBpKyspIHsKKyAgICAvLyBJbml0aWFsaXplIGRvdWJsZUFyZ3Vt
ZW50cyB3aXRoIGRlZmF1bHQgdmFsdWVzLgorICAgIGRvdWJsZSBkb3VibGVBcmd1bWVudHNbN10g
eworICAgICAgICAwLCAwLCAxLCAwLCAwLCAwLCAwCisgICAgfTsKKyAgICAvLyBGaXJzdCB2YWx1
ZSAieWVhciIgaXMgbm90IG9wdGlvbmFsLiBUaGUgb3RoZXJzIGFyZSBvcHRpb25hbC4KKyAgICBk
b3VibGVBcmd1bWVudHNbMF0gPSBhcmdzLmF0KDApLnRvTnVtYmVyKGV4ZWMpOworICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIDApOworCisgICAgdW5zaWduZWQgbnVtYmVyT2ZVc2VkQXJn
dW1lbnRzID0gc3RkOjptaW48dW5zaWduZWQ+KDdVLCBhcmdzLnNpemUoKSk7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gMTsgaSA8IG51bWJlck9mVXNlZEFyZ3VtZW50czsgKytpKSB7CiAgICAgICAg
IGRvdWJsZUFyZ3VtZW50c1tpXSA9IGFyZ3MuYXQoaSkudG9OdW1iZXIoZXhlYyk7CiAgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIDApOwogICAgIH0KIAotICAgIGludCBudW1Bcmdz
ID0gYXJncy5zaXplKCk7Ci0KLSAgICBpZiAoKCFzdGQ6OmlzZmluaXRlKGRvdWJsZUFyZ3VtZW50
c1swXSkgfHwgKGRvdWJsZUFyZ3VtZW50c1swXSA+IElOVF9NQVgpIHx8IChkb3VibGVBcmd1bWVu
dHNbMF0gPCBJTlRfTUlOKSkKLSAgICAgICAgfHwgKCFzdGQ6OmlzZmluaXRlKGRvdWJsZUFyZ3Vt
ZW50c1sxXSkgfHwgKGRvdWJsZUFyZ3VtZW50c1sxXSA+IElOVF9NQVgpIHx8IChkb3VibGVBcmd1
bWVudHNbMV0gPCBJTlRfTUlOKSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0gMyAmJiAoIXN0ZDo6
aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzJdKSB8fCAoZG91YmxlQXJndW1lbnRzWzJdID4gSU5U
X01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1syXSA8IElOVF9NSU4pKSkKLSAgICAgICAgfHwgKG51
bUFyZ3MgPj0gNCAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzNdKSB8fCAoZG91
YmxlQXJndW1lbnRzWzNdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1szXSA8IElOVF9N
SU4pKSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0gNSAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91Ymxl
QXJndW1lbnRzWzRdKSB8fCAoZG91YmxlQXJndW1lbnRzWzRdID4gSU5UX01BWCkgfHwgKGRvdWJs
ZUFyZ3VtZW50c1s0XSA8IElOVF9NSU4pKSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0gNiAmJiAo
IXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzVdKSB8fCAoZG91YmxlQXJndW1lbnRzWzVd
ID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1s1XSA8IElOVF9NSU4pKSkKLSAgICAgICAg
fHwgKG51bUFyZ3MgPj0gNyAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzZdKSB8
fCAoZG91YmxlQXJndW1lbnRzWzZdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1s2XSA8
IElOVF9NSU4pKSkpCi0gICAgICAgIHJldHVybiBQTmFOOworICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBudW1iZXJPZlVzZWRBcmd1bWVudHM7ICsraSkgeworICAgICAgICBpZiAoIXN0ZDo6
aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzW2ldKSB8fCAoZG91YmxlQXJndW1lbnRzW2ldID4gSU5U
X01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1tpXSA8IElOVF9NSU4pKQorICAgICAgICAgICAgcmV0
dXJuIFBOYU47CisgICAgfQogCiAgICAgR3JlZ29yaWFuRGF0ZVRpbWUgdDsKICAgICBpbnQgeWVh
ciA9IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbMF0pOwogICAgIHQuc2V0WWVhcigoeWVh
ciA+PSAwICYmIHllYXIgPD0gOTkpID8gKHllYXIgKyAxOTAwKSA6IHllYXIpOwogICAgIHQuc2V0
TW9udGgoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1sxXSkpOwotICAgIHQuc2V0TW9udGhE
YXkoKG51bUFyZ3MgPj0gMykgPyBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzJdKSA6IDEp
OworICAgIHQuc2V0TW9udGhEYXkoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1syXSkpOwog
ICAgIHQuc2V0SG91cihKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzNdKSk7CiAgICAgdC5z
ZXRNaW51dGUoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s0XSkpOwogICAgIHQuc2V0U2Vj
b25kKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbNV0pKTsKICAgICB0LnNldElzRFNUKC0x
KTsKLSAgICBkb3VibGUgbXMgPSAobnVtQXJncyA+PSA3KSA/IGRvdWJsZUFyZ3VtZW50c1s2XSA6
IDA7Ci0gICAgcmV0dXJuIGdyZWdvcmlhbkRhdGVUaW1lVG9NUyh2bSwgdCwgbXMsIHRpbWVUeXBl
KTsKKyAgICByZXR1cm4gZ3JlZ29yaWFuRGF0ZVRpbWVUb01TKHZtLCB0LCBkb3VibGVBcmd1bWVu
dHNbNl0sIHRpbWVUeXBlKTsKIH0KIAogLy8gRUNNQSAxNS45LjMKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTgzNjcxZmQzNzFmMjIzNjI4
MTZlYzljZjc1OTNkY2NkMzdlYjg0ZC4uYWJkMDQxZTc1ODRjZjA4MmFhYmY1OWI5NjJkNzE3NjM5
ZGUwYjc2ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0wOC0xMCAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBEYXRlLlVUQyBzaG91bGQgbm90IHJldHVybiBO
YU4gd2l0aCBvbmx5IFllYXIgcGFyYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4ODM3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogc3RyZXNzL2RhdGUtdXRjLW9wdGlvbmFsLmpzOiBBZGRlZC4KKyAg
ICAgICAgKHNob3VsZEJlKToKKwogMjAxOC0wOC0wOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWls
bGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcnJheS5wcm90b3R5cGUuc29ydCBzaG91bGQgY2Fs
bCBAdG9MZW5ndGggaW5zdGVhZCBvZiAiPj4+IDAiCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVz
cy9kYXRlLXV0Yy1vcHRpb25hbC5qcyBiL0pTVGVzdHMvc3RyZXNzL2RhdGUtdXRjLW9wdGlvbmFs
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRlNzIzYTljY2NmZDg2OGFhMWJmODg4ZGJiYzE5MDI2NjkzYjgxYjgK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9kYXRlLXV0Yy1vcHRpb25hbC5qcwpA
QCAtMCwwICsxLDE2IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7Cisg
ICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFk
IHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxZTU7ICsraSkg
eworICAgIHNob3VsZEJlKE51bWJlci5pc05hTihEYXRlLlVUQygpKSwgZmFsc2UpOworICAgIHNo
b3VsZEJlKERhdGUuVVRDKDIwMTgpLCAxNTE0NzY0ODAwMDAwKTsKKyAgICBzaG91bGRCZShEYXRl
LlVUQygyMDE4LCAxKSwgMTUxNzQ0MzIwMDAwMCk7CisgICAgc2hvdWxkQmUoRGF0ZS5VVEMoMjAx
OCwgMSwgMiksIDE1MTc1Mjk2MDAwMDApOworICAgIHNob3VsZEJlKERhdGUuVVRDKDIwMTgsIDEs
IDIsIDMpLCAxNTE3NTQwNDAwMDAwKTsKKyAgICBzaG91bGRCZShEYXRlLlVUQygyMDE4LCAxLCAy
LCAzLCA0KSwgMTUxNzU0MDY0MDAwMCk7CisgICAgc2hvdWxkQmUoRGF0ZS5VVEMoMjAxOCwgMSwg
MiwgMywgNCwgNSksIDE1MTc1NDA2NDUwMDApOworICAgIHNob3VsZEJlKERhdGUuVVRDKDIwMTgs
IDEsIDIsIDMsIDQsIDUsIDYpLCAxNTE3NTQwNjQ1MDA2KTsKKyAgICBzaG91bGRCZShEYXRlLlVU
QygyMDE4LCAxLCAyLCAzLCA0LCA1LCA2LCA3KSwgMTUxNzU0MDY0NTAwNik7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346905</attachid>
            <date>2018-08-10 08:27:32 -0700</date>
            <delta_ts>2018-08-10 08:28:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188378-20180811002731.patch</filename>
            <type>text/plain</type>
            <size>5362</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MDQ4ZWUxMTFiNGM3ZTZkNmY2OGZkNjAzOTg1OWEzM2IxMjlmN2EzLi4yNzEyNDJkYWQ3YzVhZjVm
MDU2YTU5NjkzNDBmYWUwMzFmNzBkZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOC0wOC0xMCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBEYXRlLlVUQyBzaG91bGQgbm90IHJldHVybiBOYU4gd2l0aCBvbmx5
IFllYXIgcGFyYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4ODM3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERhdGUuVVRDIHJlcXVpcmVzIG9uZSBhcmd1bWVudCBmb3IgfHllYXJ8LiBCdXQgdGhlIG90
aGVyIG9uZXMgYXJlIG9wdGlvbmFsLgorICAgICAgICBUaGlzIHBhdGNoIGZpeCB0aGlzIGhhbmRs
aW5nLgorCisgICAgICAgICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjptaWxsaXNlY29uZHNGcm9tQ29tcG9uZW50cyk6CisKIDIwMTgtMDgtMDggIEtlaXRoIE1p
bGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgQXJyYXkucHJvdG90eXBl
LnNvcnQgc2hvdWxkIGNhbGwgQHRvTGVuZ3RoIGluc3RlYWQgb2YgIj4+PiAwIgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZmQ0
NDIyMTZmZWM3N2NhMmU0YTdiMTg4Y2ZlMGMyNTZmYWFlOTA1My4uZDBjMmZjMjIzYzEyZDAzYzM4
MjI4NmY4OGMwMWQ2NTU5NTE1NjEwZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCkBAIC04OCwzNCArODgsMzUgQEAgc3RhdGljIGRv
dWJsZSBtaWxsaXNlY29uZHNGcm9tQ29tcG9uZW50cyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFy
Z0xpc3QmIGFyZ3MsIFcKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGRvdWJsZSBkb3VibGVBcmd1bWVudHNb
N107Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCA3OyBpKyspIHsKKyAgICAvLyBJbml0aWFsaXpl
IGRvdWJsZUFyZ3VtZW50cyB3aXRoIGRlZmF1bHQgdmFsdWVzLgorICAgIGRvdWJsZSBkb3VibGVB
cmd1bWVudHNbN10geworICAgICAgICAwLCAwLCAxLCAwLCAwLCAwLCAwCisgICAgfTsKKyAgICAv
LyBGaXJzdCB2YWx1ZSAieWVhciIgaXMgbm90IG9wdGlvbmFsLiBUaGUgb3RoZXJzIGFyZSBvcHRp
b25hbC4KKyAgICBkb3VibGVBcmd1bWVudHNbMF0gPSBhcmdzLmF0KDApLnRvTnVtYmVyKGV4ZWMp
OworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIDApOworCisgICAgdW5zaWduZWQgbnVt
YmVyT2ZVc2VkQXJndW1lbnRzID0gc3RkOjptaW48dW5zaWduZWQ+KDdVLCBhcmdzLnNpemUoKSk7
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG51bWJlck9mVXNlZEFyZ3VtZW50czsgKytp
KSB7CiAgICAgICAgIGRvdWJsZUFyZ3VtZW50c1tpXSA9IGFyZ3MuYXQoaSkudG9OdW1iZXIoZXhl
Yyk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIDApOwogICAgIH0KIAotICAg
IGludCBudW1BcmdzID0gYXJncy5zaXplKCk7Ci0KLSAgICBpZiAoKCFzdGQ6OmlzZmluaXRlKGRv
dWJsZUFyZ3VtZW50c1swXSkgfHwgKGRvdWJsZUFyZ3VtZW50c1swXSA+IElOVF9NQVgpIHx8IChk
b3VibGVBcmd1bWVudHNbMF0gPCBJTlRfTUlOKSkKLSAgICAgICAgfHwgKCFzdGQ6OmlzZmluaXRl
KGRvdWJsZUFyZ3VtZW50c1sxXSkgfHwgKGRvdWJsZUFyZ3VtZW50c1sxXSA+IElOVF9NQVgpIHx8
IChkb3VibGVBcmd1bWVudHNbMV0gPCBJTlRfTUlOKSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0g
MyAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzJdKSB8fCAoZG91YmxlQXJndW1l
bnRzWzJdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1syXSA8IElOVF9NSU4pKSkKLSAg
ICAgICAgfHwgKG51bUFyZ3MgPj0gNCAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRz
WzNdKSB8fCAoZG91YmxlQXJndW1lbnRzWzNdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50
c1szXSA8IElOVF9NSU4pKSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0gNSAmJiAoIXN0ZDo6aXNm
aW5pdGUoZG91YmxlQXJndW1lbnRzWzRdKSB8fCAoZG91YmxlQXJndW1lbnRzWzRdID4gSU5UX01B
WCkgfHwgKGRvdWJsZUFyZ3VtZW50c1s0XSA8IElOVF9NSU4pKSkKLSAgICAgICAgfHwgKG51bUFy
Z3MgPj0gNiAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzVdKSB8fCAoZG91Ymxl
QXJndW1lbnRzWzVdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1s1XSA8IElOVF9NSU4p
KSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0gNyAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJn
dW1lbnRzWzZdKSB8fCAoZG91YmxlQXJndW1lbnRzWzZdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFy
Z3VtZW50c1s2XSA8IElOVF9NSU4pKSkpCi0gICAgICAgIHJldHVybiBQTmFOOworICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBudW1iZXJPZlVzZWRBcmd1bWVudHM7ICsraSkgeworICAgICAg
ICBpZiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzW2ldKSB8fCAoZG91YmxlQXJndW1l
bnRzW2ldID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1tpXSA8IElOVF9NSU4pKQorICAg
ICAgICAgICAgcmV0dXJuIFBOYU47CisgICAgfQogCiAgICAgR3JlZ29yaWFuRGF0ZVRpbWUgdDsK
ICAgICBpbnQgeWVhciA9IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbMF0pOwogICAgIHQu
c2V0WWVhcigoeWVhciA+PSAwICYmIHllYXIgPD0gOTkpID8gKHllYXIgKyAxOTAwKSA6IHllYXIp
OwogICAgIHQuc2V0TW9udGgoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1sxXSkpOwotICAg
IHQuc2V0TW9udGhEYXkoKG51bUFyZ3MgPj0gMykgPyBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1l
bnRzWzJdKSA6IDEpOworICAgIHQuc2V0TW9udGhEYXkoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3Vt
ZW50c1syXSkpOwogICAgIHQuc2V0SG91cihKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzNd
KSk7CiAgICAgdC5zZXRNaW51dGUoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s0XSkpOwog
ICAgIHQuc2V0U2Vjb25kKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbNV0pKTsKICAgICB0
LnNldElzRFNUKC0xKTsKLSAgICBkb3VibGUgbXMgPSAobnVtQXJncyA+PSA3KSA/IGRvdWJsZUFy
Z3VtZW50c1s2XSA6IDA7Ci0gICAgcmV0dXJuIGdyZWdvcmlhbkRhdGVUaW1lVG9NUyh2bSwgdCwg
bXMsIHRpbWVUeXBlKTsKKyAgICByZXR1cm4gZ3JlZ29yaWFuRGF0ZVRpbWVUb01TKHZtLCB0LCBk
b3VibGVBcmd1bWVudHNbNl0sIHRpbWVUeXBlKTsKIH0KIAogLy8gRUNNQSAxNS45LjMKZGlmZiAt
LWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTgzNjcx
ZmQzNzFmMjIzNjI4MTZlYzljZjc1OTNkY2NkMzdlYjg0ZC4uYWJkMDQxZTc1ODRjZjA4MmFhYmY1
OWI5NjJkNzE3NjM5ZGUwYjc2ZSAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
SlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxOC0wOC0xMCAgWXVzdWtlIFN1
enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBEYXRlLlVUQyBzaG91bGQg
bm90IHJldHVybiBOYU4gd2l0aCBvbmx5IFllYXIgcGFyYW0KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODM3OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2RhdGUtdXRjLW9wdGlvbmFsLmpz
OiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKwogMjAxOC0wOC0wOCAgS2VpdGggTWlsbGVy
ICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcnJheS5wcm90b3R5cGUuc29y
dCBzaG91bGQgY2FsbCBAdG9MZW5ndGggaW5zdGVhZCBvZiAiPj4+IDAiCmRpZmYgLS1naXQgYS9K
U1Rlc3RzL3N0cmVzcy9kYXRlLXV0Yy1vcHRpb25hbC5qcyBiL0pTVGVzdHMvc3RyZXNzL2RhdGUt
dXRjLW9wdGlvbmFsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlNzIzYTljY2NmZDg2OGFhMWJmODg4ZGJiYzE5
MDI2NjkzYjgxYjgKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9kYXRlLXV0Yy1v
cHRpb25hbC5qcwpAQCAtMCwwICsxLDE2IEBACitmdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4
cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5l
dyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxZTU7ICsraSkgeworICAgIHNob3VsZEJlKE51bWJlci5pc05hTihEYXRlLlVUQygpKSwgZmFs
c2UpOworICAgIHNob3VsZEJlKERhdGUuVVRDKDIwMTgpLCAxNTE0NzY0ODAwMDAwKTsKKyAgICBz
aG91bGRCZShEYXRlLlVUQygyMDE4LCAxKSwgMTUxNzQ0MzIwMDAwMCk7CisgICAgc2hvdWxkQmUo
RGF0ZS5VVEMoMjAxOCwgMSwgMiksIDE1MTc1Mjk2MDAwMDApOworICAgIHNob3VsZEJlKERhdGUu
VVRDKDIwMTgsIDEsIDIsIDMpLCAxNTE3NTQwNDAwMDAwKTsKKyAgICBzaG91bGRCZShEYXRlLlVU
QygyMDE4LCAxLCAyLCAzLCA0KSwgMTUxNzU0MDY0MDAwMCk7CisgICAgc2hvdWxkQmUoRGF0ZS5V
VEMoMjAxOCwgMSwgMiwgMywgNCwgNSksIDE1MTc1NDA2NDUwMDApOworICAgIHNob3VsZEJlKERh
dGUuVVRDKDIwMTgsIDEsIDIsIDMsIDQsIDUsIDYpLCAxNTE3NTQwNjQ1MDA2KTsKKyAgICBzaG91
bGRCZShEYXRlLlVUQygyMDE4LCAxLCAyLCAzLCA0LCA1LCA2LCA3KSwgMTUxNzU0MDY0NTAwNik7
Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346906</attachid>
            <date>2018-08-10 08:28:27 -0700</date>
            <delta_ts>2018-08-10 10:06:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188378-20180811002826.patch</filename>
            <type>text/plain</type>
            <size>5372</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MDQ4ZWUxMTFiNGM3ZTZkNmY2OGZkNjAzOTg1OWEzM2IxMjlmN2EzLi5mNDA2NWQyMTA1ODQzYWMy
NTQ4NTJiMTI5MjBmYjFhMjEzYzIwNzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOC0wOC0xMCAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93
c3RhcnQub3JnPgorCisgICAgICAgIERhdGUuVVRDIHNob3VsZCBub3QgcmV0dXJuIE5hTiB3aXRo
IG9ubHkgWWVhciBwYXJhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg4Mzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRGF0ZS5VVEMgcmVxdWlyZXMgb25lIGFyZ3VtZW50IGZvciB8eWVhcnwuIEJ1dCB0
aGUgb3RoZXIgb25lcyBhcmUgb3B0aW9uYWwuCisgICAgICAgIFRoaXMgcGF0Y2ggZml4IHRoaXMg
aGFuZGxpbmcuCisKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6Om1pbGxpc2Vjb25kc0Zyb21Db21wb25lbnRzKToKKwogMjAxOC0wOC0wOCAgS2Vp
dGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcnJheS5wcm90
b3R5cGUuc29ydCBzaG91bGQgY2FsbCBAdG9MZW5ndGggaW5zdGVhZCBvZiAiPj4+IDAiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAppbmRl
eCBmZDQ0MjIxNmZlYzc3Y2EyZTRhN2IxODhjZmUwYzI1NmZhYWU5MDUzLi5kMGMyZmMyMjNjMTJk
MDNjMzgyMjg2Zjg4YzAxZDY1NTk1MTU2MTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTg4LDM0ICs4OCwzNSBAQCBzdGF0
aWMgZG91YmxlIG1pbGxpc2Vjb25kc0Zyb21Db21wb25lbnRzKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgQXJnTGlzdCYgYXJncywgVwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgZG91YmxlIGRvdWJsZUFyZ3Vt
ZW50c1s3XTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IDc7IGkrKykgeworICAgIC8vIEluaXRp
YWxpemUgZG91YmxlQXJndW1lbnRzIHdpdGggZGVmYXVsdCB2YWx1ZXMuCisgICAgZG91YmxlIGRv
dWJsZUFyZ3VtZW50c1s3XSB7CisgICAgICAgIDAsIDAsIDEsIDAsIDAsIDAsIDAKKyAgICB9Owor
ICAgIC8vIEZpcnN0IHZhbHVlICJ5ZWFyIiBpcyBub3Qgb3B0aW9uYWwuIFRoZSBvdGhlcnMgYXJl
IG9wdGlvbmFsLgorICAgIGRvdWJsZUFyZ3VtZW50c1swXSA9IGFyZ3MuYXQoMCkudG9OdW1iZXIo
ZXhlYyk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgMCk7CisKKyAgICB1bnNpZ25l
ZCBudW1iZXJPZlVzZWRBcmd1bWVudHMgPSBzdGQ6Om1pbjx1bnNpZ25lZD4oN1UsIGFyZ3Muc2l6
ZSgpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbnVtYmVyT2ZVc2VkQXJndW1lbnRz
OyArK2kpIHsKICAgICAgICAgZG91YmxlQXJndW1lbnRzW2ldID0gYXJncy5hdChpKS50b051bWJl
cihleGVjKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgMCk7CiAgICAgfQog
Ci0gICAgaW50IG51bUFyZ3MgPSBhcmdzLnNpemUoKTsKLQotICAgIGlmICgoIXN0ZDo6aXNmaW5p
dGUoZG91YmxlQXJndW1lbnRzWzBdKSB8fCAoZG91YmxlQXJndW1lbnRzWzBdID4gSU5UX01BWCkg
fHwgKGRvdWJsZUFyZ3VtZW50c1swXSA8IElOVF9NSU4pKQotICAgICAgICB8fCAoIXN0ZDo6aXNm
aW5pdGUoZG91YmxlQXJndW1lbnRzWzFdKSB8fCAoZG91YmxlQXJndW1lbnRzWzFdID4gSU5UX01B
WCkgfHwgKGRvdWJsZUFyZ3VtZW50c1sxXSA8IElOVF9NSU4pKQotICAgICAgICB8fCAobnVtQXJn
cyA+PSAzICYmICghc3RkOjppc2Zpbml0ZShkb3VibGVBcmd1bWVudHNbMl0pIHx8IChkb3VibGVB
cmd1bWVudHNbMl0gPiBJTlRfTUFYKSB8fCAoZG91YmxlQXJndW1lbnRzWzJdIDwgSU5UX01JTikp
KQotICAgICAgICB8fCAobnVtQXJncyA+PSA0ICYmICghc3RkOjppc2Zpbml0ZShkb3VibGVBcmd1
bWVudHNbM10pIHx8IChkb3VibGVBcmd1bWVudHNbM10gPiBJTlRfTUFYKSB8fCAoZG91YmxlQXJn
dW1lbnRzWzNdIDwgSU5UX01JTikpKQotICAgICAgICB8fCAobnVtQXJncyA+PSA1ICYmICghc3Rk
Ojppc2Zpbml0ZShkb3VibGVBcmd1bWVudHNbNF0pIHx8IChkb3VibGVBcmd1bWVudHNbNF0gPiBJ
TlRfTUFYKSB8fCAoZG91YmxlQXJndW1lbnRzWzRdIDwgSU5UX01JTikpKQotICAgICAgICB8fCAo
bnVtQXJncyA+PSA2ICYmICghc3RkOjppc2Zpbml0ZShkb3VibGVBcmd1bWVudHNbNV0pIHx8IChk
b3VibGVBcmd1bWVudHNbNV0gPiBJTlRfTUFYKSB8fCAoZG91YmxlQXJndW1lbnRzWzVdIDwgSU5U
X01JTikpKQotICAgICAgICB8fCAobnVtQXJncyA+PSA3ICYmICghc3RkOjppc2Zpbml0ZShkb3Vi
bGVBcmd1bWVudHNbNl0pIHx8IChkb3VibGVBcmd1bWVudHNbNl0gPiBJTlRfTUFYKSB8fCAoZG91
YmxlQXJndW1lbnRzWzZdIDwgSU5UX01JTikpKSkKLSAgICAgICAgcmV0dXJuIFBOYU47CisgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bWJlck9mVXNlZEFyZ3VtZW50czsgKytpKSB7Cisg
ICAgICAgIGlmICghc3RkOjppc2Zpbml0ZShkb3VibGVBcmd1bWVudHNbaV0pIHx8IChkb3VibGVB
cmd1bWVudHNbaV0gPiBJTlRfTUFYKSB8fCAoZG91YmxlQXJndW1lbnRzW2ldIDwgSU5UX01JTikp
CisgICAgICAgICAgICByZXR1cm4gUE5hTjsKKyAgICB9CiAKICAgICBHcmVnb3JpYW5EYXRlVGlt
ZSB0OwogICAgIGludCB5ZWFyID0gSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1swXSk7CiAg
ICAgdC5zZXRZZWFyKCh5ZWFyID49IDAgJiYgeWVhciA8PSA5OSkgPyAoeWVhciArIDE5MDApIDog
eWVhcik7CiAgICAgdC5zZXRNb250aChKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzFdKSk7
Ci0gICAgdC5zZXRNb250aERheSgobnVtQXJncyA+PSAzKSA/IEpTQzo6dG9JbnQzMihkb3VibGVB
cmd1bWVudHNbMl0pIDogMSk7CisgICAgdC5zZXRNb250aERheShKU0M6OnRvSW50MzIoZG91Ymxl
QXJndW1lbnRzWzJdKSk7CiAgICAgdC5zZXRIb3VyKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVu
dHNbM10pKTsKICAgICB0LnNldE1pbnV0ZShKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzRd
KSk7CiAgICAgdC5zZXRTZWNvbmQoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s1XSkpOwog
ICAgIHQuc2V0SXNEU1QoLTEpOwotICAgIGRvdWJsZSBtcyA9IChudW1BcmdzID49IDcpID8gZG91
YmxlQXJndW1lbnRzWzZdIDogMDsKLSAgICByZXR1cm4gZ3JlZ29yaWFuRGF0ZVRpbWVUb01TKHZt
LCB0LCBtcywgdGltZVR5cGUpOworICAgIHJldHVybiBncmVnb3JpYW5EYXRlVGltZVRvTVModm0s
IHQsIGRvdWJsZUFyZ3VtZW50c1s2XSwgdGltZVR5cGUpOwogfQogCiAvLyBFQ01BIDE1LjkuMwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBl
ODM2NzFmZDM3MWYyMjM2MjgxNmVjOWNmNzU5M2RjY2QzN2ViODRkLi5kOGEwYmY2Y2VlODQ1NWY2
OTg2OWJmOTQ3ZDQ3OTJhOGVkOTM1MWI0IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTA4LTEwICBZdXN1
a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5vcmc+CisKKyAgICAgICAgRGF0ZS5V
VEMgc2hvdWxkIG5vdCByZXR1cm4gTmFOIHdpdGggb25seSBZZWFyIHBhcmFtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgzNzgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9kYXRlLXV0Yy1v
cHRpb25hbC5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6CisKIDIwMTgtMDgtMDggIEtl
aXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgQXJyYXkucHJv
dG90eXBlLnNvcnQgc2hvdWxkIGNhbGwgQHRvTGVuZ3RoIGluc3RlYWQgb2YgIj4+PiAwIgpkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvZGF0ZS11dGMtb3B0aW9uYWwuanMgYi9KU1Rlc3RzL3N0
cmVzcy9kYXRlLXV0Yy1vcHRpb25hbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTcyM2E5Y2NjZmQ4NjhhYTFi
Zjg4OGRiYmMxOTAyNjY5M2I4MWI4Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3Mv
ZGF0ZS11dGMtb3B0aW9uYWwuanMKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24gc2hvdWxkQmUo
YWN0dWFsLCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2ZvciAodmFy
IGkgPSAwOyBpIDwgMWU1OyArK2kpIHsKKyAgICBzaG91bGRCZShOdW1iZXIuaXNOYU4oRGF0ZS5V
VEMoKSksIGZhbHNlKTsKKyAgICBzaG91bGRCZShEYXRlLlVUQygyMDE4KSwgMTUxNDc2NDgwMDAw
MCk7CisgICAgc2hvdWxkQmUoRGF0ZS5VVEMoMjAxOCwgMSksIDE1MTc0NDMyMDAwMDApOworICAg
IHNob3VsZEJlKERhdGUuVVRDKDIwMTgsIDEsIDIpLCAxNTE3NTI5NjAwMDAwKTsKKyAgICBzaG91
bGRCZShEYXRlLlVUQygyMDE4LCAxLCAyLCAzKSwgMTUxNzU0MDQwMDAwMCk7CisgICAgc2hvdWxk
QmUoRGF0ZS5VVEMoMjAxOCwgMSwgMiwgMywgNCksIDE1MTc1NDA2NDAwMDApOworICAgIHNob3Vs
ZEJlKERhdGUuVVRDKDIwMTgsIDEsIDIsIDMsIDQsIDUpLCAxNTE3NTQwNjQ1MDAwKTsKKyAgICBz
aG91bGRCZShEYXRlLlVUQygyMDE4LCAxLCAyLCAzLCA0LCA1LCA2KSwgMTUxNzU0MDY0NTAwNik7
CisgICAgc2hvdWxkQmUoRGF0ZS5VVEMoMjAxOCwgMSwgMiwgMywgNCwgNSwgNiwgNyksIDE1MTc1
NDA2NDUwMDYpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>346908</attachid>
            <date>2018-08-10 10:06:15 -0700</date>
            <delta_ts>2018-08-10 10:32:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188378-20180811020613.patch</filename>
            <type>text/plain</type>
            <size>5764</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MDQ4ZWUxMTFiNGM3ZTZkNmY2OGZkNjAzOTg1OWEzM2IxMjlmN2EzLi5mNDA2NWQyMTA1ODQzYWMy
NTQ4NTJiMTI5MjBmYjFhMjEzYzIwNzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOC0wOC0xMCAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93
c3RhcnQub3JnPgorCisgICAgICAgIERhdGUuVVRDIHNob3VsZCBub3QgcmV0dXJuIE5hTiB3aXRo
IG9ubHkgWWVhciBwYXJhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg4Mzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRGF0ZS5VVEMgcmVxdWlyZXMgb25lIGFyZ3VtZW50IGZvciB8eWVhcnwuIEJ1dCB0
aGUgb3RoZXIgb25lcyBhcmUgb3B0aW9uYWwuCisgICAgICAgIFRoaXMgcGF0Y2ggZml4IHRoaXMg
aGFuZGxpbmcuCisKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6Om1pbGxpc2Vjb25kc0Zyb21Db21wb25lbnRzKToKKwogMjAxOC0wOC0wOCAgS2Vp
dGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcnJheS5wcm90
b3R5cGUuc29ydCBzaG91bGQgY2FsbCBAdG9MZW5ndGggaW5zdGVhZCBvZiAiPj4+IDAiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAppbmRl
eCBmZDQ0MjIxNmZlYzc3Y2EyZTRhN2IxODhjZmUwYzI1NmZhYWU5MDUzLi5lMzhlNWVkODc0NTVm
MGIwOTQyZTgwMjE1YmE4M2VjZGFmODAxYmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKQEAgLTg4LDM0ICs4OCwzMCBAQCBzdGF0
aWMgZG91YmxlIG1pbGxpc2Vjb25kc0Zyb21Db21wb25lbnRzKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgQXJnTGlzdCYgYXJncywgVwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgZG91YmxlIGRvdWJsZUFyZ3Vt
ZW50c1s3XTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IDc7IGkrKykgeworICAgIC8vIEluaXRp
YWxpemUgZG91YmxlQXJndW1lbnRzIHdpdGggZGVmYXVsdCB2YWx1ZXMuCisgICAgZG91YmxlIGRv
dWJsZUFyZ3VtZW50c1s3XSB7CisgICAgICAgIDAsIDAsIDEsIDAsIDAsIDAsIDAKKyAgICB9Owor
ICAgIHVuc2lnbmVkIG51bWJlck9mVXNlZEFyZ3VtZW50cyA9IHN0ZDo6bWF4KHN0ZDo6bWluPHVu
c2lnbmVkPig3VSwgYXJncy5zaXplKCkpLCAxVSk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IG51bWJlck9mVXNlZEFyZ3VtZW50czsgKytpKSB7CiAgICAgICAgIGRvdWJsZUFyZ3VtZW50
c1tpXSA9IGFyZ3MuYXQoaSkudG9OdW1iZXIoZXhlYyk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIDApOwogICAgIH0KLQotICAgIGludCBudW1BcmdzID0gYXJncy5zaXplKCk7
Ci0KLSAgICBpZiAoKCFzdGQ6OmlzZmluaXRlKGRvdWJsZUFyZ3VtZW50c1swXSkgfHwgKGRvdWJs
ZUFyZ3VtZW50c1swXSA+IElOVF9NQVgpIHx8IChkb3VibGVBcmd1bWVudHNbMF0gPCBJTlRfTUlO
KSkKLSAgICAgICAgfHwgKCFzdGQ6OmlzZmluaXRlKGRvdWJsZUFyZ3VtZW50c1sxXSkgfHwgKGRv
dWJsZUFyZ3VtZW50c1sxXSA+IElOVF9NQVgpIHx8IChkb3VibGVBcmd1bWVudHNbMV0gPCBJTlRf
TUlOKSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0gMyAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91Ymxl
QXJndW1lbnRzWzJdKSB8fCAoZG91YmxlQXJndW1lbnRzWzJdID4gSU5UX01BWCkgfHwgKGRvdWJs
ZUFyZ3VtZW50c1syXSA8IElOVF9NSU4pKSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0gNCAmJiAo
IXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzNdKSB8fCAoZG91YmxlQXJndW1lbnRzWzNd
ID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1szXSA8IElOVF9NSU4pKSkKLSAgICAgICAg
fHwgKG51bUFyZ3MgPj0gNSAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzRdKSB8
fCAoZG91YmxlQXJndW1lbnRzWzRdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1s0XSA8
IElOVF9NSU4pKSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0gNiAmJiAoIXN0ZDo6aXNmaW5pdGUo
ZG91YmxlQXJndW1lbnRzWzVdKSB8fCAoZG91YmxlQXJndW1lbnRzWzVdID4gSU5UX01BWCkgfHwg
KGRvdWJsZUFyZ3VtZW50c1s1XSA8IElOVF9NSU4pKSkKLSAgICAgICAgfHwgKG51bUFyZ3MgPj0g
NyAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzZdKSB8fCAoZG91YmxlQXJndW1l
bnRzWzZdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1s2XSA8IElOVF9NSU4pKSkpCi0g
ICAgICAgIHJldHVybiBQTmFOOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBudW1iZXJP
ZlVzZWRBcmd1bWVudHM7ICsraSkgeworICAgICAgICBpZiAoIXN0ZDo6aXNmaW5pdGUoZG91Ymxl
QXJndW1lbnRzW2ldKSB8fCAoZG91YmxlQXJndW1lbnRzW2ldID4gSU5UX01BWCkgfHwgKGRvdWJs
ZUFyZ3VtZW50c1tpXSA8IElOVF9NSU4pKQorICAgICAgICAgICAgcmV0dXJuIFBOYU47CisgICAg
fQogCiAgICAgR3JlZ29yaWFuRGF0ZVRpbWUgdDsKICAgICBpbnQgeWVhciA9IEpTQzo6dG9JbnQz
Mihkb3VibGVBcmd1bWVudHNbMF0pOwogICAgIHQuc2V0WWVhcigoeWVhciA+PSAwICYmIHllYXIg
PD0gOTkpID8gKHllYXIgKyAxOTAwKSA6IHllYXIpOwogICAgIHQuc2V0TW9udGgoSlNDOjp0b0lu
dDMyKGRvdWJsZUFyZ3VtZW50c1sxXSkpOwotICAgIHQuc2V0TW9udGhEYXkoKG51bUFyZ3MgPj0g
MykgPyBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzJdKSA6IDEpOworICAgIHQuc2V0TW9u
dGhEYXkoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1syXSkpOwogICAgIHQuc2V0SG91cihK
U0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzNdKSk7CiAgICAgdC5zZXRNaW51dGUoSlNDOjp0
b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s0XSkpOwogICAgIHQuc2V0U2Vjb25kKEpTQzo6dG9JbnQz
Mihkb3VibGVBcmd1bWVudHNbNV0pKTsKICAgICB0LnNldElzRFNUKC0xKTsKLSAgICBkb3VibGUg
bXMgPSAobnVtQXJncyA+PSA3KSA/IGRvdWJsZUFyZ3VtZW50c1s2XSA6IDA7Ci0gICAgcmV0dXJu
IGdyZWdvcmlhbkRhdGVUaW1lVG9NUyh2bSwgdCwgbXMsIHRpbWVUeXBlKTsKKyAgICByZXR1cm4g
Z3JlZ29yaWFuRGF0ZVRpbWVUb01TKHZtLCB0LCBkb3VibGVBcmd1bWVudHNbNl0sIHRpbWVUeXBl
KTsKIH0KIAogLy8gRUNNQSAxNS45LjMKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hha3JhQ29yZS90
ZXN0L0RhdGUvZGF0ZXV0Yy5iYXNlbGluZS1qc2MgYi9KU1Rlc3RzL0NoYWtyYUNvcmUvdGVzdC9E
YXRlL2RhdGV1dGMuYmFzZWxpbmUtanNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhNTY1ZTcxMmU5YTRhMmRkMDll
NmExNTc0Zjk3YzI1YzM4MzBjYTQKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL0NoYWtyYUNv
cmUvdGVzdC9EYXRlL2RhdGV1dGMuYmFzZWxpbmUtanNjCkBAIC0wLDAgKzEsMTMgQEAKKzEyNjIz
MDQwMDAwMAorMTI2MjMwNDAwMDAwCisxNDk4MTc2MDAwMDAKKzE1MTgwNDgwMDAwMAorMTUxODA0
ODAwMDAwCisxNTE4MDYwMDAwMDAKKzE1MTgwNjAzMDAwMAorMTUxODA2MDMwMDQwCisxNTE4MDYw
MzAwNDAKKy0yMTUxODc3MTY5OTYwCisxNTE4MDYwMzAwNDAKK05hTgorTmFOCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU4MzY3MWZkMzcx
ZjIyMzYyODE2ZWM5Y2Y3NTkzZGNjZDM3ZWI4NGQuLmIzODA2YWFlZmM1YzJmNjQ1MDEyY2QwODEy
N2NhMDAyZjMwZmMyODggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTgtMDgtMTAgIFl1c3VrZSBTdXp1a2kg
IDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0Lm9yZz4KKworICAgICAgICBEYXRlLlVUQyBzaG91bGQg
bm90IHJldHVybiBOYU4gd2l0aCBvbmx5IFllYXIgcGFyYW0KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODM3OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ2hha3JhQ29yZS90ZXN0L0RhdGUvZGF0ZXV0
Yy5iYXNlbGluZS1qc2M6IEFkZGVkLgorICAgICAgICAqIHN0cmVzcy9kYXRlLXV0Yy1vcHRpb25h
bC5qczogQWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6CisKIDIwMTgtMDgtMDggIEtlaXRoIE1p
bGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgQXJyYXkucHJvdG90eXBl
LnNvcnQgc2hvdWxkIGNhbGwgQHRvTGVuZ3RoIGluc3RlYWQgb2YgIj4+PiAwIgpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy9zdHJlc3MvZGF0ZS11dGMtb3B0aW9uYWwuanMgYi9KU1Rlc3RzL3N0cmVzcy9k
YXRlLXV0Yy1vcHRpb25hbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTRmN2M2MGM2YjYyMGMwYjcyMTA2ZDdl
NDE3NmE0OTI0OGQxZDA5Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvZGF0ZS11
dGMtb3B0aW9uYWwuanMKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFs
LCBleHBlY3RlZCkgeworICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFjdHVhbCk7Cit9CisKK2ZvciAodmFyIGkgPSAw
OyBpIDwgMWU1OyArK2kpIHsKKyAgICBzaG91bGRCZShOdW1iZXIuaXNOYU4oRGF0ZS5VVEMoKSks
IHRydWUpOworICAgIHNob3VsZEJlKERhdGUuVVRDKDIwMTgpLCAxNTE0NzY0ODAwMDAwKTsKKyAg
ICBzaG91bGRCZShEYXRlLlVUQygyMDE4LCAxKSwgMTUxNzQ0MzIwMDAwMCk7CisgICAgc2hvdWxk
QmUoRGF0ZS5VVEMoMjAxOCwgMSwgMiksIDE1MTc1Mjk2MDAwMDApOworICAgIHNob3VsZEJlKERh
dGUuVVRDKDIwMTgsIDEsIDIsIDMpLCAxNTE3NTQwNDAwMDAwKTsKKyAgICBzaG91bGRCZShEYXRl
LlVUQygyMDE4LCAxLCAyLCAzLCA0KSwgMTUxNzU0MDY0MDAwMCk7CisgICAgc2hvdWxkQmUoRGF0
ZS5VVEMoMjAxOCwgMSwgMiwgMywgNCwgNSksIDE1MTc1NDA2NDUwMDApOworICAgIHNob3VsZEJl
KERhdGUuVVRDKDIwMTgsIDEsIDIsIDMsIDQsIDUsIDYpLCAxNTE3NTQwNjQ1MDA2KTsKKyAgICBz
aG91bGRCZShEYXRlLlVUQygyMDE4LCAxLCAyLCAzLCA0LCA1LCA2LCA3KSwgMTUxNzU0MDY0NTAw
Nik7Cit9Cg==
</data>
<flag name="review"
          id="364732"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>