<?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>209187</bug_id>
          
          <creation_ts>2020-03-17 11:02:04 -0700</creation_ts>
          <short_desc>[WKTR] testRunner API that takes in a completion handler should use async IPC</short_desc>
          <delta_ts>2020-03-17 14:26:14 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=209184</see_also>
          <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>
          <dependson>209184</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1630788</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-17 11:02:04 -0700</bug_when>
    <thetext>testRunner API that takes in a completion handler should use async IPC, not sync IPC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630789</commentid>
    <comment_count>1</comment_count>
      <attachid>393767</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-17 11:03:30 -0700</bug_when>
    <thetext>Created attachment 393767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630875</commentid>
    <comment_count>2</comment_count>
      <attachid>393767</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2020-03-17 14:00:58 -0700</bug_when>
    <thetext>Comment on attachment 393767
Patch

The ios-wk2 bot test failures look unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630888</commentid>
    <comment_count>3</comment_count>
      <attachid>393767</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-17 14:25:11 -0700</bug_when>
    <thetext>Comment on attachment 393767
Patch

Clearing flags on attachment: 393767

Committed r258598: &lt;https://trac.webkit.org/changeset/258598&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630889</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-17 14:25:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630890</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-17 14:26:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/60554986&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393767</attachid>
            <date>2020-03-17 11:03:30 -0700</date>
            <delta_ts>2020-03-17 14:25:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209187-20200317110329.patch</filename>
            <type>text/plain</type>
            <size>19844</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NTQ3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDQ5NWViZDBkYjY5MDY5ZTExZDI1YWNkMjA1NWZhNDE3
NmEzZDYwZi4uMGRhZmQ3YjVjZTFhMThkOTFhYTQ5MGU4YjU4NzM4NmUwZjA4NWUzMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMw
IEBACisyMDIwLTAzLTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgW1dLVFJdIHRlc3RSdW5uZXIgQVBJIHRoYXQgdGFrZXMgaW4gYSBjb21wbGV0aW9uIGhhbmRs
ZXIgc2hvdWxkIHVzZSBhc3luYyBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwOTE4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIHRlc3RSdW5uZXIgQVBJIHRoYXQgdGFrZXMgaW4gYSBjb21wbGV0aW9u
IGhhbmRsZXIgc2hvdWxkIHVzZSBhc3luYyBJUEMuIFRoaXMgaGFuZ3MKKyAgICAgICAgdGhlIFdl
YlByb2Nlc3MgZm9yIG5vIHJlYXNvbiBhbmQgY2FuIGNhdXNlIGRlYWRsb2NrcyBpZiB0aGUgVUlQ
cm9jZXNzIHRoZW4gdHJpZXMKKyAgICAgICAgdG8gSVBDIHRoZSBXZWJQcm9jZXNzIGFzIGEgcmVz
dWx0IG9mIHRoaXMgdGVzdFJ1bm5lciBjYWxsLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5l
cjo6c2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbik6CisgICAgICAgIChXVFI6OlRl
c3RSdW5uZXI6OnN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyk6CisgICAgICAgIChXVFI6
OlRlc3RSdW5uZXI6OnN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlKToK
KyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJz
aXN0ZW50U3RvcmVNb2RpZmllZFNpbmNlSG91cnMpOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVy
OjpzdGF0aXN0aWNzQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsKToKKyAgICAgICAgKFdU
Ujo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc1Nob3VsZERvd25ncmFkZVJlZmVycmVyKToKKyAg
ICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0U3RhdGlzdGljc0ZpcnN0UGFydHlXZWJzaXRlRGF0
YVJlbW92YWxNb2RlKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c3RhdGlzdGljc1Jlc2V0
VG9Db25zaXN0ZW50U3RhdGUpOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpnZXRBbGxTdG9y
YWdlQWNjZXNzRW50cmllcyk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnJlbW92ZUFsbFNl
c3Npb25DcmVkZW50aWFscyk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OmdldEFwcGxpY2F0
aW9uTWFuaWZlc3RUaGVuKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVNZXNzYWdl
RnJvbUluamVjdGVkQnVuZGxlKToKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJl
Y2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorCiAyMDIwLTAzLTE3
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGxlc3Mgc3lu
YyBJUEMgZm9yIElUUCB0ZXN0UnVubmVyIG1ldGhvZHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGQ4ZWQ4MjhhODI0
N2Q0ZjBjYjc3MmZlNzM0OTI2YmQ4ZWJhZjA3YmIuLjViY2RlMzA0Y2Q5MDA1MjkxNjJkMjQ2Yzkw
ODVmYzU1OGNjZGM5ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMTc0NCw3ICsxNzQ0LDcgQEAgdm9pZCBUZXN0
UnVubmVyOjpzZXRTdGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKEpTU3RyaW5nUmVmIGhv
c3ROYW1lLCBib29sIHYKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUg
PSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzSGFz
SGFkVXNlckludGVyYWN0aW9uIikpOwogICAgIFdLUmV0YWluUHRyPFdLRGljdGlvbmFyeVJlZj4g
bWVzc2FnZUJvZHkgPSBhZG9wdFdLKFdLRGljdGlvbmFyeUNyZWF0ZShyYXdLZXlzLmRhdGEoKSwg
cmF3VmFsdWVzLmRhdGEoKSwgcmF3S2V5cy5zaXplKCkpKTsKICAgICAKLSAgICBXS0J1bmRsZVBv
c3RTeW5jaHJvbm91c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgp
LCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCksIG51bGxwdHIpOworICAgIFdL
QnVuZGxlUG9zdE1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBt
ZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCkpOwogfQogCiB2b2lkIFRlc3RSdW5u
ZXI6OnN0YXRpc3RpY3NDYWxsRGlkU2V0SGFzSGFkVXNlckludGVyYWN0aW9uQ2FsbGJhY2soKQpA
QCAtMjA3MSw3ICsyMDcxLDcgQEAgdm9pZCBUZXN0UnVubmVyOjpzdGF0aXN0aWNzVXBkYXRlQ29v
a2llQmxvY2tpbmcoSlNWYWx1ZVJlZiBjb21wbGV0aW9uSGFuZGxlcikKICAgICBjYWNoZVRlc3RS
dW5uZXJDYWxsYmFjayhTdGF0aXN0aWNzRGlkU2V0QmxvY2tDb29raWVzRm9ySG9zdENhbGxiYWNr
SUQsIGNvbXBsZXRpb25IYW5kbGVyKTsKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBt
ZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlN0YXRp
c3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyIpKTsKLSAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91
c01lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFt
ZS5nZXQoKSwgbnVsbHB0ciwgbnVsbHB0cik7CisgICAgV0tCdW5kbGVQb3N0TWVzc2FnZShJbmpl
Y3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBudWxs
cHRyKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzdGF0aXN0aWNzQ2FsbERpZFNldEJsb2NrQ29v
a2llc0Zvckhvc3RDYWxsYmFjaygpCkBAIC0yMTQ2LDcgKzIxNDYsNyBAQCB2b2lkIFRlc3RSdW5u
ZXI6OnN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlKEpTVmFsdWVSZWYg
Y2FsbGJhY2spCiAgICAgY2FjaGVUZXN0UnVubmVyQ2FsbGJhY2soU3RhdGlzdGljc0RpZENsZWFy
VGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbENhbGxiYWNrSUQsIGNhbGxiYWNrKTsKIAogICAgIFdL
UmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVh
dGVXaXRoVVRGOENTdHJpbmcoIlN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0
b3JlIikpOwotICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRs
ZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBudWxscHRyLCBudWxs
cHRyKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG51bGxwdHIpOwogfQogCiB2b2lkIFRlc3RS
dW5uZXI6OnN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRT
aW5jZUhvdXJzKHVuc2lnbmVkIGhvdXJzLCBKU1ZhbHVlUmVmIGNhbGxiYWNrKQpAQCAtMjE1NSw3
ICsyMTU1LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpzdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBl
cnNpc3RlbnRTdG9yZU1vZGlmaWVkU2luY2VIb3Vycyh1bnMKIAogICAgIFdLUmV0YWluUHRyPFdL
U3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIlN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpZWRT
aW5jZUhvdXJzIikpOwogICAgIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4gbWVzc2FnZUJvZHkgPSBh
ZG9wdFdLKFdLVUludDY0Q3JlYXRlKGhvdXJzKSk7Ci0gICAgV0tCdW5kbGVQb3N0U3luY2hyb25v
dXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5h
bWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKKyAgICBXS0J1bmRsZVBvc3RN
ZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUu
Z2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzdGF0aXN0
aWNzQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsKEpTVmFsdWVSZWYgY2FsbGJhY2spCkBA
IC0yMTYzLDcgKzIxNjMsNyBAQCB2b2lkIFRlc3RSdW5uZXI6OnN0YXRpc3RpY3NDbGVhclRocm91
Z2hXZWJzaXRlRGF0YVJlbW92YWwoSlNWYWx1ZVJlZiBjYWxsYmFjaykKICAgICBjYWNoZVRlc3RS
dW5uZXJDYWxsYmFjayhTdGF0aXN0aWNzRGlkQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFs
Q2FsbGJhY2tJRCwgY2FsbGJhY2spOwogICAgIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVm
PiBtZXNzYWdlTmFtZSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlN0
YXRpc3RpY3NDbGVhclRocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwiKSk7Ci0gICAgV0tCdW5kbGVQ
b3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUo
KSwgbWVzc2FnZU5hbWUuZ2V0KCksIG51bGxwdHIsIG51bGxwdHIpOworICAgIFdLQnVuZGxlUG9z
dE1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFt
ZS5nZXQoKSwgbnVsbHB0cik7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6c3RhdGlzdGljc0RlbGV0
ZUNvb2tpZXNGb3JIb3N0KEpTU3RyaW5nUmVmIGhvc3ROYW1lLCBib29sIGluY2x1ZGVIdHRwT25s
eUNvb2tpZXMpCkBAIC0yMjI3LDcgKzIyMjcsNyBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRp
c3RpY3NTaG91bGREb3duZ3JhZGVSZWZlcnJlcihib29sIHZhbHVlLCBKU1ZhbHVlUmVmIGNvbQog
ICAgIGNhY2hlVGVzdFJ1bm5lckNhbGxiYWNrKFN0YXRpc3RpY3NEaWRTZXRTaG91bGREb3duZ3Jh
ZGVSZWZlcnJlckNhbGxiYWNrSUQsIGNvbXBsZXRpb25IYW5kbGVyKTsKICAgICBXS1JldGFpblB0
cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzU2hvdWxkRG93bmdyYWRlUmVmZXJyZXIiKSk7CiAgICAg
V0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBtZXNzYWdlQm9keSA9IGFkb3B0V0soV0tCb29sZWFu
Q3JlYXRlKHZhbHVlKSk7Ci0gICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVj
dGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3Nh
Z2VCb2R5LmdldCgpLCBudWxscHRyKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKEluamVjdGVk
QnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VC
b2R5LmdldCgpKTsKICAgICBtX2hhc1NldERvd25ncmFkZVJlZmVycmVyQ2FsbGJhY2sgPSB0cnVl
OwogfQogCkBAIC0yMjY1LDcgKzIyNjUsNyBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFN0YXRpc3Rp
Y3NGaXJzdFBhcnR5V2Vic2l0ZURhdGFSZW1vdmFsTW9kZShib29sIHZhbHVlLCBKU1ZhbAogICAg
IGNhY2hlVGVzdFJ1bm5lckNhbGxiYWNrKFN0YXRpc3RpY3NEaWRTZXRGaXJzdFBhcnR5V2Vic2l0
ZURhdGFSZW1vdmFsTW9kZUNhbGxiYWNrSUQsIGNvbXBsZXRpb25IYW5kbGVyKTsKICAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJTZXRTdGF0aXN0aWNzRmlyc3RQYXJ0eVdlYnNpdGVEYXRhUmVtb3Zh
bE1vZGUiKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBtZXNzYWdlQm9keSA9IGFk
b3B0V0soV0tCb29sZWFuQ3JlYXRlKHZhbHVlKSk7Ci0gICAgV0tCdW5kbGVQb3N0U3luY2hyb25v
dXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5h
bWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKKyAgICBXS0J1bmRsZVBvc3RN
ZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUu
Z2V0KCksIG1lc3NhZ2VCb2R5LmdldCgpKTsKICAgICBtX2hhc1NldEZpcnN0UGFydHlXZWJzaXRl
RGF0YVJlbW92YWxNb2RlQ2FsbGJhY2sgPSB0cnVlOwogfQogCkBAIC0yMjg1LDcgKzIyODUsNyBA
QCB2b2lkIFRlc3RSdW5uZXI6OnN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKEpTVmFs
dWVSZWYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgY2FjaGVUZXN0UnVubmVyQ2FsbGJhY2soU3Rh
dGlzdGljc0RpZFJlc2V0VG9Db25zaXN0ZW50U3RhdGVDYWxsYmFja0lELCBjb21wbGV0aW9uSGFu
ZGxlcik7CiAgICAgCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lID0g
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU3RhdGlzdGljc1Jlc2V0VG9D
b25zaXN0ZW50U3RhdGUiKSk7Ci0gICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKElu
amVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG51
bGxwdHIsIG51bGxwdHIpOworICAgIFdLQnVuZGxlUG9zdE1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6
OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbnVsbHB0cik7CiB9CiAK
IHZvaWQgVGVzdFJ1bm5lcjo6c3RhdGlzdGljc0NhbGxEaWRSZXNldFRvQ29uc2lzdGVudFN0YXRl
Q2FsbGJhY2soKQpAQCAtMjMyOCw3ICsyMzI4LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpnZXRBbGxT
dG9yYWdlQWNjZXNzRW50cmllcyhKU1ZhbHVlUmVmIGNhbGxiYWNrKQogICAgIGNhY2hlVGVzdFJ1
bm5lckNhbGxiYWNrKEFsbFN0b3JhZ2VBY2Nlc3NFbnRyaWVzQ2FsbGJhY2tJRCwgY2FsbGJhY2sp
OwogICAgIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFkb3B0
V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkdldEFsbFN0b3JhZ2VBY2Nlc3NFbnRy
aWVzIikpOwotICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1bmRs
ZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBudWxscHRyLCBudWxs
cHRyKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG51bGxwdHIpOwogfQogCiB2b2lkIFRlc3RS
dW5uZXI6OmNhbGxEaWRSZWNlaXZlQWxsU3RvcmFnZUFjY2Vzc0VudHJpZXNDYWxsYmFjayhWZWN0
b3I8U3RyaW5nPiYgZG9tYWlucykKQEAgLTI2NjcsNyArMjY2Nyw3IEBAIHZvaWQgVGVzdFJ1bm5l
cjo6cmVtb3ZlQWxsU2Vzc2lvbkNyZWRlbnRpYWxzKEpTVmFsdWVSZWYgY2FsbGJhY2spCiAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lID0gYWRvcHRXSyhXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiUmVtb3ZlQWxsU2Vzc2lvbkNyZWRlbnRpYWxzIikpOwogICAg
IFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gbWVzc2FnZUJvZHkgPSBhZG9wdFdLKFdLQm9vbGVh
bkNyZWF0ZSh0cnVlKSk7CiAgICAgCi0gICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdl
KEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCks
IG1lc3NhZ2VCb2R5LmdldCgpLCBudWxscHRyKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKElu
amVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1l
c3NhZ2VCb2R5LmdldCgpKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpjYWxsRGlkUmVtb3ZlQWxs
U2Vzc2lvbkNyZWRlbnRpYWxzQ2FsbGJhY2soKQpAQCAtMjcxOSw3ICsyNzE5LDcgQEAgdm9pZCBU
ZXN0UnVubmVyOjpnZXRBcHBsaWNhdGlvbk1hbmlmZXN0VGhlbihKU1ZhbHVlUmVmIGNhbGxiYWNr
KQogICAgIGNhY2hlVGVzdFJ1bm5lckNhbGxiYWNrKEdldEFwcGxpY2F0aW9uTWFuaWZlc3RDYWxs
YmFja0lELCBjYWxsYmFjayk7CiAgICAgCiAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1l
c3NhZ2VOYW1lID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiR2V0QXBw
bGljYXRpb25NYW5pZmVzdCIpKTsKLSAgICBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2Uo
SW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwg
bnVsbHB0ciwgbnVsbHB0cik7CisgICAgV0tCdW5kbGVQb3N0TWVzc2FnZShJbmplY3RlZEJ1bmRs
ZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBudWxscHRyKTsKIH0K
IAogdm9pZCBUZXN0UnVubmVyOjpkaWRHZXRBcHBsaWNhdGlvbk1hbmlmZXN0KCkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggYjVlNTNmNTc1YmQzY2VjNWI0
YTk5NzNkNTNkYjYzMmEwNjIzNWQzNy4uZWYyMjFiZTA5MjFiMTMwNmRiNDllZTZjNGE0NTFkNzgz
ZmQ2NzhiYSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlv
bi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAg
LTkxOSw2ICs5MTksODYgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VG
cm9tSW5qZWN0ZWRCdW5kbGUoV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAorICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VO
YW1lLCAiU3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUiKSkgeworICAg
ICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc3RhdGlzdGljc0NsZWFySW5NZW1vcnlB
bmRQZXJzaXN0ZW50U3RvcmUoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChX
S1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU3RhdGlzdGljc0NsZWFy
VGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbCIpKSB7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpz
aW5nbGV0b24oKS5zdGF0aXN0aWNzQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsKCk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0
cmluZyhtZXNzYWdlTmFtZSwgIlN0YXRpc3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0
b3JlTW9kaWZpZWRTaW5jZUhvdXJzIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1l
c3NhZ2VCb2R5KSA9PSBXS1VJbnQ2NEdldFR5cGVJRCgpKTsKKyAgICAgICAgV0tVSW50NjRSZWYg
aG91cnMgPSBzdGF0aWNfY2FzdDxXS1VJbnQ2NFJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBU
ZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJz
aXN0ZW50U3RvcmVNb2RpZmllZFNpbmNlSG91cnMoV0tVSW50NjRHZXRWYWx1ZShob3VycykpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzU2hvdWxkRG93bmdyYWRlUmVmZXJyZXIi
KSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLQm9vbGVh
bkdldFR5cGVJRCgpKTsKKyAgICAgICAgV0tCb29sZWFuUmVmIHZhbHVlID0gc3RhdGljX2Nhc3Q8
V0tCb29sZWFuUmVmPihtZXNzYWdlQm9keSk7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5n
bGV0b24oKS5zZXRTdGF0aXN0aWNzU2hvdWxkRG93bmdyYWRlUmVmZXJyZXIoV0tCb29sZWFuR2V0
VmFsdWUodmFsdWUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChXS1N0cmlu
Z0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc0ZpcnN0UGFy
dHlXZWJzaXRlRGF0YVJlbW92YWxNb2RlIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlE
KG1lc3NhZ2VCb2R5KSA9PSBXS0Jvb2xlYW5HZXRUeXBlSUQoKSk7CisgICAgICAgIFdLQm9vbGVh
blJlZiB2YWx1ZSA9IHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkpOworICAg
ICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0U3RhdGlzdGljc0ZpcnN0UGFydHlX
ZWJzaXRlRGF0YVJlbW92YWxNb2RlKFdLQm9vbGVhbkdldFZhbHVlKHZhbHVlKSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyht
ZXNzYWdlTmFtZSwgIlN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlIikpIHsKKyAgICAg
ICAgaWYgKG1fc2hvdWxkRHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3MpCisgICAgICAgICAgICBt
X3NhdmVkUmVzb3VyY2VMb2FkU3RhdGlzdGljcyA9IFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24o
KS5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOworICAgICAgICBUZXN0Q29udHJvbGxlcjo6
c2luZ2xldG9uKCkuc3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1l
c3NhZ2VOYW1lLCAiR2V0QWxsU3RvcmFnZUFjY2Vzc0VudHJpZXMiKSkgeworICAgICAgICBUZXN0
Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuZ2V0QWxsU3RvcmFnZUFjY2Vzc0VudHJpZXMoKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3Ry
aW5nKG1lc3NhZ2VOYW1lLCAiUmVtb3ZlQWxsU2Vzc2lvbkNyZWRlbnRpYWxzIikpIHsKKyAgICAg
ICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnJlbW92ZUFsbFNlc3Npb25DcmVkZW50aWFs
cygpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRv
VVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJHZXRBcHBsaWNhdGlvbk1hbmlmZXN0IikpIHsKKyNp
ZmRlZiBfX0JMT0NLU19fCisgICAgICAgIFdLUGFnZUdldEFwcGxpY2F0aW9uTWFuaWZlc3RfYihU
ZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGFnZSgpLCBeeworICAg
ICAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lID0gYWRvcHRXSyhX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiRGlkR2V0QXBwbGljYXRpb25NYW5pZmVzdCIp
KTsKKyAgICAgICAgICAgIFdLUGFnZVBvc3RNZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShUZXN0Q29u
dHJvbGxlcjo6c2luZ2xldG9uKCkubWFpbldlYlZpZXcoKS0+cGFnZSgpLCBtZXNzYWdlTmFtZS5n
ZXQoKSwgMCk7CisgICAgICAgIH0pOworI2Vsc2UKKyAgICAgICAgLy8gRklYTUU6IEFkZCBBUEkg
Zm9yIGxvYWRpbmcgdGhlIG1hbmlmZXN0IG9uIG5vbi1fX0JMT0NLU19fIHBvcnRzLgorICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgorICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRT
dGF0aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0
VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0RpY3Rpb25hcnlHZXRUeXBlSUQoKSk7CisKKyAgICAg
ICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3NhZ2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdL
RGljdGlvbmFyeVJlZj4obWVzc2FnZUJvZHkpOworICAgICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gaG9zdE5hbWVLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJIb3N0TmFtZSIpKTsKKyAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHZhbHVlS2V5
ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVmFsdWUiKSk7CisKKyAg
ICAgICAgV0tTdHJpbmdSZWYgaG9zdE5hbWUgPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4oV0tE
aWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnksIGhvc3ROYW1lS2V5
LmdldCgpKSk7CisgICAgICAgIFdLQm9vbGVhblJlZiB2YWx1ZSA9IHN0YXRpY19jYXN0PFdLQm9v
bGVhblJlZj4oV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShtZXNzYWdlQm9keURpY3Rpb25hcnks
IHZhbHVlS2V5LmdldCgpKSk7CisKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigp
LnNldFN0YXRpc3RpY3NIYXNIYWRVc2VySW50ZXJhY3Rpb24oaG9zdE5hbWUsIFdLQm9vbGVhbkdl
dFZhbHVlKHZhbHVlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoV0tTdHJp
bmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlN0YXRpc3RpY3NVcGRhdGVDb29r
aWVCbG9ja2luZyIpKSB7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zdGF0
aXN0aWNzVXBkYXRlQ29va2llQmxvY2tpbmcoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCkBAIC0xMDM1LDExICsxMTE1LDYgQEAgV0tS
ZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3Vz
TWVzc2FnZUZyb21JbmplY3RlZEIKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0g
ICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJHZXRBbGxT
dG9yYWdlQWNjZXNzRW50cmllcyIpKSB7Ci0gICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0
b24oKS5nZXRBbGxTdG9yYWdlQWNjZXNzRW50cmllcygpOwotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLSAgICB9Ci0KICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdl
TmFtZSwgIlNldEFsbG93c0FueVNTTENlcnRpZmljYXRlIikpIHsKICAgICAgICAgVGVzdENvbnRy
b2xsZXI6OnNpbmdsZXRvbigpLnNldEFsbG93c0FueVNTTENlcnRpZmljYXRlKFdLQm9vbGVhbkdl
dFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkpKSk7CiAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtMTI4NywyMCArMTM2Miw2IEBAIFdLUmV0YWluUHRyPFdLVHlw
ZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5q
ZWN0ZWRCCiAgICAgICAgIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4gcmVzdWx0ID0gYWRvcHRXSyhX
S0Jvb2xlYW5DcmVhdGUoaXNSZWdpc3RlcmVkQXNSZWRpcmVjdGluZ1RvKSk7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhD
U3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2V0U3RhdGlzdGljc0hhc0hhZFVzZXJJbnRlcmFjdGlvbiIp
KSB7Ci0gICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9u
YXJ5R2V0VHlwZUlEKCkpOwotICAgICAgICAKLSAgICAgICAgV0tEaWN0aW9uYXJ5UmVmIG1lc3Nh
Z2VCb2R5RGljdGlvbmFyeSA9IHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4obWVzc2FnZUJv
ZHkpOwotICAgICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gaG9zdE5hbWVLZXkgPSBhZG9w
dFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJIb3N0TmFtZSIpKTsKLSAgICAgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHZhbHVlS2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiVmFsdWUiKSk7Ci0gICAgICAgIAotICAgICAgICBXS1N0cmluZ1Jl
ZiBob3N0TmFtZSA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihXS0RpY3Rpb25hcnlHZXRJdGVt
Rm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgaG9zdE5hbWVLZXkuZ2V0KCkpKTsKLSAgICAg
ICAgV0tCb29sZWFuUmVmIHZhbHVlID0gc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihXS0RpY3Rp
b25hcnlHZXRJdGVtRm9yS2V5KG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgdmFsdWVLZXkuZ2V0KCkp
KTsKLSAgICAgICAgCi0gICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0
aXN0aWNzSGFzSGFkVXNlckludGVyYWN0aW9uKGhvc3ROYW1lLCBXS0Jvb2xlYW5HZXRWYWx1ZSh2
YWx1ZSkpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAKICAgICBpZiAoV0tTdHJp
bmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIklzU3RhdGlzdGljc0hhc0hhZFVz
ZXJJbnRlcmFjdGlvbiIpKSB7CiAgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9k
eSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7CkBAIC0xNDY1LDExICsxNTI2LDYgQEAgV0tSZXRh
aW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVz
c2FnZUZyb21JbmplY3RlZEIKICAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnN0
YXRpc3RpY3NQcm9jZXNzU3RhdGlzdGljc0FuZERhdGFSZWNvcmRzKCk7CiAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIH0KLSAgICAKLSAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0
cmluZyhtZXNzYWdlTmFtZSwgIlN0YXRpc3RpY3NVcGRhdGVDb29raWVCbG9ja2luZyIpKSB7Ci0g
ICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zdGF0aXN0aWNzVXBkYXRlQ29va2ll
QmxvY2tpbmcoKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQogCiAgICAgaWYgKFdL
U3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTdGF0aXN0aWNzU3VibWl0
VGVsZW1ldHJ5IikpIHsKICAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnN0YXRp
c3RpY3NTdWJtaXRUZWxlbWV0cnkoKTsKQEAgLTE1MzEsMjMgKzE1ODcsNiBAQCBXS1JldGFpblB0
cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdl
RnJvbUluamVjdGVkQgogICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2V0U3Rh
dGlzdGljc1BydW5lRW50cmllc0Rvd25UbyhXS1VJbnQ2NEdldFZhbHVlKGVudHJpZXMpKTsKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIAotICAgIGlmIChXS1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQ
ZXJzaXN0ZW50U3RvcmUiKSkgewotICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCku
c3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmUoKTsKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAotICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhD
U3RyaW5nKG1lc3NhZ2VOYW1lLCAiU3RhdGlzdGljc0NsZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50
U3RvcmVNb2RpZmllZFNpbmNlSG91cnMiKSkgewotICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQo
bWVzc2FnZUJvZHkpID09IFdLVUludDY0R2V0VHlwZUlEKCkpOwotICAgICAgICBXS1VJbnQ2NFJl
ZiBob3VycyA9IHN0YXRpY19jYXN0PFdLVUludDY0UmVmPihtZXNzYWdlQm9keSk7Ci0gICAgICAg
IFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zdGF0aXN0aWNzQ2xlYXJJbk1lbW9yeUFuZFBl
cnNpc3RlbnRTdG9yZU1vZGlmaWVkU2luY2VIb3VycyhXS1VJbnQ2NEdldFZhbHVlKGhvdXJzKSk7
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKLSAgICBpZiAoV0tTdHJpbmdJ
c0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlN0YXRpc3RpY3NDbGVhclRocm91Z2hX
ZWJzaXRlRGF0YVJlbW92YWwiKSkgewotICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9u
KCkuc3RhdGlzdGljc0NsZWFyVGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbCgpOwotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAKICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0
cmluZyhtZXNzYWdlTmFtZSwgIlN0YXRpc3RpY3NEZWxldGVDb29raWVzRm9ySG9zdCIpKSB7CiAg
ICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tEaWN0aW9uYXJ5R2V0
VHlwZUlEKCkpOwpAQCAtMTU3OSwxMyArMTYxOCw2IEBAIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4g
VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRC
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIGlmIChXS1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU3RhdGlzdGljc1Jlc2V0VG9Db25zaXN0ZW50
U3RhdGUiKSkgewotICAgICAgICBpZiAobV9zaG91bGREdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cykKLSAgICAgICAgICAgIG1fc2F2ZWRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzID0gVGVzdENvbnRy
b2xsZXI6OnNpbmdsZXRvbigpLmR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7Ci0gICAgICAg
IFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRT
dGF0ZSgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0KICAgICBpZiAoV0tTdHJp
bmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIkhhc1N0YXRpc3RpY3NJc29sYXRl
ZFNlc3Npb24iKSkgewogICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09
IFdLU3RyaW5nR2V0VHlwZUlEKCkpOwogICAgICAgICAKQEAgLTE1OTQsMjUgKzE2MjYsNiBAQCBX
S1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25v
dXNNZXNzYWdlRnJvbUluamVjdGVkQgogICAgICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0V0soV0tC
b29sZWFuQ3JlYXRlKGhhc0lzb2xhdGVkU2Vzc2lvbikpOwogICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KLSAgICAKLSAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNz
YWdlTmFtZSwgIlNldFN0YXRpc3RpY3NTaG91bGREb3duZ3JhZGVSZWZlcnJlciIpKSB7Ci0gICAg
ICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tCb29sZWFuR2V0VHlwZUlE
KCkpOwotICAgICAgICBXS0Jvb2xlYW5SZWYgdmFsdWUgPSBzdGF0aWNfY2FzdDxXS0Jvb2xlYW5S
ZWY+KG1lc3NhZ2VCb2R5KTsKLSAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNl
dFN0YXRpc3RpY3NTaG91bGREb3duZ3JhZGVSZWZlcnJlcihXS0Jvb2xlYW5HZXRWYWx1ZSh2YWx1
ZSkpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgCi0gICAgaWYgKFdLU3Ry
aW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRTdGF0aXN0aWNzRmlyc3RQ
YXJ0eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGUiKSkgewotICAgICAgICBBU1NFUlQoV0tHZXRUeXBl
SUQobWVzc2FnZUJvZHkpID09IFdLQm9vbGVhbkdldFR5cGVJRCgpKTsKLSAgICAgICAgV0tCb29s
ZWFuUmVmIHZhbHVlID0gc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihtZXNzYWdlQm9keSk7Ci0g
ICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5zZXRTdGF0aXN0aWNzRmlyc3RQYXJ0
eVdlYnNpdGVEYXRhUmVtb3ZhbE1vZGUoV0tCb29sZWFuR2V0VmFsdWUodmFsdWUpKTsKLSAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAotICAgIGlmIChXS1N0cmluZ0lzRXF1YWxU
b1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiUmVtb3ZlQWxsU2Vzc2lvbkNyZWRlbnRpYWxzIikp
IHsKLSAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnJlbW92ZUFsbFNlc3Npb25D
cmVkZW50aWFscygpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9CiAKICAgICBpZiAo
V0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIkNsZWFyRE9NQ2FjaGUi
KSkgewogICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLU3RyaW5n
R2V0VHlwZUlEKCkpOwpAQCAtMTY2MCwxOSArMTY3Myw2IEBAIFdLUmV0YWluUHRyPFdLVHlwZVJl
Zj4gVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0
ZWRCCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIGlmIChXS1N0cmluZ0lz
RXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiR2V0QXBwbGljYXRpb25NYW5pZmVzdCIp
KSB7Ci0jaWZkZWYgX19CTE9DS1NfXwotICAgICAgICBXS1BhZ2VHZXRBcHBsaWNhdGlvbk1hbmlm
ZXN0X2IoVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBhZ2UoKSwg
XnsKLSAgICAgICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZSA9IGFk
b3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkRpZEdldEFwcGxpY2F0aW9uTWFu
aWZlc3QiKSk7Ci0gICAgICAgICAgICBXS1BhZ2VQb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5kbGUo
VGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLm1haW5XZWJWaWV3KCktPnBhZ2UoKSwgbWVzc2Fn
ZU5hbWUuZ2V0KCksIDApOwotICAgICAgICB9KTsKLSNlbHNlCi0gICAgICAgIC8vIEZJWE1FOiBB
ZGQgQVBJIGZvciBsb2FkaW5nIHRoZSBtYW5pZmVzdCBvbiBub24tX19CTE9DS1NfXyBwb3J0cy4K
LSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0jZW5kaWYKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgfQotCiAgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVz
c2FnZU5hbWUsICJTZW5kRGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2VkTWVzc2FnZUZvclRlc3Rp
bmciKSkgewogICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2VuZERpc3BsYXlD
b25maWd1cmF0aW9uQ2hhbmdlZE1lc3NhZ2VGb3JUZXN0aW5nKCk7CiAgICAgICAgIHJldHVybiBu
dWxscHRyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>