<?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>150399</bug_id>
          
          <creation_ts>2015-10-21 11:21:25 -0700</creation_ts>
          <short_desc>Date creation should share a little code</short_desc>
          <delta_ts>2015-10-21 11:42:45 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1135293</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-21 11:21:25 -0700</bug_when>
    <thetext>Date creation should share a little code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1135294</commentid>
    <comment_count>1</comment_count>
      <attachid>263705</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-21 11:25:40 -0700</bug_when>
    <thetext>Created attachment 263705
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1135302</commentid>
    <comment_count>2</comment_count>
      <attachid>263705</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-21 11:33:00 -0700</bug_when>
    <thetext>Comment on attachment 263705
Patch

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

r=me

&gt; Source/JavaScriptCore/runtime/DateConstructor.cpp:138
&gt; +    GregorianDateTime t;

nit: Maybe we can name this something better than &quot;t&quot; since you&apos;re refactoring?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1135305</commentid>
    <comment_count>3</comment_count>
      <attachid>263705</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-10-21 11:36:24 -0700</bug_when>
    <thetext>Comment on attachment 263705
Patch

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

r=me

&gt; Source/JavaScriptCore/runtime/DateConstructor.cpp:115
&gt; +static double milliseconds(ExecState* exec, const ArgList&amp; args, WTF::TimeType timeType)

Non-zero benefit to renaming this method to avoid clashes with std::chrono.

In particular, when I first read your patch, I happened to read it in reverse and so I thought that the call to milliseconds() was a chrono thing.

&gt;&gt; Source/JavaScriptCore/runtime/DateConstructor.cpp:138
&gt;&gt; +    GregorianDateTime t;
&gt; 
&gt; nit: Maybe we can name this something better than &quot;t&quot; since you&apos;re refactoring?

This is a fun one.  I would have chosen &quot;t&quot; since it&apos;s the universally accepted variable for time.  I don&apos;t care either way, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1135310</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-21 11:41:13 -0700</bug_when>
    <thetext>&gt; &gt; Source/JavaScriptCore/runtime/DateConstructor.cpp:115
&gt; &gt; +static double milliseconds(ExecState* exec, const ArgList&amp; args, WTF::TimeType timeType)
&gt; 
&gt; Non-zero benefit to renaming this method to avoid clashes with std::chromo.

=&gt; millisecondsFromComponents</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1135312</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-21 11:42:45 -0700</bug_when>
    <thetext>Committed r191393: &lt;http://trac.webkit.org/changeset/191393&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263705</attachid>
            <date>2015-10-21 11:25:40 -0700</date>
            <delta_ts>2015-10-21 11:36:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150399-20151021112455.patch</filename>
            <type>text/plain</type>
            <size>8157</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkxMzkxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE1LTEwLTIxICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgRGF0ZSBjcmVhdGlvbiBzaG91bGQgc2hhcmUgYSBsaXR0bGUgY29kZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMzk5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSSB3YW50IHRvIGZpeCBhIGJ1ZyBp
biB0aGlzIGNvZGUsIGJ1dCBJIGRvbid0IHdhbnQgdG8gZml4IGl0IGluIHR3bworICAgICAgICBk
aWZmZXJlbnQgcGxhY2VzLiAoU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTAzODYuKQorCisgICAgICAgICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwOgor
ICAgICAgICAoSlNDOjpEYXRlQ29uc3RydWN0b3I6OmdldE93blByb3BlcnR5U2xvdCk6CisgICAg
ICAgIChKU0M6Om1pbGxpc2Vjb25kcyk6IEZhY3RvcmVkIG91dCBhIHNoYXJlZCBoZWxwZXIgZnVu
Y3Rpb24uIElmIHlvdSBsb29rCisgICAgICAgIGNsb3NlbHksIHlvdSdsbCBzZWUgdGhhdCBvbmUg
Y29weSBvZiB0aGlzIGNvZGUgcHJldmlvdXNseSBjaGVja2VkIGlzZmluaXRlCisgICAgICAgIHdo
aWxlIHRoZSBvdGhlciBjaGVja2VkIGlzbmFuLiBpc25hbiByZXR1cm5pbmcgbmFuIHdhcyBvYnZp
b3VzbHkgYSBuby1vcCwKKyAgICAgICAgc28gSSByZW1vdmVkIGl0LiBpc2Zpbml0ZSwgaXQgdHVy
bnMgb3V0LCBpcyBhbHNvIGEgbm8tb3AgLS0gYnV0IGxlc3MKKyAgICAgICAgb2J2aW91c2x5IHNv
LCBzbyBJIGtlcHQgaXQgZm9yIG5vdy4KKworICAgICAgICAoSlNDOjpjb25zdHJ1Y3REYXRlKToK
KyAgICAgICAgKEpTQzo6ZGF0ZVVUQyk6IFVzZSB0aGUgaGVscGVyIGZ1bmN0aW9uLgorCiAyMDE1
LTEwLTIxICBHdWlsbGF1bWUgRW1vbnQgIDxndWlqZW1vbnRAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBsbGludDogYWxpZ24gc3RhY2sgcG9pbnRlciBvbiBtaXBzIHRvbwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0b3IuY3BwCShyZXZpc2lv
biAxOTExOTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0
b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEyLDQyIEBAIGJvb2wgRGF0ZUNvbnN0
cnVjdG9yOjpnZXRPd25Qcm9wZXJ0eVNsb3QKICAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25T
bG90PEludGVybmFsRnVuY3Rpb24+KGV4ZWMsIGRhdGVDb25zdHJ1Y3RvclRhYmxlLCBqc0Nhc3Q8
RGF0ZUNvbnN0cnVjdG9yKj4ob2JqZWN0KSwgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAorc3Rh
dGljIGRvdWJsZSBtaWxsaXNlY29uZHMoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBh
cmdzLCBXVEY6OlRpbWVUeXBlIHRpbWVUeXBlKQoreworICAgIGRvdWJsZSBkb3VibGVBcmd1bWVu
dHNbXSA9IHsKKyAgICAgICAgYXJncy5hdCgwKS50b051bWJlcihleGVjKSwgCisgICAgICAgIGFy
Z3MuYXQoMSkudG9OdW1iZXIoZXhlYyksIAorICAgICAgICBhcmdzLmF0KDIpLnRvTnVtYmVyKGV4
ZWMpLCAKKyAgICAgICAgYXJncy5hdCgzKS50b051bWJlcihleGVjKSwgCisgICAgICAgIGFyZ3Mu
YXQoNCkudG9OdW1iZXIoZXhlYyksIAorICAgICAgICBhcmdzLmF0KDUpLnRvTnVtYmVyKGV4ZWMp
LCAKKyAgICAgICAgYXJncy5hdCg2KS50b051bWJlcihleGVjKQorICAgIH07CisKKyAgICBpbnQg
bnVtQXJncyA9IGFyZ3Muc2l6ZSgpOworCisgICAgaWYgKCghc3RkOjppc2Zpbml0ZShkb3VibGVB
cmd1bWVudHNbMF0pIHx8IChkb3VibGVBcmd1bWVudHNbMF0gPiBJTlRfTUFYKSB8fCAoZG91Ymxl
QXJndW1lbnRzWzBdIDwgSU5UX01JTikpCisgICAgICAgIHx8ICghc3RkOjppc2Zpbml0ZShkb3Vi
bGVBcmd1bWVudHNbMV0pIHx8IChkb3VibGVBcmd1bWVudHNbMV0gPiBJTlRfTUFYKSB8fCAoZG91
YmxlQXJndW1lbnRzWzFdIDwgSU5UX01JTikpCisgICAgICAgIHx8IChudW1BcmdzID49IDMgJiYg
KCFzdGQ6OmlzZmluaXRlKGRvdWJsZUFyZ3VtZW50c1syXSkgfHwgKGRvdWJsZUFyZ3VtZW50c1sy
XSA+IElOVF9NQVgpIHx8IChkb3VibGVBcmd1bWVudHNbMl0gPCBJTlRfTUlOKSkpCisgICAgICAg
IHx8IChudW1BcmdzID49IDQgJiYgKCFzdGQ6OmlzZmluaXRlKGRvdWJsZUFyZ3VtZW50c1szXSkg
fHwgKGRvdWJsZUFyZ3VtZW50c1szXSA+IElOVF9NQVgpIHx8IChkb3VibGVBcmd1bWVudHNbM10g
PCBJTlRfTUlOKSkpCisgICAgICAgIHx8IChudW1BcmdzID49IDUgJiYgKCFzdGQ6OmlzZmluaXRl
KGRvdWJsZUFyZ3VtZW50c1s0XSkgfHwgKGRvdWJsZUFyZ3VtZW50c1s0XSA+IElOVF9NQVgpIHx8
IChkb3VibGVBcmd1bWVudHNbNF0gPCBJTlRfTUlOKSkpCisgICAgICAgIHx8IChudW1BcmdzID49
IDYgJiYgKCFzdGQ6OmlzZmluaXRlKGRvdWJsZUFyZ3VtZW50c1s1XSkgfHwgKGRvdWJsZUFyZ3Vt
ZW50c1s1XSA+IElOVF9NQVgpIHx8IChkb3VibGVBcmd1bWVudHNbNV0gPCBJTlRfTUlOKSkpCisg
ICAgICAgIHx8IChudW1BcmdzID49IDcgJiYgKCFzdGQ6OmlzZmluaXRlKGRvdWJsZUFyZ3VtZW50
c1s2XSkgfHwgKGRvdWJsZUFyZ3VtZW50c1s2XSA+IElOVF9NQVgpIHx8IChkb3VibGVBcmd1bWVu
dHNbNl0gPCBJTlRfTUlOKSkpKQorICAgICAgICByZXR1cm4gUE5hTjsKKworICAgIEdyZWdvcmlh
bkRhdGVUaW1lIHQ7CisgICAgaW50IHllYXIgPSBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRz
WzBdKTsKKyAgICB0LnNldFllYXIoKHllYXIgPj0gMCAmJiB5ZWFyIDw9IDk5KSA/ICh5ZWFyICsg
MTkwMCkgOiB5ZWFyKTsKKyAgICB0LnNldE1vbnRoKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVu
dHNbMV0pKTsKKyAgICB0LnNldE1vbnRoRGF5KChudW1BcmdzID49IDMpID8gSlNDOjp0b0ludDMy
KGRvdWJsZUFyZ3VtZW50c1syXSkgOiAxKTsKKyAgICB0LnNldEhvdXIoSlNDOjp0b0ludDMyKGRv
dWJsZUFyZ3VtZW50c1szXSkpOworICAgIHQuc2V0TWludXRlKEpTQzo6dG9JbnQzMihkb3VibGVB
cmd1bWVudHNbNF0pKTsKKyAgICB0LnNldFNlY29uZChKU0M6OnRvSW50MzIoZG91YmxlQXJndW1l
bnRzWzVdKSk7CisgICAgdC5zZXRJc0RTVCgtMSk7CisgICAgZG91YmxlIG1zID0gKG51bUFyZ3Mg
Pj0gNykgPyBkb3VibGVBcmd1bWVudHNbNl0gOiAwOworICAgIHJldHVybiBncmVnb3JpYW5EYXRl
VGltZVRvTVMoZXhlYy0+dm0oKSwgdCwgbXMsIHRpbWVUeXBlKTsKK30KKwogLy8gRUNNQSAxNS45
LjMKIEpTT2JqZWN0KiBjb25zdHJ1Y3REYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgY29uc3QgQXJnTGlzdCYgYXJncykKIHsKQEAgLTEzMiwzOCArMTY4
LDggQEAgSlNPYmplY3QqIGNvbnN0cnVjdERhdGUoRXhlY1N0YXRlKiBleGVjLAogICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgIHZhbHVlID0gcHJpbWl0aXZlLnRvTnVtYmVyKGV4ZWMp
OwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZG91YmxlIGRvdWJsZUFyZ3VtZW50
c1s3XSA9IHsKLSAgICAgICAgICAgIGFyZ3MuYXQoMCkudG9OdW1iZXIoZXhlYyksIAotICAgICAg
ICAgICAgYXJncy5hdCgxKS50b051bWJlcihleGVjKSwgCi0gICAgICAgICAgICBhcmdzLmF0KDIp
LnRvTnVtYmVyKGV4ZWMpLCAKLSAgICAgICAgICAgIGFyZ3MuYXQoMykudG9OdW1iZXIoZXhlYyks
IAotICAgICAgICAgICAgYXJncy5hdCg0KS50b051bWJlcihleGVjKSwgCi0gICAgICAgICAgICBh
cmdzLmF0KDUpLnRvTnVtYmVyKGV4ZWMpLCAKLSAgICAgICAgICAgIGFyZ3MuYXQoNikudG9OdW1i
ZXIoZXhlYykKLSAgICAgICAgfTsKLSAgICAgICAgaWYgKCghc3RkOjppc2Zpbml0ZShkb3VibGVB
cmd1bWVudHNbMF0pIHx8IChkb3VibGVBcmd1bWVudHNbMF0gPiBJTlRfTUFYKSB8fCAoZG91Ymxl
QXJndW1lbnRzWzBdIDwgSU5UX01JTikpCi0gICAgICAgICAgICB8fCAoIXN0ZDo6aXNmaW5pdGUo
ZG91YmxlQXJndW1lbnRzWzFdKSB8fCAoZG91YmxlQXJndW1lbnRzWzFdID4gSU5UX01BWCkgfHwg
KGRvdWJsZUFyZ3VtZW50c1sxXSA8IElOVF9NSU4pKQotICAgICAgICAgICAgfHwgKG51bUFyZ3Mg
Pj0gMyAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRzWzJdKSB8fCAoZG91YmxlQXJn
dW1lbnRzWzJdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1syXSA8IElOVF9NSU4pKSkK
LSAgICAgICAgICAgIHx8IChudW1BcmdzID49IDQgJiYgKCFzdGQ6OmlzZmluaXRlKGRvdWJsZUFy
Z3VtZW50c1szXSkgfHwgKGRvdWJsZUFyZ3VtZW50c1szXSA+IElOVF9NQVgpIHx8IChkb3VibGVB
cmd1bWVudHNbM10gPCBJTlRfTUlOKSkpCi0gICAgICAgICAgICB8fCAobnVtQXJncyA+PSA1ICYm
ICghc3RkOjppc2Zpbml0ZShkb3VibGVBcmd1bWVudHNbNF0pIHx8IChkb3VibGVBcmd1bWVudHNb
NF0gPiBJTlRfTUFYKSB8fCAoZG91YmxlQXJndW1lbnRzWzRdIDwgSU5UX01JTikpKQotICAgICAg
ICAgICAgfHwgKG51bUFyZ3MgPj0gNiAmJiAoIXN0ZDo6aXNmaW5pdGUoZG91YmxlQXJndW1lbnRz
WzVdKSB8fCAoZG91YmxlQXJndW1lbnRzWzVdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50
c1s1XSA8IElOVF9NSU4pKSkKLSAgICAgICAgICAgIHx8IChudW1BcmdzID49IDcgJiYgKCFzdGQ6
OmlzZmluaXRlKGRvdWJsZUFyZ3VtZW50c1s2XSkgfHwgKGRvdWJsZUFyZ3VtZW50c1s2XSA+IElO
VF9NQVgpIHx8IChkb3VibGVBcmd1bWVudHNbNl0gPCBJTlRfTUlOKSkpKQotICAgICAgICAgICAg
dmFsdWUgPSBQTmFOOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEdyZWdvcmlhbkRhdGVU
aW1lIHQ7Ci0gICAgICAgICAgICBpbnQgeWVhciA9IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVu
dHNbMF0pOwotICAgICAgICAgICAgdC5zZXRZZWFyKCh5ZWFyID49IDAgJiYgeWVhciA8PSA5OSkg
PyAoeWVhciArIDE5MDApIDogeWVhcik7Ci0gICAgICAgICAgICB0LnNldE1vbnRoKEpTQzo6dG9J
bnQzMihkb3VibGVBcmd1bWVudHNbMV0pKTsKLSAgICAgICAgICAgIHQuc2V0TW9udGhEYXkoKG51
bUFyZ3MgPj0gMykgPyBKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzJdKSA6IDEpOwotICAg
ICAgICAgICAgdC5zZXRIb3VyKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbM10pKTsKLSAg
ICAgICAgICAgIHQuc2V0TWludXRlKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbNF0pKTsK
LSAgICAgICAgICAgIHQuc2V0U2Vjb25kKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbNV0p
KTsKLSAgICAgICAgICAgIHQuc2V0SXNEU1QoLTEpOwotICAgICAgICAgICAgZG91YmxlIG1zID0g
KG51bUFyZ3MgPj0gNykgPyBkb3VibGVBcmd1bWVudHNbNl0gOiAwOwotICAgICAgICAgICAgdmFs
dWUgPSBncmVnb3JpYW5EYXRlVGltZVRvTVModm0sIHQsIG1zLCBXVEY6OkxvY2FsVGltZSk7Ci0g
ICAgICAgIH0KLSAgICB9CisgICAgfSBlbHNlCisgICAgICAgIHZhbHVlID0gbWlsbGlzZWNvbmRz
KGV4ZWMsIGFyZ3MsIFdURjo6TG9jYWxUaW1lKTsKIAogICAgIHJldHVybiBEYXRlSW5zdGFuY2U6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5kYXRlU3RydWN0dXJlKCksIHZhbHVlKTsKIH0KQEAg
LTIxMSwzNSArMjE3LDggQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBkYXRlTm93KEV4
ZQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGRhdGVVVEMoRXhlY1N0YXRlKiBleGVj
KSAKIHsKLSAgICBkb3VibGUgZG91YmxlQXJndW1lbnRzWzddID0gewotICAgICAgICBleGVjLT5h
cmd1bWVudCgwKS50b051bWJlcihleGVjKSwgCi0gICAgICAgIGV4ZWMtPmFyZ3VtZW50KDEpLnRv
TnVtYmVyKGV4ZWMpLCAKLSAgICAgICAgZXhlYy0+YXJndW1lbnQoMikudG9OdW1iZXIoZXhlYyks
IAotICAgICAgICBleGVjLT5hcmd1bWVudCgzKS50b051bWJlcihleGVjKSwgCi0gICAgICAgIGV4
ZWMtPmFyZ3VtZW50KDQpLnRvTnVtYmVyKGV4ZWMpLCAKLSAgICAgICAgZXhlYy0+YXJndW1lbnQo
NSkudG9OdW1iZXIoZXhlYyksIAotICAgICAgICBleGVjLT5hcmd1bWVudCg2KS50b051bWJlcihl
eGVjKQotICAgIH07Ci0gICAgaW50IG4gPSBleGVjLT5hcmd1bWVudENvdW50KCk7Ci0gICAgaWYg
KChzdGQ6OmlzbmFuKGRvdWJsZUFyZ3VtZW50c1swXSkgfHwgKGRvdWJsZUFyZ3VtZW50c1swXSA+
IElOVF9NQVgpIHx8IChkb3VibGVBcmd1bWVudHNbMF0gPCBJTlRfTUlOKSkKLSAgICAgICAgfHwg
KHN0ZDo6aXNuYW4oZG91YmxlQXJndW1lbnRzWzFdKSB8fCAoZG91YmxlQXJndW1lbnRzWzFdID4g
SU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1sxXSA8IElOVF9NSU4pKQotICAgICAgICB8fCAo
biA+PSAzICYmIChzdGQ6OmlzbmFuKGRvdWJsZUFyZ3VtZW50c1syXSkgfHwgKGRvdWJsZUFyZ3Vt
ZW50c1syXSA+IElOVF9NQVgpIHx8IChkb3VibGVBcmd1bWVudHNbMl0gPCBJTlRfTUlOKSkpCi0g
ICAgICAgIHx8IChuID49IDQgJiYgKHN0ZDo6aXNuYW4oZG91YmxlQXJndW1lbnRzWzNdKSB8fCAo
ZG91YmxlQXJndW1lbnRzWzNdID4gSU5UX01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1szXSA8IElO
VF9NSU4pKSkKLSAgICAgICAgfHwgKG4gPj0gNSAmJiAoc3RkOjppc25hbihkb3VibGVBcmd1bWVu
dHNbNF0pIHx8IChkb3VibGVBcmd1bWVudHNbNF0gPiBJTlRfTUFYKSB8fCAoZG91YmxlQXJndW1l
bnRzWzRdIDwgSU5UX01JTikpKQotICAgICAgICB8fCAobiA+PSA2ICYmIChzdGQ6OmlzbmFuKGRv
dWJsZUFyZ3VtZW50c1s1XSkgfHwgKGRvdWJsZUFyZ3VtZW50c1s1XSA+IElOVF9NQVgpIHx8IChk
b3VibGVBcmd1bWVudHNbNV0gPCBJTlRfTUlOKSkpCi0gICAgICAgIHx8IChuID49IDcgJiYgKHN0
ZDo6aXNuYW4oZG91YmxlQXJndW1lbnRzWzZdKSB8fCAoZG91YmxlQXJndW1lbnRzWzZdID4gSU5U
X01BWCkgfHwgKGRvdWJsZUFyZ3VtZW50c1s2XSA8IElOVF9NSU4pKSkpCi0gICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNOYU4oKSk7Ci0KLSAgICBHcmVnb3JpYW5EYXRlVGltZSB0Owot
ICAgIGludCB5ZWFyID0gSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1swXSk7Ci0gICAgdC5z
ZXRZZWFyKCh5ZWFyID49IDAgJiYgeWVhciA8PSA5OSkgPyAoeWVhciArIDE5MDApIDogeWVhcik7
Ci0gICAgdC5zZXRNb250aChKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzFdKSk7Ci0gICAg
dC5zZXRNb250aERheSgobiA+PSAzKSA/IEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbMl0p
IDogMSk7Ci0gICAgdC5zZXRIb3VyKEpTQzo6dG9JbnQzMihkb3VibGVBcmd1bWVudHNbM10pKTsK
LSAgICB0LnNldE1pbnV0ZShKU0M6OnRvSW50MzIoZG91YmxlQXJndW1lbnRzWzRdKSk7Ci0gICAg
dC5zZXRTZWNvbmQoSlNDOjp0b0ludDMyKGRvdWJsZUFyZ3VtZW50c1s1XSkpOwotICAgIGRvdWJs
ZSBtcyA9IChuID49IDcpID8gZG91YmxlQXJndW1lbnRzWzZdIDogMDsKLSAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKHRpbWVDbGlwKGdyZWdvcmlhbkRhdGVUaW1lVG9NUyhleGVj
LT52bSgpLCB0LCBtcywgV1RGOjpVVENUaW1lKSkpKTsKKyAgICBkb3VibGUgbXMgPSBtaWxsaXNl
Y29uZHMoZXhlYywgQXJnTGlzdChleGVjKSwgV1RGOjpVVENUaW1lKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKHRpbWVDbGlwKG1zKSkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MK
</data>
<flag name="review"
          id="288820"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>