<?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>148996</bug_id>
          
          <creation_ts>2015-09-09 00:00:44 -0700</creation_ts>
          <short_desc>REGRESSION(r189530): Caused assertion failures on Yosemite (Requested by litherum on #webkit).</short_desc>
          <delta_ts>2022-03-01 02:45:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>148833</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>mmaxfield</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1124575</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-09 00:00:44 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/189530 broke the build:
Caused assertion failures on Yosemite (Requested by litherum on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124577</commentid>
    <comment_count>1</comment_count>
      <attachid>260846</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-09 00:01:10 -0700</bug_when>
    <thetext>Created attachment 260846
ROLLOUT of r189530

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124578</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-09-09 00:02:39 -0700</bug_when>
    <thetext>Committed r189535: &lt;http://trac.webkit.org/changeset/189535&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260846</attachid>
            <date>2015-09-09 00:01:10 -0700</date>
            <delta_ts>2022-03-01 02:45:42 -0800</delta_ts>
            <desc>ROLLOUT of r189530</desc>
            <filename>bug-148996-20150909000105.patch</filename>
            <type>text/plain</type>
            <size>28218</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NTM0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2IzOTkzNWEzZDdjOGY5ZTg4MzNjMTJhMGE5ZmJjZTVi
ODQyZTYxNy4uZWQ3YzFjZDg3ODg4ZjI1NDVjYWM5OTYxZmNlOTA1MTZmZWU4YWZjZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDE1LTA5LTA5ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
KworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTg5NTMwIGFuZCByMTg5NTM0Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4OTk2CisK
KyAgICAgICAgQ2F1c2VkIGFzc2VydGlvbiBmYWlsdXJlcyBvbiBZb3NlbWl0ZSAoUmVxdWVzdGVk
IGJ5IGxpdGhlcnVtCisgICAgICAgIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNo
YW5nZXNldHM6CisKKyAgICAgICAgIltXS1RSXSBBbGxvdyBjaGFuZ2luZyB0aGUgV0tDb250ZXh0
Q29uZmlndXJhdGlvbiBiZXR3ZWVuCisgICAgICAgIHN1Y2Nlc3NpdmUgdGVzdHMiCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg4MzMKKyAgICAgICAg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTg5NTMwCisKKyAgICAgICAgIltDb2Nv
YV0gRml4IHRoZSB0ZXN0cyBhZnRlciByMTg5NTMwIgorICAgICAgICBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC8xODk1MzQKKwogMjAxNS0wOS0wOCAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gRml4IHRoZSB0ZXN0cyBh
ZnRlciByMTg5NTMwCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3Jt
V2ViVmlldy5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybVdlYlZpZXcuaAppbmRl
eCA1MmM4YmViYTc3NzE4NGU4MTg1N2NkZTExMDdjY2FmYmZjOGQ1NjM0Li45Njg4YzRjZDQ3MmRl
OTE5ZjA0M2RlYjVjZTI3OWRmMDA1MmE2NjNlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1BsYXRmb3JtV2ViVmlldy5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxh
dGZvcm1XZWJWaWV3LmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgUGxhdGZvcm1XZWJWaWV3
X2gKICNkZWZpbmUgUGxhdGZvcm1XZWJWaWV3X2gKIAotI2luY2x1ZGUgIlRlc3RPcHRpb25zLmgi
CisjaW5jbHVkZSAiVmlld09wdGlvbnMuaCIKICNpbmNsdWRlIDxXZWJLaXQvV0tSZXRhaW5QdHIu
aD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtNTcsOSArNTcsOSBAQCBuYW1lc3BhY2UgV1RS
IHsKIGNsYXNzIFBsYXRmb3JtV2ViVmlldyB7CiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oQ09DT0Ep
Ci0gICAgUGxhdGZvcm1XZWJWaWV3KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24qLCBjb25zdCBUZXN0
T3B0aW9ucyYpOworICAgIFBsYXRmb3JtV2ViVmlldyhXS1dlYlZpZXdDb25maWd1cmF0aW9uKiwg
Y29uc3QgVmlld09wdGlvbnMmKTsKICNlbHNlCi0gICAgUGxhdGZvcm1XZWJWaWV3KFdLUGFnZUNv
bmZpZ3VyYXRpb25SZWYsIGNvbnN0IFRlc3RPcHRpb25zJik7CisgICAgUGxhdGZvcm1XZWJWaWV3
KFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYsIGNvbnN0IFZpZXdPcHRpb25zJik7CiAjZW5kaWYKICAg
ICB+UGxhdGZvcm1XZWJWaWV3KCk7CiAKQEAgLTgwLDEwICs4MCwxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRXaW5kb3dJc0tleShib29sIGlzS2V5KSB7IG1fd2luZG93SXNLZXkgPSBpc0tleTsg
fQogICAgIGJvb2wgd2luZG93SXNLZXkoKSBjb25zdCB7IHJldHVybiBtX3dpbmRvd0lzS2V5OyB9
CiAKLSAgICBib29sIHZpZXdTdXBwb3J0c09wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmKSBjb25z
dDsKKyAgICBib29sIHZpZXdTdXBwb3J0c09wdGlvbnMoY29uc3QgVmlld09wdGlvbnMmKSBjb25z
dDsKIAogICAgIFdLUmV0YWluUHRyPFdLSW1hZ2VSZWY+IHdpbmRvd1NuYXBzaG90SW1hZ2UoKTsK
LSAgICBjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9u
czsgfQorICAgIGNvbnN0IFZpZXdPcHRpb25zJiBvcHRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9v
cHRpb25zOyB9CiAKICAgICB2b2lkIGNoYW5nZVdpbmRvd1NjYWxlSWZOZWVkZWQoZmxvYXQgbmV3
U2NhbGUpOwogICAgIHZvaWQgc2V0TmF2aWdhdGlvbkdlc3R1cmVzRW5hYmxlZChib29sKTsKQEAg
LTk4LDcgKzk4LDcgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVdLVmlldyBtX3ZpZXc7CiAgICAg
UGxhdGZvcm1XaW5kb3cgbV93aW5kb3c7CiAgICAgYm9vbCBtX3dpbmRvd0lzS2V5OwotICAgIGNv
bnN0IFRlc3RPcHRpb25zIG1fb3B0aW9uczsKKyAgICBjb25zdCBWaWV3T3B0aW9ucyBtX29wdGlv
bnM7CiAKICNpZiBQTEFURk9STShFRkwpCiAgICAgYm9vbCBtX3VzaW5nRml4ZWRMYXlvdXQ7CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGJlYzcyN2Y0MmJm
ZDZlM2IxYjQ3MThlZjNiNTU5MzU2NGU1ZmM1MjYuLmE2NDYwYWE3ZTZjNzRiMTI2MTRlNDczZmZk
ZjYyN2MxOTI1Y2VlYzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0zNjgsMTAgKzM2OCw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUo
aW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKIAogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPiBwYWdlR3JvdXBJZGVudGlmaWVyKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJXZWJLaXRUZXN0UnVubmVyUGFnZUdyb3VwIikpOwogICAgIG1fcGFnZUdyb3VwLmFk
b3B0KFdLUGFnZUdyb3VwQ3JlYXRlV2l0aElkZW50aWZpZXIocGFnZUdyb3VwSWRlbnRpZmllci5n
ZXQoKSkpOwotfQogCi1XS1JldGFpblB0cjxXS0NvbnRleHRDb25maWd1cmF0aW9uUmVmPiBUZXN0
Q29udHJvbGxlcjo6Z2VuZXJhdGVDb250ZXh0Q29uZmlndXJhdGlvbigpIGNvbnN0Ci17CiAgICAg
YXV0byBjb25maWd1cmF0aW9uID0gYWRvcHRXSyhXS0NvbnRleHRDb25maWd1cmF0aW9uQ3JlYXRl
KCkpOwogICAgIFdLQ29udGV4dENvbmZpZ3VyYXRpb25TZXRJbmplY3RlZEJ1bmRsZVBhdGgoY29u
ZmlndXJhdGlvbi5nZXQoKSwgaW5qZWN0ZWRCdW5kbGVQYXRoKCkpOwogICAgIFdLQ29udGV4dENv
bmZpZ3VyYXRpb25TZXRGdWxseVN5bmNocm9ub3VzTW9kZUlzQWxsb3dlZEZvclRlc3RpbmcoY29u
ZmlndXJhdGlvbi5nZXQoKSwgdHJ1ZSk7CkBAIC0zODgsMTIgKzM4NSw3IEBAIFdLUmV0YWluUHRy
PFdLQ29udGV4dENvbmZpZ3VyYXRpb25SZWY+IFRlc3RDb250cm9sbGVyOjpnZW5lcmF0ZUNvbnRl
eHRDb25maWd1cmF0CiAgICAgICAgIFdLQ29udGV4dENvbmZpZ3VyYXRpb25TZXRXZWJTUUxEYXRh
YmFzZURpcmVjdG9yeShjb25maWd1cmF0aW9uLmdldCgpLCB0b1dLKHRlbXBvcmFyeUZvbGRlciAr
IHNlcGFyYXRvciArICJEYXRhYmFzZXMiICsgc2VwYXJhdG9yICsgIldlYlNRTCIpLmdldCgpKTsK
ICAgICAgICAgV0tDb250ZXh0Q29uZmlndXJhdGlvblNldE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rv
cnkoY29uZmlndXJhdGlvbi5nZXQoKSwgdG9XSyh0ZW1wb3JhcnlGb2xkZXIgKyBzZXBhcmF0b3Ig
KyAiTWVkaWFLZXlzIikuZ2V0KCkpOwogICAgIH0KLSAgICByZXR1cm4gY29uZmlndXJhdGlvbjsK
LX0KLQotV0tSZXRhaW5QdHI8V0tQYWdlQ29uZmlndXJhdGlvblJlZj4gVGVzdENvbnRyb2xsZXI6
OmdlbmVyYXRlUGFnZUNvbmZpZ3VyYXRpb24oV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZiBjb25m
aWd1cmF0aW9uKQotewotICAgIG1fY29udGV4dCA9IHBsYXRmb3JtQWRqdXN0Q29udGV4dChhZG9w
dFdLKFdLQ29udGV4dENyZWF0ZVdpdGhDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24pKS5nZXQo
KSwgY29uZmlndXJhdGlvbik7CisgICAgbV9jb250ZXh0ID0gcGxhdGZvcm1BZGp1c3RDb250ZXh0
KGFkb3B0V0soV0tDb250ZXh0Q3JlYXRlV2l0aENvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbi5n
ZXQoKSkpLmdldCgpLCBjb25maWd1cmF0aW9uLmdldCgpKTsKIAogICAgIG1fZ2VvbG9jYXRpb25Q
cm92aWRlciA9IHN0ZDo6bWFrZV91bmlxdWU8R2VvbG9jYXRpb25Qcm92aWRlck1vY2s+KG1fY29u
dGV4dC5nZXQoKSk7CiAKQEAgLTQ1MywyNCArNDQ1LDE4IEBAIFdLUmV0YWluUHRyPFdLUGFnZUNv
bmZpZ3VyYXRpb25SZWY+IFRlc3RDb250cm9sbGVyOjpnZW5lcmF0ZVBhZ2VDb25maWd1cmF0aW9u
KFdLCiAgICAgaWYgKG1fZm9yY2VDb21wbGV4VGV4dCkKICAgICAgICAgV0tDb250ZXh0U2V0QWx3
YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgobV9jb250ZXh0LmdldCgpLCB0cnVlKTsKIAotICAg
IGF1dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBhZG9wdFdLKFdLUGFnZUNvbmZpZ3VyYXRpb25DcmVh
dGUoKSk7Ci0gICAgV0tQYWdlQ29uZmlndXJhdGlvblNldENvbnRleHQocGFnZUNvbmZpZ3VyYXRp
b24uZ2V0KCksIG1fY29udGV4dC5nZXQoKSk7Ci0gICAgV0tQYWdlQ29uZmlndXJhdGlvblNldFBh
Z2VHcm91cChwYWdlQ29uZmlndXJhdGlvbi5nZXQoKSwgbV9wYWdlR3JvdXAuZ2V0KCkpOwotICAg
IFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRVc2VyQ29udGVudENvbnRyb2xsZXIocGFnZUNvbmZpZ3Vy
YXRpb24uZ2V0KCksIGFkb3B0V0soV0tVc2VyQ29udGVudENvbnRyb2xsZXJDcmVhdGUoKSkuZ2V0
KCkpOwotICAgIHJldHVybiBwYWdlQ29uZmlndXJhdGlvbjsKLX0KLQotdm9pZCBUZXN0Q29udHJv
bGxlcjo6Y3JlYXRlV2ViVmlld1dpdGhPcHRpb25zKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25z
KQotewotICAgIGF1dG8gY29udGV4dENvbmZpZ3VyYXRpb24gPSBnZW5lcmF0ZUNvbnRleHRDb25m
aWd1cmF0aW9uKCk7Ci0gICAgLy8gTW9kaWZ5IGNvbnRleHRDb25maWd1cmF0aW9uIGhlcmUuCi0g
ICAgYXV0byBjb25maWd1cmF0aW9uID0gZ2VuZXJhdGVQYWdlQ29uZmlndXJhdGlvbihjb250ZXh0
Q29uZmlndXJhdGlvbi5nZXQoKSk7CisgICAgbV9jb25maWd1cmF0aW9uID0gYWRvcHRXSyhXS1Bh
Z2VDb25maWd1cmF0aW9uQ3JlYXRlKCkpOworICAgIFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRDb250
ZXh0KG1fY29uZmlndXJhdGlvbi5nZXQoKSwgbV9jb250ZXh0LmdldCgpKTsKKyAgICBXS1BhZ2VD
b25maWd1cmF0aW9uU2V0UGFnZUdyb3VwKG1fY29uZmlndXJhdGlvbi5nZXQoKSwgbV9wYWdlR3Jv
dXAuZ2V0KCkpOworICAgIFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRVc2VyQ29udGVudENvbnRyb2xs
ZXIobV9jb25maWd1cmF0aW9uLmdldCgpLCBhZG9wdFdLKFdLVXNlckNvbnRlbnRDb250cm9sbGVy
Q3JlYXRlKCkpLmdldCgpKTsKIAogICAgIC8vIFNvbWUgcHJlZmVyZW5jZXMgKG5vdGFibHkgbW9j
ayBzY3JvbGwgYmFycyBzZXR0aW5nKSBjdXJyZW50bHkgY2Fubm90IGJlIHJlLWFwcGxpZWQgdG8g
YW4gZXhpc3Rpbmcgdmlldywgc28gd2UgbmVlZCB0byBzZXQgdGhlbSBub3cuCi0gICAgLy8gRklY
TUU6IE1pZ3JhdGUgdGhlc2UgcHJlZmVyZW5jZXMgdG8gV0tDb250ZXh0Q29uZmlndXJhdGlvblJl
Zi4KICAgICByZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCk7Cit9CiAKLSAgICBw
bGF0Zm9ybUNyZWF0ZVdlYlZpZXcoY29uZmlndXJhdGlvbi5nZXQoKSwgb3B0aW9ucyk7Cit2b2lk
IFRlc3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMoY29uc3QgVmlld09wdGlv
bnMmIG9wdGlvbnMpCit7CisgICAgcGxhdGZvcm1DcmVhdGVXZWJWaWV3KG1fY29uZmlndXJhdGlv
bi5nZXQoKSwgb3B0aW9ucyk7CiAgICAgV0tQYWdlVUlDbGllbnRWNiBwYWdlVUlDbGllbnQgPSB7
CiAgICAgICAgIHsgNiwgbV9tYWluV2ViVmlldy5nZXQoKSB9LAogICAgICAgICAwLCAvLyBjcmVh
dGVOZXdQYWdlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAKQEAgLTU3OCwxMCArNTY0LDEwIEBAIHZv
aWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhjb25zdCBUZXN0T3B0
aW9ucyYgb3B0aW9ucykKIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6ZW5zdXJlVmlld1N1cHBvcnRz
T3B0aW9uc0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiB7Ci0gICAgYXV0byBv
cHRpb25zID0gdGVzdE9wdGlvbnNGb3JUZXN0KHRlc3QpOworICAgIGF1dG8gdmlld09wdGlvbnMg
PSB2aWV3T3B0aW9uc0ZvclRlc3QodGVzdCk7CiAKICAgICBpZiAobV9tYWluV2ViVmlldykgewot
ICAgICAgICBpZiAobV9tYWluV2ViVmlldy0+dmlld1N1cHBvcnRzT3B0aW9ucyhvcHRpb25zKSkK
KyAgICAgICAgaWYgKG1fbWFpbldlYlZpZXctPnZpZXdTdXBwb3J0c09wdGlvbnModmlld09wdGlv
bnMpKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVu
dChtX21haW5XZWJWaWV3LT5wYWdlKCksIG51bGxwdHIpOwpAQCAtNTkxLDcgKzU3Nyw3IEBAIHZv
aWQgVGVzdENvbnRyb2xsZXI6OmVuc3VyZVZpZXdTdXBwb3J0c09wdGlvbnNGb3JUZXN0KGNvbnN0
IFRlc3RJbnZvY2F0aW9uJiB0ZXN0CiAgICAgICAgIG1fbWFpbldlYlZpZXcgPSBudWxscHRyOwog
ICAgIH0KIAotICAgIGNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhvcHRpb25zKTsKKyAgICBjcmVh
dGVXZWJWaWV3V2l0aE9wdGlvbnModmlld09wdGlvbnMpOwogCiAgICAgaWYgKCFyZXNldFN0YXRl
VG9Db25zaXN0ZW50VmFsdWVzKCkpCiAgICAgICAgIFRlc3RJbnZvY2F0aW9uOjpkdW1wV2ViUHJv
Y2Vzc1VucmVzcG9uc2l2ZW5lc3MoIjx1bmtub3duPiAtIFRlc3RDb250cm9sbGVyOjpydW4gLSBG
YWlsZWQgdG8gcmVzZXQgc3RhdGUgdG8gY29uc2lzdGVudCB2YWx1ZXNcbiIpOwpAQCAtODIyLDcg
KzgwOCw3IEBAIHN0YXRpYyBzdGQ6OnN0cmluZyB0ZXN0UGF0aChjb25zdCBXS1VSTFJlZiB1cmwp
CiAgICAgcmV0dXJuIHN0ZDo6c3RyaW5nKCk7CiB9CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZVRlc3RP
cHRpb25zRnJvbVRlc3RIZWFkZXIoVGVzdE9wdGlvbnMmIHRlc3RPcHRpb25zLCBjb25zdCBUZXN0
SW52b2NhdGlvbiYgdGVzdCkKK3N0YXRpYyB2b2lkIHVwZGF0ZVZpZXdPcHRpb25zRnJvbVRlc3RI
ZWFkZXIoVmlld09wdGlvbnMmIHZpZXdPcHRpb25zLCBjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVz
dCkKIHsKICAgICBzdGQ6OnN0cmluZyBmaWxlbmFtZSA9IHRlc3RQYXRoKHRlc3QudXJsKCkpOwog
ICAgIGlmIChmaWxlbmFtZS5lbXB0eSgpKQpAQCAtODU2LDI0ICs4NDIsMjQgQEAgc3RhdGljIHZv
aWQgdXBkYXRlVGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcihUZXN0T3B0aW9ucyYgdGVzdE9wdGlv
bnMsIGNvbnN0IFRlc3QKICAgICAgICAgfQogICAgICAgICBhdXRvIGtleSA9IHBhaXJTdHJpbmcu
c3Vic3RyKHBhaXJTdGFydCwgZXF1YWxzTG9jYXRpb24gLSBwYWlyU3RhcnQpOwogICAgICAgICBh
dXRvIHZhbHVlID0gcGFpclN0cmluZy5zdWJzdHIoZXF1YWxzTG9jYXRpb24gKyAxLCBwYWlyRW5k
IC0gKGVxdWFsc0xvY2F0aW9uICsgMSkpOwotICAgICAgICAvLyBPcHRpb25zIHByb2Nlc3Npbmcg
dG8gbW9kaWZ5IHRlc3RPcHRpb25zIGdvZXMgaGVyZS4KKyAgICAgICAgLy8gT3B0aW9ucyBwcm9j
ZXNzaW5nIHRvIG1vZGlmeSB2aWV3T3B0aW9ucyBnb2VzIGhlcmUuCiAgICAgICAgIHBhaXJTdGFy
dCA9IHBhaXJFbmQgKyAxOwogICAgIH0KIH0KIAotVGVzdE9wdGlvbnMgVGVzdENvbnRyb2xsZXI6
OnRlc3RPcHRpb25zRm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkgY29uc3QKK1Zp
ZXdPcHRpb25zIFRlc3RDb250cm9sbGVyOjp2aWV3T3B0aW9uc0ZvclRlc3QoY29uc3QgVGVzdElu
dm9jYXRpb24mIHRlc3QpIGNvbnN0CiB7Ci0gICAgVGVzdE9wdGlvbnMgb3B0aW9uczsKKyAgICBW
aWV3T3B0aW9ucyB2aWV3T3B0aW9uczsKIAotICAgIG9wdGlvbnMudXNlUmVtb3RlTGF5ZXJUcmVl
ID0gbV9zaG91bGRVc2VSZW1vdGVMYXllclRyZWU7Ci0gICAgb3B0aW9ucy5zaG91bGRTaG93V2Vi
VmlldyA9IG1fc2hvdWxkU2hvd1dlYlZpZXc7Ci0gICAgb3B0aW9ucy51c2VGaXhlZExheW91dCA9
IHNob3VsZFVzZUZpeGVkTGF5b3V0KHRlc3QpOworICAgIHZpZXdPcHRpb25zLnVzZVJlbW90ZUxh
eWVyVHJlZSA9IG1fc2hvdWxkVXNlUmVtb3RlTGF5ZXJUcmVlOworICAgIHZpZXdPcHRpb25zLnNo
b3VsZFNob3dXZWJWaWV3ID0gbV9zaG91bGRTaG93V2ViVmlldzsKKyAgICB2aWV3T3B0aW9ucy51
c2VGaXhlZExheW91dCA9IHNob3VsZFVzZUZpeGVkTGF5b3V0KHRlc3QpOwogCi0gICAgdXBkYXRl
VGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcihvcHRpb25zLCB0ZXN0KTsKKyAgICB1cGRhdGVWaWV3
T3B0aW9uc0Zyb21UZXN0SGVhZGVyKHZpZXdPcHRpb25zLCB0ZXN0KTsKIAotICAgIHVwZGF0ZVBs
YXRmb3JtU3BlY2lmaWNUZXN0T3B0aW9uc0ZvclRlc3Qob3B0aW9ucywgdGVzdCk7CisgICAgdXBk
YXRlUGxhdGZvcm1TcGVjaWZpY1ZpZXdPcHRpb25zRm9yVGVzdCh2aWV3T3B0aW9ucywgdGVzdCk7
CiAKLSAgICByZXR1cm4gb3B0aW9uczsKKyAgICByZXR1cm4gdmlld09wdGlvbnM7CiB9CiAKIHZv
aWQgVGVzdENvbnRyb2xsZXI6OnVwZGF0ZVdlYlZpZXdTaXplRm9yVGVzdChjb25zdCBUZXN0SW52
b2NhdGlvbiYgdGVzdCkKQEAgLTE3ODEsMTIgKzE3NjcsMTIgQEAgdm9pZCBUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1XaWxsUnVuVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYpCiB7CiB9CiAKLXZv
aWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ3JlYXRlV2ViVmlldyhXS1BhZ2VDb25maWd1cmF0
aW9uUmVmIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQordm9pZCBU
ZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVXZWJWaWV3KFdLUGFnZUNvbmZpZ3VyYXRpb25S
ZWYgY29uZmlndXJhdGlvbiwgY29uc3QgVmlld09wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgbV9t
YWluV2ViVmlldyA9IHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZvcm1XZWJWaWV3Pihjb25maWd1cmF0
aW9uLCBvcHRpb25zKTsKIH0KIAotUGxhdGZvcm1XZWJWaWV3KiBUZXN0Q29udHJvbGxlcjo6cGxh
dGZvcm1DcmVhdGVPdGhlclBhZ2UoUGxhdGZvcm1XZWJWaWV3KiBwYXJlbnRWaWV3LCBXS1BhZ2VD
b25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25z
KQorUGxhdGZvcm1XZWJWaWV3KiBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVPdGhlclBh
Z2UoUGxhdGZvcm1XZWJWaWV3KiBwYXJlbnRWaWV3LCBXS1BhZ2VDb25maWd1cmF0aW9uUmVmIGNv
bmZpZ3VyYXRpb24sIGNvbnN0IFZpZXdPcHRpb25zJiBvcHRpb25zKQogewogICAgIHJldHVybiBu
ZXcgUGxhdGZvcm1XZWJWaWV3KGNvbmZpZ3VyYXRpb24sIG9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IGE2ZDlhZjVmMDdmOGUyNDdhYjliZDdj
YTRjNmIxMmMwYTdiMzRkZGEuLjIyZjg5ZDgzY2QwYzFjNDkwN2JlNmViYWEzOWUxMGMzNGMyMmIz
YTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTQxLDcgKzQx
LDcgQEAgbmFtZXNwYWNlIFdUUiB7CiBjbGFzcyBUZXN0SW52b2NhdGlvbjsKIGNsYXNzIFBsYXRm
b3JtV2ViVmlldzsKIGNsYXNzIEV2ZW50U2VuZGVyUHJveHk7Ci1zdHJ1Y3QgVGVzdE9wdGlvbnM7
CitzdHJ1Y3QgVmlld09wdGlvbnM7CiAKIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBUZXN0UnVubmVy
PwogY2xhc3MgVGVzdENvbnRyb2xsZXIgewpAQCAtNjIsOCArNjIsOCBAQCBwdWJsaWM6CiAKICAg
ICBib29sIHZlcmJvc2UoKSBjb25zdCB7IHJldHVybiBtX3ZlcmJvc2U7IH0KIAotICAgIFdLU3Ry
aW5nUmVmIGluamVjdGVkQnVuZGxlUGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1faW5qZWN0ZWRCdW5k
bGVQYXRoLmdldCgpOyB9Ci0gICAgV0tTdHJpbmdSZWYgdGVzdFBsdWdpbkRpcmVjdG9yeSgpIGNv
bnN0IHsgcmV0dXJuIG1fdGVzdFBsdWdpbkRpcmVjdG9yeS5nZXQoKTsgfQorICAgIFdLU3RyaW5n
UmVmIGluamVjdGVkQnVuZGxlUGF0aCgpIHsgcmV0dXJuIG1faW5qZWN0ZWRCdW5kbGVQYXRoLmdl
dCgpOyB9CisgICAgV0tTdHJpbmdSZWYgdGVzdFBsdWdpbkRpcmVjdG9yeSgpIHsgcmV0dXJuIG1f
dGVzdFBsdWdpbkRpcmVjdG9yeS5nZXQoKTsgfQogCiAgICAgUGxhdGZvcm1XZWJWaWV3KiBtYWlu
V2ViVmlldygpIHsgcmV0dXJuIG1fbWFpbldlYlZpZXcuZ2V0KCk7IH0KICAgICBXS0NvbnRleHRS
ZWYgY29udGV4dCgpIHsgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsgfQpAQCAtMTI5LDEwICsxMjks
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXROYXZpZ2F0aW9uR2VzdHVyZXNFbmFibGVkKGJvb2wg
dmFsdWUpOwogCiBwcml2YXRlOgotICAgIFdLUmV0YWluUHRyPFdLUGFnZUNvbmZpZ3VyYXRpb25S
ZWY+IGdlbmVyYXRlUGFnZUNvbmZpZ3VyYXRpb24oV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZik7
Ci0gICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0Q29uZmlndXJhdGlvblJlZj4gZ2VuZXJhdGVDb250
ZXh0Q29uZmlndXJhdGlvbigpIGNvbnN0OwogICAgIHZvaWQgaW5pdGlhbGl6ZShpbnQgYXJnYywg
Y29uc3QgY2hhciogYXJndltdKTsKLSAgICB2b2lkIGNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhj
b25zdCBUZXN0T3B0aW9ucyYpOworICAgIHZvaWQgY3JlYXRlV2ViVmlld1dpdGhPcHRpb25zKGNv
bnN0IFZpZXdPcHRpb25zJik7CiAgICAgdm9pZCBydW4oKTsKIAogICAgIHZvaWQgcnVuVGVzdGlu
Z1NlcnZlckxvb3AoKTsKQEAgLTE0Miw4ICsxNDAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxh
dGZvcm1EZXN0cm95KCk7CiAgICAgV0tDb250ZXh0UmVmIHBsYXRmb3JtQWRqdXN0Q29udGV4dChX
S0NvbnRleHRSZWYsIFdLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYpOwogICAgIHZvaWQgcGxhdGZv
cm1Jbml0aWFsaXplQ29udGV4dCgpOwotICAgIHZvaWQgcGxhdGZvcm1DcmVhdGVXZWJWaWV3KFdL
UGFnZUNvbmZpZ3VyYXRpb25SZWYsIGNvbnN0IFRlc3RPcHRpb25zJik7Ci0gICAgc3RhdGljIFBs
YXRmb3JtV2ViVmlldyogcGxhdGZvcm1DcmVhdGVPdGhlclBhZ2UoUGxhdGZvcm1XZWJWaWV3KiBw
YXJlbnRWaWV3LCBXS1BhZ2VDb25maWd1cmF0aW9uUmVmLCBjb25zdCBUZXN0T3B0aW9ucyYpOwor
ICAgIHZvaWQgcGxhdGZvcm1DcmVhdGVXZWJWaWV3KFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYsIGNv
bnN0IFZpZXdPcHRpb25zJik7CisgICAgc3RhdGljIFBsYXRmb3JtV2ViVmlldyogcGxhdGZvcm1D
cmVhdGVPdGhlclBhZ2UoUGxhdGZvcm1XZWJWaWV3KiBwYXJlbnRWaWV3LCBXS1BhZ2VDb25maWd1
cmF0aW9uUmVmLCBjb25zdCBWaWV3T3B0aW9ucyYpOwogICAgIHZvaWQgcGxhdGZvcm1SZXNldFBy
ZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCk7CiAgICAgdm9pZCBwbGF0Zm9ybVJlc2V0U3Rh
dGVUb0NvbnNpc3RlbnRWYWx1ZXMoKTsKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTE1OCw4ICsx
NTYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3Rvcnko
KTsKIAogICAgIHZvaWQgZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9uc0ZvclRlc3QoY29uc3QgVGVz
dEludm9jYXRpb24mKTsKLSAgICBUZXN0T3B0aW9ucyB0ZXN0T3B0aW9uc0ZvclRlc3QoY29uc3Qg
VGVzdEludm9jYXRpb24mKSBjb25zdDsKLSAgICB2b2lkIHVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNU
ZXN0T3B0aW9uc0ZvclRlc3QoVGVzdE9wdGlvbnMmLCBjb25zdCBUZXN0SW52b2NhdGlvbiYpIGNv
bnN0OworICAgIFZpZXdPcHRpb25zIHZpZXdPcHRpb25zRm9yVGVzdChjb25zdCBUZXN0SW52b2Nh
dGlvbiYpIGNvbnN0OworICAgIHZvaWQgdXBkYXRlUGxhdGZvcm1TcGVjaWZpY1ZpZXdPcHRpb25z
Rm9yVGVzdChWaWV3T3B0aW9ucyYsIGNvbnN0IFRlc3RJbnZvY2F0aW9uJikgY29uc3Q7CiAKICAg
ICB2b2lkIHVwZGF0ZVdlYlZpZXdTaXplRm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYpOwog
ICAgIHZvaWQgdXBkYXRlV2luZG93U2NhbGVGb3JUZXN0KFBsYXRmb3JtV2ViVmlldyosIGNvbnN0
IFRlc3RJbnZvY2F0aW9uJik7CkBAIC0yNjAsNiArMjU4LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UGxhdGZvcm1XZWJWaWV3PiBtX21haW5XZWJWaWV3OwogICAgIFdLUmV0YWlu
UHRyPFdLQ29udGV4dFJlZj4gbV9jb250ZXh0OwogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3Vw
UmVmPiBtX3BhZ2VHcm91cDsKKyAgICBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1cmF0aW9uUmVm
PiBtX2NvbmZpZ3VyYXRpb247CiAKICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgSW5pdGlhbCwK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZWI4MDFjZWFiNTlkOWRhNjk0ZmI5MzczOWUwNzEzNWY2MjRkOTNjNy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RPcHRpb25zLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBUZXN0T3B0aW9uc19oCi0jZGVmaW5lIFRlc3RPcHRpb25zX2gKLQotbmFt
ZXNwYWNlIFdUUiB7Ci0KLXN0cnVjdCBUZXN0T3B0aW9ucyB7Ci0gICAgYm9vbCB1c2VUaHJlYWRl
ZFNjcm9sbGluZyB7IGZhbHNlIH07Ci0gICAgYm9vbCB1c2VSZW1vdGVMYXllclRyZWUgeyBmYWxz
ZSB9OwotICAgIGJvb2wgc2hvdWxkU2hvd1dlYlZpZXcgeyBmYWxzZSB9OwotCi0gICAgYm9vbCB1
c2VGaXhlZExheW91dCB7IGZhbHNlIH07Ci19OwotCi19Ci0KLSNlbmRpZiAvLyBUZXN0T3B0aW9u
c19oCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1ZpZXdPcHRpb25zLmggYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1ZpZXdPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQ2MGFmN2Zl
NmZiYTlkMGJlYTg5MWRhMTFmNzVhN2Q4NTJiY2U5NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVmlld09wdGlvbnMuaApAQCAtMCwwICsxLDQyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBWaWV3T3B0aW9uc19oCisjZGVmaW5lIFZpZXdPcHRpb25zX2gKKworbmFt
ZXNwYWNlIFdUUiB7CisKK3N0cnVjdCBWaWV3T3B0aW9ucyB7CisgICAgYm9vbCB1c2VUaHJlYWRl
ZFNjcm9sbGluZyB7IGZhbHNlIH07CisgICAgYm9vbCB1c2VSZW1vdGVMYXllclRyZWUgeyBmYWxz
ZSB9OworICAgIGJvb2wgc2hvdWxkU2hvd1dlYlZpZXcgeyBmYWxzZSB9OworICAgIGJvb2wgdXNl
VGlsZWREcmF3aW5nIHsgZmFsc2UgfTsKKworICAgIGJvb2wgdXNlRml4ZWRMYXlvdXQgeyBmYWxz
ZSB9OworfTsKKworfQorCisjZW5kaWYgLy8gVmlld09wdGlvbnNfaApkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBlOGNhNWJhMGUzOWVmZjQwYzIwN2QyMzExY2Q0Y2ExNzhm
MDgzY2JiLi4xNWNiZjFjMmVhYjgzZGM5MzhjZTI5YzI2OGU0YzIyZjJjYzZhZDAxIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5u
ZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTY0LDcgKzE2NCw3IEBACiAJCTBGRUI5
MDlFMTkwNUE3NzYwMDBGREJGMyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VDb2NvYS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFnZUNvY29h
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkVCOTBBMjE5MDVCQzZBMDAwRkRC
RjMgLyogQ3Jhc2hSZXBvcnRlckluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gQ3Jhc2hSZXBvcnRlckluZm8uaDsgcGF0aCA9IGNvY29hL0NyYXNoUmVwb3J0ZXJJbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRUI5MEEzMTkwNUJDNkEwMDBGREJGMyAv
KiBDcmFzaFJlcG9ydGVySW5mby5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
bmFtZSA9IENyYXNoUmVwb3J0ZXJJbmZvLm1tOyBwYXRoID0gY29jb2EvQ3Jhc2hSZXBvcnRlcklu
Zm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBMzMyNjA1MUI3NTM5NjUwMEY4
OUY2MiAvKiBUZXN0T3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXN0T3B0aW9ucy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQTMzMjYwNTFCNzUzOTY1MDBGODlGNjIgLyogVmll
d09wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlld09wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjZENzU4RTUxNjBCRUNEQzAwMjY4NDcyIC8qIEdlb2xvY2F0aW9uUHJv
dmlkZXJNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlb2xv
Y2F0aW9uUHJvdmlkZXJNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjZE
NzU4RTYxNjBCRUNERDAwMjY4NDcyIC8qIEdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlb2xvY2F0aW9uUHJvdmlkZXJNb2NrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5MjEwRUEyMTQ0Q0FBQTUwMDgzNUJCNSAvKiBB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0zODMsNyArMzgzLDcgQEAKIAkJCQlCQzc5MzQyRjExOEY3RjE5MDA1RUE4RTIg
LyogVGVzdENvbnRyb2xsZXIuaCAqLywKIAkJCQlCQ0Q3RDJGNzExOTIxMjc4MDA2REI3RUUgLyog
VGVzdEludm9jYXRpb24uY3BwICovLAogCQkJCUJDRDdEMkY2MTE5MjEyNzgwMDZEQjdFRSAvKiBU
ZXN0SW52b2NhdGlvbi5oICovLAotCQkJCTFBMzMyNjA1MUI3NTM5NjUwMEY4OUY2MiAvKiBUZXN0
T3B0aW9ucy5oICovLAorCQkJCTFBMzMyNjA1MUI3NTM5NjUwMEY4OUY2MiAvKiBWaWV3T3B0aW9u
cy5oICovLAogCQkJCUJDMjUxQTE3MTFEMTY3NzQwMDJFQkMwMSAvKiBXZWJLaXRUZXN0UnVubmVy
UHJlZml4LmggKi8sCiAJCQkJMzE2NEM4RUYxNUQxQURBMTAwRUYxRkUwIC8qIFdlYk5vdGlmaWNh
dGlvblByb3ZpZGVyLmNwcCAqLywKIAkJCQkzMTEwQkUwRjE1QkEwMTE0MDBEMjE2QUMgLyogV2Vi
Tm90aWZpY2F0aW9uUHJvdmlkZXIuaCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCAyZmJlYTI0MzYyMDQ3ZTk2Yjk4
NzZhNzhhMWY3ODQzMDdhMzg1ZDgyLi5lNjUzYjg5NDNjZjhlMmEyMjI3OWYwYjk4OGM3NGM3MTAw
MjAzYzQ5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250
cm9sbGVyQ29jb2EubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29u
dHJvbGxlckNvY29hLm1tCkBAIC01MCw4ICs1MCw3IEBAIHN0YXRpYyBXS1dlYlZpZXdDb25maWd1
cmF0aW9uICpnbG9iYWxXZWJWaWV3Q29uZmlndXJhdGlvbjsKIHZvaWQgaW5pdGlhbGl6ZVdlYlZp
ZXdDb25maWd1cmF0aW9uKGNvbnN0IGNoYXIqIGxpYnJhcnlQYXRoLCBXS1N0cmluZ1JlZiBpbmpl
Y3RlZEJ1bmRsZVBhdGgsIFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0NvbnRleHRDb25maWd1cmF0
aW9uUmVmIGNvbnRleHRDb25maWd1cmF0aW9uKQogewogI2lmIFdLX0FQSV9FTkFCTEVECi0gICAg
aWYgKGdsb2JhbFdlYlZpZXdDb25maWd1cmF0aW9uKQotICAgICAgICBbZ2xvYmFsV2ViVmlld0Nv
bmZpZ3VyYXRpb24gcmVsZWFzZV07CisgICAgQVNTRVJUKCFnbG9iYWxXZWJWaWV3Q29uZmlndXJh
dGlvbik7CiAgICAgZ2xvYmFsV2ViVmlld0NvbmZpZ3VyYXRpb24gPSBbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdOwogCiAgICAgZ2xvYmFsV2ViVmlld0NvbmZpZ3VyYXRpb24u
cHJvY2Vzc1Bvb2wgPSBbW1dLUHJvY2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRp
b246KF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiAqKWNvbnRleHRDb25maWd1cmF0aW9uXTsK
QEAgLTc1LDEyICs3NCwxMiBAQCBXS1ByZWZlcmVuY2VzUmVmIFRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybVByZWZlcmVuY2VzKCkKICNlbmRpZgogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybUNyZWF0ZVdlYlZpZXcoV0tQYWdlQ29uZmlndXJhdGlvblJlZiwgY29uc3QgVGVzdE9wdGlv
bnMmIG9wdGlvbnMpCit2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZVdlYlZpZXco
V0tQYWdlQ29uZmlndXJhdGlvblJlZiwgY29uc3QgVmlld09wdGlvbnMmIG9wdGlvbnMpCiB7CiAg
ICAgbV9tYWluV2ViVmlldyA9IHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZvcm1XZWJWaWV3PihnbG9i
YWxXZWJWaWV3Q29uZmlndXJhdGlvbiwgb3B0aW9ucyk7CiB9CiAKLVBsYXRmb3JtV2ViVmlldyog
VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ3JlYXRlT3RoZXJQYWdlKFBsYXRmb3JtV2ViVmlldyog
cGFyZW50VmlldywgV0tQYWdlQ29uZmlndXJhdGlvblJlZiwgY29uc3QgVGVzdE9wdGlvbnMmIG9w
dGlvbnMpCitQbGF0Zm9ybVdlYlZpZXcqIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZU90
aGVyUGFnZShQbGF0Zm9ybVdlYlZpZXcqIHBhcmVudFZpZXcsIFdLUGFnZUNvbmZpZ3VyYXRpb25S
ZWYsIGNvbnN0IFZpZXdPcHRpb25zJiBvcHRpb25zKQogewogI2lmIFdLX0FQSV9FTkFCTEVECiAg
ICAgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqbmV3Q29uZmlndXJhdGlvbiA9IFtbZ2xvYmFsV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gY29weV0gYXV0b3JlbGVhc2VdOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAKaW5kZXggYjIyMmQ2MDM1NDA1
ODUyN2JkNjM0OTE2OTQ3NjhiZmU2ODAxMjQ0OS4uZDEzNmFhNTU0MWE1Y2UzNjAwYjI1ZmIwOTdh
MTI0ZWY0ZTAxNTQ2OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxh
dGZvcm1XZWJWaWV3RWZsLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0
Zm9ybVdlYlZpZXdFZmwuY3BwCkBAIC01Myw3ICs1Myw3IEBAIHN0YXRpYyBFY29yZV9FdmFzKiBp
bml0RWNvcmVFdmFzKCkKICAgICByZXR1cm4gZWNvcmVFdmFzOwogfQogCi1QbGF0Zm9ybVdlYlZp
ZXc6OlBsYXRmb3JtV2ViVmlldyhXS1BhZ2VDb25maWd1cmF0aW9uUmVmIGNvbmZpZ3VyYXRpb24s
IGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQorUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdl
YlZpZXcoV0tQYWdlQ29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uLCBjb25zdCBWaWV3T3B0
aW9ucyYgb3B0aW9ucykKICAgICA6IG1fb3B0aW9ucyhvcHRpb25zKQogewogICAgIFdLUmV0YWlu
UHRyPFdLU3RyaW5nUmVmPiB1c2VGaXhlZExheW91dEtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiVXNlRml4ZWRMYXlvdXQiKSk7CkBAIC0xNDQsNyArMTQ0LDcgQEAg
V0tSZXRhaW5QdHI8V0tJbWFnZVJlZj4gUGxhdGZvcm1XZWJWaWV3Ojp3aW5kb3dTbmFwc2hvdElt
YWdlKCkKICAgICByZXR1cm4gYWRvcHRXSyhXS1ZpZXdDcmVhdGVTbmFwc2hvdChFV0tWaWV3R2V0
V0tWaWV3KG1fdmlldykpKTsKIH0KIAotYm9vbCBQbGF0Zm9ybVdlYlZpZXc6OnZpZXdTdXBwb3J0
c09wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpIGNvbnN0Citib29sIFBsYXRmb3Jt
V2ViVmlldzo6dmlld1N1cHBvcnRzT3B0aW9ucyhjb25zdCBWaWV3T3B0aW9ucyYgb3B0aW9ucykg
Y29uc3QKIHsKICAgICBpZiAobV9vcHRpb25zLnVzZUZpeGVkTGF5b3V0ICE9IG9wdGlvbnMudXNl
Rml4ZWRMYXlvdXQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvZWZsL1Rlc3RDb250cm9sbGVyRWZsLmNwcCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvZWZsL1Rlc3RDb250cm9sbGVyRWZsLmNwcAppbmRleCBhYWFlODhiMjNmNDRkYjIw
NTExYzA4NjMxM2RkODgyNTNhNzYyNjNiLi4yNjc0MWY1ZjE0ZThhMGFlODZjZmM3Nzc5M2ExZWIx
ZjBmMjc4NjY1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9UZXN0Q29u
dHJvbGxlckVmbC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvVGVzdENvbnRy
b2xsZXJFZmwuY3BwCkBAIC0xNDgsOSArMTQ4LDkgQEAgc3RhdGljIGJvb2wgc2hvdWxkVXNlRml4
ZWRMYXlvdXQoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi12b2lkIFRlc3RDb250cm9sbGVyOjp1cGRhdGVQbGF0Zm9ybVNwZWNpZmljVGVzdE9wdGlv
bnNGb3JUZXN0KFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9ucywgY29uc3QgVGVzdEludm9jYXRpb24m
IHRlc3QpIGNvbnN0Cit2b2lkIFRlc3RDb250cm9sbGVyOjp1cGRhdGVQbGF0Zm9ybVNwZWNpZmlj
Vmlld09wdGlvbnNGb3JUZXN0KFZpZXdPcHRpb25zJiB2aWV3T3B0aW9ucywgY29uc3QgVGVzdElu
dm9jYXRpb24mIHRlc3QpIGNvbnN0CiB7Ci0gICAgdGVzdE9wdGlvbnMudXNlRml4ZWRMYXlvdXQg
PSBzaG91bGRVc2VGaXhlZExheW91dCh0ZXN0KTsKKyAgICB2aWV3T3B0aW9ucy51c2VGaXhlZExh
eW91dCA9IHNob3VsZFVzZUZpeGVkTGF5b3V0KHRlc3QpOwogfQogCiB2b2lkIFRlc3RDb250cm9s
bGVyOjpwbGF0Zm9ybUNvbmZpZ3VyZVZpZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJikK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL1BsYXRmb3JtV2ViVmlld0d0
ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0ay9QbGF0Zm9ybVdlYlZpZXdHdGsuY3Bw
CmluZGV4IGZmMThmODQyYWE2ZWQzYjA3NzMwMThhOTkwZGFlYmE5NTdlZjQ5NjkuLmFkOWIwMjc5
YTYwYThlOTEwZDU1NmY0NDU3ZDdhN2JiYzM3YmU1OGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvZ3RrL1BsYXRmb3JtV2ViVmlld0d0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9ndGsvUGxhdGZvcm1XZWJWaWV3R3RrLmNwcApAQCAtMzYsNyArMzYsNyBAQAog
CiBuYW1lc3BhY2UgV1RSIHsKIAotUGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZpZXcoV0tQ
YWdlQ29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uLCBjb25zdCBUZXN0T3B0aW9ucyYgb3B0
aW9ucykKK1BsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLUGFnZUNvbmZpZ3VyYXRp
b25SZWYgY29uZmlndXJhdGlvbiwgY29uc3QgVmlld09wdGlvbnMmIG9wdGlvbnMpCiAgICAgOiBt
X3ZpZXcoV0tWaWV3Q3JlYXRlKGNvbmZpZ3VyYXRpb24pKQogICAgICwgbV93aW5kb3coZ3RrX3dp
bmRvd19uZXcoR1RLX1dJTkRPV19QT1BVUCkpCiAgICAgLCBtX3dpbmRvd0lzS2V5KHRydWUpCkBA
IC0xNDIsNyArMTQyLDcgQEAgdm9pZCBQbGF0Zm9ybVdlYlZpZXc6OmRpZEluaXRpYWxpemVDbGll
bnRzKCkKIHsKIH0KIAotYm9vbCBQbGF0Zm9ybVdlYlZpZXc6OnZpZXdTdXBwb3J0c09wdGlvbnMo
Y29uc3QgVGVzdE9wdGlvbnMmKSBjb25zdAorYm9vbCBQbGF0Zm9ybVdlYlZpZXc6OnZpZXdTdXBw
b3J0c09wdGlvbnMoY29uc3QgVmlld09wdGlvbnMmKSBjb25zdAogewogICAgIHJldHVybiB0cnVl
OwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvVGVzdENvbnRyb2xs
ZXJHdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvVGVzdENvbnRyb2xsZXJHdGsu
Y3BwCmluZGV4IDBhN2Y4YTkwYzM2N2U4MTUyZmY4NWZjMjJkNDVmNTRlYjkwNDY0NzkuLmQ4MWFi
NWM2YWIyYWIxMjI4ODE0ZGVmNDcwYzNhMjMzZDYwZWVhMGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvZ3RrL1Rlc3RDb250cm9sbGVyR3RrLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2d0ay9UZXN0Q29udHJvbGxlckd0ay5jcHAKQEAgLTEyOCw3ICsxMjgsNyBA
QCB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3Rl
bnRWYWx1ZXMoKQogICAgIG1fbWFpbldlYlZpZXctPmRpc21pc3NBbGxQb3B1cE1lbnVzKCk7CiB9
CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNUZXN0T3B0aW9u
c0ZvclRlc3QoVGVzdE9wdGlvbnMmLCBjb25zdCBUZXN0SW52b2NhdGlvbiYpIGNvbnN0Cit2b2lk
IFRlc3RDb250cm9sbGVyOjp1cGRhdGVQbGF0Zm9ybVNwZWNpZmljVmlld09wdGlvbnNGb3JUZXN0
KFZpZXdPcHRpb25zJiwgY29uc3QgVGVzdEludm9jYXRpb24mKSBjb25zdAogewogfQogCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0g
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KaW5kZXgg
NmExZjQ3YTFhYzFkZTdhM2FjMWM3ZWRhMzA4ZjhiZjQ3ZmRjOThjOC4uMmU5YzUxMWYzOWFhZjgw
OGZjNDFlODBlYjQzMTQ4MDg2ZWYzZjlmZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQpAQCAtMTAwLDcgKzEwMCw3IEBACiAKIG5hbWVz
cGFjZSBXVFIgewogCi1QbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3JtV2ViVmlldyhXS1dlYlZpZXdD
b25maWd1cmF0aW9uKiBjb25maWd1cmF0aW9uLCBjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykK
K1BsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24q
IGNvbmZpZ3VyYXRpb24sIGNvbnN0IFZpZXdPcHRpb25zJiBvcHRpb25zKQogICAgIDogbV93aW5k
b3dJc0tleSh0cnVlKQogICAgICwgbV9vcHRpb25zKG9wdGlvbnMpCiB7CkBAIC0yMDIsNyArMjAy
LDcgQEAgV0tSZXRhaW5QdHI8V0tJbWFnZVJlZj4gUGxhdGZvcm1XZWJWaWV3Ojp3aW5kb3dTbmFw
c2hvdEltYWdlKCkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotYm9vbCBQbGF0Zm9ybVdlYlZp
ZXc6OnZpZXdTdXBwb3J0c09wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpIGNvbnN0
Citib29sIFBsYXRmb3JtV2ViVmlldzo6dmlld1N1cHBvcnRzT3B0aW9ucyhjb25zdCBWaWV3T3B0
aW9ucyYgb3B0aW9ucykgY29uc3QKIHsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KaW5kZXggZjZhMWQzY2M5
NDllNmE5YTYyMTRmYjBiYzQxZTk5Mzg1NmMzNDE5NS4uMTY3MTYxZTE2NDMzNjIwNjVlMWFmNTBm
ZThiNDE0YjRhMjYyMzg0NiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3Mv
VGVzdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVz
dENvbnRyb2xsZXJJT1MubW0KQEAgLTEwMiw3ICsxMDIsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVy
OjpwbGF0Zm9ybUNvbmZpZ3VyZVZpZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJiB0ZXN0
KQogICAgIH0KIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6dXBkYXRlUGxhdGZvcm1TcGVjaWZp
Y1Rlc3RPcHRpb25zRm9yVGVzdChUZXN0T3B0aW9ucyYsIGNvbnN0IFRlc3RJbnZvY2F0aW9uJikg
Y29uc3QKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0
aW9uc0ZvclRlc3QoVmlld09wdGlvbnMmLCBjb25zdCBUZXN0SW52b2NhdGlvbiYpIGNvbnN0CiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2Vi
Vmlld01hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01h
Yy5tbQppbmRleCBlOTc0ZGRhNGUyNTYyYTAyZjM3NzM3ODZlZWY2M2M4ZjEwM2RiY2ZkLi44MWEy
MGNjNGJkOGMxMzllOWZhMzZiNTRjMzMyZmY5NDUzZjNhNmI5IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCkBAIC0xMTQsNyArMTE0LDcg
QEAgZW51bSB7CiAKIG5hbWVzcGFjZSBXVFIgewogCi1QbGF0Zm9ybVdlYlZpZXc6OlBsYXRmb3Jt
V2ViVmlldyhXS1dlYlZpZXdDb25maWd1cmF0aW9uKiBjb25maWd1cmF0aW9uLCBjb25zdCBUZXN0
T3B0aW9ucyYgb3B0aW9ucykKK1BsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24qIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFZpZXdPcHRpb25zJiBvcHRp
b25zKQogICAgIDogbV93aW5kb3dJc0tleSh0cnVlKQogICAgICwgbV9vcHRpb25zKG9wdGlvbnMp
CiB7CkBAIC0yNDAsNyArMjQwLDcgQEAgV0tSZXRhaW5QdHI8V0tJbWFnZVJlZj4gUGxhdGZvcm1X
ZWJWaWV3Ojp3aW5kb3dTbmFwc2hvdEltYWdlKCkKICAgICByZXR1cm4gYWRvcHRXSyhXS0ltYWdl
Q3JlYXRlRnJvbUNHSW1hZ2Uod2luZG93U25hcHNob3RJbWFnZS5nZXQoKSwgMCkpOwogfQogCi1i
b29sIFBsYXRmb3JtV2ViVmlldzo6dmlld1N1cHBvcnRzT3B0aW9ucyhjb25zdCBUZXN0T3B0aW9u
cyYgb3B0aW9ucykgY29uc3QKK2Jvb2wgUGxhdGZvcm1XZWJWaWV3Ojp2aWV3U3VwcG9ydHNPcHRp
b25zKGNvbnN0IFZpZXdPcHRpb25zJiBvcHRpb25zKSBjb25zdAogewogICAgIGlmIChtX29wdGlv
bnMudXNlVGhyZWFkZWRTY3JvbGxpbmcgIT0gb3B0aW9ucy51c2VUaHJlYWRlZFNjcm9sbGluZykK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9U
ZXN0Q29udHJvbGxlck1hYy5tbQppbmRleCBhZjM5M2IyNDk4MTliODAxOWNhYzBmNTZjYzBiODE0
MTc0ODNlOWE0Li44MzgwYTlmODZhMWIyNzU5Y2M2NzgxM2M4ODdlMjhkZjkzZjgxMzZmIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQpAQCAt
OTUsMTEgKzk1LDExIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRTdGF0ZVRv
Q29uc2lzdGVudFZhbHVlcygpCiAgICAgfQogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjp1cGRh
dGVQbGF0Zm9ybVNwZWNpZmljVGVzdE9wdGlvbnNGb3JUZXN0KFRlc3RPcHRpb25zJiBvcHRpb25z
LCBjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkgY29uc3QKK3ZvaWQgVGVzdENvbnRyb2xsZXI6
OnVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0aW9uc0ZvclRlc3QoVmlld09wdGlvbnMmIHZp
ZXdPcHRpb25zLCBjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkgY29uc3QKIHsKLSAgICBvcHRp
b25zLnVzZVRocmVhZGVkU2Nyb2xsaW5nID0gc2hvdWxkVXNlVGhyZWFkZWRTY3JvbGxpbmcodGVz
dCk7Ci0gICAgb3B0aW9ucy51c2VSZW1vdGVMYXllclRyZWUgPSBzaG91bGRVc2VSZW1vdGVMYXll
clRyZWUoKTsKLSAgICBvcHRpb25zLnNob3VsZFNob3dXZWJWaWV3ID0gc2hvdWxkU2hvd1dlYlZp
ZXcoKTsKKyAgICB2aWV3T3B0aW9ucy51c2VUaHJlYWRlZFNjcm9sbGluZyA9IHNob3VsZFVzZVRo
cmVhZGVkU2Nyb2xsaW5nKHRlc3QpOworICAgIHZpZXdPcHRpb25zLnVzZVJlbW90ZUxheWVyVHJl
ZSA9IHNob3VsZFVzZVJlbW90ZUxheWVyVHJlZSgpOworICAgIHZpZXdPcHRpb25zLnNob3VsZFNo
b3dXZWJWaWV3ID0gc2hvdWxkU2hvd1dlYlZpZXcoKTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVz
dCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>