<?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>151334</bug_id>
          
          <creation_ts>2015-11-16 17:53:57 -0800</creation_ts>
          <short_desc>Reorganize the graphics benchmark string table</short_desc>
          <delta_ts>2015-11-17 17:29:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1142424</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-16 17:53:57 -0800</bug_when>
    <thetext>A string table was added to the benchmark to ease the separation of the code from the literal strings. The literal strings are used mainly in the results sections either in the results table or the JSON output. The current string table is an object of sub-string tables. Each sub-string table is an array of strings. Accessing the sub-string table array is cumbersome because it is difficult to know the returned string from its index unless you go back to the string table itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142429</commentid>
    <comment_count>1</comment_count>
      <attachid>265648</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-16 18:29:46 -0800</bug_when>
    <thetext>Created attachment 265648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142627</commentid>
    <comment_count>2</comment_count>
      <attachid>265648</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-11-17 13:18:53 -0800</bug_when>
    <thetext>Comment on attachment 265648
Patch

Much nicer!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142711</commentid>
    <comment_count>3</comment_count>
      <attachid>265717</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2015-11-17 16:32:58 -0800</bug_when>
    <thetext>Created attachment 265717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142729</commentid>
    <comment_count>4</comment_count>
      <attachid>265717</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-17 17:29:20 -0800</bug_when>
    <thetext>Comment on attachment 265717
Patch

Clearing flags on attachment: 265717

Committed r192559: &lt;http://trac.webkit.org/changeset/192559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142730</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-17 17:29:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265648</attachid>
            <date>2015-11-16 18:29:46 -0800</date>
            <delta_ts>2015-11-17 16:32:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151334-20151116182937.patch</filename>
            <type>text/plain</type>
            <size>21246</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTI1MDApCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE1LTExLTE2ICBT
YWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVv
cmdhbml6ZSB0aGUgZ3JhcGhpY3MgYmVuY2htYXJrIHN0cmluZyB0YWJsZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMzM0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBNYWtlIHRoZSBncmFw
aGljcyBiZW5jaG1hcmsgc3RyaW5nIHRhYmxlIGJlIGFuIG9iamVjdCBvZiBzdWItb2JqZWN0cy4g
RWFjaAorICAgICAgICBzdWItb2JqZWN0IHJlcHJlc2VudHMgYW4gYXNzb2NpYXRpdmUgYXJyYXks
IHRoZSBrZXkgaXMgdGhlIHN0cmluZyBuYW1lIGFuZAorICAgICAgICB0aGUgdmFsdWUgaXMgdGhl
IHN0cmluZyBkYXRhLgorCisgICAgICAgICogQW5pbW9tZXRlci9yZXNvdXJjZXMvZXh0ZW5zaW9u
cy5qczoKKyAgICAgICAgKFJlc3VsdHNEYXNoYm9hcmQucHJvdG90eXBlLnRvSlNPTik6CisgICAg
ICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93R3JhcGgpOgorICAgICAgICAoUmVzdWx0
c1RhYmxlLnByb3RvdHlwZS5fc2hvd0pTT04pOgorICAgICAgICAoUmVzdWx0c1RhYmxlLnByb3Rv
dHlwZS5faXNOb2lzeU1lYXN1cmVtZW50KToKKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5
cGUuX2lzTm9pc3lUZXN0KToKKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5cGUuX3Nob3dU
ZXN0KToKKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5cGUuX3Nob3dTdWl0ZSk6CisgICAg
ICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93SXRlcmF0aW9uKToKKyAgICAgICAgKiBB
bmltb21ldGVyL3Jlc291cmNlcy9zYW1wbGVyLmpzOgorICAgICAgICAoU2FtcGxlci5wcm90b3R5
cGUudG9KU09OKToKKyAgICAgICAgKiBBbmltb21ldGVyL3Jlc291cmNlcy9zdHJpbmdzLmpzOgor
ICAgICAgICAqIEFuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9hbmltb21ldGVyLmpzOgorICAg
ICAgICAod2luZG93LmJlbmNobWFya1J1bm5lckNsaWVudC5kaWRGaW5pc2hMYXN0SXRlcmF0aW9u
KToKKyAgICAgICAgKHdpbmRvdy5zdWl0ZXNNYW5hZ2VyLnVwZGF0ZUxvY2FsU3RvcmFnZUZyb21K
U09OKToKKyAgICAgICAgKHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyLnNob3dSZXN1bHRzKToK
KyAgICAgICAgKHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyLnNob3dKc29uKToKKyAgICAgICAg
KHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVyLnNob3dUZXN0R3JhcGgpOgorICAgICAgICAod2lu
ZG93LmJlbmNobWFya0NvbnRyb2xsZXIuc2hvd1Rlc3RKU09OKToKKyAgICAgICAgKiBBbmltb21l
dGVyL3J1bm5lci9yZXNvdXJjZXMvdGVzdHMuanM6CisgICAgICAgICogQW5pbW9tZXRlci90ZXN0
cy9yZXNvdXJjZXMvbWFpbi5qczoKKwogMjAxNS0xMS0xNiAgU2FpZCBBYm91LUhhbGxhd2EgIDxz
YWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIEhpZ2hsaWdodCB0aGUgYWxhcm1pbmcg
dGVzdCByZXN1bHRzIGluIHRoZSBncmFwaGljcyBiZW5jaG1hcmsgcmVzdWx0cyBwYWdlCkluZGV4
OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3VyY2VzL2V4dGVuc2lvbnMuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291cmNlcy9leHRlbnNp
b25zLmpzCShyZXZpc2lvbiAxOTI1MDApCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIv
cmVzb3VyY2VzL2V4dGVuc2lvbnMuanMJKHdvcmtpbmcgY29weSkKQEAgLTIzNSwyNCArMjM1LDI0
IEBAIFJlc3VsdHNEYXNoYm9hcmQucHJvdG90eXBlID0KICAgICAgICAgICAgICAgICBmb3IgKHZh
ciB0ZXN0TmFtZSBpbiBzdWl0ZVNhbXBsZXJzKSB7CiAgICAgICAgICAgICAgICAgICAgIHZhciBz
YW1wbGVyID0gc3VpdGVTYW1wbGVyc1t0ZXN0TmFtZV07CiAgICAgICAgICAgICAgICAgICAgIHRl
c3RzUmVzdWx0c1t0ZXN0TmFtZV0gPSBzYW1wbGVyLnRvSlNPTihzdGF0aXN0aWNzLCBncmFwaCk7
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RzU2NvcmVzLnB1c2godGVzdHNSZXN1bHRzW3Rlc3RO
YW1lXVtTdHJpbmdzWyJKU09OX1NDT1JFIl1dKTsKKyAgICAgICAgICAgICAgICAgICAgdGVzdHNT
Y29yZXMucHVzaCh0ZXN0c1Jlc3VsdHNbdGVzdE5hbWVdW1N0cmluZ3MuanNvbi5zY29yZV0pOwog
ICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIHN1aXRlc1Jlc3VsdHNbc3VpdGVO
YW1lXSA9ICB7fTsKLSAgICAgICAgICAgICAgICBzdWl0ZXNSZXN1bHRzW3N1aXRlTmFtZV1bU3Ry
aW5nc1siSlNPTl9TQ09SRSJdXSA9IFN0YXRpc3RpY3MuZ2VvbWV0cmljTWVhbih0ZXN0c1Njb3Jl
cyk7Ci0gICAgICAgICAgICAgICAgc3VpdGVzUmVzdWx0c1tzdWl0ZU5hbWVdW1N0cmluZ3NbIkpT
T05fUkVTVUxUUyJdWzJdXSA9IHRlc3RzUmVzdWx0czsKLSAgICAgICAgICAgICAgICBzdWl0ZXNT
Y29yZXMucHVzaChzdWl0ZXNSZXN1bHRzW3N1aXRlTmFtZV1bU3RyaW5nc1siSlNPTl9TQ09SRSJd
XSk7CisgICAgICAgICAgICAgICAgc3VpdGVzUmVzdWx0c1tzdWl0ZU5hbWVdW1N0cmluZ3MuanNv
bi5zY29yZV0gPSBTdGF0aXN0aWNzLmdlb21ldHJpY01lYW4odGVzdHNTY29yZXMpOworICAgICAg
ICAgICAgICAgIHN1aXRlc1Jlc3VsdHNbc3VpdGVOYW1lXVtTdHJpbmdzLmpzb24ucmVzdWx0cy50
ZXN0c10gPSB0ZXN0c1Jlc3VsdHM7CisgICAgICAgICAgICAgICAgc3VpdGVzU2NvcmVzLnB1c2go
c3VpdGVzUmVzdWx0c1tzdWl0ZU5hbWVdW1N0cmluZ3MuanNvbi5zY29yZV0pOwogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICBpdGVyYXRpb25zUmVzdWx0c1tpbmRleF0g
PSB7fTsKLSAgICAgICAgICAgIGl0ZXJhdGlvbnNSZXN1bHRzW2luZGV4XVtTdHJpbmdzWyJKU09O
X1NDT1JFIl1dID0gU3RhdGlzdGljcy5nZW9tZXRyaWNNZWFuKHN1aXRlc1Njb3Jlcyk7Ci0gICAg
ICAgICAgICBpdGVyYXRpb25zUmVzdWx0c1tpbmRleF1bU3RyaW5nc1siSlNPTl9SRVNVTFRTIl1b
MV1dID0gc3VpdGVzUmVzdWx0czsKLSAgICAgICAgICAgIGl0ZXJhdGlvbnNTY29yZXMucHVzaChp
dGVyYXRpb25zUmVzdWx0c1tpbmRleF1bU3RyaW5nc1siSlNPTl9TQ09SRSJdXSk7CisgICAgICAg
ICAgICBpdGVyYXRpb25zUmVzdWx0c1tpbmRleF1bU3RyaW5ncy5qc29uLnNjb3JlXSA9IFN0YXRp
c3RpY3MuZ2VvbWV0cmljTWVhbihzdWl0ZXNTY29yZXMpOworICAgICAgICAgICAgaXRlcmF0aW9u
c1Jlc3VsdHNbaW5kZXhdW1N0cmluZ3MuanNvbi5yZXN1bHRzLnN1aXRlc10gPSBzdWl0ZXNSZXN1
bHRzOworICAgICAgICAgICAgaXRlcmF0aW9uc1Njb3Jlcy5wdXNoKGl0ZXJhdGlvbnNSZXN1bHRz
W2luZGV4XVtTdHJpbmdzLmpzb24uc2NvcmVdKTsKICAgICAgICAgfSk7CiAKICAgICAgICAgdmFy
IGpzb24gPSB7fTsKLSAgICAgICAganNvbltTdHJpbmdzWyJKU09OX1NDT1JFIl1dID0gU3RhdGlz
dGljcy5zYW1wbGVNZWFuKGl0ZXJhdGlvbnNTY29yZXMubGVuZ3RoLCBpdGVyYXRpb25zU2NvcmVz
LnJlZHVjZShmdW5jdGlvbihhLCBiKSB7IHJldHVybiBhICogYjsgfSkpOwotICAgICAgICBqc29u
W1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzBdXSA9IGl0ZXJhdGlvbnNSZXN1bHRzOworICAgICAg
ICBqc29uW1N0cmluZ3MuanNvbi5zY29yZV0gPSBTdGF0aXN0aWNzLnNhbXBsZU1lYW4oaXRlcmF0
aW9uc1Njb3Jlcy5sZW5ndGgsIGl0ZXJhdGlvbnNTY29yZXMucmVkdWNlKGZ1bmN0aW9uKGEsIGIp
IHsgcmV0dXJuIGEgKiBiOyB9KSk7CisgICAgICAgIGpzb25bU3RyaW5ncy5qc29uLnJlc3VsdHMu
aXRlcmF0aW9uc10gPSBpdGVyYXRpb25zUmVzdWx0czsKICAgICAgICAgcmV0dXJuIGpzb247CiAg
ICAgfQogfQpAQCAtMzQwLDcgKzM0MCw3IEBAIFJlc3VsdHNUYWJsZS5wcm90b3R5cGUgPQogICAg
IAogICAgIF9zaG93R3JhcGg6IGZ1bmN0aW9uKHJvdywgdGVzdE5hbWUsIHRlc3RSZXN1bHRzKQog
ICAgIHsKLSAgICAgICAgdmFyIGRhdGEgPSB0ZXN0UmVzdWx0c1tTdHJpbmdzWyJKU09OX1NBTVBM
RVMiXVswXV07CisgICAgICAgIHZhciBkYXRhID0gdGVzdFJlc3VsdHNbU3RyaW5ncy5qc29uLnNh
bXBsZXNdOwogICAgICAgICBpZiAoIWRhdGEpIHsKICAgICAgICAgICAgIHRoaXMuX3Nob3dFbXB0
eUNlbGwocm93LCAiIik7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0zNTAsMTggKzM1MCwxOCBA
QCBSZXN1bHRzVGFibGUucHJvdG90eXBlID0KICAgICAgICAgdmFyIGJ1dHRvbiA9IERvY3VtZW50
RXh0ZW5zaW9uLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsIHsgY2xhc3M6ICJzbWFsbC1idXR0b24i
IH0sIHRkKTsKIAogICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgIHZhciBzYW1wbGVzID0gZGF0YVtTdHJpbmdzWyJKU09OX0dS
QVBIIl1bMF1dOwotICAgICAgICAgICAgdmFyIHNhbXBsaW5nVGltZU9mZnNldCA9IGRhdGFbU3Ry
aW5nc1siSlNPTl9HUkFQSCJdWzFdXTsKLSAgICAgICAgICAgIHZhciBheGVzID0gU3RyaW5nc1si
VEVYVF9FWFBFUklNRU5UUyJdOworICAgICAgICAgICAgdmFyIHNhbXBsZXMgPSBkYXRhW1N0cmlu
Z3MuanNvbi5ncmFwaC5wb2ludHNdOworICAgICAgICAgICAgdmFyIHNhbXBsaW5nVGltZU9mZnNl
dCA9IGRhdGFbU3RyaW5ncy5qc29uLmdyYXBoLnNhbXBsaW5nVGltZU9mZnNldF07CisgICAgICAg
ICAgICB2YXIgYXhlcyA9IFtTdHJpbmdzLnRleHQuZXhwZXJpbWVudHMuY29tcGxleGl0eSwgU3Ry
aW5ncy50ZXh0LmV4cGVyaW1lbnRzLmZyYW1lUmF0ZV07CiAgICAgICAgICAgICBiZW5jaG1hcmtD
b250cm9sbGVyLnNob3dUZXN0R3JhcGgodGVzdE5hbWUsIGF4ZXMsIHNhbXBsZXMsIHNhbXBsaW5n
VGltZU9mZnNldCk7CiAgICAgICAgIH0pOwogICAgICAgICAgICAgCi0gICAgICAgIGJ1dHRvbi50
ZXh0Q29udGVudCA9IFN0cmluZ3NbIlRFWFRfUkVTVUxUUyJdWzFdICsgIi4uLiI7CisgICAgICAg
IGJ1dHRvbi50ZXh0Q29udGVudCA9IFN0cmluZ3MudGV4dC5yZXN1bHRzLmdyYXBoICsgIi4uLiI7
CiAgICAgfSwKIAogICAgIF9zaG93SlNPTjogZnVuY3Rpb24ocm93LCB0ZXN0TmFtZSwgdGVzdFJl
c3VsdHMpCiAgICAgewotICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0cmluZ3NbIkpT
T05fU0FNUExFUyJdWzBdXTsKKyAgICAgICAgdmFyIGRhdGEgPSB0ZXN0UmVzdWx0c1tTdHJpbmdz
Lmpzb24uc2FtcGxlc107CiAgICAgICAgIGlmICghZGF0YSkgewogICAgICAgICAgICAgdGhpcy5f
c2hvd0VtcHR5Q2VsbChyb3csICIiKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTM3NCwyOSAr
Mzc0LDI5IEBAIFJlc3VsdHNUYWJsZS5wcm90b3R5cGUgPQogICAgICAgICAgICAgYmVuY2htYXJr
Q29udHJvbGxlci5zaG93VGVzdEpTT04odGVzdE5hbWUsIHRlc3RSZXN1bHRzKTsKICAgICAgICAg
fSk7CiAgICAgICAgICAgICAKLSAgICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gU3RyaW5nc1si
VEVYVF9SRVNVTFRTIl1bMl0gKyAiLi4uIjsKKyAgICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0g
U3RyaW5ncy50ZXh0LnJlc3VsdHMuanNvbiArICIuLi4iOwogICAgIH0sCiAgICAgCi0gICAgX2lz
Tm9pc3lNZWFzdXJlbWVudDogZnVuY3Rpb24oaW5kZXgsIGRhdGEsIG1lYXN1cmVtZW50LCBvcHRp
b25zKQorICAgIF9pc05vaXN5TWVhc3VyZW1lbnQ6IGZ1bmN0aW9uKGV4cGVyaW1lbnQsIGRhdGEs
IG1lYXN1cmVtZW50LCBvcHRpb25zKQogICAgIHsKICAgICAgICAgY29uc3QgcGVyY2VudFRocmVz
aG9sZCA9IDEwOwogICAgICAgICBjb25zdCBhdmVyYWdlVGhyZXNob2xkID0gMjsKICAgICAgICAg
IAotICAgICAgICBpZiAobWVhc3VyZW1lbnQgPT0gU3RyaW5nc1siSlNPTl9NRUFTVVJFTUVOVFMi
XVszXSkKLSAgICAgICAgICAgIHJldHVybiBkYXRhW1N0cmluZ3NbIkpTT05fTUVBU1VSRU1FTlRT
Il1bM11dID49IHBlcmNlbnRUaHJlc2hvbGQ7CisgICAgICAgIGlmIChtZWFzdXJlbWVudCA9PSBT
dHJpbmdzLmpzb24ubWVhc3VyZW1lbnRzLnBlcmNlbnQpCisgICAgICAgICAgICByZXR1cm4gZGF0
YVtTdHJpbmdzLmpzb24ubWVhc3VyZW1lbnRzLnBlcmNlbnRdID49IHBlcmNlbnRUaHJlc2hvbGQ7
CiAgICAgICAgICAgICAKLSAgICAgICAgaWYgKGluZGV4ID09IDEgJiYgbWVhc3VyZW1lbnQgPT0g
U3RyaW5nc1siSlNPTl9NRUFTVVJFTUVOVFMiXVswXSkKLSAgICAgICAgICAgIHJldHVybiBNYXRo
LmFicyhkYXRhW1N0cmluZ3NbIkpTT05fTUVBU1VSRU1FTlRTIl1bMF1dIC0gb3B0aW9uc1siZnJh
bWUtcmF0ZSJdKSA+PSBhdmVyYWdlVGhyZXNob2xkOworICAgICAgICBpZiAoZXhwZXJpbWVudCA9
PSBTdHJpbmdzLmpzb24uZXhwZXJpbWVudHMuZnJhbWVSYXRlICYmIG1lYXN1cmVtZW50ID09IFN0
cmluZ3MuanNvbi5tZWFzdXJlbWVudHMuYXZlcmFnZSkKKyAgICAgICAgICAgIHJldHVybiBNYXRo
LmFicyhkYXRhW1N0cmluZ3MuanNvbi5tZWFzdXJlbWVudHMuYXZlcmFnZV0gLSBvcHRpb25zWyJm
cmFtZS1yYXRlIl0pID49IGF2ZXJhZ2VUaHJlc2hvbGQ7CiAKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0sCiAKICAgICBfaXNOb2lzeVRlc3Q6IGZ1bmN0aW9uKHRlc3RSZXN1bHRzLCBvcHRp
b25zKQogICAgIHsKLSAgICAgICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IDI7ICsraW5k
ZXgpIHsKLSAgICAgICAgICAgIHZhciBkYXRhID0gdGVzdFJlc3VsdHNbU3RyaW5nc1siSlNPTl9F
WFBFUklNRU5UUyJdW2luZGV4XV07CisgICAgICAgIGZvciAodmFyIGV4cGVyaW1lbnQgaW4gdGVz
dFJlc3VsdHMpIHsKKyAgICAgICAgICAgIHZhciBkYXRhID0gdGVzdFJlc3VsdHNbZXhwZXJpbWVu
dF07CiAgICAgICAgICAgICBmb3IgKHZhciBtZWFzdXJlbWVudCBpbiBkYXRhKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKHRoaXMuX2lzTm9pc3lNZWFzdXJlbWVudChpbmRleCwgZGF0YSwgbWVhc3Vy
ZW1lbnQsIG9wdGlvbnMpKQorICAgICAgICAgICAgICAgIGlmICh0aGlzLl9pc05vaXN5TWVhc3Vy
ZW1lbnQoZXhwZXJpbWVudCwgZGF0YSwgbWVhc3VyZW1lbnQsIG9wdGlvbnMpKQogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNDMy
LDEzICs0MzIsMTMgQEAgUmVzdWx0c1RhYmxlLnByb3RvdHlwZSA9CiAgICAgICAgICAgICAgICAg
YnJlYWs7CiAKICAgICAgICAgICAgIGNhc2UgMToKLSAgICAgICAgICAgICAgICB2YXIgZGF0YSA9
IHRlc3RSZXN1bHRzW1N0cmluZ3NbIkpTT05fU0NPUkUiXVswXV07CisgICAgICAgICAgICAgICAg
dmFyIGRhdGEgPSB0ZXN0UmVzdWx0c1tTdHJpbmdzLmpzb24uc2NvcmVdOwogICAgICAgICAgICAg
ICAgIHRoaXMuX3Nob3dGaXhlZE51bWJlcihyb3csIGRhdGEsIDIpOwogICAgICAgICAgICAgICAg
IGJyZWFrOwogCiAgICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgICBjYXNlIDM6Ci0gICAg
ICAgICAgICAgICAgdmFyIGRhdGEgPSB0ZXN0UmVzdWx0c1tTdHJpbmdzWyJKU09OX0VYUEVSSU1F
TlRTIl1baW5kZXggLSAyXV07CisgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSB0ZXN0UmVzdWx0
c1tpbmRleCA9PSAyID8gU3RyaW5ncy5qc29uLmV4cGVyaW1lbnRzLmNvbXBsZXhpdHkgOiBTdHJp
bmdzLmpzb24uZXhwZXJpbWVudHMuZnJhbWVSYXRlXTsKICAgICAgICAgICAgICAgICBmb3IgKHZh
ciBtZWFzdXJlbWVudCBpbiBkYXRhKQogICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaG93Rml4
ZWROdW1iZXIocm93LCBkYXRhW21lYXN1cmVtZW50XSwgMiwgdGhpcy5faXNOb2lzeU1lYXN1cmVt
ZW50KGluZGV4IC0gMiwgZGF0YSwgbWVhc3VyZW1lbnQsIG9wdGlvbnMpID8gY2xhc3NOYW1lIDog
IiIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtNDUzLDE3ICs0NTMsMTcgQEAgUmVzdWx0
c1RhYmxlLnByb3RvdHlwZSA9CiAKICAgICBfc2hvd1N1aXRlOiBmdW5jdGlvbihzdWl0ZU5hbWUs
IHN1aXRlUmVzdWx0cywgb3B0aW9ucykKICAgICB7Ci0gICAgICAgIGZvciAodmFyIHRlc3ROYW1l
IGluIHN1aXRlUmVzdWx0c1tTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVsyXV0pIHsKLSAgICAgICAg
ICAgIHRoaXMuX3Nob3dUZXN0KHRlc3ROYW1lLCBzdWl0ZVJlc3VsdHNbU3RyaW5nc1siSlNPTl9S
RVNVTFRTIl1bMl1dW3Rlc3ROYW1lXSwgb3B0aW9ucyk7CisgICAgICAgIGZvciAodmFyIHRlc3RO
YW1lIGluIHN1aXRlUmVzdWx0c1tTdHJpbmdzLmpzb24ucmVzdWx0cy50ZXN0c10pIHsKKyAgICAg
ICAgICAgIHRoaXMuX3Nob3dUZXN0KHRlc3ROYW1lLCBzdWl0ZVJlc3VsdHNbU3RyaW5ncy5qc29u
LnJlc3VsdHMudGVzdHNdW3Rlc3ROYW1lXSwgb3B0aW9ucyk7CiAgICAgICAgIH0KICAgICB9LAog
ICAgIAogICAgIF9zaG93SXRlcmF0aW9uIDogZnVuY3Rpb24oaXRlcmF0aW9uUmVzdWx0cywgb3B0
aW9ucykKICAgICB7Ci0gICAgICAgIGZvciAodmFyIHN1aXRlTmFtZSBpbiBpdGVyYXRpb25SZXN1
bHRzW1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzFdXSkgewotICAgICAgICAgICAgaWYgKHN1aXRl
TmFtZSAhPSBPYmplY3Qua2V5cyhpdGVyYXRpb25SZXN1bHRzW1N0cmluZ3NbIkpTT05fUkVTVUxU
UyJdWzFdXSlbMF0pCisgICAgICAgIGZvciAodmFyIHN1aXRlTmFtZSBpbiBpdGVyYXRpb25SZXN1
bHRzW1N0cmluZ3MuanNvbi5yZXN1bHRzLnN1aXRlc10pIHsKKyAgICAgICAgICAgIGlmIChzdWl0
ZU5hbWUgIT0gT2JqZWN0LmtleXMoaXRlcmF0aW9uUmVzdWx0c1tTdHJpbmdzLmpzb24ucmVzdWx0
cy5zdWl0ZXNdKVswXSkKICAgICAgICAgICAgICAgICB0aGlzLl9zaG93RW1wdHlSb3coKTsKLSAg
ICAgICAgICAgIHRoaXMuX3Nob3dTdWl0ZShzdWl0ZU5hbWUsIGl0ZXJhdGlvblJlc3VsdHNbU3Ry
aW5nc1siSlNPTl9SRVNVTFRTIl1bMV1dW3N1aXRlTmFtZV0sIG9wdGlvbnMpOworICAgICAgICAg
ICAgdGhpcy5fc2hvd1N1aXRlKHN1aXRlTmFtZSwgaXRlcmF0aW9uUmVzdWx0c1tTdHJpbmdzLmpz
b24ucmVzdWx0cy5zdWl0ZXNdW3N1aXRlTmFtZV0sIG9wdGlvbnMpOwogICAgICAgICB9CiAgICAg
fSwKICAgICAKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9yZXNvdXJjZXMvc2Ft
cGxlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3Vy
Y2VzL3NhbXBsZXIuanMJKHJldmlzaW9uIDE5MjUwMCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5p
bW9tZXRlci9yZXNvdXJjZXMvc2FtcGxlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMTI4LDIyICsx
MjgsMjMgQEAgU2FtcGxlci5wcm90b3R5cGUgPQogICAgIHsKICAgICAgICAgdmFyIHJlc3VsdHMg
PSB7fTsKICAgICAgICAgIAotICAgICAgICByZXN1bHRzW1N0cmluZ3NbIkpTT05fU0NPUkUiXV0g
PSB0aGlzLmV4cGVyaW1lbnRzWzBdLnNjb3JlKEV4cGVyaW1lbnQuZGVmYXVsdHMuQ09OQ0VSTik7
CisgICAgICAgIHJlc3VsdHNbU3RyaW5ncy5qc29uLnNjb3JlXSA9IHRoaXMuZXhwZXJpbWVudHNb
MF0uc2NvcmUoRXhwZXJpbWVudC5kZWZhdWx0cy5DT05DRVJOKTsKICAgICAgICAgICAgCiAgICAg
ICAgIGlmIChzdGF0aXN0aWNzKSB7CiAgICAgICAgICAgICB0aGlzLmV4cGVyaW1lbnRzLmZvckVh
Y2goZnVuY3Rpb24oZXhwZXJpbWVudCwgaW5kZXgpIHsKLSAgICAgICAgICAgICAgICByZXN1bHRz
W1N0cmluZ3NbIkpTT05fRVhQRVJJTUVOVFMiXVtpbmRleF1dID0ge307Ci0gICAgICAgICAgICAg
ICAgcmVzdWx0c1tTdHJpbmdzWyJKU09OX0VYUEVSSU1FTlRTIl1baW5kZXhdXVtTdHJpbmdzWyJK
U09OX01FQVNVUkVNRU5UUyJdWzBdXSA9IGV4cGVyaW1lbnQubWVhbigpOwotICAgICAgICAgICAg
ICAgIHJlc3VsdHNbU3RyaW5nc1siSlNPTl9FWFBFUklNRU5UUyJdW2luZGV4XV1bU3RyaW5nc1si
SlNPTl9NRUFTVVJFTUVOVFMiXVsxXV0gPSBleHBlcmltZW50LmNvbmNlcm4oRXhwZXJpbWVudC5k
ZWZhdWx0cy5DT05DRVJOKTsKLSAgICAgICAgICAgICAgICByZXN1bHRzW1N0cmluZ3NbIkpTT05f
RVhQRVJJTUVOVFMiXVtpbmRleF1dW1N0cmluZ3NbIkpTT05fTUVBU1VSRU1FTlRTIl1bMl1dID0g
ZXhwZXJpbWVudC5zdGFuZGFyZERldmlhdGlvbigpOwotICAgICAgICAgICAgICAgIHJlc3VsdHNb
U3RyaW5nc1siSlNPTl9FWFBFUklNRU5UUyJdW2luZGV4XV1bU3RyaW5nc1siSlNPTl9NRUFTVVJF
TUVOVFMiXVszXV0gPSBleHBlcmltZW50LnBlcmNlbnRhZ2UoKTsKKyAgICAgICAgICAgICAgICB2
YXIganNvbkV4cGVyaW1lbnQgPSAhaW5kZXggPyBTdHJpbmdzLmpzb24uZXhwZXJpbWVudHMuY29t
cGxleGl0eSA6IFN0cmluZ3MuanNvbi5leHBlcmltZW50cy5mcmFtZVJhdGU7CisgICAgICAgICAg
ICAgICAgcmVzdWx0c1tqc29uRXhwZXJpbWVudF0gPSB7fTsKKyAgICAgICAgICAgICAgICByZXN1
bHRzW2pzb25FeHBlcmltZW50XVtTdHJpbmdzLmpzb24ubWVhc3VyZW1lbnRzLmF2ZXJhZ2VdID0g
ZXhwZXJpbWVudC5tZWFuKCk7CisgICAgICAgICAgICAgICAgcmVzdWx0c1tqc29uRXhwZXJpbWVu
dF1bU3RyaW5ncy5qc29uLm1lYXN1cmVtZW50cy5jb25jZXJuXSA9IGV4cGVyaW1lbnQuY29uY2Vy
bihFeHBlcmltZW50LmRlZmF1bHRzLkNPTkNFUk4pOworICAgICAgICAgICAgICAgIHJlc3VsdHNb
anNvbkV4cGVyaW1lbnRdW1N0cmluZ3MuanNvbi5tZWFzdXJlbWVudHMuc3RkZXZdID0gZXhwZXJp
bWVudC5zdGFuZGFyZERldmlhdGlvbigpOworICAgICAgICAgICAgICAgIHJlc3VsdHNbanNvbkV4
cGVyaW1lbnRdW1N0cmluZ3MuanNvbi5tZWFzdXJlbWVudHMucGVyY2VudF0gPSBleHBlcmltZW50
LnBlcmNlbnRhZ2UoKQogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAg
ICAgIGlmIChncmFwaCkgewotICAgICAgICAgICAgcmVzdWx0c1tTdHJpbmdzWyJKU09OX1NBTVBM
RVMiXVswXV0gPSB7fTsKLSAgICAgICAgICAgIHJlc3VsdHNbU3RyaW5nc1siSlNPTl9TQU1QTEVT
Il1bMF1dW1N0cmluZ3NbIkpTT05fR1JBUEgiXVswXV0gPSB0aGlzLnNhbXBsZXM7Ci0gICAgICAg
ICAgICByZXN1bHRzW1N0cmluZ3NbIkpTT05fU0FNUExFUyJdWzBdXVtTdHJpbmdzWyJKU09OX0dS
QVBIIl1bMV1dID0gdGhpcy5zYW1wbGluZ1RpbWVPZmZzZXQ7CisgICAgICAgICAgICByZXN1bHRz
W1N0cmluZ3MuanNvbi5zYW1wbGVzXSA9IHt9OworICAgICAgICAgICAgcmVzdWx0c1tTdHJpbmdz
Lmpzb24uc2FtcGxlc11bU3RyaW5ncy5qc29uLmdyYXBoLnBvaW50c10gPSB0aGlzLnNhbXBsZXM7
CisgICAgICAgICAgICByZXN1bHRzW1N0cmluZ3MuanNvbi5zYW1wbGVzXVtTdHJpbmdzLmpzb24u
Z3JhcGguc2FtcGxpbmdUaW1lT2Zmc2V0XSA9IHRoaXMuc2FtcGxpbmdUaW1lT2Zmc2V0OwogICAg
ICAgICB9CiAgICAgICAgIAogICAgICAgICByZXR1cm4gcmVzdWx0czsKSW5kZXg6IFBlcmZvcm1h
bmNlVGVzdHMvQW5pbW9tZXRlci9yZXNvdXJjZXMvc3RyaW5ncy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQ
ZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3VyY2VzL3N0cmluZ3MuanMJKHJldmlzaW9u
IDE5MjUwMCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9yZXNvdXJjZXMvc3RyaW5n
cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxNSArMSw1OSBAQAogdmFyIFN0cmluZ3MgPSB7Ci0g
ICAgVEVYVF9URVNUTkFNRTogICAgICAgWyAiVGVzdCBOYW1lIiBdLAotICAgIFRFWFRfRVhQRVJJ
TUVOVFM6ICAgIFsgIkNvbXBsZXhpdHkiLCAiRlBTIiBdLAotICAgIFRFWFRfTUVBU1VSRU1FTlRT
OiAgIFsgIkF2Zy4iLCAiVy41JSIsICJTdGQuIiwgIiUiIF0sCi0gICAgVEVYVF9TQ09SRTogICAg
ICAgICAgWyAiU2NvcmUiIF0sCi0gICAgVEVYVF9TQU1QTEVTOiAgICAgICAgWyAiU2FtcGxlcyIg
XSwKLSAgICBURVhUX1JFU1VMVFM6ICAgICAgICBbICJSZXN1bHRzIiwgIkdyYXBoIiwgIkpTT04i
IF0sCi0gICAgCi0gICAgSlNPTl9FWFBFUklNRU5UUzogICAgWyAiY29tcGxleGl0eSIsICJmcmFt
ZVJhdGUiIF0sCi0gICAgSlNPTl9NRUFTVVJFTUVOVFM6ICAgWyAiYXZlcmFnZSIsICJjb25jZXJu
IiwgInN0ZGV2IiwgInBlcmNlbnQiIF0sCi0gICAgSlNPTl9TQ09SRTogICAgICAgICAgWyAic2Nv
cmUiIF0sCi0gICAgSlNPTl9TQU1QTEVTOiAgICAgICAgWyAic2FtcGxlcyIgXSwKLSAgICBKU09O
X0dSQVBIOiAgICAgICAgICBbICJwb2ludHMiLCAic2FtcGxpbmdUaW1lT2Zmc2V0IiBdLAotICAg
IEpTT05fUkVTVUxUUzogICAgICAgIFsgIml0ZXJhdGlvbnNSZXN1bHRzIiwgInN1aXRlc1Jlc3Vs
dHMiLCAidGVzdHNSZXN1bHRzIiBdLAorICAgIHRleHQ6IHsKKyAgICAgICB0ZXN0TmFtZTogIlRl
c3QgTmFtZSIsCisgICAgICAgc2NvcmU6ICJTY29yZSIsCisgICAgICAgc2FtcGxlczogIlNhbXBs
ZXMiLAorCisgICAgICAgcnVubmluZ1N0YXRlOiB7CisgICAgICAgICAgIHdhcm1pbmd1cDogIldh
cm1pbmcgdXAiLAorICAgICAgICAgICBzYW1wbGluZzogIlNhbXBsaW5nIiwKKyAgICAgICAgICAg
IGZpbmlzaGVkOiAiRmluaXNoZWQiCisgICAgICAgIH0sCisKKyAgICAgICAgZXhwZXJpbWVudHM6
IHsKKyAgICAgICAgICAgIGNvbXBsZXhpdHk6ICJDb21wbGV4aXR5IiwKKyAgICAgICAgICAgIGZy
YW1lUmF0ZTogIkZQUyIKKyAgICAgICAgfSwKKyAgICAgICAgCisgICAgICAgIG1lYXN1cmVtZW50
czogeworICAgICAgICAgICAgYXZlcmFnZTogIkF2Zy4iLAorICAgICAgICAgICAgY29uY2Vybjog
IlcuNSUiLAorICAgICAgICAgICAgc3RkZXY6ICJTdGQuIiwKKyAgICAgICAgICAgIHBlcmNlbnQ6
ICAiJSIKKyAgICAgICAgfSwKKyAgICAgICAgCisgICAgICAgIHJlc3VsdHM6IHsKKyAgICAgICAg
ICAgIHJlc3VsdHM6ICJSZXN1bHRzIiwKKyAgICAgICAgICAgIGdyYXBoOiAiR3JhcGgiLAorICAg
ICAgICAgICAganNvbjogIkpTT04iCisgICAgICAgIH0KKyAgICB9LAorICAgIGpzb246IHsKKyAg
ICAgICAgc2NvcmU6ICJzY29yZSIsCisgICAgICAgIHNhbXBsZXM6ICJzYW1wbGVzIiwKKyAgICAg
ICAgCisgICAgICAgIGV4cGVyaW1lbnRzOiB7CisgICAgICAgICAgICBjb21wbGV4aXR5OiAiY29t
cGxleGl0eSIsCisgICAgICAgICAgICBmcmFtZVJhdGU6ICJmcmFtZVJhdGUiCisgICAgICAgIH0s
CisgICAgICAgIAorICAgICAgICBtZWFzdXJlbWVudHM6IHsKKyAgICAgICAgICAgIGF2ZXJhZ2U6
ICJhdmVyYWdlIiwKKyAgICAgICAgICAgIGNvbmNlcm46ICJjb25jZXJuIiwKKyAgICAgICAgICAg
IHN0ZGV2OiAic3RkZXYiLAorICAgICAgICAgICAgcGVyY2VudDogInBlcmNlbnQiCisgICAgICAg
IH0sCisgICAgICAgIAorICAgICAgICByZXN1bHRzOiB7CisgICAgICAgICAgICBpdGVyYXRpb25z
OiAiaXRlcmF0aW9uc1Jlc3VsdHMiLAorICAgICAgICAgICAgc3VpdGVzOiAic3VpdGVzUmVzdWx0
cyIsCisgICAgICAgICAgICB0ZXN0czogInRlc3RzUmVzdWx0cyIKKyAgICAgICAgfSwKKyAgICAg
ICAgCisgICAgICAgIGdyYXBoOiB7CisgICAgICAgICAgICBwb2ludHM6ICJwb2ludHMiLAorICAg
ICAgICAgICAgc2FtcGxpbmdUaW1lT2Zmc2V0OiAic2FtcGxpbmdUaW1lT2Zmc2V0IgorICAgICAg
ICB9CisgICAgfQorCiB9OwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5l
ci9yZXNvdXJjZXMvYW5pbW9tZXRlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3Rz
L0FuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9hbmltb21ldGVyLmpzCShyZXZpc2lvbiAxOTI1
MDApCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVubmVyL3Jlc291cmNlcy9hbmlt
b21ldGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMCArNDQsMTAgQEAgd2luZG93LmJlbmNo
bWFya1J1bm5lckNsaWVudCA9IHsKICAgICBkaWRGaW5pc2hMYXN0SXRlcmF0aW9uOiBmdW5jdGlv
biAoKQogICAgIHsKICAgICAgICAgdmFyIGpzb24gPSB0aGlzLl9yZXN1bHRzRGFzaGJvYXJkLnRv
SlNPTih0cnVlLCB0cnVlKTsKLSAgICAgICAgdGhpcy5zY29yZSA9IGpzb25bU3RyaW5nc1siSlNP
Tl9TQ09SRSJdXTsKLSAgICAgICAgdGhpcy5fcmVzdWx0c1RhYmxlLnNob3dJdGVyYXRpb25zKGpz
b25bU3RyaW5nc1siSlNPTl9SRVNVTFRTIl1bMF1dLCB0aGlzLm9wdGlvbnMpOwotICAgICAgICBz
ZWN0aW9uc01hbmFnZXIuc2hvd0pTT04oImpzb24iLCBqc29uW1N0cmluZ3NbIkpTT05fUkVTVUxU
UyJdWzBdXVswXSk7Ci0gICAgICAgIHN1aXRlc01hbmFnZXIudXBkYXRlTG9jYWxTdG9yYWdlRnJv
bUpTT04oanNvbltTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVswXV1bMF0pOworICAgICAgICB0aGlz
LnNjb3JlID0ganNvbltTdHJpbmdzLmpzb24uc2NvcmVdOworICAgICAgICB0aGlzLl9yZXN1bHRz
VGFibGUuc2hvd0l0ZXJhdGlvbnMoanNvbltTdHJpbmdzLmpzb24ucmVzdWx0cy5pdGVyYXRpb25z
XSwgdGhpcy5vcHRpb25zKTsKKyAgICAgICAgc2VjdGlvbnNNYW5hZ2VyLnNob3dKU09OKCJqc29u
IiwganNvbltTdHJpbmdzLmpzb24ucmVzdWx0cy5pdGVyYXRpb25zXVswXSk7CisgICAgICAgIHN1
aXRlc01hbmFnZXIudXBkYXRlTG9jYWxTdG9yYWdlRnJvbUpTT04oanNvbltTdHJpbmdzLmpzb24u
cmVzdWx0cy5pdGVyYXRpb25zXVswXSk7CiAgICAgICAgIGJlbmNobWFya0NvbnRyb2xsZXIuc2hv
d1Jlc3VsdHMoKTsKICAgICB9CiB9CkBAIC0zODgsMTMgKzM4OCwxMyBAQCB3aW5kb3cuc3VpdGVz
TWFuYWdlciA9CiAgICAgCiAgICAgdXBkYXRlTG9jYWxTdG9yYWdlRnJvbUpTT046IGZ1bmN0aW9u
KGl0ZXJhdGlvblJlc3VsdHMpCiAgICAgewotICAgICAgICBmb3IgKHZhciBzdWl0ZU5hbWUgaW4g
aXRlcmF0aW9uUmVzdWx0c1tTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVsxXV0pIHsKLSAgICAgICAg
ICAgIHZhciBzdWl0ZVJlc3VsdHMgPSBpdGVyYXRpb25SZXN1bHRzW1N0cmluZ3NbIkpTT05fUkVT
VUxUUyJdWzFdXVtzdWl0ZU5hbWVdOworICAgICAgICBmb3IgKHZhciBzdWl0ZU5hbWUgaW4gaXRl
cmF0aW9uUmVzdWx0c1tTdHJpbmdzLmpzb24ucmVzdWx0cy5zdWl0ZXNdKSB7CisgICAgICAgICAg
ICB2YXIgc3VpdGVSZXN1bHRzID0gaXRlcmF0aW9uUmVzdWx0c1tTdHJpbmdzLmpzb24ucmVzdWx0
cy5zdWl0ZXNdW3N1aXRlTmFtZV07CiAKLSAgICAgICAgICAgIGZvciAodmFyIHRlc3ROYW1lIGlu
IHN1aXRlUmVzdWx0c1tTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVsyXV0pIHsKLSAgICAgICAgICAg
ICAgICB2YXIgdGVzdFJlc3VsdHMgPSBzdWl0ZVJlc3VsdHNbU3RyaW5nc1siSlNPTl9SRVNVTFRT
Il1bMl1dW3Rlc3ROYW1lXTsKLSAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRz
W1N0cmluZ3NbIkpTT05fRVhQRVJJTUVOVFMiXVswXV0KLSAgICAgICAgICAgICAgICB2YXIgY29t
cGxleGl0eSA9IE1hdGgucm91bmQoZGF0YVtTdHJpbmdzWyJKU09OX01FQVNVUkVNRU5UUyJdWzBd
XSk7CisgICAgICAgICAgICBmb3IgKHZhciB0ZXN0TmFtZSBpbiBzdWl0ZVJlc3VsdHNbU3RyaW5n
cy5qc29uLnJlc3VsdHMudGVzdHNdKSB7CisgICAgICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHRz
ID0gc3VpdGVSZXN1bHRzW1N0cmluZ3MuanNvbi5yZXN1bHRzLnRlc3RzXVt0ZXN0TmFtZV07Cisg
ICAgICAgICAgICAgICAgdmFyIGRhdGEgPSB0ZXN0UmVzdWx0c1tTdHJpbmdzLmpzb24uZXhwZXJp
bWVudHMuY29tcGxleGl0eV07CisgICAgICAgICAgICAgICAgdmFyIGNvbXBsZXhpdHkgPSBNYXRo
LnJvdW5kKGRhdGFbU3RyaW5ncy5qc29uLm1lYXN1cmVtZW50cy5hdmVyYWdlXSk7CiAKICAgICAg
ICAgICAgICAgICB2YXIgdmFsdWUgPSB7IGNoZWNrZWQ6IHRydWUsIGNvbXBsZXhpdHk6IGNvbXBs
ZXhpdHkgfTsKICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLl9sb2Nh
bFN0b3JhZ2VOYW1lRm9yVGVzdChzdWl0ZU5hbWUsIHRlc3ROYW1lKSwgSlNPTi5zdHJpbmdpZnko
dmFsdWUpKTsKQEAgLTQzOCwyNiArNDM4LDI2IEBAIHdpbmRvdy5iZW5jaG1hcmtDb250cm9sbGVy
ID0KICAgICAKICAgICBzaG93UmVzdWx0czogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgc2Vj
dGlvbnNNYW5hZ2VyLnNob3dTY29yZSgicmVzdWx0cyIsIFN0cmluZ3NbIlRFWFRfUkVTVUxUUyJd
WzBdKTsKKyAgICAgICAgc2VjdGlvbnNNYW5hZ2VyLnNob3dTY29yZSgicmVzdWx0cyIsIFN0cmlu
Z3MudGV4dC5yZXN1bHRzLnJlc3VsdHMpOwogICAgICAgICBzZWN0aW9uc01hbmFnZXIuc2hvd1Nl
Y3Rpb24oInJlc3VsdHMiLCB0cnVlKTsKICAgICB9LAogICAgIAogICAgIHNob3dKc29uOiBmdW5j
dGlvbigpCiAgICAgewotICAgICAgICBzZWN0aW9uc01hbmFnZXIuc2hvd1Njb3JlKCJqc29uIiwg
U3RyaW5nc1siVEVYVF9SRVNVTFRTIl1bMF0pOworICAgICAgICBzZWN0aW9uc01hbmFnZXIuc2hv
d1Njb3JlKCJqc29uIiwgU3RyaW5ncy50ZXh0LnJlc3VsdHMucmVzdWx0cyk7CiAgICAgICAgIHNl
Y3Rpb25zTWFuYWdlci5zaG93U2VjdGlvbigianNvbiIsIHRydWUpOwogICAgIH0sCiAgICAgCiAg
ICAgc2hvd1Rlc3RHcmFwaDogZnVuY3Rpb24odGVzdE5hbWUsIGF4ZXMsIHNhbXBsZXMsIHNhbXBs
aW5nVGltZU9mZnNldCkKICAgICB7Ci0gICAgICAgIHNlY3Rpb25zTWFuYWdlci5zaG93VGVzdE5h
bWUoInRlc3QtZ3JhcGgiLCBTdHJpbmdzWyJURVhUX1JFU1VMVFMiXVsxXSwgdGVzdE5hbWUpOwor
ICAgICAgICBzZWN0aW9uc01hbmFnZXIuc2hvd1Rlc3ROYW1lKCJ0ZXN0LWdyYXBoIiwgU3RyaW5n
cy50ZXh0LnJlc3VsdHMuZ3JhcGgsIHRlc3ROYW1lKTsKICAgICAgICAgc2VjdGlvbnNNYW5hZ2Vy
LnNob3dTZWN0aW9uKCJ0ZXN0LWdyYXBoIiwgdHJ1ZSk7CiAgICAgICAgIGdyYXBoKCJzZWN0aW9u
I3Rlc3QtZ3JhcGggPiBkYXRhIiwgbmV3IEluc2V0cygyMCwgNTAsIDIwLCA1MCksIGF4ZXMsIHNh
bXBsZXMsIHNhbXBsaW5nVGltZU9mZnNldCk7CiAgICAgfSwKIAogICAgIHNob3dUZXN0SlNPTjog
ZnVuY3Rpb24odGVzdE5hbWUsIGpzb24pCiAgICAgewotICAgICAgICBzZWN0aW9uc01hbmFnZXIu
c2hvd1Rlc3ROYW1lKCJ0ZXN0LWpzb24iLCBTdHJpbmdzWyJURVhUX1JFU1VMVFMiXVsxXSwgdGVz
dE5hbWUpOworICAgICAgICBzZWN0aW9uc01hbmFnZXIuc2hvd1Rlc3ROYW1lKCJ0ZXN0LWpzb24i
LCBTdHJpbmdzLnRleHQucmVzdWx0cy5ncmFwaCwgdGVzdE5hbWUpOwogICAgICAgICBzZWN0aW9u
c01hbmFnZXIuc2hvd0pTT04oInRlc3QtanNvbiIsIGpzb24pOwogICAgICAgICBzZWN0aW9uc01h
bmFnZXIuc2hvd1NlY3Rpb24oInRlc3QtanNvbiIsIHRydWUpOwogICAgIH0KSW5kZXg6IFBlcmZv
cm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL3Rlc3RzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL3Rlc3Rz
LmpzCShyZXZpc2lvbiAxOTI1MDApCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcnVu
bmVyL3Jlc291cmNlcy90ZXN0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw0MyArMSw0MyBAQAog
dmFyIEhlYWRlcnMgPSBbCiAgICAgewotICAgICAgICB0ZXh0OiBTdHJpbmdzWyJURVhUX1RFU1RO
QU1FIl1bMF0sCisgICAgICAgIHRleHQ6IFN0cmluZ3MudGV4dC50ZXN0TmFtZSwKICAgICAgICAg
d2lkdGg6IDI3LAogICAgICAgICBjaGlsZHJlbjogW10KICAgICB9LAogICAgIHsKLSAgICAgICAg
dGV4dDogU3RyaW5nc1siVEVYVF9TQ09SRSJdWzBdLAorICAgICAgICB0ZXh0OiBTdHJpbmdzLnRl
eHQuc2NvcmUsCiAgICAgICAgIHdpZHRoOiA3LAogICAgICAgICBjaGlsZHJlbjogW10KICAgICB9
LAogICAgIHsKLSAgICAgICAgdGV4dDogU3RyaW5nc1siVEVYVF9FWFBFUklNRU5UUyJdWzBdLAor
ICAgICAgICB0ZXh0OiBTdHJpbmdzLnRleHQuZXhwZXJpbWVudHMuY29tcGxleGl0eSwKICAgICAg
ICAgd2lkdGg6IDI3LAogICAgICAgICBjaGlsZHJlbjoKICAgICAgICAgWwotICAgICAgICAgICAg
eyB0ZXh0OiBTdHJpbmdzWyJURVhUX01FQVNVUkVNRU5UUyJdWzBdLCB3aWR0aDogNywgY2hpbGRy
ZW46IFtdIH0sCi0gICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRT
Il1bMV0sIHdpZHRoOiA3LCBjaGlsZHJlbjogW10gfSwKLSAgICAgICAgICAgIHsgdGV4dDogU3Ry
aW5nc1siVEVYVF9NRUFTVVJFTUVOVFMiXVsyXSwgd2lkdGg6IDcsIGNoaWxkcmVuOiBbXSB9LAot
ICAgICAgICAgICAgeyB0ZXh0OiBTdHJpbmdzWyJURVhUX01FQVNVUkVNRU5UUyJdWzNdLCB3aWR0
aDogNiwgY2hpbGRyZW46IFtdIH0sCisgICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3MudGV4dC5t
ZWFzdXJlbWVudHMuYXZlcmFnZSwgd2lkdGg6IDcsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAg
ICAgeyB0ZXh0OiBTdHJpbmdzLnRleHQubWVhc3VyZW1lbnRzLmNvbmNlcm4sIHdpZHRoOiA3LCBj
aGlsZHJlbjogW10gfSwKKyAgICAgICAgICAgIHsgdGV4dDogU3RyaW5ncy50ZXh0Lm1lYXN1cmVt
ZW50cy5zdGRldiwgd2lkdGg6IDcsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAgICAgeyB0ZXh0
OiBTdHJpbmdzLnRleHQubWVhc3VyZW1lbnRzLnBlcmNlbnQsIHdpZHRoOiA2LCBjaGlsZHJlbjog
W10gfSwKICAgICAgICAgXQogICAgIH0sCiAgICAgewotICAgICAgICB0ZXh0OiBTdHJpbmdzWyJU
RVhUX0VYUEVSSU1FTlRTIl1bMV0sCisgICAgICAgIHRleHQ6IFN0cmluZ3MudGV4dC5leHBlcmlt
ZW50cy5mcmFtZVJhdGUsCiAgICAgICAgIHdpZHRoOiAyNCwKICAgICAgICAgY2hpbGRyZW46CiAg
ICAgICAgIFsKLSAgICAgICAgICAgIHsgdGV4dDogU3RyaW5nc1siVEVYVF9NRUFTVVJFTUVOVFMi
XVswXSwgd2lkdGg6IDYsIGNoaWxkcmVuOiBbXSB9LAotICAgICAgICAgICAgeyB0ZXh0OiBTdHJp
bmdzWyJURVhUX01FQVNVUkVNRU5UUyJdWzFdLCB3aWR0aDogNiwgY2hpbGRyZW46IFtdIH0sCi0g
ICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRTIl1bMl0sIHdpZHRo
OiA2LCBjaGlsZHJlbjogW10gfSwKLSAgICAgICAgICAgIHsgdGV4dDogU3RyaW5nc1siVEVYVF9N
RUFTVVJFTUVOVFMiXVszXSwgd2lkdGg6IDYsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAgICAg
eyB0ZXh0OiBTdHJpbmdzLnRleHQubWVhc3VyZW1lbnRzLmF2ZXJhZ2UsIHdpZHRoOiA2LCBjaGls
ZHJlbjogW10gfSwKKyAgICAgICAgICAgIHsgdGV4dDogU3RyaW5ncy50ZXh0Lm1lYXN1cmVtZW50
cy5jb25jZXJuLCB3aWR0aDogNiwgY2hpbGRyZW46IFtdIH0sCisgICAgICAgICAgICB7IHRleHQ6
IFN0cmluZ3MudGV4dC5tZWFzdXJlbWVudHMuc3RkZXYsIHdpZHRoOiA2LCBjaGlsZHJlbjogW10g
fSwKKyAgICAgICAgICAgIHsgdGV4dDogU3RyaW5ncy50ZXh0Lm1lYXN1cmVtZW50cy5wZXJjZW50
LCB3aWR0aDogNiwgY2hpbGRyZW46IFtdIH0sCiAgICAgICAgIF0KICAgICB9LAogICAgIHsKLSAg
ICAgICAgdGV4dDogU3RyaW5nc1siVEVYVF9TQU1QTEVTIl1bMF0sCisgICAgICAgIHRleHQ6IFN0
cmluZ3MudGV4dC5zYW1wbGVzLAogICAgICAgICB3aWR0aDogMTUsCiAgICAgICAgIGNoaWxkcmVu
OgogICAgICAgICBbCi0gICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfUkVTVUxUUyJd
WzFdLCB3aWR0aDogOCwgY2hpbGRyZW46IFtdIH0sCi0gICAgICAgICAgICB7IHRleHQ6IFN0cmlu
Z3NbIlRFWFRfUkVTVUxUUyJdWzJdLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCisgICAgICAg
ICAgICB7IHRleHQ6IFN0cmluZ3MudGV4dC5yZXN1bHRzLmdyYXBoLCB3aWR0aDogOCwgY2hpbGRy
ZW46IFtdIH0sCisgICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3MudGV4dC5yZXN1bHRzLmpzb24s
IHdpZHRoOiA3LCBjaGlsZHJlbjogW10gfSwKICAgICAgICAgXQogICAgIH0KIF07CkluZGV4OiBQ
ZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvcmVzb3VyY2VzL21haW4uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Rlc3RzL3Jlc291cmNlcy9tYWlu
LmpzCShyZXZpc2lvbiAxOTI1MDApCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVz
dHMvcmVzb3VyY2VzL21haW4uanMJKHdvcmtpbmcgY29weSkKQEAgLTksNyArOSwxMSBAQCBCZW5j
aG1hcmtTdGF0ZS5zdGFnZXMgPSB7CiAgICAgV0FSTUlOR19VUDogMCwKICAgICBTQU1QTElORzog
MSwKICAgICBGSU5JU0hFRDogMiwKLSAgICBtZXNzYWdlczogWyAiV2FybWluZyB1cCIsICJTYW1w
bGluZyIsICJGaW5pc2hlZCIgXQorICAgIG1lc3NhZ2VzOiBbIAorICAgICAgICBTdHJpbmdzLnRl
eHQucnVubmluZ1N0YXRlLndhcm1pbmd1cCwKKyAgICAgICAgU3RyaW5ncy50ZXh0LnJ1bm5pbmdT
dGF0ZS5zYW1wbGluZywKKyAgICAgICAgU3RyaW5ncy50ZXh0LnJ1bm5pbmdTdGF0ZS5maW5pc2hl
ZAorICAgIF0KIH0KIAogQmVuY2htYXJrU3RhdGUucHJvdG90eXBlID0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265717</attachid>
            <date>2015-11-17 16:32:58 -0800</date>
            <delta_ts>2015-11-17 17:29:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151334-20151117163248.patch</filename>
            <type>text/plain</type>
            <size>21251</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTI1NTcpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE1LTExLTE3ICBT
YWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVv
cmdhbml6ZSB0aGUgZ3JhcGhpY3MgYmVuY2htYXJrIHN0cmluZyB0YWJsZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMzM0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorICAgICAgICAKKyAgICAgICAgTWFrZSB0aGUgZ3JhcGhp
Y3MgYmVuY2htYXJrIHN0cmluZyB0YWJsZSBiZSBhbiBvYmplY3Qgb2Ygc3ViLW9iamVjdHMuIEVh
Y2gKKyAgICAgICAgc3ViLW9iamVjdCByZXByZXNlbnRzIGFuIGFzc29jaWF0aXZlIGFycmF5LCB0
aGUga2V5IGlzIHRoZSBzdHJpbmcgbmFtZSBhbmQKKyAgICAgICAgdGhlIHZhbHVlIGlzIHRoZSBz
dHJpbmcgZGF0YS4KKworICAgICAgICAqIEFuaW1vbWV0ZXIvcmVzb3VyY2VzL2V4dGVuc2lvbnMu
anM6CisgICAgICAgIChSZXN1bHRzRGFzaGJvYXJkLnByb3RvdHlwZS50b0pTT04pOgorICAgICAg
ICAoUmVzdWx0c1RhYmxlLnByb3RvdHlwZS5fc2hvd0dyYXBoKToKKyAgICAgICAgKFJlc3VsdHNU
YWJsZS5wcm90b3R5cGUuX3Nob3dKU09OKToKKyAgICAgICAgKFJlc3VsdHNUYWJsZS5wcm90b3R5
cGUuX2lzTm9pc3lNZWFzdXJlbWVudCk6CisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBl
Ll9pc05vaXN5VGVzdCk6CisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93VGVz
dCk6CisgICAgICAgIChSZXN1bHRzVGFibGUucHJvdG90eXBlLl9zaG93U3VpdGUpOgorICAgICAg
ICAoUmVzdWx0c1RhYmxlLnByb3RvdHlwZS5fc2hvd0l0ZXJhdGlvbik6CisgICAgICAgICogQW5p
bW9tZXRlci9yZXNvdXJjZXMvc2FtcGxlci5qczoKKyAgICAgICAgKFNhbXBsZXIucHJvdG90eXBl
LnRvSlNPTik6CisgICAgICAgICogQW5pbW9tZXRlci9yZXNvdXJjZXMvc3RyaW5ncy5qczoKKyAg
ICAgICAgKiBBbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMvYW5pbW9tZXRlci5qczoKKyAgICAg
ICAgKHdpbmRvdy5iZW5jaG1hcmtSdW5uZXJDbGllbnQuZGlkRmluaXNoTGFzdEl0ZXJhdGlvbik6
CisgICAgICAgICh3aW5kb3cuc3VpdGVzTWFuYWdlci51cGRhdGVMb2NhbFN0b3JhZ2VGcm9tSlNP
Tik6CisgICAgICAgICh3aW5kb3cuYmVuY2htYXJrQ29udHJvbGxlci5zaG93UmVzdWx0cyk6Cisg
ICAgICAgICh3aW5kb3cuYmVuY2htYXJrQ29udHJvbGxlci5zaG93SnNvbik6CisgICAgICAgICh3
aW5kb3cuYmVuY2htYXJrQ29udHJvbGxlci5zaG93VGVzdEdyYXBoKToKKyAgICAgICAgKHdpbmRv
dy5iZW5jaG1hcmtDb250cm9sbGVyLnNob3dUZXN0SlNPTik6CisgICAgICAgICogQW5pbW9tZXRl
ci9ydW5uZXIvcmVzb3VyY2VzL3Rlc3RzLmpzOgorICAgICAgICAqIEFuaW1vbWV0ZXIvdGVzdHMv
cmVzb3VyY2VzL21haW4uanM6CisKIDIwMTUtMTEtMTcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fi
b3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIGZsYXR0ZW5pbmcgdGhlIHN0
YWdlIGlmcmFtZSBvZiB0aGUgZ3JhcGhpY3MgYmVuY2htYXJrIHdoZW4gcnVubmluZyBvbiBpT1MK
SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvcmVzb3VyY2VzL2V4
dGVuc2lvbnMuanMJKHJldmlzaW9uIDE5MjU1NykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9t
ZXRlci9yZXNvdXJjZXMvZXh0ZW5zaW9ucy5qcwkod29ya2luZyBjb3B5KQpAQCAtMjE5LDI0ICsy
MTksMjQgQEAgUmVzdWx0c0Rhc2hib2FyZC5wcm90b3R5cGUgPQogICAgICAgICAgICAgICAgIGZv
ciAodmFyIHRlc3ROYW1lIGluIHN1aXRlU2FtcGxlcnMpIHsKICAgICAgICAgICAgICAgICAgICAg
dmFyIHNhbXBsZXIgPSBzdWl0ZVNhbXBsZXJzW3Rlc3ROYW1lXTsKICAgICAgICAgICAgICAgICAg
ICAgdGVzdHNSZXN1bHRzW3Rlc3ROYW1lXSA9IHNhbXBsZXIudG9KU09OKHN0YXRpc3RpY3MsIGdy
YXBoKTsKLSAgICAgICAgICAgICAgICAgICAgdGVzdHNTY29yZXMucHVzaCh0ZXN0c1Jlc3VsdHNb
dGVzdE5hbWVdW1N0cmluZ3NbIkpTT05fU0NPUkUiXV0pOworICAgICAgICAgICAgICAgICAgICB0
ZXN0c1Njb3Jlcy5wdXNoKHRlc3RzUmVzdWx0c1t0ZXN0TmFtZV1bU3RyaW5ncy5qc29uLnNjb3Jl
XSk7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgc3VpdGVzUmVzdWx0c1tz
dWl0ZU5hbWVdID0gIHt9OwotICAgICAgICAgICAgICAgIHN1aXRlc1Jlc3VsdHNbc3VpdGVOYW1l
XVtTdHJpbmdzWyJKU09OX1NDT1JFIl1dID0gU3RhdGlzdGljcy5nZW9tZXRyaWNNZWFuKHRlc3Rz
U2NvcmVzKTsKLSAgICAgICAgICAgICAgICBzdWl0ZXNSZXN1bHRzW3N1aXRlTmFtZV1bU3RyaW5n
c1siSlNPTl9SRVNVTFRTIl1bMl1dID0gdGVzdHNSZXN1bHRzOwotICAgICAgICAgICAgICAgIHN1
aXRlc1Njb3Jlcy5wdXNoKHN1aXRlc1Jlc3VsdHNbc3VpdGVOYW1lXVtTdHJpbmdzWyJKU09OX1ND
T1JFIl1dKTsKKyAgICAgICAgICAgICAgICBzdWl0ZXNSZXN1bHRzW3N1aXRlTmFtZV1bU3RyaW5n
cy5qc29uLnNjb3JlXSA9IFN0YXRpc3RpY3MuZ2VvbWV0cmljTWVhbih0ZXN0c1Njb3Jlcyk7Cisg
ICAgICAgICAgICAgICAgc3VpdGVzUmVzdWx0c1tzdWl0ZU5hbWVdW1N0cmluZ3MuanNvbi5yZXN1
bHRzLnRlc3RzXSA9IHRlc3RzUmVzdWx0czsKKyAgICAgICAgICAgICAgICBzdWl0ZXNTY29yZXMu
cHVzaChzdWl0ZXNSZXN1bHRzW3N1aXRlTmFtZV1bU3RyaW5ncy5qc29uLnNjb3JlXSk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGl0ZXJhdGlvbnNSZXN1bHRzW2lu
ZGV4XSA9IHt9OwotICAgICAgICAgICAgaXRlcmF0aW9uc1Jlc3VsdHNbaW5kZXhdW1N0cmluZ3Nb
IkpTT05fU0NPUkUiXV0gPSBTdGF0aXN0aWNzLmdlb21ldHJpY01lYW4oc3VpdGVzU2NvcmVzKTsK
LSAgICAgICAgICAgIGl0ZXJhdGlvbnNSZXN1bHRzW2luZGV4XVtTdHJpbmdzWyJKU09OX1JFU1VM
VFMiXVsxXV0gPSBzdWl0ZXNSZXN1bHRzOwotICAgICAgICAgICAgaXRlcmF0aW9uc1Njb3Jlcy5w
dXNoKGl0ZXJhdGlvbnNSZXN1bHRzW2luZGV4XVtTdHJpbmdzWyJKU09OX1NDT1JFIl1dKTsKKyAg
ICAgICAgICAgIGl0ZXJhdGlvbnNSZXN1bHRzW2luZGV4XVtTdHJpbmdzLmpzb24uc2NvcmVdID0g
U3RhdGlzdGljcy5nZW9tZXRyaWNNZWFuKHN1aXRlc1Njb3Jlcyk7CisgICAgICAgICAgICBpdGVy
YXRpb25zUmVzdWx0c1tpbmRleF1bU3RyaW5ncy5qc29uLnJlc3VsdHMuc3VpdGVzXSA9IHN1aXRl
c1Jlc3VsdHM7CisgICAgICAgICAgICBpdGVyYXRpb25zU2NvcmVzLnB1c2goaXRlcmF0aW9uc1Jl
c3VsdHNbaW5kZXhdW1N0cmluZ3MuanNvbi5zY29yZV0pOwogICAgICAgICB9KTsKIAogICAgICAg
ICB2YXIganNvbiA9IHt9OwotICAgICAgICBqc29uW1N0cmluZ3NbIkpTT05fU0NPUkUiXV0gPSBT
dGF0aXN0aWNzLnNhbXBsZU1lYW4oaXRlcmF0aW9uc1Njb3Jlcy5sZW5ndGgsIGl0ZXJhdGlvbnNT
Y29yZXMucmVkdWNlKGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIGEgKiBiOyB9KSk7Ci0gICAgICAg
IGpzb25bU3RyaW5nc1siSlNPTl9SRVNVTFRTIl1bMF1dID0gaXRlcmF0aW9uc1Jlc3VsdHM7Cisg
ICAgICAgIGpzb25bU3RyaW5ncy5qc29uLnNjb3JlXSA9IFN0YXRpc3RpY3Muc2FtcGxlTWVhbihp
dGVyYXRpb25zU2NvcmVzLmxlbmd0aCwgaXRlcmF0aW9uc1Njb3Jlcy5yZWR1Y2UoZnVuY3Rpb24o
YSwgYikgeyByZXR1cm4gYSAqIGI7IH0pKTsKKyAgICAgICAganNvbltTdHJpbmdzLmpzb24ucmVz
dWx0cy5pdGVyYXRpb25zXSA9IGl0ZXJhdGlvbnNSZXN1bHRzOwogICAgICAgICByZXR1cm4ganNv
bjsKICAgICB9CiB9CkBAIC0zMjQsNyArMzI0LDcgQEAgUmVzdWx0c1RhYmxlLnByb3RvdHlwZSA9
CiAgICAgCiAgICAgX3Nob3dHcmFwaDogZnVuY3Rpb24ocm93LCB0ZXN0TmFtZSwgdGVzdFJlc3Vs
dHMpCiAgICAgewotICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0cmluZ3NbIkpTT05f
U0FNUExFUyJdWzBdXTsKKyAgICAgICAgdmFyIGRhdGEgPSB0ZXN0UmVzdWx0c1tTdHJpbmdzLmpz
b24uc2FtcGxlc107CiAgICAgICAgIGlmICghZGF0YSkgewogICAgICAgICAgICAgdGhpcy5fc2hv
d0VtcHR5Q2VsbChyb3csICIiKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTMzNCwxOCArMzM0
LDE4IEBAIFJlc3VsdHNUYWJsZS5wcm90b3R5cGUgPQogICAgICAgICB2YXIgYnV0dG9uID0gRG9j
dW1lbnRFeHRlbnNpb24uY3JlYXRlRWxlbWVudCgiYnV0dG9uIiwgeyBjbGFzczogInNtYWxsLWJ1
dHRvbiIgfSwgdGQpOwogCiAgICAgICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIs
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgdmFyIHNhbXBsZXMgPSBkYXRhW1N0cmluZ3NbIkpT
T05fR1JBUEgiXVswXV07Ci0gICAgICAgICAgICB2YXIgc2FtcGxpbmdUaW1lT2Zmc2V0ID0gZGF0
YVtTdHJpbmdzWyJKU09OX0dSQVBIIl1bMV1dOwotICAgICAgICAgICAgdmFyIGF4ZXMgPSBTdHJp
bmdzWyJURVhUX0VYUEVSSU1FTlRTIl07CisgICAgICAgICAgICB2YXIgc2FtcGxlcyA9IGRhdGFb
U3RyaW5ncy5qc29uLmdyYXBoLnBvaW50c107CisgICAgICAgICAgICB2YXIgc2FtcGxpbmdUaW1l
T2Zmc2V0ID0gZGF0YVtTdHJpbmdzLmpzb24uZ3JhcGguc2FtcGxpbmdUaW1lT2Zmc2V0XTsKKyAg
ICAgICAgICAgIHZhciBheGVzID0gW1N0cmluZ3MudGV4dC5leHBlcmltZW50cy5jb21wbGV4aXR5
LCBTdHJpbmdzLnRleHQuZXhwZXJpbWVudHMuZnJhbWVSYXRlXTsKICAgICAgICAgICAgIGJlbmNo
bWFya0NvbnRyb2xsZXIuc2hvd1Rlc3RHcmFwaCh0ZXN0TmFtZSwgYXhlcywgc2FtcGxlcywgc2Ft
cGxpbmdUaW1lT2Zmc2V0KTsKICAgICAgICAgfSk7CiAgICAgICAgICAgICAKLSAgICAgICAgYnV0
dG9uLnRleHRDb250ZW50ID0gU3RyaW5nc1siVEVYVF9SRVNVTFRTIl1bMV0gKyAiLi4uIjsKKyAg
ICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gU3RyaW5ncy50ZXh0LnJlc3VsdHMuZ3JhcGggKyAi
Li4uIjsKICAgICB9LAogCiAgICAgX3Nob3dKU09OOiBmdW5jdGlvbihyb3csIHRlc3ROYW1lLCB0
ZXN0UmVzdWx0cykKICAgICB7Ci0gICAgICAgIHZhciBkYXRhID0gdGVzdFJlc3VsdHNbU3RyaW5n
c1siSlNPTl9TQU1QTEVTIl1bMF1dOworICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0
cmluZ3MuanNvbi5zYW1wbGVzXTsKICAgICAgICAgaWYgKCFkYXRhKSB7CiAgICAgICAgICAgICB0
aGlzLl9zaG93RW1wdHlDZWxsKHJvdywgIiIpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMzU4
LDI5ICszNTgsMjkgQEAgUmVzdWx0c1RhYmxlLnByb3RvdHlwZSA9CiAgICAgICAgICAgICBiZW5j
aG1hcmtDb250cm9sbGVyLnNob3dUZXN0SlNPTih0ZXN0TmFtZSwgdGVzdFJlc3VsdHMpOwogICAg
ICAgICB9KTsKICAgICAgICAgICAgIAotICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSBTdHJp
bmdzWyJURVhUX1JFU1VMVFMiXVsyXSArICIuLi4iOworICAgICAgICBidXR0b24udGV4dENvbnRl
bnQgPSBTdHJpbmdzLnRleHQucmVzdWx0cy5qc29uICsgIi4uLiI7CiAgICAgfSwKICAgICAKLSAg
ICBfaXNOb2lzeU1lYXN1cmVtZW50OiBmdW5jdGlvbihpbmRleCwgZGF0YSwgbWVhc3VyZW1lbnQs
IG9wdGlvbnMpCisgICAgX2lzTm9pc3lNZWFzdXJlbWVudDogZnVuY3Rpb24oZXhwZXJpbWVudCwg
ZGF0YSwgbWVhc3VyZW1lbnQsIG9wdGlvbnMpCiAgICAgewogICAgICAgICBjb25zdCBwZXJjZW50
VGhyZXNob2xkID0gMTA7CiAgICAgICAgIGNvbnN0IGF2ZXJhZ2VUaHJlc2hvbGQgPSAyOwogICAg
ICAgICAgCi0gICAgICAgIGlmIChtZWFzdXJlbWVudCA9PSBTdHJpbmdzWyJKU09OX01FQVNVUkVN
RU5UUyJdWzNdKQotICAgICAgICAgICAgcmV0dXJuIGRhdGFbU3RyaW5nc1siSlNPTl9NRUFTVVJF
TUVOVFMiXVszXV0gPj0gcGVyY2VudFRocmVzaG9sZDsKKyAgICAgICAgaWYgKG1lYXN1cmVtZW50
ID09IFN0cmluZ3MuanNvbi5tZWFzdXJlbWVudHMucGVyY2VudCkKKyAgICAgICAgICAgIHJldHVy
biBkYXRhW1N0cmluZ3MuanNvbi5tZWFzdXJlbWVudHMucGVyY2VudF0gPj0gcGVyY2VudFRocmVz
aG9sZDsKICAgICAgICAgICAgIAotICAgICAgICBpZiAoaW5kZXggPT0gMSAmJiBtZWFzdXJlbWVu
dCA9PSBTdHJpbmdzWyJKU09OX01FQVNVUkVNRU5UUyJdWzBdKQotICAgICAgICAgICAgcmV0dXJu
IE1hdGguYWJzKGRhdGFbU3RyaW5nc1siSlNPTl9NRUFTVVJFTUVOVFMiXVswXV0gLSBvcHRpb25z
WyJmcmFtZS1yYXRlIl0pID49IGF2ZXJhZ2VUaHJlc2hvbGQ7CisgICAgICAgIGlmIChleHBlcmlt
ZW50ID09IFN0cmluZ3MuanNvbi5leHBlcmltZW50cy5mcmFtZVJhdGUgJiYgbWVhc3VyZW1lbnQg
PT0gU3RyaW5ncy5qc29uLm1lYXN1cmVtZW50cy5hdmVyYWdlKQorICAgICAgICAgICAgcmV0dXJu
IE1hdGguYWJzKGRhdGFbU3RyaW5ncy5qc29uLm1lYXN1cmVtZW50cy5hdmVyYWdlXSAtIG9wdGlv
bnNbImZyYW1lLXJhdGUiXSkgPj0gYXZlcmFnZVRocmVzaG9sZDsKIAogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfSwKIAogICAgIF9pc05vaXN5VGVzdDogZnVuY3Rpb24odGVzdFJlc3VsdHMs
IG9wdGlvbnMpCiAgICAgewotICAgICAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgMjsg
KytpbmRleCkgewotICAgICAgICAgICAgdmFyIGRhdGEgPSB0ZXN0UmVzdWx0c1tTdHJpbmdzWyJK
U09OX0VYUEVSSU1FTlRTIl1baW5kZXhdXTsKKyAgICAgICAgZm9yICh2YXIgZXhwZXJpbWVudCBp
biB0ZXN0UmVzdWx0cykgeworICAgICAgICAgICAgdmFyIGRhdGEgPSB0ZXN0UmVzdWx0c1tleHBl
cmltZW50XTsKICAgICAgICAgICAgIGZvciAodmFyIG1lYXN1cmVtZW50IGluIGRhdGEpIHsKLSAg
ICAgICAgICAgICAgICBpZiAodGhpcy5faXNOb2lzeU1lYXN1cmVtZW50KGluZGV4LCBkYXRhLCBt
ZWFzdXJlbWVudCwgb3B0aW9ucykpCisgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzTm9pc3lN
ZWFzdXJlbWVudChleHBlcmltZW50LCBkYXRhLCBtZWFzdXJlbWVudCwgb3B0aW9ucykpCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBA
IC00MTYsMTMgKzQxNiwxMyBAQCBSZXN1bHRzVGFibGUucHJvdG90eXBlID0KICAgICAgICAgICAg
ICAgICBicmVhazsKIAogICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgICAgIHZhciBk
YXRhID0gdGVzdFJlc3VsdHNbU3RyaW5nc1siSlNPTl9TQ09SRSJdWzBdXTsKKyAgICAgICAgICAg
ICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0cmluZ3MuanNvbi5zY29yZV07CiAgICAgICAg
ICAgICAgICAgdGhpcy5fc2hvd0ZpeGVkTnVtYmVyKHJvdywgZGF0YSwgMik7CiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgIGNhc2UgMzoK
LSAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0cmluZ3NbIkpTT05fRVhQ
RVJJTUVOVFMiXVtpbmRleCAtIDJdXTsKKyAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IHRlc3RS
ZXN1bHRzW2luZGV4ID09IDIgPyBTdHJpbmdzLmpzb24uZXhwZXJpbWVudHMuY29tcGxleGl0eSA6
IFN0cmluZ3MuanNvbi5leHBlcmltZW50cy5mcmFtZVJhdGVdOwogICAgICAgICAgICAgICAgIGZv
ciAodmFyIG1lYXN1cmVtZW50IGluIGRhdGEpCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3No
b3dGaXhlZE51bWJlcihyb3csIGRhdGFbbWVhc3VyZW1lbnRdLCAyLCB0aGlzLl9pc05vaXN5TWVh
c3VyZW1lbnQoaW5kZXggLSAyLCBkYXRhLCBtZWFzdXJlbWVudCwgb3B0aW9ucykgPyBjbGFzc05h
bWUgOiAiIik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC00MzcsMTcgKzQzNywxNyBAQCBS
ZXN1bHRzVGFibGUucHJvdG90eXBlID0KIAogICAgIF9zaG93U3VpdGU6IGZ1bmN0aW9uKHN1aXRl
TmFtZSwgc3VpdGVSZXN1bHRzLCBvcHRpb25zKQogICAgIHsKLSAgICAgICAgZm9yICh2YXIgdGVz
dE5hbWUgaW4gc3VpdGVSZXN1bHRzW1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzJdXSkgewotICAg
ICAgICAgICAgdGhpcy5fc2hvd1Rlc3QodGVzdE5hbWUsIHN1aXRlUmVzdWx0c1tTdHJpbmdzWyJK
U09OX1JFU1VMVFMiXVsyXV1bdGVzdE5hbWVdLCBvcHRpb25zKTsKKyAgICAgICAgZm9yICh2YXIg
dGVzdE5hbWUgaW4gc3VpdGVSZXN1bHRzW1N0cmluZ3MuanNvbi5yZXN1bHRzLnRlc3RzXSkgewor
ICAgICAgICAgICAgdGhpcy5fc2hvd1Rlc3QodGVzdE5hbWUsIHN1aXRlUmVzdWx0c1tTdHJpbmdz
Lmpzb24ucmVzdWx0cy50ZXN0c11bdGVzdE5hbWVdLCBvcHRpb25zKTsKICAgICAgICAgfQogICAg
IH0sCiAgICAgCiAgICAgX3Nob3dJdGVyYXRpb24gOiBmdW5jdGlvbihpdGVyYXRpb25SZXN1bHRz
LCBvcHRpb25zKQogICAgIHsKLSAgICAgICAgZm9yICh2YXIgc3VpdGVOYW1lIGluIGl0ZXJhdGlv
blJlc3VsdHNbU3RyaW5nc1siSlNPTl9SRVNVTFRTIl1bMV1dKSB7Ci0gICAgICAgICAgICBpZiAo
c3VpdGVOYW1lICE9IE9iamVjdC5rZXlzKGl0ZXJhdGlvblJlc3VsdHNbU3RyaW5nc1siSlNPTl9S
RVNVTFRTIl1bMV1dKVswXSkKKyAgICAgICAgZm9yICh2YXIgc3VpdGVOYW1lIGluIGl0ZXJhdGlv
blJlc3VsdHNbU3RyaW5ncy5qc29uLnJlc3VsdHMuc3VpdGVzXSkgeworICAgICAgICAgICAgaWYg
KHN1aXRlTmFtZSAhPSBPYmplY3Qua2V5cyhpdGVyYXRpb25SZXN1bHRzW1N0cmluZ3MuanNvbi5y
ZXN1bHRzLnN1aXRlc10pWzBdKQogICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dFbXB0eVJvdygp
OwotICAgICAgICAgICAgdGhpcy5fc2hvd1N1aXRlKHN1aXRlTmFtZSwgaXRlcmF0aW9uUmVzdWx0
c1tTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVsxXV1bc3VpdGVOYW1lXSwgb3B0aW9ucyk7CisgICAg
ICAgICAgICB0aGlzLl9zaG93U3VpdGUoc3VpdGVOYW1lLCBpdGVyYXRpb25SZXN1bHRzW1N0cmlu
Z3MuanNvbi5yZXN1bHRzLnN1aXRlc11bc3VpdGVOYW1lXSwgb3B0aW9ucyk7CiAgICAgICAgIH0K
ICAgICB9LAogICAgIApJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291cmNl
cy9zYW1wbGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9y
ZXNvdXJjZXMvc2FtcGxlci5qcwkocmV2aXNpb24gMTkyNTU3KQorKysgUGVyZm9ybWFuY2VUZXN0
cy9Bbmltb21ldGVyL3Jlc291cmNlcy9zYW1wbGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgs
MjIgKzEyOCwyMyBAQCBTYW1wbGVyLnByb3RvdHlwZSA9CiAgICAgewogICAgICAgICB2YXIgcmVz
dWx0cyA9IHt9OwogICAgICAgICAgCi0gICAgICAgIHJlc3VsdHNbU3RyaW5nc1siSlNPTl9TQ09S
RSJdXSA9IHRoaXMuZXhwZXJpbWVudHNbMF0uc2NvcmUoRXhwZXJpbWVudC5kZWZhdWx0cy5DT05D
RVJOKTsKKyAgICAgICAgcmVzdWx0c1tTdHJpbmdzLmpzb24uc2NvcmVdID0gdGhpcy5leHBlcmlt
ZW50c1swXS5zY29yZShFeHBlcmltZW50LmRlZmF1bHRzLkNPTkNFUk4pOwogICAgICAgICAgICAK
ICAgICAgICAgaWYgKHN0YXRpc3RpY3MpIHsKICAgICAgICAgICAgIHRoaXMuZXhwZXJpbWVudHMu
Zm9yRWFjaChmdW5jdGlvbihleHBlcmltZW50LCBpbmRleCkgewotICAgICAgICAgICAgICAgIHJl
c3VsdHNbU3RyaW5nc1siSlNPTl9FWFBFUklNRU5UUyJdW2luZGV4XV0gPSB7fTsKLSAgICAgICAg
ICAgICAgICByZXN1bHRzW1N0cmluZ3NbIkpTT05fRVhQRVJJTUVOVFMiXVtpbmRleF1dW1N0cmlu
Z3NbIkpTT05fTUVBU1VSRU1FTlRTIl1bMF1dID0gZXhwZXJpbWVudC5tZWFuKCk7Ci0gICAgICAg
ICAgICAgICAgcmVzdWx0c1tTdHJpbmdzWyJKU09OX0VYUEVSSU1FTlRTIl1baW5kZXhdXVtTdHJp
bmdzWyJKU09OX01FQVNVUkVNRU5UUyJdWzFdXSA9IGV4cGVyaW1lbnQuY29uY2VybihFeHBlcmlt
ZW50LmRlZmF1bHRzLkNPTkNFUk4pOwotICAgICAgICAgICAgICAgIHJlc3VsdHNbU3RyaW5nc1si
SlNPTl9FWFBFUklNRU5UUyJdW2luZGV4XV1bU3RyaW5nc1siSlNPTl9NRUFTVVJFTUVOVFMiXVsy
XV0gPSBleHBlcmltZW50LnN0YW5kYXJkRGV2aWF0aW9uKCk7Ci0gICAgICAgICAgICAgICAgcmVz
dWx0c1tTdHJpbmdzWyJKU09OX0VYUEVSSU1FTlRTIl1baW5kZXhdXVtTdHJpbmdzWyJKU09OX01F
QVNVUkVNRU5UUyJdWzNdXSA9IGV4cGVyaW1lbnQucGVyY2VudGFnZSgpOworICAgICAgICAgICAg
ICAgIHZhciBqc29uRXhwZXJpbWVudCA9ICFpbmRleCA/IFN0cmluZ3MuanNvbi5leHBlcmltZW50
cy5jb21wbGV4aXR5IDogU3RyaW5ncy5qc29uLmV4cGVyaW1lbnRzLmZyYW1lUmF0ZTsKKyAgICAg
ICAgICAgICAgICByZXN1bHRzW2pzb25FeHBlcmltZW50XSA9IHt9OworICAgICAgICAgICAgICAg
IHJlc3VsdHNbanNvbkV4cGVyaW1lbnRdW1N0cmluZ3MuanNvbi5tZWFzdXJlbWVudHMuYXZlcmFn
ZV0gPSBleHBlcmltZW50Lm1lYW4oKTsKKyAgICAgICAgICAgICAgICByZXN1bHRzW2pzb25FeHBl
cmltZW50XVtTdHJpbmdzLmpzb24ubWVhc3VyZW1lbnRzLmNvbmNlcm5dID0gZXhwZXJpbWVudC5j
b25jZXJuKEV4cGVyaW1lbnQuZGVmYXVsdHMuQ09OQ0VSTik7CisgICAgICAgICAgICAgICAgcmVz
dWx0c1tqc29uRXhwZXJpbWVudF1bU3RyaW5ncy5qc29uLm1lYXN1cmVtZW50cy5zdGRldl0gPSBl
eHBlcmltZW50LnN0YW5kYXJkRGV2aWF0aW9uKCk7CisgICAgICAgICAgICAgICAgcmVzdWx0c1tq
c29uRXhwZXJpbWVudF1bU3RyaW5ncy5qc29uLm1lYXN1cmVtZW50cy5wZXJjZW50XSA9IGV4cGVy
aW1lbnQucGVyY2VudGFnZSgpCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgICAgICAK
ICAgICAgICAgaWYgKGdyYXBoKSB7Ci0gICAgICAgICAgICByZXN1bHRzW1N0cmluZ3NbIkpTT05f
U0FNUExFUyJdWzBdXSA9IHt9OwotICAgICAgICAgICAgcmVzdWx0c1tTdHJpbmdzWyJKU09OX1NB
TVBMRVMiXVswXV1bU3RyaW5nc1siSlNPTl9HUkFQSCJdWzBdXSA9IHRoaXMuc2FtcGxlczsKLSAg
ICAgICAgICAgIHJlc3VsdHNbU3RyaW5nc1siSlNPTl9TQU1QTEVTIl1bMF1dW1N0cmluZ3NbIkpT
T05fR1JBUEgiXVsxXV0gPSB0aGlzLnNhbXBsaW5nVGltZU9mZnNldDsKKyAgICAgICAgICAgIHJl
c3VsdHNbU3RyaW5ncy5qc29uLnNhbXBsZXNdID0ge307CisgICAgICAgICAgICByZXN1bHRzW1N0
cmluZ3MuanNvbi5zYW1wbGVzXVtTdHJpbmdzLmpzb24uZ3JhcGgucG9pbnRzXSA9IHRoaXMuc2Ft
cGxlczsKKyAgICAgICAgICAgIHJlc3VsdHNbU3RyaW5ncy5qc29uLnNhbXBsZXNdW1N0cmluZ3Mu
anNvbi5ncmFwaC5zYW1wbGluZ1RpbWVPZmZzZXRdID0gdGhpcy5zYW1wbGluZ1RpbWVPZmZzZXQ7
CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHJldHVybiByZXN1bHRzOwpJbmRleDogUGVy
Zm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291cmNlcy9zdHJpbmdzLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9yZXNvdXJjZXMvc3RyaW5ncy5qcwkocmV2
aXNpb24gMTkyNTU3KQorKysgUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3Jlc291cmNlcy9z
dHJpbmdzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICsxLDU5IEBACiB2YXIgU3RyaW5ncyA9
IHsKLSAgICBURVhUX1RFU1ROQU1FOiAgICAgICBbICJUZXN0IE5hbWUiIF0sCi0gICAgVEVYVF9F
WFBFUklNRU5UUzogICAgWyAiQ29tcGxleGl0eSIsICJGUFMiIF0sCi0gICAgVEVYVF9NRUFTVVJF
TUVOVFM6ICAgWyAiQXZnLiIsICJXLjUlIiwgIlN0ZC4iLCAiJSIgXSwKLSAgICBURVhUX1NDT1JF
OiAgICAgICAgICBbICJTY29yZSIgXSwKLSAgICBURVhUX1NBTVBMRVM6ICAgICAgICBbICJTYW1w
bGVzIiBdLAotICAgIFRFWFRfUkVTVUxUUzogICAgICAgIFsgIlJlc3VsdHMiLCAiR3JhcGgiLCAi
SlNPTiIgXSwKLSAgICAKLSAgICBKU09OX0VYUEVSSU1FTlRTOiAgICBbICJjb21wbGV4aXR5Iiwg
ImZyYW1lUmF0ZSIgXSwKLSAgICBKU09OX01FQVNVUkVNRU5UUzogICBbICJhdmVyYWdlIiwgImNv
bmNlcm4iLCAic3RkZXYiLCAicGVyY2VudCIgXSwKLSAgICBKU09OX1NDT1JFOiAgICAgICAgICBb
ICJzY29yZSIgXSwKLSAgICBKU09OX1NBTVBMRVM6ICAgICAgICBbICJzYW1wbGVzIiBdLAotICAg
IEpTT05fR1JBUEg6ICAgICAgICAgIFsgInBvaW50cyIsICJzYW1wbGluZ1RpbWVPZmZzZXQiIF0s
Ci0gICAgSlNPTl9SRVNVTFRTOiAgICAgICAgWyAiaXRlcmF0aW9uc1Jlc3VsdHMiLCAic3VpdGVz
UmVzdWx0cyIsICJ0ZXN0c1Jlc3VsdHMiIF0sCisgICAgdGV4dDogeworICAgICAgIHRlc3ROYW1l
OiAiVGVzdCBOYW1lIiwKKyAgICAgICBzY29yZTogIlNjb3JlIiwKKyAgICAgICBzYW1wbGVzOiAi
U2FtcGxlcyIsCisKKyAgICAgICBydW5uaW5nU3RhdGU6IHsKKyAgICAgICAgICAgd2FybWluZ3Vw
OiAiV2FybWluZyB1cCIsCisgICAgICAgICAgIHNhbXBsaW5nOiAiU2FtcGxpbmciLAorICAgICAg
ICAgICAgZmluaXNoZWQ6ICJGaW5pc2hlZCIKKyAgICAgICAgfSwKKworICAgICAgICBleHBlcmlt
ZW50czogeworICAgICAgICAgICAgY29tcGxleGl0eTogIkNvbXBsZXhpdHkiLAorICAgICAgICAg
ICAgZnJhbWVSYXRlOiAiRlBTIgorICAgICAgICB9LAorICAgICAgICAKKyAgICAgICAgbWVhc3Vy
ZW1lbnRzOiB7CisgICAgICAgICAgICBhdmVyYWdlOiAiQXZnLiIsCisgICAgICAgICAgICBjb25j
ZXJuOiAiVy41JSIsCisgICAgICAgICAgICBzdGRldjogIlN0ZC4iLAorICAgICAgICAgICAgcGVy
Y2VudDogICIlIgorICAgICAgICB9LAorICAgICAgICAKKyAgICAgICAgcmVzdWx0czogeworICAg
ICAgICAgICAgcmVzdWx0czogIlJlc3VsdHMiLAorICAgICAgICAgICAgZ3JhcGg6ICJHcmFwaCIs
CisgICAgICAgICAgICBqc29uOiAiSlNPTiIKKyAgICAgICAgfQorICAgIH0sCisgICAganNvbjog
eworICAgICAgICBzY29yZTogInNjb3JlIiwKKyAgICAgICAgc2FtcGxlczogInNhbXBsZXMiLAor
ICAgICAgICAKKyAgICAgICAgZXhwZXJpbWVudHM6IHsKKyAgICAgICAgICAgIGNvbXBsZXhpdHk6
ICJjb21wbGV4aXR5IiwKKyAgICAgICAgICAgIGZyYW1lUmF0ZTogImZyYW1lUmF0ZSIKKyAgICAg
ICAgfSwKKyAgICAgICAgCisgICAgICAgIG1lYXN1cmVtZW50czogeworICAgICAgICAgICAgYXZl
cmFnZTogImF2ZXJhZ2UiLAorICAgICAgICAgICAgY29uY2VybjogImNvbmNlcm4iLAorICAgICAg
ICAgICAgc3RkZXY6ICJzdGRldiIsCisgICAgICAgICAgICBwZXJjZW50OiAicGVyY2VudCIKKyAg
ICAgICAgfSwKKyAgICAgICAgCisgICAgICAgIHJlc3VsdHM6IHsKKyAgICAgICAgICAgIGl0ZXJh
dGlvbnM6ICJpdGVyYXRpb25zUmVzdWx0cyIsCisgICAgICAgICAgICBzdWl0ZXM6ICJzdWl0ZXNS
ZXN1bHRzIiwKKyAgICAgICAgICAgIHRlc3RzOiAidGVzdHNSZXN1bHRzIgorICAgICAgICB9LAor
ICAgICAgICAKKyAgICAgICAgZ3JhcGg6IHsKKyAgICAgICAgICAgIHBvaW50czogInBvaW50cyIs
CisgICAgICAgICAgICBzYW1wbGluZ1RpbWVPZmZzZXQ6ICJzYW1wbGluZ1RpbWVPZmZzZXQiCisg
ICAgICAgIH0KKyAgICB9CisKIH07CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIv
cnVubmVyL3Jlc291cmNlcy9hbmltb21ldGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNl
VGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2VzL2FuaW1vbWV0ZXIuanMJKHJldmlzaW9u
IDE5MjU1NykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci9ydW5uZXIvcmVzb3VyY2Vz
L2FuaW1vbWV0ZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEwICs0NCwxMCBAQCB3aW5kb3cu
YmVuY2htYXJrUnVubmVyQ2xpZW50ID0gewogICAgIGRpZEZpbmlzaExhc3RJdGVyYXRpb246IGZ1
bmN0aW9uICgpCiAgICAgewogICAgICAgICB2YXIganNvbiA9IHRoaXMuX3Jlc3VsdHNEYXNoYm9h
cmQudG9KU09OKHRydWUsIHRydWUpOwotICAgICAgICB0aGlzLnNjb3JlID0ganNvbltTdHJpbmdz
WyJKU09OX1NDT1JFIl1dOwotICAgICAgICB0aGlzLl9yZXN1bHRzVGFibGUuc2hvd0l0ZXJhdGlv
bnMoanNvbltTdHJpbmdzWyJKU09OX1JFU1VMVFMiXVswXV0sIHRoaXMub3B0aW9ucyk7Ci0gICAg
ICAgIHNlY3Rpb25zTWFuYWdlci5zaG93SlNPTigianNvbiIsIGpzb25bU3RyaW5nc1siSlNPTl9S
RVNVTFRTIl1bMF1dWzBdKTsKLSAgICAgICAgc3VpdGVzTWFuYWdlci51cGRhdGVMb2NhbFN0b3Jh
Z2VGcm9tSlNPTihqc29uW1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzBdXVswXSk7CisgICAgICAg
IHRoaXMuc2NvcmUgPSBqc29uW1N0cmluZ3MuanNvbi5zY29yZV07CisgICAgICAgIHRoaXMuX3Jl
c3VsdHNUYWJsZS5zaG93SXRlcmF0aW9ucyhqc29uW1N0cmluZ3MuanNvbi5yZXN1bHRzLml0ZXJh
dGlvbnNdLCB0aGlzLm9wdGlvbnMpOworICAgICAgICBzZWN0aW9uc01hbmFnZXIuc2hvd0pTT04o
Impzb24iLCBqc29uW1N0cmluZ3MuanNvbi5yZXN1bHRzLml0ZXJhdGlvbnNdWzBdKTsKKyAgICAg
ICAgc3VpdGVzTWFuYWdlci51cGRhdGVMb2NhbFN0b3JhZ2VGcm9tSlNPTihqc29uW1N0cmluZ3Mu
anNvbi5yZXN1bHRzLml0ZXJhdGlvbnNdWzBdKTsKICAgICAgICAgYmVuY2htYXJrQ29udHJvbGxl
ci5zaG93UmVzdWx0cygpOwogICAgIH0KIH0KQEAgLTM2OCwxMyArMzY4LDEzIEBAIHdpbmRvdy5z
dWl0ZXNNYW5hZ2VyID0KICAgICAKICAgICB1cGRhdGVMb2NhbFN0b3JhZ2VGcm9tSlNPTjogZnVu
Y3Rpb24oaXRlcmF0aW9uUmVzdWx0cykKICAgICB7Ci0gICAgICAgIGZvciAodmFyIHN1aXRlTmFt
ZSBpbiBpdGVyYXRpb25SZXN1bHRzW1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzFdXSkgewotICAg
ICAgICAgICAgdmFyIHN1aXRlUmVzdWx0cyA9IGl0ZXJhdGlvblJlc3VsdHNbU3RyaW5nc1siSlNP
Tl9SRVNVTFRTIl1bMV1dW3N1aXRlTmFtZV07CisgICAgICAgIGZvciAodmFyIHN1aXRlTmFtZSBp
biBpdGVyYXRpb25SZXN1bHRzW1N0cmluZ3MuanNvbi5yZXN1bHRzLnN1aXRlc10pIHsKKyAgICAg
ICAgICAgIHZhciBzdWl0ZVJlc3VsdHMgPSBpdGVyYXRpb25SZXN1bHRzW1N0cmluZ3MuanNvbi5y
ZXN1bHRzLnN1aXRlc11bc3VpdGVOYW1lXTsKIAotICAgICAgICAgICAgZm9yICh2YXIgdGVzdE5h
bWUgaW4gc3VpdGVSZXN1bHRzW1N0cmluZ3NbIkpTT05fUkVTVUxUUyJdWzJdXSkgewotICAgICAg
ICAgICAgICAgIHZhciB0ZXN0UmVzdWx0cyA9IHN1aXRlUmVzdWx0c1tTdHJpbmdzWyJKU09OX1JF
U1VMVFMiXVsyXV1bdGVzdE5hbWVdOwotICAgICAgICAgICAgICAgIHZhciBkYXRhID0gdGVzdFJl
c3VsdHNbU3RyaW5nc1siSlNPTl9FWFBFUklNRU5UUyJdWzBdXQotICAgICAgICAgICAgICAgIHZh
ciBjb21wbGV4aXR5ID0gTWF0aC5yb3VuZChkYXRhW1N0cmluZ3NbIkpTT05fTUVBU1VSRU1FTlRT
Il1bMF1dKTsKKyAgICAgICAgICAgIGZvciAodmFyIHRlc3ROYW1lIGluIHN1aXRlUmVzdWx0c1tT
dHJpbmdzLmpzb24ucmVzdWx0cy50ZXN0c10pIHsKKyAgICAgICAgICAgICAgICB2YXIgdGVzdFJl
c3VsdHMgPSBzdWl0ZVJlc3VsdHNbU3RyaW5ncy5qc29uLnJlc3VsdHMudGVzdHNdW3Rlc3ROYW1l
XTsKKyAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IHRlc3RSZXN1bHRzW1N0cmluZ3MuanNvbi5l
eHBlcmltZW50cy5jb21wbGV4aXR5XTsKKyAgICAgICAgICAgICAgICB2YXIgY29tcGxleGl0eSA9
IE1hdGgucm91bmQoZGF0YVtTdHJpbmdzLmpzb24ubWVhc3VyZW1lbnRzLmF2ZXJhZ2VdKTsKIAog
ICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IHsgY2hlY2tlZDogdHJ1ZSwgY29tcGxleGl0eTog
Y29tcGxleGl0eSB9OwogICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMu
X2xvY2FsU3RvcmFnZU5hbWVGb3JUZXN0KHN1aXRlTmFtZSwgdGVzdE5hbWUpLCBKU09OLnN0cmlu
Z2lmeSh2YWx1ZSkpOwpAQCAtNDE3LDI2ICs0MTcsMjYgQEAgd2luZG93LmJlbmNobWFya0NvbnRy
b2xsZXIgPQogICAgIAogICAgIHNob3dSZXN1bHRzOiBmdW5jdGlvbigpCiAgICAgewotICAgICAg
ICBzZWN0aW9uc01hbmFnZXIuc2hvd1Njb3JlKCJyZXN1bHRzIiwgU3RyaW5nc1siVEVYVF9SRVNV
TFRTIl1bMF0pOworICAgICAgICBzZWN0aW9uc01hbmFnZXIuc2hvd1Njb3JlKCJyZXN1bHRzIiwg
U3RyaW5ncy50ZXh0LnJlc3VsdHMucmVzdWx0cyk7CiAgICAgICAgIHNlY3Rpb25zTWFuYWdlci5z
aG93U2VjdGlvbigicmVzdWx0cyIsIHRydWUpOwogICAgIH0sCiAgICAgCiAgICAgc2hvd0pzb246
IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHNlY3Rpb25zTWFuYWdlci5zaG93U2NvcmUoImpz
b24iLCBTdHJpbmdzWyJURVhUX1JFU1VMVFMiXVswXSk7CisgICAgICAgIHNlY3Rpb25zTWFuYWdl
ci5zaG93U2NvcmUoImpzb24iLCBTdHJpbmdzLnRleHQucmVzdWx0cy5yZXN1bHRzKTsKICAgICAg
ICAgc2VjdGlvbnNNYW5hZ2VyLnNob3dTZWN0aW9uKCJqc29uIiwgdHJ1ZSk7CiAgICAgfSwKICAg
ICAKICAgICBzaG93VGVzdEdyYXBoOiBmdW5jdGlvbih0ZXN0TmFtZSwgYXhlcywgc2FtcGxlcywg
c2FtcGxpbmdUaW1lT2Zmc2V0KQogICAgIHsKLSAgICAgICAgc2VjdGlvbnNNYW5hZ2VyLnNob3dU
ZXN0TmFtZSgidGVzdC1ncmFwaCIsIFN0cmluZ3NbIlRFWFRfUkVTVUxUUyJdWzFdLCB0ZXN0TmFt
ZSk7CisgICAgICAgIHNlY3Rpb25zTWFuYWdlci5zaG93VGVzdE5hbWUoInRlc3QtZ3JhcGgiLCBT
dHJpbmdzLnRleHQucmVzdWx0cy5ncmFwaCwgdGVzdE5hbWUpOwogICAgICAgICBzZWN0aW9uc01h
bmFnZXIuc2hvd1NlY3Rpb24oInRlc3QtZ3JhcGgiLCB0cnVlKTsKICAgICAgICAgZ3JhcGgoInNl
Y3Rpb24jdGVzdC1ncmFwaCA+IGRhdGEiLCBuZXcgSW5zZXRzKDIwLCA1MCwgMjAsIDUwKSwgYXhl
cywgc2FtcGxlcywgc2FtcGxpbmdUaW1lT2Zmc2V0KTsKICAgICB9LAogCiAgICAgc2hvd1Rlc3RK
U09OOiBmdW5jdGlvbih0ZXN0TmFtZSwganNvbikKICAgICB7Ci0gICAgICAgIHNlY3Rpb25zTWFu
YWdlci5zaG93VGVzdE5hbWUoInRlc3QtanNvbiIsIFN0cmluZ3NbIlRFWFRfUkVTVUxUUyJdWzFd
LCB0ZXN0TmFtZSk7CisgICAgICAgIHNlY3Rpb25zTWFuYWdlci5zaG93VGVzdE5hbWUoInRlc3Qt
anNvbiIsIFN0cmluZ3MudGV4dC5yZXN1bHRzLmdyYXBoLCB0ZXN0TmFtZSk7CiAgICAgICAgIHNl
Y3Rpb25zTWFuYWdlci5zaG93SlNPTigidGVzdC1qc29uIiwganNvbik7CiAgICAgICAgIHNlY3Rp
b25zTWFuYWdlci5zaG93U2VjdGlvbigidGVzdC1qc29uIiwgdHJ1ZSk7CiAgICAgfQpJbmRleDog
UGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMvdGVzdHMuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9Bbmltb21ldGVyL3J1bm5lci9yZXNvdXJjZXMv
dGVzdHMuanMJKHJldmlzaW9uIDE5MjU1NykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRl
ci9ydW5uZXIvcmVzb3VyY2VzL3Rlc3RzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQzICsxLDQz
IEBACiB2YXIgSGVhZGVycyA9IFsKICAgICB7Ci0gICAgICAgIHRleHQ6IFN0cmluZ3NbIlRFWFRf
VEVTVE5BTUUiXVswXSwKKyAgICAgICAgdGV4dDogU3RyaW5ncy50ZXh0LnRlc3ROYW1lLAogICAg
ICAgICB3aWR0aDogMjcsCiAgICAgICAgIGNoaWxkcmVuOiBbXQogICAgIH0sCiAgICAgewotICAg
ICAgICB0ZXh0OiBTdHJpbmdzWyJURVhUX1NDT1JFIl1bMF0sCisgICAgICAgIHRleHQ6IFN0cmlu
Z3MudGV4dC5zY29yZSwKICAgICAgICAgd2lkdGg6IDcsCiAgICAgICAgIGNoaWxkcmVuOiBbXQog
ICAgIH0sCiAgICAgewotICAgICAgICB0ZXh0OiBTdHJpbmdzWyJURVhUX0VYUEVSSU1FTlRTIl1b
MF0sCisgICAgICAgIHRleHQ6IFN0cmluZ3MudGV4dC5leHBlcmltZW50cy5jb21wbGV4aXR5LAog
ICAgICAgICB3aWR0aDogMjcsCiAgICAgICAgIGNoaWxkcmVuOgogICAgICAgICBbCi0gICAgICAg
ICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRTIl1bMF0sIHdpZHRoOiA3LCBj
aGlsZHJlbjogW10gfSwKLSAgICAgICAgICAgIHsgdGV4dDogU3RyaW5nc1siVEVYVF9NRUFTVVJF
TUVOVFMiXVsxXSwgd2lkdGg6IDcsIGNoaWxkcmVuOiBbXSB9LAotICAgICAgICAgICAgeyB0ZXh0
OiBTdHJpbmdzWyJURVhUX01FQVNVUkVNRU5UUyJdWzJdLCB3aWR0aDogNywgY2hpbGRyZW46IFtd
IH0sCi0gICAgICAgICAgICB7IHRleHQ6IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRTIl1bM10s
IHdpZHRoOiA2LCBjaGlsZHJlbjogW10gfSwKKyAgICAgICAgICAgIHsgdGV4dDogU3RyaW5ncy50
ZXh0Lm1lYXN1cmVtZW50cy5hdmVyYWdlLCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCisgICAg
ICAgICAgICB7IHRleHQ6IFN0cmluZ3MudGV4dC5tZWFzdXJlbWVudHMuY29uY2Vybiwgd2lkdGg6
IDcsIGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAgICAgeyB0ZXh0OiBTdHJpbmdzLnRleHQubWVh
c3VyZW1lbnRzLnN0ZGV2LCB3aWR0aDogNywgY2hpbGRyZW46IFtdIH0sCisgICAgICAgICAgICB7
IHRleHQ6IFN0cmluZ3MudGV4dC5tZWFzdXJlbWVudHMucGVyY2VudCwgd2lkdGg6IDYsIGNoaWxk
cmVuOiBbXSB9LAogICAgICAgICBdCiAgICAgfSwKICAgICB7Ci0gICAgICAgIHRleHQ6IFN0cmlu
Z3NbIlRFWFRfRVhQRVJJTUVOVFMiXVsxXSwKKyAgICAgICAgdGV4dDogU3RyaW5ncy50ZXh0LmV4
cGVyaW1lbnRzLmZyYW1lUmF0ZSwKICAgICAgICAgd2lkdGg6IDI0LAogICAgICAgICBjaGlsZHJl
bjoKICAgICAgICAgWwotICAgICAgICAgICAgeyB0ZXh0OiBTdHJpbmdzWyJURVhUX01FQVNVUkVN
RU5UUyJdWzBdLCB3aWR0aDogNiwgY2hpbGRyZW46IFtdIH0sCi0gICAgICAgICAgICB7IHRleHQ6
IFN0cmluZ3NbIlRFWFRfTUVBU1VSRU1FTlRTIl1bMV0sIHdpZHRoOiA2LCBjaGlsZHJlbjogW10g
fSwKLSAgICAgICAgICAgIHsgdGV4dDogU3RyaW5nc1siVEVYVF9NRUFTVVJFTUVOVFMiXVsyXSwg
d2lkdGg6IDYsIGNoaWxkcmVuOiBbXSB9LAotICAgICAgICAgICAgeyB0ZXh0OiBTdHJpbmdzWyJU
RVhUX01FQVNVUkVNRU5UUyJdWzNdLCB3aWR0aDogNiwgY2hpbGRyZW46IFtdIH0sCisgICAgICAg
ICAgICB7IHRleHQ6IFN0cmluZ3MudGV4dC5tZWFzdXJlbWVudHMuYXZlcmFnZSwgd2lkdGg6IDYs
IGNoaWxkcmVuOiBbXSB9LAorICAgICAgICAgICAgeyB0ZXh0OiBTdHJpbmdzLnRleHQubWVhc3Vy
ZW1lbnRzLmNvbmNlcm4sIHdpZHRoOiA2LCBjaGlsZHJlbjogW10gfSwKKyAgICAgICAgICAgIHsg
dGV4dDogU3RyaW5ncy50ZXh0Lm1lYXN1cmVtZW50cy5zdGRldiwgd2lkdGg6IDYsIGNoaWxkcmVu
OiBbXSB9LAorICAgICAgICAgICAgeyB0ZXh0OiBTdHJpbmdzLnRleHQubWVhc3VyZW1lbnRzLnBl
cmNlbnQsIHdpZHRoOiA2LCBjaGlsZHJlbjogW10gfSwKICAgICAgICAgXQogICAgIH0sCiAgICAg
ewotICAgICAgICB0ZXh0OiBTdHJpbmdzWyJURVhUX1NBTVBMRVMiXVswXSwKKyAgICAgICAgdGV4
dDogU3RyaW5ncy50ZXh0LnNhbXBsZXMsCiAgICAgICAgIHdpZHRoOiAxNSwKICAgICAgICAgY2hp
bGRyZW46CiAgICAgICAgIFsKLSAgICAgICAgICAgIHsgdGV4dDogU3RyaW5nc1siVEVYVF9SRVNV
TFRTIl1bMV0sIHdpZHRoOiA4LCBjaGlsZHJlbjogW10gfSwKLSAgICAgICAgICAgIHsgdGV4dDog
U3RyaW5nc1siVEVYVF9SRVNVTFRTIl1bMl0sIHdpZHRoOiA3LCBjaGlsZHJlbjogW10gfSwKKyAg
ICAgICAgICAgIHsgdGV4dDogU3RyaW5ncy50ZXh0LnJlc3VsdHMuZ3JhcGgsIHdpZHRoOiA4LCBj
aGlsZHJlbjogW10gfSwKKyAgICAgICAgICAgIHsgdGV4dDogU3RyaW5ncy50ZXh0LnJlc3VsdHMu
anNvbiwgd2lkdGg6IDcsIGNoaWxkcmVuOiBbXSB9LAogICAgICAgICBdCiAgICAgfQogXTsKSW5k
ZXg6IFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRlci90ZXN0cy9yZXNvdXJjZXMvbWFpbi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FuaW1vbWV0ZXIvdGVzdHMvcmVzb3VyY2Vz
L21haW4uanMJKHJldmlzaW9uIDE5MjU1NykKKysrIFBlcmZvcm1hbmNlVGVzdHMvQW5pbW9tZXRl
ci90ZXN0cy9yZXNvdXJjZXMvbWFpbi5qcwkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDExIEBA
IEJlbmNobWFya1N0YXRlLnN0YWdlcyA9IHsKICAgICBXQVJNSU5HX1VQOiAwLAogICAgIFNBTVBM
SU5HOiAxLAogICAgIEZJTklTSEVEOiAyLAotICAgIG1lc3NhZ2VzOiBbICJXYXJtaW5nIHVwIiwg
IlNhbXBsaW5nIiwgIkZpbmlzaGVkIiBdCisgICAgbWVzc2FnZXM6IFsgCisgICAgICAgIFN0cmlu
Z3MudGV4dC5ydW5uaW5nU3RhdGUud2FybWluZ3VwLAorICAgICAgICBTdHJpbmdzLnRleHQucnVu
bmluZ1N0YXRlLnNhbXBsaW5nLAorICAgICAgICBTdHJpbmdzLnRleHQucnVubmluZ1N0YXRlLmZp
bmlzaGVkCisgICAgXQogfQogCiBCZW5jaG1hcmtTdGF0ZS5wcm90b3R5cGUgPQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>