<?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>105700</bug_id>
          
          <creation_ts>2012-12-23 17:21:52 -0800</creation_ts>
          <short_desc>Remove more special cased message receiving code from WebProcess</short_desc>
          <delta_ts>2012-12-24 11:07:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          <dependson>105712</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>796825</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-23 17:21:52 -0800</bug_when>
    <thetext>Remove more special cased message receiving code from WebProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796826</commentid>
    <comment_count>1</comment_count>
      <attachid>180632</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-23 17:22:45 -0800</bug_when>
    <thetext>Created attachment 180632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796833</commentid>
    <comment_count>2</comment_count>
      <attachid>180632</attachid>
    <who name="">mitz</who>
    <bug_when>2012-12-23 18:30:45 -0800</bug_when>
    <thetext>Comment on attachment 180632
Patch

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

&gt; Source/WebKit2/WebProcess/WebProcess.h:192
&gt; +    // Database
&gt; +    WebDatabaseManager&amp; databaseManager() { return m_databaseManager; }

Shouldn’t this be guarded by #if ENABLE(SQL_DATABASE)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796834</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-23 18:35:54 -0800</bug_when>
    <thetext>Committed r138428: &lt;http://trac.webkit.org/changeset/138428&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796904</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-12-24 00:15:45 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Committed r138428: &lt;http://trac.webkit.org/changeset/138428&gt;

It made all tests crash everywhere:
- Qt-WK2 bot: http://build.webkit.sed.hu/builders/x86-64%20Linux%20Qt%20Release%20WebKit2%20%28Amazon%20EC2%29/builds/12055
- EFL WK2 bot: http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Release%20WK2/builds/2068
- GTK WK2 bot: http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20WK2%20%28Tests%29/builds/3739

I don&apos;t know anything about the Apple Mac WK bots, because they are very sick:
- Apple Lion Release WK2 (Tests) - offline
- Apple Lion Debug WK2 (Tests) - tests fails on it from 21st Dec
- Apple MountainLion Debug WK2 (Tests) - fails with &quot;Retry exception slave lost&quot;
- Apple MountainLion Release WK2 (Tests) - fails with &quot;Retry exception slave lost&quot;

Could you fix it please as soon as possible? It won&apos;t be good to leave the tree broken for the whole Christmas holiday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796910</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-24 00:32:44 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 105712</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796914</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-12-24 00:38:18 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Re-opened since this is blocked by bug 105712

I&apos;m going to rollout r138428, r138429 (buildfix for r138428) and the following patches, because they are in conflict with it: r138433, r138435 (buildfix for r138433) if you can&apos;t fix the breaking soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797020</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-12-24 11:07:33 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Re-opened since this is blocked by bug 105712
&gt; 
&gt; I&apos;m going to rollout r138428, r138429 (buildfix for r138428) and the following patches, because they are in conflict with it: r138433, r138435 (buildfix for r138433) if you can&apos;t fix the breaking soon.

This should be fixed now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180632</attachid>
            <date>2012-12-23 17:22:45 -0800</date>
            <delta_ts>2012-12-23 18:30:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105700-20121223172011.patch</filename>
            <type>text/plain</type>
            <size>26840</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODQyNikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBACisyMDEyLTEyLTIzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIG1vcmUgc3BlY2lhbCBjYXNl
ZCBtZXNzYWdlIHJlY2VpdmluZyBjb2RlIGZyb20gV2ViUHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NzAwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZXMgV2ViQXBwbGljYXRpb25DYWNo
ZU1hbmFnZXIsIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyIGFuZCBXZWJEYXRhYmFzZU1hbmFnZXIK
KyAgICAgICAgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVycywgcmVtb3ZlcyB0aGVtIGFzIHNwZWNp
YWwgY2FzZXMgaW4gV2ViUHJvY2Vzcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGljYXRp
b25DYWNoZS9XZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyOjpXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcik6
CisgICAgICAgIChXZWJLaXQ6OldlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyOjpnZXRBcHBsaWNh
dGlvbkNhY2hlT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6OldlYkFwcGxpY2F0aW9uQ2FjaGVN
YW5hZ2VyOjpkZWxldGVFbnRyaWVzRm9yT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXBw
bGljYXRpb25DYWNoZU1hbmFnZXI6OmRlbGV0ZUFsbEVudHJpZXMpOgorICAgICAgICAoV2ViS2l0
OjpXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcjo6c2V0QXBwQ2FjaGVNYXhpbXVtU2l6ZSk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVN
YW5hZ2VyLmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViQXBwbGljYXRpb25DYWNo
ZU1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6Y2xlYXJBbGxEYXRh
YmFzZXMpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0RGF0YWJhc2VRdW90
YSk6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlOjpjbGVhckFwcGxpY2F0aW9uQ2Fj
aGUpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0QXBwQ2FjaGVNYXhpbXVt
U2l6ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2Fj
aGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6
OldlYlJlc291cmNlQ2FjaGVNYW5hZ2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXI6OmdldENhY2hlT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291
cmNlQ2FjaGVNYW5hZ2VyOjpjbGVhckNhY2hlRm9yT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JBbGxPcmlnaW5zKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcik6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2VNYW5hZ2Vy
OjpXZWJEYXRhYmFzZU1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZU1hbmFn
ZXI6OmdldERhdGFiYXNlc0J5T3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2VN
YW5hZ2VyOjpnZXREYXRhYmFzZU9yaWdpbnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFz
ZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlV2l0aE5hbWVGb3JPcmlnaW4pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlc0Zvck9yaWdpbik6CisgICAg
ICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlTWFuYWdlcjo6ZGVsZXRlQWxsRGF0YWJhc2VzKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2VNYW5hZ2VyOjpzZXRRdW90YUZvck9yaWdpbik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlTWFuYWdlcjo6ZGlzcGF0Y2hEaWRNb2RpZnlPcmln
aW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZU1hbmFnZXI6OmRpc3BhdGNoRGlkTW9k
aWZ5RGF0YWJhc2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0
YWJhc2VNYW5hZ2VyLmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViRGF0YWJhc2VN
YW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oOgorICAgICAgICAoV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6
OmFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
cmVzb3VyY2VDYWNoZU1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkYXRh
YmFzZU1hbmFnZXIpOgorCiAyMDEyLTEyLTIyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgTWFrZSBDdXN0b21Qcm90b2NvbE1hbmFnZXIgYSBNZXNzYWdlUmVjZWl2ZXIg
dG8gcmVtb3ZlIG1vcmUgc3BlY2lhbCBjYXNpbmcKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMTM4NDI2KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTQgKzMyLDEx
IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIK
ICNpbmNsdWRlICJTdGF0aXN0aWNzRGF0YS5oIgotI2luY2x1ZGUgIldlYkFwcGxpY2F0aW9uQ2Fj
aGVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
V2ViQ29va2llTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgot
I2luY2x1ZGUgIldlYkRhdGFiYXNlTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkZyYW1lLmgiCiAj
aW5jbHVkZSAiV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIgotI2luY2x1ZGUgIldlYkdlb2xv
Y2F0aW9uTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViS2V5VmFsdWVTdG9yYWdlTWFu
YWdlci5oIgogI2luY2x1ZGUgIldlYk1lZGlhQ2FjaGVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2Vi
TWVtb3J5U2FtcGxlci5oIgpAQCAtNTAsNyArNDcsNiBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+CiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvTWVtb3J5U3RhdGlzdGljcy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvQVhPYmplY3RDYWNoZS5oPgpAQCAtMTMzLDYgKzEyOSwxMSBAQCBXZWJQcm9jZXNzOjpXZWJQ
cm9jZXNzKCkKICNlbmRpZgogICAgICwgbV90ZXh0Q2hlY2tlclN0YXRlKCkKICAgICAsIG1fZ2Vv
bG9jYXRpb25NYW5hZ2VyKHRoaXMpCisgICAgLCBtX2FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyKHRo
aXMpCisgICAgLCBtX3Jlc291cmNlQ2FjaGVNYW5hZ2VyKHRoaXMpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKKyAgICAsIG1fZGF0YWJhc2VNYW5hZ2VyKHRoaXMpCisjZW5kaWYKICNpZiBFTkFC
TEUoQkFUVEVSWV9TVEFUVVMpCiAgICAgLCBtX2JhdHRlcnlNYW5hZ2VyKHRoaXMpCiAjZW5kaWYK
QEAgLTU3NSwyMyArNTc2LDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
Q29yZUkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29y
ZUlQQzo6TWVzc2FnZUNsYXNzV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI+KCkpIHsKLSAgICAg
ICAgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdl
KGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KICAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYkNvb2tpZU1h
bmFnZXI+KCkpIHsKICAgICAgICAgV2ViQ29va2llTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2
ZU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi0gICAgaWYgKG1lc3NhZ2VJRC5p
czxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJEYXRhYmFzZU1hbmFnZXI+KCkpIHsKLSAgICAgICAg
V2ViRGF0YWJhc2VNYW5hZ2VyOjpzaGFyZWQoKS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9u
LCBtZXNzYWdlSUQsIGRlY29kZXIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0K
ICAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYktleVZhbHVlU3Rv
cmFnZU1hbmFnZXI+KCkpIHsKICAgICAgICAgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6c2hh
cmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsK
ICAgICAgICAgcmV0dXJuOwpAQCAtNjAxLDExICs1OTAsNiBAQCB2b2lkIFdlYlByb2Nlc3M6OmRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJCiAgICAgICAgIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyOjpzaGFy
ZWQoKS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQ
Qzo6TWVzc2FnZUNsYXNzV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI+KCkpIHsKLSAgICAgICAgV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiAKICAgICBp
ZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYlBhZ2VHcm91cFByb3h5Pigp
KSB7CiAgICAgICAgIHVpbnQ2NF90IHBhZ2VHcm91cElEID0gZGVjb2Rlci5kZXN0aW5hdGlvbklE
KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkocmV2aXNpb24g
MTM4NDI2KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM5LDEwICszOSwxMiBAQAogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgog
I2luY2x1ZGUgIlRleHRDaGVja2VyU3RhdGUuaCIKICNpbmNsdWRlICJWaXNpdGVkTGlua1RhYmxl
LmgiCisjaW5jbHVkZSAiV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuaCIKICNpbmNsdWRlICJX
ZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJHZW9sb2NhdGlvbk1hbmFn
ZXIuaCIKICNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlBh
Z2VHcm91cFByb3h5LmgiCisjaW5jbHVkZSAiV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtODIsNiArODQsMTAgQEAgUVRfRU5EX05BTUVTUEFD
RQogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIgogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorI2luY2x1ZGUgIldlYkRhdGFiYXNlTWFuYWdlci5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBJbnRTaXplOwogICAg
IGNsYXNzIFBhZ2VHcm91cDsKQEAgLTE3Niw2ICsxODIsMTUgQEAgcHVibGljOgogICAgIC8vIEdl
b2xvY2F0aW9uCiAgICAgV2ViR2VvbG9jYXRpb25NYW5hZ2VyJiBnZW9sb2NhdGlvbk1hbmFnZXIo
KSB7IHJldHVybiBtX2dlb2xvY2F0aW9uTWFuYWdlcjsgfQogCisgICAgLy8gQXBwbGljYXRpb24g
Q2FjaGUKKyAgICBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlciYgYXBwbGljYXRpb25DYWNoZU1h
bmFnZXIoKSB7IHJldHVybiBtX2FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyOyB9CisKKyAgICAvLyBS
ZXNvdXJjZSBDYWNoZQorICAgIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyJiByZXNvdXJjZUNhY2hl
TWFuYWdlcigpIHsgcmV0dXJuIG1fcmVzb3VyY2VDYWNoZU1hbmFnZXI7IH0KKworICAgIC8vIERh
dGFiYXNlCisgICAgV2ViRGF0YWJhc2VNYW5hZ2VyJiBkYXRhYmFzZU1hbmFnZXIoKSB7IHJldHVy
biBtX2RhdGFiYXNlTWFuYWdlcjsgfQorCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQogICAg
IFdlYkJhdHRlcnlNYW5hZ2VyJiBiYXR0ZXJ5TWFuYWdlcigpIHsgcmV0dXJuIG1fYmF0dGVyeU1h
bmFnZXI7IH0KICNlbmRpZgpAQCAtMzY4LDYgKzM4MywxMiBAQCBwcml2YXRlOgogCiAgICAgVGV4
dENoZWNrZXJTdGF0ZSBtX3RleHRDaGVja2VyU3RhdGU7CiAgICAgV2ViR2VvbG9jYXRpb25NYW5h
Z2VyIG1fZ2VvbG9jYXRpb25NYW5hZ2VyOworICAgIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2Vy
IG1fYXBwbGljYXRpb25DYWNoZU1hbmFnZXI7CisgICAgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIg
bV9yZXNvdXJjZUNhY2hlTWFuYWdlcjsKKworI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisgICAg
V2ViRGF0YWJhc2VNYW5hZ2VyIG1fZGF0YWJhc2VNYW5hZ2VyOworI2VuZGlmCiAjaWYgRU5BQkxF
KEJBVFRFUllfU1RBVFVTKQogICAgIFdlYkJhdHRlcnlNYW5hZ2VyIG1fYmF0dGVyeU1hbmFnZXI7
CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNo
ZS9XZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9BcHBsaWNhdGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5h
Z2VyLmNwcAkocmV2aXNpb24gMTM4NDI2KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9B
cHBsaWNhdGlvbkNhY2hlL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjYsMTAgKzI2LDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
V2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXIuaCIKIAotI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgor
I2luY2x1ZGUgIkNoaWxkUHJvY2Vzcy5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luRGF0YS5o
IgorI2luY2x1ZGUgIldlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNs
dWRlICJXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRl
ICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9BcHBsaWNhdGlvbkNhY2hlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4u
aD4KQEAgLTM5LDE0ICs0MCwxMCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKLVdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyJiBXZWJBcHBsaWNhdGlv
bkNhY2hlTWFuYWdlcjo6c2hhcmVkKCkKLXsKLSAgICBzdGF0aWMgV2ViQXBwbGljYXRpb25DYWNo
ZU1hbmFnZXImIHNoYXJlZCA9ICpuZXcgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI7Ci0gICAg
cmV0dXJuIHNoYXJlZDsKLX0KLQotV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI6OldlYkFwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyKCkKK1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyOjpXZWJBcHBs
aWNhdGlvbkNhY2hlTWFuYWdlcihDaGlsZFByb2Nlc3MqIGNoaWxkUHJvY2VzcykKKyAgICA6IG1f
Y2hpbGRQcm9jZXNzKGNoaWxkUHJvY2VzcykKIHsKKyAgICBtX2NoaWxkUHJvY2Vzcy0+YWRkTWVz
c2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcjo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogdm9pZCBXZWJBcHBsaWNhdGlvbkNhY2hlTWFu
YWdlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwg
Q29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRl
Y29kZXIpCkBAIC01Niw3ICs1Myw3IEBAIHZvaWQgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI6
OmRpZFJlY2UKIAogdm9pZCBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcjo6Z2V0QXBwbGljYXRp
b25DYWNoZU9yaWdpbnModWludDY0X3QgY2FsbGJhY2tJRCkKIHsKLSAgICBXZWJQcm9jZXNzOjpM
b2NhbFRlcm1pbmF0aW9uRGlzYWJsZXIgdGVybWluYXRpb25EaXNhYmxlcihXZWJQcm9jZXNzOjpz
aGFyZWQoKSk7CisgICAgQ2hpbGRQcm9jZXNzOjpMb2NhbFRlcm1pbmF0aW9uRGlzYWJsZXIgdGVy
bWluYXRpb25EaXNhYmxlcigqbV9jaGlsZFByb2Nlc3MpOwogCiAgICAgSGFzaFNldDxSZWZQdHI8
U2VjdXJpdHlPcmlnaW4+LCBTZWN1cml0eU9yaWdpbkhhc2g+IG9yaWdpbnM7CiAKQEAgLTc4LDEy
ICs3NSwxMiBAQCB2b2lkIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyOjpnZXRBcHBsCiAgICAg
ICAgIGlkZW50aWZpZXJzLnVuY2hlY2tlZEFwcGVuZChvcmlnaW5EYXRhKTsKICAgICB9CiAKLSAg
ICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkFw
cGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHk6OkRpZEdldEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5z
KGlkZW50aWZpZXJzLCBjYWxsYmFja0lEKSwgMCk7CisgICAgbV9jaGlsZFByb2Nlc3MtPnNlbmQo
TWVzc2FnZXM6OldlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHk6OkRpZEdldEFwcGxpY2F0
aW9uQ2FjaGVPcmlnaW5zKGlkZW50aWZpZXJzLCBjYWxsYmFja0lEKSwgMCk7CiB9CiAKIHZvaWQg
V2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI6OmRlbGV0ZUVudHJpZXNGb3JPcmlnaW4oY29uc3Qg
U2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW5EYXRhKQogewotICAgIFdlYlByb2Nlc3M6OkxvY2Fs
VGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2FibGVyKFdlYlByb2Nlc3M6OnNoYXJl
ZCgpKTsKKyAgICBDaGlsZFByb2Nlc3M6OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5h
dGlvbkRpc2FibGVyKCptX2NoaWxkUHJvY2Vzcyk7CiAKICAgICBSZWZQdHI8U2VjdXJpdHlPcmln
aW4+IG9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUob3JpZ2luRGF0YS5wcm90b2NvbCwg
b3JpZ2luRGF0YS5ob3N0LCBvcmlnaW5EYXRhLnBvcnQpOwogICAgIGlmICghb3JpZ2luKQpAQCAt
OTQsMTQgKzkxLDE0IEBAIHZvaWQgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI6OmRlbGV0ZUUK
IAogdm9pZCBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcjo6ZGVsZXRlQWxsRW50cmllcygpCiB7
Ci0gICAgV2ViUHJvY2Vzczo6TG9jYWxUZXJtaW5hdGlvbkRpc2FibGVyIHRlcm1pbmF0aW9uRGlz
YWJsZXIoV2ViUHJvY2Vzczo6c2hhcmVkKCkpOworICAgIENoaWxkUHJvY2Vzczo6TG9jYWxUZXJt
aW5hdGlvbkRpc2FibGVyIHRlcm1pbmF0aW9uRGlzYWJsZXIoKm1fY2hpbGRQcm9jZXNzKTsKIAog
ICAgIGNhY2hlU3RvcmFnZSgpLmRlbGV0ZUFsbEVudHJpZXMoKTsKIH0KIAogdm9pZCBXZWJBcHBs
aWNhdGlvbkNhY2hlTWFuYWdlcjo6c2V0QXBwQ2FjaGVNYXhpbXVtU2l6ZSh1aW50NjRfdCBzaXpl
KQogewotICAgIFdlYlByb2Nlc3M6OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlv
bkRpc2FibGVyKFdlYlByb2Nlc3M6OnNoYXJlZCgpKTsKKyAgICBDaGlsZFByb2Nlc3M6OkxvY2Fs
VGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2FibGVyKCptX2NoaWxkUHJvY2Vzcyk7
CiAKICAgICBjYWNoZVN0b3JhZ2UoKS5zZXRNYXhpbXVtU2l6ZShzaXplKTsKIH0KSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXBwbGljYXRpb25DYWNoZS9XZWJBcHBsaWNhdGlvbkNh
Y2hlTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXBw
bGljYXRpb25DYWNoZS9XZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiAxMzg0
MjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2FjaGUvV2ViQXBw
bGljYXRpb25DYWNoZU1hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsMzYgKzI2LDMxIEBA
CiAjaWZuZGVmIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyX2gKICNkZWZpbmUgV2ViQXBwbGlj
YXRpb25DYWNoZU1hbmFnZXJfaAogCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBNZXNzYWdl
RGVjb2RlcjsKLWNsYXNzIE1lc3NhZ2VJRDsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2Ns
YXNzIENoaWxkUHJvY2VzczsKIHN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiAKLWNsYXNzIFdl
YkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyIHsKK2NsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5h
Z2VyIDogcHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyKTsKLQogcHVibGljOgotICAgIHN0
YXRpYyBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlciYgc2hhcmVkKCk7Ci0KLSAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFn
ZXIoQ2hpbGRQcm9jZXNzKik7CiAKICAgICB2b2lkIGRlbGV0ZUFsbEVudHJpZXMoKTsKICAgICB2
b2lkIHNldEFwcENhY2hlTWF4aW11bVNpemUodWludDY0X3QpOworCiBwcml2YXRlOgotICAgIFdl
YkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyKCk7Ci0gICAgCiAgICAgdm9pZCBnZXRBcHBsaWNhdGlv
bkNhY2hlT3JpZ2lucyh1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGRlbGV0ZUVudHJp
ZXNGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJik7CiAKKyAgICB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAgICAgdm9pZCBkaWRSZWNlaXZlV2Vi
QXBwbGljYXRpb25DYWNoZU1hbmFnZXJNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3Jl
SVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisKKyAgICBDaGlsZFBy
b2Nlc3MqIG1fY2hpbGRQcm9jZXNzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMTM4NDI2KQorKysgU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM0NCw3ICszNDQsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpyZXNldE9yaWdp
bkFjY2Vzc1doCiB2b2lkIEluamVjdGVkQnVuZGxlOjpjbGVhckFsbERhdGFiYXNlcygpCiB7CiAj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKLSAgICBXZWJEYXRhYmFzZU1hbmFnZXI6OnNoYXJlZCgp
LmRlbGV0ZUFsbERhdGFiYXNlcygpOworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmRhdGFiYXNl
TWFuYWdlcigpLmRlbGV0ZUFsbERhdGFiYXNlcygpOwogI2VuZGlmCiB9CiAKQEAgLTM1MywxMyAr
MzUzLDEzIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldERhdGFiYXNlUXVvdGEodWkKICNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIC8vIEhpc3RvcmljYWxseSwgd2UndmUgdXNlZCB0aGUg
Zm9sbG93aW5nIChzb21ld2hhdCBub24tc2Vuc2ljYWwpIHN0cmluZwogICAgIC8vIGZvciB0aGUg
ZGF0YWJhc2VJZGVudGlmaWVyIG9mIGxvY2FsIGZpbGVzLgotICAgIFdlYkRhdGFiYXNlTWFuYWdl
cjo6c2hhcmVkKCkuc2V0UXVvdGFGb3JPcmlnaW4oImZpbGVfXzAiLCBxdW90YSk7CisgICAgV2Vi
UHJvY2Vzczo6c2hhcmVkKCkuZGF0YWJhc2VNYW5hZ2VyKCkuc2V0UXVvdGFGb3JPcmlnaW4oImZp
bGVfXzAiLCBxdW90YSk7CiAjZW5kaWYKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6Y2xlYXJB
cHBsaWNhdGlvbkNhY2hlKCkKIHsKLSAgICBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcjo6c2hh
cmVkKCkuZGVsZXRlQWxsRW50cmllcygpOworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmFwcGxp
Y2F0aW9uQ2FjaGVNYW5hZ2VyKCkuZGVsZXRlQWxsRW50cmllcygpOwogfQogCiB2b2lkIEluamVj
dGVkQnVuZGxlOjpjbGVhckFwcGxpY2F0aW9uQ2FjaGVGb3JPcmlnaW4oY29uc3QgU3RyaW5nJiBv
cmlnaW5TdHJpbmcpCkBAIC0zNzAsNyArMzcwLDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6Y2xl
YXJBcHBsaWNhdGlvbkNhYwogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRBcHBDYWNoZU1heGlt
dW1TaXplKHVpbnQ2NF90IHNpemUpCiB7Ci0gICAgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXI6
OnNoYXJlZCgpLnNldEFwcENhY2hlTWF4aW11bVNpemUoc2l6ZSk7CisgICAgV2ViUHJvY2Vzczo6
c2hhcmVkKCkuYXBwbGljYXRpb25DYWNoZU1hbmFnZXIoKS5zZXRBcHBDYWNoZU1heGltdW1TaXpl
KHNpemUpOwogfQogCiB1aW50NjRfdCBJbmplY3RlZEJ1bmRsZTo6YXBwQ2FjaGVVc2FnZUZvck9y
aWdpbihjb25zdCBTdHJpbmcmIG9yaWdpblN0cmluZykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291
cmNlQ2FjaGVNYW5hZ2VyLmNwcAkocmV2aXNpb24gMTM4NDI2KQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjYsMTMgKzI2LDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuaCIKIAotI2luY2x1ZGUgIkNvbm5lY3Rpb24u
aCIKLSNpbmNsdWRlICJNZXNzYWdlSUQuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xl
YXIuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKICNpbmNsdWRlICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKLSNpbmNsdWRlICJXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5
TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlJlc291cmNlQ2FjaGVNYW5h
Z2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTWVtb3J5Q2FjaGUuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1
cml0eU9yaWdpbkhhc2guaD4KQEAgLTQyLDE4ICs0MCwxMCBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyJiBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6c2hhcmVkKCkKLXsKLSAgICBzdGF0aWMgV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXImIHNoYXJlZCA9ICpuZXcgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI7Ci0g
ICAgcmV0dXJuIHNoYXJlZDsKLX0KLQotV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6OldlYlJlc291
cmNlQ2FjaGVNYW5hZ2VyKCkKLXsKLX0KLQotV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI6On5XZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlcigpCitXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6V2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXIoV2ViUHJvY2VzcyogcHJvY2VzcykKKyAgICA6IG1fcHJvY2Vzcyhwcm9j
ZXNzKQogeworICAgIG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAog
dm9pZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29y
ZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCkBAIC02NCw3ICs1NCw3IEBAIHZvaWQgV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXI6OmRpZFJlY2VpdmUKIAogdm9pZCBXZWJSZXNvdXJjZUNhY2hl
TWFuYWdlcjo6Z2V0Q2FjaGVPcmlnaW5zKHVpbnQ2NF90IGNhbGxiYWNrSUQpIGNvbnN0CiB7Ci0g
ICAgV2ViUHJvY2Vzczo6TG9jYWxUZXJtaW5hdGlvbkRpc2FibGVyIHRlcm1pbmF0aW9uRGlzYWJs
ZXIoV2ViUHJvY2Vzczo6c2hhcmVkKCkpOworICAgIENoaWxkUHJvY2Vzczo6TG9jYWxUZXJtaW5h
dGlvbkRpc2FibGVyIHRlcm1pbmF0aW9uRGlzYWJsZXIoKm1fcHJvY2Vzcyk7CiAKICAgICBNZW1v
cnlDYWNoZTo6U2VjdXJpdHlPcmlnaW5TZXQgb3JpZ2luczsKICAgICBtZW1vcnlDYWNoZSgpLT5n
ZXRPcmlnaW5zV2l0aENhY2hlKG9yaWdpbnMpOwpAQCAtOTYsMTIgKzg2LDEyIEBAIHZvaWQgV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXI6OmdldENhY2hlT3IKICAgICAgICAgaWRlbnRpZmllcnMudW5j
aGVja2VkQXBwZW5kKG9yaWdpbkRhdGEpOwogICAgIH0KIAotICAgIFdlYlByb2Nlc3M6OnNoYXJl
ZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQ
cm94eTo6RGlkR2V0Q2FjaGVPcmlnaW5zKGlkZW50aWZpZXJzLCBjYWxsYmFja0lEKSwgMCk7Cisg
ICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5
OjpEaWRHZXRDYWNoZU9yaWdpbnMoaWRlbnRpZmllcnMsIGNhbGxiYWNrSUQpLCAwKTsKIH0KIAog
dm9pZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6Y2xlYXJDYWNoZUZvck9yaWdpbihTZWN1cml0
eU9yaWdpbkRhdGEgb3JpZ2luRGF0YSwgdWludDMyX3QgY2FjaGVzVG9DbGVhcikgY29uc3QKIHsK
LSAgICBXZWJQcm9jZXNzOjpMb2NhbFRlcm1pbmF0aW9uRGlzYWJsZXIgdGVybWluYXRpb25EaXNh
YmxlcihXZWJQcm9jZXNzOjpzaGFyZWQoKSk7CisgICAgQ2hpbGRQcm9jZXNzOjpMb2NhbFRlcm1p
bmF0aW9uRGlzYWJsZXIgdGVybWluYXRpb25EaXNhYmxlcigqbV9wcm9jZXNzKTsKIAogI2lmIFVT
RShDRlVSTENBQ0hFKQogICAgIFJlc291cmNlQ2FjaGVzVG9DbGVhciByZXNvdXJjZUNhY2hlc1Rv
Q2xlYXIgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUNhY2hlc1RvQ2xlYXI+KGNhY2hlc1RvQ2xlYXIp
OwpAQCAtMTI3LDExICsxMTcsMTAgQEAgdm9pZCBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6Y2xl
YXJDYWNoZQogCiB2b2lkIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyOjpjbGVhckNhY2hlRm9yQWxs
T3JpZ2lucyh1aW50MzJfdCBjYWNoZXNUb0NsZWFyKSBjb25zdAogewotICAgIFdlYlByb2Nlc3M6
OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2FibGVyKFdlYlByb2Nlc3M6
OnNoYXJlZCgpKTsKKyAgICBDaGlsZFByb2Nlc3M6OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0
ZXJtaW5hdGlvbkRpc2FibGVyKCptX3Byb2Nlc3MpOwogCiAgICAgUmVzb3VyY2VDYWNoZXNUb0Ns
ZWFyIHJlc291cmNlQ2FjaGVzVG9DbGVhciA9IHN0YXRpY19jYXN0PFJlc291cmNlQ2FjaGVzVG9D
bGVhcj4oY2FjaGVzVG9DbGVhcik7Ci0KLSAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jbGVhclJl
c291cmNlQ2FjaGVzKHJlc291cmNlQ2FjaGVzVG9DbGVhcik7CisgICAgbV9wcm9jZXNzLT5jbGVh
clJlc291cmNlQ2FjaGVzKHJlc291cmNlQ2FjaGVzVG9DbGVhcik7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hl
L1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmgJKHJldmlz
aW9uIDEzODQyNikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9X
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwzMyArMjYsMjUg
QEAKICNpZm5kZWYgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJfaAogI2RlZmluZSBXZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlcl9oCiAKLSNpbmNsdWRlICJBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJNZXNz
YWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNz
IENvbm5lY3Rpb247Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLWNsYXNzIE1lc3NhZ2VJRDsKLX0K
LQogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFdlYlByb2Nlc3M7CiBzdHJ1Y3QgU2VjdXJp
dHlPcmlnaW5EYXRhOwogCi1jbGFzcyBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlciB7CitjbGFzcyBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlciA6IHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVy
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcik7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyJiBzaGFyZWQoKTsKLQot
ICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6
Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICBXZWJSZXNvdXJjZUNh
Y2hlTWFuYWdlcihXZWJQcm9jZXNzKik7CiAKIHByaXZhdGU6Ci0gICAgV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXIoKTsKLSAgICB2aXJ0dWFsIH5XZWJSZXNvdXJjZUNhY2hlTWFuYWdlcigpOwotCisg
ICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNz
YWdlRGVjb2RlciYpOwogICAgIC8vIEltcGxlbWVudGVkIGluIGdlbmVyYXRlZCBXZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6
Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKIApAQCAtNjQsNiArNTYsOCBA
QCBwcml2YXRlOgogICAgIHN0YXRpYyBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gY2ZVUkxDYWNoZUhv
c3ROYW1lcygpOwogICAgIHN0YXRpYyB2b2lkIGNsZWFyQ0ZVUkxDYWNoZUZvckhvc3ROYW1lcyhD
RkFycmF5UmVmKTsKICNlbmRpZgorCisgICAgV2ViUHJvY2VzcyogbV9wcm9jZXNzOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
CShyZXZpc2lvbiAxMzg0MjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkRhdGFiYXNlTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDEwICsy
OCw5IEBACiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCi0jaW5jbHVkZSAiQ29ubmVjdGlv
bi5oIgotI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgogI2luY2x1ZGUgIk9yaWdpbkFuZERhdGFiYXNl
cy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgIldlYkRh
dGFiYXNlTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViRGF0YWJhc2VNYW5hZ2VyUHJv
eHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L0RhdGFiYXNlRGV0YWlscy5oPgpAQCAtNDIsMjQgKzQxLDE3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotV2ViRGF0YWJhc2VNYW5hZ2VyJiBXZWJE
YXRhYmFzZU1hbmFnZXI6OnNoYXJlZCgpCi17Ci0gICAgc3RhdGljIFdlYkRhdGFiYXNlTWFuYWdl
ciYgc2hhcmVkID0gKm5ldyBXZWJEYXRhYmFzZU1hbmFnZXI7Ci0gICAgcmV0dXJuIHNoYXJlZDsK
LX0KLQogdm9pZCBXZWJEYXRhYmFzZU1hbmFnZXI6OmluaXRpYWxpemUoY29uc3QgU3RyaW5nJiBk
YXRhYmFzZURpcmVjdG9yeSkKIHsKICAgICBEYXRhYmFzZU1hbmFnZXI6Om1hbmFnZXIoKS5pbml0
aWFsaXplKGRhdGFiYXNlRGlyZWN0b3J5KTsKIH0KIAotV2ViRGF0YWJhc2VNYW5hZ2VyOjpXZWJE
YXRhYmFzZU1hbmFnZXIoKQorV2ViRGF0YWJhc2VNYW5hZ2VyOjpXZWJEYXRhYmFzZU1hbmFnZXIo
V2ViUHJvY2VzcyogcHJvY2VzcykKKyAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogewotICAgIERh
dGFiYXNlTWFuYWdlcjo6bWFuYWdlcigpLnNldENsaWVudCh0aGlzKTsKLX0KKyAgICBtX3Byb2Nl
c3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViRGF0YWJhc2VNYW5hZ2VyOjptZXNz
YWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMpOwogCi1XZWJEYXRhYmFzZU1hbmFnZXI6On5XZWJEYXRh
YmFzZU1hbmFnZXIoKQoteworICAgIERhdGFiYXNlTWFuYWdlcjo6bWFuYWdlcigpLnNldENsaWVu
dCh0aGlzKTsKIH0KIAogdm9pZCBXZWJEYXRhYmFzZU1hbmFnZXI6OmRpZFJlY2VpdmVNZXNzYWdl
KENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNz
YWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNjksNyArNjEsNyBA
QCB2b2lkIFdlYkRhdGFiYXNlTWFuYWdlcjo6ZGlkUmVjZWl2ZU1lc3NhCiAKIHZvaWQgV2ViRGF0
YWJhc2VNYW5hZ2VyOjpnZXREYXRhYmFzZXNCeU9yaWdpbih1aW50NjRfdCBjYWxsYmFja0lEKSBj
b25zdAogewotICAgIFdlYlByb2Nlc3M6OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5h
dGlvbkRpc2FibGVyKFdlYlByb2Nlc3M6OnNoYXJlZCgpKTsKKyAgICBDaGlsZFByb2Nlc3M6Okxv
Y2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2FibGVyKCptX3Byb2Nlc3MpOwog
CiAgICAgLy8gRklYTUU6IFRoaXMgY291bGQgYmUgbWFkZSBtb3JlIGVmZmljaWVudCBieSBhZGRp
bmcgYSBmdW5jdGlvbiB0byBEYXRhYmFzZU1hbmFnZXIKICAgICAvLyB0byBnZXQgYm90aCB0aGUg
b3JpZ2lucyBhbmQgdGhlIFZlY3RvciBvZiBEYXRhYmFzZURldGFpbHMgZm9yIGVhY2ggb3JpZ2lu
IGluIG9uZQpAQCAtMTA4LDEyICsxMDAsMTIgQEAgdm9pZCBXZWJEYXRhYmFzZU1hbmFnZXI6Omdl
dERhdGFiYXNlc0J5TwogICAgICAgICBvcmlnaW5BbmREYXRhYmFzZXNWZWN0b3IuYXBwZW5kKG9y
aWdpbkFuZERhdGFiYXNlcyk7CiAgICAgfQogCi0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJEYXRhYmFzZU1hbmFnZXJQcm94eTo6RGlkR2V0
RGF0YWJhc2VzQnlPcmlnaW4ob3JpZ2luQW5kRGF0YWJhc2VzVmVjdG9yLCBjYWxsYmFja0lEKSwg
MCk7CisgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJEYXRhYmFzZU1hbmFnZXJQcm94
eTo6RGlkR2V0RGF0YWJhc2VzQnlPcmlnaW4ob3JpZ2luQW5kRGF0YWJhc2VzVmVjdG9yLCBjYWxs
YmFja0lEKSwgMCk7CiB9CiAKIHZvaWQgV2ViRGF0YWJhc2VNYW5hZ2VyOjpnZXREYXRhYmFzZU9y
aWdpbnModWludDY0X3QgY2FsbGJhY2tJRCkgY29uc3QKIHsKLSAgICBXZWJQcm9jZXNzOjpMb2Nh
bFRlcm1pbmF0aW9uRGlzYWJsZXIgdGVybWluYXRpb25EaXNhYmxlcihXZWJQcm9jZXNzOjpzaGFy
ZWQoKSk7CisgICAgQ2hpbGRQcm9jZXNzOjpMb2NhbFRlcm1pbmF0aW9uRGlzYWJsZXIgdGVybWlu
YXRpb25EaXNhYmxlcigqbV9wcm9jZXNzKTsKIAogICAgIFZlY3RvcjxSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+ID4gb3JpZ2luczsKICAgICBEYXRhYmFzZU1hbmFnZXI6Om1hbmFnZXIoKS5vcmlnaW5z
KG9yaWdpbnMpOwpAQCAtMTIzLDEyICsxMTUsMTIgQEAgdm9pZCBXZWJEYXRhYmFzZU1hbmFnZXI6
OmdldERhdGFiYXNlT3JpZwogICAgIFZlY3RvcjxTdHJpbmc+IGlkZW50aWZpZXJzKG51bU9yaWdp
bnMpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtT3JpZ2luczsgKytpKQogICAgICAg
ICBpZGVudGlmaWVyc1tpXSA9IG9yaWdpbnNbaV0tPmRhdGFiYXNlSWRlbnRpZmllcigpOwotICAg
IFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViRGF0
YWJhc2VNYW5hZ2VyUHJveHk6OkRpZEdldERhdGFiYXNlT3JpZ2lucyhpZGVudGlmaWVycywgY2Fs
bGJhY2tJRCksIDApOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViRGF0YWJhc2VN
YW5hZ2VyUHJveHk6OkRpZEdldERhdGFiYXNlT3JpZ2lucyhpZGVudGlmaWVycywgY2FsbGJhY2tJ
RCksIDApOwogfQogCiB2b2lkIFdlYkRhdGFiYXNlTWFuYWdlcjo6ZGVsZXRlRGF0YWJhc2VXaXRo
TmFtZUZvck9yaWdpbihjb25zdCBTdHJpbmcmIGRhdGFiYXNlSWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBvcmlnaW5JZGVudGlmaWVyKSBjb25zdAogewotICAgIFdlYlByb2Nlc3M6OkxvY2FsVGVy
bWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2FibGVyKFdlYlByb2Nlc3M6OnNoYXJlZCgp
KTsKKyAgICBDaGlsZFByb2Nlc3M6OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlv
bkRpc2FibGVyKCptX3Byb2Nlc3MpOwogCiAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBvcmln
aW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbURhdGFiYXNlSWRlbnRpZmllcihvcmlnaW5J
ZGVudGlmaWVyKTsKICAgICBpZiAoIW9yaWdpbikKQEAgLTEzOSw3ICsxMzEsNyBAQCB2b2lkIFdl
YkRhdGFiYXNlTWFuYWdlcjo6ZGVsZXRlRGF0YWJhc2VXCiAKIHZvaWQgV2ViRGF0YWJhc2VNYW5h
Z2VyOjpkZWxldGVEYXRhYmFzZXNGb3JPcmlnaW4oY29uc3QgU3RyaW5nJiBvcmlnaW5JZGVudGlm
aWVyKSBjb25zdAogewotICAgIFdlYlByb2Nlc3M6OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0
ZXJtaW5hdGlvbkRpc2FibGVyKFdlYlByb2Nlc3M6OnNoYXJlZCgpKTsKKyAgICBDaGlsZFByb2Nl
c3M6OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2FibGVyKCptX3Byb2Nl
c3MpOwogCiAgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBvcmlnaW4gPSBTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlRnJvbURhdGFiYXNlSWRlbnRpZmllcihvcmlnaW5JZGVudGlmaWVyKTsKICAgICBp
ZiAoIW9yaWdpbikKQEAgLTE1MCwxNCArMTQyLDE0IEBAIHZvaWQgV2ViRGF0YWJhc2VNYW5hZ2Vy
OjpkZWxldGVEYXRhYmFzZXMKIAogdm9pZCBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZUFsbERh
dGFiYXNlcygpIGNvbnN0CiB7Ci0gICAgV2ViUHJvY2Vzczo6TG9jYWxUZXJtaW5hdGlvbkRpc2Fi
bGVyIHRlcm1pbmF0aW9uRGlzYWJsZXIoV2ViUHJvY2Vzczo6c2hhcmVkKCkpOworICAgIENoaWxk
UHJvY2Vzczo6TG9jYWxUZXJtaW5hdGlvbkRpc2FibGVyIHRlcm1pbmF0aW9uRGlzYWJsZXIoKm1f
cHJvY2Vzcyk7CiAKICAgICBEYXRhYmFzZU1hbmFnZXI6Om1hbmFnZXIoKS5kZWxldGVBbGxEYXRh
YmFzZXMoKTsKIH0KIAogdm9pZCBXZWJEYXRhYmFzZU1hbmFnZXI6OnNldFF1b3RhRm9yT3JpZ2lu
KGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgdW5zaWduZWQgbG9uZyBsb25nIHF1b3Rh
KSBjb25zdAogewotICAgIFdlYlByb2Nlc3M6OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJt
aW5hdGlvbkRpc2FibGVyKFdlYlByb2Nlc3M6OnNoYXJlZCgpKTsKKyAgICBDaGlsZFByb2Nlc3M6
OkxvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2FibGVyKCptX3Byb2Nlc3Mp
OwogCiAgICAgLy8gSWYgdGhlIHF1b3RhIGlzIHNldCB0byBhIHZhbHVlIGxvd2VyIHRoYW4gdGhl
IGN1cnJlbnQgdXNhZ2UsIHRoYXQgcXVvdGEgd2lsbAogICAgIC8vICJzdGljayIgYnV0IG5vIGRh
dGEgd2lsbCBiZSBwdXJnZWQgdG8gbWVldCB0aGUgbmV3IHF1b3RhLiBUaGlzIHdpbGwgc2ltcGx5
CkBAIC0xNzMsMTMgKzE2NSwxMyBAQCB2b2lkIFdlYkRhdGFiYXNlTWFuYWdlcjo6c2V0UXVvdGFG
b3JPcmlnCiB2b2lkIFdlYkRhdGFiYXNlTWFuYWdlcjo6ZGlzcGF0Y2hEaWRNb2RpZnlPcmlnaW4o
U2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKIHsKICAgICAvLyBOT1RFOiBUaGlzIG1heSBiZSBjYWxs
ZWQgb24gYSBub24tbWFpbiB0aHJlYWQuCi0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVj
dGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJEYXRhYmFzZU1hbmFnZXJQcm94eTo6RGlkTW9kaWZ5
T3JpZ2luKG9yaWdpbi0+ZGF0YWJhc2VJZGVudGlmaWVyKCkpLCAwKTsKKyAgICBtX3Byb2Nlc3Mt
PnNlbmQoTWVzc2FnZXM6OldlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpEaWRNb2RpZnlPcmlnaW4o
b3JpZ2luLT5kYXRhYmFzZUlkZW50aWZpZXIoKSksIDApOwogfQogCiB2b2lkIFdlYkRhdGFiYXNl
TWFuYWdlcjo6ZGlzcGF0Y2hEaWRNb2RpZnlEYXRhYmFzZShXZWJDb3JlOjpTZWN1cml0eU9yaWdp
biogb3JpZ2luLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlSWRlbnRpZmllcikKIHsKICAgICAvLyBO
T1RFOiBUaGlzIG1heSBiZSBjYWxsZWQgb24gYSBub24tbWFpbiB0aHJlYWQuCi0gICAgV2ViUHJv
Y2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJEYXRhYmFzZU1h
bmFnZXJQcm94eTo6RGlkTW9kaWZ5RGF0YWJhc2Uob3JpZ2luLT5kYXRhYmFzZUlkZW50aWZpZXIo
KSwgZGF0YWJhc2VJZGVudGlmaWVyKSwgMCk7CisgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJEYXRhYmFzZU1hbmFnZXJQcm94eTo6RGlkTW9kaWZ5RGF0YWJhc2Uob3JpZ2luLT5kYXRh
YmFzZUlkZW50aWZpZXIoKSwgZGF0YWJhc2VJZGVudGlmaWVyKSwgMCk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJEYXRhYmFzZU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRhdGFiYXNlTWFuYWdlci5oCShyZXZpc2lvbiAx
Mzg0MjYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRh
dGFiYXNlTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwzNSArMjgsMjYgQEAKIAogI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAKLSNpbmNsdWRlICJBcmd1bWVudHMuaCIKKyNpbmNsdWRl
ICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RhdGFiYXNlTWFuYWdlckNs
aWVudC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBNZXNzYWdlRGVjb2Rl
cjsKLWNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBNZXNzYWdlSUQ7Ci19CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi1jbGFzcyBXZWJEYXRhYmFzZU1hbmFnZXIgOiBwdWJsaWMgV2ViQ29yZTo6RGF0
YWJhc2VNYW5hZ2VyQ2xpZW50IHsKK2NsYXNzIFdlYlByb2Nlc3M7CisKK2NsYXNzIFdlYkRhdGFi
YXNlTWFuYWdlciA6IHB1YmxpYyBXZWJDb3JlOjpEYXRhYmFzZU1hbmFnZXJDbGllbnQsIHByaXZh
dGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
ZWJEYXRhYmFzZU1hbmFnZXIpOwogcHVibGljOgotICAgIHN0YXRpYyBXZWJEYXRhYmFzZU1hbmFn
ZXImIHNoYXJlZCgpOworICAgIFdlYkRhdGFiYXNlTWFuYWdlcihXZWJQcm9jZXNzKik7CiAgICAg
c3RhdGljIHZvaWQgaW5pdGlhbGl6ZShjb25zdCBTdHJpbmcmIGRhdGFiYXNlRGlyZWN0b3J5KTsK
IAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJ
UEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIHNldFF1
b3RhRm9yT3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgdW5zaWduZWQgbG9u
ZyBsb25nIHF1b3RhKSBjb25zdDsKLQotcHVibGljOgogICAgIHZvaWQgZGVsZXRlQWxsRGF0YWJh
c2VzKCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgV2ViRGF0YWJhc2VNYW5hZ2VyKCk7Ci0gICAg
dmlydHVhbCB+V2ViRGF0YWJhc2VNYW5hZ2VyKCk7Ci0KKyAgICAvLyBDb3JlSVBDOjpNZXNzYWdl
UmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24q
LCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7
CiAgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYkRhdGFiYXNlTWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJEYXRhYmFzZU1hbmFnZXJNZXNz
YWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJik7CiAKQEAgLTY4LDYgKzU5LDggQEAgcHJpdmF0ZToKICAgICAvLyBXZWJD
b3JlOjpEYXRhYmFzZU1hbmFnZXJDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRN
b2RpZnlPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hEaWRNb2RpZnlEYXRhYmFzZShXZWJDb3JlOjpTZWN1cml0eU9yaWdp
biosIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VJZGVudGlmaWVyKSBPVkVSUklERTsKKworICAgIFdl
YlByb2Nlc3MqIG1fcHJvY2VzczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="197959"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>