<?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>214654</bug_id>
          
          <creation_ts>2020-07-22 14:15:49 -0700</creation_ts>
          <short_desc>WTF::Function adoption should be explicit instead of implicit</short_desc>
          <delta_ts>2022-02-28 03:35:30 -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>InRadar</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>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1673963</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-22 14:15:49 -0700</bug_when>
    <thetext>WTF::Function adoption should be explicit instead of implicit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673966</commentid>
    <comment_count>1</comment_count>
      <attachid>404961</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-22 14:19:11 -0700</bug_when>
    <thetext>Created attachment 404961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673967</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-22 14:20:25 -0700</bug_when>
    <thetext>If someone can figure out the template fu to automatically deduce the function type in adoptImpl, that would be great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673970</commentid>
    <comment_count>3</comment_count>
      <attachid>404961</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-22 14:25:04 -0700</bug_when>
    <thetext>Comment on attachment 404961
Patch

Does it really need to be name adoptImpl and not just adopt? Are there name conflicts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673973</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-22 14:27:20 -0700</bug_when>
    <thetext>I don&apos;t think there are name conflicts.

Would you rename leakImpl() to leak() too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673977</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-22 14:33:54 -0700</bug_when>
    <thetext>I am increasingly unsure about this.

Why should WTF::Function adoption be explicit?

In other cases, we do that because we are concerned about object lifetime. Like a raw pointer being adopted by a std::unique_ptr. Does that apply here.

I don’t think &quot;impl&quot; is the correct term for a C++ function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673979</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-22 14:38:16 -0700</bug_when>
    <thetext>Yes, this is all about the lifetime of the unique_ptr that holds the functor. leakImpl() leaks the unique_ptr and adopt takes ownership of the pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673989</commentid>
    <comment_count>7</comment_count>
      <attachid>404971</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-22 14:56:42 -0700</bug_when>
    <thetext>Created attachment 404971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674022</commentid>
    <comment_count>8</comment_count>
      <attachid>404971</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-07-22 15:33:22 -0700</bug_when>
    <thetext>Comment on attachment 404971
Patch

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

&gt; Source/WTF/wtf/Function.h:125
&gt; +template &lt;typename T&gt; inline Function&lt;T&gt; adopt(typename Function&lt;T&gt;::Impl* impl)

I think you want to write something more like this:

    template&lt;typename Out, typename... In&gt; Function&lt;Out(In...)&gt; adopt(Detail::CallableWrapperBase&lt;Out, In...&gt;* pointer)

That should allow you to use adopt() without template arguments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674033</commentid>
    <comment_count>9</comment_count>
      <attachid>404992</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-07-22 16:17:03 -0700</bug_when>
    <thetext>Created attachment 404992
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674103</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-22 20:33:29 -0700</bug_when>
    <thetext>Committed r264743: &lt;https://trac.webkit.org/changeset/264743&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404992.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674104</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-22 20:34:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/65970781&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404961</attachid>
            <date>2020-07-22 14:19:11 -0700</date>
            <delta_ts>2020-07-22 14:56:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214654-20200722141910.patch</filename>
            <type>text/plain</type>
            <size>4103</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0NzI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDIwLTA3LTIyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgV1RGOjpGdW5jdGlvbiBhZG9wdGlvbiBzaG91bGQgYmUgZXhwbGljaXQgaW5zdGVhZCBvZiBp
bXBsaWNpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE0NjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpMYW1iZGFGaW5hbGl6ZXJPd25l
cjo6ZmluYWxpemUpOiBVc2UgbmV3IGFkb3B0IGZ1bmN0aW9uLgorCiAyMDIwLTA3LTIyICBHZW9m
ZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgSlNSdW5Mb29wVGltZXIg
c2hvdWxkIHVzZSBXVEY6OlJ1bkxvb3AgcmF0aGVyIHRoYW4gY3VzdG9tIENGIGNvZGUKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCShyZXZpc2lvbiAyNjQ3MDIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0MSw4
ICsyNDQxLDcgQEAgdm9pZCBIZWFwOjpDRmluYWxpemVyT3duZXI6OmZpbmFsaXplKEhhbgogCiB2
b2lkIEhlYXA6OkxhbWJkYUZpbmFsaXplck93bmVyOjpmaW5hbGl6ZShIYW5kbGU8VW5rbm93bj4g
aGFuZGxlLCB2b2lkKiBjb250ZXh0KQogewotICAgIExhbWJkYUZpbmFsaXplcjo6SW1wbCogaW1w
bCA9IGJpdHdpc2VfY2FzdDxMYW1iZGFGaW5hbGl6ZXI6OkltcGwqPihjb250ZXh0KTsKLSAgICBM
YW1iZGFGaW5hbGl6ZXIgZmluYWxpemVyKGltcGwpOworICAgIGF1dG8gZmluYWxpemVyID0gV1RG
OjphZG9wdEltcGw8dm9pZChKU0NlbGwqKT4oc3RhdGljX2Nhc3Q8TGFtYmRhRmluYWxpemVyOjpJ
bXBsKj4oY29udGV4dCkpOwogICAgIEhhbmRsZVNsb3Qgc2xvdCA9IGhhbmRsZS5zbG90KCk7CiAg
ICAgZmluYWxpemVyKHNsb3QtPmFzQ2VsbCgpKTsKICAgICBXZWFrU2V0OjpkZWFsbG9jYXRlKFdl
YWtJbXBsOjphc1dlYWtJbXBsKHNsb3QpKTsKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjQ3MDIpCisrKyBT
b3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIw
LTA3LTIyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgV1RG
OjpGdW5jdGlvbiBhZG9wdGlvbiBzaG91bGQgYmUgZXhwbGljaXQgaW5zdGVhZCBvZiBpbXBsaWNp
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NjU0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYv
RnVuY3Rpb24uaDoKKyAgICAgICAgKFdURjo6RnVuY3Rpb248T3V0KToKKyAgICAgICAgKFdURjo6
YWRvcHRJbXBsKTogQWRkZWQgYW4gYWRvcHQgZnVuY3Rpb24gZm9yIEZ1bmN0aW9ucyBhbmQgbWFk
ZSB0aGUKKyAgICAgICAgYWRvcHRpbmcgY29uc3RydWN0b3IgcHJpdmF0ZS4KKworICAgICAgICAq
IHd0Zi9jZi9SdW5Mb29wQ0YuY3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpkaXNwYXRjaCk6
IFVzZSBuZXcgYWRvcHQgZnVuY3Rpb24uCisKIDIwMjAtMDctMjIgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBKU1J1bkxvb3BUaW1lciBzaG91bGQgdXNlIFdU
Rjo6UnVuTG9vcCByYXRoZXIgdGhhbiBjdXN0b20gQ0YgY29kZQpJbmRleDogU291cmNlL1dURi93
dGYvRnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oCShy
ZXZpc2lvbiAyNjQ3MDIpCisrKyBTb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC01OCw2ICs1OCw4IEBAIHByaXZhdGU6CiAKIHRlbXBsYXRlPHR5cGVuYW1lPiBjbGFz
cyBGdW5jdGlvbjsKIAordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IEZ1bmN0aW9uPFQ+IGFkb3B0SW1w
bCh0eXBlbmFtZSBGdW5jdGlvbjxUPjo6SW1wbCopOworCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgT3V0
LCB0eXBlbmFtZS4uLiBJbj4KIGNsYXNzIEZ1bmN0aW9uPE91dChJbi4uLik+IHsKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKQEAgLTY2LDkgKzY4LDYgQEAgcHVibGljOgogCiAgICAgRnVu
Y3Rpb24oKSA9IGRlZmF1bHQ7CiAgICAgRnVuY3Rpb24oc3RkOjpudWxscHRyX3QpIHsgfQotICAg
IEZ1bmN0aW9uKEltcGwqIGltcGwpCi0gICAgICAgIDogbV9jYWxsYWJsZVdyYXBwZXIoaW1wbCkK
LSAgICB7IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENhbGxhYmxlVHlwZSwgY2xhc3MgPSB0
eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjwhKHN0ZDo6aXNfcG9pbnRlcjxDYWxsYWJsZVR5cGU+Ojp2
YWx1ZSAmJiBzdGQ6OmlzX2Z1bmN0aW9uPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3BvaW50ZXI8Q2Fs
bGFibGVUeXBlPjo6dHlwZT46OnZhbHVlKSAmJiBzdGQ6OmlzX3J2YWx1ZV9yZWZlcmVuY2U8Q2Fs
bGFibGVUeXBlJiY+Ojp2YWx1ZT46OnR5cGU+CiAgICAgRnVuY3Rpb24oQ2FsbGFibGVUeXBlJiYg
Y2FsbGFibGUpCkBAIC0xMTIsOSArMTExLDIyIEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6
CisgICAgZW51bSBBZG9wdFRhZyB7IEFkb3B0IH07CisgICAgRnVuY3Rpb24oSW1wbCogaW1wbCwg
QWRvcHRUYWcpCisgICAgICAgIDogbV9jYWxsYWJsZVdyYXBwZXIoaW1wbCkKKyAgICB7CisgICAg
fQorCisgICAgZnJpZW5kIEZ1bmN0aW9uPE91dChJbi4uLik+IGFkb3B0SW1wbDxPdXQoSW4uLi4p
PihJbXBsKik7CisKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1wbD4gbV9jYWxsYWJsZVdyYXBwZXI7
CiB9OwogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW5saW5lIEZ1bmN0aW9uPFQ+IGFkb3B0SW1w
bCh0eXBlbmFtZSBGdW5jdGlvbjxUPjo6SW1wbCogaW1wbCkKK3sKKyAgICByZXR1cm4gRnVuY3Rp
b248VD4oaW1wbCwgRnVuY3Rpb248VD46OkFkb3B0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RG
CiAKIHVzaW5nIFdURjo6RnVuY3Rpb247CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29w
Q0YuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAJKHJl
dmlzaW9uIDI2NDcwMikKKysrIFNvdXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBSdW5Mb29wOjpkaXNwYXRjaChjb25zdCBT
Y2hlZHVsZVBhaQogCiAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxpZGF0ZSh0aW1lcik7CiAK
LSAgICAgICAgRnVuY3Rpb248dm9pZCgpPiBmdW5jdGlvbihzdGF0aWNfY2FzdDxGdW5jdGlvbjx2
b2lkKCk+OjpJbXBsKj4oY29udGV4dCkpOworICAgICAgICBhdXRvIGZ1bmN0aW9uID0gYWRvcHRJ
bXBsPHZvaWQoKT4oc3RhdGljX2Nhc3Q8RnVuY3Rpb248dm9pZCgpPjo6SW1wbCo+KGNvbnRleHQp
KTsKICAgICAgICAgZnVuY3Rpb24oKTsKICAgICB9LCBmdW5jdGlvbi5sZWFrSW1wbCgpKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404971</attachid>
            <date>2020-07-22 14:56:42 -0700</date>
            <delta_ts>2022-02-28 03:35:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214654-20200722145641.patch</filename>
            <type>text/plain</type>
            <size>4829</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0NzI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDIwLTA3LTIyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgV1RGOjpGdW5jdGlvbiBhZG9wdGlvbiBzaG91bGQgYmUgZXhwbGljaXQgaW5zdGVhZCBvZiBp
bXBsaWNpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE0NjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBoZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpMYW1iZGFGaW5hbGl6ZXJPd25l
cjo6ZmluYWxpemUpOiBVc2UgbmV3IGFkb3B0IGZ1bmN0aW9uLgorCiAyMDIwLTA3LTIyICBHZW9m
ZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgSlNSdW5Mb29wVGltZXIg
c2hvdWxkIHVzZSBXVEY6OlJ1bkxvb3AgcmF0aGVyIHRoYW4gY3VzdG9tIENGIGNvZGUKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCShyZXZpc2lvbiAyNjQ3MDIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyOCw3
ICsyNDI4LDcgQEAgdm9pZCBIZWFwOjphZGRGaW5hbGl6ZXIoSlNDZWxsKiBjZWxsLCBDRgogCiB2
b2lkIEhlYXA6OmFkZEZpbmFsaXplcihKU0NlbGwqIGNlbGwsIExhbWJkYUZpbmFsaXplciBmdW5j
dGlvbikKIHsKLSAgICBXZWFrU2V0OjphbGxvY2F0ZShjZWxsLCAmbV9sYW1iZGFGaW5hbGl6ZXJP
d25lciwgZnVuY3Rpb24ubGVha0ltcGwoKSk7IC8vIEJhbGFuY2VkIGJ5IExhbWJkYUZpbmFsaXpl
ck93bmVyOjpmaW5hbGl6ZSgpLgorICAgIFdlYWtTZXQ6OmFsbG9jYXRlKGNlbGwsICZtX2xhbWJk
YUZpbmFsaXplck93bmVyLCBmdW5jdGlvbi5sZWFrKCkpOyAvLyBCYWxhbmNlZCBieSBMYW1iZGFG
aW5hbGl6ZXJPd25lcjo6ZmluYWxpemUoKS4KIH0KIAogdm9pZCBIZWFwOjpDRmluYWxpemVyT3du
ZXI6OmZpbmFsaXplKEhhbmRsZTxVbmtub3duPiBoYW5kbGUsIHZvaWQqIGNvbnRleHQpCkBAIC0y
NDQxLDggKzI0NDEsNyBAQCB2b2lkIEhlYXA6OkNGaW5hbGl6ZXJPd25lcjo6ZmluYWxpemUoSGFu
CiAKIHZvaWQgSGVhcDo6TGFtYmRhRmluYWxpemVyT3duZXI6OmZpbmFsaXplKEhhbmRsZTxVbmtu
b3duPiBoYW5kbGUsIHZvaWQqIGNvbnRleHQpCiB7Ci0gICAgTGFtYmRhRmluYWxpemVyOjpJbXBs
KiBpbXBsID0gYml0d2lzZV9jYXN0PExhbWJkYUZpbmFsaXplcjo6SW1wbCo+KGNvbnRleHQpOwot
ICAgIExhbWJkYUZpbmFsaXplciBmaW5hbGl6ZXIoaW1wbCk7CisgICAgYXV0byBmaW5hbGl6ZXIg
PSBXVEY6OmFkb3B0PHZvaWQoSlNDZWxsKik+KHN0YXRpY19jYXN0PExhbWJkYUZpbmFsaXplcjo6
SW1wbCo+KGNvbnRleHQpKTsKICAgICBIYW5kbGVTbG90IHNsb3QgPSBoYW5kbGUuc2xvdCgpOwog
ICAgIGZpbmFsaXplcihzbG90LT5hc0NlbGwoKSk7CiAgICAgV2Vha1NldDo6ZGVhbGxvY2F0ZShX
ZWFrSW1wbDo6YXNXZWFrSW1wbChzbG90KSk7CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0NzAyKQorKysg
U291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAy
MC0wNy0yMiAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIFdU
Rjo6RnVuY3Rpb24gYWRvcHRpb24gc2hvdWxkIGJlIGV4cGxpY2l0IGluc3RlYWQgb2YgaW1wbGlj
aXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDY1
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3Rm
L0Z1bmN0aW9uLmg6CisgICAgICAgIChXVEY6OkZ1bmN0aW9uPE91dCk6CisgICAgICAgIChXVEY6
OmFkb3B0SW1wbCk6IEFkZGVkIGFuIGFkb3B0IGZ1bmN0aW9uIGZvciBGdW5jdGlvbnMgYW5kIG1h
ZGUgdGhlCisgICAgICAgIGFkb3B0aW5nIGNvbnN0cnVjdG9yIHByaXZhdGUuCisKKyAgICAgICAg
KiB3dGYvY2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6ZGlzcGF0Y2gp
OiBVc2UgbmV3IGFkb3B0IGZ1bmN0aW9uLgorCiAyMDIwLTA3LTIyICBHZW9mZnJleSBHYXJlbiAg
PGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgSlNSdW5Mb29wVGltZXIgc2hvdWxkIHVzZSBX
VEY6OlJ1bkxvb3AgcmF0aGVyIHRoYW4gY3VzdG9tIENGIGNvZGUKSW5kZXg6IFNvdXJjZS9XVEYv
d3RmL0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvRnVuY3Rpb24uaAko
cmV2aXNpb24gMjY0NzAyKQorKysgU291cmNlL1dURi93dGYvRnVuY3Rpb24uaAkod29ya2luZyBj
b3B5KQpAQCAtNTgsNiArNTgsOCBAQCBwcml2YXRlOgogCiB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xh
c3MgRnVuY3Rpb247CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBGdW5jdGlvbjxUPiBhZG9wdCh0
eXBlbmFtZSBGdW5jdGlvbjxUPjo6SW1wbCopOworCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgT3V0LCB0
eXBlbmFtZS4uLiBJbj4KIGNsYXNzIEZ1bmN0aW9uPE91dChJbi4uLik+IHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKQEAgLTY2LDkgKzY4LDYgQEAgcHVibGljOgogCiAgICAgRnVuY3Rp
b24oKSA9IGRlZmF1bHQ7CiAgICAgRnVuY3Rpb24oc3RkOjpudWxscHRyX3QpIHsgfQotICAgIEZ1
bmN0aW9uKEltcGwqIGltcGwpCi0gICAgICAgIDogbV9jYWxsYWJsZVdyYXBwZXIoaW1wbCkKLSAg
ICB7IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENhbGxhYmxlVHlwZSwgY2xhc3MgPSB0eXBl
bmFtZSBzdGQ6OmVuYWJsZV9pZjwhKHN0ZDo6aXNfcG9pbnRlcjxDYWxsYWJsZVR5cGU+Ojp2YWx1
ZSAmJiBzdGQ6OmlzX2Z1bmN0aW9uPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3BvaW50ZXI8Q2FsbGFi
bGVUeXBlPjo6dHlwZT46OnZhbHVlKSAmJiBzdGQ6OmlzX3J2YWx1ZV9yZWZlcmVuY2U8Q2FsbGFi
bGVUeXBlJiY+Ojp2YWx1ZT46OnR5cGU+CiAgICAgRnVuY3Rpb24oQ2FsbGFibGVUeXBlJiYgY2Fs
bGFibGUpCkBAIC0xMDYsMTUgKzEwNSwyOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqdGhp
czsKICAgICB9CiAKLSAgICBJbXBsKiBsZWFrSW1wbCgpCisgICAgSW1wbCogbGVhaygpCiAgICAg
ewogICAgICAgICByZXR1cm4gbV9jYWxsYWJsZVdyYXBwZXIucmVsZWFzZSgpOwogICAgIH0KIAog
cHJpdmF0ZToKKyAgICBlbnVtIEFkb3B0VGFnIHsgQWRvcHQgfTsKKyAgICBGdW5jdGlvbihJbXBs
KiBpbXBsLCBBZG9wdFRhZykKKyAgICAgICAgOiBtX2NhbGxhYmxlV3JhcHBlcihpbXBsKQorICAg
IHsKKyAgICB9CisKKyAgICBmcmllbmQgRnVuY3Rpb248T3V0KEluLi4uKT4gYWRvcHQ8T3V0KElu
Li4uKT4oSW1wbCopOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEltcGw+IG1fY2FsbGFibGVXcmFw
cGVyOwogfTsKIAordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGlubGluZSBGdW5jdGlvbjxUPiBhZG9w
dCh0eXBlbmFtZSBGdW5jdGlvbjxUPjo6SW1wbCogaW1wbCkKK3sKKyAgICByZXR1cm4gRnVuY3Rp
b248VD4oaW1wbCwgRnVuY3Rpb248VD46OkFkb3B0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV1RG
CiAKIHVzaW5nIFdURjo6RnVuY3Rpb247CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29w
Q0YuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAJKHJl
dmlzaW9uIDI2NDcwMikKKysrIFNvdXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTkxLDkgKzkxLDkgQEAgdm9pZCBSdW5Mb29wOjpkaXNwYXRjaChjb25zdCBT
Y2hlZHVsZVBhaQogCiAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxpZGF0ZSh0aW1lcik7CiAK
LSAgICAgICAgRnVuY3Rpb248dm9pZCgpPiBmdW5jdGlvbihzdGF0aWNfY2FzdDxGdW5jdGlvbjx2
b2lkKCk+OjpJbXBsKj4oY29udGV4dCkpOworICAgICAgICBhdXRvIGZ1bmN0aW9uID0gYWRvcHQ8
dm9pZCgpPihzdGF0aWNfY2FzdDxGdW5jdGlvbjx2b2lkKCk+OjpJbXBsKj4oY29udGV4dCkpOwog
ICAgICAgICBmdW5jdGlvbigpOwotICAgIH0sIGZ1bmN0aW9uLmxlYWtJbXBsKCkpOworICAgIH0s
IGZ1bmN0aW9uLmxlYWsoKSk7CiAKICAgICBmb3IgKGF1dG8mIHNjaGVkdWxlUGFpciA6IHNjaGVk
dWxlUGFpcnMpCiAgICAgICAgIENGUnVuTG9vcEFkZFRpbWVyKHNjaGVkdWxlUGFpci0+cnVuTG9v
cCgpLCB0aW1lci5nZXQoKSwgc2NoZWR1bGVQYWlyLT5tb2RlKCkpOwo=
</data>
<flag name="review"
          id="420366"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404992</attachid>
            <date>2020-07-22 16:17:03 -0700</date>
            <delta_ts>2020-07-22 20:33:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-214654-20200722161702.patch</filename>
            <type>text/plain</type>
            <size>4877</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0NzI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDIwLTA3LTIyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgV1RGOjpGdW5jdGlvbiBhZG9wdGlvbiBzaG91bGQgYmUgZXhwbGljaXQgaW5zdGVhZCBvZiBp
bXBsaWNpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE0NjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBo
ZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjpMYW1iZGFGaW5hbGl6ZXJPd25lcjo6
ZmluYWxpemUpOiBVc2UgbmV3IGFkb3B0IGZ1bmN0aW9uLgorCiAyMDIwLTA3LTIyICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgSlNSdW5Mb29wVGltZXIgc2hv
dWxkIHVzZSBXVEY6OlJ1bkxvb3AgcmF0aGVyIHRoYW4gY3VzdG9tIENGIGNvZGUKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCShyZXZpc2lvbiAyNjQ3MDIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyOCw3ICsy
NDI4LDcgQEAgdm9pZCBIZWFwOjphZGRGaW5hbGl6ZXIoSlNDZWxsKiBjZWxsLCBDRgogCiB2b2lk
IEhlYXA6OmFkZEZpbmFsaXplcihKU0NlbGwqIGNlbGwsIExhbWJkYUZpbmFsaXplciBmdW5jdGlv
bikKIHsKLSAgICBXZWFrU2V0OjphbGxvY2F0ZShjZWxsLCAmbV9sYW1iZGFGaW5hbGl6ZXJPd25l
ciwgZnVuY3Rpb24ubGVha0ltcGwoKSk7IC8vIEJhbGFuY2VkIGJ5IExhbWJkYUZpbmFsaXplck93
bmVyOjpmaW5hbGl6ZSgpLgorICAgIFdlYWtTZXQ6OmFsbG9jYXRlKGNlbGwsICZtX2xhbWJkYUZp
bmFsaXplck93bmVyLCBmdW5jdGlvbi5sZWFrKCkpOyAvLyBCYWxhbmNlZCBieSBMYW1iZGFGaW5h
bGl6ZXJPd25lcjo6ZmluYWxpemUoKS4KIH0KIAogdm9pZCBIZWFwOjpDRmluYWxpemVyT3duZXI6
OmZpbmFsaXplKEhhbmRsZTxVbmtub3duPiBoYW5kbGUsIHZvaWQqIGNvbnRleHQpCkBAIC0yNDQx
LDggKzI0NDEsNyBAQCB2b2lkIEhlYXA6OkNGaW5hbGl6ZXJPd25lcjo6ZmluYWxpemUoSGFuCiAK
IHZvaWQgSGVhcDo6TGFtYmRhRmluYWxpemVyT3duZXI6OmZpbmFsaXplKEhhbmRsZTxVbmtub3du
PiBoYW5kbGUsIHZvaWQqIGNvbnRleHQpCiB7Ci0gICAgTGFtYmRhRmluYWxpemVyOjpJbXBsKiBp
bXBsID0gYml0d2lzZV9jYXN0PExhbWJkYUZpbmFsaXplcjo6SW1wbCo+KGNvbnRleHQpOwotICAg
IExhbWJkYUZpbmFsaXplciBmaW5hbGl6ZXIoaW1wbCk7CisgICAgYXV0byBmaW5hbGl6ZXIgPSBX
VEY6OmFkb3B0KHN0YXRpY19jYXN0PExhbWJkYUZpbmFsaXplcjo6SW1wbCo+KGNvbnRleHQpKTsK
ICAgICBIYW5kbGVTbG90IHNsb3QgPSBoYW5kbGUuc2xvdCgpOwogICAgIGZpbmFsaXplcihzbG90
LT5hc0NlbGwoKSk7CiAgICAgV2Vha1NldDo6ZGVhbGxvY2F0ZShXZWFrSW1wbDo6YXNXZWFrSW1w
bChzbG90KSk7CkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0NzAyKQorKysgU291cmNlL1dURi9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wNy0yMiAgR2VvZmZyZXkg
R2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIFdURjo6RnVuY3Rpb24gYWRvcHRp
b24gc2hvdWxkIGJlIGV4cGxpY2l0IGluc3RlYWQgb2YgaW1wbGljaXQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDY1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL0Z1bmN0aW9uLmg6CisgICAgICAg
IChXVEY6OkZ1bmN0aW9uPE91dCk6CisgICAgICAgIChXVEY6OmFkb3B0SW1wbCk6IEFkZGVkIGFu
IGFkb3B0IGZ1bmN0aW9uIGZvciBGdW5jdGlvbnMgYW5kIG1hZGUgdGhlCisgICAgICAgIGFkb3B0
aW5nIGNvbnN0cnVjdG9yIHByaXZhdGUuCisKKyAgICAgICAgKiB3dGYvY2YvUnVuTG9vcENGLmNw
cDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6ZGlzcGF0Y2gpOiBVc2UgbmV3IGFkb3B0IGZ1bmN0
aW9uLgorCiAyMDIwLTA3LTIyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgSlNSdW5Mb29wVGltZXIgc2hvdWxkIHVzZSBXVEY6OlJ1bkxvb3AgcmF0aGVyIHRo
YW4gY3VzdG9tIENGIGNvZGUKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dURi93dGYvRnVuY3Rpb24uaAkocmV2aXNpb24gMjY0NzAyKQorKysg
U291cmNlL1dURi93dGYvRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsOCBA
QCBwcml2YXRlOgogCiB0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgRnVuY3Rpb247CiAKK3RlbXBs
YXRlPHR5cGVuYW1lIE91dCwgdHlwZW5hbWUuLi4gSW4+IEZ1bmN0aW9uPE91dChJbi4uLik+IGFk
b3B0KERldGFpbDo6Q2FsbGFibGVXcmFwcGVyQmFzZTxPdXQsIEluLi4uPiopOworCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgT3V0LCB0eXBlbmFtZS4uLiBJbj4KIGNsYXNzIEZ1bmN0aW9uPE91dChJbi4u
Lik+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKQEAgLTY2LDkgKzY4LDYgQEAgcHVi
bGljOgogCiAgICAgRnVuY3Rpb24oKSA9IGRlZmF1bHQ7CiAgICAgRnVuY3Rpb24oc3RkOjpudWxs
cHRyX3QpIHsgfQotICAgIEZ1bmN0aW9uKEltcGwqIGltcGwpCi0gICAgICAgIDogbV9jYWxsYWJs
ZVdyYXBwZXIoaW1wbCkKLSAgICB7IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENhbGxhYmxl
VHlwZSwgY2xhc3MgPSB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjwhKHN0ZDo6aXNfcG9pbnRlcjxD
YWxsYWJsZVR5cGU+Ojp2YWx1ZSAmJiBzdGQ6OmlzX2Z1bmN0aW9uPHR5cGVuYW1lIHN0ZDo6cmVt
b3ZlX3BvaW50ZXI8Q2FsbGFibGVUeXBlPjo6dHlwZT46OnZhbHVlKSAmJiBzdGQ6OmlzX3J2YWx1
ZV9yZWZlcmVuY2U8Q2FsbGFibGVUeXBlJiY+Ojp2YWx1ZT46OnR5cGU+CiAgICAgRnVuY3Rpb24o
Q2FsbGFibGVUeXBlJiYgY2FsbGFibGUpCkBAIC0xMDYsMTUgKzEwNSwyOCBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKLSAgICBJbXBsKiBsZWFrSW1wbCgpCisgICAg
SW1wbCogbGVhaygpCiAgICAgewogICAgICAgICByZXR1cm4gbV9jYWxsYWJsZVdyYXBwZXIucmVs
ZWFzZSgpOwogICAgIH0KIAogcHJpdmF0ZToKKyAgICBlbnVtIEFkb3B0VGFnIHsgQWRvcHQgfTsK
KyAgICBGdW5jdGlvbihJbXBsKiBpbXBsLCBBZG9wdFRhZykKKyAgICAgICAgOiBtX2NhbGxhYmxl
V3JhcHBlcihpbXBsKQorICAgIHsKKyAgICB9CisKKyAgICBmcmllbmQgRnVuY3Rpb24gYWRvcHQ8
T3V0LCBJbi4uLj4oSW1wbCopOworCiAgICAgc3RkOjp1bmlxdWVfcHRyPEltcGw+IG1fY2FsbGFi
bGVXcmFwcGVyOwogfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgT3V0LCB0eXBlbmFtZS4uLiBJbj4g
RnVuY3Rpb248T3V0KEluLi4uKT4gYWRvcHQoRGV0YWlsOjpDYWxsYWJsZVdyYXBwZXJCYXNlPE91
dCwgSW4uLi4+KiBpbXBsKQoreworICAgIHJldHVybiBGdW5jdGlvbjxPdXQoSW4uLi4pPihpbXBs
LCBGdW5jdGlvbjxPdXQoSW4uLi4pPjo6QWRvcHQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXVEYK
IAogdXNpbmcgV1RGOjpGdW5jdGlvbjsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BD
Ri5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAkocmV2
aXNpb24gMjY0NzAyKQorKysgU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTEsOSArOTEsOSBAQCB2b2lkIFJ1bkxvb3A6OmRpc3BhdGNoKGNvbnN0IFNj
aGVkdWxlUGFpCiAKICAgICAgICAgQ0ZSdW5Mb29wVGltZXJJbnZhbGlkYXRlKHRpbWVyKTsKIAot
ICAgICAgICBGdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKHN0YXRpY19jYXN0PEZ1bmN0aW9uPHZv
aWQoKT46OkltcGwqPihjb250ZXh0KSk7CisgICAgICAgIGF1dG8gZnVuY3Rpb24gPSBhZG9wdChz
dGF0aWNfY2FzdDxGdW5jdGlvbjx2b2lkKCk+OjpJbXBsKj4oY29udGV4dCkpOwogICAgICAgICBm
dW5jdGlvbigpOwotICAgIH0sIGZ1bmN0aW9uLmxlYWtJbXBsKCkpOworICAgIH0sIGZ1bmN0aW9u
LmxlYWsoKSk7CiAKICAgICBmb3IgKGF1dG8mIHNjaGVkdWxlUGFpciA6IHNjaGVkdWxlUGFpcnMp
CiAgICAgICAgIENGUnVuTG9vcEFkZFRpbWVyKHNjaGVkdWxlUGFpci0+cnVuTG9vcCgpLCB0aW1l
ci5nZXQoKSwgc2NoZWR1bGVQYWlyLT5tb2RlKCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>