<?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>73050</bug_id>
          
          <creation_ts>2011-11-23 14:04:34 -0800</creation_ts>
          <short_desc>Change CSSMutableStyleDeclaration::m_node to m_element (along with getter/setter)</short_desc>
          <delta_ts>2011-11-23 18:45:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rafael Weinstein">rafaelw</reporter>
          <assigned_to name="Rafael Weinstein">rafaelw</assigned_to>
          <cc>darin</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>macpherson</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>508379</commentid>
    <comment_count>0</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2011-11-23 14:04:34 -0800</bug_when>
    <thetext>It is always set as an element, and clients often have to re-cast to an element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508382</commentid>
    <comment_count>1</comment_count>
      <attachid>116423</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2011-11-23 14:06:23 -0800</bug_when>
    <thetext>Created attachment 116423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508402</commentid>
    <comment_count>2</comment_count>
      <attachid>116423</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-23 14:27:48 -0800</bug_when>
    <thetext>Comment on attachment 116423
Patch

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

&gt; Source/WebCore/css/CSSMutableStyleDeclaration.h:181
&gt; -    Node* m_node;
&gt; +    Element* m_element;

Why not StyledElement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508403</commentid>
    <comment_count>3</comment_count>
      <attachid>116423</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-11-23 14:28:13 -0800</bug_when>
    <thetext>Comment on attachment 116423
Patch

Attachment 116423 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10602402</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508417</commentid>
    <comment_count>4</comment_count>
      <attachid>116423</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-11-23 14:45:40 -0800</bug_when>
    <thetext>Comment on attachment 116423
Patch

Attachment 116423 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10651009</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508440</commentid>
    <comment_count>5</comment_count>
      <attachid>116423</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2011-11-23 15:05:32 -0800</bug_when>
    <thetext>Comment on attachment 116423
Patch

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

&gt;&gt; Source/WebCore/css/CSSMutableStyleDeclaration.h:181
&gt;&gt; +    Element* m_element;
&gt; 
&gt; Why not StyledElement?

good call. done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508443</commentid>
    <comment_count>6</comment_count>
      <attachid>116436</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2011-11-23 15:08:09 -0800</bug_when>
    <thetext>Created attachment 116436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508453</commentid>
    <comment_count>7</comment_count>
      <attachid>116436</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-11-23 15:18:59 -0800</bug_when>
    <thetext>Comment on attachment 116436
Patch

Attachment 116436 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10640009</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508458</commentid>
    <comment_count>8</comment_count>
      <attachid>116443</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2011-11-23 15:21:55 -0800</bug_when>
    <thetext>Created attachment 116443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508560</commentid>
    <comment_count>9</comment_count>
      <attachid>116443</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-23 18:45:18 -0800</bug_when>
    <thetext>Comment on attachment 116443
Patch

Clearing flags on attachment: 116443

Committed r101116: &lt;http://trac.webkit.org/changeset/101116&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508561</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-23 18:45:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116423</attachid>
            <date>2011-11-23 14:06:23 -0800</date>
            <delta_ts>2011-11-23 15:08:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73050-20111123140622.patch</filename>
            <type>text/plain</type>
            <size>14980</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM0M2VkOGZmZWNkOWYx
YWYwYTI4MzkzNzk0MjY1MzJlM2E1MjgyNy4uMThhZjhkYjNlZGY4Mzg5NmQ4N2I5NDhmZDg1OTc2
ZmE0YzQyMDY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDExLTExLTIzICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgQ2hhbmdlIENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uOjptX25vZGUgdG8gbV9lbGVtZW50IChhbG9uZyB3aXRo
IGdldHRlci9zZXR0ZXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MzA1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIHRlc3RzIG5lZWRlZC4gVGhpcyBpcyBqdXN0IGEgcmVmYWN0b3IuCisKKyAgICAg
ICAgKiBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpvcGVyYXRv
cj0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmlzSW5s
aW5lU3R5bGVEZWNsYXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6c2V0TmVlZHNTdHlsZVJlY2FsYyk6CisgICAgICAgICogY3NzL0NTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6c2V0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbjo6ZWxlbWVudCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVJ1bGU6OnNldFNlbGVjdG9yVGV4dCk6CisgICAg
ICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxl
bWVudDo6Y3JlYXRlSW5saW5lU3R5bGVEZWNsKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVs
ZW1lbnQ6OmRlc3Ryb3lJbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVk
RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVt
ZW50OjpjcmVhdGVNYXBwZWREZWNsKToKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6YWRkaXRpb25hbEF0dHJp
YnV0ZVN0eWxlRGVjbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6YWRk
U2hhcmVkQ2VsbEJvcmRlcnNEZWNsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZUVsZW1l
bnQ6OmFkZFNoYXJlZENlbGxQYWRkaW5nRGVjbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFi
bGVFbGVtZW50OjphZGRTaGFyZWRHcm91cERlY2xzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6
OmlubGluZVN0eWxlRWxlbWVudCk6CisKKzIwMTEtMTEtMjMgIFJhZmFlbCBXZWluc3RlaW4gIDxy
YWZhZWx3QGNocm9taXVtLm9yZz4KKwogICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIE1vZGlm
aWNhdGlvbnMgdG8gdGhlIHN0eWxlIHByb3BlcnR5IGRvbid0IGRpc3BhdGNoICJhdHRyaWJ1dGVz
IiBNdXRhdGlvbiBSZWNvcmRzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDEzNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA3OGNlOWM0ZWE2YzI2Y2QxMGJhZTUzN2MwMzhhYzkz
ODE5NTJkM2FhLi5iNTMxMDhmODE0OWM3OTZlNWRkYWU4M2Q1ZWY3ZWVkZmU0NTQ4ZjA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAK
QEAgLTY1LDE1ICs2NSwxNCBAQCBwdWJsaWM6CiAgICAgICAgIGlmICghc19jdXJyZW50RGVjbC0+
aXNJbmxpbmVTdHlsZURlY2xhcmF0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAg
ICAgc19tdXRhdGlvblJlY2lwaWVudHMgPSBNdXRhdGlvbk9ic2VydmVySW50ZXJlc3RHcm91cDo6
Y3JlYXRlRm9yQXR0cmlidXRlc011dGF0aW9uKHNfY3VycmVudERlY2wtPm5vZGUoKSwgSFRNTE5h
bWVzOjpzdHlsZUF0dHIpOworICAgICAgICBzX211dGF0aW9uUmVjaXBpZW50cyA9IE11dGF0aW9u
T2JzZXJ2ZXJJbnRlcmVzdEdyb3VwOjpjcmVhdGVGb3JBdHRyaWJ1dGVzTXV0YXRpb24oc19jdXJy
ZW50RGVjbC0+ZWxlbWVudCgpLCBIVE1MTmFtZXM6OnN0eWxlQXR0cik7CiAgICAgICAgIGlmIChz
X211dGF0aW9uUmVjaXBpZW50cy0+aXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBzX211dGF0aW9u
UmVjaXBpZW50cy5jbGVhcigpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAg
ICAgICAgRWxlbWVudCogZWxlbWVudCA9IHRvRWxlbWVudChzX2N1cnJlbnREZWNsLT5ub2RlKCkp
OwotICAgICAgICBBdG9taWNTdHJpbmcgb2xkVmFsdWUgPSBzX211dGF0aW9uUmVjaXBpZW50cy0+
aXNPbGRWYWx1ZVJlcXVlc3RlZCgpID8gZWxlbWVudC0+Z2V0QXR0cmlidXRlKEhUTUxOYW1lczo6
c3R5bGVBdHRyKSA6IG51bGxBdG9tOwotICAgICAgICBzX211dGF0aW9uID0gTXV0YXRpb25SZWNv
cmQ6OmNyZWF0ZUF0dHJpYnV0ZXMoZWxlbWVudCwgSFRNTE5hbWVzOjpzdHlsZUF0dHIsIG9sZFZh
bHVlKTsKKyAgICAgICAgQXRvbWljU3RyaW5nIG9sZFZhbHVlID0gc19tdXRhdGlvblJlY2lwaWVu
dHMtPmlzT2xkVmFsdWVSZXF1ZXN0ZWQoKSA/IHNfY3VycmVudERlY2wtPmVsZW1lbnQoKS0+Z2V0
QXR0cmlidXRlKEhUTUxOYW1lczo6c3R5bGVBdHRyKSA6IG51bGxBdG9tOworICAgICAgICBzX211
dGF0aW9uID0gTXV0YXRpb25SZWNvcmQ6OmNyZWF0ZUF0dHJpYnV0ZXMoc19jdXJyZW50RGVjbC0+
ZWxlbWVudCgpLCBIVE1MTmFtZXM6OnN0eWxlQXR0ciwgb2xkVmFsdWUpOwogICAgIH0KIAogICAg
IH5TdHlsZUF0dHJpYnV0ZU11dGF0aW9uU2NvcGUoKQpAQCAtMTA5LDcgKzEwOCw3IEBAIENTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uKiBTdHlsZUF0dHJpYnV0ZU11dGF0aW9uU2NvcGU6OnNfY3Vy
cmVudERlY2wgPSAwOwogCiBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Q1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb24oKQogICAgIDogQ1NTU3R5bGVEZWNsYXJhdGlvbigwLCAvKiBpc011dGFi
bGUgKi8gdHJ1ZSkKLSAgICAsIG1fbm9kZSgwKQorICAgICwgbV9lbGVtZW50KDApCiB7CiAgICAg
Ly8gVGhpcyBjb25zdHJ1Y3RvciBpcyB1c2VkIGZvciB2YXJpb3VzIGlubGluZSBzdHlsZSBkZWNs
YXJhdGlvbnMsIHNvIGRpc2FibGUgc3RyaWN0IHBhcnNpbmcuCiAgICAgbV9zdHJpY3RQYXJzaW5n
ID0gZmFsc2U7CkBAIC0xMTcsMTQgKzExNiwxNCBAQCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bjo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24oKQogCiBDU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbjo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24oQ1NTUnVsZSogcGFyZW50KQogICAgIDog
Q1NTU3R5bGVEZWNsYXJhdGlvbihwYXJlbnQsIC8qIGlzTXV0YWJsZSAqLyB0cnVlKQotICAgICwg
bV9ub2RlKDApCisgICAgLCBtX2VsZW1lbnQoMCkKIHsKIH0KIAogQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKENTU1J1bGUqIHBhcmVudCwgY29u
c3QgVmVjdG9yPENTU1Byb3BlcnR5PiYgcHJvcGVydGllcykKICAgICA6IENTU1N0eWxlRGVjbGFy
YXRpb24ocGFyZW50LCAvKiBpc011dGFibGUgKi8gdHJ1ZSkKICAgICAsIG1fcHJvcGVydGllcyhw
cm9wZXJ0aWVzKQotICAgICwgbV9ub2RlKDApCisgICAgLCBtX2VsZW1lbnQoMCkKIHsKICAgICBt
X3Byb3BlcnRpZXMuc2hyaW5rVG9GaXQoKTsKICAgICAvLyBGSVhNRTogVGhpcyBhbGxvd3MgZHVw
bGljYXRlIHByb3BlcnRpZXMuCkBAIC0xMzIsNyArMTMxLDcgQEAgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKENTU1J1bGUqIHBhcmVudCwgY29u
c3QgVmUKIAogQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OkNTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uKENTU1J1bGUqIHBhcmVudCwgY29uc3QgQ1NTUHJvcGVydHkqIGNvbnN0ICogcHJvcGVy
dGllcywgaW50IG51bVByb3BlcnRpZXMpCiAgICAgOiBDU1NTdHlsZURlY2xhcmF0aW9uKHBhcmVu
dCwgLyogaXNNdXRhYmxlICovIHRydWUpCi0gICAgLCBtX25vZGUoMCkKKyAgICAsIG1fZWxlbWVu
dCgwKQogewogICAgIG1fcHJvcGVydGllcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG51bVByb3Bl
cnRpZXMpOwogICAgIEhhc2hNYXA8aW50LCBib29sPiBjYW5kaWRhdGVzOwpAQCAtMTU3LDcgKzE1
Niw3IEBAIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjp+Q1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24oKQogQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24mIENTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uOjpvcGVyYXRvcj0oY29uc3QgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24mIG90aGVy
KQogewogICAgIEFTU0VSVCghbV9pdGVyYXRvckNvdW50KTsKLSAgICAvLyBkb24ndCBhdHRhY2gg
aXQgdG8gdGhlIHNhbWUgbm9kZSwganVzdCBsZWF2ZSB0aGUgY3VycmVudCBtX25vZGUgdmFsdWUK
KyAgICAvLyBkb24ndCBhdHRhY2ggaXQgdG8gdGhlIHNhbWUgZWxlbWVudCwganVzdCBsZWF2ZSB0
aGUgY3VycmVudCBtX2VsZW1lbnQgdmFsdWUKICAgICBtX3Byb3BlcnRpZXMgPSBvdGhlci5tX3By
b3BlcnRpZXM7CiAgICAgbV9zdHJpY3RQYXJzaW5nID0gb3RoZXIubV9zdHJpY3RQYXJzaW5nOwog
ICAgIHJldHVybiAqdGhpczsKQEAgLTYyMCwxOSArNjE5LDE5IEBAIGJvb2wgQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb246OmlzSW5saW5lU3R5bGVEZWNsYXJhdGlvbigpCiAgICAgLy8gRklYTUU6
IElkZWFsbHksIHRoaXMgc2hvdWxkIGJlIGZhY3RvcmVkIGJldHRlciBhbmQgdGhlcmUKICAgICAv
LyBzaG91bGQgYmUgYSBzdWJjbGFzcyBvZiBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiBqdXN0
CiAgICAgLy8gZm9yIGlubGluZSBzdHlsZSBkZWNsYXJhdGlvbnMgdGhhdCBoYW5kbGVzIHRoaXMK
LSAgICByZXR1cm4gbV9ub2RlICYmIG1fbm9kZS0+aXNTdHlsZWRFbGVtZW50KCkgJiYgc3RhdGlj
X2Nhc3Q8U3R5bGVkRWxlbWVudCo+KG1fbm9kZSktPmlubGluZVN0eWxlRGVjbCgpID09IHRoaXM7
CisgICAgcmV0dXJuIG1fZWxlbWVudCAmJiBtX2VsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpICYm
IHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihtX2VsZW1lbnQpLT5pbmxpbmVTdHlsZURlY2wo
KSA9PSB0aGlzOwogfQogCiB2b2lkIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpzZXROZWVk
c1N0eWxlUmVjYWxjKCkKIHsKLSAgICBpZiAobV9ub2RlKSB7CisgICAgaWYgKG1fZWxlbWVudCkg
ewogICAgICAgICBpZiAoaXNJbmxpbmVTdHlsZURlY2xhcmF0aW9uKCkpIHsKLSAgICAgICAgICAg
IG1fbm9kZS0+c2V0TmVlZHNTdHlsZVJlY2FsYyhJbmxpbmVTdHlsZUNoYW5nZSk7Ci0gICAgICAg
ICAgICBzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4obV9ub2RlKS0+aW52YWxpZGF0ZVN0eWxl
QXR0cmlidXRlKCk7Ci0gICAgICAgICAgICBpZiAobV9ub2RlLT5kb2N1bWVudCgpKQotICAgICAg
ICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZVN0eWxlQXR0
cihtX25vZGUtPmRvY3VtZW50KCksIG1fbm9kZSk7CisgICAgICAgICAgICBtX2VsZW1lbnQtPnNl
dE5lZWRzU3R5bGVSZWNhbGMoSW5saW5lU3R5bGVDaGFuZ2UpOworICAgICAgICAgICAgc3RhdGlj
X2Nhc3Q8U3R5bGVkRWxlbWVudCo+KG1fZWxlbWVudCktPmludmFsaWRhdGVTdHlsZUF0dHJpYnV0
ZSgpOworICAgICAgICAgICAgaWYgKG1fZWxlbWVudC0+ZG9jdW1lbnQoKSkKKyAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVTdHlsZUF0dHIobV9l
bGVtZW50LT5kb2N1bWVudCgpLCBtX2VsZW1lbnQpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgIG1fbm9kZS0+c2V0TmVlZHNTdHlsZVJlY2FsYyhGdWxsU3R5bGVDaGFuZ2UpOworICAgICAg
ICAgICAgbV9lbGVtZW50LT5zZXROZWVkc1N0eWxlUmVjYWxjKEZ1bGxTdHlsZUNoYW5nZSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uLmgKaW5kZXggODI4OTVhNGQ5MWFlOTdlM2Q1YjUyODQzMjNhOWIx
ODYyMjRhMGZlMy4uYzdiODdkYmRhOWE2YjlmZTJiOTcxNjA2NjNkOTIzYTcyMzE1ZWE5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgKQEAg
LTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBOb2RlOworY2xh
c3MgRWxlbWVudDsKIAogY2xhc3MgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25Db25zdEl0ZXJh
dG9yIHsKIHB1YmxpYzoKQEAgLTgzLDkgKzgzLDkgQEAgcHVibGljOgogICAgIGNvbnN0X2l0ZXJh
dG9yIGJlZ2luKCkgeyByZXR1cm4gY29uc3RfaXRlcmF0b3IodGhpcywgbV9wcm9wZXJ0aWVzLmJl
Z2luKCkpOyB9CiAgICAgY29uc3RfaXRlcmF0b3IgZW5kKCkgeyByZXR1cm4gY29uc3RfaXRlcmF0
b3IodGhpcywgbV9wcm9wZXJ0aWVzLmVuZCgpKTsgfQogCi0gICAgdm9pZCBzZXROb2RlKE5vZGUq
IG5vZGUpIHsgbV9ub2RlID0gbm9kZTsgfQorICAgIHZvaWQgc2V0RWxlbWVudChFbGVtZW50KiBl
bGVtZW50KSB7IG1fZWxlbWVudCA9IGVsZW1lbnQ7IH0KIAotICAgIE5vZGUqIG5vZGUoKSBjb25z
dCB7IHJldHVybiBtX25vZGU7IH0KKyAgICBFbGVtZW50KiBlbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gbV9lbGVtZW50OyB9CiAKICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAg
ICAgdmlydHVhbCB2b2lkIHNldENzc1RleHQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYp
OwpAQCAtMTc4LDcgKzE3OCw3IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8Q1NTUHJvcGVydHks
IDQ+IG1fcHJvcGVydGllczsKIAotICAgIE5vZGUqIG1fbm9kZTsKKyAgICBFbGVtZW50KiBtX2Vs
ZW1lbnQ7CiAKICAgICBmcmllbmQgY2xhc3MgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25Db25z
dEl0ZXJhdG9yOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1
bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKaW5kZXggZWJlNzRi
NWM0OWI2NmQ5MjY3YzUxN2VjMWQ4NDRjYTQ3YmM1YTdjOC4uMjQ4ZmQ3OGE3NjAwODQ2MjgyNjBm
ZDg2NWE2MWMzODE4ZjllOTQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1N0
eWxlU2hlZXQuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkVsZW1lbnQuaCIK
ICNpbmNsdWRlICJTdHlsZVNoZWV0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY2LDcg
KzY3LDcgQEAgdm9pZCBDU1NTdHlsZVJ1bGU6OnNldFNlbGVjdG9yVGV4dChjb25zdCBTdHJpbmcm
IHNlbGVjdG9yVGV4dCkKICAgICAgICAgZG9jID0gc3R5bGVTaGVldC0+ZmluZERvY3VtZW50KCk7
CiAKICAgICBpZiAoIWRvYykKLSAgICAgICAgZG9jID0gbV9zdHlsZS0+bm9kZSgpID8gbV9zdHls
ZS0+bm9kZSgpLT5kb2N1bWVudCgpIDogMDsKKyAgICAgICAgZG9jID0gbV9zdHlsZS0+ZWxlbWVu
dCgpID8gbV9zdHlsZS0+ZWxlbWVudCgpLT5kb2N1bWVudCgpIDogMDsKIAogICAgIGlmICghZG9j
KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVk
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXgg
ODdhNWJlNWQ1NDFkNzVlY2NlZDUwMmIzOGVmZDRkYTU1OGQyZmI4Mi4uYzlmZTE5YTQ2NjE3NTJm
MzkwM2MzNTk5ZmJiYmNmNDI3MjlhYmY2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50
LmNwcApAQCAtMTMxLDE0ICsxMzEsMTQgQEAgdm9pZCBTdHlsZWRFbGVtZW50OjpjcmVhdGVJbmxp
bmVTdHlsZURlY2woKQogewogICAgIG1faW5saW5lU3R5bGVEZWNsID0gQ1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb246OmNyZWF0ZSgpOwogICAgIG1faW5saW5lU3R5bGVEZWNsLT5zZXRQYXJlbnRT
dHlsZVNoZWV0KGRvY3VtZW50KCktPmVsZW1lbnRTaGVldCgpKTsKLSAgICBtX2lubGluZVN0eWxl
RGVjbC0+c2V0Tm9kZSh0aGlzKTsKKyAgICBtX2lubGluZVN0eWxlRGVjbC0+c2V0RWxlbWVudCh0
aGlzKTsKICAgICBtX2lubGluZVN0eWxlRGVjbC0+c2V0U3RyaWN0UGFyc2luZyhpc0hUTUxFbGVt
ZW50KCkgJiYgIWRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpKTsKIH0KIAogdm9pZCBTdHlsZWRF
bGVtZW50OjpkZXN0cm95SW5saW5lU3R5bGVEZWNsKCkKIHsKICAgICBpZiAobV9pbmxpbmVTdHls
ZURlY2wpIHsKLSAgICAgICAgbV9pbmxpbmVTdHlsZURlY2wtPnNldE5vZGUoMCk7CisgICAgICAg
IG1faW5saW5lU3R5bGVEZWNsLT5zZXRFbGVtZW50KDApOwogICAgICAgICBtX2lubGluZVN0eWxl
RGVjbC0+c2V0UGFyZW50U3R5bGVTaGVldCgwKTsKICAgICAgICAgbV9pbmxpbmVTdHlsZURlY2wg
PSAwOwogICAgIH0KQEAgLTE5Niw3ICsxOTYsNyBAQCB2b2lkIFN0eWxlZEVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQoQXR0cmlidXRlKiBhdHRyLCBib29sIHByZXNlcnZlRGVjbHMpCiAgICAgICAg
IHNldE1hcHBlZEF0dHJpYnV0ZURlY2woZW50cnksIGF0dHIsIGF0dHItPmRlY2woKSk7CiAgICAg
ICAgIGF0dHItPmRlY2woKS0+c2V0TWFwcGVkU3RhdGUoZW50cnksIGF0dHItPm5hbWUoKSwgYXR0
ci0+dmFsdWUoKSk7CiAgICAgICAgIGF0dHItPmRlY2woKS0+c2V0UGFyZW50U3R5bGVTaGVldCgw
KTsKLSAgICAgICAgYXR0ci0+ZGVjbCgpLT5zZXROb2RlKDApOworICAgICAgICBhdHRyLT5kZWNs
KCktPnNldEVsZW1lbnQoMCk7CiAgICAgICAgIGlmIChhdHRyaWJ1dGVNYXAoKSkKICAgICAgICAg
ICAgIGF0dHJpYnV0ZU1hcCgpLT5kZWNsQWRkZWQoKTsKICAgICB9CkBAIC00MDYsNyArNDA2LDcg
QEAgdm9pZCBTdHlsZWRFbGVtZW50OjpjcmVhdGVNYXBwZWREZWNsKEF0dHJpYnV0ZSogYXR0cikK
ICAgICBSZWZQdHI8Q1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24+IGRlY2wgPSBDU1NNYXBw
ZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbjo6Y3JlYXRlKCk7CiAgICAgYXR0ci0+c2V0RGVjbChkZWNs
KTsKICAgICBkZWNsLT5zZXRQYXJlbnRTdHlsZVNoZWV0KGRvY3VtZW50KCktPmVsZW1lbnRTaGVl
dCgpKTsKLSAgICBkZWNsLT5zZXROb2RlKHRoaXMpOworICAgIGRlY2wtPnNldEVsZW1lbnQodGhp
cyk7CiAgICAgZGVjbC0+c2V0U3RyaWN0UGFyc2luZyhmYWxzZSk7IC8vIE1hcHBlZCBhdHRyaWJ1
dGVzIGFyZSBqdXN0IGFsd2F5cyBxdWlya3kuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
YWJsZUVsZW1lbnQuY3BwCmluZGV4IDNlMjVmNWExMDY5OGU3ZDA4M2YwM2UxOTZkYzlhZjZmYWY5
MmRiZDkuLmQ5NjlkNTI5MzVmZWJjNTc3YzU5ZDdlY2FkZTU0YjU0YThmNzA1NDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmNwcApAQCAtNDU2LDcgKzQ1Niw3IEBAIHZv
aWQgSFRNTFRhYmxlRWxlbWVudDo6YWRkaXRpb25hbEF0dHJpYnV0ZVN0eWxlRGVjbHMoVmVjdG9y
PENTU011dGFibGVTdHlsZURlY2xhCiAgICAgaWYgKCFkZWNsKSB7CiAgICAgICAgIGRlY2wgPSBD
U1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbjo6Y3JlYXRlKCkubGVha1JlZigpOyAvLyBUaGlz
IHNpbmdsZSByZWYgcGlucyB1cyBpbiB0aGUgdGFibGUgdW50aWwgdGhlIGRvY3VtZW50IGRpZXMu
CiAgICAgICAgIGRlY2wtPnNldFBhcmVudFN0eWxlU2hlZXQoZG9jdW1lbnQoKS0+ZWxlbWVudFNo
ZWV0KCkpOwotICAgICAgICBkZWNsLT5zZXROb2RlKHRoaXMpOworICAgICAgICBkZWNsLT5zZXRF
bGVtZW50KHRoaXMpOwogICAgICAgICBkZWNsLT5zZXRTdHJpY3RQYXJzaW5nKGZhbHNlKTsgLy8g
TWFwcGVkIGF0dHJpYnV0ZXMgYXJlIGp1c3QgYWx3YXlzIHF1aXJreS4KICAgICAgICAgCiAgICAg
ICAgIGludCB2ID0gbV9ib3JkZXJDb2xvckF0dHIgPyBDU1NWYWx1ZVNvbGlkIDogQ1NTVmFsdWVP
dXRzZXQ7CkBAIC00NjcsNyArNDY3LDcgQEAgdm9pZCBIVE1MVGFibGVFbGVtZW50OjphZGRpdGlv
bmFsQXR0cmlidXRlU3R5bGVEZWNscyhWZWN0b3I8Q1NTTXV0YWJsZVN0eWxlRGVjbGEKIAogICAg
ICAgICBzZXRNYXBwZWRBdHRyaWJ1dGVEZWNsKGVQZXJzaXN0ZW50LCB0YWJsZWJvcmRlckF0dHIs
IGJvcmRlclZhbHVlLCBkZWNsKTsKICAgICAgICAgZGVjbC0+c2V0UGFyZW50U3R5bGVTaGVldCgw
KTsKLSAgICAgICAgZGVjbC0+c2V0Tm9kZSgwKTsKKyAgICAgICAgZGVjbC0+c2V0RWxlbWVudCgw
KTsKICAgICAgICAgZGVjbC0+c2V0TWFwcGVkU3RhdGUoZVBlcnNpc3RlbnQsIHRhYmxlYm9yZGVy
QXR0ciwgYm9yZGVyVmFsdWUpOwogICAgIH0KICAgICAKQEAgLTUxNCw3ICs1MTQsNyBAQCB2b2lk
IEhUTUxUYWJsZUVsZW1lbnQ6OmFkZFNoYXJlZENlbGxCb3JkZXJzRGVjbChWZWN0b3I8Q1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpbwogICAgIGlmICghZGVjbCkgewogICAgICAgICBkZWNsID0gQ1NT
TWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb246OmNyZWF0ZSgpLmxlYWtSZWYoKTsgLy8gVGhpcyBz
aW5nbGUgcmVmIHBpbnMgdXMgaW4gdGhlIHRhYmxlIHVudGlsIHRoZSBkb2N1bWVudCBkaWVzLgog
ICAgICAgICBkZWNsLT5zZXRQYXJlbnRTdHlsZVNoZWV0KGRvY3VtZW50KCktPmVsZW1lbnRTaGVl
dCgpKTsKLSAgICAgICAgZGVjbC0+c2V0Tm9kZSh0aGlzKTsKKyAgICAgICAgZGVjbC0+c2V0RWxl
bWVudCh0aGlzKTsKICAgICAgICAgZGVjbC0+c2V0U3RyaWN0UGFyc2luZyhmYWxzZSk7IC8vIE1h
cHBlZCBhdHRyaWJ1dGVzIGFyZSBqdXN0IGFsd2F5cyBxdWlya3kuCiAgICAgICAgIAogICAgICAg
ICBzd2l0Y2ggKGJvcmRlcnMpIHsKQEAgLTU1NSw3ICs1NTUsNyBAQCB2b2lkIEhUTUxUYWJsZUVs
ZW1lbnQ6OmFkZFNoYXJlZENlbGxCb3JkZXJzRGVjbChWZWN0b3I8Q1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpbwogCiAgICAgICAgIHNldE1hcHBlZEF0dHJpYnV0ZURlY2woZVBlcnNpc3RlbnQsIGNl
bGxib3JkZXJBdHRyLCAqY2VsbEJvcmRlck5hbWVzW2JvcmRlcnNdLCBkZWNsKTsKICAgICAgICAg
ZGVjbC0+c2V0UGFyZW50U3R5bGVTaGVldCgwKTsKLSAgICAgICAgZGVjbC0+c2V0Tm9kZSgwKTsK
KyAgICAgICAgZGVjbC0+c2V0RWxlbWVudCgwKTsKICAgICAgICAgZGVjbC0+c2V0TWFwcGVkU3Rh
dGUoZVBlcnNpc3RlbnQsIGNlbGxib3JkZXJBdHRyLCBjZWxsYm9yZGVyVmFsdWUpOwogICAgIH0K
ICAgICAKQEAgLTU3Myw3ICs1NzMsNyBAQCB2b2lkIEhUTUxUYWJsZUVsZW1lbnQ6OmFkZFNoYXJl
ZENlbGxQYWRkaW5nRGVjbChWZWN0b3I8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpbwogICAgICAg
ICBpZiAoIW1fcGFkZGluZ0RlY2wpIHsKICAgICAgICAgICAgIG1fcGFkZGluZ0RlY2wgPSBDU1NN
YXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbjo6Y3JlYXRlKCk7CiAgICAgICAgICAgICBtX3BhZGRp
bmdEZWNsLT5zZXRQYXJlbnRTdHlsZVNoZWV0KGRvY3VtZW50KCktPmVsZW1lbnRTaGVldCgpKTsK
LSAgICAgICAgICAgIG1fcGFkZGluZ0RlY2wtPnNldE5vZGUodGhpcyk7CisgICAgICAgICAgICBt
X3BhZGRpbmdEZWNsLT5zZXRFbGVtZW50KHRoaXMpOwogICAgICAgICAgICAgbV9wYWRkaW5nRGVj
bC0+c2V0U3RyaWN0UGFyc2luZyhmYWxzZSk7IC8vIE1hcHBlZCBhdHRyaWJ1dGVzIGFyZSBqdXN0
IGFsd2F5cyBxdWlya3kuCiAgICAgICAgICAgICAKICAgICAgICAgICAgIG1fcGFkZGluZ0RlY2wt
PnNldFByb3BlcnR5KENTU1Byb3BlcnR5UGFkZGluZ1RvcCwgcGFkZGluZ1ZhbHVlLCBmYWxzZSk7
CkBAIC01ODMsNyArNTgzLDcgQEAgdm9pZCBIVE1MVGFibGVFbGVtZW50OjphZGRTaGFyZWRDZWxs
UGFkZGluZ0RlY2woVmVjdG9yPENTU011dGFibGVTdHlsZURlY2xhcmF0aW8KICAgICAgICAgfQog
ICAgICAgICBzZXRNYXBwZWRBdHRyaWJ1dGVEZWNsKGVVbml2ZXJzYWwsIGNlbGxwYWRkaW5nQXR0
ciwgcGFkZGluZ1ZhbHVlLCBtX3BhZGRpbmdEZWNsLmdldCgpKTsKICAgICAgICAgbV9wYWRkaW5n
RGVjbC0+c2V0UGFyZW50U3R5bGVTaGVldCgwKTsKLSAgICAgICAgbV9wYWRkaW5nRGVjbC0+c2V0
Tm9kZSgwKTsKKyAgICAgICAgbV9wYWRkaW5nRGVjbC0+c2V0RWxlbWVudCgwKTsKICAgICAgICAg
bV9wYWRkaW5nRGVjbC0+c2V0TWFwcGVkU3RhdGUoZVVuaXZlcnNhbCwgY2VsbHBhZGRpbmdBdHRy
LCBwYWRkaW5nVmFsdWUpOwogICAgIH0KICAgICAKQEAgLTYwMCw3ICs2MDAsNyBAQCB2b2lkIEhU
TUxUYWJsZUVsZW1lbnQ6OmFkZFNoYXJlZEdyb3VwRGVjbHMoYm9vbCByb3dzLCBWZWN0b3I8Q1NT
TXV0YWJsZVN0eWxlRGVjbAogICAgIGlmICghZGVjbCkgewogICAgICAgICBkZWNsID0gQ1NTTWFw
cGVkQXR0cmlidXRlRGVjbGFyYXRpb246OmNyZWF0ZSgpLmxlYWtSZWYoKTsgLy8gVGhpcyBzaW5n
bGUgcmVmIHBpbnMgdXMgaW4gdGhlIHRhYmxlIHVudGlsIHRoZSBkb2N1bWVudCBkaWVzLgogICAg
ICAgICBkZWNsLT5zZXRQYXJlbnRTdHlsZVNoZWV0KGRvY3VtZW50KCktPmVsZW1lbnRTaGVldCgp
KTsKLSAgICAgICAgZGVjbC0+c2V0Tm9kZSh0aGlzKTsKKyAgICAgICAgZGVjbC0+c2V0RWxlbWVu
dCh0aGlzKTsKICAgICAgICAgZGVjbC0+c2V0U3RyaWN0UGFyc2luZyhmYWxzZSk7IC8vIE1hcHBl
ZCBhdHRyaWJ1dGVzIGFyZSBqdXN0IGFsd2F5cyBxdWlya3kuCiAgICAgICAgIAogICAgICAgICBp
ZiAocm93cykgewpAQCAtNjE3LDcgKzYxNyw3IEBAIHZvaWQgSFRNTFRhYmxlRWxlbWVudDo6YWRk
U2hhcmVkR3JvdXBEZWNscyhib29sIHJvd3MsIFZlY3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsCiAK
ICAgICAgICAgc2V0TWFwcGVkQXR0cmlidXRlRGVjbChlUGVyc2lzdGVudCwgcnVsZXNBdHRyLCBy
dWxlc1ZhbHVlLCBkZWNsKTsKICAgICAgICAgZGVjbC0+c2V0UGFyZW50U3R5bGVTaGVldCgwKTsK
LSAgICAgICAgZGVjbC0+c2V0Tm9kZSgwKTsKKyAgICAgICAgZGVjbC0+c2V0RWxlbWVudCgwKTsK
ICAgICAgICAgZGVjbC0+c2V0TWFwcGVkU3RhdGUoZVBlcnNpc3RlbnQsIHJ1bGVzQXR0ciwgcnVs
ZXNWYWx1ZSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNTU0FnZW50LmNwcAppbmRleCAwODVhZTNjMWNkZjI1ZGJlMDE1YjY0ZmNiZjM1ZTAyNzhhNThl
NjA5Li5jYTFkMjc1NTFhNDk2YmVmZGViMTAyNWZjMWIyYmYwMTc4NzFiYmZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKQEAgLTQ0Nyw3ICs0
NDcsNyBAQCBFbGVtZW50KiBJbnNwZWN0b3JDU1NBZ2VudDo6aW5saW5lU3R5bGVFbGVtZW50KENT
U1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKQogICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
KiBtdXRhYmxlU3R5bGUgPSBzdGF0aWNfY2FzdDxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbio+
KHN0eWxlKTsKICAgICBpZiAoIW11dGFibGVTdHlsZS0+aXNJbmxpbmVTdHlsZURlY2xhcmF0aW9u
KCkpCiAgICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxFbGVtZW50Kj4o
bXV0YWJsZVN0eWxlLT5ub2RlKCkpOworICAgIHJldHVybiBtdXRhYmxlU3R5bGUtPmVsZW1lbnQo
KTsKIH0KIAogSW5zcGVjdG9yU3R5bGVTaGVldEZvcklubGluZVN0eWxlKiBJbnNwZWN0b3JDU1NB
Z2VudDo6YXNJbnNwZWN0b3JTdHlsZVNoZWV0KEVsZW1lbnQqIGVsZW1lbnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116436</attachid>
            <date>2011-11-23 15:08:09 -0800</date>
            <delta_ts>2011-11-23 15:21:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73050-20111123150808.patch</filename>
            <type>text/plain</type>
            <size>15665</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM0M2VkOGZmZWNkOWYx
YWYwYTI4MzkzNzk0MjY1MzJlM2E1MjgyNy4uMThhZjhkYjNlZGY4Mzg5NmQ4N2I5NDhmZDg1OTc2
ZmE0YzQyMDY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDExLTExLTIzICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgQ2hhbmdlIENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uOjptX25vZGUgdG8gbV9lbGVtZW50IChhbG9uZyB3aXRo
IGdldHRlci9zZXR0ZXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MzA1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIHRlc3RzIG5lZWRlZC4gVGhpcyBpcyBqdXN0IGEgcmVmYWN0b3IuCisKKyAgICAg
ICAgKiBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpvcGVyYXRv
cj0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmlzSW5s
aW5lU3R5bGVEZWNsYXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6c2V0TmVlZHNTdHlsZVJlY2FsYyk6CisgICAgICAgICogY3NzL0NTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6c2V0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbjo6ZWxlbWVudCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVJ1bGU6OnNldFNlbGVjdG9yVGV4dCk6CisgICAg
ICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxl
bWVudDo6Y3JlYXRlSW5saW5lU3R5bGVEZWNsKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVs
ZW1lbnQ6OmRlc3Ryb3lJbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVk
RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVt
ZW50OjpjcmVhdGVNYXBwZWREZWNsKToKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6YWRkaXRpb25hbEF0dHJp
YnV0ZVN0eWxlRGVjbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6YWRk
U2hhcmVkQ2VsbEJvcmRlcnNEZWNsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZUVsZW1l
bnQ6OmFkZFNoYXJlZENlbGxQYWRkaW5nRGVjbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFi
bGVFbGVtZW50OjphZGRTaGFyZWRHcm91cERlY2xzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6
OmlubGluZVN0eWxlRWxlbWVudCk6CisKKzIwMTEtMTEtMjMgIFJhZmFlbCBXZWluc3RlaW4gIDxy
YWZhZWx3QGNocm9taXVtLm9yZz4KKwogICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIE1vZGlm
aWNhdGlvbnMgdG8gdGhlIHN0eWxlIHByb3BlcnR5IGRvbid0IGRpc3BhdGNoICJhdHRyaWJ1dGVz
IiBNdXRhdGlvbiBSZWNvcmRzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDEzNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oCmluZGV4IDJiMTVhNGU3ZTM0NDFhNWY1ZDNlNjAxNTRjNDk2MDJjNWNhMmE0ZjIuLjg3ODg1
NjczNTAwYWNlYzllNmFkYzdiOTZkMzBmYWVlMjExM2FhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0yMDYsNyArMjA2LDcgQEAgZW51bSBQYXJhbWV0
ZXJNaXNzaW5nUG9saWN5IHsKICAgICAgICAgaWYgKENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQg
PSBzdHlsZS0+cGFyZW50U3R5bGVTaGVldCgpKQogICAgICAgICAgICAgcmV0dXJuIHJvb3Qoc3R5
bGVTaGVldCk7CiAgICAgICAgIGlmIChzdHlsZS0+aXNNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbigp
KSB7Ci0gICAgICAgICAgICBpZiAoTm9kZSogbm9kZSA9IHN0YXRpY19jYXN0PENTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uKj4oc3R5bGUpLT5ub2RlKCkpCisgICAgICAgICAgICBpZiAoTm9kZSog
bm9kZSA9IHN0YXRpY19jYXN0PENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKj4oc3R5bGUpLT5l
bGVtZW50KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJvb3Qobm9kZSk7CiAgICAgICAgIH0K
ICAgICAgICAgcmV0dXJuIHN0eWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNzhjZTljNGVhNmMyNmNkMTBiYWU1MzdjMDM4
YWM5MzgxOTUyZDNhYS4uYjc5ZWFkOWQwZWYyNGMyM2RmYzBlNDBjMTQzYTNkMmYxNDJjZjgwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24u
Y3BwCkBAIC02NSwxNSArNjUsMTQgQEAgcHVibGljOgogICAgICAgICBpZiAoIXNfY3VycmVudERl
Y2wtPmlzSW5saW5lU3R5bGVEZWNsYXJhdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0g
ICAgICAgIHNfbXV0YXRpb25SZWNpcGllbnRzID0gTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3Jv
dXA6OmNyZWF0ZUZvckF0dHJpYnV0ZXNNdXRhdGlvbihzX2N1cnJlbnREZWNsLT5ub2RlKCksIEhU
TUxOYW1lczo6c3R5bGVBdHRyKTsKKyAgICAgICAgc19tdXRhdGlvblJlY2lwaWVudHMgPSBNdXRh
dGlvbk9ic2VydmVySW50ZXJlc3RHcm91cDo6Y3JlYXRlRm9yQXR0cmlidXRlc011dGF0aW9uKHNf
Y3VycmVudERlY2wtPmVsZW1lbnQoKSwgSFRNTE5hbWVzOjpzdHlsZUF0dHIpOwogICAgICAgICBp
ZiAoc19tdXRhdGlvblJlY2lwaWVudHMtPmlzRW1wdHkoKSkgewogICAgICAgICAgICAgc19tdXRh
dGlvblJlY2lwaWVudHMuY2xlYXIoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
Ci0gICAgICAgIEVsZW1lbnQqIGVsZW1lbnQgPSB0b0VsZW1lbnQoc19jdXJyZW50RGVjbC0+bm9k
ZSgpKTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG9sZFZhbHVlID0gc19tdXRhdGlvblJlY2lwaWVu
dHMtPmlzT2xkVmFsdWVSZXF1ZXN0ZWQoKSA/IGVsZW1lbnQtPmdldEF0dHJpYnV0ZShIVE1MTmFt
ZXM6OnN0eWxlQXR0cikgOiBudWxsQXRvbTsKLSAgICAgICAgc19tdXRhdGlvbiA9IE11dGF0aW9u
UmVjb3JkOjpjcmVhdGVBdHRyaWJ1dGVzKGVsZW1lbnQsIEhUTUxOYW1lczo6c3R5bGVBdHRyLCBv
bGRWYWx1ZSk7CisgICAgICAgIEF0b21pY1N0cmluZyBvbGRWYWx1ZSA9IHNfbXV0YXRpb25SZWNp
cGllbnRzLT5pc09sZFZhbHVlUmVxdWVzdGVkKCkgPyBzX2N1cnJlbnREZWNsLT5lbGVtZW50KCkt
PmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnN0eWxlQXR0cikgOiBudWxsQXRvbTsKKyAgICAgICAg
c19tdXRhdGlvbiA9IE11dGF0aW9uUmVjb3JkOjpjcmVhdGVBdHRyaWJ1dGVzKHNfY3VycmVudERl
Y2wtPmVsZW1lbnQoKSwgSFRNTE5hbWVzOjpzdHlsZUF0dHIsIG9sZFZhbHVlKTsKICAgICB9CiAK
ICAgICB+U3R5bGVBdHRyaWJ1dGVNdXRhdGlvblNjb3BlKCkKQEAgLTEwOSw3ICsxMDgsNyBAQCBD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogU3R5bGVBdHRyaWJ1dGVNdXRhdGlvblNjb3BlOjpz
X2N1cnJlbnREZWNsID0gMDsKIAogQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OkNTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uKCkKICAgICA6IENTU1N0eWxlRGVjbGFyYXRpb24oMCwgLyogaXNN
dXRhYmxlICovIHRydWUpCi0gICAgLCBtX25vZGUoMCkKKyAgICAsIG1fZWxlbWVudCgwKQogewog
ICAgIC8vIFRoaXMgY29uc3RydWN0b3IgaXMgdXNlZCBmb3IgdmFyaW91cyBpbmxpbmUgc3R5bGUg
ZGVjbGFyYXRpb25zLCBzbyBkaXNhYmxlIHN0cmljdCBwYXJzaW5nLgogICAgIG1fc3RyaWN0UGFy
c2luZyA9IGZhbHNlOwpAQCAtMTE3LDE0ICsxMTYsMTQgQEAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb246OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKCkKIAogQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKENTU1J1bGUqIHBhcmVudCkKICAg
ICA6IENTU1N0eWxlRGVjbGFyYXRpb24ocGFyZW50LCAvKiBpc011dGFibGUgKi8gdHJ1ZSkKLSAg
ICAsIG1fbm9kZSgwKQorICAgICwgbV9lbGVtZW50KDApCiB7CiB9CiAKIENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbihDU1NSdWxlKiBwYXJlbnQs
IGNvbnN0IFZlY3RvcjxDU1NQcm9wZXJ0eT4mIHByb3BlcnRpZXMpCiAgICAgOiBDU1NTdHlsZURl
Y2xhcmF0aW9uKHBhcmVudCwgLyogaXNNdXRhYmxlICovIHRydWUpCiAgICAgLCBtX3Byb3BlcnRp
ZXMocHJvcGVydGllcykKLSAgICAsIG1fbm9kZSgwKQorICAgICwgbV9lbGVtZW50KDApCiB7CiAg
ICAgbV9wcm9wZXJ0aWVzLnNocmlua1RvRml0KCk7CiAgICAgLy8gRklYTUU6IFRoaXMgYWxsb3dz
IGR1cGxpY2F0ZSBwcm9wZXJ0aWVzLgpAQCAtMTMyLDcgKzEzMSw3IEBAIENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbihDU1NSdWxlKiBwYXJlbnQs
IGNvbnN0IFZlCiAKIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbihDU1NSdWxlKiBwYXJlbnQsIGNvbnN0IENTU1Byb3BlcnR5KiBjb25zdCAqIHBy
b3BlcnRpZXMsIGludCBudW1Qcm9wZXJ0aWVzKQogICAgIDogQ1NTU3R5bGVEZWNsYXJhdGlvbihw
YXJlbnQsIC8qIGlzTXV0YWJsZSAqLyB0cnVlKQotICAgICwgbV9ub2RlKDApCisgICAgLCBtX2Vs
ZW1lbnQoMCkKIHsKICAgICBtX3Byb3BlcnRpZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShudW1Q
cm9wZXJ0aWVzKTsKICAgICBIYXNoTWFwPGludCwgYm9vbD4gY2FuZGlkYXRlczsKQEAgLTE1Nyw3
ICsxNTYsNyBAQCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6fkNTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uKCkKIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uJiBDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6b3BlcmF0b3I9KGNvbnN0IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uJiBv
dGhlcikKIHsKICAgICBBU1NFUlQoIW1faXRlcmF0b3JDb3VudCk7Ci0gICAgLy8gZG9uJ3QgYXR0
YWNoIGl0IHRvIHRoZSBzYW1lIG5vZGUsIGp1c3QgbGVhdmUgdGhlIGN1cnJlbnQgbV9ub2RlIHZh
bHVlCisgICAgLy8gZG9uJ3QgYXR0YWNoIGl0IHRvIHRoZSBzYW1lIGVsZW1lbnQsIGp1c3QgbGVh
dmUgdGhlIGN1cnJlbnQgbV9lbGVtZW50IHZhbHVlCiAgICAgbV9wcm9wZXJ0aWVzID0gb3RoZXIu
bV9wcm9wZXJ0aWVzOwogICAgIG1fc3RyaWN0UGFyc2luZyA9IG90aGVyLm1fc3RyaWN0UGFyc2lu
ZzsKICAgICByZXR1cm4gKnRoaXM7CkBAIC02MjAsMTkgKzYxOSwxOSBAQCBib29sIENTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uOjppc0lubGluZVN0eWxlRGVjbGFyYXRpb24oKQogICAgIC8vIEZJ
WE1FOiBJZGVhbGx5LCB0aGlzIHNob3VsZCBiZSBmYWN0b3JlZCBiZXR0ZXIgYW5kIHRoZXJlCiAg
ICAgLy8gc2hvdWxkIGJlIGEgc3ViY2xhc3Mgb2YgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24g
anVzdAogICAgIC8vIGZvciBpbmxpbmUgc3R5bGUgZGVjbGFyYXRpb25zIHRoYXQgaGFuZGxlcyB0
aGlzCi0gICAgcmV0dXJuIG1fbm9kZSAmJiBtX25vZGUtPmlzU3R5bGVkRWxlbWVudCgpICYmIHN0
YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihtX25vZGUpLT5pbmxpbmVTdHlsZURlY2woKSA9PSB0
aGlzOworICAgIHJldHVybiBtX2VsZW1lbnQgJiYgbV9lbGVtZW50LT5pbmxpbmVTdHlsZURlY2wo
KSA9PSB0aGlzOwogfQogCiB2b2lkIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpzZXROZWVk
c1N0eWxlUmVjYWxjKCkKIHsKLSAgICBpZiAobV9ub2RlKSB7CisgICAgaWYgKG1fZWxlbWVudCkg
ewogICAgICAgICBpZiAoaXNJbmxpbmVTdHlsZURlY2xhcmF0aW9uKCkpIHsKLSAgICAgICAgICAg
IG1fbm9kZS0+c2V0TmVlZHNTdHlsZVJlY2FsYyhJbmxpbmVTdHlsZUNoYW5nZSk7Ci0gICAgICAg
ICAgICBzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4obV9ub2RlKS0+aW52YWxpZGF0ZVN0eWxl
QXR0cmlidXRlKCk7Ci0gICAgICAgICAgICBpZiAobV9ub2RlLT5kb2N1bWVudCgpKQotICAgICAg
ICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZVN0eWxlQXR0
cihtX25vZGUtPmRvY3VtZW50KCksIG1fbm9kZSk7CisgICAgICAgICAgICBtX2VsZW1lbnQtPnNl
dE5lZWRzU3R5bGVSZWNhbGMoSW5saW5lU3R5bGVDaGFuZ2UpOworICAgICAgICAgICAgbV9lbGVt
ZW50LT5pbnZhbGlkYXRlU3R5bGVBdHRyaWJ1dGUoKTsKKyAgICAgICAgICAgIGlmIChtX2VsZW1l
bnQtPmRvY3VtZW50KCkpCisgICAgICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRJbnZhbGlkYXRlU3R5bGVBdHRyKG1fZWxlbWVudC0+ZG9jdW1lbnQoKSwgbV9lbGVtZW50
KTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBtX25vZGUtPnNldE5lZWRzU3R5bGVSZWNh
bGMoRnVsbFN0eWxlQ2hhbmdlKTsKKyAgICAgICAgICAgIG1fZWxlbWVudC0+c2V0TmVlZHNTdHls
ZVJlY2FsYyhGdWxsU3R5bGVDaGFuZ2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oCmluZGV4IDgy
ODk1YTRkOTFhZTk3ZTNkNWI1Mjg0MzIzYTliMTg2MjI0YTBmZTMuLjcxN2IyMWYwYWYzMDQ5NDNi
YTJmMmVlOWU1N2NiODczYTEyZGM0ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NN
dXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgTm9kZTsKK2NsYXNzIFN0eWxlZEVsZW1lbnQ7CiAKIGNsYXNzIENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uQ29uc3RJdGVyYXRvciB7CiBwdWJsaWM6CkBAIC04Myw5
ICs4Myw5IEBAIHB1YmxpYzoKICAgICBjb25zdF9pdGVyYXRvciBiZWdpbigpIHsgcmV0dXJuIGNv
bnN0X2l0ZXJhdG9yKHRoaXMsIG1fcHJvcGVydGllcy5iZWdpbigpKTsgfQogICAgIGNvbnN0X2l0
ZXJhdG9yIGVuZCgpIHsgcmV0dXJuIGNvbnN0X2l0ZXJhdG9yKHRoaXMsIG1fcHJvcGVydGllcy5l
bmQoKSk7IH0KIAotICAgIHZvaWQgc2V0Tm9kZShOb2RlKiBub2RlKSB7IG1fbm9kZSA9IG5vZGU7
IH0KKyAgICB2b2lkIHNldEVsZW1lbnQoU3R5bGVkRWxlbWVudCogZWxlbWVudCkgeyBtX2VsZW1l
bnQgPSBlbGVtZW50OyB9CiAKLSAgICBOb2RlKiBub2RlKCkgY29uc3QgeyByZXR1cm4gbV9ub2Rl
OyB9CisgICAgU3R5bGVkRWxlbWVudCogZWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVu
dDsgfQogCiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogICAgIHZpcnR1YWwg
dm9pZCBzZXRDc3NUZXh0KGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTE3OCw3
ICsxNzgsNyBAQCBwcml2YXRlOgogCiAgICAgVmVjdG9yPENTU1Byb3BlcnR5LCA0PiBtX3Byb3Bl
cnRpZXM7CiAKLSAgICBOb2RlKiBtX25vZGU7CisgICAgU3R5bGVkRWxlbWVudCogbV9lbGVtZW50
OwogCiAgICAgZnJpZW5kIGNsYXNzIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uQ29uc3RJdGVy
YXRvcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCmluZGV4IGViZTc0YjVjNDli
NjZkOTI2N2M1MTdlYzFkODQ0Y2E0N2JjNWE3YzguLjM5MTZmMjZhMjQzMTAxODEyOTY0ZWZmY2Y4
ZjQ5ODdkOThlOTdjZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCkBAIC0yOCw2
ICsyOCw3IEBACiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNo
ZWV0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJTdHlsZWRFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU3R5bGVTaGVldC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Niw3
ICs2Nyw3IEBAIHZvaWQgQ1NTU3R5bGVSdWxlOjpzZXRTZWxlY3RvclRleHQoY29uc3QgU3RyaW5n
JiBzZWxlY3RvclRleHQpCiAgICAgICAgIGRvYyA9IHN0eWxlU2hlZXQtPmZpbmREb2N1bWVudCgp
OwogCiAgICAgaWYgKCFkb2MpCi0gICAgICAgIGRvYyA9IG1fc3R5bGUtPm5vZGUoKSA/IG1fc3R5
bGUtPm5vZGUoKS0+ZG9jdW1lbnQoKSA6IDA7CisgICAgICAgIGRvYyA9IG1fc3R5bGUtPmVsZW1l
bnQoKSA/IG1fc3R5bGUtPmVsZW1lbnQoKS0+ZG9jdW1lbnQoKSA6IDA7CiAKICAgICBpZiAoIWRv
YykKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxl
ZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4
IDg3YTViZTVkNTQxZDc1ZWNjZWQ1MDJiMzhlZmQ0ZGE1NThkMmZiODIuLmM5ZmUxOWE0NjYxNzUy
ZjM5MDNjMzU5OWZiYmJjZjQyNzI5YWJmNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TdHlsZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVu
dC5jcHAKQEAgLTEzMSwxNCArMTMxLDE0IEBAIHZvaWQgU3R5bGVkRWxlbWVudDo6Y3JlYXRlSW5s
aW5lU3R5bGVEZWNsKCkKIHsKICAgICBtX2lubGluZVN0eWxlRGVjbCA9IENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uOjpjcmVhdGUoKTsKICAgICBtX2lubGluZVN0eWxlRGVjbC0+c2V0UGFyZW50
U3R5bGVTaGVldChkb2N1bWVudCgpLT5lbGVtZW50U2hlZXQoKSk7Ci0gICAgbV9pbmxpbmVTdHls
ZURlY2wtPnNldE5vZGUodGhpcyk7CisgICAgbV9pbmxpbmVTdHlsZURlY2wtPnNldEVsZW1lbnQo
dGhpcyk7CiAgICAgbV9pbmxpbmVTdHlsZURlY2wtPnNldFN0cmljdFBhcnNpbmcoaXNIVE1MRWxl
bWVudCgpICYmICFkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSk7CiB9CiAKIHZvaWQgU3R5bGVk
RWxlbWVudDo6ZGVzdHJveUlubGluZVN0eWxlRGVjbCgpCiB7CiAgICAgaWYgKG1faW5saW5lU3R5
bGVEZWNsKSB7Ci0gICAgICAgIG1faW5saW5lU3R5bGVEZWNsLT5zZXROb2RlKDApOworICAgICAg
ICBtX2lubGluZVN0eWxlRGVjbC0+c2V0RWxlbWVudCgwKTsKICAgICAgICAgbV9pbmxpbmVTdHls
ZURlY2wtPnNldFBhcmVudFN0eWxlU2hlZXQoMCk7CiAgICAgICAgIG1faW5saW5lU3R5bGVEZWNs
ID0gMDsKICAgICB9CkBAIC0xOTYsNyArMTk2LDcgQEAgdm9pZCBTdHlsZWRFbGVtZW50OjphdHRy
aWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSogYXR0ciwgYm9vbCBwcmVzZXJ2ZURlY2xzKQogICAgICAg
ICBzZXRNYXBwZWRBdHRyaWJ1dGVEZWNsKGVudHJ5LCBhdHRyLCBhdHRyLT5kZWNsKCkpOwogICAg
ICAgICBhdHRyLT5kZWNsKCktPnNldE1hcHBlZFN0YXRlKGVudHJ5LCBhdHRyLT5uYW1lKCksIGF0
dHItPnZhbHVlKCkpOwogICAgICAgICBhdHRyLT5kZWNsKCktPnNldFBhcmVudFN0eWxlU2hlZXQo
MCk7Ci0gICAgICAgIGF0dHItPmRlY2woKS0+c2V0Tm9kZSgwKTsKKyAgICAgICAgYXR0ci0+ZGVj
bCgpLT5zZXRFbGVtZW50KDApOwogICAgICAgICBpZiAoYXR0cmlidXRlTWFwKCkpCiAgICAgICAg
ICAgICBhdHRyaWJ1dGVNYXAoKS0+ZGVjbEFkZGVkKCk7CiAgICAgfQpAQCAtNDA2LDcgKzQwNiw3
IEBAIHZvaWQgU3R5bGVkRWxlbWVudDo6Y3JlYXRlTWFwcGVkRGVjbChBdHRyaWJ1dGUqIGF0dHIp
CiAgICAgUmVmUHRyPENTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uPiBkZWNsID0gQ1NTTWFw
cGVkQXR0cmlidXRlRGVjbGFyYXRpb246OmNyZWF0ZSgpOwogICAgIGF0dHItPnNldERlY2woZGVj
bCk7CiAgICAgZGVjbC0+c2V0UGFyZW50U3R5bGVTaGVldChkb2N1bWVudCgpLT5lbGVtZW50U2hl
ZXQoKSk7Ci0gICAgZGVjbC0+c2V0Tm9kZSh0aGlzKTsKKyAgICBkZWNsLT5zZXRFbGVtZW50KHRo
aXMpOwogICAgIGRlY2wtPnNldFN0cmljdFBhcnNpbmcoZmFsc2UpOyAvLyBNYXBwZWQgYXR0cmli
dXRlcyBhcmUganVzdCBhbHdheXMgcXVpcmt5LgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGFibGVFbGVtZW50LmNwcAppbmRleCAzZTI1ZjVhMTA2OThlN2QwODNmMDNlMTk2ZGM5YWY2ZmFm
OTJkYmQ5Li5kOTY5ZDUyOTM1ZmViYzU3N2M1OWQ3ZWNhZGU1NGI1NGE4ZjcwNTQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAKQEAgLTQ1Niw3ICs0NTYsNyBAQCB2
b2lkIEhUTUxUYWJsZUVsZW1lbnQ6OmFkZGl0aW9uYWxBdHRyaWJ1dGVTdHlsZURlY2xzKFZlY3Rv
cjxDU1NNdXRhYmxlU3R5bGVEZWNsYQogICAgIGlmICghZGVjbCkgewogICAgICAgICBkZWNsID0g
Q1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb246OmNyZWF0ZSgpLmxlYWtSZWYoKTsgLy8gVGhp
cyBzaW5nbGUgcmVmIHBpbnMgdXMgaW4gdGhlIHRhYmxlIHVudGlsIHRoZSBkb2N1bWVudCBkaWVz
LgogICAgICAgICBkZWNsLT5zZXRQYXJlbnRTdHlsZVNoZWV0KGRvY3VtZW50KCktPmVsZW1lbnRT
aGVldCgpKTsKLSAgICAgICAgZGVjbC0+c2V0Tm9kZSh0aGlzKTsKKyAgICAgICAgZGVjbC0+c2V0
RWxlbWVudCh0aGlzKTsKICAgICAgICAgZGVjbC0+c2V0U3RyaWN0UGFyc2luZyhmYWxzZSk7IC8v
IE1hcHBlZCBhdHRyaWJ1dGVzIGFyZSBqdXN0IGFsd2F5cyBxdWlya3kuCiAgICAgICAgIAogICAg
ICAgICBpbnQgdiA9IG1fYm9yZGVyQ29sb3JBdHRyID8gQ1NTVmFsdWVTb2xpZCA6IENTU1ZhbHVl
T3V0c2V0OwpAQCAtNDY3LDcgKzQ2Nyw3IEBAIHZvaWQgSFRNTFRhYmxlRWxlbWVudDo6YWRkaXRp
b25hbEF0dHJpYnV0ZVN0eWxlRGVjbHMoVmVjdG9yPENTU011dGFibGVTdHlsZURlY2xhCiAKICAg
ICAgICAgc2V0TWFwcGVkQXR0cmlidXRlRGVjbChlUGVyc2lzdGVudCwgdGFibGVib3JkZXJBdHRy
LCBib3JkZXJWYWx1ZSwgZGVjbCk7CiAgICAgICAgIGRlY2wtPnNldFBhcmVudFN0eWxlU2hlZXQo
MCk7Ci0gICAgICAgIGRlY2wtPnNldE5vZGUoMCk7CisgICAgICAgIGRlY2wtPnNldEVsZW1lbnQo
MCk7CiAgICAgICAgIGRlY2wtPnNldE1hcHBlZFN0YXRlKGVQZXJzaXN0ZW50LCB0YWJsZWJvcmRl
ckF0dHIsIGJvcmRlclZhbHVlKTsKICAgICB9CiAgICAgCkBAIC01MTQsNyArNTE0LDcgQEAgdm9p
ZCBIVE1MVGFibGVFbGVtZW50OjphZGRTaGFyZWRDZWxsQm9yZGVyc0RlY2woVmVjdG9yPENTU011
dGFibGVTdHlsZURlY2xhcmF0aW8KICAgICBpZiAoIWRlY2wpIHsKICAgICAgICAgZGVjbCA9IENT
U01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uOjpjcmVhdGUoKS5sZWFrUmVmKCk7IC8vIFRoaXMg
c2luZ2xlIHJlZiBwaW5zIHVzIGluIHRoZSB0YWJsZSB1bnRpbCB0aGUgZG9jdW1lbnQgZGllcy4K
ICAgICAgICAgZGVjbC0+c2V0UGFyZW50U3R5bGVTaGVldChkb2N1bWVudCgpLT5lbGVtZW50U2hl
ZXQoKSk7Ci0gICAgICAgIGRlY2wtPnNldE5vZGUodGhpcyk7CisgICAgICAgIGRlY2wtPnNldEVs
ZW1lbnQodGhpcyk7CiAgICAgICAgIGRlY2wtPnNldFN0cmljdFBhcnNpbmcoZmFsc2UpOyAvLyBN
YXBwZWQgYXR0cmlidXRlcyBhcmUganVzdCBhbHdheXMgcXVpcmt5LgogICAgICAgICAKICAgICAg
ICAgc3dpdGNoIChib3JkZXJzKSB7CkBAIC01NTUsNyArNTU1LDcgQEAgdm9pZCBIVE1MVGFibGVF
bGVtZW50OjphZGRTaGFyZWRDZWxsQm9yZGVyc0RlY2woVmVjdG9yPENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW8KIAogICAgICAgICBzZXRNYXBwZWRBdHRyaWJ1dGVEZWNsKGVQZXJzaXN0ZW50LCBj
ZWxsYm9yZGVyQXR0ciwgKmNlbGxCb3JkZXJOYW1lc1tib3JkZXJzXSwgZGVjbCk7CiAgICAgICAg
IGRlY2wtPnNldFBhcmVudFN0eWxlU2hlZXQoMCk7Ci0gICAgICAgIGRlY2wtPnNldE5vZGUoMCk7
CisgICAgICAgIGRlY2wtPnNldEVsZW1lbnQoMCk7CiAgICAgICAgIGRlY2wtPnNldE1hcHBlZFN0
YXRlKGVQZXJzaXN0ZW50LCBjZWxsYm9yZGVyQXR0ciwgY2VsbGJvcmRlclZhbHVlKTsKICAgICB9
CiAgICAgCkBAIC01NzMsNyArNTczLDcgQEAgdm9pZCBIVE1MVGFibGVFbGVtZW50OjphZGRTaGFy
ZWRDZWxsUGFkZGluZ0RlY2woVmVjdG9yPENTU011dGFibGVTdHlsZURlY2xhcmF0aW8KICAgICAg
ICAgaWYgKCFtX3BhZGRpbmdEZWNsKSB7CiAgICAgICAgICAgICBtX3BhZGRpbmdEZWNsID0gQ1NT
TWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb246OmNyZWF0ZSgpOwogICAgICAgICAgICAgbV9wYWRk
aW5nRGVjbC0+c2V0UGFyZW50U3R5bGVTaGVldChkb2N1bWVudCgpLT5lbGVtZW50U2hlZXQoKSk7
Ci0gICAgICAgICAgICBtX3BhZGRpbmdEZWNsLT5zZXROb2RlKHRoaXMpOworICAgICAgICAgICAg
bV9wYWRkaW5nRGVjbC0+c2V0RWxlbWVudCh0aGlzKTsKICAgICAgICAgICAgIG1fcGFkZGluZ0Rl
Y2wtPnNldFN0cmljdFBhcnNpbmcoZmFsc2UpOyAvLyBNYXBwZWQgYXR0cmlidXRlcyBhcmUganVz
dCBhbHdheXMgcXVpcmt5LgogICAgICAgICAgICAgCiAgICAgICAgICAgICBtX3BhZGRpbmdEZWNs
LT5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eVBhZGRpbmdUb3AsIHBhZGRpbmdWYWx1ZSwgZmFsc2Up
OwpAQCAtNTgzLDcgKzU4Myw3IEBAIHZvaWQgSFRNTFRhYmxlRWxlbWVudDo6YWRkU2hhcmVkQ2Vs
bFBhZGRpbmdEZWNsKFZlY3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvCiAgICAgICAgIH0K
ICAgICAgICAgc2V0TWFwcGVkQXR0cmlidXRlRGVjbChlVW5pdmVyc2FsLCBjZWxscGFkZGluZ0F0
dHIsIHBhZGRpbmdWYWx1ZSwgbV9wYWRkaW5nRGVjbC5nZXQoKSk7CiAgICAgICAgIG1fcGFkZGlu
Z0RlY2wtPnNldFBhcmVudFN0eWxlU2hlZXQoMCk7Ci0gICAgICAgIG1fcGFkZGluZ0RlY2wtPnNl
dE5vZGUoMCk7CisgICAgICAgIG1fcGFkZGluZ0RlY2wtPnNldEVsZW1lbnQoMCk7CiAgICAgICAg
IG1fcGFkZGluZ0RlY2wtPnNldE1hcHBlZFN0YXRlKGVVbml2ZXJzYWwsIGNlbGxwYWRkaW5nQXR0
ciwgcGFkZGluZ1ZhbHVlKTsKICAgICB9CiAgICAgCkBAIC02MDAsNyArNjAwLDcgQEAgdm9pZCBI
VE1MVGFibGVFbGVtZW50OjphZGRTaGFyZWRHcm91cERlY2xzKGJvb2wgcm93cywgVmVjdG9yPENT
U011dGFibGVTdHlsZURlY2wKICAgICBpZiAoIWRlY2wpIHsKICAgICAgICAgZGVjbCA9IENTU01h
cHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uOjpjcmVhdGUoKS5sZWFrUmVmKCk7IC8vIFRoaXMgc2lu
Z2xlIHJlZiBwaW5zIHVzIGluIHRoZSB0YWJsZSB1bnRpbCB0aGUgZG9jdW1lbnQgZGllcy4KICAg
ICAgICAgZGVjbC0+c2V0UGFyZW50U3R5bGVTaGVldChkb2N1bWVudCgpLT5lbGVtZW50U2hlZXQo
KSk7Ci0gICAgICAgIGRlY2wtPnNldE5vZGUodGhpcyk7CisgICAgICAgIGRlY2wtPnNldEVsZW1l
bnQodGhpcyk7CiAgICAgICAgIGRlY2wtPnNldFN0cmljdFBhcnNpbmcoZmFsc2UpOyAvLyBNYXBw
ZWQgYXR0cmlidXRlcyBhcmUganVzdCBhbHdheXMgcXVpcmt5LgogICAgICAgICAKICAgICAgICAg
aWYgKHJvd3MpIHsKQEAgLTYxNyw3ICs2MTcsNyBAQCB2b2lkIEhUTUxUYWJsZUVsZW1lbnQ6OmFk
ZFNoYXJlZEdyb3VwRGVjbHMoYm9vbCByb3dzLCBWZWN0b3I8Q1NTTXV0YWJsZVN0eWxlRGVjbAog
CiAgICAgICAgIHNldE1hcHBlZEF0dHJpYnV0ZURlY2woZVBlcnNpc3RlbnQsIHJ1bGVzQXR0ciwg
cnVsZXNWYWx1ZSwgZGVjbCk7CiAgICAgICAgIGRlY2wtPnNldFBhcmVudFN0eWxlU2hlZXQoMCk7
Ci0gICAgICAgIGRlY2wtPnNldE5vZGUoMCk7CisgICAgICAgIGRlY2wtPnNldEVsZW1lbnQoMCk7
CiAgICAgICAgIGRlY2wtPnNldE1hcHBlZFN0YXRlKGVQZXJzaXN0ZW50LCBydWxlc0F0dHIsIHJ1
bGVzVmFsdWUpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDU1NBZ2VudC5jcHAKaW5kZXggMDg1YWUzYzFjZGYyNWRiZTAxNWI2NGZjYmYzNWUwMjc4YTU4
ZTYwOS4uY2ExZDI3NTUxYTQ5NmJlZmRlYjEwMjVmYzFiMmJmMDE3ODcxYmJmZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC00NDcsNyAr
NDQ3LDcgQEAgRWxlbWVudCogSW5zcGVjdG9yQ1NTQWdlbnQ6OmlubGluZVN0eWxlRWxlbWVudChD
U1NTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSkKICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
biogbXV0YWJsZVN0eWxlID0gc3RhdGljX2Nhc3Q8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24q
PihzdHlsZSk7CiAgICAgaWYgKCFtdXRhYmxlU3R5bGUtPmlzSW5saW5lU3R5bGVEZWNsYXJhdGlv
bigpKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RWxlbWVudCo+
KG11dGFibGVTdHlsZS0+bm9kZSgpKTsKKyAgICByZXR1cm4gbXV0YWJsZVN0eWxlLT5lbGVtZW50
KCk7CiB9CiAKIEluc3BlY3RvclN0eWxlU2hlZXRGb3JJbmxpbmVTdHlsZSogSW5zcGVjdG9yQ1NT
QWdlbnQ6OmFzSW5zcGVjdG9yU3R5bGVTaGVldChFbGVtZW50KiBlbGVtZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116443</attachid>
            <date>2011-11-23 15:21:55 -0800</date>
            <delta_ts>2011-11-23 18:45:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73050-20111123152154.patch</filename>
            <type>text/plain</type>
            <size>15873</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM0M2VkOGZmZWNkOWYx
YWYwYTI4MzkzNzk0MjY1MzJlM2E1MjgyNy4uMThhZjhkYjNlZGY4Mzg5NmQ4N2I5NDhmZDg1OTc2
ZmE0YzQyMDY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM3IEBACiAyMDExLTExLTIzICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgQ2hhbmdlIENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uOjptX25vZGUgdG8gbV9lbGVtZW50IChhbG9uZyB3aXRo
IGdldHRlci9zZXR0ZXIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MzA1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIHRlc3RzIG5lZWRlZC4gVGhpcyBpcyBqdXN0IGEgcmVmYWN0b3IuCisKKyAgICAg
ICAgKiBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpvcGVyYXRv
cj0pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmlzSW5s
aW5lU3R5bGVEZWNsYXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6c2V0TmVlZHNTdHlsZVJlY2FsYyk6CisgICAgICAgICogY3NzL0NTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjo6c2V0RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbjo6ZWxlbWVudCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVJ1bGU6OnNldFNlbGVjdG9yVGV4dCk6CisgICAg
ICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxl
bWVudDo6Y3JlYXRlSW5saW5lU3R5bGVEZWNsKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVs
ZW1lbnQ6OmRlc3Ryb3lJbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVk
RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVt
ZW50OjpjcmVhdGVNYXBwZWREZWNsKToKKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6YWRkaXRpb25hbEF0dHJp
YnV0ZVN0eWxlRGVjbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6YWRk
U2hhcmVkQ2VsbEJvcmRlcnNEZWNsKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZUVsZW1l
bnQ6OmFkZFNoYXJlZENlbGxQYWRkaW5nRGVjbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFi
bGVFbGVtZW50OjphZGRTaGFyZWRHcm91cERlY2xzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6
OmlubGluZVN0eWxlRWxlbWVudCk6CisKKzIwMTEtMTEtMjMgIFJhZmFlbCBXZWluc3RlaW4gIDxy
YWZhZWx3QGNocm9taXVtLm9yZz4KKwogICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIE1vZGlm
aWNhdGlvbnMgdG8gdGhlIHN0eWxlIHByb3BlcnR5IGRvbid0IGRpc3BhdGNoICJhdHRyaWJ1dGVz
IiBNdXRhdGlvbiBSZWNvcmRzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDEzNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGlu
Zy5oCmluZGV4IDJiMTVhNGU3ZTM0NDFhNWY1ZDNlNjAxNTRjNDk2MDJjNWNhMmE0ZjIuLmQ5MTM4
MTM4OWFjZmZkMDgxYzA0MTNkMDU2ZGNmZTAzNmMwOGRkMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCisj
aW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgPGhlYXAvV2Vhay5oPgogI2luY2x1
ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KICNpbmNsdWRlIDxydW50aW1lL0xvb2t1
cC5oPgpAQCAtMjA2LDcgKzIwNyw3IEBAIGVudW0gUGFyYW1ldGVyTWlzc2luZ1BvbGljeSB7CiAg
ICAgICAgIGlmIChDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0ID0gc3R5bGUtPnBhcmVudFN0eWxl
U2hlZXQoKSkKICAgICAgICAgICAgIHJldHVybiByb290KHN0eWxlU2hlZXQpOwogICAgICAgICBp
ZiAoc3R5bGUtPmlzTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24oKSkgewotICAgICAgICAgICAgaWYg
KE5vZGUqIG5vZGUgPSBzdGF0aWNfY2FzdDxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbio+KHN0
eWxlKS0+bm9kZSgpKQorICAgICAgICAgICAgaWYgKE5vZGUqIG5vZGUgPSBzdGF0aWNfY2FzdDxD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbio+KHN0eWxlKS0+ZWxlbWVudCgpKQogICAgICAgICAg
ICAgICAgIHJldHVybiByb290KG5vZGUpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBzdHls
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24u
Y3BwCmluZGV4IDc4Y2U5YzRlYTZjMjZjZDEwYmFlNTM3YzAzOGFjOTM4MTk1MmQzYWEuLmI3OWVh
ZDlkMGVmMjRjMjNkZmMwZTQwYzE0M2EzZDJmMTQyY2Y4MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtNjUsMTUgKzY1LDE0
IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKCFzX2N1cnJlbnREZWNsLT5pc0lubGluZVN0eWxlRGVj
bGFyYXRpb24oKSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBzX211dGF0aW9uUmVj
aXBpZW50cyA9IE11dGF0aW9uT2JzZXJ2ZXJJbnRlcmVzdEdyb3VwOjpjcmVhdGVGb3JBdHRyaWJ1
dGVzTXV0YXRpb24oc19jdXJyZW50RGVjbC0+bm9kZSgpLCBIVE1MTmFtZXM6OnN0eWxlQXR0cik7
CisgICAgICAgIHNfbXV0YXRpb25SZWNpcGllbnRzID0gTXV0YXRpb25PYnNlcnZlckludGVyZXN0
R3JvdXA6OmNyZWF0ZUZvckF0dHJpYnV0ZXNNdXRhdGlvbihzX2N1cnJlbnREZWNsLT5lbGVtZW50
KCksIEhUTUxOYW1lczo6c3R5bGVBdHRyKTsKICAgICAgICAgaWYgKHNfbXV0YXRpb25SZWNpcGll
bnRzLT5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIHNfbXV0YXRpb25SZWNpcGllbnRzLmNsZWFy
KCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBFbGVtZW50KiBl
bGVtZW50ID0gdG9FbGVtZW50KHNfY3VycmVudERlY2wtPm5vZGUoKSk7Ci0gICAgICAgIEF0b21p
Y1N0cmluZyBvbGRWYWx1ZSA9IHNfbXV0YXRpb25SZWNpcGllbnRzLT5pc09sZFZhbHVlUmVxdWVz
dGVkKCkgPyBlbGVtZW50LT5nZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpzdHlsZUF0dHIpIDogbnVs
bEF0b207Ci0gICAgICAgIHNfbXV0YXRpb24gPSBNdXRhdGlvblJlY29yZDo6Y3JlYXRlQXR0cmli
dXRlcyhlbGVtZW50LCBIVE1MTmFtZXM6OnN0eWxlQXR0ciwgb2xkVmFsdWUpOworICAgICAgICBB
dG9taWNTdHJpbmcgb2xkVmFsdWUgPSBzX211dGF0aW9uUmVjaXBpZW50cy0+aXNPbGRWYWx1ZVJl
cXVlc3RlZCgpID8gc19jdXJyZW50RGVjbC0+ZWxlbWVudCgpLT5nZXRBdHRyaWJ1dGUoSFRNTE5h
bWVzOjpzdHlsZUF0dHIpIDogbnVsbEF0b207CisgICAgICAgIHNfbXV0YXRpb24gPSBNdXRhdGlv
blJlY29yZDo6Y3JlYXRlQXR0cmlidXRlcyhzX2N1cnJlbnREZWNsLT5lbGVtZW50KCksIEhUTUxO
YW1lczo6c3R5bGVBdHRyLCBvbGRWYWx1ZSk7CiAgICAgfQogCiAgICAgflN0eWxlQXR0cmlidXRl
TXV0YXRpb25TY29wZSgpCkBAIC0xMDksNyArMTA4LDcgQEAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24qIFN0eWxlQXR0cmlidXRlTXV0YXRpb25TY29wZTo6c19jdXJyZW50RGVjbCA9IDA7CiAK
IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbigp
CiAgICAgOiBDU1NTdHlsZURlY2xhcmF0aW9uKDAsIC8qIGlzTXV0YWJsZSAqLyB0cnVlKQotICAg
ICwgbV9ub2RlKDApCisgICAgLCBtX2VsZW1lbnQoMCkKIHsKICAgICAvLyBUaGlzIGNvbnN0cnVj
dG9yIGlzIHVzZWQgZm9yIHZhcmlvdXMgaW5saW5lIHN0eWxlIGRlY2xhcmF0aW9ucywgc28gZGlz
YWJsZSBzdHJpY3QgcGFyc2luZy4KICAgICBtX3N0cmljdFBhcnNpbmcgPSBmYWxzZTsKQEAgLTEx
NywxNCArMTE2LDE0IEBAIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbigpCiAKIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpDU1NNdXRhYmxl
U3R5bGVEZWNsYXJhdGlvbihDU1NSdWxlKiBwYXJlbnQpCiAgICAgOiBDU1NTdHlsZURlY2xhcmF0
aW9uKHBhcmVudCwgLyogaXNNdXRhYmxlICovIHRydWUpCi0gICAgLCBtX25vZGUoMCkKKyAgICAs
IG1fZWxlbWVudCgwKQogewogfQogCiBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Q1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24oQ1NTUnVsZSogcGFyZW50LCBjb25zdCBWZWN0b3I8Q1NTUHJv
cGVydHk+JiBwcm9wZXJ0aWVzKQogICAgIDogQ1NTU3R5bGVEZWNsYXJhdGlvbihwYXJlbnQsIC8q
IGlzTXV0YWJsZSAqLyB0cnVlKQogICAgICwgbV9wcm9wZXJ0aWVzKHByb3BlcnRpZXMpCi0gICAg
LCBtX25vZGUoMCkKKyAgICAsIG1fZWxlbWVudCgwKQogewogICAgIG1fcHJvcGVydGllcy5zaHJp
bmtUb0ZpdCgpOwogICAgIC8vIEZJWE1FOiBUaGlzIGFsbG93cyBkdXBsaWNhdGUgcHJvcGVydGll
cy4KQEAgLTEzMiw3ICsxMzEsNyBAQCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Q1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24oQ1NTUnVsZSogcGFyZW50LCBjb25zdCBWZQogCiBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbjo6Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24oQ1NTUnVsZSog
cGFyZW50LCBjb25zdCBDU1NQcm9wZXJ0eSogY29uc3QgKiBwcm9wZXJ0aWVzLCBpbnQgbnVtUHJv
cGVydGllcykKICAgICA6IENTU1N0eWxlRGVjbGFyYXRpb24ocGFyZW50LCAvKiBpc011dGFibGUg
Ki8gdHJ1ZSkKLSAgICAsIG1fbm9kZSgwKQorICAgICwgbV9lbGVtZW50KDApCiB7CiAgICAgbV9w
cm9wZXJ0aWVzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobnVtUHJvcGVydGllcyk7CiAgICAgSGFz
aE1hcDxpbnQsIGJvb2w+IGNhbmRpZGF0ZXM7CkBAIC0xNTcsNyArMTU2LDcgQEAgQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb246On5DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbigpCiBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbiYgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246Om9wZXJhdG9y
PShjb25zdCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiYgb3RoZXIpCiB7CiAgICAgQVNTRVJU
KCFtX2l0ZXJhdG9yQ291bnQpOwotICAgIC8vIGRvbid0IGF0dGFjaCBpdCB0byB0aGUgc2FtZSBu
b2RlLCBqdXN0IGxlYXZlIHRoZSBjdXJyZW50IG1fbm9kZSB2YWx1ZQorICAgIC8vIGRvbid0IGF0
dGFjaCBpdCB0byB0aGUgc2FtZSBlbGVtZW50LCBqdXN0IGxlYXZlIHRoZSBjdXJyZW50IG1fZWxl
bWVudCB2YWx1ZQogICAgIG1fcHJvcGVydGllcyA9IG90aGVyLm1fcHJvcGVydGllczsKICAgICBt
X3N0cmljdFBhcnNpbmcgPSBvdGhlci5tX3N0cmljdFBhcnNpbmc7CiAgICAgcmV0dXJuICp0aGlz
OwpAQCAtNjIwLDE5ICs2MTksMTkgQEAgYm9vbCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6
aXNJbmxpbmVTdHlsZURlY2xhcmF0aW9uKCkKICAgICAvLyBGSVhNRTogSWRlYWxseSwgdGhpcyBz
aG91bGQgYmUgZmFjdG9yZWQgYmV0dGVyIGFuZCB0aGVyZQogICAgIC8vIHNob3VsZCBiZSBhIHN1
YmNsYXNzIG9mIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uIGp1c3QKICAgICAvLyBmb3IgaW5s
aW5lIHN0eWxlIGRlY2xhcmF0aW9ucyB0aGF0IGhhbmRsZXMgdGhpcwotICAgIHJldHVybiBtX25v
ZGUgJiYgbV9ub2RlLT5pc1N0eWxlZEVsZW1lbnQoKSAmJiBzdGF0aWNfY2FzdDxTdHlsZWRFbGVt
ZW50Kj4obV9ub2RlKS0+aW5saW5lU3R5bGVEZWNsKCkgPT0gdGhpczsKKyAgICByZXR1cm4gbV9l
bGVtZW50ICYmIG1fZWxlbWVudC0+aW5saW5lU3R5bGVEZWNsKCkgPT0gdGhpczsKIH0KIAogdm9p
ZCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6c2V0TmVlZHNTdHlsZVJlY2FsYygpCiB7Ci0g
ICAgaWYgKG1fbm9kZSkgeworICAgIGlmIChtX2VsZW1lbnQpIHsKICAgICAgICAgaWYgKGlzSW5s
aW5lU3R5bGVEZWNsYXJhdGlvbigpKSB7Ci0gICAgICAgICAgICBtX25vZGUtPnNldE5lZWRzU3R5
bGVSZWNhbGMoSW5saW5lU3R5bGVDaGFuZ2UpOwotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8U3R5
bGVkRWxlbWVudCo+KG1fbm9kZSktPmludmFsaWRhdGVTdHlsZUF0dHJpYnV0ZSgpOwotICAgICAg
ICAgICAgaWYgKG1fbm9kZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVTdHlsZUF0dHIobV9ub2RlLT5kb2N1bWVudCgp
LCBtX25vZGUpOworICAgICAgICAgICAgbV9lbGVtZW50LT5zZXROZWVkc1N0eWxlUmVjYWxjKElu
bGluZVN0eWxlQ2hhbmdlKTsKKyAgICAgICAgICAgIG1fZWxlbWVudC0+aW52YWxpZGF0ZVN0eWxl
QXR0cmlidXRlKCk7CisgICAgICAgICAgICBpZiAobV9lbGVtZW50LT5kb2N1bWVudCgpKQorICAg
ICAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZVN0eWxl
QXR0cihtX2VsZW1lbnQtPmRvY3VtZW50KCksIG1fZWxlbWVudCk7CiAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgbV9ub2RlLT5zZXROZWVkc1N0eWxlUmVjYWxjKEZ1bGxTdHlsZUNoYW5nZSk7
CisgICAgICAgICAgICBtX2VsZW1lbnQtPnNldE5lZWRzU3R5bGVSZWNhbGMoRnVsbFN0eWxlQ2hh
bmdlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaAppbmRleCA4Mjg5NWE0ZDkxYWU5N2UzZDViNTI4
NDMyM2E5YjE4NjIyNGEwZmUzLi43MTdiMjFmMGFmMzA0OTQzYmEyZjJlZTllNTdjYjg3M2ExMmRj
NGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b24uaApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5v
ZGU7CitjbGFzcyBTdHlsZWRFbGVtZW50OwogCiBjbGFzcyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbkNvbnN0SXRlcmF0b3IgewogcHVibGljOgpAQCAtODMsOSArODMsOSBAQCBwdWJsaWM6CiAg
ICAgY29uc3RfaXRlcmF0b3IgYmVnaW4oKSB7IHJldHVybiBjb25zdF9pdGVyYXRvcih0aGlzLCBt
X3Byb3BlcnRpZXMuYmVnaW4oKSk7IH0KICAgICBjb25zdF9pdGVyYXRvciBlbmQoKSB7IHJldHVy
biBjb25zdF9pdGVyYXRvcih0aGlzLCBtX3Byb3BlcnRpZXMuZW5kKCkpOyB9CiAKLSAgICB2b2lk
IHNldE5vZGUoTm9kZSogbm9kZSkgeyBtX25vZGUgPSBub2RlOyB9CisgICAgdm9pZCBzZXRFbGVt
ZW50KFN0eWxlZEVsZW1lbnQqIGVsZW1lbnQpIHsgbV9lbGVtZW50ID0gZWxlbWVudDsgfQogCi0g
ICAgTm9kZSogbm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZTsgfQorICAgIFN0eWxlZEVsZW1l
bnQqIGVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnQ7IH0KIAogICAgIHZpcnR1YWwg
U3RyaW5nIGNzc1RleHQoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3NzVGV4dChjb25z
dCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CkBAIC0xNzgsNyArMTc4LDcgQEAgcHJpdmF0ZToK
IAogICAgIFZlY3RvcjxDU1NQcm9wZXJ0eSwgND4gbV9wcm9wZXJ0aWVzOwogCi0gICAgTm9kZSog
bV9ub2RlOworICAgIFN0eWxlZEVsZW1lbnQqIG1fZWxlbWVudDsKIAogICAgIGZyaWVuZCBjbGFz
cyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkNvbnN0SXRlcmF0b3I7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVSdWxlLmNwcAppbmRleCBlYmU3NGI1YzQ5YjY2ZDkyNjdjNTE3ZWMxZDg0NGNh
NDdiYzVhN2M4Li4zOTE2ZjI2YTI0MzEwMTgxMjk2NGVmZmNmOGY0OTg3ZDk4ZTk3Y2UzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUg
IkNTU1NlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCisjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgIlN0eWxlU2hl
ZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjYsNyArNjcsNyBAQCB2b2lkIENTU1N0
eWxlUnVsZTo6c2V0U2VsZWN0b3JUZXh0KGNvbnN0IFN0cmluZyYgc2VsZWN0b3JUZXh0KQogICAg
ICAgICBkb2MgPSBzdHlsZVNoZWV0LT5maW5kRG9jdW1lbnQoKTsKIAogICAgIGlmICghZG9jKQot
ICAgICAgICBkb2MgPSBtX3N0eWxlLT5ub2RlKCkgPyBtX3N0eWxlLT5ub2RlKCktPmRvY3VtZW50
KCkgOiAwOworICAgICAgICBkb2MgPSBtX3N0eWxlLT5lbGVtZW50KCkgPyBtX3N0eWxlLT5lbGVt
ZW50KCktPmRvY3VtZW50KCkgOiAwOwogCiAgICAgaWYgKCFkb2MpCiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCA4N2E1YmU1ZDU0MWQ3NWVjY2Vk
NTAyYjM4ZWZkNGRhNTU4ZDJmYjgyLi5jOWZlMTlhNDY2MTc1MmYzOTAzYzM1OTlmYmJiY2Y0Mjcy
OWFiZjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0xMzEsMTQgKzEz
MSwxNCBAQCB2b2lkIFN0eWxlZEVsZW1lbnQ6OmNyZWF0ZUlubGluZVN0eWxlRGVjbCgpCiB7CiAg
ICAgbV9pbmxpbmVTdHlsZURlY2wgPSBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRl
KCk7CiAgICAgbV9pbmxpbmVTdHlsZURlY2wtPnNldFBhcmVudFN0eWxlU2hlZXQoZG9jdW1lbnQo
KS0+ZWxlbWVudFNoZWV0KCkpOwotICAgIG1faW5saW5lU3R5bGVEZWNsLT5zZXROb2RlKHRoaXMp
OworICAgIG1faW5saW5lU3R5bGVEZWNsLT5zZXRFbGVtZW50KHRoaXMpOwogICAgIG1faW5saW5l
U3R5bGVEZWNsLT5zZXRTdHJpY3RQYXJzaW5nKGlzSFRNTEVsZW1lbnQoKSAmJiAhZG9jdW1lbnQo
KS0+aW5RdWlya3NNb2RlKCkpOwogfQogCiB2b2lkIFN0eWxlZEVsZW1lbnQ6OmRlc3Ryb3lJbmxp
bmVTdHlsZURlY2woKQogewogICAgIGlmIChtX2lubGluZVN0eWxlRGVjbCkgewotICAgICAgICBt
X2lubGluZVN0eWxlRGVjbC0+c2V0Tm9kZSgwKTsKKyAgICAgICAgbV9pbmxpbmVTdHlsZURlY2wt
PnNldEVsZW1lbnQoMCk7CiAgICAgICAgIG1faW5saW5lU3R5bGVEZWNsLT5zZXRQYXJlbnRTdHls
ZVNoZWV0KDApOwogICAgICAgICBtX2lubGluZVN0eWxlRGVjbCA9IDA7CiAgICAgfQpAQCAtMTk2
LDcgKzE5Niw3IEBAIHZvaWQgU3R5bGVkRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1
dGUqIGF0dHIsIGJvb2wgcHJlc2VydmVEZWNscykKICAgICAgICAgc2V0TWFwcGVkQXR0cmlidXRl
RGVjbChlbnRyeSwgYXR0ciwgYXR0ci0+ZGVjbCgpKTsKICAgICAgICAgYXR0ci0+ZGVjbCgpLT5z
ZXRNYXBwZWRTdGF0ZShlbnRyeSwgYXR0ci0+bmFtZSgpLCBhdHRyLT52YWx1ZSgpKTsKICAgICAg
ICAgYXR0ci0+ZGVjbCgpLT5zZXRQYXJlbnRTdHlsZVNoZWV0KDApOwotICAgICAgICBhdHRyLT5k
ZWNsKCktPnNldE5vZGUoMCk7CisgICAgICAgIGF0dHItPmRlY2woKS0+c2V0RWxlbWVudCgwKTsK
ICAgICAgICAgaWYgKGF0dHJpYnV0ZU1hcCgpKQogICAgICAgICAgICAgYXR0cmlidXRlTWFwKCkt
PmRlY2xBZGRlZCgpOwogICAgIH0KQEAgLTQwNiw3ICs0MDYsNyBAQCB2b2lkIFN0eWxlZEVsZW1l
bnQ6OmNyZWF0ZU1hcHBlZERlY2woQXR0cmlidXRlKiBhdHRyKQogICAgIFJlZlB0cjxDU1NNYXBw
ZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbj4gZGVjbCA9IENTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0
aW9uOjpjcmVhdGUoKTsKICAgICBhdHRyLT5zZXREZWNsKGRlY2wpOwogICAgIGRlY2wtPnNldFBh
cmVudFN0eWxlU2hlZXQoZG9jdW1lbnQoKS0+ZWxlbWVudFNoZWV0KCkpOwotICAgIGRlY2wtPnNl
dE5vZGUodGhpcyk7CisgICAgZGVjbC0+c2V0RWxlbWVudCh0aGlzKTsKICAgICBkZWNsLT5zZXRT
dHJpY3RQYXJzaW5nKGZhbHNlKTsgLy8gTWFwcGVkIGF0dHJpYnV0ZXMgYXJlIGp1c3QgYWx3YXlz
IHF1aXJreS4KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAKaW5k
ZXggM2UyNWY1YTEwNjk4ZTdkMDgzZjAzZTE5NmRjOWFmNmZhZjkyZGJkOS4uZDk2OWQ1MjkzNWZl
YmM1NzdjNTlkN2VjYWRlNTRiNTRhOGY3MDU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGFibGVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
YWJsZUVsZW1lbnQuY3BwCkBAIC00NTYsNyArNDU2LDcgQEAgdm9pZCBIVE1MVGFibGVFbGVtZW50
OjphZGRpdGlvbmFsQXR0cmlidXRlU3R5bGVEZWNscyhWZWN0b3I8Q1NTTXV0YWJsZVN0eWxlRGVj
bGEKICAgICBpZiAoIWRlY2wpIHsKICAgICAgICAgZGVjbCA9IENTU01hcHBlZEF0dHJpYnV0ZURl
Y2xhcmF0aW9uOjpjcmVhdGUoKS5sZWFrUmVmKCk7IC8vIFRoaXMgc2luZ2xlIHJlZiBwaW5zIHVz
IGluIHRoZSB0YWJsZSB1bnRpbCB0aGUgZG9jdW1lbnQgZGllcy4KICAgICAgICAgZGVjbC0+c2V0
UGFyZW50U3R5bGVTaGVldChkb2N1bWVudCgpLT5lbGVtZW50U2hlZXQoKSk7Ci0gICAgICAgIGRl
Y2wtPnNldE5vZGUodGhpcyk7CisgICAgICAgIGRlY2wtPnNldEVsZW1lbnQodGhpcyk7CiAgICAg
ICAgIGRlY2wtPnNldFN0cmljdFBhcnNpbmcoZmFsc2UpOyAvLyBNYXBwZWQgYXR0cmlidXRlcyBh
cmUganVzdCBhbHdheXMgcXVpcmt5LgogICAgICAgICAKICAgICAgICAgaW50IHYgPSBtX2JvcmRl
ckNvbG9yQXR0ciA/IENTU1ZhbHVlU29saWQgOiBDU1NWYWx1ZU91dHNldDsKQEAgLTQ2Nyw3ICs0
NjcsNyBAQCB2b2lkIEhUTUxUYWJsZUVsZW1lbnQ6OmFkZGl0aW9uYWxBdHRyaWJ1dGVTdHlsZURl
Y2xzKFZlY3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsYQogCiAgICAgICAgIHNldE1hcHBlZEF0dHJp
YnV0ZURlY2woZVBlcnNpc3RlbnQsIHRhYmxlYm9yZGVyQXR0ciwgYm9yZGVyVmFsdWUsIGRlY2wp
OwogICAgICAgICBkZWNsLT5zZXRQYXJlbnRTdHlsZVNoZWV0KDApOwotICAgICAgICBkZWNsLT5z
ZXROb2RlKDApOworICAgICAgICBkZWNsLT5zZXRFbGVtZW50KDApOwogICAgICAgICBkZWNsLT5z
ZXRNYXBwZWRTdGF0ZShlUGVyc2lzdGVudCwgdGFibGVib3JkZXJBdHRyLCBib3JkZXJWYWx1ZSk7
CiAgICAgfQogICAgIApAQCAtNTE0LDcgKzUxNCw3IEBAIHZvaWQgSFRNTFRhYmxlRWxlbWVudDo6
YWRkU2hhcmVkQ2VsbEJvcmRlcnNEZWNsKFZlY3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
CiAgICAgaWYgKCFkZWNsKSB7CiAgICAgICAgIGRlY2wgPSBDU1NNYXBwZWRBdHRyaWJ1dGVEZWNs
YXJhdGlvbjo6Y3JlYXRlKCkubGVha1JlZigpOyAvLyBUaGlzIHNpbmdsZSByZWYgcGlucyB1cyBp
biB0aGUgdGFibGUgdW50aWwgdGhlIGRvY3VtZW50IGRpZXMuCiAgICAgICAgIGRlY2wtPnNldFBh
cmVudFN0eWxlU2hlZXQoZG9jdW1lbnQoKS0+ZWxlbWVudFNoZWV0KCkpOwotICAgICAgICBkZWNs
LT5zZXROb2RlKHRoaXMpOworICAgICAgICBkZWNsLT5zZXRFbGVtZW50KHRoaXMpOwogICAgICAg
ICBkZWNsLT5zZXRTdHJpY3RQYXJzaW5nKGZhbHNlKTsgLy8gTWFwcGVkIGF0dHJpYnV0ZXMgYXJl
IGp1c3QgYWx3YXlzIHF1aXJreS4KICAgICAgICAgCiAgICAgICAgIHN3aXRjaCAoYm9yZGVycykg
ewpAQCAtNTU1LDcgKzU1NSw3IEBAIHZvaWQgSFRNTFRhYmxlRWxlbWVudDo6YWRkU2hhcmVkQ2Vs
bEJvcmRlcnNEZWNsKFZlY3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvCiAKICAgICAgICAg
c2V0TWFwcGVkQXR0cmlidXRlRGVjbChlUGVyc2lzdGVudCwgY2VsbGJvcmRlckF0dHIsICpjZWxs
Qm9yZGVyTmFtZXNbYm9yZGVyc10sIGRlY2wpOwogICAgICAgICBkZWNsLT5zZXRQYXJlbnRTdHls
ZVNoZWV0KDApOwotICAgICAgICBkZWNsLT5zZXROb2RlKDApOworICAgICAgICBkZWNsLT5zZXRF
bGVtZW50KDApOwogICAgICAgICBkZWNsLT5zZXRNYXBwZWRTdGF0ZShlUGVyc2lzdGVudCwgY2Vs
bGJvcmRlckF0dHIsIGNlbGxib3JkZXJWYWx1ZSk7CiAgICAgfQogICAgIApAQCAtNTczLDcgKzU3
Myw3IEBAIHZvaWQgSFRNTFRhYmxlRWxlbWVudDo6YWRkU2hhcmVkQ2VsbFBhZGRpbmdEZWNsKFZl
Y3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvCiAgICAgICAgIGlmICghbV9wYWRkaW5nRGVj
bCkgewogICAgICAgICAgICAgbV9wYWRkaW5nRGVjbCA9IENTU01hcHBlZEF0dHJpYnV0ZURlY2xh
cmF0aW9uOjpjcmVhdGUoKTsKICAgICAgICAgICAgIG1fcGFkZGluZ0RlY2wtPnNldFBhcmVudFN0
eWxlU2hlZXQoZG9jdW1lbnQoKS0+ZWxlbWVudFNoZWV0KCkpOwotICAgICAgICAgICAgbV9wYWRk
aW5nRGVjbC0+c2V0Tm9kZSh0aGlzKTsKKyAgICAgICAgICAgIG1fcGFkZGluZ0RlY2wtPnNldEVs
ZW1lbnQodGhpcyk7CiAgICAgICAgICAgICBtX3BhZGRpbmdEZWNsLT5zZXRTdHJpY3RQYXJzaW5n
KGZhbHNlKTsgLy8gTWFwcGVkIGF0dHJpYnV0ZXMgYXJlIGp1c3QgYWx3YXlzIHF1aXJreS4KICAg
ICAgICAgICAgIAogICAgICAgICAgICAgbV9wYWRkaW5nRGVjbC0+c2V0UHJvcGVydHkoQ1NTUHJv
cGVydHlQYWRkaW5nVG9wLCBwYWRkaW5nVmFsdWUsIGZhbHNlKTsKQEAgLTU4Myw3ICs1ODMsNyBA
QCB2b2lkIEhUTUxUYWJsZUVsZW1lbnQ6OmFkZFNoYXJlZENlbGxQYWRkaW5nRGVjbChWZWN0b3I8
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpbwogICAgICAgICB9CiAgICAgICAgIHNldE1hcHBlZEF0
dHJpYnV0ZURlY2woZVVuaXZlcnNhbCwgY2VsbHBhZGRpbmdBdHRyLCBwYWRkaW5nVmFsdWUsIG1f
cGFkZGluZ0RlY2wuZ2V0KCkpOwogICAgICAgICBtX3BhZGRpbmdEZWNsLT5zZXRQYXJlbnRTdHls
ZVNoZWV0KDApOwotICAgICAgICBtX3BhZGRpbmdEZWNsLT5zZXROb2RlKDApOworICAgICAgICBt
X3BhZGRpbmdEZWNsLT5zZXRFbGVtZW50KDApOwogICAgICAgICBtX3BhZGRpbmdEZWNsLT5zZXRN
YXBwZWRTdGF0ZShlVW5pdmVyc2FsLCBjZWxscGFkZGluZ0F0dHIsIHBhZGRpbmdWYWx1ZSk7CiAg
ICAgfQogICAgIApAQCAtNjAwLDcgKzYwMCw3IEBAIHZvaWQgSFRNTFRhYmxlRWxlbWVudDo6YWRk
U2hhcmVkR3JvdXBEZWNscyhib29sIHJvd3MsIFZlY3RvcjxDU1NNdXRhYmxlU3R5bGVEZWNsCiAg
ICAgaWYgKCFkZWNsKSB7CiAgICAgICAgIGRlY2wgPSBDU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJh
dGlvbjo6Y3JlYXRlKCkubGVha1JlZigpOyAvLyBUaGlzIHNpbmdsZSByZWYgcGlucyB1cyBpbiB0
aGUgdGFibGUgdW50aWwgdGhlIGRvY3VtZW50IGRpZXMuCiAgICAgICAgIGRlY2wtPnNldFBhcmVu
dFN0eWxlU2hlZXQoZG9jdW1lbnQoKS0+ZWxlbWVudFNoZWV0KCkpOwotICAgICAgICBkZWNsLT5z
ZXROb2RlKHRoaXMpOworICAgICAgICBkZWNsLT5zZXRFbGVtZW50KHRoaXMpOwogICAgICAgICBk
ZWNsLT5zZXRTdHJpY3RQYXJzaW5nKGZhbHNlKTsgLy8gTWFwcGVkIGF0dHJpYnV0ZXMgYXJlIGp1
c3QgYWx3YXlzIHF1aXJreS4KICAgICAgICAgCiAgICAgICAgIGlmIChyb3dzKSB7CkBAIC02MTcs
NyArNjE3LDcgQEAgdm9pZCBIVE1MVGFibGVFbGVtZW50OjphZGRTaGFyZWRHcm91cERlY2xzKGJv
b2wgcm93cywgVmVjdG9yPENTU011dGFibGVTdHlsZURlY2wKIAogICAgICAgICBzZXRNYXBwZWRB
dHRyaWJ1dGVEZWNsKGVQZXJzaXN0ZW50LCBydWxlc0F0dHIsIHJ1bGVzVmFsdWUsIGRlY2wpOwog
ICAgICAgICBkZWNsLT5zZXRQYXJlbnRTdHlsZVNoZWV0KDApOwotICAgICAgICBkZWNsLT5zZXRO
b2RlKDApOworICAgICAgICBkZWNsLT5zZXRFbGVtZW50KDApOwogICAgICAgICBkZWNsLT5zZXRN
YXBwZWRTdGF0ZShlUGVyc2lzdGVudCwgcnVsZXNBdHRyLCBydWxlc1ZhbHVlKTsKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCmluZGV4
IDA4NWFlM2MxY2RmMjVkYmUwMTViNjRmY2JmMzVlMDI3OGE1OGU2MDkuLmNhMWQyNzU1MWE0OTZi
ZWZkZWIxMDI1ZmMxYjJiZjAxNzg3MWJiZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtNDQ3LDcgKzQ0Nyw3IEBAIEVsZW1lbnQqIElu
c3BlY3RvckNTU0FnZW50OjppbmxpbmVTdHlsZUVsZW1lbnQoQ1NTU3R5bGVEZWNsYXJhdGlvbiog
c3R5bGUpCiAgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIG11dGFibGVTdHlsZSA9IHN0
YXRpY19jYXN0PENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKj4oc3R5bGUpOwogICAgIGlmICgh
bXV0YWJsZVN0eWxlLT5pc0lubGluZVN0eWxlRGVjbGFyYXRpb24oKSkKICAgICAgICAgcmV0dXJu
IDA7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEVsZW1lbnQqPihtdXRhYmxlU3R5bGUtPm5vZGUo
KSk7CisgICAgcmV0dXJuIG11dGFibGVTdHlsZS0+ZWxlbWVudCgpOwogfQogCiBJbnNwZWN0b3JT
dHlsZVNoZWV0Rm9ySW5saW5lU3R5bGUqIEluc3BlY3RvckNTU0FnZW50Ojphc0luc3BlY3RvclN0
eWxlU2hlZXQoRWxlbWVudCogZWxlbWVudCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>