<?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>121453</bug_id>
          
          <creation_ts>2013-09-16 14:31:34 -0700</creation_ts>
          <short_desc>Replace more uses of PassOwnPtr with OwnPtr in WebKit2</short_desc>
          <delta_ts>2013-09-16 15:10:55 -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>528+ (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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>929925</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-16 14:31:34 -0700</bug_when>
    <thetext>Replace more uses of PassOwnPtr with OwnPtr in WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929926</commentid>
    <comment_count>1</comment_count>
      <attachid>211833</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-16 14:32:50 -0700</bug_when>
    <thetext>Created attachment 211833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929936</commentid>
    <comment_count>2</comment_count>
      <attachid>211833</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-16 14:52:38 -0700</bug_when>
    <thetext>Comment on attachment 211833
Patch

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

&gt; Source/WebKit2/Platform/CoreIPC/Connection.cpp:100
&gt;  WTF_MAKE_NONCOPYABLE(SecondaryThreadPendingSyncReply);

I think that having an OwnPtr will automatically make the class noncopyable, so you could just omit this now.

&gt; Source/WebKit2/Platform/CoreIPC/Connection.cpp:102
&gt; -    SecondaryThreadPendingSyncReply() : replyDecoder(0) { }
&gt; +    SecondaryThreadPendingSyncReply() { }

Should just omit this entirely and let the compiler generate it.

&gt; Source/WebKit2/Platform/CoreIPC/Connection.cpp:640
&gt; +    const auto it = m_workQueueMessageReceivers.find(message-&gt;messageReceiverName());

Why const?

&gt; Source/WebKit2/Platform/CoreIPC/Connection.cpp:656
&gt; +        auto it = m_waitForMessageMap.find(std::make_pair(std::make_pair(message-&gt;messageReceiverName(), message-&gt;messageName()), message-&gt;destinationID()));

You didn’t add const here, so why did you add it above?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929938</commentid>
    <comment_count>3</comment_count>
      <attachid>211833</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-16 14:58:01 -0700</bug_when>
    <thetext>Comment on attachment 211833
Patch

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

&gt;&gt; Source/WebKit2/Platform/CoreIPC/Connection.cpp:102
&gt;&gt; +    SecondaryThreadPendingSyncReply() { }
&gt; 
&gt; Should just omit this entirely and let the compiler generate it.

I tried doing that but it wouldn’t work due to the WTF_MAKE_NONCOPYABLE. I’ve removed both now.

&gt;&gt; Source/WebKit2/Platform/CoreIPC/Connection.cpp:640
&gt;&gt; +    const auto it = m_workQueueMessageReceivers.find(message-&gt;messageReceiverName());
&gt; 
&gt; Why const?

No good reason, I’ll remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929947</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-16 15:10:55 -0700</bug_when>
    <thetext>Committed r155905: &lt;http://trac.webkit.org/changeset/155905&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211833</attachid>
            <date>2013-09-16 14:32:50 -0700</date>
            <delta_ts>2013-09-16 14:58:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121453-20130916143249.patch</filename>
            <type>text/plain</type>
            <size>18271</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1OTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmRmOWI0NTQyYTcyYzhl
MjUyNjk3OTljZmY2OTRjOTdlZDY5OWFiOS4uM2UwNjg3MmVmNTBjMDk5YTY2MGY1MDM5OTlkZDg4
M2FmY2ZlZTA1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTA5LTE2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVwbGFjZSBtb3Jl
IHVzZXMgb2YgUGFzc093blB0ciB3aXRoIE93blB0ciBpbiBXZWJLaXQyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE0NTMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgIChDb3JlSVBDOjpDb25uZWN0aW9uOjpTZWNvbmRhcnlUaHJl
YWRQZW5kaW5nU3luY1JlcGx5OjpTZWNvbmRhcnlUaHJlYWRQZW5kaW5nU3luY1JlcGx5KToKKyAg
ICAgICAgKENvcmVJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZVN5bmNNZXNzYWdlRW5jb2Rlcik6Cisg
ICAgICAgIChDb3JlSVBDOjpDb25uZWN0aW9uOjpzZW5kTWVzc2FnZSk6CisgICAgICAgIChDb3Jl
SVBDOjpDb25uZWN0aW9uOjpzZW5kU3luY1JlcGx5KToKKyAgICAgICAgKENvcmVJUEM6OkNvbm5l
Y3Rpb246OndhaXRGb3JNZXNzYWdlKToKKyAgICAgICAgKENvcmVJUEM6OkNvbm5lY3Rpb246OnNl
bmRTeW5jTWVzc2FnZSk6CisgICAgICAgIChDb3JlSVBDOjpDb25uZWN0aW9uOjpzZW5kU3luY01l
c3NhZ2VGcm9tU2Vjb25kYXJ5VGhyZWFkKToKKyAgICAgICAgKENvcmVJUEM6OkNvbm5lY3Rpb246
OndhaXRGb3JTeW5jUmVwbHkpOgorICAgICAgICAoQ29yZUlQQzo6Q29ubmVjdGlvbjo6cHJvY2Vz
c0luY29taW5nU3luY1JlcGx5KToKKyAgICAgICAgKENvcmVJUEM6OkNvbm5lY3Rpb246OnByb2Nl
c3NJbmNvbWluZ01lc3NhZ2UpOgorICAgICAgICAoQ29yZUlQQzo6Q29ubmVjdGlvbjo6ZW5xdWV1
ZUluY29taW5nTWVzc2FnZSk6CisgICAgICAgIChDb3JlSVBDOjpDb25uZWN0aW9uOjpkaXNwYXRj
aE1lc3NhZ2UpOgorICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oOgorICAg
ICAgICAoQ29yZUlQQzo6Q29ubmVjdGlvbjo6UGVuZGluZ1N5bmNSZXBseTo6UGVuZGluZ1N5bmNS
ZXBseSk6CisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9tYWMvQ29ubmVjdGlvbk1hYy5jcHA6
CisgICAgICAgIChDb3JlSVBDOjpDb25uZWN0aW9uOjpzZW5kT3V0Z29pbmdNZXNzYWdlKToKKwog
MjAxMy0wOS0xNiAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgZml4aW5nIHRoZSBHVEsgV0syIGJ1aWxkIGFmdGVyIHIxNTU4ODguCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uY3Bw
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmNwcAppbmRleCBj
YzkxODcyNTRhMTg4YTA1OTE0NGM2Zjg1MmYzOTM2ZDg4ZWZkZGUyLi45YWFkZjBiODRmOThiM2Rj
ZTBiOTRmNjAzMWJlZDU3MTgyMjAxZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQ29ubmVjdGlvbi5jcHAKQEAgLTk5LDEwICs5OSwxMCBAQCBwcml2YXRlOgogY2xh
c3MgQ29ubmVjdGlvbjo6U2Vjb25kYXJ5VGhyZWFkUGVuZGluZ1N5bmNSZXBseSB7CiBXVEZfTUFL
RV9OT05DT1BZQUJMRShTZWNvbmRhcnlUaHJlYWRQZW5kaW5nU3luY1JlcGx5KTsKIHB1YmxpYzoK
LSAgICBTZWNvbmRhcnlUaHJlYWRQZW5kaW5nU3luY1JlcGx5KCkgOiByZXBseURlY29kZXIoMCkg
eyB9CisgICAgU2Vjb25kYXJ5VGhyZWFkUGVuZGluZ1N5bmNSZXBseSgpIHsgfQogCiAgICAgLy8g
VGhlIHJlcGx5IGRlY29kZXIsIHdpbGwgYmUgbnVsbCBpZiB0aGVyZSB3YXMgYW4gZXJyb3IgcHJv
Y2Vzc2luZyB0aGUgc3luYyBtZXNzYWdlIG9uIHRoZSBvdGhlciBzaWRlLgotICAgIE1lc3NhZ2VE
ZWNvZGVyKiByZXBseURlY29kZXI7CisgICAgT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiByZXBseURl
Y29kZXI7CiAKICAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOwogfTsKQEAgLTM0Myw3ICsz
NDMsNyBAQCB2b2lkIENvbm5lY3Rpb246Om1hcmtDdXJyZW50bHlEaXNwYXRjaGVkTWVzc2FnZUFz
SW52YWxpZCgpCiAgICAgbV9kaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UgPSB0cnVlOwogfQogCi1Q
YXNzT3duUHRyPE1lc3NhZ2VFbmNvZGVyPiBDb25uZWN0aW9uOjpjcmVhdGVTeW5jTWVzc2FnZUVu
Y29kZXIoU3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIFN0cmluZ1JlZmVyZW5j
ZSBtZXNzYWdlTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgdWludDY0X3QmIHN5bmNSZXF1
ZXN0SUQpCitPd25QdHI8TWVzc2FnZUVuY29kZXI+IENvbm5lY3Rpb246OmNyZWF0ZVN5bmNNZXNz
YWdlRW5jb2RlcihTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgU3RyaW5nUmVm
ZXJlbmNlIG1lc3NhZ2VOYW1lLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCB1aW50NjRfdCYgc3lu
Y1JlcXVlc3RJRCkKIHsKICAgICBPd25QdHI8TWVzc2FnZUVuY29kZXI+IGVuY29kZXIgPSBNZXNz
YWdlRW5jb2Rlcjo6Y3JlYXRlKG1lc3NhZ2VSZWNlaXZlck5hbWUsIG1lc3NhZ2VOYW1lLCBkZXN0
aW5hdGlvbklEKTsKICAgICBlbmNvZGVyLT5zZXRJc1N5bmNNZXNzYWdlKHRydWUpOwpAQCAtMzUz
LDEwICszNTMsMTAgQEAgUGFzc093blB0cjxNZXNzYWdlRW5jb2Rlcj4gQ29ubmVjdGlvbjo6Y3Jl
YXRlU3luY01lc3NhZ2VFbmNvZGVyKFN0cmluZ1JlZmVyZW5jZQogICAgIHN5bmNSZXF1ZXN0SUQg
PSBhdG9taWNJbmNyZW1lbnQocmVpbnRlcnByZXRfY2FzdDxpbnQ2NF90IHZvbGF0aWxlKj4oJm1f
c3luY1JlcXVlc3RJRCkpOwogICAgICplbmNvZGVyIDw8IHN5bmNSZXF1ZXN0SUQ7CiAKLSAgICBy
ZXR1cm4gZW5jb2Rlci5yZWxlYXNlKCk7CisgICAgcmV0dXJuIGVuY29kZXI7CiB9CiAKLWJvb2wg
Q29ubmVjdGlvbjo6c2VuZE1lc3NhZ2UoUGFzc093blB0cjxNZXNzYWdlRW5jb2Rlcj4gZW5jb2Rl
ciwgdW5zaWduZWQgbWVzc2FnZVNlbmRGbGFncykKK2Jvb2wgQ29ubmVjdGlvbjo6c2VuZE1lc3Nh
Z2UoT3duUHRyPE1lc3NhZ2VFbmNvZGVyPiBlbmNvZGVyLCB1bnNpZ25lZCBtZXNzYWdlU2VuZEZs
YWdzKQogewogICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0z
NjgsNyArMzY4LDcgQEAgYm9vbCBDb25uZWN0aW9uOjpzZW5kTWVzc2FnZShQYXNzT3duUHRyPE1l
c3NhZ2VFbmNvZGVyPiBlbmNvZGVyLCB1bnNpZ25lZCBtZXNzYWcKIAogICAgIHsKICAgICAgICAg
TXV0ZXhMb2NrZXIgbG9ja2VyKG1fb3V0Z29pbmdNZXNzYWdlc0xvY2spOwotICAgICAgICBtX291
dGdvaW5nTWVzc2FnZXMuYXBwZW5kKGVuY29kZXIpOworICAgICAgICBtX291dGdvaW5nTWVzc2Fn
ZXMuYXBwZW5kKHN0ZDo6bW92ZShlbmNvZGVyKSk7CiAgICAgfQogICAgIAogICAgIC8vIEZJWE1F
OiBXZSBzaG91bGQgYWRkIGEgYm9vbGVhbiBmbGFnIHNvIHdlIGRvbid0IGNhbGwgdGhpcyB3aGVu
IHdvcmsgaGFzIGFscmVhZHkgYmVlbiBzY2hlZHVsZWQuCkBAIC0zNzYsMjUgKzM3NiwyNSBAQCBi
b29sIENvbm5lY3Rpb246OnNlbmRNZXNzYWdlKFBhc3NPd25QdHI8TWVzc2FnZUVuY29kZXI+IGVu
Y29kZXIsIHVuc2lnbmVkIG1lc3NhZwogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIENvbm5l
Y3Rpb246OnNlbmRTeW5jUmVwbHkoUGFzc093blB0cjxNZXNzYWdlRW5jb2Rlcj4gZW5jb2RlcikK
K2Jvb2wgQ29ubmVjdGlvbjo6c2VuZFN5bmNSZXBseShPd25QdHI8TWVzc2FnZUVuY29kZXI+IGVu
Y29kZXIpCiB7Ci0gICAgcmV0dXJuIHNlbmRNZXNzYWdlKGVuY29kZXIpOworICAgIHJldHVybiBz
ZW5kTWVzc2FnZShzdGQ6Om1vdmUoZW5jb2RlcikpOwogfQogCi1QYXNzT3duUHRyPE1lc3NhZ2VE
ZWNvZGVyPiBDb25uZWN0aW9uOjp3YWl0Rm9yTWVzc2FnZShTdHJpbmdSZWZlcmVuY2UgbWVzc2Fn
ZVJlY2VpdmVyTmFtZSwgU3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lLCB1aW50NjRfdCBkZXN0
aW5hdGlvbklELCBkb3VibGUgdGltZW91dCkKK093blB0cjxNZXNzYWdlRGVjb2Rlcj4gQ29ubmVj
dGlvbjo6d2FpdEZvck1lc3NhZ2UoU3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUs
IFN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgZG91
YmxlIHRpbWVvdXQpCiB7CiAgICAgLy8gRmlyc3QsIGNoZWNrIGlmIHRoaXMgbWVzc2FnZSBpcyBh
bHJlYWR5IGluIHRoZSBpbmNvbWluZyBtZXNzYWdlcyBxdWV1ZS4KICAgICB7CiAgICAgICAgIE11
dGV4TG9ja2VyIGxvY2tlcihtX2luY29taW5nTWVzc2FnZXNMb2NrKTsKIAotICAgICAgICBmb3Ig
KERlcXVlPE93blB0cjxNZXNzYWdlRGVjb2Rlcj4+OjppdGVyYXRvciBpdCA9IG1faW5jb21pbmdN
ZXNzYWdlcy5iZWdpbigpLCBlbmQgPSBtX2luY29taW5nTWVzc2FnZXMuZW5kKCk7IGl0ICE9IGVu
ZDsgKytpdCkgeworICAgICAgICBmb3IgKGF1dG8gaXQgPSBtX2luY29taW5nTWVzc2FnZXMuYmVn
aW4oKSwgZW5kID0gbV9pbmNvbWluZ01lc3NhZ2VzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
ICAgICAgICAgICAgIE93blB0cjxNZXNzYWdlRGVjb2Rlcj4mIG1lc3NhZ2UgPSAqaXQ7CiAKICAg
ICAgICAgICAgIGlmIChtZXNzYWdlLT5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gbWVzc2FnZVJl
Y2VpdmVyTmFtZSAmJiBtZXNzYWdlLT5tZXNzYWdlTmFtZSgpID09IG1lc3NhZ2VOYW1lICYmIG1l
c3NhZ2UtPmRlc3RpbmF0aW9uSUQoKSA9PSBkZXN0aW5hdGlvbklEKSB7Ci0gICAgICAgICAgICAg
ICAgT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiByZXR1cm5lZE1lc3NhZ2UgPSBtZXNzYWdlLnJlbGVh
c2UoKTsKKyAgICAgICAgICAgICAgICBPd25QdHI8TWVzc2FnZURlY29kZXI+IHJldHVybmVkTWVz
c2FnZSA9IHN0ZDo6bW92ZShtZXNzYWdlKTsKIAogICAgICAgICAgICAgICAgIG1faW5jb21pbmdN
ZXNzYWdlcy5yZW1vdmUoaXQpOwotICAgICAgICAgICAgICAgIHJldHVybiByZXR1cm5lZE1lc3Nh
Z2UucmVsZWFzZSgpOworICAgICAgICAgICAgICAgIHJldHVybiByZXR1cm5lZE1lc3NhZ2U7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC00MzcsMTIgKzQzNywxMiBAQCBQYXNz
T3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBDb25uZWN0aW9uOjp3YWl0Rm9yTWVzc2FnZShTdHJpbmdS
ZWZlcmVuY2UgbWVzc2FnZVJlYwogICAgIHJldHVybiBudWxscHRyOwogfQogCi1QYXNzT3duUHRy
PE1lc3NhZ2VEZWNvZGVyPiBDb25uZWN0aW9uOjpzZW5kU3luY01lc3NhZ2UodWludDY0X3Qgc3lu
Y1JlcXVlc3RJRCwgUGFzc093blB0cjxNZXNzYWdlRW5jb2Rlcj4gZW5jb2RlciwgZG91YmxlIHRp
bWVvdXQsIHVuc2lnbmVkIHN5bmNTZW5kRmxhZ3MpCitPd25QdHI8TWVzc2FnZURlY29kZXI+IENv
bm5lY3Rpb246OnNlbmRTeW5jTWVzc2FnZSh1aW50NjRfdCBzeW5jUmVxdWVzdElELCBPd25QdHI8
TWVzc2FnZUVuY29kZXI+IGVuY29kZXIsIGRvdWJsZSB0aW1lb3V0LCB1bnNpZ25lZCBzeW5jU2Vu
ZEZsYWdzKQogewogICAgIGlmIChSdW5Mb29wOjpjdXJyZW50KCkgIT0gbV9jbGllbnRSdW5Mb29w
KSB7CiAgICAgICAgIC8vIE5vIGZsYWdzIGFyZSBzdXBwb3J0ZWQgZm9yIHN5bmNocm9ub3VzIG1l
c3NhZ2VzIHNlbnQgZnJvbSBzZWNvbmRhcnkgdGhyZWFkcy4KICAgICAgICAgQVNTRVJUKCFzeW5j
U2VuZEZsYWdzKTsKLSAgICAgICAgcmV0dXJuIHNlbmRTeW5jTWVzc2FnZUZyb21TZWNvbmRhcnlU
aHJlYWQoc3luY1JlcXVlc3RJRCwgZW5jb2RlciwgdGltZW91dCk7CisgICAgICAgIHJldHVybiBz
ZW5kU3luY01lc3NhZ2VGcm9tU2Vjb25kYXJ5VGhyZWFkKHN5bmNSZXF1ZXN0SUQsIHN0ZDo6bW92
ZShlbmNvZGVyKSwgdGltZW91dCk7CiAgICAgfQogCiAgICAgaWYgKCFpc1ZhbGlkKCkpIHsKQEAg
LTQ2NCw3ICs0NjQsNyBAQCBQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBDb25uZWN0aW9uOjpz
ZW5kU3luY01lc3NhZ2UodWludDY0X3Qgc3luY1JlcXVlc3RJRCwgUAogICAgICsrbV9pblNlbmRT
eW5jQ291bnQ7CiAKICAgICAvLyBGaXJzdCBzZW5kIHRoZSBtZXNzYWdlLgotICAgIHNlbmRNZXNz
YWdlKGVuY29kZXIsIERpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2FpdGluZ0ZvclN5bmNSZXBseSk7
CisgICAgc2VuZE1lc3NhZ2Uoc3RkOjptb3ZlKGVuY29kZXIpLCBEaXNwYXRjaE1lc3NhZ2VFdmVu
V2hlbldhaXRpbmdGb3JTeW5jUmVwbHkpOwogCiAgICAgLy8gVGhlbiB3YWl0IGZvciBhIHJlcGx5
LiBXYWl0aW5nIGZvciBhIHJlcGx5IGNvdWxkIGludm9sdmUgZGlzcGF0Y2hpbmcgaW5jb21pbmcg
c3luYyBtZXNzYWdlcywgc28KICAgICAvLyBrZWVwIGFuIGV4dHJhIHJlZmVyZW5jZSB0byB0aGUg
Y29ubmVjdGlvbiBoZXJlIGluIGNhc2UgaXQncyBpbnZhbGlkYXRlZC4KQEAgLTQ4Niw3ICs0ODYs
NyBAQCBQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBDb25uZWN0aW9uOjpzZW5kU3luY01lc3Nh
Z2UodWludDY0X3Qgc3luY1JlcXVlc3RJRCwgUAogICAgIHJldHVybiByZXBseS5yZWxlYXNlKCk7
CiB9CiAKLVBhc3NPd25QdHI8TWVzc2FnZURlY29kZXI+IENvbm5lY3Rpb246OnNlbmRTeW5jTWVz
c2FnZUZyb21TZWNvbmRhcnlUaHJlYWQodWludDY0X3Qgc3luY1JlcXVlc3RJRCwgUGFzc093blB0
cjxNZXNzYWdlRW5jb2Rlcj4gZW5jb2RlciwgZG91YmxlIHRpbWVvdXQpCitPd25QdHI8TWVzc2Fn
ZURlY29kZXI+IENvbm5lY3Rpb246OnNlbmRTeW5jTWVzc2FnZUZyb21TZWNvbmRhcnlUaHJlYWQo
dWludDY0X3Qgc3luY1JlcXVlc3RJRCwgT3duUHRyPE1lc3NhZ2VFbmNvZGVyPiBlbmNvZGVyLCBk
b3VibGUgdGltZW91dCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6Y3VycmVudCgpICE9IG1fY2xp
ZW50UnVuTG9vcCk7CiAKQEAgLTUwNSw3ICs1MDUsNyBAQCBQYXNzT3duUHRyPE1lc3NhZ2VEZWNv
ZGVyPiBDb25uZWN0aW9uOjpzZW5kU3luY01lc3NhZ2VGcm9tU2Vjb25kYXJ5VGhyZWFkKHVpbnQ2
NAogICAgICAgICBtX3NlY29uZGFyeVRocmVhZFBlbmRpbmdTeW5jUmVwbHlNYXAuYWRkKHN5bmNS
ZXF1ZXN0SUQsICZwZW5kaW5nUmVwbHkpOwogICAgIH0KIAotICAgIHNlbmRNZXNzYWdlKGVuY29k
ZXIsIDApOworICAgIHNlbmRNZXNzYWdlKHN0ZDo6bW92ZShlbmNvZGVyKSwgMCk7CiAKICAgICAv
LyBVc2UgYSByZWFsbHkgbG9uZyB0aW1lb3V0LgogICAgIGlmICh0aW1lb3V0ID09IE5vVGltZW91
dCkKQEAgLTUyMCwxMCArNTIwLDEwIEBAIFBhc3NPd25QdHI8TWVzc2FnZURlY29kZXI+IENvbm5l
Y3Rpb246OnNlbmRTeW5jTWVzc2FnZUZyb21TZWNvbmRhcnlUaHJlYWQodWludDY0CiAgICAgICAg
IG1fc2Vjb25kYXJ5VGhyZWFkUGVuZGluZ1N5bmNSZXBseU1hcC5yZW1vdmUoc3luY1JlcXVlc3RJ
RCk7CiAgICAgfQogCi0gICAgcmV0dXJuIGFkb3B0UHRyKHBlbmRpbmdSZXBseS5yZXBseURlY29k
ZXIpOworICAgIHJldHVybiBzdGQ6Om1vdmUocGVuZGluZ1JlcGx5LnJlcGx5RGVjb2Rlcik7CiB9
CiAKLVBhc3NPd25QdHI8TWVzc2FnZURlY29kZXI+IENvbm5lY3Rpb246OndhaXRGb3JTeW5jUmVw
bHkodWludDY0X3Qgc3luY1JlcXVlc3RJRCwgZG91YmxlIHRpbWVvdXQsIHVuc2lnbmVkIHN5bmNT
ZW5kRmxhZ3MpCitPd25QdHI8TWVzc2FnZURlY29kZXI+IENvbm5lY3Rpb246OndhaXRGb3JTeW5j
UmVwbHkodWludDY0X3Qgc3luY1JlcXVlc3RJRCwgZG91YmxlIHRpbWVvdXQsIHVuc2lnbmVkIHN5
bmNTZW5kRmxhZ3MpCiB7CiAgICAgLy8gVXNlIGEgcmVhbGx5IGxvbmcgdGltZW91dC4KICAgICBp
ZiAodGltZW91dCA9PSBOb1RpbWVvdXQpCkBAIC01NDcsNyArNTQ3LDcgQEAgUGFzc093blB0cjxN
ZXNzYWdlRGVjb2Rlcj4gQ29ubmVjdGlvbjo6d2FpdEZvclN5bmNSZXBseSh1aW50NjRfdCBzeW5j
UmVxdWVzdElELAogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBXZSBmb3VuZCB0aGUgc3lu
YyByZXBseSwgb3IgdGhlIGNvbm5lY3Rpb24gd2FzIGNsb3NlZC4KICAgICAgICAgICAgIGlmIChw
ZW5kaW5nU3luY1JlcGx5LmRpZFJlY2VpdmVSZXBseSB8fCAhbV9zaG91bGRXYWl0Rm9yU3luY1Jl
cGxpZXMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHBlbmRpbmdTeW5jUmVwbHkucmVsZWFzZVJl
cGx5RGVjb2RlcigpOworICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1vdmUocGVuZGluZ1N5
bmNSZXBseS5yZXBseURlY29kZXIpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gUHJvY2Vzc2lu
ZyBhIHN5bmMgbWVzc2FnZSBjb3VsZCBjYXVzZSB0aGUgY29ubmVjdGlvbiB0byBiZSBpbnZhbGlk
YXRlZC4KQEAgLTU3NSw3ICs1NzUsNyBAQCBQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBDb25u
ZWN0aW9uOjp3YWl0Rm9yU3luY1JlcGx5KHVpbnQ2NF90IHN5bmNSZXF1ZXN0SUQsCiAgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKLXZvaWQgQ29ubmVjdGlvbjo6cHJvY2Vzc0luY29taW5nU3luY1Jl
cGx5KFBhc3NPd25QdHI8TWVzc2FnZURlY29kZXI+IGRlY29kZXIpCit2b2lkIENvbm5lY3Rpb246
OnByb2Nlc3NJbmNvbWluZ1N5bmNSZXBseShPd25QdHI8TWVzc2FnZURlY29kZXI+IGRlY29kZXIp
CiB7CiAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fc3luY1JlcGx5U3RhdGVNdXRleCk7CiAKQEAg
LTU4OSw3ICs1ODksNyBAQCB2b2lkIENvbm5lY3Rpb246OnByb2Nlc3NJbmNvbWluZ1N5bmNSZXBs
eShQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBkZWNvZGVyKQogCiAgICAgICAgIEFTU0VSVCgh
cGVuZGluZ1N5bmNSZXBseS5yZXBseURlY29kZXIpOwogCi0gICAgICAgIHBlbmRpbmdTeW5jUmVw
bHkucmVwbHlEZWNvZGVyID0gZGVjb2Rlci5sZWFrUHRyKCk7CisgICAgICAgIHBlbmRpbmdTeW5j
UmVwbHkucmVwbHlEZWNvZGVyID0gc3RkOjptb3ZlKGRlY29kZXIpOwogICAgICAgICBwZW5kaW5n
U3luY1JlcGx5LmRpZFJlY2VpdmVSZXBseSA9IHRydWU7CiAKICAgICAgICAgLy8gV2UgZ290IGEg
cmVwbHkgdG8gdGhlIGxhc3Qgc2VuZCBtZXNzYWdlLCB3YWtlIHVwIHRoZSBjbGllbnQgcnVuIGxv
b3Agc28gaXQgY2FuIGJlIHByb2Nlc3NlZC4KQEAgLTYwNCw3ICs2MDQsNyBAQCB2b2lkIENvbm5l
Y3Rpb246OnByb2Nlc3NJbmNvbWluZ1N5bmNSZXBseShQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVy
PiBkZWNvZGVyKQogICAgIGlmIChzZWNvbmRhcnlUaHJlYWRSZXBseU1hcEl0ZW0gIT0gbV9zZWNv
bmRhcnlUaHJlYWRQZW5kaW5nU3luY1JlcGx5TWFwLmVuZCgpKSB7CiAgICAgICAgIFNlY29uZGFy
eVRocmVhZFBlbmRpbmdTeW5jUmVwbHkqIHJlcGx5ID0gc2Vjb25kYXJ5VGhyZWFkUmVwbHlNYXBJ
dGVtLT52YWx1ZTsKICAgICAgICAgQVNTRVJUKCFyZXBseS0+cmVwbHlEZWNvZGVyKTsKLSAgICAg
ICAgcmVwbHktPnJlcGx5RGVjb2RlciA9IGRlY29kZXIubGVha1B0cigpOworICAgICAgICByZXBs
eS0+cmVwbHlEZWNvZGVyID0gc3RkOjptb3ZlKGRlY29kZXIpOwogICAgICAgICByZXBseS0+c2Vt
YXBob3JlLnNpZ25hbCgpOwogICAgIH0KIApAQCAtNjEyLDEwICs2MTIsOCBAQCB2b2lkIENvbm5l
Y3Rpb246OnByb2Nlc3NJbmNvbWluZ1N5bmNSZXBseShQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVy
PiBkZWNvZGVyKQogICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgc2VuZCB0aW1lZCBvdXQs
IHNvIGl0J3MgZmluZSB0byBpZ25vcmUuCiB9CiAKLXZvaWQgQ29ubmVjdGlvbjo6cHJvY2Vzc0lu
Y29taW5nTWVzc2FnZShQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBpbmNvbWluZ01lc3NhZ2Up
Cit2b2lkIENvbm5lY3Rpb246OnByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoT3duUHRyPE1lc3NhZ2VE
ZWNvZGVyPiBtZXNzYWdlKQogewotICAgIE93blB0cjxNZXNzYWdlRGVjb2Rlcj4gbWVzc2FnZSA9
IGluY29taW5nTWVzc2FnZTsKLQogICAgIEFTU0VSVCghbWVzc2FnZS0+bWVzc2FnZVJlY2VpdmVy
TmFtZSgpLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKCFtZXNzYWdlLT5tZXNzYWdlTmFtZSgpLmlz
RW1wdHkoKSk7CiAKQEAgLTYzOSw3ICs2MzcsNyBAQCB2b2lkIENvbm5lY3Rpb246OnByb2Nlc3NJ
bmNvbWluZ01lc3NhZ2UoUGFzc093blB0cjxNZXNzYWdlRGVjb2Rlcj4gaW5jb21pbmdNZXNzYQog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgSGFzaE1hcDxTdHJpbmdSZWZlcmVuY2UsIHN0
ZDo6cGFpcjxSZWZQdHI8V29ya1F1ZXVlPiwgUmVmUHRyPFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZl
cj4+Pjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX3dvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlcnMuZmlu
ZChtZXNzYWdlLT5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkpOworICAgIGNvbnN0IGF1dG8gaXQgPSBt
X3dvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlcnMuZmluZChtZXNzYWdlLT5tZXNzYWdlUmVjZWl2ZXJO
YW1lKCkpOwogICAgIGlmIChpdCAhPSBtX3dvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlcnMuZW5kKCkp
IHsKICAgICAgICAgaXQtPnZhbHVlLmZpcnN0LT5kaXNwYXRjaChiaW5kKCZDb25uZWN0aW9uOjpk
aXNwYXRjaFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlck1lc3NhZ2UsIHRoaXMsIGl0LT52YWx1ZS5z
ZWNvbmQsIG1lc3NhZ2UucmVsZWFzZSgpLmxlYWtQdHIoKSkpOwogICAgICAgICByZXR1cm47CkBA
IC02NTUsNyArNjUzLDcgQEAgdm9pZCBDb25uZWN0aW9uOjpwcm9jZXNzSW5jb21pbmdNZXNzYWdl
KFBhc3NPd25QdHI8TWVzc2FnZURlY29kZXI+IGluY29taW5nTWVzc2EKICAgICB7CiAgICAgICAg
IE11dGV4TG9ja2VyIGxvY2tlcihtX3dhaXRGb3JNZXNzYWdlTXV0ZXgpOwogCi0gICAgICAgIEhh
c2hNYXA8c3RkOjpwYWlyPHN0ZDo6cGFpcjxTdHJpbmdSZWZlcmVuY2UsIFN0cmluZ1JlZmVyZW5j
ZT4sIHVpbnQ2NF90PiwgT3duUHRyPE1lc3NhZ2VEZWNvZGVyPj46Oml0ZXJhdG9yIGl0ID0gbV93
YWl0Rm9yTWVzc2FnZU1hcC5maW5kKHN0ZDo6bWFrZV9wYWlyKHN0ZDo6bWFrZV9wYWlyKG1lc3Nh
Z2UtPm1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbWVzc2FnZS0+bWVzc2FnZU5hbWUoKSksIG1lc3Nh
Z2UtPmRlc3RpbmF0aW9uSUQoKSkpOworICAgICAgICBhdXRvIGl0ID0gbV93YWl0Rm9yTWVzc2Fn
ZU1hcC5maW5kKHN0ZDo6bWFrZV9wYWlyKHN0ZDo6bWFrZV9wYWlyKG1lc3NhZ2UtPm1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSwgbWVzc2FnZS0+bWVzc2FnZU5hbWUoKSksIG1lc3NhZ2UtPmRlc3RpbmF0
aW9uSUQoKSkpOwogICAgICAgICBpZiAoaXQgIT0gbV93YWl0Rm9yTWVzc2FnZU1hcC5lbmQoKSkg
ewogICAgICAgICAgICAgaXQtPnZhbHVlID0gbWVzc2FnZS5yZWxlYXNlKCk7CiAgICAgICAgICAg
ICBBU1NFUlQoaXQtPnZhbHVlKTsKQEAgLTc3OCwxMSArNzc2LDExIEBAIHZvaWQgQ29ubmVjdGlv
bjo6ZGlkRmFpbFRvU2VuZFN5bmNNZXNzYWdlKCkKICAgICBleGl0KDApOwogfQogCi12b2lkIENv
bm5lY3Rpb246OmVucXVldWVJbmNvbWluZ01lc3NhZ2UoUGFzc093blB0cjxNZXNzYWdlRGVjb2Rl
cj4gaW5jb21pbmdNZXNzYWdlKQordm9pZCBDb25uZWN0aW9uOjplbnF1ZXVlSW5jb21pbmdNZXNz
YWdlKE93blB0cjxNZXNzYWdlRGVjb2Rlcj4gaW5jb21pbmdNZXNzYWdlKQogewogICAgIHsKICAg
ICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1faW5jb21pbmdNZXNzYWdlc0xvY2spOwotICAgICAg
ICBtX2luY29taW5nTWVzc2FnZXMuYXBwZW5kKGluY29taW5nTWVzc2FnZSk7CisgICAgICAgIG1f
aW5jb21pbmdNZXNzYWdlcy5hcHBlbmQoc3RkOjptb3ZlKGluY29taW5nTWVzc2FnZSkpOwogICAg
IH0KIAogICAgIG1fY2xpZW50UnVuTG9vcC0+ZGlzcGF0Y2goV1RGOjpiaW5kKCZDb25uZWN0aW9u
OjpkaXNwYXRjaE9uZU1lc3NhZ2UsIHRoaXMpKTsKQEAgLTc5MywxMCArNzkxLDggQEAgdm9pZCBD
b25uZWN0aW9uOjpkaXNwYXRjaE1lc3NhZ2UoTWVzc2FnZURlY29kZXImIGRlY29kZXIpCiAgICAg
bV9jbGllbnQtPmRpZFJlY2VpdmVNZXNzYWdlKHRoaXMsIGRlY29kZXIpOwogfQogCi12b2lkIENv
bm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZShQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBpbmNv
bWluZ01lc3NhZ2UpCit2b2lkIENvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2FnZShPd25QdHI8TWVz
c2FnZURlY29kZXI+IG1lc3NhZ2UpCiB7Ci0gICAgT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBtZXNz
YWdlID0gaW5jb21pbmdNZXNzYWdlOwotCiAgICAgLy8gSWYgdGhlcmUncyBubyBjbGllbnQsIHJl
dHVybi4gV2UgZG8gdGhpcyBhZnRlciBjYWxsaW5nIHJlbGVhc2VBcmd1bWVudHMgc28gdGhhdAog
ICAgIC8vIHRoZSBBcmd1bWVudERlY29kZXIgbWVzc2FnZSB3aWxsIGJlIGZyZWVkLgogICAgIGlm
ICghbV9jbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlv
bi5oCmluZGV4IGNmYWM0OGY0MjI1YzdhMWY0ZGIyMzAxY2VkMTQ0MWQ1MGJjNzQzOTguLmVmNTRj
MDY1NTZlYzk0ZTk1ODI3YmU2MTdlMmM1NTIzZTRlMWMwNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oCkBAIC0xNzMsMTEgKzE3MywxMSBAQCBwdWJs
aWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBzZW5kU3luYyhjb25zdCBUJiBtZXNz
YWdlLCBjb25zdCB0eXBlbmFtZSBUOjpSZXBseSYgcmVwbHksIHVpbnQ2NF90IGRlc3RpbmF0aW9u
SUQsIGRvdWJsZSB0aW1lb3V0ID0gTm9UaW1lb3V0LCB1bnNpZ25lZCBzeW5jU2VuZEZsYWdzID0g
MCk7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCB3YWl0Rm9yQW5kRGlzcGF0Y2hJbW1l
ZGlhdGVseSh1aW50NjRfdCBkZXN0aW5hdGlvbklELCBkb3VibGUgdGltZW91dCk7CiAKLSAgICBQ
YXNzT3duUHRyPE1lc3NhZ2VFbmNvZGVyPiBjcmVhdGVTeW5jTWVzc2FnZUVuY29kZXIoU3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIFN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFt
ZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgdWludDY0X3QmIHN5bmNSZXF1ZXN0SUQpOwotICAg
IGJvb2wgc2VuZE1lc3NhZ2UoUGFzc093blB0cjxNZXNzYWdlRW5jb2Rlcj4sIHVuc2lnbmVkIG1l
c3NhZ2VTZW5kRmxhZ3MgPSAwKTsKLSAgICBQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBzZW5k
U3luY01lc3NhZ2UodWludDY0X3Qgc3luY1JlcXVlc3RJRCwgUGFzc093blB0cjxNZXNzYWdlRW5j
b2Rlcj4sIGRvdWJsZSB0aW1lb3V0LCB1bnNpZ25lZCBzeW5jU2VuZEZsYWdzID0gMCk7Ci0gICAg
UGFzc093blB0cjxNZXNzYWdlRGVjb2Rlcj4gc2VuZFN5bmNNZXNzYWdlRnJvbVNlY29uZGFyeVRo
cmVhZCh1aW50NjRfdCBzeW5jUmVxdWVzdElELCBQYXNzT3duUHRyPE1lc3NhZ2VFbmNvZGVyPiwg
ZG91YmxlIHRpbWVvdXQpOwotICAgIGJvb2wgc2VuZFN5bmNSZXBseShQYXNzT3duUHRyPE1lc3Nh
Z2VFbmNvZGVyPik7CisgICAgT3duUHRyPE1lc3NhZ2VFbmNvZGVyPiBjcmVhdGVTeW5jTWVzc2Fn
ZUVuY29kZXIoU3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIFN0cmluZ1JlZmVy
ZW5jZSBtZXNzYWdlTmFtZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgdWludDY0X3QmIHN5bmNS
ZXF1ZXN0SUQpOworICAgIGJvb2wgc2VuZE1lc3NhZ2UoT3duUHRyPE1lc3NhZ2VFbmNvZGVyPiwg
dW5zaWduZWQgbWVzc2FnZVNlbmRGbGFncyA9IDApOworICAgIE93blB0cjxNZXNzYWdlRGVjb2Rl
cj4gc2VuZFN5bmNNZXNzYWdlKHVpbnQ2NF90IHN5bmNSZXF1ZXN0SUQsIE93blB0cjxNZXNzYWdl
RW5jb2Rlcj4sIGRvdWJsZSB0aW1lb3V0LCB1bnNpZ25lZCBzeW5jU2VuZEZsYWdzID0gMCk7Cisg
ICAgT3duUHRyPE1lc3NhZ2VEZWNvZGVyPiBzZW5kU3luY01lc3NhZ2VGcm9tU2Vjb25kYXJ5VGhy
ZWFkKHVpbnQ2NF90IHN5bmNSZXF1ZXN0SUQsIE93blB0cjxNZXNzYWdlRW5jb2Rlcj4sIGRvdWJs
ZSB0aW1lb3V0KTsKKyAgICBib29sIHNlbmRTeW5jUmVwbHkoT3duUHRyPE1lc3NhZ2VFbmNvZGVy
Pik7CiAKICAgICB2b2lkIHdha2VVcFJ1bkxvb3AoKTsKIApAQCAtMTkzLDEzICsxOTMsMTMgQEAg
cHJpdmF0ZToKICAgICAKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2NsaWVu
dDsgfQogICAgIAotICAgIFBhc3NPd25QdHI8TWVzc2FnZURlY29kZXI+IHdhaXRGb3JNZXNzYWdl
KFN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lLCBTdHJpbmdSZWZlcmVuY2UgbWVz
c2FnZU5hbWUsIHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIGRvdWJsZSB0aW1lb3V0KTsKKyAgICBP
d25QdHI8TWVzc2FnZURlY29kZXI+IHdhaXRGb3JNZXNzYWdlKFN0cmluZ1JlZmVyZW5jZSBtZXNz
YWdlUmVjZWl2ZXJOYW1lLCBTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUsIHVpbnQ2NF90IGRl
c3RpbmF0aW9uSUQsIGRvdWJsZSB0aW1lb3V0KTsKICAgICAKLSAgICBQYXNzT3duUHRyPE1lc3Nh
Z2VEZWNvZGVyPiB3YWl0Rm9yU3luY1JlcGx5KHVpbnQ2NF90IHN5bmNSZXF1ZXN0SUQsIGRvdWJs
ZSB0aW1lb3V0LCB1bnNpZ25lZCBzeW5jU2VuZEZsYWdzKTsKKyAgICBPd25QdHI8TWVzc2FnZURl
Y29kZXI+IHdhaXRGb3JTeW5jUmVwbHkodWludDY0X3Qgc3luY1JlcXVlc3RJRCwgZG91YmxlIHRp
bWVvdXQsIHVuc2lnbmVkIHN5bmNTZW5kRmxhZ3MpOwogCiAgICAgLy8gQ2FsbGVkIG9uIHRoZSBj
b25uZWN0aW9uIHdvcmsgcXVldWUuCi0gICAgdm9pZCBwcm9jZXNzSW5jb21pbmdNZXNzYWdlKFBh
c3NPd25QdHI8TWVzc2FnZURlY29kZXI+KTsKLSAgICB2b2lkIHByb2Nlc3NJbmNvbWluZ1N5bmNS
ZXBseShQYXNzT3duUHRyPE1lc3NhZ2VEZWNvZGVyPik7CisgICAgdm9pZCBwcm9jZXNzSW5jb21p
bmdNZXNzYWdlKE93blB0cjxNZXNzYWdlRGVjb2Rlcj4pOworICAgIHZvaWQgcHJvY2Vzc0luY29t
aW5nU3luY1JlcGx5KE93blB0cjxNZXNzYWdlRGVjb2Rlcj4pOwogCiAgICAgdm9pZCBhZGRXb3Jr
UXVldWVNZXNzYWdlUmVjZWl2ZXJPbkNvbm5lY3Rpb25Xb3JrUXVldWUoU3RyaW5nUmVmZXJlbmNl
IG1lc3NhZ2VSZWNlaXZlck5hbWUsIFdvcmtRdWV1ZSosIFdvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZl
ciopOwogICAgIHZvaWQgcmVtb3ZlV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyT25Db25uZWN0aW9u
V29ya1F1ZXVlKFN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lKTsKQEAgLTIwOCwy
MCArMjA4LDIwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBjYW5TZW5kT3V0Z29pbmdNZXNzYWdlcygp
IGNvbnN0OwogICAgIGJvb2wgcGxhdGZvcm1DYW5TZW5kT3V0Z29pbmdNZXNzYWdlcygpIGNvbnN0
OwogICAgIHZvaWQgc2VuZE91dGdvaW5nTWVzc2FnZXMoKTsKLSAgICBib29sIHNlbmRPdXRnb2lu
Z01lc3NhZ2UoUGFzc093blB0cjxNZXNzYWdlRW5jb2Rlcj4pOworICAgIGJvb2wgc2VuZE91dGdv
aW5nTWVzc2FnZShPd25QdHI8TWVzc2FnZUVuY29kZXI+KTsKICAgICB2b2lkIGNvbm5lY3Rpb25E
aWRDbG9zZSgpOwogICAgIAogICAgIC8vIENhbGxlZCBvbiB0aGUgbGlzdGVuZXIgdGhyZWFkLgog
ICAgIHZvaWQgZGlzcGF0Y2hDb25uZWN0aW9uRGlkQ2xvc2UoKTsKICAgICB2b2lkIGRpc3BhdGNo
T25lTWVzc2FnZSgpOwotICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdlKFBhc3NPd25QdHI8TWVzc2Fn
ZURlY29kZXI+KTsKKyAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZShPd25QdHI8TWVzc2FnZURlY29k
ZXI+KTsKICAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZShNZXNzYWdlRGVjb2RlciYpOwogICAgIHZv
aWQgZGlzcGF0Y2hTeW5jTWVzc2FnZShNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlzcGF0
Y2hEaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoY29uc3QgQ1N0cmluZyYgbWVzc2FnZVJlY2VpdmVy
TmFtZVN0cmluZywgY29uc3QgQ1N0cmluZyYgbWVzc2FnZU5hbWVTdHJpbmcpOwogICAgIHZvaWQg
ZGlkRmFpbFRvU2VuZFN5bmNNZXNzYWdlKCk7CiAKICAgICAvLyBDYW4gYmUgY2FsbGVkIG9uIGFu
eSB0aHJlYWQuCi0gICAgdm9pZCBlbnF1ZXVlSW5jb21pbmdNZXNzYWdlKFBhc3NPd25QdHI8TWVz
c2FnZURlY29kZXI+KTsKKyAgICB2b2lkIGVucXVldWVJbmNvbWluZ01lc3NhZ2UoT3duUHRyPE1l
c3NhZ2VEZWNvZGVyPik7CiAKICAgICBDbGllbnQqIG1fY2xpZW50OwogICAgIGJvb2wgbV9pc1Nl
cnZlcjsKQEAgLTI2MSwzMiArMjYxLDIyIEBAIHByaXZhdGU6CiAKICAgICAgICAgLy8gVGhlIHJl
cGx5IGRlY29kZXIsIHdpbGwgYmUgbnVsbCBpZiB0aGVyZSB3YXMgYW4gZXJyb3IgcHJvY2Vzc2lu
ZyB0aGUgc3luYwogICAgICAgICAvLyBtZXNzYWdlIG9uIHRoZSBvdGhlciBzaWRlLgotICAgICAg
ICBNZXNzYWdlRGVjb2RlciogcmVwbHlEZWNvZGVyOworICAgICAgICBPd25QdHI8TWVzc2FnZURl
Y29kZXI+IHJlcGx5RGVjb2RlcjsKIAogICAgICAgICAvLyBXaWxsIGJlIHNldCB0byB0cnVlIG9u
Y2UgYSByZXBseSBoYXMgYmVlbiByZWNlaXZlZC4KICAgICAgICAgYm9vbCBkaWRSZWNlaXZlUmVw
bHk7CiAgICAgCiAgICAgICAgIFBlbmRpbmdTeW5jUmVwbHkoKQogICAgICAgICAgICAgOiBzeW5j
UmVxdWVzdElEKDApCi0gICAgICAgICAgICAsIHJlcGx5RGVjb2RlcigwKQogICAgICAgICAgICAg
LCBkaWRSZWNlaXZlUmVwbHkoZmFsc2UpCiAgICAgICAgIHsKICAgICAgICAgfQogCiAgICAgICAg
IGV4cGxpY2l0IFBlbmRpbmdTeW5jUmVwbHkodWludDY0X3Qgc3luY1JlcXVlc3RJRCkKICAgICAg
ICAgICAgIDogc3luY1JlcXVlc3RJRChzeW5jUmVxdWVzdElEKQotICAgICAgICAgICAgLCByZXBs
eURlY29kZXIoMCkKICAgICAgICAgICAgICwgZGlkUmVjZWl2ZVJlcGx5KDApCiAgICAgICAgIHsK
ICAgICAgICAgfQotCi0gICAgICAgIFBhc3NPd25QdHI8TWVzc2FnZURlY29kZXI+IHJlbGVhc2VS
ZXBseURlY29kZXIoKQotICAgICAgICB7Ci0gICAgICAgICAgICBPd25QdHI8TWVzc2FnZURlY29k
ZXI+IHJlcGx5ID0gYWRvcHRQdHIocmVwbHlEZWNvZGVyKTsKLSAgICAgICAgICAgIHJlcGx5RGVj
b2RlciA9IDA7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHJldHVybiByZXBseS5yZWxlYXNl
KCk7Ci0gICAgICAgIH0KICAgICB9OwogCiAgICAgY2xhc3MgU3luY01lc3NhZ2VTdGF0ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvbWFjL0Nvbm5lY3Rpb25N
YWMuY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9tYWMvQ29ubmVjdGlvbk1h
Yy5jcHAKaW5kZXggZTExMTM1MGMzYWUyODgzOGY5ZWUyNTBiYzc5ZDczOTU2NzM4YjUzMS4uNDY3
MWFmMDBkNzUwOWU0NWNjMmE5OGRlNDllNmIwYzA3MGEyODZkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9tYWMvQ29ubmVjdGlvbk1hYy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9tYWMvQ29ubmVjdGlvbk1hYy5jcHAKQEAgLTE5
OCw3ICsxOTgsNyBAQCBib29sIENvbm5lY3Rpb246OnBsYXRmb3JtQ2FuU2VuZE91dGdvaW5nTWVz
c2FnZXMoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIENvbm5lY3Rpb246OnNl
bmRPdXRnb2luZ01lc3NhZ2UoUGFzc093blB0cjxNZXNzYWdlRW5jb2Rlcj4gZW5jb2RlcikKK2Jv
b2wgQ29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZShPd25QdHI8TWVzc2FnZUVuY29kZXI+
IGVuY29kZXIpCiB7CiAgICAgVmVjdG9yPEF0dGFjaG1lbnQ+IGF0dGFjaG1lbnRzID0gZW5jb2Rl
ci0+cmVsZWFzZUF0dGFjaG1lbnRzKCk7CiAgICAgCg==
</data>
<flag name="review"
          id="233955"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>