<?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>198448</bug_id>
          
          <creation_ts>2019-05-31 19:55:58 -0700</creation_ts>
          <short_desc>[Apple Pay] Disable script injection when canMakePayment APIs are called and return true</short_desc>
          <delta_ts>2019-06-03 23:36:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1540929</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-05-31 19:55:58 -0700</bug_when>
    <thetext>[Apple Pay] Disable script injection when canMakePayment APIs are called and return true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540930</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-05-31 19:56:14 -0700</bug_when>
    <thetext>rdar://problem/51323694</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1540931</commentid>
    <comment_count>2</comment_count>
      <attachid>371104</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-05-31 20:08:47 -0700</bug_when>
    <thetext>Created attachment 371104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541455</commentid>
    <comment_count>3</comment_count>
      <attachid>371247</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-06-03 22:20:01 -0700</bug_when>
    <thetext>Created attachment 371247
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541467</commentid>
    <comment_count>4</comment_count>
      <attachid>371247</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-03 23:36:11 -0700</bug_when>
    <thetext>Comment on attachment 371247
Patch

Clearing flags on attachment: 371247

Committed r246056: &lt;https://trac.webkit.org/changeset/246056&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541468</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-03 23:36:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371104</attachid>
            <date>2019-05-31 20:08:47 -0700</date>
            <delta_ts>2019-06-03 22:20:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198448-20190531200846.patch</filename>
            <type>text/plain</type>
            <size>46819</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1ODUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWZiNzYxYmE4NzVkYjkz
ZDljYzU5M2YyMGRhYzQ3Njg2ZTA0ODA5Yy4uM2EzZGViNTg0MDBlNmY2YjYwYTUxYTYzZTM3Zjg4
ZWNkYmYwMTg4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTA1LTMxICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBEaXNhYmxl
IHNjcmlwdCBpbmplY3Rpb24gd2hlbiBjYW5NYWtlUGF5bWVudCBBUElzIGFyZSBjYWxsZWQgYW5k
IHJldHVybiB0cnVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTg0NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUxMzIzNjk0PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByZXZpb3VzbHksIG9ubHkg
YW4gYWN0aXZlIEFwcGxlIFBheSBzZXNzaW9uIHdvdWxkIGRpc2FibGUgc2NyaXB0IGluamVjdGlv
biBpbiByZXN0cmljdGVkCisgICAgICAgIFdLV2ViVmlld3MuIEhvd2V2ZXIsIHRoaXMgY2FuIHJl
c3VsdCBpbiB3ZWJzaXRlcyByZW5kZXJpbmcgbm9uLWZ1bmN0aW9uYWwgQXBwbGUgUGF5IGJ1dHRv
bnMKKyAgICAgICAgZHVlIHRvIHRoZSByYWNlIGJldHdlZW4gdGhlIGhvc3RpbmcgYXBwIGNhbGxp
bmcgLWV2YWx1YXRlSmF2YVNjcmlwdDpjb21wbGV0aW9uSGFuZGxlcjogYW5kCisgICAgICAgIHRo
ZSB3ZWJzaXRlIGNhbGxpbmcgY2FuTWFrZVBheW1lbnQgQVBJcyB0byBkZXRlcm1pbmUgd2hldGhl
ciB0byBkcmF3IGEgYnV0dG9uLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgc28gdGhh
dCwgaWYgYSB3ZWJzaXRlIGNhbGxzIEFwcGxlUGF5U2Vzc2lvbidzIGNhbk1ha2VQYXltZW50cyBv
cgorICAgICAgICBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCwgb3IgUGF5bWVudFJlcXVl
c3QncyBjYW5NYWtlUGF5bWVudCwgaW4gYSB3ZWIgdmlldyB0aGF0IGhhcyBubworICAgICAgICBp
bmplY3RlZCBzY3JpcHRzLCBhbmQgdGhvc2UgY2FsbHMgcmV0dXJuIHRydWUsIGZ1dHVyZSBzY3Jp
cHQgaW5qZWN0aW9ucyBmcm9tIHRoZSBob3N0aW5nIGFwcAorICAgICAgICB3aWxsIGJlIGJsb2Nr
ZWQuCisKKyAgICAgICAgQWxzbywgdGhpcyBwYXRjaCByZW1vdmVzIHRoZSByZXN0cmljdGlvbnMg
b24gdGhlIG9wZW5QYXltZW50U2V0dXAsIHN1cHBvcnRzVmVyc2lvbiwgYW5kCisgICAgICAgIHZh
bGlkYXRlZFBheW1lbnROZXR3b3JrIEFQSXMsIHNpbmNlIHRob3NlIEFQSXMgZG8gbm90IHJldmVh
bCB0cmFuc2FjdGlvbiBpbmZvcm1hdGlvbiBhbmQgYXJlCisgICAgICAgIG5vdCB1c2VkIHRvIGRl
dGVybWluZSB3aGV0aGVyIHRvIGRyYXcgYnV0dG9ucy4KKworICAgICAgICBBZGRlZCBuZXcgQVBJ
IHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNp
b24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtl
UGF5bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRp
bmF0b3I6Om9wZW5QYXltZW50U2V0dXApOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3Jk
aW5hdG9yOjpiZWdpblBheW1lbnRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRD
b29yZGluYXRvcjo6dmFsaWRhdGVkUGF5bWVudE5ldHdvcmsgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpzZXRBcHBsZVBheUlzQWN0aXZlSWZBbGxvd2VkIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6c2hvdWxkQWxsb3dV
c2VyQWdlbnRTY3JpcHRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGlu
YXRvcjo6c2hvdWxkQWxsb3dBcHBsZVBheSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmlzQXBwbGVQYXlBY3RpdmUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEFwcGxlUGF5SXNBY3RpdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Omhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24gY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEhhc1N0YXJ0ZWRB
cHBsZVBheVNlc3Npb24pOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
czo6c2V0QXBwbGVQYXlJc0FjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnNl
dEhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24pOiBEZWxldGVkLgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDE5LTA1
LTI5ICBMdWRvdmljbyBkZSBOaXR0aXMgIDxsdWRvdmljby5kZW5pdHRpc0Bjb2xsYWJvcmEuY29t
PgogCiAgICAgICAgIFByZXBlbmQgS0VZXyB0byB0aGUgbGFzdCBrZXkgYWxpYXMgaW4gUGxhdGZv
cm1FdmVudEtleWJvYXJkR3RrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggZDU1OTk0OGQwYTZmYWE2M2UyMDVi
YTA5ZmNmMTkyYjFiMGJiMDJjNy4uNjUxNDE5ODUxZThlNWE3MzdjMTc5ZjMxZWZjMDRlODZiNjcz
MWNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50
Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudENvb3JkaW5hdG9yLmNwcApAQCAtNTYsMTEgKzU2LDggQEAgUGF5bWVudENvb3JkaW5hdG9y
Ojp+UGF5bWVudENvb3JkaW5hdG9yKCkKICAgICBtX2NsaWVudC5wYXltZW50Q29vcmRpbmF0b3JE
ZXN0cm95ZWQoKTsKIH0KIAotYm9vbCBQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lv
bihEb2N1bWVudCYgZG9jdW1lbnQsIHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0Citib29sIFBheW1l
bnRDb29yZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKERvY3VtZW50JiwgdW5zaWduZWQgdmVyc2lv
bikgY29uc3QKIHsKLSAgICBpZiAoIXNob3VsZEFsbG93QXBwbGVQYXkoZG9jdW1lbnQpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBhdXRvIHN1cHBvcnRzVmVyc2lvbiA9IG1fY2xpZW50
LnN1cHBvcnRzVmVyc2lvbih2ZXJzaW9uKTsKICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJz
dXBwb3J0c1ZlcnNpb24oJWQpIC0+ICVkIiwgdmVyc2lvbiwgc3VwcG9ydHNWZXJzaW9uKTsKICAg
ICByZXR1cm4gc3VwcG9ydHNWZXJzaW9uOwpAQCAtNjgsMjggKzY1LDM4IEBAIGJvb2wgUGF5bWVu
dENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNpb24oRG9jdW1lbnQmIGRvY3VtZW50LCB1bnNpZ25l
ZCB2ZXJzaW9uKSBjCiAKIGJvb2wgUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHMo
RG9jdW1lbnQmIGRvY3VtZW50KQogewotICAgIGlmICghc2hvdWxkQWxsb3dBcHBsZVBheShkb2N1
bWVudCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAgIGF1dG8gY2FuTWFrZVBheW1lbnRz
ID0gbV9jbGllbnQuY2FuTWFrZVBheW1lbnRzKCk7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCgiY2FuTWFrZVBheW1lbnRzKCkgLT4gJWQiLCBjYW5NYWtlUGF5bWVudHMpOwotICAgIHJldHVy
biBjYW5NYWtlUGF5bWVudHM7CisKKyAgICBpZiAoIWNhbk1ha2VQYXltZW50cykKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFzZXRBcHBsZVBheUlzQWN0aXZlSWZBbGxvd2VkKGRv
Y3VtZW50KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAK
IHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChE
b2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBXVEY6
OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgaWYgKCFz
aG91bGRBbGxvd0FwcGxlUGF5KGRvY3VtZW50KSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25I
YW5kbGVyKGZhbHNlKTsKKyAgICBtX2NsaWVudC5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZChtZXJjaGFudElkZW50aWZpZXIsIGRvY3VtZW50LmRvbWFpbigpLCBbdGhpcywgd2Vha1RoaXMg
PSBtYWtlV2Vha1B0cigqdGhpcyksIGRvY3VtZW50ID0gbWFrZVdlYWtQdHIoZG9jdW1lbnQpLCBj
b21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShib29sIGNhbk1h
a2VQYXltZW50cykgeworICAgICAgICBpZiAoIXdlYWtUaGlzKQorICAgICAgICAgICAgcmV0dXJu
IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCgpIC0+ICVkIiwgY2FuTWFrZVBheW1l
bnRzKTsKKworICAgICAgICBpZiAoIWNhbk1ha2VQYXltZW50cykKKyAgICAgICAgICAgIHJldHVy
biBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisKKyAgICAgICAgaWYgKCFkb2N1bWVudCB8fCAh
c2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dlZCgqZG9jdW1lbnQpKQorICAgICAgICAgICAgcmV0
dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoImNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKCkiKTsKLSAgICBtX2NsaWVudC5jYW5N
YWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChtZXJjaGFudElkZW50aWZpZXIsIGRvY3VtZW50LmRv
bWFpbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKHRydWUpOworICAgIH0pOwogfQogCiB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6b3Bl
blBheW1lbnRTZXR1cChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJ
ZGVudGlmaWVyLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7Ci0gICAgaWYgKCFzaG91bGRBbGxvd0FwcGxlUGF5KGRvY3VtZW50KSkKLSAgICAgICAgcmV0
dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKLQogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoIm9wZW5QYXltZW50U2V0dXAoKSIpOwogICAgIG1fY2xpZW50Lm9wZW5QYXltZW50U2V0dXAo
bWVyY2hhbnRJZGVudGlmaWVyLCBkb2N1bWVudC5kb21haW4oKSwgV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpOwogfQpAQCAtOTgsNyArMTA1LDcgQEAgYm9vbCBQYXltZW50Q29vcmRpbmF0b3I6
OmJlZ2luUGF5bWVudFNlc3Npb24oRG9jdW1lbnQmIGRvY3VtZW50LCBQYXltZW50U2Vzc2lvbiYK
IHsKICAgICBBU1NFUlQoIW1fYWN0aXZlU2Vzc2lvbik7CiAKLSAgICBpZiAoIXNob3VsZEFsbG93
QXBwbGVQYXkoZG9jdW1lbnQpKQorICAgIGlmICghc2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dl
ZChkb2N1bWVudCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZlY3RvcjxVUkw+IGxp
bmtJY29uVVJMczsKQEAgLTExMSw3ICsxMTgsNiBAQCBib29sIFBheW1lbnRDb29yZGluYXRvcjo6
YmVnaW5QYXltZW50U2Vzc2lvbihEb2N1bWVudCYgZG9jdW1lbnQsIFBheW1lbnRTZXNzaW9uJgog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBtX2FjdGl2ZVNlc3Npb24gPSAmcGF5bWVudFNl
c3Npb247Ci0gICAgZG9jdW1lbnQuc2V0SGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lvbigpOwogICAg
IHJldHVybiB0cnVlOwogfQogCkBAIC0yMzksMTEgKzI0NSw4IEBAIHZvaWQgUGF5bWVudENvb3Jk
aW5hdG9yOjpkaWRDYW5jZWxQYXltZW50U2Vzc2lvbigpCiAgICAgbV9hY3RpdmVTZXNzaW9uID0g
bnVsbHB0cjsKIH0KIAotT3B0aW9uYWw8U3RyaW5nPiBQYXltZW50Q29vcmRpbmF0b3I6OnZhbGlk
YXRlZFBheW1lbnROZXR3b3JrKERvY3VtZW50JiBkb2N1bWVudCwgdW5zaWduZWQgdmVyc2lvbiwg
Y29uc3QgU3RyaW5nJiBwYXltZW50TmV0d29yaykgY29uc3QKK09wdGlvbmFsPFN0cmluZz4gUGF5
bWVudENvb3JkaW5hdG9yOjp2YWxpZGF0ZWRQYXltZW50TmV0d29yayhEb2N1bWVudCYsIHVuc2ln
bmVkIHZlcnNpb24sIGNvbnN0IFN0cmluZyYgcGF5bWVudE5ldHdvcmspIGNvbnN0CiB7Ci0gICAg
aWYgKCFzaG91bGRBbGxvd0FwcGxlUGF5KGRvY3VtZW50KSkKLSAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKLQogICAgIGlmICh2ZXJzaW9uIDwgMiAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNl
KHBheW1lbnROZXR3b3JrLCAiamNiIikpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAK
QEAgLTI2OSwzNyArMjcyLDMyIEBAIGJvb2wgUGF5bWVudENvb3JkaW5hdG9yOjpzaG91bGRFbmFi
bGVBcHBsZVBheUFQSXMoRG9jdW1lbnQmIGRvY3VtZW50KSBjb25zdAogICAgIHJldHVybiBzaG91
bGRFbmFibGVBUElzOwogfQogCi1ib29sIFBheW1lbnRDb29yZGluYXRvcjo6c2hvdWxkQWxsb3dB
cHBsZVBheShEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0Citib29sIFBheW1lbnRDb29yZGluYXRv
cjo6c2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dlZChEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0
CiB7Ci0gICAgaWYgKG1fY2xpZW50LnN1cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXkoKSkgewot
ICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzaG91bGRBbGxvd0FwcGxlUGF5KCkgLT4g
dHJ1ZSAodW5yZXN0cmljdGVkIGNsaWVudCkiKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
fQotCiAgICAgYXV0byBoYXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzID0gZG9jdW1lbnQuaGFz
RXZhbHVhdGVkVXNlckFnZW50U2NyaXB0cygpOwogICAgIGF1dG8gaXNSdW5uaW5nVXNlclNjcmlw
dHMgPSBkb2N1bWVudC5pc1J1bm5pbmdVc2VyU2NyaXB0cygpOwotICAgIGlmIChoYXNFdmFsdWF0
ZWRVc2VyQWdlbnRTY3JpcHRzIHx8IGlzUnVubmluZ1VzZXJTY3JpcHRzKSB7Ci0gICAgICAgIEFT
U0VSVChzaG91bGRBbGxvd1VzZXJBZ2VudFNjcmlwdHMoZG9jdW1lbnQpKTsKLSAgICAgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgic2hvdWxkQWxsb3dBcHBsZVBheSgpIC0+IGZhbHNlIChoYXNF
dmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzOiAlZCwgaXNSdW5uaW5nVXNlclNjcmlwdHM6ICVkKSIs
IGhhc0V2YWx1YXRlZFVzZXJBZ2VudFNjcmlwdHMsIGlzUnVubmluZ1VzZXJTY3JpcHRzKTsKKyAg
ICBhdXRvIHN1cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXkgPSBtX2NsaWVudC5zdXBwb3J0c1Vu
cmVzdHJpY3RlZEFwcGxlUGF5KCk7CisKKyAgICBpZiAoIXN1cHBvcnRzVW5yZXN0cmljdGVkQXBw
bGVQYXkgJiYgKGhhc0V2YWx1YXRlZFVzZXJBZ2VudFNjcmlwdHMgfHwgaXNSdW5uaW5nVXNlclNj
cmlwdHMpKSB7CisgICAgICAgIEFTU0VSVCghZG9jdW1lbnQuaXNBcHBsZVBheUFjdGl2ZSgpKTsK
KyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxs
b3dlZCgpIC0+IGZhbHNlIChoYXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzOiAlZCwgaXNSdW5u
aW5nVXNlclNjcmlwdHM6ICVkKSIsIGhhc0V2YWx1YXRlZFVzZXJBZ2VudFNjcmlwdHMsIGlzUnVu
bmluZ1VzZXJTY3JpcHRzKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIFJF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoInNob3VsZEFsbG93QXBwbGVQYXkoKSAtPiB0cnVlIik7Cisg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dlZCgp
IC0+IHRydWUgKHN1cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXk6ICVkKSIsIHN1cHBvcnRzVW5y
ZXN0cmljdGVkQXBwbGVQYXkpOworICAgIGRvY3VtZW50LnNldEFwcGxlUGF5SXNBY3RpdmUoKTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBQYXltZW50Q29vcmRpbmF0b3I6OnNob3VsZEFs
bG93VXNlckFnZW50U2NyaXB0cyhEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0CiB7Ci0gICAgaWYg
KG1fY2xpZW50LnN1cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXkoKSkKKyAgICBpZiAobV9jbGll
bnQuc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBheSgpIHx8ICFkb2N1bWVudC5pc0FwcGxlUGF5
QWN0aXZlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKGRvY3VtZW50Lmhhc1N0
YXJ0ZWRBcHBsZVBheVNlc3Npb24oKSkgewotICAgICAgICBBU1NFUlQoc2hvdWxkQWxsb3dBcHBs
ZVBheShkb2N1bWVudCkpOwotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCJz
aG91bGRBbGxvd1VzZXJBZ2VudFNjcmlwdHMoKSAtPiBmYWxzZSAoYWN0aXZlIHNlc3Npb24pIik7
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBB
U1NFUlQoIWRvY3VtZW50Lmhhc0V2YWx1YXRlZFVzZXJBZ2VudFNjcmlwdHMoKSk7CisgICAgQVNT
RVJUKCFkb2N1bWVudC5pc1J1bm5pbmdVc2VyU2NyaXB0cygpKTsKKyAgICBSRUxFQVNFX0xPR19F
UlJPUl9JRl9BTExPV0VEKCJzaG91bGRBbGxvd1VzZXJBZ2VudFNjcmlwdHMoKSAtPiBmYWxzZSAo
YWN0aXZlIHNlc3Npb24pIik7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXlt
ZW50Q29vcmRpbmF0b3IuaAppbmRleCAyNjBhM2UyODExNjI2ZTdlNDhkY2IwMGMyMmUwNzYzYzli
MmE2ZTk4Li5lZGRhODU0ODdlZjNhZWNjMzZhMDY3MDRkOTg5MzNjOTBiYzQ1MWE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9y
LmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFwcGxlUGF5U2Vzc2lvblBheW1lbnRS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NSw3ICs0Niw3IEBAIHN0cnVjdCBQ
YXltZW50TWV0aG9kVXBkYXRlOwogc3RydWN0IFNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKIHN0cnVj
dCBTaGlwcGluZ01ldGhvZFVwZGF0ZTsKIAotY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yIHsKK2Ns
YXNzIFBheW1lbnRDb29yZGluYXRvciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxQYXltZW50Q29v
cmRpbmF0b3I+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBleHBsaWNpdCBQYXltZW50Q29vcmRpbmF0b3IoUGF5bWVudENvb3JkaW5h
dG9yQ2xpZW50Jik7CkBAIC03OSwxMiArODAsMTIgQEAgcHVibGljOgogICAgIE9wdGlvbmFsPFN0
cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoRG9jdW1lbnQmLCB1bnNpZ25lZCB2ZXJzaW9u
LCBjb25zdCBTdHJpbmcmKSBjb25zdDsKIAogICAgIGJvb2wgc2hvdWxkRW5hYmxlQXBwbGVQYXlB
UElzKERvY3VtZW50JikgY29uc3Q7Ci0gICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91bGRBbGxv
d0FwcGxlUGF5KERvY3VtZW50JikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91
bGRBbGxvd1VzZXJBZ2VudFNjcmlwdHMoRG9jdW1lbnQmKSBjb25zdDsKIAogcHJpdmF0ZToKLSAg
ICBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQmIG1fY2xpZW50OworICAgIGJvb2wgc2V0QXBwbGVQ
YXlJc0FjdGl2ZUlmQWxsb3dlZChEb2N1bWVudCYpIGNvbnN0OwogCisgICAgUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50JiBtX2NsaWVudDsKICAgICBSZWZQdHI8UGF5bWVudFNlc3Npb24+IG1fYWN0
aXZlU2Vzc2lvbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGQ4ZjNhN2EwOTk4
MGZlMmE5NTE2YTQzNmQ0Mjc4NDgyNzNmZmIwNGQuLmY5MDZmMjAzYzRiMGMzZWRjNDE1NTViOGQz
Y2ExYzU5NGUzNzE2NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtODIzNCwxOSArODIz
NCwxOSBAQCB2b2lkIERvY3VtZW50OjpzZXRIYXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzKCkK
IAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKLWJvb2wgRG9jdW1lbnQ6Omhhc1N0YXJ0ZWRBcHBs
ZVBheVNlc3Npb24oKSBjb25zdAorYm9vbCBEb2N1bWVudDo6aXNBcHBsZVBheUFjdGl2ZSgpIGNv
bnN0CiB7CiAgICAgYXV0byYgdG9wID0gdG9wRG9jdW1lbnQoKTsKLSAgICByZXR1cm4gdGhpcyA9
PSAmdG9wID8gbV9oYXNTdGFydGVkQXBwbGVQYXlTZXNzaW9uIDogdG9wLmhhc1N0YXJ0ZWRBcHBs
ZVBheVNlc3Npb24oKTsKKyAgICByZXR1cm4gdGhpcyA9PSAmdG9wID8gbV9oYXNTdGFydGVkQXBw
bGVQYXlTZXNzaW9uIDogdG9wLmlzQXBwbGVQYXlBY3RpdmUoKTsKIH0KIAotdm9pZCBEb2N1bWVu
dDo6c2V0SGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lvbigpCit2b2lkIERvY3VtZW50OjpzZXRBcHBs
ZVBheUlzQWN0aXZlKCkKIHsKICAgICBhdXRvJiB0b3AgPSB0b3BEb2N1bWVudCgpOwogICAgIGlm
ICh0aGlzID09ICZ0b3ApCiAgICAgICAgIG1faGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lvbiA9IHRy
dWU7CiAgICAgZWxzZQotICAgICAgICB0b3Auc2V0SGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lvbigp
OworICAgICAgICB0b3Auc2V0QXBwbGVQYXlJc0FjdGl2ZSgpOwogfQogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKaW5kZXggMTZkMDQxMGJiNjdkNGQ5OWYwNDU2N2VmMDE2YjYyZWExNmViMTdj
Yi4uODFmNDI4OWE4ZTczZTA0ZmI3NmExYWI2YWE5ZDc3Y2Y4NGM5OTQ0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKQEAgLTE1MjIsOCArMTUyMiw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldEFzUnVubmluZ1VzZXJTY3JpcHRzKCk7CiAgICAgdm9pZCBzZXRIYXNFdmFsdWF0
ZWRVc2VyQWdlbnRTY3JpcHRzKCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKLSAgICBXRUJDT1JF
X0VYUE9SVCBib29sIGhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24oKSBjb25zdDsKLSAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldEhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24oKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBib29sIGlzQXBwbGVQYXlBY3RpdmUoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldEFwcGxlUGF5SXNBY3RpdmUoKTsKICNlbmRpZgogCiAgICAgdm9pZCBmcmFt
ZVdhc0Rpc2Nvbm5lY3RlZEZyb21Pd25lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCmluZGV4IDUxMGVmMGQzMWI2ZWE0MjBlNGFiMDliZmU4MWY0MTVhMzE4ZjJlZmUuLmFjNDc5
NWUxZDI2OWE4ZjlkOGIyNGJjNDVkMDg4Y2U3ZmQ4NDNhZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKQEAgLTQ1OTQsOSArNDU5NCw5IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRB
c1J1bm5pbmdVc2VyU2NyaXB0cyhEb2N1bWVudCYgZG9jdW1lbnQpCiB9CiAKICNpZiBFTkFCTEUo
QVBQTEVfUEFZKQotdm9pZCBJbnRlcm5hbHM6OnNldEhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24o
RG9jdW1lbnQmIGRvY3VtZW50KQordm9pZCBJbnRlcm5hbHM6OnNldEFwcGxlUGF5SXNBY3RpdmUo
RG9jdW1lbnQmIGRvY3VtZW50KQogewotICAgIGRvY3VtZW50LnNldEhhc1N0YXJ0ZWRBcHBsZVBh
eVNlc3Npb24oKTsKKyAgICBkb2N1bWVudC5zZXRBcHBsZVBheUlzQWN0aXZlKCk7CiB9CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggM2FjNjZmNzI1OTgwMzBjMDg5
ZjcxMjAyYjQ0ODEzMDgzNzlmNzk0Ni4uOGQ4NDg2ZDExYTI1OTAyNTNiOWQ3NGRlNjFiMGZhMGRj
MDczMjRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC02ODAsNyArNjgwLDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRBc1J1bm5pbmdVc2VyU2NyaXB0cyhEb2N1bWVudCYp
OwogI2lmIEVOQUJMRShBUFBMRV9QQVkpCi0gICAgdm9pZCBzZXRIYXNTdGFydGVkQXBwbGVQYXlT
ZXNzaW9uKERvY3VtZW50Jik7CisgICAgdm9pZCBzZXRBcHBsZVBheUlzQWN0aXZlKERvY3VtZW50
Jik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbAppbmRleCBjYTJiYzU0NWIzZTA0YTc4NjhjM2Q0ODk0MGFlMDc3MjQ5ZDE0N2E3Li4x
MDMyOTFiODExZjhkNjQ5N2Q1Y2E0NzcwN2QyYWZlZGNhZjJkZmQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCkBAIC02NTcsNyArNjU3LDcgQEAgZW51bSBDb21wb3NpdGluZ1Bv
bGljeSB7CiAgICAgdm9pZCBzZXRRdWlja0xvb2tQYXNzd29yZChET01TdHJpbmcgcGFzc3dvcmQp
OwogCiAgICAgW0NhbGxXaXRoPURvY3VtZW50XSB2b2lkIHNldEFzUnVubmluZ1VzZXJTY3JpcHRz
KCk7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBDb25kaXRpb25hbD1BUFBMRV9QQVldIHZvaWQg
c2V0SGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lvbigpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwg
Q29uZGl0aW9uYWw9QVBQTEVfUEFZXSB2b2lkIHNldEFwcGxlUGF5SXNBY3RpdmUoKTsKIAogICAg
IHZvaWQgZGlzYWJsZVRpbGVTaXplVXBkYXRlRGVsYXkoKTsKICAgICB2b2lkIHNldFNwZWN1bGF0
aXZlVGlsaW5nRGVsYXlEaXNhYmxlZEZvclRlc3RpbmcoYm9vbGVhbiBkaXNhYmxlZCk7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDMzYjhhZjdj
NjJjYzhjY2YxY2UxZmYyZmQ3NGEzZWNmYTI3ZTVlYS4uM2NjNTJlOGNiMWNhYWI2YmQ3ODkxZmI5
NGNiZTUzMTBhMmI3MDM5NyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5LTA1LTMxICBBbmR5IEVzdGVzICA8YWVz
dGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBEaXNhYmxlIHNjcmlwdCBpbmpl
Y3Rpb24gd2hlbiBjYW5NYWtlUGF5bWVudCBBUElzIGFyZSBjYWxsZWQgYW5kIHJldHVybiB0cnVl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg0NDgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUxMzIzNjk0PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9BcHBsZVBheS5tbToKKyAgICAgICAgKC1bVGVzdEFwcGxlUGF5QXZhaWxh
YmxlU2NyaXB0TWVzc2FnZUhhbmRsZXIgdXNlckNvbnRlbnRDb250cm9sbGVyOmRpZFJlY2VpdmVT
Y3JpcHRNZXNzYWdlOl0pOgorICAgICAgICAoLVtUZXN0QXBwbGVQYXlBY3RpdmVTZXNzaW9uU2Ny
aXB0TWVzc2FnZUhhbmRsZXIgdXNlckNvbnRlbnRDb250cm9sbGVyOmRpZFJlY2VpdmVTY3JpcHRN
ZXNzYWdlOl0pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpydW5BY3RpdmVTZXNzaW9uVGVzdCk6CisgICAgICAgICgtW1Rlc3RBcHBsZVBh
eVNjcmlwdE1lc3NhZ2VIYW5kbGVyIGluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9uOmNh
bk1ha2VQYXltZW50c0V4cGVjdGF0aW9uOl0pOiBEZWxldGVkLgorICAgICAgICAoLVtUZXN0QXBw
bGVQYXlTY3JpcHRNZXNzYWdlSGFuZGxlciB1c2VyQ29udGVudENvbnRyb2xsZXI6ZGlkUmVjZWl2
ZVNjcmlwdE1lc3NhZ2U6XSk6IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9hcHBsZS1wYXktYWN0aXZlLXNlc3Npb24uaHRtbDoKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1hdmFpbGFiaWxpdHktZXhp
c3Rpbmctb2JqZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1pbi1pZnJhbWUuaHRtbDoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1hdmFpbGFiaWxp
dHkuaHRtbDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxl
LXBheS1jYW4tbWFrZS1wYXltZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0
aXZlLWNhcmQuaHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9hcHBsZS1wYXktY2FuLW1ha2UtcGF5bWVudHMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1wYXkuanM6IEFkZGVkLgor
ICAgICAgICAoYXBwbGVQYXlSZXF1ZXN0QmFzZSk6CisgICAgICAgIChhcHBsZVBheVBheW1lbnRS
ZXF1ZXN0KToKKyAgICAgICAgKGFwcGxlUGF5TWV0aG9kKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL2NvY29hL1Rlc3RQcm90b2NvbC5tbToKKyAgICAgICAgKC1bVGVzdFByb3RvY29sIHN0YXJ0
TG9hZGluZ10pOgorCiAyMDE5LTA1LTI5ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxl
LmNvbT4KIAogICAgICAgICBEaXNhYmxlIEZsYWt5IEFQSSBUZXN0IFRlc3RXZWJLaXRBUEkuX1dL
RG93bmxvYWQuRG93bmxvYWRNb25pdG9yQ2FuY2VsCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDU3YWE3ZDE4MmU4ZmNmMDA1MzkwZTIyYjY1NGYzMDYwNDVlOWMzN2YuLmVkODdlYTMyMzAwZWZj
MjYwNTQzZDI4ZTZhZTk5MzU3MGY3OWVhMzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03
MjYsNiArNzI2LDExIEBACiAJCUExQzRGQjczMUJBQ0QxQ0EwMDM3NDJEMCAvKiBwYWdlcy5wYWdl
cyBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MUM0RkI3MjFCQUNEMUI3MDAzNzQyRDAgLyogcGFnZXMucGFnZXMgKi87IH07CiAJCUExREY3NDMy
MUM0MUI2NTgwMEEyRjREMCAvKiBBbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMURGNzQzMDFDNDFCNjU4
MDBBMkY0RDAgLyogQWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzLm1tICovOyB9OwogCQlBMUVD
MTE4ODFGNDI1NDEyMDBEMDE0NkUgLyogUHJldmlld0NvbnZlcnRlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUVDMTE4NzFGNDI1NDEyMDBEMDE0
NkUgLyogUHJldmlld0NvbnZlcnRlci5jcHAgKi87IH07CisJCUExRkI1MDNEMjJBMUNCRTIwMEQ0
RDk3OSAvKiBhcHBsZS1wYXktYXZhaWxhYmlsaXR5LWV4aXN0aW5nLW9iamVjdC5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRkI1MDND
MjJBMUMyNDQwMEQ0RDk3OSAvKiBhcHBsZS1wYXktYXZhaWxhYmlsaXR5LWV4aXN0aW5nLW9iamVj
dC5odG1sICovOyB9OworCQlBMUZCNTAzRjIyQTIwRjY0MDBENEQ5NzkgLyogYXBwbGUtcGF5LWNh
bi1tYWtlLXBheW1lbnRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTFGQjUwM0UyMkExRTNCMzAwRDREOTc5IC8qIGFwcGxlLXBheS1j
YW4tbWFrZS1wYXltZW50cy5odG1sICovOyB9OworCQlBMUZCNTA0MTIyQTIxMkE5MDBENEQ5Nzkg
LyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNhcmQuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUZCNTA0
MDIyQTIxMjg0MDBENEQ5NzkgLyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0
aXZlLWNhcmQuaHRtbCAqLzsgfTsKKwkJQTFGQjUwNDMyMkEyMTNBMzAwRDREOTc5IC8qIGFwcGxl
LXBheS1jYW4tbWFrZS1wYXltZW50Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGQjUwNDIyMkEyMTM4RjAwRDREOTc5IC8qIGFwcGxl
LXBheS1jYW4tbWFrZS1wYXltZW50Lmh0bWwgKi87IH07CisJCUExRkI1MDQ1MjJBMjE1NzEwMEQ0
RDk3OSAvKiBhcHBsZS1wYXkuanMgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTFGQjUwNDQyMkEyMTU0QjAwRDREOTc5IC8qIGFwcGxlLXBheS5q
cyAqLzsgfTsKIAkJQTMxMDgyNzIyMUYyOTZGRjAwQzI4Qjk3IC8qIEZpbGVTeXN0ZW0uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxMDgyNzEyMUYy
OTZFQzAwQzI4Qjk3IC8qIEZpbGVTeXN0ZW0uY3BwICovOyB9OwogCQlBNTdBMzRGMjE2QUY2QjJC
MDBDMjUwMUYgLyogUGFnZVZpc2liaWxpdHlTdGF0ZVdpdGhXaW5kb3dDaGFuZ2VzLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3QTM0
RjExNkFGNjlFMjAwQzI1MDFGIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGVXaXRoV2luZG93Q2hhbmdl
cy5odG1sICovOyB9OwogCQlBNTdENTRGMzFGMzM4QzM2MDBBOTdBQTcgLyogTmV2ZXJEZXN0cm95
ZWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3
RDU0RjIxRjMzOEMzNjAwQTk3QUE3IC8qIE5ldmVyRGVzdHJveWVkLmNwcCAqLzsgfTsKQEAgLTEw
NDQsOCArMTA0OSwxMyBAQAogCQkJCUMyNUNDQTBEMUU1MTQxODQwMDI2Q0I4QSAvKiBBbGxBaGVt
LnN2ZyBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNEE5MjAyRjFGRUUzNEU5MDBGNTk1OTAg
LyogYXBwbGUtZGF0YS11cmwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlBMTc5OEI4
QjIyNDM2MUE0MDAwNzY0QkQgLyogYXBwbGUtcGF5LWFjdGl2ZS1zZXNzaW9uLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCisJCQkJQTFGQjUwM0QyMkExQ0JFMjAwRDREOTc5IC8qIGFwcGxlLXBh
eS1hdmFpbGFiaWxpdHktZXhpc3Rpbmctb2JqZWN0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJQTE3OThCODkyMjQzNUUyOTAwMDc2NEJEIC8qIGFwcGxlLXBheS1hdmFpbGFiaWxpdHkt
aW4taWZyYW1lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQTE3OThCODcyMjQzNDQ5
QjAwMDc2NEJEIC8qIGFwcGxlLXBheS1hdmFpbGFiaWxpdHkuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKKwkJCQlBMUZCNTA0MzIyQTIxM0EzMDBENEQ5NzkgLyogYXBwbGUtcGF5LWNhbi1tYWtl
LXBheW1lbnQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlBMUZCNTA0MTIyQTIxMkE5
MDBENEQ5NzkgLyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNhcmQu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlBMUZCNTAzRjIyQTIwRjY0MDBENEQ5Nzkg
LyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CisJCQkJQTFGQjUwNDUyMkEyMTU3MTAwRDREOTc5IC8qIGFwcGxlLXBheS5qcyBpbiBDb3B5IFJl
c291cmNlcyAqLywKIAkJCQlGNDZBMDk1QTFFRDhBNkU2MDBENEFBNTUgLyogYXBwbGUuZ2lmIGlu
IENvcHkgUmVzb3VyY2VzICovLAogCQkJCTVDOUU1OTQxMUQzRUI1QUMwMEUzQzYyRSAvKiBBcHBs
aWNhdGlvbkNhY2hlLmRiIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTVDOUU1OTQyMUQzRUI1
QUMwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hlLmRiLXNobSBpbiBDb3B5IFJlc291cmNlcyAq
LywKQEAgLTIwMTcsNiArMjAyNywxMSBAQAogCQlBMUM0RkI3MjFCQUNEMUI3MDAzNzQyRDAgLyog
cGFnZXMucGFnZXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBmaWxlOyBuYW1lID0gcGFnZXMucGFnZXM7IHBhdGggPSBpb3MvcGFnZXMucGFnZXM7IHNv
dXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJQTFERjc0MzAxQzQxQjY1ODAwQTJGNEQwIC8q
IEFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFFQzExODcxRjQyNTQxMjAwRDAxNDZFIC8qIFByZXZpZXdD
b252ZXJ0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJldmlld0NvbnZlcnRlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRkI1MDNDMjJBMUMyNDQwMEQ0RDk3OSAvKiBh
cHBsZS1wYXktYXZhaWxhYmlsaXR5LWV4aXN0aW5nLW9iamVjdC5odG1sICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImFw
cGxlLXBheS1hdmFpbGFiaWxpdHktZXhpc3Rpbmctb2JqZWN0Lmh0bWwiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBMUZCNTAzRTIyQTFFM0IzMDBENEQ5NzkgLyogYXBwbGUtcGF5LWNh
bi1tYWtlLXBheW1lbnRzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1l
bnRzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUZCNTA0MDIyQTIxMjg0
MDBENEQ5NzkgLyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNhcmQu
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuaHRtbDsgcGF0aCA9ICJhcHBsZS1wYXktY2FuLW1ha2UtcGF5bWVudHMtd2l0aC1hY3RpdmUt
Y2FyZC5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFGQjUwNDIyMkEyMTM4
RjAwRDREOTc5IC8qIGFwcGxlLXBheS1jYW4tbWFrZS1wYXltZW50Lmh0bWwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAi
YXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnQuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUExRkI1MDQ0MjJBMjE1NEIwMEQ0RDk3OSAvKiBhcHBsZS1wYXkuanMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFz
Y3JpcHQ7IHBhdGggPSAiYXBwbGUtcGF5LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTFGREZEMkUxOUMyODhCQjAwNTE0OEE0IC8qIFdLSW1hZ2VDcmVhdGVDR0ltYWdlQ3Jhc2gu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tJbWFnZUNyZWF0ZUNH
SW1hZ2VDcmFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzMTA4MjcxMjFG
Mjk2RUMwMEMyOEI5NyAvKiBGaWxlU3lzdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEZpbGVTeXN0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBNTdBMzRFRjE2QUY2NzcyMDBDMjUwMUYgLyogUGFnZVZpc2liaWxpdHlTdGF0ZVdpdGhXaW5k
b3dDaGFuZ2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGFn
ZVZpc2liaWxpdHlTdGF0ZVdpdGhXaW5kb3dDaGFuZ2VzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjkzNyw4ICsyOTUyLDEzIEBACiAJCQkJQzI1Q0NBMEMxRTUxNDBFNTAwMjZD
QjhBIC8qIEFsbEFoZW0uc3ZnICovLAogCQkJCUY0QTkyMDJFMUZFRTM0QzgwMEY1OTU5MCAvKiBh
cHBsZS1kYXRhLXVybC5odG1sICovLAogCQkJCUExNzk4QjhBMjI0MzYxMUEwMDA3NjRCRCAvKiBh
cHBsZS1wYXktYWN0aXZlLXNlc3Npb24uaHRtbCAqLywKKwkJCQlBMUZCNTAzQzIyQTFDMjQ0MDBE
NEQ5NzkgLyogYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1leGlzdGluZy1vYmplY3QuaHRtbCAqLywK
IAkJCQlBMTc5OEI4ODIyNDM1RDJFMDAwNzY0QkQgLyogYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1p
bi1pZnJhbWUuaHRtbCAqLywKIAkJCQlBMTc5OEI4NjIyNDM0NDZCMDAwNzY0QkQgLyogYXBwbGUt
cGF5LWF2YWlsYWJpbGl0eS5odG1sICovLAorCQkJCUExRkI1MDQyMjJBMjEzOEYwMEQ0RDk3OSAv
KiBhcHBsZS1wYXktY2FuLW1ha2UtcGF5bWVudC5odG1sICovLAorCQkJCUExRkI1MDQwMjJBMjEy
ODQwMEQ0RDk3OSAvKiBhcHBsZS1wYXktY2FuLW1ha2UtcGF5bWVudHMtd2l0aC1hY3RpdmUtY2Fy
ZC5odG1sICovLAorCQkJCUExRkI1MDNFMjJBMUUzQjMwMEQ0RDk3OSAvKiBhcHBsZS1wYXktY2Fu
LW1ha2UtcGF5bWVudHMuaHRtbCAqLywKKwkJCQlBMUZCNTA0NDIyQTIxNTRCMDBENEQ5NzkgLyog
YXBwbGUtcGF5LmpzICovLAogCQkJCUY0N0QzMEVCMUVEMjg2MTkwMDA0ODJFMSAvKiBhcHBsZS5n
aWYgKi8sCiAJCQkJNUM5RTU5M0UxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxpY2F0aW9uQ2FjaGUu
ZGIgKi8sCiAJCQkJNUM5RTU5M0YxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxpY2F0aW9uQ2FjaGUu
ZGItc2htICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9BcHBsZVBheS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
QXBwbGVQYXkubW0KaW5kZXggMDYxYjMzMWExNTY3NmIzMzc5ZjM2OTYxODU0NzAzZWVlNjkxM2Ew
Yy4uMTdhMWFlMGIxMTQ4N2NmODdiMTMwMjk4MGJhODIxNzYwNjA1YzE0ZSAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BcHBsZVBheS5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcGxlUGF5Lm1tCkBAIC0zNyw4
ICszNyw5IEBACiAjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CiAKIHN0YXRpYyBib29sIGlzRG9u
ZTsKK3N0YXRpYyBOU1N0cmluZyAqIGNvbnN0IHVzZXJTY3JpcHRTb3VyY2UgPSBAIndpbmRvdy53
a1VzZXJTY3JpcHRJbmplY3RlZCA9IHRydWUiOwogCi1AaW50ZXJmYWNlIFRlc3RBcHBsZVBheVNj
cmlwdE1lc3NhZ2VIYW5kbGVyIDogTlNPYmplY3QgPFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI+CitA
aW50ZXJmYWNlIFRlc3RBcHBsZVBheUF2YWlsYWJsZVNjcmlwdE1lc3NhZ2VIYW5kbGVyIDogTlNP
YmplY3QgPFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI+CiAKIC0gKGluc3RhbmNldHlwZSlpbml0IE5T
X1VOQVZBSUxBQkxFOwogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVj
dGF0aW9uOihCT09MKWFwaXNBdmFpbGFibGVFeHBlY3RhdGlvbiBjYW5NYWtlUGF5bWVudHNFeHBl
Y3RhdGlvbjooQk9PTCljYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbjsKQEAgLTQ4LDcgKzQ5LDcg
QEAgQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgY2FuTWFrZVBheW1lbnRzRXhwZWN0YXRpb247
CiAKIEBlbmQKIAotQGltcGxlbWVudGF0aW9uIFRlc3RBcHBsZVBheVNjcmlwdE1lc3NhZ2VIYW5k
bGVyCitAaW1wbGVtZW50YXRpb24gVGVzdEFwcGxlUGF5QXZhaWxhYmxlU2NyaXB0TWVzc2FnZUhh
bmRsZXIKIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9u
OihCT09MKWFwaXNBdmFpbGFibGVFeHBlY3RhdGlvbiBjYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlv
bjooQk9PTCljYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbgogewpAQCAtNjQsNyArNjUsNyBAQCAt
ICh2b2lkKXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1
c2VyQ29udGVudENvbnRyb2xsZXIgZAogewogICAgIEVYUEVDVF9FUShfYXBpc0F2YWlsYWJsZUV4
cGVjdGF0aW9uLCBbW21lc3NhZ2UuYm9keSBvYmplY3RGb3JLZXk6QCJhcHBsZVBheVNlc3Npb25B
dmFpbGFibGUiXSBib29sVmFsdWVdKTsKICAgICBFWFBFQ1RfRVEoX2FwaXNBdmFpbGFibGVFeHBl
Y3RhdGlvbiwgW1ttZXNzYWdlLmJvZHkgb2JqZWN0Rm9yS2V5OkAicGF5bWVudFJlcXVlc3RBdmFp
bGFibGUiXSBib29sVmFsdWVdKTsKLSAgICBFWFBFQ1RfRVEoX2Nhbk1ha2VQYXltZW50c0V4cGVj
dGF0aW9uLCBbW21lc3NhZ2UuYm9keSBvYmplY3RGb3JLZXk6QCJzdXBwb3J0c1ZlcnNpb24iXSBi
b29sVmFsdWVdKTsKKyAgICBFWFBFQ1RfRVEoX2FwaXNBdmFpbGFibGVFeHBlY3RhdGlvbiwgW1tt
ZXNzYWdlLmJvZHkgb2JqZWN0Rm9yS2V5OkAic3VwcG9ydHNWZXJzaW9uIl0gYm9vbFZhbHVlXSk7
CiAgICAgRVhQRUNUX0VRKF9jYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbiwgW1ttZXNzYWdlLmJv
ZHkgb2JqZWN0Rm9yS2V5OkAiY2FuTWFrZVBheW1lbnRzIl0gYm9vbFZhbHVlXSk7CiAgICAgRVhQ
RUNUX0VRKF9jYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbiwgW1ttZXNzYWdlLmJvZHkgb2JqZWN0
Rm9yS2V5OkAiY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQiXSBib29sVmFsdWVdKTsKICAg
ICBFWFBFQ1RfRVEoX2Nhbk1ha2VQYXltZW50c0V4cGVjdGF0aW9uLCBbW21lc3NhZ2UuYm9keSBv
YmplY3RGb3JLZXk6QCJjYW5NYWtlUGF5bWVudCJdIGJvb2xWYWx1ZV0pOwpAQCAtNzMsMjIgKzc0
LDU3IEBAIC0gKHZvaWQpdXNlckNvbnRlbnRDb250cm9sbGVyOihXS1VzZXJDb250ZW50Q29udHJv
bGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxlciBkCiAKIEBlbmQKIAorQGludGVyZmFjZSBUZXN0
QXBwbGVQYXlBY3RpdmVTZXNzaW9uU2NyaXB0TWVzc2FnZUhhbmRsZXIgOiBOU09iamVjdCA8V0tT
Y3JpcHRNZXNzYWdlSGFuZGxlcj4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIFRlc3RBcHBsZVBh
eUFjdGl2ZVNlc3Npb25TY3JpcHRNZXNzYWdlSGFuZGxlcgorCistICh2b2lkKXVzZXJDb250ZW50
Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2VyQ29udGVudENvbnRyb2xs
ZXIgZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6KFdLU2NyaXB0TWVzc2FnZSAqKW1lc3NhZ2UKK3sK
KyAgICBpc0RvbmUgPSB0cnVlOworfQorCitAZW5kCisKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
IHsKICAgICAKIFRFU1QoQXBwbGVQYXksIEFwcGxlUGF5QXZhaWxhYmxlQnlEZWZhdWx0KQogewog
ICAgIFtUZXN0UHJvdG9jb2wgcmVnaXN0ZXJXaXRoU2NoZW1lOkAiaHR0cHMiXTsKIAotICAgIGF1
dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5U2NyaXB0TWVzc2FnZUhh
bmRsZXIgYWxsb2NdIGluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9uOllFUyBjYW5NYWtl
UGF5bWVudHNFeHBlY3RhdGlvbjpZRVNdKTsKKyAgICBhdXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRv
cHROUyhbW1Rlc3RBcHBsZVBheUF2YWlsYWJsZVNjcmlwdE1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBp
bml0V2l0aEFQSXNBdmFpbGFibGVFeHBlY3RhdGlvbjpZRVMgY2FuTWFrZVBheW1lbnRzRXhwZWN0
YXRpb246WUVTXSk7CisKKyAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9u
ID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1
Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiXTsKKyAgICBbY29u
ZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXIgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6
bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInRlc3RBcHBsZVBheSJdOworCisgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dS
ZWN0WmVybyBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICBbd2ViVmlldyBsb2Fk
UmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5n
OkAiaHR0cHM6Ly9idW5kbGUtZmlsZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5Lmh0bWwiXV1dOwor
CisgICAgVXRpbDo6cnVuKCZpc0RvbmUpOworCisgICAgW1Rlc3RQcm90b2NvbCB1bnJlZ2lzdGVy
XTsKK30KKworVEVTVChBcHBsZVBheSwgQXBwbGVQYXlBdmFpbGFibGVJblVucmVzdHJpY3RlZENs
aWVudHMpCit7CisgICAgW1Rlc3RQcm90b2NvbCByZWdpc3RlcldpdGhTY2hlbWU6QCJodHRwcyJd
OworCisgICAgYXV0byBtZXNzYWdlSGFuZGxlciA9IGFkb3B0TlMoW1tUZXN0QXBwbGVQYXlBdmFp
bGFibGVTY3JpcHRNZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdFdpdGhBUElzQXZhaWxhYmxlRXhw
ZWN0YXRpb246WUVTIGNhbk1ha2VQYXltZW50c0V4cGVjdGF0aW9uOllFU10pOworICAgIGF1dG8g
dXNlclNjcmlwdCA9IGFkb3B0TlMoW1tXS1VzZXJTY3JpcHQgYWxsb2NdIGluaXRXaXRoU291cmNl
OnVzZXJTY3JpcHRTb3VyY2UgaW5qZWN0aW9uVGltZTpXS1VzZXJTY3JpcHRJbmplY3Rpb25UaW1l
QXREb2N1bWVudFN0YXJ0IGZvck1haW5GcmFtZU9ubHk6WUVTXSk7CiAKICAgICBXS1dlYlZpZXdD
b25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rl
c3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJ
bldpdGhJbnRlcm5hbHMiXTsKKyAgICBbY29uZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xs
ZXIgYWRkVXNlclNjcmlwdDp1c2VyU2NyaXB0LmdldCgpXTsKICAgICBbY29uZmlndXJhdGlvbi51
c2VyQ29udGVudENvbnRyb2xsZXIgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRs
ZXIuZ2V0KCkgbmFtZTpAInRlc3RBcHBsZVBheSJdOwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRv
cHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVybyBjb25m
aWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKLSAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly9i
dW5kbGUtaHRtbC1maWxlL2FwcGxlLXBheS1hdmFpbGFiaWxpdHkiXV1dOworICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhT
dHJpbmc6QCJodHRwczovL2J1bmRsZS1maWxlL2FwcGxlLXBheS1hdmFpbGFiaWxpdHktaW4taWZy
YW1lLmh0bWw/dW5yZXN0cmljdGVkIl1dXTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlk
RmluaXNoTmF2aWdhdGlvbl07CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAibG9h
ZEFwcGxlUGF5RnJhbWUoKTsiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CiAKICAgICBVdGlsOjpy
dW4oJmlzRG9uZSk7CiAKKyAgICBFWFBFQ1RfRVEoWUVTLCBbW3dlYlZpZXcgb2JqZWN0QnlFdmFs
dWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy53a1VzZXJTY3JpcHRJbmplY3RlZCJdIGJvb2xWYWx1
ZV0pOworCiAgICAgW1Rlc3RQcm90b2NvbCB1bnJlZ2lzdGVyXTsKIH0KIApAQCAtOTYsMTUgKzEz
MiwxNSBAQCBURVNUKEFwcGxlUGF5LCBVc2VyU2NyaXB0QXREb2N1bWVudFN0YXJ0RGlzYWJsZXNB
cHBsZVBheSkKIHsKICAgICBbVGVzdFByb3RvY29sIHJlZ2lzdGVyV2l0aFNjaGVtZTpAImh0dHBz
Il07CiAKLSAgICBhdXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW1Rlc3RBcHBsZVBheVNj
cmlwdE1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0V2l0aEFQSXNBdmFpbGFibGVFeHBlY3RhdGlv
bjpOTyBjYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbjpOT10pOwotICAgIGF1dG8gdXNlclNjcmlw
dCA9IGFkb3B0TlMoW1tXS1VzZXJTY3JpcHQgYWxsb2NdIGluaXRXaXRoU291cmNlOkAid2luZG93
LndrVXNlclNjcmlwdEluamVjdGVkID0gdHJ1ZSIgaW5qZWN0aW9uVGltZTpXS1VzZXJTY3JpcHRJ
bmplY3Rpb25UaW1lQXREb2N1bWVudFN0YXJ0IGZvck1haW5GcmFtZU9ubHk6WUVTXSk7CisgICAg
YXV0byBtZXNzYWdlSGFuZGxlciA9IGFkb3B0TlMoW1tUZXN0QXBwbGVQYXlBdmFpbGFibGVTY3Jp
cHRNZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdFdpdGhBUElzQXZhaWxhYmxlRXhwZWN0YXRpb246
Tk8gY2FuTWFrZVBheW1lbnRzRXhwZWN0YXRpb246Tk9dKTsKKyAgICBhdXRvIHVzZXJTY3JpcHQg
PSBhZG9wdE5TKFtbV0tVc2VyU2NyaXB0IGFsbG9jXSBpbml0V2l0aFNvdXJjZTp1c2VyU2NyaXB0
U291cmNlIGluamVjdGlvblRpbWU6V0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZUF0RG9jdW1lbnRT
dGFydCBmb3JNYWluRnJhbWVPbmx5OllFU10pOwogCiAgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlv
biAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3Vy
YXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJu
YWxzIl07CiAgICAgW2NvbmZpZ3VyYXRpb24udXNlckNvbnRlbnRDb250cm9sbGVyIGFkZFVzZXJT
Y3JpcHQ6dXNlclNjcmlwdC5nZXQoKV07CiAgICAgW2NvbmZpZ3VyYXRpb24udXNlckNvbnRlbnRD
b250cm9sbGVyIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOm1lc3NhZ2VIYW5kbGVyLmdldCgpIG5h
bWU6QCJ0ZXN0QXBwbGVQYXkiXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpj
b25maWd1cmF0aW9uXSk7Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCBy
ZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWh0bWwt
ZmlsZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5Il1dXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVz
dDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0
cHM6Ly9idW5kbGUtZmlsZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5Lmh0bWwiXV1dOwogCiAgICAg
VXRpbDo6cnVuKCZpc0RvbmUpOwogCkBAIC0xMTcsMTUgKzE1MywxNSBAQCBURVNUKEFwcGxlUGF5
LCBVc2VyU2NyaXB0QXREb2N1bWVudEVuZERpc2FibGVzQXBwbGVQYXkpCiB7CiAgICAgW1Rlc3RQ
cm90b2NvbCByZWdpc3RlcldpdGhTY2hlbWU6QCJodHRwcyJdOwogICAgIAotICAgIGF1dG8gbWVz
c2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5U2NyaXB0TWVzc2FnZUhhbmRsZXIg
YWxsb2NdIGluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9uOk5PIGNhbk1ha2VQYXltZW50
c0V4cGVjdGF0aW9uOk5PXSk7Ci0gICAgYXV0byB1c2VyU2NyaXB0ID0gYWRvcHROUyhbW1dLVXNl
clNjcmlwdCBhbGxvY10gaW5pdFdpdGhTb3VyY2U6QCJ3aW5kb3cud2tVc2VyU2NyaXB0SW5qZWN0
ZWQgPSB0cnVlIiBpbmplY3Rpb25UaW1lOldLVXNlclNjcmlwdEluamVjdGlvblRpbWVBdERvY3Vt
ZW50RW5kIGZvck1haW5GcmFtZU9ubHk6WUVTXSk7CisgICAgYXV0byBtZXNzYWdlSGFuZGxlciA9
IGFkb3B0TlMoW1tUZXN0QXBwbGVQYXlBdmFpbGFibGVTY3JpcHRNZXNzYWdlSGFuZGxlciBhbGxv
Y10gaW5pdFdpdGhBUElzQXZhaWxhYmxlRXhwZWN0YXRpb246Tk8gY2FuTWFrZVBheW1lbnRzRXhw
ZWN0YXRpb246Tk9dKTsKKyAgICBhdXRvIHVzZXJTY3JpcHQgPSBhZG9wdE5TKFtbV0tVc2VyU2Ny
aXB0IGFsbG9jXSBpbml0V2l0aFNvdXJjZTp1c2VyU2NyaXB0U291cmNlIGluamVjdGlvblRpbWU6
V0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZUF0RG9jdW1lbnRFbmQgZm9yTWFpbkZyYW1lT25seTpZ
RVNdKTsKICAgICAKICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0g
W1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0lu
Q2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiXTsKICAgICBbY29uZmln
dXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXIgYWRkVXNlclNjcmlwdDp1c2VyU2NyaXB0Lmdl
dCgpXTsKICAgICBbY29uZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXIgYWRkU2NyaXB0
TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInRlc3RBcHBsZVBheSJd
OwogICAgIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7
Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpb
TlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWh0bWwtZmlsZS9hcHBsZS1wYXkt
YXZhaWxhYmlsaXR5Il1dXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0
IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly9idW5kbGUtZmls
ZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5Lmh0bWwiXV1dOwogICAgIAogICAgIFV0aWw6OnJ1bigm
aXNEb25lKTsKICAgICAKQEAgLTEzOCwxMyArMTc0LDEzIEBAIFRFU1QoQXBwbGVQYXksIFVzZXJB
Z2VudFNjcmlwdEV2YWx1YXRpb25EaXNhYmxlc0FwcGxlUGF5KQogewogICAgIFtUZXN0UHJvdG9j
b2wgcmVnaXN0ZXJXaXRoU2NoZW1lOkAiaHR0cHMiXTsKIAotICAgIGF1dG8gbWVzc2FnZUhhbmRs
ZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5U2NyaXB0TWVzc2FnZUhhbmRsZXIgYWxsb2NdIGlu
aXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9uOllFUyBjYW5NYWtlUGF5bWVudHNFeHBlY3Rh
dGlvbjpOT10pOworICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxl
UGF5QXZhaWxhYmxlU2NyaXB0TWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRXaXRoQVBJc0F2YWls
YWJsZUV4cGVjdGF0aW9uOllFUyBjYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbjpOT10pOwogCiAg
ICAgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldl
YlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIl07CiAgICAgW2NvbmZpZ3VyYXRpb24udXNlckNv
bnRlbnRDb250cm9sbGVyIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOm1lc3NhZ2VIYW5kbGVyLmdl
dCgpIG5hbWU6QCJ0ZXN0QXBwbGVQYXkiXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uXSk7Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVx
dWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxl
LWh0bWwtZmlsZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5LWluLWlmcmFtZSJdXV07CisgICAgW3dl
YlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJM
V2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1p
bi1pZnJhbWUuaHRtbCJdXV07CiAgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5h
dmlnYXRpb25dOwogICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIndpbmRvdy53a1Nj
cmlwdEV2YWx1YXRlZCA9IHRydWU7IGxvYWRBcHBsZVBheUZyYW1lKCk7IiBjb21wbGV0aW9uSGFu
ZGxlcjpuaWxdOwogCkBAIC0xNTksMTMgKzE5NSwxMyBAQCBURVNUKEFwcGxlUGF5LCBVc2VyQWdl
bnRTY3JpcHRFdmFsdWF0aW9uRGlzYWJsZXNBcHBsZVBheUluRXhpc3RpbmdPYmplY3RzKQogewog
ICAgIFtUZXN0UHJvdG9jb2wgcmVnaXN0ZXJXaXRoU2NoZW1lOkAiaHR0cHMiXTsKIAotICAgIGF1
dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5U2NyaXB0TWVzc2FnZUhh
bmRsZXIgYWxsb2NdIGluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9uOllFUyBjYW5NYWtl
UGF5bWVudHNFeHBlY3RhdGlvbjpZRVNdKTsKKyAgICBhdXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRv
cHROUyhbW1Rlc3RBcHBsZVBheUF2YWlsYWJsZVNjcmlwdE1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBp
bml0V2l0aEFQSXNBdmFpbGFibGVFeHBlY3RhdGlvbjpZRVMgY2FuTWFrZVBheW1lbnRzRXhwZWN0
YXRpb246Tk9dKTsKIAogICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb24g
PSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVn
SW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyJdOwogICAgIFtjb25m
aWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpt
ZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAidGVzdEFwcGxlUGF5Il07CiAKICAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1Jl
Y3RaZXJvIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwotICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6
QCJodHRwczovL2J1bmRsZS1odG1sLWZpbGUvYXBwbGUtcGF5LWF2YWlsYWJpbGl0eSJdXV07Cisg
ICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNV
UkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWF2YWlsYWJp
bGl0eS1leGlzdGluZy1vYmplY3QuaHRtbCJdXV07CiAKICAgICBVdGlsOjpydW4oJmlzRG9uZSk7
CiAKQEAgLTE3OCwyOSArMjE0LDY4IEBAIFRFU1QoQXBwbGVQYXksIFVzZXJBZ2VudFNjcmlwdEV2
YWx1YXRpb25EaXNhYmxlc0FwcGxlUGF5SW5FeGlzdGluZ09iamVjdHMpCiAgICAgW1Rlc3RQcm90
b2NvbCB1bnJlZ2lzdGVyXTsKIH0KIAotVEVTVChBcHBsZVBheSwgQWN0aXZlU2Vzc2lvbkJsb2Nr
c1VzZXJBZ2VudFNjcmlwdHMpCitzdGF0aWMgdm9pZCBydW5BY3RpdmVTZXNzaW9uVGVzdChOU1VS
TCAqdXJsLCBCT09MIHNob3VsZEJsb2NrU2NyaXB0cykKIHsKICAgICBbVGVzdFByb3RvY29sIHJl
Z2lzdGVyV2l0aFNjaGVtZTpAImh0dHBzIl07CiAKLSAgICBhdXRvIHVzZXJTY3JpcHQgPSBhZG9w
dE5TKFtbV0tVc2VyU2NyaXB0IGFsbG9jXSBpbml0V2l0aFNvdXJjZTpAIndpbmRvdy53a1VzZXJT
Y3JpcHRJbmplY3RlZCA9IHRydWUiIGluamVjdGlvblRpbWU6V0tVc2VyU2NyaXB0SW5qZWN0aW9u
VGltZUF0RG9jdW1lbnRTdGFydCBmb3JNYWluRnJhbWVPbmx5OllFU10pOworICAgIGF1dG8gbWVz
c2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5QWN0aXZlU2Vzc2lvblNjcmlwdE1l
c3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byB1c2VyU2NyaXB0ID0gYWRvcHRO
UyhbW1dLVXNlclNjcmlwdCBhbGxvY10gaW5pdFdpdGhTb3VyY2U6dXNlclNjcmlwdFNvdXJjZSBp
bmplY3Rpb25UaW1lOldLVXNlclNjcmlwdEluamVjdGlvblRpbWVBdERvY3VtZW50U3RhcnQgZm9y
TWFpbkZyYW1lT25seTpZRVNdKTsKIAogICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZp
Z3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0
aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyJdOwor
ICAgIFtjb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciBhZGRTY3JpcHRNZXNzYWdl
SGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAidGVzdEFwcGxlUGF5Il07CiAKICAg
ICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpDR1JlY3RaZXJvIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwotICAgIFt3ZWJW
aWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdp
dGhTdHJpbmc6QCJodHRwczovL2J1bmRsZS1odG1sLWZpbGUvYXBwbGUtcGF5LWFjdGl2ZS1zZXNz
aW9uIl1dXTsKLSAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07
CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1
cmxdXTsKKyAgICBVdGlsOjpydW4oJmlzRG9uZSk7CiAKICAgICBbY29uZmlndXJhdGlvbi51c2Vy
Q29udGVudENvbnRyb2xsZXIgX2FkZFVzZXJTY3JpcHRJbW1lZGlhdGVseTp1c2VyU2NyaXB0Lmdl
dCgpXTsKICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3aW5kb3cud2tVc2VyU2Ny
aXB0SW5qZWN0ZWQiIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgX051bGxhYmxlIHJlc3VsdCwgTlNF
cnJvciAqIF9OdWxsYWJsZSBlcnJvcikgewotICAgICAgICBFWFBFQ1RfTlVMTChyZXN1bHQpOwot
ICAgICAgICBFWFBFQ1RfTk9UX05VTEwoZXJyb3IpOworICAgICAgICBFWFBFQ1RfRVEoc2hvdWxk
QmxvY2tTY3JpcHRzLCAhcmVzdWx0KTsKKyAgICAgICAgRVhQRUNUX0VRKHNob3VsZEJsb2NrU2Ny
aXB0cywgISFlcnJvcik7CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAgfV07CisKKyAgICBp
c0RvbmUgPSBmYWxzZTsKICAgICBVdGlsOjpydW4oJmlzRG9uZSk7CiAKICAgICBbVGVzdFByb3Rv
Y29sIHVucmVnaXN0ZXJdOwogfQogCitURVNUKEFwcGxlUGF5LCBBY3RpdmVTZXNzaW9uQmxvY2tz
VXNlckFnZW50U2NyaXB0cykKK3sKKyAgICBydW5BY3RpdmVTZXNzaW9uVGVzdChbTlNVUkwgVVJM
V2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWFjdGl2ZS1zZXNzaW9u
Lmh0bWwiXSwgWUVTKTsKK30KKworVEVTVChBcHBsZVBheSwgQ2FuTWFrZVBheW1lbnRzQmxvY2tz
VXNlckFnZW50U2NyaXB0cykKK3sKKyAgICBydW5BY3RpdmVTZXNzaW9uVGVzdChbTlNVUkwgVVJM
V2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1l
bnRzLmh0bWwiXSwgWUVTKTsKK30KKworVEVTVChBcHBsZVBheSwgQ2FuTWFrZVBheW1lbnRzRmFs
c2VEb2VzTm90QmxvY2tVc2VyQWdlbnRTY3JpcHRzKQoreworICAgIHJ1bkFjdGl2ZVNlc3Npb25U
ZXN0KFtOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly9idW5kbGUtZmlsZS9hcHBsZS1wYXkt
Y2FuLW1ha2UtcGF5bWVudHMuaHRtbD9mYWxzZSJdLCBOTyk7Cit9CisKK1RFU1QoQXBwbGVQYXks
IENhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkQmxvY2tzVXNlckFnZW50U2NyaXB0cykKK3sK
KyAgICBydW5BY3RpdmVTZXNzaW9uVGVzdChbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8v
YnVuZGxlLWZpbGUvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNhcmQu
aHRtbCJdLCBZRVMpOworfQorCitURVNUKEFwcGxlUGF5LCBDYW5NYWtlUGF5bWVudHNXaXRoQWN0
aXZlQ2FyZEZhbHNlRG9lc05vdEJsb2NrVXNlckFnZW50U2NyaXB0cykKK3sKKyAgICBydW5BY3Rp
dmVTZXNzaW9uVGVzdChbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUv
YXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNhcmQuaHRtbD9mYWxzZSJd
LCBOTyk7Cit9CisKK1RFU1QoQXBwbGVQYXksIENhbk1ha2VQYXltZW50QmxvY2tzVXNlckFnZW50
U2NyaXB0cykKK3sKKyAgICBydW5BY3RpdmVTZXNzaW9uVGVzdChbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnQuaHRtbCJd
LCBZRVMpOworfQorCitURVNUKEFwcGxlUGF5LCBDYW5NYWtlUGF5bWVudEZhbHNlRG9lc05vdEJs
b2NrVXNlckFnZW50U2NyaXB0cykKK3sKKyAgICBydW5BY3RpdmVTZXNzaW9uVGVzdChbTlNVUkwg
VVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWNhbi1tYWtlLXBh
eW1lbnQuaHRtbD9mYWxzZSJdLCBOTyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkKIAogI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUkVNT1RFX1VJKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1wYXktYWN0aXZlLXNl
c3Npb24uaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUt
cGF5LWFjdGl2ZS1zZXNzaW9uLmh0bWwKaW5kZXggMWJkOWY2Zjc0NTg2NDY2ODQyOTVhNGZlZDE1
NWE0Njk2NGQ0MDdmOS4uMWY5NjYwYzU1OTU4NWMzYzIxZTJiZjAxMmU0YzhiNWJhMjdiZGI1ZiAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1w
YXktYWN0aXZlLXNlc3Npb24uaHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL2FwcGxlLXBheS1hY3RpdmUtc2Vzc2lvbi5odG1sCkBAIC0yLDUgKzIsNiBAQAog
PGJvZHk+CiA8c2NyaXB0PgogICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnN1
cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXkgPSBmYWxzZTsKLSAgICBpbnRlcm5hbHMuc2V0SGFz
U3RhcnRlZEFwcGxlUGF5U2Vzc2lvbigpOworICAgIGludGVybmFscy5zZXRBcHBsZVBheUlzQWN0
aXZlKCk7CisgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEFwcGxlUGF5LnBv
c3RNZXNzYWdlKCJkb25lIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1leGlzdGluZy1v
YmplY3QuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUt
cGF5LWF2YWlsYWJpbGl0eS1leGlzdGluZy1vYmplY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzU5MjA3
Yjk1NzNhMzk3ZGM0ZWU5MjljMWIwYzU5ZTI1MzdmMmFmCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5
LWV4aXN0aW5nLW9iamVjdC5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iYXBwbGUtcGF5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cisg
ICAgY29uc3QgZXZlbnRMaXN0ZW5lciA9IGFzeW5jICgpID0+IHsKKyAgICAgICAgaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBheSA9IGZh
bHNlOworCisgICAgICAgIGNvbnN0IGFwcGxlUGF5U2Vzc2lvbkF2YWlsYWJsZSA9ICEhd2luZG93
LkFwcGxlUGF5U2Vzc2lvbjsKKyAgICAgICAgY29uc3QgcGF5bWVudFJlcXVlc3RBdmFpbGFibGUg
PSAhIXdpbmRvdy5QYXltZW50UmVxdWVzdDsKKyAgICAgICAgY29uc3Qgc3VwcG9ydHNWZXJzaW9u
ID0gQXBwbGVQYXlTZXNzaW9uLnN1cHBvcnRzVmVyc2lvbigxKTsKKworICAgICAgICBpZiAoIXdp
bmRvdy53a1BheW1lbnRSZXF1ZXN0KSB7CisgICAgICAgICAgICB3a1BheW1lbnRSZXF1ZXN0ID0g
bmV3IFBheW1lbnRSZXF1ZXN0KFthcHBsZVBheU1ldGhvZCgpXSwgYXBwbGVQYXlEZXRhaWxzKTsK
KworICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEFwcGxlUGF5
LnBvc3RNZXNzYWdlKHsKKyAgICAgICAgICAgICAgICBhcHBsZVBheVNlc3Npb25BdmFpbGFibGUs
CisgICAgICAgICAgICAgICAgcGF5bWVudFJlcXVlc3RBdmFpbGFibGUsCisgICAgICAgICAgICAg
ICAgc3VwcG9ydHNWZXJzaW9uLAorICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnN0IGNhbk1ha2VQYXltZW50ID0gYXdhaXQgd2tQ
YXltZW50UmVxdWVzdC5jYW5NYWtlUGF5bWVudCgpOworCisgICAgICAgIHdpbmRvdy53ZWJraXQu
bWVzc2FnZUhhbmRsZXJzLnRlc3RBcHBsZVBheS5wb3N0TWVzc2FnZSh7CisgICAgICAgICAgICBh
cHBsZVBheVNlc3Npb25BdmFpbGFibGUsCisgICAgICAgICAgICBwYXltZW50UmVxdWVzdEF2YWls
YWJsZSwKKyAgICAgICAgICAgIHN1cHBvcnRzVmVyc2lvbiwKKyAgICAgICAgICAgIGNhbk1ha2VQ
YXltZW50LAorICAgICAgICB9KTsKKyAgICB9OworCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoJ2hhc2hjaGFuZ2UnLCBldmVudExpc3RlbmVyKTsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIGV2ZW50TGlzdGVuZXIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1hdmFpbGFiaWxpdHkt
aW4taWZyYW1lLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2Fw
cGxlLXBheS1hdmFpbGFiaWxpdHktaW4taWZyYW1lLmh0bWwKaW5kZXggYTNmYWUxYWM2NzA5Zjlj
MWE5MTUyM2JkNTJmM2VjZjFmZjhiYzJmMC4uZjkwYTZmNmM3MzUzYmZlYzg3NTEyZGEzOThmZTFl
Y2RkODI4ZTdjNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5LWluLWlmcmFtZS5odG1sCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1pbi1p
ZnJhbWUuaHRtbApAQCAtMSw5ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDxib2R5PgogPHNj
cmlwdD4KKyAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zdXBwb3J0c1VucmVz
dHJpY3RlZEFwcGxlUGF5ID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaCA9PT0gIj91bnJlc3RyaWN0
ZWQiID8gdHJ1ZSA6IGZhbHNlOwogICAgIGxvYWRBcHBsZVBheUZyYW1lID0gKCkgPT4gewogICAg
ICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKLSAg
ICAgICAgaWZyYW1lLnNyYyA9ICdodHRwczovL2J1bmRsZS1odG1sLWZpbGUvYXBwbGUtcGF5LWF2
YWlsYWJpbGl0eSc7CisgICAgICAgIGlmcmFtZS5zcmMgPSAnYXBwbGUtcGF5LWF2YWlsYWJpbGl0
eS5odG1sJyArIHdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7CiAgICAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoaWZyYW1lKTsKICAgICB9OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1hdmFpbGFiaWxpdHku
aHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWF2
YWlsYWJpbGl0eS5odG1sCmluZGV4IDZhOGJjNWE0NWViMjM4YzFlYWU4MzgxNzhmZTIxY2I1NDUw
YzRkYWEuLjE4MmM2MmZjYTc0NGUwZWMzOGM4OWY2YTA0MjM4YzRkNzhhNTRmM2UgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWF2YWls
YWJpbGl0eS5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
YXBwbGUtcGF5LWF2YWlsYWJpbGl0eS5odG1sCkBAIC0xLDMzICsxLDkgQEAKIDwhRE9DVFlQRSBo
dG1sPgogPGJvZHk+Cis8c2NyaXB0IHNyYz0iYXBwbGUtcGF5LmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQ+Ci0gICAgY29uc3QgYXBwbGVQYXlSZXF1ZXN0QmFzZSA9ICgpID0+IHsKLSAgICAgICAgcmV0
dXJuIHsKLSAgICAgICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbJ3N1cHBvcnRzM0RTJ10s
Ci0gICAgICAgICAgICBzdXBwb3J0ZWROZXR3b3JrczogWyd2aXNhJ10sCi0gICAgICAgICAgICBj
b3VudHJ5Q29kZTogJ1VTJywKLSAgICAgICAgfTsKLSAgICB9OwotCi0gICAgY29uc3QgYXBwbGVQ
YXlQYXltZW50UmVxdWVzdCA9ICgpID0+IHsKLSAgICAgICAgY29uc3QgcmVxdWVzdCA9IGFwcGxl
UGF5UmVxdWVzdEJhc2UoKTsKLSAgICAgICAgcmVxdWVzdC50b3RhbCA9IHsgbGFiZWw6ICd0b3Rh
bCcsIGFtb3VudDogJzAuMDAnIH07Ci0gICAgICAgIHJlcXVlc3QuY3VycmVuY3lDb2RlID0gJ1VT
RCc7Ci0gICAgICAgIHJldHVybiByZXF1ZXN0OwotICAgIH07Ci0KLSAgICBjb25zdCBhcHBsZVBh
eU1ldGhvZCA9ICgpID0+IHsKLSAgICAgICAgY29uc3QgcmVxdWVzdCA9IGFwcGxlUGF5UmVxdWVz
dEJhc2UoKTsKLSAgICAgICAgcmVxdWVzdC52ZXJzaW9uID0gMTsKLSAgICAgICAgcmVxdWVzdC5t
ZXJjaGFudElkZW50aWZpZXIgPSAnJzsKLSAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICAgIHN1
cHBvcnRlZE1ldGhvZHM6ICdodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXknLAotICAgICAgICAg
ICAgZGF0YTogcmVxdWVzdCwKLSAgICAgICAgfTsKLSAgICB9OwotCi0gICAgY29uc3QgZXZlbnRM
aXN0ZW5lciA9IGFzeW5jICgpID0+IHsKLSAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3Iuc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBheSA9IGZhbHNlOworICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgKCkgPT4geworICAgICAgICBpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zdXBwb3J0c1VucmVzdHJpY3RlZEFwcGxlUGF5ID0g
d2luZG93LmxvY2F0aW9uLnNlYXJjaCA9PT0gIj91bnJlc3RyaWN0ZWQiID8gdHJ1ZSA6IGZhbHNl
OwogCiAgICAgICAgIGNvbnN0IGFwcGxlUGF5U2Vzc2lvbkF2YWlsYWJsZSA9ICEhd2luZG93LkFw
cGxlUGF5U2Vzc2lvbjsKICAgICAgICAgY29uc3QgcGF5bWVudFJlcXVlc3RBdmFpbGFibGUgPSAh
IXdpbmRvdy5QYXltZW50UmVxdWVzdDsKQEAgLTQwLDE2ICsxNiw4IEBACiAgICAgICAgIGNvbnN0
IGNhbk1ha2VQYXltZW50cyA9IEFwcGxlUGF5U2Vzc2lvbi5jYW5NYWtlUGF5bWVudHMoKTsKICAg
ICAgICAgY29uc3QgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQgPSBhd2FpdCBBcHBsZVBh
eVNlc3Npb24uY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoJycpOwogCi0gICAgICAgIGlm
ICghd2luZG93LndrUGF5bWVudFJlcXVlc3QpIHsKLSAgICAgICAgICAgIHdrUGF5bWVudFJlcXVl
c3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW2FwcGxlUGF5TWV0aG9kKCldLCB7Ci0gICAgICAgICAg
ICAgICAgdG90YWw6IHsKLSAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICd0b3RhbCcsCi0gICAg
ICAgICAgICAgICAgICAgIGFtb3VudDogeyBjdXJyZW5jeTogJ1VTRCcsIHZhbHVlOiAnMC4wMCcg
fSwKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBjb25zdCBjYW5NYWtlUGF5bWVudCA9IGF3YWl0IHdrUGF5bWVudFJlcXVlc3QuY2FuTWFr
ZVBheW1lbnQoKTsKKyAgICAgICAgY29uc3QgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJl
cXVlc3QoW2FwcGxlUGF5TWV0aG9kKCldLCBhcHBsZVBheURldGFpbHMpOworICAgICAgICBjb25z
dCBjYW5NYWtlUGF5bWVudCA9IGF3YWl0IHBheW1lbnRSZXF1ZXN0LmNhbk1ha2VQYXltZW50KCk7
CiAKICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEFwcGxlUGF5LnBv
c3RNZXNzYWdlKHsKICAgICAgICAgICAgIGFwcGxlUGF5U2Vzc2lvbkF2YWlsYWJsZSwKQEAgLTU5
LDggKzI3LDUgQEAKICAgICAgICAgICAgIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkLAog
ICAgICAgICAgICAgY2FuTWFrZVBheW1lbnQsCiAgICAgICAgIH0pOwotICAgIH07Ci0KLSAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGV2ZW50TGlzdGVuZXIpOwotICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCdoYXNoY2hhbmdlJywgZXZlbnRMaXN0ZW5lcik7CisgICAgfSk7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnQuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45ODkzMDIxYjNkZGYxMzU1NDE2ZDJiNzBlMWNmZmNhMzYxOWNhNGNhCi0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1w
YXktY2FuLW1ha2UtcGF5bWVudC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iYXBwbGUtcGF5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CisgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc3VwcG9ydHNVbnJlc3RyaWN0
ZWRBcHBsZVBheSA9IGZhbHNlOworICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LnNldENhbk1ha2VQYXltZW50cyh3aW5kb3cubG9jYXRpb24uc2VhcmNoID09PSAiP2ZhbHNlIiA/
IGZhbHNlIDogdHJ1ZSk7CisKKyAgICBjb25zdCBwYXltZW50UmVxdWVzdCA9IG5ldyBQYXltZW50
UmVxdWVzdChbYXBwbGVQYXlNZXRob2QoKV0sIGFwcGxlUGF5RGV0YWlscyk7CisgICAgcGF5bWVu
dFJlcXVlc3QuY2FuTWFrZVBheW1lbnQoKS50aGVuKCgpID0+IHsKKyAgICAgICAgd2luZG93Lndl
YmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEFwcGxlUGF5LnBvc3RNZXNzYWdlKCJkb25lIik7Cisg
ICAgfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNhcmQu
aHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWNh
bi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNhcmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDdjM2Zh
YzVmM2I1NWM1NWZiNDk5ZmNmNjhiY2E3NzdlNjYyZGI3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1wYXktY2FuLW1ha2UtcGF5
bWVudHMtd2l0aC1hY3RpdmUtY2FyZC5odG1sCkBAIC0wLDAgKzEsOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3Iuc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBheSA9IGZhbHNlOworICAgIGludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLnNldENhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKHdp
bmRvdy5sb2NhdGlvbi5zZWFyY2ggPT09ICI/ZmFsc2UiID8gZmFsc2UgOiB0cnVlKTsKKyAgICBB
cHBsZVBheVNlc3Npb24uY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoIiIpLnRoZW4oKCkg
PT4geworICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0QXBwbGVQYXku
cG9zdE1lc3NhZ2UoImRvbmUiKTsKKyAgICB9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1wYXktY2FuLW1ha2UtcGF5
bWVudHMuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUt
cGF5LWNhbi1tYWtlLXBheW1lbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmFlYTFkOGI0MmE4ZWI0YTg3
MDVlNjhlMDc3MWFiNjM2ZjY3OTVhNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLmh0bWwK
QEAgLTAsMCArMSw4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zdXBwb3J0c1VucmVzdHJpY3RlZEFwcGxl
UGF5ID0gZmFsc2U7CisgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc2V0Q2Fu
TWFrZVBheW1lbnRzKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggPT09ICI/ZmFsc2UiID8gZmFsc2Ug
OiB0cnVlKTsKKyAgICBBcHBsZVBheVNlc3Npb24uY2FuTWFrZVBheW1lbnRzKCk7CisgICAgd2lu
ZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEFwcGxlUGF5LnBvc3RNZXNzYWdlKCJkb25l
Iik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvYXBwbGUtcGF5LmpzIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9hcHBsZS1wYXkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTNjYmM5N2IwYjk3MzE4ZjBkZWIxYjJmZDM3
OGQ5MWRlZjUwNWM2NAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LmpzCkBAIC0wLDAgKzEsMzMgQEAKKygoKSA9PiB7Cisg
ICAgYXBwbGVQYXlSZXF1ZXN0QmFzZSA9ICgpID0+IHsKKyAgICAgICAgcmV0dXJuIHsKKyAgICAg
ICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbJ3N1cHBvcnRzM0RTJ10sCisgICAgICAgICAg
ICBzdXBwb3J0ZWROZXR3b3JrczogWyd2aXNhJ10sCisgICAgICAgICAgICBjb3VudHJ5Q29kZTog
J1VTJywKKyAgICAgICAgfTsKKyAgICB9OworCisgICAgYXBwbGVQYXlQYXltZW50UmVxdWVzdCA9
ICgpID0+IHsKKyAgICAgICAgY29uc3QgcmVxdWVzdCA9IGFwcGxlUGF5UmVxdWVzdEJhc2UoKTsK
KyAgICAgICAgcmVxdWVzdC50b3RhbCA9IHsgbGFiZWw6ICd0b3RhbCcsIGFtb3VudDogJzAuMDAn
IH07CisgICAgICAgIHJlcXVlc3QuY3VycmVuY3lDb2RlID0gJ1VTRCc7CisgICAgICAgIHJldHVy
biByZXF1ZXN0OworICAgICB9OworCisgICAgYXBwbGVQYXlNZXRob2QgPSAoKSA9PiB7CisgICAg
ICAgIGNvbnN0IHJlcXVlc3QgPSBhcHBsZVBheVJlcXVlc3RCYXNlKCk7CisgICAgICAgIHJlcXVl
c3QudmVyc2lvbiA9IDE7CisgICAgICAgIHJlcXVlc3QubWVyY2hhbnRJZGVudGlmaWVyID0gJyc7
CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBzdXBwb3J0ZWRNZXRob2RzOiAnaHR0cHM6
Ly9hcHBsZS5jb20vYXBwbGUtcGF5JywKKyAgICAgICAgICAgIGRhdGE6IHJlcXVlc3QsCisgICAg
ICAgIH07CisgICAgfTsKKworICAgIGFwcGxlUGF5RGV0YWlscyA9IHsKKyAgICAgICAgdG90YWw6
IHsKKyAgICAgICAgICAgIGxhYmVsOiAndG90YWwnLAorICAgICAgICAgICAgYW1vdW50OiB7IGN1
cnJlbmN5OiAnVVNEJywgdmFsdWU6ICcwLjAwJyB9LAorICAgICAgICB9LAorICAgIH07Cit9KSgp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0UHJvdG9jb2wubW0g
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RQcm90b2NvbC5tbQppbmRleCBkOTQ5YzZm
ZTVmYTU0MWZjNzVkM2M3NzhhNjdiZGM1YTU5MWZjODg1Li43Y2ViYjkyZTFjMGQzMjAxMzZhMjZl
NmE4NTE2MTQyZDllODJiYzhlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29h
L1Rlc3RQcm90b2NvbC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RQcm90
b2NvbC5tbQpAQCAtODcsOSArODcsMTAgQEAgLSAodm9pZClzdGFydExvYWRpbmcKICAgICB9CiAK
ICAgICBOU0RhdGEgKmRhdGE7Ci0gICAgaWYgKFtyZXF1ZXN0VVJMLmhvc3QgaXNFcXVhbFRvU3Ry
aW5nOkAiYnVuZGxlLWh0bWwtZmlsZSJdKQotICAgICAgICBkYXRhID0gW05TRGF0YSBkYXRhV2l0
aENvbnRlbnRzT2ZVUkw6W05TQnVuZGxlLm1haW5CdW5kbGUgVVJMRm9yUmVzb3VyY2U6cmVxdWVz
dFVSTC5sYXN0UGF0aENvbXBvbmVudC5zdHJpbmdCeURlbGV0aW5nUGF0aEV4dGVuc2lvbiB3aXRo
RXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMi
XV07Ci0gICAgZWxzZQorICAgIGlmIChbcmVxdWVzdFVSTC5ob3N0IGlzRXF1YWxUb1N0cmluZzpA
ImJ1bmRsZS1maWxlIl0pIHsKKyAgICAgICAgTlNTdHJpbmcgKmZpbGVOYW1lID0gcmVxdWVzdFVS
TC5sYXN0UGF0aENvbXBvbmVudDsKKyAgICAgICAgZGF0YSA9IFtOU0RhdGEgZGF0YVdpdGhDb250
ZW50c09mVVJMOltOU0J1bmRsZS5tYWluQnVuZGxlIFVSTEZvclJlc291cmNlOmZpbGVOYW1lLnN0
cmluZ0J5RGVsZXRpbmdQYXRoRXh0ZW5zaW9uIHdpdGhFeHRlbnNpb246ZmlsZU5hbWUucGF0aEV4
dGVuc2lvbiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKKyAgICB9
IGVsc2UKICAgICAgICAgZGF0YSA9IFtAIlBBU1MiIGRhdGFVc2luZ0VuY29kaW5nOk5TQVNDSUlT
dHJpbmdFbmNvZGluZ107CiAKICAgICBSZXRhaW5QdHI8TlNVUkxSZXNwb25zZT4gcmVzcG9uc2Ug
PSBhZG9wdE5TKFtbTlNVUkxSZXNwb25zZSBhbGxvY10gaW5pdFdpdGhVUkw6cmVxdWVzdFVSTCBN
SU1FVHlwZTpAInRleHQvaHRtbCIgZXhwZWN0ZWRDb250ZW50TGVuZ3RoOmRhdGEubGVuZ3RoIHRl
eHRFbmNvZGluZ05hbWU6bmlsXSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371247</attachid>
            <date>2019-06-03 22:20:01 -0700</date>
            <delta_ts>2019-06-03 23:36:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198448-20190603222000.patch</filename>
            <type>text/plain</type>
            <size>49575</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNjOGU5NGY0YWNiOTBj
MTA1OTUxZjlhZTlmYjEyNDJkNzA2ZWYxMi4uZTMyODkxZWEwZTg5MzQwYmZlNDgyY2M0NDExNmU2
MTQzYjc0Y2MyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTA1LTMxICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBEaXNhYmxl
IHNjcmlwdCBpbmplY3Rpb24gd2hlbiBjYW5NYWtlUGF5bWVudCBBUElzIGFyZSBjYWxsZWQgYW5k
IHJldHVybiB0cnVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTg0NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUxMzIzNjk0PgorCisgICAgICAg
IFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgUHJldmlvdXNseSwgb25s
eSBhbiBhY3RpdmUgQXBwbGUgUGF5IHNlc3Npb24gd291bGQgZGlzYWJsZSBzY3JpcHQgaW5qZWN0
aW9uIGluIHJlc3RyaWN0ZWQKKyAgICAgICAgV0tXZWJWaWV3cy4gSG93ZXZlciwgdGhpcyBjYW4g
cmVzdWx0IGluIHdlYnNpdGVzIHJlbmRlcmluZyBub24tZnVuY3Rpb25hbCBBcHBsZSBQYXkgYnV0
dG9ucworICAgICAgICBkdWUgdG8gdGhlIHJhY2UgYmV0d2VlbiB0aGUgaG9zdGluZyBhcHAgY2Fs
bGluZyAtZXZhbHVhdGVKYXZhU2NyaXB0OmNvbXBsZXRpb25IYW5kbGVyOiBhbmQKKyAgICAgICAg
dGhlIHdlYnNpdGUgY2FsbGluZyBjYW5NYWtlUGF5bWVudCBBUElzIHRvIGRldGVybWluZSB3aGV0
aGVyIHRvIGRyYXcgYSBidXR0b24uCisKKyAgICAgICAgVGhpcyBwYXRjaCBtYWtlcyBpdCBzbyB0
aGF0LCBpZiBhIHdlYnNpdGUgY2FsbHMgQXBwbGVQYXlTZXNzaW9uJ3MgY2FuTWFrZVBheW1lbnRz
IG9yCisgICAgICAgIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkLCBvciBQYXltZW50UmVx
dWVzdCdzIGNhbk1ha2VQYXltZW50LCBpbiBhIHdlYiB2aWV3IHRoYXQgaGFzIG5vCisgICAgICAg
IGluamVjdGVkIHNjcmlwdHMsIGFuZCB0aG9zZSBjYWxscyByZXR1cm4gdHJ1ZSwgZnV0dXJlIHNj
cmlwdCBpbmplY3Rpb25zIGZyb20gdGhlIGhvc3RpbmcgYXBwCisgICAgICAgIHdpbGwgYmUgYmxv
Y2tlZC4KKworICAgICAgICBBbHNvLCB0aGlzIHBhdGNoIHJlbW92ZXMgdGhlIHJlc3RyaWN0aW9u
cyBvbiB0aGUgb3BlblBheW1lbnRTZXR1cCwgc3VwcG9ydHNWZXJzaW9uLCBhbmQKKyAgICAgICAg
dmFsaWRhdGVkUGF5bWVudE5ldHdvcmsgQVBJcywgc2luY2UgdGhvc2UgQVBJcyBkbyBub3QgcmV2
ZWFsIHRyYW5zYWN0aW9uIGluZm9ybWF0aW9uIGFuZCBhcmUKKyAgICAgICAgbm90IHVzZWQgdG8g
ZGV0ZXJtaW5lIHdoZXRoZXIgdG8gZHJhdyBidXR0b25zLgorCisgICAgICAgIEFkZGVkIG5ldyBB
UEkgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVy
c2lvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1h
a2VQYXltZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1h
a2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29y
ZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29v
cmRpbmF0b3I6OmJlZ2luUGF5bWVudFNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVu
dENvb3JkaW5hdG9yOjp2YWxpZGF0ZWRQYXltZW50TmV0d29yayBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OnNldEFwcGxlUGF5SXNBY3RpdmVJZkFsbG93ZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpzaG91bGRBbGxv
d1VzZXJBZ2VudFNjcmlwdHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3Jk
aW5hdG9yOjpzaG91bGRBbGxvd0FwcGxlUGF5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICAqIGRvbS9Eb2N1
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aXNBcHBsZVBheUFjdGl2ZSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2V0QXBwbGVQYXlJc0FjdGl2ZSk6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6aGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lvbiBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2V0SGFzU3RhcnRl
ZEFwcGxlUGF5U2Vzc2lvbik6IERlbGV0ZWQuCisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpzZXRBcHBsZVBheUlzQWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6
c2V0SGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lvbik6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTkt
MDYtMDIgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIE1lbW9yeS1j
YWNoZWQgbWFpbiByZXNvdXJjZXMgY29udGludWUgdG8gbG9hZCBhZnRlciB0aGUgY2xpZW50IGRl
Y2lkZXMgYSBjb250ZW50IHBvbGljeSBvZiBQb2xpY3lBY3Rpb246OkRvd25sb2FkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5j
cHAKaW5kZXggZDU1OTk0OGQwYTZmYWE2M2UyMDViYTA5ZmNmMTkyYjFiMGJiMDJjNy4uNjUxNDE5
ODUxZThlNWE3MzdjMTc5ZjMxZWZjMDRlODZiNjczMWNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtNTYs
MTEgKzU2LDggQEAgUGF5bWVudENvb3JkaW5hdG9yOjp+UGF5bWVudENvb3JkaW5hdG9yKCkKICAg
ICBtX2NsaWVudC5wYXltZW50Q29vcmRpbmF0b3JEZXN0cm95ZWQoKTsKIH0KIAotYm9vbCBQYXlt
ZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lvbihEb2N1bWVudCYgZG9jdW1lbnQsIHVuc2ln
bmVkIHZlcnNpb24pIGNvbnN0Citib29sIFBheW1lbnRDb29yZGluYXRvcjo6c3VwcG9ydHNWZXJz
aW9uKERvY3VtZW50JiwgdW5zaWduZWQgdmVyc2lvbikgY29uc3QKIHsKLSAgICBpZiAoIXNob3Vs
ZEFsbG93QXBwbGVQYXkoZG9jdW1lbnQpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KICAgICBh
dXRvIHN1cHBvcnRzVmVyc2lvbiA9IG1fY2xpZW50LnN1cHBvcnRzVmVyc2lvbih2ZXJzaW9uKTsK
ICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzdXBwb3J0c1ZlcnNpb24oJWQpIC0+ICVkIiwg
dmVyc2lvbiwgc3VwcG9ydHNWZXJzaW9uKTsKICAgICByZXR1cm4gc3VwcG9ydHNWZXJzaW9uOwpA
QCAtNjgsMjggKzY1LDM4IEBAIGJvb2wgUGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNp
b24oRG9jdW1lbnQmIGRvY3VtZW50LCB1bnNpZ25lZCB2ZXJzaW9uKSBjCiAKIGJvb2wgUGF5bWVu
dENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHMoRG9jdW1lbnQmIGRvY3VtZW50KQogewotICAg
IGlmICghc2hvdWxkQWxsb3dBcHBsZVBheShkb2N1bWVudCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQogICAgIGF1dG8gY2FuTWFrZVBheW1lbnRzID0gbV9jbGllbnQuY2FuTWFrZVBheW1lbnRz
KCk7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2FuTWFrZVBheW1lbnRzKCkgLT4gJWQi
LCBjYW5NYWtlUGF5bWVudHMpOwotICAgIHJldHVybiBjYW5NYWtlUGF5bWVudHM7CisKKyAgICBp
ZiAoIWNhbk1ha2VQYXltZW50cykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFz
ZXRBcHBsZVBheUlzQWN0aXZlSWZBbGxvd2VkKGRvY3VtZW50KSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpj
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgaWYgKCFzaG91bGRBbGxvd0FwcGxlUGF5KGRvY3VtZW50
KSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICBtX2NsaWVu
dC5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChtZXJjaGFudElkZW50aWZpZXIsIGRvY3Vt
ZW50LmRvbWFpbigpLCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGRvY3Vt
ZW50ID0gbWFrZVdlYWtQdHIoZG9jdW1lbnQpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpXShib29sIGNhbk1ha2VQYXltZW50cykgeworICAgICAgICBpZiAo
IXdlYWtUaGlzKQorICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsK
KworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjYW5NYWtlUGF5bWVudHNXaXRoQWN0
aXZlQ2FyZCgpIC0+ICVkIiwgY2FuTWFrZVBheW1lbnRzKTsKKworICAgICAgICBpZiAoIWNhbk1h
a2VQYXltZW50cykKKyAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7
CisKKyAgICAgICAgaWYgKCFkb2N1bWVudCB8fCAhc2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dl
ZCgqZG9jdW1lbnQpKQorICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNl
KTsKIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkKCkiKTsKLSAgICBtX2NsaWVudC5jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCht
ZXJjaGFudElkZW50aWZpZXIsIGRvY3VtZW50LmRvbWFpbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOworICAgIH0pOwogfQog
CiB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cChEb2N1bWVudCYgZG9j
dW1lbnQsIGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBXVEY6OkZ1bmN0aW9uPHZv
aWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgaWYgKCFzaG91bGRBbGxvd0Fw
cGxlUGF5KGRvY3VtZW50KSkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNl
KTsKLQogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIm9wZW5QYXltZW50U2V0dXAoKSIpOwog
ICAgIG1fY2xpZW50Lm9wZW5QYXltZW50U2V0dXAobWVyY2hhbnRJZGVudGlmaWVyLCBkb2N1bWVu
dC5kb21haW4oKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQpAQCAtOTgsNyArMTA1
LDcgQEAgYm9vbCBQYXltZW50Q29vcmRpbmF0b3I6OmJlZ2luUGF5bWVudFNlc3Npb24oRG9jdW1l
bnQmIGRvY3VtZW50LCBQYXltZW50U2Vzc2lvbiYKIHsKICAgICBBU1NFUlQoIW1fYWN0aXZlU2Vz
c2lvbik7CiAKLSAgICBpZiAoIXNob3VsZEFsbG93QXBwbGVQYXkoZG9jdW1lbnQpKQorICAgIGlm
ICghc2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dlZChkb2N1bWVudCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIFZlY3RvcjxVUkw+IGxpbmtJY29uVVJMczsKQEAgLTExMSw3ICsxMTgs
NiBAQCBib29sIFBheW1lbnRDb29yZGluYXRvcjo6YmVnaW5QYXltZW50U2Vzc2lvbihEb2N1bWVu
dCYgZG9jdW1lbnQsIFBheW1lbnRTZXNzaW9uJgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBtX2FjdGl2ZVNlc3Npb24gPSAmcGF5bWVudFNlc3Npb247Ci0gICAgZG9jdW1lbnQuc2V0SGFz
U3RhcnRlZEFwcGxlUGF5U2Vzc2lvbigpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0yMzks
MTEgKzI0NSw4IEBAIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpkaWRDYW5jZWxQYXltZW50U2Vz
c2lvbigpCiAgICAgbV9hY3RpdmVTZXNzaW9uID0gbnVsbHB0cjsKIH0KIAotT3B0aW9uYWw8U3Ry
aW5nPiBQYXltZW50Q29vcmRpbmF0b3I6OnZhbGlkYXRlZFBheW1lbnROZXR3b3JrKERvY3VtZW50
JiBkb2N1bWVudCwgdW5zaWduZWQgdmVyc2lvbiwgY29uc3QgU3RyaW5nJiBwYXltZW50TmV0d29y
aykgY29uc3QKK09wdGlvbmFsPFN0cmluZz4gUGF5bWVudENvb3JkaW5hdG9yOjp2YWxpZGF0ZWRQ
YXltZW50TmV0d29yayhEb2N1bWVudCYsIHVuc2lnbmVkIHZlcnNpb24sIGNvbnN0IFN0cmluZyYg
cGF5bWVudE5ldHdvcmspIGNvbnN0CiB7Ci0gICAgaWYgKCFzaG91bGRBbGxvd0FwcGxlUGF5KGRv
Y3VtZW50KSkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQogICAgIGlmICh2ZXJzaW9u
IDwgMiAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHBheW1lbnROZXR3b3JrLCAiamNiIikpCiAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKQEAgLTI2OSwzNyArMjcyLDMyIEBAIGJvb2wg
UGF5bWVudENvb3JkaW5hdG9yOjpzaG91bGRFbmFibGVBcHBsZVBheUFQSXMoRG9jdW1lbnQmIGRv
Y3VtZW50KSBjb25zdAogICAgIHJldHVybiBzaG91bGRFbmFibGVBUElzOwogfQogCi1ib29sIFBh
eW1lbnRDb29yZGluYXRvcjo6c2hvdWxkQWxsb3dBcHBsZVBheShEb2N1bWVudCYgZG9jdW1lbnQp
IGNvbnN0Citib29sIFBheW1lbnRDb29yZGluYXRvcjo6c2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxs
b3dlZChEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fY2xpZW50LnN1cHBv
cnRzVW5yZXN0cmljdGVkQXBwbGVQYXkoKSkgewotICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJzaG91bGRBbGxvd0FwcGxlUGF5KCkgLT4gdHJ1ZSAodW5yZXN0cmljdGVkIGNsaWVudCki
KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCiAgICAgYXV0byBoYXNFdmFsdWF0ZWRV
c2VyQWdlbnRTY3JpcHRzID0gZG9jdW1lbnQuaGFzRXZhbHVhdGVkVXNlckFnZW50U2NyaXB0cygp
OwogICAgIGF1dG8gaXNSdW5uaW5nVXNlclNjcmlwdHMgPSBkb2N1bWVudC5pc1J1bm5pbmdVc2Vy
U2NyaXB0cygpOwotICAgIGlmIChoYXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzIHx8IGlzUnVu
bmluZ1VzZXJTY3JpcHRzKSB7Ci0gICAgICAgIEFTU0VSVChzaG91bGRBbGxvd1VzZXJBZ2VudFNj
cmlwdHMoZG9jdW1lbnQpKTsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic2hvdWxk
QWxsb3dBcHBsZVBheSgpIC0+IGZhbHNlIChoYXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzOiAl
ZCwgaXNSdW5uaW5nVXNlclNjcmlwdHM6ICVkKSIsIGhhc0V2YWx1YXRlZFVzZXJBZ2VudFNjcmlw
dHMsIGlzUnVubmluZ1VzZXJTY3JpcHRzKTsKKyAgICBhdXRvIHN1cHBvcnRzVW5yZXN0cmljdGVk
QXBwbGVQYXkgPSBtX2NsaWVudC5zdXBwb3J0c1VucmVzdHJpY3RlZEFwcGxlUGF5KCk7CisKKyAg
ICBpZiAoIXN1cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXkgJiYgKGhhc0V2YWx1YXRlZFVzZXJB
Z2VudFNjcmlwdHMgfHwgaXNSdW5uaW5nVXNlclNjcmlwdHMpKSB7CisgICAgICAgIEFTU0VSVCgh
ZG9jdW1lbnQuaXNBcHBsZVBheUFjdGl2ZSgpKTsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgic2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dlZCgpIC0+IGZhbHNlIChoYXNFdmFsdWF0
ZWRVc2VyQWdlbnRTY3JpcHRzOiAlZCwgaXNSdW5uaW5nVXNlclNjcmlwdHM6ICVkKSIsIGhhc0V2
YWx1YXRlZFVzZXJBZ2VudFNjcmlwdHMsIGlzUnVubmluZ1VzZXJTY3JpcHRzKTsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInNob3Vs
ZEFsbG93QXBwbGVQYXkoKSAtPiB0cnVlIik7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
c2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dlZCgpIC0+IHRydWUgKHN1cHBvcnRzVW5yZXN0cmlj
dGVkQXBwbGVQYXk6ICVkKSIsIHN1cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXkpOworICAgIGRv
Y3VtZW50LnNldEFwcGxlUGF5SXNBY3RpdmUoKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9v
bCBQYXltZW50Q29vcmRpbmF0b3I6OnNob3VsZEFsbG93VXNlckFnZW50U2NyaXB0cyhEb2N1bWVu
dCYgZG9jdW1lbnQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fY2xpZW50LnN1cHBvcnRzVW5yZXN0cmlj
dGVkQXBwbGVQYXkoKSkKKyAgICBpZiAobV9jbGllbnQuc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBs
ZVBheSgpIHx8ICFkb2N1bWVudC5pc0FwcGxlUGF5QWN0aXZlKCkpCiAgICAgICAgIHJldHVybiB0
cnVlOwogCi0gICAgaWYgKGRvY3VtZW50Lmhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24oKSkgewot
ICAgICAgICBBU1NFUlQoc2hvdWxkQWxsb3dBcHBsZVBheShkb2N1bWVudCkpOwotICAgICAgICBS
RUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCJzaG91bGRBbGxvd1VzZXJBZ2VudFNjcmlwdHMo
KSAtPiBmYWxzZSAoYWN0aXZlIHNlc3Npb24pIik7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBBU1NFUlQoIWRvY3VtZW50Lmhhc0V2YWx1YXRl
ZFVzZXJBZ2VudFNjcmlwdHMoKSk7CisgICAgQVNTRVJUKCFkb2N1bWVudC5pc1J1bm5pbmdVc2Vy
U2NyaXB0cygpKTsKKyAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCJzaG91bGRBbGxv
d1VzZXJBZ2VudFNjcmlwdHMoKSAtPiBmYWxzZSAoYWN0aXZlIHNlc3Npb24pIik7CisgICAgcmV0
dXJuIGZhbHNlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCAyNjBh
M2UyODExNjI2ZTdlNDhkY2IwMGMyMmUwNzYzYzliMmE2ZTk4Li5lZGRhODU0ODdlZjNhZWNjMzZh
MDY3MDRkOTg5MzNjOTBiYzQ1MWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2lu
Y2x1ZGUgIkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmgiCiAjaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC00NSw3ICs0Niw3IEBAIHN0cnVjdCBQYXltZW50TWV0aG9kVXBkYXRlOwogc3RydWN0
IFNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKIHN0cnVjdCBTaGlwcGluZ01ldGhvZFVwZGF0ZTsKIAot
Y2xhc3MgUGF5bWVudENvb3JkaW5hdG9yIHsKK2NsYXNzIFBheW1lbnRDb29yZGluYXRvciA6IHB1
YmxpYyBDYW5NYWtlV2Vha1B0cjxQYXltZW50Q29vcmRpbmF0b3I+IHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBQYXlt
ZW50Q29vcmRpbmF0b3IoUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Jik7CkBAIC03OSwxMiArODAs
MTIgQEAgcHVibGljOgogICAgIE9wdGlvbmFsPFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdv
cmsoRG9jdW1lbnQmLCB1bnNpZ25lZCB2ZXJzaW9uLCBjb25zdCBTdHJpbmcmKSBjb25zdDsKIAog
ICAgIGJvb2wgc2hvdWxkRW5hYmxlQXBwbGVQYXlBUElzKERvY3VtZW50JikgY29uc3Q7Ci0gICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91bGRBbGxvd0FwcGxlUGF5KERvY3VtZW50JikgY29uc3Q7
CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBzaG91bGRBbGxvd1VzZXJBZ2VudFNjcmlwdHMoRG9j
dW1lbnQmKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQm
IG1fY2xpZW50OworICAgIGJvb2wgc2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dlZChEb2N1bWVu
dCYpIGNvbnN0OwogCisgICAgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50JiBtX2NsaWVudDsKICAg
ICBSZWZQdHI8UGF5bWVudFNlc3Npb24+IG1fYWN0aXZlU2Vzc2lvbjsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCmluZGV4IGE5OTgyNDJmMThlYzNhOWNhNjkzYjM2NDA2MTFhZjQ2MTcyZjMz
NTguLmUxZjI5OTg0ZDQ5Y2YxN2JjYjcxMWU4NDQzNTI4NjZhMTM2NmQxNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcApAQCAtODI0OSwxOSArODI0OSwxOSBAQCB2b2lkIERvY3VtZW50OjpzZXRI
YXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzKCkKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAK
LWJvb2wgRG9jdW1lbnQ6Omhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24oKSBjb25zdAorYm9vbCBE
b2N1bWVudDo6aXNBcHBsZVBheUFjdGl2ZSgpIGNvbnN0CiB7CiAgICAgYXV0byYgdG9wID0gdG9w
RG9jdW1lbnQoKTsKLSAgICByZXR1cm4gdGhpcyA9PSAmdG9wID8gbV9oYXNTdGFydGVkQXBwbGVQ
YXlTZXNzaW9uIDogdG9wLmhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24oKTsKKyAgICByZXR1cm4g
dGhpcyA9PSAmdG9wID8gbV9oYXNTdGFydGVkQXBwbGVQYXlTZXNzaW9uIDogdG9wLmlzQXBwbGVQ
YXlBY3RpdmUoKTsKIH0KIAotdm9pZCBEb2N1bWVudDo6c2V0SGFzU3RhcnRlZEFwcGxlUGF5U2Vz
c2lvbigpCit2b2lkIERvY3VtZW50OjpzZXRBcHBsZVBheUlzQWN0aXZlKCkKIHsKICAgICBhdXRv
JiB0b3AgPSB0b3BEb2N1bWVudCgpOwogICAgIGlmICh0aGlzID09ICZ0b3ApCiAgICAgICAgIG1f
aGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lvbiA9IHRydWU7CiAgICAgZWxzZQotICAgICAgICB0b3Au
c2V0SGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lvbigpOworICAgICAgICB0b3Auc2V0QXBwbGVQYXlJ
c0FjdGl2ZSgpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggMWFmYzI0ZWI1
MGJlNzU2NTA0ZmQyNDdlOWI1MTE0N2Y5ZTY0MjZmNy4uMjlmNzMwZTVkYjlmN2UxNjZkMjgwNWM4
NTMxYzFkYzYwZDczYmViZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1MjIsOCArMTUyMiw4
IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFzUnVubmluZ1VzZXJTY3Jp
cHRzKCk7CiAgICAgdm9pZCBzZXRIYXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzKCk7CiAjaWYg
RU5BQkxFKEFQUExFX1BBWSkKLSAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhhc1N0YXJ0ZWRBcHBs
ZVBheVNlc3Npb24oKSBjb25zdDsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhhc1N0YXJ0
ZWRBcHBsZVBheVNlc3Npb24oKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzQXBwbGVQYXlB
Y3RpdmUoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFwcGxlUGF5SXNBY3Rp
dmUoKTsKICNlbmRpZgogCiAgICAgdm9pZCBmcmFtZVdhc0Rpc2Nvbm5lY3RlZEZyb21Pd25lcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGM1OTZhNThiOWJkOWVmYmYz
NmIwNzNmOTAzMWU5ODYzZmE3OWZmMTAuLmVjNGI1MGQ4YTk0Njk5MDFjZmJhM2QwYzM5MTE0M2Iy
ZGJlNmMyZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQ2MDMsOSAr
NDYwMyw5IEBAIHZvaWQgSW50ZXJuYWxzOjpzZXRBc1J1bm5pbmdVc2VyU2NyaXB0cyhEb2N1bWVu
dCYgZG9jdW1lbnQpCiB9CiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQotdm9pZCBJbnRlcm5hbHM6
OnNldEhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24oRG9jdW1lbnQmIGRvY3VtZW50KQordm9pZCBJ
bnRlcm5hbHM6OnNldEFwcGxlUGF5SXNBY3RpdmUoRG9jdW1lbnQmIGRvY3VtZW50KQogewotICAg
IGRvY3VtZW50LnNldEhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24oKTsKKyAgICBkb2N1bWVudC5z
ZXRBcHBsZVBheUlzQWN0aXZlKCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKaW5kZXggNjc1YzgwYWNkMTc1ZTM5ODRjZDRjNWI2ZTQ2M2U1N2JkZmM2OGYxOS4uNTUw
ZDE5YTgyNDQ3OWNjNTlkODhiM2E4NGRjMTk5OGY4ODZkMTk1NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCkBAIC02ODEsNyArNjgxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRB
c1J1bm5pbmdVc2VyU2NyaXB0cyhEb2N1bWVudCYpOwogI2lmIEVOQUJMRShBUFBMRV9QQVkpCi0g
ICAgdm9pZCBzZXRIYXNTdGFydGVkQXBwbGVQYXlTZXNzaW9uKERvY3VtZW50Jik7CisgICAgdm9p
ZCBzZXRBcHBsZVBheUlzQWN0aXZlKERvY3VtZW50Jik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShX
RUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCAwYWYzMzc1M2NkNDc0
ODEyNTQwZTIzYTk2ZjA2YTY2NGYyOWVlNjc3Li4zYmRjN2RjMWI5ZmY4Zjg4Mjc0ZjdiMjkzNmI0
ZGYwZDUzNzdjNjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC02NTcs
NyArNjU3LDcgQEAgZW51bSBDb21wb3NpdGluZ1BvbGljeSB7CiAgICAgdm9pZCBzZXRRdWlja0xv
b2tQYXNzd29yZChET01TdHJpbmcgcGFzc3dvcmQpOwogCiAgICAgW0NhbGxXaXRoPURvY3VtZW50
XSB2b2lkIHNldEFzUnVubmluZ1VzZXJTY3JpcHRzKCk7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50
LCBDb25kaXRpb25hbD1BUFBMRV9QQVldIHZvaWQgc2V0SGFzU3RhcnRlZEFwcGxlUGF5U2Vzc2lv
bigpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgQ29uZGl0aW9uYWw9QVBQTEVfUEFZXSB2b2lk
IHNldEFwcGxlUGF5SXNBY3RpdmUoKTsKIAogICAgIHZvaWQgZGlzYWJsZVRpbGVTaXplVXBkYXRl
RGVsYXkoKTsKICAgICB2b2lkIHNldFNwZWN1bGF0aXZlVGlsaW5nRGVsYXlEaXNhYmxlZEZvclRl
c3RpbmcoYm9vbGVhbiBkaXNhYmxlZCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggYWQzMGE1YmRjOWI2NjExOTZhYzFlOGZmMmVkNDdiYzRmYjk4
YzZmNy4uZTZhOGM0ZmI3NGQyYzZhMWQxYmIzMzkxZmJlNzg2NmRkYTkyZmQ0YSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBA
CisyMDE5LTA1LTMxICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBb
QXBwbGUgUGF5XSBEaXNhYmxlIHNjcmlwdCBpbmplY3Rpb24gd2hlbiBjYW5NYWtlUGF5bWVudCBB
UElzIGFyZSBjYWxsZWQgYW5kIHJldHVybiB0cnVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg0NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUx
MzIzNjk0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcGxlUGF5Lm1t
OgorICAgICAgICAoLVtUZXN0QXBwbGVQYXlBdmFpbGFibGVTY3JpcHRNZXNzYWdlSGFuZGxlciB1
c2VyQ29udGVudENvbnRyb2xsZXI6ZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6XSk6CisgICAgICAg
ICgtW1Rlc3RBcHBsZVBheUFjdGl2ZVNlc3Npb25TY3JpcHRNZXNzYWdlSGFuZGxlciB1c2VyQ29u
dGVudENvbnRyb2xsZXI6ZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6XSk6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnJ1bkFjdGl2ZVNlc3Np
b25UZXN0KToKKyAgICAgICAgKC1bVGVzdEFwcGxlUGF5U2NyaXB0TWVzc2FnZUhhbmRsZXIgaW5p
dFdpdGhBUElzQXZhaWxhYmxlRXhwZWN0YXRpb246Y2FuTWFrZVBheW1lbnRzRXhwZWN0YXRpb246
XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1Rlc3RBcHBsZVBheVNjcmlwdE1lc3NhZ2VIYW5kbGVy
IHVzZXJDb250ZW50Q29udHJvbGxlcjpkaWRSZWNlaXZlU2NyaXB0TWVzc2FnZTpdKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1h
Y3RpdmUtc2Vzc2lvbi5odG1sOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1leGlzdGluZy1vYmplY3QuaHRtbDogQWRkZWQu
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1wYXktYXZh
aWxhYmlsaXR5LWluLWlmcmFtZS5odG1sOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS5odG1sOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnQuaHRt
bDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBs
ZS1wYXktY2FuLW1ha2UtcGF5bWVudHMtd2l0aC1hY3RpdmUtY2FyZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1jYW4tbWFr
ZS1wYXltZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL2FwcGxlLXBheS5qczogQWRkZWQuCisgICAgICAgIChhcHBsZVBheVJlcXVlc3RC
YXNlKToKKyAgICAgICAgKGFwcGxlUGF5UGF5bWVudFJlcXVlc3QpOgorICAgICAgICAoYXBwbGVQ
YXlNZXRob2QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvY29jb2EvVGVzdFByb3RvY29sLm1t
OgorICAgICAgICAoLVtUZXN0UHJvdG9jb2wgc3RhcnRMb2FkaW5nXSk6CisKIDIwMTktMDYtMDIg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIE1lbW9yeS1jYWNoZWQg
bWFpbiByZXNvdXJjZXMgY29udGludWUgdG8gbG9hZCBhZnRlciB0aGUgY2xpZW50IGRlY2lkZXMg
YSBjb250ZW50IHBvbGljeSBvZiBQb2xpY3lBY3Rpb246OkRvd25sb2FkCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDk2MWRmN2UzZGYzOTdmMTQ5NTgxMmJlYmVjZmQxMGFlYmVkZDY5ZGMuLjI0
MTc2N2U0OTQxZTkyYWRiM2IyNzlkMDcxYTFiYmQ2NmZlZjExN2YgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC03MzAsNiArNzMwLDExIEBACiAJCUExQzRGQjczMUJBQ0QxQ0EwMDM3NDJEMCAv
KiBwYWdlcy5wYWdlcyBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMUM0RkI3MjFCQUNEMUI3MDAzNzQyRDAgLyogcGFnZXMucGFnZXMgKi87IH07
CiAJCUExREY3NDMyMUM0MUI2NTgwMEEyRjREMCAvKiBBbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVt
ZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMURG
NzQzMDFDNDFCNjU4MDBBMkY0RDAgLyogQWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzLm1tICov
OyB9OwogCQlBMUVDMTE4ODFGNDI1NDEyMDBEMDE0NkUgLyogUHJldmlld0NvbnZlcnRlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUVDMTE4NzFG
NDI1NDEyMDBEMDE0NkUgLyogUHJldmlld0NvbnZlcnRlci5jcHAgKi87IH07CisJCUExRkI1MDNE
MjJBMUNCRTIwMEQ0RDk3OSAvKiBhcHBsZS1wYXktYXZhaWxhYmlsaXR5LWV4aXN0aW5nLW9iamVj
dC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExRkI1MDNDMjJBMUMyNDQwMEQ0RDk3OSAvKiBhcHBsZS1wYXktYXZhaWxhYmlsaXR5LWV4
aXN0aW5nLW9iamVjdC5odG1sICovOyB9OworCQlBMUZCNTAzRjIyQTIwRjY0MDBENEQ5NzkgLyog
YXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGQjUwM0UyMkExRTNCMzAwRDREOTc5IC8q
IGFwcGxlLXBheS1jYW4tbWFrZS1wYXltZW50cy5odG1sICovOyB9OworCQlBMUZCNTA0MTIyQTIx
MkE5MDBENEQ5NzkgLyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNh
cmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMUZCNTA0MDIyQTIxMjg0MDBENEQ5NzkgLyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1l
bnRzLXdpdGgtYWN0aXZlLWNhcmQuaHRtbCAqLzsgfTsKKwkJQTFGQjUwNDMyMkEyMTNBMzAwRDRE
OTc5IC8qIGFwcGxlLXBheS1jYW4tbWFrZS1wYXltZW50Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGQjUwNDIyMkEyMTM4RjAwRDRE
OTc5IC8qIGFwcGxlLXBheS1jYW4tbWFrZS1wYXltZW50Lmh0bWwgKi87IH07CisJCUExRkI1MDQ1
MjJBMjE1NzEwMEQ0RDk3OSAvKiBhcHBsZS1wYXkuanMgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFGQjUwNDQyMkEyMTU0QjAwRDREOTc5IC8q
IGFwcGxlLXBheS5qcyAqLzsgfTsKIAkJQTMxMDgyNzIyMUYyOTZGRjAwQzI4Qjk3IC8qIEZpbGVT
eXN0ZW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTMxMDgyNzEyMUYyOTZFQzAwQzI4Qjk3IC8qIEZpbGVTeXN0ZW0uY3BwICovOyB9OwogCQlBNTdB
MzRGMjE2QUY2QjJCMDBDMjUwMUYgLyogUGFnZVZpc2liaWxpdHlTdGF0ZVdpdGhXaW5kb3dDaGFu
Z2VzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTU3QTM0RjExNkFGNjlFMjAwQzI1MDFGIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGVXaXRo
V2luZG93Q2hhbmdlcy5odG1sICovOyB9OwogCQlBNTdENTRGMzFGMzM4QzM2MDBBOTdBQTcgLyog
TmV2ZXJEZXN0cm95ZWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTU3RDU0RjIxRjMzOEMzNjAwQTk3QUE3IC8qIE5ldmVyRGVzdHJveWVkLmNwcCAq
LzsgfTsKQEAgLTEwNDksOCArMTA1NCwxMyBAQAogCQkJCUMyNUNDQTBEMUU1MTQxODQwMDI2Q0I4
QSAvKiBBbGxBaGVtLnN2ZyBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNEE5MjAyRjFGRUUz
NEU5MDBGNTk1OTAgLyogYXBwbGUtZGF0YS11cmwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
IAkJCQlBMTc5OEI4QjIyNDM2MUE0MDAwNzY0QkQgLyogYXBwbGUtcGF5LWFjdGl2ZS1zZXNzaW9u
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJQTFGQjUwM0QyMkExQ0JFMjAwRDREOTc5
IC8qIGFwcGxlLXBheS1hdmFpbGFiaWxpdHktZXhpc3Rpbmctb2JqZWN0Lmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8sCiAJCQkJQTE3OThCODkyMjQzNUUyOTAwMDc2NEJEIC8qIGFwcGxlLXBheS1h
dmFpbGFiaWxpdHktaW4taWZyYW1lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQTE3
OThCODcyMjQzNDQ5QjAwMDc2NEJEIC8qIGFwcGxlLXBheS1hdmFpbGFiaWxpdHkuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLywKKwkJCQlBMUZCNTA0MzIyQTIxM0EzMDBENEQ5NzkgLyogYXBwbGUt
cGF5LWNhbi1tYWtlLXBheW1lbnQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlBMUZC
NTA0MTIyQTIxMkE5MDBENEQ5NzkgLyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgt
YWN0aXZlLWNhcmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlBMUZCNTAzRjIyQTIw
RjY0MDBENEQ5NzkgLyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8sCisJCQkJQTFGQjUwNDUyMkEyMTU3MTAwRDREOTc5IC8qIGFwcGxlLXBheS5q
cyBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNDZBMDk1QTFFRDhBNkU2MDBENEFBNTUgLyog
YXBwbGUuZ2lmIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTVDOUU1OTQxMUQzRUI1QUMwMEUz
QzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hlLmRiIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTVD
OUU1OTQyMUQzRUI1QUMwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hlLmRiLXNobSBpbiBDb3B5
IFJlc291cmNlcyAqLywKQEAgLTIwMjgsNiArMjAzOCwxMSBAQAogCQlBMUM0RkI3MjFCQUNEMUI3
MDAzNzQyRDAgLyogcGFnZXMucGFnZXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBmaWxlOyBuYW1lID0gcGFnZXMucGFnZXM7IHBhdGggPSBpb3MvcGFn
ZXMucGFnZXM7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJQTFERjc0MzAxQzQxQjY1
ODAwQTJGNEQwIC8qIEFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFFQzExODcxRjQyNTQxMjAwRDAxNDZF
IC8qIFByZXZpZXdDb252ZXJ0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJldmlld0NvbnZl
cnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExRkI1MDNDMjJBMUMyNDQw
MEQ0RDk3OSAvKiBhcHBsZS1wYXktYXZhaWxhYmlsaXR5LWV4aXN0aW5nLW9iamVjdC5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBwYXRoID0gImFwcGxlLXBheS1hdmFpbGFiaWxpdHktZXhpc3Rpbmctb2JqZWN0Lmh0bWwiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUZCNTAzRTIyQTFFM0IzMDBENEQ5NzkgLyog
YXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiYXBwbGUtcGF5LWNh
bi1tYWtlLXBheW1lbnRzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUZC
NTA0MDIyQTIxMjg0MDBENEQ5NzkgLyogYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgt
YWN0aXZlLWNhcmQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhcHBsZS1wYXktY2FuLW1ha2UtcGF5bWVudHMt
d2l0aC1hY3RpdmUtY2FyZC5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFG
QjUwNDIyMkEyMTM4RjAwRDREOTc5IC8qIGFwcGxlLXBheS1jYW4tbWFrZS1wYXltZW50Lmh0bWwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0
bWw7IHBhdGggPSAiYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnQuaHRtbCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUExRkI1MDQ0MjJBMjE1NEIwMEQ0RDk3OSAvKiBhcHBsZS1wYXku
anMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAiYXBwbGUtcGF5LmpzIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTFGREZEMkUxOUMyODhCQjAwNTE0OEE0IC8qIFdLSW1hZ2VDcmVhdGVD
R0ltYWdlQ3Jhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tJ
bWFnZUNyZWF0ZUNHSW1hZ2VDcmFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUEzMTA4MjcxMjFGMjk2RUMwMEMyOEI5NyAvKiBGaWxlU3lzdGVtLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbGVTeXN0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNTdBMzRFRjE2QUY2NzcyMDBDMjUwMUYgLyogUGFnZVZpc2liaWxpdHlT
dGF0ZVdpdGhXaW5kb3dDaGFuZ2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gUGFnZVZpc2liaWxpdHlTdGF0ZVdpdGhXaW5kb3dDaGFuZ2VzLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjk1OSw4ICsyOTc0LDEzIEBACiAJCQkJQzI1Q0NBMEMx
RTUxNDBFNTAwMjZDQjhBIC8qIEFsbEFoZW0uc3ZnICovLAogCQkJCUY0QTkyMDJFMUZFRTM0Qzgw
MEY1OTU5MCAvKiBhcHBsZS1kYXRhLXVybC5odG1sICovLAogCQkJCUExNzk4QjhBMjI0MzYxMUEw
MDA3NjRCRCAvKiBhcHBsZS1wYXktYWN0aXZlLXNlc3Npb24uaHRtbCAqLywKKwkJCQlBMUZCNTAz
QzIyQTFDMjQ0MDBENEQ5NzkgLyogYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1leGlzdGluZy1vYmpl
Y3QuaHRtbCAqLywKIAkJCQlBMTc5OEI4ODIyNDM1RDJFMDAwNzY0QkQgLyogYXBwbGUtcGF5LWF2
YWlsYWJpbGl0eS1pbi1pZnJhbWUuaHRtbCAqLywKIAkJCQlBMTc5OEI4NjIyNDM0NDZCMDAwNzY0
QkQgLyogYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS5odG1sICovLAorCQkJCUExRkI1MDQyMjJBMjEz
OEYwMEQ0RDk3OSAvKiBhcHBsZS1wYXktY2FuLW1ha2UtcGF5bWVudC5odG1sICovLAorCQkJCUEx
RkI1MDQwMjJBMjEyODQwMEQ0RDk3OSAvKiBhcHBsZS1wYXktY2FuLW1ha2UtcGF5bWVudHMtd2l0
aC1hY3RpdmUtY2FyZC5odG1sICovLAorCQkJCUExRkI1MDNFMjJBMUUzQjMwMEQ0RDk3OSAvKiBh
cHBsZS1wYXktY2FuLW1ha2UtcGF5bWVudHMuaHRtbCAqLywKKwkJCQlBMUZCNTA0NDIyQTIxNTRC
MDBENEQ5NzkgLyogYXBwbGUtcGF5LmpzICovLAogCQkJCUY0N0QzMEVCMUVEMjg2MTkwMDA0ODJF
MSAvKiBhcHBsZS5naWYgKi8sCiAJCQkJNUM5RTU5M0UxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxp
Y2F0aW9uQ2FjaGUuZGIgKi8sCiAJCQkJNUM5RTU5M0YxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxp
Y2F0aW9uQ2FjaGUuZGItc2htICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9BcHBsZVBheS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvQXBwbGVQYXkubW0KaW5kZXggMDYxYjMzMWExNTY3NmIzMzc5ZjM2OTYxODU0
NzAzZWVlNjkxM2EwYy4uMTdhMWFlMGIxMTQ4N2NmODdiMTMwMjk4MGJhODIxNzYwNjA1YzE0ZSAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BcHBsZVBh
eS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcGxlUGF5
Lm1tCkBAIC0zNyw4ICszNyw5IEBACiAjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CiAKIHN0YXRp
YyBib29sIGlzRG9uZTsKK3N0YXRpYyBOU1N0cmluZyAqIGNvbnN0IHVzZXJTY3JpcHRTb3VyY2Ug
PSBAIndpbmRvdy53a1VzZXJTY3JpcHRJbmplY3RlZCA9IHRydWUiOwogCi1AaW50ZXJmYWNlIFRl
c3RBcHBsZVBheVNjcmlwdE1lc3NhZ2VIYW5kbGVyIDogTlNPYmplY3QgPFdLU2NyaXB0TWVzc2Fn
ZUhhbmRsZXI+CitAaW50ZXJmYWNlIFRlc3RBcHBsZVBheUF2YWlsYWJsZVNjcmlwdE1lc3NhZ2VI
YW5kbGVyIDogTlNPYmplY3QgPFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI+CiAKIC0gKGluc3RhbmNl
dHlwZSlpbml0IE5TX1VOQVZBSUxBQkxFOwogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQVBJc0F2
YWlsYWJsZUV4cGVjdGF0aW9uOihCT09MKWFwaXNBdmFpbGFibGVFeHBlY3RhdGlvbiBjYW5NYWtl
UGF5bWVudHNFeHBlY3RhdGlvbjooQk9PTCljYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbjsKQEAg
LTQ4LDcgKzQ5LDcgQEAgQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgY2FuTWFrZVBheW1lbnRz
RXhwZWN0YXRpb247CiAKIEBlbmQKIAotQGltcGxlbWVudGF0aW9uIFRlc3RBcHBsZVBheVNjcmlw
dE1lc3NhZ2VIYW5kbGVyCitAaW1wbGVtZW50YXRpb24gVGVzdEFwcGxlUGF5QXZhaWxhYmxlU2Ny
aXB0TWVzc2FnZUhhbmRsZXIKIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQVBJc0F2YWlsYWJs
ZUV4cGVjdGF0aW9uOihCT09MKWFwaXNBdmFpbGFibGVFeHBlY3RhdGlvbiBjYW5NYWtlUGF5bWVu
dHNFeHBlY3RhdGlvbjooQk9PTCljYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbgogewpAQCAtNjQs
NyArNjUsNyBAQCAtICh2b2lkKXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENv
bnRyb2xsZXIgKil1c2VyQ29udGVudENvbnRyb2xsZXIgZAogewogICAgIEVYUEVDVF9FUShfYXBp
c0F2YWlsYWJsZUV4cGVjdGF0aW9uLCBbW21lc3NhZ2UuYm9keSBvYmplY3RGb3JLZXk6QCJhcHBs
ZVBheVNlc3Npb25BdmFpbGFibGUiXSBib29sVmFsdWVdKTsKICAgICBFWFBFQ1RfRVEoX2FwaXNB
dmFpbGFibGVFeHBlY3RhdGlvbiwgW1ttZXNzYWdlLmJvZHkgb2JqZWN0Rm9yS2V5OkAicGF5bWVu
dFJlcXVlc3RBdmFpbGFibGUiXSBib29sVmFsdWVdKTsKLSAgICBFWFBFQ1RfRVEoX2Nhbk1ha2VQ
YXltZW50c0V4cGVjdGF0aW9uLCBbW21lc3NhZ2UuYm9keSBvYmplY3RGb3JLZXk6QCJzdXBwb3J0
c1ZlcnNpb24iXSBib29sVmFsdWVdKTsKKyAgICBFWFBFQ1RfRVEoX2FwaXNBdmFpbGFibGVFeHBl
Y3RhdGlvbiwgW1ttZXNzYWdlLmJvZHkgb2JqZWN0Rm9yS2V5OkAic3VwcG9ydHNWZXJzaW9uIl0g
Ym9vbFZhbHVlXSk7CiAgICAgRVhQRUNUX0VRKF9jYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbiwg
W1ttZXNzYWdlLmJvZHkgb2JqZWN0Rm9yS2V5OkAiY2FuTWFrZVBheW1lbnRzIl0gYm9vbFZhbHVl
XSk7CiAgICAgRVhQRUNUX0VRKF9jYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbiwgW1ttZXNzYWdl
LmJvZHkgb2JqZWN0Rm9yS2V5OkAiY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQiXSBib29s
VmFsdWVdKTsKICAgICBFWFBFQ1RfRVEoX2Nhbk1ha2VQYXltZW50c0V4cGVjdGF0aW9uLCBbW21l
c3NhZ2UuYm9keSBvYmplY3RGb3JLZXk6QCJjYW5NYWtlUGF5bWVudCJdIGJvb2xWYWx1ZV0pOwpA
QCAtNzMsMjIgKzc0LDU3IEBAIC0gKHZvaWQpdXNlckNvbnRlbnRDb250cm9sbGVyOihXS1VzZXJD
b250ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxlciBkCiAKIEBlbmQKIAorQGlu
dGVyZmFjZSBUZXN0QXBwbGVQYXlBY3RpdmVTZXNzaW9uU2NyaXB0TWVzc2FnZUhhbmRsZXIgOiBO
U09iamVjdCA8V0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4KK0BlbmQKKworQGltcGxlbWVudGF0aW9u
IFRlc3RBcHBsZVBheUFjdGl2ZVNlc3Npb25TY3JpcHRNZXNzYWdlSGFuZGxlcgorCistICh2b2lk
KXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2VyQ29u
dGVudENvbnRyb2xsZXIgZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6KFdLU2NyaXB0TWVzc2FnZSAq
KW1lc3NhZ2UKK3sKKyAgICBpc0RvbmUgPSB0cnVlOworfQorCitAZW5kCisKIG5hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJIHsKICAgICAKIFRFU1QoQXBwbGVQYXksIEFwcGxlUGF5QXZhaWxhYmxlQnlE
ZWZhdWx0KQogewogICAgIFtUZXN0UHJvdG9jb2wgcmVnaXN0ZXJXaXRoU2NoZW1lOkAiaHR0cHMi
XTsKIAotICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5U2Ny
aXB0TWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9u
OllFUyBjYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbjpZRVNdKTsKKyAgICBhdXRvIG1lc3NhZ2VI
YW5kbGVyID0gYWRvcHROUyhbW1Rlc3RBcHBsZVBheUF2YWlsYWJsZVNjcmlwdE1lc3NhZ2VIYW5k
bGVyIGFsbG9jXSBpbml0V2l0aEFQSXNBdmFpbGFibGVFeHBlY3RhdGlvbjpZRVMgY2FuTWFrZVBh
eW1lbnRzRXhwZWN0YXRpb246WUVTXSk7CisKKyAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpj
b25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlv
bldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMi
XTsKKyAgICBbY29uZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXIgYWRkU2NyaXB0TWVz
c2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInRlc3RBcHBsZVBheSJdOwor
CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6Q0dSZWN0WmVybyBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICBb
d2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBV
UkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly9idW5kbGUtZmlsZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5
Lmh0bWwiXV1dOworCisgICAgVXRpbDo6cnVuKCZpc0RvbmUpOworCisgICAgW1Rlc3RQcm90b2Nv
bCB1bnJlZ2lzdGVyXTsKK30KKworVEVTVChBcHBsZVBheSwgQXBwbGVQYXlBdmFpbGFibGVJblVu
cmVzdHJpY3RlZENsaWVudHMpCit7CisgICAgW1Rlc3RQcm90b2NvbCByZWdpc3RlcldpdGhTY2hl
bWU6QCJodHRwcyJdOworCisgICAgYXV0byBtZXNzYWdlSGFuZGxlciA9IGFkb3B0TlMoW1tUZXN0
QXBwbGVQYXlBdmFpbGFibGVTY3JpcHRNZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdFdpdGhBUElz
QXZhaWxhYmxlRXhwZWN0YXRpb246WUVTIGNhbk1ha2VQYXltZW50c0V4cGVjdGF0aW9uOllFU10p
OworICAgIGF1dG8gdXNlclNjcmlwdCA9IGFkb3B0TlMoW1tXS1VzZXJTY3JpcHQgYWxsb2NdIGlu
aXRXaXRoU291cmNlOnVzZXJTY3JpcHRTb3VyY2UgaW5qZWN0aW9uVGltZTpXS1VzZXJTY3JpcHRJ
bmplY3Rpb25UaW1lQXREb2N1bWVudFN0YXJ0IGZvck1haW5GcmFtZU9ubHk6WUVTXSk7CiAKICAg
ICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2Vi
UHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiXTsKKyAgICBbY29uZmlndXJhdGlvbi51c2VyQ29u
dGVudENvbnRyb2xsZXIgYWRkVXNlclNjcmlwdDp1c2VyU2NyaXB0LmdldCgpXTsKICAgICBbY29u
ZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXIgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6
bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInRlc3RBcHBsZVBheSJdOwogCiAgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dS
ZWN0WmVybyBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKLSAgICBbd2ViVmlldyBsb2Fk
UmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5n
OkAiaHR0cHM6Ly9idW5kbGUtaHRtbC1maWxlL2FwcGxlLXBheS1hdmFpbGFiaWxpdHkiXV1dOwor
ICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05T
VVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwczovL2J1bmRsZS1maWxlL2FwcGxlLXBheS1hdmFpbGFi
aWxpdHktaW4taWZyYW1lLmh0bWw/dW5yZXN0cmljdGVkIl1dXTsKKyAgICBbd2ViVmlldyBfdGVz
dF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZh
U2NyaXB0OkAibG9hZEFwcGxlUGF5RnJhbWUoKTsiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CiAK
ICAgICBVdGlsOjpydW4oJmlzRG9uZSk7CiAKKyAgICBFWFBFQ1RfRVEoWUVTLCBbW3dlYlZpZXcg
b2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy53a1VzZXJTY3JpcHRJbmplY3Rl
ZCJdIGJvb2xWYWx1ZV0pOworCiAgICAgW1Rlc3RQcm90b2NvbCB1bnJlZ2lzdGVyXTsKIH0KIApA
QCAtOTYsMTUgKzEzMiwxNSBAQCBURVNUKEFwcGxlUGF5LCBVc2VyU2NyaXB0QXREb2N1bWVudFN0
YXJ0RGlzYWJsZXNBcHBsZVBheSkKIHsKICAgICBbVGVzdFByb3RvY29sIHJlZ2lzdGVyV2l0aFNj
aGVtZTpAImh0dHBzIl07CiAKLSAgICBhdXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW1Rl
c3RBcHBsZVBheVNjcmlwdE1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0V2l0aEFQSXNBdmFpbGFi
bGVFeHBlY3RhdGlvbjpOTyBjYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbjpOT10pOwotICAgIGF1
dG8gdXNlclNjcmlwdCA9IGFkb3B0TlMoW1tXS1VzZXJTY3JpcHQgYWxsb2NdIGluaXRXaXRoU291
cmNlOkAid2luZG93LndrVXNlclNjcmlwdEluamVjdGVkID0gdHJ1ZSIgaW5qZWN0aW9uVGltZTpX
S1VzZXJTY3JpcHRJbmplY3Rpb25UaW1lQXREb2N1bWVudFN0YXJ0IGZvck1haW5GcmFtZU9ubHk6
WUVTXSk7CisgICAgYXV0byBtZXNzYWdlSGFuZGxlciA9IGFkb3B0TlMoW1tUZXN0QXBwbGVQYXlB
dmFpbGFibGVTY3JpcHRNZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdFdpdGhBUElzQXZhaWxhYmxl
RXhwZWN0YXRpb246Tk8gY2FuTWFrZVBheW1lbnRzRXhwZWN0YXRpb246Tk9dKTsKKyAgICBhdXRv
IHVzZXJTY3JpcHQgPSBhZG9wdE5TKFtbV0tVc2VyU2NyaXB0IGFsbG9jXSBpbml0V2l0aFNvdXJj
ZTp1c2VyU2NyaXB0U291cmNlIGluamVjdGlvblRpbWU6V0tVc2VyU2NyaXB0SW5qZWN0aW9uVGlt
ZUF0RG9jdW1lbnRTdGFydCBmb3JNYWluRnJhbWVPbmx5OllFU10pOwogCiAgICAgV0tXZWJWaWV3
Q29uZmlndXJhdGlvbiAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90
ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVn
SW5XaXRoSW50ZXJuYWxzIl07CiAgICAgW2NvbmZpZ3VyYXRpb24udXNlckNvbnRlbnRDb250cm9s
bGVyIGFkZFVzZXJTY3JpcHQ6dXNlclNjcmlwdC5nZXQoKV07CiAgICAgW2NvbmZpZ3VyYXRpb24u
dXNlckNvbnRlbnRDb250cm9sbGVyIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOm1lc3NhZ2VIYW5k
bGVyLmdldCgpIG5hbWU6QCJ0ZXN0QXBwbGVQYXkiXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFk
b3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05T
VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8v
YnVuZGxlLWh0bWwtZmlsZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5Il1dXTsKKyAgICBbd2ViVmll
dyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRo
U3RyaW5nOkAiaHR0cHM6Ly9idW5kbGUtZmlsZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5Lmh0bWwi
XV1dOwogCiAgICAgVXRpbDo6cnVuKCZpc0RvbmUpOwogCkBAIC0xMTcsMTUgKzE1MywxNSBAQCBU
RVNUKEFwcGxlUGF5LCBVc2VyU2NyaXB0QXREb2N1bWVudEVuZERpc2FibGVzQXBwbGVQYXkpCiB7
CiAgICAgW1Rlc3RQcm90b2NvbCByZWdpc3RlcldpdGhTY2hlbWU6QCJodHRwcyJdOwogICAgIAot
ICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5U2NyaXB0TWVz
c2FnZUhhbmRsZXIgYWxsb2NdIGluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9uOk5PIGNh
bk1ha2VQYXltZW50c0V4cGVjdGF0aW9uOk5PXSk7Ci0gICAgYXV0byB1c2VyU2NyaXB0ID0gYWRv
cHROUyhbW1dLVXNlclNjcmlwdCBhbGxvY10gaW5pdFdpdGhTb3VyY2U6QCJ3aW5kb3cud2tVc2Vy
U2NyaXB0SW5qZWN0ZWQgPSB0cnVlIiBpbmplY3Rpb25UaW1lOldLVXNlclNjcmlwdEluamVjdGlv
blRpbWVBdERvY3VtZW50RW5kIGZvck1haW5GcmFtZU9ubHk6WUVTXSk7CisgICAgYXV0byBtZXNz
YWdlSGFuZGxlciA9IGFkb3B0TlMoW1tUZXN0QXBwbGVQYXlBdmFpbGFibGVTY3JpcHRNZXNzYWdl
SGFuZGxlciBhbGxvY10gaW5pdFdpdGhBUElzQXZhaWxhYmxlRXhwZWN0YXRpb246Tk8gY2FuTWFr
ZVBheW1lbnRzRXhwZWN0YXRpb246Tk9dKTsKKyAgICBhdXRvIHVzZXJTY3JpcHQgPSBhZG9wdE5T
KFtbV0tVc2VyU2NyaXB0IGFsbG9jXSBpbml0V2l0aFNvdXJjZTp1c2VyU2NyaXB0U291cmNlIGlu
amVjdGlvblRpbWU6V0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZUF0RG9jdW1lbnRFbmQgZm9yTWFp
bkZyYW1lT25seTpZRVNdKTsKICAgICAKICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25m
aWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldp
dGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiXTsK
ICAgICBbY29uZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXIgYWRkVXNlclNjcmlwdDp1
c2VyU2NyaXB0LmdldCgpXTsKICAgICBbY29uZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xs
ZXIgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInRl
c3RBcHBsZVBheSJdOwogICAgIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpjb25m
aWd1cmF0aW9uXSk7Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1
ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWh0bWwtZmls
ZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5Il1dXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpb
TlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6
Ly9idW5kbGUtZmlsZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5Lmh0bWwiXV1dOwogICAgIAogICAg
IFV0aWw6OnJ1bigmaXNEb25lKTsKICAgICAKQEAgLTEzOCwxMyArMTc0LDEzIEBAIFRFU1QoQXBw
bGVQYXksIFVzZXJBZ2VudFNjcmlwdEV2YWx1YXRpb25EaXNhYmxlc0FwcGxlUGF5KQogewogICAg
IFtUZXN0UHJvdG9jb2wgcmVnaXN0ZXJXaXRoU2NoZW1lOkAiaHR0cHMiXTsKIAotICAgIGF1dG8g
bWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5U2NyaXB0TWVzc2FnZUhhbmRs
ZXIgYWxsb2NdIGluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9uOllFUyBjYW5NYWtlUGF5
bWVudHNFeHBlY3RhdGlvbjpOT10pOworICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5T
KFtbVGVzdEFwcGxlUGF5QXZhaWxhYmxlU2NyaXB0TWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRX
aXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9uOllFUyBjYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlv
bjpOT10pOwogCiAgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqY29uZmlndXJhdGlvbiA9IFtX
S1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNs
YXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIl07CiAgICAgW2NvbmZpZ3Vy
YXRpb24udXNlckNvbnRlbnRDb250cm9sbGVyIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOm1lc3Nh
Z2VIYW5kbGVyLmdldCgpIG5hbWU6QCJ0ZXN0QXBwbGVQYXkiXTsKIAogICAgIGF1dG8gd2ViVmll
dyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFpl
cm8gY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0
dHBzOi8vYnVuZGxlLWh0bWwtZmlsZS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5LWluLWlmcmFtZSJd
XV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWF2
YWlsYWJpbGl0eS1pbi1pZnJhbWUuaHRtbCJdXV07CiAgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZv
ckRpZEZpbmlzaE5hdmlnYXRpb25dOwogICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpA
IndpbmRvdy53a1NjcmlwdEV2YWx1YXRlZCA9IHRydWU7IGxvYWRBcHBsZVBheUZyYW1lKCk7IiBj
b21wbGV0aW9uSGFuZGxlcjpuaWxdOwogCkBAIC0xNTksMTMgKzE5NSwxMyBAQCBURVNUKEFwcGxl
UGF5LCBVc2VyQWdlbnRTY3JpcHRFdmFsdWF0aW9uRGlzYWJsZXNBcHBsZVBheUluRXhpc3RpbmdP
YmplY3RzKQogewogICAgIFtUZXN0UHJvdG9jb2wgcmVnaXN0ZXJXaXRoU2NoZW1lOkAiaHR0cHMi
XTsKIAotICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5U2Ny
aXB0TWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRXaXRoQVBJc0F2YWlsYWJsZUV4cGVjdGF0aW9u
OllFUyBjYW5NYWtlUGF5bWVudHNFeHBlY3RhdGlvbjpZRVNdKTsKKyAgICBhdXRvIG1lc3NhZ2VI
YW5kbGVyID0gYWRvcHROUyhbW1Rlc3RBcHBsZVBheUF2YWlsYWJsZVNjcmlwdE1lc3NhZ2VIYW5k
bGVyIGFsbG9jXSBpbml0V2l0aEFQSXNBdmFpbGFibGVFeHBlY3RhdGlvbjpZRVMgY2FuTWFrZVBh
eW1lbnRzRXhwZWN0YXRpb246Tk9dKTsKIAogICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNv
bmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9u
V2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyJd
OwogICAgIFtjb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciBhZGRTY3JpcHRNZXNz
YWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAidGVzdEFwcGxlUGF5Il07CiAK
ICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpDR1JlY3RaZXJvIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwotICAgIFt3
ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVS
TFdpdGhTdHJpbmc6QCJodHRwczovL2J1bmRsZS1odG1sLWZpbGUvYXBwbGUtcGF5LWF2YWlsYWJp
bGl0eSJdXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUt
cGF5LWF2YWlsYWJpbGl0eS1leGlzdGluZy1vYmplY3QuaHRtbCJdXV07CiAKICAgICBVdGlsOjpy
dW4oJmlzRG9uZSk7CiAKQEAgLTE3OCwyOSArMjE0LDY4IEBAIFRFU1QoQXBwbGVQYXksIFVzZXJB
Z2VudFNjcmlwdEV2YWx1YXRpb25EaXNhYmxlc0FwcGxlUGF5SW5FeGlzdGluZ09iamVjdHMpCiAg
ICAgW1Rlc3RQcm90b2NvbCB1bnJlZ2lzdGVyXTsKIH0KIAotVEVTVChBcHBsZVBheSwgQWN0aXZl
U2Vzc2lvbkJsb2Nrc1VzZXJBZ2VudFNjcmlwdHMpCitzdGF0aWMgdm9pZCBydW5BY3RpdmVTZXNz
aW9uVGVzdChOU1VSTCAqdXJsLCBCT09MIHNob3VsZEJsb2NrU2NyaXB0cykKIHsKICAgICBbVGVz
dFByb3RvY29sIHJlZ2lzdGVyV2l0aFNjaGVtZTpAImh0dHBzIl07CiAKLSAgICBhdXRvIHVzZXJT
Y3JpcHQgPSBhZG9wdE5TKFtbV0tVc2VyU2NyaXB0IGFsbG9jXSBpbml0V2l0aFNvdXJjZTpAIndp
bmRvdy53a1VzZXJTY3JpcHRJbmplY3RlZCA9IHRydWUiIGluamVjdGlvblRpbWU6V0tVc2VyU2Ny
aXB0SW5qZWN0aW9uVGltZUF0RG9jdW1lbnRTdGFydCBmb3JNYWluRnJhbWVPbmx5OllFU10pOwor
ICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdEFwcGxlUGF5QWN0aXZlU2Vz
c2lvblNjcmlwdE1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byB1c2VyU2Ny
aXB0ID0gYWRvcHROUyhbW1dLVXNlclNjcmlwdCBhbGxvY10gaW5pdFdpdGhTb3VyY2U6dXNlclNj
cmlwdFNvdXJjZSBpbmplY3Rpb25UaW1lOldLVXNlclNjcmlwdEluamVjdGlvblRpbWVBdERvY3Vt
ZW50U3RhcnQgZm9yTWFpbkZyYW1lT25seTpZRVNdKTsKIAogICAgIFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25m
aWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aElu
dGVybmFscyJdOworICAgIFtjb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciBhZGRT
Y3JpcHRNZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAidGVzdEFwcGxl
UGF5Il07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpDR1JlY3RaZXJvIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0p
OwotICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6
W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwczovL2J1bmRsZS1odG1sLWZpbGUvYXBwbGUtcGF5
LWFjdGl2ZS1zZXNzaW9uIl1dXTsKLSAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNo
TmF2aWdhdGlvbl07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1
ZXN0V2l0aFVSTDp1cmxdXTsKKyAgICBVdGlsOjpydW4oJmlzRG9uZSk7CiAKICAgICBbY29uZmln
dXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXIgX2FkZFVzZXJTY3JpcHRJbW1lZGlhdGVseTp1
c2VyU2NyaXB0LmdldCgpXTsKICAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3aW5k
b3cud2tVc2VyU2NyaXB0SW5qZWN0ZWQiIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgX051bGxhYmxl
IHJlc3VsdCwgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcikgewotICAgICAgICBFWFBFQ1RfTlVM
TChyZXN1bHQpOwotICAgICAgICBFWFBFQ1RfTk9UX05VTEwoZXJyb3IpOworICAgICAgICBFWFBF
Q1RfRVEoc2hvdWxkQmxvY2tTY3JpcHRzLCAhcmVzdWx0KTsKKyAgICAgICAgRVhQRUNUX0VRKHNo
b3VsZEJsb2NrU2NyaXB0cywgISFlcnJvcik7CiAgICAgICAgIGlzRG9uZSA9IHRydWU7CiAgICAg
fV07CisKKyAgICBpc0RvbmUgPSBmYWxzZTsKICAgICBVdGlsOjpydW4oJmlzRG9uZSk7CiAKICAg
ICBbVGVzdFByb3RvY29sIHVucmVnaXN0ZXJdOwogfQogCitURVNUKEFwcGxlUGF5LCBBY3RpdmVT
ZXNzaW9uQmxvY2tzVXNlckFnZW50U2NyaXB0cykKK3sKKyAgICBydW5BY3RpdmVTZXNzaW9uVGVz
dChbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWFj
dGl2ZS1zZXNzaW9uLmh0bWwiXSwgWUVTKTsKK30KKworVEVTVChBcHBsZVBheSwgQ2FuTWFrZVBh
eW1lbnRzQmxvY2tzVXNlckFnZW50U2NyaXB0cykKK3sKKyAgICBydW5BY3RpdmVTZXNzaW9uVGVz
dChbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWNh
bi1tYWtlLXBheW1lbnRzLmh0bWwiXSwgWUVTKTsKK30KKworVEVTVChBcHBsZVBheSwgQ2FuTWFr
ZVBheW1lbnRzRmFsc2VEb2VzTm90QmxvY2tVc2VyQWdlbnRTY3JpcHRzKQoreworICAgIHJ1bkFj
dGl2ZVNlc3Npb25UZXN0KFtOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly9idW5kbGUtZmls
ZS9hcHBsZS1wYXktY2FuLW1ha2UtcGF5bWVudHMuaHRtbD9mYWxzZSJdLCBOTyk7Cit9CisKK1RF
U1QoQXBwbGVQYXksIENhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkQmxvY2tzVXNlckFnZW50
U2NyaXB0cykKK3sKKyAgICBydW5BY3RpdmVTZXNzaW9uVGVzdChbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgt
YWN0aXZlLWNhcmQuaHRtbCJdLCBZRVMpOworfQorCitURVNUKEFwcGxlUGF5LCBDYW5NYWtlUGF5
bWVudHNXaXRoQWN0aXZlQ2FyZEZhbHNlRG9lc05vdEJsb2NrVXNlckFnZW50U2NyaXB0cykKK3sK
KyAgICBydW5BY3RpdmVTZXNzaW9uVGVzdChbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8v
YnVuZGxlLWZpbGUvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNhcmQu
aHRtbD9mYWxzZSJdLCBOTyk7Cit9CisKK1RFU1QoQXBwbGVQYXksIENhbk1ha2VQYXltZW50Qmxv
Y2tzVXNlckFnZW50U2NyaXB0cykKK3sKKyAgICBydW5BY3RpdmVTZXNzaW9uVGVzdChbTlNVUkwg
VVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5LWNhbi1tYWtlLXBh
eW1lbnQuaHRtbCJdLCBZRVMpOworfQorCitURVNUKEFwcGxlUGF5LCBDYW5NYWtlUGF5bWVudEZh
bHNlRG9lc05vdEJsb2NrVXNlckFnZW50U2NyaXB0cykKK3sKKyAgICBydW5BY3RpdmVTZXNzaW9u
VGVzdChbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vYnVuZGxlLWZpbGUvYXBwbGUtcGF5
LWNhbi1tYWtlLXBheW1lbnQuaHRtbD9mYWxzZSJdLCBOTyk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKIAogI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUkVNT1RFX1VJKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb3dubG9h
ZC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRG93bmxvYWQubW0K
aW5kZXggMmUwMzIzMGFhYWMwMTQyYzJjMTMyMDZlOTJkYzYyZTI2MGRhMmIyMy4uNTgxNzcyN2I3
M2YwNWM0ZTc0MDNmYmQ4MDYwNGE5MzY0Y2ExNDIwYiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb3dubG9hZC5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0Rvd25sb2FkLm1tCkBAIC05NzMsNyArOTczLDcgQEAg
VEVTVChXZWJLaXQsIERvd25sb2FkTmF2aWdhdGlvblJlc3BvbnNlRnJvbU1lbW9yeUNhY2hlKQog
ICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAgICAg
W3dlYlZpZXcgY29uZmlndXJhdGlvbl0ucHJvY2Vzc1Bvb2wuX2Rvd25sb2FkRGVsZWdhdGUgPSBk
ZWxlZ2F0ZS5nZXQoKTsKIAotICAgIE5TVVJMICpmaXJzdFVSTCA9IFtOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAiaHR0cDovL2J1bmRsZS1odG1sLWZpbGUvc2ltcGxlIl07CisgICAgTlNVUkwgKmZpcnN0
VVJMID0gW05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwOi8vYnVuZGxlLWZpbGUvc2ltcGxlLmh0
bWwiXTsKICAgICBbZGVsZWdhdGUgc2V0UmVzcG9uc2VQb2xpY3k6V0tOYXZpZ2F0aW9uUmVzcG9u
c2VQb2xpY3lBbGxvd107CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCBy
ZXF1ZXN0V2l0aFVSTDpmaXJzdFVSTF1dOwogICAgIGlzRG9uZSA9IGZhbHNlOwpAQCAtOTgzLDcg
Kzk4Myw3IEBAIFRFU1QoV2ViS2l0LCBEb3dubG9hZE5hdmlnYXRpb25SZXNwb25zZUZyb21NZW1v
cnlDYWNoZSkKICAgICBFWFBFQ1RfVFJVRShbZGVsZWdhdGUgZGlkRmluaXNoTmF2aWdhdGlvbl0p
OwogICAgIEVYUEVDVF9XS19TVFJFUShmaXJzdFVSTC5hYnNvbHV0ZVN0cmluZywgW3dlYlZpZXcg
VVJMXS5hYnNvbHV0ZVN0cmluZyk7CiAKLSAgICBOU1VSTCAqc2Vjb25kVVJMID0gW05TVVJMIFVS
TFdpdGhTdHJpbmc6QCJodHRwOi8vYnVuZGxlLWh0bWwtZmlsZS9zaW1wbGUyIl07CisgICAgTlNV
UkwgKnNlY29uZFVSTCA9IFtOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cDovL2J1bmRsZS1maWxl
L3NpbXBsZTIuaHRtbCJdOwogICAgIFtkZWxlZ2F0ZSBzZXRSZXNwb25zZVBvbGljeTpfV0tOYXZp
Z2F0aW9uUmVzcG9uc2VQb2xpY3lCZWNvbWVEb3dubG9hZF07CiAgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpzZWNvbmRVUkxdXTsKICAgICBpc0Rv
bmUgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvYXBwbGUtcGF5LWFjdGl2ZS1zZXNzaW9uLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1hY3RpdmUtc2Vzc2lvbi5odG1sCmluZGV4IDFi
ZDlmNmY3NDU4NjQ2Njg0Mjk1YTRmZWQxNTVhNDY5NjRkNDA3ZjkuLjFmOTY2MGM1NTk1ODVjM2My
MWUyYmYwMTJlNGM4YjViYTI3YmRiNWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWFjdGl2ZS1zZXNzaW9uLmh0bWwKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1wYXktYWN0aXZlLXNlc3Np
b24uaHRtbApAQCAtMiw1ICsyLDYgQEAKIDxib2R5PgogPHNjcmlwdD4KICAgICBpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5zdXBwb3J0c1VucmVzdHJpY3RlZEFwcGxlUGF5ID0gZmFs
c2U7Ci0gICAgaW50ZXJuYWxzLnNldEhhc1N0YXJ0ZWRBcHBsZVBheVNlc3Npb24oKTsKKyAgICBp
bnRlcm5hbHMuc2V0QXBwbGVQYXlJc0FjdGl2ZSgpOworICAgIHdpbmRvdy53ZWJraXQubWVzc2Fn
ZUhhbmRsZXJzLnRlc3RBcHBsZVBheS5wb3N0TWVzc2FnZSgiZG9uZSIpOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBh
eS1hdmFpbGFiaWxpdHktZXhpc3Rpbmctb2JqZWN0Lmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1hdmFpbGFiaWxpdHktZXhpc3Rpbmctb2JqZWN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTM1OTIwN2I5NTczYTM5N2RjNGVlOTI5YzFiMGM1OWUyNTM3ZjJh
ZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1leGlzdGluZy1vYmplY3QuaHRtbApAQCAtMCwwICsx
LDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9ImFwcGxlLXBheS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIGNvbnN0IGV2ZW50TGlzdGVuZXIgPSBhc3luYyAo
KSA9PiB7CisgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnN1cHBvcnRz
VW5yZXN0cmljdGVkQXBwbGVQYXkgPSBmYWxzZTsKKworICAgICAgICBjb25zdCBhcHBsZVBheVNl
c3Npb25BdmFpbGFibGUgPSAhIXdpbmRvdy5BcHBsZVBheVNlc3Npb247CisgICAgICAgIGNvbnN0
IHBheW1lbnRSZXF1ZXN0QXZhaWxhYmxlID0gISF3aW5kb3cuUGF5bWVudFJlcXVlc3Q7CisgICAg
ICAgIGNvbnN0IHN1cHBvcnRzVmVyc2lvbiA9IEFwcGxlUGF5U2Vzc2lvbi5zdXBwb3J0c1ZlcnNp
b24oMSk7CisKKyAgICAgICAgaWYgKCF3aW5kb3cud2tQYXltZW50UmVxdWVzdCkgeworICAgICAg
ICAgICAgd2tQYXltZW50UmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbYXBwbGVQYXlNZXRo
b2QoKV0sIGFwcGxlUGF5RGV0YWlscyk7CisKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVz
c2FnZUhhbmRsZXJzLnRlc3RBcHBsZVBheS5wb3N0TWVzc2FnZSh7CisgICAgICAgICAgICAgICAg
YXBwbGVQYXlTZXNzaW9uQXZhaWxhYmxlLAorICAgICAgICAgICAgICAgIHBheW1lbnRSZXF1ZXN0
QXZhaWxhYmxlLAorICAgICAgICAgICAgICAgIHN1cHBvcnRzVmVyc2lvbiwKKyAgICAgICAgICAg
IH0pOworCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBjb25zdCBj
YW5NYWtlUGF5bWVudCA9IGF3YWl0IHdrUGF5bWVudFJlcXVlc3QuY2FuTWFrZVBheW1lbnQoKTsK
KworICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0QXBwbGVQYXkucG9z
dE1lc3NhZ2UoeworICAgICAgICAgICAgYXBwbGVQYXlTZXNzaW9uQXZhaWxhYmxlLAorICAgICAg
ICAgICAgcGF5bWVudFJlcXVlc3RBdmFpbGFibGUsCisgICAgICAgICAgICBzdXBwb3J0c1ZlcnNp
b24sCisgICAgICAgICAgICBjYW5NYWtlUGF5bWVudCwKKyAgICAgICAgfSk7CisgICAgfTsKKwor
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdoYXNoY2hhbmdlJywgZXZlbnRMaXN0ZW5lcik7
CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBldmVudExpc3RlbmVyKTsKKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5LWluLWlmcmFtZS5odG1sIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5LWluLWlmcmFtZS5o
dG1sCmluZGV4IGEzZmFlMWFjNjcwOWY5YzFhOTE1MjNiZDUyZjNlY2YxZmY4YmMyZjAuLmY5MGE2
ZjZjNzM1M2JmZWM4NzUxMmRhMzk4ZmUxZWNkZDgyOGU3YzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWF2YWlsYWJpbGl0eS1pbi1p
ZnJhbWUuaHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2Fw
cGxlLXBheS1hdmFpbGFiaWxpdHktaW4taWZyYW1lLmh0bWwKQEAgLTEsOSArMSwxMCBAQAogPCFE
T0NUWVBFIGh0bWw+CiA8Ym9keT4KIDxzY3JpcHQ+CisgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3Iuc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBheSA9IHdpbmRvdy5sb2NhdGlv
bi5zZWFyY2ggPT09ICI/dW5yZXN0cmljdGVkIiA/IHRydWUgOiBmYWxzZTsKICAgICBsb2FkQXBw
bGVQYXlGcmFtZSA9ICgpID0+IHsKICAgICAgICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnaWZyYW1lJyk7Ci0gICAgICAgIGlmcmFtZS5zcmMgPSAnaHR0cHM6Ly9idW5k
bGUtaHRtbC1maWxlL2FwcGxlLXBheS1hdmFpbGFiaWxpdHknOworICAgICAgICBpZnJhbWUuc3Jj
ID0gJ2FwcGxlLXBheS1hdmFpbGFiaWxpdHkuaHRtbCcgKyB3aW5kb3cubG9jYXRpb24uc2VhcmNo
OwogICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CiAgICAgfTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9hcHBsZS1wYXktYXZhaWxhYmlsaXR5Lmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL2FwcGxlLXBheS1hdmFpbGFiaWxpdHkuaHRtbAppbmRleCA2YThiYzVhNDVl
YjIzOGMxZWFlODM4MTc4ZmUyMWNiNTQ1MGM0ZGFhLi4xODJjNjJmY2E3NDRlMGVjMzhjODlmNmEw
NDIzOGM0ZDc4YTU0ZjNlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL2FwcGxlLXBheS1hdmFpbGFiaWxpdHkuaHRtbAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1hdmFpbGFiaWxpdHkuaHRtbApAQCAt
MSwzMyArMSw5IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxib2R5PgorPHNjcmlwdCBzcmM9ImFwcGxl
LXBheS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotICAgIGNvbnN0IGFwcGxlUGF5UmVxdWVzdEJh
c2UgPSAoKSA9PiB7Ci0gICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgICBtZXJjaGFudENhcGFi
aWxpdGllczogWydzdXBwb3J0czNEUyddLAotICAgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6
IFsndmlzYSddLAotICAgICAgICAgICAgY291bnRyeUNvZGU6ICdVUycsCi0gICAgICAgIH07Ci0g
ICAgfTsKLQotICAgIGNvbnN0IGFwcGxlUGF5UGF5bWVudFJlcXVlc3QgPSAoKSA9PiB7Ci0gICAg
ICAgIGNvbnN0IHJlcXVlc3QgPSBhcHBsZVBheVJlcXVlc3RCYXNlKCk7Ci0gICAgICAgIHJlcXVl
c3QudG90YWwgPSB7IGxhYmVsOiAndG90YWwnLCBhbW91bnQ6ICcwLjAwJyB9OwotICAgICAgICBy
ZXF1ZXN0LmN1cnJlbmN5Q29kZSA9ICdVU0QnOwotICAgICAgICByZXR1cm4gcmVxdWVzdDsKLSAg
ICB9OwotCi0gICAgY29uc3QgYXBwbGVQYXlNZXRob2QgPSAoKSA9PiB7Ci0gICAgICAgIGNvbnN0
IHJlcXVlc3QgPSBhcHBsZVBheVJlcXVlc3RCYXNlKCk7Ci0gICAgICAgIHJlcXVlc3QudmVyc2lv
biA9IDE7Ci0gICAgICAgIHJlcXVlc3QubWVyY2hhbnRJZGVudGlmaWVyID0gJyc7Ci0gICAgICAg
IHJldHVybiB7Ci0gICAgICAgICAgICBzdXBwb3J0ZWRNZXRob2RzOiAnaHR0cHM6Ly9hcHBsZS5j
b20vYXBwbGUtcGF5JywKLSAgICAgICAgICAgIGRhdGE6IHJlcXVlc3QsCi0gICAgICAgIH07Ci0g
ICAgfTsKLQotICAgIGNvbnN0IGV2ZW50TGlzdGVuZXIgPSBhc3luYyAoKSA9PiB7Ci0gICAgICAg
IGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnN1cHBvcnRzVW5yZXN0cmljdGVkQXBw
bGVQYXkgPSBmYWxzZTsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGFzeW5j
ICgpID0+IHsKKyAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc3VwcG9y
dHNVbnJlc3RyaWN0ZWRBcHBsZVBheSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggPT09ICI/dW5y
ZXN0cmljdGVkIiA/IHRydWUgOiBmYWxzZTsKIAogICAgICAgICBjb25zdCBhcHBsZVBheVNlc3Np
b25BdmFpbGFibGUgPSAhIXdpbmRvdy5BcHBsZVBheVNlc3Npb247CiAgICAgICAgIGNvbnN0IHBh
eW1lbnRSZXF1ZXN0QXZhaWxhYmxlID0gISF3aW5kb3cuUGF5bWVudFJlcXVlc3Q7CkBAIC00MCwx
NiArMTYsOCBAQAogICAgICAgICBjb25zdCBjYW5NYWtlUGF5bWVudHMgPSBBcHBsZVBheVNlc3Np
b24uY2FuTWFrZVBheW1lbnRzKCk7CiAgICAgICAgIGNvbnN0IGNhbk1ha2VQYXltZW50c1dpdGhB
Y3RpdmVDYXJkID0gYXdhaXQgQXBwbGVQYXlTZXNzaW9uLmNhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkKCcnKTsKIAotICAgICAgICBpZiAoIXdpbmRvdy53a1BheW1lbnRSZXF1ZXN0KSB7Ci0g
ICAgICAgICAgICB3a1BheW1lbnRSZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFthcHBsZVBh
eU1ldGhvZCgpXSwgewotICAgICAgICAgICAgICAgIHRvdGFsOiB7Ci0gICAgICAgICAgICAgICAg
ICAgIGxhYmVsOiAndG90YWwnLAotICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IHsgY3VycmVu
Y3k6ICdVU0QnLCB2YWx1ZTogJzAuMDAnIH0sCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAg
ICAgIH0pOwotICAgICAgICB9Ci0KLSAgICAgICAgY29uc3QgY2FuTWFrZVBheW1lbnQgPSBhd2Fp
dCB3a1BheW1lbnRSZXF1ZXN0LmNhbk1ha2VQYXltZW50KCk7CisgICAgICAgIGNvbnN0IHBheW1l
bnRSZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFthcHBsZVBheU1ldGhvZCgpXSwgYXBwbGVQ
YXlEZXRhaWxzKTsKKyAgICAgICAgY29uc3QgY2FuTWFrZVBheW1lbnQgPSBhd2FpdCBwYXltZW50
UmVxdWVzdC5jYW5NYWtlUGF5bWVudCgpOwogCiAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2Fn
ZUhhbmRsZXJzLnRlc3RBcHBsZVBheS5wb3N0TWVzc2FnZSh7CiAgICAgICAgICAgICBhcHBsZVBh
eVNlc3Npb25BdmFpbGFibGUsCkBAIC01OSw4ICsyNyw1IEBACiAgICAgICAgICAgICBjYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZCwKICAgICAgICAgICAgIGNhbk1ha2VQYXltZW50LAogICAg
ICAgICB9KTsKLSAgICB9OwotCi0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBl
dmVudExpc3RlbmVyKTsKLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignaGFzaGNoYW5nZScs
IGV2ZW50TGlzdGVuZXIpOworICAgIH0pOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1jYW4tbWFrZS1wYXltZW50
Lmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1j
YW4tbWFrZS1wYXltZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg5MzAyMWIzZGRmMTM1NTQxNmQyYjcw
ZTFjZmZjYTM2MTljYTRjYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnQuaHRtbApAQCAtMCww
ICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9ImFwcGxlLXBh
eS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLnN1cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXkgPSBmYWxzZTsKKyAgICBpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zZXRDYW5NYWtlUGF5bWVudHMod2luZG93LmxvY2F0
aW9uLnNlYXJjaCA9PT0gIj9mYWxzZSIgPyBmYWxzZSA6IHRydWUpOworCisgICAgY29uc3QgcGF5
bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW2FwcGxlUGF5TWV0aG9kKCldLCBhcHBs
ZVBheURldGFpbHMpOworICAgIHBheW1lbnRSZXF1ZXN0LmNhbk1ha2VQYXltZW50KCkudGhlbigo
KSA9PiB7CisgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RBcHBsZVBh
eS5wb3N0TWVzc2FnZSgiZG9uZSIpOworICAgIH0pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1jYW4tbWFrZS1w
YXltZW50cy13aXRoLWFjdGl2ZS1jYXJkLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL2FwcGxlLXBheS1jYW4tbWFrZS1wYXltZW50cy13aXRoLWFjdGl2ZS1jYXJk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzQ3YzNmYWM1ZjNiNTVjNTVmYjQ5OWZjZjY4YmNhNzc3ZTY2MmRi
NwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLXdpdGgtYWN0aXZlLWNhcmQuaHRtbApAQCAt
MCwwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnN1cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXkg
PSBmYWxzZTsKKyAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zZXRDYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZCh3aW5kb3cubG9jYXRpb24uc2VhcmNoID09PSAiP2ZhbHNl
IiA/IGZhbHNlIDogdHJ1ZSk7CisgICAgQXBwbGVQYXlTZXNzaW9uLmNhbk1ha2VQYXltZW50c1dp
dGhBY3RpdmVDYXJkKCIiKS50aGVuKCgpID0+IHsKKyAgICAgICAgd2luZG93LndlYmtpdC5tZXNz
YWdlSGFuZGxlcnMudGVzdEFwcGxlUGF5LnBvc3RNZXNzYWdlKCJkb25lIik7CisgICAgfSk7Cis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvYXBwbGUtcGF5LWNhbi1tYWtlLXBheW1lbnRzLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS1jYW4tbWFrZS1wYXltZW50cy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJhZWExZDhiNDJhOGViNGE4NzA1ZTY4ZTA3NzFhYjYzNmY2Nzk1YTcKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBh
eS1jYW4tbWFrZS1wYXltZW50cy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
c3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBheSA9IGZhbHNlOworICAgIGludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLnNldENhbk1ha2VQYXltZW50cyh3aW5kb3cubG9jYXRpb24uc2Vh
cmNoID09PSAiP2ZhbHNlIiA/IGZhbHNlIDogdHJ1ZSk7CisgICAgQXBwbGVQYXlTZXNzaW9uLmNh
bk1ha2VQYXltZW50cygpOworICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RB
cHBsZVBheS5wb3N0TWVzc2FnZSgiZG9uZSIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS5qcyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXBwbGUtcGF5LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEz
Y2JjOTdiMGI5NzMxOGYwZGViMWIyZmQzNzhkOTFkZWY1MDVjNjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2FwcGxlLXBheS5qcwpAQCAt
MCwwICsxLDMzIEBACisoKCkgPT4geworICAgIGFwcGxlUGF5UmVxdWVzdEJhc2UgPSAoKSA9PiB7
CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWydz
dXBwb3J0czNEUyddLAorICAgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYSddLAor
ICAgICAgICAgICAgY291bnRyeUNvZGU6ICdVUycsCisgICAgICAgIH07CisgICAgfTsKKworICAg
IGFwcGxlUGF5UGF5bWVudFJlcXVlc3QgPSAoKSA9PiB7CisgICAgICAgIGNvbnN0IHJlcXVlc3Qg
PSBhcHBsZVBheVJlcXVlc3RCYXNlKCk7CisgICAgICAgIHJlcXVlc3QudG90YWwgPSB7IGxhYmVs
OiAndG90YWwnLCBhbW91bnQ6ICcwLjAwJyB9OworICAgICAgICByZXF1ZXN0LmN1cnJlbmN5Q29k
ZSA9ICdVU0QnOworICAgICAgICByZXR1cm4gcmVxdWVzdDsKKyAgICAgfTsKKworICAgIGFwcGxl
UGF5TWV0aG9kID0gKCkgPT4geworICAgICAgICBjb25zdCByZXF1ZXN0ID0gYXBwbGVQYXlSZXF1
ZXN0QmFzZSgpOworICAgICAgICByZXF1ZXN0LnZlcnNpb24gPSAxOworICAgICAgICByZXF1ZXN0
Lm1lcmNoYW50SWRlbnRpZmllciA9ICcnOworICAgICAgICByZXR1cm4geworICAgICAgICAgICAg
c3VwcG9ydGVkTWV0aG9kczogJ2h0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheScsCisgICAgICAg
ICAgICBkYXRhOiByZXF1ZXN0LAorICAgICAgICB9OworICAgIH07CisKKyAgICBhcHBsZVBheURl
dGFpbHMgPSB7CisgICAgICAgIHRvdGFsOiB7CisgICAgICAgICAgICBsYWJlbDogJ3RvdGFsJywK
KyAgICAgICAgICAgIGFtb3VudDogeyBjdXJyZW5jeTogJ1VTRCcsIHZhbHVlOiAnMC4wMCcgfSwK
KyAgICAgICAgfSwKKyAgICB9OworfSkoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvY29jb2EvVGVzdFByb3RvY29sLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0
UHJvdG9jb2wubW0KaW5kZXggNmZiN2VhZmU4OGUzMTM1MWIxMTg4YTNmNWVhMjdiMTgwZDhmZjYy
Ny4uMWI0OWRiNGI4ZDcyNjMxYzgxZTFkY2M1ZjIwZmRiY2Q0OTk0ZTJlNiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0UHJvdG9jb2wubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9jb2NvYS9UZXN0UHJvdG9jb2wubW0KQEAgLTI5LDYgKzI5LDEwIEBACiAjaW1w
b3J0IDxXZWJLaXQvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDx3dGYv
UmV0YWluUHRyLmg+CiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2luY2x1ZGUgPE1vYmls
ZUNvcmVTZXJ2aWNlcy9Nb2JpbGVDb3JlU2VydmljZXMuaD4KKyNlbmRpZgorCiBzdGF0aWMgTlNT
dHJpbmcgKnRlc3RTY2hlbWU7CiAKIEBpbXBsZW1lbnRhdGlvbiBUZXN0UHJvdG9jb2wKQEAgLTg2
LDYgKzkwLDEzIEBAIHN0YXRpYyBOU1VSTCAqY3JlYXRlUmVkaXJlY3RVUkwoTlNTdHJpbmcgKnF1
ZXJ5KQogICAgIHJldHVybiBbTlNVUkwgVVJMV2l0aFN0cmluZzpbTlNTdHJpbmcgc3RyaW5nV2l0
aEZvcm1hdDpAIiVAOi8vJUAiLCB0ZXN0U2NoZW1lLCBxdWVyeV1dOwogfQogCitzdGF0aWMgTlNT
dHJpbmcgKmNvbnRlbnRUeXBlRm9yRmlsZUV4dGVuc2lvbihOU1N0cmluZyAqZmlsZUV4dGVuc2lv
bikKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBhZG9wdENGKFVUVHlwZUNyZWF0ZVByZWZlcnJl
ZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NGaWxlbmFtZUV4dGVuc2lvbiwgKF9fYnJpZGdl
IENGU3RyaW5nUmVmKWZpbGVFeHRlbnNpb24sIG51bGxwdHIpKTsKKyAgICBhdXRvIG1pbWVUeXBl
ID0gYWRvcHRDRihVVFR5cGVDb3B5UHJlZmVycmVkVGFnV2l0aENsYXNzKGlkZW50aWZpZXIuZ2V0
KCksIGtVVFRhZ0NsYXNzTUlNRVR5cGUpKTsKKyAgICByZXR1cm4gKF9fYnJpZGdlIE5TU3RyaW5n
ICopbWltZVR5cGUuYXV0b3JlbGVhc2UoKTsKK30KKwogLSAodm9pZClzdGFydExvYWRpbmcKIHsK
ICAgICBOU1VSTCAqcmVxdWVzdFVSTCA9IHNlbGYucmVxdWVzdC5VUkw7CkBAIC0xMDYsMTQgKzEx
NywyMCBAQCAtICh2b2lkKXN0YXJ0TG9hZGluZwogICAgICAgICByZXR1cm47CiAgICAgfQogCisg
ICAgTlNTdHJpbmcgKmNvbnRlbnRUeXBlOwogICAgIE5TRGF0YSAqZGF0YTsKLSAgICBpZiAoW3Jl
cXVlc3RVUkwuaG9zdCBpc0VxdWFsVG9TdHJpbmc6QCJidW5kbGUtaHRtbC1maWxlIl0pCi0gICAg
ICAgIGRhdGEgPSBbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZlVSTDpbTlNCdW5kbGUubWFpbkJ1
bmRsZSBVUkxGb3JSZXNvdXJjZTpyZXF1ZXN0VVJMLmxhc3RQYXRoQ29tcG9uZW50LnN0cmluZ0J5
RGVsZXRpbmdQYXRoRXh0ZW5zaW9uIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6
QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKLSAgICBlbHNlCisgICAgaWYgKFtyZXF1ZXN0
VVJMLmhvc3QgaXNFcXVhbFRvU3RyaW5nOkAiYnVuZGxlLWZpbGUiXSkgeworICAgICAgICBOU1N0
cmluZyAqZmlsZU5hbWUgPSByZXF1ZXN0VVJMLmxhc3RQYXRoQ29tcG9uZW50OworICAgICAgICBO
U1N0cmluZyAqZmlsZUV4dGVuc2lvbiA9IGZpbGVOYW1lLnBhdGhFeHRlbnNpb247CisgICAgICAg
IGNvbnRlbnRUeXBlID0gY29udGVudFR5cGVGb3JGaWxlRXh0ZW5zaW9uKGZpbGVFeHRlbnNpb24p
OworICAgICAgICBkYXRhID0gW05TRGF0YSBkYXRhV2l0aENvbnRlbnRzT2ZVUkw6W05TQnVuZGxl
Lm1haW5CdW5kbGUgVVJMRm9yUmVzb3VyY2U6ZmlsZU5hbWUuc3RyaW5nQnlEZWxldGluZ1BhdGhF
eHRlbnNpb24gd2l0aEV4dGVuc2lvbjpmaWxlRXh0ZW5zaW9uIHN1YmRpcmVjdG9yeTpAIlRlc3RX
ZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIH0gZWxzZSB7CisgICAgICAgIGNvbnRlbnRUeXBl
ID0gQCJ0ZXh0L2h0bWwiOwogICAgICAgICBkYXRhID0gW0AiUEFTUyIgZGF0YVVzaW5nRW5jb2Rp
bmc6TlNBU0NJSVN0cmluZ0VuY29kaW5nXTsKKyAgICB9CiAKICAgICBOU011dGFibGVEaWN0aW9u
YXJ5ICpyZXNwb25zZUhlYWRlcnMgPSBbTlNNdXRhYmxlRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0
aENhcGFjaXR5OjJdOwotICAgIHJlc3BvbnNlSGVhZGVyc1tAIkNvbnRlbnQtVHlwZSJdID0gQCJ0
ZXh0L2h0bWwiOworICAgIHJlc3BvbnNlSGVhZGVyc1tAIkNvbnRlbnQtVHlwZSJdID0gY29udGVu
dFR5cGU7CiAgICAgcmVzcG9uc2VIZWFkZXJzW0AiQ29udGVudC1MZW5ndGgiXSA9IFtOU1N0cmlu
ZyBzdHJpbmdXaXRoRm9ybWF0OkAiJXR1IiwgZGF0YS5sZW5ndGhdOwogICAgIGlmIChhZGRpdGlv
bmFsUmVzcG9uc2VIZWFkZXJzKQogICAgICAgICBbcmVzcG9uc2VIZWFkZXJzIGFkZEVudHJpZXNG
cm9tRGljdGlvbmFyeTphZGRpdGlvbmFsUmVzcG9uc2VIZWFkZXJzXTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>