<?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>77529</bug_id>
          
          <creation_ts>2012-02-01 01:41:23 -0800</creation_ts>
          <short_desc>REGRESSION(r106432): it breaks tests (Requested by shinyak on #webkit).</short_desc>
          <delta_ts>2012-02-01 01:49:53 -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>528+ (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>76611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>morrita</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>546906</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 01:41:23 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/106432 broke the build:
it breaks tests (Requested by shinyak on #webkit).

This is an automatic bug report generated by the sheriff-bot. 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 case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546907</commentid>
    <comment_count>1</comment_count>
      <attachid>124906</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 01:41:54 -0800</bug_when>
    <thetext>Created attachment 124906
ROLLOUT of r106432

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>546915</commentid>
    <comment_count>2</comment_count>
      <attachid>124906</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 01:49:48 -0800</bug_when>
    <thetext>Comment on attachment 124906
ROLLOUT of r106432

Clearing flags on attachment: 124906

Committed r106451: &lt;http://trac.webkit.org/changeset/106451&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546916</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 01:49:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124906</attachid>
            <date>2012-02-01 01:41:54 -0800</date>
            <delta_ts>2012-02-01 01:49:48 -0800</delta_ts>
            <desc>ROLLOUT of r106432</desc>
            <filename>bug-77529-20120201094318.patch</filename>
            <type>text/plain</type>
            <size>24826</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTY2YzM4Yzc4OTA0NjFk
ZjFjOTc0MWYwYTVjMjRiMWEzOWQ1N2U0My4uNTc4ZGNmY2FlZDI5MmJjMTM2ODJkYWZlMDA5YjEz
YjlkNTFhNjhiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAyLTAxICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTA2NDMyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMDY0MzIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc3NTI5CisKKyAgICAgICAgaXQgYnJlYWtzIHRlc3RzIChSZXF1ZXN0ZWQgYnkg
c2hpbnlhayBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmF0dGFjaCk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6cmVjYWxjU2hhZG93VHJlZVN0eWxl
KToKKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOgorICAgICAgICAoU2hhZG93Um9vdCk6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxDb250ZW50RWxlbWVudDo6YXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxDb250ZW50RWxlbWVudDo6ZGV0YWNoKToKKwogMjAxMi0wMS0yNiAgUGhpbGlwcGUgTm9ybWFu
ZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gMC4xMSB3ZWJr
aXR3ZWJzcmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA0MzY3M2E2Njc1MTExZTIxODdlZDNi
NDY3ZTEwZDA1YjE5ZDY1ZjVhLi5lMWE2Mzc2YmRkZjA5YzZmOTAxZTM5MDBkZDk4ZDExM2M0ZWNl
ZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC05NDAsMjUgKzk0MCwxNiBAQCB2b2lkIEVs
ZW1lbnQ6OmF0dGFjaCgpCiAgICAgUmVuZGVyV2lkZ2V0OjpzdXNwZW5kV2lkZ2V0SGllcmFyY2h5
VXBkYXRlcygpOwogCiAgICAgY3JlYXRlUmVuZGVyZXJJZk5lZWRlZCgpOworICAgIAogICAgIFN0
eWxlU2VsZWN0b3JQYXJlbnRQdXNoZXIgcGFyZW50UHVzaGVyKHRoaXMpOwogCi0gICAgLy8gV2hl
biBhIHNoYWRvdyByb290IGV4aXN0cywgaXQgZG9lcyB0aGUgd29yayBvZiBhdHRhY2hpbmcgdGhl
IGNoaWxkcmVuLgorICAgIGlmIChmaXJzdENoaWxkKCkpCisgICAgICAgIHBhcmVudFB1c2hlci5w
dXNoKCk7CisgICAgQ29udGFpbmVyTm9kZTo6YXR0YWNoKCk7CisKICAgICBpZiAoU2hhZG93Um9v
dCogc2hhZG93ID0gc2hhZG93Um9vdCgpKSB7Ci0gICAgICAgIE5vZGU6OmF0dGFjaCgpOwogICAg
ICAgICBwYXJlbnRQdXNoZXIucHVzaCgpOwogICAgICAgICBzaGFkb3ctPmF0dGFjaCgpOwotCi0g
ICAgICAgIC8vIEluIGEgc2hhZG93IHRyZWUsIHNvbWUgb2YgbGlnaHQgY2hpbGRyZW4gbWF5IGJl
IGF0dGFjaGVkIGJ5ICdjb250ZW50JyBlbGVtZW50LgotICAgICAgICAvLyBIb3dldmVyLCB3aGVu
IHRoZXJlIGlzIG5vIGNvbnRlbnQgZWxlbWVudCBvciBjb250ZW50IGVsZW1lbnQgZG9lcyBub3Qg
c2VsZWN0Ci0gICAgICAgIC8vIGFsbCBsaWdodCBjaGlsZHJlbiwgd2UgaGF2ZSB0byBhdHRhY2gg
dGhlIHJlc3Qgb2YgbGlnaHQgY2hpbGRyZW4gaGVyZS4KLSAgICAgICAgZm9yIChOb2RlKiBjaGls
ZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsK
LSAgICAgICAgICAgIGlmICghY2hpbGQtPmF0dGFjaGVkKCkpCi0gICAgICAgICAgICAgICAgY2hp
bGQtPmF0dGFjaCgpOwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGZpcnN0
Q2hpbGQoKSkKLSAgICAgICAgICAgIHBhcmVudFB1c2hlci5wdXNoKCk7Ci0gICAgICAgIENvbnRh
aW5lck5vZGU6OmF0dGFjaCgpOwogICAgIH0KIAogICAgIGlmIChoYXNSYXJlRGF0YSgpKSB7ICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXggMzE2YmMyODM5Mjg4ZmRlYWFkMmU5YmVj
MDdjODdmNDQzNGM3YzdiOS4uNDAyMmU5YWVhMTc2ODQ4MTgyMjcyYjA3ODQyYzM5Yzk1NDEyZjc4
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAtOTksOCArOTksOCBAQCBib29sIFNo
YWRvd1Jvb3Q6OmNoaWxkVHlwZUFsbG93ZWQoTm9kZVR5cGUgdHlwZSkgY29uc3QKIAogdm9pZCBT
aGFkb3dSb290OjpyZWNhbGNTaGFkb3dUcmVlU3R5bGUoU3R5bGVDaGFuZ2UgY2hhbmdlKQogewot
ICAgIGlmIChuZWVkc1NoYWRvd1RyZWVTdHlsZVJlY2FsYygpIHx8IGhhc0NvbnRlbnRFbGVtZW50
KCkpCi0gICAgICAgIHJlYXR0YWNoSG9zdENoaWxkcmVuQW5kU2hhZG93KCk7CisgICAgaWYgKGhh
c0NvbnRlbnRFbGVtZW50KCkpCisgICAgICAgIHJlYXR0YWNoKCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIGZvciAoTm9kZSogbiA9IGZpcnN0Q2hpbGQoKTsgbjsgbiA9IG4tPm5leHRTaWJsaW5nKCkp
IHsKICAgICAgICAgICAgIGlmIChuLT5pc0VsZW1lbnROb2RlKCkpCkBAIC0xMTAsNyArMTEwLDYg
QEAgdm9pZCBTaGFkb3dSb290OjpyZWNhbGNTaGFkb3dUcmVlU3R5bGUoU3R5bGVDaGFuZ2UgY2hh
bmdlKQogICAgICAgICB9CiAgICAgfQogCi0gICAgY2xlYXJOZWVkc1NoYWRvd1RyZWVTdHlsZVJl
Y2FsYygpOwogICAgIGNsZWFyTmVlZHNTdHlsZVJlY2FsYygpOwogICAgIGNsZWFyQ2hpbGROZWVk
c1N0eWxlUmVjYWxjKCk7CiB9CkBAIC0xNjksMjQgKzE2OCw2IEBAIHZvaWQgU2hhZG93Um9vdDo6
YXR0YWNoKCkKICAgICAgICAgbV9pbmNsdXNpb25zLT5kaWRTZWxlY3QoKTsKIH0KIAotdm9pZCBT
aGFkb3dSb290OjpyZWF0dGFjaEhvc3RDaGlsZHJlbkFuZFNoYWRvdygpCi17Ci0gICAgaWYgKCFo
b3N0KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGZvciAoTm9kZSogY2hpbGQgPSBob3N0KCkt
PmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKLSAg
ICAgICAgaWYgKGNoaWxkLT5hdHRhY2hlZCgpKQotICAgICAgICAgICAgY2hpbGQtPmRldGFjaCgp
OwotICAgIH0KLQotICAgIHJlYXR0YWNoKCk7Ci0KLSAgICBmb3IgKE5vZGUqIGNoaWxkID0gaG9z
dCgpLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKSB7
Ci0gICAgICAgIGlmICghY2hpbGQtPmF0dGFjaGVkKCkpCi0gICAgICAgICAgICBjaGlsZC0+YXR0
YWNoKCk7Ci0gICAgfQotfQotCiBDb250ZW50SW5jbHVzaW9uU2VsZWN0b3IqIFNoYWRvd1Jvb3Q6
OmluY2x1c2lvbnMoKSBjb25zdAogewogICAgIHJldHVybiBtX2luY2x1c2lvbnMuZ2V0KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuaAppbmRleCBmNzExZTU2YjFkYzE0YTA0NjhmYzdhMjE2Y2Y3ZTYw
NmExYzcyZGNmLi44MzZlNGFhYWNkNGY2Y2UxNWY3Y2FlY2JiOGJmYjc2NjQ3YmZjZDdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TaGFkb3dSb290LmgKQEAgLTQzLDE2ICs0MywxMSBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHJlY2FsY1NoYWRvd1RyZWVTdHlsZShTdHlsZUNoYW5nZSk7CiAKLSAgICB2b2lkIHNldE5l
ZWRzU2hhZG93VHJlZVN0eWxlUmVjYWxjKCk7Ci0gICAgdm9pZCBjbGVhck5lZWRzU2hhZG93VHJl
ZVN0eWxlUmVjYWxjKCk7Ci0gICAgYm9vbCBuZWVkc1NoYWRvd1RyZWVTdHlsZVJlY2FsYygpOwot
CiAgICAgSFRNTENvbnRlbnRFbGVtZW50KiBpbmNsdWRlckZvcihOb2RlKikgY29uc3Q7CiAgICAg
dm9pZCBob3N0Q2hpbGRyZW5DaGFuZ2VkKCk7CiAgICAgYm9vbCBpc0luY2x1c2lvblNlbGVjdG9y
QWN0aXZlKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCk7Ci0gICAgdm9pZCBy
ZWF0dGFjaEhvc3RDaGlsZHJlbkFuZFNoYWRvdygpOwogCiAgICAgdmlydHVhbCBib29sIGFwcGx5
QXV0aG9yU2hlZXRzKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBcHBseUF1dGhvclNoZWV0cyhib29s
KTsKQEAgLTczLDggKzY4LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgaGFzQ29udGVudEVsZW1l
bnQoKSBjb25zdDsKIAotICAgIGJvb2wgbV9hcHBseUF1dGhvclNoZWV0cyA6IDE7Ci0gICAgYm9v
bCBtX25lZWRzU2hhZG93VHJlZVN0eWxlUmVjYWxjIDogMTsKKyAgICBib29sIG1fYXBwbHlBdXRo
b3JTaGVldHM7CiAgICAgT3duUHRyPENvbnRlbnRJbmNsdXNpb25TZWxlY3Rvcj4gbV9pbmNsdXNp
b25zOwogfTsKIApAQCAtODMsMjEgKzc3LDYgQEAgaW5saW5lIFBhc3NSZWZQdHI8U2hhZG93Um9v
dD4gU2hhZG93Um9vdDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFNoYWRvd1Jvb3QoZG9jdW1lbnQpKTsKIH0KIAotaW5saW5lIHZvaWQgU2hhZG93
Um9vdDo6c2V0TmVlZHNTaGFkb3dUcmVlU3R5bGVSZWNhbGMoKQotewotICAgIG1fbmVlZHNTaGFk
b3dUcmVlU3R5bGVSZWNhbGMgPSB0cnVlOwotfQotCi1pbmxpbmUgdm9pZCBTaGFkb3dSb290Ojpj
bGVhck5lZWRzU2hhZG93VHJlZVN0eWxlUmVjYWxjKCkKLXsKLSAgICBtX25lZWRzU2hhZG93VHJl
ZVN0eWxlUmVjYWxjID0gZmFsc2U7Ci19Ci0KLWlubGluZSBib29sIFNoYWRvd1Jvb3Q6Om5lZWRz
U2hhZG93VHJlZVN0eWxlUmVjYWxjKCkKLXsKLSAgICByZXR1cm4gbV9uZWVkc1NoYWRvd1RyZWVT
dHlsZVJlY2FsYzsKLX0KLQogaW5saW5lIFNoYWRvd1Jvb3QqIHRvU2hhZG93Um9vdChOb2RlKiBu
b2RlKQogewogICAgIEFTU0VSVCghbm9kZSB8fCBub2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OlNI
QURPV19ST09UX05PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
SFRNTENvbnRlbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxD
b250ZW50RWxlbWVudC5jcHAKaW5kZXggYWVmNTc2MDFjNWQ4ZDAwMDFhZDRlODhlYWZlMjUzOGVm
YzZkYTQ3ZS4uOGM2ZWRiNmU4YjcxM2ZkYzE0NTA5MDE3MWM5OWRjNGMzNjEyMmVmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCkBA
IC04Myw2ICs4Myw4IEBAIHZvaWQgSFRNTENvbnRlbnRFbGVtZW50OjphdHRhY2goKQogCiAgICAg
aWYgKHJvb3QpIHsKICAgICAgICAgZm9yIChTaGFkb3dJbmNsdXNpb24qIGluY2x1c2lvbiA9IG1f
aW5jbHVzaW9ucy0+Zmlyc3QoKTsgaW5jbHVzaW9uOyBpbmNsdXNpb24gPSBpbmNsdXNpb24tPm5l
eHQoKSkKKyAgICAgICAgICAgIGluY2x1c2lvbi0+Y29udGVudCgpLT5kZXRhY2goKTsKKyAgICAg
ICAgZm9yIChTaGFkb3dJbmNsdXNpb24qIGluY2x1c2lvbiA9IG1faW5jbHVzaW9ucy0+Zmlyc3Qo
KTsgaW5jbHVzaW9uOyBpbmNsdXNpb24gPSBpbmNsdXNpb24tPm5leHQoKSkKICAgICAgICAgICAg
IGluY2x1c2lvbi0+Y29udGVudCgpLT5hdHRhY2goKTsKICAgICB9CiB9CkBAIC05MiwxMiArOTQs
NiBAQCB2b2lkIEhUTUxDb250ZW50RWxlbWVudDo6ZGV0YWNoKCkKICAgICBpZiAoU2hhZG93Um9v
dCogcm9vdCA9IHRvU2hhZG93Um9vdChzaGFkb3dUcmVlUm9vdE5vZGUoKSkpIHsKICAgICAgICAg
aWYgKENvbnRlbnRJbmNsdXNpb25TZWxlY3Rvciogc2VsZWN0b3IgPSByb290LT5pbmNsdXNpb25z
KCkpCiAgICAgICAgICAgICBzZWxlY3Rvci0+dW5zZWxlY3QobV9pbmNsdXNpb25zLmdldCgpKTsK
LQotICAgICAgICAvLyBXaGVuIGNvbnRlbnQgZWxlbWVudCBpcyBkZXRhY2hlZCwgc2hhZG93IHRy
ZWUgc2hvdWxkIGJlIHJlY3JlYXRlZCB0byByZS1jYWxjdWxhdGUgaW5jbHVzaW9ucyBmb3IKLSAg
ICAgICAgLy8gb3RoZXIgY29udGVudCBlbGVtZW50cy4KLSAgICAgICAgcm9vdC0+c2V0TmVlZHNT
aGFkb3dUcmVlU3R5bGVSZWNhbGMoKTsKLSAgICAgICAgaWYgKHJvb3QtPnNoYWRvd0hvc3QoKSkK
LSAgICAgICAgICAgIHJvb3QtPnNoYWRvd0hvc3QoKS0+c2V0TmVlZHNTdHlsZVJlY2FsYygpOwog
ICAgIH0KIAogICAgIEFTU0VSVChtX2luY2x1c2lvbnMtPmlzRW1wdHkoKSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjdi
NzcwOGVhYTllMDkzNzJhNzcwNGRkYWE2NjlmMjgzNDhmYzlhMS4uZGEzZGU5NDQ2MjBkOGM2MjBh
ZDY4ZTIxMjA2ZjFmZmM0ZTYwMGQ4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAyLTAx
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTA2NDMyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC8xMDY0MzIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc3NTI5CisKKyAgICAgICAgaXQgYnJlYWtzIHRlc3RzIChSZXF1ZXN0
ZWQgYnkgc2hpbnlhayBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9j
b250ZW50LWVsZW1lbnQtbW92ZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1tb3ZlLmh0bWw6IFJlbW92ZWQuCisKIDIwMTIt
MDItMDEgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtDaHJv
bWl1bV0gVW5yZXZpZXdlZCB0ZXN0IGV4cGVjdGFpb24gY2hhbmdlLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1tb3ZlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtbW92ZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5ZmVlMWQxMGJlYzcyZjNj
MmNkZWU3ZTNlZDhiYzc2ZGE0NzZhNjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVu
dC1tb3ZlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLXRlc3RS
ZW1vdmVDb250ZW50Ci1QQVNTCi10ZXN0UmVtb3ZlQ29udGVudFRvUmVjYWxjMQotUEFTUwotdGVz
dFJlbW92ZUNvbnRlbnRUb1JlY2FsYzIKLVBBU1MKLXRlc3RSZW1vdmVDb250ZW50QW5kUmVtb3Zl
TGlnaHRDaGlsZHJlbgotUEFTUwotdGVzdFJlbW92ZUNvbnRlbnRBbmRSZW1vdmVTaGFkb3dSb290
MQotUEFTUwotdGVzdFJlbW92ZUNvbnRlbnRBbmRSZW1vdmVTaGFkb3dSb290MgotUEFTUwotdGVz
dEFwcGVuZENvbnRlbnQxCi1QQVNTCi10ZXN0QXBwZW5kQ29udGVudDIKLVBBU1MKLXRlc3RBcHBl
bmRDb250ZW50MwotUEFTUwotdGVzdENoYW5nZU9yZGVyT2ZDb250ZW50Ci1QQVNTCi10ZXN0TW92
ZUxpZ2h0Q2hpbGRPdXQKLVBBU1MKLVRFU1QgQ09NUExFVEVECi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jb250ZW50LWVsZW1lbnQtbW92ZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1tb3ZlLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2MTdiMzUzMjhlNjAyNTMzZDYxMTg0YWUyNTUzOTExMDg4
NDlkYzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2NvbnRlbnQtZWxlbWVudC1tb3ZlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MDQgKzAsMCBAQAotIDwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzdHlsZT4KLS8qIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGVuc3VyZXMgdW5kZXJseWluZyBS
ZW5kZXJMYXllciAqLwotLmNvbnRhaW5lciB7Ci0gICAgcG9zaXRpb246IHJlbGF0aXZlOwotfQot
Ci0uc3BhbiB7Ci0gICAgZGlzcGxheTogYm94ZWQtaW5saW5lOwotICAgIG1hcmdpbjogMnB4Owot
ICAgIGJvcmRlcjogc29saWQ7Ci19Ci08L3N0eWxlPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvZyht
ZXNzYWdlKSB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5pbm5lckhU
TUwgKz0gKG1lc3NhZ2UgKyAiXG4iKTsKLX0KLQotZnVuY3Rpb24gcmVtb3ZlQWxsQ2hpbGRyZW4o
ZWxlbSkgewotICAgIHdoaWxlIChlbGVtLmZpcnN0Q2hpbGQpCi0gICAgICAgIGVsZW0ucmVtb3Zl
Q2hpbGQoZWxlbS5maXJzdENoaWxkKTsKLX0KLQotZnVuY3Rpb24gY2xlYW5VcCgpIHsKLSAgICBy
ZW1vdmVBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5l
cicpKTsKLSAgICByZW1vdmVBbGxDaGlsZHJlbihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXhw
ZWN0LWNvbnRhaW5lcicpKTsKLX0KLQotZnVuY3Rpb24gcmVtb3ZlQ29udGFpbmVyTGluZXModGV4
dCkgewotICAgIHZhciBsaW5lcyA9IHRleHQuc3BsaXQoJ1xuJyk7Ci0gICAgbGluZXMuc3BsaWNl
KDAsIDIpOwotICAgIHJldHVybiBsaW5lcy5qb2luKCdcbicpOwotfQotCi1mdW5jdGlvbiBjaGVj
aygpIHsKLSAgICB2YXIgcmVmQ29udGFpbmVyUmVuZGVyVHJlZSA9IGludGVybmFscy5lbGVtZW50
UmVuZGVyVHJlZUFzVGV4dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXhwZWN0LWNvbnRhaW5l
cicpKTsKLSAgICB2YXIgcmVmUmVuZGVyVHJlZSA9IHJlbW92ZUNvbnRhaW5lckxpbmVzKHJlZkNv
bnRhaW5lclJlbmRlclRyZWUpOwotCi0gICAgdmFyIHRhcmdldENvbnRhaW5lclJlbmRlclRyZWUg
PSBpbnRlcm5hbHMuZWxlbWVudFJlbmRlclRyZWVBc1RleHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2FjdHVhbC1jb250YWluZXInKSk7Ci0gICAgdmFyIHRhcmdldFJlbmRlclRyZWUgPSByZW1v
dmVDb250YWluZXJMaW5lcyh0YXJnZXRDb250YWluZXJSZW5kZXJUcmVlKTsKLQotICAgIGlmICh0
YXJnZXRSZW5kZXJUcmVlID09IHJlZlJlbmRlclRyZWUpCi0gICAgICAgIGxvZygiUEFTUyIpOwot
ICAgIGVsc2UgewotICAgICAgICBsb2coIkZBSUwiKTsKLSAgICAgICAgbG9nKCJFeHBlY3RlZDog
Iik7Ci0gICAgICAgIGxvZyhyZWZSZW5kZXJUcmVlKTsKLSAgICAgICAgbG9nKCJBY3R1YWw6ICIp
OwotICAgICAgICBsb2codGFyZ2V0UmVuZGVyVHJlZSk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBj
cmVhdGVTcGFuV2l0aFRleHQodGV4dCkgewotICAgIHZhciBzcGFuID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnc3BhbicpOwotICAgIHNwYW4uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUodGV4dCkpOwotICAgIHJldHVybiBzcGFuOwotfQotCi1mdW5jdGlvbiBjcmVhdGVDb250
ZW50V2l0aFNlbGVjdChzZWxlY3QsIGZhbGxiYWNrKSB7Ci0gICAgdmFyIGNvbnRlbnQgPSBpbnRl
cm5hbHMuY3JlYXRlQ29udGVudEVsZW1lbnQoZG9jdW1lbnQpOwotICAgIGNvbnRlbnQuc2V0QXR0
cmlidXRlKCdzZWxlY3QnLCBzZWxlY3QpOwotICAgIGlmICghZmFsbGJhY2spCi0gICAgICAgIGNv
bnRlbnQuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCJGQUxMQkFDSyIpKTsKLQotICAg
IHJldHVybiBjb250ZW50OwotfQotCi1mdW5jdGlvbiBhcHBlbmRTaGFkb3codGFyZ2V0LCBzZWxl
Y3QpIHsKLSAgICB2YXIgcm9vdCA9IGludGVybmFscy5lbnN1cmVTaGFkb3dSb290KHRhcmdldCk7
Ci0KLSAgICB2YXIgY29udGVudCA9IGludGVybmFscy5jcmVhdGVDb250ZW50RWxlbWVudChkb2N1
bWVudCk7Ci0gICAgY29udGVudC5zZXRBdHRyaWJ1dGUoJ3NlbGVjdCcsIHNlbGVjdCk7Ci0gICAg
Y29udGVudC5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoIkZBTExCQUNLIikpOwotCi0g
ICAgcm9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgie1NIQURPVzogIikp
OwotICAgIHJvb3QuYXBwZW5kQ2hpbGQoY29udGVudCk7Ci0gICAgcm9vdC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgifSIpKTsKLX0KLQotZnVuY3Rpb24gYXBwZW5kU2hhZG93
RGVlcCh0YXJnZXQsIHNlbGVjdCkgewotICAgIHZhciByb290ID0gaW50ZXJuYWxzLmVuc3VyZVNo
YWRvd1Jvb3QodGFyZ2V0KTsKLQotICAgIHZhciBjaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNwYW4iKTsKLSAgICB7Ci0gICAgICAgIHZhciBjb250ZW50ID0gaW50ZXJuYWxzLmNyZWF0
ZUNvbnRlbnRFbGVtZW50KGRvY3VtZW50KTsKLSAgICAgICAgY29udGVudC5zZXRBdHRyaWJ1dGUo
J3NlbGVjdCcsIHNlbGVjdCk7Ci0gICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bh
bldpdGhUZXh0KCJGQUxMQkFDSyIpKTsKLQotICAgICAgICBjaGlsZC5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZSgie0lOTkVSOiAiKSk7Ci0gICAgICAgIGNoaWxkLmFwcGVuZENo
aWxkKGNvbnRlbnQpOwotICAgICAgICBjaGlsZC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSgifSIpKTsKLSAgICB9Ci0KLSAgICByb290LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKCJ7U0hBRE9XOiAiKSk7Ci0gICAgcm9vdC5hcHBlbmRDaGlsZChjaGlsZCk7
Ci0gICAgcm9vdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgifSIpKTsKLX0K
LQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotLy8gVGVzdCBGdW5jdGlvbnMuCi0KLWZ1bmN0aW9uIHRlc3RS
ZW1vdmVDb250ZW50KGNhbGxJZkRvbmUpIHsKLSAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwotCi0gICAgLy8gQ3JlYXRlIGxpZ2h0IHRyZWUuCi0gICAgcm9vdC5p
bm5lckhUTUwgPSAiPHNwYW4+TElHSFQ8L3NwYW4+IjsKLQotICAgIC8vIENyZWF0ZSBzaGFkb3cg
dHJlZS4KLSAgICB2YXIgY29udGVudCA9IGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCdzcGFuJyk7
Ci0gICAgdmFyIHNyID0gaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3Qocm9vdCk7Ci0gICAgc3Iu
YXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCJCRUZPUkUiKSk7Ci0gICAgc3IuYXBwZW5k
Q2hpbGQoY29udGVudCk7Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCJB
RlRFUiIpKTsKLQotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVy
JykuYXBwZW5kQ2hpbGQocm9vdCk7Ci0KLSAgICB2YXIgZiA9IChmdW5jdGlvbihyb290LCBjb250
ZW50LCBjYWxsSWZEb25lKSB7Ci0gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgIGNvbnRlbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjb250ZW50KTsKLSAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBlY3QtY29udGFpbmVyJykuaW5uZXJIVE1MID0g
IjxkaXY+PHNwYW4+QkVGT1JFPC9zcGFuPjxzcGFuPkFGVEVSPC9zcGFuPjwvZGl2PiI7Ci0gICAg
ICAgICAgICBjYWxsSWZEb25lKCk7Ci0gICAgICAgIH07Ci0gICAgfSkocm9vdCwgY29udGVudCwg
Y2FsbElmRG9uZSk7Ci0KLSAgICBzZXRUaW1lb3V0KGYsIDApOwotfQotCi1mdW5jdGlvbiB0ZXN0
UmVtb3ZlQ29udGVudFRvUmVjYWxjMShjYWxsSWZEb25lKSB7Ci0gICAgdmFyIHJvb3QgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLQotICAgIC8vIENyZWF0ZSBsaWdodCB0cmVlLgot
ICAgIHJvb3QuaW5uZXJIVE1MID0gIjxzcGFuIGNsYXNzPSdjMSc+TElHSFQgMTwvc3Bhbj48c3Bh
bj5MSUdIVCAyPC9zcGFuPiI7Ci0KLSAgICAvLyBDcmVhdGUgc2hhZG93IHRyZWUuCi0gICAgdmFy
IGNvbnRlbnQxID0gY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJy5jMScpOwotICAgIHZhciBjb250
ZW50MiA9IGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCdzcGFuJyk7Ci0gICAgdmFyIHNyID0gaW50
ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3Qocm9vdCk7Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCJCRUZPUkUiKSk7Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY29udGVudDEpOwot
ICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgiTUlEIikpOwotICAgIHNyLmFw
cGVuZENoaWxkKGNvbnRlbnQyKTsKLSAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRl
eHQoIkFGVEVSIikpOwotCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdHVhbC1jb250
YWluZXInKS5hcHBlbmRDaGlsZChyb290KTsKLQotICAgIHZhciBmID0gKGZ1bmN0aW9uKHJvb3Qs
IGNvbnRlbnQxLCBjYWxsSWZEb25lKSB7Ci0gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIGNvbnRlbnQxLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY29udGVudDEpOwotICAg
ICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGVjdC1jb250YWluZXInKS5pbm5l
ckhUTUwgPSAiPGRpdj48c3Bhbj5CRUZPUkU8L3NwYW4+PHNwYW4+TUlEPC9zcGFuPjxzcGFuPkxJ
R0hUIDE8L3NwYW4+PHNwYW4+TElHSFQgMjwvc3Bhbj48c3Bhbj5BRlRFUjwvc3Bhbj48L2Rpdj4i
OwotICAgICAgICAgICAgY2FsbElmRG9uZSgpOwotICAgICAgICB9OwotICAgIH0pKHJvb3QsIGNv
bnRlbnQxLCBjYWxsSWZEb25lKTsKLQotICAgIHNldFRpbWVvdXQoZiwgMCk7Ci19Ci0KLWZ1bmN0
aW9uIHRlc3RSZW1vdmVDb250ZW50VG9SZWNhbGMyKGNhbGxJZkRvbmUpIHsKLSAgICB2YXIgcm9v
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotCi0gICAgLy8gQ3JlYXRlIGxpZ2h0
IHRyZWUuCi0gICAgcm9vdC5pbm5lckhUTUwgPSAiPHNwYW4+TElHSFQgMTwvc3Bhbj48c3BhbiBj
bGFzcz0nYzEnPkxJR0hUIDI8L3NwYW4+IjsKLQotICAgIC8vIENyZWF0ZSBzaGFkb3cgdHJlZS4K
LSAgICB2YXIgY29udGVudDEgPSBjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnLmMxJyk7Ci0gICAg
dmFyIGNvbnRlbnQyID0gY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJ3NwYW4nKTsKLSAgICB2YXIg
c3IgPSBpbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdChyb290KTsKLSAgICBzci5hcHBlbmRDaGls
ZChjcmVhdGVTcGFuV2l0aFRleHQoIkJFRk9SRSIpKTsKLSAgICBzci5hcHBlbmRDaGlsZChjb250
ZW50MSk7Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCJNSUQiKSk7Ci0g
ICAgc3IuYXBwZW5kQ2hpbGQoY29udGVudDIpOwotICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgiQUZURVIiKSk7Ci0KLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0
dWFsLWNvbnRhaW5lcicpLmFwcGVuZENoaWxkKHJvb3QpOwotCi0gICAgdmFyIGYgPSAoZnVuY3Rp
b24ocm9vdCwgY29udGVudDEsIGNhbGxJZkRvbmUpIHsKLSAgICAgICAgcmV0dXJuIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgY29udGVudDEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChjb250ZW50
MSk7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXhwZWN0LWNvbnRhaW5l
cicpLmlubmVySFRNTCA9ICI8ZGl2PjxzcGFuPkJFRk9SRTwvc3Bhbj48c3Bhbj5NSUQ8L3NwYW4+
PHNwYW4+TElHSFQgMTwvc3Bhbj48c3Bhbj5MSUdIVCAyPC9zcGFuPjxzcGFuPkFGVEVSPC9zcGFu
PjwvZGl2PiI7Ci0gICAgICAgICAgICBjYWxsSWZEb25lKCk7Ci0gICAgICAgIH07Ci0gICAgfSko
cm9vdCwgY29udGVudDEsIGNhbGxJZkRvbmUpOwotCi0gICAgc2V0VGltZW91dChmLCAwKTsKLX0K
LQotZnVuY3Rpb24gdGVzdFJlbW92ZUNvbnRlbnRBbmRSZW1vdmVMaWdodENoaWxkcmVuKGNhbGxJ
ZkRvbmUpIHsKLSAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwot
Ci0gICAgLy8gQ3JlYXRlIGxpZ2h0IHRyZWUuCi0gICAgcm9vdC5pbm5lckhUTUwgPSAiPHNwYW4+
TElHSFQ8L3NwYW4+IjsKLQotICAgIC8vIENyZWF0ZSBzaGFkb3cgdHJlZS4KLSAgICB2YXIgY29u
dGVudCA9IGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCdzcGFuJyk7Ci0gICAgdmFyIHNyID0gaW50
ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3Qocm9vdCk7Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRl
U3BhbldpdGhUZXh0KCJCRUZPUkUiKSk7Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY29udGVudCk7Ci0g
ICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCJBRlRFUiIpKTsKLQotICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hpbGQocm9v
dCk7Ci0KLSAgICB2YXIgZiA9IChmdW5jdGlvbihyb290LCBjb250ZW50LCBjYWxsSWZEb25lKSB7
Ci0gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGNvbnRlbnQucGFyZW50
Tm9kZS5yZW1vdmVDaGlsZChjb250ZW50KTsKLSAgICAgICAgICAgIHJlbW92ZUFsbENoaWxkcmVu
KHJvb3QpOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGVjdC1jb250
YWluZXInKS5pbm5lckhUTUwgPSAiPGRpdj48c3Bhbj5CRUZPUkU8L3NwYW4+PHNwYW4+QUZURVI8
L3NwYW4+PC9kaXY+IjsKLSAgICAgICAgICAgIGNhbGxJZkRvbmUoKTsKLSAgICAgICAgfTsKLSAg
ICB9KShyb290LCBjb250ZW50LCBjYWxsSWZEb25lKTsKLQotICAgIHNldFRpbWVvdXQoZiwgMCk7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3RSZW1vdmVTaGFkb3dSb290KGNhbGxJZkRvbmUpIHsKLSAgICB2
YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotCi0gICAgLy8gQ3JlYXRl
IGxpZ2h0IHRyZWUuCi0gICAgcm9vdC5pbm5lckhUTUwgPSAiPHNwYW4+TElHSFQ8L3NwYW4+IjsK
LQotICAgIC8vIENyZWF0ZSBzaGFkb3cgdHJlZS4KLSAgICB2YXIgY29udGVudCA9IGNyZWF0ZUNv
bnRlbnRXaXRoU2VsZWN0KCdzcGFuJyk7Ci0gICAgdmFyIHNyID0gaW50ZXJuYWxzLmVuc3VyZVNo
YWRvd1Jvb3Qocm9vdCk7Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCJC
RUZPUkUiKSk7Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY29udGVudCk7Ci0gICAgc3IuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCJBRlRFUiIpKTsKLQotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hpbGQocm9vdCk7Ci0KLSAgICB2YXIg
ZiA9IChmdW5jdGlvbihyb290LCBjb250ZW50LCBjYWxsSWZEb25lKSB7Ci0gICAgICAgIHJldHVy
biBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGludGVybmFscy5yZW1vdmVTaGFkb3dSb290KHJv
b3QpOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGVjdC1jb250YWlu
ZXInKS5pbm5lckhUTUwgPSAiPGRpdj48c3Bhbj5MSUdIVDwvc3Bhbj48L2Rpdj4iOwotICAgICAg
ICAgICAgY2FsbElmRG9uZSgpOwotICAgICAgICB9OwotICAgIH0pKHJvb3QsIGNvbnRlbnQsIGNh
bGxJZkRvbmUpOwotCi0gICAgc2V0VGltZW91dChmLCAwKTsKLX0KLQotZnVuY3Rpb24gdGVzdFJl
bW92ZUNvbnRlbnRBbmRSZW1vdmVTaGFkb3dSb290MShjYWxsSWZEb25lKSB7Ci0gICAgdmFyIHJv
b3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLQotICAgIC8vIENyZWF0ZSBsaWdo
dCB0cmVlLgotICAgIHJvb3QuaW5uZXJIVE1MID0gIjxzcGFuPkxJR0hUPC9zcGFuPiI7Ci0KLSAg
ICAvLyBDcmVhdGUgc2hhZG93IHRyZWUuCi0gICAgdmFyIGNvbnRlbnQgPSBjcmVhdGVDb250ZW50
V2l0aFNlbGVjdCgnc3BhbicpOwotICAgIHZhciBzciA9IGludGVybmFscy5lbnN1cmVTaGFkb3dS
b290KHJvb3QpOwotICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgiQkVGT1JF
IikpOwotICAgIHNyLmFwcGVuZENoaWxkKGNvbnRlbnQpOwotICAgIHNyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgiQUZURVIiKSk7Ci0KLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVuZENoaWxkKHJvb3QpOwotCi0gICAgdmFyIGYgPSAo
ZnVuY3Rpb24ocm9vdCwgY29udGVudCwgY2FsbElmRG9uZSkgewotICAgICAgICByZXR1cm4gZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICBjb250ZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY29u
dGVudCk7Ci0gICAgICAgICAgICBpbnRlcm5hbHMucmVtb3ZlU2hhZG93Um9vdChyb290KTsKLSAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBlY3QtY29udGFpbmVyJykuaW5u
ZXJIVE1MID0gIjxkaXY+PHNwYW4+TElHSFQ8L3NwYW4+PC9kaXY+IjsKLSAgICAgICAgICAgIGNh
bGxJZkRvbmUoKTsKLSAgICAgICAgfTsKLSAgICB9KShyb290LCBjb250ZW50LCBjYWxsSWZEb25l
KTsKLQotICAgIHNldFRpbWVvdXQoZiwgMCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RSZW1vdmVDb250
ZW50QW5kUmVtb3ZlU2hhZG93Um9vdDIoY2FsbElmRG9uZSkgewotICAgIHZhciByb290ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0KLSAgICAvLyBDcmVhdGUgbGlnaHQgdHJlZS4K
LSAgICByb290LmlubmVySFRNTCA9ICI8c3Bhbj5MSUdIVCAxPC9zcGFuPjxzcGFuIGNsYXNzPSdj
MSc+TElHSFQgMjwvc3Bhbj4iOwotCi0gICAgLy8gQ3JlYXRlIHNoYWRvdyB0cmVlLgotICAgIHZh
ciBjb250ZW50ID0gY3JlYXRlQ29udGVudFdpdGhTZWxlY3QoJy5jMScpOwotICAgIHZhciBzciA9
IGludGVybmFscy5lbnN1cmVTaGFkb3dSb290KHJvb3QpOwotICAgIHNyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgiQkVGT1JFIikpOwotICAgIHNyLmFwcGVuZENoaWxkKGNvbnRlbnQp
OwotICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgiQUZURVIiKSk7Ci0KLSAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0dWFsLWNvbnRhaW5lcicpLmFwcGVuZENoaWxk
KHJvb3QpOwotCi0gICAgdmFyIGYgPSAoZnVuY3Rpb24ocm9vdCwgY29udGVudCwgY2FsbElmRG9u
ZSkgewotICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBjb250ZW50LnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQoY29udGVudCk7Ci0gICAgICAgICAgICBpbnRlcm5hbHMucmVt
b3ZlU2hhZG93Um9vdChyb290KTsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdleHBlY3QtY29udGFpbmVyJykuaW5uZXJIVE1MID0gIjxkaXY+PHNwYW4+TElHSFQgMTwvc3Bh
bj48c3Bhbj5MSUdIVCAyPC9zcGFuPjwvZGl2PiI7Ci0gICAgICAgICAgICBjYWxsSWZEb25lKCk7
Ci0gICAgICAgIH07Ci0gICAgfSkocm9vdCwgY29udGVudCwgY2FsbElmRG9uZSk7Ci0KLSAgICBz
ZXRUaW1lb3V0KGYsIDApOwotfQotCi1mdW5jdGlvbiB0ZXN0QXBwZW5kQ29udGVudDEoY2FsbElm
RG9uZSkgewotICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0K
LSAgICAvLyBDcmVhdGUgbGlnaHQgdHJlZS4KLSAgICByb290LmlubmVySFRNTCA9ICI8c3Bhbj5M
SUdIVDwvc3Bhbj4iOwotCi0gICAgLy8gQ3JlYXRlIHNoYWRvdyB0cmVlLgotICAgIHZhciBzciA9
IGludGVybmFscy5lbnN1cmVTaGFkb3dSb290KHJvb3QpOwotICAgIHNyLmFwcGVuZENoaWxkKGNy
ZWF0ZVNwYW5XaXRoVGV4dCgiQkVGT1JFIikpOwotICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNw
YW5XaXRoVGV4dCgiQUZURVIiKSk7Ci0KLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWN0
dWFsLWNvbnRhaW5lcicpLmFwcGVuZENoaWxkKHJvb3QpOwotCi0gICAgdmFyIGYgPSAoZnVuY3Rp
b24ocm9vdCwgY2FsbElmRG9uZSkgewotICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICB2YXIgY29udGVudCA9IGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCdzcGFuJyk7Ci0g
ICAgICAgICAgICB2YXIgc3IgPSBpbnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdChyb290KTsKLSAg
ICAgICAgICAgIHNyLmluc2VydEJlZm9yZShjb250ZW50LCBzci5sYXN0Q2hpbGQpOwotICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGVjdC1jb250YWluZXInKS5pbm5lckhU
TUwgPSAiPGRpdj48c3Bhbj5CRUZPUkU8L3NwYW4+PFNQQU4+TElHSFQ8L3NwYW4+PHNwYW4+QUZU
RVI8L3NwYW4+PC9kaXY+IjsKLSAgICAgICAgICAgIGNhbGxJZkRvbmUoKTsKLSAgICAgICAgfTsK
LSAgICB9KShyb290LCBjYWxsSWZEb25lKTsKLQotICAgIHNldFRpbWVvdXQoZiwgMCk7Ci19Ci0K
LWZ1bmN0aW9uIHRlc3RBcHBlbmRDb250ZW50MihjYWxsSWZEb25lKSB7Ci0gICAgdmFyIHJvb3Qg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLQotICAgIC8vIENyZWF0ZSBsaWdodCB0
cmVlLgotICAgIHJvb3QuaW5uZXJIVE1MID0gIjxzcGFuPkxJR0hUIDE8L3NwYW4+PHNwYW4gY2xh
c3M9J2MyJz5MSUdIVCAyPC9zcGFuPiI7Ci0KLSAgICAvLyBDcmVhdGUgc2hhZG93IHRyZWUuCi0g
ICAgdmFyIHNyID0gaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3Qocm9vdCk7Ci0gICAgc3IuYXBw
ZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCJCRUZPUkUiKSk7Ci0gICAgc3IuYXBwZW5kQ2hp
bGQoY3JlYXRlU3BhbldpdGhUZXh0KCJBRlRFUiIpKTsKLQotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hpbGQocm9vdCk7Ci0KLSAgICB2YXIg
ZiA9IChmdW5jdGlvbihyb290LCBjYWxsSWZEb25lKSB7Ci0gICAgICAgIHJldHVybiBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIHZhciBjb250ZW50MSA9IGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0
KCcuYzInKTsKLSAgICAgICAgICAgIHZhciBjb250ZW50MiA9IGNyZWF0ZUNvbnRlbnRXaXRoU2Vs
ZWN0KCdzcGFuJyk7Ci0gICAgICAgICAgICB2YXIgc3IgPSBpbnRlcm5hbHMuZW5zdXJlU2hhZG93
Um9vdChyb290KTsKLSAgICAgICAgICAgIHNyLmluc2VydEJlZm9yZShjb250ZW50MSwgc3IubGFz
dENoaWxkKTsKLSAgICAgICAgICAgIHNyLmluc2VydEJlZm9yZShjb250ZW50Miwgc3IubGFzdENo
aWxkKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBlY3QtY29udGFp
bmVyJykuaW5uZXJIVE1MID0gIjxkaXY+PHNwYW4+QkVGT1JFPC9zcGFuPjxzcGFuPkxJR0hUIDI8
L3NwYW4+PHNwYW4+TElHSFQgMTwvc3Bhbj48c3Bhbj5BRlRFUjwvc3Bhbj48L2Rpdj4iOwotICAg
ICAgICAgICAgY2FsbElmRG9uZSgpOwotICAgICAgICB9OwotICAgIH0pKHJvb3QsIGNhbGxJZkRv
bmUpOwotCi0gICAgc2V0VGltZW91dChmLCAwKTsKLX0KLQotZnVuY3Rpb24gdGVzdEFwcGVuZENv
bnRlbnQzKGNhbGxJZkRvbmUpIHsKLSAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwotCi0gICAgLy8gQ3JlYXRlIGxpZ2h0IHRyZWUuCi0gICAgcm9vdC5pbm5lckhU
TUwgPSAiPHNwYW4+TElHSFQgMTwvc3Bhbj48c3BhbiBjbGFzcz0nYzInPkxJR0hUIDI8L3NwYW4+
IjsKLQotICAgIC8vIENyZWF0ZSBzaGFkb3cgdHJlZS4KLSAgICB2YXIgc3IgPSBpbnRlcm5hbHMu
ZW5zdXJlU2hhZG93Um9vdChyb290KTsKLSAgICB2YXIgbWlkID0gY3JlYXRlU3BhbldpdGhUZXh0
KCJNSUQiKTsKLSAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoIkJFRk9SRSIp
KTsKLSAgICBzci5hcHBlbmRDaGlsZChtaWQpOwotICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZUNv
bnRlbnRXaXRoU2VsZWN0KCcuYzInKSk7Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3Bhbldp
dGhUZXh0KCJBRlRFUiIpKTsKLQotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwt
Y29udGFpbmVyJykuYXBwZW5kQ2hpbGQocm9vdCk7Ci0KLSAgICB2YXIgZiA9IChmdW5jdGlvbihy
b290LCBtaWQsIGNhbGxJZkRvbmUpIHsKLSAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgdmFyIGNvbnRlbnQgPSBjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnc3BhbicpOwot
ICAgICAgICAgICAgdmFyIHNyID0gaW50ZXJuYWxzLmVuc3VyZVNoYWRvd1Jvb3Qocm9vdCk7Ci0g
ICAgICAgICAgICBzci5pbnNlcnRCZWZvcmUoY29udGVudCwgbWlkKTsKLSAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBlY3QtY29udGFpbmVyJykuaW5uZXJIVE1MID0KLSAg
ICAgICAgICAgICAgICAiPGRpdj48c3Bhbj5CRUZPUkU8L3NwYW4+PHNwYW4+TElHSFQgMTwvc3Bh
bj48c3Bhbj5MSUdIVCAyPC9zcGFuPjxzcGFuPk1JRDwvc3Bhbj48c3Bhbj5GQUxMQkFDSzwvc3Bh
bj48c3Bhbj5BRlRFUjwvc3Bhbj48L2Rpdj4iOwotICAgICAgICAgICAgY2FsbElmRG9uZSgpOwot
ICAgICAgICB9OwotICAgIH0pKHJvb3QsIG1pZCwgY2FsbElmRG9uZSk7Ci0KLSAgICBzZXRUaW1l
b3V0KGYsIDApOwotfQotCi1mdW5jdGlvbiB0ZXN0Q2hhbmdlT3JkZXJPZkNvbnRlbnQoY2FsbElm
RG9uZSkgewotICAgIHZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0K
LSAgICAvLyBDcmVhdGUgbGlnaHQgdHJlZS4KLSAgICByb290LmlubmVySFRNTCA9ICI8c3BhbiBj
bGFzcz0nYzEnPkxJR0hUIDE8L3NwYW4+PHNwYW4+TElHSFQgMjwvc3Bhbj4iOwotCi0gICAgLy8g
Q3JlYXRlIHNoYWRvdyB0cmVlLgotICAgIHZhciBzciA9IGludGVybmFscy5lbnN1cmVTaGFkb3dS
b290KHJvb3QpOwotICAgIHZhciBjb250ZW50MSA9IGNyZWF0ZUNvbnRlbnRXaXRoU2VsZWN0KCcu
YzEnKTsKLSAgICB2YXIgY29udGVudDIgPSBjcmVhdGVDb250ZW50V2l0aFNlbGVjdCgnc3Bhbicp
OwotICAgIHNyLmFwcGVuZENoaWxkKGNyZWF0ZVNwYW5XaXRoVGV4dCgiQkVGT1JFIikpOwotICAg
IHNyLmFwcGVuZENoaWxkKGNvbnRlbnQxKTsKLSAgICBzci5hcHBlbmRDaGlsZChjb250ZW50Mik7
Ci0gICAgc3IuYXBwZW5kQ2hpbGQoY3JlYXRlU3BhbldpdGhUZXh0KCJBRlRFUiIpKTsKLQotICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY3R1YWwtY29udGFpbmVyJykuYXBwZW5kQ2hpbGQo
cm9vdCk7Ci0KLSAgICB2YXIgZiA9IChmdW5jdGlvbihyb290LCBjb250ZW50MSwgY2FsbElmRG9u
ZSkgewotICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICB2YXIgc3IgPSBp
bnRlcm5hbHMuZW5zdXJlU2hhZG93Um9vdChyb290KTsKLSAgICAgICAgICAgIHNyLnJlbW92ZUNo
aWxkKGNvbnRlbnQxKTsKLSAgICAgICAgICAgIHNyLmluc2VydEJlZm9yZShjb250ZW50MSwgc3Iu
bGFzdENoaWxkKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdleHBlY3Qt
Y29udGFpbmVyJykuaW5uZXJIVE1MID0KLSAgICAgICAgICAgICAgICAiPGRpdj48c3Bhbj5CRUZP
UkU8L3NwYW4+PFNQQU4+TElHSFQgMTwvc3Bhbj48c3Bhbj5MSUdIVCAyPC9zcGFuPjxzcGFuPkZB
TExCQUNLPC9zcGFuPjxzcGFuPkFGVEVSPC9zcGFuPjwvZGl2PiI7Ci0gICAgICAgICAgICBjYWxs
SWZEb25lKCk7Ci0gICAgICAgIH07Ci0gICAgfSkocm9vdCwgY29udGVudDEsIGNhbGxJZkRvbmUp
OwotCi0gICAgc2V0VGltZW91dChmLCAwKTsKLX0KLQotZnVuY3Rpb24gdGVzdE1vdmVMaWdodENo
aWxkT3V0KGNhbGxJZkRvbmUpIHsKLSAgICB2YXIgcm9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOwotCi0gICAgLy8gQ3JlYXRlIGxpZ2h0IHRyZWUuCi0gICAgdmFyIG4xID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgbjEuc2V0QXR0cmlidXRlKCdpZCcsICdu
MScpOwotICAgIG4xLmlubmVySFRNTCA9ICI8c3BhbiBpZD0nbGlnaHQxJz5MSUdIVCAxPC9zcGFu
PjxzcGFuPkxJR0hUIDI8L3NwYW4+IjsKLSAgICB2YXIgbjIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKLSAgICBuMi5zZXRBdHRyaWJ1dGUoJ2lkJywgJ24yJyk7Ci0KLSAgICByb290
LmFwcGVuZENoaWxkKG4xKTsKLSAgICByb290LmFwcGVuZENoaWxkKG4yKTsKLQotICAgIC8vIENy
ZWF0ZSBzaGFkb3cgdHJlZSBpbiAnbjEnCi0gICAgdmFyIHNyID0gaW50ZXJuYWxzLmVuc3VyZVNo
YWRvd1Jvb3QobjEpOwotICAgIHZhciBjb250ZW50ID0gY3JlYXRlQ29udGVudFdpdGhTZWxlY3Qo
J3NwYW4nKTsKLSAgICBzci5hcHBlbmRDaGlsZChjcmVhdGVTcGFuV2l0aFRleHQoIkJFRk9SRSIp
KTsKLSAgICBzci5hcHBlbmRDaGlsZChjb250ZW50KTsKLSAgICBzci5hcHBlbmRDaGlsZChjcmVh
dGVTcGFuV2l0aFRleHQoIkFGVEVSIikpOwotCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2FjdHVhbC1jb250YWluZXInKS5hcHBlbmRDaGlsZChyb290KTsKLQotICAgIHZhciBmID0gKGZ1
bmN0aW9uKHJvb3QsIG4yLCBjYWxsSWZEb25lKSB7Ci0gICAgICAgIHJldHVybiBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgIHZhciBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpZ2h0MScp
OwotICAgICAgICAgICAgZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpOwotICAgICAgICAgICAg
bjIuYXBwZW5kQ2hpbGQoZSk7Ci0KLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdleHBlY3QtY29udGFpbmVyJykuaW5uZXJIVE1MID0KLSAgICAgICAgICAgICAgICAiPGRpdj48
ZGl2PjxzcGFuPkJFRk9SRTwvc3Bhbj48c3Bhbj5MSUdIVCAyPC9zcGFuPjxzcGFuPkFGVEVSPC9z
cGFuPjwvZGl2PjxkaXY+PHNwYW4+TElHSFQgMTwvc3Bhbj48L2Rpdj48L2Rpdj4iCi0gICAgICAg
ICAgICBjYWxsSWZEb25lKCk7Ci0gICAgICAgIH07Ci0gICAgfSkocm9vdCwgbjIsIGNhbGxJZkRv
bmUpOwotCi0gICAgc2V0VGltZW91dChmLCAwKTsKLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLy8g
VGVzdCBEcml2ZXJzLgotCi12YXIgdGVzdEZ1bmNzID0gWwotICAgIHRlc3RSZW1vdmVDb250ZW50
LAotICAgIHRlc3RSZW1vdmVDb250ZW50VG9SZWNhbGMxLAotICAgIHRlc3RSZW1vdmVDb250ZW50
VG9SZWNhbGMyLAotICAgIHRlc3RSZW1vdmVDb250ZW50QW5kUmVtb3ZlTGlnaHRDaGlsZHJlbiwK
LSAgICB0ZXN0UmVtb3ZlQ29udGVudEFuZFJlbW92ZVNoYWRvd1Jvb3QxLAotICAgIHRlc3RSZW1v
dmVDb250ZW50QW5kUmVtb3ZlU2hhZG93Um9vdDIsCi0gICAgdGVzdEFwcGVuZENvbnRlbnQxLAot
ICAgIHRlc3RBcHBlbmRDb250ZW50MiwKLSAgICB0ZXN0QXBwZW5kQ29udGVudDMsCi0gICAgdGVz
dENoYW5nZU9yZGVyT2ZDb250ZW50LAotICAgIHRlc3RNb3ZlTGlnaHRDaGlsZE91dAotXTsKLQot
ZnVuY3Rpb24gZG9UZXN0SWZMZWZ0KCkgewotICAgIHZhciB0ZXN0ID0gdGVzdEZ1bmNzLnNoaWZ0
KCk7Ci0gICAgaWYgKHRlc3QgPT0gbnVsbCkKLSAgICAgICAgcmV0dXJuIGRvbmVUZXN0KCk7Ci0K
LSAgICB2YXIgY2FsbElmRG9uZSA9IGZ1bmN0aW9uKCkgewotICAgICAgICBzZXRUaW1lb3V0KGZ1
bmN0aW9uKCkgewotICAgICAgICAgICAgY2hlY2soKTsKLSAgICAgICAgICAgIGNsZWFuVXAoKTsK
LSAgICAgICAgICAgIGRvVGVzdElmTGVmdCgpOwotICAgICAgICB9LCAwKTsKLSAgICB9OwotCi0g
ICAgbG9nKHRlc3QubmFtZSk7Ci0gICAgdGVzdChjYWxsSWZEb25lKTsKLX0KLQotZnVuY3Rpb24g
ZG9uZVRlc3QoKSB7Ci0gICAgbG9nKCJURVNUIENPTVBMRVRFRCIpOwotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gZG9UZXN0KCkgewotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci0gICAgfQotCi0gICAgY2xlYW5VcCgpOwotICAgIGRvVGVzdElmTGVmdCgpOwot
fQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImRvVGVzdCgpIj4KLQotPGRpdiBp
ZD0iYWN0dWFsLWNvbnRhaW5lciIgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+Ci08ZGl2IGlkPSJl
eHBlY3QtY29udGFpbmVyIiBjbGFzcz0iY29udGFpbmVyIj48L2Rpdj4KLTxwcmUgaWQ9ImNvbnNv
bGUiPjwvcHJlPgotCi08L2JvZHk+Ci08L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>