<?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>122184</bug_id>
          
          <creation_ts>2013-10-01 15:03:19 -0700</creation_ts>
          <short_desc>Convert PageGroup to using std::unique_ptr</short_desc>
          <delta_ts>2013-10-01 17:01:47 -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>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>935219</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-10-01 15:03:19 -0700</bug_when>
    <thetext>Convert PageGroup to using std::unique_ptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935221</commentid>
    <comment_count>1</comment_count>
      <attachid>213123</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-10-01 15:04:36 -0700</bug_when>
    <thetext>Created attachment 213123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935237</commentid>
    <comment_count>2</comment_count>
      <attachid>213123</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-01 15:29:17 -0700</bug_when>
    <thetext>Comment on attachment 213123
Patch

Attachment 213123 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/2891200</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935277</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-10-01 17:01:47 -0700</bug_when>
    <thetext>Committed r156751: &lt;http://trac.webkit.org/changeset/156751&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213123</attachid>
            <date>2013-10-01 15:04:36 -0700</date>
            <delta_ts>2013-10-01 16:35:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122184-20131001150436.patch</filename>
            <type>text/plain</type>
            <size>39570</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NjczNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTEwLTAxICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ29udmVydCBQYWdlR3JvdXAgdG8gdXNp
bmcgc3RkOjp1bmlxdWVfcHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjIxODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgICog
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmg6CisgICAgICAgICogcGFnZS9DYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZl
cmVuY2VzTWVkaWFBRi5oOgorICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAqIHBh
Z2UvR3JvdXBTZXR0aW5ncy5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgICog
cGFnZS9QYWdlR3JvdXAuY3BwOgorICAgICAgICAqIHBhZ2UvUGFnZUdyb3VwLmg6CisgICAgICAg
ICogcGFnZS9Vc2VyU2NyaXB0VHlwZXMuaDoKKyAgICAgICAgKiBwYWdlL1VzZXJTdHlsZVNoZWV0
VHlwZXMuaDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmg6
CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9TaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3JrZXJH
bG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyVGhyZWFkLmNwcDoK
KyAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoKKwogMjAxMy0xMC0wMSAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBDbGVhbnVwIERvY3VtZW50OjpkaXNwYXRjaEZ1bGxT
Y3JlZW5DaGFuZ2VPckVycm9yRXZlbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9D
YXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzcsNyArMzcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNhcHRpb25Vc2VyUHJlZmVy
ZW5jZXM6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXMoUGFnZUdyb3VwKiBncm91cCkKK0NhcHRpb25V
c2VyUHJlZmVyZW5jZXM6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXMoUGFnZUdyb3VwJiBncm91cCkK
ICAgICA6IG1fcGFnZUdyb3VwKGdyb3VwKQogICAgICwgbV9kaXNwbGF5TW9kZShGb3JjZWRPbmx5
KQogICAgICwgbV90aW1lcih0aGlzLCAmQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6dGltZXJGaXJl
ZCkKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpzZXRDYXB0
aW9uRAogCiBib29sIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnVzZXJQcmVmZXJzQ2FwdGlvbnMo
KSBjb25zdAogewotICAgIFBhZ2UqIHBhZ2UgPSAqKHBhZ2VHcm91cCgpLT5wYWdlcygpLmJlZ2lu
KCkpOworICAgIFBhZ2UqIHBhZ2UgPSAqKG1fcGFnZUdyb3VwLnBhZ2VzKCkuYmVnaW4oKSk7CiAg
ICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTg4LDcgKzg4LDcgQEAg
Ym9vbCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp1c2VyUHJlZmVycwogCiB2b2lkIENhcHRpb25V
c2VyUHJlZmVyZW5jZXM6OnNldFVzZXJQcmVmZXJzQ2FwdGlvbnMoYm9vbCBwcmVmZXJlbmNlKQog
ewotICAgIFBhZ2UqIHBhZ2UgPSAqKHBhZ2VHcm91cCgpLT5wYWdlcygpLmJlZ2luKCkpOworICAg
IFBhZ2UqIHBhZ2UgPSAqKG1fcGFnZUdyb3VwLnBhZ2VzKCkuYmVnaW4oKSk7CiAgICAgaWYgKCFw
YWdlKQogICAgICAgICByZXR1cm47CiAKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBDYXB0aW9uVXNl
clByZWZlcmVuY2VzOjpzZXRVc2VyUHJlZgogCiBib29sIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6
OnVzZXJQcmVmZXJzU3VidGl0bGVzKCkgY29uc3QKIHsKLSAgICBQYWdlKiBwYWdlID0gKihwYWdl
R3JvdXAoKS0+cGFnZXMoKS5iZWdpbigpKTsKKyAgICBQYWdlKiBwYWdlID0gKihwYWdlR3JvdXAo
KS5wYWdlcygpLmJlZ2luKCkpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCkBAIC0xMDcsNyArMTA3LDcgQEAgYm9vbCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjp1c2Vy
UHJlZmVycwogCiB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnNldFVzZXJQcmVmZXJzU3Vi
dGl0bGVzKGJvb2wgcHJlZmVyZW5jZSkKIHsKLSAgICBQYWdlKiBwYWdlID0gKihwYWdlR3JvdXAo
KS0+cGFnZXMoKS5iZWdpbigpKTsKKyAgICBQYWdlKiBwYWdlID0gKihtX3BhZ2VHcm91cC5wYWdl
cygpLmJlZ2luKCkpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xMTcs
NyArMTE3LDcgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpzZXRVc2VyUHJlZgogCiBi
b29sIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnVzZXJQcmVmZXJzVGV4dERlc2NyaXB0aW9ucygp
IGNvbnN0CiB7Ci0gICAgUGFnZSogcGFnZSA9ICoocGFnZUdyb3VwKCktPnBhZ2VzKCkuYmVnaW4o
KSk7CisgICAgUGFnZSogcGFnZSA9ICoobV9wYWdlR3JvdXAucGFnZXMoKS5iZWdpbigpKTsKICAg
ICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKQEAgLTEyNiw3ICsxMjYs
NyBAQCBib29sIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OnVzZXJQcmVmZXJzCiAKIHZvaWQgQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlczo6c2V0VXNlclByZWZlcnNUZXh0RGVzY3JpcHRpb25zKGJvb2wg
cHJlZmVyZW5jZSkKIHsKLSAgICBQYWdlKiBwYWdlID0gKihwYWdlR3JvdXAoKS0+cGFnZXMoKS5i
ZWdpbigpKTsKKyAgICBQYWdlKiBwYWdlID0gKihtX3BhZ2VHcm91cC5wYWdlcygpLmJlZ2luKCkp
OwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogICAgIApAQCAtMTM2LDcgKzEzNiw3
IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6c2V0VXNlclByZWYKIAogdm9pZCBDYXB0
aW9uVXNlclByZWZlcmVuY2VzOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKLSAgICBt
X3BhZ2VHcm91cC0+Y2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpOworICAgIG1fcGFnZUdyb3Vw
LmNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQoKTsKIH0KIAogVmVjdG9yPFN0cmluZz4gQ2FwdGlv
blVzZXJQcmVmZXJlbmNlczo6cHJlZmVycmVkTGFuZ3VhZ2VzKCkgY29uc3QKQEAgLTIzOCwxMyAr
MjM4LDEzIEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6dXBkYXRlQ2FwdGkKICAgICAv
LyBJZGVudGlmeSBvdXIgb3ZlcnJpZGUgc3R5bGUgc2hlZXQgd2l0aCBhIHVuaXF1ZSBVUkwgLSBh
IG5ldyBzY2hlbWUgYW5kIGEgVVVJRC4KICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFVSTCwgY2Fw
dGlvbnNTdHlsZVNoZWV0VVJMLCAoUGFyc2VkVVJMU3RyaW5nLCAidXNlci1jYXB0aW9ucy1vdmVy
cmlkZTowMUY2QUYxMi1DM0IwLTRGNzAtQUY1RS1BM0UwMDIzNERDMjMiKSk7CiAKLSAgICBwYWdl
R3JvdXAoKS0+cmVtb3ZlVXNlclN0eWxlU2hlZXRGcm9tV29ybGQobWFpblRocmVhZE5vcm1hbFdv
cmxkKCksIGNhcHRpb25zU3R5bGVTaGVldFVSTCk7CisgICAgbV9wYWdlR3JvdXAucmVtb3ZlVXNl
clN0eWxlU2hlZXRGcm9tV29ybGQobWFpblRocmVhZE5vcm1hbFdvcmxkKCksIGNhcHRpb25zU3R5
bGVTaGVldFVSTCk7CiAKICAgICBTdHJpbmcgY2FwdGlvbnNPdmVycmlkZVN0eWxlU2hlZXQgPSBj
YXB0aW9uc1N0eWxlU2hlZXRPdmVycmlkZSgpOwogICAgIGlmIChjYXB0aW9uc092ZXJyaWRlU3R5
bGVTaGVldC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBhZ2VHcm91cCgpLT5h
ZGRVc2VyU3R5bGVTaGVldFRvV29ybGQobWFpblRocmVhZE5vcm1hbFdvcmxkKCksIGNhcHRpb25z
T3ZlcnJpZGVTdHlsZVNoZWV0LCBjYXB0aW9uc1N0eWxlU2hlZXRVUkwsIFZlY3RvcjxTdHJpbmc+
KCksCisgICAgbV9wYWdlR3JvdXAuYWRkVXNlclN0eWxlU2hlZXRUb1dvcmxkKG1haW5UaHJlYWRO
b3JtYWxXb3JsZCgpLCBjYXB0aW9uc092ZXJyaWRlU3R5bGVTaGVldCwgY2FwdGlvbnNTdHlsZVNo
ZWV0VVJMLCBWZWN0b3I8U3RyaW5nPigpLAogICAgICAgICBWZWN0b3I8U3RyaW5nPigpLCBJbmpl
Y3RJbkFsbEZyYW1lcywgVXNlclN0eWxlQXV0aG9yTGV2ZWwsIEluamVjdEluRXhpc3RpbmdEb2N1
bWVudHMpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVy
ZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJl
ZmVyZW5jZXMuaAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0
aW9uVXNlclByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDcgQEAgY2xh
c3MgVGV4dFRyYWNrTGlzdDsKIAogY2xhc3MgQ2FwdGlvblVzZXJQcmVmZXJlbmNlcyB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8Q2FwdGlvblVzZXJQcmVmZXJlbmNlcz4gY3JlYXRl
KFBhZ2VHcm91cCogZ3JvdXApIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBDYXB0aW9uVXNlclByZWZl
cmVuY2VzKGdyb3VwKSk7IH0KKyAgICBDYXB0aW9uVXNlclByZWZlcmVuY2VzKFBhZ2VHcm91cCYp
OwogICAgIHZpcnR1YWwgfkNhcHRpb25Vc2VyUHJlZmVyZW5jZXMoKTsKIAogICAgIGVudW0gQ2Fw
dGlvbkRpc3BsYXlNb2RlIHsKQEAgLTg3LDE3ICs4NywxNiBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIHRlc3RpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gbV90ZXN0aW5nTW9kZTsgfQogICAg
IHZpcnR1YWwgdm9pZCBzZXRUZXN0aW5nTW9kZShib29sIG92ZXJyaWRlKSB7IG1fdGVzdGluZ01v
ZGUgPSBvdmVycmlkZTsgfQogICAgIAotICAgIFBhZ2VHcm91cCogcGFnZUdyb3VwKCkgY29uc3Qg
eyByZXR1cm4gbV9wYWdlR3JvdXA7IH0KKyAgICBQYWdlR3JvdXAmIHBhZ2VHcm91cCgpIGNvbnN0
IHsgcmV0dXJuIG1fcGFnZUdyb3VwOyB9CiAKIHByb3RlY3RlZDoKLSAgICBDYXB0aW9uVXNlclBy
ZWZlcmVuY2VzKFBhZ2VHcm91cCopOwogICAgIHZvaWQgdXBkYXRlQ2FwdGlvblN0eWxlU2hlZXRP
dmVyaWRlKCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPENhcHRpb25V
c2VyUHJlZmVyZW5jZXM+Kik7CiAgICAgdm9pZCBub3RpZnkoKTsKIAotICAgIFBhZ2VHcm91cCog
bV9wYWdlR3JvdXA7CisgICAgUGFnZUdyb3VwJiBtX3BhZ2VHcm91cDsKICAgICBDYXB0aW9uRGlz
cGxheU1vZGUgbV9kaXNwbGF5TW9kZTsKICAgICBUaW1lcjxDYXB0aW9uVXNlclByZWZlcmVuY2Vz
PiBtX3RpbWVyOwogICAgIFN0cmluZyBtX3VzZXJQcmVmZXJyZWRMYW5ndWFnZTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlh
QUYuY3BwCShyZXZpc2lvbiAxNTY3MTEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNiBA
QAogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiTWVkaWFDb250cm9sRWxlbWVudHMuaCIKLSNpbmNsdWRlICJQYWdlR3JvdXAuaCIK
ICNpbmNsdWRlICJTb2Z0TGlua2luZy5oIgogI2luY2x1ZGUgIlRleHRUcmFja0N1ZS5oIgogI2lu
Y2x1ZGUgIlRleHRUcmFja0xpc3QuaCIKQEAgLTE0MSw3ICsxNDAsNyBAQCBzdGF0aWMgdm9pZCB1
c2VyQ2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlCiB9CiAjZW5kaWYKIAotQ2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01lZGlhQUY6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGKFBhZ2VHcm91cCog
Z3JvdXApCitDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6Q2FwdGlvblVzZXJQcmVmZXJl
bmNlc01lZGlhQUYoUGFnZUdyb3VwJiBncm91cCkKICAgICA6IENhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMoZ3JvdXApCiAjaWYgSEFWRShNRURJQV9BQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKICAgICAs
IG1fbGlzdGVuaW5nRm9yUHJlZmVyZW5jZUNoYW5nZXMoZmFsc2UpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5oCShyZXZp
c2lvbiAxNTY3MTEpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXNNZWRpYUFGLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRiA6IHB1YmxpYyBD
YXB0aW9uVXNlclByZWZlcmVuY2VzIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxD
YXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRj4gY3JlYXRlKFBhZ2VHcm91cCogZ3JvdXApIHsg
cmV0dXJuIGFkb3B0UHRyKG5ldyBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRihncm91cCkp
OyB9CisgICAgQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYoUGFnZUdyb3VwJik7CiAgICAg
dmlydHVhbCB+Q2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYoKTsKIAogI2lmIEhBVkUoTUVE
SUFfQUNDRVNTSUJJTElUWV9GUkFNRVdPUkspCkBAIC02Nyw4ICs2Nyw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIFN0cmluZyBkaXNwbGF5TmFtZUZvclRyYWNrKFRleHRUcmFjayopIGNvbnN0IE9W
RVJSSURFOwogCiBwcml2YXRlOgotICAgIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGKFBh
Z2VHcm91cCopOwotCiAjaWYgSEFWRShNRURJQV9BQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKICAg
ICBTdHJpbmcgY2FwdGlvbnNXaW5kb3dDU1MoKSBjb25zdDsKICAgICBTdHJpbmcgY2FwdGlvbnNC
YWNrZ3JvdW5kQ1NTKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24g
MTU2NzExKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUzNSw4ICs1MzUsOCBAQCB2b2lkIEZyYW1lOjppbmplY3RVc2VyU2NyaXB0cyhVc2VyU2Ny
aXB0CiAgICAgY29uc3QgVXNlclNjcmlwdE1hcCogdXNlclNjcmlwdHMgPSBtX3BhZ2UtPmdyb3Vw
KCkudXNlclNjcmlwdHMoKTsKICAgICBpZiAoIXVzZXJTY3JpcHRzKQogICAgICAgICByZXR1cm47
Ci0gICAgVXNlclNjcmlwdE1hcDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gdXNlclNjcmlwdHMtPmVu
ZCgpOwotICAgIGZvciAoVXNlclNjcmlwdE1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSB1c2VyU2Ny
aXB0cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQorCisgICAgZm9yIChhdXRvIGl0ID0gdXNl
clNjcmlwdHMtPmJlZ2luKCksIGVuZCA9IHVzZXJTY3JpcHRzLT5lbmQoKTsgaXQgIT0gZW5kOyAr
K2l0KQogICAgICAgICBpbmplY3RVc2VyU2NyaXB0c0ZvcldvcmxkKGl0LT5rZXkuZ2V0KCksICpp
dC0+dmFsdWUsIGluamVjdGlvblRpbWUpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L0dyb3VwU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0dyb3Vw
U2V0dGluZ3MuaAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Hcm91
cFNldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgR3Jv
dXBTZXR0aW5nc19oCiAjZGVmaW5lIEdyb3VwU2V0dGluZ3NfaAogCi0jaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMzYsMTAgKzM1LDcgQEAgY2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgR3Jv
dXBTZXR0aW5ncyB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5ncyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEdy
b3VwU2V0dGluZ3M+IGNyZWF0ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3
IEdyb3VwU2V0dGluZ3MoKSk7Ci0gICAgfQorICAgIEdyb3VwU2V0dGluZ3MoKTsKIAogICAgIHZv
aWQgc2V0TG9jYWxTdG9yYWdlUXVvdGFCeXRlcyh1bnNpZ25lZCk7CiAgICAgdW5zaWduZWQgbG9j
YWxTdG9yYWdlUXVvdGFCeXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxTdG9yYWdlUXVvdGFC
eXRlczsgfQpAQCAtNTEsOCArNDcsNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBpbmRl
eGVkREJEYXRhYmFzZVBhdGgoKSBjb25zdCB7IHJldHVybiBtX2luZGV4ZWREQkRhdGFiYXNlUGF0
aDsgfQogCiBwcml2YXRlOgotICAgIEdyb3VwU2V0dGluZ3MoKTsKLQogICAgIHVuc2lnbmVkIG1f
bG9jYWxTdG9yYWdlUXVvdGFCeXRlczsKICAgICBTdHJpbmcgbV9pbmRleGVkREJEYXRhYmFzZVBh
dGg7CiAgICAgaW50NjRfdCBtX2luZGV4ZWREQlF1b3RhQnl0ZXM7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAJKHJldmlzaW9uIDE1NjcxMSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQzNCw3ICs0MzQsNyBAQCB2b2lkIFBhZ2U6OnNldEdyb3VwTmFt
ZShjb25zdCBTdHJpbmcmIG5hCiAgICAgaWYgKG1fZ3JvdXAgJiYgIW1fZ3JvdXAtPm5hbWUoKS5p
c0VtcHR5KCkpIHsKICAgICAgICAgQVNTRVJUKG1fZ3JvdXAgIT0gbV9zaW5nbGVQYWdlR3JvdXAu
Z2V0KCkpOwogICAgICAgICBBU1NFUlQoIW1fc2luZ2xlUGFnZUdyb3VwKTsKLSAgICAgICAgbV9n
cm91cC0+cmVtb3ZlUGFnZSh0aGlzKTsKKyAgICAgICAgbV9ncm91cC0+cmVtb3ZlUGFnZSgqdGhp
cyk7CiAgICAgfQogCiAgICAgaWYgKG5hbWUuaXNFbXB0eSgpKQpAQCAtNDQyLDcgKzQ0Miw3IEBA
IHZvaWQgUGFnZTo6c2V0R3JvdXBOYW1lKGNvbnN0IFN0cmluZyYgbmEKICAgICBlbHNlIHsKICAg
ICAgICAgbV9zaW5nbGVQYWdlR3JvdXAgPSBudWxscHRyOwogICAgICAgICBtX2dyb3VwID0gUGFn
ZUdyb3VwOjpwYWdlR3JvdXAobmFtZSk7Ci0gICAgICAgIG1fZ3JvdXAtPmFkZFBhZ2UodGhpcyk7
CisgICAgICAgIG1fZ3JvdXAtPmFkZFBhZ2UoKnRoaXMpOwogICAgIH0KIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUdyb3VwLmNwcAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAj
aW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1
ZGUgIlN0b3JhZ2VOYW1lc3BhY2UuaCIKKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAK
ICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JN
KElPUykpIHx8IEhBVkUoTUVESUFfQUNDRVNTSUJJTElUWV9GUkFNRVdPUkspCkBAIC02MywxNiAr
NjQsMTYgQEAgUGFnZUdyb3VwOjpQYWdlR3JvdXAoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIDog
bV9uYW1lKG5hbWUpCiAgICAgLCBtX3Zpc2l0ZWRMaW5rc1BvcHVsYXRlZChmYWxzZSkKICAgICAs
IG1faWRlbnRpZmllcihnZXRVbmlxdWVJZGVudGlmaWVyKCkpCi0gICAgLCBtX2dyb3VwU2V0dGlu
Z3MoR3JvdXBTZXR0aW5nczo6Y3JlYXRlKCkpCisgICAgLCBtX2dyb3VwU2V0dGluZ3Moc3RkOjpt
YWtlX3VuaXF1ZTxHcm91cFNldHRpbmdzPigpKQogewogfQogCiBQYWdlR3JvdXA6OlBhZ2VHcm91
cChQYWdlJiBwYWdlKQogICAgIDogbV92aXNpdGVkTGlua3NQb3B1bGF0ZWQoZmFsc2UpCiAgICAg
LCBtX2lkZW50aWZpZXIoZ2V0VW5pcXVlSWRlbnRpZmllcigpKQotICAgICwgbV9ncm91cFNldHRp
bmdzKEdyb3VwU2V0dGluZ3M6OmNyZWF0ZSgpKQorICAgICwgbV9ncm91cFNldHRpbmdzKHN0ZDo6
bWFrZV91bmlxdWU8R3JvdXBTZXR0aW5ncz4oKSkKIHsKLSAgICBhZGRQYWdlKCZwYWdlKTsKKyAg
ICBhZGRQYWdlKHBhZ2UpOwogfQogCiBQYWdlR3JvdXA6On5QYWdlR3JvdXAoKQpAQCAtMTA2LDkg
KzEwNyw3IEBAIHZvaWQgUGFnZUdyb3VwOjpjbG9zZUxvY2FsU3RvcmFnZSgpCiAgICAgaWYgKCFw
YWdlR3JvdXBzKQogICAgICAgICByZXR1cm47CiAKLSAgICBQYWdlR3JvdXBNYXA6Oml0ZXJhdG9y
IGVuZCA9IHBhZ2VHcm91cHMtPmVuZCgpOwotCi0gICAgZm9yIChQYWdlR3JvdXBNYXA6Oml0ZXJh
dG9yIGl0ID0gcGFnZUdyb3Vwcy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgZm9y
IChhdXRvIGl0ID0gcGFnZUdyb3Vwcy0+YmVnaW4oKSwgZW5kID0gcGFnZUdyb3Vwcy0+ZW5kKCk7
IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBpZiAoaXQtPnZhbHVlLT5oYXNMb2NhbFN0b3Jh
Z2UoKSkKICAgICAgICAgICAgIGl0LT52YWx1ZS0+bG9jYWxTdG9yYWdlKCktPmNsb3NlKCk7CiAg
ICAgfQpAQCAtMTE5LDggKzExOCw3IEBAIHZvaWQgUGFnZUdyb3VwOjpjbGVhckxvY2FsU3RvcmFn
ZUZvckFsbE8KICAgICBpZiAoIXBhZ2VHcm91cHMpCiAgICAgICAgIHJldHVybjsKIAotICAgIFBh
Z2VHcm91cE1hcDo6aXRlcmF0b3IgZW5kID0gcGFnZUdyb3Vwcy0+ZW5kKCk7Ci0gICAgZm9yIChQ
YWdlR3JvdXBNYXA6Oml0ZXJhdG9yIGl0ID0gcGFnZUdyb3Vwcy0+YmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KSB7CisgICAgZm9yIChhdXRvIGl0ID0gcGFnZUdyb3Vwcy0+YmVnaW4oKSwgZW5kID0g
cGFnZUdyb3Vwcy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBpZiAoaXQtPnZh
bHVlLT5oYXNMb2NhbFN0b3JhZ2UoKSkKICAgICAgICAgICAgIGl0LT52YWx1ZS0+bG9jYWxTdG9y
YWdlKCktPmNsZWFyQWxsT3JpZ2luc0ZvckRlbGV0aW9uKCk7CiAgICAgfQpAQCAtMTMxLDggKzEy
OSw3IEBAIHZvaWQgUGFnZUdyb3VwOjpjbGVhckxvY2FsU3RvcmFnZUZvck9yaWcKICAgICBpZiAo
IXBhZ2VHcm91cHMpCiAgICAgICAgIHJldHVybjsKIAotICAgIFBhZ2VHcm91cE1hcDo6aXRlcmF0
b3IgZW5kID0gcGFnZUdyb3Vwcy0+ZW5kKCk7Ci0gICAgZm9yIChQYWdlR3JvdXBNYXA6Oml0ZXJh
dG9yIGl0ID0gcGFnZUdyb3Vwcy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgZm9y
IChhdXRvIGl0ID0gcGFnZUdyb3Vwcy0+YmVnaW4oKSwgZW5kID0gcGFnZUdyb3Vwcy0+ZW5kKCk7
IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBpZiAoaXQtPnZhbHVlLT5oYXNMb2NhbFN0b3Jh
Z2UoKSkKICAgICAgICAgICAgIGl0LT52YWx1ZS0+bG9jYWxTdG9yYWdlKCktPmNsZWFyT3JpZ2lu
Rm9yRGVsZXRpb24ob3JpZ2luKTsKICAgICB9CkBAIC0xNDMsOCArMTQwLDcgQEAgdm9pZCBQYWdl
R3JvdXA6OmNsb3NlSWRsZUxvY2FsU3RvcmFnZURhdAogICAgIGlmICghcGFnZUdyb3VwcykKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgUGFnZUdyb3VwTWFwOjppdGVyYXRvciBlbmQgPSBwYWdlR3Jv
dXBzLT5lbmQoKTsKLSAgICBmb3IgKFBhZ2VHcm91cE1hcDo6aXRlcmF0b3IgaXQgPSBwYWdlR3Jv
dXBzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICBmb3IgKGF1dG8gaXQgPSBwYWdl
R3JvdXBzLT5iZWdpbigpLCBlbmQgPSBwYWdlR3JvdXBzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0
KSB7CiAgICAgICAgIGlmIChpdC0+dmFsdWUtPmhhc0xvY2FsU3RvcmFnZSgpKQogICAgICAgICAg
ICAgaXQtPnZhbHVlLT5sb2NhbFN0b3JhZ2UoKS0+Y2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJh
c2VzKCk7CiAgICAgfQpAQCAtMTU1LDggKzE1MSw3IEBAIHZvaWQgUGFnZUdyb3VwOjpzeW5jTG9j
YWxTdG9yYWdlKCkKICAgICBpZiAoIXBhZ2VHcm91cHMpCiAgICAgICAgIHJldHVybjsKIAotICAg
IFBhZ2VHcm91cE1hcDo6aXRlcmF0b3IgZW5kID0gcGFnZUdyb3Vwcy0+ZW5kKCk7Ci0gICAgZm9y
IChQYWdlR3JvdXBNYXA6Oml0ZXJhdG9yIGl0ID0gcGFnZUdyb3Vwcy0+YmVnaW4oKTsgaXQgIT0g
ZW5kOyArK2l0KSB7CisgICAgZm9yIChhdXRvIGl0ID0gcGFnZUdyb3Vwcy0+YmVnaW4oKSwgZW5k
ID0gcGFnZUdyb3Vwcy0+ZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBpZiAoaXQt
PnZhbHVlLT5oYXNMb2NhbFN0b3JhZ2UoKSkKICAgICAgICAgICAgIGl0LT52YWx1ZS0+bG9jYWxT
dG9yYWdlKCktPnN5bmMoKTsKICAgICB9CkBAIC0xNzAsMTggKzE2NSwxNiBAQCB1bnNpZ25lZCBQ
YWdlR3JvdXA6Om51bWJlck9mUGFnZUdyb3VwcygpCiAgICAgcmV0dXJuIHBhZ2VHcm91cHMtPnNp
emUoKTsKIH0KIAotdm9pZCBQYWdlR3JvdXA6OmFkZFBhZ2UoUGFnZSogcGFnZSkKK3ZvaWQgUGFn
ZUdyb3VwOjphZGRQYWdlKFBhZ2UmIHBhZ2UpCiB7Ci0gICAgQVNTRVJUKHBhZ2UpOwotICAgIEFT
U0VSVCghbV9wYWdlcy5jb250YWlucyhwYWdlKSk7Ci0gICAgbV9wYWdlcy5hZGQocGFnZSk7Cisg
ICAgQVNTRVJUKCFtX3BhZ2VzLmNvbnRhaW5zKCZwYWdlKSk7CisgICAgbV9wYWdlcy5hZGQoJnBh
Z2UpOwogfQogCi12b2lkIFBhZ2VHcm91cDo6cmVtb3ZlUGFnZShQYWdlKiBwYWdlKQordm9pZCBQ
YWdlR3JvdXA6OnJlbW92ZVBhZ2UoUGFnZSYgcGFnZSkKIHsKLSAgICBBU1NFUlQocGFnZSk7Ci0g
ICAgQVNTRVJUKG1fcGFnZXMuY29udGFpbnMocGFnZSkpOwotICAgIG1fcGFnZXMucmVtb3ZlKHBh
Z2UpOworICAgIEFTU0VSVChtX3BhZ2VzLmNvbnRhaW5zKCZwYWdlKSk7CisgICAgbV9wYWdlcy5y
ZW1vdmUoJnBhZ2UpOwogfQogCiBib29sIFBhZ2VHcm91cDo6aXNMaW5rVmlzaXRlZChMaW5rSGFz
aCB2aXNpdGVkTGlua0hhc2gpCkBAIC0yNzMsMTMgKzI2NiwxMyBAQCB2b2lkIFBhZ2VHcm91cDo6
YWRkVXNlclNjcmlwdFRvV29ybGQoRE9NCiB7CiAgICAgQVNTRVJUX0FSRyh3b3JsZCwgd29ybGQp
OwogCi0gICAgT3duUHRyPFVzZXJTY3JpcHQ+IHVzZXJTY3JpcHQgPSBhZG9wdFB0cihuZXcgVXNl
clNjcmlwdChzb3VyY2UsIHVybCwgd2hpdGVsaXN0LCBibGFja2xpc3QsIGluamVjdGlvblRpbWUs
IGluamVjdGVkRnJhbWVzKSk7CisgICAgYXV0byB1c2VyU2NyaXB0ID0gc3RkOjptYWtlX3VuaXF1
ZTxVc2VyU2NyaXB0Pihzb3VyY2UsIHVybCwgd2hpdGVsaXN0LCBibGFja2xpc3QsIGluamVjdGlv
blRpbWUsIGluamVjdGVkRnJhbWVzKTsKICAgICBpZiAoIW1fdXNlclNjcmlwdHMpCi0gICAgICAg
IG1fdXNlclNjcmlwdHMgPSBhZG9wdFB0cihuZXcgVXNlclNjcmlwdE1hcCk7Ci0gICAgT3duUHRy
PFVzZXJTY3JpcHRWZWN0b3I+JiBzY3JpcHRzSW5Xb3JsZCA9IG1fdXNlclNjcmlwdHMtPmFkZCh3
b3JsZCwgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICBtX3VzZXJTY3JpcHRzID0g
c3RkOjptYWtlX3VuaXF1ZTxVc2VyU2NyaXB0TWFwPigpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxV
c2VyU2NyaXB0VmVjdG9yPiYgc2NyaXB0c0luV29ybGQgPSBtX3VzZXJTY3JpcHRzLT5hZGQod29y
bGQsIG51bGxwdHIpLml0ZXJhdG9yLT52YWx1ZTsKICAgICBpZiAoIXNjcmlwdHNJbldvcmxkKQot
ICAgICAgICBzY3JpcHRzSW5Xb3JsZCA9IGFkb3B0UHRyKG5ldyBVc2VyU2NyaXB0VmVjdG9yKTsK
LSAgICBzY3JpcHRzSW5Xb3JsZC0+YXBwZW5kKHVzZXJTY3JpcHQucmVsZWFzZSgpKTsKKyAgICAg
ICAgc2NyaXB0c0luV29ybGQgPSBzdGQ6Om1ha2VfdW5pcXVlPFVzZXJTY3JpcHRWZWN0b3I+KCk7
CisgICAgc2NyaXB0c0luV29ybGQtPmFwcGVuZChzdGQ6Om1vdmUodXNlclNjcmlwdCkpOwogfQog
CiB2b2lkIFBhZ2VHcm91cDo6YWRkVXNlclN0eWxlU2hlZXRUb1dvcmxkKERPTVdyYXBwZXJXb3Js
ZCogd29ybGQsIGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBVUkwmIHVybCwKQEAgLTI5MCwx
MyArMjgzLDEzIEBAIHZvaWQgUGFnZUdyb3VwOjphZGRVc2VyU3R5bGVTaGVldFRvV29ybGQKIHsK
ICAgICBBU1NFUlRfQVJHKHdvcmxkLCB3b3JsZCk7CiAKLSAgICBPd25QdHI8VXNlclN0eWxlU2hl
ZXQ+IHVzZXJTdHlsZVNoZWV0ID0gYWRvcHRQdHIobmV3IFVzZXJTdHlsZVNoZWV0KHNvdXJjZSwg
dXJsLCB3aGl0ZWxpc3QsIGJsYWNrbGlzdCwgaW5qZWN0ZWRGcmFtZXMsIGxldmVsKSk7CisgICAg
YXV0byB1c2VyU3R5bGVTaGVldCA9IHN0ZDo6bWFrZV91bmlxdWU8VXNlclN0eWxlU2hlZXQ+KHNv
dXJjZSwgdXJsLCB3aGl0ZWxpc3QsIGJsYWNrbGlzdCwgaW5qZWN0ZWRGcmFtZXMsIGxldmVsKTsK
ICAgICBpZiAoIW1fdXNlclN0eWxlU2hlZXRzKQotICAgICAgICBtX3VzZXJTdHlsZVNoZWV0cyA9
IGFkb3B0UHRyKG5ldyBVc2VyU3R5bGVTaGVldE1hcCk7Ci0gICAgT3duUHRyPFVzZXJTdHlsZVNo
ZWV0VmVjdG9yPiYgc3R5bGVTaGVldHNJbldvcmxkID0gbV91c2VyU3R5bGVTaGVldHMtPmFkZCh3
b3JsZCwgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlOworICAgICAgICBtX3VzZXJTdHlsZVNoZWV0
cyA9IHN0ZDo6bWFrZV91bmlxdWU8VXNlclN0eWxlU2hlZXRNYXA+KCk7CisgICAgc3RkOjp1bmlx
dWVfcHRyPFVzZXJTdHlsZVNoZWV0VmVjdG9yPiYgc3R5bGVTaGVldHNJbldvcmxkID0gbV91c2Vy
U3R5bGVTaGVldHMtPmFkZCh3b3JsZCwgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlOwogICAgIGlm
ICghc3R5bGVTaGVldHNJbldvcmxkKQotICAgICAgICBzdHlsZVNoZWV0c0luV29ybGQgPSBhZG9w
dFB0cihuZXcgVXNlclN0eWxlU2hlZXRWZWN0b3IpOwotICAgIHN0eWxlU2hlZXRzSW5Xb3JsZC0+
YXBwZW5kKHVzZXJTdHlsZVNoZWV0LnJlbGVhc2UoKSk7CisgICAgICAgIHN0eWxlU2hlZXRzSW5X
b3JsZCA9IHN0ZDo6bWFrZV91bmlxdWU8VXNlclN0eWxlU2hlZXRWZWN0b3I+KCk7CisgICAgc3R5
bGVTaGVldHNJbldvcmxkLT5hcHBlbmQoc3RkOjptb3ZlKHVzZXJTdHlsZVNoZWV0KSk7CiAKICAg
ICBpZiAoaW5qZWN0aW9uVGltZSA9PSBJbmplY3RJbkV4aXN0aW5nRG9jdW1lbnRzKQogICAgICAg
ICBpbnZhbGlkYXRlSW5qZWN0ZWRTdHlsZVNoZWV0Q2FjaGVJbkFsbEZyYW1lcygpOwpAQCAtMzA5
LDExICszMDIsMTEgQEAgdm9pZCBQYWdlR3JvdXA6OnJlbW92ZVVzZXJTY3JpcHRGcm9tV29ybAog
ICAgIGlmICghbV91c2VyU2NyaXB0cykKICAgICAgICAgcmV0dXJuOwogCi0gICAgVXNlclNjcmlw
dE1hcDo6aXRlcmF0b3IgaXQgPSBtX3VzZXJTY3JpcHRzLT5maW5kKHdvcmxkKTsKKyAgICBhdXRv
IGl0ID0gbV91c2VyU2NyaXB0cy0+ZmluZCh3b3JsZCk7CiAgICAgaWYgKGl0ID09IG1fdXNlclNj
cmlwdHMtPmVuZCgpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgVXNlclNjcmlwdFZlY3Rv
ciogc2NyaXB0cyA9IGl0LT52YWx1ZS5nZXQoKTsKKyAgICBhdXRvIHNjcmlwdHMgPSBpdC0+dmFs
dWUuZ2V0KCk7CiAgICAgZm9yIChpbnQgaSA9IHNjcmlwdHMtPnNpemUoKSAtIDE7IGkgPj0gMDsg
LS1pKSB7CiAgICAgICAgIGlmIChzY3JpcHRzLT5hdChpKS0+dXJsKCkgPT0gdXJsKQogICAgICAg
ICAgICAgc2NyaXB0cy0+cmVtb3ZlKGkpOwpAQCAtMzMwLDEyICszMjMsMTIgQEAgdm9pZCBQYWdl
R3JvdXA6OnJlbW92ZVVzZXJTdHlsZVNoZWV0RnJvbQogICAgIGlmICghbV91c2VyU3R5bGVTaGVl
dHMpCiAgICAgICAgIHJldHVybjsKIAotICAgIFVzZXJTdHlsZVNoZWV0TWFwOjppdGVyYXRvciBp
dCA9IG1fdXNlclN0eWxlU2hlZXRzLT5maW5kKHdvcmxkKTsKKyAgICBhdXRvIGl0ID0gbV91c2Vy
U3R5bGVTaGVldHMtPmZpbmQod29ybGQpOwogICAgIGJvb2wgc2hlZXRzQ2hhbmdlZCA9IGZhbHNl
OwogICAgIGlmIChpdCA9PSBtX3VzZXJTdHlsZVNoZWV0cy0+ZW5kKCkpCiAgICAgICAgIHJldHVy
bjsKICAgICAKLSAgICBVc2VyU3R5bGVTaGVldFZlY3Rvciogc3R5bGVzaGVldHMgPSBpdC0+dmFs
dWUuZ2V0KCk7CisgICAgYXV0byBzdHlsZXNoZWV0cyA9IGl0LT52YWx1ZS5nZXQoKTsKICAgICBm
b3IgKGludCBpID0gc3R5bGVzaGVldHMtPnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7CiAgICAg
ICAgIGlmIChzdHlsZXNoZWV0cy0+YXQoaSktPnVybCgpID09IHVybCkgewogICAgICAgICAgICAg
c3R5bGVzaGVldHMtPnJlbW92ZShpKTsKQEAgLTM3NywxMCArMzcwLDEwIEBAIHZvaWQgUGFnZUdy
b3VwOjpyZW1vdmVVc2VyU3R5bGVTaGVldHNGcm8KIAogdm9pZCBQYWdlR3JvdXA6OnJlbW92ZUFs
bFVzZXJDb250ZW50KCkKIHsKLSAgICBtX3VzZXJTY3JpcHRzLmNsZWFyKCk7CisgICAgbV91c2Vy
U2NyaXB0cyA9IG51bGxwdHI7CiAKICAgICBpZiAobV91c2VyU3R5bGVTaGVldHMpIHsKLSAgICAg
ICAgbV91c2VyU3R5bGVTaGVldHMuY2xlYXIoKTsKKyAgICAgICAgbV91c2VyU3R5bGVTaGVldHMg
PSBudWxscHRyOwogICAgICAgICBpbnZhbGlkYXRlSW5qZWN0ZWRTdHlsZVNoZWV0Q2FjaGVJbkFs
bEZyYW1lcygpOwogICAgIH0KIH0KQEAgLTM4OCw4ICszODEsNyBAQCB2b2lkIFBhZ2VHcm91cDo6
cmVtb3ZlQWxsVXNlckNvbnRlbnQoKQogdm9pZCBQYWdlR3JvdXA6OmludmFsaWRhdGVJbmplY3Rl
ZFN0eWxlU2hlZXRDYWNoZUluQWxsRnJhbWVzKCkKIHsKICAgICAvLyBDbGVhciBvdXIgY2FjaGVk
IHNoZWV0cyBhbmQgaGF2ZSB0aGVtIGp1c3QgcmVwYXJzZS4KLSAgICBIYXNoU2V0PFBhZ2UqPjo6
Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9wYWdlcy5lbmQoKTsKLSAgICBmb3IgKEhhc2hTZXQ8UGFn
ZSo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fcGFnZXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KSB7CisgICAgZm9yIChhdXRvIGl0ID0gbV9wYWdlcy5iZWdpbigpLCBlbmQgPSBtX3BhZ2VzLmVu
ZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgZm9yIChGcmFtZSogZnJhbWUgPSAmKCpp
dCktPm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4
dCgpKSB7CiAgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3R5bGVTaGVldENvbGxlY3Rp
b24oKS5pbnZhbGlkYXRlSW5qZWN0ZWRTdHlsZVNoZWV0Q2FjaGUoKTsKICAgICAgICAgICAgIGZy
YW1lLT5kb2N1bWVudCgpLT5zdHlsZVJlc29sdmVyQ2hhbmdlZChEZWZlclJlY2FsY1N0eWxlKTsK
QEAgLTQwMCwyMyArMzkyLDIzIEBAIHZvaWQgUGFnZUdyb3VwOjppbnZhbGlkYXRlSW5qZWN0ZWRT
dHlsZVMKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiB2b2lkIFBhZ2VHcm91cDo6Y2FwdGlvblBy
ZWZlcmVuY2VzQ2hhbmdlZCgpCiB7Ci0gICAgZm9yIChIYXNoU2V0PFBhZ2UqPjo6aXRlcmF0b3Ig
aSA9IG1fcGFnZXMuYmVnaW4oKTsgaSAhPSBtX3BhZ2VzLmVuZCgpOyArK2kpCi0gICAgICAgICgq
aSktPmNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQoKTsKKyAgICBmb3IgKGF1dG8gaXQgPSBtX3Bh
Z2VzLmJlZ2luKCksIGVuZCA9IG1fcGFnZXMuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAg
ICAgKCppdCktPmNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQoKTsKICAgICBwYWdlQ2FjaGUoKS0+
bWFya1BhZ2VzRm9yQ2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpOwogfQogCiBDYXB0aW9uVXNl
clByZWZlcmVuY2VzKiBQYWdlR3JvdXA6OmNhcHRpb25QcmVmZXJlbmNlcygpCiB7Ci0gICAgaWYg
KCFtX2NhcHRpb25QcmVmZXJlbmNlcykKKyAgICBpZiAoIW1fY2FwdGlvblByZWZlcmVuY2VzKSB7
CiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykpIHx8IEhBVkUoTUVESUFfQUND
RVNTSUJJTElUWV9GUkFNRVdPUkspCi0gICAgICAgIG1fY2FwdGlvblByZWZlcmVuY2VzID0gQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OmNyZWF0ZSh0aGlzKTsKKyAgICAgICAgbV9jYXB0
aW9uUHJlZmVyZW5jZXMgPSBzdGQ6Om1ha2VfdW5pcXVlPENhcHRpb25Vc2VyUHJlZmVyZW5jZXNN
ZWRpYUFGPigqdGhpcyk7CiAjZWxzZQotICAgICAgICBtX2NhcHRpb25QcmVmZXJlbmNlcyA9IENh
cHRpb25Vc2VyUHJlZmVyZW5jZXM6OmNyZWF0ZSh0aGlzKTsKKyAgICAgICAgbV9jYXB0aW9uUHJl
ZmVyZW5jZXMgPSBzdGQ6Om1ha2VfdW5pcXVlPENhcHRpb25Vc2VyUHJlZmVyZW5jZXM+KCp0aGlz
KTsKICNlbmRpZgorICAgIH0KIAogICAgIHJldHVybiBtX2NhcHRpb25QcmVmZXJlbmNlcy5nZXQo
KTsKIH0KLQogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXAuaAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlR3JvdXAuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTAgKzM2LDYgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIGNsYXNzIENhcHRpb25Q
cmVmZXJlbmNlc0NoYW5nZWRMaXN0ZW5lcjsKLSAgICBjbGFzcyBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzOwotI2VuZGlmCiAgICAgY2xhc3MgVVJMOwogICAgIGNsYXNzIEdyb3VwU2V0dGluZ3M7CiAg
ICAgY2xhc3MgSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U7CkBAIC00Nyw2ICs0MywxMSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAgICAgY2xhc3Mg
U3RvcmFnZU5hbWVzcGFjZTsKIAorI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBjbGFzcyBD
YXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkTGlzdGVuZXI7CisgICAgY2xhc3MgQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlczsKKyNlbmRpZgorCiAgICAgY2xhc3MgUGFnZUdyb3VwIDogcHVibGljIFN1cHBs
ZW1lbnRhYmxlPFBhZ2VHcm91cD4gewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
R3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CkBAIC02OCw4ICs2
OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBjb25zdCBIYXNoU2V0PFBhZ2Uq
PiYgcGFnZXMoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VzOyB9CiAKLSAgICAgICAgdm9pZCBhZGRQ
YWdlKFBhZ2UqKTsKLSAgICAgICAgdm9pZCByZW1vdmVQYWdlKFBhZ2UqKTsKKyAgICAgICAgdm9p
ZCBhZGRQYWdlKFBhZ2UmKTsKKyAgICAgICAgdm9pZCByZW1vdmVQYWdlKFBhZ2UmKTsKIAogICAg
ICAgICBib29sIGlzTGlua1Zpc2l0ZWQoTGlua0hhc2gpOwogCkBAIC0xMjksMTMgKzEzMCwxMyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFJlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBt
X2xvY2FsU3RvcmFnZTsKICAgICAgICAgSGFzaE1hcDxSZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCBS
ZWZQdHI8U3RvcmFnZU5hbWVzcGFjZT4gPiBtX3RyYW5zaWVudExvY2FsU3RvcmFnZU1hcDsKIAot
ICAgICAgICBPd25QdHI8VXNlclNjcmlwdE1hcD4gbV91c2VyU2NyaXB0czsKLSAgICAgICAgT3du
UHRyPFVzZXJTdHlsZVNoZWV0TWFwPiBtX3VzZXJTdHlsZVNoZWV0czsKKyAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPFVzZXJTY3JpcHRNYXA+IG1fdXNlclNjcmlwdHM7CisgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxVc2VyU3R5bGVTaGVldE1hcD4gbV91c2VyU3R5bGVTaGVldHM7CiAKLSAgICAgICAg
Y29uc3QgT3duUHRyPEdyb3VwU2V0dGluZ3M+IG1fZ3JvdXBTZXR0aW5nczsKKyAgICAgICAgY29u
c3Qgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+IG1fZ3JvdXBTZXR0aW5nczsKIAogI2lm
IEVOQUJMRShWSURFT19UUkFDSykKLSAgICAgICAgT3duUHRyPENhcHRpb25Vc2VyUHJlZmVyZW5j
ZXM+IG1fY2FwdGlvblByZWZlcmVuY2VzOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2FwdGlv
blVzZXJQcmVmZXJlbmNlcz4gbV9jYXB0aW9uUHJlZmVyZW5jZXM7CiAjZW5kaWYKICAgICB9Owog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHRUeXBlcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdFR5cGVzLmgJKHJldmlzaW9uIDE1Njcx
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdFR5cGVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM2LDggKzM2LDggQEAgZW51bSBVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSB7IEluamVj
dEF0RAogY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogY2xhc3MgVXNlclNjcmlwdDsKIAotdHlwZWRl
ZiBWZWN0b3I8T3duUHRyPFVzZXJTY3JpcHQ+ID4gVXNlclNjcmlwdFZlY3RvcjsKLXR5cGVkZWYg
SGFzaE1hcDxSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgT3duUHRyPFVzZXJTY3JpcHRWZWN0b3I+
ID4gVXNlclNjcmlwdE1hcDsKK3R5cGVkZWYgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxVc2VyU2Ny
aXB0Pj4gVXNlclNjcmlwdFZlY3RvcjsKK3R5cGVkZWYgSGFzaE1hcDxSZWZQdHI8RE9NV3JhcHBl
cldvcmxkPiwgc3RkOjp1bmlxdWVfcHRyPFVzZXJTY3JpcHRWZWN0b3I+PiBVc2VyU2NyaXB0TWFw
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1VzZXJTdHlsZVNoZWV0VHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdl
L1VzZXJTdHlsZVNoZWV0VHlwZXMuaAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9Vc2VyU3R5bGVTaGVldFR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3
LDggQEAgZW51bSBVc2VyU3R5bGVMZXZlbCB7IFVzZXJTdHlsZVVzZXJMZXZlbAogY2xhc3MgRE9N
V3JhcHBlcldvcmxkOwogY2xhc3MgVXNlclN0eWxlU2hlZXQ7CiAKLXR5cGVkZWYgVmVjdG9yPE93
blB0cjxVc2VyU3R5bGVTaGVldD4gPiBVc2VyU3R5bGVTaGVldFZlY3RvcjsKLXR5cGVkZWYgSGFz
aE1hcDxSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgT3duUHRyPFVzZXJTdHlsZVNoZWV0VmVjdG9y
PiA+IFVzZXJTdHlsZVNoZWV0TWFwOwordHlwZWRlZiBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFVz
ZXJTdHlsZVNoZWV0Pj4gVXNlclN0eWxlU2hlZXRWZWN0b3I7Cit0eXBlZGVmIEhhc2hNYXA8UmVm
UHRyPERPTVdyYXBwZXJXb3JsZD4sIHN0ZDo6dW5pcXVlX3B0cjxVc2VyU3R5bGVTaGVldFZlY3Rv
cj4+IFVzZXJTdHlsZVNoZWV0TWFwOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAgCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlLmNwcAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9E
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDE1ICs0
MCwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8RGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBQYXNzT3duUHRyPEdyb3VwU2V0dGlu
Z3M+IHNldHRpbmdzLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQqIHRocmVhZCwgY29uc3QgU3RyaW5n
JiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlw
ZSBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0
b3BPcmlnaW4pCitQYXNzUmVmUHRyPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBEZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQqIHRocmVhZCwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQ
b2xpY3lUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4pCiB7Ci0gICAg
UmVmUHRyPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBjb250ZXh0ID0gYWRvcHRSZWYobmV3
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKHVybCwgdXNlckFnZW50LCBzZXR0aW5ncywgdGhy
ZWFkLCB0b3BPcmlnaW4pKTsKKyAgICBSZWZQdHI8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+
IGNvbnRleHQgPSBhZG9wdFJlZihuZXcgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUodXJsLCB1
c2VyQWdlbnQsIHN0ZDo6bW92ZShzZXR0aW5ncyksIHRocmVhZCwgdG9wT3JpZ2luKSk7CiAgICAg
Y29udGV4dC0+YXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnRlbnRTZWN1
cml0eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSk7CiAgICAgcmV0dXJuIGNvbnRl
eHQucmVsZWFzZSgpOwogfQogCi1EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQqIHRocmVhZCwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKQotICAgIDog
V29ya2VyR2xvYmFsU2NvcGUodXJsLCB1c2VyQWdlbnQsIHNldHRpbmdzLCB0aHJlYWQsIHRvcE9y
aWdpbikKK0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVl
X3B0cjxHcm91cFNldHRpbmdzPiBzZXR0aW5ncywgRGVkaWNhdGVkV29ya2VyVGhyZWFkKiB0aHJl
YWQsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbikKKyAgICA6IFdvcmtlckds
b2JhbFNjb3BlKHVybCwgdXNlckFnZW50LCBzdGQ6Om1vdmUoc2V0dGluZ3MpLCB0aHJlYWQsIHRv
cE9yaWdpbikKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNl
L1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBEZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZSA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CiAgICAg
cHVibGljOgogICAgICAgICB0eXBlZGVmIFdvcmtlckdsb2JhbFNjb3BlIEJhc2U7Ci0gICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29u
c3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFBhc3NPd25QdHI8R3JvdXBTZXR0aW5n
cz4sIERlZGljYXRlZFdvcmtlclRocmVhZCosIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5
UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5
UG9saWN5VHlwZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKTsKKyAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZShj
b25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRyPEdyb3Vw
U2V0dGluZ3M+LCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQqLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRT
ZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBlIGNvbnRlbnRT
ZWN1cml0eVBvbGljeVR5cGUsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7
CiAgICAgICAgIHZpcnR1YWwgfkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKCk7CiAKICAgICAg
ICAgdmlydHVhbCBib29sIGlzRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoKSBjb25zdCBPVkVS
UklERSB7IHJldHVybiB0cnVlOyB9CkBAIC02NCw3ICs2NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgRGVkaWNhdGVkV29ya2VyVGhyZWFkKiB0aHJlYWQoKTsKIAogICAgIHByaXZh
dGU6Ci0gICAgICAgIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+LCBEZWRpY2F0ZWRX
b3JrZXJUaHJlYWQqLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4pOworICAg
ICAgICBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+LCBEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQqLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4pOwogICAgIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93
b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAJKHJldmlzaW9uIDE1NjcxMSkKKysrIFNv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTUsOSArNTUsOSBAQCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRX
b3JrZXJUCiB7CiB9CiAKLVBhc3NSZWZQdHI8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdv
cmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBj
b25zdCBTdHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5
OjpIZWFkZXJUeXBlIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIFBhc3NSZWZQdHI8U2VjdXJp
dHlPcmlnaW4+IHRvcE9yaWdpbikKK1Bhc3NSZWZQdHI8V29ya2VyR2xvYmFsU2NvcGU+IERlZGlj
YXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmws
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4g
c2V0dGluZ3MsIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OkhlYWRlclR5cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgUGFzc1Jl
ZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKQogewotICAgIHJldHVybiBEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHVybCwgdXNlckFnZW50LCBzZXR0aW5ncywgdGhpcywg
Y29udGVudFNlY3VyaXR5UG9saWN5LCBjb250ZW50U2VjdXJpdHlQb2xpY3lUeXBlLCB0b3BPcmln
aW4pOworICAgIHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHVybCwg
dXNlckFnZW50LCBzdGQ6Om1vdmUoc2V0dGluZ3MpLCB0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3ksIGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIHRvcE9yaWdpbik7CiB9CiAKIHZvaWQgRGVk
aWNhdGVkV29ya2VyVGhyZWFkOjpydW5FdmVudExvb3AoKQpJbmRleDogU291cmNlL1dlYkNvcmUv
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCShyZXZpc2lvbiAxNTY3MTEpCisr
KyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmly
dHVhbCB+RGVkaWNhdGVkV29ya2VyVGhyZWFkKCk7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFs
U2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFBhc3NPd25QdHI8R3Jv
dXBTZXR0aW5ncz4sIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRv
cE9yaWdpbikgT1ZFUlJJREU7CisgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXb3JrZXJHbG9i
YWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiwgY29uc3QgU3RyaW5n
JiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlw
ZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKSBPVkVSUklERTsKICAgICAg
ICAgdmlydHVhbCB2b2lkIHJ1bkV2ZW50TG9vcCgpIE9WRVJSSURFOwogCiAgICAgcHJpdmF0ZToK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwCShyZXZpc2lvbiAxNTY3MTEpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1No
YXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsMTUgKzUzLDE1
IEBAIFBhc3NSZWZQdHI8TWVzc2FnZUV2ZW50PiBjcmVhdGVDb25uZWN0RXYKIH0KIAogLy8gc3Rh
dGljCi1QYXNzUmVmUHRyPFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlPiBTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZTo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgVVJMJiB1cmwsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBT
aGFyZWRXb3JrZXJUaHJlYWQqIHRocmVhZCwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQ
b2xpY3lUeXBlKQorUGFzc1JlZlB0cjxTaGFyZWRXb3JrZXJHbG9iYWxTY29wZT4gU2hhcmVkV29y
a2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+
IHNldHRpbmdzLCBTaGFyZWRXb3JrZXJUaHJlYWQqIHRocmVhZCwgY29uc3QgU3RyaW5nJiBjb250
ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250
ZW50U2VjdXJpdHlQb2xpY3lUeXBlKQogewotICAgIFJlZlB0cjxTaGFyZWRXb3JrZXJHbG9iYWxT
Y29wZT4gY29udGV4dCA9IGFkb3B0UmVmKG5ldyBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZShuYW1l
LCB1cmwsIHVzZXJBZ2VudCwgc2V0dGluZ3MsIHRocmVhZCkpOworICAgIFJlZlB0cjxTaGFyZWRX
b3JrZXJHbG9iYWxTY29wZT4gY29udGV4dCA9IGFkb3B0UmVmKG5ldyBTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZShuYW1lLCB1cmwsIHVzZXJBZ2VudCwgc3RkOjptb3ZlKHNldHRpbmdzKSwgdGhyZWFk
KSk7CiAgICAgY29udGV4dC0+YXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNv
bnRlbnRTZWN1cml0eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSk7CiAgICAgcmV0
dXJuIGNvbnRleHQucmVsZWFzZSgpOwogfQogCi1TaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6U2hh
cmVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFBhc3NPd25QdHI8R3JvdXBTZXR0aW5ncz4gc2V0dGlu
Z3MsIFNoYXJlZFdvcmtlclRocmVhZCogdGhyZWFkKQotICAgIDogV29ya2VyR2xvYmFsU2NvcGUo
dXJsLCB1c2VyQWdlbnQsIHNldHRpbmdzLCB0aHJlYWQsIDApCitTaGFyZWRXb3JrZXJHbG9iYWxT
Y29wZTo6U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBV
UkwmIHVybCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNl
dHRpbmdzPiBzZXR0aW5ncywgU2hhcmVkV29ya2VyVGhyZWFkKiB0aHJlYWQpCisgICAgOiBXb3Jr
ZXJHbG9iYWxTY29wZSh1cmwsIHVzZXJBZ2VudCwgc3RkOjptb3ZlKHNldHRpbmdzKSwgdGhyZWFk
LCAwKQogICAgICwgbV9uYW1lKG5hbWUpCiB7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oCShyZXZpc2lvbiAxNTY3MTEpCisr
KyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlIDogcHVibGljIFdvcmtlckdsb2JhbFNjb3BlIHsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgV29ya2VyR2xvYmFsU2NvcGUgQmFzZTsKLSAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVkV29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZShjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBQYXNz
T3duUHRyPEdyb3VwU2V0dGluZ3M+LCBTaGFyZWRXb3JrZXJUaHJlYWQqLCBjb25zdCBTdHJpbmcm
IGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBl
IGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUpOworICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
aGFyZWRXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
VVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRp
bmdzPiwgU2hhcmVkV29ya2VyVGhyZWFkKiwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSBjb250ZW50U2VjdXJpdHlQ
b2xpY3lUeXBlKTsKICAgICAgICAgdmlydHVhbCB+U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoKTsK
IAogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSgpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0KQEAgLTU5LDcgKzU5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBTaGFyZWRXb3JrZXJUaHJlYWQqIHRocmVhZCgpOwogCiAgICAgcHJp
dmF0ZToKLSAgICAgICAgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgUGFzc093blB0cjxHcm91cFNl
dHRpbmdzPiwgU2hhcmVkV29ya2VyVGhyZWFkKik7CisgICAgICAgIFNoYXJlZFdvcmtlckdsb2Jh
bFNjb3BlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiwgU2hhcmVkV29ya2VyVGhyZWFk
Kik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51bWJl
ciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSBPVkVSUklE
RTsKIAogICAgICAgICBTdHJpbmcgbV9uYW1lOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvU2hhcmVkV29ya2VyVGhyZWFkLmNwcAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNl
L1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01Myw5ICs1Myw5IEBAIFNoYXJlZFdvcmtlclRocmVhZDo6flNoYXJlZFdvcmtlclRocmVhZCgK
IHsKIH0KIAotUGFzc1JlZlB0cjxXb3JrZXJHbG9iYWxTY29wZT4gU2hhcmVkV29ya2VyVGhyZWFk
OjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIFBhc3NPd25QdHI8R3JvdXBTZXR0aW5ncz4gc2V0dGluZ3MsIGNvbnN0IFN0cmlu
ZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5
cGUgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4p
CitQYXNzUmVmUHRyPFdvcmtlckdsb2JhbFNjb3BlPiBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBjb25zdCBTdHJpbmcm
IGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFkZXJUeXBl
IGNvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+KQog
ewotICAgIHJldHVybiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKG1fbmFtZSwgdXJs
LCB1c2VyQWdlbnQsIHNldHRpbmdzLCB0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnRl
bnRTZWN1cml0eVBvbGljeVR5cGUpOworICAgIHJldHVybiBTaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZTo6Y3JlYXRlKG1fbmFtZSwgdXJsLCB1c2VyQWdlbnQsIHN0ZDo6bW92ZShzZXR0aW5ncyksIHRo
aXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
U2hhcmVkV29ya2VyVGhyZWFkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9TaGFyZWRXb3JrZXJUaHJlYWQuaAkocmV2aXNpb24gMTU2NzExKQorKysgU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyAr
NDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgflNoYXJlZFdvcmtl
clRocmVhZCgpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+LCBjb25zdCBT
dHJpbmcmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpIZWFk
ZXJUeXBlLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW4pIE9WRVJSSURFOwor
ICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBzdGQ6OnVu
aXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUsIFBhc3NSZWZQdHI8U2VjdXJp
dHlPcmlnaW4+IHRvcE9yaWdpbikgT1ZFUlJJREU7CiAKICAgICBwcml2YXRlOgogICAgICAgICBT
aGFyZWRXb3JrZXJUaHJlYWQoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBVUkwmLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgR3JvdXBTZXR0aW5ncyosIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJSZXBvcnRpbmdQcm94eSYsIFdvcmtl
clRocmVhZFN0YXJ0TW9kZSwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENv
bnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAkocmV2aXNpb24gMTU2NzExKQorKysgU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTg0LDEwICs4NCwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzQ2xlYW51cFRh
c2soKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiB9OwogCi1Xb3JrZXJHbG9iYWxTY29wZTo6V29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBQ
YXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBXb3JrZXJUaHJlYWQqIHRocmVhZCwg
UGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKQorV29ya2VyR2xvYmFsU2NvcGU6
Oldvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgc3RkOjp1bmlxdWVfcHRyPEdyb3VwU2V0dGluZ3M+IHNldHRpbmdzLCBXb3JrZXJUaHJlYWQq
IHRocmVhZCwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKQogICAgIDogbV91
cmwodXJsKQogICAgICwgbV91c2VyQWdlbnQodXNlckFnZW50KQotICAgICwgbV9ncm91cFNldHRp
bmdzKHNldHRpbmdzKQorICAgICwgbV9ncm91cFNldHRpbmdzKHN0ZDo6bW92ZShzZXR0aW5ncykp
CiAgICAgLCBtX3NjcmlwdChhZG9wdFB0cihuZXcgV29ya2VyU2NyaXB0Q29udHJvbGxlcih0aGlz
KSkpCiAgICAgLCBtX3RocmVhZCh0aHJlYWQpCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgJKHJldmlzaW9uIDE1
NjcxMSkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTM5LDcgKzEzOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCBTZWN1cml0eU9yaWdpbiogdG9wT3JpZ2luKCkgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gbV90b3BPcmlnaW4uZ2V0KCk7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgV29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIFBhc3NP
d25QdHI8R3JvdXBTZXR0aW5ncz4sIFdvcmtlclRocmVhZCosIFBhc3NSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+IHRvcE9yaWdpbik7CisgICAgICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBzdGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4s
IFdvcmtlclRocmVhZCosIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7CiAg
ICAgICAgIHZvaWQgYXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0
cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRl
clR5cGUpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29u
c3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGlu
ZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSBP
VkVSUklERTsKQEAgLTE2MSw3ICsxNjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAg
ICAgVVJMIG1fdXJsOwogICAgICAgICBTdHJpbmcgbV91c2VyQWdlbnQ7Ci0gICAgICAgIE93blB0
cjxHcm91cFNldHRpbmdzPiBtX2dyb3VwU2V0dGluZ3M7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxHcm91cFNldHRpbmdzPiBtX2dyb3VwU2V0dGluZ3M7CiAKICAgICAgICAgbXV0YWJsZSBSZWZQ
dHI8V29ya2VyTG9jYXRpb24+IG1fbG9jYXRpb247CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFdv
cmtlck5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclRocmVhZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCShyZXZpc2lvbiAxNTY3MTEpCisrKyBTb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcgKzc2LDcgQEAgcHVi
bGljOgogCiAgICAgVVJMIG1fc2NyaXB0VVJMOwogICAgIFN0cmluZyBtX3VzZXJBZ2VudDsKLSAg
ICBPd25QdHI8R3JvdXBTZXR0aW5ncz4gbV9ncm91cFNldHRpbmdzOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxHcm91cFNldHRpbmdzPiBtX2dyb3VwU2V0dGluZ3M7CiAgICAgU3RyaW5nIG1fc291cmNl
Q29kZTsKICAgICBXb3JrZXJUaHJlYWRTdGFydE1vZGUgbV9zdGFydE1vZGU7CiAgICAgU3RyaW5n
IG1fY29udGVudFNlY3VyaXR5UG9saWN5OwpAQCAtOTgsNyArOTgsNyBAQCBXb3JrZXJUaHJlYWRT
dGFydHVwRGF0YTo6V29ya2VyVGhyZWFkU3RhCiAgICAgaWYgKCFzZXR0aW5ncykKICAgICAgICAg
cmV0dXJuOwogCi0gICAgbV9ncm91cFNldHRpbmdzID0gR3JvdXBTZXR0aW5nczo6Y3JlYXRlKCk7
CisgICAgbV9ncm91cFNldHRpbmdzID0gc3RkOjptYWtlX3VuaXF1ZTxHcm91cFNldHRpbmdzPigp
OwogICAgIG1fZ3JvdXBTZXR0aW5ncy0+c2V0TG9jYWxTdG9yYWdlUXVvdGFCeXRlcyhzZXR0aW5n
cy0+bG9jYWxTdG9yYWdlUXVvdGFCeXRlcygpKTsKICAgICBtX2dyb3VwU2V0dGluZ3MtPnNldElu
ZGV4ZWREQlF1b3RhQnl0ZXMoc2V0dGluZ3MtPmluZGV4ZWREQlF1b3RhQnl0ZXMoKSk7CiAgICAg
bV9ncm91cFNldHRpbmdzLT5zZXRJbmRleGVkREJEYXRhYmFzZVBhdGgoc2V0dGluZ3MtPmluZGV4
ZWREQkRhdGFiYXNlUGF0aCgpLmlzb2xhdGVkQ29weSgpKTsKQEAgLTE0Niw3ICsxNDYsNyBAQCB2
b2lkIFdvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKCkKIHsKICAgICB7CiAgICAgICAgIE11dGV4
TG9ja2VyIGxvY2sobV90aHJlYWRDcmVhdGlvbk11dGV4KTsKLSAgICAgICAgbV93b3JrZXJHbG9i
YWxTY29wZSA9IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKG1fc3RhcnR1cERhdGEtPm1fc2NyaXB0
VVJMLCBtX3N0YXJ0dXBEYXRhLT5tX3VzZXJBZ2VudCwgbV9zdGFydHVwRGF0YS0+bV9ncm91cFNl
dHRpbmdzLnJlbGVhc2UoKSwgbV9zdGFydHVwRGF0YS0+bV9jb250ZW50U2VjdXJpdHlQb2xpY3ks
IG1fc3RhcnR1cERhdGEtPm1fY29udGVudFNlY3VyaXR5UG9saWN5VHlwZSwgbV9zdGFydHVwRGF0
YS0+bV90b3BPcmlnaW4ucmVsZWFzZSgpKTsKKyAgICAgICAgbV93b3JrZXJHbG9iYWxTY29wZSA9
IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKG1fc3RhcnR1cERhdGEtPm1fc2NyaXB0VVJMLCBtX3N0
YXJ0dXBEYXRhLT5tX3VzZXJBZ2VudCwgc3RkOjptb3ZlKG1fc3RhcnR1cERhdGEtPm1fZ3JvdXBT
ZXR0aW5ncyksIG1fc3RhcnR1cERhdGEtPm1fY29udGVudFNlY3VyaXR5UG9saWN5LCBtX3N0YXJ0
dXBEYXRhLT5tX2NvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIG1fc3RhcnR1cERhdGEtPm1fdG9w
T3JpZ2luLnJlbGVhc2UoKSk7CiAKICAgICAgICAgaWYgKG1fcnVuTG9vcC50ZXJtaW5hdGVkKCkp
IHsKICAgICAgICAgICAgIC8vIFRoZSB3b3JrZXIgd2FzIHRlcm1pbmF0ZWQgYmVmb3JlIHRoZSB0
aHJlYWQgaGFkIGEgY2hhbmNlIHRvIHJ1bi4gU2luY2UgdGhlIGNvbnRleHQgZGlkbid0IGV4aXN0
IHlldCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAkocmV2aXNpb24g
MTU2NzExKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFdv
cmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgR3Jv
dXBTZXR0aW5ncyosICBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5
JiwgV29ya2VyUmVwb3J0aW5nUHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IFN0
cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRl
clR5cGUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luKiB0b3BPcmlnaW4pOwogCiAgICAgICAgIC8vIEZh
Y3RvcnkgbWV0aG9kIGZvciBjcmVhdGluZyBhIG5ldyB3b3JrZXIgY29udGV4dCBmb3IgdGhlIHRo
cmVhZC4KLSAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVh
dGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
UGFzc093blB0cjxHcm91cFNldHRpbmdzPiwgY29uc3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6SGVhZGVyVHlwZSwgUGFzc1JlZlB0cjxTZWN1
cml0eU9yaWdpbj4gdG9wT3JpZ2luKSA9IDA7CisgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxX
b3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIHN0ZDo6dW5pcXVlX3B0cjxHcm91cFNldHRpbmdzPiwgY29u
c3QgU3RyaW5nJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
SGVhZGVyVHlwZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luKSA9IDA7CiAK
ICAgICAgICAgLy8gRXhlY3V0ZXMgdGhlIGV2ZW50IGxvb3AgZm9yIHRoZSB3b3JrZXIgdGhyZWFk
LiBEZXJpdmVkIGNsYXNzZXMgY2FuIG92ZXJyaWRlIHRvIHBlcmZvcm0gYWN0aW9ucyBiZWZvcmUv
YWZ0ZXIgZW50ZXJpbmcgdGhlIGV2ZW50IGxvb3AuCiAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5F
dmVudExvb3AoKTsK
</data>
<flag name="review"
          id="235436"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="235444"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>