<?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>64769</bug_id>
          
          <creation_ts>2011-07-18 17:38:37 -0700</creation_ts>
          <short_desc>garden-o-matic should have a &quot;Triage Failures&quot; button for iterating over failures</short_desc>
          <delta_ts>2011-07-19 00:38:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>64188</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>aroben</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>438862</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-18 17:38:37 -0700</bug_when>
    <thetext>garden-o-matic should have a &quot;Triage Failures&quot; button for iterating over failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438865</commentid>
    <comment_count>1</comment_count>
      <attachid>101243</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-18 17:41:19 -0700</bug_when>
    <thetext>Created attachment 101243
needs tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438883</commentid>
    <comment_count>2</comment_count>
      <attachid>101252</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-18 18:07:20 -0700</bug_when>
    <thetext>Created attachment 101252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439012</commentid>
    <comment_count>3</comment_count>
      <attachid>101252</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-07-19 00:34:40 -0700</bug_when>
    <thetext>Comment on attachment 101252
Patch

rubber stamp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439016</commentid>
    <comment_count>4</comment_count>
      <attachid>101252</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-19 00:38:09 -0700</bug_when>
    <thetext>Comment on attachment 101252
Patch

Clearing flags on attachment: 101252

Committed r91241: &lt;http://trac.webkit.org/changeset/91241&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439017</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-19 00:38:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101243</attachid>
            <date>2011-07-18 17:41:19 -0700</date>
            <delta_ts>2011-07-18 18:07:17 -0700</delta_ts>
            <desc>needs tests</desc>
            <filename>bug-64769-20110718174118.patch</filename>
            <type>text/plain</type>
            <size>21074</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTExOTcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMzg5ZjAyMmFiNDliYzdkYjNjYTBkN2U4MmE0OWFjZWM5
MzdjMjhjLi5mZGU4OWY2M2I1YjNiYmE1ODkzNzljNTAwNjUxMDJmOGUzY2QxM2M0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEg
QEAKIDIwMTEtMDctMTggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAg
ICBnYXJkZW4tby1tYXRpYyBzaG91bGQgaGF2ZSBhICJUcmlhZ2UgRmFpbHVyZXMiIGJ1dHRvbiBm
b3IgaXRlcmF0aW5nIG92ZXIgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY0NzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIHNvbWUgZ2xvYmFsIHN0YXRpYyBzdGF0
ZSBhbmQgcmVmYWN0b3JzIHRoaW5ncyBhIGJpdCBzbworICAgICAgICB0aGF0IHdlIGNhbiBpdGVy
YXRlIG92ZXIgYWxsIHRoZSBmYWlsdXJlcyBpbiB0aGUgZGV0YWlscyBwYW5lLgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFz
ZS5qczoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRl
bmluZ3NlcnZlci9pbmRleC5odG1sOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9z
ZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL21haW4uY3NzOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL21haW4uanM6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIv
dWkuanM6CisKKzIwMTEtMDctMTggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwog
ICAgICAgICBnYXJkZW4tby1tYXRpYyBzaG91bGQgbGl2ZSB1cGRhdGUgYXMgY29uZGl0aW9ucyBj
aGFuZ2Ugb24gdGhlIGJ1aWxkYm90CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NDY0NgogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9iYXNlLmpzIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZS5qcwppbmRl
eCAyNDgyZGYyMTg2MmVhNTY4NTBjMWIzZmM0NDZmNTJiZGU4YzFiYjdlLi5jMmZkNzc3ZWZjNjMz
ZTBkZGM4Nzk3ZmZjY2MwYjY5ZGU3MTIyZmQxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9iYXNlLmpzCisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL2Jh
c2UuanMKQEAgLTk5LDE2ICs5OSw1MSBAQCBiYXNlLmpzb25wID0gZnVuY3Rpb24odXJsLCBvbnN1
Y2Nlc3MpCiAKIGJhc2UuUmVxdWVzdFRyYWNrZXIgPSBmdW5jdGlvbihyZXF1ZXN0c0luRmxpZ2h0
LCBjYWxsYmFjaywgYXJncykKIHsKLSAgICB0aGlzLm1fcmVxdWVzdHNJbkZsaWdodCA9IHJlcXVl
c3RzSW5GbGlnaHQ7Ci0gICAgdGhpcy5tX2NhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgdGhpcy5t
X2FyZ3MgPSBhcmdzIHx8IFtdOworICAgIHRoaXMuX3JlcXVlc3RzSW5GbGlnaHQgPSByZXF1ZXN0
c0luRmxpZ2h0OworICAgIHRoaXMuX2NhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgdGhpcy5fYXJn
cyA9IGFyZ3MgfHwgW107CiB9OwogCiBiYXNlLlJlcXVlc3RUcmFja2VyLnByb3RvdHlwZS5yZXF1
ZXN0Q29tcGxldGUgPSBmdW5jdGlvbigpCiB7Ci0gICAgLS10aGlzLm1fcmVxdWVzdHNJbkZsaWdo
dDsKLSAgICBpZiAoIXRoaXMubV9yZXF1ZXN0c0luRmxpZ2h0KQotICAgICAgICB0aGlzLm1fY2Fs
bGJhY2suYXBwbHkobnVsbCwgdGhpcy5tX2FyZ3MpOworICAgIC0tdGhpcy5fcmVxdWVzdHNJbkZs
aWdodDsKKyAgICBpZiAoIXRoaXMuX3JlcXVlc3RzSW5GbGlnaHQpCisgICAgICAgIHRoaXMuX2Nh
bGxiYWNrLmFwcGx5KG51bGwsIHRoaXMuX2FyZ3MpOworfTsKKworYmFzZS5jYWxsYmFja0l0ZXJh
dG9yID0gZnVuY3Rpb24oY2FsbGJhY2ssIGxpc3RPZkFyZ3VtZW50QXJyYXlzKQoreworICAgIHRo
aXMuX2NhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgdGhpcy5fbmV4dEluZGV4ID0gMDsKKyAgICB0
aGlzLl9saXN0T2ZBcmd1bWVudEFycmF5cyA9IGxpc3RPZkFyZ3VtZW50QXJyYXlzOworfTsKKwor
YmFzZS5jYWxsYmFja0l0ZXJhdG9yLnByb3RvdHlwZS5oYXNOZXh0ID0gZnVuY3Rpb24oKQorewor
ICAgIHJldHVybiB0aGlzLl9uZXh0SW5kZXggPCB0aGlzLl9saXN0T2ZBcmd1bWVudEFycmF5cy5s
ZW5ndGg7Cit9OworCitiYXNlLmNhbGxiYWNrSXRlcmF0b3IucHJvdG90eXBlLmhhc1ByZXZpb3Vz
ID0gZnVuY3Rpb24oKQoreworICAgIHJldHVybiB0aGlzLl9uZXh0SW5kZXggLSAyID49IDA7Cit9
OworCitiYXNlLmNhbGxiYWNrSXRlcmF0b3IucHJvdG90eXBlLmNhbGxOZXh0ID0gZnVuY3Rpb24o
KQoreworICAgIGlmICghdGhpcy5oYXNOZXh0KCkpCisgICAgICAgIHJldHVybjsKKyAgICB2YXIg
YXJncyA9IHRoaXMuX2xpc3RPZkFyZ3VtZW50QXJyYXlzW3RoaXMuX25leHRJbmRleF07CisgICAg
dGhpcy5fbmV4dEluZGV4Kys7CisgICAgdGhpcy5fY2FsbGJhY2suYXBwbHkobnVsbCwgYXJncyk7
Cit9OworCitiYXNlLmNhbGxiYWNrSXRlcmF0b3IucHJvdG90eXBlLmNhbGxQcmV2aW91cyA9IGZ1
bmN0aW9uKCkKK3sKKyAgICBpZiAoIXRoaXMuaGFzUHJldmlvdXMoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIHZhciBhcmdzID0gdGhpcy5fbGlzdE9mQXJndW1lbnRBcnJheXNbdGhpcy5fbmV4dElu
ZGV4IC0gMl07CisgICAgdGhpcy5fbmV4dEluZGV4LS07CisgICAgdGhpcy5fY2FsbGJhY2suYXBw
bHkobnVsbCwgYXJncyk7CiB9OwogCiB9KSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvaW5kZXguaHRtbCBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL2lu
ZGV4Lmh0bWwKaW5kZXggNzNiN2U5N2M4MWUxNmNmYzQ3OThmZDQzNWM3NmNmZDc3YzJhYmEzZi4u
MzBkMTU3MjA4OTdhNGQ1NzQzM2M3OGIwZjEwNjk4MDYzZTA4YjBmNSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvaW5k
ZXguaHRtbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dh
cmRlbmluZ3NlcnZlci9pbmRleC5odG1sCkBAIC0xMiwxNCArMTIsMjEgQEAKIDxib2R5PgogPGRp
diBjbGFzcz0iYnV0dGVyYmFyIj48c3BhbiBjbGFzcz0ic3RhdHVzIj5Mb2FkaW5nLi4uPC9zcGFu
PjwvZGl2PgogPGRpdiBjbGFzcz0iYWxlcnQiPjxzcGFuIGNsYXNzPSJzdGF0dXMiPjwvc3Bhbj48
L2Rpdj4KLTxkaXYgY2xhc3M9InJlc3VsdHMiPjwvZGl2PgorPGRpdiBjbGFzcz0icmVzdWx0cyI+
CisgICAgPGRpdiBjbGFzcz0iY29udGVudCI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0idG9vbGJh
ciI+CisgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMiPgorICAgICAgICAgICAgPGJ1dHRvbiBj
bGFzcz0idHJpYWdlIj5UcmlhZ2UgRmFpbHVyZXM8L2J1dHRvbj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+Cis8L2Rpdj4KIDxkaXYgY2xhc3M9InJlc3VsdHMtZGV0YWlsIj4KICAgICA8ZGl2
IGNsYXNzPSJ0b29sYmFyIj4KICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+Ci0gICAgICAg
ICAgICA8YSBjbGFzcz0icmViYXNlbGluZSIgaHJlZj0iIyI+UmViYXNlbGluZTwvYT4KLSAgICAg
ICAgICAgIDxhIGNsYXNzPSJkaXNtaXNzIiBocmVmPSIjIj5DbG9zZTwvYT4KKyAgICAgICAgICAg
IDxidXR0b24gY2xhc3M9InJlYmFzZWxpbmUgZGVmYXVsdCI+UmViYXNlbGluZTwvYnV0dG9uPjxi
dXR0b24gY2xhc3M9InByZXZpb3VzIj4mIzk2NjQ7PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ibmV4
dCI+JiM5NjU0OzwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImRpc21pc3MiPkNsb3NlPC9idXR0b24+
CiAgICAgICAgIDwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+CiAgICAgPC9kaXY+CiAgICAgPGRpdiBjbGFz
cz0iY29udGVudCI+PC9kaXY+CiA8L2Rpdj4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL21haW4uY3NzIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvbWFpbi5j
c3MKaW5kZXggOTdkNTg0MmU1NTg5NThmZGNhMTI0ZmRiMjdiZmUzZDIzNzlkMjhlYy4uYzFiZWRj
MmQxMTJmNWZmMDQxMWQ4YjAwODgwZmUzNzQ4YzZiYmEzYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvbWFpbi5jc3MK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdz
ZXJ2ZXIvbWFpbi5jc3MKQEAgLTcsNyArNyw2IEBAIGJvZHkgewogCiBhIHsKICAgICBjb2xvcjog
QmxhY2s7Ci0gICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiB9CiAKIHRhYmxlIHsKQEAgLTE5LDcgKzE4
LDcgQEAgdGFibGUgewogdGQsIHRoIHsKICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgIHZlcnRp
Y2FsLWFsaWduOiB0b3A7Ci0gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0NDQzsKKyAgICBi
b3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzZjNmM2OwogfQogCiB0ZDpsYXN0LW9mLXR5cGUsIHRo
Omxhc3Qtb2YtdHlwZSB7CkBAIC0yNywxMyArMjYsNzQgQEAgdGQ6bGFzdC1vZi10eXBlLCB0aDps
YXN0LW9mLXR5cGUgewogfQogCiB0aCB7Ci0gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICND
Q0M7CisgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNmM2YzY7Cit9CisKK2J1dHRvbiB7
CisgICAgYm9yZGVyLXJhZGl1czogMnB4OworICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQt
bGluZWFyLWdyYWRpZW50KHRvcCwjZjVmNWY1LCNmMWYxZjEpOworICAgIGJvcmRlcjogMXB4IHNv
bGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsKKyAgICBib3JkZXItcmFkaXVzOiAycHg7CisgICAgY29s
b3I6ICM2NjY7CisgICAgY3Vyc29yOiBwb2ludGVyOworICAgIGZvbnQtc2l6ZTogMTFweDsKKyAg
ICBmb250LXdlaWdodDogYm9sZDsKKyAgICBoZWlnaHQ6IDI5cHg7CisgICAgbGluZS1oZWlnaHQ6
IDI3cHg7CisgICAgbWFyZ2luOiAxMXB4IDZweDsKKyAgICBtaW4td2lkdGg6IDU0cHg7CisgICAg
cGFkZGluZzogMCA4cHg7CisgICAgdGV4dC1hbGlnbjogY2VudGVyCit9CisKK2J1dHRvbi5uZXh0
IHsKKyAgICBtYXJnaW4tbGVmdDogMHB4OworfQorCitidXR0b24ucHJldmlvdXMgeworICAgIG1h
cmdpbi1yaWdodDogMHB4OworfQorCitidXR0b25bZGlzYWJsZWRdIHsKKyAgICB2aXNpYmlsaXR5
OiBoaWRkZW47Cit9CisKK2J1dHRvbjpob3ZlciB7CisgICAgYmFja2dyb3VuZC1pbWFnZTogLXdl
YmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNmOGY4ZjgsI2YxZjFmMSk7CisgICAgLXdlYmtpdC1i
b3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLDAsMCwwLjEpOworICAgIGJhY2tncm91bmQtY29s
b3I6ICNmOGY4Zjg7CisgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwj
ZjhmOGY4LCNmMWYxZjEpOworICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNmM2YzY7CisgICAgYm94
LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTsKKyAgICBjb2xvcjogIzMzMworfQor
CitidXR0b246Zm9jdXMgeworICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZDkwZmU7CisgICAgb3V0
bGluZTogbm9uZQorfQorCitidXR0b24uZGVmYXVsdCB7CisgICAgYm9yZGVyOiAxcHggc29saWQg
IzMwNzlFRDsKKyAgICBjb2xvcjogd2hpdGU7CisgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtp
dC1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCk7Cit9CisKK2J1dHRvbi5kZWZh
dWx0OmhvdmVyIHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjMmY1YmI3OworICAgIGNvbG9yOiB3
aGl0ZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU3YWU4OworICAgIGJhY2tncm91bmQtaW1h
Z2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20oIzRk
OTBmZSksdG8oIzM1N2FlOCkpOworfQorCisuY2xlYXIgeworICAgIGNsZWFyOiBib3RoOwogfQog
CiAvKioqIGJ1dHRlcmJhciAqKiovCiAKIC5idXR0ZXJiYXIgewotICAgIGJhY2tncm91bmQtY29s
b3I6ICNmM2YzZjM7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKICAgICBwYWRkaW5n
OiA1cHg7CiAgICAgcG9zaXRpb246IGZpeGVkOwogICAgIHRvcDogMHB4OwpAQCAtNzYsMTEgKzEz
NiwxNiBAQCB0aCB7CiAKIC8qKiogcmVzdWx0cy1zdW1tYXJ5ICoqKi8KIAorLnJlc3VsdHMgLnRv
b2xiYXIgeworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgICBkaXNwbGF5OiBub25lOworfQor
CiB0YWJsZS5yZXN1bHRzLXN1bW1hcnkgewogICAgIHdpZHRoOiBhdXRvOwogICAgIHRhYmxlLWxh
eW91dDogYXV0bzsKICAgICBtYXJnaW46IDVweCBhdXRvOwotICAgIGJvcmRlcjogMXB4IHNvbGlk
ICNDQ0M7CisgICAgYm9yZGVyOiAxcHggc29saWQgI2M2YzZjNjsKIH0KIAogLnJlc3VsdHMtc3Vt
bWFyeSB0ZCwgLnJlc3VsdHMtc3VtbWFyeSB0aCB7CkBAIC0xMTMsOCArMTc4LDkgQEAgdGFibGUu
cmVzdWx0cy1zdW1tYXJ5IHsKICAgICBjb2xvcjogYmxhY2s7CiB9CiAKLS5yZXN1bHRzLXN1bW1h
cnkgLndoYXQgYVtkcmFnZ2FibGVdLklNQUdFXCtURVhUOjphZnRlciB7CisudGVzdC1uYW1lLklN
QUdFXCtURVhUOjphZnRlciB7CiAgICAgY29udGVudDogJ0lNQUdFK1RFWFQnOworICAgIGZvbnQt
d2VpZ2h0OiBub3JtYWw7CiAgICAgY29sb3I6IHdoaXRlOwogICAgIGJhY2tncm91bmQtY29sb3I6
IEluZGlnbzsKICAgICBmb250LXNpemU6IDEwcHg7CkBAIC0xMjMsOCArMTg5LDkgQEAgdGFibGUu
cmVzdWx0cy1zdW1tYXJ5IHsKICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiB9CiAKLS5yZXN1bHRz
LXN1bW1hcnkgLndoYXQgYVtkcmFnZ2FibGVdLklNQUdFOjphZnRlciB7CisudGVzdC1uYW1lLklN
QUdFOjphZnRlciB7CiAgICAgY29udGVudDogJ0lNQUdFJzsKKyAgICBmb250LXdlaWdodDogbm9y
bWFsOwogICAgIGNvbG9yOiB3aGl0ZTsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBNaWRuaWdodEJs
dWU7CiAgICAgZm9udC1zaXplOiAxMHB4OwpAQCAtMTMzLDggKzIwMCw5IEBAIHRhYmxlLnJlc3Vs
dHMtc3VtbWFyeSB7CiAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogfQogCi0ucmVzdWx0cy1zdW1t
YXJ5IC53aGF0IGFbZHJhZ2dhYmxlXS5USU1FT1VUOjphZnRlciB7CisudGVzdC1uYW1lLlRJTUVP
VVQ6OmFmdGVyIHsKICAgICBjb250ZW50OiAnVElNRU9VVCc7CisgICAgZm9udC13ZWlnaHQ6IG5v
cm1hbDsKICAgICBjb2xvcjogd2hpdGU7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogRGFya0dvbGRl
blJvZDsKICAgICBmb250LXNpemU6IDEwcHg7CkBAIC0xNDMsOCArMjExLDkgQEAgdGFibGUucmVz
dWx0cy1zdW1tYXJ5IHsKICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiB9CiAKLS5yZXN1bHRzLXN1
bW1hcnkgLndoYXQgYVtkcmFnZ2FibGVdLlRFWFQ6OmFmdGVyIHsKKy50ZXN0LW5hbWUuVEVYVDo6
YWZ0ZXIgewogICAgIGNvbnRlbnQ6ICdURVhUJzsKKyAgICBmb250LXdlaWdodDogbm9ybWFsOwog
ICAgIGNvbG9yOiB3aGl0ZTsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBEb2RnZXJCbHVlOwogICAg
IGZvbnQtc2l6ZTogMTBweDsKQEAgLTE1Myw4ICsyMjIsOSBAQCB0YWJsZS5yZXN1bHRzLXN1bW1h
cnkgewogICAgIGJvcmRlci1yYWRpdXM6IDRweDsKIH0KIAotLnJlc3VsdHMtc3VtbWFyeSAud2hh
dCBhW2RyYWdnYWJsZV0uQ1JBU0g6OmFmdGVyIHsKKy50ZXN0LW5hbWUuQ1JBU0g6OmFmdGVyIHsK
ICAgICBjb250ZW50OiAnQ1JBU0gnOworICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgY29s
b3I6IHdoaXRlOwogICAgIGJhY2tncm91bmQtY29sb3I6IFRvbWF0bzsKICAgICBmb250LXNpemU6
IDEwcHg7CkBAIC0xNzQsMzQgKzI0NCwzOCBAQCB0YWJsZS5yZXN1bHRzLXN1bW1hcnkgewogLnJl
c3VsdHMtZGV0YWlsIHsKICAgICBkaXNwbGF5OiBub25lOwogICAgIHBvc2l0aW9uOiBmaXhlZDsK
LSAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOwotICAgIHRvcDogNTAlOworICAgIGJhY2tn
cm91bmQtY29sb3I6ICNmNWY1ZjU7CisgICAgdG9wOiAyNSU7CiAgICAgbGVmdDogMHB4OwogICAg
IHJpZ2h0OiAwcHg7CiAgICAgYm90dG9tOiAwcHg7CiB9CiAKIC5yZXN1bHRzLWRldGFpbCAudG9v
bGJhciB7Ci0gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDQ0M7Ci0gICAgYm9yZGVyLWJvdHRv
bTogMXB4IHNvbGlkICNDQ0M7CisgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjNmM2YzY7Cisg
ICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNmM2YzY7CiB9CiAKIC5yZXN1bHRzLWRldGFp
bCAudG9vbGJhciAuc3RhdHVzIHsKLSAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ci0gICAgcGFk
ZGluZzogNXB4OworICAgIGZvbnQtc2l6ZTogMTFweDsKKyAgICBmb250LXdlaWdodDogYm9sZDsK
KyAgICBoZWlnaHQ6IDI5cHg7CisgICAgbGluZS1oZWlnaHQ6IDI3cHg7CisgICAgbWFyZ2luOiAx
MXB4IDZweDsKKyAgICBwYWRkaW5nOiAwIDhweDsKIH0KIAotLnJlc3VsdHMtZGV0YWlsIC50b29s
YmFyIC5hY3Rpb25zIHsKLSAgICBmbG9hdDogcmlnaHQ7CisucmVzdWx0cy1kZXRhaWwgLnRvb2xi
YXIgLnN0YXR1cyAuYnVpbGRlci1uYW1lIHsKKyAgICBmb250LXdlaWdodDogbm9ybWFsOworICAg
IHBhZGRpbmctbGVmdDogMjBweDsKIH0KIAotLnJlc3VsdHMtZGV0YWlsIC50b29sYmFyIC5hY3Rp
b25zIGEgewotICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgICBwYWRkaW5nOiA1cHggNXB4
IDVweCAwcHg7CisucmVzdWx0cy1kZXRhaWwgLnRvb2xiYXIgLnN0YXR1cyAuc2VsZWN0ZWQgewor
ICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKIH0KIAotLnJlc3VsdHMtZGV0YWlsIC50b29sYmFyIHsK
LSAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisucmVzdWx0cy1kZXRhaWwgLnRvb2xiYXIgLmFjdGlv
bnMgeworICAgIGZsb2F0OiByaWdodDsKIH0KIAogLnJlc3VsdHMtZGV0YWlsIC5jb250ZW50IHsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2Fy
ZGVuaW5nc2VydmVyL21haW4uanMgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVy
cy9kYXRhL2dhcmRlbmluZ3NlcnZlci9tYWluLmpzCmluZGV4IGY4MGU3MWQ5YjgzZjBjZjdjMThm
ZDVjMTU4Yzg4YzNmMGU0MmQ1YjguLjYzNWExOTJkMWU4ODYyMDVkZTBkMmM2MmUzOTYxYjdiZjM3
ZWE5ZTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2Rh
dGEvZ2FyZGVuaW5nc2VydmVyL21haW4uanMKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvbWFpbi5qcwpAQCAtMSw2ICsxLDcgQEAK
IChmdW5jdGlvbigpIHsKIAogdmFyIGdfdXBkYXRlVGltZXJJZCA9IDA7Cit2YXIgZ19yZXN1bHRz
RGV0YWlsc0l0ZXJhdG9yID0gbnVsbDsKIAogdmFyIGtCdWlsZEZhaWxlZEFsZXJ0VHlwZSA9ICdi
dWlsZC1mYWlsZWQnOwogCkBAIC0xMiw3ICsxMyw3IEBAIGZ1bmN0aW9uIGRpc21pc3NCdXR0ZXJi
YXIoKQogZnVuY3Rpb24gZGlzcGxheU9uQnV0dGVyYmFyKG1lc3NhZ2UpCiB7CiAgICAgJCgnLmJ1
dHRlcmJhciAuc3RhdHVzJykudGV4dChtZXNzYWdlKTsKLSAgICAkKCcuYnV0dGVyYmFyJykuZmFk
ZUluKCk7CisgICAgJCgnLmJ1dHRlcmJhcicpLmZhZGVJbignZmFzdCcpOwogfQogCiBmdW5jdGlv
biBoaWRlQWxlcnQoKQpAQCAtNDcsMTYgKzQ4LDI0IEBAIGZ1bmN0aW9uIHNldEljb25TdGF0ZSho
YXNGYWlsdXJlcykKICAgICAkKCcjZmF2aWNvbicpLmF0dHIoJ2hyZWYnLCBmYXZpY29uVVJMKTsK
IH0KIAorZnVuY3Rpb24gdG9nZ2xlQnV0dG9uKGJ1dHRvbiwgaXNFbmFibGVkKQoreworICAgIGlm
IChpc0VuYWJsZWQpCisgICAgICAgIGJ1dHRvbi5yZW1vdmVBdHRyKCdkaXNhYmxlZCcpOworICAg
IGVsc2UKKyAgICAgICAgYnV0dG9uLmF0dHIoJ2Rpc2FibGVkJywgdHJ1ZSkKK30KKwogZnVuY3Rp
b24gdG9nZ2xlUGFydHlUaW1lKGhhc0ZhaWx1cmVzKQogewogICAgIGlmICghaGFzRmFpbHVyZXMp
IHsKLSAgICAgICAgJCgnLnJlc3VsdHMnKS50ZXh0KCdObyBmYWlsdXJlcy4gUGFydHkgdGltZSEn
KTsKKyAgICAgICAgJCgnLnJlc3VsdHMgLmNvbnRlbnQnKS50ZXh0KCdObyBmYWlsdXJlcy4gUGFy
dHkgdGltZSEnKTsKICAgICAgICAgdmFyIHBhcnR5VGltZSA9ICQoJzxkaXYgY2xhc3M9InBhcnR5
dGltZSI+PGltZyBzcmM9InBhcnR5dGltZS5naWYiPjwvZGl2PicpOwotICAgICAgICAkKCcucmVz
dWx0cycpLmFwcGVuZChwYXJ0eVRpbWUpOworICAgICAgICAkKCcucmVzdWx0cyAuY29udGVudCcp
LmFwcGVuZChwYXJ0eVRpbWUpOwogICAgICAgICBwYXJ0eVRpbWUuZmFkZUluKDEyMDApLmRlbGF5
KDcwMDApLmZhZGVPdXQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAkKCcucmVzdWx0
cycpLmVtcHR5KCk7CisgICAgJCgnLnJlc3VsdHMgLmNvbnRlbnQnKS5lbXB0eSgpOwogfQogCiBm
dW5jdGlvbiBlbnN1cmVSZXN1bHRzU3VtbWFyeUNvbnRhaW5lcigpCkBAIC02NSw3ICs3NCw3IEBA
IGZ1bmN0aW9uIGVuc3VyZVJlc3VsdHNTdW1tYXJ5Q29udGFpbmVyKCkKICAgICBpZiAoY29udGFp
bmVyLmxlbmd0aCkKICAgICAgICAgcmV0dXJuIGNvbnRhaW5lcjsKICAgICBjb250YWluZXIgPSB1
aS5yZWdyZXNzaW9uc0NvbnRhaW5lcigpOwotICAgICQoJy5yZXN1bHRzJykuYXBwZW5kKGNvbnRh
aW5lcik7CisgICAgJCgnLnJlc3VsdHMgLmNvbnRlbnQnKS5hcHBlbmQoY29udGFpbmVyKTsKICAg
ICByZXR1cm4gY29udGFpbmVyOwogfQogCkBAIC0xMTcsNiArMTI2LDcgQEAgZnVuY3Rpb24gdXBk
YXRlUmVzdWx0c1N1bW1hcnkoY2FsbGJhY2spCiAgICAgICAgIHZhciBuZXdUZXN0U3VtbWFyaWVz
ID0gJCgpOwogICAgICAgICB2YXIgcmVxdWVzdFRyYWNrZXIgPSBuZXcgYmFzZS5SZXF1ZXN0VHJh
Y2tlcihiYXNlLmtleXModW5leHBlY3RlZEZhaWx1cmVzKS5sZW5ndGgsIGZ1bmN0aW9uKCkgewog
ICAgICAgICAgICAgbmV3VGVzdFN1bW1hcmllcy5mYWRlSW4oKTsKKyAgICAgICAgICAgICQoJy5y
ZXN1bHRzIC50b29sYmFyJykuZmFkZUluKCk7CiAgICAgICAgICAgICBjYWxsYmFjaygpCiAgICAg
ICAgIH0pOwogCkBAIC0xMzYsNjEgKzE0NiwxMDMgQEAgZnVuY3Rpb24gdXBkYXRlUmVzdWx0c1N1
bW1hcnkoY2FsbGJhY2spCiAgICAgfSk7CiB9CiAKLWZ1bmN0aW9uIHNob3dSZXN1bHRzRGV0YWls
KCkKK2Z1bmN0aW9uIHNob3dSZXN1bHRzRGV0YWlsKHRlc3ROYW1lLCBzZWxlY3RlZEJ1aWxkZXJO
YW1lLCBmYWlsdXJlVHlwZUxpc3RCeUJ1aWxkZXIpCiB7Ci0gICAgdmFyIHRlc3RTdW1tYXJ5ID0g
JCh0aGlzKS5wYXJlbnRzKCcudGVzdCcpOwotICAgIHZhciBidWlsZGVyTmFtZSA9ICQodGhpcyku
YXR0cihjb25maWcua0J1aWxkZXJOYW1lQXR0cik7Ci0gICAgdmFyIHRlc3ROYW1lID0gdGVzdFN1
bW1hcnkuYXR0cihjb25maWcua1Rlc3ROYW1lQXR0cik7Ci0KLSAgICAvLyBGSVhNRTogSXQncyBs
YW1lIHRoYXQgd2UgaGF2ZSB0d28gZGlmZmVyZW50IHJlcHJlc2VudGF0aW9ucyBvZiBtdWx0aXBs
ZSBmYWlsdXJlIHR5cGVzLgotICAgIHZhciBmYWlsdXJlVHlwZXMgPSB0ZXN0U3VtbWFyeS5hdHRy
KGNvbmZpZy5rRmFpbHVyZVR5cGVzQXR0cik7Ci0gICAgdmFyIGZhaWx1cmVUeXBlTGlzdCA9IGZh
aWx1cmVUeXBlcy5zcGxpdCgnICcpOworICAgIHZhciBidWlsZGVyTmFtZUxpc3QgPSBiYXNlLmtl
eXMoZmFpbHVyZVR5cGVMaXN0QnlCdWlsZGVyKTsKKyAgICB2YXIgZmFpbHVyZVR5cGVMaXN0ID0g
ZmFpbHVyZVR5cGVMaXN0QnlCdWlsZGVyW3NlbGVjdGVkQnVpbGRlck5hbWVdOworICAgIHZhciBm
YWlsdXJlVHlwZXMgPSBmYWlsdXJlVHlwZUxpc3Quam9pbignICcpOwogCiAgICAgdmFyIGNvbnRl
bnQgPSAkKCcucmVzdWx0cy1kZXRhaWwgLmNvbnRlbnQnKTsKLSAgICBpZiAoJCgnLmZhaWx1cmUt
ZGV0YWlscycsIGNvbnRlbnQpLmF0dHIoY29uZmlnLmtCdWlsZGVyTmFtZUF0dHIpID09IGJ1aWxk
ZXJOYW1lICYmCisKKyAgICBpZiAoJCgnLmZhaWx1cmUtZGV0YWlscycsIGNvbnRlbnQpLmF0dHIo
Y29uZmlnLmtCdWlsZGVyTmFtZUF0dHIpID09IHNlbGVjdGVkQnVpbGRlck5hbWUgJiYKICAgICAg
ICAgJCgnLmZhaWx1cmUtZGV0YWlscycsIGNvbnRlbnQpLmF0dHIoY29uZmlnLmtUZXN0TmFtZUF0
dHIpID09IHRlc3ROYW1lICYmCiAgICAgICAgICQoJy5mYWlsdXJlLWRldGFpbHMnLCBjb250ZW50
KS5hdHRyKGNvbmZpZy5rRmFpbHVyZVR5cGVzQXR0cikgPT0gZmFpbHVyZVR5cGVzKQogICAgICAg
ICByZXR1cm47CiAKICAgICBkaXNwbGF5T25CdXR0ZXJiYXIoJ0xvYWRpbmcuLi4nKTsKIAotICAg
IHJlc3VsdHMuZmV0Y2hSZXN1bHRzVVJMcyhidWlsZGVyTmFtZSwgdGVzdE5hbWUsIGZhaWx1cmVU
eXBlTGlzdCwgZnVuY3Rpb24ocmVzdWx0c1VSTHMpIHsKKyAgICByZXN1bHRzLmZldGNoUmVzdWx0
c1VSTHMoc2VsZWN0ZWRCdWlsZGVyTmFtZSwgdGVzdE5hbWUsIGZhaWx1cmVUeXBlTGlzdCwgZnVu
Y3Rpb24ocmVzdWx0c1VSTHMpIHsKICAgICAgICAgdmFyIHN0YXR1cyA9ICQoJy5yZXN1bHRzLWRl
dGFpbCAudG9vbGJhciAuc3RhdHVzJyk7CiAKLSAgICAgICAgZnVuY3Rpb24gdXBkYXRlUmVzdWx0
cygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHN0YXR1cy50ZXh0KHRlc3ROYW1lICsgJyBbJyAr
IGJ1aWxkZXJOYW1lICsgJ10nKTsKLSAgICAgICAgICAgIGNvbnRlbnQuZW1wdHkoKTsKLSAgICAg
ICAgICAgIGNvbnRlbnQuYXBwZW5kKHVpLmZhaWx1cmVEZXRhaWxzKHJlc3VsdHNVUkxzKSk7Ci0g
ICAgICAgICAgICAkKCcucmVzdWx0cy1kZXRhaWwgLmFjdGlvbnMgLnJlYmFzZWxpbmUnKS50b2dn
bGUocmVzdWx0cy5jYW5SZWJhc2VsaW5lKGZhaWx1cmVUeXBlTGlzdCkpOwotICAgICAgICAgICAg
JCgnLmZhaWx1cmUtZGV0YWlscycsIGNvbnRlbnQpLmF0dHIoY29uZmlnLmtCdWlsZGVyTmFtZUF0
dHIsIGJ1aWxkZXJOYW1lKTsKLSAgICAgICAgICAgICQoJy5mYWlsdXJlLWRldGFpbHMnLCBjb250
ZW50KS5hdHRyKGNvbmZpZy5rVGVzdE5hbWVBdHRyLCB0ZXN0TmFtZSk7Ci0gICAgICAgICAgICAk
KCcuZmFpbHVyZS1kZXRhaWxzJywgY29udGVudCkuYXR0cihjb25maWcua0ZhaWx1cmVUeXBlc0F0
dHIsIGZhaWx1cmVUeXBlcyk7Ci0gICAgICAgIH0KKyAgICAgICAgc3RhdHVzLmVtcHR5KCk7Cisg
ICAgICAgIGNvbnRlbnQuZW1wdHkoKTsKIAotICAgICAgICB2YXIgY2hpbGRyZW4gPSBjb250ZW50
LmNoaWxkcmVuKCk7Ci0gICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggJiYgJCgnLnJlc3VsdHMt
ZGV0YWlsJykuaXMoIjp2aXNpYmxlIikpIHsKLSAgICAgICAgICAgIC8vIFRoZSByZXN1bHRzLWRl
dGFpbCBwYW5lIGlzIGFscmVhZHkgb3Blbi4gTGV0J3MgZG8gYSBxdWljayBjcm9zcy1mYWRlLgot
ICAgICAgICAgICAgc3RhdHVzLmZhZGVPdXQoJ2Zhc3QnKTsKLSAgICAgICAgICAgIGNoaWxkcmVu
LmZhZGVPdXQoJ2Zhc3QnLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB1cGRhdGVSZXN1
bHRzKCk7Ci0gICAgICAgICAgICAgICAgc3RhdHVzLmZhZGVJbignZmFzdCcpOwotICAgICAgICAg
ICAgICAgIGNvbnRlbnQuY2hpbGRyZW4oKS5oaWRlKCkuZmFkZUluKCdmYXN0JywgZGlzbWlzc0J1
dHRlcmJhcik7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHVwZGF0ZVJlc3VsdHMoKTsKKyAgICAgICAgc3RhdHVzLmFwcGVuZCh1aS5mYWlsdXJlRGV0YWls
c1N0YXR1cyh0ZXN0TmFtZSwgc2VsZWN0ZWRCdWlsZGVyTmFtZSwgZmFpbHVyZVR5cGVzLCBidWls
ZGVyTmFtZUxpc3QpKTsKKyAgICAgICAgY29udGVudC5hcHBlbmQodWkuZmFpbHVyZURldGFpbHMo
cmVzdWx0c1VSTHMpKTsKKworICAgICAgICB0b2dnbGVCdXR0b24oJCgnLnJlc3VsdHMtZGV0YWls
IC5hY3Rpb25zIC5uZXh0JyksIGdfcmVzdWx0c0RldGFpbHNJdGVyYXRvci5oYXNOZXh0KCkpOwor
ICAgICAgICB0b2dnbGVCdXR0b24oJCgnLnJlc3VsdHMtZGV0YWlsIC5hY3Rpb25zIC5wcmV2aW91
cycpLCBnX3Jlc3VsdHNEZXRhaWxzSXRlcmF0b3IuaGFzUHJldmlvdXMoKSk7CisgICAgICAgIHRv
Z2dsZUJ1dHRvbigkKCcucmVzdWx0cy1kZXRhaWwgLmFjdGlvbnMgLnJlYmFzZWxpbmUnKSwgcmVz
dWx0cy5jYW5SZWJhc2VsaW5lKGZhaWx1cmVUeXBlTGlzdCkpOworCisgICAgICAgICQoJy5mYWls
dXJlLWRldGFpbHMnLCBjb250ZW50KS5hdHRyKGNvbmZpZy5rQnVpbGRlck5hbWVBdHRyLCBzZWxl
Y3RlZEJ1aWxkZXJOYW1lKTsKKyAgICAgICAgJCgnLmZhaWx1cmUtZGV0YWlscycsIGNvbnRlbnQp
LmF0dHIoY29uZmlnLmtUZXN0TmFtZUF0dHIsIHRlc3ROYW1lKTsKKyAgICAgICAgJCgnLmZhaWx1
cmUtZGV0YWlscycsIGNvbnRlbnQpLmF0dHIoY29uZmlnLmtGYWlsdXJlVHlwZXNBdHRyLCBmYWls
dXJlVHlwZXMpOworCisgICAgICAgIGlmICghJCgnLnJlc3VsdHMtZGV0YWlsJykuaXMoIjp2aXNp
YmxlIikpCiAgICAgICAgICAgICAkKCcucmVzdWx0cy1kZXRhaWwnKS5mYWRlSW4oJ2Zhc3QnLCBk
aXNtaXNzQnV0dGVyYmFyKTsKLSAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICBk
aXNtaXNzQnV0dGVyYmFyKCk7CiAgICAgfSk7CiB9CiAKIGZ1bmN0aW9uIGhpZGVSZXN1bHRzRGV0
YWlsKCkKIHsKICAgICAkKCcucmVzdWx0cy1kZXRhaWwnKS5mYWRlT3V0KCdmYXN0JywgZnVuY3Rp
b24oKSB7CisgICAgICAgICQoJy5yZXN1bHRzLWRldGFpbCAuc3RhdHVzJykuZW1wdHkoKTsKICAg
ICAgICAgJCgnLnJlc3VsdHMtZGV0YWlsIC5jb250ZW50JykuZW1wdHkoKTsKICAgICB9KTsKIH0K
IAorZnVuY3Rpb24gbmV4dFJlc3VsdHNEZXRhaWwoKQoreworICAgIGdfcmVzdWx0c0RldGFpbHNJ
dGVyYXRvci5jYWxsTmV4dCgpOworfQorCitmdW5jdGlvbiBwcmV2aW91c1Jlc3VsdHNEZXRhaWwo
KQoreworICAgIGdfcmVzdWx0c0RldGFpbHNJdGVyYXRvci5jYWxsUHJldmlvdXMoKTsKK30KKwor
ZnVuY3Rpb24gcmVzdWx0c0RldGFpbEFyZ3VtZW50c0ZvckJ1aWxkZXJFbGVtZW50KGJ1aWxkZXJC
bG9jaykKK3sKKyAgICB2YXIgc2VsZWN0ZWRCdWlsZGVyTmFtZSA9IGJ1aWxkZXJCbG9jay5hdHRy
KGNvbmZpZy5rQnVpbGRlck5hbWVBdHRyKTsKKworICAgIHZhciB0ZXN0U3VtbWFyeSA9IGJ1aWxk
ZXJCbG9jay5wYXJlbnRzKCcudGVzdCcpOworICAgIHZhciB0ZXN0TmFtZSA9IHRlc3RTdW1tYXJ5
LmF0dHIoY29uZmlnLmtUZXN0TmFtZUF0dHIpOworCisgICAgLy8gRklYTUU6IEl0J3MgbGFtZSB0
aGF0IHdlIGhhdmUgdHdvIGRpZmZlcmVudCByZXByZXNlbnRhdGlvbnMgb2YgbXVsdGlwbGUgZmFp
bHVyZSB0eXBlcy4KKyAgICB2YXIgZmFpbHVyZVR5cGVzID0gdGVzdFN1bW1hcnkuYXR0cihjb25m
aWcua0ZhaWx1cmVUeXBlc0F0dHIpOworICAgIHZhciBmYWlsdXJlVHlwZUxpc3QgPSBmYWlsdXJl
VHlwZXMuc3BsaXQoJyAnKTsKKworICAgIHZhciBmYWlsdXJlVHlwZUxpc3RCeUJ1aWxkZXIgPSB7
fQorICAgICQoJy53aGVyZSAuYnVpbGRlci1uYW1lJywgdGVzdFN1bW1hcnkpLmVhY2goZnVuY3Rp
b24oKSB7CisgICAgICAgIHZhciBidWlsZGVyTmFtZSA9ICQodGhpcykuYXR0cihjb25maWcua0J1
aWxkZXJOYW1lQXR0cik7CisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdW5kZXJzdGFuZCB0
aGF0IHRlc3RzIGNhbiBmYWlsIGluIGRpZmZlcmVudCB3YXlzCisgICAgICAgIC8vIG9uIGRpZmZl
cmVudCBidWlsZGVycy4KKyAgICAgICAgZmFpbHVyZVR5cGVMaXN0QnlCdWlsZGVyW2J1aWxkZXJO
YW1lXSA9IGZhaWx1cmVUeXBlTGlzdDsKKyAgICB9KTsKKworICAgIHJldHVybiBbdGVzdE5hbWUs
IHNlbGVjdGVkQnVpbGRlck5hbWUsIGZhaWx1cmVUeXBlTGlzdEJ5QnVpbGRlcl07Cit9CisKK2Z1
bmN0aW9uIHByZXBhcmVSZXN1bHRzRGV0YWlsc0l0ZXJhdG9yKHF1ZXJ5KQoreworICAgIHZhciBs
aXN0T2ZSZXN1bHRzRGV0YWlsQXJndW1lbnRzID0gW107CisKKyAgICBxdWVyeS5lYWNoKGZ1bmN0
aW9uKCkgeworICAgICAgICB2YXIgcmVzdWx0c0RldGFpbEFyZ3VtZW50cyA9IHJlc3VsdHNEZXRh
aWxBcmd1bWVudHNGb3JCdWlsZGVyRWxlbWVudCgkKHRoaXMpKTsKKyAgICAgICAgbGlzdE9mUmVz
dWx0c0RldGFpbEFyZ3VtZW50cy5wdXNoKHJlc3VsdHNEZXRhaWxBcmd1bWVudHMpOworICAgIH0p
OworCisgICAgcmV0dXJuIG5ldyBiYXNlLmNhbGxiYWNrSXRlcmF0b3Ioc2hvd1Jlc3VsdHNEZXRh
aWwsIGxpc3RPZlJlc3VsdHNEZXRhaWxBcmd1bWVudHMpOworfQorCitmdW5jdGlvbiB0cmlhZ2VG
YWlsdXJlcygpCit7CisgICAgZ19yZXN1bHRzRGV0YWlsc0l0ZXJhdG9yID0gcHJlcGFyZVJlc3Vs
dHNEZXRhaWxzSXRlcmF0b3IoJCgnLnJlc3VsdHMgLnRlc3QgLmJ1aWxkZXItbmFtZScpKTsKKyAg
ICBnX3Jlc3VsdHNEZXRhaWxzSXRlcmF0b3IuY2FsbE5leHQoKTsKK30KKwogZnVuY3Rpb24gcmVi
YXNlbGluZVJlc3VsdHMoKQogewogICAgIHZhciBmYWlsdXJlRGV0YWlscyA9ICQoJy5mYWlsdXJl
LWRldGFpbHMnLCAkKHRoaXMpLnBhcmVudHMoJy5yZXN1bHRzLWRldGFpbCcpKTsKQEAgLTIyMiw5
ICsyNzQsMTEgQEAgZnVuY3Rpb24gdXBkYXRlKCkKICAgICBjaGVja0J1aWxkZXJTdGF0dXNlcygp
OwogfQogCi0kKCcucmVzdWx0cy1zdW1tYXJ5IC53aGVyZSBhJykubGl2ZSgnY2xpY2snLCBzaG93
UmVzdWx0c0RldGFpbCk7Ci0kKCcucmVzdWx0cy1kZXRhaWwgLmFjdGlvbnMgLmRpc21pc3MnKS5s
aXZlKCdjbGljaycsIGhpZGVSZXN1bHRzRGV0YWlsKTsKKyQoJy5yZXN1bHRzIC50b29sYmFyIC50
cmlhZ2UnKS5saXZlKCdjbGljaycsIHRyaWFnZUZhaWx1cmVzKTsKKyQoJy5yZXN1bHRzLWRldGFp
bCAuYWN0aW9ucyAubmV4dCcpLmxpdmUoJ2NsaWNrJywgbmV4dFJlc3VsdHNEZXRhaWwpOworJCgn
LnJlc3VsdHMtZGV0YWlsIC5hY3Rpb25zIC5wcmV2aW91cycpLmxpdmUoJ2NsaWNrJywgcHJldmlv
dXNSZXN1bHRzRGV0YWlsKTsKICQoJy5yZXN1bHRzLWRldGFpbCAuYWN0aW9ucyAucmViYXNlbGlu
ZScpLmxpdmUoJ2NsaWNrJywgcmViYXNlbGluZVJlc3VsdHMpOworJCgnLnJlc3VsdHMtZGV0YWls
IC5hY3Rpb25zIC5kaXNtaXNzJykubGl2ZSgnY2xpY2snLCBoaWRlUmVzdWx0c0RldGFpbCk7CiAK
ICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgIGdfdXBkYXRlVGltZXJJZCA9IHdp
bmRvdy5zZXRJbnRlcnZhbCh1cGRhdGUsIGNvbmZpZy5rVXBkYXRlRnJlcXVlbmN5KTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5n
c2VydmVyL3VpLmpzIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9n
YXJkZW5pbmdzZXJ2ZXIvdWkuanMKaW5kZXggZWM3ZDE4ZWQyZDA0YmVhMjA2MGJlZDdlYmZiNzVl
Y2Y0NTUzN2JkMS4uMDE0NThlZmE0YjA1OTNkMjgwYjlmY2Q2NDkzOThlOWJhNDNhNGQ0ZCAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5p
bmdzZXJ2ZXIvdWkuanMKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMv
ZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvdWkuanMKQEAgLTQ4LDIwICs0OCwyMCBAQCB1aS5zdW1tYXJp
emVUZXN0ID0gZnVuY3Rpb24odGVzdE5hbWUsIHJlc3VsdE5vZGVzQnlCdWlsZGVyKQogICAgIHZh
ciB1bmV4cGVjdGVkUmVzdWx0cyA9IHJlc3VsdHMuY29sbGVjdFVuZXhwZWN0ZWRSZXN1bHRzKHJl
c3VsdE5vZGVzQnlCdWlsZGVyKTsKICAgICB2YXIgYmxvY2sgPSAkKAogICAgICAgICAnPHRyIGNs
YXNzPSJ0ZXN0Ij4nICsKLSAgICAgICAgICAnPHRkIGNsYXNzPSJ3aGF0Ij48YSBkcmFnZ2FibGU+
PC9hPjwvdGQ+JyArCisgICAgICAgICAgJzx0ZCBjbGFzcz0id2hhdCI+PGEgY2xhc3M9InRlc3Qt
bmFtZSI+PC9hPjwvdGQ+JyArCiAgICAgICAgICAgJzx0ZCBjbGFzcz0id2hlcmUiPjx1bD48L3Vs
PjwvdGQ+JyArCiAgICAgICAgICAgJzx0ZCBjbGFzcz0id2hlbiI+PC90ZD4nICsKICAgICAgICAg
ICAnPHRkIGNsYXNzPSJob3ctbWFueSI+PC90ZD4nICsKICAgICAgICAgJzwvdHI+Jyk7Ci0gICAg
JCgnLndoYXQgYScsIGJsb2NrKS50ZXh0KHRlc3ROYW1lKS5hdHRyKCdocmVmJywgdWkudXJsRm9y
VGVzdCh0ZXN0TmFtZSkpLmF0dHIoJ2NsYXNzJywgdW5leHBlY3RlZFJlc3VsdHMuam9pbignICcp
KTsKKyAgICAkKCcudGVzdC1uYW1lJywgYmxvY2spLnRleHQodGVzdE5hbWUpLmF0dHIoJ2hyZWYn
LCB1aS51cmxGb3JUZXN0KHRlc3ROYW1lKSkuYWRkQ2xhc3ModW5leHBlY3RlZFJlc3VsdHMuam9p
bignICcpKTsKICAgICBibG9jay5hdHRyKGNvbmZpZy5rVGVzdE5hbWVBdHRyLCB0ZXN0TmFtZSk7
CiAgICAgYmxvY2suYXR0cihjb25maWcua0ZhaWx1cmVUeXBlc0F0dHIsIHVuZXhwZWN0ZWRSZXN1
bHRzKTsKIAogICAgIHZhciB3aGVyZSA9ICQoJy53aGVyZScsIGJsb2NrKTsKICAgICAkLmVhY2go
cmVzdWx0Tm9kZXNCeUJ1aWxkZXIsIGZ1bmN0aW9uKGJ1aWxkZXJOYW1lLCByZXN1bHROb2RlKSB7
Ci0gICAgICAgIHZhciBsaXN0RWxlbWVudCA9ICQoJzxsaT48YSBocmVmPSIjIj48L2E+PC9saT4n
KTsKKyAgICAgICAgdmFyIGxpc3RFbGVtZW50ID0gJCgnPGxpIGNsYXNzPSJidWlsZGVyLW5hbWUi
PjwvbGk+Jyk7CisgICAgICAgIGxpc3RFbGVtZW50LmF0dHIoY29uZmlnLmtCdWlsZGVyTmFtZUF0
dHIsIGJ1aWxkZXJOYW1lKS50ZXh0KGRpc3BsYXlOYW1lRm9yQnVpbGRlcihidWlsZGVyTmFtZSkp
OwogICAgICAgICB3aGVyZS5hcHBlbmQobGlzdEVsZW1lbnQpOwotICAgICAgICAkKCdhJywgbGlz
dEVsZW1lbnQpLmF0dHIoY29uZmlnLmtCdWlsZGVyTmFtZUF0dHIsIGJ1aWxkZXJOYW1lKS50ZXh0
KGRpc3BsYXlOYW1lRm9yQnVpbGRlcihidWlsZGVyTmFtZSkpOwogICAgIH0pOwogCiAgICAgcmV0
dXJuIGJsb2NrOwpAQCAtNzksNyArNzksNyBAQCB1aS5zdW1tYXJpemVSZWdyZXNzaW9uUmFuZ2Ug
PSBmdW5jdGlvbihvbGRlc3RGYWlsaW5nUmV2aXNpb24sIG5ld2VzdFBhc3NpbmdSZXZpcwogICAg
ICAgICBkaXNwbGF5TmFtZUZvclJldmlzaW9uKGltcGxpZWRGaXJzdEZhaWxpbmdSZXZpc2lvbikg
OgogICAgICAgICBkaXNwbGF5TmFtZUZvclJldmlzaW9uKGltcGxpZWRGaXJzdEZhaWxpbmdSZXZp
c2lvbikgKyAnLScgKyBkaXNwbGF5TmFtZUZvclJldmlzaW9uKG9sZGVzdEZhaWxpbmdSZXZpc2lv
bik7CiAKLSAgICB2YXIgYmxvY2sgPSAkKCc8ZGl2IGNsYXNzPSJyZWdyZXNzaW9uLXJhbmdlIj48
YT48L2E+PC9kaXY+Jyk7CisgICAgdmFyIGJsb2NrID0gJCgnPGRpdiBjbGFzcz0icmVncmVzc2lv
bi1yYW5nZSI+PGEgdGFyZ2V0PSJfYmxhbmsiPjwvYT48L2Rpdj4nKTsKICAgICAkKCdhJywgYmxv
Y2spLmF0dHIoJ2hyZWYnLCBocmVmKS50ZXh0KHRleHQpCiAgICAgcmV0dXJuIGJsb2NrOwogfTsK
QEAgLTEwNyw2ICsxMDcsMjMgQEAgdWkuZmFpbHVyZUNvdW50ID0gZnVuY3Rpb24oZmFpbHVyZUNv
dW50KQogICAgIHJldHVybiAnU2VlbiAnICsgZmFpbHVyZUNvdW50ICsgJyB0aW1lcy4nOwogfTsK
IAordWkuZmFpbHVyZURldGFpbHNTdGF0dXMgPSBmdW5jdGlvbih0ZXN0TmFtZSwgc2VsZWN0ZWRC
dWlsZGVyTmFtZSwgZmFpbHVyZVR5cGVzLCBidWlsZGVyTmFtZUxpc3QpCit7CisgICAgdmFyIGJs
b2NrID0gJCgnPHNwYW4+PHNwYW4gY2xhc3M9InRlc3QtbmFtZSI+PC9zcGFuPjxzcGFuIGNsYXNz
PSJidWlsZGVyLWxpc3QiPjwvc3Bhbj48L3NwYW4+Jyk7CisgICAgJCgnLnRlc3QtbmFtZScsIGJs
b2NrKS5hZGRDbGFzcyhmYWlsdXJlVHlwZXMpLnRleHQodGVzdE5hbWUpOworCisgICAgdmFyIGJ1
aWxkZXJMaXN0ID0gJCgnLmJ1aWxkZXItbGlzdCcsIGJsb2NrKTsKKyAgICAkLmVhY2goYnVpbGRl
ck5hbWVMaXN0LCBmdW5jdGlvbihpbmRleCwgYnVpbGRlck5hbWUpIHsKKyAgICAgICAgdmFyIGJ1
aWxkZXIgPSAkKCc8c3BhbiBjbGFzcz0iYnVpbGRlci1uYW1lIj48L3NwYW4+JykKKyAgICAgICAg
YnVpbGRlci50ZXh0KGJ1aWxkZXJOYW1lKTsKKyAgICAgICAgaWYgKGJ1aWxkZXJOYW1lID09IHNl
bGVjdGVkQnVpbGRlck5hbWUpCisgICAgICAgICAgICBidWlsZGVyLmFkZENsYXNzKCdzZWxlY3Rl
ZCcpOworICAgICAgICBidWlsZGVyTGlzdC5hcHBlbmQoYnVpbGRlcik7CisgICAgfSk7CisKKyAg
ICByZXR1cm4gYmxvY2s7Cit9OworCiB1aS5mYWlsdXJlRGV0YWlscyA9IGZ1bmN0aW9uKHJlc3Vs
dHNVUkxzKQogewogICAgIHZhciBibG9jayA9ICQoJzx0YWJsZSBjbGFzcz0iZmFpbHVyZS1kZXRh
aWxzIj48dGJvZHk+PHRyPjwvdHI+PC90Ym9keT48L3RhYmxlPicpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101252</attachid>
            <date>2011-07-18 18:07:20 -0700</date>
            <delta_ts>2011-07-19 00:38:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64769-20110718180719.patch</filename>
            <type>text/plain</type>
            <size>26212</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTExOTcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMzg5ZjAyMmFiNDliYzdkYjNjYTBkN2U4MmE0OWFjZWM5
MzdjMjhjLi42MmIwNWIxNDQwMDdmN2RhZDlhY2QzMzBkMGNkYzJmYzdlYjAxNzBmIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzUg
QEAKIDIwMTEtMDctMTggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAg
ICBnYXJkZW4tby1tYXRpYyBzaG91bGQgaGF2ZSBhICJUcmlhZ2UgRmFpbHVyZXMiIGJ1dHRvbiBm
b3IgaXRlcmF0aW5nIG92ZXIgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY0NzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIHNvbWUgZ2xvYmFsIHN0YXRpYyBzdGF0
ZSBhbmQgcmVmYWN0b3JzIHRoaW5ncyBhIGJpdCBzbworICAgICAgICB0aGF0IHdlIGNhbiBpdGVy
YXRlIG92ZXIgYWxsIHRoZSBmYWlsdXJlcyBpbiB0aGUgZGV0YWlscyBwYW5lLgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFz
ZS5qczoKKyAgICAgICAgICAgIC0gQWRkIGEgZ2VuZXJpYyBjYWxsYmFjayBpdGVyYXRvciB0byBp
dGVyYXRlIHRocm91Z2ggYSBzZXJpZXMgb2YKKyAgICAgICAgICAgICAgY2FsbGJhY2tzLiBXZSB1
c2UgdGhpcyB0byBpdGVyYXRlIHRocm91Z2ggdGhlIGZhaWx1cmVzIHdlIHdhbnQgdG8KKyAgICAg
ICAgICAgICAgZGlzcGxheSB0aGUgZGV0YWlscyBvZi4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9pbmRleC5odG1sOgorICAgICAg
ICAgICAgLSBBZGQgYSB0b29sYmFyIGZvciB0aGUgcmVzdWx0cyBzdW1tYXJ5IGFuZCBjaGFuZ2Ug
dGhlIGJ1dHRvbnMgdG8KKyAgICAgICAgICAgICAgYmUgcmVhbCBidXR0b25zLgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL21haW4u
Y3NzOgorICAgICAgICAgICAgLSBNYWtlIHRoZSBkZXRhaWwgcGFuZSA3NSUgb2YgdGhlIHdpbmRv
dy4KKyAgICAgICAgICAgIC0gTWFrZSB0aGUgYnV0dG9ucyBwcmV0dHkuCisgICAgICAgICAgICAt
IEFsbG93IHRoZSBmYWlsdXJlIHR5cGUgYmFkZ2VzIHRvIGFwcGx5IHRvIHRoZSBkZXRhaWxzIHBh
bmUgYXMgd2VsbC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRh
L2dhcmRlbmluZ3NlcnZlci9tYWluLmpzOgorICAgICAgICAgICAgLSBSZXN0cnVjdHVyZSBob3cg
d2UgYnJpbmcgdXAgdGhlIGRldGFpbHMgcGFuZSBzbyB3ZSBjYW4gaXRlcmF0ZQorICAgICAgICAg
ICAgICB0aHJvdWdoIGEgYnVuY2ggb2YgZmFpbHVyZXMuCisgICAgICAgICAgICAtIFJlbW92ZSB0
aGUgdHJhbnNpdGlvbiBiZXR3ZWVuIHJlc3VsdHMgZGV0YWlscyBiZWNhdXNlIGl0J3MKKyAgICAg
ICAgICAgICAgYW5ub3lpbmcgd2hlbiB5b3Ugd2FudCB0byBjbGljayB0aHJvdWdoIGEgYnVuY2gg
b2YgZmFpbHVyZXMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0
YS9nYXJkZW5pbmdzZXJ2ZXIvdWkuanM6CisgICAgICAgICAgICAtIEFkZCBzb21lIG1vcmUgc3Ry
dWN0dXJlIHRvIHRoZSB0aXRsZSBiYXIgZm9yIHRoZSByZXN1bHRzIGRldGFpbHMKKyAgICAgICAg
ICAgICAgc28gaXQncyBjbGVhcmVyIHdoaWNoIHJlc3VsdHMgd2UncmUgY3VycmVudGx5IGRpc3Bs
YXlpbmcuCisKKzIwMTEtMDctMTggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwog
ICAgICAgICBnYXJkZW4tby1tYXRpYyBzaG91bGQgbGl2ZSB1cGRhdGUgYXMgY29uZGl0aW9ucyBj
aGFuZ2Ugb24gdGhlIGJ1aWxkYm90CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NDY0NgogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9iYXNlLmpzIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZS5qcwppbmRl
eCAyNDgyZGYyMTg2MmVhNTY4NTBjMWIzZmM0NDZmNTJiZGU4YzFiYjdlLi40N2YyNjIyMjBhNGE3
YWNkM2ZlOTEyNjIzMDk2YWU2ZDJlMGRlYmRmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9iYXNlLmpzCisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL2Jh
c2UuanMKQEAgLTk5LDE2ICs5OSw1MSBAQCBiYXNlLmpzb25wID0gZnVuY3Rpb24odXJsLCBvbnN1
Y2Nlc3MpCiAKIGJhc2UuUmVxdWVzdFRyYWNrZXIgPSBmdW5jdGlvbihyZXF1ZXN0c0luRmxpZ2h0
LCBjYWxsYmFjaywgYXJncykKIHsKLSAgICB0aGlzLm1fcmVxdWVzdHNJbkZsaWdodCA9IHJlcXVl
c3RzSW5GbGlnaHQ7Ci0gICAgdGhpcy5tX2NhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgdGhpcy5t
X2FyZ3MgPSBhcmdzIHx8IFtdOworICAgIHRoaXMuX3JlcXVlc3RzSW5GbGlnaHQgPSByZXF1ZXN0
c0luRmxpZ2h0OworICAgIHRoaXMuX2NhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgdGhpcy5fYXJn
cyA9IGFyZ3MgfHwgW107CiB9OwogCiBiYXNlLlJlcXVlc3RUcmFja2VyLnByb3RvdHlwZS5yZXF1
ZXN0Q29tcGxldGUgPSBmdW5jdGlvbigpCiB7Ci0gICAgLS10aGlzLm1fcmVxdWVzdHNJbkZsaWdo
dDsKLSAgICBpZiAoIXRoaXMubV9yZXF1ZXN0c0luRmxpZ2h0KQotICAgICAgICB0aGlzLm1fY2Fs
bGJhY2suYXBwbHkobnVsbCwgdGhpcy5tX2FyZ3MpOworICAgIC0tdGhpcy5fcmVxdWVzdHNJbkZs
aWdodDsKKyAgICBpZiAoIXRoaXMuX3JlcXVlc3RzSW5GbGlnaHQpCisgICAgICAgIHRoaXMuX2Nh
bGxiYWNrLmFwcGx5KG51bGwsIHRoaXMuX2FyZ3MpOworfTsKKworYmFzZS5DYWxsYmFja0l0ZXJh
dG9yID0gZnVuY3Rpb24oY2FsbGJhY2ssIGxpc3RPZkFyZ3VtZW50QXJyYXlzKQoreworICAgIHRo
aXMuX2NhbGxiYWNrID0gY2FsbGJhY2s7CisgICAgdGhpcy5fbmV4dEluZGV4ID0gMDsKKyAgICB0
aGlzLl9saXN0T2ZBcmd1bWVudEFycmF5cyA9IGxpc3RPZkFyZ3VtZW50QXJyYXlzOworfTsKKwor
YmFzZS5DYWxsYmFja0l0ZXJhdG9yLnByb3RvdHlwZS5oYXNOZXh0ID0gZnVuY3Rpb24oKQorewor
ICAgIHJldHVybiB0aGlzLl9uZXh0SW5kZXggPCB0aGlzLl9saXN0T2ZBcmd1bWVudEFycmF5cy5s
ZW5ndGg7Cit9OworCitiYXNlLkNhbGxiYWNrSXRlcmF0b3IucHJvdG90eXBlLmhhc1ByZXZpb3Vz
ID0gZnVuY3Rpb24oKQoreworICAgIHJldHVybiB0aGlzLl9uZXh0SW5kZXggLSAyID49IDA7Cit9
OworCitiYXNlLkNhbGxiYWNrSXRlcmF0b3IucHJvdG90eXBlLmNhbGxOZXh0ID0gZnVuY3Rpb24o
KQoreworICAgIGlmICghdGhpcy5oYXNOZXh0KCkpCisgICAgICAgIHJldHVybjsKKyAgICB2YXIg
YXJncyA9IHRoaXMuX2xpc3RPZkFyZ3VtZW50QXJyYXlzW3RoaXMuX25leHRJbmRleF07CisgICAg
dGhpcy5fbmV4dEluZGV4Kys7CisgICAgdGhpcy5fY2FsbGJhY2suYXBwbHkobnVsbCwgYXJncyk7
Cit9OworCitiYXNlLkNhbGxiYWNrSXRlcmF0b3IucHJvdG90eXBlLmNhbGxQcmV2aW91cyA9IGZ1
bmN0aW9uKCkKK3sKKyAgICBpZiAoIXRoaXMuaGFzUHJldmlvdXMoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIHZhciBhcmdzID0gdGhpcy5fbGlzdE9mQXJndW1lbnRBcnJheXNbdGhpcy5fbmV4dElu
ZGV4IC0gMl07CisgICAgdGhpcy5fbmV4dEluZGV4LS07CisgICAgdGhpcy5fY2FsbGJhY2suYXBw
bHkobnVsbCwgYXJncyk7CiB9OwogCiB9KSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvYmFzZV91bml0dGVzdHMu
anMgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3Nl
cnZlci9iYXNlX3VuaXR0ZXN0cy5qcwppbmRleCA3NTI2ZjI4ZGNhMzFlMGVlMDQ2ZjFkMDBlYTE4
NzFkNDY2MDVjYThhLi4zOTc0YzkzMTcyNTA0NDY3OWZmZjUxOGQ5ZDlhOTA5NDUyNTNlM2M0IDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRl
bmluZ3NlcnZlci9iYXNlX3VuaXR0ZXN0cy5qcworKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9iYXNlX3VuaXR0ZXN0cy5qcwpAQCAt
NzIsNiArNzIsMzggQEAgdGVzdCgiUmVxdWVzdFRyYWNrZXIiLCAzLCBmdW5jdGlvbigpIHsKICAg
ICB0cmFja2VyLnJlcXVlc3RDb21wbGV0ZSgpOwogfSk7CiAKK3Rlc3QoIkNhbGxiYWNrSXRlcmF0
b3IiLCAyMiwgZnVuY3Rpb24oKSB7CisgICAgdmFyIGV4cGVjdGVkID0gMDsKKyAgICB2YXIgaXRl
cmF0b3IgPSBuZXcgYmFzZS5DYWxsYmFja0l0ZXJhdG9yKGZ1bmN0aW9uKGEsIGIpIHsKKyAgICAg
ICAgZXF1YWxzKGEsICdBcmdBJyArIGV4cGVjdGVkKTsKKyAgICAgICAgZXF1YWxzKGIsICdBcmdC
JyArIGV4cGVjdGVkKTsKKyAgICAgICAgKytleHBlY3RlZDsKKyAgICB9LCBbCisgICAgICAgIFsn
QXJnQTAnLCAnQXJnQjAnXSwKKyAgICAgICAgWydBcmdBMScsICdBcmdCMSddLAorICAgICAgICBb
J0FyZ0EyJywgJ0FyZ0IyJ10sCisgICAgXSk7CisgICAgb2soaXRlcmF0b3IuaGFzTmV4dCgpKQor
ICAgIG9rKCFpdGVyYXRvci5oYXNQcmV2aW91cygpKQorICAgIGl0ZXJhdG9yLmNhbGxOZXh0KCk7
CisgICAgb2soaXRlcmF0b3IuaGFzTmV4dCgpKQorICAgIG9rKCFpdGVyYXRvci5oYXNQcmV2aW91
cygpKQorICAgIGl0ZXJhdG9yLmNhbGxOZXh0KCk7CisgICAgb2soaXRlcmF0b3IuaGFzTmV4dCgp
KQorICAgIG9rKGl0ZXJhdG9yLmhhc1ByZXZpb3VzKCkpCisgICAgaXRlcmF0b3IuY2FsbE5leHQo
KTsKKyAgICBvayghaXRlcmF0b3IuaGFzTmV4dCgpKQorICAgIG9rKGl0ZXJhdG9yLmhhc1ByZXZp
b3VzKCkpCisgICAgZXhwZWN0ZWQgPSAxOworICAgIGl0ZXJhdG9yLmNhbGxQcmV2aW91cygpOwor
ICAgIG9rKGl0ZXJhdG9yLmhhc05leHQoKSkKKyAgICBvayhpdGVyYXRvci5oYXNQcmV2aW91cygp
KQorICAgIGV4cGVjdGVkID0gMDsKKyAgICBpdGVyYXRvci5jYWxsUHJldmlvdXMoKTsKKyAgICBv
ayhpdGVyYXRvci5oYXNOZXh0KCkpCisgICAgb2soIWl0ZXJhdG9yLmhhc1ByZXZpb3VzKCkpCit9
KTsKKwogdGVzdCgiZmlsdGVyVHJlZSIsIDIsIGZ1bmN0aW9uKCkgewogICAgIHZhciB0cmVlID0g
ewogICAgICAgICAncGF0aCc6IHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL2luZGV4Lmh0bWwgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9pbmRleC5odG1s
CmluZGV4IDczYjdlOTdjODFlMTZjZmM0Nzk4ZmQ0MzVjNzZjZmQ3N2MyYWJhM2YuLjMwZDE1NzIw
ODk3YTRkNTc0MzNjNzhiMGYxMDY5ODA2M2UwOGIwZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL2luZGV4Lmh0bWwK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdz
ZXJ2ZXIvaW5kZXguaHRtbApAQCAtMTIsMTQgKzEyLDIxIEBACiA8Ym9keT4KIDxkaXYgY2xhc3M9
ImJ1dHRlcmJhciI+PHNwYW4gY2xhc3M9InN0YXR1cyI+TG9hZGluZy4uLjwvc3Bhbj48L2Rpdj4K
IDxkaXYgY2xhc3M9ImFsZXJ0Ij48c3BhbiBjbGFzcz0ic3RhdHVzIj48L3NwYW4+PC9kaXY+Ci08
ZGl2IGNsYXNzPSJyZXN1bHRzIj48L2Rpdj4KKzxkaXYgY2xhc3M9InJlc3VsdHMiPgorICAgIDxk
aXYgY2xhc3M9ImNvbnRlbnQiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9InRvb2xiYXIiPgorICAg
ICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KKyAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRy
aWFnZSI+VHJpYWdlIEZhaWx1cmVzPC9idXR0b24+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2
PgorPC9kaXY+CiA8ZGl2IGNsYXNzPSJyZXN1bHRzLWRldGFpbCI+CiAgICAgPGRpdiBjbGFzcz0i
dG9vbGJhciI+CiAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMiPgotICAgICAgICAgICAgPGEg
Y2xhc3M9InJlYmFzZWxpbmUiIGhyZWY9IiMiPlJlYmFzZWxpbmU8L2E+Ci0gICAgICAgICAgICA8
YSBjbGFzcz0iZGlzbWlzcyIgaHJlZj0iIyI+Q2xvc2U8L2E+CisgICAgICAgICAgICA8YnV0dG9u
IGNsYXNzPSJyZWJhc2VsaW5lIGRlZmF1bHQiPlJlYmFzZWxpbmU8L2J1dHRvbj48YnV0dG9uIGNs
YXNzPSJwcmV2aW91cyI+JiM5NjY0OzwvYnV0dG9uPjxidXR0b24gY2xhc3M9Im5leHQiPiYjOTY1
NDs8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJkaXNtaXNzIj5DbG9zZTwvYnV0dG9uPgogICAgICAg
ICA8L2Rpdj4KICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIj48L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0iY2xlYXIiPjwvZGl2PgogICAgIDwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImNvbnRl
bnQiPjwvZGl2PgogPC9kaXY+CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci9tYWluLmNzcyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL21haW4uY3NzCmluZGV4
IDk3ZDU4NDJlNTU4OTU4ZmRjYTEyNGZkYjI3YmZlM2QyMzc5ZDI4ZWMuLmMxYmVkYzJkMTEyZjVm
ZjA0MTFkOGIwMDg4MGZlMzc0OGM2YmJhM2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL21haW4uY3NzCisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL21h
aW4uY3NzCkBAIC03LDcgKzcsNiBAQCBib2R5IHsKIAogYSB7CiAgICAgY29sb3I6IEJsYWNrOwot
ICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogfQogCiB0YWJsZSB7CkBAIC0xOSw3ICsxOCw3IEBAIHRh
YmxlIHsKIHRkLCB0aCB7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICB2ZXJ0aWNhbC1hbGln
bjogdG9wOwotICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNDQ0M7CisgICAgYm9yZGVyLXJp
Z2h0OiAxcHggc29saWQgI2M2YzZjNjsKIH0KIAogdGQ6bGFzdC1vZi10eXBlLCB0aDpsYXN0LW9m
LXR5cGUgewpAQCAtMjcsMTMgKzI2LDc0IEBAIHRkOmxhc3Qtb2YtdHlwZSwgdGg6bGFzdC1vZi10
eXBlIHsKIH0KIAogdGggewotICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDOworICAg
IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzZjNmM2OworfQorCitidXR0b24geworICAgIGJv
cmRlci1yYWRpdXM6IDJweDsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1n
cmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTsKKyAgICBib3JkZXI6IDFweCBzb2xpZCByZ2Jh
KDAsIDAsIDAsIDAuMSk7CisgICAgYm9yZGVyLXJhZGl1czogMnB4OworICAgIGNvbG9yOiAjNjY2
OworICAgIGN1cnNvcjogcG9pbnRlcjsKKyAgICBmb250LXNpemU6IDExcHg7CisgICAgZm9udC13
ZWlnaHQ6IGJvbGQ7CisgICAgaGVpZ2h0OiAyOXB4OworICAgIGxpbmUtaGVpZ2h0OiAyN3B4Owor
ICAgIG1hcmdpbjogMTFweCA2cHg7CisgICAgbWluLXdpZHRoOiA1NHB4OworICAgIHBhZGRpbmc6
IDAgOHB4OworICAgIHRleHQtYWxpZ246IGNlbnRlcgorfQorCitidXR0b24ubmV4dCB7CisgICAg
bWFyZ2luLWxlZnQ6IDBweDsKK30KKworYnV0dG9uLnByZXZpb3VzIHsKKyAgICBtYXJnaW4tcmln
aHQ6IDBweDsKK30KKworYnV0dG9uW2Rpc2FibGVkXSB7CisgICAgdmlzaWJpbGl0eTogaGlkZGVu
OworfQorCitidXR0b246aG92ZXIgeworICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGlu
ZWFyLWdyYWRpZW50KHRvcCwjZjhmOGY4LCNmMWYxZjEpOworICAgIC13ZWJraXQtYm94LXNoYWRv
dzogMCAxcHggMXB4IHJnYmEoMCwwLDAsMC4xKTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhm
OGY4OworICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwj
ZjFmMWYxKTsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjYzZjNmM2OworICAgIGJveC1zaGFkb3c6
IDAgMXB4IDFweCByZ2JhKDAsMCwwLDAuMSk7CisgICAgY29sb3I6ICMzMzMKK30KKworYnV0dG9u
OmZvY3VzIHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCAjNGQ5MGZlOworICAgIG91dGxpbmU6IG5v
bmUKK30KKworYnV0dG9uLmRlZmF1bHQgeworICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMDc5RUQ7
CisgICAgY29sb3I6IHdoaXRlOworICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFy
LWdyYWRpZW50KHRvcCwjNGQ5MGZlLCM0Nzg3ZWQpOworfQorCitidXR0b24uZGVmYXVsdDpob3Zl
ciB7CisgICAgYm9yZGVyOiAxcHggc29saWQgIzJmNWJiNzsKKyAgICBjb2xvcjogd2hpdGU7Cisg
ICAgYmFja2dyb3VuZC1jb2xvcjogIzM1N2FlODsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Vi
a2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCM0ZDkwZmUpLHRv
KCMzNTdhZTgpKTsKK30KKworLmNsZWFyIHsKKyAgICBjbGVhcjogYm90aDsKIH0KIAogLyoqKiBi
dXR0ZXJiYXIgKioqLwogCiAuYnV0dGVyYmFyIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNm
M2YzOworICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7CiAgICAgcGFkZGluZzogNXB4Owog
ICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICB0b3A6IDBweDsKQEAgLTc2LDExICsxMzYsMTYgQEAg
dGggewogCiAvKioqIHJlc3VsdHMtc3VtbWFyeSAqKiovCiAKKy5yZXN1bHRzIC50b29sYmFyIHsK
KyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgZGlzcGxheTogbm9uZTsKK30KKwogdGFibGUu
cmVzdWx0cy1zdW1tYXJ5IHsKICAgICB3aWR0aDogYXV0bzsKICAgICB0YWJsZS1sYXlvdXQ6IGF1
dG87CiAgICAgbWFyZ2luOiA1cHggYXV0bzsKLSAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDOwor
ICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNmM2YzY7CiB9CiAKIC5yZXN1bHRzLXN1bW1hcnkgdGQs
IC5yZXN1bHRzLXN1bW1hcnkgdGggewpAQCAtMTEzLDggKzE3OCw5IEBAIHRhYmxlLnJlc3VsdHMt
c3VtbWFyeSB7CiAgICAgY29sb3I6IGJsYWNrOwogfQogCi0ucmVzdWx0cy1zdW1tYXJ5IC53aGF0
IGFbZHJhZ2dhYmxlXS5JTUFHRVwrVEVYVDo6YWZ0ZXIgeworLnRlc3QtbmFtZS5JTUFHRVwrVEVY
VDo6YWZ0ZXIgewogICAgIGNvbnRlbnQ6ICdJTUFHRStURVhUJzsKKyAgICBmb250LXdlaWdodDog
bm9ybWFsOwogICAgIGNvbG9yOiB3aGl0ZTsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBJbmRpZ287
CiAgICAgZm9udC1zaXplOiAxMHB4OwpAQCAtMTIzLDggKzE4OSw5IEBAIHRhYmxlLnJlc3VsdHMt
c3VtbWFyeSB7CiAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogfQogCi0ucmVzdWx0cy1zdW1tYXJ5
IC53aGF0IGFbZHJhZ2dhYmxlXS5JTUFHRTo6YWZ0ZXIgeworLnRlc3QtbmFtZS5JTUFHRTo6YWZ0
ZXIgewogICAgIGNvbnRlbnQ6ICdJTUFHRSc7CisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAg
ICBjb2xvcjogd2hpdGU7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogTWlkbmlnaHRCbHVlOwogICAg
IGZvbnQtc2l6ZTogMTBweDsKQEAgLTEzMyw4ICsyMDAsOSBAQCB0YWJsZS5yZXN1bHRzLXN1bW1h
cnkgewogICAgIGJvcmRlci1yYWRpdXM6IDRweDsKIH0KIAotLnJlc3VsdHMtc3VtbWFyeSAud2hh
dCBhW2RyYWdnYWJsZV0uVElNRU9VVDo6YWZ0ZXIgeworLnRlc3QtbmFtZS5USU1FT1VUOjphZnRl
ciB7CiAgICAgY29udGVudDogJ1RJTUVPVVQnOworICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAg
ICAgY29sb3I6IHdoaXRlOwogICAgIGJhY2tncm91bmQtY29sb3I6IERhcmtHb2xkZW5Sb2Q7CiAg
ICAgZm9udC1zaXplOiAxMHB4OwpAQCAtMTQzLDggKzIxMSw5IEBAIHRhYmxlLnJlc3VsdHMtc3Vt
bWFyeSB7CiAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogfQogCi0ucmVzdWx0cy1zdW1tYXJ5IC53
aGF0IGFbZHJhZ2dhYmxlXS5URVhUOjphZnRlciB7CisudGVzdC1uYW1lLlRFWFQ6OmFmdGVyIHsK
ICAgICBjb250ZW50OiAnVEVYVCc7CisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICBjb2xv
cjogd2hpdGU7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogRG9kZ2VyQmx1ZTsKICAgICBmb250LXNp
emU6IDEwcHg7CkBAIC0xNTMsOCArMjIyLDkgQEAgdGFibGUucmVzdWx0cy1zdW1tYXJ5IHsKICAg
ICBib3JkZXItcmFkaXVzOiA0cHg7CiB9CiAKLS5yZXN1bHRzLXN1bW1hcnkgLndoYXQgYVtkcmFn
Z2FibGVdLkNSQVNIOjphZnRlciB7CisudGVzdC1uYW1lLkNSQVNIOjphZnRlciB7CiAgICAgY29u
dGVudDogJ0NSQVNIJzsKKyAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgIGNvbG9yOiB3aGl0
ZTsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBUb21hdG87CiAgICAgZm9udC1zaXplOiAxMHB4OwpA
QCAtMTc0LDM0ICsyNDQsMzggQEAgdGFibGUucmVzdWx0cy1zdW1tYXJ5IHsKIC5yZXN1bHRzLWRl
dGFpbCB7CiAgICAgZGlzcGxheTogbm9uZTsKICAgICBwb3NpdGlvbjogZml4ZWQ7Ci0gICAgYmFj
a2dyb3VuZC1jb2xvcjogI2YzZjNmMzsKLSAgICB0b3A6IDUwJTsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiAjZjVmNWY1OworICAgIHRvcDogMjUlOwogICAgIGxlZnQ6IDBweDsKICAgICByaWdodDog
MHB4OwogICAgIGJvdHRvbTogMHB4OwogfQogCiAucmVzdWx0cy1kZXRhaWwgLnRvb2xiYXIgewot
ICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDOwotICAgIGJvcmRlci1ib3R0b206IDFweCBz
b2xpZCAjQ0NDOworICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzZjNmM2OworICAgIGJvcmRl
ci1ib3R0b206IDFweCBzb2xpZCAjYzZjNmM2OwogfQogCiAucmVzdWx0cy1kZXRhaWwgLnRvb2xi
YXIgLnN0YXR1cyB7Ci0gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICAgIHBhZGRpbmc6IDVw
eDsKKyAgICBmb250LXNpemU6IDExcHg7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgaGVp
Z2h0OiAyOXB4OworICAgIGxpbmUtaGVpZ2h0OiAyN3B4OworICAgIG1hcmdpbjogMTFweCA2cHg7
CisgICAgcGFkZGluZzogMCA4cHg7CiB9CiAKLS5yZXN1bHRzLWRldGFpbCAudG9vbGJhciAuYWN0
aW9ucyB7Ci0gICAgZmxvYXQ6IHJpZ2h0OworLnJlc3VsdHMtZGV0YWlsIC50b29sYmFyIC5zdGF0
dXMgLmJ1aWxkZXItbmFtZSB7CisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKKyAgICBwYWRkaW5n
LWxlZnQ6IDIwcHg7CiB9CiAKLS5yZXN1bHRzLWRldGFpbCAudG9vbGJhciAuYWN0aW9ucyBhIHsK
LSAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ci0gICAgcGFkZGluZzogNXB4IDVweCA1cHggMHB4
OworLnJlc3VsdHMtZGV0YWlsIC50b29sYmFyIC5zdGF0dXMgLnNlbGVjdGVkIHsKKyAgICBmb250
LXN0eWxlOiBpdGFsaWM7CiB9CiAKLS5yZXN1bHRzLWRldGFpbCAudG9vbGJhciB7Ci0gICAgcG9z
aXRpb246IHJlbGF0aXZlOworLnJlc3VsdHMtZGV0YWlsIC50b29sYmFyIC5hY3Rpb25zIHsKKyAg
ICBmbG9hdDogcmlnaHQ7CiB9CiAKIC5yZXN1bHRzLWRldGFpbCAuY29udGVudCB7CmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3Nl
cnZlci9tYWluLmpzIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9n
YXJkZW5pbmdzZXJ2ZXIvbWFpbi5qcwppbmRleCBmODBlNzFkOWI4M2YwY2Y3YzE4ZmQ1YzE1OGM4
OGMzZjBlNDJkNWI4Li4zMzM5MTI0MGUzMWE1YjlhMzgwYmZiYmNmZjRhYjU1ZTJjZjE1YmMwIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRl
bmluZ3NlcnZlci9tYWluLmpzCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2
ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL21haW4uanMKQEAgLTEsNiArMSw3IEBACiAoZnVuY3Rp
b24oKSB7CiAKIHZhciBnX3VwZGF0ZVRpbWVySWQgPSAwOwordmFyIGdfcmVzdWx0c0RldGFpbHNJ
dGVyYXRvciA9IG51bGw7CiAKIHZhciBrQnVpbGRGYWlsZWRBbGVydFR5cGUgPSAnYnVpbGQtZmFp
bGVkJzsKIApAQCAtMTIsNyArMTMsNyBAQCBmdW5jdGlvbiBkaXNtaXNzQnV0dGVyYmFyKCkKIGZ1
bmN0aW9uIGRpc3BsYXlPbkJ1dHRlcmJhcihtZXNzYWdlKQogewogICAgICQoJy5idXR0ZXJiYXIg
LnN0YXR1cycpLnRleHQobWVzc2FnZSk7Ci0gICAgJCgnLmJ1dHRlcmJhcicpLmZhZGVJbigpOwor
ICAgICQoJy5idXR0ZXJiYXInKS5mYWRlSW4oJ2Zhc3QnKTsKIH0KIAogZnVuY3Rpb24gaGlkZUFs
ZXJ0KCkKQEAgLTQ3LDE2ICs0OCwyNCBAQCBmdW5jdGlvbiBzZXRJY29uU3RhdGUoaGFzRmFpbHVy
ZXMpCiAgICAgJCgnI2Zhdmljb24nKS5hdHRyKCdocmVmJywgZmF2aWNvblVSTCk7CiB9CiAKK2Z1
bmN0aW9uIHRvZ2dsZUJ1dHRvbihidXR0b24sIGlzRW5hYmxlZCkKK3sKKyAgICBpZiAoaXNFbmFi
bGVkKQorICAgICAgICBidXR0b24ucmVtb3ZlQXR0cignZGlzYWJsZWQnKTsKKyAgICBlbHNlCisg
ICAgICAgIGJ1dHRvbi5hdHRyKCdkaXNhYmxlZCcsIHRydWUpCit9CisKIGZ1bmN0aW9uIHRvZ2ds
ZVBhcnR5VGltZShoYXNGYWlsdXJlcykKIHsKICAgICBpZiAoIWhhc0ZhaWx1cmVzKSB7Ci0gICAg
ICAgICQoJy5yZXN1bHRzJykudGV4dCgnTm8gZmFpbHVyZXMuIFBhcnR5IHRpbWUhJyk7CisgICAg
ICAgICQoJy5yZXN1bHRzIC5jb250ZW50JykudGV4dCgnTm8gZmFpbHVyZXMuIFBhcnR5IHRpbWUh
Jyk7CiAgICAgICAgIHZhciBwYXJ0eVRpbWUgPSAkKCc8ZGl2IGNsYXNzPSJwYXJ0eXRpbWUiPjxp
bWcgc3JjPSJwYXJ0eXRpbWUuZ2lmIj48L2Rpdj4nKTsKLSAgICAgICAgJCgnLnJlc3VsdHMnKS5h
cHBlbmQocGFydHlUaW1lKTsKKyAgICAgICAgJCgnLnJlc3VsdHMgLmNvbnRlbnQnKS5hcHBlbmQo
cGFydHlUaW1lKTsKICAgICAgICAgcGFydHlUaW1lLmZhZGVJbigxMjAwKS5kZWxheSg3MDAwKS5m
YWRlT3V0KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgJCgnLnJlc3VsdHMnKS5lbXB0
eSgpOworICAgICQoJy5yZXN1bHRzIC5jb250ZW50JykuZW1wdHkoKTsKIH0KIAogZnVuY3Rpb24g
ZW5zdXJlUmVzdWx0c1N1bW1hcnlDb250YWluZXIoKQpAQCAtNjUsNyArNzQsNyBAQCBmdW5jdGlv
biBlbnN1cmVSZXN1bHRzU3VtbWFyeUNvbnRhaW5lcigpCiAgICAgaWYgKGNvbnRhaW5lci5sZW5n
dGgpCiAgICAgICAgIHJldHVybiBjb250YWluZXI7CiAgICAgY29udGFpbmVyID0gdWkucmVncmVz
c2lvbnNDb250YWluZXIoKTsKLSAgICAkKCcucmVzdWx0cycpLmFwcGVuZChjb250YWluZXIpOwor
ICAgICQoJy5yZXN1bHRzIC5jb250ZW50JykuYXBwZW5kKGNvbnRhaW5lcik7CiAgICAgcmV0dXJu
IGNvbnRhaW5lcjsKIH0KIApAQCAtMTE3LDYgKzEyNiw3IEBAIGZ1bmN0aW9uIHVwZGF0ZVJlc3Vs
dHNTdW1tYXJ5KGNhbGxiYWNrKQogICAgICAgICB2YXIgbmV3VGVzdFN1bW1hcmllcyA9ICQoKTsK
ICAgICAgICAgdmFyIHJlcXVlc3RUcmFja2VyID0gbmV3IGJhc2UuUmVxdWVzdFRyYWNrZXIoYmFz
ZS5rZXlzKHVuZXhwZWN0ZWRGYWlsdXJlcykubGVuZ3RoLCBmdW5jdGlvbigpIHsKICAgICAgICAg
ICAgIG5ld1Rlc3RTdW1tYXJpZXMuZmFkZUluKCk7CisgICAgICAgICAgICAkKCcucmVzdWx0cyAu
dG9vbGJhcicpLmZhZGVJbigpOwogICAgICAgICAgICAgY2FsbGJhY2soKQogICAgICAgICB9KTsK
IApAQCAtMTM2LDYxICsxNDYsMTA2IEBAIGZ1bmN0aW9uIHVwZGF0ZVJlc3VsdHNTdW1tYXJ5KGNh
bGxiYWNrKQogICAgIH0pOwogfQogCi1mdW5jdGlvbiBzaG93UmVzdWx0c0RldGFpbCgpCitmdW5j
dGlvbiBzaG93UmVzdWx0c0RldGFpbCh0ZXN0TmFtZSwgc2VsZWN0ZWRCdWlsZGVyTmFtZSwgZmFp
bHVyZVR5cGVMaXN0QnlCdWlsZGVyKQogewotICAgIHZhciB0ZXN0U3VtbWFyeSA9ICQodGhpcyku
cGFyZW50cygnLnRlc3QnKTsKLSAgICB2YXIgYnVpbGRlck5hbWUgPSAkKHRoaXMpLmF0dHIoY29u
ZmlnLmtCdWlsZGVyTmFtZUF0dHIpOwotICAgIHZhciB0ZXN0TmFtZSA9IHRlc3RTdW1tYXJ5LmF0
dHIoY29uZmlnLmtUZXN0TmFtZUF0dHIpOwotCi0gICAgLy8gRklYTUU6IEl0J3MgbGFtZSB0aGF0
IHdlIGhhdmUgdHdvIGRpZmZlcmVudCByZXByZXNlbnRhdGlvbnMgb2YgbXVsdGlwbGUgZmFpbHVy
ZSB0eXBlcy4KLSAgICB2YXIgZmFpbHVyZVR5cGVzID0gdGVzdFN1bW1hcnkuYXR0cihjb25maWcu
a0ZhaWx1cmVUeXBlc0F0dHIpOwotICAgIHZhciBmYWlsdXJlVHlwZUxpc3QgPSBmYWlsdXJlVHlw
ZXMuc3BsaXQoJyAnKTsKKyAgICB2YXIgYnVpbGRlck5hbWVMaXN0ID0gYmFzZS5rZXlzKGZhaWx1
cmVUeXBlTGlzdEJ5QnVpbGRlcik7CisgICAgdmFyIGZhaWx1cmVUeXBlTGlzdCA9IGZhaWx1cmVU
eXBlTGlzdEJ5QnVpbGRlcltzZWxlY3RlZEJ1aWxkZXJOYW1lXTsKKyAgICB2YXIgZmFpbHVyZVR5
cGVzID0gZmFpbHVyZVR5cGVMaXN0LmpvaW4oJyAnKTsKIAogICAgIHZhciBjb250ZW50ID0gJCgn
LnJlc3VsdHMtZGV0YWlsIC5jb250ZW50Jyk7Ci0gICAgaWYgKCQoJy5mYWlsdXJlLWRldGFpbHMn
LCBjb250ZW50KS5hdHRyKGNvbmZpZy5rQnVpbGRlck5hbWVBdHRyKSA9PSBidWlsZGVyTmFtZSAm
JgorCisgICAgaWYgKCQoJy5mYWlsdXJlLWRldGFpbHMnLCBjb250ZW50KS5hdHRyKGNvbmZpZy5r
QnVpbGRlck5hbWVBdHRyKSA9PSBzZWxlY3RlZEJ1aWxkZXJOYW1lICYmCiAgICAgICAgICQoJy5m
YWlsdXJlLWRldGFpbHMnLCBjb250ZW50KS5hdHRyKGNvbmZpZy5rVGVzdE5hbWVBdHRyKSA9PSB0
ZXN0TmFtZSAmJgogICAgICAgICAkKCcuZmFpbHVyZS1kZXRhaWxzJywgY29udGVudCkuYXR0cihj
b25maWcua0ZhaWx1cmVUeXBlc0F0dHIpID09IGZhaWx1cmVUeXBlcykKICAgICAgICAgcmV0dXJu
OwogCiAgICAgZGlzcGxheU9uQnV0dGVyYmFyKCdMb2FkaW5nLi4uJyk7CiAKLSAgICByZXN1bHRz
LmZldGNoUmVzdWx0c1VSTHMoYnVpbGRlck5hbWUsIHRlc3ROYW1lLCBmYWlsdXJlVHlwZUxpc3Qs
IGZ1bmN0aW9uKHJlc3VsdHNVUkxzKSB7CisgICAgcmVzdWx0cy5mZXRjaFJlc3VsdHNVUkxzKHNl
bGVjdGVkQnVpbGRlck5hbWUsIHRlc3ROYW1lLCBmYWlsdXJlVHlwZUxpc3QsIGZ1bmN0aW9uKHJl
c3VsdHNVUkxzKSB7CiAgICAgICAgIHZhciBzdGF0dXMgPSAkKCcucmVzdWx0cy1kZXRhaWwgLnRv
b2xiYXIgLnN0YXR1cycpOwogCi0gICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVJlc3VsdHMoKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBzdGF0dXMudGV4dCh0ZXN0TmFtZSArICcgWycgKyBidWlsZGVy
TmFtZSArICddJyk7Ci0gICAgICAgICAgICBjb250ZW50LmVtcHR5KCk7Ci0gICAgICAgICAgICBj
b250ZW50LmFwcGVuZCh1aS5mYWlsdXJlRGV0YWlscyhyZXN1bHRzVVJMcykpOwotICAgICAgICAg
ICAgJCgnLnJlc3VsdHMtZGV0YWlsIC5hY3Rpb25zIC5yZWJhc2VsaW5lJykudG9nZ2xlKHJlc3Vs
dHMuY2FuUmViYXNlbGluZShmYWlsdXJlVHlwZUxpc3QpKTsKLSAgICAgICAgICAgICQoJy5mYWls
dXJlLWRldGFpbHMnLCBjb250ZW50KS5hdHRyKGNvbmZpZy5rQnVpbGRlck5hbWVBdHRyLCBidWls
ZGVyTmFtZSk7Ci0gICAgICAgICAgICAkKCcuZmFpbHVyZS1kZXRhaWxzJywgY29udGVudCkuYXR0
cihjb25maWcua1Rlc3ROYW1lQXR0ciwgdGVzdE5hbWUpOwotICAgICAgICAgICAgJCgnLmZhaWx1
cmUtZGV0YWlscycsIGNvbnRlbnQpLmF0dHIoY29uZmlnLmtGYWlsdXJlVHlwZXNBdHRyLCBmYWls
dXJlVHlwZXMpOwotICAgICAgICB9CisgICAgICAgIHN0YXR1cy5lbXB0eSgpOworICAgICAgICBj
b250ZW50LmVtcHR5KCk7CiAKLSAgICAgICAgdmFyIGNoaWxkcmVuID0gY29udGVudC5jaGlsZHJl
bigpOwotICAgICAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoICYmICQoJy5yZXN1bHRzLWRldGFpbCcp
LmlzKCI6dmlzaWJsZSIpKSB7Ci0gICAgICAgICAgICAvLyBUaGUgcmVzdWx0cy1kZXRhaWwgcGFu
ZSBpcyBhbHJlYWR5IG9wZW4uIExldCdzIGRvIGEgcXVpY2sgY3Jvc3MtZmFkZS4KLSAgICAgICAg
ICAgIHN0YXR1cy5mYWRlT3V0KCdmYXN0Jyk7Ci0gICAgICAgICAgICBjaGlsZHJlbi5mYWRlT3V0
KCdmYXN0JywgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgdXBkYXRlUmVzdWx0cygpOwot
ICAgICAgICAgICAgICAgIHN0YXR1cy5mYWRlSW4oJ2Zhc3QnKTsKLSAgICAgICAgICAgICAgICBj
b250ZW50LmNoaWxkcmVuKCkuaGlkZSgpLmZhZGVJbignZmFzdCcsIGRpc21pc3NCdXR0ZXJiYXIp
OwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB1cGRhdGVS
ZXN1bHRzKCk7CisgICAgICAgIHN0YXR1cy5hcHBlbmQodWkuZmFpbHVyZURldGFpbHNTdGF0dXMo
dGVzdE5hbWUsIHNlbGVjdGVkQnVpbGRlck5hbWUsIGZhaWx1cmVUeXBlcywgYnVpbGRlck5hbWVM
aXN0KSk7CisgICAgICAgIGNvbnRlbnQuYXBwZW5kKHVpLmZhaWx1cmVEZXRhaWxzKHJlc3VsdHNV
UkxzKSk7CisKKyAgICAgICAgdG9nZ2xlQnV0dG9uKCQoJy5yZXN1bHRzLWRldGFpbCAuYWN0aW9u
cyAubmV4dCcpLCBnX3Jlc3VsdHNEZXRhaWxzSXRlcmF0b3IuaGFzTmV4dCgpKTsKKyAgICAgICAg
dG9nZ2xlQnV0dG9uKCQoJy5yZXN1bHRzLWRldGFpbCAuYWN0aW9ucyAucHJldmlvdXMnKSwgZ19y
ZXN1bHRzRGV0YWlsc0l0ZXJhdG9yLmhhc1ByZXZpb3VzKCkpOworICAgICAgICB0b2dnbGVCdXR0
b24oJCgnLnJlc3VsdHMtZGV0YWlsIC5hY3Rpb25zIC5yZWJhc2VsaW5lJyksIHJlc3VsdHMuY2Fu
UmViYXNlbGluZShmYWlsdXJlVHlwZUxpc3QpKTsKKworICAgICAgICAkKCcuZmFpbHVyZS1kZXRh
aWxzJywgY29udGVudCkuYXR0cihjb25maWcua0J1aWxkZXJOYW1lQXR0ciwgc2VsZWN0ZWRCdWls
ZGVyTmFtZSk7CisgICAgICAgICQoJy5mYWlsdXJlLWRldGFpbHMnLCBjb250ZW50KS5hdHRyKGNv
bmZpZy5rVGVzdE5hbWVBdHRyLCB0ZXN0TmFtZSk7CisgICAgICAgICQoJy5mYWlsdXJlLWRldGFp
bHMnLCBjb250ZW50KS5hdHRyKGNvbmZpZy5rRmFpbHVyZVR5cGVzQXR0ciwgZmFpbHVyZVR5cGVz
KTsKKworICAgICAgICBpZiAoISQoJy5yZXN1bHRzLWRldGFpbCcpLmlzKCI6dmlzaWJsZSIpKQog
ICAgICAgICAgICAgJCgnLnJlc3VsdHMtZGV0YWlsJykuZmFkZUluKCdmYXN0JywgZGlzbWlzc0J1
dHRlcmJhcik7Ci0gICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGlzbWlzc0J1
dHRlcmJhcigpOwogICAgIH0pOwogfQogCiBmdW5jdGlvbiBoaWRlUmVzdWx0c0RldGFpbCgpCiB7
CiAgICAgJCgnLnJlc3VsdHMtZGV0YWlsJykuZmFkZU91dCgnZmFzdCcsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAkKCcucmVzdWx0cy1kZXRhaWwgLnN0YXR1cycpLmVtcHR5KCk7CiAgICAgICAgICQo
Jy5yZXN1bHRzLWRldGFpbCAuY29udGVudCcpLmVtcHR5KCk7CisgICAgICAgIC8vIFN0cmljdGx5
IHNwZWFraW5nLCB3ZSBkb24ndCBuZWVkIHRvIGNsZWFyIGdfcmVzdWx0c0RldGFpbHNJdGVyYXRv
ciwKKyAgICAgICAgLy8gYnV0IGRvaW5nIHNvIGhlbHBzIHRoZSBnYXJiYWdlIGNvbGxlY3RvciBm
cmVlIG1lbW9yeS4KKyAgICAgICAgZ19yZXN1bHRzRGV0YWlsc0l0ZXJhdG9yID0gbnVsbDsKICAg
ICB9KTsKIH0KIAorZnVuY3Rpb24gbmV4dFJlc3VsdHNEZXRhaWwoKQoreworICAgIGdfcmVzdWx0
c0RldGFpbHNJdGVyYXRvci5jYWxsTmV4dCgpOworfQorCitmdW5jdGlvbiBwcmV2aW91c1Jlc3Vs
dHNEZXRhaWwoKQoreworICAgIGdfcmVzdWx0c0RldGFpbHNJdGVyYXRvci5jYWxsUHJldmlvdXMo
KTsKK30KKworZnVuY3Rpb24gcmVzdWx0c0RldGFpbEFyZ3VtZW50c0ZvckJ1aWxkZXJFbGVtZW50
KGJ1aWxkZXJCbG9jaykKK3sKKyAgICB2YXIgc2VsZWN0ZWRCdWlsZGVyTmFtZSA9IGJ1aWxkZXJC
bG9jay5hdHRyKGNvbmZpZy5rQnVpbGRlck5hbWVBdHRyKTsKKworICAgIHZhciB0ZXN0U3VtbWFy
eSA9IGJ1aWxkZXJCbG9jay5wYXJlbnRzKCcudGVzdCcpOworICAgIHZhciB0ZXN0TmFtZSA9IHRl
c3RTdW1tYXJ5LmF0dHIoY29uZmlnLmtUZXN0TmFtZUF0dHIpOworCisgICAgLy8gRklYTUU6IEl0
J3MgbGFtZSB0aGF0IHdlIGhhdmUgdHdvIGRpZmZlcmVudCByZXByZXNlbnRhdGlvbnMgb2YgbXVs
dGlwbGUgZmFpbHVyZSB0eXBlcy4KKyAgICB2YXIgZmFpbHVyZVR5cGVzID0gdGVzdFN1bW1hcnku
YXR0cihjb25maWcua0ZhaWx1cmVUeXBlc0F0dHIpOworICAgIHZhciBmYWlsdXJlVHlwZUxpc3Qg
PSBmYWlsdXJlVHlwZXMuc3BsaXQoJyAnKTsKKworICAgIHZhciBmYWlsdXJlVHlwZUxpc3RCeUJ1
aWxkZXIgPSB7fQorICAgICQoJy53aGVyZSAuYnVpbGRlci1uYW1lJywgdGVzdFN1bW1hcnkpLmVh
Y2goZnVuY3Rpb24oKSB7CisgICAgICAgIHZhciBidWlsZGVyTmFtZSA9ICQodGhpcykuYXR0cihj
b25maWcua0J1aWxkZXJOYW1lQXR0cik7CisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdW5k
ZXJzdGFuZCB0aGF0IHRlc3RzIGNhbiBmYWlsIGluIGRpZmZlcmVudCB3YXlzCisgICAgICAgIC8v
IG9uIGRpZmZlcmVudCBidWlsZGVycy4KKyAgICAgICAgZmFpbHVyZVR5cGVMaXN0QnlCdWlsZGVy
W2J1aWxkZXJOYW1lXSA9IGZhaWx1cmVUeXBlTGlzdDsKKyAgICB9KTsKKworICAgIHJldHVybiBb
dGVzdE5hbWUsIHNlbGVjdGVkQnVpbGRlck5hbWUsIGZhaWx1cmVUeXBlTGlzdEJ5QnVpbGRlcl07
Cit9CisKK2Z1bmN0aW9uIHByZXBhcmVSZXN1bHRzRGV0YWlsc0l0ZXJhdG9yKHF1ZXJ5KQorewor
ICAgIHZhciBsaXN0T2ZSZXN1bHRzRGV0YWlsQXJndW1lbnRzID0gW107CisKKyAgICBxdWVyeS5l
YWNoKGZ1bmN0aW9uKCkgeworICAgICAgICB2YXIgcmVzdWx0c0RldGFpbEFyZ3VtZW50cyA9IHJl
c3VsdHNEZXRhaWxBcmd1bWVudHNGb3JCdWlsZGVyRWxlbWVudCgkKHRoaXMpKTsKKyAgICAgICAg
bGlzdE9mUmVzdWx0c0RldGFpbEFyZ3VtZW50cy5wdXNoKHJlc3VsdHNEZXRhaWxBcmd1bWVudHMp
OworICAgIH0pOworCisgICAgcmV0dXJuIG5ldyBiYXNlLkNhbGxiYWNrSXRlcmF0b3Ioc2hvd1Jl
c3VsdHNEZXRhaWwsIGxpc3RPZlJlc3VsdHNEZXRhaWxBcmd1bWVudHMpOworfQorCitmdW5jdGlv
biB0cmlhZ2VGYWlsdXJlcygpCit7CisgICAgZ19yZXN1bHRzRGV0YWlsc0l0ZXJhdG9yID0gcHJl
cGFyZVJlc3VsdHNEZXRhaWxzSXRlcmF0b3IoJCgnLnJlc3VsdHMgLnRlc3QgLmJ1aWxkZXItbmFt
ZScpKTsKKyAgICBnX3Jlc3VsdHNEZXRhaWxzSXRlcmF0b3IuY2FsbE5leHQoKTsKK30KKwogZnVu
Y3Rpb24gcmViYXNlbGluZVJlc3VsdHMoKQogewogICAgIHZhciBmYWlsdXJlRGV0YWlscyA9ICQo
Jy5mYWlsdXJlLWRldGFpbHMnLCAkKHRoaXMpLnBhcmVudHMoJy5yZXN1bHRzLWRldGFpbCcpKTsK
QEAgLTIyMiw5ICsyNzcsMTEgQEAgZnVuY3Rpb24gdXBkYXRlKCkKICAgICBjaGVja0J1aWxkZXJT
dGF0dXNlcygpOwogfQogCi0kKCcucmVzdWx0cy1zdW1tYXJ5IC53aGVyZSBhJykubGl2ZSgnY2xp
Y2snLCBzaG93UmVzdWx0c0RldGFpbCk7Ci0kKCcucmVzdWx0cy1kZXRhaWwgLmFjdGlvbnMgLmRp
c21pc3MnKS5saXZlKCdjbGljaycsIGhpZGVSZXN1bHRzRGV0YWlsKTsKKyQoJy5yZXN1bHRzIC50
b29sYmFyIC50cmlhZ2UnKS5saXZlKCdjbGljaycsIHRyaWFnZUZhaWx1cmVzKTsKKyQoJy5yZXN1
bHRzLWRldGFpbCAuYWN0aW9ucyAubmV4dCcpLmxpdmUoJ2NsaWNrJywgbmV4dFJlc3VsdHNEZXRh
aWwpOworJCgnLnJlc3VsdHMtZGV0YWlsIC5hY3Rpb25zIC5wcmV2aW91cycpLmxpdmUoJ2NsaWNr
JywgcHJldmlvdXNSZXN1bHRzRGV0YWlsKTsKICQoJy5yZXN1bHRzLWRldGFpbCAuYWN0aW9ucyAu
cmViYXNlbGluZScpLmxpdmUoJ2NsaWNrJywgcmViYXNlbGluZVJlc3VsdHMpOworJCgnLnJlc3Vs
dHMtZGV0YWlsIC5hY3Rpb25zIC5kaXNtaXNzJykubGl2ZSgnY2xpY2snLCBoaWRlUmVzdWx0c0Rl
dGFpbCk7CiAKICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgIGdfdXBkYXRlVGlt
ZXJJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCh1cGRhdGUsIGNvbmZpZy5rVXBkYXRlRnJlcXVlbmN5
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2RhdGEv
Z2FyZGVuaW5nc2VydmVyL3VpLmpzIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZl
cnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvdWkuanMKaW5kZXggZWM3ZDE4ZWQyZDA0YmVhMjA2MGJl
ZDdlYmZiNzVlY2Y0NTUzN2JkMS4uMDE0NThlZmE0YjA1OTNkMjgwYjlmY2Q2NDkzOThlOWJhNDNh
NGQ0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0
YS9nYXJkZW5pbmdzZXJ2ZXIvdWkuanMKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvdWkuanMKQEAgLTQ4LDIwICs0OCwyMCBAQCB1
aS5zdW1tYXJpemVUZXN0ID0gZnVuY3Rpb24odGVzdE5hbWUsIHJlc3VsdE5vZGVzQnlCdWlsZGVy
KQogICAgIHZhciB1bmV4cGVjdGVkUmVzdWx0cyA9IHJlc3VsdHMuY29sbGVjdFVuZXhwZWN0ZWRS
ZXN1bHRzKHJlc3VsdE5vZGVzQnlCdWlsZGVyKTsKICAgICB2YXIgYmxvY2sgPSAkKAogICAgICAg
ICAnPHRyIGNsYXNzPSJ0ZXN0Ij4nICsKLSAgICAgICAgICAnPHRkIGNsYXNzPSJ3aGF0Ij48YSBk
cmFnZ2FibGU+PC9hPjwvdGQ+JyArCisgICAgICAgICAgJzx0ZCBjbGFzcz0id2hhdCI+PGEgY2xh
c3M9InRlc3QtbmFtZSI+PC9hPjwvdGQ+JyArCiAgICAgICAgICAgJzx0ZCBjbGFzcz0id2hlcmUi
Pjx1bD48L3VsPjwvdGQ+JyArCiAgICAgICAgICAgJzx0ZCBjbGFzcz0id2hlbiI+PC90ZD4nICsK
ICAgICAgICAgICAnPHRkIGNsYXNzPSJob3ctbWFueSI+PC90ZD4nICsKICAgICAgICAgJzwvdHI+
Jyk7Ci0gICAgJCgnLndoYXQgYScsIGJsb2NrKS50ZXh0KHRlc3ROYW1lKS5hdHRyKCdocmVmJywg
dWkudXJsRm9yVGVzdCh0ZXN0TmFtZSkpLmF0dHIoJ2NsYXNzJywgdW5leHBlY3RlZFJlc3VsdHMu
am9pbignICcpKTsKKyAgICAkKCcudGVzdC1uYW1lJywgYmxvY2spLnRleHQodGVzdE5hbWUpLmF0
dHIoJ2hyZWYnLCB1aS51cmxGb3JUZXN0KHRlc3ROYW1lKSkuYWRkQ2xhc3ModW5leHBlY3RlZFJl
c3VsdHMuam9pbignICcpKTsKICAgICBibG9jay5hdHRyKGNvbmZpZy5rVGVzdE5hbWVBdHRyLCB0
ZXN0TmFtZSk7CiAgICAgYmxvY2suYXR0cihjb25maWcua0ZhaWx1cmVUeXBlc0F0dHIsIHVuZXhw
ZWN0ZWRSZXN1bHRzKTsKIAogICAgIHZhciB3aGVyZSA9ICQoJy53aGVyZScsIGJsb2NrKTsKICAg
ICAkLmVhY2gocmVzdWx0Tm9kZXNCeUJ1aWxkZXIsIGZ1bmN0aW9uKGJ1aWxkZXJOYW1lLCByZXN1
bHROb2RlKSB7Ci0gICAgICAgIHZhciBsaXN0RWxlbWVudCA9ICQoJzxsaT48YSBocmVmPSIjIj48
L2E+PC9saT4nKTsKKyAgICAgICAgdmFyIGxpc3RFbGVtZW50ID0gJCgnPGxpIGNsYXNzPSJidWls
ZGVyLW5hbWUiPjwvbGk+Jyk7CisgICAgICAgIGxpc3RFbGVtZW50LmF0dHIoY29uZmlnLmtCdWls
ZGVyTmFtZUF0dHIsIGJ1aWxkZXJOYW1lKS50ZXh0KGRpc3BsYXlOYW1lRm9yQnVpbGRlcihidWls
ZGVyTmFtZSkpOwogICAgICAgICB3aGVyZS5hcHBlbmQobGlzdEVsZW1lbnQpOwotICAgICAgICAk
KCdhJywgbGlzdEVsZW1lbnQpLmF0dHIoY29uZmlnLmtCdWlsZGVyTmFtZUF0dHIsIGJ1aWxkZXJO
YW1lKS50ZXh0KGRpc3BsYXlOYW1lRm9yQnVpbGRlcihidWlsZGVyTmFtZSkpOwogICAgIH0pOwog
CiAgICAgcmV0dXJuIGJsb2NrOwpAQCAtNzksNyArNzksNyBAQCB1aS5zdW1tYXJpemVSZWdyZXNz
aW9uUmFuZ2UgPSBmdW5jdGlvbihvbGRlc3RGYWlsaW5nUmV2aXNpb24sIG5ld2VzdFBhc3NpbmdS
ZXZpcwogICAgICAgICBkaXNwbGF5TmFtZUZvclJldmlzaW9uKGltcGxpZWRGaXJzdEZhaWxpbmdS
ZXZpc2lvbikgOgogICAgICAgICBkaXNwbGF5TmFtZUZvclJldmlzaW9uKGltcGxpZWRGaXJzdEZh
aWxpbmdSZXZpc2lvbikgKyAnLScgKyBkaXNwbGF5TmFtZUZvclJldmlzaW9uKG9sZGVzdEZhaWxp
bmdSZXZpc2lvbik7CiAKLSAgICB2YXIgYmxvY2sgPSAkKCc8ZGl2IGNsYXNzPSJyZWdyZXNzaW9u
LXJhbmdlIj48YT48L2E+PC9kaXY+Jyk7CisgICAgdmFyIGJsb2NrID0gJCgnPGRpdiBjbGFzcz0i
cmVncmVzc2lvbi1yYW5nZSI+PGEgdGFyZ2V0PSJfYmxhbmsiPjwvYT48L2Rpdj4nKTsKICAgICAk
KCdhJywgYmxvY2spLmF0dHIoJ2hyZWYnLCBocmVmKS50ZXh0KHRleHQpCiAgICAgcmV0dXJuIGJs
b2NrOwogfTsKQEAgLTEwNyw2ICsxMDcsMjMgQEAgdWkuZmFpbHVyZUNvdW50ID0gZnVuY3Rpb24o
ZmFpbHVyZUNvdW50KQogICAgIHJldHVybiAnU2VlbiAnICsgZmFpbHVyZUNvdW50ICsgJyB0aW1l
cy4nOwogfTsKIAordWkuZmFpbHVyZURldGFpbHNTdGF0dXMgPSBmdW5jdGlvbih0ZXN0TmFtZSwg
c2VsZWN0ZWRCdWlsZGVyTmFtZSwgZmFpbHVyZVR5cGVzLCBidWlsZGVyTmFtZUxpc3QpCit7Cisg
ICAgdmFyIGJsb2NrID0gJCgnPHNwYW4+PHNwYW4gY2xhc3M9InRlc3QtbmFtZSI+PC9zcGFuPjxz
cGFuIGNsYXNzPSJidWlsZGVyLWxpc3QiPjwvc3Bhbj48L3NwYW4+Jyk7CisgICAgJCgnLnRlc3Qt
bmFtZScsIGJsb2NrKS5hZGRDbGFzcyhmYWlsdXJlVHlwZXMpLnRleHQodGVzdE5hbWUpOworCisg
ICAgdmFyIGJ1aWxkZXJMaXN0ID0gJCgnLmJ1aWxkZXItbGlzdCcsIGJsb2NrKTsKKyAgICAkLmVh
Y2goYnVpbGRlck5hbWVMaXN0LCBmdW5jdGlvbihpbmRleCwgYnVpbGRlck5hbWUpIHsKKyAgICAg
ICAgdmFyIGJ1aWxkZXIgPSAkKCc8c3BhbiBjbGFzcz0iYnVpbGRlci1uYW1lIj48L3NwYW4+JykK
KyAgICAgICAgYnVpbGRlci50ZXh0KGJ1aWxkZXJOYW1lKTsKKyAgICAgICAgaWYgKGJ1aWxkZXJO
YW1lID09IHNlbGVjdGVkQnVpbGRlck5hbWUpCisgICAgICAgICAgICBidWlsZGVyLmFkZENsYXNz
KCdzZWxlY3RlZCcpOworICAgICAgICBidWlsZGVyTGlzdC5hcHBlbmQoYnVpbGRlcik7CisgICAg
fSk7CisKKyAgICByZXR1cm4gYmxvY2s7Cit9OworCiB1aS5mYWlsdXJlRGV0YWlscyA9IGZ1bmN0
aW9uKHJlc3VsdHNVUkxzKQogewogICAgIHZhciBibG9jayA9ICQoJzx0YWJsZSBjbGFzcz0iZmFp
bHVyZS1kZXRhaWxzIj48dGJvZHk+PHRyPjwvdHI+PC90Ym9keT48L3RhYmxlPicpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZGF0YS9nYXJkZW5pbmdz
ZXJ2ZXIvdWlfdW5pdHRlc3RzLmpzIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZl
cnMvZGF0YS9nYXJkZW5pbmdzZXJ2ZXIvdWlfdW5pdHRlc3RzLmpzCmluZGV4IDJhOGQyZDRiYzc4
YzkyOWZmZGZiMjU0NmRiNmQwYWVjYWEwNGJkNzQuLmUzYjk3MjRmNzNiNTI1MmMzMDk5MTk2YjEz
Y2FkY2JiZDMyMmQzZWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9z
ZXJ2ZXJzL2RhdGEvZ2FyZGVuaW5nc2VydmVyL3VpX3VuaXR0ZXN0cy5qcworKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9kYXRhL2dhcmRlbmluZ3NlcnZlci91aV91bml0
dGVzdHMuanMKQEAgLTM3LDExICszNywxMSBAQCB0ZXN0KCJzdW1tYXJpemVSZWdyZXNzaW9uUmFu
Z2UiLCAzLCBmdW5jdGlvbigpIHsKIAogICAgIHZhciBzdW1tYXJ5V2l0aE11bHRpcGxlUmV2aXNp
b25zID0gdWkuc3VtbWFyaXplUmVncmVzc2lvblJhbmdlKDkwNDI0LCA5MDQyNik7CiAgICAgc3Vt
bWFyeVdpdGhNdWx0aXBsZVJldmlzaW9ucy53cmFwKCc8d3JhcHBlcj48L3dyYXBwZXI+Jyk7Ci0g
ICAgZXF1YWwoc3VtbWFyeVdpdGhNdWx0aXBsZVJldmlzaW9ucy5wYXJlbnQoKS5odG1sKCksICc8
ZGl2IGNsYXNzPSJyZWdyZXNzaW9uLXJhbmdlIj48YSBocmVmPSJodHRwOi8vdHJhYy53ZWJraXQu
b3JnL2xvZy90cnVuay8/cmV2PTkwNDI0JmFtcDtzdG9wX3Jldj05MDQyNyZhbXA7bGltaXQ9MTAw
JmFtcDt2ZXJib3NlPW9uIj5yOTA0MjctcjkwNDI0PC9hPjwvZGl2PicpOworICAgIGVxdWFsKHN1
bW1hcnlXaXRoTXVsdGlwbGVSZXZpc2lvbnMucGFyZW50KCkuaHRtbCgpLCAnPGRpdiBjbGFzcz0i
cmVncmVzc2lvbi1yYW5nZSI+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvbG9nL3RydW5rLz9yZXY9OTA0MjQmYW1wO3N0b3BfcmV2PTkwNDI3JmFtcDtsaW1p
dD0xMDAmYW1wO3ZlcmJvc2U9b24iPnI5MDQyNy1yOTA0MjQ8L2E+PC9kaXY+Jyk7CiAKICAgICB2
YXIgc3VtbWFyeVdpdGhPbmVSZXZpc2lvbiA9IHVpLnN1bW1hcml6ZVJlZ3Jlc3Npb25SYW5nZSg5
MDQyNSwgOTA0MjYpOwogICAgIHN1bW1hcnlXaXRoT25lUmV2aXNpb24ud3JhcCgnPHdyYXBwZXI+
PC93cmFwcGVyPicpOwotICAgIGVxdWFsKHN1bW1hcnlXaXRoT25lUmV2aXNpb24ucGFyZW50KCku
aHRtbCgpLCAnPGRpdiBjbGFzcz0icmVncmVzc2lvbi1yYW5nZSI+PGEgaHJlZj0iaHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9sb2cvdHJ1bmsvP3Jldj05MDQyNSZhbXA7c3RvcF9yZXY9OTA0MjcmYW1w
O2xpbWl0PTEwMCZhbXA7dmVyYm9zZT1vbiI+cjkwNDI3LXI5MDQyNTwvYT48L2Rpdj4nKTsKKyAg
ICBlcXVhbChzdW1tYXJ5V2l0aE9uZVJldmlzaW9uLnBhcmVudCgpLmh0bWwoKSwgJzxkaXYgY2xh
c3M9InJlZ3Jlc3Npb24tcmFuZ2UiPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2xvZy90cnVuay8/cmV2PTkwNDI1JmFtcDtzdG9wX3Jldj05MDQyNyZhbXA7
bGltaXQ9MTAwJmFtcDt2ZXJib3NlPW9uIj5yOTA0MjctcjkwNDI1PC9hPjwvZGl2PicpOwogfSk7
CiAKIHRlc3QoImZhaWx1cmVDb3VudCIsIDQsIGZ1bmN0aW9uKCkgewpAQCAtNjEsNiArNjEsMTkg
QEAgdGVzdCgiYWxlcnRNZXNzYWdlRm9yQ29tcGlsZUVycm9ycyIsIDEsIGZ1bmN0aW9uKCkgewog
ICAgICAgICAnPC91bD48L2Rpdj4nKTsKIH0pOwogCit0ZXN0KCJmYWlsdXJlRGV0YWlsc1N0YXR1
cyIsIDEsIGZ1bmN0aW9uKCkgeworICAgIHZhciBzdGF0dXMgPSB1aS5mYWlsdXJlRGV0YWlsc1N0
YXR1cygndXNlcnNjcmlwdHMvYW5vdGhlci10ZXN0Lmh0bWwnLCAnTW9jayBCdWlsZGVyJywgJ1RF
WFQnLCBbJ01vY2sgQnVpbGRlcicsICdBbm90aGVyIEJ1aWxkZXInXSk7CisgICAgc3RhdHVzLndy
YXAoJzx3cmFwcGVyPjwvd3JhcHBlcj4nKTsKKyAgICBlcXVhbChzdGF0dXMucGFyZW50KCkuaHRt
bCgpLAorICAgICAgICAnPHNwYW4+JyArCisgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRlc3Qt
bmFtZSBURVhUIj51c2Vyc2NyaXB0cy9hbm90aGVyLXRlc3QuaHRtbDwvc3Bhbj4nICsKKyAgICAg
ICAgICAgICc8c3BhbiBjbGFzcz0iYnVpbGRlci1saXN0Ij4nICsKKyAgICAgICAgICAgICAgICAn
PHNwYW4gY2xhc3M9ImJ1aWxkZXItbmFtZSBzZWxlY3RlZCI+TW9jayBCdWlsZGVyPC9zcGFuPicg
KworICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0iYnVpbGRlci1uYW1lIj5Bbm90aGVyIEJ1
aWxkZXI8L3NwYW4+JyArCisgICAgICAgICAgICAnPC9zcGFuPicgKworICAgICAgICAnPC9zcGFu
PicpOworfSk7CisKIHRlc3QoImZhaWx1cmVEZXRhaWxzIiwgMSwgZnVuY3Rpb24oKSB7CiAgICAg
dmFyIHRlc3RSZXN1bHRzID0gdWkuZmFpbHVyZURldGFpbHMoWwogICAgICAgICAnaHR0cDovL2V4
YW1wbGUuY29tL2xheW91dC10ZXN0LXJlc3VsdHMvZm9vLWJhci1kaWZmLnR4dCcsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>