<?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>189090</bug_id>
          
          <creation_ts>2018-08-29 10:57:52 -0700</creation_ts>
          <short_desc>[PSON] We should only process-swap when eTLD+1 changes on navigation</short_desc>
          <delta_ts>2018-08-29 15:01:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1454844</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-08-29 10:57:52 -0700</bug_when>
    <thetext>We should only process-swap when eTLD+1 changes on navigation (instead of considering full security origin).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454845</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-08-29 10:58:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/43799225&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454906</commentid>
    <comment_count>2</comment_count>
      <attachid>348426</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-08-29 13:28:04 -0700</bug_when>
    <thetext>Created attachment 348426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454925</commentid>
    <comment_count>3</comment_count>
      <attachid>348426</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-08-29 14:11:02 -0700</bug_when>
    <thetext>Comment on attachment 348426
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454944</commentid>
    <comment_count>4</comment_count>
      <attachid>348426</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-29 15:01:30 -0700</bug_when>
    <thetext>Comment on attachment 348426
Patch

Clearing flags on attachment: 348426

Committed r235481: &lt;https://trac.webkit.org/changeset/235481&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454945</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-29 15:01:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348426</attachid>
            <date>2018-08-29 13:28:04 -0700</date>
            <delta_ts>2018-08-29 15:01:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189090-20180829132804.patch</filename>
            <type>text/plain</type>
            <size>56324</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYyMWZmZjNkYWY5NjEx
NzEwMzU2Yjc3NzYyOGFhNDI5YzRmYjY5OC4uODEwMmMwYWUyZTRhYzU0Y2Y5NTY1NTZmNjQ4M2Yw
ZTI0ZWE0MDY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA4LTI5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1BTT05dIFdlIHNob3VsZCBv
bmx5IHByb2Nlc3Mtc3dhcCB3aGVuIGVUTEQrMSBjaGFuZ2VzIG9uIG5hdmlnYXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTA5MAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDM3OTkyMjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHRvUmVnaXN0cmFibGVEb21haW4oKSB1dGlsaXR5IGZ1
bmN0aW9uIHRvIGdldCB0aGUgZVRMRCsxIChha2EgInJlZ2lzdHJhYmxlCisgICAgICAgIGRvbWFp
biIpIGZyb20gYW4gVVJMLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
cXVlc3RCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1JlZ2lzdHJhYmxlRG9tYWluKToKKyAg
ICAgICAgKFdlYkNvcmU6OnJlZ2lzdHJhYmxlRG9tYWluc0FyZUVxdWFsKToKKwogMjAxOC0wOC0y
OCAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09T
XSBDb2xvciB3ZWxscyBzaG91bGQgYXBwZWFyIHJvdW5kZWQgYW5kIHRleHR1cmVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDdiODg0MTc5YzYwYmNhYzdlOTE4NmJhYzMwZTBmZGZlZjgzNGE1NjcuLjkyMmZmOGE1NWYy
YzJmMDVmZGIyNDdiMGVjNjUzNzNmNjVkNGExYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTgtMDgtMjkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBb
UFNPTl0gV2Ugc2hvdWxkIG9ubHkgcHJvY2Vzcy1zd2FwIHdoZW4gZVRMRCsxIGNoYW5nZXMgb24g
bmF2aWdhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg5MDkwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80Mzc5OTIyNT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIG5hdmlnYXRpbmcgY3Jv
c3Mtb3JpZ2luLCBvbmx5IHByb2Nlc3Mgc3dhcCB3aGVuIHRoZSBlVExEKzEgKGFrYSAiUmVnaXN0
cmFibGUKKyAgICAgICAgZG9tYWluIikgY2hhbmdlcywgaW5zdGVhZCBvZiBjb25zaWRlcmluZyB0
aGUgZnVsbCBzZWN1cml0eSBvcmlnaW4uCisKKyAgICAgICAgVGhpcyBoYXMgcGVyZm9ybWFuY2Ug
YmVuZWZpdHMgYW5kIGlzIGFsc28gbmVlZGVkIHRvIGtlZXAgZG9jdW1lbnQuZG9tYWluIG9yaWdp
bgorICAgICAgICByZWxheGF0aW9uIHdvcmtpbmcuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6YWRkUHJv
Y2Vzc1RvT3JpZ2luQ2FjaGVTZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
cmVtb3ZlUHJvY2Vzc0Zyb21PcmlnaW5DYWNoZVNldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sOjpwcm9jZXNzRm9yTmF2aWdhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NQb29sOjpwcm9jZXNzRm9yTmF2aWdhdGlvbkludGVybmFsKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKwogMjAxOC0wOC0yOCAgQWRpdHlhIEtlZXJ0aGkgIDxh
a2VlcnRoaUBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBDb2xvciB3ZWxscyBzaG91bGQg
YXBwZWFyIHJvdW5kZWQgYW5kIHRleHR1cmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDMyODE2OWM2ZDhmMTQ3
MDdmZTgzMTVlYmIyMWZiMWFkZjNhNjM2MzguLjE1ZDA5YTU0NTdmNzkyODlkY2EyODlmOTI1ZDQ5
ZTE4Njc4M2NjYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC0yNTMsMTMgKzI1MywxOCBAQCBwcml2YXRlOgog
Ym9vbCBlcXVhbElnbm9yaW5nSGVhZGVyRmllbGRzKGNvbnN0IFJlc291cmNlUmVxdWVzdEJhc2Um
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3RCYXNlJik7CiAKIC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVy
IHBsYWNlIGZvciB0aGVzZSBmdW5jdGlvbnMuCitpbmxpbmUgU3RyaW5nIHRvUmVnaXN0cmFibGVE
b21haW4oY29uc3QgVVJMJiBhKQoreworICAgIHJldHVybiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpw
YXJ0aXRpb25OYW1lKGEuaG9zdCgpLnRvU3RyaW5nKCkpOworfQorCiBpbmxpbmUgYm9vbCByZWdp
c3RyYWJsZURvbWFpbnNBcmVFcXVhbChjb25zdCBVUkwmIGEsIGNvbnN0IFVSTCYgYikKIHsKLSAg
ICByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6cGFydGl0aW9uTmFtZShhLmhvc3QoKS50b1N0
cmluZygpKSA9PSBSZXNvdXJjZVJlcXVlc3RCYXNlOjpwYXJ0aXRpb25OYW1lKGIuaG9zdCgpLnRv
U3RyaW5nKCkpOworICAgIHJldHVybiB0b1JlZ2lzdHJhYmxlRG9tYWluKGEpID09IHRvUmVnaXN0
cmFibGVEb21haW4oYik7CiB9CiBpbmxpbmUgYm9vbCByZWdpc3RyYWJsZURvbWFpbnNBcmVFcXVh
bChjb25zdCBVUkwmIGEsIGNvbnN0IFN0cmluZyYgcmVnaXN0cmFibGVEb21haW4pCiB7Ci0gICAg
cmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OnBhcnRpdGlvbk5hbWUoYS5ob3N0KCkudG9TdHJp
bmcoKSkgPT0gcmVnaXN0cmFibGVEb21haW47CisgICAgcmV0dXJuIHRvUmVnaXN0cmFibGVEb21h
aW4oYSkgPT0gcmVnaXN0cmFibGVEb21haW47CiB9CiAKIGlubGluZSBib29sIG9wZXJhdG9yPT0o
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0
dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmVxdWFsKGEsIGIpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggNDZiNzY4MGUwNjQyMjRmYWM4NGM5MWFm
YWY1YjdhMjM3ZGUwMmVmMC4uODhmNjU1MjlhNDJhYjc0MDRiMmRiMTQyNjY4Mzc2OWFmZjE2NmM4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjEw
MSwxMiArMjEwMSwxMiBAQCBTZXJ2aWNlV29ya2VyUHJvY2Vzc1Byb3h5KiBXZWJQcm9jZXNzUG9v
bDo6c2VydmljZVdvcmtlclByb2Nlc3NQcm94eUZyb21QYWdlSUQodQogCiB2b2lkIFdlYlByb2Nl
c3NQb29sOjphZGRQcm9jZXNzVG9PcmlnaW5DYWNoZVNldChXZWJQYWdlUHJveHkmIHBhZ2UpCiB7
Ci0gICAgYXV0byBvcmlnaW4gPSBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwoeyBQYXJzZWRV
UkxTdHJpbmcsIHBhZ2UucGFnZUxvYWRTdGF0ZSgpLnVybCgpIH0pOwotICAgIGF1dG8gcmVzdWx0
ID0gbV9zd2FwcGVkUHJvY2Vzc2VzLmFkZChvcmlnaW4sICZwYWdlLnByb2Nlc3MoKSk7CisgICAg
YXV0byByZWdpc3RyYWJsZURvbWFpbiA9IHRvUmVnaXN0cmFibGVEb21haW4oeyBQYXJzZWRVUkxT
dHJpbmcsIHBhZ2UucGFnZUxvYWRTdGF0ZSgpLnVybCgpIH0pOworICAgIGF1dG8gcmVzdWx0ID0g
bV9zd2FwcGVkUHJvY2Vzc2VzUGVyUmVnaXN0cmFibGVEb21haW4uYWRkKHJlZ2lzdHJhYmxlRG9t
YWluLCAmcGFnZS5wcm9jZXNzKCkpOwogICAgIGlmICghcmVzdWx0LmlzTmV3RW50cnkpCiAgICAg
ICAgIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSAmcGFnZS5wcm9jZXNzKCk7CiAKLSAgICBMT0co
UHJvY2Vzc1N3YXBwaW5nLCAiKFByb2Nlc3NTd2FwcGluZykgU2VjdXJpdHkgb3JpZ2luICVzIGp1
c3Qgc2F2ZWQgYSBjYWNoZWQgcHJvY2VzcyB3aXRoIHBpZCAlaSIsIG9yaWdpbi5kZWJ1Z1N0cmlu
ZygpLnV0ZjgoKS5kYXRhKCksIHBhZ2UucHJvY2VzcygpLnByb2Nlc3NJZGVudGlmaWVyKCkpOwor
ICAgIExPRyhQcm9jZXNzU3dhcHBpbmcsICIoUHJvY2Vzc1N3YXBwaW5nKSBSZWdpc3RyYWJsZSBk
b21haW4gJXMganVzdCBzYXZlZCBhIGNhY2hlZCBwcm9jZXNzIHdpdGggcGlkICVpIiwgcmVnaXN0
cmFibGVEb21haW4udXRmOCgpLmRhdGEoKSwgcGFnZS5wcm9jZXNzKCkucHJvY2Vzc0lkZW50aWZp
ZXIoKSk7CiAgICAgaWYgKCFyZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgTE9HKFByb2Nlc3NT
d2FwcGluZywgIihQcm9jZXNzU3dhcHBpbmcpIE5vdGU6IEl0IGFscmVhZHkgaGFkIG9uZSBzYXZl
ZCIpOwogfQpAQCAtMjExNiwxNCArMjExNiwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZW1v
dmVQcm9jZXNzRnJvbU9yaWdpbkNhY2hlU2V0KFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcykKICAg
ICBMT0coUHJvY2Vzc1N3YXBwaW5nLCAiKFByb2Nlc3NTd2FwcGluZykgUmVtb3ZpbmcgcHJvY2Vz
cyB3aXRoIHBpZCAlaSBmcm9tIHRoZSBvcmlnaW4gY2FjaGUgc2V0IiwgcHJvY2Vzcy5wcm9jZXNz
SWRlbnRpZmllcigpKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGNhbiBiZSB2ZXJ5IGluZWZmaWNp
ZW50IGFzIHRoZSBudW1iZXIgb2YgcmVtZW1iZXJlZCBvcmlnaW5zIGFuZCBwcm9jZXNzZXMgZ3Jv
d3MKLSAgICBWZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5zVG9SZW1vdmU7Ci0gICAg
Zm9yIChhdXRvIGVudHJ5IDogbV9zd2FwcGVkUHJvY2Vzc2VzKSB7CisgICAgVmVjdG9yPFN0cmlu
Zz4gcmVnaXN0cmFibGVEb21haW5zVG9SZW1vdmU7CisgICAgZm9yIChhdXRvIGVudHJ5IDogbV9z
d2FwcGVkUHJvY2Vzc2VzUGVyUmVnaXN0cmFibGVEb21haW4pIHsKICAgICAgICAgaWYgKGVudHJ5
LnZhbHVlID09ICZwcm9jZXNzKQotICAgICAgICAgICAgb3JpZ2luc1RvUmVtb3ZlLmFwcGVuZChl
bnRyeS5rZXkpOworICAgICAgICAgICAgcmVnaXN0cmFibGVEb21haW5zVG9SZW1vdmUuYXBwZW5k
KGVudHJ5LmtleSk7CiAgICAgfQogCi0gICAgZm9yIChhdXRvJiBvcmlnaW4gOiBvcmlnaW5zVG9S
ZW1vdmUpCi0gICAgICAgIG1fc3dhcHBlZFByb2Nlc3Nlcy5yZW1vdmUob3JpZ2luKTsKKyAgICBm
b3IgKGF1dG8mIHJlZ2lzdHJhYmxlRG9tYWluIDogcmVnaXN0cmFibGVEb21haW5zVG9SZW1vdmUp
CisgICAgICAgIG1fc3dhcHBlZFByb2Nlc3Nlc1BlclJlZ2lzdHJhYmxlRG9tYWluLnJlbW92ZShy
ZWdpc3RyYWJsZURvbWFpbik7CiB9CiAKIFJlZjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQ
b29sOjpwcm9jZXNzRm9yTmF2aWdhdGlvbihXZWJQYWdlUHJveHkmIHBhZ2UsIGNvbnN0IEFQSTo6
TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgU2hvdWxkUHJvY2Vzc1N3YXBJZlBvc3NpYmxlIHNob3Vs
ZFByb2Nlc3NTd2FwSWZQb3NzaWJsZSwgUG9saWN5QWN0aW9uJiBhY3Rpb24pCkBAIC0yMTM4LDcg
KzIxMzgsNyBAQCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0Zv
ck5hdmlnYXRpb24oV2ViUGFnZVByb3h5JiBwYWdlLCBjbwogCiAgICAgICAgIGFkZFByb2Nlc3NU
b09yaWdpbkNhY2hlU2V0KHBhZ2UpOwogCi0gICAgICAgIExPRyhQcm9jZXNzU3dhcHBpbmcsICIo
UHJvY2Vzc1N3YXBwaW5nKSBOYXZpZ2F0aW5nIGZyb20gJXMgdG8gJXMsIGtlZXBpbmcgYXJvdW5k
IG9sZCBwcm9jZXNzLiBOb3cgaG9sZGluZyBvbiB0byBvbGQgcHJvY2Vzc2VzIGZvciAldSBvcmln
aW5zLiIsIHBhZ2UuY3VycmVudFVSTCgpLnV0ZjgoKS5kYXRhKCksIG5hdmlnYXRpb24uY3VycmVu
dFJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBtX3N3YXBwZWRQcm9jZXNz
ZXMuc2l6ZSgpKTsKKyAgICAgICAgTE9HKFByb2Nlc3NTd2FwcGluZywgIihQcm9jZXNzU3dhcHBp
bmcpIE5hdmlnYXRpbmcgZnJvbSAlcyB0byAlcywga2VlcGluZyBhcm91bmQgb2xkIHByb2Nlc3Mu
IE5vdyBob2xkaW5nIG9uIHRvIG9sZCBwcm9jZXNzZXMgZm9yICV1IG9yaWdpbnMuIiwgcGFnZS5j
dXJyZW50VVJMKCkudXRmOCgpLmRhdGEoKSwgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpLnVy
bCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIG1fc3dhcHBlZFByb2Nlc3Nlc1BlclJlZ2lzdHJh
YmxlRG9tYWluLnNpemUoKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIHByb2Nlc3M7CkBAIC0yMTk1
LDE1ICsyMTk1LDE1IEBAIFJlZjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQb29sOjpwcm9j
ZXNzRm9yTmF2aWdhdGlvbkludGVybmFsKFdlYlBhZ2VQcm94eSYKICAgICAgICAgICAgIHJldHVy
biBwYWdlLnByb2Nlc3MoKTsKIAogICAgICAgICBhdXRvIHVybCA9IFVSTCB7IFBhcnNlZFVSTFN0
cmluZywgcGFnZS5wYWdlTG9hZFN0YXRlKCkudXJsKCkgfTsKLSAgICAgICAgaWYgKCF1cmwuaXNW
YWxpZCgpIHx8ICF0YXJnZXRVUkwuaXNWYWxpZCgpIHx8IHVybC5pc0VtcHR5KCkgfHwgdXJsLmlz
QmxhbmtVUkwoKSB8fCBwcm90b2NvbEhvc3RBbmRQb3J0QXJlRXF1YWwodXJsLCB0YXJnZXRVUkwp
KQorICAgICAgICBpZiAoIXVybC5pc1ZhbGlkKCkgfHwgIXRhcmdldFVSTC5pc1ZhbGlkKCkgfHwg
dXJsLmlzRW1wdHkoKSB8fCB1cmwuaXNCbGFua1VSTCgpIHx8IHJlZ2lzdHJhYmxlRG9tYWluc0Fy
ZUVxdWFsKHVybCwgdGFyZ2V0VVJMKSkKICAgICAgICAgICAgIHJldHVybiBwYWdlLnByb2Nlc3Mo
KTsKICAgICB9CiAgICAgCiAgICAgaWYgKG1fY29uZmlndXJhdGlvbi0+YWx3YXlzS2VlcEFuZFJl
dXNlU3dhcHBlZFByb2Nlc3NlcygpKSB7Ci0gICAgICAgIGF1dG8gb3JpZ2luID0gU2VjdXJpdHlP
cmlnaW5EYXRhOjpmcm9tVVJMKHRhcmdldFVSTCk7Ci0gICAgICAgIExPRyhQcm9jZXNzU3dhcHBp
bmcsICIoUHJvY2Vzc1N3YXBwaW5nKSBDb25zaWRlcmluZyByZS11c2Ugb2YgYSBwcmV2aW91c2x5
IGNhY2hlZCBwcm9jZXNzIHRvIFVSTCAlcyIsIG9yaWdpbi5kZWJ1Z1N0cmluZygpLnV0ZjgoKS5k
YXRhKCkpOworICAgICAgICBhdXRvIHJlZ2lzdHJhYmxlRG9tYWluID0gdG9SZWdpc3RyYWJsZURv
bWFpbih0YXJnZXRVUkwpOworICAgICAgICBMT0coUHJvY2Vzc1N3YXBwaW5nLCAiKFByb2Nlc3NT
d2FwcGluZykgQ29uc2lkZXJpbmcgcmUtdXNlIG9mIGEgcHJldmlvdXNseSBjYWNoZWQgcHJvY2Vz
cyBmb3IgZG9tYWluICVzIiwgcmVnaXN0cmFibGVEb21haW4udXRmOCgpLmRhdGEoKSk7CiAKLSAg
ICAgICAgaWYgKGF1dG8qIHByb2Nlc3MgPSBtX3N3YXBwZWRQcm9jZXNzZXMuZ2V0KG9yaWdpbikp
IHsKKyAgICAgICAgaWYgKGF1dG8qIHByb2Nlc3MgPSBtX3N3YXBwZWRQcm9jZXNzZXNQZXJSZWdp
c3RyYWJsZURvbWFpbi5nZXQocmVnaXN0cmFibGVEb21haW4pKSB7CiAgICAgICAgICAgICBpZiAo
JnByb2Nlc3MtPndlYnNpdGVEYXRhU3RvcmUoKSA9PSAmcGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkp
IHsKICAgICAgICAgICAgICAgICBMT0coUHJvY2Vzc1N3YXBwaW5nLCAiKFByb2Nlc3NTd2FwcGlu
ZykgUmV1c2luZyBhIHByZXZpb3VzbHkgY2FjaGVkIHByb2Nlc3Mgd2l0aCBwaWQgJWkgdG8gY29u
dGludWUgbmF2aWdhdGlvbiB0byBVUkwgJXMiLCBwcm9jZXNzLT5wcm9jZXNzSWRlbnRpZmllcigp
LCB0YXJnZXRVUkwuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDA4ZGRiMWY1NTBjZThjYTk2N2MwY2VhMjkzYjcx
ZDVlOTQxZjU5ZTQuLjExMjE1NDAwMmEzZjY5Y2U2Nzc3NDZmZmE3YjE0MzBhYWYzNTE2ZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNzA3LDcgKzcwNyw3
IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIEhhc2hNYXA8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW5EYXRhLCBWZWN0b3I8U3VzcGVuZGVkUGFnZVByb3h5Kj4+IG1fc3VzcGVuZGVkUGFnZXM7Ci0g
ICAgSGFzaE1hcDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEsIFJlZlB0cjxXZWJQcm9jZXNz
UHJveHk+PiBtX3N3YXBwZWRQcm9jZXNzZXM7CisgICAgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxX
ZWJQcm9jZXNzUHJveHk+PiBtX3N3YXBwZWRQcm9jZXNzZXNQZXJSZWdpc3RyYWJsZURvbWFpbjsK
IH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGE0MzJjZGRkYmI5MWViMmViNTU5OWM3NDlkZjk4YWNh
NDQyNmRlMi4uNzdmYmMwMGY2ZjdmOTRkM2JhZjFmOGM4Y2FjZGExMDE5MzI3Y2Y4MiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE4LTA4LTI5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgW1BTT05dIFdlIHNob3VsZCBvbmx5IHByb2Nlc3Mtc3dhcCB3aGVuIGVUTEQrMSBjaGFuZ2Vz
IG9uIG5hdmlnYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4OTA5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDM3OTkyMjU+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4aXN0aW5n
IFBTT04gQVBJIHRlc3RzIHRvIHVzZSBkaWZmZXJlbnQgcmVnaXN0cmFibGUgZG9tYWlucyBpbnN0
ZWFkIG9mIGRpZmZlcmVudAorICAgICAgICBwcm90b2NvbHMsIGFzIHdlIG5vdyBvbmx5IHByb2Nl
c3Mtc3dhcCB3aGVuIHRoZSBlVExEKzEgKGFrYSAicmVnaXN0cmFibGUgZG9tYWluIikgY2hhbmdl
cy4KKworICAgICAgICBBZGQgdGVzdCBjb3ZlcmFnZSB0byBtYWtlIHN1cmUgdGhhdCB3ZSBkbyBu
b3QgcHJvY2VzcyBzd2FwIHdoZW4gZVRMRCsxIGRvZXMgbm90IGNoYW5nZS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24u
bW06CisKIDIwMTgtMDgtMjggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBGaXggMzItYml0IE1hYyBidWlsZC4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24u
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25O
YXZpZ2F0aW9uLm1tCmluZGV4IGFhMGRhYjI1M2Q4MjAxYzc0ZTM4ZDk4ZTI2ZmVlYzFhZjNhZTNl
N2YuLmY4N2Q2Y2UwOGM4YmIxMTM5ZjQ5NjI0MzRjZTI0ZjBkZGQ5YzQ0OTIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmln
YXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9j
ZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQpAQCAtMjUwLDcgKzI1MCw3IEBAIHdpbmRvdy5vbnBhZ2Vz
aG93ID0gZnVuY3Rpb24oZXZ0KSB7CiBzdGF0aWMgY29uc3QgY2hhciogd2luZG93T3BlbkNyb3Nz
T3JpZ2luTm9PcGVuZXJUZXN0Qnl0ZXMgPSBSIlBTT05SRVNPVVJDRSgKIDxzY3JpcHQ+CiB3aW5k
b3cub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgd2luZG93Lm9wZW4oInBzb24yOi8vaG9zdC9t
YWluMi5odG1sIiwgIl9ibGFuayIsICJub29wZW5lciIpOworICAgIHdpbmRvdy5vcGVuKCJwc29u
Oi8vd3d3LmFwcGxlLmNvbS9tYWluLmh0bWwiLCAiX2JsYW5rIiwgIm5vb3BlbmVyIik7CiB9CiA8
L3NjcmlwdD4KIClQU09OUkVTT1VSQ0UiOwpAQCAtMjU4LDcgKzI1OCw3IEBAIHdpbmRvdy5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKIHN0YXRpYyBjb25zdCBjaGFyKiB3aW5kb3dPcGVuQ3Jvc3NPcmln
aW5XaXRoT3BlbmVyVGVzdEJ5dGVzID0gUiJQU09OUkVTT1VSQ0UoCiA8c2NyaXB0Pgogd2luZG93
Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIHdpbmRvdy5vcGVuKCJwc29uMjovL2hvc3QvbWFp
bjIuaHRtbCIpOworICAgIHdpbmRvdy5vcGVuKCJwc29uOi8vd3d3LmFwcGxlLmNvbS9tYWluLmh0
bWwiKTsKIH0KIDwvc2NyaXB0PgogKVBTT05SRVNPVVJDRSI7CkBAIC0yNjcsMTUgKzI2NywxMSBA
QCBzdGF0aWMgY29uc3QgY2hhciogd2luZG93T3BlblNhbWVPcmlnaW5Ob09wZW5lclRlc3RCeXRl
cyA9IFIiUFNPTlJFU09VUkNFKAogPHNjcmlwdD4KIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigp
IHsKICAgICBpZiAoIW9wZW5lcikKLSAgICAgICAgd2luZG93Lm9wZW4oInBzb24xOi8vaG9zdC9t
YWluMi5odG1sIiwgIl9ibGFuayIsICJub29wZW5lciIpOworICAgICAgICB3aW5kb3cub3Blbigi
cHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCIsICJfYmxhbmsiLCAibm9vcGVuZXIiKTsK
IH0KIDwvc2NyaXB0PgogKVBTT05SRVNPVVJDRSI7CiAKLXN0YXRpYyBjb25zdCBjaGFyKiBkdW1t
eUJ5dGVzID0gUiJQU09OUkVTT1VSQ0UoCi08Ym9keT5URVNUPC9ib2R5PgotKVBTT05SRVNPVVJD
RSI7Ci0KICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKIFRFU1QoUHJvY2Vzc1N3YXAsIEJhc2lj
KQpAQCAtMjg3LDE1ICsyODMsMTQgQEAgVEVTVChQcm9jZXNzU3dhcCwgQmFzaWMpCiAKICAgICBh
dXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24gYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bv
b2w6cHJvY2Vzc1Bvb2wuZ2V0KCldOwotICAgIFJldGFpblB0cjxQU09OU2NoZW1lPiBoYW5kbGVy
ID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsKLSAgICBbd2ViVmlld0NvbmZp
Z3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpA
IlBTT04xIl07Ci0gICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6
aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OMiJdOworICAgIGF1dG8gaGFuZGxlciA9
IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXdDb25maWd1
cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQ
U09OIl07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2Vi
Vmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhb
W1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlldyBzZXRO
YXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogCi0gICAgTlNVUkxSZXF1ZXN0ICpy
ZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAInBzb24xOi8vaG9zdC9tYWluMS5odG1sIl1dOworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVz
dCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJw
c29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbjEuaHRtbCJdXTsKICAgICBbd2ViVmlldyBsb2FkUmVx
dWVzdDpyZXF1ZXN0XTsKIAogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CkBA
IC0zMDMsNyArMjk4LDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgQmFzaWMpCiAKICAgICBhdXRvIHBp
ZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOwogCi0gICAgcmVxdWVzdCA9IFtO
U1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uMTov
L2hvc3QvbWFpbjIuaHRtbCJdXTsKKyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWlu
Mi5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogCiAgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKQEAgLTMxMSw3ICszMDYsNyBAQCBURVNUKFBy
b2Nlc3NTd2FwLCBCYXNpYykKIAogICAgIGF1dG8gcGlkMiA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNz
SWRlbnRpZmllcl07CiAKLSAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb24yOi8vaG9zdC9tYWluMi5odG1sIl1dOworICAg
IHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAicHNvbjovL3d3dy5hcHBsZS5jb20vbWFpbjIuaHRtbCJdXTsKICAgICBbd2ViVmlldyBs
b2FkUmVxdWVzdDpyZXF1ZXN0XTsKIAogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9u
ZSk7CkBAIC0zMjYsNiArMzIxLDQzIEBAIFRFU1QoUHJvY2Vzc1N3YXAsIEJhc2ljKQogICAgIEVY
UEVDVF9FUShudW1iZXJPZkRlY2lkZVBvbGljeUNhbGxzLCAzKTsKIH0KIAorVEVTVChQcm9jZXNz
U3dhcCwgTm9Td2FwcGluZ0ZvcmVUTERQbHVzMikKK3sKKyAgICBhdXRvIHByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2Nd
IGluaXRdKTsKKyAgICBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1N3YXBz
T25OYXZpZ2F0aW9uID0gWUVTOworICAgIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKS5t
YXhpbXVtUHJld2FybWVkUHJvY2Vzc0NvdW50ID0gMTsKKyAgICBhdXRvIHByb2Nlc3NQb29sID0g
YWRvcHROUyhbW1dLUHJvY2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246cHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBhdXRvIHdlYlZpZXdDb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
KyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wuZ2V0
KCldOworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0
XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxl
ci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OIl07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9w
dE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAw
LCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBh
dXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCld
OworCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cxLndlYmtpdC5vcmcvbWFpbjEu
aHRtbCJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKworICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgYXV0
byBwaWQxID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKworICAgIHJlcXVlc3Qg
PSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNv
bjovL3d3dzIud2Via2l0Lm9yZy9tYWluMi5odG1sIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1
ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAg
ICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZDIgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lk
ZW50aWZpZXJdOworCisgICAgRVhQRUNUX0VRKHBpZDEsIHBpZDIpOworCisgICAgRVhQRUNUX0VR
KG51bWJlck9mRGVjaWRlUG9saWN5Q2FsbHMsIDIpOworfQorCiBURVNUKFByb2Nlc3NTd2FwLCBC
YWNrKQogewogICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19X
S1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwpAQCAtMzM0LDEwICszNjYs
OSBAQCBURVNUKFByb2Nlc3NTd2FwLCBCYWNrKQogCiAgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJh
dGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAg
ICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgp
XTsKLSAgICBSZXRhaW5QdHI8UFNPTlNjaGVtZT4gaGFuZGxlcjEgPSBhZG9wdE5TKFtbUFNPTlNj
aGVtZSBhbGxvY10gaW5pdFdpdGhCeXRlczp0ZXN0Qnl0ZXNdKTsKLSAgICBSZXRhaW5QdHI8UFNP
TlNjaGVtZT4gaGFuZGxlcjIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOwot
ICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIxLmdl
dCgpIGZvclVSTFNjaGVtZTpAIlBTT04xIl07Ci0gICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNl
dFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlcjIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTjIiXTsK
KyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOwor
ICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQu
b3JnL21haW4uaHRtbCIgdG9EYXRhOnRlc3RCeXRlc107CisgICAgW3dlYlZpZXdDb25maWd1cmF0
aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09O
Il07CiAKICAgICBSZXRhaW5QdHI8UFNPTk1lc3NhZ2VIYW5kbGVyPiBtZXNzYWdlSGFuZGxlciA9
IGFkb3B0TlMoW1tQU09OTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKICAgICBbW3dlYlZp
ZXdDb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhh
bmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInBzb24iXTsKQEAgLTM0Niw3ICszNzcs
NyBAQCBURVNUKFByb2Nlc3NTd2FwLCBCYWNrKQogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5T
KFtbUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3IHNl
dE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAKLSAgICBOU1VSTFJlcXVlc3Qg
KnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAicHNvbjE6Ly9ob3N0L21haW4xLmh0bWwiXV07CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1
ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpA
InBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6cmVxdWVzdF07CiAKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVk
TWVzc2FnZSk7CkBAIC0zNTYsNyArMzg3LDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgQmFjaykKIAog
ICAgIGF1dG8gcGlkMSA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CiAKLSAgICBy
ZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAInBzb24yOi8vaG9zdC9tYWluMi5odG1sIl1dOworICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1
ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL3d3dy5hcHBs
ZS5jb20vbWFpbi5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwog
CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKQEAgLTM5OCwxMCArNDI5LDkg
QEAgVEVTVChQcm9jZXNzU3dhcCwgQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTm9PcGVuZXIpCiAKICAg
ICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vz
c1Bvb2w6cHJvY2Vzc1Bvb2wuZ2V0KCldOwotICAgIFJldGFpblB0cjxQU09OU2NoZW1lPiBoYW5k
bGVyMSA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0V2l0aEJ5dGVzOndpbmRvd09w
ZW5Dcm9zc09yaWdpbk5vT3BlbmVyVGVzdEJ5dGVzXSk7Ci0gICAgUmV0YWluUHRyPFBTT05TY2hl
bWU+IGhhbmRsZXIyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRXaXRoQnl0ZXM6
ZHVtbXlCeXRlc10pOwotICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5k
bGVyOmhhbmRsZXIxLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04xIl07Ci0gICAgW3dlYlZpZXdD
b25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlcjIuZ2V0KCkgZm9yVVJMU2No
ZW1lOkAiUFNPTjIiXTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBh
bGxvY10gaW5pdF0pOworICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNv
bjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCIgdG9EYXRhOndpbmRvd09wZW5Dcm9zc09yaWdp
bk5vT3BlbmVyVGVzdEJ5dGVzXTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2No
ZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKIAogICAgIGF1
dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlv
bi5nZXQoKV0pOwogICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhbW1BTT05O
YXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAgLTQxMCw3ICs0NDAsNyBAQCBURVNU
KFByb2Nlc3NTd2FwLCBDcm9zc09yaWdpbldpbmRvd09wZW5Ob09wZW5lcikKICAgICBbd2ViVmll
dyBzZXRVSURlbGVnYXRlOnVpRGVsZWdhdGUuZ2V0KCldOwogCiAgICAgbnVtYmVyT2ZEZWNpZGVQ
b2xpY3lDYWxscyA9IDA7Ci0gICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVz
dCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb24xOi8vaG9zdC9tYWlu
MS5odG1sIl1dOworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVx
dWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcv
bWFpbi5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogCiAgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKQEAgLTQ0MCwxMCArNDcwLDkgQEAgVEVT
VChQcm9jZXNzU3dhcCwgQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuV2l0aE9wZW5lcikKIAogICAgIGF1
dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9v
bDpwcm9jZXNzUG9vbC5nZXQoKV07Ci0gICAgUmV0YWluUHRyPFBTT05TY2hlbWU+IGhhbmRsZXIx
ID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRXaXRoQnl0ZXM6d2luZG93T3BlbkNy
b3NzT3JpZ2luV2l0aE9wZW5lclRlc3RCeXRlc10pOwotICAgIFJldGFpblB0cjxQU09OU2NoZW1l
PiBoYW5kbGVyMiA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0V2l0aEJ5dGVzOmR1
bW15Qnl0ZXNdKTsKLSAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxl
cjpoYW5kbGVyMS5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OMSJdOwotICAgIFt3ZWJWaWV3Q29u
ZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIyLmdldCgpIGZvclVSTFNjaGVt
ZTpAIlBTT04yIl07CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxs
b2NdIGluaXRdKTsKKyAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInBzb246
Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiIHRvRGF0YTp3aW5kb3dPcGVuQ3Jvc3NPcmlnaW5X
aXRoT3BlbmVyVGVzdEJ5dGVzXTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2No
ZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKIAogICAgIGF1
dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlv
bi5nZXQoKV0pOwogICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhbW1BTT05O
YXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAgLTQ1Miw3ICs0ODEsNyBAQCBURVNU
KFByb2Nlc3NTd2FwLCBDcm9zc09yaWdpbldpbmRvd09wZW5XaXRoT3BlbmVyKQogICAgIFt3ZWJW
aWV3IHNldFVJRGVsZWdhdGU6dWlEZWxlZ2F0ZS5nZXQoKV07CiAKICAgICBudW1iZXJPZkRlY2lk
ZVBvbGljeUNhbGxzID0gMDsKLSAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1
ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjE6Ly9ob3N0L21h
aW4xLmh0bWwiXV07CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCBy
ZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9y
Zy9tYWluLmh0bWwiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAKICAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwpAQCAtNDgxLDggKzUxMCw4IEBAIFRF
U1QoUHJvY2Vzc1N3YXAsIFNhbWVPcmlnaW5XaW5kb3dPcGVuTm9PcGVuZXIpCiAKICAgICBhdXRv
IHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
YWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6
cHJvY2Vzc1Bvb2wuZ2V0KCldOwotICAgIFJldGFpblB0cjxQU09OU2NoZW1lPiBoYW5kbGVyID0g
YWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRXaXRoQnl0ZXM6d2luZG93T3BlblNhbWVP
cmlnaW5Ob09wZW5lclRlc3RCeXRlc10pOwotICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRV
UkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTjEiXTsKKyAg
ICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdFdpdGhCeXRl
czp3aW5kb3dPcGVuU2FtZU9yaWdpbk5vT3BlbmVyVGVzdEJ5dGVzXSk7CisgICAgW3dlYlZpZXdD
b25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hl
bWU6QCJQU09OIl07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRp
b246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKICAgICBhdXRvIG5hdmlnYXRpb25EZWxl
Z2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBA
IC00OTEsNyArNTIwLDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgU2FtZU9yaWdpbldpbmRvd09wZW5O
b09wZW5lcikKICAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOnVpRGVsZWdhdGUuZ2V0KCldOwog
CiAgICAgbnVtYmVyT2ZEZWNpZGVQb2xpY3lDYWxscyA9IDA7Ci0gICAgTlNVUkxSZXF1ZXN0ICpy
ZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAInBzb24xOi8vaG9zdC9tYWluMS5odG1sIl1dOworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVz
dCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJw
c29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1
ZXN0OnJlcXVlc3RdOwogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKQEAg
LTUyMiwxNSArNTUxLDE1IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIFNlcnZlclJlZGlyZWN0RnJvbU5l
d1dlYlZpZXcpCiAKICAgICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlld0NvbmZpZ3Vy
YXRpb24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wuZ2V0KCldOwotICAgIFJldGFpblB0cjxQ
U09OU2NoZW1lPiBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsK
LSAgICBbaGFuZGxlciBhZGRSZWRpcmVjdEZyb21VUkxTdHJpbmc6QCJwc29uOi8vaG9zdC9tYWlu
MS5odG1sIiB0b1VSTFN0cmluZzpAInBzb25yZWRpcmVjdGVkOi8vaG9zdC9tYWluMS5odG1sIl07
CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsK
KyAgICBbaGFuZGxlciBhZGRSZWRpcmVjdEZyb21VUkxTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtp
dC5vcmcvbWFpbi5odG1sIiB0b1VSTFN0cmluZzpAInBzb246Ly93d3cuYXBwbGUuY29tL21haW4u
aHRtbCJdOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhh
bmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAicHNvbiJdOwogCiAgICAgYXV0byB3ZWJWaWV3ID0g
YWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAs
IDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CiAg
ICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9j
XSBpbml0XSk7CiAgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdl
dCgpXTsKIAotICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vaG9zdC9tYWluMS5odG1sIl1d
OworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1s
Il1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogCiAgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZzZXJ2ZXJSZWRpcmVjdGVkKTsKQEAgLTU1NiwxNyArNTg1LDE1IEBA
IFRFU1QoUHJvY2Vzc1N3YXAsIFNlcnZlclJlZGlyZWN0KQogCiAgICAgYXV0byB3ZWJWaWV3Q29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CiAgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29s
LmdldCgpXTsKLSAgICBSZXRhaW5QdHI8UFNPTlNjaGVtZT4gaGFuZGxlcjEgPSBhZG9wdE5TKFtb
UFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOwotICAgIFtoYW5kbGVyMSBhZGRSZWRpcmVjdEZyb21V
UkxTdHJpbmc6QCJwc29uOi8vaG9zdC9tYWluMS5odG1sIiB0b1VSTFN0cmluZzpAInBzb25yZWRp
cmVjdGVkOi8vaG9zdC9tYWluMS5odG1sIl07Ci0gICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNl
dFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlcjEuZ2V0KCkgZm9yVVJMU2NoZW1lOkAicHNvbiJdOwot
ICAgIFJldGFpblB0cjxQU09OU2NoZW1lPiBoYW5kbGVyMiA9IGFkb3B0TlMoW1tQU09OU2NoZW1l
IGFsbG9jXSBpbml0XSk7Ci0gICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhh
bmRsZXI6aGFuZGxlcjIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAib3JpZ2luYWxsb2FkIl07CisgICAg
YXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsKKyAgICBb
aGFuZGxlciBhZGRSZWRpcmVjdEZyb21VUkxTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcv
bWFpbi5odG1sIiB0b1VSTFN0cmluZzpAInBzb246Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCJd
OworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIu
Z2V0KCkgZm9yVVJMU2NoZW1lOkAicHNvbiJdOwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwg
NjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CiAgICAgYXV0
byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0
XSk7CiAgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsK
IAotICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJvcmlnaW5hbGxvYWQ6Ly9ob3N0L21haW4xLmh0bWwi
XV07CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cuZ29vZ2xlLmNvbS9tYWluMS5o
dG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogCiAgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKQEAgLTU3OCw3ICs2MDUsNyBAQCBURVNUKFByb2Nl
c3NTd2FwLCBTZXJ2ZXJSZWRpcmVjdCkKICAgICBFWFBFQ1RfRVEoMXUsIHNlZW5QSURzLnNpemUo
KSk7CiAgICAgRVhQRUNUX1RSVUUoKnNlZW5QSURzLmJlZ2luKCkgPT0gcGlkQWZ0ZXJGaXJzdExv
YWQpOwogCi0gICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJM
IFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vaG9zdC9tYWluMS5odG1sIl1dOworICAgIHJlcXVlc3Qg
PSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNv
bjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCJdXTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVz
dDpyZXF1ZXN0XTsKIAogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmc2VydmVyUmVkaXJl
Y3RlZCk7CkBAIC02MDUsMTcgKzYzMiwxNyBAQCBURVNUKFByb2Nlc3NTd2FwLCBTZXJ2ZXJSZWRp
cmVjdDIpCiAKICAgICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRp
b24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wuZ2V0KCldOwotICAgIFJldGFpblB0cjxQU09O
U2NoZW1lPiBoYW5kbGVyMSA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0XSk7Ci0g
ICAgW2hhbmRsZXIxIGFkZFJlZGlyZWN0RnJvbVVSTFN0cmluZzpAInBzb246Ly9ob3N0L21haW4y
Lmh0bWwiIHRvVVJMU3RyaW5nOkAicHNvbnJlZGlyZWN0ZWQ6Ly9ob3N0L21haW4xLmh0bWwiXTsK
KyAgICBhdXRvIGhhbmRsZXIxID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsK
KyAgICBbaGFuZGxlcjEgYWRkUmVkaXJlY3RGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3dy53ZWJr
aXQub3JnL21haW4yLmh0bWwiIHRvVVJMU3RyaW5nOkAicHNvbjovL3d3dy5hcHBsZS5jb20vbWFp
bi5odG1sIl07CiAgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6
aGFuZGxlcjEuZ2V0KCkgZm9yVVJMU2NoZW1lOkAicHNvbiJdOwotICAgIFJldGFpblB0cjxQU09O
U2NoZW1lPiBoYW5kbGVyMiA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0XSk7Cisg
ICAgYXV0byBoYW5kbGVyMiA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0XSk7CiAg
ICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlcjIuZ2V0
KCkgZm9yVVJMU2NoZW1lOkAicHNvbnJlZGlyZWN0ZWQiXTsKIAogICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAw
LCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOwog
ICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxv
Y10gaW5pdF0pOwogICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5n
ZXQoKV07CiAKLSAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVl
c3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL2hvc3QvbWFpbjEuaHRtbCJd
XTsKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRo
VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4xLmh0
bWwiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAKICAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwpAQCAtNjI4LDcgKzY1NSw3IEBAIFRFU1QoUHJvY2Vz
c1N3YXAsIFNlcnZlclJlZGlyZWN0MikKICAgICBFWFBFQ1RfRVEoMXUsIHNlZW5QSURzLnNpemUo
KSk7CiAgICAgRVhQRUNUX1RSVUUoKnNlZW5QSURzLmJlZ2luKCkgPT0gcGlkQWZ0ZXJGaXJzdExv
YWQpOwogCi0gICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJM
IFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vaG9zdC9tYWluMi5odG1sIl1dOworICAgIHJlcXVlc3Qg
PSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNv
bjovL3d3dy53ZWJraXQub3JnL21haW4yLmh0bWwiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6cmVxdWVzdF07CiAKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnNlcnZlclJlZGly
ZWN0ZWQpOwpAQCAtNjcyLDEwICs2OTksOSBAQCBURVNUKFByb2Nlc3NTd2FwLCBTZXNzaW9uU3Rv
cmFnZSkKIAogICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJW
aWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlv
biBzZXRQcm9jZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07Ci0gICAgYXV0byBoYW5kbGVyMSA9
IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0V2l0aEJ5dGVzOnNlc3Npb25TdG9yYWdl
VGVzdEJ5dGVzXSk7Ci0gICAgYXV0byBoYW5kbGVyMiA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFs
bG9jXSBpbml0XSk7Ci0gICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRs
ZXI6aGFuZGxlcjEuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTjEiXTsKLSAgICBbd2ViVmlld0Nv
bmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyMi5nZXQoKSBmb3JVUkxTY2hl
bWU6QCJQU09OMiJdOworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFs
bG9jXSBpbml0XSk7CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29u
Oi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIiB0b0RhdGE6c2Vzc2lvblN0b3JhZ2VUZXN0Qnl0
ZXNdOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRs
ZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJdOwogCiAgICAgYXV0byBtZXNzYWdlSGFuZGxl
ciA9IGFkb3B0TlMoW1tQU09OTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKICAgICBbW3dl
YlZpZXdDb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2Fn
ZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInBzb24iXTsKQEAgLTY4NCw3ICs3
MTAsNyBAQCBURVNUKFByb2Nlc3NTd2FwLCBTZXNzaW9uU3RvcmFnZSkKICAgICBhdXRvIGRlbGVn
YXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKICAg
ICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogCi0gICAg
TlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNV
UkwgVVJMV2l0aFN0cmluZzpAInBzb24xOi8vaG9zdC9tYWluLmh0bWwiXV07CisgICAgTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJM
V2l0aFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiXV07CiAgICAgW3dl
YlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJnJlY2VpdmVkTWVzc2FnZSk7CkBAIC02OTQsNyArNzIwLDcgQEAgVEVTVChQcm9jZXNzU3dh
cCwgU2Vzc2lvblN0b3JhZ2UpCiAKICAgICBhdXRvIHBpZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vz
c0lkZW50aWZpZXJdOwogCi0gICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uMjovL2hvc3QvbWFpbi5odG1sIl1dOworICAg
IHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAicHNvbjovL3d3dy5hcHBsZS5jb20vbWFpbi5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OnJlcXVlc3RdOwogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKQEAgLTcwMiw3ICs3MjgsNyBAQCBURVNUKFByb2Nlc3NTd2FwLCBTZXNzaW9uU3RvcmFnZSkK
IAogICAgIGF1dG8gcGlkMiA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CiAKLSAg
ICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0
cmluZzpAInBzb24xOi8vaG9zdC9tYWluLmh0bWwiXV07CisgICAgcmVxdWVzdCA9IFtOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3Lndl
YmtpdC5vcmcvbWFpbi5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3Rd
OwogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZE1lc3NhZ2UpOwpAQCAt
NzI2LDEyICs3NTIsMTIgQEAgVEVTVChQcm9jZXNzU3dhcCwgU2Vzc2lvblN0b3JhZ2UpCiBzdGF0
aWMgY29uc3QgY2hhciogbWFpbkZyYW1lc09ubHlNYWluRnJhbWUgPSBSIlBTT05SRVNPVVJDRSgK
IDxzY3JpcHQ+CiBmdW5jdGlvbiBsb2FkZWQoKSB7Ci0gICAgc2V0VGltZW91dCgnd2luZG93LmZy
YW1lc1swXS5sb2NhdGlvbi5ocmVmID0gInBzb24yOi8vaG9zdDIvbWFpbi5odG1sIicsIDApOwor
ICAgIHNldFRpbWVvdXQoJ3dpbmRvdy5mcmFtZXNbMF0ubG9jYXRpb24uaHJlZiA9ICJwc29uOi8v
d3d3LmFwcGxlLmNvbS9tYWluLmh0bWwiJywgMCk7CiB9CiA8L3NjcmlwdD4KIDxib2R5IG9ubG9h
ZD0ibG9hZGVkKCk7Ij4KIFNvbWUgdGV4dAotPGlmcmFtZSBzcmM9InBzb24xOi8vaG9zdC9pZnJh
bWUuaHRtbCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz0icHNvbjovL3d3dy53ZWJraXQub3JnL2lm
cmFtZS5odG1sIj48L2lmcmFtZT4KIDwvYm9keT4KIClQU09OUkVTT1VSQ0UiOwogCkBAIC03NTUs
MTEgKzc4MSwxMCBAQCBURVNUKFByb2Nlc3NTd2FwLCBNYWluRnJhbWVzT25seSkKICAgICBhdXRv
IHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
YWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6
cHJvY2Vzc1Bvb2wuZ2V0KCldOwogICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2No
ZW1lIGFsbG9jXSBpbml0XSk7Ci0gICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6
QCJwc29uMTovL2hvc3QvbWFpbi5odG1sIiB0b0RhdGE6bWFpbkZyYW1lc09ubHlNYWluRnJhbWVd
OwotICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjE6Ly9ob3N0L2lm
cmFtZSIgdG9EYXRhOm1haW5GcmFtZXNPbmx5U3ViZnJhbWVdOwotICAgIFtoYW5kbGVyIGFkZE1h
cHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjI6Ly9ob3N0Mi9tYWluLmh0bWwiIHRvRGF0YTptYWlu
RnJhbWVzT25seVN1YmZyYW1lMl07Ci0gICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNj
aGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OMSJdOwotICAgIFt3
ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9y
VVJMU2NoZW1lOkAiUFNPTjIiXTsKKyAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmlu
ZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiIHRvRGF0YTptYWluRnJhbWVzT25s
eU1haW5GcmFtZV07CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29u
Oi8vd3d3LndlYmtpdC5vcmcvaWZyYW1lIiB0b0RhdGE6bWFpbkZyYW1lc09ubHlTdWJmcmFtZV07
CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29uOi8vd3d3LmFwcGxl
LmNvbS9tYWluLmh0bWwiIHRvRGF0YTptYWluRnJhbWVzT25seVN1YmZyYW1lMl07CisgICAgW3dl
YlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JV
UkxTY2hlbWU6QCJQU09OIl07CiAKICAgICBhdXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhb
W1BTT05NZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdF0pOwogICAgIFtbd2ViVmlld0NvbmZpZ3Vy
YXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjptZXNz
YWdlSGFuZGxlci5nZXQoKSBuYW1lOkAicHNvbiJdOwpAQCAtNzY4LDcgKzc5Myw3IEBAIFRFU1Qo
UHJvY2Vzc1N3YXAsIE1haW5GcmFtZXNPbmx5KQogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5T
KFtbUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3IHNl
dE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAKLSAgICBOU1VSTFJlcXVlc3Qg
KnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAicHNvbjE6Ly9ob3N0L21haW4uaHRtbCJdXTsKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVl
c3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAi
cHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCJdXTsKICAgICBbd2ViVmlldyBsb2FkUmVx
dWVzdDpyZXF1ZXN0XTsKIAogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRN
ZXNzYWdlKTsKQEAgLTc5MiwxOSArODE3LDE5IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIE9uZVByZXZp
b3VzUHJvY2Vzc1JlbWFpbnMpCiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2
aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlv
bkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKIAotICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9
IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29u
Oi8vaG9zdDEvbWFpbi5odG1sIl1dOworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VS
TFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3
LndlYmtpdC5vcmcvbWFpbi5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVl
c3RdOwogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKICAgICBkb25lID0g
ZmFsc2U7CiAKLSAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNV
UkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly9ob3N0Mi9tYWluLmh0bWwiXV07CisgICAgcmVxdWVz
dCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJw
c29uOi8vd3d3LmFwcGxlLmNvbS9tYWluLmh0bWwiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6cmVxdWVzdF07CiAKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAg
IGRvbmUgPSBmYWxzZTsKIAotICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRo
VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL2hvc3QzL21haW4uaHRtbCJdXTsKKyAg
ICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0
cmluZzpAInBzb246Ly93d3cuZ29vZ2xlLmNvbS9tYWluLmh0bWwiXV07CiAgICAgW3dlYlZpZXcg
bG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRv
bmUpOwpAQCAtODM1LDEwICs4NjAsOSBAQCBURVNUKFByb2Nlc3NTd2FwLCBQYWdlQ2FjaGUxKQog
ICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9j
ZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07CiAgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhb
W1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsKLSAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVS
TFN0cmluZzpAInBzb24xOi8vaG9zdC9tYWluLmh0bWwiIHRvRGF0YTpwYWdlQ2FjaGUxQnl0ZXNd
OwotICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjI6Ly9ob3N0L21h
aW4uaHRtbCIgdG9EYXRhOnBhZ2VDYWNoZTFCeXRlc107Ci0gICAgW3dlYlZpZXdDb25maWd1cmF0
aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09O
MSJdOwotICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRs
ZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTjIiXTsKKyAgICBbaGFuZGxlciBhZGRNYXBwaW5n
RnJvbVVSTFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiIHRvRGF0YTpw
YWdlQ2FjaGUxQnl0ZXNdOworICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAi
cHNvbjovL3d3dy5hcHBsZS5jb20vbWFpbi5odG1sIiB0b0RhdGE6cGFnZUNhY2hlMUJ5dGVzXTsK
KyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdl
dCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKIAogICAgIGF1dG8gbWVzc2FnZUhhbmRsZXIgPSBh
ZG9wdE5TKFtbUFNPTk1lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CiAgICAgW1t3ZWJWaWV3
Q29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5k
bGVyOm1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJwc29uIl07CkBAIC04NDcsNyArODcxLDcg
QEAgVEVTVChQcm9jZXNzU3dhcCwgUGFnZUNhY2hlMSkKICAgICBhdXRvIGRlbGVnYXRlID0gYWRv
cHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmll
dyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogCi0gICAgTlNVUkxSZXF1
ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0
aFN0cmluZzpAInBzb24xOi8vaG9zdC9tYWluLmh0bWwiXV07CisgICAgTlNVUkxSZXF1ZXN0ICpy
ZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiXV07CiAKICAgICBbd2ViVmlldyBs
b2FkUmVxdWVzdDpyZXF1ZXN0XTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OwpAQCAtODU3LDcgKzg4MSw3IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIFBhZ2VDYWNoZTEpCiAKICAg
ICBFWFBFQ1RfRVEoMXUsIFtwcm9jZXNzUG9vbCBfd2ViUHJvY2Vzc0NvdW50SWdub3JpbmdQcmV3
YXJtZWRdKTsKIAotICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltO
U1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjI6Ly9ob3N0L21haW4uaHRtbCJdXTsKKyAgICByZXF1
ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpA
InBzb246Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCJdXTsKIAogICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OnJlcXVlc3RdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CkBA
IC05MTMsNyArOTM3LDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgTnVtYmVyT2ZQcmV3YXJtZWRQcm9j
ZXNzZXMpCiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRl
bGVnYXRlLmdldCgpXTsKIAotICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vaG9zdDEvbWFp
bi5odG1sIl1dOworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVx
dWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcv
bWFpbi5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiAgICAgZG9uZSA9IGZhbHNlOwpAQCAtOTIy
LDcgKzk0Niw3IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIE51bWJlck9mUHJld2FybWVkUHJvY2Vzc2Vz
KQogICAgIEVYUEVDVF9FUSgxdSwgW3Byb2Nlc3NQb29sIF93ZWJQcm9jZXNzQ291bnRJZ25vcmlu
Z1ByZXdhcm1lZF0pOwogICAgIEVYUEVDVF9FUSgxdSwgW3Byb2Nlc3NQb29sIF9wcmV3YXJtZWRX
ZWJQcm9jZXNzQ291bnRdKTsKIAotICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RX
aXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL2hvc3QzL21haW4uaHRtbCJdXTsK
KyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0
aFN0cmluZzpAInBzb246Ly93d3cuZ29vZ2xlLmNvbS9tYWluLmh0bWwiXV07CiAgICAgW3dlYlZp
ZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZk
b25lKTsKICAgICBkb25lID0gZmFsc2U7CkBAIC05NTcsMTAgKzk4MSw5IEBAIFRFU1QoUHJvY2Vz
c1N3YXAsIFBhZ2VTaG93SGlkZSkKICAgICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRv
cHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmll
d0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wuZ2V0KCldOwogICAgIGF1
dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0XSk7Ci0gICAgW2hh
bmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29uMTovL2hvc3QvbWFpbi5odG1sIiB0
b0RhdGE6dmlzaWJpbGl0eUJ5dGVzXTsKLSAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0
cmluZzpAInBzb24yOi8vaG9zdC9tYWluLmh0bWwiIHRvRGF0YTp2aXNpYmlsaXR5Qnl0ZXNdOwot
ICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0
KCkgZm9yVVJMU2NoZW1lOkAiUFNPTjEiXTsKLSAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0
VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04yIl07Cisg
ICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5v
cmcvbWFpbi5odG1sIiB0b0RhdGE6dmlzaWJpbGl0eUJ5dGVzXTsKKyAgICBbaGFuZGxlciBhZGRN
YXBwaW5nRnJvbVVSTFN0cmluZzpAInBzb246Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCIgdG9E
YXRhOnZpc2liaWxpdHlCeXRlc107CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNj
aGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OIl07CiAKICAgICBh
dXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW1BTT05NZXNzYWdlSGFuZGxlciBhbGxvY10g
aW5pdF0pOwogICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVy
XSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAicHNv
biJdOwpAQCAtOTY5LDcgKzk5Miw3IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIFBhZ2VTaG93SGlkZSkK
ICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxs
b2NdIGluaXRdKTsKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUu
Z2V0KCldOwogCi0gICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1
ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb24xOi8vaG9zdC9tYWluLmh0bWwi
XV07CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0
bWwiXV07CiAKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKICAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVkTWVzc2FnZSk7CkBAIC05NzcsNyArMTAwMCw3IEBA
IFRFU1QoUHJvY2Vzc1N3YXAsIFBhZ2VTaG93SGlkZSkKICAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRvbmUpOwogICAgIGRvbmUgPSBmYWxzZTsKIAotICAgIHJlcXVlc3QgPSBbTlNVUkxS
ZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjI6Ly9ob3N0
L21haW4uaHRtbCJdXTsKKyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCJd
XTsKIAogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRNZXNzYWdlKTsKQEAgLTk5OCwxMyArMTAyMSwxMyBAQCBU
RVNUKFByb2Nlc3NTd2FwLCBQYWdlU2hvd0hpZGUpCiAgICAgZG9uZSA9IGZhbHNlOwogCiAgICAg
RVhQRUNUX0VRKDd1LCBbcmVjZWl2ZWRNZXNzYWdlcyBjb3VudF0pOwotICAgIEVYUEVDVF9UUlVF
KFtyZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzBdIGlzRXF1YWxUb1N0cmluZzpAInBzb24xOi8vaG9z
dC9tYWluLmh0bWwgLSBwYWdlc2hvdyBOT1QgcGVyc2lzdGVkIiBdKTsKLSAgICBFWFBFQ1RfVFJV
RShbcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVsxXSBpc0VxdWFsVG9TdHJpbmc6QCJwc29uMTovL2hv
c3QvbWFpbi5odG1sIC0gcGFnZWhpZGUgcGVyc2lzdGVkIiBdKTsKLSAgICBFWFBFQ1RfVFJVRShb
cmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVsyXSBpc0VxdWFsVG9TdHJpbmc6QCJwc29uMjovL2hvc3Qv
bWFpbi5odG1sIC0gcGFnZXNob3cgTk9UIHBlcnNpc3RlZCIgXSk7Ci0gICAgRVhQRUNUX1RSVUUo
W3JlY2VpdmVkTWVzc2FnZXMuZ2V0KClbM10gaXNFcXVhbFRvU3RyaW5nOkAicHNvbjI6Ly9ob3N0
L21haW4uaHRtbCAtIHBhZ2VoaWRlIHBlcnNpc3RlZCIgXSk7Ci0gICAgRVhQRUNUX1RSVUUoW3Jl
Y2VpdmVkTWVzc2FnZXMuZ2V0KClbNF0gaXNFcXVhbFRvU3RyaW5nOkAicHNvbjE6Ly9ob3N0L21h
aW4uaHRtbCAtIHBhZ2VzaG93IHBlcnNpc3RlZCIgXSk7Ci0gICAgRVhQRUNUX1RSVUUoW3JlY2Vp
dmVkTWVzc2FnZXMuZ2V0KClbNV0gaXNFcXVhbFRvU3RyaW5nOkAicHNvbjE6Ly9ob3N0L21haW4u
aHRtbCAtIHBhZ2VoaWRlIHBlcnNpc3RlZCIgXSk7Ci0gICAgRVhQRUNUX1RSVUUoW3JlY2VpdmVk
TWVzc2FnZXMuZ2V0KClbNl0gaXNFcXVhbFRvU3RyaW5nOkAicHNvbjI6Ly9ob3N0L21haW4uaHRt
bCAtIHBhZ2VzaG93IHBlcnNpc3RlZCIgXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKEAicHNvbjov
L3d3dy53ZWJraXQub3JnL21haW4uaHRtbCAtIHBhZ2VzaG93IE5PVCBwZXJzaXN0ZWQiLCByZWNl
aXZlZE1lc3NhZ2VzLmdldCgpWzBdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3
LndlYmtpdC5vcmcvbWFpbi5odG1sIC0gcGFnZWhpZGUgcGVyc2lzdGVkIiwgcmVjZWl2ZWRNZXNz
YWdlcy5nZXQoKVsxXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKEAicHNvbjovL3d3dy5hcHBsZS5j
b20vbWFpbi5odG1sIC0gcGFnZXNob3cgTk9UIHBlcnNpc3RlZCIsIHJlY2VpdmVkTWVzc2FnZXMu
Z2V0KClbMl0pOworICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cuYXBwbGUuY29tL21h
aW4uaHRtbCAtIHBhZ2VoaWRlIHBlcnNpc3RlZCIsIHJlY2VpdmVkTWVzc2FnZXMuZ2V0KClbM10p
OworICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwg
LSBwYWdlc2hvdyBwZXJzaXN0ZWQiLCByZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzRdKTsKKyAgICBF
WFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIC0gcGFnZWhp
ZGUgcGVyc2lzdGVkIiwgcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVs1XSk7CisgICAgRVhQRUNUX1dL
X1NUUkVRKEAicHNvbjovL3d3dy5hcHBsZS5jb20vbWFpbi5odG1sIC0gcGFnZXNob3cgcGVyc2lz
dGVkIiwgcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVs2XSk7CiB9CiAKIC8vIERpc2FibGluZyB0aGUg
cGFnZSBjYWNoZSBleHBsaWNpdGx5IGlzIChmb3Igc29tZSByZWFzb24pIG5vdCBhdmFpbGFibGUg
b24gaU9TLgpAQCAtMTAzMiwxMCArMTA1NSw5IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIExvYWRVbmxv
YWQpCiAgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNl
dFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsKICAgICBhdXRvIGhhbmRsZXIgPSBhZG9w
dE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOwotICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdG
cm9tVVJMU3RyaW5nOkAicHNvbjE6Ly9ob3N0L21haW4uaHRtbCIgdG9EYXRhOmxvYWRVbmxvYWRC
eXRlc107Ci0gICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29uMjovL2hv
c3QvbWFpbi5odG1sIiB0b0RhdGE6bG9hZFVubG9hZEJ5dGVzXTsKLSAgICBbd2ViVmlld0NvbmZp
Z3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpA
IlBTT04xIl07Ci0gICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6
aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OMiJdOworICAgIFtoYW5kbGVyIGFkZE1h
cHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCIgdG9E
YXRhOmxvYWRVbmxvYWRCeXRlc107CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJp
bmc6QCJwc29uOi8vd3d3LmFwcGxlLmNvbS9tYWluLmh0bWwiIHRvRGF0YTpsb2FkVW5sb2FkQnl0
ZXNdOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRs
ZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJdOwogCiAgICAgYXV0byBtZXNzYWdlSGFuZGxl
ciA9IGFkb3B0TlMoW1tQU09OTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKICAgICBbW3dl
YlZpZXdDb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2Fn
ZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInBzb24iXTsKQEAgLTEwNDUsNyAr
MTA2Nyw3IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIExvYWRVbmxvYWQpCiAgICAgYXV0byBkZWxlZ2F0
ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAg
W3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKIAotICAgIE5T
VVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJM
IFVSTFdpdGhTdHJpbmc6QCJwc29uMTovL2hvc3QvbWFpbi5odG1sIl1dOworICAgIE5TVVJMUmVx
dWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdp
dGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIl1dOwogCiAgICAgW3dl
YlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZyZWNlaXZlZE1lc3NhZ2UpOwpAQCAtMTA1Myw3ICsxMDc1LDcgQEAgVEVTVChQcm9jZXNzU3dh
cCwgTG9hZFVubG9hZCkKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAg
IGRvbmUgPSBmYWxzZTsKIAotICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRo
VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjI6Ly9ob3N0L21haW4uaHRtbCJdXTsKKyAg
ICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0
cmluZzpAInBzb246Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCJdXTsKIAogICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVj
ZWl2ZWRNZXNzYWdlKTsKQEAgLTEwNzQsMTMgKzEwOTYsMTMgQEAgVEVTVChQcm9jZXNzU3dhcCwg
TG9hZFVubG9hZCkKICAgICBkb25lID0gZmFsc2U7CiAKICAgICBFWFBFQ1RfRVEoN3UsIFtyZWNl
aXZlZE1lc3NhZ2VzIGNvdW50XSk7Ci0gICAgRVhQRUNUX1RSVUUoW3JlY2VpdmVkTWVzc2FnZXMu
Z2V0KClbMF0gaXNFcXVhbFRvU3RyaW5nOkAicHNvbjE6Ly9ob3N0L21haW4uaHRtbCAtIGxvYWQi
IF0pOwotICAgIEVYUEVDVF9UUlVFKFtyZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzFdIGlzRXF1YWxU
b1N0cmluZzpAInBzb24xOi8vaG9zdC9tYWluLmh0bWwgLSB1bmxvYWQiIF0pOwotICAgIEVYUEVD
VF9UUlVFKFtyZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzJdIGlzRXF1YWxUb1N0cmluZzpAInBzb24y
Oi8vaG9zdC9tYWluLmh0bWwgLSBsb2FkIiBdKTsKLSAgICBFWFBFQ1RfVFJVRShbcmVjZWl2ZWRN
ZXNzYWdlcy5nZXQoKVszXSBpc0VxdWFsVG9TdHJpbmc6QCJwc29uMjovL2hvc3QvbWFpbi5odG1s
IC0gdW5sb2FkIiBdKTsKLSAgICBFWFBFQ1RfVFJVRShbcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVs0
XSBpc0VxdWFsVG9TdHJpbmc6QCJwc29uMTovL2hvc3QvbWFpbi5odG1sIC0gbG9hZCIgXSk7Ci0g
ICAgRVhQRUNUX1RSVUUoW3JlY2VpdmVkTWVzc2FnZXMuZ2V0KClbNV0gaXNFcXVhbFRvU3RyaW5n
OkAicHNvbjE6Ly9ob3N0L21haW4uaHRtbCAtIHVubG9hZCIgXSk7Ci0gICAgRVhQRUNUX1RSVUUo
W3JlY2VpdmVkTWVzc2FnZXMuZ2V0KClbNl0gaXNFcXVhbFRvU3RyaW5nOkAicHNvbjI6Ly9ob3N0
L21haW4uaHRtbCAtIGxvYWQiIF0pOworICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246Ly93d3cu
d2Via2l0Lm9yZy9tYWluLmh0bWwgLSBsb2FkIiwgcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVswXSk7
CisgICAgRVhQRUNUX1dLX1NUUkVRKEAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCAt
IHVubG9hZCIsIHJlY2VpdmVkTWVzc2FnZXMuZ2V0KClbMV0pOworICAgIEVYUEVDVF9XS19TVFJF
UShAInBzb246Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCAtIGxvYWQiLCByZWNlaXZlZE1lc3Nh
Z2VzLmdldCgpWzJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3LmFwcGxlLmNv
bS9tYWluLmh0bWwgLSB1bmxvYWQiLCByZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzNdKTsKKyAgICBF
WFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIC0gbG9hZCIs
IHJlY2VpdmVkTWVzc2FnZXMuZ2V0KClbNF0pOworICAgIEVYUEVDVF9XS19TVFJFUShAInBzb246
Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwgLSB1bmxvYWQiLCByZWNlaXZlZE1lc3NhZ2VzLmdl
dCgpWzVdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3LmFwcGxlLmNvbS9tYWlu
Lmh0bWwgLSBsb2FkIiwgcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVs2XSk7CiB9CiAKIFRFU1QoUHJv
Y2Vzc1N3YXAsIERpc2FibGVGb3JJbnNwZWN0b3IpCkBAIC0xMDkzLDE1ICsxMTE1LDE0IEBAIFRF
U1QoUHJvY2Vzc1N3YXAsIERpc2FibGVGb3JJbnNwZWN0b3IpCiAgICAgW3dlYlZpZXdDb25maWd1
cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsKICAgICB3ZWJWaWV3Q29u
ZmlndXJhdGlvbi5nZXQoKS5wcmVmZXJlbmNlcy5fZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCA9IFlF
UzsKIAotICAgIFJldGFpblB0cjxQU09OU2NoZW1lPiBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05T
Y2hlbWUgYWxsb2NdIGluaXRdKTsKLSAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2No
ZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04xIl07Ci0gICAgW3dl
YlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JV
UkxTY2hlbWU6QCJQU09OMiJdOworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2No
ZW1lIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVt
ZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OIl07CiAKICAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24u
Z2V0KCldKTsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVs
ZWdhdGUgYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6
ZGVsZWdhdGUuZ2V0KCldOwogCi0gICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVx
dWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb24xOi8vaG9zdC9t
YWluMS5odG1sIl1dOworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5v
cmcvbWFpbjEuaHRtbCJdXTsKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKIAog
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CkBAIC0xMTEyLDcgKzExMzMsNyBA
QCBURVNUKFByb2Nlc3NTd2FwLCBEaXNhYmxlRm9ySW5zcGVjdG9yKQogICAgIC8vIEZJWE1FOiB1
c2UgT2JqQyBlcXVpdmFsZW50IGZvciBXS0luc3BlY3RvclJlZiB3aGVuIGF2YWlsYWJsZS4KICAg
ICBXS0luc3BlY3RvclNob3coV0tQYWdlR2V0SW5zcGVjdG9yKFt3ZWJWaWV3IF9wYWdlUmVmRm9y
VHJhbnNpdGlvblRvV0tXZWJWaWV3XSkpOwogCi0gICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3Qg
cmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uMjovL2hvc3QvbWFpbjIu
aHRtbCJdXTsKKyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNV
UkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cuYXBwbGUuY29tL21haW4yLmh0bWwiXV07CiAg
ICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAKICAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRvbmUpOwpAQCAtMTEyMiw3ICsxMTQzLDcgQEAgVEVTVChQcm9jZXNzU3dhcCwg
RGlzYWJsZUZvckluc3BlY3RvcikKIAogICAgIFdLSW5zcGVjdG9yQ2xvc2UoV0tQYWdlR2V0SW5z
cGVjdG9yKFt3ZWJWaWV3IF9wYWdlUmVmRm9yVHJhbnNpdGlvblRvV0tXZWJWaWV3XSkpOwogCi0g
ICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhT
dHJpbmc6QCJwc29uMTovL2hvc3QvbWFpbjIuaHRtbCJdXTsKKyAgICByZXF1ZXN0ID0gW05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cu
d2Via2l0Lm9yZy9tYWluMi5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVl
c3RdOwogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKQEAgLTExNTYsNyAr
MTE3Nyw3IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIFNhbWVPcmlnaW5CbG9iTmF2aWdhdGlvbikKIAog
ICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9j
ZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07Ci0gICAgUmV0YWluUHRyPFBTT05TY2hlbWU+IGhh
bmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdFdpdGhCeXRlczpzYW1lT3Jp
Z2luQmxvYk5hdmlnYXRpb25UZXN0Qnl0ZXNdKTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5T
KFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdFdpdGhCeXRlczpzYW1lT3JpZ2luQmxvYk5hdmlnYXRp
b25UZXN0Qnl0ZXNdKTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFu
ZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKIAogICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVj
dCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQo
KV0pOwpAQCAtMTE2Niw3ICsxMTg3LDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgU2FtZU9yaWdpbkJs
b2JOYXZpZ2F0aW9uKQogICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6dWlEZWxlZ2F0ZS5nZXQo
KV07CiAKICAgICBudW1iZXJPZkRlY2lkZVBvbGljeUNhbGxzID0gMDsKLSAgICBbd2ViVmlldyBs
b2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAicHNvbjovL2hvc3QvbWFpbjEuaHRtbCJdXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBz
b246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiXV1dOwogCiAgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZkb25lKTsKICAgICBkb25lID0gZmFsc2U7CkBAIC0xMTkxLDkgKzEyMTIsOCBA
QCBURVNUKFByb2Nlc3NTd2FwLCBDcm9zc09yaWdpbkJsb2JOYXZpZ2F0aW9uKQogCiAgICAgYXV0
byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9u
IGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29s
OnByb2Nlc3NQb29sLmdldCgpXTsKLSAgICBSZXRhaW5QdHI8UFNPTlNjaGVtZT4gaGFuZGxlciA9
IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0V2l0aEJ5dGVzOnNhbWVPcmlnaW5CbG9i
TmF2aWdhdGlvblRlc3RCeXRlc10pOwotICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxT
Y2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTjEiXTsKLSAgICBb
d2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZv
clVSTFNjaGVtZTpAIlBTT04yIl07CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05T
Y2hlbWUgYWxsb2NdIGluaXRXaXRoQnl0ZXM6c2FtZU9yaWdpbkJsb2JOYXZpZ2F0aW9uVGVzdEJ5
dGVzXSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFu
ZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OIl07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
ODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKICAg
ICBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjAyLDcgKzEyMjIsNyBAQCBURVNUKFByb2Nlc3NTd2Fw
LCBDcm9zc09yaWdpbkJsb2JOYXZpZ2F0aW9uKQogICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6
dWlEZWxlZ2F0ZS5nZXQoKV07CiAKICAgICBudW1iZXJPZkRlY2lkZVBvbGljeUNhbGxzID0gMDsK
LSAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltO
U1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjE6Ly9ob3N0L21haW4xLmh0bWwiXV1dOworICAgIFt3
ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVS
TFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIl1dXTsKICAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAgIGRvbmUgPSBmYWxzZTsKICAgICBh
dXRvIHBpZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOwpAQCAtMTIxNiw3ICsx
MjM2LDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgQ3Jvc3NPcmlnaW5CbG9iTmF2aWdhdGlvbikKICAg
ICB9XTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkUnVubmluZ1Njcmlw
dCk7CiAKLSAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRo
VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjI6Ly9ob3N0L21haW4xLmh0bWwiXV1dOwor
ICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05T
VVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LmFwcGxlLmNvbS9tYWluLmh0bWwiXV1dOwog
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiAgICAgZG9uZSA9IGZhbHNlOwog
ICAgIGF1dG8gcGlkMiA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CkBAIC0xMjUx
LDcgKzEyNzEsNyBAQCBURVNUKFByb2Nlc3NTd2FwLCBOYXZpZ2F0ZVRvQWJvdXRCbGFuaykKIAog
ICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9j
ZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07Ci0gICAgUmV0YWluUHRyPFBTT05TY2hlbWU+IGhh
bmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdFdpdGhCeXRlczpzYW1lT3Jp
Z2luQmxvYk5hdmlnYXRpb25UZXN0Qnl0ZXNdKTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5T
KFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdFdpdGhCeXRlczpzYW1lT3JpZ2luQmxvYk5hdmlnYXRp
b25UZXN0Qnl0ZXNdKTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFu
ZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKIAogICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVj
dCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQo
KV0pOwpAQCAtMTI2MSw3ICsxMjgxLDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgTmF2aWdhdGVUb0Fi
b3V0QmxhbmspCiAgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTp1aURlbGVnYXRlLmdldCgpXTsK
IAogICAgIG51bWJlck9mRGVjaWRlUG9saWN5Q2FsbHMgPSAwOwotICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6
QCJwc29uOi8vaG9zdC9tYWluMS5odG1sIl1dXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpb
TlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjov
L3d3dy53ZWJraXQub3JnL21haW4uaHRtbCJdXV07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZkb25lKTsKICAgICBkb25lID0gZmFsc2U7CiAgICAgYXV0byBwaWQxID0gW3dlYlZpZXcg
X3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKQEAgLTEyODUsNyArMTMwNSw3IEBAIFRFU1QoUHJvY2Vz
c1N3YXAsIE5hdmlnYXRlVG9EYXRhVVJMKQogCiAgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlv
biA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAg
W3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsK
LSAgICBSZXRhaW5QdHI8UFNPTlNjaGVtZT4gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2NoZW1l
IGFsbG9jXSBpbml0V2l0aEJ5dGVzOnNhbWVPcmlnaW5CbG9iTmF2aWdhdGlvblRlc3RCeXRlc10p
OworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0V2l0
aEJ5dGVzOnNhbWVPcmlnaW5CbG9iTmF2aWdhdGlvblRlc3RCeXRlc10pOwogICAgIFt3ZWJWaWV3
Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2No
ZW1lOkAiUFNPTiJdOwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0
aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CkBAIC0xMjk1LDcgKzEzMTUsNyBAQCBU
RVNUKFByb2Nlc3NTd2FwLCBOYXZpZ2F0ZVRvRGF0YVVSTCkKICAgICBbd2ViVmlldyBzZXRVSURl
bGVnYXRlOnVpRGVsZWdhdGUuZ2V0KCldOwogCiAgICAgbnVtYmVyT2ZEZWNpZGVQb2xpY3lDYWxs
cyA9IDA7Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly9ob3N0L21haW4xLmh0bWwiXV1dOwor
ICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05T
VVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIl1dXTsK
ICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAgIGRvbmUgPSBmYWxzZTsK
ICAgICBhdXRvIHBpZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOwpAQCAtMTMy
Nyw3ICsxMzQ3LDU0IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIFByb2Nlc3NSZXVzZSkKICAgICBhdXRv
IGRlbGVnYXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRd
KTsKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwog
Ci0gICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly9ob3N0MS9tYWluLmh0bWwiXV07CisgICAg
TlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNV
UkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluMS5odG1sIl1dOwor
ICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZDEgPSBb
d2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgcmVxdWVzdCA9IFtOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LmFw
cGxlLmNvbS9tYWluLmh0bWwiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07
CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxz
ZTsKKworICAgIGF1dG8gcGlkMiA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisK
KyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0
aFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluMi5odG1sIl1dOworICAgIFt3ZWJW
aWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZDMgPSBbd2ViVmlldyBf
d2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgLy8gVHdvIHByb2Nlc3Mgc3dhcHMgaGF2ZSBv
Y2N1cnJlZCwgYnV0IHdlIHNob3VsZCBvbmx5IGhhdmUgZXZlciBzZWVuIDIgcGlkcy4KKyAgICBF
WFBFQ1RfRVEoMnUsIHNlZW5QSURzLnNpemUoKSk7CisgICAgRVhQRUNUX05FKHBpZDEsIHBpZDIp
OworICAgIEVYUEVDVF9ORShwaWQyLCBwaWQzKTsKKyAgICBFWFBFQ1RfRVEocGlkMSwgcGlkMyk7
Cit9CisKK1RFU1QoUHJvY2Vzc1N3YXAsIFByb2Nlc3NSZXVzZWVUTERQbHVzMikKK3sKKyAgICBh
dXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBbcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
IHNldFByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbjpZRVNdOworICAgIFtwcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24gc2V0QWx3YXlzS2VlcEFuZFJldXNlU3dhcHBlZFByb2Nlc3NlczpZRVNdOworICAg
IGF1dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRX
aXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAg
IGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNz
UG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BT
T05TY2hlbWUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJM
U2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKKworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJh
dGlvbi5nZXQoKV0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbUFNPTk5hdmlnYXRp
b25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxl
Z2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL3d3
dzEud2Via2l0Lm9yZy9tYWluMS5odG1sIl1dOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJl
cXVlc3RdOwogCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKQEAgLTEzMzUs
NyArMTQwMiw3IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIFByb2Nlc3NSZXVzZSkKIAogICAgIGF1dG8g
cGlkMSA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CiAKLSAgICByZXF1ZXN0ID0g
W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246
Ly9ob3N0Mi9tYWluLmh0bWwiXV07CisgICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LmFwcGxlLmNvbS9tYWlu
Lmh0bWwiXV07CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAKICAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwpAQCAtMTM0Myw3ICsxNDEwLDcgQEAgVEVTVChQ
cm9jZXNzU3dhcCwgUHJvY2Vzc1JldXNlKQogCiAgICAgYXV0byBwaWQyID0gW3dlYlZpZXcgX3dl
YlByb2Nlc3NJZGVudGlmaWVyXTsKIAotICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVl
c3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL2hvc3QxL21haW4yLmh0bWwi
XV07CisgICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVS
TFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3Mi53ZWJraXQub3JnL21haW4yLmh0bWwiXV07CiAgICAg
W3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CiAKICAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRvbmUpOwpAQCAtMTM3Miw3ICsxNDM5LDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgTmF2
aWdhdGVUb0ludmFsaWRVUkwpCiAKICAgICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRv
cHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBbd2ViVmll
d0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wuZ2V0KCldOwotICAgIFJl
dGFpblB0cjxQU09OU2NoZW1lPiBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2Nd
IGluaXRXaXRoQnl0ZXM6bmF2aWdhdGVUb0ludmFsaWRVUkxUZXN0Qnl0ZXNdKTsKKyAgICBhdXRv
IGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdFdpdGhCeXRlczpuYXZp
Z2F0ZVRvSW52YWxpZFVSTFRlc3RCeXRlc10pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBz
ZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJdOwog
CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25m
aWd1cmF0aW9uLmdldCgpXSk7CkBAIC0xMzgyLDcgKzE0NDksNyBAQCBURVNUKFByb2Nlc3NTd2Fw
LCBOYXZpZ2F0ZVRvSW52YWxpZFVSTCkKICAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOnVpRGVs
ZWdhdGUuZ2V0KCldOwogCiAgICAgbnVtYmVyT2ZEZWNpZGVQb2xpY3lDYWxscyA9IDA7Ci0gICAg
W3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwg
VVJMV2l0aFN0cmluZzpAInBzb246Ly9ob3N0L21haW4xLmh0bWwiXV1dOworICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhT
dHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIl1dXTsKICAgICBUZXN0V2Vi
S2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAgIGRvbmUgPSBmYWxzZTsKICAgICBhdXRvIHBp
ZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOwpAQCAtMTQxOCw3ICsxNDg1LDcg
QEAgVEVTVChQcm9jZXNzU3dhcCwgTmF2aWdhdGVUb0RhdGFVUkxUaGVuQmFjaykKIAogICAgIGF1
dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF0pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9v
bDpwcm9jZXNzUG9vbC5nZXQoKV07Ci0gICAgUmV0YWluUHRyPFBTT05TY2hlbWU+IGhhbmRsZXIg
PSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdFdpdGhCeXRlczpuYXZpZ2F0ZVRvRGF0
YVVSTFRoZW5CYWNrQnl0ZXNdKTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNj
aGVtZSBhbGxvY10gaW5pdFdpdGhCeXRlczpuYXZpZ2F0ZVRvRGF0YVVSTFRoZW5CYWNrQnl0ZXNd
KTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVy
LmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAs
IDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOwpAQCAtMTQy
Niw3ICsxNDkzLDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgTmF2aWdhdGVUb0RhdGFVUkxUaGVuQmFj
aykKICAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRl
LmdldCgpXTsKIAogICAgIG51bWJlck9mRGVjaWRlUG9saWN5Q2FsbHMgPSAwOwotICAgIFt3ZWJW
aWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdp
dGhTdHJpbmc6QCJwc29uOi8vaG9zdC9tYWluMS5odG1sIl1dXTsKKyAgICBbd2ViVmlldyBsb2Fk
UmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5n
OkAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCJdXV07CiAgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkb25lKTsKICAgICBkb25lID0gZmFsc2U7CiAgICAgYXV0byBwaWQxID0g
W3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKQEAgLTE0NDgsNyArMTUxNSw3IEBAIFRF
U1QoUHJvY2Vzc1N3YXAsIE5hdmlnYXRlVG9EYXRhVVJMVGhlbkJhY2spCiBURVNUKFByb2Nlc3NT
d2FwLCBBUElDb250cm9sbGVkUHJvY2Vzc1N3YXBwaW5nKQogewogICAgIGF1dG8gd2ViVmlld0Nv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOwotICAgIFJldGFpblB0cjxQU09OU2NoZW1lPiBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05T
Y2hlbWUgYWxsb2NdIGluaXRXaXRoQnl0ZXM6IkhlbGxvIFdvcmxkISJdKTsKKyAgICBhdXRvIGhh
bmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdFdpdGhCeXRlczoiSGVsbG8g
V29ybGQhIl0pOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVy
OmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJdOwogCiAgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7
CkBAIC0xNDU2LDEzICsxNTIzLDEzIEBAIFRFU1QoUHJvY2Vzc1N3YXAsIEFQSUNvbnRyb2xsZWRQ
cm9jZXNzU3dhcHBpbmcpCiAgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOm5hdmln
YXRpb25EZWxlZ2F0ZS5nZXQoKV07CiAKICAgICBudW1iZXJPZkRlY2lkZVBvbGljeUNhbGxzID0g
MDsKLSAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJM
OltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL2hvc3QvMSJdXV07CisgICAgW3dlYlZpZXcg
bG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0
cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy8xIl1dXTsKICAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRvbmUpOwogICAgIGRvbmUgPSBmYWxzZTsKICAgICBhdXRvIHBpZDEgPSBbd2Vi
VmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOwogCiAgICAgLy8gTmF2aWdhdGluZyBmcm9tIHRo
ZSBhYm92ZSBVUkwgdG8gdGhpcyBVUkwgbm9ybWFsbHkgc2hvdWxkIG5vdCBwcm9jZXNzIHN3YXAu
Ci0gICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpb
TlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly9ob3N0LzIiXV1dOworICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJp
bmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvMiJdXV07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lKTsKICAgICBkb25lID0gZmFsc2U7CiAgICAgYXV0byBwaWQyID0gW3dlYlZp
ZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKQEAgLTE0NzMsNyArMTU0MCw3IEBAIFRFU1QoUHJv
Y2Vzc1N3YXAsIEFQSUNvbnRyb2xsZWRQcm9jZXNzU3dhcHBpbmcpCiAgICAgLy8gTmF2aWdhdGlu
ZyBmcm9tIHRoZSBhYm92ZSBVUkwgdG8gdGhpcyBVUkwgbm9ybWFsbHkgc2hvdWxkIG5vdCBwcm9j
ZXNzIHN3YXAsCiAgICAgLy8gYnV0IHdlJ2xsIGV4cGxpY2l0bHkgYXNrIGZvciBhIHN3YXAuCiAg
ICAgbmF2aWdhdGlvbkRlbGVnYXRlLT5uYXZpZ2F0aW9uQWN0aW9uUG9saWN5VG9Vc2UgPSBfV0tO
YXZpZ2F0aW9uQWN0aW9uUG9saWN5QWxsb3dJbk5ld1Byb2Nlc3M7Ci0gICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmlu
ZzpAInBzb246Ly9ob3N0LzMiXV1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3Lndl
Yml0Lm9yZy8zIl1dXTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAg
IGRvbmUgPSBmYWxzZTsKICAgICBhdXRvIHBpZDMgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50
aWZpZXJdOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>