<?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>195381</bug_id>
          
          <creation_ts>2019-03-06 14:51:03 -0800</creation_ts>
          <short_desc>Followups to (r242306): Use LockHolder instead of std::lock_guard on Remote Inspector Locks</short_desc>
          <delta_ts>2019-03-06 16:07:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Christopher Reid">chris.reid</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1513210</commentid>
    <comment_count>0</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2019-03-06 14:51:03 -0800</bug_when>
    <thetext>In https://bugs.webkit.org/show_bug.cgi?id=193806, Don and Devin suggested to use `WTF::LockHolder` instead of `std::lock_guard` for the remote inspector Locks.
Darin also mentioned that `struct sockaddr_in address = { }` will initialize the struct without memset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513217</commentid>
    <comment_count>1</comment_count>
      <attachid>363798</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2019-03-06 15:07:06 -0800</bug_when>
    <thetext>Created attachment 363798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513225</commentid>
    <comment_count>2</comment_count>
      <attachid>363798</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-03-06 15:12:04 -0800</bug_when>
    <thetext>Comment on attachment 363798
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513250</commentid>
    <comment_count>3</comment_count>
      <attachid>363798</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-06 16:06:53 -0800</bug_when>
    <thetext>Comment on attachment 363798
Patch

Clearing flags on attachment: 363798

Committed r242576: &lt;https://trac.webkit.org/changeset/242576&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513251</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-06 16:06:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513252</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-06 16:07:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/48656981&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363798</attachid>
            <date>2019-03-06 15:07:06 -0800</date>
            <delta_ts>2019-03-06 16:06:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195381-20190306150100.patch</filename>
            <type>text/plain</type>
            <size>25989</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
MmM3MzM1YWI4ZDQzNTQ0NmQyYTFiZTBjN2JhMGJlNzczMTU4ODliLi42OGI5ZTQyMzI2ZjcyZTNm
YjZiYjZkNWI1NWY3NDQ0YzU3ODNjOGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOS0wMy0wNiAgQ2hyaXN0b3BoZXIgUmVpZCAgPGNocmlzLnJlaWRAc29u
eS5jb20+CisKKyAgICAgICAgRm9sbG93dXBzIHRvIChyMjQyMzA2KTogVXNlIExvY2tIb2xkZXIg
aW5zdGVhZCBvZiBzdGQ6OmxvY2tfZ3VhcmQgb24gUmVtb3RlIEluc3BlY3RvciBMb2NrcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MzgxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjaW5nIHN0
ZDo6bG9ja19ndWFyZCB1c2VzIGluIFJlbW90ZSBJbnNwZWN0b3Igd2l0aCBXVEY6OkxvY2tIb2xk
ZXIuCisgICAgICAgIEFsc28gdXNpbmcgYD0geyB9YCBmb3Igc3RydWN0IGluaXRpYWxpemF0aW9u
IGluc3RlYWQgb2YgbWVtZXNldC4KKworICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3Rl
Q29ubmVjdGlvblRvVGFyZ2V0LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL1JlbW90
ZUluc3BlY3Rvci5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVD
b25uZWN0aW9uVG9UYXJnZXRDb2NvYS5tbToKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2Nv
Y29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUv
Y29jb2EvUmVtb3RlSW5zcGVjdG9yWFBDQ29ubmVjdGlvbi5tbToKKyAgICAgICAgKiBpbnNwZWN0
b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVjdG9yR2xpYi5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL3JlbW90ZS9wbGF5c3RhdGlvbi9SZW1vdGVJbnNwZWN0b3JQbGF5U3RhdGlvbi5jcHA6Cisg
ICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9wbGF5c3RhdGlvbi9SZW1vdGVJbnNwZWN0b3JTb2Nr
ZXRDbGllbnRQbGF5U3RhdGlvbi5jcHA6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9wbGF5
c3RhdGlvbi9SZW1vdGVJbnNwZWN0b3JTb2NrZXRQbGF5U3RhdGlvbi5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL3JlbW90ZS9wbGF5c3RhdGlvbi9SZW1vdGVJbnNwZWN0b3JTb2NrZXRTZXJ2ZXJQ
bGF5U3RhdGlvbi5jcHA6CisKIDIwMTktMDMtMDUgIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgb3Bfc3dpdGNoX2NoYXIgYnJva2VuIGZvciByb3BlIHN0cmluZ3Mg
YWZ0ZXIgSlNSb3BlU3RyaW5nIGxheW91dCByZXdyaXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlQ29ubmVjdGlv
blRvVGFyZ2V0LmNwcAppbmRleCA1ZGRlODg4MDliMjU0MWYzMzJhMjA1ZGVjMGFkZGY1ZWU1MDNj
YzQyLi5kZDFlNzAzNTAzYmVlNDIyYjFmZWQ2YTM2MjhmOTBmZTAwZjE5ZDJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L1JlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldC5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgUmVtb3RlQ29u
bmVjdGlvblRvVGFyZ2V0Ojp+UmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0KCkKIAogYm9vbCBSZW1v
dGVDb25uZWN0aW9uVG9UYXJnZXQ6OnNldHVwKGJvb2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9uLCBi
b29sIGF1dG9tYXRpY2FsbHlQYXVzZSkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9j
ayhtX3RhcmdldE11dGV4KTsKKyAgICBMb2NrSG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7CiAg
ICAgaWYgKCFtX3RhcmdldCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC03NSw3ICs3NSw3
IEBAIHZvaWQgUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0OjpzZW5kTWVzc2FnZVRvVGFyZ2V0KGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBSZW1vdGVDb250cm9sbGFibGVUYXJnZXQqIHRh
cmdldCA9IG51bGxwdHI7CiAgICAgewotICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9j
ayhtX3RhcmdldE11dGV4KTsKKyAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fdGFyZ2V0TXV0ZXgp
OwogICAgICAgICBpZiAoIW1fdGFyZ2V0KQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB0
YXJnZXQgPSBtX3RhcmdldDsKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBSZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQ6OnNlbmRNZXNzYWdlVG9UYXJnZXQoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogCiB2
b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6Y2xvc2UoKQogewotICAgIHN0ZDo6bG9ja19n
dWFyZDxMb2NrPiBsb2NrKG1fdGFyZ2V0TXV0ZXgpOworICAgIExvY2tIb2xkZXIgbG9jayhtX3Rh
cmdldE11dGV4KTsKICAgICBpZiAoIW1fdGFyZ2V0KQogICAgICAgICByZXR1cm47CiAKQEAgLTEw
Miw3ICsxMDIsNyBAQCB2b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6Y2xvc2UoKQogCiB2
b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6dGFyZ2V0Q2xvc2VkKCkKIHsKLSAgICBzdGQ6
OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX3RhcmdldE11dGV4KTsKKyAgICBMb2NrSG9sZGVyIGxv
Y2sobV90YXJnZXRNdXRleCk7CiAgICAgbV90YXJnZXQgPSBudWxscHRyOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5z
cGVjdG9yLmNwcAppbmRleCAzYjEwZjI5MTA1Y2U0MjZiN2I2ZWNhNDM4OGRmYTdjNjYyYmYxODlk
Li5jN2RhYmY2MDc0ODM1ZGI2YzQxMjE4NjNlMWExYjE3YzA5MDY3ZmI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3Bl
Y3Rvci5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnJlZ2lzdGVy
VGFyZ2V0KFJlbW90ZUNvbnRyb2xsYWJsZVRhcmdldCogdGFyZ2V0KQogewogICAgIEFTU0VSVF9B
UkcodGFyZ2V0LCB0YXJnZXQpOwogCi0gICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9t
dXRleCk7CisgICAgTG9ja0hvbGRlciBsb2NrKG1fbXV0ZXgpOwogCiAgICAgdW5zaWduZWQgdGFy
Z2V0SWRlbnRpZmllciA9IG5leHRBdmFpbGFibGVUYXJnZXRJZGVudGlmaWVyKCk7CiAgICAgdGFy
Z2V0LT5zZXRUYXJnZXRJZGVudGlmaWVyKHRhcmdldElkZW50aWZpZXIpOwpAQCAtODAsNyArODAs
NyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6dW5yZWdpc3RlclRhcmdldChSZW1vdGVDb250cm9s
bGFibGVUYXJnZXQqIHRhcmdldCkKIHsKICAgICBBU1NFUlRfQVJHKHRhcmdldCwgdGFyZ2V0KTsK
IAotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgIExvY2tIb2xk
ZXIgbG9jayhtX211dGV4KTsKIAogICAgIHVuc2lnbmVkIHRhcmdldElkZW50aWZpZXIgPSB0YXJn
ZXQtPnRhcmdldElkZW50aWZpZXIoKTsKICAgICBpZiAoIXRhcmdldElkZW50aWZpZXIpCkBAIC0x
MDIsNyArMTAyLDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnVwZGF0ZVRhcmdldChSZW1vdGVD
b250cm9sbGFibGVUYXJnZXQqIHRhcmdldCkKIHsKICAgICBBU1NFUlRfQVJHKHRhcmdldCwgdGFy
Z2V0KTsKIAotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgIExv
Y2tIb2xkZXIgbG9jayhtX211dGV4KTsKIAogICAgIHVuc2lnbmVkIHRhcmdldElkZW50aWZpZXIg
PSB0YXJnZXQtPnRhcmdldElkZW50aWZpZXIoKTsKICAgICBpZiAoIXRhcmdldElkZW50aWZpZXIp
CkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnVwZGF0ZUNsaWVudENh
cGFiaWxpdGllcygpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIHN0ZDo6
bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgIExvY2tIb2xkZXIgbG9jayhtX211
dGV4KTsKIAogICAgIGlmICghbV9jbGllbnQpCiAgICAgICAgIG1fY2xpZW50Q2FwYWJpbGl0aWVz
ID0gV1RGOjpudWxsb3B0OwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9y
OjpzZXRDbGllbnQoUmVtb3RlSW5zcGVjdG9yOjpDbGllbnQqIGNsaWVudCkKICAgICBBU1NFUlQo
KG1fY2xpZW50ICYmICFjbGllbnQpIHx8ICghbV9jbGllbnQgJiYgY2xpZW50KSk7CiAKICAgICB7
Ci0gICAgICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgICAgICBM
b2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAgICAgICAgIG1fY2xpZW50ID0gY2xpZW50OwogICAg
IH0KIApAQCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzZXRDbGllbnQo
UmVtb3RlSW5zcGVjdG9yOjpDbGllbnQqIGNsaWVudCkKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6
OnNldHVwRmFpbGVkKHVuc2lnbmVkIHRhcmdldElkZW50aWZpZXIpCiB7Ci0gICAgc3RkOjpsb2Nr
X2d1YXJkPExvY2s+IGxvY2sobV9tdXRleCk7CisgICAgTG9ja0hvbGRlciBsb2NrKG1fbXV0ZXgp
OwogCiAgICAgbV90YXJnZXRDb25uZWN0aW9uTWFwLnJlbW92ZSh0YXJnZXRJZGVudGlmaWVyKTsK
IApAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzZXR1cEZhaWxlZCh1
bnNpZ25lZCB0YXJnZXRJZGVudGlmaWVyKQogCiB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c2V0dXBD
b21wbGV0ZWQodW5zaWduZWQgdGFyZ2V0SWRlbnRpZmllcikKIHsKLSAgICBzdGQ6OmxvY2tfZ3Vh
cmQ8TG9jaz4gbG9jayhtX211dGV4KTsKKyAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAK
ICAgICBpZiAodGFyZ2V0SWRlbnRpZmllciA9PSBtX2F1dG9tYXRpY0luc3BlY3Rpb25DYW5kaWRh
dGVUYXJnZXRJZGVudGlmaWVyKQogICAgICAgICBtX2F1dG9tYXRpY0luc3BlY3Rpb25QYXVzZWQg
PSBmYWxzZTsKQEAgLTE5Miw3ICsxOTIsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6Y2xpZW50
Q2FwYWJpbGl0aWVzRGlkQ2hhbmdlKCkKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnN0b3AoKQog
ewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgIExvY2tIb2xk
ZXIgbG9jayhtX211dGV4KTsKIAogICAgIHN0b3BJbnRlcm5hbChTdG9wU291cmNlOjpBUEkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29j
b2EvUmVtb3RlQ29ubmVjdGlvblRvVGFyZ2V0Q29jb2EubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXRDb2NvYS5t
bQppbmRleCAyZmFmYTEyMTFiY2ZkZDQ3YzFmNjA0MDFhNmEzMzMzNmQzYWM4YzM3Li5iNDc0MGM2
ZjMwOTI4ZDM3YjhjMjU5YmZmNGVhOWJmMDE1MzY5ZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVDb25uZWN0aW9uVG9UYXJn
ZXRDb2NvYS5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9j
b2NvYS9SZW1vdGVDb25uZWN0aW9uVG9UYXJnZXRDb2NvYS5tbQpAQCAtNTMsNyArNTMsNyBAQCBz
dGF0aWMgdm9pZCBSZW1vdGVUYXJnZXRIYW5kbGVSdW5Tb3VyY2VHbG9iYWwodm9pZCopCiAKICAg
ICBSZW1vdGVUYXJnZXRRdWV1ZSBxdWV1ZUNvcHk7CiAgICAgewotICAgICAgICBzdGQ6OmxvY2tf
Z3VhcmQ8TG9jaz4gbG9jayhyd2lRdWV1ZU11dGV4KTsKKyAgICAgICAgTG9ja0hvbGRlciBsb2Nr
KHJ3aVF1ZXVlTXV0ZXgpOwogICAgICAgICBxdWV1ZUNvcHkgPSAqcndpUXVldWU7CiAgICAgICAg
IHJ3aVF1ZXVlLT5jbGVhcigpOwogICAgIH0KQEAgLTY4LDcgKzY4LDcgQEAgc3RhdGljIHZvaWQg
UmVtb3RlVGFyZ2V0UXVldWVUYXNrT25HbG9iYWxRdWV1ZSh2b2lkIChedGFzaykoKSkKICAgICBB
U1NFUlQocndpUXVldWUpOwogCiAgICAgewotICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4g
bG9jayhyd2lRdWV1ZU11dGV4KTsKKyAgICAgICAgTG9ja0hvbGRlciBsb2NrKHJ3aVF1ZXVlTXV0
ZXgpOwogICAgICAgICByd2lRdWV1ZS0+YXBwZW5kKHRhc2spOwogICAgIH0KIApAQCAtOTcsNyAr
OTcsNyBAQCBzdGF0aWMgdm9pZCBSZW1vdGVUYXJnZXRIYW5kbGVSdW5Tb3VyY2VXaXRoSW5mbyh2
b2lkKiBpbmZvKQogCiAgICAgUmVtb3RlVGFyZ2V0UXVldWUgcXVldWVDb3B5OwogICAgIHsKLSAg
ICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2soY29ubmVjdGlvblRvVGFyZ2V0LT5xdWV1
ZU11dGV4KCkpOworICAgICAgICBMb2NrSG9sZGVyIGxvY2soY29ubmVjdGlvblRvVGFyZ2V0LT5x
dWV1ZU11dGV4KCkpOwogICAgICAgICBxdWV1ZUNvcHkgPSBjb25uZWN0aW9uVG9UYXJnZXQtPnF1
ZXVlKCk7CiAgICAgICAgIGNvbm5lY3Rpb25Ub1RhcmdldC0+Y2xlYXJRdWV1ZSgpOwogICAgIH0K
QEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6ZGlzcGF0
Y2hBc3luY09uVGFyZ2V0KHZvaWQgKF5ibG9jaykoKSkKIAogYm9vbCBSZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQ6OnNldHVwKGJvb2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9uLCBib29sIGF1dG9tYXRp
Y2FsbHlQYXVzZSkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX3RhcmdldE11
dGV4KTsKKyAgICBMb2NrSG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7CiAKICAgICBpZiAoIW1f
dGFyZ2V0KQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNjQsNyArMTY0LDcgQEAgYm9vbCBS
ZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6OnNldHVwKGJvb2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9u
LCBib29sIGF1dG9tYXRpY2EKICAgICByZWYoKTsKICAgICBkaXNwYXRjaEFzeW5jT25UYXJnZXQo
XnsKICAgICAgICAgewotICAgICAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV90
YXJnZXRNdXRleCk7CisgICAgICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7
CiAKICAgICAgICAgICAgIGlmICghbV90YXJnZXQgfHwgIW1fdGFyZ2V0LT5yZW1vdGVDb250cm9s
QWxsb3dlZCgpKSB7CiAgICAgICAgICAgICAgICAgUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24o
KS5zZXR1cEZhaWxlZCh0YXJnZXRJZGVudGlmaWVyKTsKQEAgLTE5MSw3ICsxOTEsNyBAQCBib29s
IFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6c2V0dXAoYm9vbCBpc0F1dG9tYXRpY0luc3BlY3Rp
b24sIGJvb2wgYXV0b21hdGljYQogCiB2b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6dGFy
Z2V0Q2xvc2VkKCkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX3RhcmdldE11
dGV4KTsKKyAgICBMb2NrSG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7CiAKICAgICBtX3Rhcmdl
dCA9IG51bGxwdHI7CiB9CkBAIC0yMDMsNyArMjAzLDcgQEAgdm9pZCBSZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQ6OmNsb3NlKCkKICAgICByZWYoKTsKICAgICBkaXNwYXRjaEFzeW5jT25UYXJnZXQo
XnsKICAgICAgICAgewotICAgICAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV90
YXJnZXRNdXRleCk7CisgICAgICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV90YXJnZXRNdXRleCk7
CiAgICAgICAgICAgICBpZiAobV90YXJnZXQpIHsKICAgICAgICAgICAgICAgICBpZiAobV9jb25u
ZWN0ZWQpCiAgICAgICAgICAgICAgICAgICAgIG1fdGFyZ2V0LT5kaXNjb25uZWN0KCp0aGlzKTsK
QEAgLTIyNCw3ICsyMjQsNyBAQCB2b2lkIFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldDo6c2VuZE1l
c3NhZ2VUb1RhcmdldChOU1N0cmluZyAqbWVzc2FnZSkKICAgICAgICAgewogICAgICAgICAgICAg
UmVtb3RlQ29udHJvbGxhYmxlVGFyZ2V0KiB0YXJnZXQgPSBudWxscHRyOwogICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fdGFyZ2V0TXV0
ZXgpOworICAgICAgICAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3RhcmdldE11dGV4KTsKICAg
ICAgICAgICAgICAgICBpZiAoIW1fdGFyZ2V0KQogICAgICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gbV90YXJnZXQ7CkBAIC0yNzgsNyArMjc4LDcgQEAg
dm9pZCBSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ6OnF1ZXVlVGFza09uUHJpdmF0ZVJ1bkxvb3Ao
dm9pZCAoXmJsb2NrKSgpKQogICAgIEFTU0VSVChtX3J1bkxvb3ApOwogCiAgICAgewotICAgICAg
ICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX3F1ZXVlTXV0ZXgpOworICAgICAgICBMb2Nr
SG9sZGVyIGxvY2sobV9xdWV1ZU11dGV4KTsKICAgICAgICAgbV9xdWV1ZS5hcHBlbmQoYmxvY2sp
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbQppbmRleCA2
MTg4MDY5NzM5YTcyNzI3NGZmYjQ5MGE2YTc4N2E5MjgyYjIyNzY5Li42MDU2N2JmZThiYTQ5Zjk5
N2E1MTRjOTUxMDc5YWNlNGY2ZWUwNDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbQorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0
b3JDb2NvYS5tbQpAQCAtMTIwLDcgKzEyMCw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjp1cGRh
dGVBdXRvbWF0aWNJbnNwZWN0aW9uQ2FuZGlkYXRlKFJlbW90ZUluc3BlY3Rpb25UYXJnZXQqCiB7
CiAgICAgQVNTRVJUX0FSRyh0YXJnZXQsIHRhcmdldCk7CiAgICAgewotICAgICAgICBzdGQ6Omxv
Y2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsKKyAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1f
bXV0ZXgpOwogCiAgICAgICAgIHVuc2lnbmVkIHRhcmdldElkZW50aWZpZXIgPSB0YXJnZXQtPnRh
cmdldElkZW50aWZpZXIoKTsKICAgICAgICAgaWYgKCF0YXJnZXRJZGVudGlmaWVyKQpAQCAtMTY3
LDcgKzE2Nyw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjp1cGRhdGVBdXRvbWF0aWNJbnNwZWN0
aW9uQ2FuZGlkYXRlKFJlbW90ZUluc3BlY3Rpb25UYXJnZXQqCiAgICAgICAgIGludDY0X3QgZGVi
dWdnZXJUaW1lb3V0RGVsYXkgPSAxOwogI2VuZGlmCiAgICAgICAgIGRpc3BhdGNoX2FmdGVyKGRp
c3BhdGNoX3RpbWUoRElTUEFUQ0hfVElNRV9OT1csIGRlYnVnZ2VyVGltZW91dERlbGF5ICogTlNF
Q19QRVJfU0VDKSwgZGlzcGF0Y2hfZ2V0X2dsb2JhbF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklP
UklUWV9ERUZBVUxULCAwKSwgXnsKLSAgICAgICAgICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBs
b2NrKG1fbXV0ZXgpOworICAgICAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fbXV0ZXgpOwogICAg
ICAgICAgICAgaWYgKG1fYXV0b21hdGljSW5zcGVjdGlvbkNhbmRpZGF0ZVRhcmdldElkZW50aWZp
ZXIgPT0gdGFyZ2V0SWRlbnRpZmllcikgewogICAgICAgICAgICAgICAgIExPR19FUlJPUigiU2tp
cHBpbmcgQXV0b21hdGljIEluc3BlY3Rpb24gQ2FuZGlkYXRlIHdpdGggcGFnZUlkKCV1KSBiZWNh
dXNlIHdlIGZhaWxlZCB0byByZWNlaXZlIGEgcmVzcG9uc2UgaW4gdGltZS4iLCBtX2F1dG9tYXRp
Y0luc3BlY3Rpb25DYW5kaWRhdGVUYXJnZXRJZGVudGlmaWVyKTsKICAgICAgICAgICAgICAgICBt
X2F1dG9tYXRpY0luc3BlY3Rpb25QYXVzZWQgPSBmYWxzZTsKQEAgLTE3OCw3ICsxNzgsNyBAQCB2
b2lkIFJlbW90ZUluc3BlY3Rvcjo6dXBkYXRlQXV0b21hdGljSW5zcGVjdGlvbkNhbmRpZGF0ZShS
ZW1vdGVJbnNwZWN0aW9uVGFyZ2V0KgogICAgIHRhcmdldC0+cGF1c2VXYWl0aW5nRm9yQXV0b21h
dGljSW5zcGVjdGlvbigpOwogCiAgICAgewotICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4g
bG9jayhtX211dGV4KTsKKyAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fbXV0ZXgpOwogCiAgICAg
ICAgIEFTU0VSVChtX2F1dG9tYXRpY0luc3BlY3Rpb25DYW5kaWRhdGVUYXJnZXRJZGVudGlmaWVy
KTsKICAgICAgICAgbV9hdXRvbWF0aWNJbnNwZWN0aW9uQ2FuZGlkYXRlVGFyZ2V0SWRlbnRpZmll
ciA9IDA7CkBAIC0xOTksNyArMTk5LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnNlbmRBdXRv
bWF0aWNJbnNwZWN0aW9uQ2FuZGlkYXRlTWVzc2FnZSgpCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9y
OjpzZW5kTWVzc2FnZVRvUmVtb3RlKHVuc2lnbmVkIHRhcmdldElkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4
KTsKKyAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAKICAgICBpZiAoIW1fcmVsYXlDb25u
ZWN0aW9uKQogICAgICAgICByZXR1cm47CkBAIC0yMTksNyArMjE5LDcgQEAgdm9pZCBSZW1vdGVJ
bnNwZWN0b3I6OnNlbmRNZXNzYWdlVG9SZW1vdGUodW5zaWduZWQgdGFyZ2V0SWRlbnRpZmllciwg
Y29uc3QgU3RyaW4KIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0KCkKIHsKLSAgICBzdGQ6
OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsKKyAgICBMb2NrSG9sZGVyIGxvY2sobV9t
dXRleCk7CiAKICAgICBpZiAobV9lbmFibGVkKQogICAgICAgICByZXR1cm47CkBAIC0yNzQsNyAr
Mjc0LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnN0b3BJbnRlcm5hbChTdG9wU291cmNlIHNv
dXJjZSkKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnNldHVwWFBDQ29ubmVjdGlvbklmTmVlZGVk
KCkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsKKyAgICBMb2Nr
SG9sZGVyIGxvY2sobV9tdXRleCk7CiAKICAgICBpZiAobV9yZWxheUNvbm5lY3Rpb24pCiAgICAg
ICAgIHJldHVybjsKQEAgLTI5OSw3ICsyOTksNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c2V0
dXBYUENDb25uZWN0aW9uSWZOZWVkZWQoKQogCiB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c2V0UGFy
ZW50UHJvY2Vzc0luZm9ybWF0aW9uKHBpZF90IHBpZCwgUmV0YWluUHRyPENGRGF0YVJlZj4gYXVk
aXREYXRhKQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAg
IExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKIAogICAgIGlmIChtX3BhcmVudFByb2Nlc3NJZGVu
dGlmaWVyIHx8IG1fcGFyZW50UHJvY2Vzc0F1ZGl0RGF0YSkKICAgICAgICAgcmV0dXJuOwpAQCAt
MzE1LDcgKzMxNSw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzZXRQYXJlbnRQcm9jZXNzSW5m
b3JtYXRpb24ocGlkX3QgcGlkLCBSZXRhaW5QdHI8Q0ZEYXRhUmVmCiAKIHZvaWQgUmVtb3RlSW5z
cGVjdG9yOjp4cGNDb25uZWN0aW9uUmVjZWl2ZWRNZXNzYWdlKFJlbW90ZUluc3BlY3RvclhQQ0Nv
bm5lY3Rpb24qLCBOU1N0cmluZyAqbWVzc2FnZU5hbWUsIE5TRGljdGlvbmFyeSAqdXNlckluZm8p
CiB7Ci0gICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9tdXRleCk7CisgICAgTG9ja0hv
bGRlciBsb2NrKG1fbXV0ZXgpOwogCiAgICAgaWYgKFttZXNzYWdlTmFtZSBpc0VxdWFsVG9TdHJp
bmc6V0lSUGVybWlzc2lvbkRlbmllZF0pIHsKICAgICAgICAgc3RvcEludGVybmFsKFN0b3BTb3Vy
Y2U6OlhQQ01lc3NhZ2UpOwpAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9y
Ojp4cGNDb25uZWN0aW9uUmVjZWl2ZWRNZXNzYWdlKFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rp
b24qCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjp4cGNDb25uZWN0aW9uRmFpbGVkKFJlbW90ZUlu
c3BlY3RvclhQQ0Nvbm5lY3Rpb24qIHJlbGF5Q29ubmVjdGlvbikKIHsKLSAgICBzdGQ6OmxvY2tf
Z3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsKKyAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7
CiAKICAgICBBU1NFUlQocmVsYXlDb25uZWN0aW9uID09IG1fcmVsYXlDb25uZWN0aW9uKTsKICAg
ICBpZiAocmVsYXlDb25uZWN0aW9uICE9IG1fcmVsYXlDb25uZWN0aW9uKQpAQCAtNDcwLDcgKzQ3
MCw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpwdXNoTGlzdGluZ3NTb29uKCkKIAogICAgIG1f
cHVzaFNjaGVkdWxlZCA9IHRydWU7CiAgICAgZGlzcGF0Y2hfYWZ0ZXIoZGlzcGF0Y2hfdGltZShE
SVNQQVRDSF9USU1FX05PVywgMC4yICogTlNFQ19QRVJfU0VDKSwgZGlzcGF0Y2hfZ2V0X2dsb2Jh
bF9xdWV1ZShESVNQQVRDSF9RVUVVRV9QUklPUklUWV9ERUZBVUxULCAwKSwgXnsKLSAgICAgICAg
c3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9tdXRleCk7CisgICAgICAgIExvY2tIb2xkZXIg
bG9jayhtX211dGV4KTsKICAgICAgICAgaWYgKG1fcHVzaFNjaGVkdWxlZCkKICAgICAgICAgICAg
IHB1c2hMaXN0aW5nc05vdygpOwogICAgIH0pOwpAQCAtNTk1LDcgKzU5NSw3IEBAIHZvaWQgUmVt
b3RlSW5zcGVjdG9yOjpyZWNlaXZlZEluZGljYXRlTWVzc2FnZShOU0RpY3Rpb25hcnkgKnVzZXJJ
bmZvKQogICAgIGNhbGxPbldlYlRocmVhZE9yRGlzcGF0Y2hBc3luY09uTWFpblRocmVhZCheewog
ICAgICAgICBSZW1vdGVDb250cm9sbGFibGVUYXJnZXQqIHRhcmdldCA9IG51bGxwdHI7CiAgICAg
ICAgIHsKLSAgICAgICAgICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOwor
ICAgICAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fbXV0ZXgpOwogCiAgICAgICAgICAgICBhdXRv
IGZpbmRSZXN1bHQgPSBtX3RhcmdldE1hcC5maW5kKHRhcmdldElkZW50aWZpZXIpOwogICAgICAg
ICAgICAgaWYgKGZpbmRSZXN1bHQgPT0gbV90YXJnZXRNYXAuZW5kKCkpCkBAIC02MTksNyArNjE5
LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnJlY2VpdmVkUHJveHlBcHBsaWNhdGlvblNldHVw
TWVzc2FnZShOU0RpY3Rpb25hcnkgKikKICAgICAgICAgLy8gV2FpdCBhIGJpdCBmb3IgdGhlIGlu
Zm9ybWF0aW9uLCBidXQgZ2l2ZSB1cCBhZnRlciBhIHNlY29uZC4KICAgICAgICAgbV9zaG91bGRT
ZW5kUGFyZW50UHJvY2Vzc0luZm9ybWF0aW9uID0gdHJ1ZTsKICAgICAgICAgZGlzcGF0Y2hfYWZ0
ZXIoZGlzcGF0Y2hfdGltZShESVNQQVRDSF9USU1FX05PVywgMSAqIE5TRUNfUEVSX1NFQyksIGRp
c3BhdGNoX2dldF9nbG9iYWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwg
MCksIF57Ci0gICAgICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsK
KyAgICAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKICAgICAgICAgICAgIGlmICht
X3Nob3VsZFNlbmRQYXJlbnRQcm9jZXNzSW5mb3JtYXRpb24pCiAgICAgICAgICAgICAgICAgc3Rv
cEludGVybmFsKFN0b3BTb3VyY2U6OlhQQ01lc3NhZ2UpOwogICAgICAgICB9KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUlu
c3BlY3RvclhQQ0Nvbm5lY3Rpb24ubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLm1tCmluZGV4IDc1M2Fj
NGE4Y2MwZDliZDMwZWQ1ODhmYmE4Y2EzMGE3ODI5NjZjZDIuLjcyMzEwM2EwMzg3M2IzN2I5YWVi
OWM3Y2ZlNGQ0MDk2Nzg0ZjNmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24ubW0KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5z
cGVjdG9yWFBDQ29ubmVjdGlvbi5tbQpAQCAtNzQsNyArNzQsNyBAQCBSZW1vdGVJbnNwZWN0b3JY
UENDb25uZWN0aW9uOjp+UmVtb3RlSW5zcGVjdG9yWFBDQ29ubmVjdGlvbigpCiAKIHZvaWQgUmVt
b3RlSW5zcGVjdG9yWFBDQ29ubmVjdGlvbjo6Y2xvc2UoKQogewotICAgIHN0ZDo6bG9ja19ndWFy
ZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKICAg
ICBjbG9zZUZyb21NZXNzYWdlKCk7CiB9CiAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBSZW1vdGVJ
bnNwZWN0b3JYUENDb25uZWN0aW9uOjpjbG9zZUZyb21NZXNzYWdlKCkKICAgICBtX2NsaWVudCA9
IG51bGxwdHI7CiAKICAgICBkaXNwYXRjaF9hc3luYyhtX3F1ZXVlLCBeewotICAgICAgICBzdGQ6
OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsKKyAgICAgICAgTG9ja0hvbGRlciBsb2Nr
KG1fbXV0ZXgpOwogICAgICAgICAvLyBUaGlzIHdpbGwgdHJpZ2dlciBvbmUgbGFzdCBYUENfRVJS
T1JfQ09OTkVDVElPTl9JTlZBTElEIGV2ZW50IG9uIHRoZSBxdWV1ZSBhbmQgZGVyZWYgdXMuCiAg
ICAgICAgIGNsb3NlT25RdWV1ZSgpOwogICAgIH0pOwpAQCAtMTExLDcgKzExMSw3IEBAIE5TRGlj
dGlvbmFyeSAqUmVtb3RlSW5zcGVjdG9yWFBDQ29ubmVjdGlvbjo6ZGVzZXJpYWxpemVNZXNzYWdl
KHhwY19vYmplY3RfdCBvYmplCiAKICAgICB4cGNfb2JqZWN0X3QgeHBjRGljdGlvbmFyeSA9IHhw
Y19kaWN0aW9uYXJ5X2dldF92YWx1ZShvYmplY3QsIFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rp
b25TZXJpYWxpemVkTWVzc2FnZUtleSk7CiAgICAgaWYgKCF4cGNEaWN0aW9uYXJ5IHx8IHhwY19n
ZXRfdHlwZSh4cGNEaWN0aW9uYXJ5KSAhPSBYUENfVFlQRV9ESUNUSU9OQVJZKSB7Ci0gICAgICAg
IHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgICAgICBMb2NrSG9sZGVy
IGxvY2sobV9tdXRleCk7CiAgICAgICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgICAgIG1fY2xp
ZW50LT54cGNDb25uZWN0aW9uVW5oYW5kbGVkTWVzc2FnZSh0aGlzLCBvYmplY3QpOwogICAgICAg
ICByZXR1cm4gbmlsOwpAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yWFBD
Q29ubmVjdGlvbjo6aGFuZGxlRXZlbnQoeHBjX29iamVjdF90IG9iamVjdCkKIHsKICAgICBpZiAo
eHBjX2dldF90eXBlKG9iamVjdCkgPT0gWFBDX1RZUEVfRVJST1IpIHsKICAgICAgICAgewotICAg
ICAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9tdXRleCk7CisgICAgICAgICAg
ICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAgICAgICAgICAgICBpZiAobV9jbGllbnQpCiAg
ICAgICAgICAgICAgICAgbV9jbGllbnQtPnhwY0Nvbm5lY3Rpb25GYWlsZWQodGhpcyk7CiAKQEAg
LTE0OSw3ICsxNDksNyBAQCB2b2lkIFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb246OmhhbmRs
ZUV2ZW50KHhwY19vYmplY3RfdCBvYmplY3QpCiAgICAgICAgIGF1ZGl0X3Rva2VuX3QgdG9rZW47
CiAgICAgICAgIHhwY19jb25uZWN0aW9uX2dldF9hdWRpdF90b2tlbihtX2Nvbm5lY3Rpb24sICZ0
b2tlbik7CiAgICAgICAgIGlmICghV1RGOjpoYXNFbnRpdGxlbWVudCh0b2tlbiwgImNvbS5hcHBs
ZS5wcml2YXRlLndlYmluc3BlY3Rvci53ZWJpbnNwZWN0b3JkIikpIHsKLSAgICAgICAgICAgIHN0
ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgICAgICAgICAgTG9ja0hvbGRl
ciBsb2NrKG1fbXV0ZXgpOwogICAgICAgICAgICAgLy8gVGhpcyB3aWxsIHRyaWdnZXIgb25lIGxh
c3QgWFBDX0VSUk9SX0NPTk5FQ1RJT05fSU5WQUxJRCBldmVudCBvbiB0aGUgcXVldWUgYW5kIGRl
cmVmIHVzLgogICAgICAgICAgICAgY2xvc2VPblF1ZXVlKCk7CiAgICAgICAgICAgICByZXR1cm47
CkBAIC0xNzAsNyArMTcwLDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uOjpo
YW5kbGVFdmVudCh4cGNfb2JqZWN0X3Qgb2JqZWN0KQogICAgIGlmICh1c2VySW5mbyAmJiAhW3Vz
ZXJJbmZvIGlzS2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKQogICAgICAgICByZXR1
cm47CiAKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsKKyAgICBMb2Nr
SG9sZGVyIGxvY2sobV9tdXRleCk7CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVu
dC0+eHBjQ29ubmVjdGlvblJlY2VpdmVkTWVzc2FnZSh0aGlzLCBtZXNzYWdlLCB1c2VySW5mbyk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9n
bGliL1JlbW90ZUluc3BlY3RvckdsaWIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvZ2xpYi9SZW1vdGVJbnNwZWN0b3JHbGliLmNwcAppbmRleCBjMDc1Njk4YmQ5
YmY2ZTcwNDhjMDI0MWNiZmY4MzI3OTU2MjcyYTgzLi45OTI0YTdhMzliZDA1ZmViZDZjMmFlZGQy
Y2JmN2NiZTViMWFhODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9nbGliL1JlbW90ZUluc3BlY3RvckdsaWIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVjdG9yR2xpYi5jcHAK
QEAgLTU3LDcgKzU3LDcgQEAgUmVtb3RlSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3IoKQogCiB2
b2lkIFJlbW90ZUluc3BlY3Rvcjo6c3RhcnQoKQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2Nr
PiBsb2NrKG1fbXV0ZXgpOworICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKIAogICAgIGlm
IChtX2VuYWJsZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTE1Niw3ICsxNTYsNyBAQCBjb25zdCBH
REJ1c0ludGVyZmFjZVZUYWJsZSBSZW1vdGVJbnNwZWN0b3I6OnNfaW50ZXJmYWNlVlRhYmxlID0g
ewogCiB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c2V0dXBDb25uZWN0aW9uKEdSZWZQdHI8R0RCdXND
b25uZWN0aW9uPiYmIGNvbm5lY3Rpb24pCiB7Ci0gICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxv
Y2sobV9tdXRleCk7CisgICAgTG9ja0hvbGRlciBsb2NrKG1fbXV0ZXgpOwogCiAgICAgQVNTRVJU
KGNvbm5lY3Rpb24pOwogICAgIEFTU0VSVCghbV9kYnVzQ29ubmVjdGlvbik7CkBAIC0yMzQsNyAr
MjM0LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnB1c2hMaXN0aW5nc1Nvb24oKQogICAgIG1f
cHVzaFNjaGVkdWxlZCA9IHRydWU7CiAKICAgICBSdW5Mb29wOjpjdXJyZW50KCkuZGlzcGF0Y2go
W3RoaXNdIHsKLSAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9tdXRleCk7Cisg
ICAgICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKICAgICAgICAgaWYgKG1fcHVzaFNjaGVk
dWxlZCkKICAgICAgICAgICAgIHB1c2hMaXN0aW5nc05vdygpOwogICAgIH0pOwpAQCAtMjQyLDcg
KzI0Miw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpwdXNoTGlzdGluZ3NTb29uKCkKIAogdm9p
ZCBSZW1vdGVJbnNwZWN0b3I6OnVwZGF0ZUF1dG9tYXRpY0luc3BlY3Rpb25DYW5kaWRhdGUoUmVt
b3RlSW5zcGVjdGlvblRhcmdldCogdGFyZ2V0KQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2Nr
PiBsb2NrKG1fbXV0ZXgpOworICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKIAogICAgIEFT
U0VSVCh0YXJnZXQpOwogICAgIHVuc2lnbmVkIHRhcmdldElkZW50aWZpZXIgPSB0YXJnZXQtPnRh
cmdldElkZW50aWZpZXIoKTsKQEAgLTI3NCw3ICsyNzQsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rv
cjo6c2VuZEF1dG9tYXRpY0luc3BlY3Rpb25DYW5kaWRhdGVNZXNzYWdlKCkKIAogdm9pZCBSZW1v
dGVJbnNwZWN0b3I6OnNlbmRNZXNzYWdlVG9SZW1vdGUodW5zaWduZWQgdGFyZ2V0SWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBs
b2NrKG1fbXV0ZXgpOworICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKICAgICBpZiAoIW1f
ZGJ1c0Nvbm5lY3Rpb24pCiAgICAgICAgIHJldHVybjsKIApAQCAtMjg3LDcgKzI4Nyw3IEBAIHZv
aWQgUmVtb3RlSW5zcGVjdG9yOjpzZW5kTWVzc2FnZVRvUmVtb3RlKHVuc2lnbmVkIHRhcmdldElk
ZW50aWZpZXIsIGNvbnN0IFN0cmluCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpyZWNlaXZlZEdl
dFRhcmdldExpc3RNZXNzYWdlKCkKIHsKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayht
X211dGV4KTsKKyAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAgICAgcHVzaExpc3Rpbmdz
Tm93KCk7CiB9CiAKQEAgLTMwMCw3ICszMDAsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6cmVj
ZWl2ZWREYXRhTWVzc2FnZSh1bnNpZ25lZCB0YXJnZXRJZGVudGlmaWVyLCBjb25zdCBjaGFyKgog
ewogICAgIFJlZlB0cjxSZW1vdGVDb25uZWN0aW9uVG9UYXJnZXQ+IGNvbm5lY3Rpb25Ub1Rhcmdl
dDsKICAgICB7Ci0gICAgICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOwor
ICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAgICAgICAgIGNvbm5lY3Rpb25Ub1Rh
cmdldCA9IG1fdGFyZ2V0Q29ubmVjdGlvbk1hcC5nZXQodGFyZ2V0SWRlbnRpZmllcik7CiAgICAg
ICAgIGlmICghY29ubmVjdGlvblRvVGFyZ2V0KQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzEy
LDcgKzMxMiw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpyZWNlaXZlZENsb3NlTWVzc2FnZSh1
bnNpZ25lZCB0YXJnZXRJZGVudGlmaWVyKQogewogICAgIFJlZlB0cjxSZW1vdGVDb25uZWN0aW9u
VG9UYXJnZXQ+IGNvbm5lY3Rpb25Ub1RhcmdldDsKICAgICB7Ci0gICAgICAgIHN0ZDo6bG9ja19n
dWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRl
eCk7CiAgICAgICAgIFJlbW90ZUNvbnRyb2xsYWJsZVRhcmdldCogdGFyZ2V0ID0gbV90YXJnZXRN
YXAuZ2V0KHRhcmdldElkZW50aWZpZXIpOwogICAgICAgICBpZiAoIXRhcmdldCkKICAgICAgICAg
ICAgIHJldHVybjsKQEAgLTMyOSw3ICszMjksNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c2V0
dXAodW5zaWduZWQgdGFyZ2V0SWRlbnRpZmllcikKIHsKICAgICBSZW1vdGVDb250cm9sbGFibGVU
YXJnZXQqIHRhcmdldDsKICAgICB7Ci0gICAgICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2Nr
KG1fbXV0ZXgpOworICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAgICAgICAgIHRh
cmdldCA9IG1fdGFyZ2V0TWFwLmdldCh0YXJnZXRJZGVudGlmaWVyKTsKICAgICAgICAgaWYgKCF0
YXJnZXQpCiAgICAgICAgICAgICByZXR1cm47CkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBSZW1v
dGVJbnNwZWN0b3I6OnNldHVwKHVuc2lnbmVkIHRhcmdldElkZW50aWZpZXIpCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsK
KyAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAgICAgbV90YXJnZXRDb25uZWN0aW9uTWFw
LnNldCh0YXJnZXRJZGVudGlmaWVyLCBXVEZNb3ZlKGNvbm5lY3Rpb25Ub1RhcmdldCkpOwogCiAg
ICAgdXBkYXRlSGFzQWN0aXZlRGVidWdTZXNzaW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9wbGF5c3RhdGlvbi9SZW1vdGVJbnNwZWN0b3JQ
bGF5U3RhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9w
bGF5c3RhdGlvbi9SZW1vdGVJbnNwZWN0b3JQbGF5U3RhdGlvbi5jcHAKaW5kZXggNmM1MTAzZmFh
ODBkZDYwMmYwYTc4YzgxZjJkNTFmYjNmMTEyNGFkZC4uZjNkZmJjYmQzYTlkMGI4MDhjOTY0NGM2
MWJkNjdiMTkxZGQyYjhlNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvcGxheXN0YXRpb24vUmVtb3RlSW5zcGVjdG9yUGxheVN0YXRpb24uY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3BsYXlzdGF0aW9uL1Jl
bW90ZUluc3BlY3RvclBsYXlTdGF0aW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIFJlbW90
ZUluc3BlY3Rvcjo6ZGlkQ2xvc2UoQ2xpZW50SUQgY2xpZW50SUQpCiAgICAgICAgIHJldHVybjsK
IAogICAgIFJ1bkxvb3A6OmN1cnJlbnQoKS5kaXNwYXRjaChbPV0gewotICAgICAgICBzdGQ6Omxv
Y2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsKKyAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1f
bXV0ZXgpOwogICAgICAgICBzdG9wSW50ZXJuYWwoU3RvcFNvdXJjZTo6QVBJKTsKICAgICB9KTsK
IH0KQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnNlbmRXZWJJbnNwZWN0
b3JFdmVudChjb25zdCBTdHJpbmcmIGV2ZW50KQogCiB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c3Rh
cnQoKQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgIExv
Y2tIb2xkZXIgbG9jayhtX211dGV4KTsKIAogICAgIGlmIChtX2VuYWJsZWQgfHwgc19jb25uZWN0
aW9uSWRlbnRpZmllciA9PSBJTlZBTElEX1NPQ0tFVF9WQUxVRSkKICAgICAgICAgcmV0dXJuOwpA
QCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpwdXNoTGlzdGluZ3NTb29u
KCkKICAgICBtX3B1c2hTY2hlZHVsZWQgPSB0cnVlOwogCiAgICAgUnVuTG9vcDo6Y3VycmVudCgp
LmRpc3BhdGNoKFs9XSB7Ci0gICAgICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0
ZXgpOworICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAgICAgICAgIGlmIChtX3B1
c2hTY2hlZHVsZWQpCiAgICAgICAgICAgICBwdXNoTGlzdGluZ3NOb3coKTsKICAgICB9KTsKQEAg
LTE5NCw3ICsxOTQsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c2VuZEF1dG9tYXRpY0luc3Bl
Y3Rpb25DYW5kaWRhdGVNZXNzYWdlKCkKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnNlbmRNZXNz
YWdlVG9SZW1vdGUodW5zaWduZWQgdGFyZ2V0SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBtZXNz
YWdlKQogewotICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgIExv
Y2tIb2xkZXIgbG9jayhtX211dGV4KTsKICAgICBpZiAoIW1fc29ja2V0Q29ubmVjdGlvbikKICAg
ICAgICAgcmV0dXJuOwogCkBAIC0yMDksNyArMjA5LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3I6
OnJlY2VpdmVkR2V0VGFyZ2V0TGlzdE1lc3NhZ2UoY29uc3QgRXZlbnQmKQogewogICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211
dGV4KTsKKyAgICBMb2NrSG9sZGVyIGxvY2sobV9tdXRleCk7CiAgICAgcHVzaExpc3RpbmdzTm93
KCk7CiB9CiAKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6cmVjZWl2
ZWREYXRhTWVzc2FnZShjb25zdCBFdmVudCYgZXZlbnQpCiAKICAgICBSZWZQdHI8UmVtb3RlQ29u
bmVjdGlvblRvVGFyZ2V0PiBjb25uZWN0aW9uVG9UYXJnZXQ7CiAgICAgewotICAgICAgICBzdGQ6
OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX211dGV4KTsKKyAgICAgICAgTG9ja0hvbGRlciBsb2Nr
KG1fbXV0ZXgpOwogICAgICAgICBjb25uZWN0aW9uVG9UYXJnZXQgPSBtX3RhcmdldENvbm5lY3Rp
b25NYXAuZ2V0KGV2ZW50LnRhcmdldElELnZhbHVlKCkpOwogICAgICAgICBpZiAoIWNvbm5lY3Rp
b25Ub1RhcmdldCkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTI0OCw3ICsyNDgsNyBAQCB2b2lk
IFJlbW90ZUluc3BlY3Rvcjo6cmVjZWl2ZWRDbG9zZU1lc3NhZ2UoY29uc3QgRXZlbnQmIGV2ZW50
KQogCiAgICAgUmVmUHRyPFJlbW90ZUNvbm5lY3Rpb25Ub1RhcmdldD4gY29ubmVjdGlvblRvVGFy
Z2V0OwogICAgIHsKLSAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9tdXRleCk7
CisgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKICAgICAgICAgUmVtb3RlQ29udHJv
bGxhYmxlVGFyZ2V0KiB0YXJnZXQgPSBtX3RhcmdldE1hcC5nZXQoZXZlbnQudGFyZ2V0SUQudmFs
dWUoKSk7CiAgICAgICAgIGlmICghdGFyZ2V0KQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjY1
LDcgKzI2NSw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzZXR1cCh1bnNpZ25lZCB0YXJnZXRJ
ZGVudGlmaWVyKQogewogICAgIFJlbW90ZUNvbnRyb2xsYWJsZVRhcmdldCogdGFyZ2V0OwogICAg
IHsKLSAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9tdXRleCk7CisgICAgICAg
IExvY2tIb2xkZXIgbG9jayhtX211dGV4KTsKICAgICAgICAgdGFyZ2V0ID0gbV90YXJnZXRNYXAu
Z2V0KHRhcmdldElkZW50aWZpZXIpOwogICAgICAgICBpZiAoIXRhcmdldCkKICAgICAgICAgICAg
IHJldHVybjsKQEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c2V0dXAo
dW5zaWduZWQgdGFyZ2V0SWRlbnRpZmllcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fbXV0ZXgpOworICAgIExvY2tIb2xkZXIgbG9j
ayhtX211dGV4KTsKICAgICBtX3RhcmdldENvbm5lY3Rpb25NYXAuc2V0KHRhcmdldElkZW50aWZp
ZXIsIFdURk1vdmUoY29ubmVjdGlvblRvVGFyZ2V0KSk7CiAKICAgICB1cGRhdGVIYXNBY3RpdmVE
ZWJ1Z1Nlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcmVtb3RlL3BsYXlzdGF0aW9uL1JlbW90ZUluc3BlY3RvclNvY2tldENsaWVudFBsYXlTdGF0
aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3BsYXlzdGF0
aW9uL1JlbW90ZUluc3BlY3RvclNvY2tldENsaWVudFBsYXlTdGF0aW9uLmNwcAppbmRleCA4MWY4
NGVjZGVhNDM5ZWQ0NDY1Y2EyNjZlODQzYWNmY2U1N2JhYzE4Li5jNjkzNWM4NDE5ODU0OWQ2OGQ1
ZjAzNjlmZTlkNTk5MzE2N2RhNmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3JlbW90ZS9wbGF5c3RhdGlvbi9SZW1vdGVJbnNwZWN0b3JTb2NrZXRDbGllbnRQ
bGF5U3RhdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvcGxheXN0YXRpb24vUmVtb3RlSW5zcGVjdG9yU29ja2V0Q2xpZW50UGxheVN0YXRpb24uY3Bw
CkBAIC00NCw4ICs0NCw4IEBAIFJlbW90ZUluc3BlY3RvclNvY2tldENsaWVudDo6UmVtb3RlSW5z
cGVjdG9yU29ja2V0Q2xpZW50KFJlbW90ZUluc3BlY3RvckNvbm5lY3RpCiAKIE9wdGlvbmFsPENs
aWVudElEPiBSZW1vdGVJbnNwZWN0b3JTb2NrZXRDbGllbnQ6OmNvbm5lY3RJbmV0KGNvbnN0IGNo
YXIqIHNlcnZlckFkZHJlc3MsIHVpbnQxNl90IHNlcnZlclBvcnQpCiB7Ci0gICAgc3RydWN0IHNv
Y2thZGRyX2luIGFkZHJlc3M7Ci0gICAgbWVtc2V0KCZhZGRyZXNzLCAwLCBzaXplb2YoYWRkcmVz
cykpOworICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBhZGRyZXNzID0geyB9OworCiAgICAgYWRkcmVz
cy5zaW5fZmFtaWx5ID0gQUZfSU5FVDsKICAgICBpbmV0X2F0b24oc2VydmVyQWRkcmVzcywgJmFk
ZHJlc3Muc2luX2FkZHIpOwogICAgIGFkZHJlc3Muc2luX3BvcnQgPSBodG9ucyhzZXJ2ZXJQb3J0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3Bs
YXlzdGF0aW9uL1JlbW90ZUluc3BlY3RvclNvY2tldFBsYXlTdGF0aW9uLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3BsYXlzdGF0aW9uL1JlbW90ZUluc3BlY3Rv
clNvY2tldFBsYXlTdGF0aW9uLmNwcAppbmRleCA3NzVkZWYxNGJlNTVkMDZiZTlhZmEyYjU4NmU4
MTE1ZTg5NDVjZDdiLi45NmRlYjNkM2Y5YjJjNjNhOWI1YWU3NTZjNDBhY2E2NjFiMmEyNWVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9wbGF5c3Rh
dGlvbi9SZW1vdGVJbnNwZWN0b3JTb2NrZXRQbGF5U3RhdGlvbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvcGxheXN0YXRpb24vUmVtb3RlSW5zcGVjdG9y
U29ja2V0UGxheVN0YXRpb24uY3BwCkBAIC0yNTcsOCArMjU3LDggQEAgdm9pZCBSZW1vdGVJbnNw
ZWN0b3JTb2NrZXQ6OmFjY2VwdEluZXRTb2NrZXRJZkVuYWJsZWQoQ2xpZW50SUQgaWQpCiAKICAg
ICBMb2NrSG9sZGVyIGxvY2sobV9jb25uZWN0aW9uc0xvY2spOwogICAgIGlmIChjb25zdCBhdXRv
JiBjb25uZWN0aW9uID0gbV9jb25uZWN0aW9ucy5nZXQoaWQpKSB7Ci0gICAgICAgIHN0cnVjdCBz
b2NrYWRkcl9pbiBhZGRyZXNzOwotICAgICAgICBtZW1zZXQoJmFkZHJlc3MsIDAsIHNpemVvZihh
ZGRyZXNzKSk7CisgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBhZGRyZXNzID0geyB9OworCiAg
ICAgICAgIHNvY2tsZW5fdCBsZW4gPSBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luKTsKICAgICAg
ICAgaW50IGZkID0gYWNjZXB0KGNvbm5lY3Rpb24tPnNvY2tldCwgKHN0cnVjdCBzb2NrYWRkciop
JmFkZHJlc3MsICZsZW4pOwogICAgICAgICBpZiAoZmQgPCAwKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9wbGF5c3RhdGlvbi9SZW1vdGVJbnNw
ZWN0b3JTb2NrZXRTZXJ2ZXJQbGF5U3RhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3JlbW90ZS9wbGF5c3RhdGlvbi9SZW1vdGVJbnNwZWN0b3JTb2NrZXRTZXJ2ZXJQ
bGF5U3RhdGlvbi5jcHAKaW5kZXggOTE4N2EwNjc5ZjI0YTQ0YjExYjY1Y2U4YzBjMjcwYjIyMTY5
YTY3MC4uN2YxZDgzMWYwNzFhNWE0M2ZhYjVjZmJiMmM0MDNiNzcyYTdmZGFhOSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvcGxheXN0YXRpb24vUmVt
b3RlSW5zcGVjdG9yU29ja2V0U2VydmVyUGxheVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3BsYXlzdGF0aW9uL1JlbW90ZUluc3BlY3RvclNv
Y2tldFNlcnZlclBsYXlTdGF0aW9uLmNwcApAQCAtNDQsOCArNDQsNyBAQCBSZW1vdGVJbnNwZWN0
b3JTb2NrZXRTZXJ2ZXI6OlJlbW90ZUluc3BlY3RvclNvY2tldFNlcnZlcihSZW1vdGVJbnNwZWN0
b3JDb25uZWN0aQogCiBib29sIFJlbW90ZUluc3BlY3RvclNvY2tldFNlcnZlcjo6bGlzdGVuSW5l
dCh1aW50MTZfdCBwb3J0KQogewotICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBhZGRyZXNzOwotICAg
IG1lbXNldCgmYWRkcmVzcywgMCwgc2l6ZW9mKGFkZHJlc3MpKTsKKyAgICBzdHJ1Y3Qgc29ja2Fk
ZHJfaW4gYWRkcmVzcyA9IHsgfTsKIAogICAgIGludCBmZExpc3RlbiA9IHNvY2tldChBRl9JTkVU
LCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApOwogICAgIGlmIChmZExpc3RlbiA8IDApIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>