<?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>100186</bug_id>
          
          <creation_ts>2012-10-23 20:31:44 -0700</creation_ts>
          <short_desc>Move a few more WebProcess sub-objects to be MessageReceivers</short_desc>
          <delta_ts>2012-10-24 10:22:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>philn</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>749274</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-23 20:31:44 -0700</bug_when>
    <thetext>Move a few more WebProcess sub-objects to be MessageReceivers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749275</commentid>
    <comment_count>1</comment_count>
      <attachid>170301</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-23 20:32:09 -0700</bug_when>
    <thetext>Created attachment 170301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749278</commentid>
    <comment_count>2</comment_count>
      <attachid>170301</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-10-23 20:39:34 -0700</bug_when>
    <thetext>Comment on attachment 170301
Patch

Attachment 170301 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14545048</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749282</commentid>
    <comment_count>3</comment_count>
      <attachid>170301</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-23 20:47:36 -0700</bug_when>
    <thetext>Comment on attachment 170301
Patch

Attachment 170301 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14555029</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749345</commentid>
    <comment_count>4</comment_count>
      <attachid>170314</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-23 22:14:22 -0700</bug_when>
    <thetext>Created attachment 170314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749352</commentid>
    <comment_count>5</comment_count>
      <attachid>170314</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-10-23 22:31:28 -0700</bug_when>
    <thetext>Comment on attachment 170314
Patch

Attachment 170314 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14559074</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749356</commentid>
    <comment_count>6</comment_count>
      <attachid>170314</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-10-23 22:35:19 -0700</bug_when>
    <thetext>Comment on attachment 170314
Patch

Attachment 170314 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/14555060</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749378</commentid>
    <comment_count>7</comment_count>
      <attachid>170322</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-23 23:09:58 -0700</bug_when>
    <thetext>Created attachment 170322
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749379</commentid>
    <comment_count>8</comment_count>
      <attachid>170323</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-23 23:14:23 -0700</bug_when>
    <thetext>Created attachment 170323
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749782</commentid>
    <comment_count>9</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-10-24 10:22:20 -0700</bug_when>
    <thetext>Committed r132366: &lt;http://trac.webkit.org/changeset/132366&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170301</attachid>
            <date>2012-10-23 20:32:09 -0700</date>
            <delta_ts>2012-10-23 22:14:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100186-20121023203053.patch</filename>
            <type>text/plain</type>
            <size>16659</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjI5NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTIzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBhIGZldyBtb3JlIFdlYlByb2Nl
c3Mgc3ViLW9iamVjdHMgdG8gYmUgTWVzc2FnZVJlY2VpdmVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTg2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0
dGVyeU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJCYXR0ZXJ5TWFuYWdlcjo6V2Vi
QmF0dGVyeU1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvQmF0dGVyeS9XZWJCYXR0ZXJ5
TWFuYWdlci5oOgorICAgICAgICAoV2ViQmF0dGVyeU1hbmFnZXIpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViSWNvbkRhdGFiYXNlUHJveHk6OldlYkljb25EYXRhYmFzZVByb3h5KToKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRh
dGFiYXNlUHJveHkuaDoKKyAgICAgICAgKFdlYkljb25EYXRhYmFzZVByb3h5KToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5ldHdvcmtJbmZvTWFuYWdlcjo6V2ViTmV0d29ya0luZm9NYW5hZ2Vy
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdl
ci5oOgorICAgICAgICAoV2ViTmV0d29ya0luZm9NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXIpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
Lmg6CisgICAgICAgIChXZWJOb3RpZmljYXRpb25NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNl
aXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6V2ViU291
cFJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVl
c3RNYW5hZ2VyLmg6CisgICAgICAgIChXZWJTb3VwUmVxdWVzdE1hbmFnZXIpOgorCiAyMDEyLTEw
LTIzICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3RvcCB1c2luZyBO
U0hvbWVEaXJlY3RvcnkoKSB0byBnZXQgdGhlIGhvbWUgZGlyZWN0b3J5LCBpdCBkb2Vzbid0IGFs
d2F5cyByZXR1cm4gd2hhdCB3ZSB3YW50CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY5MiwyNSArNjkyLDYgQEAg
dm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSQogICAgIH0KICNlbmRpZgog
Ci0jaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQ
Qzo6TWVzc2FnZUNsYXNzV2ViQmF0dGVyeU1hbmFnZXI+KCkpIHsKLSAgICAgICAgbV9iYXR0ZXJ5
TWFuYWdlci5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTkVUV09SS19J
TkZPKQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViTmV0d29y
a0luZm9NYW5hZ2VyPigpKSB7Ci0gICAgICAgIG1fbmV0d29ya0luZm9NYW5hZ2VyLmRpZFJlY2Vp
dmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0jZW5kaWYKLQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2Fn
ZUNsYXNzV2ViSWNvbkRhdGFiYXNlUHJveHk+KCkpIHsKLSAgICAgICAgbV9pY29uRGF0YWJhc2VQ
cm94eS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpN
ZXNzYWdlQ2xhc3NXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyPigpKSB7CiAgICAgICAgIFdlYktl
eVZhbHVlU3RvcmFnZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKQEAgLTcyMCwyNSArNzAx
LDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUkKICAgICAgICAg
V2ViTWVkaWFDYWNoZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAg
IGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViTm90aWZpY2F0aW9uTWFu
YWdlcj4oKSkgewotICAgICAgICBtX25vdGlmaWNhdGlvbk1hbmFnZXIuZGlkUmVjZWl2ZU1lc3Nh
Z2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSNlbmRpZgogICAgIAogICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNs
YXNzV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI+KCkpIHsKICAgICAgICAgV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJ
RCwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSNpZiBVU0UoU09VUCkKLSAg
ICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYlNvdXBSZXF1ZXN0TWFu
YWdlcj4oKSkgewotICAgICAgICBtX3NvdXBSZXF1ZXN0TWFuYWdlci5kaWRSZWNlaXZlTWVzc2Fn
ZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotI2VuZGlmCiAgICAgCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xh
c3NXZWJQYWdlR3JvdXBQcm94eT4oKSkgewogICAgICAgICB1aW50NjRfdCBwYWdlR3JvdXBJRCA9
IGRlY29kZXIuZGVzdGluYXRpb25JRCgpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9CYXR0ZXJ5L1dlYkJhdHRlcnlNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1hbmFnZXIuY3BwCShyZXZpc2lvbiAx
MzIyODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1h
bmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUo
QkFUVEVSWV9TVEFUVVMpCiAKKyNpbmNsdWRlICJXZWJCYXR0ZXJ5TWFuYWdlck1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViQmF0dGVyeU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
V2ViUGFnZS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKQEAgLTQyLDYgKzQzLDcgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiBXZWJCYXR0ZXJ5TWFuYWdlcjo6V2ViQmF0dGVyeU1hbmFnZXIoV2Vi
UHJvY2VzcyogcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogeworICAgIG1fcHJv
Y2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJCYXR0ZXJ5TWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogV2ViQmF0dGVyeU1hbmFnZXI6On5XZWJC
YXR0ZXJ5TWFuYWdlcigpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkv
V2ViQmF0dGVyeU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1hbmFnZXIuaAkocmV2aXNpb24gMTMyMjg0KQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9CYXR0ZXJ5L1dlYkJhdHRlcnlNYW5hZ2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDI0ICsyOCwxOSBAQAogCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVT
KQogCi0jaW5jbHVkZSAiTWVzc2FnZUlELmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgi
CiAjaW5jbHVkZSAiV2ViQmF0dGVyeVN0YXR1cy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVu
dENvZGVycy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKLW5hbWVzcGFj
ZSBDb3JlSVBDIHsKLWNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLX0K
LQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhZ2U7CiBjbGFzcyBXZWJQcm9jZXNz
OwogCi1jbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlciB7CitjbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlciA6
IHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXZWJCYXR0ZXJ5TWFuYWdlcik7CiAKIHB1YmxpYzoKQEAgLTU4LDkgKzUzLDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIGRpZENoYW5nZUJhdHRlcnlTdGF0dXMoY29uc3QgV1RGOjpBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgV2ViQmF0dGVyeVN0YXR1czo6RGF0YSYpOwogICAgIHZv
aWQgdXBkYXRlQmF0dGVyeVN0YXR1cyhjb25zdCBXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhJik7CiAK
LSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBD
OjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0KIHByaXZhdGU6CisgICAg
Ly8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpIE9WRVJSSURFOworCiAgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdl
YkJhdHRlcnlNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdl
YkJhdHRlcnlNYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVz
c2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRh
dGFiYXNlUHJveHkuY3BwCShyZXZpc2lvbiAxMzIyODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2VQcm94eS5oIgog
CiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgogI2lu
Y2x1ZGUgIldlYkljb25EYXRhYmFzZU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViSWNvbkRhdGFi
YXNlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpA
QCAtNDUsNiArNDUsNyBAQCBXZWJJY29uRGF0YWJhc2VQcm94eTo6V2ViSWNvbkRhdGFiYXNlUHJv
CiAgICAgOiBtX2lzRW5hYmxlZChmYWxzZSkKICAgICAsIG1fcHJvY2Vzcyhwcm9jZXNzKQogewor
ICAgIG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJJY29uRGF0YWJh
c2VQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogYm9vbCBXZWJJY29u
RGF0YWJhc2VQcm94eTo6aXNFbmFibGVkKCkgY29uc3QKQEAgLTYxLDcgKzYyLDYgQEAgdm9pZCBX
ZWJJY29uRGF0YWJhc2VQcm94eTo6c2V0RW5hYmxlZChibwogICAgIHNldEdsb2JhbEljb25EYXRh
YmFzZShlbmFibGVkID8gdGhpcyA6IDApOwogfQogCi0KIHZvaWQgV2ViSWNvbkRhdGFiYXNlUHJv
eHk6OnJldGFpbkljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCkKIHsKICAgICBt
X3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViSWNvbkRhdGFiYXNlOjpS
ZXRhaW5JY29uRm9yUGFnZVVSTChwYWdlVVJMKSwgMCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFz
ZVByb3h5LmgJKHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDMzICsyNywyNSBAQAogI2RlZmluZSBXZWJJY29uRGF0YWJhc2VQcm94eV9oCiAKICNpbmNsdWRl
ICJBUElPYmplY3QuaCIKLQorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvSWNvbkRhdGFiYXNlQmFzZS5oPgotCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIENvbm5l
Y3Rpb247Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLWNsYXNzIE1lc3NhZ2VJRDsKLX0KLQogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlByb2Nlc3M7CiAKLWNsYXNzIFdlYkljb25EYXRh
YmFzZVByb3h5IDogcHVibGljIFdlYkNvcmU6Okljb25EYXRhYmFzZUJhc2UgeworY2xhc3MgV2Vi
SWNvbkRhdGFiYXNlUHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6SWNvbkRhdGFiYXNlQmFzZSwgcHJp
dmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogcHVibGljOgogICAgIGV4cGxpY2l0IFdl
Ykljb25EYXRhYmFzZVByb3h5KFdlYlByb2Nlc3MqKTsKICAgICB2aXJ0dWFsIH5XZWJJY29uRGF0
YWJhc2VQcm94eSgpOwogCiAgICAgdmlydHVhbCBib29sIGlzRW5hYmxlZCgpIGNvbnN0OwogICAg
IHZvaWQgc2V0RW5hYmxlZChib29sKTsKLSAgICAKLSAgICAKKwogICAgIHZpcnR1YWwgdm9pZCBy
ZXRhaW5JY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVs
ZWFzZUljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRJ
Y29uVVJMRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKTsKQEAgLTY5LDEw
ICs2MSwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxvYWREZWNpc2lvbkZvckljb25V
UkwoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJY29uTG9hZERlY2lzaW9uQ2Fs
bGJhY2s+KTsKICAgICB2b2lkIHJlY2VpdmVkSWNvbkxvYWREZWNpc2lvbihpbnQgZGVjaXNpb24s
IHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZpcnR1YWwgdm9pZCBpY29uRGF0YUZvckljb25V
UkwoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJY29uRGF0YUNhbGxiYWNrPik7
Ci0gICAgICAgIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICAK
KwogcHJpdmF0ZToKKyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKKyAgICAvLyBJbXBsZW1lbnRl
ZCBpbiBnZW5lcmF0ZWQgV2ViSWNvbkRhdGFiYXNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAg
ICAgdm9pZCBkaWRSZWNlaXZlV2ViSWNvbkRhdGFiYXNlUHJveHlNZXNzYWdlKENvcmVJUEM6OkNv
bm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CiAgICAgCiAgICAgLy8gQ2FsbGJhY2tzIGZyb20gdGhlIFVJUHJvY2VzcwpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29ya0luZm8vV2Vi
TmV0d29ya0luZm9NYW5hZ2VyLmNwcAkocmV2aXNpb24gMTMyMjg0KQorKysgU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQog
CisjaW5jbHVkZSAiV2ViTmV0d29ya0luZm9NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKQEAgLTQyLDYgKzQzLDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBXZWJOZXR3b3JrSW5mb01hbmFnZXI6OldlYk5ldHdvcmtJbmZvTWFuYWdlcihXZWJQ
cm9jZXNzKiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7CisgICAgbV9wcm9j
ZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYk5ldHdvcmtJbmZvTWFuYWdlcjo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogV2ViTmV0d29ya0luZm9NYW5hZ2Vy
Ojp+V2ViTmV0d29ya0luZm9NYW5hZ2VyKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29ya0luZm8vV2ViTmV0d29ya0luZm9NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIu
aAkocmV2aXNpb24gMTMyMjg0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
SW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMjQgKzI4
LDE5IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQogCi0jaW5jbHVkZSAiTWVzc2FnZUlE
LmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViTmV0d29ya0luZm8uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0F0b21pY1N0cmluZy5oPgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBDb25uZWN0
aW9uOwotY2xhc3MgTWVzc2FnZURlY29kZXI7Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBXZWJQcm9jZXNzOwogY2xhc3MgV2ViUGFnZTsKIAotY2xhc3MgV2ViTmV0d29ya0luZm9N
YW5hZ2VyIHsKK2NsYXNzIFdlYk5ldHdvcmtJbmZvTWFuYWdlciA6IHByaXZhdGUgQ29yZUlQQzo6
TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJOZXR3b3JrSW5m
b01hbmFnZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYk5ldHdvcmtJbmZvTWFuYWdlcihX
ZWJQcm9jZXNzKik7CkBAIC01NiwxMCArNTEsMTAgQEAgcHVibGljOgogCiAgICAgZG91YmxlIGJh
bmR3aWR0aChXZWJQYWdlKikgY29uc3Q7CiAgICAgYm9vbCBtZXRlcmVkKFdlYlBhZ2UqKSBjb25z
dDsKLQotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLQogcHJpdmF0ZToK
KyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0
ZWQgV2ViTmV0d29ya0luZm9NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlk
UmVjZWl2ZVdlYk5ldHdvcmtJbmZvTWFuYWdlck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKIApJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAkocmV2aXNpb24gMTMyMjg0KQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAKICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1ZGUg
IldlYk5vdGlmaWNhdGlvbi5oIgorI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Rv
Y3VtZW50Lmg+CkBAIC01Nyw2ICs1OCw3IEBAIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZU5vdGlm
aWNhdGlvbklEKCkKIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIoV2ViUHJvY2VzcyogcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogeworICAg
IG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJOb3RpZmljYXRpb25N
YW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMpOwogfQogCiBXZWJOb3RpZmljYXRp
b25NYW5hZ2VyOjp+V2ViTm90aWZpY2F0aW9uTWFuYWdlcigpCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyLmgJKHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgV2ViTm90aWZpY2F0aW9uTWFuYWdlcl9o
CiAjZGVmaW5lIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJfaAogCi0jaW5jbHVkZSAiTWVzc2FnZUlE
LmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3Rp
ZmljYXRpb25DbGllbnQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgpAQCAtMzQsMTEgKzM0LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCi1uYW1lc3BhY2UgQ29yZUlQ
QyB7Ci1jbGFzcyBDb25uZWN0aW9uOwotY2xhc3MgTWVzc2FnZURlY29kZXI7Ci19Ci0KIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsKIGNsYXNzIFNlY3VyaXR5T3JpZ2lu
OwpAQCAtNDksNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYlBhZ2U7CiBj
bGFzcyBXZWJQcm9jZXNzOwogCi1jbGFzcyBXZWJOb3RpZmljYXRpb25NYW5hZ2VyIHsKK2NsYXNz
IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIgOiBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZl
ciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViTm90aWZpY2F0aW9uTWFuYWdlcik7CiBw
dWJsaWM6CiAgICAgZXhwbGljaXQgV2ViTm90aWZpY2F0aW9uTWFuYWdlcihXZWJQcm9jZXNzKik7
CkBAIC02Myw3ICs1OCw2IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIGNhbGxiYWNrIGNvbWVzIGZy
b20gV2ViQ29yZSwgbm90IG1lc3NhZ2VkIGZyb20gdGhlIFVJIHByb2Nlc3MuCiAgICAgdm9pZCBk
aWREZXN0cm95Tm90aWZpY2F0aW9uKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiosIFdlYlBhZ2UqKTsK
IAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJ
UEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFVw
ZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBib29s
IGFsbG93ZWQpOwogCiAgICAgLy8gTG9va3MgaW4gbG9jYWwgY2FjaGUgZm9yIHBlcm1pc3Npb24u
IElmIG5vdCBmb3VuZCwgcmV0dXJucyBEZWZhdWx0RGVuaWVkLgpAQCAtNzMsNiArNjcsOSBAQCBw
dWJsaWM6CiAgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSURGb3JUZXN0aW5nKFdlYkNvcmU6Ok5v
dGlmaWNhdGlvbiopOwogCiBwcml2YXRlOgorICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZl
cgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJ
UEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKKwogICAg
IC8vIEltcGxlbWVudGVkIGluIGdlbmVyYXRlZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYk5vdGlmaWNhdGlvbk1hbmFnZXJN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmNwcAkocmV2aXNpb24g
MTMyMjg0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0
TWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJX
ZWJLaXRTb3VwUmVxdWVzdElucHV0U3RyZWFtLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVz
c2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViU291cFJlcXVl
c3RNYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94
eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CkBAIC04MCw2ICs4MSw3IEBAIFdlYlNvdXBS
ZXF1ZXN0TWFuYWdlcjo6V2ViU291cFJlcXVlc3RNYW4KICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNz
KQogICAgICwgbV9zY2hlbWVzKGFkb3B0R1JlZihnX3B0cl9hcnJheV9uZXdfd2l0aF9mcmVlX2Z1
bmMoZ19mcmVlKSkpCiB7CisgICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2Fn
ZXM6OldlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsK
IH0KIAogV2ViU291cFJlcXVlc3RNYW5hZ2VyOjp+V2ViU291cFJlcXVlc3RNYW5hZ2VyKCkKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJl
cXVlc3RNYW5hZ2VyLmgJKHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjAs
NiArMjAsNyBAQAogI2lmbmRlZiBXZWJTb3VwUmVxdWVzdE1hbmFnZXJfaAogI2RlZmluZSBXZWJT
b3VwUmVxdWVzdE1hbmFnZXJfaAogCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CkBAIC0yOSwxOSArMzAsMTIgQEAKIHR5cGVkZWYgc3RydWN0IF9H
SW5wdXRTdHJlYW0gR0lucHV0U3RyZWFtOwogdHlwZWRlZiBzdHJ1Y3QgX0dTaW1wbGVBc3luY1Jl
c3VsdCBHU2ltcGxlQXN5bmNSZXN1bHQ7CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIENv
bm5lY3Rpb247Ci1jbGFzcyBEYXRhUmVmZXJlbmNlOwotY2xhc3MgTWVzc2FnZURlY29kZXI7Ci1j
bGFzcyBNZXNzYWdlSUQ7Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJQcm9j
ZXNzOwogc3RydWN0IFdlYlNvdXBSZXF1ZXN0QXN5bmNEYXRhOwogCi1jbGFzcyBXZWJTb3VwUmVx
dWVzdE1hbmFnZXIgeworY2xhc3MgV2ViU291cFJlcXVlc3RNYW5hZ2VyIDogcHJpdmF0ZSBDb3Jl
SVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvdXBS
ZXF1ZXN0TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2ViU291cFJlcXVlc3RNYW5h
Z2VyKFdlYlByb2Nlc3MqKTsKQEAgLTUwLDkgKzQ0LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
bmQoR1NpbXBsZUFzeW5jUmVzdWx0KiwgR0NhbmNlbGxhYmxlKik7CiAgICAgR0lucHV0U3RyZWFt
KiBmaW5pc2goR1NpbXBsZUFzeW5jUmVzdWx0Kik7CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJik7Ci0KIHByaXZhdGU6CisgICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2Vp
dmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29y
ZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOworCisg
ICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYlNvdXBSZXF1ZXN0TWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJTb3VwUmVxdWVzdE1hbmFnZXJN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJik7CiAKICAgICB2b2lkIHJlZ2lzdGVyVVJJU2NoZW1lKGNvbnN0IFN0
cmluZyYgc2NoZW1lKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170314</attachid>
            <date>2012-10-23 22:14:22 -0700</date>
            <delta_ts>2012-10-23 23:09:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100186-20121023221258.patch</filename>
            <type>text/plain</type>
            <size>16726</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjI5NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTIzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBhIGZldyBtb3JlIFdlYlByb2Nl
c3Mgc3ViLW9iamVjdHMgdG8gYmUgTWVzc2FnZVJlY2VpdmVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTg2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0
dGVyeU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJCYXR0ZXJ5TWFuYWdlcjo6V2Vi
QmF0dGVyeU1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvQmF0dGVyeS9XZWJCYXR0ZXJ5
TWFuYWdlci5oOgorICAgICAgICAoV2ViQmF0dGVyeU1hbmFnZXIpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViSWNvbkRhdGFiYXNlUHJveHk6OldlYkljb25EYXRhYmFzZVByb3h5KToKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRh
dGFiYXNlUHJveHkuaDoKKyAgICAgICAgKFdlYkljb25EYXRhYmFzZVByb3h5KToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5ldHdvcmtJbmZvTWFuYWdlcjo6V2ViTmV0d29ya0luZm9NYW5hZ2Vy
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdl
ci5oOgorICAgICAgICAoV2ViTmV0d29ya0luZm9NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXIpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
Lmg6CisgICAgICAgIChXZWJOb3RpZmljYXRpb25NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNl
aXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6V2ViU291
cFJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVl
c3RNYW5hZ2VyLmg6CisgICAgICAgIChXZWJTb3VwUmVxdWVzdE1hbmFnZXIpOgorCiAyMDEyLTEw
LTIzICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3RvcCB1c2luZyBO
U0hvbWVEaXJlY3RvcnkoKSB0byBnZXQgdGhlIGhvbWUgZGlyZWN0b3J5LCBpdCBkb2Vzbid0IGFs
d2F5cyByZXR1cm4gd2hhdCB3ZSB3YW50CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY5MiwyNSArNjkyLDYgQEAg
dm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSQogICAgIH0KICNlbmRpZgog
Ci0jaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQ
Qzo6TWVzc2FnZUNsYXNzV2ViQmF0dGVyeU1hbmFnZXI+KCkpIHsKLSAgICAgICAgbV9iYXR0ZXJ5
TWFuYWdlci5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTkVUV09SS19J
TkZPKQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViTmV0d29y
a0luZm9NYW5hZ2VyPigpKSB7Ci0gICAgICAgIG1fbmV0d29ya0luZm9NYW5hZ2VyLmRpZFJlY2Vp
dmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0jZW5kaWYKLQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2Fn
ZUNsYXNzV2ViSWNvbkRhdGFiYXNlUHJveHk+KCkpIHsKLSAgICAgICAgbV9pY29uRGF0YWJhc2VQ
cm94eS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpN
ZXNzYWdlQ2xhc3NXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyPigpKSB7CiAgICAgICAgIFdlYktl
eVZhbHVlU3RvcmFnZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKQEAgLTcyMCwyNSArNzAx
LDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUkKICAgICAgICAg
V2ViTWVkaWFDYWNoZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAg
IGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViTm90aWZpY2F0aW9uTWFu
YWdlcj4oKSkgewotICAgICAgICBtX25vdGlmaWNhdGlvbk1hbmFnZXIuZGlkUmVjZWl2ZU1lc3Nh
Z2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSNlbmRpZgogICAgIAogICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNs
YXNzV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI+KCkpIHsKICAgICAgICAgV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJ
RCwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSNpZiBVU0UoU09VUCkKLSAg
ICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYlNvdXBSZXF1ZXN0TWFu
YWdlcj4oKSkgewotICAgICAgICBtX3NvdXBSZXF1ZXN0TWFuYWdlci5kaWRSZWNlaXZlTWVzc2Fn
ZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotI2VuZGlmCiAgICAgCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xh
c3NXZWJQYWdlR3JvdXBQcm94eT4oKSkgewogICAgICAgICB1aW50NjRfdCBwYWdlR3JvdXBJRCA9
IGRlY29kZXIuZGVzdGluYXRpb25JRCgpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9CYXR0ZXJ5L1dlYkJhdHRlcnlNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1hbmFnZXIuY3BwCShyZXZpc2lvbiAx
MzIyODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1h
bmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUo
QkFUVEVSWV9TVEFUVVMpCiAKKyNpbmNsdWRlICJXZWJCYXR0ZXJ5TWFuYWdlck1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViQmF0dGVyeU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
V2ViUGFnZS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKQEAgLTQyLDYgKzQzLDcgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiBXZWJCYXR0ZXJ5TWFuYWdlcjo6V2ViQmF0dGVyeU1hbmFnZXIoV2Vi
UHJvY2VzcyogcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogeworICAgIG1fcHJv
Y2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJCYXR0ZXJ5TWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogV2ViQmF0dGVyeU1hbmFnZXI6On5XZWJC
YXR0ZXJ5TWFuYWdlcigpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkv
V2ViQmF0dGVyeU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1hbmFnZXIuaAkocmV2aXNpb24gMTMyMjg0KQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9CYXR0ZXJ5L1dlYkJhdHRlcnlNYW5hZ2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDI0ICsyOCwxOSBAQAogCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVT
KQogCi0jaW5jbHVkZSAiTWVzc2FnZUlELmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgi
CiAjaW5jbHVkZSAiV2ViQmF0dGVyeVN0YXR1cy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVu
dENvZGVycy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKLW5hbWVzcGFj
ZSBDb3JlSVBDIHsKLWNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLX0K
LQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhZ2U7CiBjbGFzcyBXZWJQcm9jZXNz
OwogCi1jbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlciB7CitjbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlciA6
IHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXZWJCYXR0ZXJ5TWFuYWdlcik7CiAKIHB1YmxpYzoKQEAgLTU4LDkgKzUzLDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIGRpZENoYW5nZUJhdHRlcnlTdGF0dXMoY29uc3QgV1RGOjpBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgV2ViQmF0dGVyeVN0YXR1czo6RGF0YSYpOwogICAgIHZv
aWQgdXBkYXRlQmF0dGVyeVN0YXR1cyhjb25zdCBXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhJik7CiAK
LSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBD
OjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0KIHByaXZhdGU6CisgICAg
Ly8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpIE9WRVJSSURFOworCiAgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdl
YkJhdHRlcnlNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdl
YkJhdHRlcnlNYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVz
c2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRh
dGFiYXNlUHJveHkuY3BwCShyZXZpc2lvbiAxMzIyODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2VQcm94eS5oIgog
CiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgogI2lu
Y2x1ZGUgIldlYkljb25EYXRhYmFzZU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViSWNvbkRhdGFi
YXNlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpA
QCAtNDUsNiArNDUsNyBAQCBXZWJJY29uRGF0YWJhc2VQcm94eTo6V2ViSWNvbkRhdGFiYXNlUHJv
CiAgICAgOiBtX2lzRW5hYmxlZChmYWxzZSkKICAgICAsIG1fcHJvY2Vzcyhwcm9jZXNzKQogewor
ICAgIG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJJY29uRGF0YWJh
c2VQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogYm9vbCBXZWJJY29u
RGF0YWJhc2VQcm94eTo6aXNFbmFibGVkKCkgY29uc3QKQEAgLTYxLDcgKzYyLDYgQEAgdm9pZCBX
ZWJJY29uRGF0YWJhc2VQcm94eTo6c2V0RW5hYmxlZChibwogICAgIHNldEdsb2JhbEljb25EYXRh
YmFzZShlbmFibGVkID8gdGhpcyA6IDApOwogfQogCi0KIHZvaWQgV2ViSWNvbkRhdGFiYXNlUHJv
eHk6OnJldGFpbkljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCkKIHsKICAgICBt
X3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViSWNvbkRhdGFiYXNlOjpS
ZXRhaW5JY29uRm9yUGFnZVVSTChwYWdlVVJMKSwgMCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFz
ZVByb3h5LmgJKHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDMzICsyNywyNSBAQAogI2RlZmluZSBXZWJJY29uRGF0YWJhc2VQcm94eV9oCiAKICNpbmNsdWRl
ICJBUElPYmplY3QuaCIKLQorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvSWNvbkRhdGFiYXNlQmFzZS5oPgotCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIENvbm5l
Y3Rpb247Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLWNsYXNzIE1lc3NhZ2VJRDsKLX0KLQogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlByb2Nlc3M7CiAKLWNsYXNzIFdlYkljb25EYXRh
YmFzZVByb3h5IDogcHVibGljIFdlYkNvcmU6Okljb25EYXRhYmFzZUJhc2UgeworY2xhc3MgV2Vi
SWNvbkRhdGFiYXNlUHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6SWNvbkRhdGFiYXNlQmFzZSwgcHJp
dmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogcHVibGljOgogICAgIGV4cGxpY2l0IFdl
Ykljb25EYXRhYmFzZVByb3h5KFdlYlByb2Nlc3MqKTsKICAgICB2aXJ0dWFsIH5XZWJJY29uRGF0
YWJhc2VQcm94eSgpOwogCiAgICAgdmlydHVhbCBib29sIGlzRW5hYmxlZCgpIGNvbnN0OwogICAg
IHZvaWQgc2V0RW5hYmxlZChib29sKTsKLSAgICAKLSAgICAKKwogICAgIHZpcnR1YWwgdm9pZCBy
ZXRhaW5JY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVs
ZWFzZUljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRJ
Y29uVVJMRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKTsKQEAgLTY5LDEw
ICs2MSwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxvYWREZWNpc2lvbkZvckljb25V
UkwoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJY29uTG9hZERlY2lzaW9uQ2Fs
bGJhY2s+KTsKICAgICB2b2lkIHJlY2VpdmVkSWNvbkxvYWREZWNpc2lvbihpbnQgZGVjaXNpb24s
IHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZpcnR1YWwgdm9pZCBpY29uRGF0YUZvckljb25V
UkwoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJY29uRGF0YUNhbGxiYWNrPik7
Ci0gICAgICAgIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICAK
KwogcHJpdmF0ZToKKyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKKyAgICAvLyBJbXBsZW1lbnRl
ZCBpbiBnZW5lcmF0ZWQgV2ViSWNvbkRhdGFiYXNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAg
ICAgdm9pZCBkaWRSZWNlaXZlV2ViSWNvbkRhdGFiYXNlUHJveHlNZXNzYWdlKENvcmVJUEM6OkNv
bm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CiAgICAgCiAgICAgLy8gQ2FsbGJhY2tzIGZyb20gdGhlIFVJUHJvY2VzcwpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29ya0luZm8vV2Vi
TmV0d29ya0luZm9NYW5hZ2VyLmNwcAkocmV2aXNpb24gMTMyMjg0KQorKysgU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQog
CisjaW5jbHVkZSAiV2ViTmV0d29ya0luZm9NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKQEAgLTQyLDYgKzQzLDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBXZWJOZXR3b3JrSW5mb01hbmFnZXI6OldlYk5ldHdvcmtJbmZvTWFuYWdlcihXZWJQ
cm9jZXNzKiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7CisgICAgbV9wcm9j
ZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYk5ldHdvcmtJbmZvTWFuYWdlcjo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogV2ViTmV0d29ya0luZm9NYW5hZ2Vy
Ojp+V2ViTmV0d29ya0luZm9NYW5hZ2VyKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29ya0luZm8vV2ViTmV0d29ya0luZm9NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIu
aAkocmV2aXNpb24gMTMyMjg0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
SW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMjQgKzI4
LDE5IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQogCi0jaW5jbHVkZSAiTWVzc2FnZUlE
LmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViTmV0d29ya0luZm8uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0F0b21pY1N0cmluZy5oPgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBDb25uZWN0
aW9uOwotY2xhc3MgTWVzc2FnZURlY29kZXI7Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBXZWJQcm9jZXNzOwogY2xhc3MgV2ViUGFnZTsKIAotY2xhc3MgV2ViTmV0d29ya0luZm9N
YW5hZ2VyIHsKK2NsYXNzIFdlYk5ldHdvcmtJbmZvTWFuYWdlciA6IHByaXZhdGUgQ29yZUlQQzo6
TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJOZXR3b3JrSW5m
b01hbmFnZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYk5ldHdvcmtJbmZvTWFuYWdlcihX
ZWJQcm9jZXNzKik7CkBAIC01NiwxMCArNTEsMTAgQEAgcHVibGljOgogCiAgICAgZG91YmxlIGJh
bmR3aWR0aChXZWJQYWdlKikgY29uc3Q7CiAgICAgYm9vbCBtZXRlcmVkKFdlYlBhZ2UqKSBjb25z
dDsKLQotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLQogcHJpdmF0ZToK
KyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0
ZWQgV2ViTmV0d29ya0luZm9NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlk
UmVjZWl2ZVdlYk5ldHdvcmtJbmZvTWFuYWdlck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKIApJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAkocmV2aXNpb24gMTMyMjg0KQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAKICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1ZGUg
IldlYk5vdGlmaWNhdGlvbi5oIgorI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Rv
Y3VtZW50Lmg+CkBAIC01Nyw2ICs1OCw5IEBAIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZU5vdGlm
aWNhdGlvbklEKCkKIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIoV2ViUHJvY2VzcyogcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogeworI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisg
ICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYk5vdGlmaWNhdGlv
bk1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgdGhpcyk7CisjZW5kaWYKIH0KIAogV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlcjo6fldlYk5vdGlmaWNhdGlvbk1hbmFnZXIoKQpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCShyZXZpc2lvbiAxMzIyODQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXJfaAogI2RlZmluZSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyX2gKIAotI2luY2x1ZGUg
Ik1lc3NhZ2VJRC5oIgorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvTm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTM0LDExICszNCw2IEBACiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAotbmFtZXNw
YWNlIENvcmVJUEMgewotY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNzIE1lc3NhZ2VEZWNvZGVyOwot
fQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBOb3RpZmljYXRpb247CiBjbGFzcyBTZWN1
cml0eU9yaWdpbjsKQEAgLTQ5LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBX
ZWJQYWdlOwogY2xhc3MgV2ViUHJvY2VzczsKIAotY2xhc3MgV2ViTm90aWZpY2F0aW9uTWFuYWdl
ciB7CitjbGFzcyBXZWJOb3RpZmljYXRpb25NYW5hZ2VyIDogcHJpdmF0ZSBDb3JlSVBDOjpNZXNz
YWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIoV2Vi
UHJvY2VzcyopOwpAQCAtNjMsNyArNTgsNiBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBjYWxsYmFj
ayBjb21lcyBmcm9tIFdlYkNvcmUsIG5vdCBtZXNzYWdlZCBmcm9tIHRoZSBVSSBwcm9jZXNzLgog
ICAgIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbihXZWJDb3JlOjpOb3RpZmljYXRpb24qLCBX
ZWJQYWdlKik7CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAg
dm9pZCBkaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihjb25zdCBTdHJpbmcmIG9yaWdpblN0
cmluZywgYm9vbCBhbGxvd2VkKTsKIAogICAgIC8vIExvb2tzIGluIGxvY2FsIGNhY2hlIGZvciBw
ZXJtaXNzaW9uLiBJZiBub3QgZm91bmQsIHJldHVybnMgRGVmYXVsdERlbmllZC4KQEAgLTczLDYg
KzY3LDkgQEAgcHVibGljOgogICAgIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklERm9yVGVzdGluZyhX
ZWJDb3JlOjpOb3RpZmljYXRpb24qKTsKIAogcHJpdmF0ZToKKyAgICAvLyBDb3JlSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJ
REU7CisKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViTm90aWZpY2F0aW9uTWFu
YWdlck1lc3NhZ2VSZWNlaXZlci5jcHAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJOb3RpZmljYXRp
b25NYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlE
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5jcHAJ
KHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJT
b3VwUmVxdWVzdE1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAj
aW5jbHVkZSAiV2ViS2l0U291cFJlcXVlc3RJbnB1dFN0cmVhbS5oIgogI2luY2x1ZGUgIldlYlBh
Z2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldl
YlNvdXBSZXF1ZXN0TWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViU291cFJlcXVlc3RN
YW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgpAQCAtODAsNiArODEsNyBA
QCBXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OldlYlNvdXBSZXF1ZXN0TWFuCiAgICAgOiBtX3Byb2Nl
c3MocHJvY2VzcykKICAgICAsIG1fc2NoZW1lcyhhZG9wdEdSZWYoZ19wdHJfYXJyYXlfbmV3X3dp
dGhfZnJlZV9mdW5jKGdfZnJlZSkpKQogeworICAgIG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpXZWJTb3VwUmVxdWVzdE1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgdGhpcyk7CiB9CiAKIFdlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6fldlYlNvdXBSZXF1ZXN0TWFu
YWdlcigpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVl
c3RNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3Vw
L1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5oCShyZXZpc2lvbiAxMzIyODQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5kZWYgV2ViU291cFJlcXVlc3RNYW5hZ2VyX2gKICNk
ZWZpbmUgV2ViU291cFJlcXVlc3RNYW5hZ2VyX2gKIAorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZl
ci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgpAQCAtMjksMTkgKzMwLDEyIEBACiB0eXBlZGVm
IHN0cnVjdCBfR0lucHV0U3RyZWFtIEdJbnB1dFN0cmVhbTsKIHR5cGVkZWYgc3RydWN0IF9HU2lt
cGxlQXN5bmNSZXN1bHQgR1NpbXBsZUFzeW5jUmVzdWx0OwogCi1uYW1lc3BhY2UgQ29yZUlQQyB7
Ci1jbGFzcyBDb25uZWN0aW9uOwotY2xhc3MgRGF0YVJlZmVyZW5jZTsKLWNsYXNzIE1lc3NhZ2VE
ZWNvZGVyOwotY2xhc3MgTWVzc2FnZUlEOwotfQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgV2ViUHJvY2VzczsKIHN0cnVjdCBXZWJTb3VwUmVxdWVzdEFzeW5jRGF0YTsKIAotY2xhc3Mg
V2ViU291cFJlcXVlc3RNYW5hZ2VyIHsKK2NsYXNzIFdlYlNvdXBSZXF1ZXN0TWFuYWdlciA6IHBy
aXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJTb3VwUmVxdWVzdE1hbmFnZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYlNvdXBS
ZXF1ZXN0TWFuYWdlcihXZWJQcm9jZXNzKik7CkBAIC01MCw5ICs0NCwxMSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZW5kKEdTaW1wbGVBc3luY1Jlc3VsdCosIEdDYW5jZWxsYWJsZSopOwogICAgIEdJ
bnB1dFN0cmVhbSogZmluaXNoKEdTaW1wbGVBc3luY1Jlc3VsdCopOwogCi0gICAgdm9pZCBkaWRS
ZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBD
b3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotCiBwcml2YXRlOgorICAgIC8vIENvcmVJUEM6Ok1l
c3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVj
dGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVS
UklERTsKKworICAgIC8vIEltcGxlbWVudGVkIGluIGdlbmVyYXRlZCBXZWJTb3VwUmVxdWVzdE1h
bmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViU291cFJlcXVl
c3RNYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlE
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCiAgICAgdm9pZCByZWdpc3RlclVSSVNjaGVt
ZShjb25zdCBTdHJpbmcmIHNjaGVtZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170322</attachid>
            <date>2012-10-23 23:09:58 -0700</date>
            <delta_ts>2012-10-23 23:14:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100186-20121023230834.patch</filename>
            <type>text/plain</type>
            <size>16754</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjI5NSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTIzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBhIGZldyBtb3JlIFdlYlByb2Nl
c3Mgc3ViLW9iamVjdHMgdG8gYmUgTWVzc2FnZVJlY2VpdmVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTg2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0
dGVyeU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJCYXR0ZXJ5TWFuYWdlcjo6V2Vi
QmF0dGVyeU1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvQmF0dGVyeS9XZWJCYXR0ZXJ5
TWFuYWdlci5oOgorICAgICAgICAoV2ViQmF0dGVyeU1hbmFnZXIpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViSWNvbkRhdGFiYXNlUHJveHk6OldlYkljb25EYXRhYmFzZVByb3h5KToKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRh
dGFiYXNlUHJveHkuaDoKKyAgICAgICAgKFdlYkljb25EYXRhYmFzZVByb3h5KToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5ldHdvcmtJbmZvTWFuYWdlcjo6V2ViTmV0d29ya0luZm9NYW5hZ2Vy
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdl
ci5oOgorICAgICAgICAoV2ViTmV0d29ya0luZm9NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXIpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
Lmg6CisgICAgICAgIChXZWJOb3RpZmljYXRpb25NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNl
aXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6V2ViU291
cFJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVl
c3RNYW5hZ2VyLmg6CisgICAgICAgIChXZWJTb3VwUmVxdWVzdE1hbmFnZXIpOgorCiAyMDEyLTEw
LTIzICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3RvcCB1c2luZyBO
U0hvbWVEaXJlY3RvcnkoKSB0byBnZXQgdGhlIGhvbWUgZGlyZWN0b3J5LCBpdCBkb2Vzbid0IGFs
d2F5cyByZXR1cm4gd2hhdCB3ZSB3YW50CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY5MiwyNSArNjkyLDYgQEAg
dm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSQogICAgIH0KICNlbmRpZgog
Ci0jaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVTKQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQ
Qzo6TWVzc2FnZUNsYXNzV2ViQmF0dGVyeU1hbmFnZXI+KCkpIHsKLSAgICAgICAgbV9iYXR0ZXJ5
TWFuYWdlci5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoTkVUV09SS19J
TkZPKQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViTmV0d29y
a0luZm9NYW5hZ2VyPigpKSB7Ci0gICAgICAgIG1fbmV0d29ya0luZm9NYW5hZ2VyLmRpZFJlY2Vp
dmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0jZW5kaWYKLQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2Fn
ZUNsYXNzV2ViSWNvbkRhdGFiYXNlUHJveHk+KCkpIHsKLSAgICAgICAgbV9pY29uRGF0YWJhc2VQ
cm94eS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpN
ZXNzYWdlQ2xhc3NXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyPigpKSB7CiAgICAgICAgIFdlYktl
eVZhbHVlU3RvcmFnZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKQEAgLTcyMCwyNSArNzAx
LDExIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUkKICAgICAgICAg
V2ViTWVkaWFDYWNoZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSNpZiBF
TkFCTEUoTk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQotICAg
IGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViTm90aWZpY2F0aW9uTWFu
YWdlcj4oKSkgewotICAgICAgICBtX25vdGlmaWNhdGlvbk1hbmFnZXIuZGlkUmVjZWl2ZU1lc3Nh
Z2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLSNlbmRpZgogICAgIAogICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNs
YXNzV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXI+KCkpIHsKICAgICAgICAgV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXI6OnNoYXJlZCgpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJ
RCwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0KLSNpZiBVU0UoU09VUCkKLSAg
ICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYlNvdXBSZXF1ZXN0TWFu
YWdlcj4oKSkgewotICAgICAgICBtX3NvdXBSZXF1ZXN0TWFuYWdlci5kaWRSZWNlaXZlTWVzc2Fn
ZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotI2VuZGlmCiAgICAgCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xh
c3NXZWJQYWdlR3JvdXBQcm94eT4oKSkgewogICAgICAgICB1aW50NjRfdCBwYWdlR3JvdXBJRCA9
IGRlY29kZXIuZGVzdGluYXRpb25JRCgpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9CYXR0ZXJ5L1dlYkJhdHRlcnlNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1hbmFnZXIuY3BwCShyZXZpc2lvbiAx
MzIyODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1h
bmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUo
QkFUVEVSWV9TVEFUVVMpCiAKKyNpbmNsdWRlICJXZWJCYXR0ZXJ5TWFuYWdlck1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViQmF0dGVyeU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
V2ViUGFnZS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKQEAgLTQyLDYgKzQzLDcgQEAgbmFt
ZXNwYWNlIFdlYktpdCB7CiBXZWJCYXR0ZXJ5TWFuYWdlcjo6V2ViQmF0dGVyeU1hbmFnZXIoV2Vi
UHJvY2VzcyogcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogeworICAgIG1fcHJv
Y2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJCYXR0ZXJ5TWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogV2ViQmF0dGVyeU1hbmFnZXI6On5XZWJC
YXR0ZXJ5TWFuYWdlcigpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkv
V2ViQmF0dGVyeU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1hbmFnZXIuaAkocmV2aXNpb24gMTMyMjg0KQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9CYXR0ZXJ5L1dlYkJhdHRlcnlNYW5hZ2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDI0ICsyOCwxOSBAQAogCiAjaWYgRU5BQkxFKEJBVFRFUllfU1RBVFVT
KQogCi0jaW5jbHVkZSAiTWVzc2FnZUlELmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgi
CiAjaW5jbHVkZSAiV2ViQmF0dGVyeVN0YXR1cy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVu
dENvZGVycy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKLW5hbWVzcGFj
ZSBDb3JlSVBDIHsKLWNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLX0K
LQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhZ2U7CiBjbGFzcyBXZWJQcm9jZXNz
OwogCi1jbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlciB7CitjbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlciA6
IHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXZWJCYXR0ZXJ5TWFuYWdlcik7CiAKIHB1YmxpYzoKQEAgLTU4LDkgKzUzLDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIGRpZENoYW5nZUJhdHRlcnlTdGF0dXMoY29uc3QgV1RGOjpBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgV2ViQmF0dGVyeVN0YXR1czo6RGF0YSYpOwogICAgIHZv
aWQgdXBkYXRlQmF0dGVyeVN0YXR1cyhjb25zdCBXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhJik7CiAK
LSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBD
OjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0KIHByaXZhdGU6CisgICAg
Ly8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpIE9WRVJSSURFOworCiAgICAgLy8gSW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdl
YkJhdHRlcnlNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdl
YkJhdHRlcnlNYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVz
c2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRh
dGFiYXNlUHJveHkuY3BwCShyZXZpc2lvbiAxMzIyODQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2VQcm94eS5oIgog
CiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgotI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgogI2lu
Y2x1ZGUgIldlYkljb25EYXRhYmFzZU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViSWNvbkRhdGFi
YXNlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpA
QCAtNDUsNiArNDUsNyBAQCBXZWJJY29uRGF0YWJhc2VQcm94eTo6V2ViSWNvbkRhdGFiYXNlUHJv
CiAgICAgOiBtX2lzRW5hYmxlZChmYWxzZSkKICAgICAsIG1fcHJvY2Vzcyhwcm9jZXNzKQogewor
ICAgIG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJJY29uRGF0YWJh
c2VQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogYm9vbCBXZWJJY29u
RGF0YWJhc2VQcm94eTo6aXNFbmFibGVkKCkgY29uc3QKQEAgLTYxLDcgKzYyLDYgQEAgdm9pZCBX
ZWJJY29uRGF0YWJhc2VQcm94eTo6c2V0RW5hYmxlZChibwogICAgIHNldEdsb2JhbEljb25EYXRh
YmFzZShlbmFibGVkID8gdGhpcyA6IDApOwogfQogCi0KIHZvaWQgV2ViSWNvbkRhdGFiYXNlUHJv
eHk6OnJldGFpbkljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCkKIHsKICAgICBt
X3Byb2Nlc3MtPmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViSWNvbkRhdGFiYXNlOjpS
ZXRhaW5JY29uRm9yUGFnZVVSTChwYWdlVVJMKSwgMCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFz
ZVByb3h5LmgJKHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDMzICsyNywyNSBAQAogI2RlZmluZSBXZWJJY29uRGF0YWJhc2VQcm94eV9oCiAKICNpbmNsdWRl
ICJBUElPYmplY3QuaCIKLQorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvSWNvbkRhdGFiYXNlQmFzZS5oPgotCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIENvbm5l
Y3Rpb247Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLWNsYXNzIE1lc3NhZ2VJRDsKLX0KLQogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlByb2Nlc3M7CiAKLWNsYXNzIFdlYkljb25EYXRh
YmFzZVByb3h5IDogcHVibGljIFdlYkNvcmU6Okljb25EYXRhYmFzZUJhc2UgeworY2xhc3MgV2Vi
SWNvbkRhdGFiYXNlUHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6SWNvbkRhdGFiYXNlQmFzZSwgcHJp
dmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogcHVibGljOgogICAgIGV4cGxpY2l0IFdl
Ykljb25EYXRhYmFzZVByb3h5KFdlYlByb2Nlc3MqKTsKICAgICB2aXJ0dWFsIH5XZWJJY29uRGF0
YWJhc2VQcm94eSgpOwogCiAgICAgdmlydHVhbCBib29sIGlzRW5hYmxlZCgpIGNvbnN0OwogICAg
IHZvaWQgc2V0RW5hYmxlZChib29sKTsKLSAgICAKLSAgICAKKwogICAgIHZpcnR1YWwgdm9pZCBy
ZXRhaW5JY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVs
ZWFzZUljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRJ
Y29uVVJMRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKTsKQEAgLTY5LDEw
ICs2MSwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxvYWREZWNpc2lvbkZvckljb25V
UkwoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJY29uTG9hZERlY2lzaW9uQ2Fs
bGJhY2s+KTsKICAgICB2b2lkIHJlY2VpdmVkSWNvbkxvYWREZWNpc2lvbihpbnQgZGVjaXNpb24s
IHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZpcnR1YWwgdm9pZCBpY29uRGF0YUZvckljb25V
UkwoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJY29uRGF0YUNhbGxiYWNrPik7
Ci0gICAgICAgIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLSAgICAK
KwogcHJpdmF0ZToKKyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKKyAgICAvLyBJbXBsZW1lbnRl
ZCBpbiBnZW5lcmF0ZWQgV2ViSWNvbkRhdGFiYXNlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiAg
ICAgdm9pZCBkaWRSZWNlaXZlV2ViSWNvbkRhdGFiYXNlUHJveHlNZXNzYWdlKENvcmVJUEM6OkNv
bm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7
CiAgICAgCiAgICAgLy8gQ2FsbGJhY2tzIGZyb20gdGhlIFVJUHJvY2VzcwpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29ya0luZm8vV2Vi
TmV0d29ya0luZm9NYW5hZ2VyLmNwcAkocmV2aXNpb24gMTMyMjg0KQorKysgU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQog
CisjaW5jbHVkZSAiV2ViTmV0d29ya0luZm9NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKQEAgLTQyLDYgKzQzLDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBXZWJOZXR3b3JrSW5mb01hbmFnZXI6OldlYk5ldHdvcmtJbmZvTWFuYWdlcihXZWJQ
cm9jZXNzKiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7CisgICAgbV9wcm9j
ZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYk5ldHdvcmtJbmZvTWFuYWdlcjo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKIH0KIAogV2ViTmV0d29ya0luZm9NYW5hZ2Vy
Ojp+V2ViTmV0d29ya0luZm9NYW5hZ2VyKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29ya0luZm8vV2ViTmV0d29ya0luZm9NYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIu
aAkocmV2aXNpb24gMTMyMjg0KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
SW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMjQgKzI4
LDE5IEBACiAKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQogCi0jaW5jbHVkZSAiTWVzc2FnZUlE
LmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViTmV0d29ya0luZm8uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0F0b21pY1N0cmluZy5oPgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBDb25uZWN0
aW9uOwotY2xhc3MgTWVzc2FnZURlY29kZXI7Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBXZWJQcm9jZXNzOwogY2xhc3MgV2ViUGFnZTsKIAotY2xhc3MgV2ViTmV0d29ya0luZm9N
YW5hZ2VyIHsKK2NsYXNzIFdlYk5ldHdvcmtJbmZvTWFuYWdlciA6IHByaXZhdGUgQ29yZUlQQzo6
TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJOZXR3b3JrSW5m
b01hbmFnZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYk5ldHdvcmtJbmZvTWFuYWdlcihX
ZWJQcm9jZXNzKik7CkBAIC01NiwxMCArNTEsMTAgQEAgcHVibGljOgogCiAgICAgZG91YmxlIGJh
bmR3aWR0aChXZWJQYWdlKikgY29uc3Q7CiAgICAgYm9vbCBtZXRlcmVkKFdlYlBhZ2UqKSBjb25z
dDsKLQotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLQogcHJpdmF0ZToK
KyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0
ZWQgV2ViTmV0d29ya0luZm9NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlk
UmVjZWl2ZVdlYk5ldHdvcmtJbmZvTWFuYWdlck1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKIApJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcAkocmV2aXNpb24gMTMyMjg0KQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAKICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykgfHwgRU5BQkxFKExFR0FDWV9OT1RJRklDQVRJT05TKQogI2luY2x1ZGUg
IldlYk5vdGlmaWNhdGlvbi5oIgorI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Rv
Y3VtZW50Lmg+CkBAIC01Nyw2ICs1OCw5IEBAIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZU5vdGlm
aWNhdGlvbklEKCkKIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIoV2ViUHJvY2VzcyogcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogeworI2lm
IEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCisg
ICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYk5vdGlmaWNhdGlv
bk1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgdGhpcyk7CisjZW5kaWYKIH0KIAogV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlcjo6fldlYk5vdGlmaWNhdGlvbk1hbmFnZXIoKQpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oCShyZXZpc2lvbiAxMzIyODQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXJfaAogI2RlZmluZSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyX2gKIAotI2luY2x1ZGUg
Ik1lc3NhZ2VJRC5oIgorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvTm90aWZpY2F0aW9uQ2xpZW50Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTM0LDExICszNCw2IEBACiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAotbmFtZXNw
YWNlIENvcmVJUEMgewotY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNzIE1lc3NhZ2VEZWNvZGVyOwot
fQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBOb3RpZmljYXRpb247CiBjbGFzcyBTZWN1
cml0eU9yaWdpbjsKQEAgLTQ5LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBX
ZWJQYWdlOwogY2xhc3MgV2ViUHJvY2VzczsKIAotY2xhc3MgV2ViTm90aWZpY2F0aW9uTWFuYWdl
ciB7CitjbGFzcyBXZWJOb3RpZmljYXRpb25NYW5hZ2VyIDogcHJpdmF0ZSBDb3JlSVBDOjpNZXNz
YWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIoV2Vi
UHJvY2VzcyopOwpAQCAtNjMsNyArNTgsNiBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBjYWxsYmFj
ayBjb21lcyBmcm9tIFdlYkNvcmUsIG5vdCBtZXNzYWdlZCBmcm9tIHRoZSBVSSBwcm9jZXNzLgog
ICAgIHZvaWQgZGlkRGVzdHJveU5vdGlmaWNhdGlvbihXZWJDb3JlOjpOb3RpZmljYXRpb24qLCBX
ZWJQYWdlKik7CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAg
dm9pZCBkaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihjb25zdCBTdHJpbmcmIG9yaWdpblN0
cmluZywgYm9vbCBhbGxvd2VkKTsKIAogICAgIC8vIExvb2tzIGluIGxvY2FsIGNhY2hlIGZvciBw
ZXJtaXNzaW9uLiBJZiBub3QgZm91bmQsIHJldHVybnMgRGVmYXVsdERlbmllZC4KQEAgLTczLDYg
KzY3LDkgQEAgcHVibGljOgogICAgIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklERm9yVGVzdGluZyhX
ZWJDb3JlOjpOb3RpZmljYXRpb24qKTsKIAogcHJpdmF0ZToKKyAgICAvLyBDb3JlSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rp
b24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJ
REU7CisKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViTm90aWZpY2F0aW9uTWFu
YWdlck1lc3NhZ2VSZWNlaXZlci5jcHAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJOb3RpZmljYXRp
b25NYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlE
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5jcHAJ
KHJldmlzaW9uIDEzMjI4NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJT
b3VwUmVxdWVzdE1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAj
aW5jbHVkZSAiV2ViS2l0U291cFJlcXVlc3RJbnB1dFN0cmVhbS5oIgogI2luY2x1ZGUgIldlYlBh
Z2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldl
YlNvdXBSZXF1ZXN0TWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViU291cFJlcXVlc3RN
YW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgpAQCAtODAsNiArODEsNyBA
QCBXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OldlYlNvdXBSZXF1ZXN0TWFuCiAgICAgOiBtX3Byb2Nl
c3MocHJvY2VzcykKICAgICAsIG1fc2NoZW1lcyhhZG9wdEdSZWYoZ19wdHJfYXJyYXlfbmV3X3dp
dGhfZnJlZV9mdW5jKGdfZnJlZSkpKQogeworICAgIG1fcHJvY2Vzcy0+YWRkTWVzc2FnZVJlY2Vp
dmVyKE1lc3NhZ2VzOjpXZWJTb3VwUmVxdWVzdE1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgdGhpcyk7CiB9CiAKIFdlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6fldlYlNvdXBSZXF1ZXN0TWFu
YWdlcigpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVl
c3RNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3Vw
L1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5oCShyZXZpc2lvbiAxMzIyODQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIwLDYgKzIwLDggQEAKICNpZm5kZWYgV2ViU291cFJlcXVlc3RNYW5hZ2VyX2gKICNk
ZWZpbmUgV2ViU291cFJlcXVlc3RNYW5hZ2VyX2gKIAorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
QEAgLTI5LDE5ICszMSwxMiBAQAogdHlwZWRlZiBzdHJ1Y3QgX0dJbnB1dFN0cmVhbSBHSW5wdXRT
dHJlYW07CiB0eXBlZGVmIHN0cnVjdCBfR1NpbXBsZUFzeW5jUmVzdWx0IEdTaW1wbGVBc3luY1Jl
c3VsdDsKIAotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNzIERh
dGFSZWZlcmVuY2U7Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLWNsYXNzIE1lc3NhZ2VJRDsKLX0K
LQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlByb2Nlc3M7CiBzdHJ1Y3QgV2ViU291
cFJlcXVlc3RBc3luY0RhdGE7CiAKLWNsYXNzIFdlYlNvdXBSZXF1ZXN0TWFuYWdlciB7CitjbGFz
cyBXZWJTb3VwUmVxdWVzdE1hbmFnZXIgOiBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZl
ciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU291cFJlcXVlc3RNYW5hZ2VyKTsKIHB1
YmxpYzoKICAgICBleHBsaWNpdCBXZWJTb3VwUmVxdWVzdE1hbmFnZXIoV2ViUHJvY2VzcyopOwpA
QCAtNTAsOSArNDUsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2VuZChHU2ltcGxlQXN5bmNSZXN1
bHQqLCBHQ2FuY2VsbGFibGUqKTsKICAgICBHSW5wdXRTdHJlYW0qIGZpbmlzaChHU2ltcGxlQXN5
bmNSZXN1bHQqKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVj
dGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLQog
cHJpdmF0ZToKKyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKKyAgICAvLyBJbXBsZW1lbnRlZCBp
biBnZW5lcmF0ZWQgV2ViU291cFJlcXVlc3RNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogICAg
IHZvaWQgZGlkUmVjZWl2ZVdlYlNvdXBSZXF1ZXN0TWFuYWdlck1lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsK
IAogICAgIHZvaWQgcmVnaXN0ZXJVUklTY2hlbWUoY29uc3QgU3RyaW5nJiBzY2hlbWUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170323</attachid>
            <date>2012-10-23 23:14:23 -0700</date>
            <delta_ts>2012-10-24 10:21:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100186-20121023231259.patch</filename>
            <type>text/plain</type>
            <size>16759</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjMxMSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTIzICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBhIGZldyBtb3JlIFdlYlByb2Nl
c3Mgc3ViLW9iamVjdHMgdG8gYmUgTWVzc2FnZVJlY2VpdmVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTg2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0
dGVyeU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJCYXR0ZXJ5TWFuYWdlcjo6V2Vi
QmF0dGVyeU1hbmFnZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvQmF0dGVyeS9XZWJCYXR0ZXJ5
TWFuYWdlci5oOgorICAgICAgICAoV2ViQmF0dGVyeU1hbmFnZXIpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViSWNvbkRhdGFiYXNlUHJveHk6OldlYkljb25EYXRhYmFzZVByb3h5KToKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRh
dGFiYXNlUHJveHkuaDoKKyAgICAgICAgKFdlYkljb25EYXRhYmFzZVByb3h5KToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5ldHdvcmtJbmZvTWFuYWdlcjo6V2ViTmV0d29ya0luZm9NYW5hZ2Vy
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdl
ci5oOgorICAgICAgICAoV2ViTmV0d29ya0luZm9NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXIpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
Lmg6CisgICAgICAgIChXZWJOb3RpZmljYXRpb25NYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNl
aXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFu
YWdlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6V2ViU291
cFJlcXVlc3RNYW5hZ2VyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVl
c3RNYW5hZ2VyLmg6CisgICAgICAgIChXZWJTb3VwUmVxdWVzdE1hbmFnZXIpOgorCiAyMDEyLTEw
LTIzICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0MiBw
YXJ0IG9mIDxyZGFyOi8vcHJvYmxlbS8yOTY2OTc0PiBbbWFjXSBLZXJuaW5nIGFuZCBsaWdhdHVy
ZXMgYXJlIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMTMyMzExKQorKysgU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjkyLDI1ICs2OTIs
NiBAQCB2b2lkIFdlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJCiAgICAgfQogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoQkFUVEVSWV9TVEFUVVMpCi0gICAgaWYgKG1lc3NhZ2VJRC5pczxD
b3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJCYXR0ZXJ5TWFuYWdlcj4oKSkgewotICAgICAgICBtX2Jh
dHRlcnlNYW5hZ2VyLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVj
b2Rlcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShORVRX
T1JLX0lORk8pCi0gICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJO
ZXR3b3JrSW5mb01hbmFnZXI+KCkpIHsKLSAgICAgICAgbV9uZXR3b3JrSW5mb01hbmFnZXIuZGlk
UmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSNlbmRpZgotCi0gICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpN
ZXNzYWdlQ2xhc3NXZWJJY29uRGF0YWJhc2VQcm94eT4oKSkgewotICAgICAgICBtX2ljb25EYXRh
YmFzZVByb3h5LmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rl
cik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJ
UEM6Ok1lc3NhZ2VDbGFzc1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI+KCkpIHsKICAgICAgICAg
V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29u
bmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNzIwLDI1
ICs3MDEsMTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSQogICAg
ICAgICBXZWJNZWRpYUNhY2hlTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29u
bmVjdGlvbiwgbWVzc2FnZUlELCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQot
I2lmIEVOQUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMp
Ci0gICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJOb3RpZmljYXRp
b25NYW5hZ2VyPigpKSB7Ci0gICAgICAgIG1fbm90aWZpY2F0aW9uTWFuYWdlci5kaWRSZWNlaXZl
TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGRlY29kZXIpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotI2VuZGlmCiAgICAgCiAgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNz
YWdlQ2xhc3NXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcj4oKSkgewogICAgICAgICBXZWJSZXNvdXJj
ZUNhY2hlTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVz
c2FnZUlELCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQotI2lmIFVTRShTT1VQ
KQotICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViU291cFJlcXVl
c3RNYW5hZ2VyPigpKSB7Ci0gICAgICAgIG1fc291cFJlcXVlc3RNYW5hZ2VyLmRpZFJlY2VpdmVN
ZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgZGVjb2Rlcik7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0jZW5kaWYKICAgICAKICAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3Nh
Z2VDbGFzc1dlYlBhZ2VHcm91cFByb3h5PigpKSB7CiAgICAgICAgIHVpbnQ2NF90IHBhZ2VHcm91
cElEID0gZGVjb2Rlci5kZXN0aW5hdGlvbklEKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvQmF0dGVyeS9XZWJCYXR0ZXJ5TWFuYWdlci5jcHAJKHJldmlz
aW9uIDEzMjMxMSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQmF0dGVyeS9XZWJCYXR0
ZXJ5TWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVO
QUJMRShCQVRURVJZX1NUQVRVUykKIAorI2luY2x1ZGUgIldlYkJhdHRlcnlNYW5hZ2VyTWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJXZWJCYXR0ZXJ5TWFuYWdlclByb3h5TWVzc2FnZXMuaCIKICNpbmNs
dWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgpAQCAtNDIsNiArNDMsNyBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIFdlYkJhdHRlcnlNYW5hZ2VyOjpXZWJCYXR0ZXJ5TWFuYWdl
cihXZWJQcm9jZXNzKiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7CisgICAg
bV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkJhdHRlcnlNYW5hZ2Vy
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMpOwogfQogCiBXZWJCYXR0ZXJ5TWFuYWdlcjo6
fldlYkJhdHRlcnlNYW5hZ2VyKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQmF0
dGVyeS9XZWJCYXR0ZXJ5TWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvQmF0dGVyeS9XZWJCYXR0ZXJ5TWFuYWdlci5oCShyZXZpc2lvbiAxMzIzMTEpCisr
KyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1hbmFnZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMjgsMjQgKzI4LDE5IEBACiAKICNpZiBFTkFCTEUoQkFUVEVSWV9T
VEFUVVMpCiAKLSNpbmNsdWRlICJNZXNzYWdlSUQuaCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2
ZXIuaCIKICNpbmNsdWRlICJXZWJCYXR0ZXJ5U3RhdHVzLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAotbmFt
ZXNwYWNlIENvcmVJUEMgewotY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNzIE1lc3NhZ2VEZWNvZGVy
OwotfQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZTsKIGNsYXNzIFdlYlBy
b2Nlc3M7CiAKLWNsYXNzIFdlYkJhdHRlcnlNYW5hZ2VyIHsKK2NsYXNzIFdlYkJhdHRlcnlNYW5h
Z2VyIDogcHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYkJhdHRlcnlNYW5hZ2VyKTsKIAogcHVibGljOgpAQCAtNTgsOSArNTMsMTAg
QEAgcHVibGljOgogICAgIHZvaWQgZGlkQ2hhbmdlQmF0dGVyeVN0YXR1cyhjb25zdCBXVEY6OkF0
b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhJik7CiAg
ICAgdm9pZCB1cGRhdGVCYXR0ZXJ5U3RhdHVzKGNvbnN0IFdlYkJhdHRlcnlTdGF0dXM6OkRhdGEm
KTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKLQogcHJpdmF0ZToK
KyAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisKICAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0
ZWQgV2ViQmF0dGVyeU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9pZCBkaWRSZWNl
aXZlV2ViQmF0dGVyeU1hbmFnZXJNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBD
OjpNZXNzYWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJ
Y29uRGF0YWJhc2VQcm94eS5jcHAJKHJldmlzaW9uIDEzMjMxMSkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsOCArMjcsOCBAQAogI2luY2x1ZGUgIldlYkljb25EYXRhYmFzZVByb3h5
LmgiCiAKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSAiTWVzc2FnZUlELmgi
CiAjaW5jbHVkZSAiV2ViSWNvbkRhdGFiYXNlTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJJY29u
RGF0YWJhc2VQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CkBAIC00NSw2ICs0NSw3IEBAIFdlYkljb25EYXRhYmFzZVByb3h5OjpXZWJJY29uRGF0YWJh
c2VQcm8KICAgICA6IG1faXNFbmFibGVkKGZhbHNlKQogICAgICwgbV9wcm9jZXNzKHByb2Nlc3Mp
CiB7CisgICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkljb25E
YXRhYmFzZVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMpOwogfQogCiBib29sIFdl
Ykljb25EYXRhYmFzZVByb3h5Ojppc0VuYWJsZWQoKSBjb25zdApAQCAtNjEsNyArNjIsNiBAQCB2
b2lkIFdlYkljb25EYXRhYmFzZVByb3h5OjpzZXRFbmFibGVkKGJvCiAgICAgc2V0R2xvYmFsSWNv
bkRhdGFiYXNlKGVuYWJsZWQgPyB0aGlzIDogMCk7CiB9CiAKLQogdm9pZCBXZWJJY29uRGF0YWJh
c2VQcm94eTo6cmV0YWluSWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJiBwYWdlVVJMKQogewog
ICAgIG1fcHJvY2Vzcy0+Y29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJJY29uRGF0YWJh
c2U6OlJldGFpbkljb25Gb3JQYWdlVVJMKHBhZ2VVUkwpLCAwKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRh
dGFiYXNlUHJveHkuaAkocmV2aXNpb24gMTMyMzExKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRhdGFiYXNlUHJveHkuaAkod29ya2luZyBjb3B5KQpA
QCAtMjcsMzMgKzI3LDI1IEBACiAjZGVmaW5lIFdlYkljb25EYXRhYmFzZVByb3h5X2gKIAogI2lu
Y2x1ZGUgIkFQSU9iamVjdC5oIgotCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9JY29uRGF0YWJhc2VCYXNlLmg+Ci0KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotbmFtZXNwYWNlIENvcmVJUEMgewotY2xhc3Mg
Q29ubmVjdGlvbjsKLWNsYXNzIE1lc3NhZ2VEZWNvZGVyOwotY2xhc3MgTWVzc2FnZUlEOwotfQot
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUHJvY2VzczsKIAotY2xhc3MgV2ViSWNv
bkRhdGFiYXNlUHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6SWNvbkRhdGFiYXNlQmFzZSB7CitjbGFz
cyBXZWJJY29uRGF0YWJhc2VQcm94eSA6IHB1YmxpYyBXZWJDb3JlOjpJY29uRGF0YWJhc2VCYXNl
LCBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6CiAgICAgZXhwbGlj
aXQgV2ViSWNvbkRhdGFiYXNlUHJveHkoV2ViUHJvY2VzcyopOwogICAgIHZpcnR1YWwgfldlYklj
b25EYXRhYmFzZVByb3h5KCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNFbmFibGVkKCkgY29uc3Q7
CiAgICAgdm9pZCBzZXRFbmFibGVkKGJvb2wpOwotICAgIAotICAgIAorCiAgICAgdmlydHVhbCB2
b2lkIHJldGFpbkljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9p
ZCByZWxlYXNlSWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lk
IHNldEljb25VUkxGb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpOwpAQCAt
NjksMTAgKzYxLDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbG9hZERlY2lzaW9uRm9y
SWNvblVSTChjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPFdlYkNvcmU6Okljb25Mb2FkRGVjaXNp
b25DYWxsYmFjaz4pOwogICAgIHZvaWQgcmVjZWl2ZWRJY29uTG9hZERlY2lzaW9uKGludCBkZWNp
c2lvbiwgdWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdmlydHVhbCB2b2lkIGljb25EYXRhRm9y
SWNvblVSTChjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPFdlYkNvcmU6Okljb25EYXRhQ2FsbGJh
Y2s+KTsKLSAgICAgICAgCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25u
ZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwot
ICAgIAorCiBwcml2YXRlOgorICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3Nh
Z2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKKworICAgIC8vIEltcGxl
bWVudGVkIGluIGdlbmVyYXRlZCBXZWJJY29uRGF0YWJhc2VQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJJY29uRGF0YWJhc2VQcm94eU1lc3NhZ2UoQ29yZUlQ
Qzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImKTsKICAgICAKICAgICAvLyBDYWxsYmFja3MgZnJvbSB0aGUgVUlQcm9jZXNzCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5m
by9XZWJOZXR3b3JrSW5mb01hbmFnZXIuY3BwCShyZXZpc2lvbiAxMzIzMTEpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShORVRXT1JLX0lO
Rk8pCiAKKyNpbmNsdWRlICJXZWJOZXR3b3JrSW5mb01hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1
ZGUgIldlYk5ldHdvcmtJbmZvTWFuYWdlclByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQ
YWdlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgpAQCAtNDIsNiArNDMsNyBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIFdlYk5ldHdvcmtJbmZvTWFuYWdlcjo6V2ViTmV0d29ya0luZm9NYW5hZ2Vy
KFdlYlByb2Nlc3MqIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKIHsKKyAgICBt
X3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViTmV0d29ya0luZm9NYW5h
Z2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIHRoaXMpOwogfQogCiBXZWJOZXR3b3JrSW5mb01h
bmFnZXI6On5XZWJOZXR3b3JrSW5mb01hbmFnZXIoKQpJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFu
YWdlci5oCShyZXZpc2lvbiAxMzIzMTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwy
NCArMjgsMTkgQEAKIAogI2lmIEVOQUJMRShORVRXT1JLX0lORk8pCiAKLSNpbmNsdWRlICJNZXNz
YWdlSUQuaCIKKyNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJOZXR3b3JrSW5mby5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKLWNsYXNzIENv
bm5lY3Rpb247Ci1jbGFzcyBNZXNzYWdlRGVjb2RlcjsKLX0KLQogbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIFdlYlByb2Nlc3M7CiBjbGFzcyBXZWJQYWdlOwogCi1jbGFzcyBXZWJOZXR3b3Jr
SW5mb01hbmFnZXIgeworY2xhc3MgV2ViTmV0d29ya0luZm9NYW5hZ2VyIDogcHJpdmF0ZSBDb3Jl
SVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYk5ldHdv
cmtJbmZvTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2ViTmV0d29ya0luZm9NYW5h
Z2VyKFdlYlByb2Nlc3MqKTsKQEAgLTU2LDEwICs1MSwxMCBAQCBwdWJsaWM6CiAKICAgICBkb3Vi
bGUgYmFuZHdpZHRoKFdlYlBhZ2UqKSBjb25zdDsKICAgICBib29sIG1ldGVyZWQoV2ViUGFnZSop
IGNvbnN0OwotCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9u
KiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotCiBwcml2
YXRlOgorICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQ
Qzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKKwogICAgIC8vIEltcGxlbWVudGVkIGluIGdl
bmVyYXRlZCBXZWJOZXR3b3JrSW5mb01hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiAgICAgdm9p
ZCBkaWRSZWNlaXZlV2ViTmV0d29ya0luZm9NYW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0
aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIuY3BwCShyZXZpc2lvbiAxMzIzMTEp
CisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2lmIEVO
QUJMRShOT1RJRklDQVRJT05TKSB8fCBFTkFCTEUoTEVHQUNZX05PVElGSUNBVElPTlMpCiAjaW5j
bHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCisjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdl
ck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5TWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvRG9jdW1lbnQuaD4KQEAgLTU3LDYgKzU4LDkgQEAgc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRl
Tm90aWZpY2F0aW9uSUQoKQogV2ViTm90aWZpY2F0aW9uTWFuYWdlcjo6V2ViTm90aWZpY2F0aW9u
TWFuYWdlcihXZWJQcm9jZXNzKiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCiB7
CisjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpIHx8IEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9O
UykKKyAgICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViTm90aWZp
Y2F0aW9uTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKKyNlbmRpZgogfQog
CiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjp+V2ViTm90aWZpY2F0aW9uTWFuYWdlcigpCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9u
TWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLmgJKHJldmlzaW9uIDEzMjMxMSkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5h
Z2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgV2ViTm90aWZp
Y2F0aW9uTWFuYWdlcl9oCiAjZGVmaW5lIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJfaAogCi0jaW5j
bHVkZSAiTWVzc2FnZUlELmgiCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9Ob3RpZmljYXRpb25DbGllbnQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtMzQsMTEgKzM0LDYgQEAKICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCi1u
YW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBDb25uZWN0aW9uOwotY2xhc3MgTWVzc2FnZURlY29k
ZXI7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5vdGlmaWNhdGlvbjsKIGNsYXNz
IFNlY3VyaXR5T3JpZ2luOwpAQCAtNDksNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNs
YXNzIFdlYlBhZ2U7CiBjbGFzcyBXZWJQcm9jZXNzOwogCi1jbGFzcyBXZWJOb3RpZmljYXRpb25N
YW5hZ2VyIHsKK2NsYXNzIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIgOiBwcml2YXRlIENvcmVJUEM6
Ok1lc3NhZ2VSZWNlaXZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViTm90aWZpY2F0
aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2ViTm90aWZpY2F0aW9uTWFuYWdl
cihXZWJQcm9jZXNzKik7CkBAIC02Myw3ICs1OCw2IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIGNh
bGxiYWNrIGNvbWVzIGZyb20gV2ViQ29yZSwgbm90IG1lc3NhZ2VkIGZyb20gdGhlIFVJIHByb2Nl
c3MuCiAgICAgdm9pZCBkaWREZXN0cm95Tm90aWZpY2F0aW9uKFdlYkNvcmU6Ok5vdGlmaWNhdGlv
biosIFdlYlBhZ2UqKTsKIAotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsK
ICAgICB2b2lkIGRpZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKGNvbnN0IFN0cmluZyYgb3Jp
Z2luU3RyaW5nLCBib29sIGFsbG93ZWQpOwogCiAgICAgLy8gTG9va3MgaW4gbG9jYWwgY2FjaGUg
Zm9yIHBlcm1pc3Npb24uIElmIG5vdCBmb3VuZCwgcmV0dXJucyBEZWZhdWx0RGVuaWVkLgpAQCAt
NzMsNiArNjcsOSBAQCBwdWJsaWM6CiAgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSURGb3JUZXN0
aW5nKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbiopOwogCiBwcml2YXRlOgorICAgIC8vIENvcmVJUEM6
Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBP
VkVSUklERTsKKwogICAgIC8vIEltcGxlbWVudGVkIGluIGdlbmVyYXRlZCBXZWJOb3RpZmljYXRp
b25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYk5vdGlm
aWNhdGlvbk1hbmFnZXJNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNz
YWdlSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2Vy
LmNwcAkocmV2aXNpb24gMTMyMzExKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3Vw
L1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcg
QEAKICNpbmNsdWRlICJXZWJLaXRTb3VwUmVxdWVzdElucHV0U3RyZWFtLmgiCiAjaW5jbHVkZSAi
V2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiV2ViU291cFJlcXVlc3RNYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTb3VwUmVx
dWVzdE1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhh
bmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CkBAIC04MCw2ICs4
MSw3IEBAIFdlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6V2ViU291cFJlcXVlc3RNYW4KICAgICA6IG1f
cHJvY2Vzcyhwcm9jZXNzKQogICAgICwgbV9zY2hlbWVzKGFkb3B0R1JlZihnX3B0cl9hcnJheV9u
ZXdfd2l0aF9mcmVlX2Z1bmMoZ19mcmVlKSkpCiB7CisgICAgbV9wcm9jZXNzLT5hZGRNZXNzYWdl
UmVjZWl2ZXIoTWVzc2FnZXM6OldlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpLCB0aGlzKTsKIH0KIAogV2ViU291cFJlcXVlc3RNYW5hZ2VyOjp+V2ViU291cFJlcXVl
c3RNYW5hZ2VyKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3Vw
UmVxdWVzdE1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmgJKHJldmlzaW9uIDEzMjMxMSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjAsNiArMjAsOCBAQAogI2lmbmRlZiBXZWJTb3VwUmVxdWVzdE1hbmFnZXJf
aAogI2RlZmluZSBXZWJTb3VwUmVxdWVzdE1hbmFnZXJfaAogCisjaW5jbHVkZSAiRGF0YVJlZmVy
ZW5jZS5oIgorI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgpAQCAtMjksMTkgKzMxLDEyIEBACiB0eXBlZGVmIHN0cnVjdCBfR0lucHV0U3RyZWFtIEdJ
bnB1dFN0cmVhbTsKIHR5cGVkZWYgc3RydWN0IF9HU2ltcGxlQXN5bmNSZXN1bHQgR1NpbXBsZUFz
eW5jUmVzdWx0OwogCi1uYW1lc3BhY2UgQ29yZUlQQyB7Ci1jbGFzcyBDb25uZWN0aW9uOwotY2xh
c3MgRGF0YVJlZmVyZW5jZTsKLWNsYXNzIE1lc3NhZ2VEZWNvZGVyOwotY2xhc3MgTWVzc2FnZUlE
OwotfQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUHJvY2VzczsKIHN0cnVjdCBX
ZWJTb3VwUmVxdWVzdEFzeW5jRGF0YTsKIAotY2xhc3MgV2ViU291cFJlcXVlc3RNYW5hZ2VyIHsK
K2NsYXNzIFdlYlNvdXBSZXF1ZXN0TWFuYWdlciA6IHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJl
Y2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJTb3VwUmVxdWVzdE1hbmFnZXIp
OwogcHVibGljOgogICAgIGV4cGxpY2l0IFdlYlNvdXBSZXF1ZXN0TWFuYWdlcihXZWJQcm9jZXNz
Kik7CkBAIC01MCw5ICs0NSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZW5kKEdTaW1wbGVBc3lu
Y1Jlc3VsdCosIEdDYW5jZWxsYWJsZSopOwogICAgIEdJbnB1dFN0cmVhbSogZmluaXNoKEdTaW1w
bGVBc3luY1Jlc3VsdCopOwogCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwotCiBwcml2YXRlOgorICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJ
RCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKKworICAgIC8vIEltcGxlbWVu
dGVkIGluIGdlbmVyYXRlZCBXZWJTb3VwUmVxdWVzdE1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
CiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViU291cFJlcXVlc3RNYW5hZ2VyTWVzc2FnZShDb3JlSVBD
OjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2Rl
ciYpOwogCiAgICAgdm9pZCByZWdpc3RlclVSSVNjaGVtZShjb25zdCBTdHJpbmcmIHNjaGVtZSk7
Cg==
</data>
<flag name="review"
          id="183894"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>