<?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>201874</bug_id>
          
          <creation_ts>2019-09-17 10:27:38 -0700</creation_ts>
          <short_desc>There should be a single CacheStorageConnection per WebProcess</short_desc>
          <delta_ts>2019-09-17 12:23:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1571582</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-17 10:27:38 -0700</bug_when>
    <thetext>There should be a single CacheStorageConnection per WebProcess now that we have a single session per WebProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571586</commentid>
    <comment_count>1</comment_count>
      <attachid>378973</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-17 10:36:15 -0700</bug_when>
    <thetext>Created attachment 378973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571587</commentid>
    <comment_count>2</comment_count>
      <attachid>378973</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-09-17 10:38:56 -0700</bug_when>
    <thetext>Comment on attachment 378973
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571616</commentid>
    <comment_count>3</comment_count>
      <attachid>378973</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-17 12:22:45 -0700</bug_when>
    <thetext>Comment on attachment 378973
Patch

Clearing flags on attachment: 378973

Committed r249973: &lt;https://trac.webkit.org/changeset/249973&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571617</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-17 12:22:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571618</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-17 12:23:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/55448832&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378973</attachid>
            <date>2019-09-17 10:36:15 -0700</date>
            <delta_ts>2019-09-17 12:22:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201874-20190917103614.patch</filename>
            <type>text/plain</type>
            <size>28228</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5OTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJhYzMwNWE5Y2UxNDdiZjkz
ZmE3ODQwMDRiNTMxOTZlODY4OGIyMDQuLjBhOTIxZTZiYTc3NjgwNDNjNDQ3MzQ5MzM4Mzg1N2Q4
NDQ3ZDYzYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTktMDktMTcgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBUaGVyZSBzaG91bGQgYmUgYSBzaW5n
bGUgQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbiBwZXIgV2ViUHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxODc0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgc2hvdWxkIGJlIGEgc2luZ2xl
IENhY2hlU3RvcmFnZUNvbm5lY3Rpb24gcGVyIFdlYlByb2Nlc3Mgbm93IHRoYXQgd2UgaGF2ZSBh
IHNpbmdsZSBzZXNzaW9uCisgICAgICAgIHBlciBXZWJQcm9jZXNzLiBUaGlzIGludmFyaWFudCBh
bGxvd3MgdXMgdG8gc2ltcGxpZnkgdGhlIGNvZGUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6fkNhY2hlU3RvcmFnZUVuZ2luZUNvbm5l
Y3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpv
cGVuKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6cmVt
b3ZlKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6Y2Fj
aGVzKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6cmV0
cmlldmVSZWNvcmRzKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVj
dGlvbjo6ZGVsZXRlTWF0Y2hpbmdSZWNvcmRzKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9y
YWdlRW5naW5lQ29ubmVjdGlvbjo6cHV0UmVjb3Jkcyk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hl
U3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OnJlZmVyZW5jZSk6CisgICAgICAgIChXZWJLaXQ6OkNh
Y2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OmRlcmVmZXJlbmNlKToKKyAgICAgICAgKFdlYktp
dDo6Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6Y2xlYXJNZW1vcnlSZXByZXNlbnRhdGlv
bik6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OmVuZ2lu
ZVJlcHJlc2VudGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlRW5naW5lQ29u
bmVjdGlvbjo6c2Vzc2lvbklEIGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpXZWJDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6
b3Blbik6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlbW92
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJldHJpZXZl
Q2FjaGVzKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmV0
cmlldmVSZWNvcmRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlv
bjo6YmF0Y2hEZWxldGVPcGVyYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uOjpiYXRjaFB1dE9wZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkNh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlZmVyZW5jZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNh
Y2hlU3RvcmFnZUNvbm5lY3Rpb246OmRlcmVmZXJlbmNlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6Y2xlYXJNZW1vcnlSZXByZXNlbnRhdGlvbik6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmVuZ2luZVJlcHJlc2VudGF0
aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6dXBkYXRl
UXVvdGFCYXNlZE9uU3BhY2VVc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlU3RvcmFn
ZUNvbm5lY3Rpb246OnNlc3Npb25JRCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9DYWNo
ZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9DYWNo
ZS9XZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hl
U3RvcmFnZVByb3ZpZGVyOjpjcmVhdGVDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZVByb3ZpZGVyLmg6CisKIDIwMTktMDkt
MTcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9O
IChyMjQ5OTIzKTogQVNTRVJUSU9OIEZBSUxFRDogc2Vzc2lvbklEID09IFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLnNlc3Npb25JRCgpIGluIFdlYkNvcmU6OlNXQ2xpZW50Q29ubmVjdGlvbiAqV2Vi
S2l0OjpXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmV4aXN0aW5nU2VydmljZVdvcmtlckNvbm5l
Y3Rpb25Gb3JTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29u
bmVjdGlvbi5jcHAKaW5kZXggNjI4MDk4ZTE0YzFkMDVjYzlmYTI1N2RkOGExMDJlNzI2ZmYyNzkz
OS4uMTE4YTNkOWFmNWU5YjlhODU5MGYxZThmNTU0ZWM2NDcwMTdlZWZmOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25u
ZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hl
U3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24uY3BwCkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTsKIHVzaW5nIG5hbWVzcGFjZSBDYWNoZVN0b3Jh
Z2U7CiAKICN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECi0jZGVmaW5lIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5c09u
TG9nZ2luZ0FsbG93ZWQoKSwgQ2FjaGVTdG9yYWdlLCAiJXAgLSBDYWNoZVN0b3JhZ2VFbmdpbmVD
b25uZWN0aW9uOjoiIGZtdCwgJm1fY29ubmVjdGlvbi5jb25uZWN0aW9uKCksICMjX19WQV9BUkdT
X18pCisjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9H
X0lGKHNlc3Npb25JRCgpLmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBDYWNoZVN0b3JhZ2Us
ICIlcCAtIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OiIgZm10LCAmbV9jb25uZWN0aW9u
LmNvbm5lY3Rpb24oKSwgIyNfX1ZBX0FSR1NfXykKICNkZWZpbmUgUkVMRUFTRV9MT0dfRlVOQ1RJ
T05fSUZfQUxMT1dFRF9JTl9DQUxMQkFDSyhmdW5jdGlvbk5hbWUsIGZtdCwgcmVzdWx0R2V0dGVy
KSBcCiAgICAgaWYgKCFyZXN1bHQuaGFzX3ZhbHVlKCkpXAogICAgICAgICBSRUxFQVNFX0xPR19F
UlJPUl9JRihzZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIENhY2hlU3RvcmFn
ZSwgIkNhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OiVzIC0gZmFpbGVkIC0gZXJyb3IgJWQi
LCBmdW5jdGlvbk5hbWUsIChpbnQpcmVzdWx0LmVycm9yKCkpOyBcCkBAIC01MywxMDkgKzUzLDEw
NSBAQCBDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25u
ZWN0aW9uKE5ldHdvcmtDb25uZWN0aW9uVG9XZQogCiBDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0
aW9uOjp+Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbigpCiB7Ci0gICAgZm9yIChhdXRvJiBr
ZXlWYWx1ZSA6IG1fY2FjaGVzTG9ja3MpIHsKLSAgICAgICAgYXV0byYgc2Vzc2lvbklEID0ga2V5
VmFsdWUua2V5OwotICAgICAgICBmb3IgKGF1dG8mIHJlZmVyZW5jZXMgOiBrZXlWYWx1ZS52YWx1
ZSkgewotICAgICAgICAgICAgQVNTRVJUKHJlZmVyZW5jZXMudmFsdWUpOwotICAgICAgICAgICAg
RW5naW5lOjp1bmxvY2sobV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCksIHNlc3Npb25JRCwg
cmVmZXJlbmNlcy5rZXkpOwotICAgICAgICB9CisgICAgZm9yIChhdXRvJiByZWZlcmVuY2VzIDog
bV9jYWNoZXNMb2NrcykgeworICAgICAgICBBU1NFUlQocmVmZXJlbmNlcy52YWx1ZSk7CisgICAg
ICAgIEVuZ2luZTo6dW5sb2NrKG1fY29ubmVjdGlvbi5uZXR3b3JrUHJvY2VzcygpLCBzZXNzaW9u
SUQoKSwgcmVmZXJlbmNlcy5rZXkpOwogICAgIH0KIH0KIAotdm9pZCBDYWNoZVN0b3JhZ2VFbmdp
bmVDb25uZWN0aW9uOjpvcGVuKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6Q2xp
ZW50T3JpZ2luJiYgb3JpZ2luLCBTdHJpbmcmJiBjYWNoZU5hbWUsIENhY2hlSWRlbnRpZmllckNh
bGxiYWNrJiYgY2FsbGJhY2spCit2b2lkIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246Om9w
ZW4oV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBTdHJpbmcmJiBjYWNoZU5hbWUsIENh
Y2hlSWRlbnRpZmllckNhbGxiYWNrJiYgY2FsbGJhY2spCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgib3BlbiBjYWNoZSIpOwotICAgIEVuZ2luZTo6b3BlbihtX2Nvbm5lY3Rpb24ubmV0
d29ya1Byb2Nlc3MoKSwgc2Vzc2lvbklELCBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoY2FjaGVO
YW1lKSwgW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIHNlc3Npb25JRF0oYXV0byYgcmVz
dWx0KSBtdXRhYmxlIHsKKyAgICBFbmdpbmU6Om9wZW4obV9jb25uZWN0aW9uLm5ldHdvcmtQcm9j
ZXNzKCksIHNlc3Npb25JRCgpLCBXVEZNb3ZlKG9yaWdpbiksIFdURk1vdmUoY2FjaGVOYW1lKSwg
W2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIHNlc3Npb25JRCA9IHRoaXMtPnNlc3Npb25J
RCgpXShhdXRvJiByZXN1bHQpIG11dGFibGUgewogICAgICAgICBSRUxFQVNFX0xPR19GVU5DVElP
Tl9JRl9BTExPV0VEX0lOX0NBTExCQUNLKCJvcGVuIiwgImNhY2hlIGlkZW50aWZpZXIgaXMgJSIg
UFJJdTY0LCBbXShjb25zdCBhdXRvJiB2YWx1ZSkgeyByZXR1cm4gdmFsdWUuaWRlbnRpZmllcjsg
fSk7CiAgICAgICAgIGNhbGxiYWNrKHJlc3VsdCk7CiAgICAgfSk7CiB9CiAKLXZvaWQgQ2FjaGVT
dG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6cmVtb3ZlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
dWludDY0X3QgY2FjaGVJZGVudGlmaWVyLCBDYWNoZUlkZW50aWZpZXJDYWxsYmFjayYmIGNhbGxi
YWNrKQordm9pZCBDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpyZW1vdmUodWludDY0X3Qg
Y2FjaGVJZGVudGlmaWVyLCBDYWNoZUlkZW50aWZpZXJDYWxsYmFjayYmIGNhbGxiYWNrKQogewog
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInJlbW92ZSBjYWNoZSAlIiBQUkl1NjQsIGNhY2hl
SWRlbnRpZmllcik7Ci0gICAgRW5naW5lOjpyZW1vdmUobV9jb25uZWN0aW9uLm5ldHdvcmtQcm9j
ZXNzKCksIHNlc3Npb25JRCwgY2FjaGVJZGVudGlmaWVyLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKSwgc2Vzc2lvbklEXShhdXRvJiByZXN1bHQpIG11dGFibGUgeworICAgIEVuZ2luZTo6
cmVtb3ZlKG1fY29ubmVjdGlvbi5uZXR3b3JrUHJvY2VzcygpLCBzZXNzaW9uSUQoKSwgY2FjaGVJ
ZGVudGlmaWVyLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwgc2Vzc2lvbklEID0gdGhp
cy0+c2Vzc2lvbklEKCldKGF1dG8mIHJlc3VsdCkgbXV0YWJsZSB7CiAgICAgICAgIFJFTEVBU0Vf
TE9HX0ZVTkNUSU9OX0lGX0FMTE9XRURfSU5fQ0FMTEJBQ0soInJlbW92ZSIsICJyZW1vdmVkIGNh
Y2hlICUiIFBSSXU2NCwgW10oY29uc3QgYXV0byYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLmlkZW50
aWZpZXI7IH0pOwogICAgICAgICBjYWxsYmFjayhyZXN1bHQpOwogICAgIH0pOwogfQogCi12b2lk
IENhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OmNhY2hlcyhQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgdWludDY0X3QgdXBkYXRlQ291
bnRlciwgQ2FjaGVJbmZvc0NhbGxiYWNrJiYgY2FsbGJhY2spCit2b2lkIENhY2hlU3RvcmFnZUVu
Z2luZUNvbm5lY3Rpb246OmNhY2hlcyhXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIHVp
bnQ2NF90IHVwZGF0ZUNvdW50ZXIsIENhY2hlSW5mb3NDYWxsYmFjayYmIGNhbGxiYWNrKQogewog
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNhY2hlcyIpOwotICAgIEVuZ2luZTo6cmV0cmll
dmVDYWNoZXMobV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCksIHNlc3Npb25JRCwgV1RGTW92
ZShvcmlnaW4pLCB1cGRhdGVDb3VudGVyLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwg
c2Vzc2lvbklELCBvcmlnaW5dKGF1dG8mJiByZXN1bHQpIG11dGFibGUgeworICAgIEVuZ2luZTo6
cmV0cmlldmVDYWNoZXMobV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCksIHNlc3Npb25JRCgp
LCBXVEZNb3ZlKG9yaWdpbiksIHVwZGF0ZUNvdW50ZXIsIFtjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spLCBvcmlnaW4sIHNlc3Npb25JRCA9IHRoaXMtPnNlc3Npb25JRCgpXShhdXRvJiYgcmVz
dWx0KSBtdXRhYmxlIHsKICAgICAgICAgUkVMRUFTRV9MT0dfRlVOQ1RJT05fSUZfQUxMT1dFRF9J
Tl9DQUxMQkFDSygiY2FjaGVzIiwgImNhY2hlcyBzaXplIGlzICVsdSIsIFtdKGNvbnN0IGF1dG8m
IHZhbHVlKSB7IHJldHVybiB2YWx1ZS5pbmZvcy5zaXplKCk7IH0pOwogICAgICAgICBjYWxsYmFj
ayhXVEZNb3ZlKHJlc3VsdCkpOwogICAgIH0pOwogfQogCi12b2lkIENhY2hlU3RvcmFnZUVuZ2lu
ZUNvbm5lY3Rpb246OnJldHJpZXZlUmVjb3JkcyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVp
bnQ2NF90IGNhY2hlSWRlbnRpZmllciwgVVJMJiYgdXJsLCBSZWNvcmRzQ2FsbGJhY2smJiBjYWxs
YmFjaykKK3ZvaWQgQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6cmV0cmlldmVSZWNvcmRz
KHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgVVJMJiYgdXJsLCBSZWNvcmRzQ2FsbGJhY2smJiBj
YWxsYmFjaykKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJyZXRyaWV2ZVJlY29yZHMg
aW4gY2FjaGUgJSIgUFJJdTY0LCBjYWNoZUlkZW50aWZpZXIpOwotICAgIEVuZ2luZTo6cmV0cmll
dmVSZWNvcmRzKG1fY29ubmVjdGlvbi5uZXR3b3JrUHJvY2VzcygpLCBzZXNzaW9uSUQsIGNhY2hl
SWRlbnRpZmllciwgV1RGTW92ZSh1cmwpLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwg
c2Vzc2lvbklEXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICBFbmdpbmU6OnJldHJpZXZl
UmVjb3JkcyhtX2Nvbm5lY3Rpb24ubmV0d29ya1Byb2Nlc3MoKSwgc2Vzc2lvbklEKCksIGNhY2hl
SWRlbnRpZmllciwgV1RGTW92ZSh1cmwpLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKSwg
c2Vzc2lvbklEID0gdGhpcy0+c2Vzc2lvbklEKCldKGF1dG8mJiByZXN1bHQpIG11dGFibGUgewog
ICAgICAgICBSRUxFQVNFX0xPR19GVU5DVElPTl9JRl9BTExPV0VEX0lOX0NBTExCQUNLKCJyZXRy
aWV2ZVJlY29yZHMiLCAicmVjb3JkcyBzaXplIGlzICVsdSIsIFtdKGNvbnN0IGF1dG8mIHZhbHVl
KSB7IHJldHVybiB2YWx1ZS5zaXplKCk7IH0pOwogICAgICAgICBjYWxsYmFjayhXVEZNb3ZlKHJl
c3VsdCkpOwogICAgIH0pOwogfQogCi12b2lkIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246
OmRlbGV0ZU1hdGNoaW5nUmVjb3JkcyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90
IGNhY2hlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgV2Vi
Q29yZTo6Q2FjaGVRdWVyeU9wdGlvbnMmJiBvcHRpb25zLCBSZWNvcmRJZGVudGlmaWVyc0NhbGxi
YWNrJiYgY2FsbGJhY2spCit2b2lkIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OmRlbGV0
ZU1hdGNoaW5nUmVjb3Jkcyh1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFdlYkNvcmU6OkNhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9u
cywgUmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoImRlbGV0ZU1hdGNoaW5nUmVjb3JkcyBpbiBjYWNoZSAlIiBQUkl1NjQs
IGNhY2hlSWRlbnRpZmllcik7Ci0gICAgRW5naW5lOjpkZWxldGVNYXRjaGluZ1JlY29yZHMobV9j
b25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCksIHNlc3Npb25JRCwgY2FjaGVJZGVudGlmaWVyLCBX
VEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMpLCBbY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKSwgc2Vzc2lvbklEXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKKyAgICBFbmdpbmU6
OmRlbGV0ZU1hdGNoaW5nUmVjb3JkcyhtX2Nvbm5lY3Rpb24ubmV0d29ya1Byb2Nlc3MoKSwgc2Vz
c2lvbklEKCksIGNhY2hlSWRlbnRpZmllciwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRp
b25zKSwgW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIHNlc3Npb25JRCA9IHRoaXMtPnNl
c3Npb25JRCgpXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgUkVMRUFTRV9MT0df
RlVOQ1RJT05fSUZfQUxMT1dFRF9JTl9DQUxMQkFDSygiZGVsZXRlTWF0Y2hpbmdSZWNvcmRzIiwg
ImRlbGV0ZWQgJWx1IHJlY29yZHMiLCAgW10oY29uc3QgYXV0byYgdmFsdWUpIHsgcmV0dXJuIHZh
bHVlLnNpemUoKTsgfSk7CiAgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVzdWx0KSk7CiAgICAg
fSk7CiB9CiAKLXZvaWQgQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6cHV0UmVjb3JkcyhQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgVmVjdG9y
PFJlY29yZD4mJiByZWNvcmRzLCBSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYgY2FsbGJhY2sp
Cit2b2lkIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OnB1dFJlY29yZHModWludDY0X3Qg
Y2FjaGVJZGVudGlmaWVyLCBWZWN0b3I8UmVjb3JkPiYmIHJlY29yZHMsIFJlY29yZElkZW50aWZp
ZXJzQ2FsbGJhY2smJiBjYWxsYmFjaykKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJw
dXRSZWNvcmRzIGluIGNhY2hlICUiIFBSSXU2NCAiLCAlbHUgcmVjb3JkcyIsIGNhY2hlSWRlbnRp
ZmllciwgcmVjb3Jkcy5zaXplKCkpOwotICAgIEVuZ2luZTo6cHV0UmVjb3JkcyhtX2Nvbm5lY3Rp
b24ubmV0d29ya1Byb2Nlc3MoKSwgc2Vzc2lvbklELCBjYWNoZUlkZW50aWZpZXIsIFdURk1vdmUo
cmVjb3JkcyksIFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBzZXNzaW9uSURdKGF1dG8m
JiByZXN1bHQpIG11dGFibGUgeworICAgIEVuZ2luZTo6cHV0UmVjb3JkcyhtX2Nvbm5lY3Rpb24u
bmV0d29ya1Byb2Nlc3MoKSwgc2Vzc2lvbklEKCksIGNhY2hlSWRlbnRpZmllciwgV1RGTW92ZShy
ZWNvcmRzKSwgW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayksIHNlc3Npb25JRCA9IHRoaXMt
PnNlc3Npb25JRCgpXShhdXRvJiYgcmVzdWx0KSBtdXRhYmxlIHsKICAgICAgICAgUkVMRUFTRV9M
T0dfRlVOQ1RJT05fSUZfQUxMT1dFRF9JTl9DQUxMQkFDSygicHV0UmVjb3JkcyIsICJwdXQgJWx1
IHJlY29yZHMiLCAgW10oY29uc3QgYXV0byYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLnNpemUoKTsg
fSk7CiAgICAgICAgIGNhbGxiYWNrKFdURk1vdmUocmVzdWx0KSk7CiAgICAgfSk7CiB9CiAKLXZv
aWQgQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6cmVmZXJlbmNlKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgdWludDY0X3QgY2FjaGVJZGVudGlmaWVyKQordm9pZCBDYWNoZVN0b3JhZ2VF
bmdpbmVDb25uZWN0aW9uOjpyZWZlcmVuY2UodWludDY0X3QgY2FjaGVJZGVudGlmaWVyKQogewog
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInJlZmVyZW5jZSBjYWNoZSAlIiBQUkl1NjQsIGNh
Y2hlSWRlbnRpZmllcik7Ci0gICAgYXV0byYgcmVmZXJlbmNlcyA9IG1fY2FjaGVzTG9ja3MuZW5z
dXJlKHNlc3Npb25JRCwgW10oKSB7Ci0gICAgICAgIHJldHVybiBIYXNoTWFwPENhY2hlSWRlbnRp
ZmllciwgTG9ja0NvdW50PiB7IH07Ci0gICAgfSkuaXRlcmF0b3ItPnZhbHVlOwotICAgIGF1dG8m
IGNvdW50ZXIgPSByZWZlcmVuY2VzLmVuc3VyZShjYWNoZUlkZW50aWZpZXIsIFtdKCkgeworICAg
IGF1dG8mIGNvdW50ZXIgPSBtX2NhY2hlc0xvY2tzLmVuc3VyZShjYWNoZUlkZW50aWZpZXIsIFtd
KCkgewogICAgICAgICByZXR1cm4gMDsKICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiAgICAgaWYg
KCFjb3VudGVyKyspCi0gICAgICAgIEVuZ2luZTo6bG9jayhtX2Nvbm5lY3Rpb24ubmV0d29ya1By
b2Nlc3MoKSwgc2Vzc2lvbklELCBjYWNoZUlkZW50aWZpZXIpOworICAgICAgICBFbmdpbmU6Omxv
Y2sobV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCksIHNlc3Npb25JRCgpLCBjYWNoZUlkZW50
aWZpZXIpOwogfQogCi12b2lkIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OmRlcmVmZXJl
bmNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgY2FjaGVJZGVudGlmaWVyKQor
dm9pZCBDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpkZXJlZmVyZW5jZSh1aW50NjRfdCBj
YWNoZUlkZW50aWZpZXIpCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGVyZWZlcmVu
Y2UgY2FjaGUgJSIgUFJJdTY0LCBjYWNoZUlkZW50aWZpZXIpOwotICAgIGF1dG8mIHJlZmVyZW5j
ZXMgPSBtX2NhY2hlc0xvY2tzLmVuc3VyZShzZXNzaW9uSUQsIFtdKCkgewotICAgICAgICByZXR1
cm4gSGFzaE1hcDxDYWNoZUlkZW50aWZpZXIsIExvY2tDb3VudD4geyB9OwotICAgIH0pLml0ZXJh
dG9yLT52YWx1ZTsKIAotICAgIGF1dG8gcmVmZXJlbmNlUmVzdWx0ID0gcmVmZXJlbmNlcy5maW5k
KGNhY2hlSWRlbnRpZmllcik7Ci0gICAgaWYgKHJlZmVyZW5jZVJlc3VsdCA9PSByZWZlcmVuY2Vz
LmVuZCgpKQorICAgIGF1dG8gcmVmZXJlbmNlUmVzdWx0ID0gbV9jYWNoZXNMb2Nrcy5maW5kKGNh
Y2hlSWRlbnRpZmllcik7CisgICAgaWYgKHJlZmVyZW5jZVJlc3VsdCA9PSBtX2NhY2hlc0xvY2tz
LmVuZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQocmVmZXJlbmNlUmVzdWx0LT52
YWx1ZSk7CiAgICAgaWYgKC0tcmVmZXJlbmNlUmVzdWx0LT52YWx1ZSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgRW5naW5lOjp1bmxvY2sobV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCksIHNl
c3Npb25JRCwgY2FjaGVJZGVudGlmaWVyKTsKLSAgICByZWZlcmVuY2VzLnJlbW92ZShyZWZlcmVu
Y2VSZXN1bHQpOworICAgIEVuZ2luZTo6dW5sb2NrKG1fY29ubmVjdGlvbi5uZXR3b3JrUHJvY2Vz
cygpLCBzZXNzaW9uSUQoKSwgY2FjaGVJZGVudGlmaWVyKTsKKyAgICBtX2NhY2hlc0xvY2tzLnJl
bW92ZShyZWZlcmVuY2VSZXN1bHQpOworfQorCit2b2lkIENhY2hlU3RvcmFnZUVuZ2luZUNvbm5l
Y3Rpb246OmNsZWFyTWVtb3J5UmVwcmVzZW50YXRpb24oV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYg
b3JpZ2luLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEVycm9yPiYmKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKK3sKKyAgICBFbmdpbmU6OmNsZWFyTWVtb3J5UmVwcmVzZW50YXRpb24o
bV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCksIHNlc3Npb25JRCgpLCBXVEZNb3ZlKG9yaWdp
biksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBDYWNoZVN0b3JhZ2VF
bmdpbmVDb25uZWN0aW9uOjpjbGVhck1lbW9yeVJlcHJlc2VudGF0aW9uKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKE9wdGlvbmFsPEVycm9yPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6ZW5naW5lUmVwcmVzZW50YXRpb24oQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAg
RW5naW5lOjpjbGVhck1lbW9yeVJlcHJlc2VudGF0aW9uKG1fY29ubmVjdGlvbi5uZXR3b3JrUHJv
Y2VzcygpLCBzZXNzaW9uSUQsIFdURk1vdmUob3JpZ2luKSwgV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpOworICAgIEVuZ2luZTo6cmVwcmVzZW50YXRpb24obV9jb25uZWN0aW9uLm5ldHdvcmtQ
cm9jZXNzKCksIHNlc3Npb25JRCgpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAK
LXZvaWQgQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6ZW5naW5lUmVwcmVzZW50YXRpb24o
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEICwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcm
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCitQQUw6OlNlc3Npb25JRCBDYWNoZVN0b3JhZ2VFbmdp
bmVDb25uZWN0aW9uOjpzZXNzaW9uSUQoKSBjb25zdAogewotICAgIEVuZ2luZTo6cmVwcmVzZW50
YXRpb24obV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCksIHNlc3Npb25JRCwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOworICAgIHJldHVybiBtX2Nvbm5lY3Rpb24uc2Vzc2lvbklEKCk7
CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmgKaW5kZXggZDk0ZWM2Zjc2
ZDcyMTM3OGRlNmM3NDA4Mjk5OTQ4NWJkYzRjZjI2Mi4uYjRlZWEwYWVjNjBmZDhhMzFhMzdhZmFh
OGY2YjI1NDI5YzA2MDA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLmgKQEAg
LTYzLDIyICs2MywyNCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IENhY2hlU3Rv
cmFnZUVuZ2luZUNvbm5lY3Rpb24oTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKIAot
ICAgIHZvaWQgb3BlbihQQUw6OlNlc3Npb25JRCwgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFN0
cmluZyYmIGNhY2hlTmFtZSwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRlbnRpZmll
ckNhbGxiYWNrJiYpOwotICAgIHZvaWQgcmVtb3ZlKFBBTDo6U2Vzc2lvbklELCB1aW50NjRfdCBj
YWNoZUlkZW50aWZpZXIsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUlkZW50aWZpZXJD
YWxsYmFjayYmKTsKLSAgICB2b2lkIGNhY2hlcyhQQUw6OlNlc3Npb25JRCwgV2ViQ29yZTo6Q2xp
ZW50T3JpZ2luJiYsIHVpbnQ2NF90IHVwZGF0ZUNvdW50ZXIsIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOjpDYWNoZUluZm9zQ2FsbGJhY2smJik7CisgICAgdm9pZCBvcGVuKFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiYmLCBTdHJpbmcmJiBjYWNoZU5hbWUsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpD
YWNoZUlkZW50aWZpZXJDYWxsYmFjayYmKTsKKyAgICB2b2lkIHJlbW92ZSh1aW50NjRfdCBjYWNo
ZUlkZW50aWZpZXIsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUlkZW50aWZpZXJDYWxs
YmFjayYmKTsKKyAgICB2b2lkIGNhY2hlcyhXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgdWludDY0
X3QgdXBkYXRlQ291bnRlciwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSW5mb3NDYWxs
YmFjayYmKTsKIAotICAgIHZvaWQgcmV0cmlldmVSZWNvcmRzKFBBTDo6U2Vzc2lvbklELCB1aW50
NjRfdCBjYWNoZUlkZW50aWZpZXIsIFVSTCYmLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVj
b3Jkc0NhbGxiYWNrJiYpOwotICAgIHZvaWQgZGVsZXRlTWF0Y2hpbmdSZWNvcmRzKFBBTDo6U2Vz
c2lvbklELCB1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYmLCBXZWJDb3JlOjpDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBXZWJDb3JlOjpET01DYWNoZUVuZ2lu
ZTo6UmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmKTsKLSAgICB2b2lkIHB1dFJlY29yZHMoUEFM
OjpTZXNzaW9uSUQsIHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgVmVjdG9yPFdlYkNvcmU6OkRP
TUNhY2hlRW5naW5lOjpSZWNvcmQ+JiYsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmRJ
ZGVudGlmaWVyc0NhbGxiYWNrJiYpOworICAgIHZvaWQgcmV0cmlldmVSZWNvcmRzKHVpbnQ2NF90
IGNhY2hlSWRlbnRpZmllciwgVVJMJiYsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmRz
Q2FsbGJhY2smJik7CisgICAgdm9pZCBkZWxldGVNYXRjaGluZ1JlY29yZHModWludDY0X3QgY2Fj
aGVJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6Q2FjaGVR
dWVyeU9wdGlvbnMmJiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZElkZW50aWZpZXJz
Q2FsbGJhY2smJik7CisgICAgdm9pZCBwdXRSZWNvcmRzKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmll
ciwgVmVjdG9yPFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQ+JiYsIFdlYkNvcmU6OkRP
TUNhY2hlRW5naW5lOjpSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYpOwogCi0gICAgdm9pZCBy
ZWZlcmVuY2UoUEFMOjpTZXNzaW9uSUQsIHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllcik7Ci0gICAg
dm9pZCBkZXJlZmVyZW5jZShQQUw6OlNlc3Npb25JRCwgdWludDY0X3QgY2FjaGVJZGVudGlmaWVy
KTsKKyAgICB2b2lkIHJlZmVyZW5jZSh1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIpOworICAgIHZv
aWQgZGVyZWZlcmVuY2UodWludDY0X3QgY2FjaGVJZGVudGlmaWVyKTsKIAotICAgIHZvaWQgY2xl
YXJNZW1vcnlSZXByZXNlbnRhdGlvbihQQUw6OlNlc3Npb25JRCwgV2ViQ29yZTo6Q2xpZW50T3Jp
Z2luJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8V2ViQ29yZTo6RE9NQ2FjaGVF
bmdpbmU6OkVycm9yPiYmKT4mJik7Ci0gICAgdm9pZCBlbmdpbmVSZXByZXNlbnRhdGlvbihQQUw6
OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcmJik+JiYpOworICAgIHZv
aWQgY2xlYXJNZW1vcnlSZXByZXNlbnRhdGlvbihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6RXJy
b3I+JiYpPiYmKTsKKyAgICB2b2lkIGVuZ2luZVJlcHJlc2VudGF0aW9uKCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFN0cmluZyYmKT4mJik7CisgICAgCisgICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lv
bklEKCkgY29uc3Q7CiAKICAgICBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9jb25u
ZWN0aW9uOwotICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIEhhc2hNYXA8Q2FjaGVTdG9yYWdl
OjpDYWNoZUlkZW50aWZpZXIsIENhY2hlU3RvcmFnZTo6TG9ja0NvdW50Pj4gbV9jYWNoZXNMb2Nr
czsKKyAgICBIYXNoTWFwPENhY2hlU3RvcmFnZTo6Q2FjaGVJZGVudGlmaWVyLCBDYWNoZVN0b3Jh
Z2U6OkxvY2tDb3VudD4gbV9jYWNoZXNMb2NrczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVT
dG9yYWdlRW5naW5lQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCBmOGZmNzZlNGEyZDRjOWVl
ZGRhYjUxZThlODdiN2ZkYzdhMWEwMGZkLi43MWVlNWE5YWEyZDJhMGE0NmYzMmIwMWYxNzQzNjQ2
ZTE2ZmQzZjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCkBAIC0yMSwxNyArMjEsMTcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMg
LT4gQ2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbiB7Ci0gICAgUmVmZXJlbmNlKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgY2FjaGVJZGVudGlmaWVyKQotICAgIERlcmVmZXJl
bmNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgdWludDY0X3QgY2FjaGVJZGVudGlmaWVyKQor
ICAgIFJlZmVyZW5jZSh1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIpCisgICAgRGVyZWZlcmVuY2Uo
dWludDY0X3QgY2FjaGVJZGVudGlmaWVyKQogCi0gICAgT3BlbihQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBTdHJpbmcgY2FjaGVO
YW1lKSAtPiAoV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRlbnRpZmllck9yRXJyb3Ig
cmVzdWx0KSBBc3luYwotICAgIFJlbW92ZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVpbnQ2
NF90IGNhY2hlSWRlbnRpZmllcikgLT4gKFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUlk
ZW50aWZpZXJPckVycm9yIHJlc3VsdCkgQXN5bmMKLSAgICBDYWNoZXMoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgdWludDY0X3Qg
dXBkYXRlQ291bnRlcikgLT4gKFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUluZm9zT3JF
cnJvciByZXN1bHQpIEFzeW5jCisgICAgT3BlbihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2lu
IG9yaWdpbiwgU3RyaW5nIGNhY2hlTmFtZSkgLT4gKFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpD
YWNoZUlkZW50aWZpZXJPckVycm9yIHJlc3VsdCkgQXN5bmMKKyAgICBSZW1vdmUodWludDY0X3Qg
Y2FjaGVJZGVudGlmaWVyKSAtPiAoV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRlbnRp
Zmllck9yRXJyb3IgcmVzdWx0KSBBc3luYworICAgIENhY2hlcyhzdHJ1Y3QgV2ViQ29yZTo6Q2xp
ZW50T3JpZ2luIG9yaWdpbiwgdWludDY0X3QgdXBkYXRlQ291bnRlcikgLT4gKFdlYkNvcmU6OkRP
TUNhY2hlRW5naW5lOjpDYWNoZUluZm9zT3JFcnJvciByZXN1bHQpIEFzeW5jCiAKLSAgICBSZXRy
aWV2ZVJlY29yZHMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCB1aW50NjRfdCBjYWNoZUlkZW50
aWZpZXIsIFVSTCB1cmwpIC0+IChXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3Jkc09yRXJy
b3IgcmVzdWx0KSBBc3luYwotICAgIERlbGV0ZU1hdGNoaW5nUmVjb3JkcyhQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0IHJlcXVlc3QsIHN0cnVjdCBXZWJDb3JlOjpDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25z
KSAtPiAoV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZElkZW50aWZpZXJzT3JFcnJvciBy
ZXN1bHQpIEFzeW5jCi0gICAgUHV0UmVjb3JkcyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHVp
bnQ2NF90IGNhY2hlSWRlbnRpZmllciwgVmVjdG9yPFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpS
ZWNvcmQ+IHJlY29yZCkgLT4gKFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmRJZGVudGlm
aWVyc09yRXJyb3IgcmVzdWx0KSBBc3luYworICAgIFJldHJpZXZlUmVjb3Jkcyh1aW50NjRfdCBj
YWNoZUlkZW50aWZpZXIsIFVSTCB1cmwpIC0+IChXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVj
b3Jkc09yRXJyb3IgcmVzdWx0KSBBc3luYworICAgIERlbGV0ZU1hdGNoaW5nUmVjb3Jkcyh1aW50
NjRfdCBjYWNoZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBz
dHJ1Y3QgV2ViQ29yZTo6Q2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucykgLT4gKFdlYkNvcmU6OkRP
TUNhY2hlRW5naW5lOjpSZWNvcmRJZGVudGlmaWVyc09yRXJyb3IgcmVzdWx0KSBBc3luYworICAg
IFB1dFJlY29yZHModWludDY0X3QgY2FjaGVJZGVudGlmaWVyLCBWZWN0b3I8V2ViQ29yZTo6RE9N
Q2FjaGVFbmdpbmU6OlJlY29yZD4gcmVjb3JkKSAtPiAoV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6
OlJlY29yZElkZW50aWZpZXJzT3JFcnJvciByZXN1bHQpIEFzeW5jCiAKLSAgICBDbGVhck1lbW9y
eVJlcHJlc2VudGF0aW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgc3RydWN0IFdlYkNvcmU6
OkNsaWVudE9yaWdpbiBvcmlnaW4pIC0+IChPcHRpb25hbDxXZWJDb3JlOjpET01DYWNoZUVuZ2lu
ZTo6RXJyb3I+IGVycm9yKSBBc3luYwotICAgIEVuZ2luZVJlcHJlc2VudGF0aW9uKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCkgLT4gKFN0cmluZyByZXByZXNlbnRhdGlvbikgQXN5bmMKKyAgICBD
bGVhck1lbW9yeVJlcHJlc2VudGF0aW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3Jp
Z2luKSAtPiAoT3B0aW9uYWw8V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkVycm9yPiBlcnJvcikg
QXN5bmMKKyAgICBFbmdpbmVSZXByZXNlbnRhdGlvbigpIC0+IChTdHJpbmcgcmVwcmVzZW50YXRp
b24pIEFzeW5jCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUv
V2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Q2FjaGUvV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAKaW5kZXggNmE2YjNmNjM2NDY5N2Uw
MmY3MzBhZTVjNjg4ZjEwYzQyMjYwYmNiMi4uN2M3YmI0MTY5Mjg1ZGIzNmM3MzBkZDJhZTc3NTI3
YWRhODdkMDUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dl
YkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtNDAsOSArNDAsOCBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOjpET01DYWNoZUVuZ2lu
ZTsKIHVzaW5nIG5hbWVzcGFjZSBDYWNoZVN0b3JhZ2U7CiAKLVdlYkNhY2hlU3RvcmFnZUNvbm5l
Y3Rpb246OldlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIm
IHByb3ZpZGVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCitXZWJDYWNoZVN0b3JhZ2VDb25u
ZWN0aW9uOjpXZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVy
JiBwcm92aWRlcikKICAgICA6IG1fcHJvdmlkZXIocHJvdmlkZXIpCi0gICAgLCBtX3Nlc3Npb25J
RChzZXNzaW9uSUQpCiB7CiB9CiAKQEAgLTU4LDU3ICs1Nyw2MiBAQCBJUEM6OkNvbm5lY3Rpb24m
IFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmNvbm5lY3Rpb24oKQogCiB2b2lkIFdlYkNhY2hl
U3RvcmFnZUNvbm5lY3Rpb246Om9wZW4oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmln
aW4sIGNvbnN0IFN0cmluZyYgY2FjaGVOYW1lLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q2Fj
aGVJZGVudGlmaWVyQ2FsbGJhY2smJiBjYWxsYmFjaykKIHsKLSAgICBjb25uZWN0aW9uKCkuc2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpP
cGVuKG1fc2Vzc2lvbklELCBvcmlnaW4sIGNhY2hlTmFtZSksIFdURk1vdmUoY2FsbGJhY2spKTsK
KyAgICBjb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpDYWNoZVN0b3Jh
Z2VFbmdpbmVDb25uZWN0aW9uOjpPcGVuKG9yaWdpbiwgY2FjaGVOYW1lKSwgV1RGTW92ZShjYWxs
YmFjaykpOwogfQogCiB2b2lkIFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJlbW92ZSh1aW50
NjRfdCBjYWNoZUlkZW50aWZpZXIsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUlkZW50
aWZpZXJDYWxsYmFjayYmIGNhbGxiYWNrKQogewotICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFz
eW5jUmVwbHkoTWVzc2FnZXM6OkNhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OlJlbW92ZSht
X3Nlc3Npb25JRCwgY2FjaGVJZGVudGlmaWVyKSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIGNv
bm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkNhY2hlU3RvcmFnZUVuZ2lu
ZUNvbm5lY3Rpb246OlJlbW92ZShjYWNoZUlkZW50aWZpZXIpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7
CiB9CiAKIHZvaWQgV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6cmV0cmlldmVDYWNoZXMoY29u
c3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHVwZGF0ZUNvdW50ZXIs
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUluZm9zQ2FsbGJhY2smJiBjYWxsYmFjaykK
IHsKLSAgICBjb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpDYWNoZVN0
b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpDYWNoZXMobV9zZXNzaW9uSUQsIG9yaWdpbiwgdXBkYXRl
Q291bnRlciksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZFdpdGhB
c3luY1JlcGx5KE1lc3NhZ2VzOjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpDYWNoZXMo
b3JpZ2luLCB1cGRhdGVDb3VudGVyKSwgV1RGTW92ZShjYWxsYmFjaykpOwogfQogCiB2b2lkIFdl
YkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnJldHJpZXZlUmVjb3Jkcyh1aW50NjRfdCBjYWNoZUlk
ZW50aWZpZXIsIGNvbnN0IFVSTCYgdXJsLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3Jk
c0NhbGxiYWNrJiYgY2FsbGJhY2spCiB7Ci0gICAgY29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNS
ZXBseShNZXNzYWdlczo6Q2FjaGVTdG9yYWdlRW5naW5lQ29ubmVjdGlvbjo6UmV0cmlldmVSZWNv
cmRzKG1fc2Vzc2lvbklELCBjYWNoZUlkZW50aWZpZXIsIHVybCksIFdURk1vdmUoY2FsbGJhY2sp
KTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpDYWNoZVN0
b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpSZXRyaWV2ZVJlY29yZHMoY2FjaGVJZGVudGlmaWVyLCB1
cmwpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9CiAKIHZvaWQgV2ViQ2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjo6YmF0Y2hEZWxldGVPcGVyYXRpb24odWludDY0X3QgY2FjaGVJZGVudGlmaWVyLCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdlYkNvcmU6OkNhY2hlUXVlcnlP
cHRpb25zJiYgb3B0aW9ucywgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZElkZW50aWZp
ZXJzQ2FsbGJhY2smJiBjYWxsYmFjaykKIHsKLSAgICBjb25uZWN0aW9uKCkuc2VuZFdpdGhBc3lu
Y1JlcGx5KE1lc3NhZ2VzOjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpEZWxldGVNYXRj
aGluZ1JlY29yZHMobV9zZXNzaW9uSUQsIGNhY2hlSWRlbnRpZmllciwgcmVxdWVzdCwgb3B0aW9u
cyksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpEZWxldGVNYXRjaGlu
Z1JlY29yZHMoY2FjaGVJZGVudGlmaWVyLCByZXF1ZXN0LCBvcHRpb25zKSwgV1RGTW92ZShjYWxs
YmFjaykpOwogfQogCiB2b2lkIFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmJhdGNoUHV0T3Bl
cmF0aW9uKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgVmVjdG9yPFJlY29yZD4mJiByZWNvcmRz
LCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmIGNh
bGxiYWNrKQogewotICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6
OkNhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OlB1dFJlY29yZHMobV9zZXNzaW9uSUQsIGNh
Y2hlSWRlbnRpZmllciwgcmVjb3JkcyksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBjb25uZWN0
aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25u
ZWN0aW9uOjpQdXRSZWNvcmRzKGNhY2hlSWRlbnRpZmllciwgcmVjb3JkcyksIFdURk1vdmUoY2Fs
bGJhY2spKTsKIH0KIAogdm9pZCBXZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpyZWZlcmVuY2Uo
dWludDY0X3QgY2FjaGVJZGVudGlmaWVyKQogewotICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpSZWZlcmVuY2UobV9zZXNzaW9uSUQs
IGNhY2hlSWRlbnRpZmllciksIDApOworICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpD
YWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpSZWZlcmVuY2UoY2FjaGVJZGVudGlmaWVyKSwg
MCk7CiB9CiAKIHZvaWQgV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbjo6ZGVyZWZlcmVuY2UodWlu
dDY0X3QgY2FjaGVJZGVudGlmaWVyKQogewotICAgIGNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2Vz
OjpDYWNoZVN0b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpEZXJlZmVyZW5jZShtX3Nlc3Npb25JRCwg
Y2FjaGVJZGVudGlmaWVyKSwgMCk7CisgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OkNh
Y2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OkRlcmVmZXJlbmNlKGNhY2hlSWRlbnRpZmllciks
IDApOwogfQogCiB2b2lkIFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OmNsZWFyTWVtb3J5UmVw
cmVzZW50YXRpb24oY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4sIENvbXBsZXRp
b25DYWxsYmFjayYmIGNhbGxiYWNrKQogewotICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OkNhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OkNsZWFyTWVtb3J5
UmVwcmVzZW50YXRpb24geyBtX3Nlc3Npb25JRCwgb3JpZ2luIH0sIFdURk1vdmUoY2FsbGJhY2sp
KTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpDYWNoZVN0
b3JhZ2VFbmdpbmVDb25uZWN0aW9uOjpDbGVhck1lbW9yeVJlcHJlc2VudGF0aW9uIHsgb3JpZ2lu
IH0sIFdURk1vdmUoY2FsbGJhY2spKTsKIH0KIAogdm9pZCBXZWJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uOjplbmdpbmVSZXByZXNlbnRhdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFN0
cmluZyYpPiYmIGNhbGxiYWNrKQogewotICAgIGNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVw
bHkoTWVzc2FnZXM6OkNhY2hlU3RvcmFnZUVuZ2luZUNvbm5lY3Rpb246OkVuZ2luZVJlcHJlc2Vu
dGF0aW9uIHsgbV9zZXNzaW9uSUQgfSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgIGNvbm5lY3Rp
b24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkNhY2hlU3RvcmFnZUVuZ2luZUNvbm5l
Y3Rpb246OkVuZ2luZVJlcHJlc2VudGF0aW9uIHsgfSwgV1RGTW92ZShjYWxsYmFjaykpOwogfQog
CiB2b2lkIFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb246OnVwZGF0ZVF1b3RhQmFzZWRPblNwYWNl
VXNhZ2UoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4pCiB7Ci0gICAgY29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpVcGRhdGVRdW90YUJhc2VkT25T
cGFjZVVzYWdlRm9yVGVzdGluZyhtX3Nlc3Npb25JRCwgb3JpZ2luKSwgMCk7CisgICAgY29ubmVj
dGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpVcGRhdGVRdW90YUJhc2VkT25T
cGFjZVVzYWdlRm9yVGVzdGluZyhXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKSwg
b3JpZ2luKSwgMCk7Cit9CisKK1BBTDo6U2Vzc2lvbklEIFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rp
b246OnNlc3Npb25JRCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLnNlc3Npb25JRCgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaAppbmRleCAzZTRkNDM5
YWI3MGEwMjAwNjBjNjEzNGMzNjNlYjJmNDc3NjgxNWM0Li5mNDhlNWE3NjQ5YzY4MTJhNzY3OGVm
ZTY5NjY3MjdkZDM1YzliMDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Q2FjaGUvV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9DYWNoZS9XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmgKQEAgLTQwLDE0ICs0MCwx
NCBAQCBjbGFzcyBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlcjsKIAogY2xhc3MgV2ViQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbiBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24+
IGNyZWF0ZShXZWJDYWNoZVN0b3JhZ2VQcm92aWRlciYgcHJvdmlkZXIsIFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uKHByb3ZpZGVyLCBzZXNzaW9uSUQpKTsgfQorICAgIHN0YXRpYyBSZWY8V2ViQ2FjaGVTdG9y
YWdlQ29ubmVjdGlvbj4gY3JlYXRlKFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyJiBwcm92aWRlcikg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKHByb3ZpZGVy
KSk7IH0KIAogICAgIH5XZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uKCk7CiAKICAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwogCiBwcml2
YXRlOgotICAgIFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oV2ViQ2FjaGVTdG9yYWdlUHJvdmlk
ZXImLCBQQUw6OlNlc3Npb25JRCk7CisgICAgV2ViQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihXZWJD
YWNoZVN0b3JhZ2VQcm92aWRlciYpOwogCiAgICAgSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
KCk7CiAKQEAgLTY2LDExICs2NiwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJNZW1vcnlS
ZXByZXNlbnRhdGlvbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBXZWJDb3JlOjpET01D
YWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgZW5naW5l
UmVwcmVzZW50YXRpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBTdHJpbmcmKT4mJikg
ZmluYWw7CiAgICAgdm9pZCB1cGRhdGVRdW90YUJhc2VkT25TcGFjZVVzYWdlKGNvbnN0IFdlYkNv
cmU6OkNsaWVudE9yaWdpbiYpIGZpbmFsOwotCi0gICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXNzaW9uSUQ7IH0KKyAgICAKKyAgICBQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQoKSBjb25zdCBmaW5hbDsKIAogICAgIFdlYkNhY2hlU3RvcmFnZVBy
b3ZpZGVyJiBtX3Byb3ZpZGVyOwotICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogfTsK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hl
U3RvcmFnZVByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9DYWNoZS9XZWJD
YWNoZVN0b3JhZ2VQcm92aWRlci5jcHAKaW5kZXggNTAxY2I3MjA2MjQ4MjQxZjk0MjY4NWFhY2Nk
NDcwYmY0NjIyMWY0OS4uMmEwMjI1MzcyZTgxMzdiYjg3YjMzYWZiYzVmZDdjZDhmMzg2OTZiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dlYkNhY2hlU3RvcmFn
ZVByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuY3BwCkBAIC0zNiwxNyArMzYsMTAgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKIFJlZjxXZWJDb3JlOjpDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBXZWJDYWNoZVN0b3Jh
Z2VQcm92aWRlcjo6Y3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbihQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQpCiB7Ci0gICAgaWYgKHNlc3Npb25JRC5pc0VwaGVtZXJhbCgpKSB7Ci0gICAgICAg
IHJldHVybiBtX2Nvbm5lY3Rpb25zLmVuc3VyZShzZXNzaW9uSUQsIFs9XSgpIHsKLSAgICAgICAg
ICAgIHJldHVybiBXZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpjcmVhdGUoKnRoaXMsIHNlc3Np
b25JRCk7Ci0gICAgICAgIH0pLml0ZXJhdG9yLT52YWx1ZS5jb3B5UmVmKCk7Ci0gICAgfQotCi0g
ICAgaWYgKCFtX2RlZmF1bHRDb25uZWN0aW9uKSB7Ci0gICAgICAgIG1fZGVmYXVsdENvbm5lY3Rp
b24gPSBXZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uOjpjcmVhdGUoKnRoaXMsIHNlc3Npb25JRCk7
Ci0gICAgICAgIG1fY29ubmVjdGlvbnMuc2V0KHNlc3Npb25JRCwgKm1fZGVmYXVsdENvbm5lY3Rp
b24pOwotICAgIH0KLSAgICByZXR1cm4gKm1fZGVmYXVsdENvbm5lY3Rpb247CisgICAgQVNTRVJU
X1VOVVNFRChzZXNzaW9uSUQsIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpKTsK
KyAgICBpZiAoIW1fY29ubmVjdGlvbikKKyAgICAgICAgbV9jb25uZWN0aW9uID0gV2ViQ2FjaGVT
dG9yYWdlQ29ubmVjdGlvbjo6Y3JlYXRlKCp0aGlzKTsKKyAgICByZXR1cm4gKm1fY29ubmVjdGlv
bjsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0NhY2hlL1dl
YkNhY2hlU3RvcmFnZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUv
V2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaAppbmRleCAzOGFlZTZjZTYxMjE0N2U1ZmRkM2Y2Njc3
MDlkOTUxZDQ1M2YyN2RiLi4yZjU1NjljN2VmNzc1NDY4MzhhYjExZmIwOTgyOGNkN2U5Y2M1MTBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2FjaGVTdG9y
YWdlUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQ2FjaGUvV2ViQ2Fj
aGVTdG9yYWdlUHJvdmlkZXIuaApAQCAtNDYsOCArNDYsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIFdlYkNhY2hlU3RvcmFnZVByb3ZpZGVyKCkgPSBkZWZhdWx0OwogCi0gICAgUmVmUHRyPFdl
YkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fZGVmYXVsdENvbm5lY3Rpb247Ci0gICAgSGFzaE1h
cDxQQUw6OlNlc3Npb25JRCwgUmVmPFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24+PiBtX2Nvbm5l
Y3Rpb25zOworICAgIFJlZlB0cjxXZWJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uPiBtX2Nvbm5lY3Rp
b247CiB9OwogCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>