<?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>143669</bug_id>
          
          <creation_ts>2015-04-13 09:23:02 -0700</creation_ts>
          <short_desc>Sync Streams API tests with spec</short_desc>
          <delta_ts>2015-04-14 01:21:44 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xabier Rodríguez Calvar">calvaris</reporter>
          <assigned_to name="Xabier Rodríguez Calvar">calvaris</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1084822</commentid>
    <comment_count>0</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-04-13 09:23:02 -0700</bug_when>
    <thetext>Sync Streams API tests with spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084827</commentid>
    <comment_count>1</comment_count>
      <attachid>250642</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-04-13 09:28:00 -0700</bug_when>
    <thetext>Created attachment 250642
Patch

This patch moves some tests that were not included upstream as custom tests and fixes some nuances from the tests upstream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085079</commentid>
    <comment_count>2</comment_count>
      <attachid>250642</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-14 01:21:41 -0700</bug_when>
    <thetext>Comment on attachment 250642
Patch

Clearing flags on attachment: 250642

Committed r182783: &lt;http://trac.webkit.org/changeset/182783&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085080</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-14 01:21:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250642</attachid>
            <date>2015-04-13 09:28:00 -0700</date>
            <delta_ts>2015-04-14 01:21:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143669-20150413182703.patch</filename>
            <type>text/plain</type>
            <size>28836</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNzM1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGM4ZTYxM2QzYThlYjczNGI5MDk0
ZTllNTJlYTY0ZjQzNzk4Mzc3Zi4uNDkyMGMwNjRlODQxODMxMjhjMGZjYWE5ZjcwYzc3MGY3ZDM5
Mzk2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA0LTEzICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+IGFuZCBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8
Y2FsdmFyaXNAaWdhbGlhLmNvbT4KKworICAgICAgICBTeW5jIFN0cmVhbXMgQVBJIHRlc3RzIHdp
dGggc3BlYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQzNjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U29tZSB0ZXN0cyB3ZXJlIG1vdmVkIGZyb20gdGhlIHNwZWMgdGVzdHMgdG8gb3VyIGN1c3RvbSBv
bmVzCisgICAgICAgIGJlY2F1c2UgdGhleSB3ZXJlIG5vdCBhcHByb3ZlZCAoeWV0LCBvciB0aGV5
IHdvbid0IGJlKS4KKworICAgICAgICBTb21lIG51YW5jZXMgZnJvbSB0aGUgc3BlYyB0ZXN0cyB3
ZXJlIGFsc28gZml4ZWQuCisKKyAgICAgICAgKiBzdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGUtc3RyZWFtLXJlYWRl
ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0cmVhbXMvcmVhZGFibGUtc3RyZWFt
LXJlYWRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdHJlYW1zL3JlYWRhYmxlLXN0cmVhbS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9y
ZWFkYWJsZS1zdHJlYW0tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0cmVhbXMvcmVmZXJlbmNl
LWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1yZWFkZXItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHN0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1y
ZWFkZXIuaHRtbDoKKyAgICAgICAgKiBzdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9y
ZWFkYWJsZS1zdHJlYW0uaHRtbDogTnVhbmNlcworICAgICAgICBmaXhlZCBhbmQgdGVzdHMgbW92
ZWQgdG8gY3VzdG9tLgorCiAyMDE1LTA0LTEzICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gVXBkYXRlIHRhYmxlL21vemlsbGEgZXhwZWN0ZWQg
ZmlsZXMgYWZ0ZXIgcjE4MjYyMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFk
YWJsZS1zdHJlYW0tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1z
dHJlYW0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkNTIyOWJkYmI5N2Q1NzAwZTUwMzY0MmQ1
YWE0ZGQwOTIyMjRkMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3Jl
YWRhYmxlLXN0cmVhbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK1BBU1MgUmVhZGFi
bGVTdHJlYW0gY2FuJ3QgYmUgY29uc3RydWN0ZWQgd2l0aCBnYXJiYWdlIAorRkFJTCBSZWFkYWJs
ZVN0cmVhbSBzdGFydCBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhlIHByb3BlciBwYXJhbWV0ZXJz
IG51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blByb3BlcnR5
TmFtZXMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGNvbnRyb2xsZXIpKScpCitGQUlMIFJlYWRhYmxl
U3RyZWFtIHN0YXJ0IGNvbnRyb2xsZXIgcGFyYW1ldGVyIHNob3VsZCBiZSB1cGRhdGFibGUgbnVs
bCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1l
cyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoY29udHJvbGxlcikpJykKK1BBU1MgUmVhZGFibGVTdHJl
YW0gc2hvdWxkIGJlIGFibGUgdG8gY2FsbCBzdGFydCBtZXRob2Qgd2l0aGluIHByb3RvdHlwZSBj
aGFpbiBvZiBpdHMgc291cmNlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3Jl
YWRhYmxlLXN0cmVhbS1yZWFkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9y
ZWFkYWJsZS1zdHJlYW0tcmVhZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzFhNGE1YTJm
Mjk3NDYwNDkyYjBkY2JlOWNmOTAyZGFlNTFiNGMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RyZWFtcy9yZWFkYWJsZS1zdHJlYW0tcmVhZGVyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMgQEAKKworUEFTUyBDb2xsZWN0aW5nIGEgUmVhZGFibGVTdHJlYW1SZWFkZXIgc2hvdWxk
IG5vdCB1bmxvY2sgaXRzIHN0cmVhbSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RyZWFt
cy9yZWFkYWJsZS1zdHJlYW0tcmVhZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlYWRh
YmxlLXN0cmVhbS1yZWFkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NGM5MDdjMjRhZWE1MzNhNzViNzc0
MWVmMzM2MzUzNjYzNjNmY2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFt
cy9yZWFkYWJsZS1zdHJlYW0tcmVhZGVyLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8c2NyaXB0IHNyYz0nLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPScuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMnPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Jy4uL3Jlc291cmNlcy9nYy5qcyc+PC9zY3JpcHQ+Cis8c2NyaXB0
PgordGVzdChmdW5jdGlvbigpIHsKKyAgICB2YXIgcnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oe30p
OworICAgIHJzLmdldFJlYWRlcigpOworICAgIHdpbmRvdy5nYygpOworICAgIGFzc2VydF90aHJv
d3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgcnMuZ2V0UmVhZGVyKCk7IH0sICdvbGQg
cmVhZGVyIHNob3VsZCBzdGlsbCBiZSBsb2NraW5nIGEgbmV3IG9uZSBldmVuIGFmdGVyIGdhcmJh
Z2UgY29sbGVjdGlvbicpOworfSwgJ0NvbGxlY3RpbmcgYSBSZWFkYWJsZVN0cmVhbVJlYWRlciBz
aG91bGQgbm90IHVubG9jayBpdHMgc3RyZWFtJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0cmVhbXMvcmVhZGFibGUtc3RyZWFtLmh0bWwgYi9MYXlvdXRUZXN0cy9zdHJl
YW1zL3JlYWRhYmxlLXN0cmVhbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmNDA1M2I1ZWUxNmVmMTM0YWU0
NGRlOTBjYTc5NjUzNTk2MzA1ODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdHJl
YW1zL3JlYWRhYmxlLXN0cmVhbS5odG1sCkBAIC0wLDAgKzEsODIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPHNjcmlwdCBzcmM9Jy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyc+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0nLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzJz48L3NjcmlwdD4K
KzxzY3JpcHQ+Cit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVF
cnJvcigpLCBmdW5jdGlvbigpIHsKKyAgICAgICAgbmV3IFJlYWRhYmxlU3RyZWFtKG51bGwpOwor
ICAgIH0sICdjb25zdHJ1Y3RvciBzaG91bGQgdGhyb3cgd2hlbiB0aGUgc291cmNlIGlzIG51bGwn
KTsKK30sICdSZWFkYWJsZVN0cmVhbSBjYW5cJ3QgYmUgY29uc3RydWN0ZWQgd2l0aCBnYXJiYWdl
Jyk7CisKK3Rlc3QoZnVuY3Rpb24oKQoreworICAgIHZhciBpc1N0YXJ0Q2FsbGVkID0gZmFsc2U7
CisgICAgdmFyIHNvdXJjZSA9IHsKKyAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uKGNvbnRyb2xsZXIp
IHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHModGhpcywgc291cmNlLCAnc291cmNlIGlzIHRo
aXMgZHVyaW5nIHN0YXJ0Jyk7CisKKyAgICAgICAgICAgIHZhciB1bm5hbWVkTWV0aG9kcyA9IFsg
J2Nsb3NlJywgJ2VucXVldWUnLCAnZXJyb3InIF07CisgICAgICAgICAgICB2YXIgbWV0aG9kcyA9
IHVubmFtZWRNZXRob2RzLmNvbmNhdChbJ2NvbnN0cnVjdG9yJ10pLnNvcnQoKTsKKyAgICAgICAg
ICAgIHZhciBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjb250cm9sbGVyKTsKKworICAg
ICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhP
YmplY3QuZ2V0UHJvdG90eXBlT2YoY29udHJvbGxlcikpLnNvcnQoKSwgbWV0aG9kcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICd0aGUgY29udHJvbGxlciBzaG91bGQgaGF2ZSB0aGUgcmlnaHQg
bWV0aG9kcycpOworCisgICAgICAgICAgICBmb3IgKHZhciBtIG9mIHVubmFtZWRNZXRob2RzKSB7
CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhjb250cm9sbGVyW21dLm5hbWUsICcnLCAn
bWV0aG9kIHNob3VsZCBoYXZlIG5vIG5hbWUnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZm9yICh2YXIgbSBvZiBtZXRob2RzKSB7CisgICAgICAgICAgICAgICAgdmFyIG1ldGhvZFBy
b3BlcnRpZXMgPSBbICdhcmd1bWVudHMnLCAnY2FsbGVyJywgJ2xlbmd0aCcsICduYW1lJywgJ3By
b3RvdHlwZScgXTsKKyAgICAgICAgICAgICAgICB2YXIgcHJvcERlc2MgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHByb3RvLCBtKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKHByb3BEZXNjLmVudW1lcmFibGUsIGZhbHNlLCAnbWV0aG9kIHNob3VsZCBiZSBub24tZW51
bWVyYWJsZScpOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMocHJvcERlc2MuY29uZmln
dXJhYmxlLCB0cnVlLCAnbWV0aG9kIHNob3VsZCBiZSBjb25maWd1cmFibGUnKTsKKyAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLndyaXRhYmxlLCB0cnVlLCAnbWV0aG9kIHNo
b3VsZCBiZSB3cml0YWJsZScpOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9m
IGNvbnRyb2xsZXJbbV0sICdmdW5jdGlvbicsICdzaG91bGQgaGF2ZSBiZSBhIG1ldGhvZCcpOwor
ICAgICAgICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5
TmFtZXMoY29udHJvbGxlclttXSkuc29ydCgpLCBtZXRob2RQcm9wZXJ0aWVzLCAnbWV0aG9kIHNo
b3VsZCBoYXZlIHRoZSByaWdodCBwcm9wZXJ0aWVzJyk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoY29udHJvbGxlci5jbG9zZS5sZW5ndGgsIDAsICdjbG9zZSBz
aG91bGQgaGF2ZSBubyBwYXJhbWV0ZXJzJyk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNv
bnRyb2xsZXIuY29uc3RydWN0b3IubGVuZ3RoLCAxLCAnY29uc3RydWN0b3Igc2hvdWxkIGhhdmUg
MSBwYXJhbWV0ZXJzJyk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xsZXIuZW5x
dWV1ZS5sZW5ndGgsIDEsICdlbnF1ZXVlIHNob3VsZCBoYXZlIDEgcGFyYW1ldGVyJyk7CisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbnRyb2xsZXIuZXJyb3IubGVuZ3RoLCAxLCAnZXJyb3Ig
c2hvdWxkIGhhdmUgMSBwYXJhbWV0ZXInKTsKKworICAgICAgICAgICAgaXNTdGFydENhbGxlZCA9
IHRydWU7CisgICAgICAgIH0KKyAgICB9OworCisgICAgdmFyIHJzID0gbmV3IFJlYWRhYmxlU3Ry
ZWFtKHNvdXJjZSk7CisgICAgYXNzZXJ0X3RydWUoaXNTdGFydENhbGxlZCk7Cit9LCAnUmVhZGFi
bGVTdHJlYW0gc3RhcnQgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBwcm9wZXIgcGFyYW1ldGVy
cycpOworCit0ZXN0KGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgaXNTdGFydENhbGxlZCA9IGZhbHNl
OworICAgIHZhciBzb3VyY2UgPSB7CisgICAgICAgIHN0YXJ0OiBmdW5jdGlvbihjb250cm9sbGVy
KSB7CisgICAgICBjb25zdCBtZXRob2RzID0gWyAnY2xvc2UnLCAnY29uc3RydWN0b3InLCAnZW5x
dWV1ZScsICdlcnJvcicgXTsKKyAgICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0
LmdldE93blByb3BlcnR5TmFtZXMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGNvbnRyb2xsZXIpKS5z
b3J0KCksIG1ldGhvZHMsICdwcm90b3R5cGUgc2hvdWxkIGhhdmUgdGhlIHJpZ2h0IG1ldGhvZHMn
KTsKKyAgICAgICAgICAgIGNvbnRyb2xsZXIudGVzdCA9ICIiOworICAgICAgICAgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPYmplY3QuZ2V0UHJvdG90
eXBlT2YoY29udHJvbGxlcikpLnNvcnQoKSwgbWV0aG9kcywgJ3Byb3RvdHlwZSBzaG91bGQgc3Rp
bGwgaGF2ZSB0aGUgcmlnaHQgbWV0aG9kcycpOworICAgICAgICAgICAgYXNzZXJ0X25vdF9lcXVh
bHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY29udHJvbGxlcikuaW5kZXhPZigndGVzdCcp
LCAnXCd0ZXN0XCcgaXMgYSBwcm9wZXJ0eSBvZiB0aGUgY29udHJvbGxlcicpOworCisgICAgICAg
ICAgICBpc1N0YXJ0Q2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICB2YXIg
cnMgPSBuZXcgUmVhZGFibGVTdHJlYW0oc291cmNlKTsKKyAgICBhc3NlcnRfdHJ1ZShpc1N0YXJ0
Q2FsbGVkKTsKK30sICdSZWFkYWJsZVN0cmVhbSBzdGFydCBjb250cm9sbGVyIHBhcmFtZXRlciBz
aG91bGQgYmUgdXBkYXRhYmxlJyk7CisKK3Rlc3QoZnVuY3Rpb24oKQoreworICAgIHZhciBpc1N0
YXJ0Q2FsbGVkID0gZmFsc2U7CisKKyAgICB2YXIgU2ltcGxlU3RyZWFtU291cmNlID0gZnVuY3Rp
b24oKSB7IH07CisgICAgU2ltcGxlU3RyZWFtU291cmNlLnByb3RvdHlwZS5zdGFydCA9IGZ1bmN0
aW9uKCkgeyBpc1N0YXJ0Q2FsbGVkID0gdHJ1ZTsgfTsKKyAgICBTaW1wbGVTdHJlYW1Tb3VyY2Uu
cHJvdG90eXBlLmNvbnN0cnVjdG9yID0gU2ltcGxlU3RyZWFtU291cmNlOworCisgICAgdmFyIHJz
ID0gbmV3IFJlYWRhYmxlU3RyZWFtKG5ldyBTaW1wbGVTdHJlYW1Tb3VyY2UoKSk7CisgICAgYXNz
ZXJ0X3RydWUoaXNTdGFydENhbGxlZCk7Cit9LCAnUmVhZGFibGVTdHJlYW0gc2hvdWxkIGJlIGFi
bGUgdG8gY2FsbCBzdGFydCBtZXRob2Qgd2l0aGluIHByb3RvdHlwZSBjaGFpbiBvZiBpdHMgc291
cmNlJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJl
bmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tZXhw
ZWN0ZWQudHh0CmluZGV4IDZlOGViMjMxNzM3OTA5ZjUxZjgwOTEyODVkOGRjMjM4YzU4MGVhZGUu
LjllZWYxZjI1MGZmZjU4MDAzYjg0MTVlZDExOWRjNzA1YjE4MDNmZmEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVh
bS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVt
ZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLWV4cGVjdGVkLnR4dApAQCAtMSwxNyArMSwxMyBAQAog
CiBGQUlMIFJlYWRhYmxlU3RyZWFtIGNhbiBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vIGVycm9ycyBS
ZWFkYWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBzaG91bGQgZ2V0IGFuIG9iamVjdCBhcyBhcmd1bWVu
dC4KLVBBU1MgUmVhZGFibGVTdHJlYW0gY2FuJ3QgYmUgY29uc3RydWN0ZWQgd2l0aCBnYXJiYWdl
IAotRkFJTCBSZWFkYWJsZVN0cmVhbSBpbnN0YW5jZXMgc2hvdWxkIGhhdmUgdGhlIGNvcnJlY3Qg
bGlzdCBvZiBwcm9wZXJ0aWVzIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBl
eHBlY3RlZCA2IGdvdCA1Ci1QQVNTIFJlYWRhYmxlU3RyZWFtIGNvbnN0cnVjdG9yIHNob3VsZCBn
ZXQgYSBmdW5jdGlvbiBhcyBzdGFydCBhcmd1bWVudCAKLUZBSUwgUmVhZGFibGVTdHJlYW0gc3Rh
cnQgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBwcm9wZXIgcGFyYW1ldGVycyBudWxsIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ09iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE9iamVj
dC5nZXRQcm90b3R5cGVPZihjb250cm9sbGVyKSknKQotRkFJTCBSZWFkYWJsZVN0cmVhbSBzdGFy
dCBjb250cm9sbGVyIHBhcmFtZXRlciBzaG91bGQgYmUgdXBkYXRhYmxlIG51bGwgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKGNvbnRyb2xsZXIpKScpCi1QQVNTIFJlYWRhYmxlU3RyZWFtIHNob3VsZCBi
ZSBhYmxlIHRvIGNhbGwgc3RhcnQgbWV0aG9kIHdpdGhpbiBwcm90b3R5cGUgY2hhaW4gb2YgaXRz
IHNvdXJjZSAKK0ZBSUwgUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIHNob3VsZCBoYXZlIHRoZSBj
b3JyZWN0IGxpc3Qgb2YgcHJvcGVydGllcyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBzaG91bGQgaGF2
ZSBhbGwgdGhlIGNvcnJlY3QgbWV0aG9kcyBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNiBnb3Qg
NQorUEFTUyBSZWFkYWJsZVN0cmVhbSBjb25zdHJ1Y3RvciBzaG91bGQgdGhyb3cgZm9yIG5vbi1m
dW5jdGlvbiBzdGFydCBhcmd1bWVudHMgCiBQQVNTIFJlYWRhYmxlU3RyZWFtIGNvbnN0cnVjdG9y
IGNhbiBnZXQgaW5pdGlhbCBnYXJiYWdlIGFzIGNhbmNlbCBhcmd1bWVudCAKIFBBU1MgUmVhZGFi
bGVTdHJlYW0gY29uc3RydWN0b3IgY2FuIGdldCBpbml0aWFsIGdhcmJhZ2UgYXMgcHVsbCBhcmd1
bWVudCAKIFBBU1MgUmVhZGFibGVTdHJlYW0gY29uc3RydWN0b3IgY2FuIGdldCBpbml0aWFsIGdh
cmJhZ2UgYXMgc3RyYXRlZ3kgYXJndW1lbnQgCiBGQUlMIFJlYWRhYmxlU3RyZWFtIHN0YXJ0IHNo
b3VsZCBiZSBhYmxlIHRvIHJldHVybiBhIHByb21pc2UgcmVhZCBpcyBub3QgaW1wbGVtZW50ZWQK
IFRJTUVPVVQgUmVhZGFibGVTdHJlYW0gc3RhcnQgc2hvdWxkIGJlIGFibGUgdG8gcmV0dXJuIGEg
cHJvbWlzZSBhbmQgcmVqZWN0IGl0IFRlc3QgdGltZWQgb3V0Ci1GQUlMIFJlYWRhYmxlU3RyZWFt
IHNob3VsZCBiZSBhYmxlIHRvIHF1ZXVlIGRpZmZlcmVudCBvYmplY3RzLiByZWFkIGlzIG5vdCBp
bXBsZW1lbnRlZAorRkFJTCBSZWFkYWJsZVN0cmVhbSBzaG91bGQgYmUgYWJsZSB0byBlbnF1ZXVl
IGRpZmZlcmVudCBvYmplY3RzLiByZWFkIGlzIG5vdCBpbXBsZW1lbnRlZAogUEFTUyBSZWFkYWJs
ZVN0cmVhbTogaWYgc3RhcnQgdGhyb3dzIGFuIGVycm9yLCBpdCBzaG91bGQgYmUgcmUtdGhyb3du
IAogRkFJTCBSZWFkYWJsZVN0cmVhbTogaWYgcHVsbCByZWplY3RzLCBpdCBzaG91bGQgZXJyb3Ig
dGhlIHN0cmVhbSByZWFkIGlzIG5vdCBpbXBsZW1lbnRlZAogRkFJTCBSZWFkYWJsZVN0cmVhbTog
c2hvdWxkIG9ubHkgY2FsbCBwdWxsIG9uY2UgdXBvbiBzdGFydGluZyB0aGUgc3RyZWFtIGFzc2Vy
dF9lcXVhbHM6IHB1bGwgc2hvdWxkIGJlIGNhbGxlZCBvbmNlIHN0YXJ0IGZpbmlzaGVzIGV4cGVj
dGVkIDEgYnV0IGdvdCAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5j
ZS1pbXBsZW1lbnRhdGlvbi9yZWFkYWJsZS1zdHJlYW0tcmVhZGVyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVh
bS1yZWFkZXItZXhwZWN0ZWQudHh0CmluZGV4IDA5YzJhN2QzMTRlMmYwYzEwYjFhMWVjMjdkMWIw
OTUxZWM2M2QwYzEuLmMzZTUxNDJkNDY5OTUxZTlkM2E2MmI2NWNmYjQzNGFiMTc1ZTM1NDMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3Jl
YWRhYmxlLXN0cmVhbS1yZWFkZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0cmVh
bXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1yZWFkZXItZXhwZWN0
ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiBQQVNTIENhbiBnZXQgdGhlIFJlYWRhYmxlU3RyZWFt
UmVhZGVyIGNvbnN0cnVjdG9yIGluZGlyZWN0bHkgCiBQQVNTIFJlYWRhYmxlU3RyZWFtUmVhZGVy
IGNvbnN0cnVjdG9yIHNob3VsZCBnZXQgYSBSZWFkYWJsZVN0cmVhbSBvYmplY3QgYXMgYXJndW1l
bnQgCi1GQUlMIFJlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0aGUgY29ycmVj
dCBsaXN0IG9mIHByb3BlcnRpZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIs
IGV4cGVjdGVkIDUgZ290IDQKK0ZBSUwgUmVhZGFibGVTdHJlYW1SZWFkZXIgaW5zdGFuY2VzIHNo
b3VsZCBoYXZlIHRoZSBjb3JyZWN0IGxpc3Qgb2YgcHJvcGVydGllcyBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNSBnb3QgNAogUEFTUyBSZWFkYWJsZVN0cmVh
bVJlYWRlciBjbG9zZWQgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUgcHJvbWlzZSBvYmpl
Y3QgCiBQQVNTIENvbnN0cnVjdGluZyBhIFJlYWRhYmxlU3RyZWFtUmVhZGVyIGRpcmVjdGx5IHNo
b3VsZCBmYWlsIGlmIHRoZSBzdHJlYW0gaXMgYWxyZWFkeSBsb2NrZWQgKHZpYSBkaXJlY3QgY29u
c3RydWN0aW9uKSAKIFBBU1MgR2V0dGluZyBhIFJlYWRhYmxlU3RyZWFtUmVhZGVyIHZpYSBnZXRS
ZWFkZXIgc2hvdWxkIGZhaWwgaWYgdGhlIHN0cmVhbSBpcyBhbHJlYWR5IGxvY2tlZCAodmlhIGRp
cmVjdCBjb25zdHJ1Y3Rpb24pIApAQCAtMTcsNSArMTcsNCBAQCBGQUlMIE11bHRpcGxlIHJlYWRl
cnMgY2FuIGFjY2VzcyB0aGUgc3RyZWFtIGluIHNlcXVlbmNlIHJlYWQgaXMgbm90IGltcGxlbWVu
dGVkCiBGQUlMIENhbm5vdCB1c2UgYW4gYWxyZWFkeS1yZWxlYXNlZCByZWFkZXIgdG8gdW5sb2Nr
IGEgc3RyZWFtIGFnYWluIHJlbGVhc2VMb2NrIGlzIG5vdCBpbXBsZW1lbnRlZAogRkFJTCBjYW5j
ZWwoKSBvbiBhIHJlbGVhc2VkIHJlYWRlciBpcyBhIG5vLW9wIGFuZCBkb2VzIG5vdCBwYXNzIHRo
cm91Z2ggcmVsZWFzZUxvY2sgaXMgbm90IGltcGxlbWVudGVkCiBGQUlMIEdldHRpbmcgYSBzZWNv
bmQgcmVhZGVyIGFmdGVyIGVycm9yaW5nIHRoZSBzdHJlYW0gc2hvdWxkIHN1Y2NlZWQgcmVhZCBp
cyBub3QgaW1wbGVtZW50ZWQKLVBBU1MgQ29sbGVjdGluZyBhIFJlYWRhYmxlU3RyZWFtUmVhZGVy
IHNob3VsZCBub3QgdW5sb2NrIGl0cyBzdHJlYW0gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS1yZWFkZXIu
aHRtbCBiL0xheW91dFRlc3RzL3N0cmVhbXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRh
YmxlLXN0cmVhbS1yZWFkZXIuaHRtbAppbmRleCAyODQ1NGQ5MDNhNDM3MWIyMzc3MzkyOWNhMGUx
OTc5ZDZjN2UwMjgxLi40Mjk1OTA3NTI5OGNjYTJkZDNjODU4ODVjNTAzYmZkNGM0ZDllYmRjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdHJlYW1zL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlvbi9y
ZWFkYWJsZS1zdHJlYW0tcmVhZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZl
cmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLXJlYWRlci5odG1sCkBAIC0xLDcg
KzEsNiBAQAogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0IHNyYz0nLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzJz48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScuLi8uLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMnPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Jy4uLy4uL3Jlc291cmNl
cy9nYy5qcyc+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0ncmVzb3VyY2VzL3N0cmVhbXMtdXRpbHMu
anMnPjwvc2NyaXB0PgogPHNjcmlwdD4KIHZhciBSZWFkYWJsZVN0cmVhbVJlYWRlcjsKQEAgLTI0
LDQ2ICsyMyw0MyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogfSwgJ1JlYWRhYmxlU3RyZWFtUmVhZGVy
IGNvbnN0cnVjdG9yIHNob3VsZCBnZXQgYSBSZWFkYWJsZVN0cmVhbSBvYmplY3QgYXMgYXJndW1l
bnQnKTsKIAogdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgcnNSZWFkZXIgPSBuZXcgUmVhZGFi
bGVTdHJlYW1SZWFkZXIobmV3IFJlYWRhYmxlU3RyZWFtKCkpOwotCi0gICAgLy8gYXNzZXJ0X2Fy
cmF5X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhyc1JlYWRlciksIFtdKTsKLSAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE9iamVjdC5n
ZXRQcm90b3R5cGVPZihyc1JlYWRlcikpLnNvcnQoKSwgWyAnY2FuY2VsJywgJ2Nsb3NlZCcsICdj
b25zdHJ1Y3RvcicsICdyZWFkJywgJ3JlbGVhc2VMb2NrJyBdKTsKLQotICAgIGFzc2VydF90cnVl
KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJz
UmVhZGVyKSwgJ2NhbmNlbCcpLmVudW1lcmFibGUpOwotICAgIGFzc2VydF90cnVlKE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzUmVhZGVyKSwg
J2NhbmNlbCcpLmNvbmZpZ3VyYWJsZSk7Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnNSZWFkZXIpLCAnY2FuY2Vs
Jykud3JpdGFibGUpOwotCi0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnNSZWFkZXIpLCAnY2xvc2VkJykuZW51bWVy
YWJsZSk7Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihP
YmplY3QuZ2V0UHJvdG90eXBlT2YocnNSZWFkZXIpLCAnY2xvc2VkJykuY29uZmlndXJhYmxlKTsK
LQotICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0
LmdldFByb3RvdHlwZU9mKHJzUmVhZGVyKSwgJ2NvbnN0cnVjdG9yJykuY29uZmlndXJhYmxlKTsK
LSAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5n
ZXRQcm90b3R5cGVPZihyc1JlYWRlciksICdjb25zdHJ1Y3RvcicpLndyaXRhYmxlKTsKLQotICAg
IGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFBy
b3RvdHlwZU9mKHJzUmVhZGVyKSwgJ3JlYWQnKS5lbnVtZXJhYmxlKTsKLSAgICBhc3NlcnRfdHJ1
ZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihy
c1JlYWRlciksICdyZWFkJykuY29uZmlndXJhYmxlKTsKLSAgICBhc3NlcnRfdHJ1ZShPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihyc1JlYWRlciks
ICdyZWFkJykud3JpdGFibGUpOworICAgIHZhciBtZXRob2RzID0gWydjYW5jZWwnLCAnY29uc3Ry
dWN0b3InLCAncmVhZCcsICdyZWxlYXNlTG9jayddOworICAgIHZhciBwcm9wZXJ0aWVzID0gbWV0
aG9kcy5jb25jYXQoWydjbG9zZWQnXSkuc29ydCgpOwogCi0gICAgYXNzZXJ0X3RydWUoT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnNSZWFkZXIp
LCAncmVsZWFzZUxvY2snKS5lbnVtZXJhYmxlKTsKLSAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihyc1JlYWRlciksICdy
ZWxlYXNlTG9jaycpLmNvbmZpZ3VyYWJsZSk7Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnNSZWFkZXIpLCAncmVs
ZWFzZUxvY2snKS53cml0YWJsZSk7Ci0KLSAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiByc1JlYWRl
ci5jYW5jZWwsICdmdW5jdGlvbicsICdoYXMgYSBjYW5jZWwgbWV0aG9kJyk7Ci0gICAgYXNzZXJ0
X2VxdWFscyhyc1JlYWRlci5jYW5jZWwubGVuZ3RoLCAxKTsKLSAgICBhc3NlcnRfZXhpc3RzKE9i
amVjdC5nZXRQcm90b3R5cGVPZihyc1JlYWRlciksICdjbG9zZWQnLCAnaGFzIGEgY2xvc2VkIHBy
b3BlcnR5Jyk7CisgICAgdmFyIHJzUmVhZGVyID0gbmV3IFJlYWRhYmxlU3RyZWFtUmVhZGVyKG5l
dyBSZWFkYWJsZVN0cmVhbSgpKTsKKyAgICB2YXIgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBl
T2YocnNSZWFkZXIpOworCisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3QuZ2V0T3duUHJv
cGVydHlOYW1lcyhwcm90bykuc29ydCgpLCBwcm9wZXJ0aWVzKTsKKworICAgIGZvciAodmFyIG0g
b2YgbWV0aG9kcykgeworICAgICAgICB2YXIgcHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHByb3RvLCBtKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy5l
bnVtZXJhYmxlLCBmYWxzZSwgJ21ldGhvZCBzaG91bGQgYmUgbm9uLWVudW1lcmFibGUnKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhwcm9wRGVzYy5jb25maWd1cmFibGUsIHRydWUsICdtZXRob2Qg
c2hvdWxkIGJlIGNvbmZpZ3VyYWJsZScpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHByb3BEZXNj
LndyaXRhYmxlLCB0cnVlLCAnbWV0aG9kIHNob3VsZCBiZSB3cml0YWJsZScpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKHR5cGVvZiByc1JlYWRlclttXSwgJ2Z1bmN0aW9uJywgJ3Nob3VsZCBoYXZl
IGJlIGEgbWV0aG9kJyk7CisgICAgfQorCisgICAgdmFyIGNsb3NlZFByb3BEZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgJ2Nsb3NlZCcpOworICAgIGFzc2VydF9l
cXVhbHMoY2xvc2VkUHJvcERlc2MuZW51bWVyYWJsZSwgZmFsc2UsICdjbG9zZWQgc2hvdWxkIGJl
IG5vbi1lbnVtZXJhYmxlJyk7CisgICAgYXNzZXJ0X2VxdWFscyhjbG9zZWRQcm9wRGVzYy5jb25m
aWd1cmFibGUsIHRydWUsICdjbG9zZWQgc2hvdWxkIGJlIGNvbmZpZ3VyYWJsZScpOworICAgIGFz
c2VydF9ub3RfZXF1YWxzKGNsb3NlZFByb3BEZXNjLmdldCwgdW5kZWZpbmVkLCAnY2xvc2VkIHNo
b3VsZCBoYXZlIGEgZ2V0dGVyJyk7CisgICAgYXNzZXJ0X2VxdWFscyhjbG9zZWRQcm9wRGVzYy5z
ZXQsIHVuZGVmaW5lZCwgJ2Nsb3NlZCBzaG91bGQgbm90IGhhdmUgYSBzZXR0ZXInKTsKKworICAg
IGFzc2VydF9lcXVhbHMocnNSZWFkZXIuY2FuY2VsLmxlbmd0aCwgMSwgJ2NhbmNlbCBoYXMgMSBw
YXJhbWV0ZXInKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhyc1JlYWRlci5jbG9zZWQsIHVuZGVm
aW5lZCwgJ2hhcyBhIG5vbi11bmRlZmluZWQgY2xvc2VkIHByb3BlcnR5Jyk7CiAgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YgcnNSZWFkZXIuY2xvc2VkLnRoZW4sICdmdW5jdGlvbicsICdjbG9zZWQg
cHJvcGVydHkgaXMgdGhlbmFibGUnKTsKICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiByc1JlYWRl
ci5jb25zdHJ1Y3RvciwgJ2Z1bmN0aW9uJywgJ2hhcyBhIGNvbnN0cnVjdG9yIG1ldGhvZCcpOwog
ICAgIGFzc2VydF9lcXVhbHMocnNSZWFkZXIuY29uc3RydWN0b3IubGVuZ3RoLCAxLCAnY29uc3Ry
dWN0b3IgaGFzIDEgcGFyYW1ldGVyJyk7CiAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgcnNSZWFk
ZXIucmVhZCwgJ2Z1bmN0aW9uJywgJ2hhcyBhIGdldFJlYWRlciBtZXRob2QnKTsKLSAgICBhc3Nl
cnRfZXF1YWxzKHJzUmVhZGVyLnJlYWQubGVuZ3RoLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJz
UmVhZGVyLnJlYWQubGVuZ3RoLCAwLCAncmVhZCBoYXMgbm8gcGFyYW1ldGVycycpOwogICAgIGFz
c2VydF9lcXVhbHModHlwZW9mIHJzUmVhZGVyLnJlbGVhc2VMb2NrLCAnZnVuY3Rpb24nLCAnaGFz
IGEgcmVsZWFzZUxvY2sgbWV0aG9kJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhyc1JlYWRlci5yZWxl
YXNlTG9jay5sZW5ndGgsIDApOwotCi19LCAnUmVhZGFibGVTdHJlYW0gaW5zdGFuY2VzIHNob3Vs
ZCBoYXZlIHRoZSBjb3JyZWN0IGxpc3Qgb2YgcHJvcGVydGllcycpOworICAgIGFzc2VydF9lcXVh
bHMocnNSZWFkZXIucmVsZWFzZUxvY2subGVuZ3RoLCAwLCAncmVsZWFzZUxvY2sgaGFzIG5vIHBh
cmFtZXRlcnMnKTsKK30sICdSZWFkYWJsZVN0cmVhbVJlYWRlciBpbnN0YW5jZXMgc2hvdWxkIGhh
dmUgdGhlIGNvcnJlY3QgbGlzdCBvZiBwcm9wZXJ0aWVzJyk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7
CiAgICAgdmFyIHJzUmVhZGVyID0gbmV3IFJlYWRhYmxlU3RyZWFtUmVhZGVyKG5ldyBSZWFkYWJs
ZVN0cmVhbSgpKTsKIAotICAgIGFzc2VydF9lcXVhbHMocnNSZWFkZXIuY2xvc2VkLCByc1JlYWRl
ci5jbG9zZWQpOworICAgIGFzc2VydF9lcXVhbHMocnNSZWFkZXIuY2xvc2VkLCByc1JlYWRlci5j
bG9zZWQsICdjbG9zZWQgc2hvdWxkIHJldHVybiB0aGUgc2FtZSBwcm9taXNlJyk7CiB9LCAnUmVh
ZGFibGVTdHJlYW1SZWFkZXIgY2xvc2VkIHNob3VsZCBhbHdheXMgcmV0dXJuIHRoZSBzYW1lIHBy
b21pc2Ugb2JqZWN0Jyk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7CkBAIC0zMTYsMTEgKzMxMiw0IEBA
IHRlc3Q4LnN0ZXAoZnVuY3Rpb24oKSB7CiAgICAgICAgIHRlc3Q4LmRvbmUoKTsKICAgICB9KSk7
CiB9KTsKLQotdGVzdChmdW5jdGlvbigpIHsKLSAgICB2YXIgcnMgPSBuZXcgUmVhZGFibGVTdHJl
YW0oe30pOwotICAgIHJzLmdldFJlYWRlcigpOwotICAgIHdpbmRvdy5nYygpOwotICAgIGFzc2Vy
dF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCBmdW5jdGlvbigpIHsgcnMuZ2V0UmVhZGVyKCk7IH0p
OwotfSwgJ0NvbGxlY3RpbmcgYSBSZWFkYWJsZVN0cmVhbVJlYWRlciBzaG91bGQgbm90IHVubG9j
ayBpdHMgc3RyZWFtJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0cmVh
bXMvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3JlYWRhYmxlLXN0cmVhbS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLmh0
bWwKaW5kZXggMGJiYzliM2QzYWZkNDc0OTkxNjM5Mjk5NWIxODg5YzM0ZDEzMjZjZS4uNzY0NWE5
YjliNWZhMDlmNTczZmU5ODMyMDQ5OTBjMWI5YzlkNTg2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFibGUtc3RyZWFtLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RyZWFtcy9yZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vcmVhZGFi
bGUtc3RyZWFtLmh0bWwKQEAgLTEyLDEyOCArMTIsMzQgQEAgdGVzdChmdW5jdGlvbigpIHsKIH0s
ICdSZWFkYWJsZVN0cmVhbSBjYW4gYmUgY29uc3RydWN0ZWQgd2l0aCBubyBlcnJvcnMnKTsKIAog
dGVzdChmdW5jdGlvbigpIHsKLSAgICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIG5ldyBSZWFkYWJsZVN0cmVhbShudWxsKTsKLSAgICB9LCAnY29u
c3RydWN0b3IgY2FuXCd0IHJlY2VpdmUgbnVsbCcpOwotfSwgJ1JlYWRhYmxlU3RyZWFtIGNhblwn
dCBiZSBjb25zdHJ1Y3RlZCB3aXRoIGdhcmJhZ2UnKTsKKyAgICB2YXIgbWV0aG9kcyA9IFsnY2Fu
Y2VsJywgJ2NvbnN0cnVjdG9yJywgJ2dldFJlYWRlcicsICdwaXBlVGhyb3VnaCcsICdwaXBlVG8n
LCAndGVlJ107CiAKLXRlc3QoZnVuY3Rpb24oKSB7CiAgICAgdmFyIHJzID0gbmV3IFJlYWRhYmxl
U3RyZWFtKCk7CisgICAgdmFyIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKTsKIAot
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocnMpLCBb
XSk7Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhP
YmplY3QuZ2V0UHJvdG90eXBlT2YocnMpKS5zb3J0KCksIFsnY2FuY2VsJywgJ2NvbnN0cnVjdG9y
JywgJ2dldFJlYWRlcicsICdwaXBlVGhyb3VnaCcsICdwaXBlVG8nLCAndGVlJ10pOwotCi0gICAg
YXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJv
dG90eXBlT2YocnMpLCAnY2FuY2VsJykuZW51bWVyYWJsZSwgJ2NhbmNlbCBtZXRob2QgaXMgZW51
bWVyYWJsZScpOwotICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwgJ2NhbmNlbCcpLmNvbmZpZ3VyYWJsZSwgJ2Nh
bmNlbCBtZXRob2QgaXMgY29uZmlndXJhYmxlJyk7Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAnY2FuY2Vs
Jykud3JpdGFibGUsICdjYW5jZWwgbWV0aG9kIGlzIHdyaXRhYmxlJyk7Ci0KLSAgICBhc3NlcnRf
ZmFsc2UoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBl
T2YocnMpLCAnY29uc3RydWN0b3InKS5lbnVtZXJhYmxlLCAnY29uc3RydWN0b3IgbWV0aG9kIGlz
IG5vdCBlbnVtZXJhYmxlJyk7Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAnY29uc3RydWN0b3InKS5jb25m
aWd1cmFibGUsICdjb25zdHJ1Y3RvciBtZXRob2QgaXMgY29uZmlndXJhYmxlJyk7Ci0gICAgYXNz
ZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90
eXBlT2YocnMpLCAnY29uc3RydWN0b3InKS53cml0YWJsZSwgJ2NvbnN0cnVjdG9yIG1ldGhvZCBp
cyB3cml0YWJsZScpOwotCi0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAnZ2V0UmVhZGVyJykuZW51bWVyYWJs
ZSwgJ2dldFJlYWRlciBtZXRob2QgaXMgZW51bWVyYWJsZScpOwotICAgIGFzc2VydF90cnVlKE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwg
J2dldFJlYWRlcicpLmNvbmZpZ3VyYWJsZSwgJ2dldFJlYWRlciBtZXRob2QgaXMgY29uZmlndXJh
YmxlJyk7Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihP
YmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAnZ2V0UmVhZGVyJykud3JpdGFibGUsICdnZXRSZWFk
ZXIgbWV0aG9kIGlzIHdyaXRhYmxlJyk7Ci0KLSAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdwaXBlVGhyb3Vn
aCcpLmVudW1lcmFibGUsICdwaXBlVGhyb3VnaCBtZXRob2QgaXMgZW51bWVyYWJsZScpOwotICAg
IGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFBy
b3RvdHlwZU9mKHJzKSwgJ3BpcGVUaHJvdWdoJykuY29uZmlndXJhYmxlLCAncGlwZVRocm91Z2gg
bWV0aG9kIGlzIGNvbmZpZ3VyYWJsZScpOwotICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwgJ3BpcGVUaHJvdWdo
Jykud3JpdGFibGUsICdwaXBlVGhyb3VnaCBtZXRob2QgaXMgd3JpdGFibGUnKTsKLQotICAgIGFz
c2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3Rv
dHlwZU9mKHJzKSwgJ3BpcGVUbycpLmVudW1lcmFibGUsICdwaXBlVG8gbWV0aG9kIGlzIGVudW1l
cmFibGUnKTsKLSAgICBhc3NlcnRfdHJ1ZShPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KE9iamVjdC5nZXRQcm90b3R5cGVPZihycyksICdwaXBlVG8nKS5jb25maWd1cmFibGUsICdwaXBl
VG8gbWV0aG9kIGlzIGNvbmZpZ3VyYWJsZScpOwotICAgIGFzc2VydF90cnVlKE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHJzKSwgJ3BpcGVUbycp
LndyaXRhYmxlLCAncGlwZVRvIG1ldGhvZCBpcyB3cml0YWJsZScpOwotCi0gICAgYXNzZXJ0X3Ry
dWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
cnMpLCAndGVlJykuZW51bWVyYWJsZSwgJ3RlZSBtZXRob2QgaXMgZW51bWVyYWJsZScpOwotICAg
IGFzc2VydF90cnVlKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LmdldFBy
b3RvdHlwZU9mKHJzKSwgJ3RlZScpLmNvbmZpZ3VyYWJsZSwgJ3RlZSBtZXRob2QgaXMgY29uZmln
dXJhYmxlJyk7Ci0gICAgYXNzZXJ0X3RydWUoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihPYmplY3QuZ2V0UHJvdG90eXBlT2YocnMpLCAndGVlJykud3JpdGFibGUsICd0ZWUgbWV0aG9k
IGlzIHdyaXRhYmxlJyk7Ci0KLSAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBycy5jYW5jZWwsICdm
dW5jdGlvbicsICdoYXMgYSBjYW5jZWwgbWV0aG9kJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhycy5j
YW5jZWwubGVuZ3RoLCAxLCAnY2FuY2VsIGhhcyAxIHBhcmFtZXRlcicpOwotICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIHJzLmNvbnN0cnVjdG9yLCAnZnVuY3Rpb24nLCAnaGFzIGEgY29uc3RydWN0
b3IgbWV0aG9kJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhycy5jb25zdHJ1Y3Rvci5sZW5ndGgsIDAp
LCAnY29uc3RydWN0b3IgaGFzIG5vIHBhcmFtZXRlcnMnOwotICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIHJzLmdldFJlYWRlciwgJ2Z1bmN0aW9uJywgJ2hhcyBhIGdldFJlYWRlciBtZXRob2QnKTsK
LSAgICBhc3NlcnRfZXF1YWxzKHJzLmdldFJlYWRlci5sZW5ndGgsIDAsICdnZXRSZWFkZXIgaGFz
IG5vIHBhcmFtZXRlcnMnKTsKLSAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBycy5waXBlVGhyb3Vn
aCwgJ2Z1bmN0aW9uJywgJ2hhcyBhIHBpcGVUaHJvdWdoIG1ldGhvZCcpOwotICAgIGFzc2VydF9l
cXVhbHMocnMucGlwZVRocm91Z2gubGVuZ3RoLCAyLCAncGlwZVRocm91Z2ggaGFzIDIgcGFyYW1l
dGVycycpOwotICAgIGFzc2VydF9lcXVhbHModHlwZW9mIHJzLnBpcGVUbywgJ2Z1bmN0aW9uJywg
J2hhcyBhIHBpcGVUbyBtZXRob2QnKTsKLSAgICBhc3NlcnRfZXF1YWxzKHJzLnBpcGVUby5sZW5n
dGgsIDEsICdwaXBlVG8gaGFzIDEgcGFyYW1ldGVyJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyh0eXBl
b2YgcnMudGVlLCAnZnVuY3Rpb24nLCAnaGFzIGEgdGVlIG1ldGhvZCcpOwotICAgIGFzc2VydF9l
cXVhbHMocnMudGVlLmxlbmd0aCwgMCwgJ3RlZSBoYXMgbm8gcGFyYW1ldGVycycpOworICAgIGFz
c2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvdG8pLnNvcnQo
KSwgbWV0aG9kcywgJ3Nob3VsZCBoYXZlIGFsbCB0aGUgY29ycmVjdCBtZXRob2RzJyk7CisKKyAg
ICBmb3IgKHZhciBtIG9mIG1ldGhvZHMpIHsKKyAgICAgICAgdmFyIHByb3BEZXNjID0gT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgbSk7CisgICAgICAgIGFzc2VydF9lcXVh
bHMocHJvcERlc2MuZW51bWVyYWJsZSwgZmFsc2UsICdtZXRob2Qgc2hvdWxkIGJlIG5vbi1lbnVt
ZXJhYmxlJyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMocHJvcERlc2MuY29uZmlndXJhYmxlLCB0
cnVlLCAnbWV0aG9kIHNob3VsZCBiZSBjb25maWd1cmFibGUnKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhwcm9wRGVzYy53cml0YWJsZSwgdHJ1ZSwgJ21ldGhvZCBzaG91bGQgYmUgd3JpdGFibGUn
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgcnNbbV0sICdmdW5jdGlvbicsICdzaG91
bGQgaGF2ZSBiZSBhIG1ldGhvZCcpOworICAgIH0KIAorICAgIGFzc2VydF9lcXVhbHMocnMuY2Fu
Y2VsLmxlbmd0aCwgMSwgJ2NhbmNlbCBzaG91bGQgaGF2ZSAxIHBhcmFtZXRlcicpOworICAgIGFz
c2VydF9lcXVhbHMocnMuY29uc3RydWN0b3IubGVuZ3RoLCAwLCAnY29uc3RydWN0b3Igc2hvdWxk
IGhhdmUgbm8gcGFyYW1ldGVycycpOworICAgIGFzc2VydF9lcXVhbHMocnMuZ2V0UmVhZGVyLmxl
bmd0aCwgMCwgJ2dldFJlYWRlciBzaG91bGQgaGF2ZSBubyBwYXJhbWV0ZXJzJyk7CisgICAgYXNz
ZXJ0X2VxdWFscyhycy5waXBlVGhyb3VnaC5sZW5ndGgsIDIsICdwaXBlVGhyb3VnaCBzaG91bGQg
aGF2ZSAyIHBhcmFtZXRlcnMnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJzLnBpcGVUby5sZW5ndGgs
IDEsICdwaXBlVG8gc2hvdWxkIGhhdmUgMSBwYXJhbWV0ZXInKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHJzLnRlZS5sZW5ndGgsIDAsICd0ZWUgc2hvdWxkIGhhdmUgbm8gcGFyYW1ldGVycycpOwogfSwg
J1JlYWRhYmxlU3RyZWFtIGluc3RhbmNlcyBzaG91bGQgaGF2ZSB0aGUgY29ycmVjdCBsaXN0IG9m
IHByb3BlcnRpZXMnKTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICBhc3NlcnRfdGhyb3dzKG5l
dyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7CiAgICAgICAgIG5ldyBSZWFkYWJsZVN0cmVhbSh7
IHN0YXJ0OiAncG90YXRvJ30pOwotICAgIH0sICdjb25zdHJ1Y3RvciBzaG91bGQgdGhyb3cgd2hl
biBzdGFydCBpcyBhIHN0cmluZycpOwotfSwgJ1JlYWRhYmxlU3RyZWFtIGNvbnN0cnVjdG9yIHNo
b3VsZCBnZXQgYSBmdW5jdGlvbiBhcyBzdGFydCBhcmd1bWVudCcpOwotCi10ZXN0KGZ1bmN0aW9u
KCkKLXsKLSAgICB2YXIgaXNTdGFydENhbGxlZCA9IGZhbHNlOwotICAgIHZhciBzb3VyY2UgPSB7
Ci0gICAgICAgIHN0YXJ0OiBmdW5jdGlvbihjb250cm9sbGVyKSB7Ci0gICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHRoaXMsIHNvdXJjZSk7Ci0KLSAgICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGNvbnRy
b2xsZXIpKS5zb3J0KCksIFsgJ2Nsb3NlJywgJ2NvbnN0cnVjdG9yJywgJ2VucXVldWUnLCAnZXJy
b3InIF0pOwotCi0gICAgICAgICAgICB2YXIgZW5xdWV1ZSA9IGNvbnRyb2xsZXIuZW5xdWV1ZTsK
LSAgICAgICAgICAgIHZhciBjbG9zZSA9IGNvbnRyb2xsZXIuY2xvc2U7Ci0gICAgICAgICAgICB2
YXIgZXJyb3IgPSBjb250cm9sbGVyLmVycm9yOwotCi0gICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHR5cGVvZiBlbnF1ZXVlLCAnZnVuY3Rpb24nKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mIGNsb3NlLCAnZnVuY3Rpb24nKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mIGVycm9yLCAnZnVuY3Rpb24nKTsKLQotICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlbnF1ZXVlKS5zb3J0KCksIFsgJ2FyZ3VtZW50
cycsICdjYWxsZXInLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJyBdKTsKLSAgICAgICAg
ICAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY2xvc2Up
LnNvcnQoKSwgWyAnYXJndW1lbnRzJywgJ2NhbGxlcicsICdsZW5ndGgnLCAnbmFtZScsICdwcm90
b3R5cGUnIF0pOwotICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3QuZ2V0T3du
UHJvcGVydHlOYW1lcyhlcnJvcikuc29ydCgpLCBbICdhcmd1bWVudHMnLCAnY2FsbGVyJywgJ2xl
bmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZScgXSk7Ci0KLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoZW5xdWV1ZS5uYW1lLCAnJyk7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsb3NlLm5h
bWUsICcnKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXJyb3IubmFtZSwgJycpOwotCi0g
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGVucXVldWUubGVuZ3RoLCAxKTsKLSAgICAgICAgICAg
IGFzc2VydF9lcXVhbHMoY2xvc2UubGVuZ3RoLCAwKTsKLSAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoZXJyb3IubGVuZ3RoLCAxKTsKLQotICAgICAgICAgICAgaXNTdGFydENhbGxlZCA9IHRydWU7
Ci0gICAgICAgIH0KLSAgICB9OwotCi0gICAgdmFyIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKHNv
dXJjZSk7Ci0gICAgYXNzZXJ0X3RydWUoaXNTdGFydENhbGxlZCk7Ci19LCAnUmVhZGFibGVTdHJl
YW0gc3RhcnQgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBwcm9wZXIgcGFyYW1ldGVycycpOwot
Ci10ZXN0KGZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgaXNTdGFydENhbGxlZCA9IGZhbHNlOwotICAg
IHZhciBzb3VyY2UgPSB7Ci0gICAgICAgIHN0YXJ0OiBmdW5jdGlvbihjb250cm9sbGVyKSB7Ci0g
ICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVz
KE9iamVjdC5nZXRQcm90b3R5cGVPZihjb250cm9sbGVyKSkuc29ydCgpLCBbICdjbG9zZScsICdj
b25zdHJ1Y3RvcicsICdlbnF1ZXVlJywgJ2Vycm9yJyBdKTsKLSAgICAgICAgICAgIGNvbnRyb2xs
ZXIudGVzdCA9ICIiOwotICAgICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhPYmplY3QuZ2V0
T3duUHJvcGVydHlOYW1lcyhPYmplY3QuZ2V0UHJvdG90eXBlT2YoY29udHJvbGxlcikpLnNvcnQo
KSwgWyAnY2xvc2UnLCAnY29uc3RydWN0b3InLCAnZW5xdWV1ZScsICdlcnJvcicgXSk7Ci0gICAg
ICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjb250
cm9sbGVyKS5pbmRleE9mKCd0ZXN0JykpOwotCi0gICAgICAgICAgICBpc1N0YXJ0Q2FsbGVkID0g
dHJ1ZTsKLSAgICAgICAgfQotICAgIH07Ci0KLSAgICB2YXIgcnMgPSBuZXcgUmVhZGFibGVTdHJl
YW0oc291cmNlKTsKLSAgICBhc3NlcnRfdHJ1ZShpc1N0YXJ0Q2FsbGVkKTsKLX0sICdSZWFkYWJs
ZVN0cmVhbSBzdGFydCBjb250cm9sbGVyIHBhcmFtZXRlciBzaG91bGQgYmUgdXBkYXRhYmxlJyk7
Ci0KLXRlc3QoZnVuY3Rpb24oKQotewotICAgIHZhciBpc1N0YXJ0Q2FsbGVkID0gZmFsc2U7Ci0K
LSAgICB2YXIgU2ltcGxlU3RyZWFtU291cmNlID0gZnVuY3Rpb24oKSB7IH07Ci0gICAgU2ltcGxl
U3RyZWFtU291cmNlLnByb3RvdHlwZS5zdGFydCA9IGZ1bmN0aW9uKCkgeyBpc1N0YXJ0Q2FsbGVk
ID0gdHJ1ZTsgfTsKLSAgICBTaW1wbGVTdHJlYW1Tb3VyY2UucHJvdG90eXBlLmNvbnN0cnVjdG9y
ID0gU2ltcGxlU3RyZWFtU291cmNlOwotCi0gICAgdmFyIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFt
KG5ldyBTaW1wbGVTdHJlYW1Tb3VyY2UoKSk7Ci0gICAgYXNzZXJ0X3RydWUoaXNTdGFydENhbGxl
ZCk7Ci19LCAnUmVhZGFibGVTdHJlYW0gc2hvdWxkIGJlIGFibGUgdG8gY2FsbCBzdGFydCBtZXRo
b2Qgd2l0aGluIHByb3RvdHlwZSBjaGFpbiBvZiBpdHMgc291cmNlJyk7CisgICAgfSwgJ2NvbnN0
cnVjdG9yIHNob3VsZCB0aHJvdyB3aGVuIHN0YXJ0IGlzIG5vdCBhIGZ1bmN0aW9uJyk7Cit9LCAn
UmVhZGFibGVTdHJlYW0gY29uc3RydWN0b3Igc2hvdWxkIHRocm93IGZvciBub24tZnVuY3Rpb24g
c3RhcnQgYXJndW1lbnRzJyk7CiAKIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgbmV3IFJlYWRhYmxl
U3RyZWFtKHsgY2FuY2VsOiAnMid9KTsgLy8gQ29uc3RydWN0b3Igc2hvdWxkIG5vdCB0aHJvdyB3
aGVuIGNhbmNlbCBpcyBub3QgYSBmdW5jdGlvbi4KQEAgLTE2NywxOSArNzMsMTkgQEAgdGVzdDEu
c3RlcChmdW5jdGlvbigpCiAKICAgICByZWFkZXIucmVhZCgpLnRoZW4odGVzdDEuc3RlcF9mdW5j
KGZ1bmN0aW9uKHIpIHsKICAgICAgICAgcmVhZENhbGxlZCA9IHRydWU7Ci0gICAgICAgIGFzc2Vy
dF9vYmplY3RfZXF1YWxzKHIsIHsgdmFsdWU6ICdhJywgZG9uZTogZmFsc2UgfSwgJ3JlYWQgdmFs
dWUgY29ycmVjdGx5Jyk7CisgICAgICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKHIsIHsgdmFsdWU6
ICdhJywgZG9uZTogZmFsc2UgfSwgJ3ZhbHVlIHJlYWQgc2hvdWxkIGJlIHRoZSBvbmUgZW5xdWV1
ZWQnKTsKICAgICB9KSk7CiAKICAgICByZWFkZXIuY2xvc2VkLnRoZW4odGVzdDEuc3RlcF9mdW5j
KGZ1bmN0aW9uKCkgewogICAgICAgICBhc3NlcnRfdHJ1ZShyZWFkQ2FsbGVkKTsKLSAgICAgICAg
dGVzdDEuZG9uZSgnc3RyZWFtIHN1Y2Nlc3NmdWxseSBjbG9zZWQnKTsKKyAgICAgICAgdGVzdDEu
ZG9uZSgnc3RyZWFtIHNob3VsZCBjbG9zZSBzdWNjZXNzZnVsbHknKTsKICAgICB9KSk7CiB9KTsK
IAogdmFyIHRlc3QyID0gYXN5bmNfdGVzdCgnUmVhZGFibGVTdHJlYW0gc3RhcnQgc2hvdWxkIGJl
IGFibGUgdG8gcmV0dXJuIGEgcHJvbWlzZSBhbmQgcmVqZWN0IGl0JywgeyB0aW1lb3V0OiAxMDAg
fSk7CiB0ZXN0Mi5zdGVwKGZ1bmN0aW9uKCkKIHsKLSAgICB2YXIgdGhlRXJyb3IgPSBuZXcgRXJy
b3IoInJlamVjdGVkISIpOworICAgIHZhciB0aGVFcnJvciA9IG5ldyBFcnJvcigncmVqZWN0ZWQh
Jyk7CiAgICAgdmFyIHJzID0gbmV3IFJlYWRhYmxlU3RyZWFtKHsKICAgICAgICAgc3RhcnQ6IGZ1
bmN0aW9uKCkgewogICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHRlc3QyLnN0ZXBfZnVu
YyhmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKQEAgLTE5MSwxMiArOTcsMTIgQEAgdGVzdDIu
c3RlcChmdW5jdGlvbigpCiAgICAgfSk7CiAKICAgICBycy5nZXRSZWFkZXIoKS5jbG9zZWQuY2F0
Y2godGVzdDIuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhl
LCB0aGVFcnJvciwgJ3Byb21pc2UgaXMgcmVqZWN0ZWQgd2l0aCB0aGUgc2FtZSBlcnJvcicpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGUsIHRoZUVycm9yLCAncHJvbWlzZSBzaG91bGQgYmUgcmVq
ZWN0ZWQgd2l0aCB0aGUgc2FtZSBlcnJvcicpOwogICAgICAgICB0ZXN0Mi5kb25lKCk7CiAgICAg
fSkpOwogfSk7CiAKLXZhciB0ZXN0MyA9IGFzeW5jX3Rlc3QoJ1JlYWRhYmxlU3RyZWFtIHNob3Vs
ZCBiZSBhYmxlIHRvIHF1ZXVlIGRpZmZlcmVudCBvYmplY3RzLicpOwordmFyIHRlc3QzID0gYXN5
bmNfdGVzdCgnUmVhZGFibGVTdHJlYW0gc2hvdWxkIGJlIGFibGUgdG8gZW5xdWV1ZSBkaWZmZXJl
bnQgb2JqZWN0cy4nKTsKIHRlc3QzLnN0ZXAoZnVuY3Rpb24oKSB7CiAgICAgdmFyIHJlYWRDYWxs
cyA9IDA7CiAgICAgdmFyIG9iamVjdHMgPSBbCkBAIC0yMDcsOCArMTEzLDggQEAgdGVzdDMuc3Rl
cChmdW5jdGlvbigpIHsKIAogICAgIHZhciBycyA9IG5ldyBSZWFkYWJsZVN0cmVhbSh7CiAgICAg
ICAgIHN0YXJ0OiBmdW5jdGlvbihjKSB7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IG9iamVjdHMubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICBjLmVucXVldWUob2JqZWN0
c1tpXSk7CisgICAgICAgICAgICBmb3IgKHZhciBvIG9mIG9iamVjdHMpIHsKKyAgICAgICAgICAg
ICAgICBjLmVucXVldWUobyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjLmNsb3NlKCk7
CiAgICAgICAgIH0KQEAgLTIxNywyMCArMTIzLDIwIEBAIHRlc3QzLnN0ZXAoZnVuY3Rpb24oKSB7
CiAgICAgdmFyIHJlYWRlciA9IHJzLmdldFJlYWRlcigpOwogCiAgICAgcmVhZGVyLnJlYWQoKS50
aGVuKHRlc3QzLnN0ZXBfZnVuYyhmdW5jdGlvbihyKSB7Ci0gICAgICAgIGFzc2VydF9vYmplY3Rf
ZXF1YWxzKHIsIHsgdmFsdWU6IG9iamVjdHNbcmVhZENhbGxzKytdLCBkb25lOiBmYWxzZSB9LCAn
cmVhZCB2YWx1ZSBjb3JyZWN0bHknKTsKKyAgICAgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMociwg
eyB2YWx1ZTogb2JqZWN0c1tyZWFkQ2FsbHMrK10sIGRvbmU6IGZhbHNlIH0sICd2YWx1ZSByZWFk
IHNob3VsZCBiZSB0aGUgb25lIGVucXVldWVkJyk7CiAgICAgfSkpOwogCiAgICAgcmVhZGVyLnJl
YWQoKS50aGVuKHRlc3QzLnN0ZXBfZnVuYyhmdW5jdGlvbihyKSB7Ci0gICAgICAgIGFzc2VydF9v
YmplY3RfZXF1YWxzKHIsIHsgdmFsdWU6IG9iamVjdHNbcmVhZENhbGxzKytdLCBkb25lOiBmYWxz
ZSB9LCAncmVhZCB2YWx1ZSBjb3JyZWN0bHknKTsKKyAgICAgICAgYXNzZXJ0X29iamVjdF9lcXVh
bHMociwgeyB2YWx1ZTogb2JqZWN0c1tyZWFkQ2FsbHMrK10sIGRvbmU6IGZhbHNlIH0sICd2YWx1
ZSByZWFkIHNob3VsZCBiZSB0aGUgb25lIGVucXVldWVkJyk7CiAgICAgfSkpOwogCiAgICAgcmVh
ZGVyLnJlYWQoKS50aGVuKHRlc3QzLnN0ZXBfZnVuYyhmdW5jdGlvbihyKSB7Ci0gICAgICAgIGFz
c2VydF9vYmplY3RfZXF1YWxzKHIsIHsgdmFsdWU6IG9iamVjdHNbcmVhZENhbGxzKytdLCBkb25l
OiBmYWxzZSB9LCAncmVhZCB2YWx1ZSBjb3JyZWN0bHknKTsKKyAgICAgICAgYXNzZXJ0X29iamVj
dF9lcXVhbHMociwgeyB2YWx1ZTogb2JqZWN0c1tyZWFkQ2FsbHMrK10sIGRvbmU6IGZhbHNlIH0s
ICd2YWx1ZSByZWFkIHNob3VsZCBiZSB0aGUgb25lIGVucXVldWVkJyk7CiAgICAgfSkpOwogCiAg
ICAgcmVhZGVyLmNsb3NlZC50aGVuKHRlc3QzLnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhyZWFkQ2FsbHMsIDMpOwotICAgICAgICB0ZXN0My5kb25lKCdzdHJl
YW0gd2FzIGNsb3NlZCBjb3JyZWN0bHknKTsKKyAgICAgICAgdGVzdDMuZG9uZSgnc3RyZWFtIHNo
b3VsZCBjbG9zZSBjb3JyZWN0bHkgY29ycmVjdGx5Jyk7CiAgICAgfSkpOwogfSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>