<?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>64620</bug_id>
          
          <creation_ts>2011-07-15 13:17:15 -0700</creation_ts>
          <short_desc>Clean up test_expectations.py after refactorings.</short_desc>
          <delta_ts>2011-07-15 13:41:30 -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>Tools / Tests</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>64385</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>437941</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 13:17:15 -0700</bug_when>
    <thetext>Clean up test_expectations.py after refactorings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437945</commentid>
    <comment_count>1</comment_count>
      <attachid>101033</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 13:21:10 -0700</bug_when>
    <thetext>Created attachment 101033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437956</commentid>
    <comment_count>2</comment_count>
      <attachid>101033</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 13:41:25 -0700</bug_when>
    <thetext>Comment on attachment 101033
Patch

Clearing flags on attachment: 101033

Committed r91103: &lt;http://trac.webkit.org/changeset/91103&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437957</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-07-15 13:41:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101033</attachid>
            <date>2011-07-15 13:21:10 -0700</date>
            <delta_ts>2011-07-15 13:41:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64620-20110715132109.patch</filename>
            <type>text/plain</type>
            <size>28819</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEwOTIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwOWMwNTI2NzA1MDg3NTA4YTQ3OWI5OTU4YzIwMjM2YjE3
OWUwNmEyLi42ZDE5NTgwN2QwMDJhMzJhYmZkODIxYzQ0MjAwY2NhYWQzYjBiODQ2IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjIg
QEAKIDIwMTEtMDctMTUgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
IAorICAgICAgICBDbGVhbiB1cCB0ZXN0X2V4cGVjdGF0aW9ucy5weSBhZnRlciByZWZhY3Rvcmlu
Z3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDYy
MAorCisgICAgICAgICogUmVuYW1lZCBhbGwgdmFyaWFibGVzIGhvbGRpbmcgVGVzdEV4cGVjdGF0
aW9uTGluZSB0byBleHBlY3RhdGlvbl9saW5lIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoCisgICAg
ICAgICAgaXRzIHN1Yi1wYXJ0LCB0aGUgYWN0dWFsIGV4cGVjdGF0aW9uLgorICAgICAgICAqIFJl
bmFtZWQgYWxsIHJlZmVyZW5jZXMgdG8gb3B0aW9ucyB0byBtb2RpZmllciB0byBlbGltaW5hdGUg
ZHVhbCB0ZXJtaW5vbG9neS4KKyAgICAgICAgKiBNYWRlIGEgYnVuY2ggb2YgcGFyc2VyIGNvbnN0
YW50cyBhbmQgY2hhbmdlZCBhbGwgY2FsbHNpdGVzIHRvIHVzZSB0aGVtLgorICAgICAgICAqIFZh
cmlvdXMgb3RoZXIgbWlub3IgY2xlYW4tdXBzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9k
ZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5OiBDbGVhbmVkIHVwIHN0dWZmLgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0
dGVzdC5weTogQ2hhbmdlZCBjYWxsc2l0ZXMgYWZ0ZXIgY2xlYW51cC4KKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5
OiBEaXR0by4KKworMjAxMS0wNy0xNSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21p
dW0ub3JnPgorCiAgICAgICAgIE1vdmUgZXhwZWN0YXRpb24gcGFyc2luZyBjb2RlIHRvIFRlc3RF
eHBlY3RhdGlvblBhcnNlci4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY0NjA1CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9ucy5weQppbmRleCBmNTM2
YjkwNmM5ZGZmMTNjMzhhMDRiYmMxMWNlOTUyNGE5YzkzMzQyLi40MDVhNGM3ZmQ1OTdhYjgzNDdk
NWE3MGE1OTU1ZTA5NDY4NzY0NGIzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnMucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zLnB5CkBA
IC0xNjUsMjkgKzE2NSw0MCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25TZXJpYWxpemVyOgogY2xh
c3MgVGVzdEV4cGVjdGF0aW9uUGFyc2VyOgogICAgICIiIlByb3ZpZGVzIHBhcnNpbmcgZmFjaWxp
dGllcyBmb3IgbGluZXMgaW4gdGhlIHRlc3RfZXhwZWN0YXRpb24udHh0IGZpbGUuIiIiCiAKKyAg
ICBCVUdfTU9ESUZJRVJfUFJFRklYID0gJ2J1ZycKKyAgICBCVUdfTU9ESUZJRVJfUkVHRVggPSAn
YnVnXGQrJworICAgIFJFQkFTRUxJTkVfTU9ESUZJRVIgPSAncmViYXNlbGluZScKKyAgICBTS0lQ
X01PRElGSUVSID0gJ3NraXAnCisgICAgU0xPV19NT0RJRklFUiA9ICdzbG93JworICAgIFdPTlRG
SVhfTU9ESUZJRVIgPSAnd29udGZpeCcKKworICAgIFRJTUVPVVRfRVhQRUNUQVRJT04gPSAndGlt
ZW91dCcKKwogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0LCB0ZXN0X2NvbmZpZywgZnVsbF90
ZXN0X2xpc3QsIGFsbG93X3JlYmFzZWxpbmVfbW9kaWZpZXIpOgogICAgICAgICBzZWxmLl9wb3J0
ID0gcG9ydAogICAgICAgICBzZWxmLl9tYXRjaGVyID0gTW9kaWZpZXJNYXRjaGVyKHRlc3RfY29u
ZmlnKQogICAgICAgICBzZWxmLl9mdWxsX3Rlc3RfbGlzdCA9IGZ1bGxfdGVzdF9saXN0CiAgICAg
ICAgIHNlbGYuX2FsbG93X3JlYmFzZWxpbmVfbW9kaWZpZXIgPSBhbGxvd19yZWJhc2VsaW5lX21v
ZGlmaWVyCiAKLSAgICBkZWYgcGFyc2Uoc2VsZiwgZXhwZWN0YXRpb24pOgotICAgICAgICBleHBl
Y3RhdGlvbi5udW1fbWF0Y2hlcyA9IHNlbGYuX2NoZWNrX29wdGlvbnMoc2VsZi5fbWF0Y2hlciwg
ZXhwZWN0YXRpb24pCi0gICAgICAgIGlmIGV4cGVjdGF0aW9uLm51bV9tYXRjaGVzID09IE1vZGlm
aWVyTWF0Y2hlci5OT19NQVRDSDoKKyAgICBkZWYgcGFyc2Uoc2VsZiwgZXhwZWN0YXRpb25fbGlu
ZSk6CisgICAgICAgIHNlbGYuX21hdGNoZXIubWF0Y2goZXhwZWN0YXRpb25fbGluZSkKKyAgICAg
ICAgc2VsZi5fY2hlY2tfc2VtYW50aWNzKGV4cGVjdGF0aW9uX2xpbmUpCisKKyAgICAgICAgaWYg
ZXhwZWN0YXRpb25fbGluZS5udW1fbWF0Y2hlcyA9PSBNb2RpZmllck1hdGNoZXIuTk9fTUFUQ0g6
CiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICBzZWxmLl9jaGVja19vcHRpb25zX2FnYWlu
c3RfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9uKQorICAgICAgICBzZWxmLl9jaGVja19tb2RpZmll
cnNfYWdhaW5zdF9leHBlY3RhdGlvbnMoZXhwZWN0YXRpb25fbGluZSkKIAotICAgICAgICBpZiBz
ZWxmLl9jaGVja19wYXRoX2RvZXNfbm90X2V4aXN0KGV4cGVjdGF0aW9uKToKKyAgICAgICAgaWYg
c2VsZi5fY2hlY2tfcGF0aF9kb2VzX25vdF9leGlzdChleHBlY3RhdGlvbl9saW5lKToKICAgICAg
ICAgICAgIHJldHVybgogCiAgICAgICAgIGlmIG5vdCBzZWxmLl9mdWxsX3Rlc3RfbGlzdDoKLSAg
ICAgICAgICAgIGV4cGVjdGF0aW9uLm1hdGNoaW5nX3Rlc3RzID0gW2V4cGVjdGF0aW9uLm5hbWVd
CisgICAgICAgICAgICBleHBlY3RhdGlvbl9saW5lLm1hdGNoaW5nX3Rlc3RzID0gW2V4cGVjdGF0
aW9uX2xpbmUubmFtZV0KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGV4cGVjdGF0aW9uLm1h
dGNoaW5nX3Rlc3RzID0gc2VsZi5fY29sbGVjdF9tYXRjaGluZ190ZXN0cyhleHBlY3RhdGlvbi5u
YW1lKQorICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5tYXRjaGluZ190ZXN0cyA9IHNlbGYu
X2NvbGxlY3RfbWF0Y2hpbmdfdGVzdHMoZXhwZWN0YXRpb25fbGluZS5uYW1lKQogCi0gICAgICAg
IGV4cGVjdGF0aW9uLnBhcnNlZF9tb2RpZmllcnMgPSBbbW9kaWZpZXIgZm9yIG1vZGlmaWVyIGlu
IGV4cGVjdGF0aW9uLm1vZGlmaWVycyBpZiBtb2RpZmllciBpbiBUZXN0RXhwZWN0YXRpb25zLk1P
RElGSUVSU10KLSAgICAgICAgc2VsZi5fcGFyc2VfZXhwZWN0YXRpb25zKGV4cGVjdGF0aW9uKQor
ICAgICAgICBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9tb2RpZmllcnMgPSBbbW9kaWZpZXIgZm9y
IG1vZGlmaWVyIGluIGV4cGVjdGF0aW9uX2xpbmUubW9kaWZpZXJzIGlmIG1vZGlmaWVyIGluIFRl
c3RFeHBlY3RhdGlvbnMuTU9ESUZJRVJTXQorICAgICAgICBzZWxmLl9wYXJzZV9leHBlY3RhdGlv
bnMoZXhwZWN0YXRpb25fbGluZSkKIAogICAgIGRlZiBfcGFyc2VfZXhwZWN0YXRpb25zKHNlbGYs
IGV4cGVjdGF0aW9uX2xpbmUpOgogICAgICAgICByZXN1bHQgPSBzZXQoKQpAQCAtMTk5LDQwICsy
MTAsMzUgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uUGFyc2VyOgogICAgICAgICAgICAgcmVzdWx0
LmFkZChleHBlY3RhdGlvbikKICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5wYXJzZWRfZXhwZWN0
YXRpb25zID0gcmVzdWx0CiAKLSAgICBkZWYgX2NoZWNrX29wdGlvbnMoc2VsZiwgbWF0Y2hlciwg
ZXhwZWN0YXRpb24pOgotICAgICAgICBtYXRjaF9yZXN1bHQgPSBtYXRjaGVyLm1hdGNoKGV4cGVj
dGF0aW9uKQotICAgICAgICBzZWxmLl9jaGVja19zZW1hbnRpY3MoZXhwZWN0YXRpb24pCi0gICAg
ICAgIHJldHVybiBtYXRjaF9yZXN1bHQubnVtX21hdGNoZXMKLQotICAgIGRlZiBfY2hlY2tfc2Vt
YW50aWNzKHNlbGYsIGV4cGVjdGF0aW9uKToKLSAgICAgICAgaGFzX3dvbnRmaXggPSAnd29udGZp
eCcgaW4gZXhwZWN0YXRpb24ubW9kaWZpZXJzCisgICAgZGVmIF9jaGVja19zZW1hbnRpY3Moc2Vs
ZiwgZXhwZWN0YXRpb25fbGluZSk6CisgICAgICAgIGhhc193b250Zml4ID0gc2VsZi5XT05URklY
X01PRElGSUVSIGluIGV4cGVjdGF0aW9uX2xpbmUubW9kaWZpZXJzCiAgICAgICAgIGhhc19idWcg
PSBGYWxzZQotICAgICAgICBmb3Igb3B0IGluIGV4cGVjdGF0aW9uLm1vZGlmaWVyczoKLSAgICAg
ICAgICAgIGlmIG9wdC5zdGFydHN3aXRoKCdidWcnKToKKyAgICAgICAgZm9yIG1vZGlmaWVyIGlu
IGV4cGVjdGF0aW9uX2xpbmUubW9kaWZpZXJzOgorICAgICAgICAgICAgaWYgbW9kaWZpZXIuc3Rh
cnRzd2l0aChzZWxmLkJVR19NT0RJRklFUl9QUkVGSVgpOgogICAgICAgICAgICAgICAgIGhhc19i
dWcgPSBUcnVlCi0gICAgICAgICAgICAgICAgaWYgcmUubWF0Y2goJ2J1Z1xkKycsIG9wdCk6Ci0g
ICAgICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9uLmVycm9ycy5hcHBlbmQoJ0JVR1xkKyBpcyBu
b3QgYWxsb3dlZCwgbXVzdCBiZSBvbmUgb2YgQlVHQ1JcZCssIEJVR1dLXGQrLCBCVUdWOF9cZCss
IG9yIGEgbm9uLW51bWVyaWMgYnVnIGlkZW50aWZpZXIuJykKKyAgICAgICAgICAgICAgICBpZiBy
ZS5tYXRjaChzZWxmLkJVR19NT0RJRklFUl9SRUdFWCwgbW9kaWZpZXIpOgorICAgICAgICAgICAg
ICAgICAgICBleHBlY3RhdGlvbl9saW5lLmVycm9ycy5hcHBlbmQoJ0JVR1xkKyBpcyBub3QgYWxs
b3dlZCwgbXVzdCBiZSBvbmUgb2YgQlVHQ1JcZCssIEJVR1dLXGQrLCBCVUdWOF9cZCssIG9yIGEg
bm9uLW51bWVyaWMgYnVnIGlkZW50aWZpZXIuJykKIAogICAgICAgICBpZiBub3QgaGFzX2J1ZyBh
bmQgbm90IGhhc193b250Zml4OgotICAgICAgICAgICAgZXhwZWN0YXRpb24ud2FybmluZ3MuYXBw
ZW5kKCdUZXN0IGxhY2tzIEJVRyBtb2RpZmllci4nKQorICAgICAgICAgICAgZXhwZWN0YXRpb25f
bGluZS53YXJuaW5ncy5hcHBlbmQoJ1Rlc3QgbGFja3MgQlVHIG1vZGlmaWVyLicpCiAKLSAgICAg
ICAgaWYgc2VsZi5fYWxsb3dfcmViYXNlbGluZV9tb2RpZmllciBhbmQgJ3JlYmFzZWxpbmUnIGlu
IGV4cGVjdGF0aW9uLm1vZGlmaWVyczoKLSAgICAgICAgICAgIGV4cGVjdGF0aW9uLmVycm9ycy5h
cHBlbmQoJ1JFQkFTRUxJTkUgc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgcnVubmluZyByZWJhc2Vs
aW5lLnB5LiBDYW5ub3QgYmUgY2hlY2tlZCBpbi4nKQorICAgICAgICBpZiBzZWxmLl9hbGxvd19y
ZWJhc2VsaW5lX21vZGlmaWVyIGFuZCBzZWxmLlJFQkFTRUxJTkVfTU9ESUZJRVIgaW4gZXhwZWN0
YXRpb25fbGluZS5tb2RpZmllcnM6CisgICAgICAgICAgICBleHBlY3RhdGlvbl9saW5lLmVycm9y
cy5hcHBlbmQoJ1JFQkFTRUxJTkUgc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgcnVubmluZyByZWJh
c2VsaW5lLnB5LiBDYW5ub3QgYmUgY2hlY2tlZCBpbi4nKQogCi0gICAgZGVmIF9jaGVja19vcHRp
b25zX2FnYWluc3RfZXhwZWN0YXRpb25zKHNlbGYsIGV4cGVjdGF0aW9uKToKLSAgICAgICAgaWYg
J3Nsb3cnIGluIGV4cGVjdGF0aW9uLm1vZGlmaWVycyBhbmQgJ3RpbWVvdXQnIGluIGV4cGVjdGF0
aW9uLmV4cGVjdGF0aW9uczoKLSAgICAgICAgICAgIGV4cGVjdGF0aW9uLmVycm9ycy5hcHBlbmQo
J0EgdGVzdCBjYW4gbm90IGJlIGJvdGggU0xPVyBhbmQgVElNRU9VVC4gSWYgaXQgdGltZXMgb3V0
IGluZGVmaW5pdGVseSwgdGhlbiBpdCBzaG91bGQgYmUganVzdCBUSU1FT1VULicpCisgICAgZGVm
IF9jaGVja19tb2RpZmllcnNfYWdhaW5zdF9leHBlY3RhdGlvbnMoc2VsZiwgZXhwZWN0YXRpb25f
bGluZSk6CisgICAgICAgIGlmIHNlbGYuU0xPV19NT0RJRklFUiBpbiBleHBlY3RhdGlvbl9saW5l
Lm1vZGlmaWVycyBhbmQgc2VsZi5USU1FT1VUX0VYUEVDVEFUSU9OIGluIGV4cGVjdGF0aW9uX2xp
bmUuZXhwZWN0YXRpb25zOgorICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBw
ZW5kKCdBIHRlc3QgY2FuIG5vdCBiZSBib3RoIFNMT1cgYW5kIFRJTUVPVVQuIElmIGl0IHRpbWVz
IG91dCBpbmRlZmluaXRlbHksIHRoZW4gaXQgc2hvdWxkIGJlIGp1c3QgVElNRU9VVC4nKQogCi0g
ICAgZGVmIF9jaGVja19wYXRoX2RvZXNfbm90X2V4aXN0KHNlbGYsIGV4cGVjdGF0aW9uKToKKyAg
ICBkZWYgX2NoZWNrX3BhdGhfZG9lc19ub3RfZXhpc3Qoc2VsZiwgZXhwZWN0YXRpb25fbGluZSk6
CiAgICAgICAgICMgV2ViS2l0J3Mgd2F5IG9mIHNraXBwaW5nIHRlc3RzIGlzIHRvIGFkZCBhIC1k
aXNhYmxlZCBzdWZmaXguCiAgICAgICAgICMgU28gd2Ugc2hvdWxkIGNvbnNpZGVyIHRoZSBwYXRo
IGV4aXN0aW5nIGlmIHRoZSBwYXRoIG9yIHRoZQogICAgICAgICAjIC1kaXNhYmxlZCB2ZXJzaW9u
IGV4aXN0cy4KLSAgICAgICAgaWYgKG5vdCBzZWxmLl9wb3J0LnRlc3RfZXhpc3RzKGV4cGVjdGF0
aW9uLm5hbWUpCi0gICAgICAgICAgICBhbmQgbm90IHNlbGYuX3BvcnQudGVzdF9leGlzdHMoZXhw
ZWN0YXRpb24ubmFtZSArICctZGlzYWJsZWQnKSk6CisgICAgICAgIGlmIChub3Qgc2VsZi5fcG9y
dC50ZXN0X2V4aXN0cyhleHBlY3RhdGlvbl9saW5lLm5hbWUpCisgICAgICAgICAgICBhbmQgbm90
IHNlbGYuX3BvcnQudGVzdF9leGlzdHMoZXhwZWN0YXRpb25fbGluZS5uYW1lICsgJy1kaXNhYmxl
ZCcpKToKICAgICAgICAgICAgICMgTG9nIGEgd2FybmluZyBoZXJlIHNpbmNlIHlvdSBoaXQgdGhp
cyBjYXNlIGFueQogICAgICAgICAgICAgIyB0aW1lIHlvdSB1cGRhdGUgdGVzdF9leHBlY3RhdGlv
bnMudHh0IHdpdGhvdXQgc3luY2luZwogICAgICAgICAgICAgIyB0aGUgTGF5b3V0VGVzdHMgZGly
ZWN0b3J5Ci0gICAgICAgICAgICBleHBlY3RhdGlvbi53YXJuaW5ncy5hcHBlbmQoJ1BhdGggZG9l
cyBub3QgZXhpc3QuJykKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUud2FybmluZ3MuYXBw
ZW5kKCdQYXRoIGRvZXMgbm90IGV4aXN0LicpCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAg
ICAgICByZXR1cm4gRmFsc2UKIApAQCAtMjY5LDQxICsyNzUsNDEgQEAgY2xhc3MgVGVzdEV4cGVj
dGF0aW9uUGFyc2VyOgogICAgICAgICBBbnkgZXJyYW50IHdoaXRlc3BhY2UgaXMgbm90IHByZXNl
cnZlZC4KIAogICAgICAgICAiIiIKLSAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRp
b25MaW5lKCkKKyAgICAgICAgZXhwZWN0YXRpb25fbGluZSA9IFRlc3RFeHBlY3RhdGlvbkxpbmUo
KQogICAgICAgICBjb21tZW50X2luZGV4ID0gZXhwZWN0YXRpb25fc3RyaW5nLmZpbmQoIi8vIikK
ICAgICAgICAgaWYgY29tbWVudF9pbmRleCA9PSAtMToKICAgICAgICAgICAgIGNvbW1lbnRfaW5k
ZXggPSBsZW4oZXhwZWN0YXRpb25fc3RyaW5nKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAg
ZXhwZWN0YXRpb24uY29tbWVudCA9IGV4cGVjdGF0aW9uX3N0cmluZ1tjb21tZW50X2luZGV4ICsg
MjpdCisgICAgICAgICAgICBleHBlY3RhdGlvbl9saW5lLmNvbW1lbnQgPSBleHBlY3RhdGlvbl9z
dHJpbmdbY29tbWVudF9pbmRleCArIDI6XQogCiAgICAgICAgIHJlbWFpbmluZ19zdHJpbmcgPSBy
ZS5zdWIociJccysiLCAiICIsIGV4cGVjdGF0aW9uX3N0cmluZ1s6Y29tbWVudF9pbmRleF0uc3Ry
aXAoKSkKICAgICAgICAgaWYgbGVuKHJlbWFpbmluZ19zdHJpbmcpID09IDA6Ci0gICAgICAgICAg
ICByZXR1cm4gZXhwZWN0YXRpb24KKyAgICAgICAgICAgIHJldHVybiBleHBlY3RhdGlvbl9saW5l
CiAKICAgICAgICAgcGFydHMgPSByZW1haW5pbmdfc3RyaW5nLnNwbGl0KCc6JykKICAgICAgICAg
aWYgbGVuKHBhcnRzKSAhPSAyOgotICAgICAgICAgICAgZXhwZWN0YXRpb24uZXJyb3JzLmFwcGVu
ZCgiTWlzc2luZyBhICc6JyIgaWYgbGVuKHBhcnRzKSA8IDIgZWxzZSAiRXh0cmFuZW91cyAnOici
KQorICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBwZW5kKCJNaXNzaW5nIGEg
JzonIiBpZiBsZW4ocGFydHMpIDwgMiBlbHNlICJFeHRyYW5lb3VzICc6JyIpCiAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICB0ZXN0X2FuZF9leHBlY3RhdGlvbiA9IHBhcnRzWzFdLnNwbGl0KCc9
JykKICAgICAgICAgICAgIGlmIGxlbih0ZXN0X2FuZF9leHBlY3RhdGlvbikgIT0gMjoKLSAgICAg
ICAgICAgICAgICBleHBlY3RhdGlvbi5lcnJvcnMuYXBwZW5kKCJNaXNzaW5nIGV4cGVjdGF0aW9u
cyIgaWYgbGVuKHRlc3RfYW5kX2V4cGVjdGF0aW9uKSA8IDIgZWxzZSAiRXh0cmFuZW91cyAnPSci
KQorICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUuZXJyb3JzLmFwcGVuZCgiTWlzc2lu
ZyBleHBlY3RhdGlvbnMiIGlmIGxlbih0ZXN0X2FuZF9leHBlY3RhdGlvbikgPCAyIGVsc2UgIkV4
dHJhbmVvdXMgJz0nIikKIAotICAgICAgICBpZiBleHBlY3RhdGlvbi5pc19tYWxmb3JtZWQoKToK
LSAgICAgICAgICAgIGV4cGVjdGF0aW9uLmNvbW1lbnQgPSBleHBlY3RhdGlvbl9zdHJpbmcKKyAg
ICAgICAgaWYgZXhwZWN0YXRpb25fbGluZS5pc19tYWxmb3JtZWQoKToKKyAgICAgICAgICAgIGV4
cGVjdGF0aW9uX2xpbmUuY29tbWVudCA9IGV4cGVjdGF0aW9uX3N0cmluZwogICAgICAgICBlbHNl
OgotICAgICAgICAgICAgZXhwZWN0YXRpb24ubW9kaWZpZXJzID0gY2xzLl9zcGxpdF9zcGFjZV9z
ZXBhcmF0ZWQocGFydHNbMF0pCi0gICAgICAgICAgICBleHBlY3RhdGlvbi5uYW1lID0gdGVzdF9h
bmRfZXhwZWN0YXRpb25bMF0uc3RyaXAoKQotICAgICAgICAgICAgZXhwZWN0YXRpb24uZXhwZWN0
YXRpb25zID0gY2xzLl9zcGxpdF9zcGFjZV9zZXBhcmF0ZWQodGVzdF9hbmRfZXhwZWN0YXRpb25b
MV0pCisgICAgICAgICAgICBleHBlY3RhdGlvbl9saW5lLm1vZGlmaWVycyA9IGNscy5fc3BsaXRf
c3BhY2Vfc2VwYXJhdGVkKHBhcnRzWzBdKQorICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5u
YW1lID0gdGVzdF9hbmRfZXhwZWN0YXRpb25bMF0uc3RyaXAoKQorICAgICAgICAgICAgZXhwZWN0
YXRpb25fbGluZS5leHBlY3RhdGlvbnMgPSBjbHMuX3NwbGl0X3NwYWNlX3NlcGFyYXRlZCh0ZXN0
X2FuZF9leHBlY3RhdGlvblsxXSkKIAotICAgICAgICByZXR1cm4gZXhwZWN0YXRpb24KKyAgICAg
ICAgcmV0dXJuIGV4cGVjdGF0aW9uX2xpbmUKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiB0
b2tlbml6ZV9saXN0KGNscywgZXhwZWN0YXRpb25zX3N0cmluZyk6CiAgICAgICAgICIiIlJldHVy
bnMgYSBsaXN0IG9mIFRlc3RFeHBlY3RhdGlvbkxpbmVzLCBvbmUgZm9yIGVhY2ggbGluZSBpbiBl
eHBlY3RhdGlvbnNfc3RyaW5nLiIiIgotICAgICAgICBleHBlY3RhdGlvbnMgPSBbXQorICAgICAg
ICBleHBlY3RhdGlvbl9saW5lcyA9IFtdCiAgICAgICAgIGZvciBsaW5lIGluIGV4cGVjdGF0aW9u
c19zdHJpbmcuc3BsaXQoIlxuIik6Ci0gICAgICAgICAgICBleHBlY3RhdGlvbnMuYXBwZW5kKGNs
cy50b2tlbml6ZShsaW5lKSkKLSAgICAgICAgcmV0dXJuIGV4cGVjdGF0aW9ucworICAgICAgICAg
ICAgZXhwZWN0YXRpb25fbGluZXMuYXBwZW5kKGNscy50b2tlbml6ZShsaW5lKSkKKyAgICAgICAg
cmV0dXJuIGV4cGVjdGF0aW9uX2xpbmVzCiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX3Nw
bGl0X3NwYWNlX3NlcGFyYXRlZChjbHMsIHNwYWNlX3NlcGFyYXRlZF9zdHJpbmcpOgpAQCAtMzQ1
LDExICszNTEsNyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zTW9kZWw6CiAgICAgICAgICMgTWFw
cyBhIHRlc3QgdG8gaXRzIGxpc3Qgb2YgZXhwZWN0YXRpb25zLgogICAgICAgICBzZWxmLl90ZXN0
X3RvX2V4cGVjdGF0aW9ucyA9IHt9CiAKLSAgICAgICAgIyBNYXBzIGEgdGVzdCB0byBpdHMgbGlz
dCBvZiBvcHRpb25zIChzdHJpbmcgdmFsdWVzKQotICAgICAgICBzZWxmLl90ZXN0X3RvX29wdGlv
bnMgPSB7fQotCi0gICAgICAgICMgTWFwcyBhIHRlc3QgdG8gaXRzIGxpc3Qgb2YgbW9kaWZpZXJz
OiB0aGUgY29uc3RhbnRzIGFzc29jaWF0ZWQgd2l0aAotICAgICAgICAjIHRoZSBvcHRpb25zIG1p
bnVzIGFueSBidWcgb3IgcGxhdGZvcm0gc3RyaW5ncworICAgICAgICAjIE1hcHMgYSB0ZXN0IHRv
IGxpc3Qgb2YgaXRzIG1vZGlmaWVycyAoc3RyaW5nIHZhbHVlcykKICAgICAgICAgc2VsZi5fdGVz
dF90b19tb2RpZmllcnMgPSB7fQogCiAgICAgICAgICMgTWFwcyBhIHRlc3QgdG8gdGhlIGJhc2Ug
cGF0aCB0aGF0IGl0IHdhcyBsaXN0ZWQgd2l0aCBpbiB0aGUgbGlzdCBhbmQKQEAgLTM5NCwxMSAr
Mzk2LDkgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgIGRlZiBnZXRfdGVzdHNf
d2l0aF90aW1lbGluZShzZWxmLCB0aW1lbGluZSk6CiAgICAgICAgIHJldHVybiBzZWxmLl90aW1l
bGluZV90b190ZXN0c1t0aW1lbGluZV0KIAotICAgIGRlZiBnZXRfb3B0aW9ucyhzZWxmLCB0ZXN0
KToKLSAgICAgICAgIiIiVGhpcyByZXR1cm5zIHRoZSBlbnRpcmUgc2V0IG9mIG9wdGlvbnMgZm9y
IHRoZSBnaXZlbiB0ZXN0Ci0gICAgICAgICh0aGUgbW9kaWZpZXJzIHBsdXMgdGhlIEJVR1hYWFgg
aWRlbnRpZmllcikuIFRoaXMgaXMgdXNlZCBieSB0aGUKLSAgICAgICAgTFRURiBkYXNoYm9hcmQu
IiIiCi0gICAgICAgIHJldHVybiBzZWxmLl90ZXN0X3RvX29wdGlvbnNbdGVzdF0KKyAgICBkZWYg
Z2V0X21vZGlmaWVycyhzZWxmLCB0ZXN0KToKKyAgICAgICAgIiIiVGhpcyByZXR1cm5zIG1vZGlm
aWVycyBmb3IgdGhlIGdpdmVuIHRlc3QgKHRoZSBtb2RpZmllcnMgcGx1cyB0aGUgQlVHWFhYWCBp
ZGVudGlmaWVyKS4gVGhpcyBpcyB1c2VkIGJ5IHRoZSBMVFRGIGRhc2hib2FyZC4iIiIKKyAgICAg
ICAgcmV0dXJuIHNlbGYuX3Rlc3RfdG9fbW9kaWZpZXJzW3Rlc3RdCiAKICAgICBkZWYgaGFzX21v
ZGlmaWVyKHNlbGYsIHRlc3QsIG1vZGlmaWVyKToKICAgICAgICAgcmV0dXJuIHRlc3QgaW4gc2Vs
Zi5fbW9kaWZpZXJfdG9fdGVzdHNbbW9kaWZpZXJdCkBAIC00MDksMTkgKzQwOSwxOSBAQCBjbGFz
cyBUZXN0RXhwZWN0YXRpb25zTW9kZWw6CiAgICAgZGVmIGdldF9leHBlY3RhdGlvbnMoc2VsZiwg
dGVzdCk6CiAgICAgICAgIHJldHVybiBzZWxmLl90ZXN0X3RvX2V4cGVjdGF0aW9uc1t0ZXN0XQog
Ci0gICAgZGVmIGFkZF90ZXN0cyhzZWxmLCBsaW5lbm8sIGV4cGVjdGF0aW9uLCBvdmVycmlkZXNf
YWxsb3dlZCk6CisgICAgZGVmIGFkZF90ZXN0cyhzZWxmLCBsaW5lbm8sIGV4cGVjdGF0aW9uX2xp
bmUsIG92ZXJyaWRlc19hbGxvd2VkKToKICAgICAgICAgIiIiUmV0dXJucyBhIGxpc3Qgb2YgZXJy
b3JzLCBlbmNvdW50ZXJlZCB3aGlsZSBtYXRjaGluZyBtb2RpZmllcnMuIiIiCiAKLSAgICAgICAg
aWYgZXhwZWN0YXRpb24uaXNfaW52YWxpZCgpOgorICAgICAgICBpZiBleHBlY3RhdGlvbl9saW5l
LmlzX2ludmFsaWQoKToKICAgICAgICAgICAgIHJldHVybgogCi0gICAgICAgIGZvciB0ZXN0IGlu
IGV4cGVjdGF0aW9uLm1hdGNoaW5nX3Rlc3RzOgotICAgICAgICAgICAgaWYgc2VsZi5fYWxyZWFk
eV9zZWVuX2JldHRlcl9tYXRjaCh0ZXN0LCBleHBlY3RhdGlvbiwgbGluZW5vLCBvdmVycmlkZXNf
YWxsb3dlZCk6CisgICAgICAgIGZvciB0ZXN0IGluIGV4cGVjdGF0aW9uX2xpbmUubWF0Y2hpbmdf
dGVzdHM6CisgICAgICAgICAgICBpZiBzZWxmLl9hbHJlYWR5X3NlZW5fYmV0dGVyX21hdGNoKHRl
c3QsIGV4cGVjdGF0aW9uX2xpbmUsIGxpbmVubywgb3ZlcnJpZGVzX2FsbG93ZWQpOgogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgICAgIHNlbGYuX2NsZWFyX2V4cGVjdGF0aW9u
c19mb3JfdGVzdCh0ZXN0LCBleHBlY3RhdGlvbi5uYW1lKQotICAgICAgICAgICAgc2VsZi5fdGVz
dF9saXN0X3BhdGhzW3Rlc3RdID0gKHNlbGYuX3BvcnQubm9ybWFsaXplX3Rlc3RfbmFtZShleHBl
Y3RhdGlvbi5uYW1lKSwgZXhwZWN0YXRpb24ubnVtX21hdGNoZXMsIGxpbmVubykKLSAgICAgICAg
ICAgIHNlbGYuYWRkX3Rlc3QodGVzdCwgZXhwZWN0YXRpb24sIG92ZXJyaWRlc19hbGxvd2VkKQor
ICAgICAgICAgICAgc2VsZi5fY2xlYXJfZXhwZWN0YXRpb25zX2Zvcl90ZXN0KHRlc3QsIGV4cGVj
dGF0aW9uX2xpbmUubmFtZSkKKyAgICAgICAgICAgIHNlbGYuX3Rlc3RfbGlzdF9wYXRoc1t0ZXN0
XSA9IChzZWxmLl9wb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUoZXhwZWN0YXRpb25fbGluZS5uYW1l
KSwgZXhwZWN0YXRpb25fbGluZS5udW1fbWF0Y2hlcywgbGluZW5vKQorICAgICAgICAgICAgc2Vs
Zi5hZGRfdGVzdCh0ZXN0LCBleHBlY3RhdGlvbl9saW5lLCBvdmVycmlkZXNfYWxsb3dlZCkKIAog
ICAgIGRlZiBhZGRfdGVzdChzZWxmLCB0ZXN0LCBleHBlY3RhdGlvbl9saW5lLCBvdmVycmlkZXNf
YWxsb3dlZCk6CiAgICAgICAgICIiIlNldHMgdGhlIGV4cGVjdGVkIHN0YXRlIGZvciBhIGdpdmVu
IHRlc3QuCkBAIC00MzksMTkgKzQzOSwxNyBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zTW9kZWw6
CiAgICAgICAgIGZvciBleHBlY3RhdGlvbiBpbiBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9leHBl
Y3RhdGlvbnM6CiAgICAgICAgICAgICBzZWxmLl9leHBlY3RhdGlvbl90b190ZXN0c1tleHBlY3Rh
dGlvbl0uYWRkKHRlc3QpCiAKLSAgICAgICAgc2VsZi5fdGVzdF90b19vcHRpb25zW3Rlc3RdID0g
ZXhwZWN0YXRpb25fbGluZS5tb2RpZmllcnMKLSAgICAgICAgc2VsZi5fdGVzdF90b19tb2RpZmll
cnNbdGVzdF0gPSBzZXQoKQorICAgICAgICBzZWxmLl90ZXN0X3RvX21vZGlmaWVyc1t0ZXN0XSA9
IGV4cGVjdGF0aW9uX2xpbmUubW9kaWZpZXJzCiAgICAgICAgIGZvciBtb2RpZmllciBpbiBleHBl
Y3RhdGlvbl9saW5lLnBhcnNlZF9tb2RpZmllcnM6CiAgICAgICAgICAgICBtb2RfdmFsdWUgPSBU
ZXN0RXhwZWN0YXRpb25zLk1PRElGSUVSU1ttb2RpZmllcl0KICAgICAgICAgICAgIHNlbGYuX21v
ZGlmaWVyX3RvX3Rlc3RzW21vZF92YWx1ZV0uYWRkKHRlc3QpCi0gICAgICAgICAgICBzZWxmLl90
ZXN0X3RvX21vZGlmaWVyc1t0ZXN0XS5hZGQobW9kX3ZhbHVlKQogCi0gICAgICAgIGlmICd3b250
Zml4JyBpbiBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9tb2RpZmllcnM6CisgICAgICAgIGlmIFRl
c3RFeHBlY3RhdGlvblBhcnNlci5XT05URklYX01PRElGSUVSIGluIGV4cGVjdGF0aW9uX2xpbmUu
cGFyc2VkX21vZGlmaWVyczoKICAgICAgICAgICAgIHNlbGYuX3RpbWVsaW5lX3RvX3Rlc3RzW1dP
TlRGSVhdLmFkZCh0ZXN0KQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5fdGltZWxp
bmVfdG9fdGVzdHNbTk9XXS5hZGQodGVzdCkKIAotICAgICAgICBpZiAnc2tpcCcgaW4gZXhwZWN0
YXRpb25fbGluZS5wYXJzZWRfbW9kaWZpZXJzOgorICAgICAgICBpZiBUZXN0RXhwZWN0YXRpb25Q
YXJzZXIuU0tJUF9NT0RJRklFUiBpbiBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9tb2RpZmllcnM6
CiAgICAgICAgICAgICBzZWxmLl9yZXN1bHRfdHlwZV90b190ZXN0c1tTS0lQXS5hZGQodGVzdCkK
ICAgICAgICAgZWxpZiBleHBlY3RhdGlvbl9saW5lLnBhcnNlZF9leHBlY3RhdGlvbnMgPT0gc2V0
KFtQQVNTXSk6CiAgICAgICAgICAgICBzZWxmLl9yZXN1bHRfdHlwZV90b190ZXN0c1tQQVNTXS5h
ZGQodGVzdCkKQEAgLTQ4NywxMCArNDg1LDEwIEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnNNb2Rl
bDoKICAgICAgICAgICAgIGlmIHRlc3QgaW4gc2V0X29mX3Rlc3RzOgogICAgICAgICAgICAgICAg
IHNldF9vZl90ZXN0cy5yZW1vdmUodGVzdCkKIAotICAgIGRlZiBfYWxyZWFkeV9zZWVuX2JldHRl
cl9tYXRjaChzZWxmLCB0ZXN0LCBleHBlY3RhdGlvbiwgbGluZW5vLCBvdmVycmlkZXNfYWxsb3dl
ZCk6CisgICAgZGVmIF9hbHJlYWR5X3NlZW5fYmV0dGVyX21hdGNoKHNlbGYsIHRlc3QsIGV4cGVj
dGF0aW9uX2xpbmUsIGxpbmVubywgb3ZlcnJpZGVzX2FsbG93ZWQpOgogICAgICAgICAiIiJSZXR1
cm5zIHdoZXRoZXIgd2UndmUgc2VlbiBhIGJldHRlciBtYXRjaCBhbHJlYWR5IGluIHRoZSBmaWxl
LgogCi0gICAgICAgIFJldHVybnMgVHJ1ZSBpZiB3ZSd2ZSBhbHJlYWR5IHNlZW4gYSBleHBlY3Rh
dGlvbi5uYW1lIHRoYXQgbWF0Y2hlcyBtb3JlIG9mIHRoZSB0ZXN0CisgICAgICAgIFJldHVybnMg
VHJ1ZSBpZiB3ZSd2ZSBhbHJlYWR5IHNlZW4gYSBleHBlY3RhdGlvbl9saW5lLm5hbWUgdGhhdCBt
YXRjaGVzIG1vcmUgb2YgdGhlIHRlc3QKICAgICAgICAgICAgIHRoYW4gdGhpcyBwYXRoIGRvZXMK
ICAgICAgICAgIiIiCiAgICAgICAgICMgRklYTUU6IFNlZSBjb21tZW50IGJlbG93IGFib3V0IG1h
dGNoaW5nIHRlc3QgY29uZmlncyBhbmQgbnVtX21hdGNoZXMuCkBAIC00OTksNyArNDk3LDcgQEAg
Y2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAK
ICAgICAgICAgcHJldl9iYXNlX3BhdGgsIHByZXZfbnVtX21hdGNoZXMsIHByZXZfbGluZW5vID0g
c2VsZi5fdGVzdF9saXN0X3BhdGhzW3Rlc3RdCi0gICAgICAgIGJhc2VfcGF0aCA9IHNlbGYuX3Bv
cnQubm9ybWFsaXplX3Rlc3RfbmFtZShleHBlY3RhdGlvbi5uYW1lKQorICAgICAgICBiYXNlX3Bh
dGggPSBzZWxmLl9wb3J0Lm5vcm1hbGl6ZV90ZXN0X25hbWUoZXhwZWN0YXRpb25fbGluZS5uYW1l
KQogCiAgICAgICAgIGlmIGxlbihwcmV2X2Jhc2VfcGF0aCkgPiBsZW4oYmFzZV9wYXRoKToKICAg
ICAgICAgICAgICMgVGhlIHByZXZpb3VzIHBhdGggbWF0Y2hlZCBtb3JlIG9mIHRoZSB0ZXN0LgpA
QCAtNTMyLDE2ICs1MzAsMTYgQEAgY2xhc3MgVGVzdEV4cGVjdGF0aW9uc01vZGVsOgogICAgICAg
ICAjIFRvIHVzZSB0aGUgIm1vcmUgbW9kaWZpZXJzIHdpbnMiIHBvbGljeSwgY2hhbmdlIHRoZSBl
cnJvcnMgZm9yIG92ZXJyaWRlcwogICAgICAgICAjIHRvIGJlIHdhcm5pbmdzIGFuZCByZXR1cm4g
RmFsc2UiLgogCi0gICAgICAgIGlmIHByZXZfbnVtX21hdGNoZXMgPT0gZXhwZWN0YXRpb24ubnVt
X21hdGNoZXM6Ci0gICAgICAgICAgICBleHBlY3RhdGlvbi5lcnJvcnMuYXBwZW5kKCdEdXBsaWNh
dGUgb3IgYW1iaWd1b3VzICVzLicgJSBleHBlY3RhdGlvbl9zb3VyY2UpCisgICAgICAgIGlmIHBy
ZXZfbnVtX21hdGNoZXMgPT0gZXhwZWN0YXRpb25fbGluZS5udW1fbWF0Y2hlczoKKyAgICAgICAg
ICAgIGV4cGVjdGF0aW9uX2xpbmUuZXJyb3JzLmFwcGVuZCgnRHVwbGljYXRlIG9yIGFtYmlndW91
cyAlcy4nICUgZXhwZWN0YXRpb25fc291cmNlKQogICAgICAgICAgICAgcmV0dXJuIFRydWUKIAot
ICAgICAgICBpZiBwcmV2X251bV9tYXRjaGVzIDwgZXhwZWN0YXRpb24ubnVtX21hdGNoZXM6Ci0g
ICAgICAgICAgICBleHBlY3RhdGlvbi5lcnJvcnMuYXBwZW5kKCdNb3JlIHNwZWNpZmljIGVudHJ5
IG9uIGxpbmUgJWQgb3ZlcnJpZGVzIGxpbmUgJWQnICUgKGxpbmVubywgcHJldl9saW5lbm8pKQor
ICAgICAgICBpZiBwcmV2X251bV9tYXRjaGVzIDwgZXhwZWN0YXRpb25fbGluZS5udW1fbWF0Y2hl
czoKKyAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUuZXJyb3JzLmFwcGVuZCgnTW9yZSBzcGVj
aWZpYyBlbnRyeSBvbiBsaW5lICVkIG92ZXJyaWRlcyBsaW5lICVkJyAlIChsaW5lbm8sIHByZXZf
bGluZW5vKSkKICAgICAgICAgICAgICMgRklYTUU6IHJldHVybiBGYWxzZSBpZiB3ZSB3YW50IG1v
cmUgc3BlY2lmaWMgdG8gd2luLgogICAgICAgICAgICAgcmV0dXJuIFRydWUKIAotICAgICAgICBl
eHBlY3RhdGlvbi5lcnJvcnMuYXBwZW5kKCdNb3JlIHNwZWNpZmljIGVudHJ5IG9uIGxpbmUgJWQg
b3ZlcnJpZGVzIGxpbmUgJWQnICUgKHByZXZfbGluZW5vLCBsaW5lbm8pKQorICAgICAgICBleHBl
Y3RhdGlvbl9saW5lLmVycm9ycy5hcHBlbmQoJ01vcmUgc3BlY2lmaWMgZW50cnkgb24gbGluZSAl
ZCBvdmVycmlkZXMgbGluZSAlZCcgJSAocHJldl9saW5lbm8sIGxpbmVubykpCiAgICAgICAgIHJl
dHVybiBUcnVlCiAKIApAQCAtNTU2LDcgKzU1NCw3IEBAIGNsYXNzIFRlc3RFeHBlY3RhdGlvbnM6
CiAgICAgICBMYXlvdXRUZXN0cy9mYXN0L2pzL2NyYXNoLmpzID0gQ1JBU0ggVElNRU9VVCBGQUlM
IFBBU1MKICAgICAgIC4uLgogCi0gICAgVG8gYWRkIG90aGVyIG9wdGlvbnM6CisgICAgVG8gYWRk
IG1vZGlmaWVyczoKICAgICAgIFNLSVAgOiBMYXlvdXRUZXN0cy9mYXN0L2pzL25vLWdvb2QuanMg
PSBUSU1FT1VUIFBBU1MKICAgICAgIERFQlVHIDogTGF5b3V0VGVzdHMvZmFzdC9qcy9uby1nb29k
LmpzID0gVElNRU9VVCBQQVNTCiAgICAgICBERUJVRyBTS0lQIDogTGF5b3V0VGVzdHMvZmFzdC9q
cy9uby1nb29kLmpzID0gVElNRU9VVCBQQVNTCkBAIC02MTAsMTMgKzYwOCwxMyBAQCBjbGFzcyBU
ZXN0RXhwZWN0YXRpb25zOgogCiAgICAgQlVJTERfVFlQRVMgPSAoJ2RlYnVnJywgJ3JlbGVhc2Un
KQogCi0gICAgTU9ESUZJRVJTID0geydza2lwJzogU0tJUCwKLSAgICAgICAgICAgICAgICAgJ3dv
bnRmaXgnOiBXT05URklYLAotICAgICAgICAgICAgICAgICAnc2xvdyc6IFNMT1csCi0gICAgICAg
ICAgICAgICAgICdyZWJhc2VsaW5lJzogUkVCQVNFTElORSwKKyAgICBNT0RJRklFUlMgPSB7VGVz
dEV4cGVjdGF0aW9uUGFyc2VyLlNLSVBfTU9ESUZJRVI6IFNLSVAsCisgICAgICAgICAgICAgICAg
IFRlc3RFeHBlY3RhdGlvblBhcnNlci5XT05URklYX01PRElGSUVSOiBXT05URklYLAorICAgICAg
ICAgICAgICAgICBUZXN0RXhwZWN0YXRpb25QYXJzZXIuU0xPV19NT0RJRklFUjogU0xPVywKKyAg
ICAgICAgICAgICAgICAgVGVzdEV4cGVjdGF0aW9uUGFyc2VyLlJFQkFTRUxJTkVfTU9ESUZJRVI6
IFJFQkFTRUxJTkUsCiAgICAgICAgICAgICAgICAgICdub25lJzogTk9ORX0KIAotICAgIFRJTUVM
SU5FUyA9IHsnd29udGZpeCc6IFdPTlRGSVgsCisgICAgVElNRUxJTkVTID0ge1Rlc3RFeHBlY3Rh
dGlvblBhcnNlci5XT05URklYX01PRElGSUVSOiBXT05URklYLAogICAgICAgICAgICAgICAgICAn
bm93JzogTk9XfQogCiAgICAgUkVTVUxUX1RZUEVTID0geydza2lwJzogU0tJUCwKQEAgLTY5OCw4
ICs2OTYsOCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zOgogICAgICAgICByZXR1cm4gc2VsZi5f
bW9kZWwuZ2V0X3Rlc3Rfc2V0KG1vZGlmaWVyLCBleHBlY3RhdGlvbiwgaW5jbHVkZV9za2lwcykK
IAogICAgICMgRklYTUU6IENoYW5nZSB0aGUgY2FsbHNpdGVzIHRvIHVzZSBUZXN0RXhwZWN0YXRp
b25zTW9kZWwgYW5kIHJlbW92ZS4KLSAgICBkZWYgZ2V0X29wdGlvbnMoc2VsZiwgdGVzdCk6Ci0g
ICAgICAgIHJldHVybiBzZWxmLl9tb2RlbC5nZXRfb3B0aW9ucyh0ZXN0KQorICAgIGRlZiBnZXRf
bW9kaWZpZXJzKHNlbGYsIHRlc3QpOgorICAgICAgICByZXR1cm4gc2VsZi5fbW9kZWwuZ2V0X21v
ZGlmaWVycyh0ZXN0KQogCiAgICAgIyBGSVhNRTogQ2hhbmdlIHRoZSBjYWxsc2l0ZXMgdG8gdXNl
IFRlc3RFeHBlY3RhdGlvbnNNb2RlbCBhbmQgcmVtb3ZlLgogICAgIGRlZiBnZXRfdGVzdHNfd2l0
aF90aW1lbGluZShzZWxmLCB0aW1lbGluZSk6CkBAIC03ODIsMTEgKzc4MCwxMSBAQCBjbGFzcyBU
ZXN0RXhwZWN0YXRpb25zOgogCiAgICAgICAgIHJldHVybiBUZXN0RXhwZWN0YXRpb25TZXJpYWxp
emVyLmxpc3RfdG9fc3RyaW5nKGZpbHRlcih3aXRob3V0X3JlYmFzZWxpbmVfbW9kaWZpZXIsIHNl
bGYuX2V4cGVjdGF0aW9ucykpCiAKLSAgICBkZWYgX2FkZF90b19hbGxfZXhwZWN0YXRpb25zKHNl
bGYsIHRlc3QsIG9wdGlvbnMsIGV4cGVjdGF0aW9ucyk6CisgICAgZGVmIF9hZGRfdG9fYWxsX2V4
cGVjdGF0aW9ucyhzZWxmLCB0ZXN0LCBtb2RpZmllcnMsIGV4cGVjdGF0aW9ucyk6CiAgICAgICAg
IGlmIG5vdCB0ZXN0IGluIHNlbGYuX2FsbF9leHBlY3RhdGlvbnM6CiAgICAgICAgICAgICBzZWxm
Ll9hbGxfZXhwZWN0YXRpb25zW3Rlc3RdID0gW10KICAgICAgICAgc2VsZi5fYWxsX2V4cGVjdGF0
aW9uc1t0ZXN0XS5hcHBlbmQoCi0gICAgICAgICAgICBNb2RpZmllcnNBbmRFeHBlY3RhdGlvbnMo
b3B0aW9ucywgZXhwZWN0YXRpb25zKSkKKyAgICAgICAgICAgIE1vZGlmaWVyc0FuZEV4cGVjdGF0
aW9ucyhtb2RpZmllcnMsIGV4cGVjdGF0aW9ucykpCiAKICAgICBkZWYgX2FkZF9leHBlY3RhdGlv
bnMoc2VsZiwgZXhwZWN0YXRpb25fbGlzdCwgb3ZlcnJpZGVzX2FsbG93ZWQpOgogICAgICAgICBm
b3IgbGluZW5vLCBleHBlY3RhdGlvbiBpbiBlbnVtZXJhdGUoZXhwZWN0YXRpb25fbGlzdCwgc3Rh
cnQ9MSk6CkBAIC04MDQsMTAgKzgwMiwxMCBAQCBjbGFzcyBUZXN0RXhwZWN0YXRpb25zOgogCiAK
IGNsYXNzIE1vZGlmaWVyTWF0Y2hSZXN1bHQob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2Vs
Ziwgb3B0aW9ucyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1vZGlmaWVycyk6CiAgICAgICAg
IHNlbGYubnVtX21hdGNoZXMgPSBNb2RpZmllck1hdGNoZXIuTk9fTUFUQ0gKLSAgICAgICAgc2Vs
Zi5vcHRpb25zID0gb3B0aW9ucwotICAgICAgICBzZWxmLm1vZGlmaWVycyA9IFtdCisgICAgICAg
IHNlbGYuX21vZGlmaWVycyA9IG1vZGlmaWVycworICAgICAgICBzZWxmLl9tYXRjaGVkX21vZGlm
aWVycyA9IFtdCiAgICAgICAgIHNlbGYuX21hdGNoZWRfcmVnZXhlcyA9IHNldCgpCiAgICAgICAg
IHNlbGYuX21hdGNoZWRfbWFjcm9zID0gc2V0KCkKIApAQCAtODYyLDcgKzg2MCw3IEBAIGNsYXNz
IE1vZGlmaWVyTWF0Y2hlcihvYmplY3QpOgogICAgICAgICAgICAgICAgICAgICAgICAgIFRlc3RF
eHBlY3RhdGlvbnMuTU9ESUZJRVJTLmtleXMoKVs6LTFdKQogICAgIERVUExJQ0FURV9SRUdFWEVT
X0FMTE9XRUQgPSBbJ2J1Z1x3KyddCiAKLSAgICAjIE1hZ2ljIHZhbHVlIHJldHVybmVkIHdoZW4g
dGhlIG9wdGlvbnMgZG9uJ3QgbWF0Y2guCisgICAgIyBNYWdpYyB2YWx1ZSByZXR1cm5lZCB3aGVu
IHRoZSBtb2RpZmllcnMgZG9uJ3QgbWF0Y2guCiAgICAgTk9fTUFUQ0ggPSAtMQogCiAgICAgIyBG
SVhNRTogVGhlIGNvZGUgY3VycmVudGx5IGRvZXNuJ3QgZGV0ZWN0IGNvbWJpbmF0aW9ucyBvZiBt
b2RpZmllcnMKQEAgLTg5MSw3OSArODg5LDc1IEBAIGNsYXNzIE1vZGlmaWVyTWF0Y2hlcihvYmpl
Y3QpOgogICAgICAgICAgICAgICAgIHNlbGYuX2NhdGVnb3JpZXNfZm9yX21vZGlmaWVyc1ttb2Rp
Zmllcl0gPSBjYXRlZ29yeQogICAgICAgICAgICAgICAgIHNlbGYuX2FsbF9tb2RpZmllcnMuYWRk
KG1vZGlmaWVyKQogCi0gICAgZGVmIG1hdGNoKHNlbGYsIGV4cGVjdGF0aW9uKToKKyAgICBkZWYg
bWF0Y2goc2VsZiwgZXhwZWN0YXRpb25fbGluZSk6CiAgICAgICAgICIiIkNoZWNrcyBhIGV4cGVj
dGF0aW9uLm1vZGlmaWVycyBhZ2FpbnN0IHRoZSBjb25maWcgc2V0IGluIHRoZSBjb25zdHJ1Y3Rv
ci4KICAgICAgICAgT3B0aW9ucyBtYXkgYmUgZWl0aGVyIGFjdHVhbCBtb2RpZmllciBzdHJpbmdz
LCAibWFjcm8iIHN0cmluZ3MKICAgICAgICAgdGhhdCBnZXQgZXhwYW5kZWQgdG8gYSBsaXN0IG9m
IG1vZGlmaWVycywgb3Igc3RyaW5ncyB0aGF0IGFyZSBhbGxvd2VkCi0gICAgICAgIHRvIGJlIGln
bm9yZWQuIEFsbCBvZiB0aGUgb3B0aW9ucyBtdXN0IGJlIHBhc3NlZCBpbiBpbiBsb3dlciBjYXNl
LgorICAgICAgICB0byBiZSBpZ25vcmVkLiBBbGwgb2YgdGhlIG1vZGlmaWVycyBtdXN0IGJlIHBh
c3NlZCBpbiBpbiBsb3dlciBjYXNlLgogCiAgICAgICAgIFJldHVybnMgdGhlIG51bWJlciBvZiBt
YXRjaGluZyBjYXRlZ29yaWVzLCBvciBOT19NQVRDSCAoLTEpIGlmIGl0CiAgICAgICAgIGRvZXNu
J3QgbWF0Y2ggb3IgdGhlcmUgd2VyZSBlcnJvcnMgZm91bmQuIE1hdGNoZXMgYXJlIHByaW9yaXRp
emVkCiAgICAgICAgIGJ5IHRoZSBudW1iZXIgb2YgbWF0Y2hpbmcgY2F0ZWdvcmllcywgYmVjYXVz
ZSB0aGUgbW9yZSBzcGVjaWZpYwotICAgICAgICB0aGUgb3B0aW9ucyBsaXN0LCB0aGUgbW9yZSBj
YXRlZ29yaWVzIHdpbGwgbWF0Y2guCi0KLSAgICAgICAgVGhlIHJlc3VsdHMgb2YgdGhlIG1vc3Qg
cmVjZW50IG1hdGNoIGFyZSBhdmFpbGFibGUgaW4gdGhlICdvcHRpb25zJywKLSAgICAgICAgJ21v
ZGlmaWVycycsICdudW1fbWF0Y2hlcycsICdlcnJvcnMnLCBhbmQgJ3dhcm5pbmdzJyBwcm9wZXJ0
aWVzLgorICAgICAgICB0aGUgbW9kaWZpZXIgbGlzdCwgdGhlIG1vcmUgY2F0ZWdvcmllcyB3aWxs
IG1hdGNoLgogICAgICAgICAiIiIKLSAgICAgICAgb2xkX2Vycm9yX2NvdW50ID0gbGVuKGV4cGVj
dGF0aW9uLmVycm9ycykKLSAgICAgICAgcmVzdWx0ID0gTW9kaWZpZXJNYXRjaFJlc3VsdChleHBl
Y3RhdGlvbi5tb2RpZmllcnMpCi0gICAgICAgIHNlbGYuX3BhcnNlKGV4cGVjdGF0aW9uLCByZXN1
bHQpCi0gICAgICAgIGlmIG9sZF9lcnJvcl9jb3VudCAhPSBsZW4oZXhwZWN0YXRpb24uZXJyb3Jz
KToKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQKLSAgICAgICAgc2VsZi5fY291bnRfbWF0Y2hl
cyhyZXN1bHQpCi0gICAgICAgIHJldHVybiByZXN1bHQKLQotICAgIGRlZiBfcGFyc2Uoc2VsZiwg
ZXhwZWN0YXRpb24sIHJlc3VsdCk6CisgICAgICAgIG9sZF9lcnJvcl9jb3VudCA9IGxlbihleHBl
Y3RhdGlvbl9saW5lLmVycm9ycykKKyAgICAgICAgcmVzdWx0ID0gTW9kaWZpZXJNYXRjaFJlc3Vs
dChleHBlY3RhdGlvbl9saW5lLm1vZGlmaWVycykKKyAgICAgICAgc2VsZi5fcGFyc2UoZXhwZWN0
YXRpb25fbGluZSwgcmVzdWx0KQorICAgICAgICBpZiBvbGRfZXJyb3JfY291bnQgPT0gbGVuKGV4
cGVjdGF0aW9uX2xpbmUuZXJyb3JzKToKKyAgICAgICAgICAgIHNlbGYuX2NvdW50X21hdGNoZXMo
cmVzdWx0KQorICAgICAgICBleHBlY3RhdGlvbl9saW5lLm51bV9tYXRjaGVzID0gcmVzdWx0Lm51
bV9tYXRjaGVzCisKKyAgICBkZWYgX3BhcnNlKHNlbGYsIGV4cGVjdGF0aW9uX2xpbmUsIHJlc3Vs
dCk6CiAgICAgICAgICMgRklYTUU6IFNob3VsZCB3ZSB3YXJuIGFib3V0IGxpbmVzIGhhdmluZyBl
dmVyeSB2YWx1ZSBpbiBhIGNhdGVnb3J5PwotICAgICAgICBmb3Igb3B0aW9uIGluIHJlc3VsdC5v
cHRpb25zOgotICAgICAgICAgICAgc2VsZi5fcGFyc2Vfb25lKGV4cGVjdGF0aW9uLCBvcHRpb24s
IHJlc3VsdCkKLQotICAgIGRlZiBfcGFyc2Vfb25lKHNlbGYsIGV4cGVjdGF0aW9uLCBvcHRpb24s
IHJlc3VsdCk6Ci0gICAgICAgIGlmIG9wdGlvbiBpbiBzZWxmLl9hbGxfbW9kaWZpZXJzOgotICAg
ICAgICAgICAgc2VsZi5fYWRkX21vZGlmaWVyKGV4cGVjdGF0aW9uLCBvcHRpb24sIHJlc3VsdCkK
LSAgICAgICAgZWxpZiBvcHRpb24gaW4gc2VsZi5tYWNyb3M6Ci0gICAgICAgICAgICBzZWxmLl9l
eHBhbmRfbWFjcm8oZXhwZWN0YXRpb24sIG9wdGlvbiwgcmVzdWx0KQotICAgICAgICBlbGlmIG5v
dCBzZWxmLl9tYXRjaGVzX2FueV9yZWdleChleHBlY3RhdGlvbiwgb3B0aW9uLCByZXN1bHQpOgot
ICAgICAgICAgICAgZXhwZWN0YXRpb24uZXJyb3JzLmFwcGVuZCgiVW5yZWNvZ25pemVkIG9wdGlv
biAnJXMnIiAlIG9wdGlvbikKLQotICAgIGRlZiBfYWRkX21vZGlmaWVyKHNlbGYsIGV4cGVjdGF0
aW9uLCBvcHRpb24sIHJlc3VsdCk6Ci0gICAgICAgIGlmIG9wdGlvbiBpbiByZXN1bHQubW9kaWZp
ZXJzOgotICAgICAgICAgICAgZXhwZWN0YXRpb24uZXJyb3JzLmFwcGVuZCgiTW9yZSB0aGFuIG9u
ZSAnJXMnIiAlIG9wdGlvbikKKyAgICAgICAgZm9yIG1vZGlmaWVyIGluIHJlc3VsdC5fbW9kaWZp
ZXJzOgorICAgICAgICAgICAgc2VsZi5fcGFyc2Vfb25lKGV4cGVjdGF0aW9uX2xpbmUsIG1vZGlm
aWVyLCByZXN1bHQpCisKKyAgICBkZWYgX3BhcnNlX29uZShzZWxmLCBleHBlY3RhdGlvbl9saW5l
LCBtb2RpZmllciwgcmVzdWx0KToKKyAgICAgICAgaWYgbW9kaWZpZXIgaW4gc2VsZi5fYWxsX21v
ZGlmaWVyczoKKyAgICAgICAgICAgIHNlbGYuX2FkZF9tb2RpZmllcihleHBlY3RhdGlvbl9saW5l
LCBtb2RpZmllciwgcmVzdWx0KQorICAgICAgICBlbGlmIG1vZGlmaWVyIGluIHNlbGYubWFjcm9z
OgorICAgICAgICAgICAgc2VsZi5fZXhwYW5kX21hY3JvKGV4cGVjdGF0aW9uX2xpbmUsIG1vZGlm
aWVyLCByZXN1bHQpCisgICAgICAgIGVsaWYgbm90IHNlbGYuX21hdGNoZXNfYW55X3JlZ2V4KGV4
cGVjdGF0aW9uX2xpbmUsIG1vZGlmaWVyLCByZXN1bHQpOgorICAgICAgICAgICAgZXhwZWN0YXRp
b25fbGluZS5lcnJvcnMuYXBwZW5kKCJVbnJlY29nbml6ZWQgbW9kaWZpZXIgJyVzJyIgJSBtb2Rp
ZmllcikKKworICAgIGRlZiBfYWRkX21vZGlmaWVyKHNlbGYsIGV4cGVjdGF0aW9uX2xpbmUsIG1v
ZGlmaWVyLCByZXN1bHQpOgorICAgICAgICBpZiBtb2RpZmllciBpbiByZXN1bHQuX21hdGNoZWRf
bW9kaWZpZXJzOgorICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBwZW5kKCJN
b3JlIHRoYW4gb25lICclcyciICUgbW9kaWZpZXIpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICByZXN1bHQubW9kaWZpZXJzLmFwcGVuZChvcHRpb24pCisgICAgICAgICAgICByZXN1bHQuX21h
dGNoZWRfbW9kaWZpZXJzLmFwcGVuZChtb2RpZmllcikKIAotICAgIGRlZiBfZXhwYW5kX21hY3Jv
KHNlbGYsIGV4cGVjdGF0aW9uLCBtYWNybywgcmVzdWx0KToKKyAgICBkZWYgX2V4cGFuZF9tYWNy
byhzZWxmLCBleHBlY3RhdGlvbl9saW5lLCBtYWNybywgcmVzdWx0KToKICAgICAgICAgaWYgbWFj
cm8gaW4gcmVzdWx0Ll9tYXRjaGVkX21hY3JvczoKLSAgICAgICAgICAgIGV4cGVjdGF0aW9uLmVy
cm9ycy5hcHBlbmQoIk1vcmUgdGhhbiBvbmUgJyVzJyIgJSBtYWNybykKKyAgICAgICAgICAgIGV4
cGVjdGF0aW9uX2xpbmUuZXJyb3JzLmFwcGVuZCgiTW9yZSB0aGFuIG9uZSAnJXMnIiAlIG1hY3Jv
KQogICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgbW9kcyA9IFtdCiAgICAgICAgIGZvciBt
b2RpZmllciBpbiBzZWxmLm1hY3Jvc1ttYWNyb106Ci0gICAgICAgICAgICBpZiBtb2RpZmllciBp
biByZXN1bHQub3B0aW9uczoKLSAgICAgICAgICAgICAgICBleHBlY3RhdGlvbi5lcnJvcnMuYXBw
ZW5kKCJDYW4ndCBzcGVjaWZ5IGJvdGggbW9kaWZpZXIgJyVzJyBhbmQgbWFjcm8gJyVzJyIgJSAo
bW9kaWZpZXIsIG1hY3JvKSkKKyAgICAgICAgICAgIGlmIG1vZGlmaWVyIGluIHJlc3VsdC5fbW9k
aWZpZXJzOgorICAgICAgICAgICAgICAgIGV4cGVjdGF0aW9uX2xpbmUuZXJyb3JzLmFwcGVuZCgi
Q2FuJ3Qgc3BlY2lmeSBib3RoIG1vZGlmaWVyICclcycgYW5kIG1hY3JvICclcyciICUgKG1vZGlm
aWVyLCBtYWNybykpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIG1vZHMuYXBw
ZW5kKG1vZGlmaWVyKQogICAgICAgICByZXN1bHQuX21hdGNoZWRfbWFjcm9zLmFkZChtYWNybykK
LSAgICAgICAgcmVzdWx0Lm1vZGlmaWVycy5leHRlbmQobW9kcykKKyAgICAgICAgcmVzdWx0Ll9t
YXRjaGVkX21vZGlmaWVycy5leHRlbmQobW9kcykKIAotICAgIGRlZiBfbWF0Y2hlc19hbnlfcmVn
ZXgoc2VsZiwgZXhwZWN0YXRpb24sIG9wdGlvbiwgcmVzdWx0KToKKyAgICBkZWYgX21hdGNoZXNf
YW55X3JlZ2V4KHNlbGYsIGV4cGVjdGF0aW9uX2xpbmUsIG1vZGlmaWVyLCByZXN1bHQpOgogICAg
ICAgICBmb3IgcmVnZXhfc3RyLCBwYXR0ZXJuIGluIHNlbGYucmVnZXhlc190b19pZ25vcmUuaXRl
cml0ZW1zKCk6Ci0gICAgICAgICAgICBpZiBwYXR0ZXJuLm1hdGNoKG9wdGlvbik6Ci0gICAgICAg
ICAgICAgICAgc2VsZi5faGFuZGxlX3JlZ2V4X21hdGNoKGV4cGVjdGF0aW9uLCByZWdleF9zdHIs
IHJlc3VsdCkKKyAgICAgICAgICAgIGlmIHBhdHRlcm4ubWF0Y2gobW9kaWZpZXIpOgorICAgICAg
ICAgICAgICAgIHNlbGYuX2hhbmRsZV9yZWdleF9tYXRjaChleHBlY3RhdGlvbl9saW5lLCByZWdl
eF9zdHIsIHJlc3VsdCkKICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICByZXR1
cm4gRmFsc2UKIAotICAgIGRlZiBfaGFuZGxlX3JlZ2V4X21hdGNoKHNlbGYsIGV4cGVjdGF0aW9u
LCByZWdleF9zdHIsIHJlc3VsdCk6CisgICAgZGVmIF9oYW5kbGVfcmVnZXhfbWF0Y2goc2VsZiwg
ZXhwZWN0YXRpb25fbGluZSwgcmVnZXhfc3RyLCByZXN1bHQpOgogICAgICAgICBpZiAocmVnZXhf
c3RyIGluIHJlc3VsdC5fbWF0Y2hlZF9yZWdleGVzIGFuZAogICAgICAgICAgICAgcmVnZXhfc3Ry
IG5vdCBpbiBzZWxmLkRVUExJQ0FURV9SRUdFWEVTX0FMTE9XRUQpOgotICAgICAgICAgICAgZXhw
ZWN0YXRpb24uZXJyb3JzLmFwcGVuZCgiTW9yZSB0aGFuIG9uZSBvcHRpb24gbWF0Y2hpbmcgJyVz
JyIgJQorICAgICAgICAgICAgZXhwZWN0YXRpb25fbGluZS5lcnJvcnMuYXBwZW5kKCJNb3JlIHRo
YW4gb25lIG1vZGlmaWVyIG1hdGNoaW5nICclcyciICUKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlZ2V4X3N0cikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJlc3VsdC5f
bWF0Y2hlZF9yZWdleGVzLmFkZChyZWdleF9zdHIpCiAKICAgICBkZWYgX2NvdW50X21hdGNoZXMo
c2VsZiwgcmVzdWx0KToKICAgICAgICAgIiIiUmV0dXJucyB0aGUgbnVtYmVyIG9mIG1vZGlmaWVy
cyB0aGF0IG1hdGNoIHRoZSB0ZXN0IGNvbmZpZy4iIiIKLSAgICAgICAgY2F0ZWdvcml6ZWRfbW9k
aWZpZXJzID0gc2VsZi5fZ3JvdXBfYnlfY2F0ZWdvcnkocmVzdWx0Lm1vZGlmaWVycykKKyAgICAg
ICAgY2F0ZWdvcml6ZWRfbW9kaWZpZXJzID0gc2VsZi5fZ3JvdXBfYnlfY2F0ZWdvcnkocmVzdWx0
Ll9tYXRjaGVkX21vZGlmaWVycykKICAgICAgICAgcmVzdWx0Lm51bV9tYXRjaGVzID0gMAogICAg
ICAgICBmb3IgY2F0ZWdvcnksIG1vZGlmaWVyIGluIHNlbGYudGVzdF9jb25maWcuaXRlbXMoKToK
ICAgICAgICAgICAgIGlmIGNhdGVnb3J5IGluIGNhdGVnb3JpemVkX21vZGlmaWVyczoKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4
cGVjdGF0aW9uc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weQppbmRleCBlMGZkMGMzM2Q3
N2I4NTczYzcxY2U0MGY2MmQ3NDNjY2RhMGMwNjA5Li5lMDMzNjcwNDkxYzc2NjU0Yjg3MGY4ZTQz
ZTRmYTM3YTFkZWY1ZTRlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9tb2RlbHMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3Vu
aXR0ZXN0LnB5CkBAIC0xNTEsOSArMTUxLDkgQEAgQlVHWCBXT05URklYIDogZmFpbHVyZXMvZXhw
ZWN0ZWQgPSBJTUFHRQogICAgICAgICAgICAgICAgICAgICAgICAgICB1bmtub3duX3Rlc3QpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0X2V4cCgnZmFpbHVyZXMvZXhwZWN0ZWQvY3Jhc2guaHRtbCcsIElN
QUdFKQogCi0gICAgZGVmIHRlc3RfZ2V0X29wdGlvbnMoc2VsZik6CisgICAgZGVmIHRlc3RfZ2V0
X21vZGlmaWVycyhzZWxmKToKICAgICAgICAgc2VsZi5wYXJzZV9leHAoc2VsZi5nZXRfYmFzaWNf
ZXhwZWN0YXRpb25zKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZXhwLmdldF9v
cHRpb25zKAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2V4cC5nZXRfbW9kaWZpZXJz
KAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZ2V0X3Rlc3QoJ3Bhc3Nlcy90ZXh0Lmh0
bWwnKSksIFtdKQogCiAgICAgZGVmIHRlc3RfZXhwZWN0YXRpb25zX2pzb25fZm9yX2FsbF9wbGF0
Zm9ybXMoc2VsZik6CkBAIC0xOTQsNyArMTk0LDcgQEAgU0tJUCA6IGZhaWx1cmVzL2V4cGVjdGVk
L2ltYWdlLmh0bWwiIiIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKFRydWUsICJQYXJz
ZUVycm9yIHdhc24ndCByYWlzZWQiKQogICAgICAgICBleGNlcHQgUGFyc2VFcnJvciwgZToKICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShlLmZhdGFsKQotICAgICAgICAgICAgZXhwX2Vycm9y
cyA9IFt1IkxpbmU6MSBVbnJlY29nbml6ZWQgb3B0aW9uICdmb28nIGZhaWx1cmVzL2V4cGVjdGVk
L3RleHQuaHRtbCIsCisgICAgICAgICAgICBleHBfZXJyb3JzID0gW3UiTGluZToxIFVucmVjb2du
aXplZCBtb2RpZmllciAnZm9vJyBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0bWwiLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICB1IkxpbmU6MiBNaXNzaW5nIGV4cGVjdGF0aW9ucyBTS0lQIDog
ZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UuaHRtbCJdCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHN0cihlKSwgJ1xuJy5qb2luKG1hcChzdHIsIGV4cF9lcnJvcnMpKSkKICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoZS5lcnJvcnMsIGV4cF9lcnJvcnMpCkBAIC0zOTYsMTMgKzM5Niwx
MyBAQCBjbGFzcyBNb2RpZmllclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAg
IG1hdGNoZXIgPSBNb2RpZmllck1hdGNoZXIoc2VsZi5GYWtlVGVzdENvbmZpZ3VyYXRpb24odmFs
dWVzKSkKICAgICAgICAgZXhwZWN0YXRpb24gPSBUZXN0RXhwZWN0YXRpb25MaW5lKCkKICAgICAg
ICAgZXhwZWN0YXRpb24ubW9kaWZpZXJzID0gbW9kaWZpZXJzCi0gICAgICAgIG1hdGNoX3Jlc3Vs
dCA9IG1hdGNoZXIubWF0Y2goZXhwZWN0YXRpb24pCisgICAgICAgIG1hdGNoZXIubWF0Y2goZXhw
ZWN0YXRpb24pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGV4cGVjdGF0aW9uLndhcm5p
bmdzKSwgMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXhwZWN0YXRpb24uZXJyb3Jz
KSwgbnVtX2Vycm9ycykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYXRjaF9yZXN1bHQubnVt
X21hdGNoZXMsIGV4cGVjdGVkX251bV9tYXRjaGVzLAorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGV4cGVjdGF0aW9uLm51bV9tYXRjaGVzLCBleHBlY3RlZF9udW1fbWF0Y2hlcywKICAgICAgICAg
ICAgICAnbWF0Y2goJXMsICVzKSByZXR1cm5lZCAtPiAlZCwgZXhwZWN0ZWQgJWQnICUKICAgICAg
ICAgICAgICAobW9kaWZpZXJzLCBzdHIoc2VsZi5jb25maWcudmFsdWVzKCkpLAotICAgICAgICAg
ICAgICBtYXRjaF9yZXN1bHQubnVtX21hdGNoZXMsIGV4cGVjdGVkX251bV9tYXRjaGVzKSkKKyAg
ICAgICAgICAgICAgZXhwZWN0YXRpb24ubnVtX21hdGNoZXMsIGV4cGVjdGVkX251bV9tYXRjaGVz
KSkKIAogICAgIGRlZiB0ZXN0X2JhZF9tYXRjaF9tb2RpZmllcihzZWxmKToKICAgICAgICAgc2Vs
Zi5tYXRjaChbJ2ZvbyddLCBudW1fZXJyb3JzPTEpCkBAIC00NDgsNyArNDQ4LDcgQEAgY2xhc3Mg
TW9kaWZpZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYubWF0Y2goWyd4
cCcsICdyZWxlYXNlJywgJ3hwJywgJ3JlbGVhc2UnXSwgbnVtX2Vycm9ycz0yKQogICAgICAgICBz
ZWxmLm1hdGNoKFsncmViYXNlbGluZScsICdyZWJhc2VsaW5lJ10sIG51bV9lcnJvcnM9MSkKIAot
ICAgIGRlZiB0ZXN0X3Vua25vd25fb3B0aW9uKHNlbGYpOgorICAgIGRlZiB0ZXN0X3Vua25vd25f
bW9kaWZpZXIoc2VsZik6CiAgICAgICAgIHNlbGYubWF0Y2goWyd2bXMnXSwgbnVtX2Vycm9ycz0x
KQogCiAgICAgZGVmIHRlc3RfZHVwbGljYXRlX2J1Z3Moc2VsZik6CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy90ZXN0X2V4cGVj
dGF0aW9uc191bml0dGVzdC5weQppbmRleCAyZjZhZTUyODhkYmMyZmY1ZTg4MTlkMzdlN2RmZGNi
YzE3MmRiZjg5Li4yNTAyZDcwZDVlYjBmNmU0YmIyYjMzNjA1MDlmMjVkN2UyYWY3YzQyIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3Rlc3RfZXhwZWN0
YXRpb25zX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvdGVzdF9leHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKQEAgLTExMiw3ICsxMTIsNyBAQCBj
bGFzcyBUZXN0RXhwZWN0YXRpb25zVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRl
ZiB0ZXN0X3ZhbGlkX21vZGlmaWVycyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRfbGluZXNf
bGludCgKICAgICAgICAgICAgIFsiSU5WQUxJRC1NT0RJRklFUiA6IHBhc3Nlcy90ZXh0Lmh0bWwg
PSBQQVNTIl0sCi0gICAgICAgICAgICAiVW5yZWNvZ25pemVkIG9wdGlvbiAnaW52YWxpZC1tb2Rp
ZmllcicgIgorICAgICAgICAgICAgIlVucmVjb2duaXplZCBtb2RpZmllciAnaW52YWxpZC1tb2Rp
ZmllcicgIgogICAgICAgICAgICAgInBhc3Nlcy90ZXh0Lmh0bWwgIFt0ZXN0L2V4cGVjdGF0aW9u
c10gWzVdIikKICAgICAgICAgc2VsZi5hc3NlcnRfbGluZXNfbGludCgKICAgICAgICAgICAgIFsi
U0tJUCA6IHBhc3Nlcy90ZXh0Lmh0bWwgPSBQQVNTIl0sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>