<?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>65374</bug_id>
          
          <creation_ts>2011-07-29 06:52:32 -0700</creation_ts>
          <short_desc>WebSocket: Rename SocketStreamHandleClient member functions</short_desc>
          <delta_ts>2011-08-01 00:27:05 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>65249</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuta Kitamura">yutak</reporter>
          <assigned_to name="Yuta Kitamura">yutak</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>443928</commentid>
    <comment_count>0</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-29 06:52:32 -0700</bug_when>
    <thetext>To implement WebSocket binary messages (bug 65249), I happened to know the names of SocketStreamHandleClient methods conflict with FileReaderLoaderClient methods (which will be used to load a Blob content).

SocketStreamHandleClient:
    virtual void didReceiveData(SocketStreamHandle*, const char*, int);
    virtual void didFail(SocketStreamHandle*, const SocketStreamError&amp;);

FileReaderLoaderClient:
    virtual void didReceiveData();
    virtual void didFail();

I think it&apos;s impossible to write a class deriving from these classes (a method from one class may hide one from the other, maybe?). Even if it&apos;s valid, it&apos;s extremely confusing to have both, so I&apos;d like to rename SocketStreamHandleClient methods to avoid this clash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443929</commentid>
    <comment_count>1</comment_count>
      <attachid>102357</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-29 06:57:28 -0700</bug_when>
    <thetext>Created attachment 102357
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444486</commentid>
    <comment_count>2</comment_count>
      <attachid>102357</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-31 19:28:54 -0700</bug_when>
    <thetext>Comment on attachment 102357
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        WebSocket: Rename SocketStreamHandleClient methods

nit: In C++, they are called &quot;member function&quot;, not &quot;method&quot;.

&gt; Source/WebCore/ChangeLog:8
&gt; +        Rename SocketStreamHandleClient methods to avoid conflict of the names of FileReaderLoaderClient methods.

ditto.

&gt; Source/WebCore/websockets/WebSocketChannel.h:68
&gt; +        // SocketStreamHandleClient methods.

ditto.

&gt; Source/WebKit/chromium/ChangeLog:3
&gt; +        WebSocket: Rename SocketStreamHandleClient methods

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444530</commentid>
    <comment_count>3</comment_count>
      <attachid>102480</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-31 23:06:06 -0700</bug_when>
    <thetext>Created attachment 102480
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444533</commentid>
    <comment_count>4</comment_count>
      <attachid>102482</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-07-31 23:12:33 -0700</bug_when>
    <thetext>Created attachment 102482
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444552</commentid>
    <comment_count>5</comment_count>
      <attachid>102482</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-01 00:27:00 -0700</bug_when>
    <thetext>Comment on attachment 102482
Patch for landing

Clearing flags on attachment: 102482

Committed r92102: &lt;http://trac.webkit.org/changeset/92102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444553</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-01 00:27:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102357</attachid>
            <date>2011-07-29 06:57:28 -0700</date>
            <delta_ts>2011-07-31 23:06:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65374-20110729225727.patch</filename>
            <type>text/plain</type>
            <size>21859</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE5NDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5YzdmNDMxOWYwNTU3ZGNi
N2IyYzM5OTA2M2U4YmQ3NmYzOGNmYTExLi42OWJkZDE3N2VjNDY2YzNhMjNjYmJiYzA3YTlmNzhm
OWJjNzNhZGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMTEtMDctMjkgIFl1dGEg
S2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViU29ja2V0OiBSZW5h
bWUgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVu
dCBtZXRob2RzIHRvIGF2b2lkIGNvbmZsaWN0IG9mIHRoZSBuYW1lcyBvZiBGaWxlUmVhZGVyTG9h
ZGVyQ2xpZW50IG1ldGhvZHMuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLCB0aHVz
IG5vIG5ldyB0ZXN0cyBhcmUgYWRkZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Nv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50OjpkaWRPcGVuU29ja2V0U3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlNv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudDo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0pOgorICAgICAgICAo
V2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50OjpkaWRSZWNlaXZlU29ja2V0U3RyZWFt
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQ6OmRpZEZh
aWxTb2NrZXRTdHJlYW0pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYnJldy9Tb2NrZXRT
dHJlYW1IYW5kbGVCcmV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRs
ZVByaXZhdGU6OnNvY2tldENvbm5lY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJl
YW1IYW5kbGVQcml2YXRlOjpzb2NrZXRSZWFkeVJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6U29j
a2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q2xvc2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldEVycm9yKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZUNGTmV0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6YWRkQ09OTkVDVENyZWRlbnRpYWxzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6cmVhZFN0cmVhbUNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZTo6d3JpdGVTdHJlYW1DYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnJlcG9ydEVycm9yVG9DbGll
bnQpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybUNsb3Nl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldENv
bm5lY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpz
b2NrZXRSZWFkeVJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlUHJp
dmF0ZTo6c29ja2V0Q2xvc2VkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3Ry
ZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0RXJyb3JDYWxsYmFjayk6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjpjb25uZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6
U29ja2V0U3RyZWFtSGFuZGxlOjpyZWFkQnl0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0
U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybVNlbmQpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3Ry
ZWFtSGFuZGxlOjpwbGF0Zm9ybUNsb3NlKToKKyAgICAgICAgKiB3ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3Bl
blNvY2tldFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpkaWRD
bG9zZVNvY2tldFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpk
aWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXRD
aGFubmVsOjpkaWRGYWlsU29ja2V0U3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tl
dENoYW5uZWw6OnJlc3VtZVRpbWVyRmlyZWQpOgorICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29j
a2V0Q2hhbm5lbC5oOgorCiAyMDExLTA3LTI4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxl
LmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjUzMjMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0
U3RyZWFtSGFuZGxlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Nv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudC5oCmluZGV4IDVkOTdlYzBjNzFkZWRjZDJkMDA2YTZlMjA0
Y2I0ZmI2YmY3NTljYjIuLjVhZmZkMzNhYWY0MTJhNjQyNDkyNDU3OWI4ZTY1MWU3YTViYjdhMjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2Nr
ZXRTdHJlYW1IYW5kbGVDbGllbnQuaApAQCAtNDMsMTEgKzQzLDExIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflNvY2tldFN0cmVhbUhhbmRsZUNs
aWVudCgpIHsgfQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRPcGVuKFNvY2tldFN0cmVhbUhh
bmRsZSopIHsgfQotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoU29ja2V0U3RyZWFtSGFu
ZGxlKikgeyB9Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShTb2NrZXRTdHJl
YW1IYW5kbGUqLCBjb25zdCBjaGFyKiAvKmRhdGEqLywgaW50IC8qbGVuZ3RoKi8pIHsgfQorICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUq
KSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlU29ja2V0U3RyZWFtKFNvY2tldFN0
cmVhbUhhbmRsZSopIHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVNvY2tldFN0
cmVhbURhdGEoU29ja2V0U3RyZWFtSGFuZGxlKiwgY29uc3QgY2hhciogLypkYXRhKi8sIGludCAv
Kmxlbmd0aCovKSB7IH0KIAotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChTb2NrZXRTdHJl
YW1IYW5kbGUqLCBjb25zdCBTb2NrZXRTdHJlYW1FcnJvciYpIHsgfQorICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlkRmFpbFNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUqLCBjb25zdCBTb2Nr
ZXRTdHJlYW1FcnJvciYpIHsgfQogCiAgICAgICAgIC8vIE5vIGF1dGhlbnRpY2F0aW9uIGZvciBz
dHJlYW1zIHBlciBzZSwgYnV0IHByb3h5IG1heSBhc2sgZm9yIGNyZWRlbnRpYWxzLgogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFNvY2tldFN0
cmVhbUhhbmRsZSosIGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JyZXcvU29ja2V0U3RyZWFtSGFu
ZGxlQnJldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JyZXcvU29ja2V0
U3RyZWFtSGFuZGxlQnJldy5jcHAKaW5kZXggNWRjOTI1ZTViZjk0ZjRjZTRkZTM5YjY1MzljNjEz
MjNlYzljMjkwMy4uMDQ3NmY1ZTU0ZjhhZDgwODliODMwNDdjOWJkNzE3N2FhYjNjMTU2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9icmV3L1NvY2tldFN0cmVh
bUhhbmRsZUJyZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYnJl
dy9Tb2NrZXRTdHJlYW1IYW5kbGVCcmV3LmNwcApAQCAtMTEzLDcgKzExMyw3IEBAIHZvaWQgU29j
a2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q29ubmVjdGVkKCkKIHsKICAgICBpZiAobV9z
dHJlYW1IYW5kbGUgJiYgbV9zdHJlYW1IYW5kbGUtPmNsaWVudCgpKSB7CiAgICAgICAgIG1fc3Ry
ZWFtSGFuZGxlLT5tX3N0YXRlID0gU29ja2V0U3RyZWFtSGFuZGxlQmFzZTo6T3BlbjsKLSAgICAg
ICAgbV9zdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRPcGVuKG1fc3RyZWFtSGFuZGxlKTsKKyAg
ICAgICAgbV9zdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRPcGVuU29ja2V0U3RyZWFtKG1fc3Ry
ZWFtSGFuZGxlKTsKICAgICB9CiAKICAgICBJU09DS0VUX1JlYWRhYmxlKG1fc29ja2V0LmdldCgp
LCBzb2NrZXRSZWFkYWJsZUNhbGxiYWNrLCB0aGlzKTsKQEAgLTEzMCw3ICsxMzAsNyBAQCB2b2lk
IFNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldFJlYWR5UmVhZCgpCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBtX3N0cmVhbUhhbmRsZS0+Y2xpZW50KCkt
PmRpZFJlY2VpdmVEYXRhKG1fc3RyZWFtSGFuZGxlLCBidWZmZXIuZGF0YSgpLCByZWFkU2l6ZSk7
CisgICAgICAgIG1fc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZVNvY2tldFN0cmVh
bURhdGEobV9zdHJlYW1IYW5kbGUsIGJ1ZmZlci5kYXRhKCksIHJlYWRTaXplKTsKICAgICB9CiAK
ICAgICBJU09DS0VUX1JlYWRhYmxlKG1fc29ja2V0LmdldCgpLCBzb2NrZXRSZWFkYWJsZUNhbGxi
YWNrLCB0aGlzKTsKQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZVBy
aXZhdGU6OnNvY2tldENsb3NlZCgpCiAgICAgICAgIFNvY2tldFN0cmVhbUhhbmRsZSogc3RyZWFt
SGFuZGxlID0gbV9zdHJlYW1IYW5kbGU7CiAgICAgICAgIG1fc3RyZWFtSGFuZGxlID0gMDsKICAg
ICAgICAgLy8gVGhpcyBmb2xsb3dpbmcgY2FsbCBkZWxldGVzIF90aGlzXy4gTm90aGluZyBzaG91
bGQgYmUgYWZ0ZXIgaXQuCi0gICAgICAgIHN0cmVhbUhhbmRsZS0+Y2xpZW50KCktPmRpZENsb3Nl
KHN0cmVhbUhhbmRsZSk7CisgICAgICAgIHN0cmVhbUhhbmRsZS0+Y2xpZW50KCktPmRpZENsb3Nl
U29ja2V0U3RyZWFtKHN0cmVhbUhhbmRsZSk7CiAgICAgfQogfQogCkBAIC0xNzcsNyArMTc3LDcg
QEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRFcnJvcihpbnQgZXJyb3Ip
CiAgICAgICAgIFNvY2tldFN0cmVhbUhhbmRsZSogc3RyZWFtSGFuZGxlID0gbV9zdHJlYW1IYW5k
bGU7CiAgICAgICAgIG1fc3RyZWFtSGFuZGxlID0gMDsKICAgICAgICAgLy8gVGhpcyBmb2xsb3dp
bmcgY2FsbCBkZWxldGVzIF90aGlzXy4gTm90aGluZyBzaG91bGQgYmUgYWZ0ZXIgaXQuCi0gICAg
ICAgIHN0cmVhbUhhbmRsZS0+Y2xpZW50KCktPmRpZENsb3NlKHN0cmVhbUhhbmRsZSk7CisgICAg
ICAgIHN0cmVhbUhhbmRsZS0+Y2xpZW50KCktPmRpZENsb3NlU29ja2V0U3RyZWFtKHN0cmVhbUhh
bmRsZSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1NvY2tldFN0cmVhbUhhbmRsZUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQuY3BwCmluZGV4IDViZGMx
YTZkMGYzMWJiMTA3ZDE5MjgwM2EyZjY1MWE2YzUzZWEwYTAuLmEzNTg4MzIzODc4ZmRkMDQ5NTkw
OTdkYTc0OGU3YzM5MzFiMTgwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQuY3BwCkBAIC0z
MjksNyArMzI5LDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGU6OmFkZENPTk5FQ1RDcmVkZW50
aWFscyhDRkhUVFBNZXNzYWdlUmVmIHByb3h5UmVzcG9uc2UpCiAKICAgICBpZiAoIUNGSFRUUEF1
dGhlbnRpY2F0aW9uUmVxdWlyZXNVc2VyTmFtZUFuZFBhc3N3b3JkKGF1dGhlbnRpY2F0aW9uLmdl
dCgpKSkgewogICAgICAgICAvLyBUaGF0J3MgYWxsIHdlIGNhbiBvZmZlci4uLgotICAgICAgICBt
X2NsaWVudC0+ZGlkRmFpbCh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6IFBy
b3ZpZGUgYSBzZW5zaWJsZSBlcnJvci4KKyAgICAgICAgbV9jbGllbnQtPmRpZEZhaWxTb2NrZXRT
dHJlYW0odGhpcywgU29ja2V0U3RyZWFtRXJyb3IoKSk7IC8vIEZJWE1FOiBQcm92aWRlIGEgc2Vu
c2libGUgZXJyb3IuCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTM1NCw3ICszNTQsNyBA
QCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6YWRkQ09OTkVDVENyZWRlbnRpYWxzKENGSFRUUE1l
c3NhZ2VSZWYgcHJveHlSZXNwb25zZSkKIAogICAgICAgICBpZiAoIXByb3h5QXV0aG9yaXphdGlv
blN0cmluZykgewogICAgICAgICAgICAgLy8gRmFpbHMgZS5nLiBmb3IgTlRMTSBhdXRoLgotICAg
ICAgICAgICAgbV9jbGllbnQtPmRpZEZhaWwodGhpcywgU29ja2V0U3RyZWFtRXJyb3IoKSk7IC8v
IEZJWE1FOiBQcm92aWRlIGEgc2Vuc2libGUgZXJyb3IuCisgICAgICAgICAgICBtX2NsaWVudC0+
ZGlkRmFpbFNvY2tldFN0cmVhbSh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6
IFByb3ZpZGUgYSBzZW5zaWJsZSBlcnJvci4KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogCkBAIC0zNjYsNyArMzY2LDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGU6OmFkZENPTk5F
Q1RDcmVkZW50aWFscyhDRkhUVFBNZXNzYWdlUmVmIHByb3h5UmVzcG9uc2UpCiAKICAgICAvLyBG
SVhNRTogQXNrIHRoZSBjbGllbnQgaWYgY3JlZGVudGlhbHMgY291bGQgbm90IGJlIGZvdW5kLgog
Ci0gICAgbV9jbGllbnQtPmRpZEZhaWwodGhpcywgU29ja2V0U3RyZWFtRXJyb3IoKSk7IC8vIEZJ
WE1FOiBQcm92aWRlIGEgc2Vuc2libGUgZXJyb3IuCisgICAgbV9jbGllbnQtPmRpZEZhaWxTb2Nr
ZXRTdHJlYW0odGhpcywgU29ja2V0U3RyZWFtRXJyb3IoKSk7IC8vIEZJWE1FOiBQcm92aWRlIGEg
c2Vuc2libGUgZXJyb3IuCiB9CiAKIENGU3RyaW5nUmVmIFNvY2tldFN0cmVhbUhhbmRsZTo6Y29w
eUNGU3RyZWFtRGVzY3JpcHRpb24odm9pZCogaW5mbykKQEAgLTQ0NSw3ICs0NDUsNyBAQCB2b2lk
IFNvY2tldFN0cmVhbUhhbmRsZTo6cmVhZFN0cmVhbUNhbGxiYWNrKENGU3RyZWFtRXZlbnRUeXBl
IHR5cGUpCiAgICAgICAgICAgICBtX3N0YXRlID0gT3BlbjsKIAogICAgICAgICAgICAgUmVmUHRy
PFNvY2tldFN0cmVhbUhhbmRsZT4gcHJvdGVjdCh0aGlzKTsgLy8gVGhlIGNsaWVudCBjYW4gY2xv
c2UgdGhlIGhhbmRsZSwgcG90ZW50aWFsbHkgcmVtb3ZpbmcgdGhlIGxhc3QgcmVmZXJlbmNlLgot
ICAgICAgICAgICAgbV9jbGllbnQtPmRpZE9wZW4odGhpcyk7CisgICAgICAgICAgICBtX2NsaWVu
dC0+ZGlkT3BlblNvY2tldFN0cmVhbSh0aGlzKTsKICAgICAgICAgICAgIGlmIChtX3N0YXRlID09
IENsb3NlZCkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIC8vIEZhbGwgdGhy
b3VnaC4KQEAgLTQ2Myw3ICs0NjMsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6cmVhZFN0
cmVhbUNhbGxiYWNrKENGU3RyZWFtRXZlbnRUeXBlIHR5cGUpCiAgICAgICAgICAgICBwdHIgPSBs
b2NhbEJ1ZmZlcjsKICAgICAgICAgfQogCi0gICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0
YSh0aGlzLCByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihwdHIpLCBsZW5ndGgpOworICAg
ICAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZVNvY2tldFN0cmVhbURhdGEodGhpcywgcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBjaGFyKj4ocHRyKSwgbGVuZ3RoKTsKIAogICAgICAgICBicmVhazsKICAg
ICB9CkBAIC01MDQsNyArNTA0LDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGU6OndyaXRlU3Ry
ZWFtQ2FsbGJhY2soQ0ZTdHJlYW1FdmVudFR5cGUgdHlwZSkKICAgICAgICAgICAgIG1fc3RhdGUg
PSBPcGVuOwogCiAgICAgICAgICAgICBSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBwcm90ZWN0
KHRoaXMpOyAvLyBUaGUgY2xpZW50IGNhbiBjbG9zZSB0aGUgaGFuZGxlLCBwb3RlbnRpYWxseSBy
ZW1vdmluZyB0aGUgbGFzdCByZWZlcmVuY2UuCi0gICAgICAgICAgICBtX2NsaWVudC0+ZGlkT3Bl
bih0aGlzKTsKKyAgICAgICAgICAgIG1fY2xpZW50LT5kaWRPcGVuU29ja2V0U3RyZWFtKHRoaXMp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtNTQzLDcgKzU0Myw3IEBAIHZv
aWQgU29ja2V0U3RyZWFtSGFuZGxlOjpyZXBvcnRFcnJvclRvQ2xpZW50KENGRXJyb3JSZWYgZXJy
b3IpCiAgICAgICAgIGRlc2NyaXB0aW9uID0gU3RyaW5nKGRlc2NyaXB0aW9uQ0YuZ2V0KCkpOwog
ICAgIH0KIAotICAgIG1fY2xpZW50LT5kaWRGYWlsKHRoaXMsIFNvY2tldFN0cmVhbUVycm9yKHN0
YXRpY19jYXN0PGludD4oZXJyb3JDb2RlKSwgbV91cmwuc3RyaW5nKCksIGRlc2NyaXB0aW9uKSk7
CisgICAgbV9jbGllbnQtPmRpZEZhaWxTb2NrZXRTdHJlYW0odGhpcywgU29ja2V0U3RyZWFtRXJy
b3Ioc3RhdGljX2Nhc3Q8aW50PihlcnJvckNvZGUpLCBtX3VybC5zdHJpbmcoKSwgZGVzY3JpcHRp
b24pKTsKIH0KIAogU29ja2V0U3RyZWFtSGFuZGxlOjp+U29ja2V0U3RyZWFtSGFuZGxlKCkKQEAg
LTU3MSw3ICs1NzEsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1DbG9zZSgp
CiAgICAgQVNTRVJUKCFtX3JlYWRTdHJlYW0gPT0gIW1fd3JpdGVTdHJlYW0pOwogICAgIGlmICgh
bV9yZWFkU3RyZWFtKSB7CiAgICAgICAgIGlmIChtX2Nvbm5lY3RpbmdTdWJzdGF0ZSA9PSBOZXcg
fHwgbV9jb25uZWN0aW5nU3Vic3RhdGUgPT0gRXhlY3V0aW5nUEFDRmlsZSkKLSAgICAgICAgICAg
IG1fY2xpZW50LT5kaWRDbG9zZSh0aGlzKTsKKyAgICAgICAgICAgIG1fY2xpZW50LT5kaWRDbG9z
ZVNvY2tldFN0cmVhbSh0aGlzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTg5LDcg
KzU4OSw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybUNsb3NlKCkKICAgICBt
X3JlYWRTdHJlYW0gPSAwOwogICAgIG1fd3JpdGVTdHJlYW0gPSAwOwogCi0gICAgbV9jbGllbnQt
PmRpZENsb3NlKHRoaXMpOworICAgIG1fY2xpZW50LT5kaWRDbG9zZVNvY2tldFN0cmVhbSh0aGlz
KTsKIH0KIAogdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGU6OnJlY2VpdmVkQ3JlZGVudGlhbChjb25z
dCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IENyZWRlbnRpYWwmKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9Tb2NrZXRTdHJlYW1IYW5kbGVR
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhh
bmRsZVF0LmNwcAppbmRleCAxMDU1MGFlNzYxNjIwOTNkMjhiNDNhMGJkMWQxMjllOGMyNzllMjc1
Li4yOTQyMDQxY2ZkMTFhMTI2ZWIwNjUyZDIxMDZjNmFlNGYxZDQ5MzJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhh
bmRsZVF0LmNwcApAQCAtODMsNyArODMsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZVByaXZh
dGU6OnNvY2tldENvbm5lY3RlZCgpCiB7CiAgICAgaWYgKG1fc3RyZWFtSGFuZGxlICYmIG1fc3Ry
ZWFtSGFuZGxlLT5jbGllbnQoKSkgewogICAgICAgICBtX3N0cmVhbUhhbmRsZS0+bV9zdGF0ZSA9
IFNvY2tldFN0cmVhbUhhbmRsZUJhc2U6Ok9wZW47Ci0gICAgICAgIG1fc3RyZWFtSGFuZGxlLT5j
bGllbnQoKS0+ZGlkT3BlbihtX3N0cmVhbUhhbmRsZSk7CisgICAgICAgIG1fc3RyZWFtSGFuZGxl
LT5jbGllbnQoKS0+ZGlkT3BlblNvY2tldFN0cmVhbShtX3N0cmVhbUhhbmRsZSk7CiAgICAgfQog
fQogCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29j
a2V0UmVhZHlSZWFkKCkKIHsKICAgICBpZiAobV9zdHJlYW1IYW5kbGUgJiYgbV9zdHJlYW1IYW5k
bGUtPmNsaWVudCgpKSB7CiAgICAgICAgIFFCeXRlQXJyYXkgZGF0YSA9IG1fc29ja2V0LT5yZWFk
KG1fc29ja2V0LT5ieXRlc0F2YWlsYWJsZSgpKTsKLSAgICAgICAgbV9zdHJlYW1IYW5kbGUtPmNs
aWVudCgpLT5kaWRSZWNlaXZlRGF0YShtX3N0cmVhbUhhbmRsZSwgZGF0YS5jb25zdERhdGEoKSwg
ZGF0YS5zaXplKCkpOworICAgICAgICBtX3N0cmVhbUhhbmRsZS0+Y2xpZW50KCktPmRpZFJlY2Vp
dmVTb2NrZXRTdHJlYW1EYXRhKG1fc3RyZWFtSGFuZGxlLCBkYXRhLmNvbnN0RGF0YSgpLCBkYXRh
LnNpemUoKSk7CiAgICAgfQogfQogCkBAIC0xMzIsNyArMTMyLDcgQEAgdm9pZCBTb2NrZXRTdHJl
YW1IYW5kbGVQcml2YXRlOjpzb2NrZXRDbG9zZWRDYWxsYmFjaygpCiAgICAgICAgIFNvY2tldFN0
cmVhbUhhbmRsZSogc3RyZWFtSGFuZGxlID0gbV9zdHJlYW1IYW5kbGU7CiAgICAgICAgIG1fc3Ry
ZWFtSGFuZGxlID0gMDsKICAgICAgICAgLy8gVGhpcyBmb2xsb3dpbmcgY2FsbCBkZWxldGVzIF90
aGlzXy4gTm90aGluZyBzaG91bGQgYmUgYWZ0ZXIgaXQuCi0gICAgICAgIHN0cmVhbUhhbmRsZS0+
Y2xpZW50KCktPmRpZENsb3NlKHN0cmVhbUhhbmRsZSk7CisgICAgICAgIHN0cmVhbUhhbmRsZS0+
Y2xpZW50KCktPmRpZENsb3NlU29ja2V0U3RyZWFtKHN0cmVhbUhhbmRsZSk7CiAgICAgfQogfQog
CkBAIC0xNDMsNyArMTQzLDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2Nr
ZXRFcnJvckNhbGxiYWNrKGludCBlcnJvcikKICAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKiBz
dHJlYW1IYW5kbGUgPSBtX3N0cmVhbUhhbmRsZTsKICAgICAgICAgbV9zdHJlYW1IYW5kbGUgPSAw
OwogICAgICAgICAvLyBUaGlzIGZvbGxvd2luZyBjYWxsIGRlbGV0ZXMgX3RoaXNfLiBOb3RoaW5n
IHNob3VsZCBiZSBhZnRlciBpdC4KLSAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlk
Q2xvc2Uoc3RyZWFtSGFuZGxlKTsKKyAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlk
Q2xvc2VTb2NrZXRTdHJlYW0oc3RyZWFtSGFuZGxlKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVT
b3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJl
YW1IYW5kbGVTb3VwLmNwcAppbmRleCAxZjlkNGU4ZDJjYmVlZDEyZjE1MzY2OTkyM2Y3MjA4Zjk2
Nzk0MmJlLi5jNTJlZmY0OTVmZWQ3MDZiYWM2Y2QwYmJjNzJkNGFhMmFhNzk0YmJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFu
ZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Nv
Y2tldFN0cmVhbUhhbmRsZVNvdXAuY3BwCkBAIC0xMDIsNyArMTAyLDcgQEAgU29ja2V0U3RyZWFt
SGFuZGxlOjp+U29ja2V0U3RyZWFtSGFuZGxlKCkKIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpj
b25uZWN0ZWQoR1NvY2tldENvbm5lY3Rpb24qIHNvY2tldENvbm5lY3Rpb24sIEdFcnJvciogZXJy
b3IpCiB7CiAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIG1fY2xpZW50LT5kaWRGYWlsKHRoaXMs
IFNvY2tldFN0cmVhbUVycm9yKGVycm9yLT5jb2RlKSk7CisgICAgICAgIG1fY2xpZW50LT5kaWRG
YWlsU29ja2V0U3RyZWFtKHRoaXMsIFNvY2tldFN0cmVhbUVycm9yKGVycm9yLT5jb2RlKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lkIFNvY2tldFN0
cmVhbUhhbmRsZTo6Y29ubmVjdGVkKEdTb2NrZXRDb25uZWN0aW9uKiBzb2NrZXRDb25uZWN0aW9u
LCBHRXJyb3IqCiAgICAgLy8gVGhlIGNsaWVudCBjYW4gY2xvc2UgdGhlIGhhbmRsZSwgcG90ZW50
aWFsbHkgcmVtb3ZpbmcgdGhlIGxhc3QgcmVmZXJlbmNlLgogICAgIFJlZlB0cjxTb2NrZXRTdHJl
YW1IYW5kbGU+IHByb3RlY3QodGhpcyk7IAogICAgIG1fc3RhdGUgPSBPcGVuOwotICAgIG1fY2xp
ZW50LT5kaWRPcGVuKHRoaXMpOworICAgIG1fY2xpZW50LT5kaWRPcGVuU29ja2V0U3RyZWFtKHRo
aXMpOwogICAgIGlmICghbV9zb2NrZXRDb25uZWN0aW9uKSAvLyBDbGllbnQgY2xvc2VkIHRoZSBj
b25uZWN0aW9uLgogICAgICAgICByZXR1cm47CiB9CkBAIC0xMjUsNyArMTI1LDcgQEAgdm9pZCBT
b2NrZXRTdHJlYW1IYW5kbGU6OmNvbm5lY3RlZChHU29ja2V0Q29ubmVjdGlvbiogc29ja2V0Q29u
bmVjdGlvbiwgR0Vycm9yKgogdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGU6OnJlYWRCeXRlcyhzaWdu
ZWQgbG9uZyBieXRlc1JlYWQsIEdFcnJvciogZXJyb3IpCiB7CiAgICAgaWYgKGVycm9yKSB7Ci0g
ICAgICAgIG1fY2xpZW50LT5kaWRGYWlsKHRoaXMsIFNvY2tldFN0cmVhbUVycm9yKGVycm9yLT5j
b2RlKSk7CisgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsU29ja2V0U3RyZWFtKHRoaXMsIFNvY2tl
dFN0cmVhbUVycm9yKGVycm9yLT5jb2RlKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAg
LTEzNiw3ICsxMzYsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6cmVhZEJ5dGVzKHNpZ25l
ZCBsb25nIGJ5dGVzUmVhZCwgR0Vycm9yKiBlcnJvcikKIAogICAgIC8vIFRoZSBjbGllbnQgY2Fu
IGNsb3NlIHRoZSBoYW5kbGUsIHBvdGVudGlhbGx5IHJlbW92aW5nIHRoZSBsYXN0IHJlZmVyZW5j
ZS4KICAgICBSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBwcm90ZWN0KHRoaXMpOyAKLSAgICBt
X2NsaWVudC0+ZGlkUmVjZWl2ZURhdGEodGhpcywgbV9yZWFkQnVmZmVyLCBieXRlc1JlYWQpOwor
ICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YSh0aGlzLCBtX3JlYWRCdWZm
ZXIsIGJ5dGVzUmVhZCk7CiAgICAgaWYgKG1faW5wdXRTdHJlYW0pIC8vIFRoZSBjbGllbnQgbWF5
IGhhdmUgY2xvc2VkIHRoZSBjb25uZWN0aW9uLgogICAgICAgICBnX2lucHV0X3N0cmVhbV9yZWFk
X2FzeW5jKG1faW5wdXRTdHJlYW0uZ2V0KCksIG1fcmVhZEJ1ZmZlciwgUkVBRF9CVUZGRVJfU0la
RSwgR19QUklPUklUWV9ERUZBVUxULCAwLAogICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxH
QXN5bmNSZWFkeUNhbGxiYWNrPihyZWFkUmVhZHlDYWxsYmFjayksIG1faWQpOwpAQCAtMTYzLDcg
KzE2Myw3IEBAIGludCBTb2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtU2VuZChjb25zdCBjaGFy
KiBkYXRhLCBpbnQgbGVuZ3RoKQogICAgIEdPd25QdHI8R0Vycm9yPiBlcnJvcjsKICAgICBnc3Np
emUgd3JpdHRlbiA9IGdfcG9sbGFibGVfb3V0cHV0X3N0cmVhbV93cml0ZV9ub25ibG9ja2luZyht
X291dHB1dFN0cmVhbS5nZXQoKSwgZGF0YSwgbGVuZ3RoLCAwLCAmZXJyb3Iub3V0UHRyKCkpOwog
ICAgIGlmIChlcnJvciAmJiAhZ19lcnJvcl9tYXRjaGVzKGVycm9yLmdldCgpLCBHX0lPX0VSUk9S
LCBHX0lPX0VSUk9SX1dPVUxEX0JMT0NLKSkgewotICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbCh0
aGlzLCBTb2NrZXRTdHJlYW1FcnJvcihlcnJvci0+Y29kZSkpOyAvLyBGSVhNRTogUHJvdmlkZSBh
IHNlbnNpYmxlIGVycm9yLgorICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbFNvY2tldFN0cmVhbSh0
aGlzLCBTb2NrZXRTdHJlYW1FcnJvcihlcnJvci0+Y29kZSkpOyAvLyBGSVhNRTogUHJvdmlkZSBh
IHNlbnNpYmxlIGVycm9yLgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKQEAgLTE4NSw3ICsx
ODUsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1DbG9zZSgpCiAgICAgICAg
IEdPd25QdHI8R0Vycm9yPiBlcnJvcjsKICAgICAgICAgZ19pb19zdHJlYW1fY2xvc2UoR19JT19T
VFJFQU0obV9zb2NrZXRDb25uZWN0aW9uLmdldCgpKSwgMCwgJmVycm9yLm91dFB0cigpKTsKICAg
ICAgICAgaWYgKGVycm9yKQotICAgICAgICAgICAgbV9jbGllbnQtPmRpZEZhaWwodGhpcywgU29j
a2V0U3RyZWFtRXJyb3IoZXJyb3ItPmNvZGUpKTsgLy8gRklYTUU6IFByb3ZpZGUgYSBzZW5zaWJs
ZSBlcnJvci4KKyAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsU29ja2V0U3RyZWFtKHRoaXMs
IFNvY2tldFN0cmVhbUVycm9yKGVycm9yLT5jb2RlKSk7IC8vIEZJWE1FOiBQcm92aWRlIGEgc2Vu
c2libGUgZXJyb3IuCiAgICAgICAgIG1fc29ja2V0Q29ubmVjdGlvbiA9IDA7CiAgICAgfQogCkBA
IC0xOTMsNyArMTkzLDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtQ2xvc2Uo
KQogICAgIG1faW5wdXRTdHJlYW0gPSAwOwogICAgIGRlbGV0ZSBtX3JlYWRCdWZmZXI7CiAKLSAg
ICBtX2NsaWVudC0+ZGlkQ2xvc2UodGhpcyk7CisgICAgbV9jbGllbnQtPmRpZENsb3NlU29ja2V0
U3RyZWFtKHRoaXMpOwogfQogCiB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6ZGlkUmVjZWl2ZUF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IGMx
YTQwNzRhZmVmYzg0MmZlZmQwMWJiNjg1NmQwM2Y1NzAxYzU1YjUuLjQzZTRlMzI3NWNhYTY5OWZh
NTllODAzMGY3YTU4N2NkOWI3MDkzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMjAzLDkgKzIwMyw5IEBAIHZvaWQgV2ViU29ja2V0
Q2hhbm5lbDo6cmVzdW1lKCkKICAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7
CiB9CiAKLXZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlbihTb2NrZXRTdHJlYW1IYW5kbGUq
IGhhbmRsZSkKK3ZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2Nr
ZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSkKIHsKLSAgICBMT0coTmV0d29yaywgIldlYlNvY2tldENo
YW5uZWwgJXAgZGlkT3BlbiIsIHRoaXMpOworICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hh
bm5lbCAlcCBkaWRPcGVuU29ja2V0U3RyZWFtIiwgdGhpcyk7CiAgICAgQVNTRVJUKGhhbmRsZSA9
PSBtX2hhbmRsZSk7CiAgICAgaWYgKCFtX2NvbnRleHQpCiAgICAgICAgIHJldHVybjsKQEAgLTIx
Niw5ICsyMTYsOSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZE9wZW4oU29ja2V0U3RyZWFt
SGFuZGxlKiBoYW5kbGUpCiAgICAgICAgIGZhaWwoIkZhaWxlZCB0byBzZW5kIFdlYlNvY2tldCBo
YW5kc2hha2UuIik7CiB9CiAKLXZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkQ2xvc2UoU29ja2V0
U3RyZWFtSGFuZGxlKiBoYW5kbGUpCit2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZENsb3NlU29j
a2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlKQogewotICAgIExPRyhOZXR3b3Jr
LCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBkaWRDbG9zZSIsIHRoaXMpOworICAgIExPRyhOZXR3b3Jr
LCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBkaWRDbG9zZVNvY2tldFN0cmVhbSIsIHRoaXMpOwogICAg
IGlmIChtX2lkZW50aWZpZXIgJiYgbV9jb250ZXh0KQogICAgICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZENsb3NlV2ViU29ja2V0KG1fY29udGV4dCwgbV9pZGVudGlmaWVyKTsKICAg
ICBBU1NFUlRfVU5VU0VEKGhhbmRsZSwgaGFuZGxlID09IG1faGFuZGxlIHx8ICFtX2hhbmRsZSk7
CkBAIC0yMzksOSArMjM5LDkgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRDbG9zZShTb2Nr
ZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSkKICAgICBkZXJlZigpOwogfQogCi12b2lkIFdlYlNvY2tl
dENoYW5uZWw6OmRpZFJlY2VpdmVEYXRhKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlLCBjb25z
dCBjaGFyKiBkYXRhLCBpbnQgbGVuKQordm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRSZWNlaXZl
U29ja2V0U3RyZWFtRGF0YShTb2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSwgY29uc3QgY2hhciog
ZGF0YSwgaW50IGxlbikKIHsKLSAgICBMT0coTmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAg
ZGlkUmVjZWl2ZURhdGEgJWQiLCB0aGlzLCBsZW4pOworICAgIExPRyhOZXR3b3JrLCAiV2ViU29j
a2V0Q2hhbm5lbCAlcCBkaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YSAlZCIsIHRoaXMsIGxlbik7
CiAgICAgUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IHByb3RlY3QodGhpcyk7IC8vIFRoZSBjbGll
bnQgY2FuIGNsb3NlIHRoZSBjaGFubmVsLCBwb3RlbnRpYWxseSByZW1vdmluZyB0aGUgbGFzdCBy
ZWZlcmVuY2UuCiAgICAgQVNTRVJUKGhhbmRsZSA9PSBtX2hhbmRsZSk7CiAgICAgaWYgKCFtX2Nv
bnRleHQpIHsKQEAgLTI2OCw5ICsyNjgsOSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZFJl
Y2VpdmVEYXRhKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlLCBjb25zdCBjaGFyKiBkYQogICAg
ICAgICAgICAgYnJlYWs7CiB9CiAKLXZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkRmFpbChTb2Nr
ZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSwgY29uc3QgU29ja2V0U3RyZWFtRXJyb3ImIGVycm9yKQor
dm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRGYWlsU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhh
bmRsZSogaGFuZGxlLCBjb25zdCBTb2NrZXRTdHJlYW1FcnJvciYgZXJyb3IpCiB7Ci0gICAgTE9H
KE5ldHdvcmssICJXZWJTb2NrZXRDaGFubmVsICVwIGRpZEZhaWwiLCB0aGlzKTsKKyAgICBMT0co
TmV0d29yaywgIldlYlNvY2tldENoYW5uZWwgJXAgZGlkRmFpbFNvY2tldFN0cmVhbSIsIHRoaXMp
OwogICAgIEFTU0VSVChoYW5kbGUgPT0gbV9oYW5kbGUgfHwgIW1faGFuZGxlKTsKICAgICBpZiAo
bV9jb250ZXh0KSB7CiAgICAgICAgIFN0cmluZyBtZXNzYWdlOwpAQCAtMzk1LDcgKzM5NSw3IEBA
IHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lVGltZXJGaXJlZChUaW1lcjxXZWJTb2NrZXRD
aGFubmVsPiogdGltZXIpCiAgICAgICAgIGlmICghcHJvY2Vzc0J1ZmZlcigpKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCAmJiBtX2NsaWVudCAmJiBtX2Nsb3NlZCAm
JiBtX2hhbmRsZSkKLSAgICAgICAgZGlkQ2xvc2UobV9oYW5kbGUuZ2V0KCkpOworICAgICAgICBk
aWRDbG9zZVNvY2tldFN0cmVhbShtX2hhbmRsZS5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0
Q2hhbm5lbDo6c3RhcnRDbG9zaW5nSGFuZHNoYWtlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29j
a2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggNjU1YjQ3ZjcxYjgwMDY0ZDg3MTM4YjIxNTBh
ZjJmYWI0ZDZhNDk5YS4uODgzOWEyNjUyMThhZDVlMDY2MDQyNDQ2MTMyODIxY2IzZDhiZDczZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKQEAgLTY1
LDEwICs2NSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBz
dXNwZW5kKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXN1bWUoKTsKIAotICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkT3BlbihTb2NrZXRTdHJlYW1IYW5kbGUqKTsKLSAgICAgICAgdmlydHVhbCB2
b2lkIGRpZENsb3NlKFNvY2tldFN0cmVhbUhhbmRsZSopOwotICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZURhdGEoU29ja2V0U3RyZWFtSGFuZGxlKiwgY29uc3QgY2hhciosIGludCk7Ci0g
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0IFNv
Y2tldFN0cmVhbUVycm9yJik7CisgICAgICAgIC8vIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCBt
ZXRob2RzLgorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRT
dHJlYW1IYW5kbGUqKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZENsb3NlU29ja2V0U3RyZWFt
KFNvY2tldFN0cmVhbUhhbmRsZSopOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVNv
Y2tldFN0cmVhbURhdGEoU29ja2V0U3RyZWFtSGFuZGxlKiwgY29uc3QgY2hhciosIGludCk7Cisg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRs
ZSosIGNvbnN0IFNvY2tldFN0cmVhbUVycm9yJik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoU29ja2V0U3RyZWFtSGFuZGxlKiwgY29uc3Qg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNl
bEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0IEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZTFi
YmVlMTk1NGQxNDdmZjYwYjc4M2YxNjJhOTUwN2QyNzQwZGEyNi4uY2I0NGE2NWI0MzA0ZWQ0M2Rj
MDUxNDYxYzJmZTc2OGIyNzRmNjFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMS0wNy0yOSAgWXV0YSBLaXRhbXVyYSAgPHl1dGFrQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBXZWJTb2NrZXQ6IFJlbmFtZSBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQg
bWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjUzNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHNyYy9Tb2NrZXRTdHJlYW1IYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3Ry
ZWFtSGFuZGxlSW50ZXJuYWw6OmRpZE9wZW5TdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6U29j
a2V0U3RyZWFtSGFuZGxlSW50ZXJuYWw6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNvY2tldFN0cmVhbUhhbmRsZUludGVybmFsOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJD
b3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVJbnRlcm5hbDo6ZGlkRmFpbCk6CisKIDIwMTEtMDctMjcg
IEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkZWQgYSBD
aHJvbWl1bSBXZWJLaXQgQVBJIG1ldGhvZCB0byBzZXQgdGhlIG1pbmltdW0gcm93IGhlaWdodCBv
ZiBhIHBvcHVwIGxpc3Rib3guCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Tb2NrZXRTdHJlYW1IYW5kbGUuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU29j
a2V0U3RyZWFtSGFuZGxlLmNwcAppbmRleCA3NzU0NWExN2U4NThjZWYyYzliYjgzNjRkNmQwZDZj
YTExMmMwYjA2Li5kZTZiMWI4ZjZlZjg1MDA3OThkZmI3MTA5YjAzOGUxNDQ4MmI1ZjY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Tb2NrZXRTdHJlYW1IYW5kbGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NvY2tldFN0cmVhbUhhbmRsZS5jcHAK
QEAgLTEzMCw3ICsxMzAsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZUludGVybmFsOjpkaWRP
cGVuU3RyZWFtKFdlYlNvY2tldFN0cmVhbUhhbmRsZSogc29ja2V0SGFuZAogICAgICAgICBtX21h
eFBlbmRpbmdTZW5kQWxsb3dlZCA9IG1heFBlbmRpbmdTZW5kQWxsb3dlZDsKICAgICAgICAgbV9o
YW5kbGUtPm1fc3RhdGUgPSBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlOjpPcGVuOwogICAgICAgICBp
ZiAobV9oYW5kbGUtPm1fY2xpZW50KSB7Ci0gICAgICAgICAgICBtX2hhbmRsZS0+bV9jbGllbnQt
PmRpZE9wZW4obV9oYW5kbGUpOworICAgICAgICAgICAgbV9oYW5kbGUtPm1fY2xpZW50LT5kaWRP
cGVuU29ja2V0U3RyZWFtKG1faGFuZGxlKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogICAgIH0KQEAgLTE1NSw3ICsxNTUsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZUludGVy
bmFsOjpkaWRSZWNlaXZlRGF0YShXZWJTb2NrZXRTdHJlYW1IYW5kbGUqIHNvY2tldEhhbgogICAg
IGlmIChtX2hhbmRsZSAmJiBtX3NvY2tldC5nZXQoKSkgewogICAgICAgICBBU1NFUlQoc29ja2V0
SGFuZGxlID09IG1fc29ja2V0LmdldCgpKTsKICAgICAgICAgaWYgKG1faGFuZGxlLT5tX2NsaWVu
dCkKLSAgICAgICAgICAgIG1faGFuZGxlLT5tX2NsaWVudC0+ZGlkUmVjZWl2ZURhdGEobV9oYW5k
bGUsIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CisgICAgICAgICAgICBtX2hhbmRsZS0+bV9j
bGllbnQtPmRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhKG1faGFuZGxlLCBkYXRhLmRhdGEoKSwg
ZGF0YS5zaXplKCkpOwogICAgIH0KIH0KIApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgU29ja2V0
U3RyZWFtSGFuZGxlSW50ZXJuYWw6OmRpZENsb3NlKFdlYlNvY2tldFN0cmVhbUhhbmRsZSogc29j
a2V0SGFuZGxlKQogICAgICAgICBTb2NrZXRTdHJlYW1IYW5kbGUqIGggPSBtX2hhbmRsZTsKICAg
ICAgICAgbV9oYW5kbGUgPSAwOwogICAgICAgICBpZiAoaC0+bV9jbGllbnQpCi0gICAgICAgICAg
ICBoLT5tX2NsaWVudC0+ZGlkQ2xvc2UoaCk7CisgICAgICAgICAgICBoLT5tX2NsaWVudC0+ZGlk
Q2xvc2VTb2NrZXRTdHJlYW0oaCk7CiAgICAgfQogfQogCkBAIC0xODEsNyArMTgxLDcgQEAgdm9p
ZCBTb2NrZXRTdHJlYW1IYW5kbGVJbnRlcm5hbDo6ZGlkRmFpbChXZWJTb2NrZXRTdHJlYW1IYW5k
bGUqIHNvY2tldEhhbmRsZSwgY28KICAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKiBoID0gbV9o
YW5kbGU7CiAgICAgICAgIG1faGFuZGxlID0gMDsKICAgICAgICAgaWYgKGgtPm1fY2xpZW50KQot
ICAgICAgICAgICAgaC0+bV9jbGllbnQtPmRpZENsb3NlKGgpOyAgLy8gZGlkRmFpbChoLCBlcnIp
OworICAgICAgICAgICAgaC0+bV9jbGllbnQtPmRpZENsb3NlU29ja2V0U3RyZWFtKGgpOyAvLyBk
aWRGYWlsKGgsIGVycik7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102480</attachid>
            <date>2011-07-31 23:06:06 -0700</date>
            <delta_ts>2011-07-31 23:12:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-65374-20110801150604.patch</filename>
            <type>text/plain</type>
            <size>21920</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE5OTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZTMzZTYxNDg1YjRhNTRk
NDQwY2NjMTE0ZGU3MmJjMzI0NGMzODljLi5jZWExZDgxYjU1YjZmNTkxNDJmN2MzY2MzMTI2OThi
YTI3MjU4ZTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEtMDctMjkgIFl1dGEg
S2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViU29ja2V0OiBSZW5h
bWUgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50IG1lbWJlciBmdW5jdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIFNvY2tldFN0cmVhbUhh
bmRsZUNsaWVudCBtZW1iZXIgZnVuY3Rpb25zIHRvIGF2b2lkIGNvbmZsaWN0IG9mIHRoZSBuYW1l
cyBvZgorICAgICAgICBGaWxlUmVhZGVyTG9hZGVyQ2xpZW50IGZ1bmN0aW9ucy4KKworICAgICAg
ICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IsIHRodXMgbm8gbmV3IHRlc3RzIGFyZSBhZGRlZC4KKwor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQ6OmRpZE9wZW5Tb2NrZXRT
dHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50OjpkaWRD
bG9zZVNvY2tldFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVD
bGllbnQ6OmRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlNv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudDo6ZGlkRmFpbFNvY2tldFN0cmVhbSk6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9icmV3L1NvY2tldFN0cmVhbUhhbmRsZUJyZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q29ubmVjdGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldFJlYWR5
UmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2Nr
ZXRDbG9zZWQpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6
c29ja2V0RXJyb3IpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFt
SGFuZGxlQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjph
ZGRDT05ORUNUQ3JlZGVudGlhbHMpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFu
ZGxlOjpyZWFkU3RyZWFtQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFt
SGFuZGxlOjp3cml0ZVN0cmVhbUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0
cmVhbUhhbmRsZTo6cmVwb3J0RXJyb3JUb0NsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtQ2xvc2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0
U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q29ubmVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldFJlYWR5UmVhZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRDbG9zZWRDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRFcnJv
ckNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFt
SGFuZGxlU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OmNv
bm5lY3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnJlYWRCeXRl
cyk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtU2VuZCk6
CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtQ2xvc2UpOgor
ICAgICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuU29ja2V0U3RyZWFtKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZENsb3NlU29ja2V0U3RyZWFtKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0p
OgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lVGltZXJGaXJlZCk6
CisgICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmg6CisKIDIwMTEtMDctMjgg
IExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIEZpeCBzcGVlY2ggaW5wdXQgaWNvbiByZWN0IG9uIFJUTCBkaXJlY3Rpb25zLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFu
ZGxlQ2xpZW50LmgKaW5kZXggNWQ5N2VjMGM3MWRlZGNkMmQwMDZhNmUyMDRjYjRmYjZiZjc1OWNi
Mi4uNWFmZmQzM2FhZjQxMmE2NDI0OTI0NTc5YjhlNjUxZTdhNWJiN2EyNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudC5oCkBAIC00MywxMSArNDMsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHB1
YmxpYzoKICAgICAgICAgdmlydHVhbCB+U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KCkgeyB9CiAK
LSAgICAgICAgdmlydHVhbCB2b2lkIGRpZE9wZW4oU29ja2V0U3RyZWFtSGFuZGxlKikgeyB9Ci0g
ICAgICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShTb2NrZXRTdHJlYW1IYW5kbGUqKSB7IH0KLSAg
ICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKFNvY2tldFN0cmVhbUhhbmRsZSosIGNv
bnN0IGNoYXIqIC8qZGF0YSovLCBpbnQgLypsZW5ndGgqLykgeyB9CisgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRPcGVuU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSopIHsgfQorICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKikg
eyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YShTb2Nr
ZXRTdHJlYW1IYW5kbGUqLCBjb25zdCBjaGFyKiAvKmRhdGEqLywgaW50IC8qbGVuZ3RoKi8pIHsg
fQogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKFNvY2tldFN0cmVhbUhhbmRsZSosIGNv
bnN0IFNvY2tldFN0cmVhbUVycm9yJikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWls
U29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0IFNvY2tldFN0cmVhbUVycm9y
JikgeyB9CiAKICAgICAgICAgLy8gTm8gYXV0aGVudGljYXRpb24gZm9yIHN0cmVhbXMgcGVyIHNl
LCBidXQgcHJveHkgbWF5IGFzayBmb3IgY3JlZGVudGlhbHMuCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoU29ja2V0U3RyZWFtSGFuZGxlKiwg
Y29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYnJldy9Tb2NrZXRTdHJlYW1IYW5kbGVCcmV3LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYnJldy9Tb2NrZXRTdHJlYW1IYW5kbGVC
cmV3LmNwcAppbmRleCA1ZGM5MjVlNWJmOTRmNGNlNGRlMzliNjUzOWM2MTMyM2VjOWMyOTAzLi4w
NDc2ZjVlNTRmOGFkODA4OWI4MzA0N2M5YmQ3MTc3YWFiM2MxNTZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JyZXcvU29ja2V0U3RyZWFtSGFuZGxlQnJldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9icmV3L1NvY2tldFN0cmVh
bUhhbmRsZUJyZXcuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5k
bGVQcml2YXRlOjpzb2NrZXRDb25uZWN0ZWQoKQogewogICAgIGlmIChtX3N0cmVhbUhhbmRsZSAm
JiBtX3N0cmVhbUhhbmRsZS0+Y2xpZW50KCkpIHsKICAgICAgICAgbV9zdHJlYW1IYW5kbGUtPm1f
c3RhdGUgPSBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlOjpPcGVuOwotICAgICAgICBtX3N0cmVhbUhh
bmRsZS0+Y2xpZW50KCktPmRpZE9wZW4obV9zdHJlYW1IYW5kbGUpOworICAgICAgICBtX3N0cmVh
bUhhbmRsZS0+Y2xpZW50KCktPmRpZE9wZW5Tb2NrZXRTdHJlYW0obV9zdHJlYW1IYW5kbGUpOwog
ICAgIH0KIAogICAgIElTT0NLRVRfUmVhZGFibGUobV9zb2NrZXQuZ2V0KCksIHNvY2tldFJlYWRh
YmxlQ2FsbGJhY2ssIHRoaXMpOwpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgU29ja2V0U3RyZWFt
SGFuZGxlUHJpdmF0ZTo6c29ja2V0UmVhZHlSZWFkKCkKICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCi0gICAgICAgIG1fc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZURh
dGEobV9zdHJlYW1IYW5kbGUsIGJ1ZmZlci5kYXRhKCksIHJlYWRTaXplKTsKKyAgICAgICAgbV9z
dHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YShtX3N0cmVh
bUhhbmRsZSwgYnVmZmVyLmRhdGEoKSwgcmVhZFNpemUpOwogICAgIH0KIAogICAgIElTT0NLRVRf
UmVhZGFibGUobV9zb2NrZXQuZ2V0KCksIHNvY2tldFJlYWRhYmxlQ2FsbGJhY2ssIHRoaXMpOwpA
QCAtMTY2LDcgKzE2Niw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0
Q2xvc2VkKCkKICAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKiBzdHJlYW1IYW5kbGUgPSBtX3N0
cmVhbUhhbmRsZTsKICAgICAgICAgbV9zdHJlYW1IYW5kbGUgPSAwOwogICAgICAgICAvLyBUaGlz
IGZvbGxvd2luZyBjYWxsIGRlbGV0ZXMgX3RoaXNfLiBOb3RoaW5nIHNob3VsZCBiZSBhZnRlciBp
dC4KLSAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkQ2xvc2Uoc3RyZWFtSGFuZGxl
KTsKKyAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkQ2xvc2VTb2NrZXRTdHJlYW0o
c3RyZWFtSGFuZGxlKTsKICAgICB9CiB9CiAKQEAgLTE3Nyw3ICsxNzcsNyBAQCB2b2lkIFNvY2tl
dFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldEVycm9yKGludCBlcnJvcikKICAgICAgICAgU29j
a2V0U3RyZWFtSGFuZGxlKiBzdHJlYW1IYW5kbGUgPSBtX3N0cmVhbUhhbmRsZTsKICAgICAgICAg
bV9zdHJlYW1IYW5kbGUgPSAwOwogICAgICAgICAvLyBUaGlzIGZvbGxvd2luZyBjYWxsIGRlbGV0
ZXMgX3RoaXNfLiBOb3RoaW5nIHNob3VsZCBiZSBhZnRlciBpdC4KLSAgICAgICAgc3RyZWFtSGFu
ZGxlLT5jbGllbnQoKS0+ZGlkQ2xvc2Uoc3RyZWFtSGFuZGxlKTsKKyAgICAgICAgc3RyZWFtSGFu
ZGxlLT5jbGllbnQoKS0+ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oc3RyZWFtSGFuZGxlKTsKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29j
a2V0U3RyZWFtSGFuZGxlQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHAKaW5kZXggNWJkYzFhNmQwZjMxYmIxMDdk
MTkyODAzYTJmNjUxYTZjNTNlYTBhMC4uYTM1ODgzMjM4NzhmZGQwNDk1OTA5N2RhNzQ4ZTdjMzkz
MWIxODA0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9T
b2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHAKQEAgLTMyOSw3ICszMjksNyBA
QCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6YWRkQ09OTkVDVENyZWRlbnRpYWxzKENGSFRUUE1l
c3NhZ2VSZWYgcHJveHlSZXNwb25zZSkKIAogICAgIGlmICghQ0ZIVFRQQXV0aGVudGljYXRpb25S
ZXF1aXJlc1VzZXJOYW1lQW5kUGFzc3dvcmQoYXV0aGVudGljYXRpb24uZ2V0KCkpKSB7CiAgICAg
ICAgIC8vIFRoYXQncyBhbGwgd2UgY2FuIG9mZmVyLi4uCi0gICAgICAgIG1fY2xpZW50LT5kaWRG
YWlsKHRoaXMsIFNvY2tldFN0cmVhbUVycm9yKCkpOyAvLyBGSVhNRTogUHJvdmlkZSBhIHNlbnNp
YmxlIGVycm9yLgorICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbFNvY2tldFN0cmVhbSh0aGlzLCBT
b2NrZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6IFByb3ZpZGUgYSBzZW5zaWJsZSBlcnJvci4K
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzU0LDcgKzM1NCw3IEBAIHZvaWQgU29ja2V0
U3RyZWFtSGFuZGxlOjphZGRDT05ORUNUQ3JlZGVudGlhbHMoQ0ZIVFRQTWVzc2FnZVJlZiBwcm94
eVJlc3BvbnNlKQogCiAgICAgICAgIGlmICghcHJveHlBdXRob3JpemF0aW9uU3RyaW5nKSB7CiAg
ICAgICAgICAgICAvLyBGYWlscyBlLmcuIGZvciBOVExNIGF1dGguCi0gICAgICAgICAgICBtX2Ns
aWVudC0+ZGlkRmFpbCh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6IFByb3Zp
ZGUgYSBzZW5zaWJsZSBlcnJvci4KKyAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsU29ja2V0
U3RyZWFtKHRoaXMsIFNvY2tldFN0cmVhbUVycm9yKCkpOyAvLyBGSVhNRTogUHJvdmlkZSBhIHNl
bnNpYmxlIGVycm9yLgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTM2Niw3
ICszNjYsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6YWRkQ09OTkVDVENyZWRlbnRpYWxz
KENGSFRUUE1lc3NhZ2VSZWYgcHJveHlSZXNwb25zZSkKIAogICAgIC8vIEZJWE1FOiBBc2sgdGhl
IGNsaWVudCBpZiBjcmVkZW50aWFscyBjb3VsZCBub3QgYmUgZm91bmQuCiAKLSAgICBtX2NsaWVu
dC0+ZGlkRmFpbCh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6IFByb3ZpZGUg
YSBzZW5zaWJsZSBlcnJvci4KKyAgICBtX2NsaWVudC0+ZGlkRmFpbFNvY2tldFN0cmVhbSh0aGlz
LCBTb2NrZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6IFByb3ZpZGUgYSBzZW5zaWJsZSBlcnJv
ci4KIH0KIAogQ0ZTdHJpbmdSZWYgU29ja2V0U3RyZWFtSGFuZGxlOjpjb3B5Q0ZTdHJlYW1EZXNj
cmlwdGlvbih2b2lkKiBpbmZvKQpAQCAtNDQ1LDcgKzQ0NSw3IEBAIHZvaWQgU29ja2V0U3RyZWFt
SGFuZGxlOjpyZWFkU3RyZWFtQ2FsbGJhY2soQ0ZTdHJlYW1FdmVudFR5cGUgdHlwZSkKICAgICAg
ICAgICAgIG1fc3RhdGUgPSBPcGVuOwogCiAgICAgICAgICAgICBSZWZQdHI8U29ja2V0U3RyZWFt
SGFuZGxlPiBwcm90ZWN0KHRoaXMpOyAvLyBUaGUgY2xpZW50IGNhbiBjbG9zZSB0aGUgaGFuZGxl
LCBwb3RlbnRpYWxseSByZW1vdmluZyB0aGUgbGFzdCByZWZlcmVuY2UuCi0gICAgICAgICAgICBt
X2NsaWVudC0+ZGlkT3Blbih0aGlzKTsKKyAgICAgICAgICAgIG1fY2xpZW50LT5kaWRPcGVuU29j
a2V0U3RyZWFtKHRoaXMpOwogICAgICAgICAgICAgaWYgKG1fc3RhdGUgPT0gQ2xvc2VkKQogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgpAQCAtNDYz
LDcgKzQ2Myw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpyZWFkU3RyZWFtQ2FsbGJhY2so
Q0ZTdHJlYW1FdmVudFR5cGUgdHlwZSkKICAgICAgICAgICAgIHB0ciA9IGxvY2FsQnVmZmVyOwog
ICAgICAgICB9CiAKLSAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVEYXRhKHRoaXMsIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHB0ciksIGxlbmd0aCk7CisgICAgICAgIG1fY2xpZW50
LT5kaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YSh0aGlzLCByZWludGVycHJldF9jYXN0PGNvbnN0
IGNoYXIqPihwdHIpLCBsZW5ndGgpOwogCiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTUwNCw3
ICs1MDQsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6d3JpdGVTdHJlYW1DYWxsYmFjayhD
RlN0cmVhbUV2ZW50VHlwZSB0eXBlKQogICAgICAgICAgICAgbV9zdGF0ZSA9IE9wZW47CiAKICAg
ICAgICAgICAgIFJlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IHByb3RlY3QodGhpcyk7IC8vIFRo
ZSBjbGllbnQgY2FuIGNsb3NlIHRoZSBoYW5kbGUsIHBvdGVudGlhbGx5IHJlbW92aW5nIHRoZSBs
YXN0IHJlZmVyZW5jZS4KLSAgICAgICAgICAgIG1fY2xpZW50LT5kaWRPcGVuKHRoaXMpOworICAg
ICAgICAgICAgbV9jbGllbnQtPmRpZE9wZW5Tb2NrZXRTdHJlYW0odGhpcyk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogCkBAIC01NDMsNyArNTQzLDcgQEAgdm9pZCBTb2NrZXRTdHJl
YW1IYW5kbGU6OnJlcG9ydEVycm9yVG9DbGllbnQoQ0ZFcnJvclJlZiBlcnJvcikKICAgICAgICAg
ZGVzY3JpcHRpb24gPSBTdHJpbmcoZGVzY3JpcHRpb25DRi5nZXQoKSk7CiAgICAgfQogCi0gICAg
bV9jbGllbnQtPmRpZEZhaWwodGhpcywgU29ja2V0U3RyZWFtRXJyb3Ioc3RhdGljX2Nhc3Q8aW50
PihlcnJvckNvZGUpLCBtX3VybC5zdHJpbmcoKSwgZGVzY3JpcHRpb24pKTsKKyAgICBtX2NsaWVu
dC0+ZGlkRmFpbFNvY2tldFN0cmVhbSh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcihzdGF0aWNfY2Fz
dDxpbnQ+KGVycm9yQ29kZSksIG1fdXJsLnN0cmluZygpLCBkZXNjcmlwdGlvbikpOwogfQogCiBT
b2NrZXRTdHJlYW1IYW5kbGU6On5Tb2NrZXRTdHJlYW1IYW5kbGUoKQpAQCAtNTcxLDcgKzU3MSw3
IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybUNsb3NlKCkKICAgICBBU1NFUlQo
IW1fcmVhZFN0cmVhbSA9PSAhbV93cml0ZVN0cmVhbSk7CiAgICAgaWYgKCFtX3JlYWRTdHJlYW0p
IHsKICAgICAgICAgaWYgKG1fY29ubmVjdGluZ1N1YnN0YXRlID09IE5ldyB8fCBtX2Nvbm5lY3Rp
bmdTdWJzdGF0ZSA9PSBFeGVjdXRpbmdQQUNGaWxlKQotICAgICAgICAgICAgbV9jbGllbnQtPmRp
ZENsb3NlKHRoaXMpOworICAgICAgICAgICAgbV9jbGllbnQtPmRpZENsb3NlU29ja2V0U3RyZWFt
KHRoaXMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC01ODksNyArNTg5LDcgQEAgdm9p
ZCBTb2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtQ2xvc2UoKQogICAgIG1fcmVhZFN0cmVhbSA9
IDA7CiAgICAgbV93cml0ZVN0cmVhbSA9IDA7CiAKLSAgICBtX2NsaWVudC0+ZGlkQ2xvc2UodGhp
cyk7CisgICAgbV9jbGllbnQtPmRpZENsb3NlU29ja2V0U3RyZWFtKHRoaXMpOwogfQogCiB2b2lk
IFNvY2tldFN0cmVhbUhhbmRsZTo6cmVjZWl2ZWRDcmVkZW50aWFsKGNvbnN0IEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiwgY29uc3QgQ3JlZGVudGlhbCYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCmlu
ZGV4IDEwNTUwYWU3NjE2MjA5M2QyOGI0M2EwYmQxZDEyOWU4YzI3OWUyNzUuLjI5NDIwNDFjZmQx
MWExMjZlYjA2NTJkMjEwNmM2YWU0ZjFkNDkzMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCkBA
IC04Myw3ICs4Myw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q29u
bmVjdGVkKCkKIHsKICAgICBpZiAobV9zdHJlYW1IYW5kbGUgJiYgbV9zdHJlYW1IYW5kbGUtPmNs
aWVudCgpKSB7CiAgICAgICAgIG1fc3RyZWFtSGFuZGxlLT5tX3N0YXRlID0gU29ja2V0U3RyZWFt
SGFuZGxlQmFzZTo6T3BlbjsKLSAgICAgICAgbV9zdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRP
cGVuKG1fc3RyZWFtSGFuZGxlKTsKKyAgICAgICAgbV9zdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5k
aWRPcGVuU29ja2V0U3RyZWFtKG1fc3RyZWFtSGFuZGxlKTsKICAgICB9CiB9CiAKQEAgLTkxLDcg
KzkxLDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRSZWFkeVJlYWQo
KQogewogICAgIGlmIChtX3N0cmVhbUhhbmRsZSAmJiBtX3N0cmVhbUhhbmRsZS0+Y2xpZW50KCkp
IHsKICAgICAgICAgUUJ5dGVBcnJheSBkYXRhID0gbV9zb2NrZXQtPnJlYWQobV9zb2NrZXQtPmJ5
dGVzQXZhaWxhYmxlKCkpOwotICAgICAgICBtX3N0cmVhbUhhbmRsZS0+Y2xpZW50KCktPmRpZFJl
Y2VpdmVEYXRhKG1fc3RyZWFtSGFuZGxlLCBkYXRhLmNvbnN0RGF0YSgpLCBkYXRhLnNpemUoKSk7
CisgICAgICAgIG1fc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZVNvY2tldFN0cmVh
bURhdGEobV9zdHJlYW1IYW5kbGUsIGRhdGEuY29uc3REYXRhKCksIGRhdGEuc2l6ZSgpKTsKICAg
ICB9CiB9CiAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZVByaXZh
dGU6OnNvY2tldENsb3NlZENhbGxiYWNrKCkKICAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKiBz
dHJlYW1IYW5kbGUgPSBtX3N0cmVhbUhhbmRsZTsKICAgICAgICAgbV9zdHJlYW1IYW5kbGUgPSAw
OwogICAgICAgICAvLyBUaGlzIGZvbGxvd2luZyBjYWxsIGRlbGV0ZXMgX3RoaXNfLiBOb3RoaW5n
IHNob3VsZCBiZSBhZnRlciBpdC4KLSAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlk
Q2xvc2Uoc3RyZWFtSGFuZGxlKTsKKyAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlk
Q2xvc2VTb2NrZXRTdHJlYW0oc3RyZWFtSGFuZGxlKTsKICAgICB9CiB9CiAKQEAgLTE0Myw3ICsx
NDMsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldEVycm9yQ2FsbGJh
Y2soaW50IGVycm9yKQogICAgICAgICBTb2NrZXRTdHJlYW1IYW5kbGUqIHN0cmVhbUhhbmRsZSA9
IG1fc3RyZWFtSGFuZGxlOwogICAgICAgICBtX3N0cmVhbUhhbmRsZSA9IDA7CiAgICAgICAgIC8v
IFRoaXMgZm9sbG93aW5nIGNhbGwgZGVsZXRlcyBfdGhpc18uIE5vdGhpbmcgc2hvdWxkIGJlIGFm
dGVyIGl0LgotICAgICAgICBzdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRDbG9zZShzdHJlYW1I
YW5kbGUpOworICAgICAgICBzdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRDbG9zZVNvY2tldFN0
cmVhbShzdHJlYW1IYW5kbGUpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZVNvdXAuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZVNvdXAu
Y3BwCmluZGV4IDFmOWQ0ZThkMmNiZWVkMTJmMTUzNjY5OTIzZjcyMDhmOTY3OTQyYmUuLmM1MmVm
ZjQ5NWZlZDcwNmJhYzZjZDBiYmM3MmQ0YWEyYWE3OTRiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFu
ZGxlU291cC5jcHAKQEAgLTEwMiw3ICsxMDIsNyBAQCBTb2NrZXRTdHJlYW1IYW5kbGU6On5Tb2Nr
ZXRTdHJlYW1IYW5kbGUoKQogdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGU6OmNvbm5lY3RlZChHU29j
a2V0Q29ubmVjdGlvbiogc29ja2V0Q29ubmVjdGlvbiwgR0Vycm9yKiBlcnJvcikKIHsKICAgICBp
ZiAoZXJyb3IpIHsKLSAgICAgICAgbV9jbGllbnQtPmRpZEZhaWwodGhpcywgU29ja2V0U3RyZWFt
RXJyb3IoZXJyb3ItPmNvZGUpKTsKKyAgICAgICAgbV9jbGllbnQtPmRpZEZhaWxTb2NrZXRTdHJl
YW0odGhpcywgU29ja2V0U3RyZWFtRXJyb3IoZXJyb3ItPmNvZGUpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpj
b25uZWN0ZWQoR1NvY2tldENvbm5lY3Rpb24qIHNvY2tldENvbm5lY3Rpb24sIEdFcnJvcioKICAg
ICAvLyBUaGUgY2xpZW50IGNhbiBjbG9zZSB0aGUgaGFuZGxlLCBwb3RlbnRpYWxseSByZW1vdmlu
ZyB0aGUgbGFzdCByZWZlcmVuY2UuCiAgICAgUmVmUHRyPFNvY2tldFN0cmVhbUhhbmRsZT4gcHJv
dGVjdCh0aGlzKTsgCiAgICAgbV9zdGF0ZSA9IE9wZW47Ci0gICAgbV9jbGllbnQtPmRpZE9wZW4o
dGhpcyk7CisgICAgbV9jbGllbnQtPmRpZE9wZW5Tb2NrZXRTdHJlYW0odGhpcyk7CiAgICAgaWYg
KCFtX3NvY2tldENvbm5lY3Rpb24pIC8vIENsaWVudCBjbG9zZWQgdGhlIGNvbm5lY3Rpb24uCiAg
ICAgICAgIHJldHVybjsKIH0KQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhh
bmRsZTo6Y29ubmVjdGVkKEdTb2NrZXRDb25uZWN0aW9uKiBzb2NrZXRDb25uZWN0aW9uLCBHRXJy
b3IqCiB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6cmVhZEJ5dGVzKHNpZ25lZCBsb25nIGJ5dGVz
UmVhZCwgR0Vycm9yKiBlcnJvcikKIHsKICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgbV9jbGll
bnQtPmRpZEZhaWwodGhpcywgU29ja2V0U3RyZWFtRXJyb3IoZXJyb3ItPmNvZGUpKTsKKyAgICAg
ICAgbV9jbGllbnQtPmRpZEZhaWxTb2NrZXRTdHJlYW0odGhpcywgU29ja2V0U3RyZWFtRXJyb3Io
ZXJyb3ItPmNvZGUpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTM2LDcgKzEzNiw3
IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpyZWFkQnl0ZXMoc2lnbmVkIGxvbmcgYnl0ZXNS
ZWFkLCBHRXJyb3IqIGVycm9yKQogCiAgICAgLy8gVGhlIGNsaWVudCBjYW4gY2xvc2UgdGhlIGhh
bmRsZSwgcG90ZW50aWFsbHkgcmVtb3ZpbmcgdGhlIGxhc3QgcmVmZXJlbmNlLgogICAgIFJlZlB0
cjxTb2NrZXRTdHJlYW1IYW5kbGU+IHByb3RlY3QodGhpcyk7IAotICAgIG1fY2xpZW50LT5kaWRS
ZWNlaXZlRGF0YSh0aGlzLCBtX3JlYWRCdWZmZXIsIGJ5dGVzUmVhZCk7CisgICAgbV9jbGllbnQt
PmRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhKHRoaXMsIG1fcmVhZEJ1ZmZlciwgYnl0ZXNSZWFk
KTsKICAgICBpZiAobV9pbnB1dFN0cmVhbSkgLy8gVGhlIGNsaWVudCBtYXkgaGF2ZSBjbG9zZWQg
dGhlIGNvbm5lY3Rpb24uCiAgICAgICAgIGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMobV9pbnB1
dFN0cmVhbS5nZXQoKSwgbV9yZWFkQnVmZmVyLCBSRUFEX0JVRkZFUl9TSVpFLCBHX1BSSU9SSVRZ
X0RFRkFVTFQsIDAsCiAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PEdBc3luY1JlYWR5Q2Fs
bGJhY2s+KHJlYWRSZWFkeUNhbGxiYWNrKSwgbV9pZCk7CkBAIC0xNjMsNyArMTYzLDcgQEAgaW50
IFNvY2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1TZW5kKGNvbnN0IGNoYXIqIGRhdGEsIGludCBs
ZW5ndGgpCiAgICAgR093blB0cjxHRXJyb3I+IGVycm9yOwogICAgIGdzc2l6ZSB3cml0dGVuID0g
Z19wb2xsYWJsZV9vdXRwdXRfc3RyZWFtX3dyaXRlX25vbmJsb2NraW5nKG1fb3V0cHV0U3RyZWFt
LmdldCgpLCBkYXRhLCBsZW5ndGgsIDAsICZlcnJvci5vdXRQdHIoKSk7CiAgICAgaWYgKGVycm9y
ICYmICFnX2Vycm9yX21hdGNoZXMoZXJyb3IuZ2V0KCksIEdfSU9fRVJST1IsIEdfSU9fRVJST1Jf
V09VTERfQkxPQ0spKSB7Ci0gICAgICAgIG1fY2xpZW50LT5kaWRGYWlsKHRoaXMsIFNvY2tldFN0
cmVhbUVycm9yKGVycm9yLT5jb2RlKSk7IC8vIEZJWE1FOiBQcm92aWRlIGEgc2Vuc2libGUgZXJy
b3IuCisgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsU29ja2V0U3RyZWFtKHRoaXMsIFNvY2tldFN0
cmVhbUVycm9yKGVycm9yLT5jb2RlKSk7IC8vIEZJWE1FOiBQcm92aWRlIGEgc2Vuc2libGUgZXJy
b3IuCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQg
U29ja2V0U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybUNsb3NlKCkKICAgICAgICAgR093blB0cjxHRXJy
b3I+IGVycm9yOwogICAgICAgICBnX2lvX3N0cmVhbV9jbG9zZShHX0lPX1NUUkVBTShtX3NvY2tl
dENvbm5lY3Rpb24uZ2V0KCkpLCAwLCAmZXJyb3Iub3V0UHRyKCkpOwogICAgICAgICBpZiAoZXJy
b3IpCi0gICAgICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbCh0aGlzLCBTb2NrZXRTdHJlYW1FcnJv
cihlcnJvci0+Y29kZSkpOyAvLyBGSVhNRTogUHJvdmlkZSBhIHNlbnNpYmxlIGVycm9yLgorICAg
ICAgICAgICAgbV9jbGllbnQtPmRpZEZhaWxTb2NrZXRTdHJlYW0odGhpcywgU29ja2V0U3RyZWFt
RXJyb3IoZXJyb3ItPmNvZGUpKTsgLy8gRklYTUU6IFByb3ZpZGUgYSBzZW5zaWJsZSBlcnJvci4K
ICAgICAgICAgbV9zb2NrZXRDb25uZWN0aW9uID0gMDsKICAgICB9CiAKQEAgLTE5Myw3ICsxOTMs
NyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1DbG9zZSgpCiAgICAgbV9pbnB1
dFN0cmVhbSA9IDA7CiAgICAgZGVsZXRlIG1fcmVhZEJ1ZmZlcjsKIAotICAgIG1fY2xpZW50LT5k
aWRDbG9zZSh0aGlzKTsKKyAgICBtX2NsaWVudC0+ZGlkQ2xvc2VTb2NrZXRTdHJlYW0odGhpcyk7
CiB9CiAKIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggYzFhNDA3NGFmZWZjODQy
ZmVmZDAxYmI2ODU2ZDAzZjU3MDFjNTViNS4uNDNlNGUzMjc1Y2FhNjk5ZmE1OWU4MDMwZjdhNTg3
Y2Q5YjcwOTM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuY3BwCkBAIC0yMDMsOSArMjAzLDkgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpyZXN1
bWUoKQogICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBX
ZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlKQordm9p
ZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRs
ZSogaGFuZGxlKQogewotICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBkaWRP
cGVuIiwgdGhpcyk7CisgICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFubmVsICVwIGRpZE9w
ZW5Tb2NrZXRTdHJlYW0iLCB0aGlzKTsKICAgICBBU1NFUlQoaGFuZGxlID09IG1faGFuZGxlKTsK
ICAgICBpZiAoIW1fY29udGV4dCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjE2LDkgKzIxNiw5IEBA
IHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlbihTb2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRs
ZSkKICAgICAgICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQgV2ViU29ja2V0IGhhbmRzaGFrZS4iKTsK
IH0KIAotdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRDbG9zZShTb2NrZXRTdHJlYW1IYW5kbGUq
IGhhbmRsZSkKK3ZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29j
a2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUpCiB7Ci0gICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRD
aGFubmVsICVwIGRpZENsb3NlIiwgdGhpcyk7CisgICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRD
aGFubmVsICVwIGRpZENsb3NlU29ja2V0U3RyZWFtIiwgdGhpcyk7CiAgICAgaWYgKG1faWRlbnRp
ZmllciAmJiBtX2NvbnRleHQpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
Q2xvc2VXZWJTb2NrZXQobV9jb250ZXh0LCBtX2lkZW50aWZpZXIpOwogICAgIEFTU0VSVF9VTlVT
RUQoaGFuZGxlLCBoYW5kbGUgPT0gbV9oYW5kbGUgfHwgIW1faGFuZGxlKTsKQEAgLTIzOSw5ICsy
MzksOSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZENsb3NlKFNvY2tldFN0cmVhbUhhbmRs
ZSogaGFuZGxlKQogICAgIGRlcmVmKCk7CiB9CiAKLXZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlk
UmVjZWl2ZURhdGEoU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IGNoYXIqIGRhdGEs
IGludCBsZW4pCit2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZFJlY2VpdmVTb2NrZXRTdHJlYW1E
YXRhKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVu
KQogewotICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBkaWRSZWNlaXZlRGF0
YSAlZCIsIHRoaXMsIGxlbik7CisgICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFubmVsICVw
IGRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhICVkIiwgdGhpcywgbGVuKTsKICAgICBSZWZQdHI8
V2ViU29ja2V0Q2hhbm5lbD4gcHJvdGVjdCh0aGlzKTsgLy8gVGhlIGNsaWVudCBjYW4gY2xvc2Ug
dGhlIGNoYW5uZWwsIHBvdGVudGlhbGx5IHJlbW92aW5nIHRoZSBsYXN0IHJlZmVyZW5jZS4KICAg
ICBBU1NFUlQoaGFuZGxlID09IG1faGFuZGxlKTsKICAgICBpZiAoIW1fY29udGV4dCkgewpAQCAt
MjY4LDkgKzI2OCw5IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkUmVjZWl2ZURhdGEoU29j
a2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IGNoYXIqIGRhCiAgICAgICAgICAgICBicmVh
azsKIH0KIAotdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRGYWlsKFNvY2tldFN0cmVhbUhhbmRs
ZSogaGFuZGxlLCBjb25zdCBTb2NrZXRTdHJlYW1FcnJvciYgZXJyb3IpCit2b2lkIFdlYlNvY2tl
dENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUs
IGNvbnN0IFNvY2tldFN0cmVhbUVycm9yJiBlcnJvcikKIHsKLSAgICBMT0coTmV0d29yaywgIldl
YlNvY2tldENoYW5uZWwgJXAgZGlkRmFpbCIsIHRoaXMpOworICAgIExPRyhOZXR3b3JrLCAiV2Vi
U29ja2V0Q2hhbm5lbCAlcCBkaWRGYWlsU29ja2V0U3RyZWFtIiwgdGhpcyk7CiAgICAgQVNTRVJU
KGhhbmRsZSA9PSBtX2hhbmRsZSB8fCAhbV9oYW5kbGUpOwogICAgIGlmIChtX2NvbnRleHQpIHsK
ICAgICAgICAgU3RyaW5nIG1lc3NhZ2U7CkBAIC0zOTUsNyArMzk1LDcgQEAgdm9pZCBXZWJTb2Nr
ZXRDaGFubmVsOjpyZXN1bWVUaW1lckZpcmVkKFRpbWVyPFdlYlNvY2tldENoYW5uZWw+KiB0aW1l
cikKICAgICAgICAgaWYgKCFwcm9jZXNzQnVmZmVyKCkpCiAgICAgICAgICAgICBicmVhazsKICAg
ICBpZiAoIW1fc3VzcGVuZGVkICYmIG1fY2xpZW50ICYmIG1fY2xvc2VkICYmIG1faGFuZGxlKQot
ICAgICAgICBkaWRDbG9zZShtX2hhbmRsZS5nZXQoKSk7CisgICAgICAgIGRpZENsb3NlU29ja2V0
U3RyZWFtKG1faGFuZGxlLmdldCgpKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpzdGFy
dENsb3NpbmdIYW5kc2hha2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuaAppbmRleCA2NTViNDdmNzFiODAwNjRkODcxMzhiMjE1MGFmMmZhYjRkNmE0OTlh
Li5jYTM0ZTdlYTQxMDBlY2ZhNDk0ZjEyNGZjZTY1MmRjNjgzYjlkMzkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNjUsMTAgKzY1LDExIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmQoKTsKICAg
ICAgICAgdmlydHVhbCB2b2lkIHJlc3VtZSgpOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRP
cGVuKFNvY2tldFN0cmVhbUhhbmRsZSopOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2Uo
U29ja2V0U3RyZWFtSGFuZGxlKik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0
YShTb2NrZXRTdHJlYW1IYW5kbGUqLCBjb25zdCBjaGFyKiwgaW50KTsKLSAgICAgICAgdmlydHVh
bCB2b2lkIGRpZEZhaWwoU29ja2V0U3RyZWFtSGFuZGxlKiwgY29uc3QgU29ja2V0U3RyZWFtRXJy
b3ImKTsKKyAgICAgICAgLy8gU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50IGZ1bmN0aW9ucy4KKyAg
ICAgICAgdmlydHVhbCB2b2lkIGRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxl
Kik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZVNvY2tldFN0cmVhbShTb2NrZXRTdHJl
YW1IYW5kbGUqKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTb2NrZXRTdHJlYW1E
YXRhKFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0IGNoYXIqLCBpbnQpOworICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmFpbFNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUqLCBjb25zdCBT
b2NrZXRTdHJlYW1FcnJvciYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0IEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRDYW5jZWxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShTb2NrZXRTdHJlYW1IYW5kbGUqLCBjb25zdCBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI0ZDdkOWY4NDJhZWM3
ZDk0NGVlYzU4MDljMDM2OTgxMTJkNTQ0MTYuLmUyZjY0MmZjMTE0NDQ1NzViM2VjNzA0NDZkZWUx
MTIzYTJmMDU4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDctMjkgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgV2ViU29ja2V0OiBSZW5hbWUgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50IG1lbWJlciBmdW5j
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1
Mzc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
cmMvU29ja2V0U3RyZWFtSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVh
bUhhbmRsZUludGVybmFsOjpkaWRPcGVuU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tl
dFN0cmVhbUhhbmRsZUludGVybmFsOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChXZWJDb3Jl
OjpTb2NrZXRTdHJlYW1IYW5kbGVJbnRlcm5hbDo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6U29ja2V0U3RyZWFtSGFuZGxlSW50ZXJuYWw6OmRpZEZhaWwpOgorCiAyMDExLTA3LTI4ICBO
YW9raSBUYWthbm8gIDxob250ZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0g
QWRkIGZvcm0oKSBmdW5jdGlvbiB0byBhY2Nlc3MgcGFyZW50IFdlYkZvcm1FbGVtZW50IGZyb20g
V2ViRm9ybUNvbnRyb2xFbGVtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvU29ja2V0U3RyZWFtSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1NvY2tldFN0cmVhbUhhbmRsZS5jcHAKaW5kZXggNzc1NDVhMTdlODU4Y2VmMmM5YmI4MzY0ZDZk
MGQ2Y2ExMTJjMGIwNi4uZGU2YjFiOGY2ZWY4NTAwNzk4ZGZiNzEwOWIwMzhlMTQ0ODJiNWY2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU29ja2V0U3RyZWFtSGFuZGxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Tb2NrZXRTdHJlYW1IYW5kbGUu
Y3BwCkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVJbnRlcm5hbDo6
ZGlkT3BlblN0cmVhbShXZWJTb2NrZXRTdHJlYW1IYW5kbGUqIHNvY2tldEhhbmQKICAgICAgICAg
bV9tYXhQZW5kaW5nU2VuZEFsbG93ZWQgPSBtYXhQZW5kaW5nU2VuZEFsbG93ZWQ7CiAgICAgICAg
IG1faGFuZGxlLT5tX3N0YXRlID0gU29ja2V0U3RyZWFtSGFuZGxlQmFzZTo6T3BlbjsKICAgICAg
ICAgaWYgKG1faGFuZGxlLT5tX2NsaWVudCkgewotICAgICAgICAgICAgbV9oYW5kbGUtPm1fY2xp
ZW50LT5kaWRPcGVuKG1faGFuZGxlKTsKKyAgICAgICAgICAgIG1faGFuZGxlLT5tX2NsaWVudC0+
ZGlkT3BlblNvY2tldFN0cmVhbShtX2hhbmRsZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KICAgICB9CkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVJ
bnRlcm5hbDo6ZGlkUmVjZWl2ZURhdGEoV2ViU29ja2V0U3RyZWFtSGFuZGxlKiBzb2NrZXRIYW4K
ICAgICBpZiAobV9oYW5kbGUgJiYgbV9zb2NrZXQuZ2V0KCkpIHsKICAgICAgICAgQVNTRVJUKHNv
Y2tldEhhbmRsZSA9PSBtX3NvY2tldC5nZXQoKSk7CiAgICAgICAgIGlmIChtX2hhbmRsZS0+bV9j
bGllbnQpCi0gICAgICAgICAgICBtX2hhbmRsZS0+bV9jbGllbnQtPmRpZFJlY2VpdmVEYXRhKG1f
aGFuZGxlLCBkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgICAgICAgICAgbV9oYW5kbGUt
Pm1fY2xpZW50LT5kaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YShtX2hhbmRsZSwgZGF0YS5kYXRh
KCksIGRhdGEuc2l6ZSgpKTsKICAgICB9CiB9CiAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIFNv
Y2tldFN0cmVhbUhhbmRsZUludGVybmFsOjpkaWRDbG9zZShXZWJTb2NrZXRTdHJlYW1IYW5kbGUq
IHNvY2tldEhhbmRsZSkKICAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKiBoID0gbV9oYW5kbGU7
CiAgICAgICAgIG1faGFuZGxlID0gMDsKICAgICAgICAgaWYgKGgtPm1fY2xpZW50KQotICAgICAg
ICAgICAgaC0+bV9jbGllbnQtPmRpZENsb3NlKGgpOworICAgICAgICAgICAgaC0+bV9jbGllbnQt
PmRpZENsb3NlU29ja2V0U3RyZWFtKGgpOwogICAgIH0KIH0KIApAQCAtMTgxLDcgKzE4MSw3IEBA
IHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlSW50ZXJuYWw6OmRpZEZhaWwoV2ViU29ja2V0U3RyZWFt
SGFuZGxlKiBzb2NrZXRIYW5kbGUsIGNvCiAgICAgICAgIFNvY2tldFN0cmVhbUhhbmRsZSogaCA9
IG1faGFuZGxlOwogICAgICAgICBtX2hhbmRsZSA9IDA7CiAgICAgICAgIGlmIChoLT5tX2NsaWVu
dCkKLSAgICAgICAgICAgIGgtPm1fY2xpZW50LT5kaWRDbG9zZShoKTsgIC8vIGRpZEZhaWwoaCwg
ZXJyKTsKKyAgICAgICAgICAgIGgtPm1fY2xpZW50LT5kaWRDbG9zZVNvY2tldFN0cmVhbShoKTsg
Ly8gZGlkRmFpbChoLCBlcnIpOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102482</attachid>
            <date>2011-07-31 23:12:33 -0700</date>
            <delta_ts>2011-08-01 00:27:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-65374-20110801151231.patch</filename>
            <type>text/plain</type>
            <size>21914</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE5OTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZTMzZTYxNDg1YjRhNTRk
NDQwY2NjMTE0ZGU3MmJjMzI0NGMzODljLi5lNTdlZTlkMmQ4MDU0OGFjMmRkYWU3ZWViMTIzZGE3
MzM2ODAwMGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEtMDctMjkgIFl1dGEg
S2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViU29ja2V0OiBSZW5h
bWUgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50IG1lbWJlciBmdW5jdGlvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgS2VudCBUYW11cmEuCisKKyAgICAgICAgUmVuYW1lIFNvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudCBtZW1iZXIgZnVuY3Rpb25zIHRvIGF2b2lkIGNvbmZsaWN0IG9mIHRoZSBuYW1lcyBv
ZgorICAgICAgICBGaWxlUmVhZGVyTG9hZGVyQ2xpZW50IGZ1bmN0aW9ucy4KKworICAgICAgICBO
byBjaGFuZ2UgaW4gYmVoYXZpb3IsIHRodXMgbm8gbmV3IHRlc3RzIGFyZSBhZGRlZC4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQ6OmRpZE9wZW5Tb2NrZXRTdHJl
YW0pOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50OjpkaWRDbG9z
ZVNvY2tldFN0cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVDbGll
bnQ6OmRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tl
dFN0cmVhbUhhbmRsZUNsaWVudDo6ZGlkRmFpbFNvY2tldFN0cmVhbSk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9icmV3L1NvY2tldFN0cmVhbUhhbmRsZUJyZXcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q29ubmVjdGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldFJlYWR5UmVh
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRD
bG9zZWQpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29j
a2V0RXJyb3IpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0U3RyZWFtSGFu
ZGxlQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxlOjphZGRD
T05ORUNUQ3JlZGVudGlhbHMpOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFuZGxl
OjpyZWFkU3RyZWFtQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3RyZWFtSGFu
ZGxlOjp3cml0ZVN0cmVhbUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVh
bUhhbmRsZTo6cmVwb3J0RXJyb3JUb0NsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRT
dHJlYW1IYW5kbGU6OnBsYXRmb3JtQ2xvc2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
cXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U29ja2V0U3Ry
ZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q29ubmVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNv
Y2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldFJlYWR5UmVhZCk6CisgICAgICAgIChXZWJD
b3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRDbG9zZWRDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRFcnJvckNh
bGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFu
ZGxlU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OmNvbm5l
Y3RlZCk6CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnJlYWRCeXRlcyk6
CisgICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtU2VuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTb2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtQ2xvc2UpOgorICAg
ICAgICAqIHdlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuU29ja2V0U3RyZWFtKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlNvY2tldENoYW5uZWw6OmRpZENsb3NlU29ja2V0U3RyZWFtKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0pOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lVGltZXJGaXJlZCk6Cisg
ICAgICAgICogd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmg6CisKIDIwMTEtMDctMjggIExl
YW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IEZpeCBzcGVlY2ggaW5wdXQgaWNvbiByZWN0IG9uIFJUTCBkaXJlY3Rpb25zLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVDbGll
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxl
Q2xpZW50LmgKaW5kZXggNWQ5N2VjMGM3MWRlZGNkMmQwMDZhNmUyMDRjYjRmYjZiZjc1OWNiMi4u
NWFmZmQzM2FhZjQxMmE2NDI0OTI0NTc5YjhlNjUxZTdhNWJiN2EyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZUNs
aWVudC5oCkBAIC00MywxMSArNDMsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+U29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KCkgeyB9CiAKLSAg
ICAgICAgdmlydHVhbCB2b2lkIGRpZE9wZW4oU29ja2V0U3RyZWFtSGFuZGxlKikgeyB9Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZShTb2NrZXRTdHJlYW1IYW5kbGUqKSB7IH0KLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0
IGNoYXIqIC8qZGF0YSovLCBpbnQgLypsZW5ndGgqLykgeyB9CisgICAgICAgIHZpcnR1YWwgdm9p
ZCBkaWRPcGVuU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSopIHsgfQorICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKikgeyB9
CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YShTb2NrZXRT
dHJlYW1IYW5kbGUqLCBjb25zdCBjaGFyKiAvKmRhdGEqLywgaW50IC8qbGVuZ3RoKi8pIHsgfQog
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0
IFNvY2tldFN0cmVhbUVycm9yJikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsU29j
a2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0IFNvY2tldFN0cmVhbUVycm9yJikg
eyB9CiAKICAgICAgICAgLy8gTm8gYXV0aGVudGljYXRpb24gZm9yIHN0cmVhbXMgcGVyIHNlLCBi
dXQgcHJveHkgbWF5IGFzayBmb3IgY3JlZGVudGlhbHMuCiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoU29ja2V0U3RyZWFtSGFuZGxlKiwgY29u
c3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvYnJldy9Tb2NrZXRTdHJlYW1IYW5kbGVCcmV3LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYnJldy9Tb2NrZXRTdHJlYW1IYW5kbGVCcmV3
LmNwcAppbmRleCA1ZGM5MjVlNWJmOTRmNGNlNGRlMzliNjUzOWM2MTMyM2VjOWMyOTAzLi4wNDc2
ZjVlNTRmOGFkODA4OWI4MzA0N2M5YmQ3MTc3YWFiM2MxNTZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JyZXcvU29ja2V0U3RyZWFtSGFuZGxlQnJldy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9icmV3L1NvY2tldFN0cmVhbUhh
bmRsZUJyZXcuY3BwCkBAIC0xMTMsNyArMTEzLDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVQ
cml2YXRlOjpzb2NrZXRDb25uZWN0ZWQoKQogewogICAgIGlmIChtX3N0cmVhbUhhbmRsZSAmJiBt
X3N0cmVhbUhhbmRsZS0+Y2xpZW50KCkpIHsKICAgICAgICAgbV9zdHJlYW1IYW5kbGUtPm1fc3Rh
dGUgPSBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlOjpPcGVuOwotICAgICAgICBtX3N0cmVhbUhhbmRs
ZS0+Y2xpZW50KCktPmRpZE9wZW4obV9zdHJlYW1IYW5kbGUpOworICAgICAgICBtX3N0cmVhbUhh
bmRsZS0+Y2xpZW50KCktPmRpZE9wZW5Tb2NrZXRTdHJlYW0obV9zdHJlYW1IYW5kbGUpOwogICAg
IH0KIAogICAgIElTT0NLRVRfUmVhZGFibGUobV9zb2NrZXQuZ2V0KCksIHNvY2tldFJlYWRhYmxl
Q2FsbGJhY2ssIHRoaXMpOwpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFu
ZGxlUHJpdmF0ZTo6c29ja2V0UmVhZHlSZWFkKCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCi0gICAgICAgIG1fc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZURhdGEo
bV9zdHJlYW1IYW5kbGUsIGJ1ZmZlci5kYXRhKCksIHJlYWRTaXplKTsKKyAgICAgICAgbV9zdHJl
YW1IYW5kbGUtPmNsaWVudCgpLT5kaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YShtX3N0cmVhbUhh
bmRsZSwgYnVmZmVyLmRhdGEoKSwgcmVhZFNpemUpOwogICAgIH0KIAogICAgIElTT0NLRVRfUmVh
ZGFibGUobV9zb2NrZXQuZ2V0KCksIHNvY2tldFJlYWRhYmxlQ2FsbGJhY2ssIHRoaXMpOwpAQCAt
MTY2LDcgKzE2Niw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q2xv
c2VkKCkKICAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKiBzdHJlYW1IYW5kbGUgPSBtX3N0cmVh
bUhhbmRsZTsKICAgICAgICAgbV9zdHJlYW1IYW5kbGUgPSAwOwogICAgICAgICAvLyBUaGlzIGZv
bGxvd2luZyBjYWxsIGRlbGV0ZXMgX3RoaXNfLiBOb3RoaW5nIHNob3VsZCBiZSBhZnRlciBpdC4K
LSAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkQ2xvc2Uoc3RyZWFtSGFuZGxlKTsK
KyAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oc3Ry
ZWFtSGFuZGxlKTsKICAgICB9CiB9CiAKQEAgLTE3Nyw3ICsxNzcsNyBAQCB2b2lkIFNvY2tldFN0
cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldEVycm9yKGludCBlcnJvcikKICAgICAgICAgU29ja2V0
U3RyZWFtSGFuZGxlKiBzdHJlYW1IYW5kbGUgPSBtX3N0cmVhbUhhbmRsZTsKICAgICAgICAgbV9z
dHJlYW1IYW5kbGUgPSAwOwogICAgICAgICAvLyBUaGlzIGZvbGxvd2luZyBjYWxsIGRlbGV0ZXMg
X3RoaXNfLiBOb3RoaW5nIHNob3VsZCBiZSBhZnRlciBpdC4KLSAgICAgICAgc3RyZWFtSGFuZGxl
LT5jbGllbnQoKS0+ZGlkQ2xvc2Uoc3RyZWFtSGFuZGxlKTsKKyAgICAgICAgc3RyZWFtSGFuZGxl
LT5jbGllbnQoKS0+ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oc3RyZWFtSGFuZGxlKTsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvU29ja2V0
U3RyZWFtSGFuZGxlQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
Zi9Tb2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHAKaW5kZXggNWJkYzFhNmQwZjMxYmIxMDdkMTky
ODAzYTJmNjUxYTZjNTNlYTBhMC4uYTM1ODgzMjM4NzhmZGQwNDk1OTA5N2RhNzQ4ZTdjMzkzMWIx
ODA0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Tb2Nr
ZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9Tb2NrZXRTdHJlYW1IYW5kbGVDRk5ldC5jcHAKQEAgLTMyOSw3ICszMjksNyBAQCB2
b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6YWRkQ09OTkVDVENyZWRlbnRpYWxzKENGSFRUUE1lc3Nh
Z2VSZWYgcHJveHlSZXNwb25zZSkKIAogICAgIGlmICghQ0ZIVFRQQXV0aGVudGljYXRpb25SZXF1
aXJlc1VzZXJOYW1lQW5kUGFzc3dvcmQoYXV0aGVudGljYXRpb24uZ2V0KCkpKSB7CiAgICAgICAg
IC8vIFRoYXQncyBhbGwgd2UgY2FuIG9mZmVyLi4uCi0gICAgICAgIG1fY2xpZW50LT5kaWRGYWls
KHRoaXMsIFNvY2tldFN0cmVhbUVycm9yKCkpOyAvLyBGSVhNRTogUHJvdmlkZSBhIHNlbnNpYmxl
IGVycm9yLgorICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbFNvY2tldFN0cmVhbSh0aGlzLCBTb2Nr
ZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6IFByb3ZpZGUgYSBzZW5zaWJsZSBlcnJvci4KICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzU0LDcgKzM1NCw3IEBAIHZvaWQgU29ja2V0U3Ry
ZWFtSGFuZGxlOjphZGRDT05ORUNUQ3JlZGVudGlhbHMoQ0ZIVFRQTWVzc2FnZVJlZiBwcm94eVJl
c3BvbnNlKQogCiAgICAgICAgIGlmICghcHJveHlBdXRob3JpemF0aW9uU3RyaW5nKSB7CiAgICAg
ICAgICAgICAvLyBGYWlscyBlLmcuIGZvciBOVExNIGF1dGguCi0gICAgICAgICAgICBtX2NsaWVu
dC0+ZGlkRmFpbCh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6IFByb3ZpZGUg
YSBzZW5zaWJsZSBlcnJvci4KKyAgICAgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsU29ja2V0U3Ry
ZWFtKHRoaXMsIFNvY2tldFN0cmVhbUVycm9yKCkpOyAvLyBGSVhNRTogUHJvdmlkZSBhIHNlbnNp
YmxlIGVycm9yLgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTM2Niw3ICsz
NjYsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6YWRkQ09OTkVDVENyZWRlbnRpYWxzKENG
SFRUUE1lc3NhZ2VSZWYgcHJveHlSZXNwb25zZSkKIAogICAgIC8vIEZJWE1FOiBBc2sgdGhlIGNs
aWVudCBpZiBjcmVkZW50aWFscyBjb3VsZCBub3QgYmUgZm91bmQuCiAKLSAgICBtX2NsaWVudC0+
ZGlkRmFpbCh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6IFByb3ZpZGUgYSBz
ZW5zaWJsZSBlcnJvci4KKyAgICBtX2NsaWVudC0+ZGlkRmFpbFNvY2tldFN0cmVhbSh0aGlzLCBT
b2NrZXRTdHJlYW1FcnJvcigpKTsgLy8gRklYTUU6IFByb3ZpZGUgYSBzZW5zaWJsZSBlcnJvci4K
IH0KIAogQ0ZTdHJpbmdSZWYgU29ja2V0U3RyZWFtSGFuZGxlOjpjb3B5Q0ZTdHJlYW1EZXNjcmlw
dGlvbih2b2lkKiBpbmZvKQpAQCAtNDQ1LDcgKzQ0NSw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFu
ZGxlOjpyZWFkU3RyZWFtQ2FsbGJhY2soQ0ZTdHJlYW1FdmVudFR5cGUgdHlwZSkKICAgICAgICAg
ICAgIG1fc3RhdGUgPSBPcGVuOwogCiAgICAgICAgICAgICBSZWZQdHI8U29ja2V0U3RyZWFtSGFu
ZGxlPiBwcm90ZWN0KHRoaXMpOyAvLyBUaGUgY2xpZW50IGNhbiBjbG9zZSB0aGUgaGFuZGxlLCBw
b3RlbnRpYWxseSByZW1vdmluZyB0aGUgbGFzdCByZWZlcmVuY2UuCi0gICAgICAgICAgICBtX2Ns
aWVudC0+ZGlkT3Blbih0aGlzKTsKKyAgICAgICAgICAgIG1fY2xpZW50LT5kaWRPcGVuU29ja2V0
U3RyZWFtKHRoaXMpOwogICAgICAgICAgICAgaWYgKG1fc3RhdGUgPT0gQ2xvc2VkKQogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgpAQCAtNDYzLDcg
KzQ2Myw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpyZWFkU3RyZWFtQ2FsbGJhY2soQ0ZT
dHJlYW1FdmVudFR5cGUgdHlwZSkKICAgICAgICAgICAgIHB0ciA9IGxvY2FsQnVmZmVyOwogICAg
ICAgICB9CiAKLSAgICAgICAgbV9jbGllbnQtPmRpZFJlY2VpdmVEYXRhKHRoaXMsIHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHB0ciksIGxlbmd0aCk7CisgICAgICAgIG1fY2xpZW50LT5k
aWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YSh0aGlzLCByZWludGVycHJldF9jYXN0PGNvbnN0IGNo
YXIqPihwdHIpLCBsZW5ndGgpOwogCiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTUwNCw3ICs1
MDQsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6d3JpdGVTdHJlYW1DYWxsYmFjayhDRlN0
cmVhbUV2ZW50VHlwZSB0eXBlKQogICAgICAgICAgICAgbV9zdGF0ZSA9IE9wZW47CiAKICAgICAg
ICAgICAgIFJlZlB0cjxTb2NrZXRTdHJlYW1IYW5kbGU+IHByb3RlY3QodGhpcyk7IC8vIFRoZSBj
bGllbnQgY2FuIGNsb3NlIHRoZSBoYW5kbGUsIHBvdGVudGlhbGx5IHJlbW92aW5nIHRoZSBsYXN0
IHJlZmVyZW5jZS4KLSAgICAgICAgICAgIG1fY2xpZW50LT5kaWRPcGVuKHRoaXMpOworICAgICAg
ICAgICAgbV9jbGllbnQtPmRpZE9wZW5Tb2NrZXRTdHJlYW0odGhpcyk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogCkBAIC01NDMsNyArNTQzLDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1I
YW5kbGU6OnJlcG9ydEVycm9yVG9DbGllbnQoQ0ZFcnJvclJlZiBlcnJvcikKICAgICAgICAgZGVz
Y3JpcHRpb24gPSBTdHJpbmcoZGVzY3JpcHRpb25DRi5nZXQoKSk7CiAgICAgfQogCi0gICAgbV9j
bGllbnQtPmRpZEZhaWwodGhpcywgU29ja2V0U3RyZWFtRXJyb3Ioc3RhdGljX2Nhc3Q8aW50Pihl
cnJvckNvZGUpLCBtX3VybC5zdHJpbmcoKSwgZGVzY3JpcHRpb24pKTsKKyAgICBtX2NsaWVudC0+
ZGlkRmFpbFNvY2tldFN0cmVhbSh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcihzdGF0aWNfY2FzdDxp
bnQ+KGVycm9yQ29kZSksIG1fdXJsLnN0cmluZygpLCBkZXNjcmlwdGlvbikpOwogfQogCiBTb2Nr
ZXRTdHJlYW1IYW5kbGU6On5Tb2NrZXRTdHJlYW1IYW5kbGUoKQpAQCAtNTcxLDcgKzU3MSw3IEBA
IHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybUNsb3NlKCkKICAgICBBU1NFUlQoIW1f
cmVhZFN0cmVhbSA9PSAhbV93cml0ZVN0cmVhbSk7CiAgICAgaWYgKCFtX3JlYWRTdHJlYW0pIHsK
ICAgICAgICAgaWYgKG1fY29ubmVjdGluZ1N1YnN0YXRlID09IE5ldyB8fCBtX2Nvbm5lY3RpbmdT
dWJzdGF0ZSA9PSBFeGVjdXRpbmdQQUNGaWxlKQotICAgICAgICAgICAgbV9jbGllbnQtPmRpZENs
b3NlKHRoaXMpOworICAgICAgICAgICAgbV9jbGllbnQtPmRpZENsb3NlU29ja2V0U3RyZWFtKHRo
aXMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC01ODksNyArNTg5LDcgQEAgdm9pZCBT
b2NrZXRTdHJlYW1IYW5kbGU6OnBsYXRmb3JtQ2xvc2UoKQogICAgIG1fcmVhZFN0cmVhbSA9IDA7
CiAgICAgbV93cml0ZVN0cmVhbSA9IDA7CiAKLSAgICBtX2NsaWVudC0+ZGlkQ2xvc2UodGhpcyk7
CisgICAgbV9jbGllbnQtPmRpZENsb3NlU29ja2V0U3RyZWFtKHRoaXMpOwogfQogCiB2b2lkIFNv
Y2tldFN0cmVhbUhhbmRsZTo6cmVjZWl2ZWRDcmVkZW50aWFsKGNvbnN0IEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlJiwgY29uc3QgQ3JlZGVudGlhbCYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1NvY2tldFN0cmVhbUhhbmRsZVF0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCmluZGV4
IDEwNTUwYWU3NjE2MjA5M2QyOGI0M2EwYmQxZDEyOWU4YzI3OWUyNzUuLjI5NDIwNDFjZmQxMWEx
MjZlYjA2NTJkMjEwNmM2YWU0ZjFkNDkzMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvU29ja2V0U3RyZWFtSGFuZGxlUXQuY3BwCkBAIC04
Myw3ICs4Myw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlUHJpdmF0ZTo6c29ja2V0Q29ubmVj
dGVkKCkKIHsKICAgICBpZiAobV9zdHJlYW1IYW5kbGUgJiYgbV9zdHJlYW1IYW5kbGUtPmNsaWVu
dCgpKSB7CiAgICAgICAgIG1fc3RyZWFtSGFuZGxlLT5tX3N0YXRlID0gU29ja2V0U3RyZWFtSGFu
ZGxlQmFzZTo6T3BlbjsKLSAgICAgICAgbV9zdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRPcGVu
KG1fc3RyZWFtSGFuZGxlKTsKKyAgICAgICAgbV9zdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRP
cGVuU29ja2V0U3RyZWFtKG1fc3RyZWFtSGFuZGxlKTsKICAgICB9CiB9CiAKQEAgLTkxLDcgKzkx
LDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVQcml2YXRlOjpzb2NrZXRSZWFkeVJlYWQoKQog
ewogICAgIGlmIChtX3N0cmVhbUhhbmRsZSAmJiBtX3N0cmVhbUhhbmRsZS0+Y2xpZW50KCkpIHsK
ICAgICAgICAgUUJ5dGVBcnJheSBkYXRhID0gbV9zb2NrZXQtPnJlYWQobV9zb2NrZXQtPmJ5dGVz
QXZhaWxhYmxlKCkpOwotICAgICAgICBtX3N0cmVhbUhhbmRsZS0+Y2xpZW50KCktPmRpZFJlY2Vp
dmVEYXRhKG1fc3RyZWFtSGFuZGxlLCBkYXRhLmNvbnN0RGF0YSgpLCBkYXRhLnNpemUoKSk7Cisg
ICAgICAgIG1fc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZVNvY2tldFN0cmVhbURh
dGEobV9zdHJlYW1IYW5kbGUsIGRhdGEuY29uc3REYXRhKCksIGRhdGEuc2l6ZSgpKTsKICAgICB9
CiB9CiAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6
OnNvY2tldENsb3NlZENhbGxiYWNrKCkKICAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKiBzdHJl
YW1IYW5kbGUgPSBtX3N0cmVhbUhhbmRsZTsKICAgICAgICAgbV9zdHJlYW1IYW5kbGUgPSAwOwog
ICAgICAgICAvLyBUaGlzIGZvbGxvd2luZyBjYWxsIGRlbGV0ZXMgX3RoaXNfLiBOb3RoaW5nIHNo
b3VsZCBiZSBhZnRlciBpdC4KLSAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkQ2xv
c2Uoc3RyZWFtSGFuZGxlKTsKKyAgICAgICAgc3RyZWFtSGFuZGxlLT5jbGllbnQoKS0+ZGlkQ2xv
c2VTb2NrZXRTdHJlYW0oc3RyZWFtSGFuZGxlKTsKICAgICB9CiB9CiAKQEAgLTE0Myw3ICsxNDMs
NyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZVByaXZhdGU6OnNvY2tldEVycm9yQ2FsbGJhY2so
aW50IGVycm9yKQogICAgICAgICBTb2NrZXRTdHJlYW1IYW5kbGUqIHN0cmVhbUhhbmRsZSA9IG1f
c3RyZWFtSGFuZGxlOwogICAgICAgICBtX3N0cmVhbUhhbmRsZSA9IDA7CiAgICAgICAgIC8vIFRo
aXMgZm9sbG93aW5nIGNhbGwgZGVsZXRlcyBfdGhpc18uIE5vdGhpbmcgc2hvdWxkIGJlIGFmdGVy
IGl0LgotICAgICAgICBzdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRDbG9zZShzdHJlYW1IYW5k
bGUpOworICAgICAgICBzdHJlYW1IYW5kbGUtPmNsaWVudCgpLT5kaWRDbG9zZVNvY2tldFN0cmVh
bShzdHJlYW1IYW5kbGUpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZVNvdXAuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvY2tldFN0cmVhbUhhbmRsZVNvdXAuY3Bw
CmluZGV4IDFmOWQ0ZThkMmNiZWVkMTJmMTUzNjY5OTIzZjcyMDhmOTY3OTQyYmUuLmM1MmVmZjQ5
NWZlZDcwNmJhYzZjZDBiYmM3MmQ0YWEyYWE3OTRiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb2NrZXRTdHJlYW1IYW5kbGVTb3VwLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxl
U291cC5jcHAKQEAgLTEwMiw3ICsxMDIsNyBAQCBTb2NrZXRTdHJlYW1IYW5kbGU6On5Tb2NrZXRT
dHJlYW1IYW5kbGUoKQogdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGU6OmNvbm5lY3RlZChHU29ja2V0
Q29ubmVjdGlvbiogc29ja2V0Q29ubmVjdGlvbiwgR0Vycm9yKiBlcnJvcikKIHsKICAgICBpZiAo
ZXJyb3IpIHsKLSAgICAgICAgbV9jbGllbnQtPmRpZEZhaWwodGhpcywgU29ja2V0U3RyZWFtRXJy
b3IoZXJyb3ItPmNvZGUpKTsKKyAgICAgICAgbV9jbGllbnQtPmRpZEZhaWxTb2NrZXRTdHJlYW0o
dGhpcywgU29ja2V0U3RyZWFtRXJyb3IoZXJyb3ItPmNvZGUpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpjb25u
ZWN0ZWQoR1NvY2tldENvbm5lY3Rpb24qIHNvY2tldENvbm5lY3Rpb24sIEdFcnJvcioKICAgICAv
LyBUaGUgY2xpZW50IGNhbiBjbG9zZSB0aGUgaGFuZGxlLCBwb3RlbnRpYWxseSByZW1vdmluZyB0
aGUgbGFzdCByZWZlcmVuY2UuCiAgICAgUmVmUHRyPFNvY2tldFN0cmVhbUhhbmRsZT4gcHJvdGVj
dCh0aGlzKTsgCiAgICAgbV9zdGF0ZSA9IE9wZW47Ci0gICAgbV9jbGllbnQtPmRpZE9wZW4odGhp
cyk7CisgICAgbV9jbGllbnQtPmRpZE9wZW5Tb2NrZXRTdHJlYW0odGhpcyk7CiAgICAgaWYgKCFt
X3NvY2tldENvbm5lY3Rpb24pIC8vIENsaWVudCBjbG9zZWQgdGhlIGNvbm5lY3Rpb24uCiAgICAg
ICAgIHJldHVybjsKIH0KQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIFNvY2tldFN0cmVhbUhhbmRs
ZTo6Y29ubmVjdGVkKEdTb2NrZXRDb25uZWN0aW9uKiBzb2NrZXRDb25uZWN0aW9uLCBHRXJyb3Iq
CiB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6cmVhZEJ5dGVzKHNpZ25lZCBsb25nIGJ5dGVzUmVh
ZCwgR0Vycm9yKiBlcnJvcikKIHsKICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgbV9jbGllbnQt
PmRpZEZhaWwodGhpcywgU29ja2V0U3RyZWFtRXJyb3IoZXJyb3ItPmNvZGUpKTsKKyAgICAgICAg
bV9jbGllbnQtPmRpZEZhaWxTb2NrZXRTdHJlYW0odGhpcywgU29ja2V0U3RyZWFtRXJyb3IoZXJy
b3ItPmNvZGUpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTM2LDcgKzEzNiw3IEBA
IHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpyZWFkQnl0ZXMoc2lnbmVkIGxvbmcgYnl0ZXNSZWFk
LCBHRXJyb3IqIGVycm9yKQogCiAgICAgLy8gVGhlIGNsaWVudCBjYW4gY2xvc2UgdGhlIGhhbmRs
ZSwgcG90ZW50aWFsbHkgcmVtb3ZpbmcgdGhlIGxhc3QgcmVmZXJlbmNlLgogICAgIFJlZlB0cjxT
b2NrZXRTdHJlYW1IYW5kbGU+IHByb3RlY3QodGhpcyk7IAotICAgIG1fY2xpZW50LT5kaWRSZWNl
aXZlRGF0YSh0aGlzLCBtX3JlYWRCdWZmZXIsIGJ5dGVzUmVhZCk7CisgICAgbV9jbGllbnQtPmRp
ZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhKHRoaXMsIG1fcmVhZEJ1ZmZlciwgYnl0ZXNSZWFkKTsK
ICAgICBpZiAobV9pbnB1dFN0cmVhbSkgLy8gVGhlIGNsaWVudCBtYXkgaGF2ZSBjbG9zZWQgdGhl
IGNvbm5lY3Rpb24uCiAgICAgICAgIGdfaW5wdXRfc3RyZWFtX3JlYWRfYXN5bmMobV9pbnB1dFN0
cmVhbS5nZXQoKSwgbV9yZWFkQnVmZmVyLCBSRUFEX0JVRkZFUl9TSVpFLCBHX1BSSU9SSVRZX0RF
RkFVTFQsIDAsCiAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PEdBc3luY1JlYWR5Q2FsbGJh
Y2s+KHJlYWRSZWFkeUNhbGxiYWNrKSwgbV9pZCk7CkBAIC0xNjMsNyArMTYzLDcgQEAgaW50IFNv
Y2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1TZW5kKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5n
dGgpCiAgICAgR093blB0cjxHRXJyb3I+IGVycm9yOwogICAgIGdzc2l6ZSB3cml0dGVuID0gZ19w
b2xsYWJsZV9vdXRwdXRfc3RyZWFtX3dyaXRlX25vbmJsb2NraW5nKG1fb3V0cHV0U3RyZWFtLmdl
dCgpLCBkYXRhLCBsZW5ndGgsIDAsICZlcnJvci5vdXRQdHIoKSk7CiAgICAgaWYgKGVycm9yICYm
ICFnX2Vycm9yX21hdGNoZXMoZXJyb3IuZ2V0KCksIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfV09V
TERfQkxPQ0spKSB7Ci0gICAgICAgIG1fY2xpZW50LT5kaWRGYWlsKHRoaXMsIFNvY2tldFN0cmVh
bUVycm9yKGVycm9yLT5jb2RlKSk7IC8vIEZJWE1FOiBQcm92aWRlIGEgc2Vuc2libGUgZXJyb3Iu
CisgICAgICAgIG1fY2xpZW50LT5kaWRGYWlsU29ja2V0U3RyZWFtKHRoaXMsIFNvY2tldFN0cmVh
bUVycm9yKGVycm9yLT5jb2RlKSk7IC8vIEZJWE1FOiBQcm92aWRlIGEgc2Vuc2libGUgZXJyb3Iu
CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgU29j
a2V0U3RyZWFtSGFuZGxlOjpwbGF0Zm9ybUNsb3NlKCkKICAgICAgICAgR093blB0cjxHRXJyb3I+
IGVycm9yOwogICAgICAgICBnX2lvX3N0cmVhbV9jbG9zZShHX0lPX1NUUkVBTShtX3NvY2tldENv
bm5lY3Rpb24uZ2V0KCkpLCAwLCAmZXJyb3Iub3V0UHRyKCkpOwogICAgICAgICBpZiAoZXJyb3Ip
Ci0gICAgICAgICAgICBtX2NsaWVudC0+ZGlkRmFpbCh0aGlzLCBTb2NrZXRTdHJlYW1FcnJvcihl
cnJvci0+Y29kZSkpOyAvLyBGSVhNRTogUHJvdmlkZSBhIHNlbnNpYmxlIGVycm9yLgorICAgICAg
ICAgICAgbV9jbGllbnQtPmRpZEZhaWxTb2NrZXRTdHJlYW0odGhpcywgU29ja2V0U3RyZWFtRXJy
b3IoZXJyb3ItPmNvZGUpKTsgLy8gRklYTUU6IFByb3ZpZGUgYSBzZW5zaWJsZSBlcnJvci4KICAg
ICAgICAgbV9zb2NrZXRDb25uZWN0aW9uID0gMDsKICAgICB9CiAKQEAgLTE5Myw3ICsxOTMsNyBA
QCB2b2lkIFNvY2tldFN0cmVhbUhhbmRsZTo6cGxhdGZvcm1DbG9zZSgpCiAgICAgbV9pbnB1dFN0
cmVhbSA9IDA7CiAgICAgZGVsZXRlIG1fcmVhZEJ1ZmZlcjsKIAotICAgIG1fY2xpZW50LT5kaWRD
bG9zZSh0aGlzKTsKKyAgICBtX2NsaWVudC0+ZGlkQ2xvc2VTb2NrZXRTdHJlYW0odGhpcyk7CiB9
CiAKIHZvaWQgU29ja2V0U3RyZWFtSGFuZGxlOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggYzFhNDA3NGFmZWZjODQyZmVm
ZDAxYmI2ODU2ZDAzZjU3MDFjNTViNS4uNDNlNGUzMjc1Y2FhNjk5ZmE1OWU4MDMwZjdhNTg3Y2Q5
YjcwOTM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5u
ZWwuY3BwCkBAIC0yMDMsOSArMjAzLDkgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUo
KQogICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAotdm9pZCBXZWJT
b2NrZXRDaGFubmVsOjpkaWRPcGVuKFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlKQordm9pZCBX
ZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSog
aGFuZGxlKQogewotICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBkaWRPcGVu
IiwgdGhpcyk7CisgICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFubmVsICVwIGRpZE9wZW5T
b2NrZXRTdHJlYW0iLCB0aGlzKTsKICAgICBBU1NFUlQoaGFuZGxlID09IG1faGFuZGxlKTsKICAg
ICBpZiAoIW1fY29udGV4dCkKICAgICAgICAgcmV0dXJuOwpAQCAtMjE2LDkgKzIxNiw5IEBAIHZv
aWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlbihTb2NrZXRTdHJlYW1IYW5kbGUqIGhhbmRsZSkK
ICAgICAgICAgZmFpbCgiRmFpbGVkIHRvIHNlbmQgV2ViU29ja2V0IGhhbmRzaGFrZS4iKTsKIH0K
IAotdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRDbG9zZShTb2NrZXRTdHJlYW1IYW5kbGUqIGhh
bmRsZSkKK3ZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkQ2xvc2VTb2NrZXRTdHJlYW0oU29ja2V0
U3RyZWFtSGFuZGxlKiBoYW5kbGUpCiB7Ci0gICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFu
bmVsICVwIGRpZENsb3NlIiwgdGhpcyk7CisgICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFu
bmVsICVwIGRpZENsb3NlU29ja2V0U3RyZWFtIiwgdGhpcyk7CiAgICAgaWYgKG1faWRlbnRpZmll
ciAmJiBtX2NvbnRleHQpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2xv
c2VXZWJTb2NrZXQobV9jb250ZXh0LCBtX2lkZW50aWZpZXIpOwogICAgIEFTU0VSVF9VTlVTRUQo
aGFuZGxlLCBoYW5kbGUgPT0gbV9oYW5kbGUgfHwgIW1faGFuZGxlKTsKQEAgLTIzOSw5ICsyMzks
OSBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZENsb3NlKFNvY2tldFN0cmVhbUhhbmRsZSog
aGFuZGxlKQogICAgIGRlcmVmKCk7CiB9CiAKLXZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkUmVj
ZWl2ZURhdGEoU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IGNoYXIqIGRhdGEsIGlu
dCBsZW4pCit2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRh
KFNvY2tldFN0cmVhbUhhbmRsZSogaGFuZGxlLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuKQog
ewotICAgIExPRyhOZXR3b3JrLCAiV2ViU29ja2V0Q2hhbm5lbCAlcCBkaWRSZWNlaXZlRGF0YSAl
ZCIsIHRoaXMsIGxlbik7CisgICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXRDaGFubmVsICVwIGRp
ZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRhICVkIiwgdGhpcywgbGVuKTsKICAgICBSZWZQdHI8V2Vi
U29ja2V0Q2hhbm5lbD4gcHJvdGVjdCh0aGlzKTsgLy8gVGhlIGNsaWVudCBjYW4gY2xvc2UgdGhl
IGNoYW5uZWwsIHBvdGVudGlhbGx5IHJlbW92aW5nIHRoZSBsYXN0IHJlZmVyZW5jZS4KICAgICBB
U1NFUlQoaGFuZGxlID09IG1faGFuZGxlKTsKICAgICBpZiAoIW1fY29udGV4dCkgewpAQCAtMjY4
LDkgKzI2OCw5IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkUmVjZWl2ZURhdGEoU29ja2V0
U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNvbnN0IGNoYXIqIGRhCiAgICAgICAgICAgICBicmVhazsK
IH0KIAotdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRGYWlsKFNvY2tldFN0cmVhbUhhbmRsZSog
aGFuZGxlLCBjb25zdCBTb2NrZXRTdHJlYW1FcnJvciYgZXJyb3IpCit2b2lkIFdlYlNvY2tldENo
YW5uZWw6OmRpZEZhaWxTb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKiBoYW5kbGUsIGNv
bnN0IFNvY2tldFN0cmVhbUVycm9yJiBlcnJvcikKIHsKLSAgICBMT0coTmV0d29yaywgIldlYlNv
Y2tldENoYW5uZWwgJXAgZGlkRmFpbCIsIHRoaXMpOworICAgIExPRyhOZXR3b3JrLCAiV2ViU29j
a2V0Q2hhbm5lbCAlcCBkaWRGYWlsU29ja2V0U3RyZWFtIiwgdGhpcyk7CiAgICAgQVNTRVJUKGhh
bmRsZSA9PSBtX2hhbmRsZSB8fCAhbV9oYW5kbGUpOwogICAgIGlmIChtX2NvbnRleHQpIHsKICAg
ICAgICAgU3RyaW5nIG1lc3NhZ2U7CkBAIC0zOTUsNyArMzk1LDcgQEAgdm9pZCBXZWJTb2NrZXRD
aGFubmVsOjpyZXN1bWVUaW1lckZpcmVkKFRpbWVyPFdlYlNvY2tldENoYW5uZWw+KiB0aW1lcikK
ICAgICAgICAgaWYgKCFwcm9jZXNzQnVmZmVyKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICBp
ZiAoIW1fc3VzcGVuZGVkICYmIG1fY2xpZW50ICYmIG1fY2xvc2VkICYmIG1faGFuZGxlKQotICAg
ICAgICBkaWRDbG9zZShtX2hhbmRsZS5nZXQoKSk7CisgICAgICAgIGRpZENsb3NlU29ja2V0U3Ry
ZWFtKG1faGFuZGxlLmdldCgpKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpzdGFydENs
b3NpbmdIYW5kc2hha2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9X
ZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuaAppbmRleCA2NTViNDdmNzFiODAwNjRkODcxMzhiMjE1MGFmMmZhYjRkNmE0OTlhLi5j
YTM0ZTdlYTQxMDBlY2ZhNDk0ZjEyNGZjZTY1MmRjNjgzYjlkMzkyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNjUsMTAgKzY1LDExIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmQoKTsKICAgICAg
ICAgdmlydHVhbCB2b2lkIHJlc3VtZSgpOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRPcGVu
KFNvY2tldFN0cmVhbUhhbmRsZSopOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2xvc2UoU29j
a2V0U3RyZWFtSGFuZGxlKik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShT
b2NrZXRTdHJlYW1IYW5kbGUqLCBjb25zdCBjaGFyKiwgaW50KTsKLSAgICAgICAgdmlydHVhbCB2
b2lkIGRpZEZhaWwoU29ja2V0U3RyZWFtSGFuZGxlKiwgY29uc3QgU29ja2V0U3RyZWFtRXJyb3Im
KTsKKyAgICAgICAgLy8gU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50IGZ1bmN0aW9ucy4KKyAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlKik7
CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRDbG9zZVNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1I
YW5kbGUqKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTb2NrZXRTdHJlYW1EYXRh
KFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0IGNoYXIqLCBpbnQpOworICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlkRmFpbFNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUqLCBjb25zdCBTb2Nr
ZXRTdHJlYW1FcnJvciYpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKFNvY2tldFN0cmVhbUhhbmRsZSosIGNvbnN0IEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlJik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRDYW5jZWxBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShTb2NrZXRTdHJlYW1IYW5kbGUqLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI0ZDdkOWY4NDJhZWM3ZDk0
NGVlYzU4MDljMDM2OTgxMTJkNTQ0MTYuLjQ3MjE1MTg3Njc0MGRlOGQ5MGU0NWM4OTgxZWRmMjUy
NjlkM2YzZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTEtMDctMjkgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
V2ViU29ja2V0OiBSZW5hbWUgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50IG1lbWJlciBmdW5jdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCisKKyAgICAgICAgKiBzcmMvU29j
a2V0U3RyZWFtSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVhbUhhbmRs
ZUludGVybmFsOjpkaWRPcGVuU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OlNvY2tldFN0cmVh
bUhhbmRsZUludGVybmFsOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTb2Nr
ZXRTdHJlYW1IYW5kbGVJbnRlcm5hbDo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6U29j
a2V0U3RyZWFtSGFuZGxlSW50ZXJuYWw6OmRpZEZhaWwpOgorCiAyMDExLTA3LTI4ICBOYW9raSBU
YWthbm8gIDxob250ZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gQWRkIGZv
cm0oKSBmdW5jdGlvbiB0byBhY2Nlc3MgcGFyZW50IFdlYkZvcm1FbGVtZW50IGZyb20gV2ViRm9y
bUNvbnRyb2xFbGVtZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
U29ja2V0U3RyZWFtSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1NvY2tl
dFN0cmVhbUhhbmRsZS5jcHAKaW5kZXggNzc1NDVhMTdlODU4Y2VmMmM5YmI4MzY0ZDZkMGQ2Y2Ex
MTJjMGIwNi4uZGU2YjFiOGY2ZWY4NTAwNzk4ZGZiNzEwOWIwMzhlMTQ0ODJiNWY2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Tb2NrZXRTdHJlYW1IYW5kbGUuY3BwCkBA
IC0xMzAsNyArMTMwLDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVJbnRlcm5hbDo6ZGlkT3Bl
blN0cmVhbShXZWJTb2NrZXRTdHJlYW1IYW5kbGUqIHNvY2tldEhhbmQKICAgICAgICAgbV9tYXhQ
ZW5kaW5nU2VuZEFsbG93ZWQgPSBtYXhQZW5kaW5nU2VuZEFsbG93ZWQ7CiAgICAgICAgIG1faGFu
ZGxlLT5tX3N0YXRlID0gU29ja2V0U3RyZWFtSGFuZGxlQmFzZTo6T3BlbjsKICAgICAgICAgaWYg
KG1faGFuZGxlLT5tX2NsaWVudCkgewotICAgICAgICAgICAgbV9oYW5kbGUtPm1fY2xpZW50LT5k
aWRPcGVuKG1faGFuZGxlKTsKKyAgICAgICAgICAgIG1faGFuZGxlLT5tX2NsaWVudC0+ZGlkT3Bl
blNvY2tldFN0cmVhbShtX2hhbmRsZSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
ICAgICB9CkBAIC0xNTUsNyArMTU1LDcgQEAgdm9pZCBTb2NrZXRTdHJlYW1IYW5kbGVJbnRlcm5h
bDo6ZGlkUmVjZWl2ZURhdGEoV2ViU29ja2V0U3RyZWFtSGFuZGxlKiBzb2NrZXRIYW4KICAgICBp
ZiAobV9oYW5kbGUgJiYgbV9zb2NrZXQuZ2V0KCkpIHsKICAgICAgICAgQVNTRVJUKHNvY2tldEhh
bmRsZSA9PSBtX3NvY2tldC5nZXQoKSk7CiAgICAgICAgIGlmIChtX2hhbmRsZS0+bV9jbGllbnQp
Ci0gICAgICAgICAgICBtX2hhbmRsZS0+bV9jbGllbnQtPmRpZFJlY2VpdmVEYXRhKG1faGFuZGxl
LCBkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgICAgICAgICAgbV9oYW5kbGUtPm1fY2xp
ZW50LT5kaWRSZWNlaXZlU29ja2V0U3RyZWFtRGF0YShtX2hhbmRsZSwgZGF0YS5kYXRhKCksIGRh
dGEuc2l6ZSgpKTsKICAgICB9CiB9CiAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIFNvY2tldFN0
cmVhbUhhbmRsZUludGVybmFsOjpkaWRDbG9zZShXZWJTb2NrZXRTdHJlYW1IYW5kbGUqIHNvY2tl
dEhhbmRsZSkKICAgICAgICAgU29ja2V0U3RyZWFtSGFuZGxlKiBoID0gbV9oYW5kbGU7CiAgICAg
ICAgIG1faGFuZGxlID0gMDsKICAgICAgICAgaWYgKGgtPm1fY2xpZW50KQotICAgICAgICAgICAg
aC0+bV9jbGllbnQtPmRpZENsb3NlKGgpOworICAgICAgICAgICAgaC0+bV9jbGllbnQtPmRpZENs
b3NlU29ja2V0U3RyZWFtKGgpOwogICAgIH0KIH0KIApAQCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQg
U29ja2V0U3RyZWFtSGFuZGxlSW50ZXJuYWw6OmRpZEZhaWwoV2ViU29ja2V0U3RyZWFtSGFuZGxl
KiBzb2NrZXRIYW5kbGUsIGNvCiAgICAgICAgIFNvY2tldFN0cmVhbUhhbmRsZSogaCA9IG1faGFu
ZGxlOwogICAgICAgICBtX2hhbmRsZSA9IDA7CiAgICAgICAgIGlmIChoLT5tX2NsaWVudCkKLSAg
ICAgICAgICAgIGgtPm1fY2xpZW50LT5kaWRDbG9zZShoKTsgIC8vIGRpZEZhaWwoaCwgZXJyKTsK
KyAgICAgICAgICAgIGgtPm1fY2xpZW50LT5kaWRDbG9zZVNvY2tldFN0cmVhbShoKTsgLy8gZGlk
RmFpbChoLCBlcnIpOwogICAgIH0KIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>